@lovrabet/lovrabet-cli 2.1.19-beta.1 → 2.1.19
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/app-config/get.js +1 -1
- package/lib/commands/app-config/index.js +1 -1
- package/lib/commands/artifact/index.js +1 -1
- package/lib/commands/auth/device.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/common/local-file.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/file/index.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/ocr/index.js +1 -1
- package/lib/commands/personal-bff/index.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/schedule/index.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/service/dynamic.js +1 -1
- package/lib/commands/service/function-name-adapter.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-execute.js +1 -1
- package/lib/commands/skill/push-flow-helpers.js +1 -1
- package/lib/commands/skill/push-retarget.js +1 -1
- package/lib/commands/skill/scopes.js +1 -1
- package/lib/commands/skill/summary.js +1 -1
- package/lib/commands/skill/templates.js +1 -1
- package/lib/commands/skill/validate.js +1 -1
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/update.js +1 -1
- package/lib/commands/workspace/index.js +1 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/app.js +1 -1
- package/lib/constant/auth-mode.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/distribution.js +1 -1
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/product.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/constant/url.js +1 -1
- package/lib/context.js +1 -1
- package/lib/core/api-client.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/sdk-client.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/dryrun.js +1 -1
- package/lib/framework/flags.js +1 -1
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/preparse.js +1 -1
- package/lib/framework/rate-limit.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/service-order.js +1 -1
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.d.ts +2 -2
- package/lib/generated/build-info.js +1 -1
- package/lib/help.js +1 -1
- package/lib/runtime/event.js +1 -1
- package/lib/runtime/index.js +1 -1
- package/lib/runtime/queue.js +1 -1
- package/lib/runtime/resolve.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/install-target.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/lossless-json.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/platform.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0xec3430,_0x191e7a){const _0x105b18=a39_0x15cf,_0x2d536b=_0xec3430();while(!![]){try{const _0x27f28f=parseInt(_0x105b18(0x166))/0x1*(-parseInt(_0x105b18(0x19e))/0x2)+parseInt(_0x105b18(0x19b))/0x3*(parseInt(_0x105b18(0x16b))/0x4)+-parseInt(_0x105b18(0x1b3))/0x5+parseInt(_0x105b18(0x163))/0x6*(-parseInt(_0x105b18(0x176))/0x7)+-parseInt(_0x105b18(0x1a1))/0x8+parseInt(_0x105b18(0x1b4))/0x9+parseInt(_0x105b18(0x1a4))/0xa*(parseInt(_0x105b18(0x1b5))/0xb);if(_0x27f28f===_0x191e7a)break;else _0x2d536b['push'](_0x2d536b['shift']());}catch(_0x3f53ca){_0x2d536b['push'](_0x2d536b['shift']());}}}(a39_0x7408,0x19637));import{compileServiceTreeCommand,matchServiceTreeCommand}from'@lovrabet/cli-framework';import{getLoginUserInfo,listDatasets}from'../../core/api-client.js';import{executeData,executeSdkBff,executeSdkSql}from'../../core/sdk-client.js';function a39_0x7408(){const _0x1bf9ba=['\x20\x20MAP\x20TO','\x20\x20[','now','mapTo','nickName','appCode','name','49PgswGp','env','string','risk','\x20\x20SERVICE\x20TREE\x20TARGET','boolean','ctx.','default','\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20','appBindings','tableName','userName','Service\x20command\x20','\x20\x20\x20\x20datatable:\x20','push','read','datasetCode','code','number','app','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.','filter','commands','service','flags','type','join','entries','\x20\x20\x20\x20datasetCode:\x20','data','context.','\x20<command>\x20[flags]','Run\x20service\x20command\x20','fullPath','some','scriptName','Use\x20`','3Euotcn','source','dbtableConfig','41878amLXgi','sql','username','28648ZNxwsO','\x20completed\x20in\x20','description','1070PDKfvW','\x20->\x20','map','command','kind','appcode','json','fromEntries','\x20\x20\x20\x20kind:\x20\x20\x20\x20','\x20requires\x20target.sqlCode.','trim','SERVICE_TREE','\x20\x20\x20\x20sqlCode:\x20','bffId','Unsupported\x20service\x20target\x20kind:\x20','115135fWFLql','1349865MRzowx','8558MkmnSl','Cannot\x20resolve\x20datatable\x20\x22','datatable','params','validation','sqlCode','args','appRef','Preview\x20dynamic\x20service\x20command:\x20','cliPath','remainingArgs','bff','\x22\x20in\x20service\x20command\x20','target','\x20service\x20detail\x20--service\x20','startsWith','required','cliName','86382SHpyjw','length','nickname','9ywLbqL','Unknown\x20appRef\x20\x22','slice','envName','tree','746392arGaGU','bffCode','find','padEnd'];a39_0x7408=function(){return _0x1bf9ba;};return a39_0x7408();}import{CliErrors}from'../../errors.js';import{listLocalServices,listLocalServiceTrees}from'../../commands/service/registry.js';import{CLI_BIN_NAME}from'../../constant/cli.js';export function resolveDynamicServiceCommand(_0x499304,_0x4ab9f5){const _0x1c8b86=a39_0x15cf,_0x227788=listLocalServiceTrees();let _0x1e097a;for(const _0x2d3362 of _0x227788){const _0x3b13f5=matchServiceTreeCommand(_0x2d3362,_0x499304);if(!_0x3b13f5)continue;(!_0x1e097a||_0x3b13f5['command'][_0x1c8b86(0x197)][_0x1c8b86(0x164)]>_0x1e097a[_0x1c8b86(0x1a7)][_0x1c8b86(0x197)]['length'])&&(_0x1e097a={'tree':_0x2d3362,'command':_0x3b13f5[_0x1c8b86(0x1a7)],'remainingArgs':_0x3b13f5['remainingArgs']});}if(!_0x1e097a)return undefined;const _0x2edf3e={..._0x4ab9f5};return applyAppBinding(_0x1e097a[_0x1c8b86(0x16a)],_0x1e097a[_0x1c8b86(0x1a7)],_0x2edf3e),{'definition':buildDynamicCommandDefinition(_0x1e097a[_0x1c8b86(0x16a)],_0x1e097a[_0x1c8b86(0x1a7)]),'args':_0x1e097a[_0x1c8b86(0x1bf)],'flags':_0x2edf3e,'tree':_0x1e097a[_0x1c8b86(0x16a)],'command':_0x1e097a[_0x1c8b86(0x1a7)]};}export function generateDynamicServiceHelp(_0xa0c76e){const _0x43d81b=a39_0x15cf,_0xe63dc8=listLocalServiceTrees()[_0x43d81b(0x16d)](_0x9d8d6b=>_0x9d8d6b['service'][_0x43d81b(0x187)]===_0xa0c76e);if(!_0xe63dc8)return undefined;const _0x36c286=[CLI_BIN_NAME+'\x20'+_0xa0c76e+_0x43d81b(0x195),'',_0xe63dc8[_0x43d81b(0x18d)][_0x43d81b(0x175)]||_0xa0c76e,_0xe63dc8['service'][_0x43d81b(0x1a3)]?'\x20\x20'+_0xe63dc8[_0x43d81b(0x18d)][_0x43d81b(0x1a3)]:'','','Commands:',..._0xe63dc8[_0x43d81b(0x18c)][_0x43d81b(0x1a6)](_0x56ec63=>{const _0x106cca=_0x43d81b,_0x71f05b=_0x56ec63[_0x106cca(0x197)][_0x106cca(0x168)](0x1)['join']('\x20'),_0x432a25=_0x56ec63[_0x106cca(0x179)]===_0x106cca(0x185)?'':'\x20['+_0x56ec63[_0x106cca(0x179)]+']';return'\x20\x20'+_0x71f05b[_0x106cca(0x16e)](0x18)+'\x20'+(_0x56ec63[_0x106cca(0x1a3)]||'')+_0x432a25;}),'',_0x43d81b(0x19a)+CLI_BIN_NAME+_0x43d81b(0x15f)+_0xa0c76e+'`\x20to\x20inspect\x20the\x20manifest.'][_0x43d81b(0x18b)](Boolean);return _0x36c286['join']('\x0a');}export function listDynamicServiceEntries(){const _0x240e19=a39_0x15cf;return listLocalServices()[_0x240e19(0x1a6)](_0x2a982b=>{const _0x13bf60=_0x240e19,_0x5dc70e=_0x2a982b['normalizedManifest'];return{'service':_0x5dc70e[_0x13bf60(0x18d)][_0x13bf60(0x187)],'label':_0x5dc70e[_0x13bf60(0x18d)][_0x13bf60(0x175)]||_0x5dc70e[_0x13bf60(0x18d)][_0x13bf60(0x187)],'commands':_0x5dc70e[_0x13bf60(0x18c)][_0x13bf60(0x1a6)](_0x2374f3=>({'command':dynamicCommandName(_0x2374f3),'description':_0x2374f3[_0x13bf60(0x1a3)]||'Run\x20service\x20command\x20'+_0x2374f3[_0x13bf60(0x1be)],'tag':riskTag(_0x2374f3[_0x13bf60(0x179)])}))};});}export function getDynamicServiceEntry(_0x44fcd6){const _0x32827c=a39_0x15cf;return listDynamicServiceEntries()[_0x32827c(0x16d)](_0x11e760=>_0x11e760[_0x32827c(0x18d)]===_0x44fcd6);}export function listDynamicServiceDefinitions(_0x4f773e){const _0x548a39=a39_0x15cf;return listLocalServiceTrees()[_0x548a39(0x18b)](_0x34f905=>!_0x4f773e||_0x34f905[_0x548a39(0x18d)]['code']===_0x4f773e)['flatMap'](_0x275d9c=>_0x275d9c[_0x548a39(0x18c)][_0x548a39(0x1a6)](_0x3af24c=>buildDynamicCommandDefinition(_0x275d9c,_0x3af24c)));}export function getDynamicServiceDefinitions(_0x33989c){const _0x31d459=a39_0x15cf,_0x3f4b6b=listDynamicServiceDefinitions(_0x33989c);return _0x3f4b6b[_0x31d459(0x164)]>0x0?_0x3f4b6b:undefined;}export function findDynamicServiceDefinition(_0x36a7d4,_0x20bc9a){const _0x3b8af5=a39_0x15cf;return listDynamicServiceDefinitions(_0x36a7d4)[_0x3b8af5(0x16d)](_0x297443=>_0x297443[_0x3b8af5(0x1a7)]===_0x20bc9a);}export function buildDynamicCommandDefinition(_0x419efb,_0x593c87){const _0x18dd8b=a39_0x15cf;return{'service':_0x419efb[_0x18dd8b(0x18d)][_0x18dd8b(0x187)],'command':dynamicCommandName(_0x593c87),'description':_0x593c87['description']||_0x18dd8b(0x196)+_0x593c87[_0x18dd8b(0x1be)],'risk':_0x593c87['risk'],'requiresAuth':!![],'requiresAppCode':!![],'args':_0x593c87['args']['map'](_0x351b84=>({'name':_0x351b84[_0x18dd8b(0x175)],'description':_0x351b84[_0x18dd8b(0x1a3)]||_0x351b84['name'],'required':_0x351b84[_0x18dd8b(0x161)]})),'flags':_0x593c87[_0x18dd8b(0x18e)][_0x18dd8b(0x1a6)](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x593c87),async 'dryRun'(_0x28e201){const _0x2ac948=_0x18dd8b,_0x4d2232=await compilePlan(_0x593c87,_0x28e201);return{'method':_0x2ac948(0x1af),'url':_0x593c87[_0x2ac948(0x1be)],'body':{'target':targetPreview(_0x4d2232),'params':_0x4d2232['params']},'description':_0x2ac948(0x1bd)+_0x593c87[_0x2ac948(0x1be)]};},async 'execute'(_0x4d1f76){const _0x1a05f4=_0x18dd8b,_0x597384=await compilePlan(_0x593c87,_0x4d1f76),_0x158ffe=Date[_0x1a05f4(0x171)](),_0x5a8722=await executePlan(_0x597384,_0x593c87,_0x4d1f76),_0x2b7dc7=Date[_0x1a05f4(0x171)]()-_0x158ffe;return{'ok':!![],'data':{'service':_0x419efb[_0x1a05f4(0x18d)],'command':_0x593c87[_0x1a05f4(0x1be)],'target':targetPreview(_0x597384),'result':_0x5a8722,'elapsed':_0x2b7dc7},'message':_0x1a05f4(0x182)+_0x593c87[_0x1a05f4(0x1be)]+_0x1a05f4(0x1a2)+_0x2b7dc7+'ms'};}};}function dynamicCommandName(_0x4caef1){const _0x497e1d=a39_0x15cf;return _0x4caef1[_0x497e1d(0x197)][_0x497e1d(0x168)](0x1)['join']('\x20');}function riskTag(_0x1f2f15){const _0x4b6c4b=a39_0x15cf;return _0x1f2f15===_0x4b6c4b(0x185)?'':_0x4b6c4b(0x170)+_0x1f2f15+']';}function flagToCommandFlag(_0x4f1bc9){const _0x435fc2=a39_0x15cf;return{'name':_0x4f1bc9[_0x435fc2(0x162)],'type':_0x4f1bc9[_0x435fc2(0x18f)]===_0x435fc2(0x1aa)?'string':_0x4f1bc9[_0x435fc2(0x18f)],'description':_0x4f1bc9[_0x435fc2(0x1a3)]||_0x4f1bc9['name'],'required':_0x4f1bc9[_0x435fc2(0x161)],'default':isPrimitiveFlagDefault(_0x4f1bc9[_0x435fc2(0x17d)])?_0x4f1bc9[_0x435fc2(0x17d)]:undefined,'enum':_0x4f1bc9['enum']};}async function compilePlan(_0x1a47cb,_0x49747b){const _0x1d5e1c=a39_0x15cf;return compileServiceTreeCommand(_0x1a47cb,{'flags':_0x49747b['rawFlags'],'args':_0x49747b[_0x1d5e1c(0x1bb)],'context':await buildServiceContext(_0x1a47cb,_0x49747b)});}async function buildServiceContext(_0x43435a,_0x2a3c82){const _0x1e48cb=a39_0x15cf,_0x3843e0={'appCode':_0x2a3c82[_0x1e48cb(0x174)],'env':_0x2a3c82[_0x1e48cb(0x169)],'envName':_0x2a3c82[_0x1e48cb(0x169)]};if(!usesRuntimeContext(_0x43435a))return _0x3843e0;const _0x3eb8cf=await getLoginUserInfo(),_0x3b99f8=pickFirst(_0x3eb8cf['userId'],_0x3eb8cf['id']);return{..._0x3843e0,'user':_0x3eb8cf,'userId':_0x3b99f8,'id':_0x3eb8cf['id'],'username':pickFirst(_0x3eb8cf[_0x1e48cb(0x1a0)],_0x3eb8cf[_0x1e48cb(0x181)],_0x3eb8cf['loginName']),'userName':_0x3eb8cf[_0x1e48cb(0x181)],'nickname':pickFirst(_0x3eb8cf[_0x1e48cb(0x165)],_0x3eb8cf[_0x1e48cb(0x173)]),'nickName':_0x3eb8cf[_0x1e48cb(0x173)],'tenantCode':_0x3eb8cf['tenantCode'],'employeeId':_0x3eb8cf['employeeId']};}function a39_0x15cf(_0x225d9d,_0x204732){_0x225d9d=_0x225d9d-0x15c;const _0x74081b=a39_0x7408();let _0x15cf48=_0x74081b[_0x225d9d];return _0x15cf48;}function usesRuntimeContext(_0x5d647c){const _0x463d0c=a39_0x15cf;return _0x5d647c['mapTo'][_0x463d0c(0x198)](_0x5be734=>typeof _0x5be734[_0x463d0c(0x19c)]==='string'&&(_0x5be734['source'][_0x463d0c(0x160)](_0x463d0c(0x194))||_0x5be734[_0x463d0c(0x19c)][_0x463d0c(0x160)](_0x463d0c(0x17c))));}function pickFirst(..._0x3eb822){return _0x3eb822['find'](_0x2774d4=>_0x2774d4!==undefined&&_0x2774d4!==null);}async function executePlan(_0x518ffe,_0x1422e7,_0x899e1c){const _0x2f1c8a=a39_0x15cf;if(_0x518ffe[_0x2f1c8a(0x1a8)]===_0x2f1c8a(0x193)){const _0x37726a=await resolveDatasetCode(_0x518ffe,_0x1422e7,_0x899e1c);return executeData(_0x37726a,_0x518ffe[_0x2f1c8a(0x1a7)],_0x518ffe['params']);}if(_0x518ffe[_0x2f1c8a(0x1a8)]===_0x2f1c8a(0x19f)){if(!_0x518ffe['sqlCode'])throw CliErrors[_0x2f1c8a(0x1b9)](_0x2f1c8a(0x182)+_0x1422e7[_0x2f1c8a(0x1be)]+_0x2f1c8a(0x1ad));return executeSdkSql(_0x518ffe['sqlCode'],normalizeScalarParams(_0x518ffe[_0x2f1c8a(0x1b8)]));}if(_0x518ffe[_0x2f1c8a(0x1a8)]===_0x2f1c8a(0x15c)){const _0x3e6654=_0x518ffe['scriptName']||_0x518ffe[_0x2f1c8a(0x16c)]||(_0x518ffe[_0x2f1c8a(0x1b1)]==null?'':String(_0x518ffe[_0x2f1c8a(0x1b1)]));if(!_0x3e6654)throw CliErrors[_0x2f1c8a(0x1b9)](_0x2f1c8a(0x182)+_0x1422e7[_0x2f1c8a(0x1be)]+'\x20requires\x20target.functionName.');return executeSdkBff(_0x3e6654,_0x518ffe['params']);}throw CliErrors[_0x2f1c8a(0x1b9)](_0x2f1c8a(0x1b2)+_0x518ffe[_0x2f1c8a(0x1a8)]);}async function resolveDatasetCode(_0x2753e5,_0x472098,_0x52dcee){const _0x5da22d=a39_0x15cf;if(_0x2753e5[_0x5da22d(0x186)])return _0x2753e5[_0x5da22d(0x186)];if(!_0x2753e5[_0x5da22d(0x1b7)])throw CliErrors[_0x5da22d(0x1b9)](_0x5da22d(0x182)+_0x472098[_0x5da22d(0x1be)]+'\x20requires\x20target.datasetCode\x20or\x20target.datatable.');const _0x27203d=await listDatasets(_0x52dcee[_0x5da22d(0x174)]),_0x26e8a7=_0x27203d[_0x5da22d(0x16d)](_0x1bdf5f=>_0x1bdf5f[_0x5da22d(0x19d)]?.[_0x5da22d(0x180)]===_0x2753e5[_0x5da22d(0x1b7)]);if(!_0x26e8a7?.[_0x5da22d(0x187)])throw CliErrors['validation'](_0x5da22d(0x1b6)+_0x2753e5[_0x5da22d(0x1b7)]+_0x5da22d(0x17e)+_0x52dcee[_0x5da22d(0x174)]+'.','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.');return _0x26e8a7[_0x5da22d(0x187)];}function applyAppBinding(_0x2d990a,_0x34d103,_0x2eb2ef){const _0x3d2db2=a39_0x15cf,_0x1da8ae=_0x34d103[_0x3d2db2(0x15e)][_0x3d2db2(0x1bc)];if(!_0x1da8ae)return;const _0x5e391f=_0x2d990a[_0x3d2db2(0x17f)][_0x1da8ae];if(!_0x5e391f)throw CliErrors[_0x3d2db2(0x1b9)](_0x3d2db2(0x167)+_0x1da8ae+_0x3d2db2(0x15d)+_0x34d103[_0x3d2db2(0x1be)]+'.',_0x3d2db2(0x18a));const _0x401e65=_0x5e391f[_0x3d2db2(0x1a9)]||_0x5e391f['appCode'];_0x401e65&&!hasText(_0x2eb2ef[_0x3d2db2(0x1a9)])&&(_0x2eb2ef[_0x3d2db2(0x1a9)]=_0x401e65),_0x5e391f['app']&&!hasText(_0x2eb2ef[_0x3d2db2(0x189)])&&!hasText(_0x2eb2ef[_0x3d2db2(0x1a9)])&&(_0x2eb2ef[_0x3d2db2(0x189)]=_0x5e391f['app']),_0x5e391f[_0x3d2db2(0x177)]&&!hasText(_0x2eb2ef['env'])&&(_0x2eb2ef[_0x3d2db2(0x177)]=_0x5e391f[_0x3d2db2(0x177)]);}function renderDynamicCommandHelp(_0x2ca435){const _0x5ab506=a39_0x15cf,_0x352040=[_0x5ab506(0x17a),_0x5ab506(0x1ac)+_0x2ca435[_0x5ab506(0x15e)]['kind'],'\x20\x20\x20\x20command:\x20'+_0x2ca435[_0x5ab506(0x15e)][_0x5ab506(0x1a7)]];if(_0x2ca435[_0x5ab506(0x15e)][_0x5ab506(0x186)])_0x352040[_0x5ab506(0x184)](_0x5ab506(0x192)+_0x2ca435[_0x5ab506(0x15e)][_0x5ab506(0x186)]);if(_0x2ca435[_0x5ab506(0x15e)]['datatable'])_0x352040[_0x5ab506(0x184)](_0x5ab506(0x183)+_0x2ca435[_0x5ab506(0x15e)][_0x5ab506(0x1b7)]);if(_0x2ca435['target'][_0x5ab506(0x1ba)])_0x352040[_0x5ab506(0x184)](_0x5ab506(0x1b0)+_0x2ca435[_0x5ab506(0x15e)][_0x5ab506(0x1ba)]);if(_0x2ca435['target']['scriptName'])_0x352040[_0x5ab506(0x184)]('\x20\x20\x20\x20functionName:\x20'+_0x2ca435[_0x5ab506(0x15e)][_0x5ab506(0x199)]);if(_0x2ca435[_0x5ab506(0x172)][_0x5ab506(0x164)]>0x0){_0x352040[_0x5ab506(0x184)]('',_0x5ab506(0x16f));for(const _0x15ef78 of _0x2ca435[_0x5ab506(0x172)]){_0x352040[_0x5ab506(0x184)]('\x20\x20\x20\x20'+(_0x15ef78[_0x5ab506(0x19c)]||'const')+_0x5ab506(0x1a5)+_0x15ef78[_0x5ab506(0x15e)]+(_0x15ef78['operator']?'.'+_0x15ef78['operator']:''));}}return _0x352040[_0x5ab506(0x190)]('\x0a');}function targetPreview(_0x5089ac){const _0x369dcc=a39_0x15cf;return{'kind':_0x5089ac['kind'],'command':_0x5089ac[_0x369dcc(0x1a7)],'appRef':_0x5089ac[_0x369dcc(0x1bc)],'datasetCode':_0x5089ac[_0x369dcc(0x186)],'datatable':_0x5089ac['datatable'],'sqlCode':_0x5089ac[_0x369dcc(0x1ba)],'bffCode':_0x5089ac['bffCode'],'bffId':_0x5089ac[_0x369dcc(0x1b1)],'functionName':_0x5089ac[_0x369dcc(0x199)]};}function normalizeScalarParams(_0x546e12){const _0xa9a736=a39_0x15cf;return Object[_0xa9a736(0x1ab)](Object[_0xa9a736(0x191)](_0x546e12)['filter'](([,_0x19ba8e])=>typeof _0x19ba8e===_0xa9a736(0x178)||typeof _0x19ba8e===_0xa9a736(0x188)));}function hasText(_0x5436c5){const _0x853005=a39_0x15cf;return typeof _0x5436c5===_0x853005(0x178)&&_0x5436c5[_0x853005(0x1ae)]()[_0x853005(0x164)]>0x0;}function isPrimitiveFlagDefault(_0x8a9f60){const _0x303347=a39_0x15cf;return _0x8a9f60===undefined||typeof _0x8a9f60===_0x303347(0x178)||typeof _0x8a9f60===_0x303347(0x188)||typeof _0x8a9f60===_0x303347(0x17b);}
|
|
1
|
+
(function(_0x45adab,_0x2b5115){const _0x18e583=a39_0x5b2b,_0x579e4d=_0x45adab();while(!![]){try{const _0x50a6fd=parseInt(_0x18e583(0xe0))/0x1*(parseInt(_0x18e583(0x112))/0x2)+-parseInt(_0x18e583(0xd4))/0x3+parseInt(_0x18e583(0xfd))/0x4*(parseInt(_0x18e583(0xe5))/0x5)+parseInt(_0x18e583(0xd0))/0x6+-parseInt(_0x18e583(0xd6))/0x7+-parseInt(_0x18e583(0xed))/0x8+-parseInt(_0x18e583(0xc3))/0x9;if(_0x50a6fd===_0x2b5115)break;else _0x579e4d['push'](_0x579e4d['shift']());}catch(_0x3e0cab){_0x579e4d['push'](_0x579e4d['shift']());}}}(a39_0x29f6,0x5da8a));import{compileServiceTreeCommand,matchServiceTreeCommand}from'@lovrabet/cli-framework';function a39_0x29f6(){const _0x232c33=['now','kind','slice','cliName','code','Commands:','userId','datasetCode','service','source','nickName','type','const','length','rawFlags','1836999WuYfMv','mapTo','appBindings','appCode','data','operator','number','\x20requires\x20target.sqlCode.','required','tableName','Use\x20`','args','name','3167886kMqMaT','push','filter','\x20\x20\x20\x20command:\x20','387801ggMNjY','join','713433INhPry','sql','appcode','default','risk','tenantCode','string','some','remainingArgs','employeeId','754rzteXI','envName','Service\x20command\x20','json','read','25ZDAQdA','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.','loginName','\x20\x20\x20\x20kind:\x20\x20\x20\x20','username','validation','Cannot\x20resolve\x20datatable\x20\x22','context.','3155272OJfIcr','scriptName','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','startsWith','env','\x20\x20\x20\x20datatable:\x20','commands','find','\x20\x20\x20\x20datasetCode:\x20','Preview\x20dynamic\x20service\x20command:\x20','appRef','bffId','params','\x20requires\x20target.functionName.','entries','bff','162836iZxVzB','fromEntries','padEnd','target','app','flatMap','tree','cliPath','map','sqlCode','bffCode','\x20<command>\x20[flags]','fullPath','trim','enum','normalizedManifest','userName','\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20','description','datatable','\x20completed\x20in\x20','1278wRVYNs','\x20\x20\x20\x20functionName:\x20','command'];a39_0x29f6=function(){return _0x232c33;};return a39_0x29f6();}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';function a39_0x5b2b(_0xd7a85f,_0x308da4){_0xd7a85f=_0xd7a85f-0xbd;const _0x29f6e4=a39_0x29f6();let _0x5b2b60=_0x29f6e4[_0xd7a85f];return _0x5b2b60;}import{CLI_BIN_NAME}from'../../constant/cli.js';export function resolveDynamicServiceCommand(_0x118185,_0x2bca22){const _0x54ca1c=a39_0x5b2b,_0x55022f=listLocalServiceTrees();let _0x1c2bd1;for(const _0x623cac of _0x55022f){const _0x466700=matchServiceTreeCommand(_0x623cac,_0x118185);if(!_0x466700)continue;(!_0x1c2bd1||_0x466700[_0x54ca1c(0x114)][_0x54ca1c(0x109)][_0x54ca1c(0xc1)]>_0x1c2bd1[_0x54ca1c(0x114)][_0x54ca1c(0x109)]['length'])&&(_0x1c2bd1={'tree':_0x623cac,'command':_0x466700[_0x54ca1c(0x114)],'remainingArgs':_0x466700['remainingArgs']});}if(!_0x1c2bd1)return undefined;const _0x422986={..._0x2bca22};return applyAppBinding(_0x1c2bd1[_0x54ca1c(0x103)],_0x1c2bd1['command'],_0x422986),{'definition':buildDynamicCommandDefinition(_0x1c2bd1[_0x54ca1c(0x103)],_0x1c2bd1[_0x54ca1c(0x114)]),'args':_0x1c2bd1[_0x54ca1c(0xde)],'flags':_0x422986,'tree':_0x1c2bd1[_0x54ca1c(0x103)],'command':_0x1c2bd1[_0x54ca1c(0x114)]};}export function generateDynamicServiceHelp(_0x39e742){const _0x5c81d5=a39_0x5b2b,_0x3800e3=listLocalServiceTrees()[_0x5c81d5(0xf4)](_0x3f5dba=>_0x3f5dba[_0x5c81d5(0x11d)][_0x5c81d5(0x119)]===_0x39e742);if(!_0x3800e3)return undefined;const _0x90f2f9=[CLI_BIN_NAME+'\x20'+_0x39e742+_0x5c81d5(0x108),'',_0x3800e3['service'][_0x5c81d5(0xcf)]||_0x39e742,_0x3800e3[_0x5c81d5(0x11d)]['description']?'\x20\x20'+_0x3800e3['service'][_0x5c81d5(0x10f)]:'','',_0x5c81d5(0x11a),..._0x3800e3[_0x5c81d5(0xf3)][_0x5c81d5(0x105)](_0x5a1eac=>{const _0x3ea294=_0x5c81d5,_0xf48a5a=_0x5a1eac[_0x3ea294(0x109)][_0x3ea294(0x117)](0x1)[_0x3ea294(0xd5)]('\x20'),_0x1f9d08=_0x5a1eac['risk']===_0x3ea294(0xe4)?'':'\x20['+_0x5a1eac[_0x3ea294(0xda)]+']';return'\x20\x20'+_0xf48a5a[_0x3ea294(0xff)](0x18)+'\x20'+(_0x5a1eac['description']||'')+_0x1f9d08;}),'',_0x5c81d5(0xcd)+CLI_BIN_NAME+'\x20service\x20detail\x20--service\x20'+_0x39e742+'`\x20to\x20inspect\x20the\x20manifest.']['filter'](Boolean);return _0x90f2f9[_0x5c81d5(0xd5)]('\x0a');}export function listDynamicServiceEntries(){return listLocalServices()['map'](_0x5af2ae=>{const _0x2315a9=a39_0x5b2b,_0x4f4e77=_0x5af2ae[_0x2315a9(0x10c)];return{'service':_0x4f4e77[_0x2315a9(0x11d)][_0x2315a9(0x119)],'label':_0x4f4e77['service'][_0x2315a9(0xcf)]||_0x4f4e77[_0x2315a9(0x11d)][_0x2315a9(0x119)],'commands':_0x4f4e77['commands'][_0x2315a9(0x105)](_0x1e91bb=>({'command':dynamicCommandName(_0x1e91bb),'description':_0x1e91bb['description']||'Run\x20service\x20command\x20'+_0x1e91bb[_0x2315a9(0x104)],'tag':riskTag(_0x1e91bb[_0x2315a9(0xda)])}))};});}export function getDynamicServiceEntry(_0x31f8ce){const _0x52b04a=a39_0x5b2b;return listDynamicServiceEntries()['find'](_0x1b2768=>_0x1b2768[_0x52b04a(0x11d)]===_0x31f8ce);}export function listDynamicServiceDefinitions(_0x570bf2){const _0x2357d6=a39_0x5b2b;return listLocalServiceTrees()[_0x2357d6(0xd2)](_0x1bd5ad=>!_0x570bf2||_0x1bd5ad['service']['code']===_0x570bf2)[_0x2357d6(0x102)](_0x3ac89b=>_0x3ac89b['commands'][_0x2357d6(0x105)](_0x58ae07=>buildDynamicCommandDefinition(_0x3ac89b,_0x58ae07)));}export function getDynamicServiceDefinitions(_0x49476e){const _0x2049dd=a39_0x5b2b,_0x26a557=listDynamicServiceDefinitions(_0x49476e);return _0x26a557[_0x2049dd(0xc1)]>0x0?_0x26a557:undefined;}export function findDynamicServiceDefinition(_0x2097f2,_0x203b7f){const _0x2e017b=a39_0x5b2b;return listDynamicServiceDefinitions(_0x2097f2)[_0x2e017b(0xf4)](_0x257014=>_0x257014[_0x2e017b(0x114)]===_0x203b7f);}export function buildDynamicCommandDefinition(_0x3d3894,_0x26608b){const _0x1cb403=a39_0x5b2b;return{'service':_0x3d3894[_0x1cb403(0x11d)][_0x1cb403(0x119)],'command':dynamicCommandName(_0x26608b),'description':_0x26608b[_0x1cb403(0x10f)]||'Run\x20service\x20command\x20'+_0x26608b[_0x1cb403(0x104)],'risk':_0x26608b['risk'],'requiresAuth':!![],'requiresAppCode':!![],'args':_0x26608b[_0x1cb403(0xce)][_0x1cb403(0x105)](_0x508b8f=>({'name':_0x508b8f[_0x1cb403(0xcf)],'description':_0x508b8f['description']||_0x508b8f[_0x1cb403(0xcf)],'required':_0x508b8f[_0x1cb403(0xcb)]})),'flags':_0x26608b['flags'][_0x1cb403(0x105)](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x26608b),async 'dryRun'(_0x2d9a13){const _0x1e550f=_0x1cb403,_0x1e656c=await compilePlan(_0x26608b,_0x2d9a13);return{'method':'SERVICE_TREE','url':_0x26608b[_0x1e550f(0x104)],'body':{'target':targetPreview(_0x1e656c),'params':_0x1e656c[_0x1e550f(0xf9)]},'description':_0x1e550f(0xf6)+_0x26608b[_0x1e550f(0x104)]};},async 'execute'(_0x366176){const _0x4396f6=_0x1cb403,_0x3131c5=await compilePlan(_0x26608b,_0x366176),_0x5bb8a8=Date[_0x4396f6(0x115)](),_0x35d8e0=await executePlan(_0x3131c5,_0x26608b,_0x366176),_0x275e83=Date[_0x4396f6(0x115)]()-_0x5bb8a8;return{'ok':!![],'data':{'service':_0x3d3894['service'],'command':_0x26608b[_0x4396f6(0x104)],'target':targetPreview(_0x3131c5),'result':_0x35d8e0,'elapsed':_0x275e83},'message':_0x4396f6(0xe2)+_0x26608b[_0x4396f6(0x104)]+_0x4396f6(0x111)+_0x275e83+'ms'};}};}function dynamicCommandName(_0x49ce9e){const _0x2654bb=a39_0x5b2b;return _0x49ce9e[_0x2654bb(0x109)][_0x2654bb(0x117)](0x1)[_0x2654bb(0xd5)]('\x20');}function riskTag(_0x58a482){const _0x334eed=a39_0x5b2b;return _0x58a482===_0x334eed(0xe4)?'':'\x20\x20['+_0x58a482+']';}function flagToCommandFlag(_0x32df96){const _0x197400=a39_0x5b2b;return{'name':_0x32df96[_0x197400(0x118)],'type':_0x32df96[_0x197400(0xbf)]===_0x197400(0xe3)?_0x197400(0xdc):_0x32df96[_0x197400(0xbf)],'description':_0x32df96['description']||_0x32df96['name'],'required':_0x32df96[_0x197400(0xcb)],'default':isPrimitiveFlagDefault(_0x32df96['default'])?_0x32df96[_0x197400(0xd9)]:undefined,'enum':_0x32df96[_0x197400(0x10b)]};}async function compilePlan(_0x446d2d,_0x2b9c65){const _0x473715=a39_0x5b2b;return compileServiceTreeCommand(_0x446d2d,{'flags':_0x2b9c65[_0x473715(0xc2)],'args':_0x2b9c65[_0x473715(0xce)],'context':await buildServiceContext(_0x446d2d,_0x2b9c65)});}async function buildServiceContext(_0x37fcd6,_0xba3949){const _0x4f4f7c=a39_0x5b2b,_0x5f0231={'appCode':_0xba3949['appCode'],'env':_0xba3949[_0x4f4f7c(0xe1)],'envName':_0xba3949[_0x4f4f7c(0xe1)]};if(!usesRuntimeContext(_0x37fcd6))return _0x5f0231;const _0x30842c=await getLoginUserInfo(),_0x1f5725=pickFirst(_0x30842c[_0x4f4f7c(0x11b)],_0x30842c['id']);return{..._0x5f0231,'user':_0x30842c,'userId':_0x1f5725,'id':_0x30842c['id'],'username':pickFirst(_0x30842c[_0x4f4f7c(0xe9)],_0x30842c[_0x4f4f7c(0x10d)],_0x30842c[_0x4f4f7c(0xe7)]),'userName':_0x30842c[_0x4f4f7c(0x10d)],'nickname':pickFirst(_0x30842c['nickname'],_0x30842c[_0x4f4f7c(0xbe)]),'nickName':_0x30842c[_0x4f4f7c(0xbe)],'tenantCode':_0x30842c[_0x4f4f7c(0xdb)],'employeeId':_0x30842c[_0x4f4f7c(0xdf)]};}function usesRuntimeContext(_0x109721){const _0x3075f7=a39_0x5b2b;return _0x109721[_0x3075f7(0xc4)][_0x3075f7(0xdd)](_0x561041=>typeof _0x561041[_0x3075f7(0xbd)]===_0x3075f7(0xdc)&&(_0x561041[_0x3075f7(0xbd)][_0x3075f7(0xf0)](_0x3075f7(0xec))||_0x561041[_0x3075f7(0xbd)][_0x3075f7(0xf0)]('ctx.')));}function pickFirst(..._0x1cf167){const _0x7a0034=a39_0x5b2b;return _0x1cf167[_0x7a0034(0xf4)](_0x49cfa9=>_0x49cfa9!==undefined&&_0x49cfa9!==null);}async function executePlan(_0x582fc8,_0x16c023,_0x865e01){const _0x414e4d=a39_0x5b2b;if(_0x582fc8[_0x414e4d(0x116)]===_0x414e4d(0xc7)){const _0x32be78=await resolveDatasetCode(_0x582fc8,_0x16c023,_0x865e01);return executeData(_0x32be78,_0x582fc8['command'],_0x582fc8['params']);}if(_0x582fc8[_0x414e4d(0x116)]===_0x414e4d(0xd7)){if(!_0x582fc8[_0x414e4d(0x106)])throw CliErrors[_0x414e4d(0xea)]('Service\x20command\x20'+_0x16c023[_0x414e4d(0x104)]+_0x414e4d(0xca));return executeSdkSql(_0x582fc8[_0x414e4d(0x106)],normalizeScalarParams(_0x582fc8[_0x414e4d(0xf9)]));}if(_0x582fc8['kind']===_0x414e4d(0xfc)){const _0x457a54=_0x582fc8['scriptName']||_0x582fc8[_0x414e4d(0x107)]||(_0x582fc8['bffId']==null?'':String(_0x582fc8[_0x414e4d(0xf8)]));if(!_0x457a54)throw CliErrors[_0x414e4d(0xea)](_0x414e4d(0xe2)+_0x16c023['cliPath']+_0x414e4d(0xfa));return executeSdkBff(_0x457a54,_0x582fc8[_0x414e4d(0xf9)]);}throw CliErrors[_0x414e4d(0xea)]('Unsupported\x20service\x20target\x20kind:\x20'+_0x582fc8[_0x414e4d(0x116)]);}async function resolveDatasetCode(_0x598dee,_0x553bb0,_0x41d3dc){const _0x4d4615=a39_0x5b2b;if(_0x598dee['datasetCode'])return _0x598dee[_0x4d4615(0x11c)];if(!_0x598dee[_0x4d4615(0x110)])throw CliErrors[_0x4d4615(0xea)](_0x4d4615(0xe2)+_0x553bb0['cliPath']+'\x20requires\x20target.datasetCode\x20or\x20target.datatable.');const _0x4d794b=await listDatasets(_0x41d3dc[_0x4d4615(0xc6)]),_0x21fff2=_0x4d794b[_0x4d4615(0xf4)](_0xa618d7=>_0xa618d7['dbtableConfig']?.[_0x4d4615(0xcc)]===_0x598dee[_0x4d4615(0x110)]);if(!_0x21fff2?.[_0x4d4615(0x119)])throw CliErrors[_0x4d4615(0xea)](_0x4d4615(0xeb)+_0x598dee['datatable']+_0x4d4615(0x10e)+_0x41d3dc['appCode']+'.',_0x4d4615(0xef));return _0x21fff2[_0x4d4615(0x119)];}function applyAppBinding(_0x46e67c,_0x1b4ac9,_0x4f28d9){const _0x111595=a39_0x5b2b,_0x426c2d=_0x1b4ac9[_0x111595(0x100)][_0x111595(0xf7)];if(!_0x426c2d)return;const _0x550dbf=_0x46e67c[_0x111595(0xc5)][_0x426c2d];if(!_0x550dbf)throw CliErrors[_0x111595(0xea)]('Unknown\x20appRef\x20\x22'+_0x426c2d+'\x22\x20in\x20service\x20command\x20'+_0x1b4ac9['cliPath']+'.',_0x111595(0xe6));const _0x8df33f=_0x550dbf[_0x111595(0xd8)]||_0x550dbf['appCode'];_0x8df33f&&!hasText(_0x4f28d9[_0x111595(0xd8)])&&(_0x4f28d9[_0x111595(0xd8)]=_0x8df33f),_0x550dbf['app']&&!hasText(_0x4f28d9[_0x111595(0x101)])&&!hasText(_0x4f28d9[_0x111595(0xd8)])&&(_0x4f28d9['app']=_0x550dbf[_0x111595(0x101)]),_0x550dbf[_0x111595(0xf1)]&&!hasText(_0x4f28d9['env'])&&(_0x4f28d9[_0x111595(0xf1)]=_0x550dbf[_0x111595(0xf1)]);}function renderDynamicCommandHelp(_0x2b65c4){const _0x4d25db=a39_0x5b2b,_0x15b11e=['\x20\x20SERVICE\x20TREE\x20TARGET',_0x4d25db(0xe8)+_0x2b65c4[_0x4d25db(0x100)][_0x4d25db(0x116)],_0x4d25db(0xd3)+_0x2b65c4[_0x4d25db(0x100)][_0x4d25db(0x114)]];if(_0x2b65c4[_0x4d25db(0x100)][_0x4d25db(0x11c)])_0x15b11e['push'](_0x4d25db(0xf5)+_0x2b65c4[_0x4d25db(0x100)][_0x4d25db(0x11c)]);if(_0x2b65c4[_0x4d25db(0x100)][_0x4d25db(0x110)])_0x15b11e[_0x4d25db(0xd1)](_0x4d25db(0xf2)+_0x2b65c4[_0x4d25db(0x100)]['datatable']);if(_0x2b65c4[_0x4d25db(0x100)][_0x4d25db(0x106)])_0x15b11e[_0x4d25db(0xd1)]('\x20\x20\x20\x20sqlCode:\x20'+_0x2b65c4[_0x4d25db(0x100)][_0x4d25db(0x106)]);if(_0x2b65c4[_0x4d25db(0x100)][_0x4d25db(0xee)])_0x15b11e['push'](_0x4d25db(0x113)+_0x2b65c4[_0x4d25db(0x100)]['scriptName']);if(_0x2b65c4[_0x4d25db(0xc4)]['length']>0x0){_0x15b11e[_0x4d25db(0xd1)]('','\x20\x20MAP\x20TO');for(const _0x40af6a of _0x2b65c4[_0x4d25db(0xc4)]){_0x15b11e[_0x4d25db(0xd1)]('\x20\x20\x20\x20'+(_0x40af6a[_0x4d25db(0xbd)]||_0x4d25db(0xc0))+'\x20->\x20'+_0x40af6a[_0x4d25db(0x100)]+(_0x40af6a[_0x4d25db(0xc8)]?'.'+_0x40af6a[_0x4d25db(0xc8)]:''));}}return _0x15b11e['join']('\x0a');}function targetPreview(_0x26b4e0){const _0xdea33=a39_0x5b2b;return{'kind':_0x26b4e0[_0xdea33(0x116)],'command':_0x26b4e0[_0xdea33(0x114)],'appRef':_0x26b4e0[_0xdea33(0xf7)],'datasetCode':_0x26b4e0[_0xdea33(0x11c)],'datatable':_0x26b4e0['datatable'],'sqlCode':_0x26b4e0[_0xdea33(0x106)],'bffCode':_0x26b4e0['bffCode'],'bffId':_0x26b4e0['bffId'],'functionName':_0x26b4e0['scriptName']};}function normalizeScalarParams(_0x87dc36){const _0x20080c=a39_0x5b2b;return Object[_0x20080c(0xfe)](Object[_0x20080c(0xfb)](_0x87dc36)[_0x20080c(0xd2)](([,_0x4378e9])=>typeof _0x4378e9===_0x20080c(0xdc)||typeof _0x4378e9==='number'));}function hasText(_0x1a6970){const _0x4d22dd=a39_0x5b2b;return typeof _0x1a6970===_0x4d22dd(0xdc)&&_0x1a6970[_0x4d22dd(0x10a)]()[_0x4d22dd(0xc1)]>0x0;}function isPrimitiveFlagDefault(_0x1c9361){const _0x4f3620=a39_0x5b2b;return _0x1c9361===undefined||typeof _0x1c9361==='string'||typeof _0x1c9361===_0x4f3620(0xc9)||typeof _0x1c9361==='boolean';}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0xfc4f68,_0x43beb0){const _0x2eea36=a40_0x2dd0,_0x140099=_0xfc4f68();while(!![]){try{const _0x165ea9=-parseInt(_0x2eea36(0x90))/0x1+parseInt(_0x2eea36(0x8d))/0x2+parseInt(_0x2eea36(0xaf))/0x3+-parseInt(_0x2eea36(0xa1))/0x4+-parseInt(_0x2eea36(0xb0))/0x5*(parseInt(_0x2eea36(0xae))/0x6)+parseInt(_0x2eea36(0xa5))/0x7*(-parseInt(_0x2eea36(0xb3))/0x8)+parseInt(_0x2eea36(0xa4))/0x9;if(_0x165ea9===_0x43beb0)break;else _0x140099['push'](_0x140099['shift']());}catch(_0x44d1ce){_0x140099['push'](_0x140099['shift']());}}}(a40_0x5463,0xe93ae));export function adaptServiceTreeManifestForLegacyFramework(_0x420d19){const _0xba4efd=a40_0x2dd0,_0x4a0c79=cloneJsonValue(_0x420d19),_0x1533f0=[];if(!isObjectRecord(_0x4a0c79))return{'manifest':_0x4a0c79,'errors':_0x1533f0};return Array['isArray'](_0x4a0c79['commands'])&&_0x4a0c79[_0xba4efd(0xb1)][_0xba4efd(0x94)]((_0x3119f6,_0x418a02)=>{const _0x5d103f=_0xba4efd;if(!isObjectRecord(_0x3119f6))return;adaptBffTarget(_0x3119f6[_0x5d103f(0x96)],'$.commands['+_0x418a02+'].target',_0x1533f0);}),adaptResources(_0x4a0c79[_0xba4efd(0xa7)],_0xba4efd(0xa6),_0x1533f0),{'manifest':_0x4a0c79,'errors':_0x1533f0};}export function toPublicServiceTreeTarget(_0x29abed){const _0xf0598a=a40_0x2dd0,{scriptName:_0x4f92de,..._0x1a79cf}=_0x29abed;return typeof _0x4f92de===_0xf0598a(0x95)&&_0x4f92de[_0xf0598a(0x93)]()&&(_0x1a79cf[_0xf0598a(0x9f)]=_0x4f92de),_0x1a79cf;}export function toPublicNormalizedServiceTree(_0x36b3c8){const _0x525437=a40_0x2dd0;return{..._0x36b3c8,'commands':_0x36b3c8[_0x525437(0xb1)]['map'](_0x2c1912=>({..._0x2c1912,'target':toPublicServiceTreeTarget(_0x2c1912['target'])}))};}function adaptResources(_0x470d0d,_0x56e237,_0x31e607){const _0x2ebba0=a40_0x2dd0;if(!isObjectRecord(_0x470d0d))return;for(const [_0x4a5604,_0x161fed]of Object[_0x2ebba0(0x9b)](_0x470d0d)){if(!isObjectRecord(_0x161fed))continue;const _0x5c0dae=_0x56e237+'.'+_0x4a5604;if(isObjectRecord(_0x161fed[_0x2ebba0(0x8e)]))for(const [_0x66418a,_0x117c3e]of Object[_0x2ebba0(0x9b)](_0x161fed[_0x2ebba0(0x8e)])){if(!isObjectRecord(_0x117c3e))continue;const _0x2aa961=_0x5c0dae+_0x2ebba0(0xaa)+_0x66418a,_0x423800=isObjectRecord(_0x117c3e[_0x2ebba0(0x96)])&&_0x117c3e['target'][_0x2ebba0(0x8f)]===_0x2ebba0(0xac);adaptBffTarget(_0x117c3e[_0x2ebba0(0x96)],_0x2aa961+_0x2ebba0(0xa0),_0x31e607),(_0x423800||isBffAction(_0x117c3e))&&adaptFunctionNameField(_0x117c3e,_0x2aa961,_0x31e607);}adaptResources(_0x161fed[_0x2ebba0(0xa7)],_0x5c0dae+_0x2ebba0(0xa9),_0x31e607);}}function adaptBffTarget(_0x73b8b,_0x9adc96,_0x1942c5){const _0x56d2f9=a40_0x2dd0;if(!isObjectRecord(_0x73b8b)||_0x73b8b[_0x56d2f9(0x8f)]!==_0x56d2f9(0xac))return;adaptFunctionNameField(_0x73b8b,_0x9adc96,_0x1942c5);}function a40_0x5463(){const _0x3b1621=['trim','forEach','string','target','isArray','object','push','action','entries','bff.exec','hasOwnProperty','prototype','functionName','.target','5470564HdyWoh','error','functionName\x20must\x20be\x20a\x20non-empty\x20string.','30808764tOKTbi','6684839cCUAVV','$.resources','resources','scriptName','.resources','.actions.','Use\x20functionName;\x20scriptName\x20is\x20not\x20part\x20of\x20the\x20runtime\x20Service\x20Tree\x20contract.','bff','map','54xvpkVr','2078058ROnptK','252505ayZwYc','commands','call','16SnWxsV','2457196sEWkHF','actions','kind','657066yDNLIV','.functionName','.scriptName'];a40_0x5463=function(){return _0x3b1621;};return a40_0x5463();}function adaptFunctionNameField(_0x12207a,_0x493f17,_0x432802){const _0x10e8b2=a40_0x2dd0;Object[_0x10e8b2(0x9e)][_0x10e8b2(0x9d)][_0x10e8b2(0xb2)](_0x12207a,_0x10e8b2(0xa8))&&_0x432802['push']({'level':_0x10e8b2(0xa2),'path':_0x493f17+_0x10e8b2(0x92),'message':_0x10e8b2(0xab)});if(Object['prototype'][_0x10e8b2(0x9d)][_0x10e8b2(0xb2)](_0x12207a,_0x10e8b2(0x9f))){if(typeof _0x12207a[_0x10e8b2(0x9f)]!=='string'||!_0x12207a[_0x10e8b2(0x9f)][_0x10e8b2(0x93)]()){_0x432802[_0x10e8b2(0x99)]({'level':_0x10e8b2(0xa2),'path':_0x493f17+_0x10e8b2(0x91),'message':_0x10e8b2(0xa3)}),delete _0x12207a[_0x10e8b2(0x9f)];return;}_0x12207a[_0x10e8b2(0xa8)]=_0x12207a[_0x10e8b2(0x9f)],delete _0x12207a[_0x10e8b2(0x9f)];}}function isBffAction(_0x2078e1){const _0x533464=a40_0x2dd0;return _0x2078e1['kind']===_0x533464(0xac)||_0x2078e1[_0x533464(0x9a)]===_0x533464(0x9c)||_0x2078e1[_0x533464(0x96)]===_0x533464(0x9c);}function a40_0x2dd0(_0x2d3050,_0xe6cc34){_0x2d3050=_0x2d3050-0x8d;const _0x5463de=a40_0x5463();let _0x2dd0a3=_0x5463de[_0x2d3050];return _0x2dd0a3;}function cloneJsonValue(_0x59471e){const _0x20004e=a40_0x2dd0;if(Array[_0x20004e(0x97)](_0x59471e))return _0x59471e[_0x20004e(0xad)](_0x5f2028=>cloneJsonValue(_0x5f2028));if(isObjectRecord(_0x59471e))return Object['fromEntries'](Object[_0x20004e(0x9b)](_0x59471e)[_0x20004e(0xad)](([_0x5ed7c9,_0x4b9667])=>[_0x5ed7c9,cloneJsonValue(_0x4b9667)]));return _0x59471e;}function isObjectRecord(_0x12fe51){const _0x2a9962=a40_0x2dd0;return Boolean(_0x12fe51)&&typeof _0x12fe51===_0x2a9962(0x98)&&!Array[_0x2a9962(0x97)](_0x12fe51);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a41_0x4db873=a41_0x5ae3;function a41_0x46ae(){const _0x5f9155=['type','5LqxIFL','risk','registryServiceCode','replaced','entries','flags','name','List\x20locally\x20imported\x20Service\x20Tree\x20manifests','26056hzholl','Local\x20service\x20code,\x20for\x20example\x20crm','Export\x20a\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','Local\x20service\x20not\x20found:\x20','cliPath','lower\x20kebab-case\x20service\x20code','reduce','Service\x20registry\x20validation\x20passed.','8650565RoeNde','Updated','write','3725880XIMtcR','str','Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','detail','read','target','warnings','registryPath','Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','3319305WliVlW','manifests','report','Service\x20Tree\x20manifest\x20file\x20path','Imported','Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json','33510fKjXoC','import','Exported\x20service\x20','string','entry','export','registryIndex','imported','registry','Service\x20manifest\x20validation\x20passed.','82foDYjS','WRITE','importedAt','list','serviceCount','commands','source','length','165762pkwMwv','manifest','serviceCode','service','6633mfSkYC','\x20service(s),\x20updated\x20','file','validate','\x20service(s).','\x20service\x20','4486336yzTosw','Remove\x20a\x20local\x20Service\x20Tree\x20manifest\x20from\x20the\x20runtime\x20registry','description','hash','version','errors','map','updated','filePath','normalizedManifest','kind'];a41_0x46ae=function(){return _0x5f9155;};return a41_0x46ae();}function a41_0x5ae3(_0x29bb58,_0x453b0f){_0x29bb58=_0x29bb58-0x1b3;const _0x46aec8=a41_0x46ae();let _0x5ae30b=_0x46aec8[_0x29bb58];return _0x5ae30b;}(function(_0x4de16f,_0x15593c){const _0x18ae28=a41_0x5ae3,_0x3d2ad8=_0x4de16f();while(!![]){try{const _0x31ac23=-parseInt(_0x18ae28(0x1ba))/0x1*(parseInt(_0x18ae28(0x1e0))/0x2)+-parseInt(_0x18ae28(0x1f4))/0x3+parseInt(_0x18ae28(0x1cc))/0x4+parseInt(_0x18ae28(0x1d8))/0x5*(-parseInt(_0x18ae28(0x1c2))/0x6)+-parseInt(_0x18ae28(0x1e8))/0x7+parseInt(_0x18ae28(0x1eb))/0x8+-parseInt(_0x18ae28(0x1c6))/0x9*(-parseInt(_0x18ae28(0x1fa))/0xa);if(_0x31ac23===_0x15593c)break;else _0x3d2ad8['push'](_0x3d2ad8['shift']());}catch(_0x5b6e1d){_0x3d2ad8['push'](_0x3d2ad8['shift']());}}}(a41_0x46ae,0x97165));import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';import{toPublicNormalizedServiceTree,toPublicServiceTreeTarget}from'../../commands/service/function-name-adapter.js';const FILE_FLAG={'name':a41_0x4db873(0x1c8),'type':a41_0x4db873(0x1b3),'required':!![],'description':a41_0x4db873(0x1f7)},SERVICE_FLAG={'name':a41_0x4db873(0x1c5),'type':a41_0x4db873(0x1b3),'required':!![],'description':a41_0x4db873(0x1e1),'pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':a41_0x4db873(0x1e5)}};function summarizeService(_0x47ea0c){const _0x8f3019=a41_0x4db873;return{'serviceCode':_0x47ea0c[_0x8f3019(0x1c4)],'name':_0x47ea0c[_0x8f3019(0x1d5)]['service'][_0x8f3019(0x1de)],'version':_0x47ea0c[_0x8f3019(0x1d0)],'importedAt':_0x47ea0c[_0x8f3019(0x1bc)],'source':_0x47ea0c[_0x8f3019(0x1c0)],'commandCount':_0x47ea0c[_0x8f3019(0x1d5)][_0x8f3019(0x1bf)][_0x8f3019(0x1c1)],'commands':_0x47ea0c[_0x8f3019(0x1d5)]['commands'][_0x8f3019(0x1d2)](_0x6df1fa=>({'path':_0x6df1fa[_0x8f3019(0x1e4)],'description':_0x6df1fa[_0x8f3019(0x1ce)],'risk':_0x6df1fa[_0x8f3019(0x1d9)],'target':toPublicServiceTreeTarget(_0x6df1fa[_0x8f3019(0x1f0)]),'flags':_0x6df1fa[_0x8f3019(0x1dd)][_0x8f3019(0x1d2)](_0x36421e=>({'name':_0x36421e[_0x8f3019(0x1de)],'cliName':_0x36421e['cliName'],'type':_0x36421e[_0x8f3019(0x1d7)],'required':_0x36421e['required']===!![]}))}))};}function summarizeLoadedManifest(_0x372092){const _0x2ad32c=a41_0x4db873;return{'service':_0x372092[_0x2ad32c(0x1d5)]?.['service'],'version':_0x372092[_0x2ad32c(0x1d5)]?.[_0x2ad32c(0x1d0)],'commandCount':_0x372092['normalizedManifest']?.[_0x2ad32c(0x1bf)]['length']??0x0,'commands':_0x372092['normalizedManifest']?.[_0x2ad32c(0x1bf)][_0x2ad32c(0x1d2)](_0x3dbfc0=>({'path':_0x3dbfc0['cliPath'],'risk':_0x3dbfc0[_0x2ad32c(0x1d9)],'target':toPublicServiceTreeTarget(_0x3dbfc0[_0x2ad32c(0x1f0)])}))??[],'registryIndex':_0x372092[_0x2ad32c(0x1b6)],'registryServiceCode':_0x372092[_0x2ad32c(0x1da)],'errors':_0x372092['report']['errors'],'warnings':_0x372092[_0x2ad32c(0x1f6)][_0x2ad32c(0x1f1)]};}export const serviceDefinitions=[{'service':a41_0x4db873(0x1c5),'command':a41_0x4db873(0x1c9),'description':'Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','risk':a41_0x4db873(0x1ef),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x3438c1){const _0x12842a=a41_0x4db873,_0x249db9=loadServiceManifestFromFile(_0x3438c1[_0x12842a(0x1ec)](_0x12842a(0x1c8)));if(!_0x249db9[_0x12842a(0x1f6)]['ok'])return{'ok':![],'data':{'file':_0x249db9[_0x12842a(0x1d4)],'hash':_0x249db9[_0x12842a(0x1cf)],'kind':_0x249db9[_0x12842a(0x1d6)],'serviceCount':_0x249db9[_0x12842a(0x1f5)][_0x12842a(0x1c1)],'services':_0x249db9[_0x12842a(0x1f5)]['map'](summarizeLoadedManifest),'errors':_0x249db9[_0x12842a(0x1f6)]['errors'],'warnings':_0x249db9['report'][_0x12842a(0x1f1)]},'message':formatValidationFailure(_0x249db9[_0x12842a(0x1f6)])};if(_0x249db9[_0x12842a(0x1d6)]===_0x12842a(0x1b8)||_0x249db9[_0x12842a(0x1f5)][_0x12842a(0x1c1)]!==0x1)return{'ok':!![],'data':{'file':_0x249db9['filePath'],'hash':_0x249db9['hash'],'kind':_0x249db9[_0x12842a(0x1d6)],'serviceCount':_0x249db9[_0x12842a(0x1f5)][_0x12842a(0x1c1)],'commandCount':_0x249db9['manifests'][_0x12842a(0x1e6)]((_0x58dcc7,_0x43d3c6)=>_0x58dcc7+(_0x43d3c6[_0x12842a(0x1d5)]?.[_0x12842a(0x1bf)]['length']??0x0),0x0),'services':_0x249db9['manifests']['map'](summarizeLoadedManifest),'warnings':_0x249db9['report'][_0x12842a(0x1f1)]},'message':_0x12842a(0x1e7)};return{'ok':!![],'data':{'file':_0x249db9[_0x12842a(0x1d4)],'hash':_0x249db9[_0x12842a(0x1cf)],'kind':_0x249db9[_0x12842a(0x1d6)],'service':_0x249db9['normalizedManifest']?.[_0x12842a(0x1c5)],'version':_0x249db9[_0x12842a(0x1d5)]?.[_0x12842a(0x1d0)],'commandCount':_0x249db9['normalizedManifest']?.[_0x12842a(0x1bf)][_0x12842a(0x1c1)]??0x0,'commands':_0x249db9[_0x12842a(0x1d5)]?.[_0x12842a(0x1bf)][_0x12842a(0x1d2)](_0xee5a6e=>({'path':_0xee5a6e[_0x12842a(0x1e4)],'risk':_0xee5a6e[_0x12842a(0x1d9)],'target':toPublicServiceTreeTarget(_0xee5a6e[_0x12842a(0x1f0)])})),'warnings':_0x249db9[_0x12842a(0x1f6)][_0x12842a(0x1f1)]},'message':_0x12842a(0x1b9)};}},{'service':a41_0x4db873(0x1c5),'command':a41_0x4db873(0x1fb),'description':a41_0x4db873(0x1ed),'risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x2ff3c9){const _0xe4bf95=a41_0x4db873,_0x406533=loadServiceManifestFromFile(_0x2ff3c9[_0xe4bf95(0x1ec)](_0xe4bf95(0x1c8)));return{'method':_0xe4bf95(0x1bb),'url':getServiceRegistryPath(),'body':{'file':_0x406533[_0xe4bf95(0x1d4)],'hash':_0x406533[_0xe4bf95(0x1cf)],'kind':_0x406533[_0xe4bf95(0x1d6)],'ok':_0x406533[_0xe4bf95(0x1f6)]['ok'],'service':_0x406533[_0xe4bf95(0x1d5)]?.[_0xe4bf95(0x1c5)],'version':_0x406533[_0xe4bf95(0x1d5)]?.[_0xe4bf95(0x1d0)],'serviceCount':_0x406533['manifests'][_0xe4bf95(0x1c1)],'services':_0x406533['manifests'][_0xe4bf95(0x1d2)](_0x27cc02=>({'service':_0x27cc02[_0xe4bf95(0x1d5)]?.[_0xe4bf95(0x1c5)],'version':_0x27cc02[_0xe4bf95(0x1d5)]?.[_0xe4bf95(0x1d0)],'commandCount':_0x27cc02[_0xe4bf95(0x1d5)]?.[_0xe4bf95(0x1bf)][_0xe4bf95(0x1c1)]??0x0,'errors':_0x27cc02[_0xe4bf95(0x1f6)][_0xe4bf95(0x1d1)]})),'errors':_0x406533[_0xe4bf95(0x1f6)][_0xe4bf95(0x1d1)],'commandCount':_0x406533['normalizedManifest']?.['commands'][_0xe4bf95(0x1c1)]??0x0},'description':'Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json'};},async 'execute'(_0x545b48){const _0x1ef4f2=a41_0x4db873,_0x1e9194=importServiceManifest(_0x545b48['str'](_0x1ef4f2(0x1c8)));if(_0x1e9194[_0x1ef4f2(0x1dc)][_0x1ef4f2(0x1c1)]!==0x1)return{'ok':!![],'data':{'registryPath':_0x1e9194[_0x1ef4f2(0x1f2)],'imported':_0x1e9194[_0x1ef4f2(0x1b7)],'updated':_0x1e9194['updated'],'serviceCount':_0x1e9194[_0x1ef4f2(0x1be)],'services':_0x1e9194[_0x1ef4f2(0x1dc)][_0x1ef4f2(0x1d2)](summarizeService)},'message':'Imported\x20'+_0x1e9194[_0x1ef4f2(0x1b7)]+_0x1ef4f2(0x1c7)+_0x1e9194[_0x1ef4f2(0x1d3)]+_0x1ef4f2(0x1ca)};return{'ok':!![],'data':{'registryPath':_0x1e9194[_0x1ef4f2(0x1f2)],'replaced':_0x1e9194[_0x1ef4f2(0x1db)],'imported':_0x1e9194[_0x1ef4f2(0x1b7)],'updated':_0x1e9194[_0x1ef4f2(0x1d3)],'serviceCount':_0x1e9194[_0x1ef4f2(0x1be)],'service':summarizeService(_0x1e9194[_0x1ef4f2(0x1b4)])},'message':(_0x1e9194[_0x1ef4f2(0x1db)]?_0x1ef4f2(0x1e9):_0x1ef4f2(0x1f8))+_0x1ef4f2(0x1cb)+_0x1e9194['entry'][_0x1ef4f2(0x1c4)]+'.'};}},{'service':a41_0x4db873(0x1c5),'command':a41_0x4db873(0x1b5),'description':a41_0x4db873(0x1e2),'risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x391ba6){const _0x4ca500=a41_0x4db873,_0x5c7f7b=getLocalServiceEntry(_0x391ba6[_0x4ca500(0x1ec)](_0x4ca500(0x1c5)));return{'method':_0x4ca500(0x1bb),'url':_0x391ba6['str'](_0x4ca500(0x1c8)),'body':{'service':_0x391ba6[_0x4ca500(0x1ec)](_0x4ca500(0x1c5)),'found':Boolean(_0x5c7f7b),'version':_0x5c7f7b?.[_0x4ca500(0x1d0)],'source':_0x5c7f7b?.[_0x4ca500(0x1c0)]},'description':_0x4ca500(0x1f9)};},async 'execute'(_0x2243a1){const _0x9f5031=a41_0x4db873,_0xe19dea=exportServiceManifest(_0x2243a1[_0x9f5031(0x1ec)](_0x9f5031(0x1c5)),_0x2243a1[_0x9f5031(0x1ec)]('file'));return{'ok':!![],'data':{'registryPath':_0xe19dea['registryPath'],'file':_0xe19dea[_0x9f5031(0x1d4)],'service':summarizeService(_0xe19dea['entry'])},'message':_0x9f5031(0x1fc)+_0xe19dea[_0x9f5031(0x1b4)][_0x9f5031(0x1c4)]+'.'};}},{'service':'service','command':a41_0x4db873(0x1bd),'description':a41_0x4db873(0x1df),'risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0x252c88=a41_0x4db873,_0x2b5939=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x2b5939[_0x252c88(0x1c1)],'services':_0x2b5939[_0x252c88(0x1d2)](summarizeService)}};}},{'service':a41_0x4db873(0x1c5),'command':'remove','description':a41_0x4db873(0x1cd),'risk':a41_0x4db873(0x1ea),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x52a74b){const _0x2b785f=a41_0x4db873,_0x35059a=getLocalServiceEntry(_0x52a74b[_0x2b785f(0x1ec)](_0x2b785f(0x1c5)));return{'method':'WRITE','url':getServiceRegistryPath(),'body':{'service':_0x52a74b[_0x2b785f(0x1ec)](_0x2b785f(0x1c5)),'found':Boolean(_0x35059a),'version':_0x35059a?.[_0x2b785f(0x1d0)],'source':_0x35059a?.[_0x2b785f(0x1c0)]},'description':'Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json'};},async 'execute'(_0x50f220){const _0x87256e=a41_0x4db873,_0x4a4447=removeServiceManifest(_0x50f220[_0x87256e(0x1ec)](_0x87256e(0x1c5)));return{'ok':!![],'data':{'registryPath':_0x4a4447[_0x87256e(0x1f2)],'serviceCount':_0x4a4447[_0x87256e(0x1be)],'service':summarizeService(_0x4a4447['entry'])},'message':'Removed\x20service\x20'+_0x4a4447[_0x87256e(0x1b4)]['serviceCode']+'.'};}},{'service':'service','command':a41_0x4db873(0x1ee),'description':a41_0x4db873(0x1f3),'risk':a41_0x4db873(0x1ef),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x2eba09){const _0x1288dd=a41_0x4db873,_0x32d9ee=getLocalServiceEntry(_0x2eba09[_0x1288dd(0x1ec)]('service'));if(!_0x32d9ee)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x2eba09[_0x1288dd(0x1ec)](_0x1288dd(0x1c5))},'message':_0x1288dd(0x1e3)+_0x2eba09[_0x1288dd(0x1ec)](_0x1288dd(0x1c5))};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x32d9ee),'manifest':_0x32d9ee[_0x1288dd(0x1c3)],'normalizedManifest':toPublicNormalizedServiceTree(_0x32d9ee[_0x1288dd(0x1d5)])}};}}];
|
|
1
|
+
const a41_0x43ce98=a41_0xdc36;(function(_0x1fb346,_0x1f692b){const _0x43751e=a41_0xdc36,_0x4bd74b=_0x1fb346();while(!![]){try{const _0x3f6704=-parseInt(_0x43751e(0xf6))/0x1+parseInt(_0x43751e(0xe1))/0x2+parseInt(_0x43751e(0xef))/0x3+parseInt(_0x43751e(0x107))/0x4+-parseInt(_0x43751e(0xe6))/0x5*(-parseInt(_0x43751e(0x115))/0x6)+parseInt(_0x43751e(0xf1))/0x7+parseInt(_0x43751e(0xed))/0x8*(-parseInt(_0x43751e(0xdf))/0x9);if(_0x3f6704===_0x1f692b)break;else _0x4bd74b['push'](_0x4bd74b['shift']());}catch(_0x3179ae){_0x4bd74b['push'](_0x4bd74b['shift']());}}}(a41_0x190c,0x681ad));function a41_0xdc36(_0x4f8496,_0x2cfe1c){_0x4f8496=_0x4f8496-0xdd;const _0x190cfe=a41_0x190c();let _0xdc36a5=_0x190cfe[_0x4f8496];return _0xdc36a5;}import{exportServiceManifest,formatValidationFailure,getLocalServiceEntry,getServiceRegistryPath,importServiceManifest,listLocalServices,loadServiceManifestFromFile,removeServiceManifest}from'../../commands/service/registry.js';import{toPublicNormalizedServiceTree,toPublicServiceTreeTarget}from'../../commands/service/function-name-adapter.js';const FILE_FLAG={'name':'file','type':'string','required':!![],'description':'Service\x20Tree\x20manifest\x20file\x20path'},SERVICE_FLAG={'name':'service','type':'string','required':!![],'description':a41_0x43ce98(0x11c),'pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':'lower\x20kebab-case\x20service\x20code'}};function summarizeService(_0x16a0aa){const _0x3b7f40=a41_0x43ce98;return{'serviceCode':_0x16a0aa[_0x3b7f40(0xe8)],'name':_0x16a0aa[_0x3b7f40(0x116)]['service'][_0x3b7f40(0xe2)],'version':_0x16a0aa[_0x3b7f40(0xfc)],'importedAt':_0x16a0aa[_0x3b7f40(0x11a)],'source':_0x16a0aa[_0x3b7f40(0xf8)],'commandCount':_0x16a0aa[_0x3b7f40(0x116)][_0x3b7f40(0x100)][_0x3b7f40(0xf0)],'commands':_0x16a0aa['normalizedManifest'][_0x3b7f40(0x100)][_0x3b7f40(0x102)](_0x2cd56d=>({'path':_0x2cd56d[_0x3b7f40(0x108)],'description':_0x2cd56d['description'],'risk':_0x2cd56d[_0x3b7f40(0x105)],'target':toPublicServiceTreeTarget(_0x2cd56d['target']),'flags':_0x2cd56d[_0x3b7f40(0x11f)][_0x3b7f40(0x102)](_0xd68cb=>({'name':_0xd68cb['name'],'cliName':_0xd68cb[_0x3b7f40(0x119)],'type':_0xd68cb['type'],'required':_0xd68cb[_0x3b7f40(0xf3)]===!![]}))}))};}function summarizeLoadedManifest(_0x8f3804){const _0x2053e1=a41_0x43ce98;return{'service':_0x8f3804[_0x2053e1(0x116)]?.[_0x2053e1(0x101)],'version':_0x8f3804['normalizedManifest']?.[_0x2053e1(0xfc)],'commandCount':_0x8f3804[_0x2053e1(0x116)]?.[_0x2053e1(0x100)]['length']??0x0,'commands':_0x8f3804['normalizedManifest']?.['commands']['map'](_0x29c986=>({'path':_0x29c986[_0x2053e1(0x108)],'risk':_0x29c986[_0x2053e1(0x105)],'target':toPublicServiceTreeTarget(_0x29c986[_0x2053e1(0xdd)])}))??[],'registryIndex':_0x8f3804[_0x2053e1(0x110)],'registryServiceCode':_0x8f3804[_0x2053e1(0x11b)],'errors':_0x8f3804[_0x2053e1(0xde)][_0x2053e1(0xff)],'warnings':_0x8f3804[_0x2053e1(0xde)]['warnings']};}function a41_0x190c(){const _0x22d268=['serviceCode','entry','Imported','file','Updated','8ibyZVH','Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','2332449uVdmxA','length','2334325KqbciU','Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','required','filePath','imported','390317VBnjaP','\x20service(s).','source','Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json','WRITE','Imported\x20','version','Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','str','errors','commands','service','map','registry','read','risk','write','223248BjPqdd','cliPath','validate','replaced','Exported\x20service\x20','Removed\x20service\x20','warnings','Export\x20a\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','serviceCount','registryIndex','manifests','remove','updated','Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json','697134vyjGDg','normalizedManifest','kind','Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json','cliName','importedAt','registryServiceCode','Local\x20service\x20code,\x20for\x20example\x20crm','export','registryPath','flags','import','list','target','report','10622097XFXgiI','hash','963252mIIwmg','name','List\x20locally\x20imported\x20Service\x20Tree\x20manifests','\x20service\x20','Service\x20manifest\x20validation\x20passed.','15TmifYP','entries'];a41_0x190c=function(){return _0x22d268;};return a41_0x190c();}export const serviceDefinitions=[{'service':'service','command':a41_0x43ce98(0x109),'description':a41_0x43ce98(0xf2),'risk':a41_0x43ce98(0x104),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x214561){const _0x41f7f0=a41_0x43ce98,_0x4411a0=loadServiceManifestFromFile(_0x214561[_0x41f7f0(0xfe)](_0x41f7f0(0xeb)));if(!_0x4411a0[_0x41f7f0(0xde)]['ok'])return{'ok':![],'data':{'file':_0x4411a0[_0x41f7f0(0xf4)],'hash':_0x4411a0[_0x41f7f0(0xe0)],'kind':_0x4411a0['kind'],'serviceCount':_0x4411a0[_0x41f7f0(0x111)][_0x41f7f0(0xf0)],'services':_0x4411a0['manifests'][_0x41f7f0(0x102)](summarizeLoadedManifest),'errors':_0x4411a0['report'][_0x41f7f0(0xff)],'warnings':_0x4411a0[_0x41f7f0(0xde)][_0x41f7f0(0x10d)]},'message':formatValidationFailure(_0x4411a0[_0x41f7f0(0xde)])};if(_0x4411a0['kind']===_0x41f7f0(0x103)||_0x4411a0[_0x41f7f0(0x111)][_0x41f7f0(0xf0)]!==0x1)return{'ok':!![],'data':{'file':_0x4411a0['filePath'],'hash':_0x4411a0[_0x41f7f0(0xe0)],'kind':_0x4411a0['kind'],'serviceCount':_0x4411a0[_0x41f7f0(0x111)]['length'],'commandCount':_0x4411a0[_0x41f7f0(0x111)]['reduce']((_0x29d933,_0x57d10e)=>_0x29d933+(_0x57d10e['normalizedManifest']?.[_0x41f7f0(0x100)]['length']??0x0),0x0),'services':_0x4411a0[_0x41f7f0(0x111)][_0x41f7f0(0x102)](summarizeLoadedManifest),'warnings':_0x4411a0['report'][_0x41f7f0(0x10d)]},'message':'Service\x20registry\x20validation\x20passed.'};return{'ok':!![],'data':{'file':_0x4411a0[_0x41f7f0(0xf4)],'hash':_0x4411a0[_0x41f7f0(0xe0)],'kind':_0x4411a0[_0x41f7f0(0x117)],'service':_0x4411a0['normalizedManifest']?.[_0x41f7f0(0x101)],'version':_0x4411a0['normalizedManifest']?.[_0x41f7f0(0xfc)],'commandCount':_0x4411a0['normalizedManifest']?.[_0x41f7f0(0x100)]['length']??0x0,'commands':_0x4411a0[_0x41f7f0(0x116)]?.[_0x41f7f0(0x100)][_0x41f7f0(0x102)](_0x5ea385=>({'path':_0x5ea385[_0x41f7f0(0x108)],'risk':_0x5ea385[_0x41f7f0(0x105)],'target':toPublicServiceTreeTarget(_0x5ea385[_0x41f7f0(0xdd)])})),'warnings':_0x4411a0[_0x41f7f0(0xde)][_0x41f7f0(0x10d)]},'message':_0x41f7f0(0xe5)};}},{'service':a41_0x43ce98(0x101),'command':a41_0x43ce98(0x120),'description':a41_0x43ce98(0xee),'risk':a41_0x43ce98(0x106),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x3e034f){const _0x2d2d0b=a41_0x43ce98,_0x4ee0b9=loadServiceManifestFromFile(_0x3e034f[_0x2d2d0b(0xfe)](_0x2d2d0b(0xeb)));return{'method':_0x2d2d0b(0xfa),'url':getServiceRegistryPath(),'body':{'file':_0x4ee0b9[_0x2d2d0b(0xf4)],'hash':_0x4ee0b9[_0x2d2d0b(0xe0)],'kind':_0x4ee0b9[_0x2d2d0b(0x117)],'ok':_0x4ee0b9[_0x2d2d0b(0xde)]['ok'],'service':_0x4ee0b9[_0x2d2d0b(0x116)]?.[_0x2d2d0b(0x101)],'version':_0x4ee0b9[_0x2d2d0b(0x116)]?.[_0x2d2d0b(0xfc)],'serviceCount':_0x4ee0b9[_0x2d2d0b(0x111)]['length'],'services':_0x4ee0b9[_0x2d2d0b(0x111)][_0x2d2d0b(0x102)](_0x205a71=>({'service':_0x205a71[_0x2d2d0b(0x116)]?.[_0x2d2d0b(0x101)],'version':_0x205a71[_0x2d2d0b(0x116)]?.[_0x2d2d0b(0xfc)],'commandCount':_0x205a71[_0x2d2d0b(0x116)]?.['commands']['length']??0x0,'errors':_0x205a71[_0x2d2d0b(0xde)]['errors']})),'errors':_0x4ee0b9[_0x2d2d0b(0xde)][_0x2d2d0b(0xff)],'commandCount':_0x4ee0b9[_0x2d2d0b(0x116)]?.[_0x2d2d0b(0x100)][_0x2d2d0b(0xf0)]??0x0},'description':_0x2d2d0b(0x118)};},async 'execute'(_0x4e9112){const _0x29808d=a41_0x43ce98,_0x2c92c9=importServiceManifest(_0x4e9112['str'](_0x29808d(0xeb)));if(_0x2c92c9['entries']['length']!==0x1)return{'ok':!![],'data':{'registryPath':_0x2c92c9[_0x29808d(0x11e)],'imported':_0x2c92c9[_0x29808d(0xf5)],'updated':_0x2c92c9[_0x29808d(0x113)],'serviceCount':_0x2c92c9[_0x29808d(0x10f)],'services':_0x2c92c9[_0x29808d(0xe7)][_0x29808d(0x102)](summarizeService)},'message':_0x29808d(0xfb)+_0x2c92c9['imported']+'\x20service(s),\x20updated\x20'+_0x2c92c9['updated']+_0x29808d(0xf7)};return{'ok':!![],'data':{'registryPath':_0x2c92c9[_0x29808d(0x11e)],'replaced':_0x2c92c9[_0x29808d(0x10a)],'imported':_0x2c92c9[_0x29808d(0xf5)],'updated':_0x2c92c9['updated'],'serviceCount':_0x2c92c9[_0x29808d(0x10f)],'service':summarizeService(_0x2c92c9['entry'])},'message':(_0x2c92c9[_0x29808d(0x10a)]?_0x29808d(0xec):_0x29808d(0xea))+_0x29808d(0xe4)+_0x2c92c9[_0x29808d(0xe9)][_0x29808d(0xe8)]+'.'};}},{'service':'service','command':a41_0x43ce98(0x11d),'description':a41_0x43ce98(0x10e),'risk':a41_0x43ce98(0x106),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x94bee8){const _0x28f17b=a41_0x43ce98,_0x3a1c13=getLocalServiceEntry(_0x94bee8[_0x28f17b(0xfe)](_0x28f17b(0x101)));return{'method':_0x28f17b(0xfa),'url':_0x94bee8[_0x28f17b(0xfe)](_0x28f17b(0xeb)),'body':{'service':_0x94bee8['str'](_0x28f17b(0x101)),'found':Boolean(_0x3a1c13),'version':_0x3a1c13?.[_0x28f17b(0xfc)],'source':_0x3a1c13?.[_0x28f17b(0xf8)]},'description':_0x28f17b(0x114)};},async 'execute'(_0x4206fc){const _0x33d7bf=a41_0x43ce98,_0xa40573=exportServiceManifest(_0x4206fc['str'](_0x33d7bf(0x101)),_0x4206fc[_0x33d7bf(0xfe)](_0x33d7bf(0xeb)));return{'ok':!![],'data':{'registryPath':_0xa40573['registryPath'],'file':_0xa40573[_0x33d7bf(0xf4)],'service':summarizeService(_0xa40573['entry'])},'message':_0x33d7bf(0x10b)+_0xa40573[_0x33d7bf(0xe9)][_0x33d7bf(0xe8)]+'.'};}},{'service':a41_0x43ce98(0x101),'command':a41_0x43ce98(0x121),'description':a41_0x43ce98(0xe3),'risk':a41_0x43ce98(0x104),'requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0xaa377b=a41_0x43ce98,_0x40bc55=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x40bc55[_0xaa377b(0xf0)],'services':_0x40bc55['map'](summarizeService)}};}},{'service':a41_0x43ce98(0x101),'command':a41_0x43ce98(0x112),'description':'Remove\x20a\x20local\x20Service\x20Tree\x20manifest\x20from\x20the\x20runtime\x20registry','risk':a41_0x43ce98(0x106),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x5310ba){const _0xb98353=a41_0x43ce98,_0x58e019=getLocalServiceEntry(_0x5310ba[_0xb98353(0xfe)](_0xb98353(0x101)));return{'method':_0xb98353(0xfa),'url':getServiceRegistryPath(),'body':{'service':_0x5310ba[_0xb98353(0xfe)](_0xb98353(0x101)),'found':Boolean(_0x58e019),'version':_0x58e019?.[_0xb98353(0xfc)],'source':_0x58e019?.['source']},'description':_0xb98353(0xf9)};},async 'execute'(_0xc09e0f){const _0x442ce5=a41_0x43ce98,_0x4bcb14=removeServiceManifest(_0xc09e0f[_0x442ce5(0xfe)](_0x442ce5(0x101)));return{'ok':!![],'data':{'registryPath':_0x4bcb14['registryPath'],'serviceCount':_0x4bcb14[_0x442ce5(0x10f)],'service':summarizeService(_0x4bcb14[_0x442ce5(0xe9)])},'message':_0x442ce5(0x10c)+_0x4bcb14[_0x442ce5(0xe9)][_0x442ce5(0xe8)]+'.'};}},{'service':a41_0x43ce98(0x101),'command':'detail','description':a41_0x43ce98(0xfd),'risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x3cd889){const _0x44a73b=a41_0x43ce98,_0x1d9660=getLocalServiceEntry(_0x3cd889[_0x44a73b(0xfe)](_0x44a73b(0x101)));if(!_0x1d9660)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x3cd889[_0x44a73b(0xfe)]('service')},'message':'Local\x20service\x20not\x20found:\x20'+_0x3cd889[_0x44a73b(0xfe)](_0x44a73b(0x101))};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x1d9660),'manifest':_0x1d9660['manifest'],'normalizedManifest':toPublicNormalizedServiceTree(_0x1d9660[_0x44a73b(0x116)])}};}}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a42_0x5a7e90=a42_0x2dc4;(function(_0x58d83e,_0xa60bdf){const _0x333e61=a42_0x2dc4,_0x21a7e0=_0x58d83e();while(!![]){try{const _0x47768d=parseInt(_0x333e61(0x22d))/0x1*(-parseInt(_0x333e61(0x22f))/0x2)+parseInt(_0x333e61(0x209))/0x3*(parseInt(_0x333e61(0x20a))/0x4)+-parseInt(_0x333e61(0x228))/0x5+parseInt(_0x333e61(0x1ee))/0x6+-parseInt(_0x333e61(0x21a))/0x7+-parseInt(_0x333e61(0x214))/0x8*(parseInt(_0x333e61(0x1f1))/0x9)+parseInt(_0x333e61(0x20e))/0xa*(parseInt(_0x333e61(0x200))/0xb);if(_0x47768d===_0xa60bdf)break;else _0x21a7e0['push'](_0x21a7e0['shift']());}catch(_0x27586c){_0x21a7e0['push'](_0x21a7e0['shift']());}}}(a42_0x138e,0x27f4d));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';import{adaptServiceTreeManifestForLegacyFramework}from'../../commands/service/function-name-adapter.js';export const SERVICE_REGISTRY_SCHEMA_VERSION=0x1;export const SERVICE_REGISTRY_FILE_NAME=a42_0x5a7e90(0x21b);function a42_0x2dc4(_0x545726,_0x434066){_0x545726=_0x545726-0x1ec;const _0x138eab=a42_0x138e();let _0x2dc453=_0x138eab[_0x545726];return _0x2dc453;}export function getServiceRegistryPath(_0x3fb7f6={}){const _0x1c0dfb=a42_0x5a7e90;return resolve(_0x3fb7f6[_0x1c0dfb(0x1ed)]??homedir(),PRODUCT_CONFIG[_0x1c0dfb(0x1f0)],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x39645b={}){const _0x2999dd=a42_0x5a7e90,_0x407d15=getServiceRegistryPath(_0x39645b);if(!existsSync(_0x407d15))return emptyServiceRegistry();try{const _0x48a4cd=readFileSync(_0x407d15,_0x2999dd(0x203));if(!_0x48a4cd[_0x2999dd(0x215)]())return emptyServiceRegistry();const _0x12c63a=JSON[_0x2999dd(0x1f2)](_0x48a4cd);if(_0x12c63a[_0x2999dd(0x20c)]!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors[_0x2999dd(0x225)](_0x2999dd(0x221)+String(_0x12c63a[_0x2999dd(0x20c)]),'Remove\x20or\x20migrate\x20'+_0x407d15+'.');if(!Array[_0x2999dd(0x22b)](_0x12c63a[_0x2999dd(0x22e)]))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x12c63a[_0x2999dd(0x224)],'services':_0x12c63a[_0x2999dd(0x22e)]};}catch(_0x410431){if(_0x410431 instanceof Error&&_0x410431[_0x2999dd(0x204)]===_0x2999dd(0x23b))throw _0x410431;throw CliErrors[_0x2999dd(0x225)](_0x2999dd(0x1f8)+_0x407d15,_0x2999dd(0x233));}}export function writeServiceRegistry(_0x4648c7,_0x22d100={}){const _0x55b99e=a42_0x5a7e90,_0x494928=getServiceRegistryPath(_0x22d100),_0x2c3b7d=dirname(_0x494928);!existsSync(_0x2c3b7d)&&mkdirSync(_0x2c3b7d,{'recursive':!![]});const _0x393d4a=_0x494928+_0x55b99e(0x230);try{writeFileSync(_0x393d4a,JSON['stringify'](_0x4648c7,null,0x2)+'\x0a',{'encoding':_0x55b99e(0x203),'mode':0x180}),renameSync(_0x393d4a,_0x494928);}catch(_0x2354c3){try{unlinkSync(_0x393d4a);}catch{}if(_0x2354c3?.['code']==='ENOENT')throw CliErrors[_0x55b99e(0x225)](_0x55b99e(0x238)+_0x494928);throw _0x2354c3;}return _0x494928;}export function loadServiceManifestFromFile(_0x1fc7fd){const _0x57235b=a42_0x5a7e90,_0x1eb1f6=resolve(_0x1fc7fd);if(!existsSync(_0x1eb1f6))throw CliErrors['validation']('Service\x20manifest\x20file\x20not\x20found:\x20'+_0x1fc7fd);let _0x38f74b;const _0x413018=readFileSync(_0x1eb1f6,_0x57235b(0x203));try{_0x38f74b=JSON[_0x57235b(0x1f2)](_0x413018);}catch{throw CliErrors[_0x57235b(0x225)](_0x57235b(0x222)+_0x1fc7fd,_0x57235b(0x217));}const _0x5da06a=sha256(_0x413018),_0x595651=extractLoadedServiceManifests(_0x38f74b,_0x5da06a),_0x4b5396=aggregateValidationReports(_0x595651),_0x2dd5ff=_0x595651[0x0];return{'filePath':_0x1eb1f6,'hash':_0x5da06a,'kind':isServiceRegistryLike(_0x38f74b)?_0x57235b(0x1f9):_0x57235b(0x1fc),'manifest':_0x2dd5ff?.['manifest']??_0x38f74b,'report':_0x4b5396,'normalizedManifest':_0x595651[_0x57235b(0x1ff)]===0x1?_0x2dd5ff?.['normalizedManifest']:undefined,'manifests':_0x595651};}export function importServiceManifest(_0x444716,_0x37ec90={}){const _0x449a5c=a42_0x5a7e90,_0x2d0829=loadServiceManifestFromFile(_0x444716);if(!_0x2d0829[_0x449a5c(0x1fd)]['ok'])throw CliErrors[_0x449a5c(0x225)](formatValidationFailure(_0x2d0829[_0x449a5c(0x1fd)]),_0x449a5c(0x1f5));if(_0x2d0829[_0x449a5c(0x20b)][_0x449a5c(0x1ff)]===0x0)throw CliErrors[_0x449a5c(0x225)](_0x449a5c(0x1fa),_0x449a5c(0x216));const _0x2ee116=readServiceRegistry(_0x37ec90),_0x595c38=(_0x37ec90[_0x449a5c(0x20d)]??(()=>new Date()))()[_0x449a5c(0x227)](),_0x3784d4=[];let _0x43a092=0x0,_0x375a42=0x0;for(const _0x3058b2 of _0x2d0829[_0x449a5c(0x20b)]){if(!_0x3058b2[_0x449a5c(0x211)])continue;const _0x3c176e=_0x3058b2[_0x449a5c(0x211)][_0x449a5c(0x239)]['code'],_0x26947e={'serviceCode':_0x3c176e,'version':_0x3058b2[_0x449a5c(0x211)]['version'],'importedAt':_0x595c38,'source':{'type':_0x449a5c(0x20f),'path':_0x2d0829[_0x449a5c(0x1f7)],'hash':_0x3058b2[_0x449a5c(0x21f)]},'manifest':_0x3058b2[_0x449a5c(0x1fc)],'normalizedManifest':_0x3058b2[_0x449a5c(0x211)]},_0x535fc6=_0x2ee116['services'][_0x449a5c(0x207)](_0xdc2cc3=>_0xdc2cc3[_0x449a5c(0x206)]===_0x3c176e);_0x535fc6>=0x0?(_0x2ee116[_0x449a5c(0x22e)][_0x535fc6]=_0x26947e,_0x375a42++):(_0x2ee116[_0x449a5c(0x22e)]['push'](_0x26947e),_0x43a092++),_0x3784d4['push'](_0x26947e);}_0x2ee116[_0x449a5c(0x22e)][_0x449a5c(0x235)]((_0x5f07ee,_0x38dd55)=>_0x5f07ee['serviceCode'][_0x449a5c(0x1ec)](_0x38dd55['serviceCode'])),_0x2ee116[_0x449a5c(0x224)]=_0x595c38;const _0x576c00=writeServiceRegistry(_0x2ee116,_0x37ec90);return{'registryPath':_0x576c00,'entry':_0x3784d4[0x0],'replaced':_0x3784d4[_0x449a5c(0x1ff)]===0x1?_0x375a42===0x1:_0x375a42>0x0,'entries':_0x3784d4,'imported':_0x43a092,'updated':_0x375a42,'serviceCount':_0x2ee116[_0x449a5c(0x22e)][_0x449a5c(0x1ff)]};}export function exportServiceManifest(_0x384cbd,_0x475f6a,_0x1e09b6={}){const _0x45989d=a42_0x5a7e90,_0x361a0f=getServiceRegistryPath(_0x1e09b6),_0x3cd263=getLocalServiceEntry(_0x384cbd,_0x1e09b6);if(!_0x3cd263)throw CliErrors['validation'](_0x45989d(0x1f4)+_0x384cbd,_0x45989d(0x231));const _0x584048=resolve(_0x475f6a),_0x40e226=dirname(_0x584048);return!existsSync(_0x40e226)&&mkdirSync(_0x40e226,{'recursive':!![]}),writeFileSync(_0x584048,JSON[_0x45989d(0x23a)](_0x3cd263['manifest'],null,0x2)+'\x0a',{'encoding':_0x45989d(0x203),'mode':0x180}),{'registryPath':_0x361a0f,'filePath':_0x584048,'entry':_0x3cd263};}export function removeServiceManifest(_0x18a2f2,_0xbf92e6={}){const _0x7038ad=a42_0x5a7e90,_0x4d5f61=readServiceRegistry(_0xbf92e6),_0x24d919=_0x18a2f2[_0x7038ad(0x215)](),_0x1c5837=_0x4d5f61[_0x7038ad(0x22e)][_0x7038ad(0x207)](_0x52448d=>_0x52448d['serviceCode']===_0x24d919);if(_0x1c5837<0x0)throw CliErrors[_0x7038ad(0x225)](_0x7038ad(0x1f4)+_0x24d919,_0x7038ad(0x231));const [_0x363b5c]=_0x4d5f61['services']['splice'](_0x1c5837,0x1),_0x2c20b4=(_0xbf92e6[_0x7038ad(0x20d)]??(()=>new Date()))()[_0x7038ad(0x227)]();_0x4d5f61[_0x7038ad(0x224)]=_0x2c20b4;const _0x1c3a32=writeServiceRegistry(_0x4d5f61,_0xbf92e6);return{'registryPath':_0x1c3a32,'entry':_0x363b5c,'serviceCount':_0x4d5f61['services'][_0x7038ad(0x1ff)]};}function a42_0x138e(){const _0x3b1c4=['homeDirName','189YDLVJj','parse','message','Local\x20service\x20not\x20found:\x20','Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.','invalid','filePath','Invalid\x20service\x20registry\x20JSON:\x20','registry','Service\x20registry\x20has\x20no\x20services\x20to\x20import.','join','manifest','report','digest','length','3619418MPnrSr','].manifest','slice','utf8','name','commands','serviceCode','findIndex','command','33921KMeZqC','112uCwmyE','manifests','schemaVersion','now','20KkBUUQ','file','flatMap','normalizedManifest','reduce','map','110176VmAnVH','trim','Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.','Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.','startsWith','$.services[','1117298EHwbVR','service.json','errors','risk','commandCount','sourceHash','Unsupported\x20schemaVersion:\x20','Unsupported\x20service\x20registry\x20schemaVersion:\x20','Invalid\x20service\x20manifest\x20JSON:\x20','description','updatedAt','validation','update','toISOString','646585nRnDDj','warnings','target','isArray','].manifest.','89bnlFPm','services','6742mKcpWy','.tmp','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','path','Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.','sha256','sort','hex','object','Cannot\x20write\x20service\x20registry:\x20','service','stringify','CliError','source','localeCompare','homeDir','402906iVqvyq','registryIndex'];a42_0x138e=function(){return _0x3b1c4;};return a42_0x138e();}export function listLocalServices(_0x11c8e8={}){const _0x44d1a1=a42_0x5a7e90;return readServiceRegistry(_0x11c8e8)[_0x44d1a1(0x22e)];}export function getLocalServiceEntry(_0x3c757c,_0x310d1e={}){const _0x41f5ef=a42_0x5a7e90;return readServiceRegistry(_0x310d1e)[_0x41f5ef(0x22e)]['find'](_0x57b480=>_0x57b480[_0x41f5ef(0x206)]===_0x3c757c[_0x41f5ef(0x215)]());}export function listLocalServiceTrees(_0x27237c={}){const _0x15ef5c=a42_0x5a7e90;return readServiceRegistry(_0x27237c)[_0x15ef5c(0x22e)][_0x15ef5c(0x213)](_0x461552=>_0x461552[_0x15ef5c(0x211)]);}export function inspectServiceRegistry(_0x5c04b5={}){const _0xb12b2b=a42_0x5a7e90,_0x4c3e68=getServiceRegistryPath(_0x5c04b5);if(!existsSync(_0x4c3e68))return emptyServiceRegistryInspection(_0x4c3e68,'missing',![]);try{const _0x358669=readFileSync(_0x4c3e68,_0xb12b2b(0x203));if(!_0x358669[_0xb12b2b(0x215)]())return emptyServiceRegistryInspection(_0x4c3e68,'empty',!![]);const _0x4333e2=JSON[_0xb12b2b(0x1f2)](_0x358669);if(_0x4333e2[_0xb12b2b(0x20c)]!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x4c3e68,_0xb12b2b(0x1f6),!![]),'schemaVersion':_0x4333e2[_0xb12b2b(0x20c)],'message':_0xb12b2b(0x220)+String(_0x4333e2['schemaVersion'])};if(!Array[_0xb12b2b(0x22b)](_0x4333e2[_0xb12b2b(0x22e)]))return{...emptyServiceRegistryInspection(_0x4c3e68,_0xb12b2b(0x1f6),!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x4333e2[_0xb12b2b(0x224)],'message':'services\x20must\x20be\x20an\x20array'};const _0x2bc900=_0x4333e2[_0xb12b2b(0x22e)]['map'](summarizeLocalServiceEntry);return{'registryPath':_0x4c3e68,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x4333e2[_0xb12b2b(0x224)],'serviceCount':_0x2bc900[_0xb12b2b(0x1ff)],'commandCount':_0x2bc900[_0xb12b2b(0x212)]((_0x39137f,_0x2f464c)=>_0x39137f+_0x2f464c[_0xb12b2b(0x21e)],0x0),'services':_0x2bc900};}catch(_0x3e7f3f){return{...emptyServiceRegistryInspection(_0x4c3e68,'invalid',!![]),'message':_0x3e7f3f instanceof Error?_0x3e7f3f[_0xb12b2b(0x1f3)]:String(_0x3e7f3f)};}}export function formatValidationFailure(_0x5800a8){const _0x57ce66=a42_0x5a7e90,_0x21803a=_0x5800a8[_0x57ce66(0x21c)][_0x57ce66(0x213)](_0x56804c=>_0x56804c[_0x57ce66(0x232)]+':\x20'+_0x56804c[_0x57ce66(0x1f3)]);return'Service\x20manifest\x20validation\x20failed:\x0a'+_0x21803a[_0x57ce66(0x1fb)]('\x0a');}function extractLoadedServiceManifests(_0x40c5c7,_0x4f6dae){const _0x48fca7=a42_0x5a7e90;if(!isServiceRegistryLike(_0x40c5c7)){const _0xf7f013=_0x40c5c7,{manifest:_0x5e2dc5,errors:_0x44a223}=adaptServiceTreeManifestForLegacyFramework(_0xf7f013),_0x5b3ba0=validateServiceTreeManifest(_0x5e2dc5),_0x4efdb5=mergeValidationErrors(_0x5b3ba0,_0x44a223);return[{'manifest':_0xf7f013,'report':_0x4efdb5,'normalizedManifest':_0x4efdb5['ok']?normalizeServiceTreeManifest(_0x5e2dc5):undefined,'sourceHash':_0x4f6dae}];}return _0x40c5c7['services'][_0x48fca7(0x213)]((_0x121940,_0x31620f)=>{const _0x23f837=_0x48fca7,_0x1b3e0c=isObjectRecord(_0x121940)?_0x121940['manifest']:undefined,{manifest:_0x5943d6,errors:_0x4b21d2}=adaptServiceTreeManifestForLegacyFramework(_0x1b3e0c),_0xa07419=validateServiceTreeManifest(_0x5943d6),_0x1078f3=mergeValidationErrors(_0xa07419,_0x4b21d2),_0xfd5f17=isObjectRecord(_0x121940)&&typeof _0x121940[_0x23f837(0x206)]==='string'?_0x121940[_0x23f837(0x206)]:undefined;return{'manifest':_0x1b3e0c,'report':_0x1078f3,'normalizedManifest':_0x1078f3['ok']?normalizeServiceTreeManifest(_0x5943d6):undefined,'sourceHash':sha256(JSON[_0x23f837(0x23a)](_0x1b3e0c,null,0x2)+'\x0a'),'registryIndex':_0x31620f,'registryServiceCode':_0xfd5f17};});}function mergeValidationErrors(_0x1741b5,_0x1a4e15){const _0x2f8b33=a42_0x5a7e90,_0x3aab65=_0x1741b5[_0x2f8b33(0x21c)][_0x2f8b33(0x213)](_0xe15f4a=>_0xe15f4a['message']==='bff\x20target\x20requires\x20bffCode,\x20bffId,\x20or\x20scriptName.'?{..._0xe15f4a,'message':'bff\x20target\x20requires\x20functionName.'}:_0xe15f4a),_0x4f2488=[..._0x1a4e15,..._0x3aab65];return{'ok':_0x4f2488[_0x2f8b33(0x1ff)]===0x0,'errors':_0x4f2488,'warnings':_0x1741b5[_0x2f8b33(0x229)]};}function aggregateValidationReports(_0x1fcf76){const _0x1dda09=a42_0x5a7e90,_0x3778d5=_0x1fcf76[_0x1dda09(0x210)](_0x14077f=>_0x14077f[_0x1dda09(0x1ef)]===undefined?_0x14077f[_0x1dda09(0x1fd)][_0x1dda09(0x21c)]:_0x14077f[_0x1dda09(0x1fd)][_0x1dda09(0x21c)][_0x1dda09(0x213)](_0x35b2a1=>({..._0x35b2a1,'path':prefixRegistryIssuePath(_0x14077f[_0x1dda09(0x1ef)],_0x35b2a1[_0x1dda09(0x232)])}))),_0x2785b4=_0x1fcf76[_0x1dda09(0x210)](_0x1e0327=>_0x1e0327[_0x1dda09(0x1ef)]===undefined?_0x1e0327[_0x1dda09(0x1fd)][_0x1dda09(0x229)]:_0x1e0327[_0x1dda09(0x1fd)]['warnings'][_0x1dda09(0x213)](_0x2613ea=>({..._0x2613ea,'path':prefixRegistryIssuePath(_0x1e0327[_0x1dda09(0x1ef)],_0x2613ea[_0x1dda09(0x232)])})));return{'ok':_0x3778d5[_0x1dda09(0x1ff)]===0x0,'errors':_0x3778d5,'warnings':_0x2785b4};}function prefixRegistryIssuePath(_0x4c1751,_0x3d48ee){const _0x1f984f=a42_0x5a7e90;if(_0x3d48ee==='$')return'$.services['+_0x4c1751+_0x1f984f(0x201);if(_0x3d48ee['startsWith']('$.'))return _0x1f984f(0x219)+_0x4c1751+_0x1f984f(0x201)+_0x3d48ee[_0x1f984f(0x202)](0x1);if(_0x3d48ee[_0x1f984f(0x218)]('$['))return _0x1f984f(0x219)+_0x4c1751+_0x1f984f(0x201)+_0x3d48ee['slice'](0x1);return'$.services['+_0x4c1751+_0x1f984f(0x22c)+_0x3d48ee;}function isServiceRegistryLike(_0x1481de){const _0x34cb47=a42_0x5a7e90;return isObjectRecord(_0x1481de)&&_0x1481de[_0x34cb47(0x20c)]===SERVICE_REGISTRY_SCHEMA_VERSION&&Array[_0x34cb47(0x22b)](_0x1481de['services']);}function isObjectRecord(_0x290aef){const _0x491fdd=a42_0x5a7e90;return Boolean(_0x290aef)&&typeof _0x290aef===_0x491fdd(0x237)&&!Array['isArray'](_0x290aef);}function emptyServiceRegistryInspection(_0x3e96cc,_0x78e200,_0x12edf6){return{'registryPath':_0x3e96cc,'exists':_0x12edf6,'status':_0x78e200,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x619d9c){const _0x20f29e=a42_0x5a7e90,_0x4c116d=_0x619d9c[_0x20f29e(0x211)],_0x14696a=_0x4c116d[_0x20f29e(0x205)][_0x20f29e(0x213)](_0x49e2aa=>({'path':_0x49e2aa['cliPath'],'description':_0x49e2aa[_0x20f29e(0x223)],'risk':_0x49e2aa[_0x20f29e(0x21d)],'targetKind':_0x49e2aa[_0x20f29e(0x22a)]['kind'],'targetCommand':_0x49e2aa[_0x20f29e(0x22a)][_0x20f29e(0x208)]}));return{'serviceCode':_0x619d9c[_0x20f29e(0x206)],'name':_0x4c116d[_0x20f29e(0x239)]['name'],'description':_0x4c116d['service'][_0x20f29e(0x223)],'version':_0x619d9c['version'],'importedAt':_0x619d9c['importedAt'],'source':_0x619d9c[_0x20f29e(0x23c)],'commandCount':_0x14696a[_0x20f29e(0x1ff)],'commands':_0x14696a};}function sha256(_0x572ecb){const _0x46183c=a42_0x5a7e90;return createHash(_0x46183c(0x234))[_0x46183c(0x226)](_0x572ecb)[_0x46183c(0x1fe)](_0x46183c(0x236));}
|
|
1
|
+
const a42_0x57cbc2=a42_0x54c1;(function(_0x4aa54d,_0x1ed5b5){const _0x4bf0de=a42_0x54c1,_0x2c7cd7=_0x4aa54d();while(!![]){try{const _0x18e89e=parseInt(_0x4bf0de(0xc7))/0x1+-parseInt(_0x4bf0de(0xf6))/0x2*(-parseInt(_0x4bf0de(0xf7))/0x3)+-parseInt(_0x4bf0de(0xf3))/0x4+-parseInt(_0x4bf0de(0x107))/0x5*(parseInt(_0x4bf0de(0xdb))/0x6)+-parseInt(_0x4bf0de(0xff))/0x7+-parseInt(_0x4bf0de(0x114))/0x8+parseInt(_0x4bf0de(0xc5))/0x9;if(_0x18e89e===_0x1ed5b5)break;else _0x2c7cd7['push'](_0x2c7cd7['shift']());}catch(_0x385256){_0x2c7cd7['push'](_0x2c7cd7['shift']());}}}(a42_0x2742,0x3b82d));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';import{adaptServiceTreeManifestForLegacyFramework}from'../../commands/service/function-name-adapter.js';export const SERVICE_REGISTRY_SCHEMA_VERSION=0x1;export const SERVICE_REGISTRY_FILE_NAME=a42_0x57cbc2(0xc9);export function getServiceRegistryPath(_0x4c04c3={}){const _0x5493e4=a42_0x57cbc2;return resolve(_0x4c04c3[_0x5493e4(0x118)]??homedir(),PRODUCT_CONFIG[_0x5493e4(0xfb)],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x173c02={}){const _0x1b0878=a42_0x57cbc2,_0xd2d2ce=getServiceRegistryPath(_0x173c02);if(!existsSync(_0xd2d2ce))return emptyServiceRegistry();try{const _0x47ab61=readFileSync(_0xd2d2ce,_0x1b0878(0xc4));if(!_0x47ab61['trim']())return emptyServiceRegistry();const _0x4e95e2=JSON['parse'](_0x47ab61);if(_0x4e95e2[_0x1b0878(0xf8)]!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors['validation'](_0x1b0878(0xcf)+String(_0x4e95e2[_0x1b0878(0xf8)]),_0x1b0878(0xc8)+_0xd2d2ce+'.');if(!Array['isArray'](_0x4e95e2['services']))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x4e95e2[_0x1b0878(0x10f)],'services':_0x4e95e2[_0x1b0878(0x116)]};}catch(_0x26e9be){if(_0x26e9be instanceof Error&&_0x26e9be[_0x1b0878(0xd3)]===_0x1b0878(0x10a))throw _0x26e9be;throw CliErrors[_0x1b0878(0x10c)]('Invalid\x20service\x20registry\x20JSON:\x20'+_0xd2d2ce,_0x1b0878(0xec));}}export function writeServiceRegistry(_0x19f539,_0x3b35ee={}){const _0xfa9ff4=a42_0x57cbc2,_0x1176a2=getServiceRegistryPath(_0x3b35ee),_0x5b92bd=dirname(_0x1176a2);!existsSync(_0x5b92bd)&&mkdirSync(_0x5b92bd,{'recursive':!![]});const _0x1cf8f9=_0x1176a2+_0xfa9ff4(0xfd);try{writeFileSync(_0x1cf8f9,JSON[_0xfa9ff4(0xd6)](_0x19f539,null,0x2)+'\x0a',{'encoding':_0xfa9ff4(0xc4),'mode':0x180}),renameSync(_0x1cf8f9,_0x1176a2);}catch(_0x41ff1e){try{unlinkSync(_0x1cf8f9);}catch{}if(_0x41ff1e?.[_0xfa9ff4(0x108)]===_0xfa9ff4(0xdc))throw CliErrors[_0xfa9ff4(0x10c)](_0xfa9ff4(0xed)+_0x1176a2);throw _0x41ff1e;}return _0x1176a2;}export function loadServiceManifestFromFile(_0xd0c4c){const _0x408bed=a42_0x57cbc2,_0x574fac=resolve(_0xd0c4c);if(!existsSync(_0x574fac))throw CliErrors['validation'](_0x408bed(0x109)+_0xd0c4c);let _0x30b98f;const _0x1ff348=readFileSync(_0x574fac,_0x408bed(0xc4));try{_0x30b98f=JSON[_0x408bed(0xfa)](_0x1ff348);}catch{throw CliErrors[_0x408bed(0x10c)](_0x408bed(0x111)+_0xd0c4c,_0x408bed(0xd9));}const _0xbb9f06=sha256(_0x1ff348),_0x2db092=extractLoadedServiceManifests(_0x30b98f,_0xbb9f06),_0x5a5096=aggregateValidationReports(_0x2db092),_0xeb224e=_0x2db092[0x0];return{'filePath':_0x574fac,'hash':_0xbb9f06,'kind':isServiceRegistryLike(_0x30b98f)?'registry':_0x408bed(0xca),'manifest':_0xeb224e?.['manifest']??_0x30b98f,'report':_0x5a5096,'normalizedManifest':_0x2db092[_0x408bed(0x101)]===0x1?_0xeb224e?.['normalizedManifest']:undefined,'manifests':_0x2db092};}function a42_0x2742(){const _0x9668f=['isArray','updatedAt','map','Invalid\x20service\x20manifest\x20JSON:\x20','].manifest.','push','2184312YGPOvc','command','services','source','homeDir','cliPath','utf8','7081965gZVmlD','path','205250dJVzfZ','Remove\x20or\x20migrate\x20','service.json','manifest','kind','empty','update','serviceCode','Unsupported\x20service\x20registry\x20schemaVersion:\x20','sha256','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','missing','name','sort','normalizedManifest','stringify','$.services[','toISOString','Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.','now','2670gAdjKN','ENOENT','warnings','localeCompare','slice','report','trim','bff\x20target\x20requires\x20bffCode,\x20bffId,\x20or\x20scriptName.','reduce','risk','version','findIndex','description','manifests','splice','startsWith','hex','Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.','Cannot\x20write\x20service\x20registry:\x20','registryIndex','file','target','importedAt','message','1520332LxuzAZ','commandCount','string','79278ccNjLz','3RGwCiP','schemaVersion','service','parse','homeDirName','bff\x20target\x20requires\x20functionName.','.tmp','flatMap','355530DPafQd','].manifest','length','find','filePath','errors','commands','Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.','945CAwLmy','code','Service\x20manifest\x20file\x20not\x20found:\x20','CliError','Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.','validation','invalid'];a42_0x2742=function(){return _0x9668f;};return a42_0x2742();}export function importServiceManifest(_0x550270,_0x11957b={}){const _0x39dbc9=a42_0x57cbc2,_0x5995d6=loadServiceManifestFromFile(_0x550270);if(!_0x5995d6[_0x39dbc9(0xe0)]['ok'])throw CliErrors[_0x39dbc9(0x10c)](formatValidationFailure(_0x5995d6[_0x39dbc9(0xe0)]),_0x39dbc9(0x10b));if(_0x5995d6[_0x39dbc9(0xe8)][_0x39dbc9(0x101)]===0x0)throw CliErrors[_0x39dbc9(0x10c)]('Service\x20registry\x20has\x20no\x20services\x20to\x20import.',_0x39dbc9(0x106));const _0x122192=readServiceRegistry(_0x11957b),_0x3e0926=(_0x11957b[_0x39dbc9(0xda)]??(()=>new Date()))()[_0x39dbc9(0xd8)](),_0x527a1e=[];let _0x5f3d97=0x0,_0x3d7a82=0x0;for(const _0x24b8cc of _0x5995d6[_0x39dbc9(0xe8)]){if(!_0x24b8cc[_0x39dbc9(0xd5)])continue;const _0x4f0aa5=_0x24b8cc[_0x39dbc9(0xd5)]['service']['code'],_0x2135f1={'serviceCode':_0x4f0aa5,'version':_0x24b8cc[_0x39dbc9(0xd5)][_0x39dbc9(0xe5)],'importedAt':_0x3e0926,'source':{'type':_0x39dbc9(0xef),'path':_0x5995d6[_0x39dbc9(0x103)],'hash':_0x24b8cc['sourceHash']},'manifest':_0x24b8cc['manifest'],'normalizedManifest':_0x24b8cc[_0x39dbc9(0xd5)]},_0x1fbbca=_0x122192[_0x39dbc9(0x116)]['findIndex'](_0x4a6f92=>_0x4a6f92['serviceCode']===_0x4f0aa5);_0x1fbbca>=0x0?(_0x122192[_0x39dbc9(0x116)][_0x1fbbca]=_0x2135f1,_0x3d7a82++):(_0x122192[_0x39dbc9(0x116)][_0x39dbc9(0x113)](_0x2135f1),_0x5f3d97++),_0x527a1e[_0x39dbc9(0x113)](_0x2135f1);}_0x122192['services'][_0x39dbc9(0xd4)]((_0x2713bd,_0x46bc39)=>_0x2713bd[_0x39dbc9(0xce)][_0x39dbc9(0xde)](_0x46bc39['serviceCode'])),_0x122192['updatedAt']=_0x3e0926;const _0x5ea604=writeServiceRegistry(_0x122192,_0x11957b);return{'registryPath':_0x5ea604,'entry':_0x527a1e[0x0],'replaced':_0x527a1e[_0x39dbc9(0x101)]===0x1?_0x3d7a82===0x1:_0x3d7a82>0x0,'entries':_0x527a1e,'imported':_0x5f3d97,'updated':_0x3d7a82,'serviceCount':_0x122192[_0x39dbc9(0x116)][_0x39dbc9(0x101)]};}export function exportServiceManifest(_0x52273d,_0xf406b7,_0x2ad2c4={}){const _0x56eda6=a42_0x57cbc2,_0x1713f2=getServiceRegistryPath(_0x2ad2c4),_0x24d72f=getLocalServiceEntry(_0x52273d,_0x2ad2c4);if(!_0x24d72f)throw CliErrors[_0x56eda6(0x10c)]('Local\x20service\x20not\x20found:\x20'+_0x52273d,_0x56eda6(0xd1));const _0x49d721=resolve(_0xf406b7),_0xba7212=dirname(_0x49d721);return!existsSync(_0xba7212)&&mkdirSync(_0xba7212,{'recursive':!![]}),writeFileSync(_0x49d721,JSON[_0x56eda6(0xd6)](_0x24d72f[_0x56eda6(0xca)],null,0x2)+'\x0a',{'encoding':_0x56eda6(0xc4),'mode':0x180}),{'registryPath':_0x1713f2,'filePath':_0x49d721,'entry':_0x24d72f};}export function removeServiceManifest(_0x22eac0,_0x54f596={}){const _0x3b30c9=a42_0x57cbc2,_0x2b8699=readServiceRegistry(_0x54f596),_0x1dd989=_0x22eac0['trim'](),_0x1955af=_0x2b8699['services'][_0x3b30c9(0xe6)](_0x2dc0c6=>_0x2dc0c6[_0x3b30c9(0xce)]===_0x1dd989);if(_0x1955af<0x0)throw CliErrors[_0x3b30c9(0x10c)]('Local\x20service\x20not\x20found:\x20'+_0x1dd989,_0x3b30c9(0xd1));const [_0x1136b9]=_0x2b8699[_0x3b30c9(0x116)][_0x3b30c9(0xe9)](_0x1955af,0x1),_0x5b749d=(_0x54f596['now']??(()=>new Date()))()[_0x3b30c9(0xd8)]();_0x2b8699[_0x3b30c9(0x10f)]=_0x5b749d;const _0x31c502=writeServiceRegistry(_0x2b8699,_0x54f596);return{'registryPath':_0x31c502,'entry':_0x1136b9,'serviceCount':_0x2b8699['services']['length']};}export function listLocalServices(_0x105b17={}){const _0x41ede0=a42_0x57cbc2;return readServiceRegistry(_0x105b17)[_0x41ede0(0x116)];}export function getLocalServiceEntry(_0x550945,_0x391ef0={}){const _0x39276e=a42_0x57cbc2;return readServiceRegistry(_0x391ef0)[_0x39276e(0x116)][_0x39276e(0x102)](_0x1785df=>_0x1785df[_0x39276e(0xce)]===_0x550945['trim']());}export function listLocalServiceTrees(_0xd59110={}){const _0x5b81ff=a42_0x57cbc2;return readServiceRegistry(_0xd59110)[_0x5b81ff(0x116)][_0x5b81ff(0x110)](_0x1e0a09=>_0x1e0a09[_0x5b81ff(0xd5)]);}export function inspectServiceRegistry(_0x70fe45={}){const _0x215969=a42_0x57cbc2,_0xe22093=getServiceRegistryPath(_0x70fe45);if(!existsSync(_0xe22093))return emptyServiceRegistryInspection(_0xe22093,_0x215969(0xd2),![]);try{const _0x5d0f10=readFileSync(_0xe22093,_0x215969(0xc4));if(!_0x5d0f10[_0x215969(0xe1)]())return emptyServiceRegistryInspection(_0xe22093,_0x215969(0xcc),!![]);const _0x312fc6=JSON['parse'](_0x5d0f10);if(_0x312fc6['schemaVersion']!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0xe22093,_0x215969(0x10d),!![]),'schemaVersion':_0x312fc6[_0x215969(0xf8)],'message':'Unsupported\x20schemaVersion:\x20'+String(_0x312fc6[_0x215969(0xf8)])};if(!Array['isArray'](_0x312fc6[_0x215969(0x116)]))return{...emptyServiceRegistryInspection(_0xe22093,_0x215969(0x10d),!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x312fc6[_0x215969(0x10f)],'message':'services\x20must\x20be\x20an\x20array'};const _0x118be7=_0x312fc6['services'][_0x215969(0x110)](summarizeLocalServiceEntry);return{'registryPath':_0xe22093,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x312fc6[_0x215969(0x10f)],'serviceCount':_0x118be7[_0x215969(0x101)],'commandCount':_0x118be7[_0x215969(0xe3)]((_0x17b6b7,_0x43af08)=>_0x17b6b7+_0x43af08[_0x215969(0xf4)],0x0),'services':_0x118be7};}catch(_0x3cde17){return{...emptyServiceRegistryInspection(_0xe22093,_0x215969(0x10d),!![]),'message':_0x3cde17 instanceof Error?_0x3cde17[_0x215969(0xf2)]:String(_0x3cde17)};}}export function formatValidationFailure(_0xd1f718){const _0x37986d=a42_0x57cbc2,_0x58ab58=_0xd1f718['errors'][_0x37986d(0x110)](_0x3d4996=>_0x3d4996[_0x37986d(0xc6)]+':\x20'+_0x3d4996[_0x37986d(0xf2)]);return'Service\x20manifest\x20validation\x20failed:\x0a'+_0x58ab58['join']('\x0a');}function extractLoadedServiceManifests(_0x237add,_0x19dde2){const _0x47ff13=a42_0x57cbc2;if(!isServiceRegistryLike(_0x237add)){const _0x3f985a=_0x237add,{manifest:_0xd912ae,errors:_0x5f5bfb}=adaptServiceTreeManifestForLegacyFramework(_0x3f985a),_0x24dbc4=validateServiceTreeManifest(_0xd912ae),_0x3db242=mergeValidationErrors(_0x24dbc4,_0x5f5bfb);return[{'manifest':_0x3f985a,'report':_0x3db242,'normalizedManifest':_0x3db242['ok']?normalizeServiceTreeManifest(_0xd912ae):undefined,'sourceHash':_0x19dde2}];}return _0x237add['services'][_0x47ff13(0x110)]((_0x3885d1,_0x5e9b12)=>{const _0x423472=_0x47ff13,_0x429648=isObjectRecord(_0x3885d1)?_0x3885d1[_0x423472(0xca)]:undefined,{manifest:_0x2428d3,errors:_0x1543ea}=adaptServiceTreeManifestForLegacyFramework(_0x429648),_0x561c8c=validateServiceTreeManifest(_0x2428d3),_0x20c28b=mergeValidationErrors(_0x561c8c,_0x1543ea),_0x13acbd=isObjectRecord(_0x3885d1)&&typeof _0x3885d1[_0x423472(0xce)]===_0x423472(0xf5)?_0x3885d1[_0x423472(0xce)]:undefined;return{'manifest':_0x429648,'report':_0x20c28b,'normalizedManifest':_0x20c28b['ok']?normalizeServiceTreeManifest(_0x2428d3):undefined,'sourceHash':sha256(JSON[_0x423472(0xd6)](_0x429648,null,0x2)+'\x0a'),'registryIndex':_0x5e9b12,'registryServiceCode':_0x13acbd};});}function a42_0x54c1(_0x389ff9,_0xc887f5){_0x389ff9=_0x389ff9-0xc4;const _0x2742b9=a42_0x2742();let _0x54c1d3=_0x2742b9[_0x389ff9];return _0x54c1d3;}function mergeValidationErrors(_0x2ecfea,_0x3b23c6){const _0x798509=a42_0x57cbc2,_0x37a783=_0x2ecfea[_0x798509(0x104)][_0x798509(0x110)](_0x254de9=>_0x254de9['message']===_0x798509(0xe2)?{..._0x254de9,'message':_0x798509(0xfc)}:_0x254de9),_0x5f1256=[..._0x3b23c6,..._0x37a783];return{'ok':_0x5f1256[_0x798509(0x101)]===0x0,'errors':_0x5f1256,'warnings':_0x2ecfea['warnings']};}function aggregateValidationReports(_0x3fa597){const _0x2362ad=a42_0x57cbc2,_0x2c13bc=_0x3fa597[_0x2362ad(0xfe)](_0x2dfbae=>_0x2dfbae[_0x2362ad(0xee)]===undefined?_0x2dfbae[_0x2362ad(0xe0)][_0x2362ad(0x104)]:_0x2dfbae[_0x2362ad(0xe0)][_0x2362ad(0x104)][_0x2362ad(0x110)](_0xad74c4=>({..._0xad74c4,'path':prefixRegistryIssuePath(_0x2dfbae[_0x2362ad(0xee)],_0xad74c4[_0x2362ad(0xc6)])}))),_0x331c40=_0x3fa597[_0x2362ad(0xfe)](_0x3b6a93=>_0x3b6a93['registryIndex']===undefined?_0x3b6a93[_0x2362ad(0xe0)][_0x2362ad(0xdd)]:_0x3b6a93[_0x2362ad(0xe0)][_0x2362ad(0xdd)][_0x2362ad(0x110)](_0x58815e=>({..._0x58815e,'path':prefixRegistryIssuePath(_0x3b6a93[_0x2362ad(0xee)],_0x58815e[_0x2362ad(0xc6)])})));return{'ok':_0x2c13bc[_0x2362ad(0x101)]===0x0,'errors':_0x2c13bc,'warnings':_0x331c40};}function prefixRegistryIssuePath(_0x230b77,_0x4e90a4){const _0x160aa6=a42_0x57cbc2;if(_0x4e90a4==='$')return'$.services['+_0x230b77+_0x160aa6(0x100);if(_0x4e90a4['startsWith']('$.'))return _0x160aa6(0xd7)+_0x230b77+_0x160aa6(0x100)+_0x4e90a4[_0x160aa6(0xdf)](0x1);if(_0x4e90a4[_0x160aa6(0xea)]('$['))return _0x160aa6(0xd7)+_0x230b77+_0x160aa6(0x100)+_0x4e90a4[_0x160aa6(0xdf)](0x1);return _0x160aa6(0xd7)+_0x230b77+_0x160aa6(0x112)+_0x4e90a4;}function isServiceRegistryLike(_0x135606){const _0x2c45ec=a42_0x57cbc2;return isObjectRecord(_0x135606)&&_0x135606[_0x2c45ec(0xf8)]===SERVICE_REGISTRY_SCHEMA_VERSION&&Array[_0x2c45ec(0x10e)](_0x135606[_0x2c45ec(0x116)]);}function isObjectRecord(_0x2f32b9){const _0x3eb752=a42_0x57cbc2;return Boolean(_0x2f32b9)&&typeof _0x2f32b9==='object'&&!Array[_0x3eb752(0x10e)](_0x2f32b9);}function emptyServiceRegistryInspection(_0x2cb9f8,_0x27f54e,_0x400ec2){return{'registryPath':_0x2cb9f8,'exists':_0x400ec2,'status':_0x27f54e,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x48dbf4){const _0x4bb85e=a42_0x57cbc2,_0x1438e3=_0x48dbf4[_0x4bb85e(0xd5)],_0x5cb301=_0x1438e3[_0x4bb85e(0x105)][_0x4bb85e(0x110)](_0x22ecf5=>({'path':_0x22ecf5[_0x4bb85e(0x119)],'description':_0x22ecf5[_0x4bb85e(0xe7)],'risk':_0x22ecf5[_0x4bb85e(0xe4)],'targetKind':_0x22ecf5[_0x4bb85e(0xf0)][_0x4bb85e(0xcb)],'targetCommand':_0x22ecf5[_0x4bb85e(0xf0)][_0x4bb85e(0x115)]}));return{'serviceCode':_0x48dbf4['serviceCode'],'name':_0x1438e3[_0x4bb85e(0xf9)][_0x4bb85e(0xd3)],'description':_0x1438e3[_0x4bb85e(0xf9)][_0x4bb85e(0xe7)],'version':_0x48dbf4[_0x4bb85e(0xe5)],'importedAt':_0x48dbf4[_0x4bb85e(0xf1)],'source':_0x48dbf4[_0x4bb85e(0x117)],'commandCount':_0x5cb301[_0x4bb85e(0x101)],'commands':_0x5cb301};}function sha256(_0x12b8f9){const _0xffb08f=a42_0x57cbc2;return createHash(_0xffb08f(0xd0))[_0xffb08f(0xcd)](_0x12b8f9)['digest'](_0xffb08f(0xeb));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a43_0x4a7af3=a43_0x513f;(function(_0x4fc7a3,_0x5a54aa){const _0x2a82f0=a43_0x513f,_0x330a0a=_0x4fc7a3();while(!![]){try{const _0x2c789a=parseInt(_0x2a82f0(0x164))/0x1+-parseInt(_0x2a82f0(0x143))/0x2*(parseInt(_0x2a82f0(0x151))/0x3)+parseInt(_0x2a82f0(0x14e))/0x4+-parseInt(_0x2a82f0(0x14d))/0x5*(-parseInt(_0x2a82f0(0x146))/0x6)+-parseInt(_0x2a82f0(0x15b))/0x7*(parseInt(_0x2a82f0(0x15e))/0x8)+-parseInt(_0x2a82f0(0x144))/0x9*(-parseInt(_0x2a82f0(0x161))/0xa)+-parseInt(_0x2a82f0(0x14a))/0xb*(-parseInt(_0x2a82f0(0x15c))/0xc);if(_0x2c789a===_0x5a54aa)break;else _0x330a0a['push'](_0x330a0a['shift']());}catch(_0x34df77){_0x330a0a['push'](_0x330a0a['shift']());}}}(a43_0x3094,0x4e08d));import{existsSync,lstatSync,mkdirSync,writeFileSync}from'node:fs';import{dirname,resolve}from'node:path';import{CliErrors}from'../../../errors.js';import{writeCliSideChannelLine}from'../../../utils/write-cli-side-channel.js';function a43_0x3094(){const _0x5782db=['isDirectory','utf8','name','Pass\x20--force\x20to\x20overwrite\x20generated\x20template\x20files.','skillName','type','56ntdIgd','12nsIVVS','bool','423184ZtTMDx','Create\x20a\x20local\x20runtime\x20Skill\x20draft\x20without\x20uploading\x20or\x20publishing\x20it.','skillDir','250340BdCdzS','map','Omitting\x20--type\x20is\x20deprecated;\x20defaulting\x20to\x20write\x20for\x20compatibility.\x20Pass\x20--type\x20read\x20or\x20--type\x20write\x20explicitly.','170881zURmAc','rendered','force','Created\x20local\x20Skill\x20draft\x20','18718SBabZQ','72yVEDiA','validation','12alQSQm','str','content','Create\x20a\x20local\x20self-contained\x20runtime\x20Skill\x20draft','1331902oofyaR','target','files','472155UOlXZn','1182764PdtPHm','write','isSymbolicLink','75QUreYr','Refusing\x20to\x20overwrite\x20symlink:\x20','trim','path'];a43_0x3094=function(){return _0x5782db;};return a43_0x3094();}import{CREATE_NAME_FLAG,FORCE_FLAG,TARGET_FLAG,TYPE_FLAG}from'../flags.js';import{DEFAULT_SKILL_TARGET,renderSkillTemplate}from'../templates.js';function a43_0x513f(_0x558dd6,_0x42d759){_0x558dd6=_0x558dd6-0x143;const _0x309400=a43_0x3094();let _0x513fa6=_0x309400[_0x558dd6];return _0x513fa6;}export const createCommand={'service':'skill','command':'create','description':a43_0x4a7af3(0x149),'risk':a43_0x4a7af3(0x14f),'requiresAuth':![],'requiresAppCode':![],'flags':[CREATE_NAME_FLAG,TYPE_FLAG,TARGET_FLAG,FORCE_FLAG],async 'dryRun'(_0x535886){const _0x269a11=a43_0x4a7af3,_0x17d1c8=buildSkillCreatePlan(_0x535886[_0x269a11(0x147)](_0x269a11(0x157)),_0x535886[_0x269a11(0x147)](_0x269a11(0x15a)),_0x535886[_0x269a11(0x147)](_0x269a11(0x14b)));return{'method':'WRITE','url':_0x17d1c8[_0x269a11(0x160)],'body':{'skillName':_0x17d1c8[_0x269a11(0x165)][_0x269a11(0x159)],'type':_0x17d1c8['rendered']['type'],'selfContained':!![],'files':_0x17d1c8[_0x269a11(0x165)]['files'][_0x269a11(0x162)](_0x4333b9=>_0x4333b9[_0x269a11(0x154)])},'description':_0x269a11(0x15f)};},async 'execute'(_0x10ee0f){const _0x5b6dc1=a43_0x4a7af3,_0x42663d=buildSkillCreatePlan(_0x10ee0f['str'](_0x5b6dc1(0x157)),_0x10ee0f[_0x5b6dc1(0x147)](_0x5b6dc1(0x15a)),_0x10ee0f[_0x5b6dc1(0x147)](_0x5b6dc1(0x14b)));return writeSkillDraft(_0x42663d,_0x10ee0f[_0x5b6dc1(0x15d)](_0x5b6dc1(0x166))),{'ok':!![],'data':{'skillName':_0x42663d[_0x5b6dc1(0x165)][_0x5b6dc1(0x159)],'type':_0x42663d[_0x5b6dc1(0x165)]['type'],'dir':_0x42663d[_0x5b6dc1(0x160)],'files':_0x42663d['rendered'][_0x5b6dc1(0x14c)]['map'](_0x5b9715=>_0x5b9715[_0x5b6dc1(0x154)])},'message':_0x5b6dc1(0x167)+_0x42663d[_0x5b6dc1(0x165)][_0x5b6dc1(0x159)]};}};function buildSkillCreatePlan(_0x33317b,_0x25e551,_0x4dc51b){const _0x113fd4=a43_0x4a7af3,_0x595a47=_0x25e551['trim'](),_0x50895c=renderSkillTemplate({'skillName':_0x33317b,'type':_0x595a47});!_0x595a47&&writeCliSideChannelLine(_0x113fd4(0x163));const _0x148e05=resolve(normalizeSkillTarget(_0x4dc51b));return{'rendered':_0x50895c,'targetRoot':_0x148e05,'skillDir':resolve(_0x148e05,_0x50895c[_0x113fd4(0x159)])};}function normalizeSkillTarget(_0x3b88c8){const _0x4f20bb=a43_0x4a7af3;return(_0x3b88c8||DEFAULT_SKILL_TARGET)[_0x4f20bb(0x153)]()||DEFAULT_SKILL_TARGET;}function writeSkillDraft(_0x3ca204,_0x4bce09){const _0x29c0a0=a43_0x4a7af3;if(existsSync(_0x3ca204[_0x29c0a0(0x160)])){const _0x44ee32=lstatSync(_0x3ca204['skillDir']);if(!_0x44ee32[_0x29c0a0(0x155)]()||_0x44ee32[_0x29c0a0(0x150)]())throw CliErrors[_0x29c0a0(0x145)]('Skill\x20path\x20already\x20exists\x20and\x20is\x20not\x20a\x20writable\x20directory:\x20'+_0x3ca204['skillDir']);if(!_0x4bce09)throw CliErrors[_0x29c0a0(0x145)]('Skill\x20directory\x20already\x20exists:\x20'+_0x3ca204[_0x29c0a0(0x160)],_0x29c0a0(0x158));}for(const _0xb893fa of _0x3ca204['rendered'][_0x29c0a0(0x14c)]){const _0x34c0e3=resolve(_0x3ca204[_0x29c0a0(0x160)],_0xb893fa[_0x29c0a0(0x154)]),_0xcb6e5b=dirname(_0x34c0e3);mkdirSync(_0xcb6e5b,{'recursive':!![]});if(existsSync(_0x34c0e3)&&lstatSync(_0x34c0e3)['isSymbolicLink']())throw CliErrors[_0x29c0a0(0x145)](_0x29c0a0(0x152)+_0x34c0e3);writeFileSync(_0x34c0e3,_0xb893fa[_0x29c0a0(0x148)],_0x29c0a0(0x156));}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a44_0x256df0=a44_0x37e0;(function(_0x459c8c,_0xd2313e){const _0x539288=a44_0x37e0,_0x5920b1=_0x459c8c();while(!![]){try{const _0x3115d1=-parseInt(_0x539288(0xc2))/0x1*(parseInt(_0x539288(0xdc))/0x2)+-parseInt(_0x539288(0xdf))/0x3+-parseInt(_0x539288(0xdd))/0x4+parseInt(_0x539288(0xd4))/0x5*(parseInt(_0x539288(0xc9))/0x6)+-parseInt(_0x539288(0xe7))/0x7+parseInt(_0x539288(0xd9))/0x8+parseInt(_0x539288(0xd8))/0x9;if(_0x3115d1===_0xd2313e)break;else _0x5920b1['push'](_0x5920b1['shift']());}catch(_0x56b1ef){_0x5920b1['push'](_0x5920b1['shift']());}}}(a44_0x2d90,0xc0d7a));import{CliErrors}from'../../../errors.js';function a44_0x2d90(){const _0x48c0e7=['removed','flatMap','Installed\x20','344100xrwNIu','version','all','Business\x20Skill\x20installation\x20requires\x20authentication.\x20Run\x20`lovrabet\x20auth\x20login`,\x20or\x20use\x20`lovrabet\x20cli-skill\x20install`\x20for\x20CLI\x20Built-in\x20Skill\x20setup.','../../../skills/runtime-skill-sync.js','appCode','updated','trim','filter','../../../core/api-client.js','accessKey','30FDFlXK','skipped','created','write','12937599yVNoCK','10468760pMdvGU','\x20personal\x20and\x20','envName','32NSlKYM','2488112lmhslq','skillCode','2964750VwBYIF','map','personal','force','project','length','bool','skillRoots','2012066IiuckG','str','push','reduce','authRequired','unchanged','action','scope','includes','25163OXwzEe','install','company','global'];a44_0x2d90=function(){return _0x48c0e7;};return a44_0x2d90();}import{CODE_FLAG,FORCE_FLAG,PROJECT_TARGET_FLAG,SCOPE_FLAG}from'../flags.js';import{normalizeSyncScopes}from'../scopes.js';import{summarizeRuntimeSkill}from'../summary.js';function a44_0x37e0(_0x1e000f,_0x138227){_0x1e000f=_0x1e000f-0xbc;const _0x2d9022=a44_0x2d90();let _0x37e079=_0x2d9022[_0x1e000f];return _0x37e079;}export const installCommand={'service':'skill','command':a44_0x256df0(0xc3),'description':'Install\x20current-app\x20business\x20Skills\x20into\x20user-level\x20Agent\x20skill\x20directories','risk':a44_0x256df0(0xd7),'requiresAuth':!![],'requiresAppCode':!![],'hasFormat':![],'flags':[CODE_FLAG,SCOPE_FLAG,FORCE_FLAG,PROJECT_TARGET_FLAG],async 'execute'(_0x337cdf){return syncRuntimeSkills(_0x337cdf);}};async function syncRuntimeSkills(_0x4fc56f){const _0x1410af=a44_0x256df0,{downloadRuntimeSkillPackage:_0x59a8b5,listRuntimeSkills:_0x32e0ab}=await import(_0x1410af(0xd2)),{linkEffectiveRuntimeSkills:_0x7af270,materializeRuntimeSkill:_0x3b9131,pruneStaleRuntimeSkillCache:_0x51ba60,pruneStaleRuntimeSkillLinks:_0x2eb3bb,resolveRuntimeSkillInstallTarget:_0x53f6be}=await import(_0x1410af(0xcd)),_0x3bbaa3=_0x4fc56f[_0x1410af(0xe8)]('code'),_0x5b2a12=normalizeSyncScopes(_0x4fc56f[_0x1410af(0xe8)](_0x1410af(0xc0))),_0x3653e=_0x4fc56f[_0x1410af(0xdb)]??'production',_0x5bf3cc=_0x4fc56f[_0x1410af(0xd3)],_0x52d0fa=_0x4fc56f[_0x1410af(0xe5)](_0x1410af(0xe2));if(!_0x5bf3cc)throw CliErrors[_0x1410af(0xbd)](_0x1410af(0xcc));const _0xa59123=_0x53f6be(_0x4fc56f[_0x1410af(0xce)],_0x4fc56f['bool']('project')?_0x1410af(0xe3):'global'),_0xb9b18e=_0x53f6be(_0x4fc56f[_0x1410af(0xce)],_0xa59123['scope']===_0x1410af(0xe3)?_0x1410af(0xc5):_0x1410af(0xe3)),_0x75fe49=await Promise[_0x1410af(0xcb)](_0x5b2a12[_0x1410af(0xe0)](_0x52c13a=>_0x32e0ab({'appCode':_0x4fc56f['appCode'],'scope':_0x52c13a,'code':_0x3bbaa3['trim']()||undefined}))),_0x1009e0=_0x5b2a12['includes'](_0x1410af(0xe1))?_0x75fe49[_0x1410af(0xc7)]((_0x6ed801,_0x201852)=>_0x5b2a12[_0x201852]===_0x1410af(0xe1)?_0x6ed801[_0x1410af(0xe1)]:[]):[],_0x9d2b87=_0x5b2a12[_0x1410af(0xc1)](_0x1410af(0xc4))?_0x75fe49[_0x1410af(0xc7)]((_0x2b9933,_0x444a54)=>_0x5b2a12[_0x444a54]===_0x1410af(0xc4)?_0x2b9933[_0x1410af(0xc4)]:[]):[],_0x591746=new Set([..._0x1009e0[_0x1410af(0xe0)](_0x345e75=>_0x345e75[_0x1410af(0xde)]?.[_0x1410af(0xd0)]())['filter'](_0x31e452=>Boolean(_0x31e452)),..._0x9d2b87[_0x1410af(0xe0)](_0x115d97=>_0x115d97[_0x1410af(0xde)]?.[_0x1410af(0xd0)]())[_0x1410af(0xd1)](_0x5198a2=>Boolean(_0x5198a2))]),_0x5aa20e=_0x3bbaa3['trim']()?[_0x3bbaa3[_0x1410af(0xd0)]()]:undefined,_0x22adda=_0x5b2a12[_0x1410af(0xe4)]===0x2&&_0x5b2a12[_0x1410af(0xc1)](_0x1410af(0xe1))&&_0x5b2a12[_0x1410af(0xc1)](_0x1410af(0xc4)),_0x1ad4a0=_0x22adda?_0x2eb3bb(_0xa59123,_0x591746,_0x5aa20e):[],_0x421e95=_0x51ba60({'env':_0x3653e,'accessKey':_0x5bf3cc,'appCode':_0x4fc56f[_0x1410af(0xce)],'activeSkillCodes':_0x591746,'pruneSkillCodes':_0x5aa20e,'scopes':_0x5b2a12,'protectedLinkRoots':_0xb9b18e['skillRoots']}),_0xe56e18=[];for(const _0x34f225 of _0x1009e0){_0xe56e18['push'](_0x3b9131(_0x34f225,_0x1410af(0xe1),{'env':_0x3653e,'accessKey':_0x5bf3cc,'appCode':_0x4fc56f[_0x1410af(0xce)],'force':_0x52d0fa,'packageBytes':await downloadSkillPackage(_0x34f225,_0x1410af(0xe1),_0x4fc56f[_0x1410af(0xce)],_0x59a8b5)}));}for(const _0x1f5495 of _0x9d2b87){_0xe56e18[_0x1410af(0xe9)](_0x3b9131(_0x1f5495,_0x1410af(0xc4),{'env':_0x3653e,'accessKey':_0x5bf3cc,'appCode':_0x4fc56f[_0x1410af(0xce)],'force':_0x52d0fa,'packageBytes':await downloadSkillPackage(_0x1f5495,_0x1410af(0xc4),_0x4fc56f[_0x1410af(0xce)],_0x59a8b5)}));}const _0x41cd74=_0x7af270(_0xe56e18,_0xa59123),_0x375c11=countLinkActions(_0x41cd74);return{'ok':!![],'data':{'appCode':_0x4fc56f[_0x1410af(0xce)],..._0xa59123[_0x1410af(0xc0)]===_0x1410af(0xe3)?{'installTarget':{'scope':_0xa59123[_0x1410af(0xc0)],'skillRoots':[..._0xa59123[_0x1410af(0xe6)]]}}:{},'personal':_0x1009e0['length'],'company':_0x9d2b87[_0x1410af(0xe4)],'materialized':_0xe56e18['length'],'links':{'total':_0x41cd74[_0x1410af(0xe4)],'created':_0x375c11[_0x1410af(0xd6)]??0x0,'updated':_0x375c11[_0x1410af(0xcf)]??0x0,'unchanged':_0x375c11[_0x1410af(0xbe)]??0x0,'skipped':0x0,'conflicted':0x0},'pruned':{'links':_0x1ad4a0[_0x1410af(0xd1)](_0x2f4c20=>_0x2f4c20[_0x1410af(0xbf)]===_0x1410af(0xc6))[_0x1410af(0xe4)],'cacheDirs':_0x421e95[_0x1410af(0xd1)](_0x3b29d4=>_0x3b29d4['action']===_0x1410af(0xc6))[_0x1410af(0xe4)],'skipped':[..._0x1ad4a0,..._0x421e95][_0x1410af(0xd1)](_0xb026d=>_0xb026d[_0x1410af(0xbf)]===_0x1410af(0xd5))[_0x1410af(0xe4)]},'skills':{'personal':_0x1009e0[_0x1410af(0xe0)](summarizeRuntimeSkill),'company':_0x9d2b87[_0x1410af(0xe0)](summarizeRuntimeSkill)}},'message':_0x1410af(0xc8)+_0x1009e0[_0x1410af(0xe4)]+_0x1410af(0xda)+_0x9d2b87['length']+'\x20company\x20Skill(s).'};}async function downloadSkillPackage(_0x43eabd,_0x4ae89d,_0x4b2e93,_0xb28958){const _0x5d46d6=a44_0x256df0,_0x4a4852=_0x43eabd[_0x5d46d6(0xca)]?.[_0x5d46d6(0xd0)]();return _0x4a4852?_0xb28958(_0x4ae89d,_0x43eabd['skillCode'],_0x4b2e93,_0x4a4852):_0xb28958(_0x4ae89d,_0x43eabd['skillCode'],_0x4b2e93);}function countLinkActions(_0x1c6bba){const _0x218682=a44_0x256df0;return _0x1c6bba[_0x218682(0xbc)]((_0x15fd6a,_0x1a9cff)=>{const _0x4a03dc=_0x218682;return _0x15fd6a[_0x1a9cff[_0x4a03dc(0xbf)]]=(_0x15fd6a[_0x1a9cff[_0x4a03dc(0xbf)]]??0x0)+0x1,_0x15fd6a;},{});}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a45_0x5a3c(){const _0x545962=['appCode','accessKey','personal','42308dnYAQp','1462263iWXJNw','6590583zxVgQn','../../../core/api-client.js','10nQlrDE','\x20remote\x20Skill(s).','authRequired','9892560wGaXZC','../../../skills/runtime-skill-sync.js','builtin','length','local','project','filter','list','global','code','1096852ftMssW','company','List\x20runtime\x20Skills\x20from\x20remote\x20or\x20CLI-managed\x20local\x20cache','1928689cClXtk','read','trim','production','\x20local\x20Skill(s).','178054oAmaFL','remote','map','scope','str','786MqHWmu','skill','bool'];a45_0x5a3c=function(){return _0x545962;};return a45_0x5a3c();}const a45_0x231a59=a45_0x424b;(function(_0x234961,_0x530198){const _0x2ad434=a45_0x424b,_0x54e051=_0x234961();while(!![]){try{const _0x4be737=-parseInt(_0x2ad434(0x1d6))/0x1+parseInt(_0x2ad434(0x1db))/0x2+-parseInt(_0x2ad434(0x1e7))/0x3+parseInt(_0x2ad434(0x1d3))/0x4*(parseInt(_0x2ad434(0x1ea))/0x5)+parseInt(_0x2ad434(0x1e0))/0x6*(parseInt(_0x2ad434(0x1e6))/0x7)+parseInt(_0x2ad434(0x1c9))/0x8+parseInt(_0x2ad434(0x1e8))/0x9;if(_0x4be737===_0x530198)break;else _0x54e051['push'](_0x54e051['shift']());}catch(_0xdbe8e6){_0x54e051['push'](_0x54e051['shift']());}}}(a45_0x5a3c,0xefbcc));import{CliErrors}from'../../../errors.js';import{CODE_FLAG,LIST_SCOPE_FLAG,LOCAL_FLAG,PROJECT_TARGET_FLAG}from'../flags.js';import{listScopeToRemoteScope,listScopeToRuntimeScopes,normalizeListScope,shouldListScope}from'../scopes.js';import{summarizeLocalRuntimeSkill,summarizeRuntimeSkill}from'../summary.js';function a45_0x424b(_0x104bc6,_0x532fd4){_0x104bc6=_0x104bc6-0x1c9;const _0x5a3c75=a45_0x5a3c();let _0x424b02=_0x5a3c75[_0x104bc6];return _0x424b02;}export const listCommand={'service':a45_0x231a59(0x1e1),'command':a45_0x231a59(0x1d0),'description':a45_0x231a59(0x1d5),'risk':a45_0x231a59(0x1d7),'flags':[CODE_FLAG,LIST_SCOPE_FLAG,LOCAL_FLAG,PROJECT_TARGET_FLAG],async 'execute'(_0x132228){const _0x2bba2a=a45_0x231a59,_0x4430f3=_0x132228[_0x2bba2a(0x1df)](_0x2bba2a(0x1d2)),_0x476317=normalizeListScope(_0x132228[_0x2bba2a(0x1df)](_0x2bba2a(0x1de)));if(_0x132228['bool'](_0x2bba2a(0x1cd))){const _0x27eaf6=_0x132228[_0x2bba2a(0x1e4)];if(!_0x27eaf6)throw CliErrors[_0x2bba2a(0x1ec)]();const {listLocalRuntimeSkills:_0x27cfff,resolveRuntimeSkillInstallTarget:_0x5c2bd6}=await import(_0x2bba2a(0x1ca)),_0x51a267=_0x5c2bd6(_0x132228[_0x2bba2a(0x1e3)],_0x132228[_0x2bba2a(0x1e2)](_0x2bba2a(0x1ce))?_0x2bba2a(0x1ce):_0x2bba2a(0x1d1)),_0x105cab=_0x27cfff({'env':_0x132228['envName']??_0x2bba2a(0x1d9),'accessKey':_0x27eaf6,'appCode':_0x132228[_0x2bba2a(0x1e3)],'scopes':listScopeToRuntimeScopes(_0x476317),'code':_0x4430f3[_0x2bba2a(0x1d8)]()||undefined},_0x51a267),_0x410819=groupLocalRuntimeSkills(_0x105cab);return{'ok':!![],'data':{'appCode':_0x132228[_0x2bba2a(0x1e3)],'source':_0x2bba2a(0x1cd),..._0x51a267[_0x2bba2a(0x1de)]===_0x2bba2a(0x1ce)?{'installScope':_0x51a267[_0x2bba2a(0x1de)]}:{},'scope':_0x476317,'total':_0x105cab[_0x2bba2a(0x1cc)],'personal':_0x410819[_0x2bba2a(0x1e5)][_0x2bba2a(0x1cc)],'company':_0x410819[_0x2bba2a(0x1d4)][_0x2bba2a(0x1cc)],'items':_0x105cab['map'](summarizeLocalRuntimeSkill),'skills':{'personal':_0x410819['personal'][_0x2bba2a(0x1dd)](summarizeLocalRuntimeSkill),'company':_0x410819['company']['map'](summarizeLocalRuntimeSkill)}},'message':'Listed\x20'+_0x105cab[_0x2bba2a(0x1cc)]+_0x2bba2a(0x1da)};}const {listRuntimeSkills:_0x5300bf}=await import(_0x2bba2a(0x1e9)),_0x1e7d7c=await _0x5300bf({'appCode':_0x132228[_0x2bba2a(0x1e3)],'scope':listScopeToRemoteScope(_0x476317),'code':_0x4430f3[_0x2bba2a(0x1d8)]()||undefined}),_0x501343=shouldListScope(_0x476317,_0x2bba2a(0x1e5))?_0x1e7d7c[_0x2bba2a(0x1e5)]??[]:[],_0xb9a9a9=shouldListScope(_0x476317,'company')?_0x1e7d7c[_0x2bba2a(0x1d4)]??[]:[],_0x3b8bac=[..._0x501343,..._0xb9a9a9];return{'ok':!![],'data':{'appCode':_0x132228[_0x2bba2a(0x1e3)],'source':_0x2bba2a(0x1dc),'scope':_0x476317,'total':_0x3b8bac['length'],'personal':_0x501343[_0x2bba2a(0x1cc)],'company':_0xb9a9a9['length'],'items':_0x3b8bac['map'](summarizeRuntimeSkill),'skills':{'personal':_0x501343[_0x2bba2a(0x1dd)](summarizeRuntimeSkill),'company':_0xb9a9a9[_0x2bba2a(0x1dd)](summarizeRuntimeSkill)}},'message':'Listed\x20'+_0x3b8bac['length']+_0x2bba2a(0x1eb)};}};function groupLocalRuntimeSkills(_0x437284){const _0x4adf87=a45_0x231a59;return{'personal':_0x437284[_0x4adf87(0x1cf)](_0x1f9816=>_0x1f9816[_0x4adf87(0x1de)]===_0x4adf87(0x1e5)),'company':_0x437284[_0x4adf87(0x1cf)](_0x2138b4=>_0x2138b4[_0x4adf87(0x1de)]==='company'),'builtin':_0x437284[_0x4adf87(0x1cf)](_0x2a90cd=>_0x2a90cd[_0x4adf87(0x1de)]===_0x4adf87(0x1cb))};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a46_0x5f2d7a=a46_0x404a;(function(_0xde9a50,_0x458dfe){const _0x55453f=a46_0x404a,_0x5002a9=_0xde9a50();while(!![]){try{const _0x4c2e4f=-parseInt(_0x55453f(0x72))/0x1*(-parseInt(_0x55453f(0x6d))/0x2)+parseInt(_0x55453f(0x79))/0x3+parseInt(_0x55453f(0x6f))/0x4*(-parseInt(_0x55453f(0x71))/0x5)+-parseInt(_0x55453f(0x74))/0x6*(-parseInt(_0x55453f(0x70))/0x7)+-parseInt(_0x55453f(0x76))/0x8+parseInt(_0x55453f(0x6c))/0x9+parseInt(_0x55453f(0x6e))/0xa*(-parseInt(_0x55453f(0x73))/0xb);if(_0x4c2e4f===_0x458dfe)break;else _0x5002a9['push'](_0x5002a9['shift']());}catch(_0x5b7889){_0x5002a9['push'](_0x5002a9['shift']());}}}(a46_0x37d3,0x3912a));import{CONFIRM_WARNINGS_FLAG,DIR_FLAG,PUSH_SCOPE_FLAG}from'../flags.js';import{skillPushDryRun,skillPushExecute}from'../push-execute.js';function a46_0x404a(_0x211ed7,_0x2e2825){_0x211ed7=_0x211ed7-0x6c;const _0x37d3ea=a46_0x37d3();let _0x404ad2=_0x37d3ea[_0x211ed7];return _0x404ad2;}export const pushCommand={'service':a46_0x5f2d7a(0x75),'command':a46_0x5f2d7a(0x77),'description':a46_0x5f2d7a(0x78),'risk':'write','flags':[DIR_FLAG,PUSH_SCOPE_FLAG,CONFIRM_WARNINGS_FLAG],'dryRun':skillPushDryRun,'execute':skillPushExecute};function a46_0x37d3(){const _0xcd8fca=['push','Push\x20a\x20local\x20Skill\x20directory\x20to\x20personal\x20scope\x20or\x20submit\x20company\x20scope\x20for\x20review','958125Bmkqxt','1595547dhNelc','30AbYfJy','20qXUJAe','832uLYrdU','608342jpWhqF','6845TaaTOB','8653SBQlal','53944cmbisy','24wbWcVy','skill','3565976kULnfS'];a46_0x37d3=function(){return _0xcd8fca;};return a46_0x37d3();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a47_0x27aa7=a47_0x6e29;(function(_0x4725c4,_0x267445){const _0x471411=a47_0x6e29,_0x4fe828=_0x4725c4();while(!![]){try{const _0x31d5e1=parseInt(_0x471411(0xbd))/0x1+-parseInt(_0x471411(0xb3))/0x2*(-parseInt(_0x471411(0xbb))/0x3)+parseInt(_0x471411(0xc1))/0x4*(parseInt(_0x471411(0xb9))/0x5)+parseInt(_0x471411(0xc2))/0x6*(-parseInt(_0x471411(0xae))/0x7)+-parseInt(_0x471411(0xac))/0x8+parseInt(_0x471411(0xbc))/0x9*(parseInt(_0x471411(0xc0))/0xa)+-parseInt(_0x471411(0xb0))/0xb*(parseInt(_0x471411(0xba))/0xc);if(_0x31d5e1===_0x267445)break;else _0x4fe828['push'](_0x4fe828['shift']());}catch(_0x301eb5){_0x4fe828['push'](_0x4fe828['shift']());}}}(a47_0x4931,0x87ae7));function a47_0x6e29(_0xb3ef54,_0x6eeeeb){_0xb3ef54=_0xb3ef54-0xab;const _0x493176=a47_0x4931();let _0x6e29a4=_0x493176[_0xb3ef54];return _0x6e29a4;}import{DIR_FLAG,STRICT_FLAG}from'../flags.js';import{throwIfSkillValidationFailed,validateSkillDirectory}from'../validate.js';function a47_0x4931(){const _0x824719=['1332238QNUYqb','errors','validate','warnings','dir','str','5gPAJOw','4666488XLoVVy','3DfJPYR','99PGrvnM','772907dUZgGt','type','skill','245930ZApkLk','2346964BCwurS','126KNahOk','read','3838296kArLrw','bool','290626SUtWhv','Skill\x20validation\x20passed.','11ddjIWy','Validate\x20a\x20local\x20Skill\x20directory\x20as\x20a\x20self-contained\x20delivery\x20package','strict'];a47_0x4931=function(){return _0x824719;};return a47_0x4931();}export const validateCommand={'service':a47_0x27aa7(0xbf),'command':a47_0x27aa7(0xb5),'description':a47_0x27aa7(0xb1),'risk':a47_0x27aa7(0xab),'requiresAuth':![],'requiresAppCode':![],'flags':[DIR_FLAG,STRICT_FLAG],async 'execute'(_0x43b8f2){const _0x5ecdaa=a47_0x27aa7,_0x1566aa=_0x43b8f2[_0x5ecdaa(0xad)](_0x5ecdaa(0xb2)),_0x1adf42=validateSkillDirectory(_0x43b8f2[_0x5ecdaa(0xb8)](_0x5ecdaa(0xb7)),{'strict':_0x1566aa});return throwIfSkillValidationFailed(_0x1adf42,_0x1566aa),{'ok':!![],'data':{'dir':_0x1adf42['dir'],'type':_0x1adf42[_0x5ecdaa(0xbe)],'errors':_0x1adf42[_0x5ecdaa(0xb4)],'warnings':_0x1adf42[_0x5ecdaa(0xb6)]},'message':_0x5ecdaa(0xaf)};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a48_0x4303dc=a48_0x46b6;(function(_0x1c2cc2,_0x4b52a4){const _0x36be7d=a48_0x46b6,_0x4bab29=_0x1c2cc2();while(!![]){try{const _0xc3a064=parseInt(_0x36be7d(0x1c8))/0x1+parseInt(_0x36be7d(0x1d3))/0x2*(parseInt(_0x36be7d(0x1d7))/0x3)+-parseInt(_0x36be7d(0x1d1))/0x4*(-parseInt(_0x36be7d(0x1d9))/0x5)+-parseInt(_0x36be7d(0x1bf))/0x6*(-parseInt(_0x36be7d(0x1ca))/0x7)+parseInt(_0x36be7d(0x1cf))/0x8*(-parseInt(_0x36be7d(0x1db))/0x9)+-parseInt(_0x36be7d(0x1c4))/0xa*(-parseInt(_0x36be7d(0x1dc))/0xb)+-parseInt(_0x36be7d(0x1c0))/0xc;if(_0xc3a064===_0x4b52a4)break;else _0x4bab29['push'](_0x4bab29['shift']());}catch(_0x535159){_0x4bab29['push'](_0x4bab29['shift']());}}}(a48_0x5dde,0x3ab8b));function a48_0x5dde(){const _0x2b9b13=['all','local','29980UUrXPH','code','Skill\x20list\x20scope:\x20all,\x20personal,\x20or\x20company','name','203281vgWVbk','lowercase\x20letters,\x20numbers,\x20and\x20single\x20hyphens','42mSgBAJ','Skill\x20sync\x20scope:\x20all\x20(personal/company),\x20personal,\x20or\x20company','Skill\x20template\x20type:\x20pass\x20read\x20or\x20write\x20explicitly\x20(omission\x20is\x20deprecated)','company','scope','96uBspGM','boolean','1601832HrpXvb','personal','124lGljej','Skill\x20name\x20using\x20lowercase\x20letters,\x20numbers,\x20and\x20hyphens','project','type','6483sfbQfZ','Skill\x20push\x20target\x20scope:\x20personal\x20saves\x20immediately,\x20company\x20submits\x20a\x20new\x20version\x20for\x20review','5wMsDBq','Use\x20the\x20current\x20project\x27s\x20.agents/skills\x20instead\x20of\x20user-level\x20Agent\x20Skill\x20directories','323487lkZybN','1562nKrXHL','Compatibility\x20flag;\x20no\x20extra\x20checks\x20are\x20enabled','Local\x20Skill\x20directory\x20containing\x20SKILL.md','Overwrite\x20generated\x20or\x20CLI-managed\x20Skill\x20files\x20when\x20the\x20target\x20already\x20exists','Confirm\x20reviewed\x20personal\x20or\x20company\x20Skill\x20publish\x20warnings','target','confirm-warnings','Only\x20target\x20a\x20specific\x20runtime\x20Skill\x20code','string','strict','force','301326WsDXKf','9515088qMLtlO','dir'];a48_0x5dde=function(){return _0x2b9b13;};return a48_0x5dde();}import{DEFAULT_SKILL_TARGET,SKILL_NAME_PATTERN,SKILL_TYPES}from'./templates.js';export const CODE_FLAG={'name':a48_0x4303dc(0x1c5),'type':a48_0x4303dc(0x1e4),'description':a48_0x4303dc(0x1e3)};function a48_0x46b6(_0x5f46e4,_0x536920){_0x5f46e4=_0x5f46e4-0x1be;const _0x5ddefc=a48_0x5dde();let _0x46b66b=_0x5ddefc[_0x5f46e4];return _0x46b66b;}export const SCOPE_FLAG={'name':'scope','type':a48_0x4303dc(0x1e4),'description':a48_0x4303dc(0x1cb),'enum':[a48_0x4303dc(0x1c2),a48_0x4303dc(0x1d2),a48_0x4303dc(0x1cd)]};export const PUSH_SCOPE_FLAG={'name':'scope','type':'string','description':a48_0x4303dc(0x1d8),'default':a48_0x4303dc(0x1d2),'enum':[a48_0x4303dc(0x1d2),a48_0x4303dc(0x1cd)]};export const LIST_SCOPE_FLAG={'name':a48_0x4303dc(0x1ce),'type':a48_0x4303dc(0x1e4),'description':a48_0x4303dc(0x1c6),'enum':[a48_0x4303dc(0x1c2),'personal',a48_0x4303dc(0x1cd)]};export const LOCAL_FLAG={'name':a48_0x4303dc(0x1c3),'type':a48_0x4303dc(0x1d0),'description':'Read\x20CLI-managed\x20local\x20Skill\x20cache\x20and\x20links\x20instead\x20of\x20remote\x20lists'};export const DIR_FLAG={'name':a48_0x4303dc(0x1c1),'type':a48_0x4303dc(0x1e4),'required':!![],'description':a48_0x4303dc(0x1de)};export const CREATE_NAME_FLAG={'name':a48_0x4303dc(0x1c7),'type':a48_0x4303dc(0x1e4),'required':!![],'description':a48_0x4303dc(0x1d4),'pattern':{'regex':SKILL_NAME_PATTERN,'description':a48_0x4303dc(0x1c9)}};export const TYPE_FLAG={'name':a48_0x4303dc(0x1d6),'type':a48_0x4303dc(0x1e4),'description':a48_0x4303dc(0x1cc),'enum':[...SKILL_TYPES]};export const TARGET_FLAG={'name':a48_0x4303dc(0x1e1),'type':a48_0x4303dc(0x1e4),'description':'Directory\x20that\x20will\x20contain\x20the\x20generated\x20Skill\x20directory','default':DEFAULT_SKILL_TARGET};export const FORCE_FLAG={'name':a48_0x4303dc(0x1be),'type':a48_0x4303dc(0x1d0),'description':a48_0x4303dc(0x1df)};export const PROJECT_TARGET_FLAG={'name':a48_0x4303dc(0x1d5),'type':a48_0x4303dc(0x1d0),'description':a48_0x4303dc(0x1da)};export const CONFIRM_WARNINGS_FLAG={'name':a48_0x4303dc(0x1e2),'type':a48_0x4303dc(0x1d0),'description':a48_0x4303dc(0x1e0)};export const STRICT_FLAG={'name':a48_0x4303dc(0x1e5),'type':a48_0x4303dc(0x1d0),'description':a48_0x4303dc(0x1dd)};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a49_0x4b4e(_0x235acc,_0x3ca73e){_0x235acc=_0x235acc-0x111;const _0x5f15ae=a49_0x5f15();let _0x4b4ef8=_0x5f15ae[_0x235acc];return _0x4b4ef8;}(function(_0x3d46b8,_0x40a9ad){const _0x3b835c=a49_0x4b4e,_0x37eb5f=_0x3d46b8();while(!![]){try{const _0x5e8605=-parseInt(_0x3b835c(0x111))/0x1+-parseInt(_0x3b835c(0x113))/0x2*(-parseInt(_0x3b835c(0x112))/0x3)+parseInt(_0x3b835c(0x116))/0x4*(-parseInt(_0x3b835c(0x114))/0x5)+-parseInt(_0x3b835c(0x11a))/0x6+parseInt(_0x3b835c(0x117))/0x7*(-parseInt(_0x3b835c(0x115))/0x8)+-parseInt(_0x3b835c(0x118))/0x9*(-parseInt(_0x3b835c(0x11b))/0xa)+parseInt(_0x3b835c(0x119))/0xb;if(_0x5e8605===_0x40a9ad)break;else _0x37eb5f['push'](_0x37eb5f['shift']());}catch(_0x2d93c6){_0x37eb5f['push'](_0x37eb5f['shift']());}}}(a49_0x5f15,0xc126b));import{createCommand}from'./commands/create.js';import{installCommand}from'./commands/install.js';import{listCommand}from'./commands/list.js';function a49_0x5f15(){const _0x558ff7=['9ValKun','42606168cHjtPV','8415528lFIQaL','15236510QTCvdN','1235395ZUfGRi','555yKgRtf','7022KoTZGm','5LggtMw','9668432mZxqhx','5635160fciIXZ','7bxnOgx'];a49_0x5f15=function(){return _0x558ff7;};return a49_0x5f15();}import{pushCommand}from'./commands/push.js';import{validateCommand}from'./commands/validate.js';export const skillDefinitions=[installCommand,createCommand,validateCommand,listCommand,pushCommand];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a50_0x5c34(_0x1059e7,_0x277c6e){_0x1059e7=_0x1059e7-0x1d2;var _0x58d00b=a50_0x58d0();var _0x5c3448=_0x58d00b[_0x1059e7];return _0x5c3448;}(function(_0x4e332c,_0x2d581f){var _0x2e2f69=a50_0x5c34,_0x59670a=_0x4e332c();while(!![]){try{var _0x19642e=-parseInt(_0x2e2f69(0x1dc))/0x1+parseInt(_0x2e2f69(0x1e0))/0x2*(parseInt(_0x2e2f69(0x1d4))/0x3)+-parseInt(_0x2e2f69(0x1dd))/0x4+parseInt(_0x2e2f69(0x1d7))/0x5*(parseInt(_0x2e2f69(0x1de))/0x6)+parseInt(_0x2e2f69(0x1e4))/0x7+parseInt(_0x2e2f69(0x1d6))/0x8+parseInt(_0x2e2f69(0x1d2))/0x9*(parseInt(_0x2e2f69(0x1d8))/0xa);if(_0x19642e===_0x2d581f)break;else _0x59670a['push'](_0x59670a['shift']());}catch(_0x2a71fc){_0x59670a['push'](_0x59670a['shift']());}}}(a50_0x58d0,0xc0a12));function a50_0x58d0(){var _0x4a5218=['length','4pHyXRw','some','string','ossPath','75159FoUvhC','612TMmlEY','isArray','147312lzuZWi','object','11411448rcaOJs','55uZCkEk','136960UmwXfc','path','SKILL.md','files','1311965FhUNzf','5340592HSretc','528774zJssbo'];a50_0x58d0=function(){return _0x4a5218;};return a50_0x58d0();}export function isPackageBackedManifest(_0xf04f1c){var _0x31c781=a50_0x5c34;return!!_0xf04f1c&&typeof _0xf04f1c===_0x31c781(0x1d5)&&!Array[_0x31c781(0x1d3)](_0xf04f1c)&&typeof _0xf04f1c[_0x31c781(0x1e3)]===_0x31c781(0x1e2)&&_0xf04f1c[_0x31c781(0x1e3)][_0x31c781(0x1df)]>0x0&&Array[_0x31c781(0x1d3)](_0xf04f1c[_0x31c781(0x1db)]);}export function isMultiFileManifest(_0x544297){var _0x5932e1=a50_0x5c34;return!!_0x544297&&typeof _0x544297===_0x5932e1(0x1d5)&&!Array[_0x5932e1(0x1d3)](_0x544297)&&Array[_0x5932e1(0x1d3)](_0x544297[_0x5932e1(0x1db)])&&_0x544297[_0x5932e1(0x1db)][_0x5932e1(0x1e1)](_0x5ae5cb=>_0x5ae5cb[_0x5932e1(0x1d9)]!==_0x5932e1(0x1da));}
|