@lovrabet/lovrabet-cli 2.1.19 → 2.1.20-beta.1
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.d.ts +12 -0
- package/lib/framework/preparse.js +1 -1
- package/lib/framework/rate-limit.js +1 -1
- package/lib/framework/raw-flags.d.ts +12 -0
- package/lib/framework/raw-flags.js +1 -0
- 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 +4 -4
- 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
|
-
const
|
|
1
|
+
const a37_0x56bfa2=a37_0x1d6c;(function(_0x6cabf8,_0x5c3fcb){const _0x5308a2=a37_0x1d6c,_0x3ac372=_0x6cabf8();while(!![]){try{const _0x12de52=-parseInt(_0x5308a2(0xc1))/0x1+-parseInt(_0x5308a2(0x84))/0x2+-parseInt(_0x5308a2(0xbe))/0x3+-parseInt(_0x5308a2(0x88))/0x4*(parseInt(_0x5308a2(0x8c))/0x5)+-parseInt(_0x5308a2(0xaf))/0x6*(-parseInt(_0x5308a2(0xbb))/0x7)+parseInt(_0x5308a2(0xc7))/0x8+parseInt(_0x5308a2(0xac))/0x9*(parseInt(_0x5308a2(0xbd))/0xa);if(_0x12de52===_0x5c3fcb)break;else _0x3ac372['push'](_0x3ac372['shift']());}catch(_0x5e9fae){_0x3ac372['push'](_0x3ac372['shift']());}}}(a37_0x5771,0x1fa3f));import{createRuntimeSchedule,deleteRuntimeSchedule,getRuntimeSchedule,listRuntimeSchedules,runRuntimeSchedule,validateRuntimeSchedule}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';const SCHEDULE_ID_PATTERN=/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,KIND_FLAG={'name':a37_0x56bfa2(0x8e),'type':a37_0x56bfa2(0x82),'required':!![],'enum':[a37_0x56bfa2(0x91),a37_0x56bfa2(0x98)],'description':a37_0x56bfa2(0x80)},CRON_FLAG={'name':a37_0x56bfa2(0xb9),'type':'string','description':a37_0x56bfa2(0xb1)},SCHEDULED_AT_FLAG={'name':a37_0x56bfa2(0xb4),'type':'string','description':'Canonical\x20UTC\x20ISO\x20datetime\x20for\x20ONCE\x20schedules'},TITLE_FLAG={'name':'title','type':a37_0x56bfa2(0x82),'required':!![],'description':a37_0x56bfa2(0x9a)},PROMPT_FLAG={'name':a37_0x56bfa2(0x9e),'type':a37_0x56bfa2(0x82),'required':!![],'description':a37_0x56bfa2(0xb2)},CHANNEL_FLAG={'name':a37_0x56bfa2(0xa2),'type':a37_0x56bfa2(0x82),'enum':[a37_0x56bfa2(0x97),a37_0x56bfa2(0xab)],'default':'premium','description':a37_0x56bfa2(0xbf)},SCHEDULE_ID_FLAG={'name':'schedule-id','type':a37_0x56bfa2(0x82),'required':!![],'description':'Schedule\x20UUID','pattern':{'regex':SCHEDULE_ID_PATTERN,'description':a37_0x56bfa2(0x86)}},LIMIT_FLAG={'name':a37_0x56bfa2(0xb7),'type':a37_0x56bfa2(0x89),'default':0x14,'description':a37_0x56bfa2(0xa6)},CURSOR_FLAG={'name':'cursor','type':'string','description':a37_0x56bfa2(0x96)},INPUT_FLAGS=[KIND_FLAG,CRON_FLAG,SCHEDULED_AT_FLAG,TITLE_FLAG,PROMPT_FLAG,CHANNEL_FLAG];function readScheduleInput(_0x184df8){const _0x2e19e6=a37_0x56bfa2,_0x36b9a0=_0x184df8[_0x2e19e6(0xc4)](_0x2e19e6(0x8e)),_0x4a0996=_0x184df8[_0x2e19e6(0xc4)](_0x2e19e6(0xc8))['trim'](),_0x17d6ed=_0x184df8[_0x2e19e6(0xc4)](_0x2e19e6(0x9e))['trim'](),_0x5079ca=_0x184df8[_0x2e19e6(0xc4)]('channel'),_0x3cdf5b=_0x184df8[_0x2e19e6(0xc4)]('cron'),_0x104e0a=_0x184df8[_0x2e19e6(0xc4)]('scheduled-at');if(!_0x4a0996)throw CliErrors['validation'](_0x2e19e6(0xc0));if(!_0x17d6ed)throw CliErrors[_0x2e19e6(0x9c)]('--prompt\x20must\x20not\x20be\x20blank.');if(_0x36b9a0===_0x2e19e6(0x91)){if(!_0x3cdf5b||_0x104e0a)throw CliErrors[_0x2e19e6(0x9c)](_0x2e19e6(0x90));return{'kind':_0x36b9a0,'timezone':_0x2e19e6(0xaa),'cron':_0x3cdf5b,'title':_0x4a0996,'prompt':_0x17d6ed,'channel':_0x5079ca};}if(_0x36b9a0===_0x2e19e6(0x98)){if(!_0x104e0a||_0x3cdf5b)throw CliErrors[_0x2e19e6(0x9c)](_0x2e19e6(0xa4));return{'kind':_0x36b9a0,'timezone':_0x2e19e6(0xaa),'scheduledAt':_0x104e0a,'title':_0x4a0996,'prompt':_0x17d6ed,'channel':_0x5079ca};}throw CliErrors[_0x2e19e6(0x9c)](_0x2e19e6(0xb8));}function a37_0x1d6c(_0xafa3d2,_0x22d7d1){_0xafa3d2=_0xafa3d2-0x7f;const _0x5771e7=a37_0x5771();let _0x1d6c3a=_0x5771e7[_0xafa3d2];return _0x1d6c3a;}function scheduleCollectionPath(_0x141cce){const _0xf90489=a37_0x56bfa2;return'/api/harness/apps/'+encodeURIComponent(_0x141cce)+_0xf90489(0xc5);}function a37_0x5771(){const _0x8e17ff=['appCode','Create\x20a\x20recurring\x20or\x20one-time\x20Agent\x20schedule','limit','--kind\x20must\x20be\x20CRON\x20or\x20ONCE.','cron','\x20from\x20schedule\x20','14tGtPIC','Preview:\x20run\x20schedule\x20','10SJUppd','685776uwkLCa','Task\x20channel:\x20auto\x20or\x20premium','--title\x20must\x20not\x20be\x20blank.','123839IjSjQO','/run','Show\x20one\x20schedule\x20by\x20schedule\x20ID','str','/schedules','--limit\x20must\x20be\x20an\x20integer\x20from\x201\x20to\x20100.','612536Muyseu','title','trim','Schedule\x20kind:\x20CRON\x20or\x20ONCE','validate','string','length','245084eyIdUh','delete','a\x20UUID\x20returned\x20by\x20schedule\x20create/list','Preview:\x20create\x20an\x20Agent\x20schedule','12XvQBzq','number','--cursor\x20must\x20be\x20the\x20unchanged\x20nextCursor\x20from\x20schedule\x20list.','Schedule\x20input\x20is\x20valid','121615UkXsSS','read','kind','description','CRON\x20schedules\x20require\x20--cron\x20and\x20do\x20not\x20accept\x20--scheduled-at.','CRON','scheduleId','run','schedule','num','Opaque\x20nextCursor\x20returned\x20by\x20the\x20previous\x20list\x20call','auto','ONCE','Preview:\x20delete\x20schedule\x20','Schedule\x20title','schedule-id','validation','body','prompt','Delete\x20a\x20schedule\x20and\x20stop\x20its\x20future\x20triggers','List\x20current\x20user\x27s\x20schedules\x20for\x20the\x20current\x20app','\x20immediately','channel','list','ONCE\x20schedules\x20require\x20--scheduled-at\x20and\x20do\x20not\x20accept\x20--cron.','cursor','Page\x20size\x20from\x201\x20to\x20100','Created\x20','DELETE','high-risk-write','UTC','premium','3268116EWpeHY','detail','POST','713550rvwGcr','taskId','Five-field\x20UTC\x20cron\x20expression\x20for\x20CRON\x20schedules','Prompt\x20sent\x20to\x20the\x20Agent\x20when\x20the\x20schedule\x20runs','build','scheduled-at'];a37_0x5771=function(){return _0x8e17ff;};return a37_0x5771();}function scheduleItemPath(_0x21fd98,_0x2e2e28){return scheduleCollectionPath(_0x21fd98)+'/'+encodeURIComponent(_0x2e2e28);}const scheduleValidate={'service':'schedule','command':a37_0x56bfa2(0x81),'description':'Validate\x20a\x20UTC\x20schedule\x20without\x20creating\x20it','risk':a37_0x56bfa2(0x8d),'flags':INPUT_FLAGS,async 'validate'(_0x12d24f){readScheduleInput(_0x12d24f);},async 'execute'(_0x1fe752){const _0x15afdb=a37_0x56bfa2,_0x1e837b=readScheduleInput(_0x1fe752),_0x31782f=await validateRuntimeSchedule(_0x1fe752[_0x15afdb(0xb5)],_0x1e837b);return{'ok':!![],'data':_0x31782f,'message':_0x15afdb(0x8b)};}},scheduleCreate={'service':'schedule','command':'create','description':a37_0x56bfa2(0xb6),'risk':a37_0x56bfa2(0xa9),'flags':INPUT_FLAGS,async 'validate'(_0x3ac025){readScheduleInput(_0x3ac025);},async 'execute'(_0x21f9ef){const _0x571123=a37_0x56bfa2,_0x460f92=readScheduleInput(_0x21f9ef),_0x1ae3cd=await validateRuntimeSchedule(_0x21f9ef[_0x571123(0xb5)],_0x460f92),_0x196b12=await createRuntimeSchedule(_0x21f9ef['appCode'],_0x1ae3cd);return{'ok':!![],'data':_0x196b12,'message':_0x571123(0xa7)+_0x196b12[_0x571123(0x8e)]+'\x20schedule\x20'+_0x196b12[_0x571123(0x92)]};},async 'dryRun'(_0x2fd733){const _0xd3a85a=a37_0x56bfa2,_0x357ddf=readScheduleInput(_0x2fd733);return dryRun(_0xd3a85a(0xae),scheduleCollectionPath(_0x2fd733[_0xd3a85a(0xb5)]))[_0xd3a85a(0x9d)](_0x357ddf)[_0xd3a85a(0x8f)](_0xd3a85a(0x87))[_0xd3a85a(0xb3)]();}},scheduleList={'service':'schedule','command':a37_0x56bfa2(0xa3),'description':a37_0x56bfa2(0xa0),'risk':'read','flags':[LIMIT_FLAG,CURSOR_FLAG],async 'validate'(_0x4b2f53){const _0x9ea056=a37_0x56bfa2,_0x3ca702=_0x4b2f53[_0x9ea056(0x95)](_0x9ea056(0xb7));if(!Number['isSafeInteger'](_0x3ca702)||_0x3ca702<0x1||_0x3ca702>0x64)throw CliErrors[_0x9ea056(0x9c)](_0x9ea056(0xc6));const _0x5765e5=_0x4b2f53[_0x9ea056(0xc4)](_0x9ea056(0xa5));if(_0x5765e5&&(_0x5765e5[_0x9ea056(0x83)]>0x400||_0x5765e5[_0x9ea056(0x7f)]()!==_0x5765e5))throw CliErrors[_0x9ea056(0x9c)](_0x9ea056(0x8a));},async 'execute'(_0x1dcbda){const _0x11ad70=a37_0x56bfa2,_0x1923f2=_0x1dcbda['str'](_0x11ad70(0xa5)),_0xc564da=await listRuntimeSchedules(_0x1dcbda[_0x11ad70(0xb5)],{'limit':_0x1dcbda[_0x11ad70(0x95)](_0x11ad70(0xb7)),..._0x1923f2?{'cursor':_0x1923f2}:{}});return{'ok':!![],'data':_0xc564da};}},scheduleDetail={'service':a37_0x56bfa2(0x94),'command':a37_0x56bfa2(0xad),'description':a37_0x56bfa2(0xc3),'risk':a37_0x56bfa2(0x8d),'flags':[SCHEDULE_ID_FLAG],async 'execute'(_0xb2df3e){const _0x3762cc=a37_0x56bfa2,_0x3bb432=await getRuntimeSchedule(_0xb2df3e['appCode'],_0xb2df3e[_0x3762cc(0xc4)](_0x3762cc(0x9b)));return{'ok':!![],'data':_0x3bb432};}},scheduleRun={'service':'schedule','command':a37_0x56bfa2(0x93),'description':'Run\x20one\x20schedule\x20immediately\x20and\x20create\x20a\x20Task','risk':a37_0x56bfa2(0xa9),'flags':[SCHEDULE_ID_FLAG],async 'execute'(_0x25abb1){const _0x5bf4c3=a37_0x56bfa2,_0x1270de=_0x25abb1[_0x5bf4c3(0xc4)](_0x5bf4c3(0x9b)),_0x478bff=await runRuntimeSchedule(_0x25abb1[_0x5bf4c3(0xb5)],_0x1270de);return{'ok':!![],'data':_0x478bff,'message':'Queued\x20Task\x20'+_0x478bff[_0x5bf4c3(0xb0)]+_0x5bf4c3(0xba)+_0x1270de};},async 'dryRun'(_0x10842f){const _0x3c0ecc=a37_0x56bfa2,_0x20457d=_0x10842f[_0x3c0ecc(0xc4)]('schedule-id');return dryRun(_0x3c0ecc(0xae),scheduleItemPath(_0x10842f['appCode'],_0x20457d)+_0x3c0ecc(0xc2))[_0x3c0ecc(0x8f)](_0x3c0ecc(0xbc)+_0x20457d+_0x3c0ecc(0xa1))[_0x3c0ecc(0xb3)]();}},scheduleDelete={'service':a37_0x56bfa2(0x94),'command':a37_0x56bfa2(0x85),'description':a37_0x56bfa2(0x9f),'risk':a37_0x56bfa2(0xa9),'flags':[SCHEDULE_ID_FLAG],async 'execute'(_0x1bf05a){const _0x44870b=a37_0x56bfa2,_0x50d1e7=_0x1bf05a[_0x44870b(0xc4)](_0x44870b(0x9b)),_0xb964d8=await deleteRuntimeSchedule(_0x1bf05a[_0x44870b(0xb5)],_0x50d1e7);return{'ok':!![],'data':_0xb964d8,'message':'Deleted\x20schedule\x20'+_0x50d1e7};},async 'dryRun'(_0x5c8d05){const _0x40888c=a37_0x56bfa2,_0x174952=_0x5c8d05['str'](_0x40888c(0x9b));return dryRun(_0x40888c(0xa8),scheduleItemPath(_0x5c8d05[_0x40888c(0xb5)],_0x174952))['description'](_0x40888c(0x99)+_0x174952)['build']();}};export const scheduleDefinitions=[scheduleValidate,scheduleCreate,scheduleList,scheduleDetail,scheduleRun,scheduleDelete];
|
package/lib/commands/schema.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function a38_0x4f3e(_0x122369,_0x5d6bbc){_0x122369=_0x122369-0x19a;const _0x373b00=a38_0x373b();let _0x4f3e71=_0x373b00[_0x122369];return _0x4f3e71;}const a38_0x5f38c9=a38_0x4f3e;function a38_0x373b(){const _0x4afbc0=['8651172QOPyuk','8644540HycRnJ','read','211059ujmKiV','schema','11mALZsw','321nsfyQF','3254335ifYLYg','1965383RWgvDW','2KucJZw','280Azheng','488846nuoMkq','export','6NYCOef','25068kfEfks'];a38_0x373b=function(){return _0x4afbc0;};return a38_0x373b();}(function(_0x584f57,_0x430297){const _0x23d05b=a38_0x4f3e,_0x46f499=_0x584f57();while(!![]){try{const _0x253a5d=parseInt(_0x23d05b(0x19e))/0x1*(-parseInt(_0x23d05b(0x19c))/0x2)+parseInt(_0x23d05b(0x1a8))/0x3*(parseInt(_0x23d05b(0x1a1))/0x4)+parseInt(_0x23d05b(0x19a))/0x5+-parseInt(_0x23d05b(0x1a0))/0x6*(-parseInt(_0x23d05b(0x19b))/0x7)+-parseInt(_0x23d05b(0x19d))/0x8*(parseInt(_0x23d05b(0x1a5))/0x9)+parseInt(_0x23d05b(0x1a3))/0xa+-parseInt(_0x23d05b(0x1a7))/0xb*(parseInt(_0x23d05b(0x1a2))/0xc);if(_0x253a5d===_0x430297)break;else _0x46f499['push'](_0x46f499['shift']());}catch(_0x113211){_0x46f499['push'](_0x46f499['shift']());}}}(a38_0x373b,0x6a781));import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x562d03){const _0x116fcf=await buildSchemaPayload();return{'ok':!![],'data':_0x116fcf};}export const schemaDefinition={'service':a38_0x5f38c9(0x1a6),'command':a38_0x5f38c9(0x19f),'description':'Export\x20machine-readable\x20command\x20schema\x20(JSON)','risk':a38_0x5f38c9(0x1a4),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'flags':[],'execute':execute};
|
|
@@ -1 +1 @@
|
|
|
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
|
+
(function(_0x96251,_0x1d9916){const _0x51dc86=a39_0x3dab,_0x316800=_0x96251();while(!![]){try{const _0x3c1946=parseInt(_0x51dc86(0x15b))/0x1+parseInt(_0x51dc86(0x155))/0x2+-parseInt(_0x51dc86(0x1a2))/0x3*(-parseInt(_0x51dc86(0x1ae))/0x4)+parseInt(_0x51dc86(0x19d))/0x5*(parseInt(_0x51dc86(0x18d))/0x6)+-parseInt(_0x51dc86(0x165))/0x7*(parseInt(_0x51dc86(0x1ad))/0x8)+parseInt(_0x51dc86(0x1a1))/0x9*(-parseInt(_0x51dc86(0x1a6))/0xa)+-parseInt(_0x51dc86(0x157))/0xb;if(_0x3c1946===_0x1d9916)break;else _0x316800['push'](_0x316800['shift']());}catch(_0x50bcef){_0x316800['push'](_0x316800['shift']());}}}(a39_0x9cce,0x4e674));function a39_0x3dab(_0x1c1df8,_0x395960){_0x1c1df8=_0x1c1df8-0x14d;const _0x9cce90=a39_0x9cce();let _0x3dabe8=_0x9cce90[_0x1c1df8];return _0x3dabe8;}import{compileServiceTreeCommand,matchServiceTreeCommand}from'@lovrabet/cli-framework';import{getLoginUserInfo,listDatasets}from'../../core/api-client.js';import{executeData,executeSdkBff,executeSdkSql}from'../../core/sdk-client.js';import{CliErrors}from'../../errors.js';import{listLocalServices,listLocalServiceTrees}from'../../commands/service/registry.js';import{CLI_BIN_NAME}from'../../constant/cli.js';export function resolveDynamicServiceCommand(_0x2a2dab,_0x358131){const _0x5c44b0=a39_0x3dab,_0xb9f054=listLocalServiceTrees();let _0x49860a;for(const _0x5ceb84 of _0xb9f054){const _0x129d6a=matchServiceTreeCommand(_0x5ceb84,_0x2a2dab);if(!_0x129d6a)continue;(!_0x49860a||_0x129d6a[_0x5c44b0(0x17b)][_0x5c44b0(0x170)][_0x5c44b0(0x196)]>_0x49860a['command'][_0x5c44b0(0x170)][_0x5c44b0(0x196)])&&(_0x49860a={'tree':_0x5ceb84,'command':_0x129d6a['command'],'remainingArgs':_0x129d6a['remainingArgs']});}if(!_0x49860a)return undefined;const _0x21bbd6={..._0x358131};return applyAppBinding(_0x49860a[_0x5c44b0(0x161)],_0x49860a['command'],_0x21bbd6),{'definition':buildDynamicCommandDefinition(_0x49860a['tree'],_0x49860a['command']),'args':_0x49860a[_0x5c44b0(0x15f)],'flags':_0x21bbd6,'tree':_0x49860a[_0x5c44b0(0x161)],'command':_0x49860a[_0x5c44b0(0x17b)]};}export function generateDynamicServiceHelp(_0x5523e9){const _0x4536b1=a39_0x3dab,_0x475d4=listLocalServiceTrees()['find'](_0x371693=>_0x371693[_0x4536b1(0x19c)][_0x4536b1(0x182)]===_0x5523e9);if(!_0x475d4)return undefined;const _0x52a112=[CLI_BIN_NAME+'\x20'+_0x5523e9+_0x4536b1(0x199),'',_0x475d4['service'][_0x4536b1(0x1a4)]||_0x5523e9,_0x475d4[_0x4536b1(0x19c)][_0x4536b1(0x179)]?'\x20\x20'+_0x475d4['service'][_0x4536b1(0x179)]:'','',_0x4536b1(0x17e),..._0x475d4[_0x4536b1(0x17f)][_0x4536b1(0x160)](_0x20ceee=>{const _0x2ccd0c=_0x4536b1,_0x5952d5=_0x20ceee[_0x2ccd0c(0x170)][_0x2ccd0c(0x184)](0x1)[_0x2ccd0c(0x18b)]('\x20'),_0x155478=_0x20ceee[_0x2ccd0c(0x153)]==='read'?'':'\x20['+_0x20ceee[_0x2ccd0c(0x153)]+']';return'\x20\x20'+_0x5952d5[_0x2ccd0c(0x14e)](0x18)+'\x20'+(_0x20ceee[_0x2ccd0c(0x179)]||'')+_0x155478;}),'',_0x4536b1(0x18c)+CLI_BIN_NAME+'\x20service\x20detail\x20--service\x20'+_0x5523e9+_0x4536b1(0x19b)][_0x4536b1(0x19f)](Boolean);return _0x52a112[_0x4536b1(0x18b)]('\x0a');}export function listDynamicServiceEntries(){const _0x26cf9a=a39_0x3dab;return listLocalServices()[_0x26cf9a(0x160)](_0x211e63=>{const _0x4ab042=_0x26cf9a,_0x3f8c68=_0x211e63[_0x4ab042(0x16b)];return{'service':_0x3f8c68[_0x4ab042(0x19c)][_0x4ab042(0x182)],'label':_0x3f8c68[_0x4ab042(0x19c)][_0x4ab042(0x1a4)]||_0x3f8c68[_0x4ab042(0x19c)][_0x4ab042(0x182)],'commands':_0x3f8c68[_0x4ab042(0x17f)][_0x4ab042(0x160)](_0x20622f=>({'command':dynamicCommandName(_0x20622f),'description':_0x20622f['description']||_0x4ab042(0x154)+_0x20622f[_0x4ab042(0x17a)],'tag':riskTag(_0x20622f[_0x4ab042(0x153)])}))};});}export function getDynamicServiceEntry(_0x4d1e47){const _0xa57924=a39_0x3dab;return listDynamicServiceEntries()[_0xa57924(0x187)](_0x40e6be=>_0x40e6be[_0xa57924(0x19c)]===_0x4d1e47);}export function listDynamicServiceDefinitions(_0x37189c){const _0x386b96=a39_0x3dab;return listLocalServiceTrees()[_0x386b96(0x19f)](_0x5ed11b=>!_0x37189c||_0x5ed11b[_0x386b96(0x19c)][_0x386b96(0x182)]===_0x37189c)['flatMap'](_0x476153=>_0x476153['commands'][_0x386b96(0x160)](_0x4df527=>buildDynamicCommandDefinition(_0x476153,_0x4df527)));}export function getDynamicServiceDefinitions(_0x233973){const _0x521495=a39_0x3dab,_0x4af6cf=listDynamicServiceDefinitions(_0x233973);return _0x4af6cf[_0x521495(0x196)]>0x0?_0x4af6cf:undefined;}export function findDynamicServiceDefinition(_0x403017,_0x2f04f9){const _0x3b1858=a39_0x3dab;return listDynamicServiceDefinitions(_0x403017)[_0x3b1858(0x187)](_0x256d3a=>_0x256d3a[_0x3b1858(0x17b)]===_0x2f04f9);}export function buildDynamicCommandDefinition(_0x4c2c6b,_0x2258bb){const _0x39ab69=a39_0x3dab;return{'service':_0x4c2c6b[_0x39ab69(0x19c)]['code'],'command':dynamicCommandName(_0x2258bb),'description':_0x2258bb[_0x39ab69(0x179)]||'Run\x20service\x20command\x20'+_0x2258bb['cliPath'],'risk':_0x2258bb[_0x39ab69(0x153)],'requiresAuth':!![],'requiresAppCode':!![],'args':_0x2258bb['args'][_0x39ab69(0x160)](_0x27e400=>({'name':_0x27e400[_0x39ab69(0x1a4)],'description':_0x27e400['description']||_0x27e400[_0x39ab69(0x1a4)],'required':_0x27e400['required']})),'flags':_0x2258bb['flags'][_0x39ab69(0x160)](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x2258bb),async 'dryRun'(_0x25868d){const _0x5e981e=_0x39ab69,_0x3188f0=await compilePlan(_0x2258bb,_0x25868d);return{'method':'SERVICE_TREE','url':_0x2258bb[_0x5e981e(0x17a)],'body':{'target':targetPreview(_0x3188f0),'params':_0x3188f0[_0x5e981e(0x193)]},'description':_0x5e981e(0x164)+_0x2258bb[_0x5e981e(0x17a)]};},async 'execute'(_0xf7fe6a){const _0x9d715c=_0x39ab69,_0x73e737=await compilePlan(_0x2258bb,_0xf7fe6a),_0xd1c63b=Date[_0x9d715c(0x19a)](),_0x417e39=await executePlan(_0x73e737,_0x2258bb,_0xf7fe6a),_0x95e21a=Date['now']()-_0xd1c63b;return{'ok':!![],'data':{'service':_0x4c2c6b[_0x9d715c(0x19c)],'command':_0x2258bb[_0x9d715c(0x17a)],'target':targetPreview(_0x73e737),'result':_0x417e39,'elapsed':_0x95e21a},'message':_0x9d715c(0x1ac)+_0x2258bb['cliPath']+_0x9d715c(0x151)+_0x95e21a+'ms'};}};}function dynamicCommandName(_0x14316a){const _0x5b9458=a39_0x3dab;return _0x14316a[_0x5b9458(0x170)]['slice'](0x1)[_0x5b9458(0x18b)]('\x20');}function riskTag(_0x1c793d){const _0x9e54f1=a39_0x3dab;return _0x1c793d===_0x9e54f1(0x1af)?'':_0x9e54f1(0x178)+_0x1c793d+']';}function flagToCommandFlag(_0x5e098c){const _0x116dc4=a39_0x3dab;return{'name':_0x5e098c[_0x116dc4(0x1aa)],'type':_0x5e098c['type']===_0x116dc4(0x14f)?_0x116dc4(0x159):_0x5e098c[_0x116dc4(0x15d)],'description':_0x5e098c['description']||_0x5e098c[_0x116dc4(0x1a4)],'required':_0x5e098c['required'],'default':isPrimitiveFlagDefault(_0x5e098c[_0x116dc4(0x158)])?_0x5e098c[_0x116dc4(0x158)]:undefined,'enum':_0x5e098c['enum']};}async function compilePlan(_0x114ffa,_0x45f2d3){const _0x568836=a39_0x3dab;return compileServiceTreeCommand(_0x114ffa,{'flags':_0x45f2d3[_0x568836(0x166)],'args':_0x45f2d3[_0x568836(0x1b1)],'context':await buildServiceContext(_0x114ffa,_0x45f2d3)});}async function buildServiceContext(_0x70c843,_0x3fa2b5){const _0x595cf5=a39_0x3dab,_0x3ae31e={'appCode':_0x3fa2b5[_0x595cf5(0x173)],'env':_0x3fa2b5[_0x595cf5(0x186)],'envName':_0x3fa2b5['envName']};if(!usesRuntimeContext(_0x70c843))return _0x3ae31e;const _0x48a2b1=await getLoginUserInfo(),_0x85c75f=pickFirst(_0x48a2b1[_0x595cf5(0x171)],_0x48a2b1['id']);return{..._0x3ae31e,'user':_0x48a2b1,'userId':_0x85c75f,'id':_0x48a2b1['id'],'username':pickFirst(_0x48a2b1['username'],_0x48a2b1[_0x595cf5(0x162)],_0x48a2b1[_0x595cf5(0x17d)]),'userName':_0x48a2b1[_0x595cf5(0x162)],'nickname':pickFirst(_0x48a2b1[_0x595cf5(0x177)],_0x48a2b1[_0x595cf5(0x1a0)]),'nickName':_0x48a2b1['nickName'],'tenantCode':_0x48a2b1[_0x595cf5(0x183)],'employeeId':_0x48a2b1['employeeId']};}function usesRuntimeContext(_0x323004){const _0x5e62be=a39_0x3dab;return _0x323004[_0x5e62be(0x18a)][_0x5e62be(0x190)](_0x47c27d=>typeof _0x47c27d[_0x5e62be(0x185)]===_0x5e62be(0x159)&&(_0x47c27d[_0x5e62be(0x185)][_0x5e62be(0x172)](_0x5e62be(0x167))||_0x47c27d['source'][_0x5e62be(0x172)](_0x5e62be(0x176))));}function pickFirst(..._0x2f1882){const _0x22f782=a39_0x3dab;return _0x2f1882[_0x22f782(0x187)](_0x4ba535=>_0x4ba535!==undefined&&_0x4ba535!==null);}async function executePlan(_0x1a4e27,_0x9a80d7,_0x1a6ec0){const _0x2a79f9=a39_0x3dab;if(_0x1a4e27['kind']===_0x2a79f9(0x15c)){const _0x313047=await resolveDatasetCode(_0x1a4e27,_0x9a80d7,_0x1a6ec0);return executeData(_0x313047,_0x1a4e27['command'],_0x1a4e27[_0x2a79f9(0x193)]);}if(_0x1a4e27['kind']===_0x2a79f9(0x169)){if(!_0x1a4e27[_0x2a79f9(0x1b0)])throw CliErrors[_0x2a79f9(0x197)](_0x2a79f9(0x1ac)+_0x9a80d7[_0x2a79f9(0x17a)]+_0x2a79f9(0x188));return executeSdkSql(_0x1a4e27['sqlCode'],normalizeScalarParams(_0x1a4e27[_0x2a79f9(0x193)]));}if(_0x1a4e27[_0x2a79f9(0x18f)]==='bff'){const _0x47a28e=_0x1a4e27[_0x2a79f9(0x1a7)]||_0x1a4e27[_0x2a79f9(0x15a)]||(_0x1a4e27['bffId']==null?'':String(_0x1a4e27[_0x2a79f9(0x189)]));if(!_0x47a28e)throw CliErrors[_0x2a79f9(0x197)](_0x2a79f9(0x1ac)+_0x9a80d7[_0x2a79f9(0x17a)]+_0x2a79f9(0x16c));return executeSdkBff(_0x47a28e,_0x1a4e27[_0x2a79f9(0x193)]);}throw CliErrors[_0x2a79f9(0x197)](_0x2a79f9(0x198)+_0x1a4e27[_0x2a79f9(0x18f)]);}async function resolveDatasetCode(_0xdfff98,_0x1ad62d,_0x57030a){const _0xef2b48=a39_0x3dab;if(_0xdfff98[_0xef2b48(0x181)])return _0xdfff98[_0xef2b48(0x181)];if(!_0xdfff98[_0xef2b48(0x18e)])throw CliErrors[_0xef2b48(0x197)](_0xef2b48(0x1ac)+_0x1ad62d['cliPath']+_0xef2b48(0x180));const _0x5d57d7=await listDatasets(_0x57030a[_0xef2b48(0x173)]),_0x1bea5b=_0x5d57d7[_0xef2b48(0x187)](_0x45e34f=>_0x45e34f[_0xef2b48(0x15e)]?.['tableName']===_0xdfff98[_0xef2b48(0x18e)]);if(!_0x1bea5b?.['code'])throw CliErrors[_0xef2b48(0x197)](_0xef2b48(0x1a3)+_0xdfff98[_0xef2b48(0x18e)]+'\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20'+_0x57030a[_0xef2b48(0x173)]+'.',_0xef2b48(0x1a9));return _0x1bea5b[_0xef2b48(0x182)];}function applyAppBinding(_0x289593,_0x3ca789,_0x309dc2){const _0x3ce2eb=a39_0x3dab,_0x1538d=_0x3ca789['target'][_0x3ce2eb(0x175)];if(!_0x1538d)return;const _0x3f6858=_0x289593[_0x3ce2eb(0x191)][_0x1538d];if(!_0x3f6858)throw CliErrors[_0x3ce2eb(0x197)]('Unknown\x20appRef\x20\x22'+_0x1538d+'\x22\x20in\x20service\x20command\x20'+_0x3ca789[_0x3ce2eb(0x17a)]+'.',_0x3ce2eb(0x17c));const _0x54dc45=_0x3f6858[_0x3ce2eb(0x1ab)]||_0x3f6858[_0x3ce2eb(0x173)];_0x54dc45&&!hasText(_0x309dc2[_0x3ce2eb(0x1ab)])&&(_0x309dc2[_0x3ce2eb(0x1ab)]=_0x54dc45),_0x3f6858[_0x3ce2eb(0x194)]&&!hasText(_0x309dc2[_0x3ce2eb(0x194)])&&!hasText(_0x309dc2[_0x3ce2eb(0x1ab)])&&(_0x309dc2[_0x3ce2eb(0x194)]=_0x3f6858[_0x3ce2eb(0x194)]),_0x3f6858[_0x3ce2eb(0x163)]&&!hasText(_0x309dc2['env'])&&(_0x309dc2[_0x3ce2eb(0x163)]=_0x3f6858[_0x3ce2eb(0x163)]);}function renderDynamicCommandHelp(_0x1c0af7){const _0x2ef5ee=a39_0x3dab,_0x324a54=[_0x2ef5ee(0x16e),_0x2ef5ee(0x192)+_0x1c0af7['target'][_0x2ef5ee(0x18f)],_0x2ef5ee(0x1a8)+_0x1c0af7[_0x2ef5ee(0x156)][_0x2ef5ee(0x17b)]];if(_0x1c0af7[_0x2ef5ee(0x156)][_0x2ef5ee(0x181)])_0x324a54[_0x2ef5ee(0x19e)](_0x2ef5ee(0x174)+_0x1c0af7[_0x2ef5ee(0x156)]['datasetCode']);if(_0x1c0af7[_0x2ef5ee(0x156)][_0x2ef5ee(0x18e)])_0x324a54['push'](_0x2ef5ee(0x152)+_0x1c0af7['target'][_0x2ef5ee(0x18e)]);if(_0x1c0af7['target'][_0x2ef5ee(0x1b0)])_0x324a54[_0x2ef5ee(0x19e)](_0x2ef5ee(0x16f)+_0x1c0af7[_0x2ef5ee(0x156)][_0x2ef5ee(0x1b0)]);if(_0x1c0af7[_0x2ef5ee(0x156)][_0x2ef5ee(0x1a7)])_0x324a54[_0x2ef5ee(0x19e)](_0x2ef5ee(0x195)+_0x1c0af7[_0x2ef5ee(0x156)][_0x2ef5ee(0x1a7)]);if(_0x1c0af7[_0x2ef5ee(0x18a)][_0x2ef5ee(0x196)]>0x0){_0x324a54['push']('',_0x2ef5ee(0x1a5));for(const _0x1286aa of _0x1c0af7['mapTo']){_0x324a54[_0x2ef5ee(0x19e)]('\x20\x20\x20\x20'+(_0x1286aa[_0x2ef5ee(0x185)]||'const')+'\x20->\x20'+_0x1286aa['target']+(_0x1286aa['operator']?'.'+_0x1286aa['operator']:''));}}return _0x324a54[_0x2ef5ee(0x18b)]('\x0a');}function targetPreview(_0x1b0224){const _0x17dd73=a39_0x3dab;return{'kind':_0x1b0224[_0x17dd73(0x18f)],'command':_0x1b0224['command'],'appRef':_0x1b0224['appRef'],'datasetCode':_0x1b0224[_0x17dd73(0x181)],'datatable':_0x1b0224[_0x17dd73(0x18e)],'sqlCode':_0x1b0224[_0x17dd73(0x1b0)],'bffCode':_0x1b0224['bffCode'],'bffId':_0x1b0224[_0x17dd73(0x189)],'functionName':_0x1b0224[_0x17dd73(0x1a7)]};}function normalizeScalarParams(_0x27eb6b){const _0x458433=a39_0x3dab;return Object[_0x458433(0x150)](Object[_0x458433(0x16d)](_0x27eb6b)[_0x458433(0x19f)](([,_0xf8b2f])=>typeof _0xf8b2f===_0x458433(0x159)||typeof _0xf8b2f==='number'));}function hasText(_0x5e6b20){const _0x2a678c=a39_0x3dab;return typeof _0x5e6b20===_0x2a678c(0x159)&&_0x5e6b20[_0x2a678c(0x168)]()['length']>0x0;}function isPrimitiveFlagDefault(_0x436c44){const _0x321cea=a39_0x3dab;return _0x436c44===undefined||typeof _0x436c44===_0x321cea(0x159)||typeof _0x436c44===_0x321cea(0x14d)||typeof _0x436c44===_0x321cea(0x16a);}function a39_0x9cce(){const _0x30563b=['bffId','mapTo','join','Use\x20`','276SxSBqi','datatable','kind','some','appBindings','\x20\x20\x20\x20kind:\x20\x20\x20\x20','params','app','\x20\x20\x20\x20functionName:\x20','length','validation','Unsupported\x20service\x20target\x20kind:\x20','\x20<command>\x20[flags]','now','`\x20to\x20inspect\x20the\x20manifest.','service','47735GRvAOP','push','filter','nickName','57501cJKlYM','1020tYKqXc','Cannot\x20resolve\x20datatable\x20\x22','name','\x20\x20MAP\x20TO','990rVRPAW','scriptName','\x20\x20\x20\x20command:\x20','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','cliName','appcode','Service\x20command\x20','117328hFrotN','5656QeYqxZ','read','sqlCode','args','number','padEnd','json','fromEntries','\x20completed\x20in\x20','\x20\x20\x20\x20datatable:\x20','risk','Run\x20service\x20command\x20','1074028TKRLDq','target','3267781VNAXAt','default','string','bffCode','219100FXxDlL','data','type','dbtableConfig','remainingArgs','map','tree','userName','env','Preview\x20dynamic\x20service\x20command:\x20','203YHtYhE','rawFlags','context.','trim','sql','boolean','normalizedManifest','\x20requires\x20target.functionName.','entries','\x20\x20SERVICE\x20TREE\x20TARGET','\x20\x20\x20\x20sqlCode:\x20','fullPath','userId','startsWith','appCode','\x20\x20\x20\x20datasetCode:\x20','appRef','ctx.','nickname','\x20\x20[','description','cliPath','command','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.','loginName','Commands:','commands','\x20requires\x20target.datasetCode\x20or\x20target.datatable.','datasetCode','code','tenantCode','slice','source','envName','find','\x20requires\x20target.sqlCode.'];a39_0x9cce=function(){return _0x30563b;};return a39_0x9cce();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x415e7f,_0x18e3d1){const _0x183ca6=a40_0x2cc4,_0x22fc64=_0x415e7f();while(!![]){try{const _0x133d28=parseInt(_0x183ca6(0xcb))/0x1+parseInt(_0x183ca6(0xc7))/0x2+-parseInt(_0x183ca6(0xd5))/0x3*(parseInt(_0x183ca6(0xdd))/0x4)+-parseInt(_0x183ca6(0xca))/0x5*(parseInt(_0x183ca6(0xd4))/0x6)+-parseInt(_0x183ca6(0xcf))/0x7*(parseInt(_0x183ca6(0xde))/0x8)+parseInt(_0x183ca6(0xe1))/0x9*(parseInt(_0x183ca6(0xd1))/0xa)+-parseInt(_0x183ca6(0xce))/0xb;if(_0x133d28===_0x18e3d1)break;else _0x22fc64['push'](_0x22fc64['shift']());}catch(_0x5e5b2d){_0x22fc64['push'](_0x22fc64['shift']());}}}(a40_0x38c3,0xe358b));function a40_0x2cc4(_0x2c617b,_0x449910){_0x2c617b=_0x2c617b-0xbc;const _0x38c3d7=a40_0x38c3();let _0x2cc407=_0x38c3d7[_0x2c617b];return _0x2cc407;}export function adaptServiceTreeManifestForLegacyFramework(_0x9cf6c){const _0x150043=a40_0x2cc4,_0x5365d3=cloneJsonValue(_0x9cf6c),_0xd1ab1f=[];if(!isObjectRecord(_0x5365d3))return{'manifest':_0x5365d3,'errors':_0xd1ab1f};return Array['isArray'](_0x5365d3['commands'])&&_0x5365d3[_0x150043(0xdc)][_0x150043(0xc8)]((_0xbdddbd,_0x5d322f)=>{const _0x3c88a3=_0x150043;if(!isObjectRecord(_0xbdddbd))return;adaptBffTarget(_0xbdddbd['target'],_0x3c88a3(0xc9)+_0x5d322f+'].target',_0xd1ab1f);}),adaptResources(_0x5365d3['resources'],_0x150043(0xc4),_0xd1ab1f),{'manifest':_0x5365d3,'errors':_0xd1ab1f};}function a40_0x38c3(){const _0x36b39b=['8039548pcyVFu','119pMNRTy','functionName\x20must\x20be\x20a\x20non-empty\x20string.','14230WTQOVG','scriptName','entries','3422586xsfYed','351QKpkCv','bff.exec','map','.actions.','hasOwnProperty','string','error','commands','35604pBWBsq','287808ysfuTe','fromEntries','.functionName','11061qEYzEd','.resources','.target','actions','target','kind','bff','Use\x20functionName;\x20scriptName\x20is\x20not\x20part\x20of\x20the\x20runtime\x20Service\x20Tree\x20contract.','.scriptName','push','prototype','isArray','$.resources','call','resources','3110590jHAFII','forEach','$.commands[','5WDQwXY','581357JRjzNO','trim','functionName'];a40_0x38c3=function(){return _0x36b39b;};return a40_0x38c3();}export function toPublicServiceTreeTarget(_0x207dfa){const _0x4fb93a=a40_0x2cc4,{scriptName:_0x2d3351,..._0x31ce2c}=_0x207dfa;return typeof _0x2d3351===_0x4fb93a(0xda)&&_0x2d3351[_0x4fb93a(0xcc)]()&&(_0x31ce2c[_0x4fb93a(0xcd)]=_0x2d3351),_0x31ce2c;}export function toPublicNormalizedServiceTree(_0x54463e){const _0x38dd17=a40_0x2cc4;return{..._0x54463e,'commands':_0x54463e[_0x38dd17(0xdc)][_0x38dd17(0xd7)](_0x5e65e6=>({..._0x5e65e6,'target':toPublicServiceTreeTarget(_0x5e65e6[_0x38dd17(0xbc)])}))};}function adaptResources(_0x422144,_0x1f748f,_0x2c262b){const _0x4f29fb=a40_0x2cc4;if(!isObjectRecord(_0x422144))return;for(const [_0x48fb17,_0x140bf3]of Object[_0x4f29fb(0xd3)](_0x422144)){if(!isObjectRecord(_0x140bf3))continue;const _0x33cc0b=_0x1f748f+'.'+_0x48fb17;if(isObjectRecord(_0x140bf3[_0x4f29fb(0xe4)]))for(const [_0x4f915b,_0x445f18]of Object['entries'](_0x140bf3[_0x4f29fb(0xe4)])){if(!isObjectRecord(_0x445f18))continue;const _0x502891=_0x33cc0b+_0x4f29fb(0xd8)+_0x4f915b,_0x201fdc=isObjectRecord(_0x445f18['target'])&&_0x445f18[_0x4f29fb(0xbc)][_0x4f29fb(0xbd)]==='bff';adaptBffTarget(_0x445f18['target'],_0x502891+_0x4f29fb(0xe3),_0x2c262b),(_0x201fdc||isBffAction(_0x445f18))&&adaptFunctionNameField(_0x445f18,_0x502891,_0x2c262b);}adaptResources(_0x140bf3[_0x4f29fb(0xc6)],_0x33cc0b+_0x4f29fb(0xe2),_0x2c262b);}}function adaptBffTarget(_0xf1654,_0x5812a8,_0x4c4c38){const _0x33212e=a40_0x2cc4;if(!isObjectRecord(_0xf1654)||_0xf1654[_0x33212e(0xbd)]!==_0x33212e(0xbe))return;adaptFunctionNameField(_0xf1654,_0x5812a8,_0x4c4c38);}function adaptFunctionNameField(_0x345625,_0x3487b4,_0x30d53a){const _0x313b97=a40_0x2cc4;Object['prototype'][_0x313b97(0xd9)][_0x313b97(0xc5)](_0x345625,'scriptName')&&_0x30d53a[_0x313b97(0xc1)]({'level':_0x313b97(0xdb),'path':_0x3487b4+_0x313b97(0xc0),'message':_0x313b97(0xbf)});if(Object[_0x313b97(0xc2)][_0x313b97(0xd9)]['call'](_0x345625,_0x313b97(0xcd))){if(typeof _0x345625[_0x313b97(0xcd)]!==_0x313b97(0xda)||!_0x345625[_0x313b97(0xcd)][_0x313b97(0xcc)]()){_0x30d53a[_0x313b97(0xc1)]({'level':_0x313b97(0xdb),'path':_0x3487b4+_0x313b97(0xe0),'message':_0x313b97(0xd0)}),delete _0x345625[_0x313b97(0xcd)];return;}_0x345625[_0x313b97(0xd2)]=_0x345625[_0x313b97(0xcd)],delete _0x345625[_0x313b97(0xcd)];}}function isBffAction(_0x43170a){const _0x1e16be=a40_0x2cc4;return _0x43170a[_0x1e16be(0xbd)]==='bff'||_0x43170a['action']===_0x1e16be(0xd6)||_0x43170a['target']===_0x1e16be(0xd6);}function cloneJsonValue(_0x3b4646){const _0x1ba829=a40_0x2cc4;if(Array[_0x1ba829(0xc3)](_0x3b4646))return _0x3b4646[_0x1ba829(0xd7)](_0x51cf74=>cloneJsonValue(_0x51cf74));if(isObjectRecord(_0x3b4646))return Object[_0x1ba829(0xdf)](Object['entries'](_0x3b4646)[_0x1ba829(0xd7)](([_0x52bd9a,_0x2ce2b9])=>[_0x52bd9a,cloneJsonValue(_0x2ce2b9)]));return _0x3b4646;}function isObjectRecord(_0x26fd7e){const _0xc25365=a40_0x2cc4;return Boolean(_0x26fd7e)&&typeof _0x26fd7e==='object'&&!Array[_0xc25365(0xc3)](_0x26fd7e);}
|
|
@@ -1 +1 @@
|
|
|
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
|
+
const a41_0xc3d6b=a41_0xcb0e;function a41_0xcb0e(_0x4db9c5,_0x1cf654){_0x4db9c5=_0x4db9c5-0xa0;const _0x38b438=a41_0x38b4();let _0xcb0ef6=_0x38b438[_0x4db9c5];return _0xcb0ef6;}(function(_0x32c2b3,_0x472291){const _0x441ea7=a41_0xcb0e,_0x15f4a1=_0x32c2b3();while(!![]){try{const _0x39694c=-parseInt(_0x441ea7(0xdd))/0x1*(-parseInt(_0x441ea7(0xa3))/0x2)+parseInt(_0x441ea7(0xcb))/0x3+parseInt(_0x441ea7(0xaa))/0x4*(-parseInt(_0x441ea7(0xa0))/0x5)+-parseInt(_0x441ea7(0xcc))/0x6*(parseInt(_0x441ea7(0xde))/0x7)+parseInt(_0x441ea7(0xd6))/0x8+parseInt(_0x441ea7(0xdf))/0x9*(parseInt(_0x441ea7(0xb7))/0xa)+parseInt(_0x441ea7(0xb1))/0xb*(-parseInt(_0x441ea7(0xa6))/0xc);if(_0x39694c===_0x472291)break;else _0x15f4a1['push'](_0x15f4a1['shift']());}catch(_0x20e629){_0x15f4a1['push'](_0x15f4a1['shift']());}}}(a41_0x38b4,0x49b21));function a41_0x38b4(){const _0x27fea9=['Local\x20service\x20not\x20found:\x20','imported','flags','\x20service(s).','\x20service\x20','commands','Imported\x20','entry','string','export','Service\x20manifest\x20validation\x20passed.','map','reduce','source','registry','42720UWMrOY','Local\x20service\x20code,\x20for\x20example\x20crm','import','632374LcgVBj','Updated','registryIndex','12mSxpbT','updated','str','Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json','12rYOPKU','version','errors','detail','Exported\x20service\x20','warnings','normalizedManifest','1396406oQlATj','Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','filePath','list','report','entries','30OQdmOB','file','kind','Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','cliPath','Remove\x20a\x20local\x20Service\x20Tree\x20manifest\x20from\x20the\x20runtime\x20registry','Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','read','type','required','hash','serviceCount','target','cliName','Service\x20registry\x20validation\x20passed.','write','manifest','registryServiceCode','Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json','serviceCode','64359COWrTj','618GgWAhU','lower\x20kebab-case\x20service\x20code','risk','\x20service(s),\x20updated\x20','manifests','Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json','replaced','registryPath','validate','name','1514000zOnlKY','service','length','WRITE','Export\x20a\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','Imported','description','1CMnPCZ','12278qzOfqf','324621HGUAxL'];a41_0x38b4=function(){return _0x27fea9;};return a41_0x38b4();}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_0xc3d6b(0xb8),'type':a41_0xc3d6b(0xe8),'required':!![],'description':'Service\x20Tree\x20manifest\x20file\x20path'},SERVICE_FLAG={'name':a41_0xc3d6b(0xd7),'type':a41_0xc3d6b(0xe8),'required':!![],'description':a41_0xc3d6b(0xa1),'pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':a41_0xc3d6b(0xcd)}};function summarizeService(_0x5ff294){const _0x3ae562=a41_0xc3d6b;return{'serviceCode':_0x5ff294[_0x3ae562(0xca)],'name':_0x5ff294[_0x3ae562(0xb0)][_0x3ae562(0xd7)][_0x3ae562(0xd5)],'version':_0x5ff294[_0x3ae562(0xab)],'importedAt':_0x5ff294['importedAt'],'source':_0x5ff294[_0x3ae562(0xed)],'commandCount':_0x5ff294[_0x3ae562(0xb0)][_0x3ae562(0xe5)]['length'],'commands':_0x5ff294[_0x3ae562(0xb0)]['commands'][_0x3ae562(0xeb)](_0x28ff0d=>({'path':_0x28ff0d['cliPath'],'description':_0x28ff0d[_0x3ae562(0xdc)],'risk':_0x28ff0d['risk'],'target':toPublicServiceTreeTarget(_0x28ff0d[_0x3ae562(0xc3)]),'flags':_0x28ff0d[_0x3ae562(0xe2)][_0x3ae562(0xeb)](_0x804057=>({'name':_0x804057[_0x3ae562(0xd5)],'cliName':_0x804057[_0x3ae562(0xc4)],'type':_0x804057[_0x3ae562(0xbf)],'required':_0x804057[_0x3ae562(0xc0)]===!![]}))}))};}function summarizeLoadedManifest(_0x5df366){const _0x2a9961=a41_0xc3d6b;return{'service':_0x5df366[_0x2a9961(0xb0)]?.[_0x2a9961(0xd7)],'version':_0x5df366[_0x2a9961(0xb0)]?.[_0x2a9961(0xab)],'commandCount':_0x5df366[_0x2a9961(0xb0)]?.['commands'][_0x2a9961(0xd8)]??0x0,'commands':_0x5df366[_0x2a9961(0xb0)]?.['commands'][_0x2a9961(0xeb)](_0x23c2ff=>({'path':_0x23c2ff['cliPath'],'risk':_0x23c2ff[_0x2a9961(0xce)],'target':toPublicServiceTreeTarget(_0x23c2ff[_0x2a9961(0xc3)])}))??[],'registryIndex':_0x5df366[_0x2a9961(0xa5)],'registryServiceCode':_0x5df366[_0x2a9961(0xc8)],'errors':_0x5df366[_0x2a9961(0xb5)][_0x2a9961(0xac)],'warnings':_0x5df366[_0x2a9961(0xb5)][_0x2a9961(0xaf)]};}export const serviceDefinitions=[{'service':a41_0xc3d6b(0xd7),'command':a41_0xc3d6b(0xd4),'description':a41_0xc3d6b(0xbd),'risk':a41_0xc3d6b(0xbe),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x43cd36){const _0x33c92b=a41_0xc3d6b,_0x3335e4=loadServiceManifestFromFile(_0x43cd36[_0x33c92b(0xa8)](_0x33c92b(0xb8)));if(!_0x3335e4[_0x33c92b(0xb5)]['ok'])return{'ok':![],'data':{'file':_0x3335e4[_0x33c92b(0xb3)],'hash':_0x3335e4[_0x33c92b(0xc1)],'kind':_0x3335e4[_0x33c92b(0xb9)],'serviceCount':_0x3335e4[_0x33c92b(0xd0)][_0x33c92b(0xd8)],'services':_0x3335e4[_0x33c92b(0xd0)]['map'](summarizeLoadedManifest),'errors':_0x3335e4['report']['errors'],'warnings':_0x3335e4[_0x33c92b(0xb5)]['warnings']},'message':formatValidationFailure(_0x3335e4[_0x33c92b(0xb5)])};if(_0x3335e4[_0x33c92b(0xb9)]===_0x33c92b(0xee)||_0x3335e4[_0x33c92b(0xd0)][_0x33c92b(0xd8)]!==0x1)return{'ok':!![],'data':{'file':_0x3335e4[_0x33c92b(0xb3)],'hash':_0x3335e4[_0x33c92b(0xc1)],'kind':_0x3335e4[_0x33c92b(0xb9)],'serviceCount':_0x3335e4[_0x33c92b(0xd0)][_0x33c92b(0xd8)],'commandCount':_0x3335e4[_0x33c92b(0xd0)][_0x33c92b(0xec)]((_0x4b7de4,_0x1fdb6d)=>_0x4b7de4+(_0x1fdb6d[_0x33c92b(0xb0)]?.[_0x33c92b(0xe5)][_0x33c92b(0xd8)]??0x0),0x0),'services':_0x3335e4[_0x33c92b(0xd0)][_0x33c92b(0xeb)](summarizeLoadedManifest),'warnings':_0x3335e4[_0x33c92b(0xb5)][_0x33c92b(0xaf)]},'message':_0x33c92b(0xc5)};return{'ok':!![],'data':{'file':_0x3335e4[_0x33c92b(0xb3)],'hash':_0x3335e4[_0x33c92b(0xc1)],'kind':_0x3335e4['kind'],'service':_0x3335e4[_0x33c92b(0xb0)]?.[_0x33c92b(0xd7)],'version':_0x3335e4[_0x33c92b(0xb0)]?.[_0x33c92b(0xab)],'commandCount':_0x3335e4[_0x33c92b(0xb0)]?.['commands']['length']??0x0,'commands':_0x3335e4[_0x33c92b(0xb0)]?.[_0x33c92b(0xe5)][_0x33c92b(0xeb)](_0x5acd8c=>({'path':_0x5acd8c[_0x33c92b(0xbb)],'risk':_0x5acd8c['risk'],'target':toPublicServiceTreeTarget(_0x5acd8c[_0x33c92b(0xc3)])})),'warnings':_0x3335e4[_0x33c92b(0xb5)][_0x33c92b(0xaf)]},'message':_0x33c92b(0xea)};}},{'service':a41_0xc3d6b(0xd7),'command':a41_0xc3d6b(0xa2),'description':a41_0xc3d6b(0xb2),'risk':a41_0xc3d6b(0xc6),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x2d67ad){const _0xc7c0ee=a41_0xc3d6b,_0x59434c=loadServiceManifestFromFile(_0x2d67ad[_0xc7c0ee(0xa8)]('file'));return{'method':_0xc7c0ee(0xd9),'url':getServiceRegistryPath(),'body':{'file':_0x59434c[_0xc7c0ee(0xb3)],'hash':_0x59434c[_0xc7c0ee(0xc1)],'kind':_0x59434c[_0xc7c0ee(0xb9)],'ok':_0x59434c[_0xc7c0ee(0xb5)]['ok'],'service':_0x59434c[_0xc7c0ee(0xb0)]?.[_0xc7c0ee(0xd7)],'version':_0x59434c[_0xc7c0ee(0xb0)]?.[_0xc7c0ee(0xab)],'serviceCount':_0x59434c[_0xc7c0ee(0xd0)][_0xc7c0ee(0xd8)],'services':_0x59434c[_0xc7c0ee(0xd0)][_0xc7c0ee(0xeb)](_0x19d2cf=>({'service':_0x19d2cf['normalizedManifest']?.['service'],'version':_0x19d2cf[_0xc7c0ee(0xb0)]?.['version'],'commandCount':_0x19d2cf[_0xc7c0ee(0xb0)]?.[_0xc7c0ee(0xe5)][_0xc7c0ee(0xd8)]??0x0,'errors':_0x19d2cf[_0xc7c0ee(0xb5)]['errors']})),'errors':_0x59434c[_0xc7c0ee(0xb5)][_0xc7c0ee(0xac)],'commandCount':_0x59434c[_0xc7c0ee(0xb0)]?.['commands'][_0xc7c0ee(0xd8)]??0x0},'description':_0xc7c0ee(0xa9)};},async 'execute'(_0x4e9596){const _0x1d0ee3=a41_0xc3d6b,_0x1aea93=importServiceManifest(_0x4e9596[_0x1d0ee3(0xa8)](_0x1d0ee3(0xb8)));if(_0x1aea93[_0x1d0ee3(0xb6)][_0x1d0ee3(0xd8)]!==0x1)return{'ok':!![],'data':{'registryPath':_0x1aea93[_0x1d0ee3(0xd3)],'imported':_0x1aea93['imported'],'updated':_0x1aea93[_0x1d0ee3(0xa7)],'serviceCount':_0x1aea93[_0x1d0ee3(0xc2)],'services':_0x1aea93[_0x1d0ee3(0xb6)][_0x1d0ee3(0xeb)](summarizeService)},'message':_0x1d0ee3(0xe6)+_0x1aea93['imported']+_0x1d0ee3(0xcf)+_0x1aea93['updated']+_0x1d0ee3(0xe3)};return{'ok':!![],'data':{'registryPath':_0x1aea93[_0x1d0ee3(0xd3)],'replaced':_0x1aea93[_0x1d0ee3(0xd2)],'imported':_0x1aea93[_0x1d0ee3(0xe1)],'updated':_0x1aea93[_0x1d0ee3(0xa7)],'serviceCount':_0x1aea93[_0x1d0ee3(0xc2)],'service':summarizeService(_0x1aea93[_0x1d0ee3(0xe7)])},'message':(_0x1aea93[_0x1d0ee3(0xd2)]?_0x1d0ee3(0xa4):_0x1d0ee3(0xdb))+_0x1d0ee3(0xe4)+_0x1aea93[_0x1d0ee3(0xe7)][_0x1d0ee3(0xca)]+'.'};}},{'service':a41_0xc3d6b(0xd7),'command':a41_0xc3d6b(0xe9),'description':a41_0xc3d6b(0xda),'risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x556026){const _0x3e4c0=a41_0xc3d6b,_0x12376d=getLocalServiceEntry(_0x556026[_0x3e4c0(0xa8)](_0x3e4c0(0xd7)));return{'method':_0x3e4c0(0xd9),'url':_0x556026['str'](_0x3e4c0(0xb8)),'body':{'service':_0x556026[_0x3e4c0(0xa8)](_0x3e4c0(0xd7)),'found':Boolean(_0x12376d),'version':_0x12376d?.[_0x3e4c0(0xab)],'source':_0x12376d?.['source']},'description':_0x3e4c0(0xd1)};},async 'execute'(_0x5b083f){const _0x5924c3=a41_0xc3d6b,_0x527248=exportServiceManifest(_0x5b083f[_0x5924c3(0xa8)](_0x5924c3(0xd7)),_0x5b083f['str'](_0x5924c3(0xb8)));return{'ok':!![],'data':{'registryPath':_0x527248['registryPath'],'file':_0x527248['filePath'],'service':summarizeService(_0x527248[_0x5924c3(0xe7)])},'message':_0x5924c3(0xae)+_0x527248[_0x5924c3(0xe7)][_0x5924c3(0xca)]+'.'};}},{'service':a41_0xc3d6b(0xd7),'command':a41_0xc3d6b(0xb4),'description':'List\x20locally\x20imported\x20Service\x20Tree\x20manifests','risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0x543fa1=a41_0xc3d6b,_0x1c2701=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x1c2701[_0x543fa1(0xd8)],'services':_0x1c2701[_0x543fa1(0xeb)](summarizeService)}};}},{'service':a41_0xc3d6b(0xd7),'command':'remove','description':a41_0xc3d6b(0xbc),'risk':a41_0xc3d6b(0xc6),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x391bf2){const _0x2a1ca6=a41_0xc3d6b,_0x101b11=getLocalServiceEntry(_0x391bf2[_0x2a1ca6(0xa8)](_0x2a1ca6(0xd7)));return{'method':_0x2a1ca6(0xd9),'url':getServiceRegistryPath(),'body':{'service':_0x391bf2['str'](_0x2a1ca6(0xd7)),'found':Boolean(_0x101b11),'version':_0x101b11?.[_0x2a1ca6(0xab)],'source':_0x101b11?.[_0x2a1ca6(0xed)]},'description':_0x2a1ca6(0xc9)};},async 'execute'(_0x22c117){const _0x2a996b=a41_0xc3d6b,_0x4cbb0a=removeServiceManifest(_0x22c117[_0x2a996b(0xa8)](_0x2a996b(0xd7)));return{'ok':!![],'data':{'registryPath':_0x4cbb0a['registryPath'],'serviceCount':_0x4cbb0a['serviceCount'],'service':summarizeService(_0x4cbb0a[_0x2a996b(0xe7)])},'message':'Removed\x20service\x20'+_0x4cbb0a[_0x2a996b(0xe7)][_0x2a996b(0xca)]+'.'};}},{'service':a41_0xc3d6b(0xd7),'command':a41_0xc3d6b(0xad),'description':a41_0xc3d6b(0xba),'risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x464568){const _0x3b8e0b=a41_0xc3d6b,_0x3b8de3=getLocalServiceEntry(_0x464568[_0x3b8e0b(0xa8)](_0x3b8e0b(0xd7)));if(!_0x3b8de3)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x464568[_0x3b8e0b(0xa8)](_0x3b8e0b(0xd7))},'message':_0x3b8e0b(0xe0)+_0x464568['str']('service')};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x3b8de3),'manifest':_0x3b8de3[_0x3b8e0b(0xc7)],'normalizedManifest':toPublicNormalizedServiceTree(_0x3b8de3[_0x3b8e0b(0xb0)])}};}}];
|
|
@@ -1 +1 @@
|
|
|
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
|
+
const a42_0x4d180e=a42_0x161c;(function(_0x41205c,_0x7bc667){const _0x8608b3=a42_0x161c,_0x560c50=_0x41205c();while(!![]){try{const _0x106d80=parseInt(_0x8608b3(0x156))/0x1+parseInt(_0x8608b3(0x15c))/0x2*(parseInt(_0x8608b3(0x127))/0x3)+parseInt(_0x8608b3(0x14a))/0x4*(parseInt(_0x8608b3(0x126))/0x5)+-parseInt(_0x8608b3(0x152))/0x6*(parseInt(_0x8608b3(0x128))/0x7)+-parseInt(_0x8608b3(0x11a))/0x8*(-parseInt(_0x8608b3(0x11e))/0x9)+-parseInt(_0x8608b3(0x12f))/0xa+-parseInt(_0x8608b3(0x13f))/0xb;if(_0x106d80===_0x7bc667)break;else _0x560c50['push'](_0x560c50['shift']());}catch(_0x1b427e){_0x560c50['push'](_0x560c50['shift']());}}}(a42_0x1200,0xba33b));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_0x4d180e(0x12b);export function getServiceRegistryPath(_0x5a89d8={}){const _0x409999=a42_0x4d180e;return resolve(_0x5a89d8[_0x409999(0x14d)]??homedir(),PRODUCT_CONFIG[_0x409999(0x117)],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x10ca1d={}){const _0x138ac3=a42_0x4d180e,_0x1fe6de=getServiceRegistryPath(_0x10ca1d);if(!existsSync(_0x1fe6de))return emptyServiceRegistry();try{const _0x150aa3=readFileSync(_0x1fe6de,_0x138ac3(0x10b));if(!_0x150aa3[_0x138ac3(0x10c)]())return emptyServiceRegistry();const _0x1762ce=JSON['parse'](_0x150aa3);if(_0x1762ce[_0x138ac3(0x148)]!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors['validation'](_0x138ac3(0x122)+String(_0x1762ce[_0x138ac3(0x148)]),_0x138ac3(0x12a)+_0x1fe6de+'.');if(!Array[_0x138ac3(0x120)](_0x1762ce['services']))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x1762ce[_0x138ac3(0x133)],'services':_0x1762ce[_0x138ac3(0x118)]};}catch(_0x7ff26b){if(_0x7ff26b instanceof Error&&_0x7ff26b[_0x138ac3(0x131)]===_0x138ac3(0x146))throw _0x7ff26b;throw CliErrors[_0x138ac3(0x110)](_0x138ac3(0x138)+_0x1fe6de,_0x138ac3(0x147));}}export function writeServiceRegistry(_0x29cdc1,_0xf88b6a={}){const _0x17687f=a42_0x4d180e,_0xf13bb8=getServiceRegistryPath(_0xf88b6a),_0x272b99=dirname(_0xf13bb8);!existsSync(_0x272b99)&&mkdirSync(_0x272b99,{'recursive':!![]});const _0x5e15ec=_0xf13bb8+_0x17687f(0x136);try{writeFileSync(_0x5e15ec,JSON[_0x17687f(0x145)](_0x29cdc1,null,0x2)+'\x0a',{'encoding':_0x17687f(0x10b),'mode':0x180}),renameSync(_0x5e15ec,_0xf13bb8);}catch(_0x7e3983){try{unlinkSync(_0x5e15ec);}catch{}if(_0x7e3983?.[_0x17687f(0x158)]===_0x17687f(0x129))throw CliErrors[_0x17687f(0x110)]('Cannot\x20write\x20service\x20registry:\x20'+_0xf13bb8);throw _0x7e3983;}return _0xf13bb8;}export function loadServiceManifestFromFile(_0x2db247){const _0x1b8ce2=a42_0x4d180e,_0x372da7=resolve(_0x2db247);if(!existsSync(_0x372da7))throw CliErrors[_0x1b8ce2(0x110)](_0x1b8ce2(0x140)+_0x2db247);let _0x23bc29;const _0x177369=readFileSync(_0x372da7,_0x1b8ce2(0x10b));try{_0x23bc29=JSON[_0x1b8ce2(0x113)](_0x177369);}catch{throw CliErrors[_0x1b8ce2(0x110)](_0x1b8ce2(0x11d)+_0x2db247,_0x1b8ce2(0x123));}const _0x587167=sha256(_0x177369),_0x38a402=extractLoadedServiceManifests(_0x23bc29,_0x587167),_0x59e22b=aggregateValidationReports(_0x38a402),_0x2585b4=_0x38a402[0x0];return{'filePath':_0x372da7,'hash':_0x587167,'kind':isServiceRegistryLike(_0x23bc29)?_0x1b8ce2(0x12c):'manifest','manifest':_0x2585b4?.[_0x1b8ce2(0x154)]??_0x23bc29,'report':_0x59e22b,'normalizedManifest':_0x38a402[_0x1b8ce2(0x13e)]===0x1?_0x2585b4?.[_0x1b8ce2(0x130)]:undefined,'manifests':_0x38a402};}function a42_0x1200(){const _0x178ed3=['sourceHash','homeDirName','services','].manifest.','158824sRGCUJ','].manifest','manifests','Invalid\x20service\x20manifest\x20JSON:\x20','558VsWYAY','push','isArray','startsWith','Unsupported\x20service\x20registry\x20schemaVersion:\x20','Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.','join','target','174140SUWyKf','11499yfQygE','876092DcKdEv','ENOENT','Remove\x20or\x20migrate\x20','service.json','registry','Local\x20service\x20not\x20found:\x20','source','13202470hSwSkR','normalizedManifest','name','message','updatedAt','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','kind','.tmp','sha256','Invalid\x20service\x20registry\x20JSON:\x20','Service\x20manifest\x20validation\x20failed:\x0a','service','map','filePath','splice','length','29442864gqdSTN','Service\x20manifest\x20file\x20not\x20found:\x20','warnings','hex','toISOString','commands','stringify','CliError','Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.','schemaVersion','serviceCode','156dgxSTL','file','slice','homeDir','errors','registryIndex','object','version','24VPIRTK','Service\x20registry\x20has\x20no\x20services\x20to\x20import.','manifest','string','1356281HyyXoF','report','code','missing','Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.','importedAt','686vAdifN','services\x20must\x20be\x20an\x20array','$.services[','Unsupported\x20schemaVersion:\x20','empty','utf8','trim','invalid','findIndex','flatMap','validation','path','digest','parse','cliPath','localeCompare'];a42_0x1200=function(){return _0x178ed3;};return a42_0x1200();}export function importServiceManifest(_0x337465,_0xf7c2b6={}){const _0x2d4723=a42_0x4d180e,_0x4f81a4=loadServiceManifestFromFile(_0x337465);if(!_0x4f81a4[_0x2d4723(0x157)]['ok'])throw CliErrors['validation'](formatValidationFailure(_0x4f81a4[_0x2d4723(0x157)]),_0x2d4723(0x15a));if(_0x4f81a4[_0x2d4723(0x11c)]['length']===0x0)throw CliErrors[_0x2d4723(0x110)](_0x2d4723(0x153),'Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.');const _0x2d186f=readServiceRegistry(_0xf7c2b6),_0x9008e5=(_0xf7c2b6['now']??(()=>new Date()))()[_0x2d4723(0x143)](),_0x3a975e=[];let _0xde6df0=0x0,_0x180057=0x0;for(const _0x5cece9 of _0x4f81a4['manifests']){if(!_0x5cece9[_0x2d4723(0x130)])continue;const _0x309d0a=_0x5cece9['normalizedManifest'][_0x2d4723(0x13a)]['code'],_0x393666={'serviceCode':_0x309d0a,'version':_0x5cece9['normalizedManifest']['version'],'importedAt':_0x9008e5,'source':{'type':_0x2d4723(0x14b),'path':_0x4f81a4[_0x2d4723(0x13c)],'hash':_0x5cece9[_0x2d4723(0x116)]},'manifest':_0x5cece9[_0x2d4723(0x154)],'normalizedManifest':_0x5cece9[_0x2d4723(0x130)]},_0x18fd00=_0x2d186f[_0x2d4723(0x118)][_0x2d4723(0x10e)](_0x4fb04f=>_0x4fb04f[_0x2d4723(0x149)]===_0x309d0a);_0x18fd00>=0x0?(_0x2d186f[_0x2d4723(0x118)][_0x18fd00]=_0x393666,_0x180057++):(_0x2d186f[_0x2d4723(0x118)][_0x2d4723(0x11f)](_0x393666),_0xde6df0++),_0x3a975e['push'](_0x393666);}_0x2d186f[_0x2d4723(0x118)]['sort']((_0x861cfa,_0x6c63f5)=>_0x861cfa[_0x2d4723(0x149)][_0x2d4723(0x115)](_0x6c63f5['serviceCode'])),_0x2d186f['updatedAt']=_0x9008e5;const _0x54a28d=writeServiceRegistry(_0x2d186f,_0xf7c2b6);return{'registryPath':_0x54a28d,'entry':_0x3a975e[0x0],'replaced':_0x3a975e[_0x2d4723(0x13e)]===0x1?_0x180057===0x1:_0x180057>0x0,'entries':_0x3a975e,'imported':_0xde6df0,'updated':_0x180057,'serviceCount':_0x2d186f[_0x2d4723(0x118)][_0x2d4723(0x13e)]};}export function exportServiceManifest(_0x3c30b2,_0xd5d1c3,_0x2ec56a={}){const _0x35a5a8=a42_0x4d180e,_0x3599cb=getServiceRegistryPath(_0x2ec56a),_0x3d8c03=getLocalServiceEntry(_0x3c30b2,_0x2ec56a);if(!_0x3d8c03)throw CliErrors[_0x35a5a8(0x110)](_0x35a5a8(0x12d)+_0x3c30b2,'Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.');const _0x34f7e8=resolve(_0xd5d1c3),_0x3acba6=dirname(_0x34f7e8);return!existsSync(_0x3acba6)&&mkdirSync(_0x3acba6,{'recursive':!![]}),writeFileSync(_0x34f7e8,JSON[_0x35a5a8(0x145)](_0x3d8c03[_0x35a5a8(0x154)],null,0x2)+'\x0a',{'encoding':'utf8','mode':0x180}),{'registryPath':_0x3599cb,'filePath':_0x34f7e8,'entry':_0x3d8c03};}export function removeServiceManifest(_0x22de4a,_0x5dd608={}){const _0x3234b3=a42_0x4d180e,_0x57e91f=readServiceRegistry(_0x5dd608),_0x242913=_0x22de4a[_0x3234b3(0x10c)](),_0x16de2f=_0x57e91f[_0x3234b3(0x118)][_0x3234b3(0x10e)](_0x4d3fd4=>_0x4d3fd4[_0x3234b3(0x149)]===_0x242913);if(_0x16de2f<0x0)throw CliErrors[_0x3234b3(0x110)](_0x3234b3(0x12d)+_0x242913,_0x3234b3(0x134));const [_0x4261ac]=_0x57e91f[_0x3234b3(0x118)][_0x3234b3(0x13d)](_0x16de2f,0x1),_0x39025f=(_0x5dd608['now']??(()=>new Date()))()[_0x3234b3(0x143)]();_0x57e91f[_0x3234b3(0x133)]=_0x39025f;const _0x2cc2aa=writeServiceRegistry(_0x57e91f,_0x5dd608);return{'registryPath':_0x2cc2aa,'entry':_0x4261ac,'serviceCount':_0x57e91f[_0x3234b3(0x118)][_0x3234b3(0x13e)]};}export function listLocalServices(_0x325978={}){return readServiceRegistry(_0x325978)['services'];}export function getLocalServiceEntry(_0x31cf4b,_0x2d4553={}){const _0x4a3939=a42_0x4d180e;return readServiceRegistry(_0x2d4553)[_0x4a3939(0x118)]['find'](_0x23d0b5=>_0x23d0b5['serviceCode']===_0x31cf4b[_0x4a3939(0x10c)]());}export function listLocalServiceTrees(_0x349cc4={}){const _0x3a9853=a42_0x4d180e;return readServiceRegistry(_0x349cc4)[_0x3a9853(0x118)][_0x3a9853(0x13b)](_0x1db229=>_0x1db229[_0x3a9853(0x130)]);}export function inspectServiceRegistry(_0x2b59ba={}){const _0x424afa=a42_0x4d180e,_0x2f97f9=getServiceRegistryPath(_0x2b59ba);if(!existsSync(_0x2f97f9))return emptyServiceRegistryInspection(_0x2f97f9,_0x424afa(0x159),![]);try{const _0x5d934c=readFileSync(_0x2f97f9,_0x424afa(0x10b));if(!_0x5d934c[_0x424afa(0x10c)]())return emptyServiceRegistryInspection(_0x2f97f9,_0x424afa(0x10a),!![]);const _0x428cf7=JSON[_0x424afa(0x113)](_0x5d934c);if(_0x428cf7[_0x424afa(0x148)]!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x2f97f9,'invalid',!![]),'schemaVersion':_0x428cf7[_0x424afa(0x148)],'message':_0x424afa(0x15f)+String(_0x428cf7[_0x424afa(0x148)])};if(!Array[_0x424afa(0x120)](_0x428cf7[_0x424afa(0x118)]))return{...emptyServiceRegistryInspection(_0x2f97f9,_0x424afa(0x10d),!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x428cf7[_0x424afa(0x133)],'message':_0x424afa(0x15d)};const _0x4ac9a2=_0x428cf7[_0x424afa(0x118)]['map'](summarizeLocalServiceEntry);return{'registryPath':_0x2f97f9,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x428cf7[_0x424afa(0x133)],'serviceCount':_0x4ac9a2[_0x424afa(0x13e)],'commandCount':_0x4ac9a2['reduce']((_0x1f4dfb,_0x39a6a8)=>_0x1f4dfb+_0x39a6a8['commandCount'],0x0),'services':_0x4ac9a2};}catch(_0x4119f1){return{...emptyServiceRegistryInspection(_0x2f97f9,_0x424afa(0x10d),!![]),'message':_0x4119f1 instanceof Error?_0x4119f1[_0x424afa(0x132)]:String(_0x4119f1)};}}export function formatValidationFailure(_0x5a0631){const _0x3b4857=a42_0x4d180e,_0x5d7166=_0x5a0631['errors']['map'](_0xd430e0=>_0xd430e0[_0x3b4857(0x111)]+':\x20'+_0xd430e0[_0x3b4857(0x132)]);return _0x3b4857(0x139)+_0x5d7166[_0x3b4857(0x124)]('\x0a');}function extractLoadedServiceManifests(_0x3e3eac,_0xab282){const _0x56d0d5=a42_0x4d180e;if(!isServiceRegistryLike(_0x3e3eac)){const _0x3a31e6=_0x3e3eac,{manifest:_0x264875,errors:_0x3854f8}=adaptServiceTreeManifestForLegacyFramework(_0x3a31e6),_0xf3b8f6=validateServiceTreeManifest(_0x264875),_0x2f88f5=mergeValidationErrors(_0xf3b8f6,_0x3854f8);return[{'manifest':_0x3a31e6,'report':_0x2f88f5,'normalizedManifest':_0x2f88f5['ok']?normalizeServiceTreeManifest(_0x264875):undefined,'sourceHash':_0xab282}];}return _0x3e3eac[_0x56d0d5(0x118)][_0x56d0d5(0x13b)]((_0x5856f3,_0x3e533e)=>{const _0x22d8cf=_0x56d0d5,_0x2a8644=isObjectRecord(_0x5856f3)?_0x5856f3[_0x22d8cf(0x154)]:undefined,{manifest:_0x312bba,errors:_0x366bdc}=adaptServiceTreeManifestForLegacyFramework(_0x2a8644),_0x8bf5ae=validateServiceTreeManifest(_0x312bba),_0x23d78c=mergeValidationErrors(_0x8bf5ae,_0x366bdc),_0x5edbd8=isObjectRecord(_0x5856f3)&&typeof _0x5856f3[_0x22d8cf(0x149)]===_0x22d8cf(0x155)?_0x5856f3[_0x22d8cf(0x149)]:undefined;return{'manifest':_0x2a8644,'report':_0x23d78c,'normalizedManifest':_0x23d78c['ok']?normalizeServiceTreeManifest(_0x312bba):undefined,'sourceHash':sha256(JSON[_0x22d8cf(0x145)](_0x2a8644,null,0x2)+'\x0a'),'registryIndex':_0x3e533e,'registryServiceCode':_0x5edbd8};});}function a42_0x161c(_0x2bd95c,_0x3d846f){_0x2bd95c=_0x2bd95c-0x10a;const _0x12005c=a42_0x1200();let _0x161cee=_0x12005c[_0x2bd95c];return _0x161cee;}function mergeValidationErrors(_0x2e1416,_0x345ba7){const _0x3ed23c=a42_0x4d180e,_0x59be47=_0x2e1416[_0x3ed23c(0x14e)][_0x3ed23c(0x13b)](_0x3c2031=>_0x3c2031[_0x3ed23c(0x132)]==='bff\x20target\x20requires\x20bffCode,\x20bffId,\x20or\x20scriptName.'?{..._0x3c2031,'message':'bff\x20target\x20requires\x20functionName.'}:_0x3c2031),_0xe57707=[..._0x345ba7,..._0x59be47];return{'ok':_0xe57707['length']===0x0,'errors':_0xe57707,'warnings':_0x2e1416['warnings']};}function aggregateValidationReports(_0x1be958){const _0x235251=a42_0x4d180e,_0x2ed7e6=_0x1be958[_0x235251(0x10f)](_0x186a3f=>_0x186a3f[_0x235251(0x14f)]===undefined?_0x186a3f[_0x235251(0x157)][_0x235251(0x14e)]:_0x186a3f[_0x235251(0x157)][_0x235251(0x14e)][_0x235251(0x13b)](_0x12b85d=>({..._0x12b85d,'path':prefixRegistryIssuePath(_0x186a3f[_0x235251(0x14f)],_0x12b85d[_0x235251(0x111)])}))),_0x11f122=_0x1be958['flatMap'](_0x2d5215=>_0x2d5215[_0x235251(0x14f)]===undefined?_0x2d5215['report'][_0x235251(0x141)]:_0x2d5215['report'][_0x235251(0x141)][_0x235251(0x13b)](_0x41495c=>({..._0x41495c,'path':prefixRegistryIssuePath(_0x2d5215[_0x235251(0x14f)],_0x41495c[_0x235251(0x111)])})));return{'ok':_0x2ed7e6[_0x235251(0x13e)]===0x0,'errors':_0x2ed7e6,'warnings':_0x11f122};}function prefixRegistryIssuePath(_0x5ef968,_0x1e6b10){const _0x1c9a7a=a42_0x4d180e;if(_0x1e6b10==='$')return _0x1c9a7a(0x15e)+_0x5ef968+_0x1c9a7a(0x11b);if(_0x1e6b10[_0x1c9a7a(0x121)]('$.'))return _0x1c9a7a(0x15e)+_0x5ef968+_0x1c9a7a(0x11b)+_0x1e6b10[_0x1c9a7a(0x14c)](0x1);if(_0x1e6b10[_0x1c9a7a(0x121)]('$['))return _0x1c9a7a(0x15e)+_0x5ef968+_0x1c9a7a(0x11b)+_0x1e6b10[_0x1c9a7a(0x14c)](0x1);return'$.services['+_0x5ef968+_0x1c9a7a(0x119)+_0x1e6b10;}function isServiceRegistryLike(_0x5e213f){const _0x28cb1e=a42_0x4d180e;return isObjectRecord(_0x5e213f)&&_0x5e213f[_0x28cb1e(0x148)]===SERVICE_REGISTRY_SCHEMA_VERSION&&Array[_0x28cb1e(0x120)](_0x5e213f[_0x28cb1e(0x118)]);}function isObjectRecord(_0x5addca){const _0x477187=a42_0x4d180e;return Boolean(_0x5addca)&&typeof _0x5addca===_0x477187(0x150)&&!Array[_0x477187(0x120)](_0x5addca);}function emptyServiceRegistryInspection(_0x255700,_0x47845d,_0x1042f4){return{'registryPath':_0x255700,'exists':_0x1042f4,'status':_0x47845d,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x25784d){const _0xc50c46=a42_0x4d180e,_0x722eef=_0x25784d[_0xc50c46(0x130)],_0x2d26fc=_0x722eef[_0xc50c46(0x144)][_0xc50c46(0x13b)](_0x325aba=>({'path':_0x325aba[_0xc50c46(0x114)],'description':_0x325aba['description'],'risk':_0x325aba['risk'],'targetKind':_0x325aba[_0xc50c46(0x125)][_0xc50c46(0x135)],'targetCommand':_0x325aba[_0xc50c46(0x125)]['command']}));return{'serviceCode':_0x25784d[_0xc50c46(0x149)],'name':_0x722eef[_0xc50c46(0x13a)]['name'],'description':_0x722eef[_0xc50c46(0x13a)]['description'],'version':_0x25784d[_0xc50c46(0x151)],'importedAt':_0x25784d[_0xc50c46(0x15b)],'source':_0x25784d[_0xc50c46(0x12e)],'commandCount':_0x2d26fc[_0xc50c46(0x13e)],'commands':_0x2d26fc};}function sha256(_0x2e55d6){const _0x19c5b3=a42_0x4d180e;return createHash(_0x19c5b3(0x137))['update'](_0x2e55d6)[_0x19c5b3(0x112)](_0x19c5b3(0x142));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a43_0x2b0241=a43_0x3de7;(function(_0x29451b,_0x4bd1dd){const _0x5aadb9=a43_0x3de7,_0xc9efd=_0x29451b();while(!![]){try{const _0x16bfd4=parseInt(_0x5aadb9(0x116))/0x1+-parseInt(_0x5aadb9(0x11c))/0x2*(parseInt(_0x5aadb9(0xfb))/0x3)+-parseInt(_0x5aadb9(0x114))/0x4*(-parseInt(_0x5aadb9(0x109))/0x5)+-parseInt(_0x5aadb9(0x112))/0x6*(-parseInt(_0x5aadb9(0x10e))/0x7)+parseInt(_0x5aadb9(0x102))/0x8*(parseInt(_0x5aadb9(0x115))/0x9)+parseInt(_0x5aadb9(0x105))/0xa*(-parseInt(_0x5aadb9(0xfe))/0xb)+-parseInt(_0x5aadb9(0x117))/0xc;if(_0x16bfd4===_0x4bd1dd)break;else _0xc9efd['push'](_0xc9efd['shift']());}catch(_0x3e0f7e){_0xc9efd['push'](_0xc9efd['shift']());}}}(a43_0x8b55,0x1f39e));import{existsSync,lstatSync,mkdirSync,writeFileSync}from'node:fs';import{dirname,resolve}from'node:path';function a43_0x3de7(_0xd4b801,_0x23672a){_0xd4b801=_0xd4b801-0xf5;const _0x8b55f8=a43_0x8b55();let _0x3de72a=_0x8b55f8[_0xd4b801];return _0x3de72a;}import{CliErrors}from'../../../errors.js';import{writeCliSideChannelLine}from'../../../utils/write-cli-side-channel.js';import{CREATE_NAME_FLAG,FORCE_FLAG,TARGET_FLAG,TYPE_FLAG}from'../flags.js';import{DEFAULT_SKILL_TARGET,renderSkillTemplate}from'../templates.js';export const createCommand={'service':a43_0x2b0241(0xf8),'command':a43_0x2b0241(0xfd),'description':a43_0x2b0241(0x118),'risk':a43_0x2b0241(0x103),'requiresAuth':![],'requiresAppCode':![],'flags':[CREATE_NAME_FLAG,TYPE_FLAG,TARGET_FLAG,FORCE_FLAG],async 'dryRun'(_0x20614f){const _0x257fc1=a43_0x2b0241,_0x2b25ed=buildSkillCreatePlan(_0x20614f[_0x257fc1(0xf7)]('name'),_0x20614f['str']('type'),_0x20614f[_0x257fc1(0xf7)](_0x257fc1(0x108)));return{'method':_0x257fc1(0x10f),'url':_0x2b25ed[_0x257fc1(0x10d)],'body':{'skillName':_0x2b25ed[_0x257fc1(0x104)]['skillName'],'type':_0x2b25ed[_0x257fc1(0x104)][_0x257fc1(0x107)],'selfContained':!![],'files':_0x2b25ed[_0x257fc1(0x104)][_0x257fc1(0x10a)][_0x257fc1(0xf5)](_0x41f0de=>_0x41f0de[_0x257fc1(0xfc)])},'description':_0x257fc1(0xfa)};},async 'execute'(_0x362468){const _0x14489c=a43_0x2b0241,_0x52f823=buildSkillCreatePlan(_0x362468[_0x14489c(0xf7)](_0x14489c(0x113)),_0x362468[_0x14489c(0xf7)](_0x14489c(0x107)),_0x362468[_0x14489c(0xf7)]('target'));return writeSkillDraft(_0x52f823,_0x362468[_0x14489c(0x111)](_0x14489c(0x11d))),{'ok':!![],'data':{'skillName':_0x52f823[_0x14489c(0x104)][_0x14489c(0x10b)],'type':_0x52f823[_0x14489c(0x104)][_0x14489c(0x107)],'dir':_0x52f823[_0x14489c(0x10d)],'files':_0x52f823[_0x14489c(0x104)][_0x14489c(0x10a)][_0x14489c(0xf5)](_0x46edb5=>_0x46edb5[_0x14489c(0xfc)])},'message':_0x14489c(0x106)+_0x52f823[_0x14489c(0x104)][_0x14489c(0x10b)]};}};function buildSkillCreatePlan(_0x33e99a,_0x2bef63,_0x292f14){const _0x459966=a43_0x2b0241,_0x459da1=_0x2bef63['trim'](),_0x4f1c2b=renderSkillTemplate({'skillName':_0x33e99a,'type':_0x459da1});!_0x459da1&&writeCliSideChannelLine(_0x459966(0x11b));const _0x266aa8=resolve(normalizeSkillTarget(_0x292f14));return{'rendered':_0x4f1c2b,'targetRoot':_0x266aa8,'skillDir':resolve(_0x266aa8,_0x4f1c2b[_0x459966(0x10b)])};}function a43_0x8b55(){const _0x4898cc=['validation','Create\x20a\x20local\x20runtime\x20Skill\x20draft\x20without\x20uploading\x20or\x20publishing\x20it.','978DUVUVU','path','create','53108gDsEqC','trim','utf8','Skill\x20path\x20already\x20exists\x20and\x20is\x20not\x20a\x20writable\x20directory:\x20','30392nNbSDb','write','rendered','340OqzehA','Created\x20local\x20Skill\x20draft\x20','type','target','39730hAhOgv','files','skillName','Pass\x20--force\x20to\x20overwrite\x20generated\x20template\x20files.','skillDir','2345IoXfdo','WRITE','Skill\x20directory\x20already\x20exists:\x20','bool','3414izohwh','name','36RVwopq','63miwVld','183989ScDeqf','1342452lwJEQy','Create\x20a\x20local\x20self-contained\x20runtime\x20Skill\x20draft','isDirectory','Refusing\x20to\x20overwrite\x20symlink:\x20','Omitting\x20--type\x20is\x20deprecated;\x20defaulting\x20to\x20write\x20for\x20compatibility.\x20Pass\x20--type\x20read\x20or\x20--type\x20write\x20explicitly.','422HmNscs','force','map','isSymbolicLink','str','skill'];a43_0x8b55=function(){return _0x4898cc;};return a43_0x8b55();}function normalizeSkillTarget(_0x23ed33){const _0x158e4d=a43_0x2b0241;return(_0x23ed33||DEFAULT_SKILL_TARGET)[_0x158e4d(0xff)]()||DEFAULT_SKILL_TARGET;}function writeSkillDraft(_0x34fea1,_0x46e2df){const _0x48f132=a43_0x2b0241;if(existsSync(_0x34fea1[_0x48f132(0x10d)])){const _0x2090fd=lstatSync(_0x34fea1[_0x48f132(0x10d)]);if(!_0x2090fd[_0x48f132(0x119)]()||_0x2090fd['isSymbolicLink']())throw CliErrors['validation'](_0x48f132(0x101)+_0x34fea1[_0x48f132(0x10d)]);if(!_0x46e2df)throw CliErrors[_0x48f132(0xf9)](_0x48f132(0x110)+_0x34fea1[_0x48f132(0x10d)],_0x48f132(0x10c));}for(const _0x94e018 of _0x34fea1['rendered'][_0x48f132(0x10a)]){const _0x315c64=resolve(_0x34fea1[_0x48f132(0x10d)],_0x94e018[_0x48f132(0xfc)]),_0x224f2c=dirname(_0x315c64);mkdirSync(_0x224f2c,{'recursive':!![]});if(existsSync(_0x315c64)&&lstatSync(_0x315c64)[_0x48f132(0xf6)]())throw CliErrors[_0x48f132(0xf9)](_0x48f132(0x11a)+_0x315c64);writeFileSync(_0x315c64,_0x94e018['content'],_0x48f132(0x100));}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a44_0x3d8803=a44_0x1332;(function(_0x2a238a,_0x456d74){const _0x9d0d66=a44_0x1332,_0x5247af=_0x2a238a();while(!![]){try{const _0x5ce73f=parseInt(_0x9d0d66(0xe5))/0x1+-parseInt(_0x9d0d66(0xd9))/0x2+parseInt(_0x9d0d66(0xbd))/0x3*(parseInt(_0x9d0d66(0xc8))/0x4)+-parseInt(_0x9d0d66(0xe8))/0x5*(parseInt(_0x9d0d66(0xd3))/0x6)+parseInt(_0x9d0d66(0xc9))/0x7*(-parseInt(_0x9d0d66(0xc0))/0x8)+parseInt(_0x9d0d66(0xe7))/0x9*(-parseInt(_0x9d0d66(0xeb))/0xa)+parseInt(_0x9d0d66(0xe2))/0xb*(parseInt(_0x9d0d66(0xd4))/0xc);if(_0x5ce73f===_0x456d74)break;else _0x5247af['push'](_0x5247af['shift']());}catch(_0x31e9e){_0x5247af['push'](_0x5247af['shift']());}}}(a44_0x3f21,0xc7a53));function a44_0x3f21(){const _0x59f88c=['version','888144JkTOVR','scope','install','action','skill','Installed\x20','filter','personal','Business\x20Skill\x20installation\x20requires\x20authentication.\x20Run\x20`lovrabet\x20auth\x20login`,\x20or\x20use\x20`lovrabet\x20cli-skill\x20install`\x20for\x20CLI\x20Built-in\x20Skill\x20setup.','9603836AAooPD','envName','map','815760UvZOOz','../../../skills/runtime-skill-sync.js','3528MTnaEW','70gQWqME','global','push','36230WAUDub','project','6ylFUFl','\x20company\x20Skill(s).','removed','2456024DXPqxI','skillCode','trim','includes','skipped','company','flatMap','accessKey','3189160cIiOsR','7ulwpqW','unchanged','all','appCode','reduce','force','created','code','bool','length','126162WLOYCe','12jRnxgS','authRequired','str','skillRoots'];a44_0x3f21=function(){return _0x59f88c;};return a44_0x3f21();}import{CliErrors}from'../../../errors.js';import{CODE_FLAG,FORCE_FLAG,PROJECT_TARGET_FLAG,SCOPE_FLAG}from'../flags.js';import{normalizeSyncScopes}from'../scopes.js';function a44_0x1332(_0x585a4a,_0x1832da){_0x585a4a=_0x585a4a-0xbc;const _0x3f21e2=a44_0x3f21();let _0x133276=_0x3f21e2[_0x585a4a];return _0x133276;}import{summarizeRuntimeSkill}from'../summary.js';export const installCommand={'service':a44_0x3d8803(0xdd),'command':a44_0x3d8803(0xdb),'description':'Install\x20current-app\x20business\x20Skills\x20into\x20user-level\x20Agent\x20skill\x20directories','risk':'write','requiresAuth':!![],'requiresAppCode':!![],'hasFormat':![],'flags':[CODE_FLAG,SCOPE_FLAG,FORCE_FLAG,PROJECT_TARGET_FLAG],async 'execute'(_0xd60ac8){return syncRuntimeSkills(_0xd60ac8);}};async function syncRuntimeSkills(_0x35c14e){const _0x53b8e2=a44_0x3d8803,{downloadRuntimeSkillPackage:_0x3247f8,listRuntimeSkills:_0x4408c9}=await import('../../../core/api-client.js'),{linkEffectiveRuntimeSkills:_0x23fa9d,materializeRuntimeSkill:_0x88149c,pruneStaleRuntimeSkillCache:_0x46a1fb,pruneStaleRuntimeSkillLinks:_0x270ee4,resolveRuntimeSkillInstallTarget:_0x33d6ed}=await import(_0x53b8e2(0xe6)),_0xd9e6f5=_0x35c14e[_0x53b8e2(0xd6)](_0x53b8e2(0xd0)),_0x59b460=normalizeSyncScopes(_0x35c14e[_0x53b8e2(0xd6)](_0x53b8e2(0xda))),_0x46b633=_0x35c14e[_0x53b8e2(0xe3)]??'production',_0x30039c=_0x35c14e[_0x53b8e2(0xc7)],_0x5cd2bc=_0x35c14e[_0x53b8e2(0xd1)](_0x53b8e2(0xce));if(!_0x30039c)throw CliErrors[_0x53b8e2(0xd5)](_0x53b8e2(0xe1));const _0x3554ef=_0x33d6ed(_0x35c14e[_0x53b8e2(0xcc)],_0x35c14e['bool'](_0x53b8e2(0xbc))?_0x53b8e2(0xbc):'global'),_0x2cb8c7=_0x33d6ed(_0x35c14e[_0x53b8e2(0xcc)],_0x3554ef[_0x53b8e2(0xda)]==='project'?_0x53b8e2(0xe9):_0x53b8e2(0xbc)),_0x2b1436=await Promise[_0x53b8e2(0xcb)](_0x59b460[_0x53b8e2(0xe4)](_0x28d4c0=>_0x4408c9({'appCode':_0x35c14e[_0x53b8e2(0xcc)],'scope':_0x28d4c0,'code':_0xd9e6f5[_0x53b8e2(0xc2)]()||undefined}))),_0x1d6d2d=_0x59b460['includes'](_0x53b8e2(0xe0))?_0x2b1436[_0x53b8e2(0xc6)]((_0x5266a2,_0x3b6667)=>_0x59b460[_0x3b6667]===_0x53b8e2(0xe0)?_0x5266a2[_0x53b8e2(0xe0)]:[]):[],_0x3bc385=_0x59b460[_0x53b8e2(0xc3)]('company')?_0x2b1436['flatMap']((_0x2b8a90,_0x54bfc6)=>_0x59b460[_0x54bfc6]===_0x53b8e2(0xc5)?_0x2b8a90[_0x53b8e2(0xc5)]:[]):[],_0x59e4ec=new Set([..._0x1d6d2d[_0x53b8e2(0xe4)](_0xc160e1=>_0xc160e1['skillCode']?.[_0x53b8e2(0xc2)]())[_0x53b8e2(0xdf)](_0x35d57e=>Boolean(_0x35d57e)),..._0x3bc385[_0x53b8e2(0xe4)](_0x9cad5b=>_0x9cad5b[_0x53b8e2(0xc1)]?.[_0x53b8e2(0xc2)]())[_0x53b8e2(0xdf)](_0x3e83d9=>Boolean(_0x3e83d9))]),_0x4f1a7f=_0xd9e6f5[_0x53b8e2(0xc2)]()?[_0xd9e6f5[_0x53b8e2(0xc2)]()]:undefined,_0x209411=_0x59b460[_0x53b8e2(0xd2)]===0x2&&_0x59b460[_0x53b8e2(0xc3)](_0x53b8e2(0xe0))&&_0x59b460['includes'](_0x53b8e2(0xc5)),_0xc72eef=_0x209411?_0x270ee4(_0x3554ef,_0x59e4ec,_0x4f1a7f):[],_0x551483=_0x46a1fb({'env':_0x46b633,'accessKey':_0x30039c,'appCode':_0x35c14e[_0x53b8e2(0xcc)],'activeSkillCodes':_0x59e4ec,'pruneSkillCodes':_0x4f1a7f,'scopes':_0x59b460,'protectedLinkRoots':_0x2cb8c7['skillRoots']}),_0x4320ba=[];for(const _0x29e7e2 of _0x1d6d2d){_0x4320ba[_0x53b8e2(0xea)](_0x88149c(_0x29e7e2,_0x53b8e2(0xe0),{'env':_0x46b633,'accessKey':_0x30039c,'appCode':_0x35c14e['appCode'],'force':_0x5cd2bc,'packageBytes':await downloadSkillPackage(_0x29e7e2,'personal',_0x35c14e[_0x53b8e2(0xcc)],_0x3247f8)}));}for(const _0x10e0f8 of _0x3bc385){_0x4320ba[_0x53b8e2(0xea)](_0x88149c(_0x10e0f8,_0x53b8e2(0xc5),{'env':_0x46b633,'accessKey':_0x30039c,'appCode':_0x35c14e['appCode'],'force':_0x5cd2bc,'packageBytes':await downloadSkillPackage(_0x10e0f8,_0x53b8e2(0xc5),_0x35c14e[_0x53b8e2(0xcc)],_0x3247f8)}));}const _0x24d2bb=_0x23fa9d(_0x4320ba,_0x3554ef),_0x380f79=countLinkActions(_0x24d2bb);return{'ok':!![],'data':{'appCode':_0x35c14e[_0x53b8e2(0xcc)],..._0x3554ef[_0x53b8e2(0xda)]===_0x53b8e2(0xbc)?{'installTarget':{'scope':_0x3554ef[_0x53b8e2(0xda)],'skillRoots':[..._0x3554ef[_0x53b8e2(0xd7)]]}}:{},'personal':_0x1d6d2d['length'],'company':_0x3bc385['length'],'materialized':_0x4320ba[_0x53b8e2(0xd2)],'links':{'total':_0x24d2bb[_0x53b8e2(0xd2)],'created':_0x380f79[_0x53b8e2(0xcf)]??0x0,'updated':_0x380f79['updated']??0x0,'unchanged':_0x380f79[_0x53b8e2(0xca)]??0x0,'skipped':0x0,'conflicted':0x0},'pruned':{'links':_0xc72eef['filter'](_0x3b2013=>_0x3b2013[_0x53b8e2(0xdc)]===_0x53b8e2(0xbf))[_0x53b8e2(0xd2)],'cacheDirs':_0x551483[_0x53b8e2(0xdf)](_0x1441d0=>_0x1441d0[_0x53b8e2(0xdc)]===_0x53b8e2(0xbf))[_0x53b8e2(0xd2)],'skipped':[..._0xc72eef,..._0x551483][_0x53b8e2(0xdf)](_0x1941a1=>_0x1941a1['action']===_0x53b8e2(0xc4))[_0x53b8e2(0xd2)]},'skills':{'personal':_0x1d6d2d[_0x53b8e2(0xe4)](summarizeRuntimeSkill),'company':_0x3bc385[_0x53b8e2(0xe4)](summarizeRuntimeSkill)}},'message':_0x53b8e2(0xde)+_0x1d6d2d[_0x53b8e2(0xd2)]+'\x20personal\x20and\x20'+_0x3bc385[_0x53b8e2(0xd2)]+_0x53b8e2(0xbe)};}async function downloadSkillPackage(_0x47c2e6,_0x545dce,_0x1dbd77,_0x24d338){const _0x42a3f1=a44_0x3d8803,_0x14086b=_0x47c2e6[_0x42a3f1(0xd8)]?.[_0x42a3f1(0xc2)]();return _0x14086b?_0x24d338(_0x545dce,_0x47c2e6[_0x42a3f1(0xc1)],_0x1dbd77,_0x14086b):_0x24d338(_0x545dce,_0x47c2e6[_0x42a3f1(0xc1)],_0x1dbd77);}function countLinkActions(_0x1c0083){const _0x269020=a44_0x3d8803;return _0x1c0083[_0x269020(0xcd)]((_0xbc7006,_0x3c80ca)=>{const _0x57c2e7=_0x269020;return _0xbc7006[_0x3c80ca['action']]=(_0xbc7006[_0x3c80ca[_0x57c2e7(0xdc)]]??0x0)+0x1,_0xbc7006;},{});}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
const a45_0x2a86ae=a45_0xedc6;function a45_0x5dab(){const _0x16346e=['../../../core/api-client.js','2VVmqlI','1009265EfgIYu','project','builtin','str','envName','642114wWedAX','length','list','16ohkZJp','174921oZIoGF','personal','trim','code','skill','../../../skills/runtime-skill-sync.js','1043145ifoRRL','accessKey','map','global','remote','scope','company','Listed\x20','production','971453ytDjDk','\x20remote\x20Skill(s).','\x20local\x20Skill(s).','appCode','read','bool','local','469204xgIPKq','authRequired','filter','7389950KErkQQ','3Cphivf'];a45_0x5dab=function(){return _0x16346e;};return a45_0x5dab();}(function(_0x329f68,_0x16a563){const _0x2a30d0=a45_0xedc6,_0x2f3440=_0x329f68();while(!![]){try{const _0x201203=parseInt(_0x2a30d0(0x8f))/0x1*(-parseInt(_0x2a30d0(0x85))/0x2)+-parseInt(_0x2a30d0(0x83))/0x3*(parseInt(_0x2a30d0(0x7f))/0x4)+parseInt(_0x2a30d0(0x86))/0x5+-parseInt(_0x2a30d0(0x8b))/0x6+-parseInt(_0x2a30d0(0x78))/0x7+parseInt(_0x2a30d0(0x8e))/0x8*(-parseInt(_0x2a30d0(0x6f))/0x9)+parseInt(_0x2a30d0(0x82))/0xa;if(_0x201203===_0x16a563)break;else _0x2f3440['push'](_0x2f3440['shift']());}catch(_0xcfb67a){_0x2f3440['push'](_0x2f3440['shift']());}}}(a45_0x5dab,0x29c0a));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_0xedc6(_0x312c1d,_0x4fe383){_0x312c1d=_0x312c1d-0x6c;const _0x5dab6b=a45_0x5dab();let _0xedc6e7=_0x5dab6b[_0x312c1d];return _0xedc6e7;}export const listCommand={'service':a45_0x2a86ae(0x6d),'command':a45_0x2a86ae(0x8d),'description':'List\x20runtime\x20Skills\x20from\x20remote\x20or\x20CLI-managed\x20local\x20cache','risk':a45_0x2a86ae(0x7c),'flags':[CODE_FLAG,LIST_SCOPE_FLAG,LOCAL_FLAG,PROJECT_TARGET_FLAG],async 'execute'(_0x4cf267){const _0x443277=a45_0x2a86ae,_0x355f33=_0x4cf267[_0x443277(0x89)](_0x443277(0x6c)),_0x461bb4=normalizeListScope(_0x4cf267[_0x443277(0x89)](_0x443277(0x74)));if(_0x4cf267['bool'](_0x443277(0x7e))){const _0x5f342b=_0x4cf267[_0x443277(0x70)];if(!_0x5f342b)throw CliErrors[_0x443277(0x80)]();const {listLocalRuntimeSkills:_0x1e5256,resolveRuntimeSkillInstallTarget:_0x5cbb4d}=await import(_0x443277(0x6e)),_0x2369a1=_0x5cbb4d(_0x4cf267[_0x443277(0x7b)],_0x4cf267[_0x443277(0x7d)](_0x443277(0x87))?'project':_0x443277(0x72)),_0x318422=_0x1e5256({'env':_0x4cf267[_0x443277(0x8a)]??_0x443277(0x77),'accessKey':_0x5f342b,'appCode':_0x4cf267[_0x443277(0x7b)],'scopes':listScopeToRuntimeScopes(_0x461bb4),'code':_0x355f33[_0x443277(0x91)]()||undefined},_0x2369a1),_0x26f28d=groupLocalRuntimeSkills(_0x318422);return{'ok':!![],'data':{'appCode':_0x4cf267[_0x443277(0x7b)],'source':'local',..._0x2369a1[_0x443277(0x74)]===_0x443277(0x87)?{'installScope':_0x2369a1[_0x443277(0x74)]}:{},'scope':_0x461bb4,'total':_0x318422['length'],'personal':_0x26f28d[_0x443277(0x90)][_0x443277(0x8c)],'company':_0x26f28d['company']['length'],'items':_0x318422[_0x443277(0x71)](summarizeLocalRuntimeSkill),'skills':{'personal':_0x26f28d[_0x443277(0x90)][_0x443277(0x71)](summarizeLocalRuntimeSkill),'company':_0x26f28d['company'][_0x443277(0x71)](summarizeLocalRuntimeSkill)}},'message':_0x443277(0x76)+_0x318422[_0x443277(0x8c)]+_0x443277(0x7a)};}const {listRuntimeSkills:_0x56a429}=await import(_0x443277(0x84)),_0x553c5d=await _0x56a429({'appCode':_0x4cf267[_0x443277(0x7b)],'scope':listScopeToRemoteScope(_0x461bb4),'code':_0x355f33[_0x443277(0x91)]()||undefined}),_0x224f4e=shouldListScope(_0x461bb4,_0x443277(0x90))?_0x553c5d[_0x443277(0x90)]??[]:[],_0x3a76ff=shouldListScope(_0x461bb4,_0x443277(0x75))?_0x553c5d[_0x443277(0x75)]??[]:[],_0x5529f5=[..._0x224f4e,..._0x3a76ff];return{'ok':!![],'data':{'appCode':_0x4cf267['appCode'],'source':_0x443277(0x73),'scope':_0x461bb4,'total':_0x5529f5[_0x443277(0x8c)],'personal':_0x224f4e['length'],'company':_0x3a76ff[_0x443277(0x8c)],'items':_0x5529f5['map'](summarizeRuntimeSkill),'skills':{'personal':_0x224f4e['map'](summarizeRuntimeSkill),'company':_0x3a76ff['map'](summarizeRuntimeSkill)}},'message':_0x443277(0x76)+_0x5529f5[_0x443277(0x8c)]+_0x443277(0x79)};}};function groupLocalRuntimeSkills(_0xaae9c4){const _0x546da4=a45_0x2a86ae;return{'personal':_0xaae9c4[_0x546da4(0x81)](_0x12c50e=>_0x12c50e[_0x546da4(0x74)]==='personal'),'company':_0xaae9c4[_0x546da4(0x81)](_0x2ad576=>_0x2ad576[_0x546da4(0x74)]===_0x546da4(0x75)),'builtin':_0xaae9c4[_0x546da4(0x81)](_0x8dacc5=>_0x8dacc5[_0x546da4(0x74)]===_0x546da4(0x88))};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a46_0x279164=a46_0x2b49;(function(_0x4b7127,_0x45220d){const _0x434571=a46_0x2b49,_0x3289c4=_0x4b7127();while(!![]){try{const _0x5c98fc=parseInt(_0x434571(0xc5))/0x1*(-parseInt(_0x434571(0xca))/0x2)+-parseInt(_0x434571(0xd2))/0x3*(-parseInt(_0x434571(0xd0))/0x4)+-parseInt(_0x434571(0xcf))/0x5+-parseInt(_0x434571(0xc8))/0x6*(parseInt(_0x434571(0xd3))/0x7)+-parseInt(_0x434571(0xc9))/0x8+parseInt(_0x434571(0xcb))/0x9+-parseInt(_0x434571(0xcd))/0xa*(-parseInt(_0x434571(0xc6))/0xb);if(_0x5c98fc===_0x45220d)break;else _0x3289c4['push'](_0x3289c4['shift']());}catch(_0x22c4e9){_0x3289c4['push'](_0x3289c4['shift']());}}}(a46_0x5400,0x719d3));import{CONFIRM_WARNINGS_FLAG,DIR_FLAG,PUSH_SCOPE_FLAG}from'../flags.js';function a46_0x5400(){const _0x2f4b31=['1013zKdPYQ','346973ModEDt','skill','6YaQFBY','6170576Ljfzdc','488hAxFuL','7122546qTogTA','Push\x20a\x20local\x20Skill\x20directory\x20to\x20personal\x20scope\x20or\x20submit\x20company\x20scope\x20for\x20review','390eBpYQO','push','2545330kGwKKS','1734644IdxhyZ','write','3OlyDyq','3236163YyBLXp'];a46_0x5400=function(){return _0x2f4b31;};return a46_0x5400();}import{skillPushDryRun,skillPushExecute}from'../push-execute.js';function a46_0x2b49(_0x333c38,_0x543d4d){_0x333c38=_0x333c38-0xc5;const _0x5400f7=a46_0x5400();let _0x2b49d4=_0x5400f7[_0x333c38];return _0x2b49d4;}export const pushCommand={'service':a46_0x279164(0xc7),'command':a46_0x279164(0xce),'description':a46_0x279164(0xcc),'risk':a46_0x279164(0xd1),'flags':[DIR_FLAG,PUSH_SCOPE_FLAG,CONFIRM_WARNINGS_FLAG],'dryRun':skillPushDryRun,'execute':skillPushExecute};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a47_0x6121(_0x563db5,_0x2c470e){_0x563db5=_0x563db5-0x15e;const _0x34006a=a47_0x3400();let _0x61219a=_0x34006a[_0x563db5];return _0x61219a;}const a47_0x396a57=a47_0x6121;(function(_0x2a61a1,_0x1f54f5){const _0x46118a=a47_0x6121,_0x1c8b75=_0x2a61a1();while(!![]){try{const _0x159459=-parseInt(_0x46118a(0x16d))/0x1*(-parseInt(_0x46118a(0x16e))/0x2)+parseInt(_0x46118a(0x163))/0x3*(parseInt(_0x46118a(0x15f))/0x4)+-parseInt(_0x46118a(0x170))/0x5*(-parseInt(_0x46118a(0x171))/0x6)+-parseInt(_0x46118a(0x16c))/0x7+parseInt(_0x46118a(0x16b))/0x8+-parseInt(_0x46118a(0x16f))/0x9*(-parseInt(_0x46118a(0x162))/0xa)+-parseInt(_0x46118a(0x166))/0xb*(parseInt(_0x46118a(0x167))/0xc);if(_0x159459===_0x1f54f5)break;else _0x1c8b75['push'](_0x1c8b75['shift']());}catch(_0x1231cf){_0x1c8b75['push'](_0x1c8b75['shift']());}}}(a47_0x3400,0x2960e));import{DIR_FLAG,STRICT_FLAG}from'../flags.js';import{throwIfSkillValidationFailed,validateSkillDirectory}from'../validate.js';export const validateCommand={'service':a47_0x396a57(0x168),'command':a47_0x396a57(0x172),'description':a47_0x396a57(0x169),'risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[DIR_FLAG,STRICT_FLAG],async 'execute'(_0x3b6703){const _0x50b886=a47_0x396a57,_0x3ae8c4=_0x3b6703[_0x50b886(0x16a)](_0x50b886(0x164)),_0x28a4be=validateSkillDirectory(_0x3b6703['str'](_0x50b886(0x161)),{'strict':_0x3ae8c4});return throwIfSkillValidationFailed(_0x28a4be,_0x3ae8c4),{'ok':!![],'data':{'dir':_0x28a4be[_0x50b886(0x161)],'type':_0x28a4be[_0x50b886(0x15e)],'errors':_0x28a4be['errors'],'warnings':_0x28a4be[_0x50b886(0x160)]},'message':_0x50b886(0x165)};}};function a47_0x3400(){const _0x107ff4=['skill','Validate\x20a\x20local\x20Skill\x20directory\x20as\x20a\x20self-contained\x20delivery\x20package','bool','2503272dZSVjp','2349508ElChoq','2sTiPiN','75456jAvati','378XfrpQP','277265BwypKK','30ybFWvW','validate','type','4lLJidV','warnings','dir','44660jNIMtq','266013kOeaTS','strict','Skill\x20validation\x20passed.','533797RCOtYv','108bwcsPF'];a47_0x3400=function(){return _0x107ff4;};return a47_0x3400();}
|