@lovrabet/lovrabet-cli 2.3.5-beta.1 → 2.3.5
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/approval/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/init.js +1 -1
- package/lib/commands/config/shared.js +1 -1
- package/lib/commands/data/import-excel.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/notification/config-list.js +1 -1
- package/lib/commands/notification/index.js +1 -1
- package/lib/commands/notification/shared.js +1 -1
- package/lib/commands/ocr/index.js +1 -1
- package/lib/commands/permit/dataset-get.js +1 -1
- package/lib/commands/permit/dataset-set.js +1 -1
- package/lib/commands/permit/index.js +1 -1
- package/lib/commands/permit/page-get.js +1 -1
- package/lib/commands/permit/page-set.js +1 -1
- package/lib/commands/permit/role-menus-set.js +1 -1
- package/lib/commands/permit/role-menus.js +1 -1
- package/lib/commands/permit/shared.js +1 -1
- package/lib/commands/personal-bff/index.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/role/create.js +1 -1
- package/lib/commands/role/delete.js +1 -1
- package/lib/commands/role/detail.js +1 -1
- package/lib/commands/role/index.js +1 -1
- package/lib/commands/role/list.js +1 -1
- package/lib/commands/role/shared.js +1 -1
- package/lib/commands/role/update.js +1 -1
- package/lib/commands/role/user-add.js +1 -1
- package/lib/commands/role/user-remove.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/diagram.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/diagram.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/user-account/bind.js +1 -1
- package/lib/commands/user-account/index.js +1 -1
- package/lib/commands/workspace/index.js +1 -1
- package/lib/config/domain-config.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/region.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.d.ts +2 -0
- package/lib/core/api-client.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/kb-search-client.js +1 -1
- package/lib/core/sdk-client.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/framework/access-error.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/dryrun.js +1 -1
- package/lib/framework/flags.js +1 -1
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/preparse.js +1 -1
- package/lib/framework/rate-limit.js +1 -1
- package/lib/framework/raw-flags.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-confirmation.js +1 -1
- package/lib/framework/runner-error.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/service-order.js +1 -1
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.d.ts +4 -4
- package/lib/generated/build-info.js +1 -1
- package/lib/generated/official-routing.js +1 -1
- package/lib/generated/routing-contract.js +1 -1
- package/lib/help.js +1 -1
- package/lib/postinstall.js +1 -1
- package/lib/runtime/confirmation.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/services/dataset-import/auto-id-runner.js +1 -1
- package/lib/services/dataset-import/excel-reader.js +1 -1
- package/lib/services/dataset-import/metadata.js +1 -1
- package/lib/services/dataset-import/preview.js +1 -1
- package/lib/services/dataset-import/runner.js +1 -1
- package/lib/skills/builtin-skill.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/skills/skill-presence.js +1 -1
- package/lib/utils/access-key-redaction.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/cli-version-check.js +1 -1
- package/lib/utils/cli-version-policy.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/positive-safe-integer.js +1 -1
- package/lib/utils/redaction.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +1 -1
- package/skills/lovrabet/SKILL.md +1 -1
- package/skills/lovrabet.manifest.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a57_0x3363(_0x496040,_0x290568){_0x496040=_0x496040-0xb9;const _0x3fcc84=a57_0x3fcc();let _0x336308=_0x3fcc84[_0x496040];return _0x336308;}const a57_0x29af92=a57_0x3363;(function(_0x4ea9cd,_0x102deb){const _0x10bf73=a57_0x3363,_0x31cafd=_0x4ea9cd();while(!![]){try{const _0x2d0aee=parseInt(_0x10bf73(0xc9))/0x1+parseInt(_0x10bf73(0xc6))/0x2*(-parseInt(_0x10bf73(0xbe))/0x3)+parseInt(_0x10bf73(0xd7))/0x4+parseInt(_0x10bf73(0xc3))/0x5+-parseInt(_0x10bf73(0xc8))/0x6+-parseInt(_0x10bf73(0xd4))/0x7*(parseInt(_0x10bf73(0xd1))/0x8)+parseInt(_0x10bf73(0xc1))/0x9;if(_0x2d0aee===_0x102deb)break;else _0x31cafd['push'](_0x31cafd['shift']());}catch(_0x8f0b50){_0x31cafd['push'](_0x31cafd['shift']());}}}(a57_0x3fcc,0x85689));import{updateRuntimeAppRole}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';import{assertCustomRuntimeRole,getRuntimeRoleById,projectRuntimeRole,readOptionalRuntimeRoleCode,ROLE_CODE_FLAG,ROLE_ID_FLAG,runtimeRoleWriteResult}from'../../commands/role/shared.js';function updateFields(_0x118abe){const _0x301c33=a57_0x3363,_0x2d62c8=_0x118abe['flag']('role-code')!==undefined,_0x36987=_0x118abe[_0x301c33(0xd2)](_0x301c33(0xbd))!==undefined,_0x1a24ad=_0x118abe['flag']('remark')!==undefined;if(!_0x2d62c8&&!_0x36987&&!_0x1a24ad)throw CliErrors['validation'](_0x301c33(0xca));const _0x18b91a=readOptionalRuntimeRoleCode(_0x118abe),_0x21dd11=_0x118abe[_0x301c33(0xc7)]('name')[_0x301c33(0xc0)](),_0x3eabd9=_0x118abe[_0x301c33(0xc7)](_0x301c33(0xcd))['trim']();if(_0x36987&&!_0x21dd11)throw CliErrors[_0x301c33(0xd6)](_0x301c33(0xc4));if(_0x1a24ad&&!_0x3eabd9)throw CliErrors[_0x301c33(0xd6)]('--remark\x20must\x20not\x20be\x20blank.','The\x20current\x20runtime\x20role\x20API\x20does\x20not\x20support\x20clearing\x20an\x20existing\x20remark.');return{..._0x18b91a?{'roleCode':_0x18b91a}:{},..._0x36987?{'roleName':_0x21dd11}:{},..._0x1a24ad?{'remark':_0x3eabd9}:{}};}function a57_0x3fcc(){const _0x71ad61=['Preview:\x20update\x20a\x20runtime\x20CUSTOM\x20role','role','Update\x20a\x20runtime\x20CUSTOM\x20role\x27s\x20code,\x20name,\x20or\x20remark','296XGnPEr','flag','body','100324lcZNVF','high-risk-write','validation','4357308ImNQrQ','New\x20non-empty\x20role\x20remark','description','POST','build','name','665526Vihdae','/client/permit/role/update','trim','2183967XpCVpS','Changes\x20the\x20custom\x20role\x20code,\x20name,\x20or\x20note\x20in\x20the\x20current\x20runtime\x20app.\x20The\x20role\x20updates\x20immediately.','852770IjCjAq','--name\x20must\x20not\x20be\x20blank.','string','2JRAbCh','str','3141174bLKCFm','319552HrYqZS','Pass\x20--role-code,\x20--name,\x20or\x20--remark\x20to\x20update\x20the\x20runtime\x20role.','appCode','update','remark'];a57_0x3fcc=function(){return _0x71ad61;};return a57_0x3fcc();}async function prepare(_0x30f581){const _0x568459=a57_0x3363,_0x2b9493=await getRuntimeRoleById(_0x30f581[_0x568459(0xcb)],_0x30f581['num']('id'));return assertCustomRuntimeRole(_0x2b9493,_0x568459(0xcc)),{'role':_0x2b9493,'body':{'id':_0x2b9493['id'],'appCode':_0x30f581[_0x568459(0xcb)],...updateFields(_0x30f581)}};}export const roleUpdate={'service':a57_0x29af92(0xcf),'command':a57_0x29af92(0xcc),'description':a57_0x29af92(0xd0),'risk':a57_0x29af92(0xd5),'confirmationDescription':a57_0x29af92(0xc2),'flags':[ROLE_ID_FLAG,ROLE_CODE_FLAG,{'name':a57_0x29af92(0xbd),'type':'string','description':'New\x20role\x20name'},{'name':a57_0x29af92(0xcd),'type':a57_0x29af92(0xc5),'description':a57_0x29af92(0xb9)}],async 'validate'(_0x2b5d31){updateFields(_0x2b5d31);},async 'dryRun'(_0x4a9716){const _0x577b09=a57_0x29af92,{body:_0x3a7e6d}=await prepare(_0x4a9716);return dryRun(_0x577b09(0xbb),_0x577b09(0xbf))[_0x577b09(0xd3)](_0x3a7e6d)[_0x577b09(0xba)](_0x577b09(0xce))[_0x577b09(0xbc)]();},async 'execute'(_0x913502){const _0x2f82c1=a57_0x29af92,{role:_0x33e2df,body:_0x36726b}=await prepare(_0x913502),_0xa49a21=await updateRuntimeAppRole(_0x36726b);return{'ok':!![],'data':runtimeRoleWriteResult('update',{'roleId':_0x33e2df['id']},projectRuntimeRole(_0x33e2df),projectRuntimeRole(_0xa49a21),{'method':_0x2f82c1(0xbb),'path':_0x2f82c1(0xbf)})};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a58_0x1746(){const _0x503c6f=['before','role','userId','roleList','2047304wVcjmF','/client/permit/user-role/update-user-list','build','Add\x20a\x20numeric\x20userId\x20to\x20one\x20runtime\x20role','1891230WKAuKe','after','POST','appCode','warnings','1471376HjbFaY','high-risk-write','description','1037307RpuPML','2621060TVuarT','946904qpStZZ','user-add','shouldWrite','3103PDbJaS','86qBNMSu','Adds\x20the\x20given\x20runtime\x20user\x20to\x20the\x20target\x20role.\x20The\x20user\x20receives\x20the\x20permissions\x20of\x20that\x20role.'];a58_0x1746=function(){return _0x503c6f;};return a58_0x1746();}const a58_0x4e7c33=a58_0x4555;(function(_0x2e2fb0,_0x70ebd0){const _0x235df0=a58_0x4555,_0x112da6=_0x2e2fb0();while(!![]){try{const _0x55669f=-parseInt(_0x235df0(0x121))/0x1*(-parseInt(_0x235df0(0x122))/0x2)+-parseInt(_0x235df0(0x11c))/0x3+parseInt(_0x235df0(0x11e))/0x4+-parseInt(_0x235df0(0x11d))/0x5+parseInt(_0x235df0(0x12c))/0x6+parseInt(_0x235df0(0x128))/0x7+parseInt(_0x235df0(0x131))/0x8;if(_0x55669f===_0x70ebd0)break;else _0x112da6['push'](_0x112da6['shift']());}catch(_0xc5aaa3){_0x112da6['push'](_0x112da6['shift']());}}}(a58_0x1746,0x473bd));function a58_0x4555(_0x6fc87,_0x55f095){_0x6fc87=_0x6fc87-0x11c;const _0x1746fe=a58_0x1746();let _0x45556d=_0x1746fe[_0x6fc87];return _0x45556d;}import{updateRuntimeRoleUsers}from'../../core/api-client.js';import{dryRun}from'../../framework/dryrun.js';import{EXPECT_USER_COUNT_FLAG,prepareRuntimeMemberMutation,ROLE_REF_FLAG,runtimeRoleWriteResult,USER_ID_FLAG}from'../../commands/role/shared.js';export const roleUserAdd={'service':a58_0x4e7c33(0x125),'command':'user-add','description':a58_0x4e7c33(0x12b),'risk':a58_0x4e7c33(0x132),'confirmationDescription':a58_0x4e7c33(0x123),'flags':[ROLE_REF_FLAG,USER_ID_FLAG,EXPECT_USER_COUNT_FLAG],async 'dryRun'(_0x3e30ce){const _0x3d9c97=a58_0x4e7c33,_0x116138=await prepareRuntimeMemberMutation(_0x3e30ce,_0x3d9c97(0x11f));return dryRun(_0x3d9c97(0x12e),_0x3d9c97(0x129))['body']({'appCode':_0x3e30ce[_0x3d9c97(0x12f)],'roleList':_0x116138[_0x3d9c97(0x127)]})[_0x3d9c97(0x133)](_0x116138[_0x3d9c97(0x120)]?'Preview:\x20add\x20runtime\x20role\x20member':_0x116138[_0x3d9c97(0x130)][0x0])[_0x3d9c97(0x12a)]();},async 'execute'(_0x191705){const _0x3cb4a4=a58_0x4e7c33,_0x183e14=await prepareRuntimeMemberMutation(_0x191705,_0x3cb4a4(0x11f));return _0x183e14[_0x3cb4a4(0x120)]&&await updateRuntimeRoleUsers(_0x191705[_0x3cb4a4(0x12f)],_0x183e14[_0x3cb4a4(0x127)]),{'ok':!![],'data':runtimeRoleWriteResult('user-add',{'roleId':_0x183e14[_0x3cb4a4(0x125)]['id'],'userId':_0x183e14[_0x3cb4a4(0x126)]},_0x183e14[_0x3cb4a4(0x124)],_0x183e14[_0x3cb4a4(0x12d)],{'method':_0x3cb4a4(0x12e),'path':_0x3cb4a4(0x129)},_0x183e14['warnings'])};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a59_0x23ef7e=a59_0x3de2;function a59_0x15f8(){const _0x5eb2c9=['24390204XRYOox','117QMFcAl','POST','287203mWOpMz','role','warnings','Remove\x20a\x20numeric\x20userId\x20from\x20one\x20runtime\x20role','/client/permit/user-role/update-user-list','build','shouldWrite','424250bCgnEh','after','10828008ZoGgIp','335cwpeBz','appCode','userId','user-remove','14337RHEPRm','roleList','1072207XPKmHR','high-risk-write','28828ypbyuZ','24DBIrAi','body','11QiGBsF','Removes\x20the\x20given\x20runtime\x20user\x20from\x20the\x20target\x20role.\x20The\x20user\x20loses\x20permissions\x20granted\x20only\x20by\x20that\x20role.','548zqBeRp','description','before'];a59_0x15f8=function(){return _0x5eb2c9;};return a59_0x15f8();}(function(_0x5db5a2,_0x1ef6e8){const _0x482e12=a59_0x3de2,_0x4124cd=_0x5db5a2();while(!![]){try{const _0x7e74fa=parseInt(_0x482e12(0x174))/0x1+parseInt(_0x482e12(0x15e))/0x2*(parseInt(_0x482e12(0x172))/0x3)+parseInt(_0x482e12(0x176))/0x4*(-parseInt(_0x482e12(0x16e))/0x5)+parseInt(_0x482e12(0x177))/0x6*(parseInt(_0x482e12(0x164))/0x7)+parseInt(_0x482e12(0x16d))/0x8+parseInt(_0x482e12(0x162))/0x9*(-parseInt(_0x482e12(0x16b))/0xa)+-parseInt(_0x482e12(0x179))/0xb*(parseInt(_0x482e12(0x161))/0xc);if(_0x7e74fa===_0x1ef6e8)break;else _0x4124cd['push'](_0x4124cd['shift']());}catch(_0x2991f5){_0x4124cd['push'](_0x4124cd['shift']());}}}(a59_0x15f8,0xcb367));import{updateRuntimeRoleUsers}from'../../core/api-client.js';import{dryRun}from'../../framework/dryrun.js';function a59_0x3de2(_0x40a725,_0x31410f){_0x40a725=_0x40a725-0x15e;const _0x15f89d=a59_0x15f8();let _0x3de2e7=_0x15f89d[_0x40a725];return _0x3de2e7;}import{EXPECT_USER_COUNT_FLAG,prepareRuntimeMemberMutation,ROLE_REF_FLAG,runtimeRoleWriteResult,USER_ID_FLAG}from'../../commands/role/shared.js';export const roleUserRemove={'service':'role','command':a59_0x23ef7e(0x171),'description':a59_0x23ef7e(0x167),'risk':a59_0x23ef7e(0x175),'confirmationDescription':a59_0x23ef7e(0x17a),'flags':[ROLE_REF_FLAG,USER_ID_FLAG,EXPECT_USER_COUNT_FLAG],async 'dryRun'(_0x309d46){const _0x51734c=a59_0x23ef7e,_0xb404fd=await prepareRuntimeMemberMutation(_0x309d46,_0x51734c(0x171));return dryRun(_0x51734c(0x163),'/client/permit/user-role/update-user-list')[_0x51734c(0x178)]({'appCode':_0x309d46[_0x51734c(0x16f)],'roleList':_0xb404fd[_0x51734c(0x173)]})[_0x51734c(0x15f)](_0xb404fd['shouldWrite']?'Preview:\x20remove\x20runtime\x20role\x20member':_0xb404fd[_0x51734c(0x166)][0x0])[_0x51734c(0x169)]();},async 'execute'(_0x22e460){const _0x2965b3=a59_0x23ef7e,_0x1b532c=await prepareRuntimeMemberMutation(_0x22e460,_0x2965b3(0x171));return _0x1b532c[_0x2965b3(0x16a)]&&await updateRuntimeRoleUsers(_0x22e460[_0x2965b3(0x16f)],_0x1b532c[_0x2965b3(0x173)]),{'ok':!![],'data':runtimeRoleWriteResult(_0x2965b3(0x171),{'roleId':_0x1b532c[_0x2965b3(0x165)]['id'],'userId':_0x1b532c[_0x2965b3(0x170)]},_0x1b532c[_0x2965b3(0x160)],_0x1b532c[_0x2965b3(0x16c)],{'method':_0x2965b3(0x163),'path':_0x2965b3(0x168)},_0x1b532c[_0x2965b3(0x166)])};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a60_0x45b416=a60_0x3b7f;function a60_0x12a1(){const _0x2ca912=['Schedule\x20kind:\x20CRON\x20or\x20ONCE','schedule','run','--limit\x20must\x20be\x20an\x20integer\x20from\x201\x20to\x20100.','--prompt\x20must\x20not\x20be\x20blank.','/run','Prompt\x20sent\x20to\x20the\x20Agent\x20when\x20the\x20schedule\x20runs','scheduled-at','validation','2841126aRiAlv','368823rFXUDf','create','validate','isSafeInteger','--cursor\x20must\x20be\x20the\x20unchanged\x20nextCursor\x20from\x20schedule\x20list.','342mCVZtS','appCode','\x20schedule\x20','cron','kind','Preview:\x20create\x20an\x20Agent\x20schedule','ONCE\x20schedules\x20require\x20--scheduled-at\x20and\x20do\x20not\x20accept\x20--cron.','detail','--title\x20must\x20not\x20be\x20blank.','model','5032PStjDK','Run\x20the\x20schedule\x20once\x20immediately\x20and\x20create\x20a\x20Task','trim','CRON\x20schedules\x20require\x20--cron\x20and\x20do\x20not\x20accept\x20--scheduled-at.','Opaque\x20nextCursor\x20returned\x20by\x20the\x20previous\x20list\x20call','Schedule\x20title','/api/harness/apps/','2AGuEig','Created\x20','schedule-id','description','4jCtvVd','819366TKJFWA','num','Ignores\x20the\x20original\x20trigger\x20time,\x20runs\x20the\x20schedule\x20once\x20now,\x20and\x20creates\x20a\x20new\x20Agent\x20Task.','/schedules','list','deepseek-v4-flash-0731','ONCE','Delete\x20the\x20schedule\x20and\x20stop\x20future\x20triggers','\x20immediately','Preview:\x20run\x20schedule\x20','str','Validate\x20a\x20UTC\x20schedule\x20without\x20creating\x20it','a\x20UUID\x20returned\x20by\x20schedule\x20create/list','length','130849llcQBG','string','POST','2347030nGSjqI','\x20from\x20schedule\x20','build','Deleted\x20schedule\x20','Canonical\x20UTC\x20ISO\x20datetime\x20for\x20ONCE\x20schedules','prompt','Schedule\x20UUID','Page\x20size\x20from\x201\x20to\x20100','cursor','13924500KCvqgr','high-risk-write','Show\x20one\x20schedule\x20by\x20schedule\x20ID','CRON','limit','Queued\x20Task\x20','Creates\x20a\x20schedule\x20in\x20the\x20current\x20app\x20that\x20can\x20auto-trigger\x20an\x20Agent.\x20At\x20the\x20scheduled\x20time\x20a\x20Task\x20is\x20created\x20and\x20run.','taskId','UTC','read'];a60_0x12a1=function(){return _0x2ca912;};return a60_0x12a1();}(function(_0x1991e9,_0x5dda00){const _0x324d32=a60_0x3b7f,_0x4a0404=_0x1991e9();while(!![]){try{const _0x167ec4=parseInt(_0x324d32(0xf4))/0x1+parseInt(_0x324d32(0xe1))/0x2*(-parseInt(_0x324d32(0xe6))/0x3)+-parseInt(_0x324d32(0xe5))/0x4*(parseInt(_0x324d32(0xf7))/0x5)+-parseInt(_0x324d32(0xca))/0x6+-parseInt(_0x324d32(0xcb))/0x7+parseInt(_0x324d32(0xda))/0x8*(parseInt(_0x324d32(0xd0))/0x9)+parseInt(_0x324d32(0x100))/0xa;if(_0x167ec4===_0x5dda00)break;else _0x4a0404['push'](_0x4a0404['shift']());}catch(_0x161507){_0x4a0404['push'](_0x4a0404['shift']());}}}(a60_0x12a1,0x43fbf));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':a60_0x45b416(0xd4),'type':a60_0x45b416(0xf5),'required':!![],'enum':[a60_0x45b416(0x103),a60_0x45b416(0xec)],'description':a60_0x45b416(0x10a)},CRON_FLAG={'name':'cron','type':a60_0x45b416(0xf5),'description':'Five-field\x20UTC\x20cron\x20expression\x20for\x20CRON\x20schedules'},SCHEDULED_AT_FLAG={'name':a60_0x45b416(0xc8),'type':'string','description':a60_0x45b416(0xfb)},TITLE_FLAG={'name':'title','type':'string','required':!![],'description':a60_0x45b416(0xdf)},PROMPT_FLAG={'name':a60_0x45b416(0xfc),'type':'string','required':!![],'description':a60_0x45b416(0xc7)},MODEL_FLAG={'name':a60_0x45b416(0xd9),'type':'string','enum':['kimi/k3','deepseek-v4-flash-0731','deepseek-v4-pro-0813'],'default':a60_0x45b416(0xeb),'description':'Task\x20model\x20used\x20when\x20the\x20schedule\x20runs'},SCHEDULE_ID_FLAG={'name':a60_0x45b416(0xe3),'type':'string','required':!![],'description':a60_0x45b416(0xfd),'pattern':{'regex':SCHEDULE_ID_PATTERN,'description':a60_0x45b416(0xf2)}},LIMIT_FLAG={'name':'limit','type':'number','default':0x14,'description':a60_0x45b416(0xfe)},CURSOR_FLAG={'name':a60_0x45b416(0xff),'type':a60_0x45b416(0xf5),'description':a60_0x45b416(0xde)},INPUT_FLAGS=[KIND_FLAG,CRON_FLAG,SCHEDULED_AT_FLAG,TITLE_FLAG,PROMPT_FLAG,MODEL_FLAG];function readScheduleInput(_0x317c7c){const _0x1277c9=a60_0x45b416,_0x2f47e6=_0x317c7c[_0x1277c9(0xf0)]('kind'),_0xf2d7a5=_0x317c7c[_0x1277c9(0xf0)]('title')['trim'](),_0x283c7b=_0x317c7c['str'](_0x1277c9(0xfc))['trim'](),_0x139065=_0x317c7c[_0x1277c9(0xf0)](_0x1277c9(0xd9)),_0x26da1a=_0x317c7c[_0x1277c9(0xf0)](_0x1277c9(0xd3)),_0x219e99=_0x317c7c[_0x1277c9(0xf0)](_0x1277c9(0xc8));if(!_0xf2d7a5)throw CliErrors[_0x1277c9(0xc9)](_0x1277c9(0xd8));if(!_0x283c7b)throw CliErrors[_0x1277c9(0xc9)](_0x1277c9(0xc5));if(_0x2f47e6===_0x1277c9(0x103)){if(!_0x26da1a||_0x219e99)throw CliErrors['validation'](_0x1277c9(0xdd));return{'kind':_0x2f47e6,'timezone':_0x1277c9(0x108),'cron':_0x26da1a,'title':_0xf2d7a5,'prompt':_0x283c7b,'model':_0x139065};}if(_0x2f47e6===_0x1277c9(0xec)){if(!_0x219e99||_0x26da1a)throw CliErrors[_0x1277c9(0xc9)](_0x1277c9(0xd6));return{'kind':_0x2f47e6,'timezone':_0x1277c9(0x108),'scheduledAt':_0x219e99,'title':_0xf2d7a5,'prompt':_0x283c7b,'model':_0x139065};}throw CliErrors[_0x1277c9(0xc9)]('--kind\x20must\x20be\x20CRON\x20or\x20ONCE.');}function scheduleCollectionPath(_0x2c3708){const _0x14487b=a60_0x45b416;return _0x14487b(0xe0)+encodeURIComponent(_0x2c3708)+_0x14487b(0xe9);}function scheduleItemPath(_0x2ea928,_0x19a623){return scheduleCollectionPath(_0x2ea928)+'/'+encodeURIComponent(_0x19a623);}function a60_0x3b7f(_0x2b3426,_0x310767){_0x2b3426=_0x2b3426-0xc2;const _0x12a1fc=a60_0x12a1();let _0x3b7f74=_0x12a1fc[_0x2b3426];return _0x3b7f74;}const scheduleValidate={'service':a60_0x45b416(0xc2),'command':a60_0x45b416(0xcd),'description':a60_0x45b416(0xf1),'risk':a60_0x45b416(0x109),'flags':INPUT_FLAGS,async 'validate'(_0x3c6fe0){readScheduleInput(_0x3c6fe0);},async 'execute'(_0x40d9f3){const _0x44f9de=a60_0x45b416,_0x37cb35=readScheduleInput(_0x40d9f3),_0x196dc9=await validateRuntimeSchedule(_0x40d9f3[_0x44f9de(0xd1)],_0x37cb35);return{'ok':!![],'data':_0x196dc9,'message':'Schedule\x20input\x20is\x20valid'};}},scheduleCreate={'service':a60_0x45b416(0xc2),'command':a60_0x45b416(0xcc),'description':'Create\x20a\x20recurring\x20or\x20one-shot\x20Agent\x20schedule','risk':a60_0x45b416(0x101),'confirmationDescription':a60_0x45b416(0x106),'flags':INPUT_FLAGS,async 'validate'(_0x4eb273){readScheduleInput(_0x4eb273);},async 'execute'(_0x15e4f0){const _0x40ecef=a60_0x45b416,_0x1b9c4c=readScheduleInput(_0x15e4f0),_0x4581bb=await validateRuntimeSchedule(_0x15e4f0[_0x40ecef(0xd1)],_0x1b9c4c),_0x4cc489=await createRuntimeSchedule(_0x15e4f0[_0x40ecef(0xd1)],_0x4581bb);return{'ok':!![],'data':_0x4cc489,'message':_0x40ecef(0xe2)+_0x4cc489['kind']+_0x40ecef(0xd2)+_0x4cc489['scheduleId']};},async 'dryRun'(_0x470f13){const _0x3bedf7=a60_0x45b416,_0x4a415f=readScheduleInput(_0x470f13);return dryRun(_0x3bedf7(0xf6),scheduleCollectionPath(_0x470f13[_0x3bedf7(0xd1)]))['body'](_0x4a415f)[_0x3bedf7(0xe4)](_0x3bedf7(0xd5))[_0x3bedf7(0xf9)]();}},scheduleList={'service':'schedule','command':a60_0x45b416(0xea),'description':'List\x20current\x20user\x27s\x20schedules\x20for\x20the\x20current\x20app','risk':a60_0x45b416(0x109),'flags':[KIND_FLAG,LIMIT_FLAG,CURSOR_FLAG],async 'validate'(_0x1d9f5c){const _0x1b5539=a60_0x45b416,_0x1edf38=_0x1d9f5c[_0x1b5539(0xe7)](_0x1b5539(0x104));if(!Number[_0x1b5539(0xce)](_0x1edf38)||_0x1edf38<0x1||_0x1edf38>0x64)throw CliErrors[_0x1b5539(0xc9)](_0x1b5539(0xc4));const _0x280f98=_0x1d9f5c[_0x1b5539(0xf0)](_0x1b5539(0xff));if(_0x280f98&&(_0x280f98[_0x1b5539(0xf3)]>0x400||_0x280f98[_0x1b5539(0xdc)]()!==_0x280f98))throw CliErrors['validation'](_0x1b5539(0xcf));},async 'execute'(_0x59f5b2){const _0x10838a=a60_0x45b416,_0x38fc61=_0x59f5b2['str'](_0x10838a(0xff)),_0x2edca9=await listRuntimeSchedules(_0x59f5b2[_0x10838a(0xd1)],{'kind':_0x59f5b2[_0x10838a(0xf0)](_0x10838a(0xd4)),'limit':_0x59f5b2[_0x10838a(0xe7)]('limit'),..._0x38fc61?{'cursor':_0x38fc61}:{}});return{'ok':!![],'data':_0x2edca9};}},scheduleDetail={'service':a60_0x45b416(0xc2),'command':a60_0x45b416(0xd7),'description':a60_0x45b416(0x102),'risk':a60_0x45b416(0x109),'flags':[SCHEDULE_ID_FLAG],async 'execute'(_0x2f59c5){const _0xa17444=a60_0x45b416,_0x282349=await getRuntimeSchedule(_0x2f59c5[_0xa17444(0xd1)],_0x2f59c5[_0xa17444(0xf0)](_0xa17444(0xe3)));return{'ok':!![],'data':_0x282349};}},scheduleRun={'service':a60_0x45b416(0xc2),'command':a60_0x45b416(0xc3),'description':a60_0x45b416(0xdb),'risk':a60_0x45b416(0x101),'confirmationDescription':a60_0x45b416(0xe8),'flags':[SCHEDULE_ID_FLAG],async 'execute'(_0x21c661){const _0x2e25f1=a60_0x45b416,_0x24132d=_0x21c661[_0x2e25f1(0xf0)](_0x2e25f1(0xe3)),_0x474d57=await runRuntimeSchedule(_0x21c661[_0x2e25f1(0xd1)],_0x24132d);return{'ok':!![],'data':_0x474d57,'message':_0x2e25f1(0x105)+_0x474d57[_0x2e25f1(0x107)]+_0x2e25f1(0xf8)+_0x24132d};},async 'dryRun'(_0x3d98a1){const _0x188795=a60_0x45b416,_0x55134e=_0x3d98a1[_0x188795(0xf0)](_0x188795(0xe3));return dryRun(_0x188795(0xf6),scheduleItemPath(_0x3d98a1['appCode'],_0x55134e)+_0x188795(0xc6))[_0x188795(0xe4)](_0x188795(0xef)+_0x55134e+_0x188795(0xee))['build']();}},scheduleDelete={'service':a60_0x45b416(0xc2),'command':'delete','description':a60_0x45b416(0xed),'risk':a60_0x45b416(0x101),'confirmationDescription':'Permanently\x20deletes\x20the\x20schedule\x20and\x20stops\x20future\x20auto-triggers.\x20Historical\x20Tasks\x20already\x20created\x20are\x20not\x20affected.','flags':[SCHEDULE_ID_FLAG],async 'execute'(_0x1121c5){const _0x24c2e8=a60_0x45b416,_0x2d698c=_0x1121c5[_0x24c2e8(0xf0)](_0x24c2e8(0xe3)),_0x14a45b=await deleteRuntimeSchedule(_0x1121c5[_0x24c2e8(0xd1)],_0x2d698c);return{'ok':!![],'data':_0x14a45b,'message':_0x24c2e8(0xfa)+_0x2d698c};},async 'dryRun'(_0x4afd29){const _0x26e616=a60_0x45b416,_0x4b21ff=_0x4afd29[_0x26e616(0xf0)](_0x26e616(0xe3));return dryRun('DELETE',scheduleItemPath(_0x4afd29[_0x26e616(0xd1)],_0x4b21ff))[_0x26e616(0xe4)]('Preview:\x20delete\x20schedule\x20'+_0x4b21ff)[_0x26e616(0xf9)]();}};export const scheduleDefinitions=[scheduleValidate,scheduleCreate,scheduleList,scheduleDetail,scheduleRun,scheduleDelete];
|
|
1
|
+
const a60_0x3609e2=a60_0x484c;(function(_0x279d01,_0x3f0fef){const _0x17d63b=a60_0x484c,_0x1eb9bc=_0x279d01();while(!![]){try{const _0x3f78f5=parseInt(_0x17d63b(0x153))/0x1+parseInt(_0x17d63b(0x143))/0x2+parseInt(_0x17d63b(0x155))/0x3*(parseInt(_0x17d63b(0x148))/0x4)+parseInt(_0x17d63b(0x14a))/0x5*(-parseInt(_0x17d63b(0x149))/0x6)+-parseInt(_0x17d63b(0x161))/0x7+-parseInt(_0x17d63b(0x13d))/0x8*(-parseInt(_0x17d63b(0x138))/0x9)+parseInt(_0x17d63b(0x13e))/0xa*(-parseInt(_0x17d63b(0x16c))/0xb);if(_0x3f78f5===_0x3f0fef)break;else _0x1eb9bc['push'](_0x1eb9bc['shift']());}catch(_0x585151){_0x1eb9bc['push'](_0x1eb9bc['shift']());}}}(a60_0x27ce,0xb143c));import{createRuntimeSchedule,deleteRuntimeSchedule,getRuntimeSchedule,listRuntimeSchedules,runRuntimeSchedule,validateRuntimeSchedule}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';function a60_0x484c(_0x2134cc,_0x3e834c){_0x2134cc=_0x2134cc-0x133;const _0x27ce24=a60_0x27ce();let _0x484c7f=_0x27ce24[_0x2134cc];return _0x484c7f;}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':'kind','type':a60_0x3609e2(0x168),'required':!![],'enum':['CRON','ONCE'],'description':'Schedule\x20kind:\x20CRON\x20or\x20ONCE'},CRON_FLAG={'name':a60_0x3609e2(0x164),'type':a60_0x3609e2(0x168),'description':'Five-field\x20UTC\x20cron\x20expression\x20for\x20CRON\x20schedules'},SCHEDULED_AT_FLAG={'name':'scheduled-at','type':'string','description':'Canonical\x20UTC\x20ISO\x20datetime\x20for\x20ONCE\x20schedules'},TITLE_FLAG={'name':a60_0x3609e2(0x165),'type':'string','required':!![],'description':a60_0x3609e2(0x158)},PROMPT_FLAG={'name':a60_0x3609e2(0x156),'type':a60_0x3609e2(0x168),'required':!![],'description':'Prompt\x20sent\x20to\x20the\x20Agent\x20when\x20the\x20schedule\x20runs'},MODEL_FLAG={'name':'model','type':'string','enum':[a60_0x3609e2(0x135),a60_0x3609e2(0x170),a60_0x3609e2(0x16e)],'default':'deepseek-v4-flash-0731','description':a60_0x3609e2(0x162)},SCHEDULE_ID_FLAG={'name':a60_0x3609e2(0x16a),'type':a60_0x3609e2(0x168),'required':!![],'description':'Schedule\x20UUID','pattern':{'regex':SCHEDULE_ID_PATTERN,'description':a60_0x3609e2(0x144)}},LIMIT_FLAG={'name':a60_0x3609e2(0x14e),'type':a60_0x3609e2(0x151),'default':0x14,'description':a60_0x3609e2(0x145)},CURSOR_FLAG={'name':'cursor','type':a60_0x3609e2(0x168),'description':'Opaque\x20nextCursor\x20returned\x20by\x20the\x20previous\x20list\x20call'},INPUT_FLAGS=[KIND_FLAG,CRON_FLAG,SCHEDULED_AT_FLAG,TITLE_FLAG,PROMPT_FLAG,MODEL_FLAG];function a60_0x27ce(){const _0x54c31f=['Create\x20a\x20recurring\x20or\x20one-shot\x20Agent\x20schedule','73114gqmCxo','\x20immediately','3WzgOVt','prompt','\x20from\x20schedule\x20','Schedule\x20title','--kind\x20must\x20be\x20CRON\x20or\x20ONCE.','detail','POST','Created\x20','validate','run','cursor','description','4842446wzrSIH','Task\x20model\x20used\x20when\x20the\x20schedule\x20runs','model','cron','title','high-risk-write','Show\x20one\x20schedule\x20by\x20schedule\x20ID','string','body','schedule-id','num','7401669xkViit','/schedules','deepseek-v4-pro-0813','schedule','deepseek-v4-flash-0731','length','kind','Preview:\x20delete\x20schedule\x20','read','--title\x20must\x20not\x20be\x20blank.','CRON','Delete\x20the\x20schedule\x20and\x20stop\x20future\x20triggers','kimi/k3','str','build','9768501ToObhB','Creates\x20a\x20schedule\x20in\x20the\x20current\x20app\x20that\x20can\x20auto-trigger\x20an\x20Agent.\x20At\x20the\x20scheduled\x20time\x20a\x20Task\x20is\x20created\x20and\x20run.','delete','DELETE','validation','8SdRtvD','10eLgTyY','list','--prompt\x20must\x20not\x20be\x20blank.','Preview:\x20create\x20an\x20Agent\x20schedule','--limit\x20must\x20be\x20an\x20integer\x20from\x201\x20to\x20100.','1963336IgdqFe','a\x20UUID\x20returned\x20by\x20schedule\x20create/list','Page\x20size\x20from\x201\x20to\x20100','List\x20current\x20user\x27s\x20schedules\x20for\x20the\x20current\x20app','appCode','3071164mhrNXU','4903374QcztMZ','5sxELqo','trim','scheduleId','Ignores\x20the\x20original\x20trigger\x20time,\x20runs\x20the\x20schedule\x20once\x20now,\x20and\x20creates\x20a\x20new\x20Agent\x20Task.','limit','/run','create','number'];a60_0x27ce=function(){return _0x54c31f;};return a60_0x27ce();}function readScheduleInput(_0x3b7bbd){const _0xd14b83=a60_0x3609e2,_0x5a0919=_0x3b7bbd['str'](_0xd14b83(0x172)),_0x503654=_0x3b7bbd[_0xd14b83(0x136)](_0xd14b83(0x165))[_0xd14b83(0x14b)](),_0x59a825=_0x3b7bbd['str'](_0xd14b83(0x156))[_0xd14b83(0x14b)](),_0x1c5a1e=_0x3b7bbd[_0xd14b83(0x136)](_0xd14b83(0x163)),_0x24460b=_0x3b7bbd[_0xd14b83(0x136)](_0xd14b83(0x164)),_0x42a620=_0x3b7bbd[_0xd14b83(0x136)]('scheduled-at');if(!_0x503654)throw CliErrors['validation'](_0xd14b83(0x175));if(!_0x59a825)throw CliErrors[_0xd14b83(0x13c)](_0xd14b83(0x140));if(_0x5a0919===_0xd14b83(0x133)){if(!_0x24460b||_0x42a620)throw CliErrors[_0xd14b83(0x13c)]('CRON\x20schedules\x20require\x20--cron\x20and\x20do\x20not\x20accept\x20--scheduled-at.');return{'kind':_0x5a0919,'timezone':'UTC','cron':_0x24460b,'title':_0x503654,'prompt':_0x59a825,'model':_0x1c5a1e};}if(_0x5a0919==='ONCE'){if(!_0x42a620||_0x24460b)throw CliErrors[_0xd14b83(0x13c)]('ONCE\x20schedules\x20require\x20--scheduled-at\x20and\x20do\x20not\x20accept\x20--cron.');return{'kind':_0x5a0919,'timezone':'UTC','scheduledAt':_0x42a620,'title':_0x503654,'prompt':_0x59a825,'model':_0x1c5a1e};}throw CliErrors['validation'](_0xd14b83(0x159));}function scheduleCollectionPath(_0xd1a3b6){const _0x1cfdec=a60_0x3609e2;return'/api/harness/apps/'+encodeURIComponent(_0xd1a3b6)+_0x1cfdec(0x16d);}function scheduleItemPath(_0x13dac3,_0x163a6b){return scheduleCollectionPath(_0x13dac3)+'/'+encodeURIComponent(_0x163a6b);}const scheduleValidate={'service':'schedule','command':a60_0x3609e2(0x15d),'description':'Validate\x20a\x20UTC\x20schedule\x20without\x20creating\x20it','risk':'read','flags':INPUT_FLAGS,async 'validate'(_0x33dfc1){readScheduleInput(_0x33dfc1);},async 'execute'(_0x17b44d){const _0x29a0e0=a60_0x3609e2,_0x5343d2=readScheduleInput(_0x17b44d),_0x54ae12=await validateRuntimeSchedule(_0x17b44d[_0x29a0e0(0x147)],_0x5343d2);return{'ok':!![],'data':_0x54ae12,'message':'Schedule\x20input\x20is\x20valid'};}},scheduleCreate={'service':a60_0x3609e2(0x16f),'command':a60_0x3609e2(0x150),'description':a60_0x3609e2(0x152),'risk':a60_0x3609e2(0x166),'confirmationDescription':a60_0x3609e2(0x139),'flags':INPUT_FLAGS,async 'validate'(_0x46c7c3){readScheduleInput(_0x46c7c3);},async 'execute'(_0x499434){const _0x3c3918=a60_0x3609e2,_0x39d85a=readScheduleInput(_0x499434),_0x3e83e3=await validateRuntimeSchedule(_0x499434['appCode'],_0x39d85a),_0x3f1845=await createRuntimeSchedule(_0x499434[_0x3c3918(0x147)],_0x3e83e3);return{'ok':!![],'data':_0x3f1845,'message':_0x3c3918(0x15c)+_0x3f1845[_0x3c3918(0x172)]+'\x20schedule\x20'+_0x3f1845[_0x3c3918(0x14c)]};},async 'dryRun'(_0x57b031){const _0x374d53=a60_0x3609e2,_0x370d47=readScheduleInput(_0x57b031);return dryRun(_0x374d53(0x15b),scheduleCollectionPath(_0x57b031[_0x374d53(0x147)]))[_0x374d53(0x169)](_0x370d47)[_0x374d53(0x160)](_0x374d53(0x141))[_0x374d53(0x137)]();}},scheduleList={'service':a60_0x3609e2(0x16f),'command':a60_0x3609e2(0x13f),'description':a60_0x3609e2(0x146),'risk':a60_0x3609e2(0x174),'flags':[KIND_FLAG,LIMIT_FLAG,CURSOR_FLAG],async 'validate'(_0x2cb15e){const _0x3a18ff=a60_0x3609e2,_0x1fa53a=_0x2cb15e[_0x3a18ff(0x16b)](_0x3a18ff(0x14e));if(!Number['isSafeInteger'](_0x1fa53a)||_0x1fa53a<0x1||_0x1fa53a>0x64)throw CliErrors['validation'](_0x3a18ff(0x142));const _0x3ad979=_0x2cb15e[_0x3a18ff(0x136)](_0x3a18ff(0x15f));if(_0x3ad979&&(_0x3ad979[_0x3a18ff(0x171)]>0x400||_0x3ad979[_0x3a18ff(0x14b)]()!==_0x3ad979))throw CliErrors[_0x3a18ff(0x13c)]('--cursor\x20must\x20be\x20the\x20unchanged\x20nextCursor\x20from\x20schedule\x20list.');},async 'execute'(_0x35c037){const _0x195bc5=a60_0x3609e2,_0x10ce34=_0x35c037[_0x195bc5(0x136)](_0x195bc5(0x15f)),_0x2da211=await listRuntimeSchedules(_0x35c037[_0x195bc5(0x147)],{'kind':_0x35c037[_0x195bc5(0x136)](_0x195bc5(0x172)),'limit':_0x35c037[_0x195bc5(0x16b)](_0x195bc5(0x14e)),..._0x10ce34?{'cursor':_0x10ce34}:{}});return{'ok':!![],'data':_0x2da211};}},scheduleDetail={'service':a60_0x3609e2(0x16f),'command':a60_0x3609e2(0x15a),'description':a60_0x3609e2(0x167),'risk':a60_0x3609e2(0x174),'flags':[SCHEDULE_ID_FLAG],async 'execute'(_0x10a602){const _0x383dd4=a60_0x3609e2,_0x3620de=await getRuntimeSchedule(_0x10a602[_0x383dd4(0x147)],_0x10a602[_0x383dd4(0x136)](_0x383dd4(0x16a)));return{'ok':!![],'data':_0x3620de};}},scheduleRun={'service':a60_0x3609e2(0x16f),'command':a60_0x3609e2(0x15e),'description':'Run\x20the\x20schedule\x20once\x20immediately\x20and\x20create\x20a\x20Task','risk':'high-risk-write','confirmationDescription':a60_0x3609e2(0x14d),'flags':[SCHEDULE_ID_FLAG],async 'execute'(_0x32a199){const _0x4a3004=a60_0x3609e2,_0x361b0a=_0x32a199[_0x4a3004(0x136)](_0x4a3004(0x16a)),_0x52ffa3=await runRuntimeSchedule(_0x32a199[_0x4a3004(0x147)],_0x361b0a);return{'ok':!![],'data':_0x52ffa3,'message':'Queued\x20Task\x20'+_0x52ffa3['taskId']+_0x4a3004(0x157)+_0x361b0a};},async 'dryRun'(_0x45a6c6){const _0x545375=a60_0x3609e2,_0x477932=_0x45a6c6[_0x545375(0x136)]('schedule-id');return dryRun('POST',scheduleItemPath(_0x45a6c6['appCode'],_0x477932)+_0x545375(0x14f))[_0x545375(0x160)]('Preview:\x20run\x20schedule\x20'+_0x477932+_0x545375(0x154))[_0x545375(0x137)]();}},scheduleDelete={'service':a60_0x3609e2(0x16f),'command':a60_0x3609e2(0x13a),'description':a60_0x3609e2(0x134),'risk':a60_0x3609e2(0x166),'confirmationDescription':'Permanently\x20deletes\x20the\x20schedule\x20and\x20stops\x20future\x20auto-triggers.\x20Historical\x20Tasks\x20already\x20created\x20are\x20not\x20affected.','flags':[SCHEDULE_ID_FLAG],async 'execute'(_0xb8a390){const _0x36214b=a60_0x3609e2,_0x8a3287=_0xb8a390[_0x36214b(0x136)](_0x36214b(0x16a)),_0x32292d=await deleteRuntimeSchedule(_0xb8a390[_0x36214b(0x147)],_0x8a3287);return{'ok':!![],'data':_0x32292d,'message':'Deleted\x20schedule\x20'+_0x8a3287};},async 'dryRun'(_0x533c9c){const _0x2f6ab7=a60_0x3609e2,_0x1fa527=_0x533c9c[_0x2f6ab7(0x136)](_0x2f6ab7(0x16a));return dryRun(_0x2f6ab7(0x13b),scheduleItemPath(_0x533c9c[_0x2f6ab7(0x147)],_0x1fa527))[_0x2f6ab7(0x160)](_0x2f6ab7(0x173)+_0x1fa527)['build']();}};export const scheduleDefinitions=[scheduleValidate,scheduleCreate,scheduleList,scheduleDetail,scheduleRun,scheduleDelete];
|
package/lib/commands/schema.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a61_0x1048e0=a61_0x2af9;function a61_0x2af9(_0x48c7fa,_0x5bebb9){_0x48c7fa=_0x48c7fa-0x155;const _0x1a19f1=a61_0x1a19();let _0x2af99c=_0x1a19f1[_0x48c7fa];return _0x2af99c;}(function(_0x631626,_0x1731d7){const _0x88c5bd=a61_0x2af9,_0x5e6537=_0x631626();while(!![]){try{const _0x43ec38=parseInt(_0x88c5bd(0x15a))/0x1+parseInt(_0x88c5bd(0x159))/0x2*(parseInt(_0x88c5bd(0x15e))/0x3)+parseInt(_0x88c5bd(0x155))/0x4+-parseInt(_0x88c5bd(0x160))/0x5+parseInt(_0x88c5bd(0x157))/0x6*(parseInt(_0x88c5bd(0x158))/0x7)+parseInt(_0x88c5bd(0x15b))/0x8+parseInt(_0x88c5bd(0x156))/0x9*(-parseInt(_0x88c5bd(0x15c))/0xa);if(_0x43ec38===_0x1731d7)break;else _0x5e6537['push'](_0x5e6537['shift']());}catch(_0x2f515d){_0x5e6537['push'](_0x5e6537['shift']());}}}(a61_0x1a19,0xf23a0));import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x21fed3){const _0x4f860c=await buildSchemaPayload();return{'ok':!![],'data':_0x4f860c};}export const schemaDefinition={'service':a61_0x1048e0(0x15f),'command':'export','description':'Export\x20machine-readable\x20command\x20schema\x20(JSON)','risk':a61_0x1048e0(0x15d),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'flags':[],'execute':execute};function a61_0x1a19(){const _0x3e8ca3=['2197223sFynyG','1414bTBkHR','1157633hULsQr','5489784SbXuYu','11390vHQjRf','read','8367uxJPfy','schema','522970QsybPH','3192472oDoNLX','32751ihFzGG','12sUzKbj'];a61_0x1a19=function(){return _0x3e8ca3;};return a61_0x1a19();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0xde45f2,_0x1dc565){const _0x1765b0=a62_0x4cc8,_0x232d2b=_0xde45f2();while(!![]){try{const _0x42ee4b=parseInt(_0x1765b0(0x14c))/0x1+-parseInt(_0x1765b0(0x149))/0x2*(-parseInt(_0x1765b0(0x16a))/0x3)+parseInt(_0x1765b0(0x12d))/0x4*(-parseInt(_0x1765b0(0x163))/0x5)+-parseInt(_0x1765b0(0x126))/0x6+parseInt(_0x1765b0(0x140))/0x7*(-parseInt(_0x1765b0(0x129))/0x8)+parseInt(_0x1765b0(0x17b))/0x9+parseInt(_0x1765b0(0x188))/0xa;if(_0x42ee4b===_0x1dc565)break;else _0x232d2b['push'](_0x232d2b['shift']());}catch(_0x350d15){_0x232d2b['push'](_0x232d2b['shift']());}}}(a62_0x37f4,0x90c79));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';function a62_0x4cc8(_0x57d531,_0x469c9b){_0x57d531=_0x57d531-0x123;const _0x37f486=a62_0x37f4();let _0x4cc8fe=_0x37f486[_0x57d531];return _0x4cc8fe;}import{CLI_BIN_NAME}from'../../constant/cli.js';export function resolveDynamicServiceCommand(_0x3a4106,_0x280be5){const _0x322828=a62_0x4cc8,_0x5dc8e9=listLocalServiceTrees();let _0x28ee30;for(const _0x39ad9c of _0x5dc8e9){const _0x5119f7=matchServiceTreeCommand(_0x39ad9c,_0x3a4106);if(!_0x5119f7)continue;(!_0x28ee30||_0x5119f7['command'][_0x322828(0x139)][_0x322828(0x16b)]>_0x28ee30[_0x322828(0x138)]['fullPath'][_0x322828(0x16b)])&&(_0x28ee30={'tree':_0x39ad9c,'command':_0x5119f7['command'],'remainingArgs':_0x5119f7[_0x322828(0x152)]});}if(!_0x28ee30)return undefined;const _0x4361d2={..._0x280be5};return applyAppBinding(_0x28ee30['tree'],_0x28ee30[_0x322828(0x138)],_0x4361d2),{'definition':buildDynamicCommandDefinition(_0x28ee30[_0x322828(0x136)],_0x28ee30[_0x322828(0x138)]),'args':_0x28ee30['remainingArgs'],'flags':_0x4361d2,'tree':_0x28ee30[_0x322828(0x136)],'command':_0x28ee30[_0x322828(0x138)]};}export function generateDynamicServiceHelp(_0x5b0aa3){const _0x3ab3a8=a62_0x4cc8,_0x371cf5=listLocalServiceTrees()[_0x3ab3a8(0x16e)](_0x4be0b5=>_0x4be0b5[_0x3ab3a8(0x176)][_0x3ab3a8(0x172)]===_0x5b0aa3);if(!_0x371cf5)return undefined;const _0x285653=[CLI_BIN_NAME+'\x20'+_0x5b0aa3+_0x3ab3a8(0x161),'',_0x371cf5[_0x3ab3a8(0x176)][_0x3ab3a8(0x13a)]||_0x5b0aa3,_0x371cf5[_0x3ab3a8(0x176)][_0x3ab3a8(0x156)]?'\x20\x20'+_0x371cf5[_0x3ab3a8(0x176)][_0x3ab3a8(0x156)]:'','',_0x3ab3a8(0x144),..._0x371cf5[_0x3ab3a8(0x125)][_0x3ab3a8(0x148)](_0x477468=>{const _0x3083fe=_0x3ab3a8,_0x2a534e=_0x477468['fullPath'][_0x3083fe(0x160)](0x1)[_0x3083fe(0x128)]('\x20'),_0x26bd88=_0x477468['risk']===_0x3083fe(0x168)?'':'\x20['+_0x477468[_0x3083fe(0x12a)]+']';return'\x20\x20'+_0x2a534e[_0x3083fe(0x14e)](0x18)+'\x20'+(_0x477468['description']||'')+_0x26bd88;}),'',_0x3ab3a8(0x133)+CLI_BIN_NAME+_0x3ab3a8(0x14b)+_0x5b0aa3+'`\x20to\x20inspect\x20the\x20manifest.'][_0x3ab3a8(0x143)](Boolean);return _0x285653[_0x3ab3a8(0x128)]('\x0a');}export function listDynamicServiceEntries(){const _0x44d36b=a62_0x4cc8;return listLocalServices()[_0x44d36b(0x148)](_0xf5b787=>{const _0x4a1eaa=_0x44d36b,_0x3d183a=_0xf5b787[_0x4a1eaa(0x169)];return{'service':_0x3d183a[_0x4a1eaa(0x176)][_0x4a1eaa(0x172)],'label':_0x3d183a[_0x4a1eaa(0x176)][_0x4a1eaa(0x13a)]||_0x3d183a['service'][_0x4a1eaa(0x172)],'commands':_0x3d183a[_0x4a1eaa(0x125)][_0x4a1eaa(0x148)](_0x4d5871=>({'command':dynamicCommandName(_0x4d5871),'description':_0x4d5871['description']||_0x4a1eaa(0x13d)+_0x4d5871[_0x4a1eaa(0x16c)],'tag':riskTag(_0x4d5871[_0x4a1eaa(0x12a)])}))};});}export function getDynamicServiceEntry(_0x21c932){const _0x496898=a62_0x4cc8;return listDynamicServiceEntries()[_0x496898(0x16e)](_0x26dc10=>_0x26dc10['service']===_0x21c932);}export function listDynamicServiceDefinitions(_0x334312){const _0x41b826=a62_0x4cc8;return listLocalServiceTrees()['filter'](_0x43a467=>!_0x334312||_0x43a467[_0x41b826(0x176)][_0x41b826(0x172)]===_0x334312)[_0x41b826(0x13c)](_0x5021d4=>_0x5021d4[_0x41b826(0x125)][_0x41b826(0x148)](_0xc14154=>buildDynamicCommandDefinition(_0x5021d4,_0xc14154)));}export function getDynamicServiceDefinitions(_0x4e1231){const _0x577fff=a62_0x4cc8,_0x45f2ed=listDynamicServiceDefinitions(_0x4e1231);return _0x45f2ed[_0x577fff(0x16b)]>0x0?_0x45f2ed:undefined;}export function findDynamicServiceDefinition(_0x41e719,_0x526925){const _0x5ed16e=a62_0x4cc8;return listDynamicServiceDefinitions(_0x41e719)[_0x5ed16e(0x16e)](_0x2dadf4=>_0x2dadf4[_0x5ed16e(0x138)]===_0x526925);}export function buildDynamicCommandDefinition(_0x8758b6,_0x452090){const _0x1ccef9=a62_0x4cc8;return{'service':_0x8758b6['service'][_0x1ccef9(0x172)],'command':dynamicCommandName(_0x452090),'description':_0x452090[_0x1ccef9(0x156)]||_0x1ccef9(0x13d)+_0x452090['cliPath'],'risk':_0x452090[_0x1ccef9(0x12a)],..._0x452090[_0x1ccef9(0x12a)]===_0x1ccef9(0x168)?{}:{'confirmationDescription':buildDynamicConfirmationDescription(_0x452090)},'requiresAuth':!![],'requiresAppCode':!![],'args':_0x452090['args'][_0x1ccef9(0x148)](_0x1a9370=>({'name':_0x1a9370['name'],'description':_0x1a9370['description']||_0x1a9370[_0x1ccef9(0x13a)],'required':_0x1a9370[_0x1ccef9(0x17e)]})),'flags':_0x452090[_0x1ccef9(0x12b)][_0x1ccef9(0x148)](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x452090),async 'dryRun'(_0x28e80a){const _0x123a45=_0x1ccef9,_0x37e008=await compilePlan(_0x452090,_0x28e80a);return{'method':_0x123a45(0x145),'url':_0x452090[_0x123a45(0x16c)],'body':{'target':targetPreview(_0x37e008),'params':_0x37e008[_0x123a45(0x13e)]},'description':_0x123a45(0x137)+_0x452090['cliPath']};},async 'execute'(_0x36671a){const _0x4e3f13=_0x1ccef9,_0x25c6a9=await compilePlan(_0x452090,_0x36671a),_0x35b92b=Date[_0x4e3f13(0x177)](),_0x4ce442=await executePlan(_0x25c6a9,_0x452090,_0x36671a),_0x498ba3=Date['now']()-_0x35b92b;return{'ok':!![],'data':{'service':_0x8758b6[_0x4e3f13(0x176)],'command':_0x452090[_0x4e3f13(0x16c)],'target':targetPreview(_0x25c6a9),'result':_0x4ce442,'elapsed':_0x498ba3},'message':_0x4e3f13(0x179)+_0x452090[_0x4e3f13(0x16c)]+_0x4e3f13(0x15e)+_0x498ba3+'ms'};}};}function buildDynamicConfirmationDescription(_0x397d9c){const _0x10e31b=a62_0x4cc8,_0xe3b9c=_0x397d9c['description']||_0x397d9c['cliPath'],_0x52493b=_0x397d9c[_0x10e31b(0x12a)]==='high-risk-write'?_0x10e31b(0x185):_0x10e31b(0x147);return'This\x20will\x20run\x20Service\x20Tree\x20command\x20\x22'+_0xe3b9c+_0x10e31b(0x14a)+_0x52493b;}function dynamicCommandName(_0x23b1a5){const _0x349882=a62_0x4cc8;return _0x23b1a5[_0x349882(0x139)][_0x349882(0x160)](0x1)[_0x349882(0x128)]('\x20');}function riskTag(_0xc3311b){const _0x3fa393=a62_0x4cc8;return _0xc3311b===_0x3fa393(0x168)?'':_0x3fa393(0x175)+_0xc3311b+']';}function flagToCommandFlag(_0x2fb0b1){const _0x10f02d=a62_0x4cc8;return{'name':_0x2fb0b1['cliName'],'type':_0x2fb0b1['type']===_0x10f02d(0x15f)?'string':_0x2fb0b1[_0x10f02d(0x166)],'description':_0x2fb0b1[_0x10f02d(0x156)]||_0x2fb0b1[_0x10f02d(0x13a)],'required':_0x2fb0b1[_0x10f02d(0x17e)],'default':isPrimitiveFlagDefault(_0x2fb0b1['default'])?_0x2fb0b1[_0x10f02d(0x17a)]:undefined,'enum':_0x2fb0b1[_0x10f02d(0x150)]};}async function compilePlan(_0x3d1029,_0x339241){const _0x4c1441=a62_0x4cc8;return compileServiceTreeCommand(_0x3d1029,{'flags':_0x339241['rawFlags'],'args':_0x339241[_0x4c1441(0x162)],'context':await buildServiceContext(_0x3d1029,_0x339241)});}async function buildServiceContext(_0x5b319d,_0x26296b){const _0x337d99=a62_0x4cc8,_0x350e75={'appCode':_0x26296b[_0x337d99(0x16d)],'env':_0x26296b['envName'],'envName':_0x26296b[_0x337d99(0x15a)]};if(!usesRuntimeContext(_0x5b319d))return _0x350e75;const _0x494113=await getLoginUserInfo(),_0x194dca=pickFirst(_0x494113[_0x337d99(0x184)],_0x494113['id']);return{..._0x350e75,'user':_0x494113,'userId':_0x194dca,'id':_0x494113['id'],'username':pickFirst(_0x494113[_0x337d99(0x158)],_0x494113[_0x337d99(0x134)],_0x494113[_0x337d99(0x187)]),'userName':_0x494113[_0x337d99(0x134)],'nickname':pickFirst(_0x494113['nickname'],_0x494113[_0x337d99(0x132)]),'nickName':_0x494113[_0x337d99(0x132)],'tenantCode':_0x494113['tenantCode'],'employeeId':_0x494113['employeeId']};}function usesRuntimeContext(_0x1eae89){const _0x527fbc=a62_0x4cc8;return _0x1eae89['mapTo'][_0x527fbc(0x155)](_0x2fcb84=>typeof _0x2fcb84[_0x527fbc(0x141)]==='string'&&(_0x2fcb84['source'][_0x527fbc(0x12f)]('context.')||_0x2fcb84['source'][_0x527fbc(0x12f)]('ctx.')));}function pickFirst(..._0x37bfdd){const _0x27b74b=a62_0x4cc8;return _0x37bfdd[_0x27b74b(0x16e)](_0x24cbef=>_0x24cbef!==undefined&&_0x24cbef!==null);}async function executePlan(_0x32051e,_0x58fb12,_0x29105e){const _0x3a2948=a62_0x4cc8;if(_0x32051e[_0x3a2948(0x180)]==='data'){const _0x5b4a50=await resolveDatasetCode(_0x32051e,_0x58fb12,_0x29105e);return executeData(_0x5b4a50,_0x32051e[_0x3a2948(0x138)],_0x32051e[_0x3a2948(0x13e)]);}if(_0x32051e['kind']==='sql'){if(!_0x32051e[_0x3a2948(0x182)])throw CliErrors[_0x3a2948(0x171)](_0x3a2948(0x179)+_0x58fb12[_0x3a2948(0x16c)]+_0x3a2948(0x15b));return executeSdkSql(_0x32051e[_0x3a2948(0x182)],normalizeScalarParams(_0x32051e['params']));}if(_0x32051e['kind']===_0x3a2948(0x167)){const _0x195d35=_0x32051e['scriptName']||_0x32051e['bffCode']||(_0x32051e[_0x3a2948(0x165)]==null?'':String(_0x32051e[_0x3a2948(0x165)]));if(!_0x195d35)throw CliErrors['validation'](_0x3a2948(0x179)+_0x58fb12['cliPath']+_0x3a2948(0x164));return executeSdkBff(_0x195d35,_0x32051e[_0x3a2948(0x13e)]);}throw CliErrors[_0x3a2948(0x171)](_0x3a2948(0x170)+_0x32051e[_0x3a2948(0x180)]);}async function resolveDatasetCode(_0x47b630,_0x3c8dc0,_0x4ab802){const _0x3c6d70=a62_0x4cc8;if(_0x47b630['datasetCode'])return _0x47b630[_0x3c6d70(0x13b)];if(!_0x47b630[_0x3c6d70(0x15c)])throw CliErrors[_0x3c6d70(0x171)](_0x3c6d70(0x179)+_0x3c8dc0[_0x3c6d70(0x16c)]+_0x3c6d70(0x146));const _0x2ba232=await listDatasets(_0x4ab802[_0x3c6d70(0x16d)]),_0x1980ea=_0x2ba232[_0x3c6d70(0x16e)](_0x4668d9=>_0x4668d9['dbtableConfig']?.[_0x3c6d70(0x131)]===_0x47b630[_0x3c6d70(0x15c)]);if(!_0x1980ea?.[_0x3c6d70(0x172)])throw CliErrors[_0x3c6d70(0x171)](_0x3c6d70(0x178)+_0x47b630[_0x3c6d70(0x15c)]+_0x3c6d70(0x17c)+_0x4ab802[_0x3c6d70(0x16d)]+'.',_0x3c6d70(0x123));return _0x1980ea[_0x3c6d70(0x172)];}function applyAppBinding(_0x4a38de,_0x525516,_0x25ed73){const _0x2bbd1b=a62_0x4cc8,_0x40bb32=_0x525516[_0x2bbd1b(0x17d)][_0x2bbd1b(0x127)];if(!_0x40bb32)return;const _0x485cc2=_0x4a38de[_0x2bbd1b(0x17f)][_0x40bb32];if(!_0x485cc2)throw CliErrors[_0x2bbd1b(0x171)]('Unknown\x20appRef\x20\x22'+_0x40bb32+_0x2bbd1b(0x135)+_0x525516[_0x2bbd1b(0x16c)]+'.','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.');const _0xd817e=_0x485cc2[_0x2bbd1b(0x16f)]||_0x485cc2[_0x2bbd1b(0x16d)];_0xd817e&&!hasText(_0x25ed73['appcode'])&&(_0x25ed73[_0x2bbd1b(0x16f)]=_0xd817e),_0x485cc2[_0x2bbd1b(0x12e)]&&!hasText(_0x25ed73[_0x2bbd1b(0x12e)])&&!hasText(_0x25ed73[_0x2bbd1b(0x16f)])&&(_0x25ed73['app']=_0x485cc2[_0x2bbd1b(0x12e)]),_0x485cc2[_0x2bbd1b(0x12c)]&&!hasText(_0x25ed73[_0x2bbd1b(0x12c)])&&(_0x25ed73[_0x2bbd1b(0x12c)]=_0x485cc2[_0x2bbd1b(0x12c)]);}function renderDynamicCommandHelp(_0x5bc849){const _0x263e92=a62_0x4cc8,_0x3b9f91=[_0x263e92(0x124),_0x263e92(0x15d)+_0x5bc849['target'][_0x263e92(0x180)],_0x263e92(0x173)+_0x5bc849[_0x263e92(0x17d)][_0x263e92(0x138)]];if(_0x5bc849[_0x263e92(0x17d)]['datasetCode'])_0x3b9f91[_0x263e92(0x13f)](_0x263e92(0x130)+_0x5bc849['target'][_0x263e92(0x13b)]);if(_0x5bc849['target']['datatable'])_0x3b9f91['push'](_0x263e92(0x174)+_0x5bc849[_0x263e92(0x17d)][_0x263e92(0x15c)]);if(_0x5bc849[_0x263e92(0x17d)][_0x263e92(0x182)])_0x3b9f91[_0x263e92(0x13f)](_0x263e92(0x186)+_0x5bc849[_0x263e92(0x17d)][_0x263e92(0x182)]);if(_0x5bc849[_0x263e92(0x17d)]['scriptName'])_0x3b9f91[_0x263e92(0x13f)]('\x20\x20\x20\x20functionName:\x20'+_0x5bc849[_0x263e92(0x17d)][_0x263e92(0x14d)]);if(_0x5bc849[_0x263e92(0x181)][_0x263e92(0x16b)]>0x0){_0x3b9f91[_0x263e92(0x13f)]('','\x20\x20MAP\x20TO');for(const _0x13d8b1 of _0x5bc849[_0x263e92(0x181)]){_0x3b9f91[_0x263e92(0x13f)](_0x263e92(0x157)+(_0x13d8b1[_0x263e92(0x141)]||_0x263e92(0x153))+'\x20->\x20'+_0x13d8b1['target']+(_0x13d8b1[_0x263e92(0x189)]?'.'+_0x13d8b1[_0x263e92(0x189)]:''));}}return _0x3b9f91[_0x263e92(0x128)]('\x0a');}function a62_0x37f4(){const _0x2e85f9=['tree','Preview\x20dynamic\x20service\x20command:\x20','command','fullPath','name','datasetCode','flatMap','Run\x20service\x20command\x20','params','push','5991293SoOUyS','source','boolean','filter','Commands:','SERVICE_TREE','\x20requires\x20target.datasetCode\x20or\x20target.datatable.','The\x20manifest\x20marks\x20this\x20command\x20as\x20a\x20write.\x20It\x20may\x20change\x20business\x20data\x20or\x20service\x20state.','map','10oPrtBe','\x22.\x20','\x20service\x20detail\x20--service\x20','250338FlWDwY','scriptName','padEnd','string','enum','entries','remainingArgs','const','trim','some','description','\x20\x20\x20\x20','username','number','envName','\x20requires\x20target.sqlCode.','datatable','\x20\x20\x20\x20kind:\x20\x20\x20\x20','\x20completed\x20in\x20','json','slice','\x20<command>\x20[flags]','args','643475bRoFhr','\x20requires\x20target.functionName.','bffId','type','bff','read','normalizedManifest','258180OGKnST','length','cliPath','appCode','find','appcode','Unsupported\x20service\x20target\x20kind:\x20','validation','code','\x20\x20\x20\x20command:\x20','\x20\x20\x20\x20datatable:\x20','\x20\x20[','service','now','Cannot\x20resolve\x20datatable\x20\x22','Service\x20command\x20','default','758988bdtTUo','\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20','target','required','appBindings','kind','mapTo','sqlCode','bffCode','userId','The\x20manifest\x20marks\x20this\x20command\x20as\x20a\x20high-risk\x20write.\x20It\x20may\x20make\x20business\x20changes\x20that\x20are\x20hard\x20to\x20reverse.','\x20\x20\x20\x20sqlCode:\x20','loginName','25798030gUpDmw','operator','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','\x20\x20SERVICE\x20TREE\x20TARGET','commands','5969952bwlISk','appRef','join','8MgZvHH','risk','flags','env','28zYBLGC','app','startsWith','\x20\x20\x20\x20datasetCode:\x20','tableName','nickName','Use\x20`','userName','\x22\x20in\x20service\x20command\x20'];a62_0x37f4=function(){return _0x2e85f9;};return a62_0x37f4();}function targetPreview(_0x452b3f){const _0x4ba091=a62_0x4cc8;return{'kind':_0x452b3f[_0x4ba091(0x180)],'command':_0x452b3f[_0x4ba091(0x138)],'appRef':_0x452b3f[_0x4ba091(0x127)],'datasetCode':_0x452b3f[_0x4ba091(0x13b)],'datatable':_0x452b3f[_0x4ba091(0x15c)],'sqlCode':_0x452b3f['sqlCode'],'bffCode':_0x452b3f[_0x4ba091(0x183)],'bffId':_0x452b3f[_0x4ba091(0x165)],'functionName':_0x452b3f[_0x4ba091(0x14d)]};}function normalizeScalarParams(_0x334cf4){const _0x3d53aa=a62_0x4cc8;return Object['fromEntries'](Object[_0x3d53aa(0x151)](_0x334cf4)['filter'](([,_0x320596])=>typeof _0x320596===_0x3d53aa(0x14f)||typeof _0x320596===_0x3d53aa(0x159)));}function hasText(_0x323612){const _0x104d16=a62_0x4cc8;return typeof _0x323612==='string'&&_0x323612[_0x104d16(0x154)]()[_0x104d16(0x16b)]>0x0;}function isPrimitiveFlagDefault(_0x2f2130){const _0x4786c3=a62_0x4cc8;return _0x2f2130===undefined||typeof _0x2f2130==='string'||typeof _0x2f2130==='number'||typeof _0x2f2130===_0x4786c3(0x142);}
|
|
1
|
+
(function(_0x4f9c7d,_0x43f208){const _0x48e353=a62_0x52e7,_0x59b17e=_0x4f9c7d();while(!![]){try{const _0x1db19f=parseInt(_0x48e353(0x7a))/0x1+parseInt(_0x48e353(0x74))/0x2*(-parseInt(_0x48e353(0xb7))/0x3)+parseInt(_0x48e353(0xa4))/0x4*(-parseInt(_0x48e353(0xc0))/0x5)+parseInt(_0x48e353(0x82))/0x6+-parseInt(_0x48e353(0x8b))/0x7*(-parseInt(_0x48e353(0x90))/0x8)+-parseInt(_0x48e353(0x8a))/0x9*(parseInt(_0x48e353(0xb0))/0xa)+-parseInt(_0x48e353(0xa9))/0xb;if(_0x1db19f===_0x43f208)break;else _0x59b17e['push'](_0x59b17e['shift']());}catch(_0x55b774){_0x59b17e['push'](_0x59b17e['shift']());}}}(a62_0x4c38,0x7b0c8));import{compileServiceTreeCommand,matchServiceTreeCommand}from'@lovrabet/cli-framework';function a62_0x52e7(_0x348ee0,_0x47c669){_0x348ee0=_0x348ee0-0x6c;const _0x4c385b=a62_0x4c38();let _0x52e714=_0x4c385b[_0x348ee0];return _0x52e714;}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(_0x1cde27,_0x654d87){const _0x28f4be=a62_0x52e7,_0x51406b=listLocalServiceTrees();let _0x1da949;for(const _0x5a1165 of _0x51406b){const _0x2be3af=matchServiceTreeCommand(_0x5a1165,_0x1cde27);if(!_0x2be3af)continue;(!_0x1da949||_0x2be3af[_0x28f4be(0x78)][_0x28f4be(0x81)]['length']>_0x1da949['command'][_0x28f4be(0x81)][_0x28f4be(0x9e)])&&(_0x1da949={'tree':_0x5a1165,'command':_0x2be3af[_0x28f4be(0x78)],'remainingArgs':_0x2be3af[_0x28f4be(0xc7)]});}if(!_0x1da949)return undefined;const _0x16eee1={..._0x654d87};return applyAppBinding(_0x1da949[_0x28f4be(0x72)],_0x1da949[_0x28f4be(0x78)],_0x16eee1),{'definition':buildDynamicCommandDefinition(_0x1da949[_0x28f4be(0x72)],_0x1da949[_0x28f4be(0x78)]),'args':_0x1da949[_0x28f4be(0xc7)],'flags':_0x16eee1,'tree':_0x1da949[_0x28f4be(0x72)],'command':_0x1da949[_0x28f4be(0x78)]};}export function generateDynamicServiceHelp(_0x47586b){const _0x55ff03=a62_0x52e7,_0x46310=listLocalServiceTrees()[_0x55ff03(0xbd)](_0x39c8b1=>_0x39c8b1[_0x55ff03(0xab)][_0x55ff03(0xa8)]===_0x47586b);if(!_0x46310)return undefined;const _0x5e5b1d=[CLI_BIN_NAME+'\x20'+_0x47586b+_0x55ff03(0xaf),'',_0x46310[_0x55ff03(0xab)][_0x55ff03(0x75)]||_0x47586b,_0x46310[_0x55ff03(0xab)][_0x55ff03(0x7e)]?'\x20\x20'+_0x46310[_0x55ff03(0xab)]['description']:'','',_0x55ff03(0xc9),..._0x46310[_0x55ff03(0xd5)][_0x55ff03(0x70)](_0x3de367=>{const _0x2085f4=_0x55ff03,_0x58adc4=_0x3de367['fullPath'][_0x2085f4(0xb3)](0x1)['join']('\x20'),_0x2e60a2=_0x3de367[_0x2085f4(0x6f)]===_0x2085f4(0x87)?'':'\x20['+_0x3de367[_0x2085f4(0x6f)]+']';return'\x20\x20'+_0x58adc4['padEnd'](0x18)+'\x20'+(_0x3de367[_0x2085f4(0x7e)]||'')+_0x2e60a2;}),'',_0x55ff03(0x6e)+CLI_BIN_NAME+'\x20service\x20detail\x20--service\x20'+_0x47586b+_0x55ff03(0xc5)][_0x55ff03(0xb9)](Boolean);return _0x5e5b1d['join']('\x0a');}export function listDynamicServiceEntries(){const _0x51f687=a62_0x52e7;return listLocalServices()[_0x51f687(0x70)](_0x3c0119=>{const _0x4d31c7=_0x51f687,_0xedf080=_0x3c0119[_0x4d31c7(0xd7)];return{'service':_0xedf080[_0x4d31c7(0xab)][_0x4d31c7(0xa8)],'label':_0xedf080[_0x4d31c7(0xab)]['name']||_0xedf080[_0x4d31c7(0xab)]['code'],'commands':_0xedf080[_0x4d31c7(0xd5)]['map'](_0x21903b=>({'command':dynamicCommandName(_0x21903b),'description':_0x21903b[_0x4d31c7(0x7e)]||'Run\x20service\x20command\x20'+_0x21903b['cliPath'],'tag':riskTag(_0x21903b['risk'])}))};});}export function getDynamicServiceEntry(_0xa83358){const _0x579db1=a62_0x52e7;return listDynamicServiceEntries()[_0x579db1(0xbd)](_0x20359=>_0x20359['service']===_0xa83358);}export function listDynamicServiceDefinitions(_0x62cec4){const _0x46f16a=a62_0x52e7;return listLocalServiceTrees()[_0x46f16a(0xb9)](_0x465fac=>!_0x62cec4||_0x465fac['service'][_0x46f16a(0xa8)]===_0x62cec4)[_0x46f16a(0xd4)](_0x1cbd78=>_0x1cbd78[_0x46f16a(0xd5)][_0x46f16a(0x70)](_0x43593b=>buildDynamicCommandDefinition(_0x1cbd78,_0x43593b)));}export function getDynamicServiceDefinitions(_0x357234){const _0xa3ab37=a62_0x52e7,_0x534c80=listDynamicServiceDefinitions(_0x357234);return _0x534c80[_0xa3ab37(0x9e)]>0x0?_0x534c80:undefined;}export function findDynamicServiceDefinition(_0x406b82,_0x535e62){const _0x194301=a62_0x52e7;return listDynamicServiceDefinitions(_0x406b82)[_0x194301(0xbd)](_0x1415cb=>_0x1415cb[_0x194301(0x78)]===_0x535e62);}export function buildDynamicCommandDefinition(_0x2b3b93,_0x3c4107){const _0x329869=a62_0x52e7;return{'service':_0x2b3b93[_0x329869(0xab)][_0x329869(0xa8)],'command':dynamicCommandName(_0x3c4107),'description':_0x3c4107[_0x329869(0x7e)]||_0x329869(0xbe)+_0x3c4107[_0x329869(0x88)],'risk':_0x3c4107[_0x329869(0x6f)],..._0x3c4107[_0x329869(0x6f)]===_0x329869(0x87)?{}:{'confirmationDescription':buildDynamicConfirmationDescription(_0x3c4107)},'requiresAuth':!![],'requiresAppCode':!![],'args':_0x3c4107[_0x329869(0x92)][_0x329869(0x70)](_0x3cd04b=>({'name':_0x3cd04b[_0x329869(0x75)],'description':_0x3cd04b['description']||_0x3cd04b[_0x329869(0x75)],'required':_0x3cd04b[_0x329869(0xb5)]})),'flags':_0x3c4107[_0x329869(0xc1)][_0x329869(0x70)](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x3c4107),async 'dryRun'(_0x505d39){const _0x591e4d=_0x329869,_0x473e8d=await compilePlan(_0x3c4107,_0x505d39);return{'method':'SERVICE_TREE','url':_0x3c4107[_0x591e4d(0x88)],'body':{'target':targetPreview(_0x473e8d),'params':_0x473e8d[_0x591e4d(0x9d)]},'description':'Preview\x20dynamic\x20service\x20command:\x20'+_0x3c4107['cliPath']};},async 'execute'(_0x2a131b){const _0x3b26ad=_0x329869,_0x301cd4=await compilePlan(_0x3c4107,_0x2a131b),_0x835e28=Date['now'](),_0x444985=await executePlan(_0x301cd4,_0x3c4107,_0x2a131b),_0x3b0ac9=Date[_0x3b26ad(0xaa)]()-_0x835e28;return{'ok':!![],'data':{'service':_0x2b3b93[_0x3b26ad(0xab)],'command':_0x3c4107[_0x3b26ad(0x88)],'target':targetPreview(_0x301cd4),'result':_0x444985,'elapsed':_0x3b0ac9},'message':_0x3b26ad(0xcb)+_0x3c4107[_0x3b26ad(0x88)]+_0x3b26ad(0x71)+_0x3b0ac9+'ms'};}};}function buildDynamicConfirmationDescription(_0x51a3fa){const _0x9f898b=a62_0x52e7,_0x374f48=_0x51a3fa[_0x9f898b(0x7e)]||_0x51a3fa['cliPath'],_0x45439f=_0x51a3fa[_0x9f898b(0x6f)]===_0x9f898b(0xd6)?_0x9f898b(0xba):_0x9f898b(0x7c);return _0x9f898b(0xca)+_0x374f48+_0x9f898b(0x9b)+_0x45439f;}function dynamicCommandName(_0x3f376a){const _0x4cae5e=a62_0x52e7;return _0x3f376a[_0x4cae5e(0x81)]['slice'](0x1)[_0x4cae5e(0x9a)]('\x20');}function riskTag(_0x1696ac){const _0x3129d4=a62_0x52e7;return _0x1696ac===_0x3129d4(0x87)?'':'\x20\x20['+_0x1696ac+']';}function flagToCommandFlag(_0x5076c2){const _0x2da393=a62_0x52e7;return{'name':_0x5076c2[_0x2da393(0x76)],'type':_0x5076c2[_0x2da393(0xc8)]===_0x2da393(0x7f)?'string':_0x5076c2[_0x2da393(0xc8)],'description':_0x5076c2[_0x2da393(0x7e)]||_0x5076c2[_0x2da393(0x75)],'required':_0x5076c2[_0x2da393(0xb5)],'default':isPrimitiveFlagDefault(_0x5076c2[_0x2da393(0xb1)])?_0x5076c2[_0x2da393(0xb1)]:undefined,'enum':_0x5076c2[_0x2da393(0x80)]};}async function compilePlan(_0x1fc470,_0x5a49b0){const _0x3d15ad=a62_0x52e7;return compileServiceTreeCommand(_0x1fc470,{'flags':_0x5a49b0[_0x3d15ad(0x91)],'args':_0x5a49b0[_0x3d15ad(0x92)],'context':await buildServiceContext(_0x1fc470,_0x5a49b0)});}async function buildServiceContext(_0x50d3db,_0x4424ac){const _0x25bf70=a62_0x52e7,_0x2e1ea2={'appCode':_0x4424ac[_0x25bf70(0xa3)],'env':_0x4424ac[_0x25bf70(0xa7)],'envName':_0x4424ac['envName']};if(!usesRuntimeContext(_0x50d3db))return _0x2e1ea2;const _0x46289b=await getLoginUserInfo(),_0x341624=pickFirst(_0x46289b['userId'],_0x46289b['id']);return{..._0x2e1ea2,'user':_0x46289b,'userId':_0x341624,'id':_0x46289b['id'],'username':pickFirst(_0x46289b[_0x25bf70(0xc6)],_0x46289b['userName'],_0x46289b[_0x25bf70(0x94)]),'userName':_0x46289b['userName'],'nickname':pickFirst(_0x46289b['nickname'],_0x46289b[_0x25bf70(0x99)]),'nickName':_0x46289b[_0x25bf70(0x99)],'tenantCode':_0x46289b[_0x25bf70(0xad)],'employeeId':_0x46289b[_0x25bf70(0xd0)]};}function usesRuntimeContext(_0x1e9e83){const _0x42e9b7=a62_0x52e7;return _0x1e9e83[_0x42e9b7(0x79)]['some'](_0x4b08a1=>typeof _0x4b08a1[_0x42e9b7(0xc3)]===_0x42e9b7(0xa1)&&(_0x4b08a1['source'][_0x42e9b7(0x8e)]('context.')||_0x4b08a1[_0x42e9b7(0xc3)][_0x42e9b7(0x8e)]('ctx.')));}function pickFirst(..._0x38d2c7){const _0x169782=a62_0x52e7;return _0x38d2c7[_0x169782(0xbd)](_0x97bb3d=>_0x97bb3d!==undefined&&_0x97bb3d!==null);}async function executePlan(_0x494608,_0x3db7d2,_0x1d6185){const _0x54d44e=a62_0x52e7;if(_0x494608[_0x54d44e(0x97)]===_0x54d44e(0xbf)){const _0x22de5a=await resolveDatasetCode(_0x494608,_0x3db7d2,_0x1d6185);return executeData(_0x22de5a,_0x494608[_0x54d44e(0x78)],_0x494608[_0x54d44e(0x9d)]);}if(_0x494608[_0x54d44e(0x97)]===_0x54d44e(0xb6)){if(!_0x494608[_0x54d44e(0xa6)])throw CliErrors[_0x54d44e(0xa5)](_0x54d44e(0xcb)+_0x3db7d2[_0x54d44e(0x88)]+'\x20requires\x20target.sqlCode.');return executeSdkSql(_0x494608[_0x54d44e(0xa6)],normalizeScalarParams(_0x494608[_0x54d44e(0x9d)]));}if(_0x494608[_0x54d44e(0x97)]===_0x54d44e(0xbc)){const _0x532ba9=_0x494608[_0x54d44e(0x6d)]||_0x494608['bffCode']||(_0x494608[_0x54d44e(0xa2)]==null?'':String(_0x494608['bffId']));if(!_0x532ba9)throw CliErrors[_0x54d44e(0xa5)](_0x54d44e(0xcb)+_0x3db7d2[_0x54d44e(0x88)]+_0x54d44e(0xce));return executeSdkBff(_0x532ba9,_0x494608[_0x54d44e(0x9d)]);}throw CliErrors[_0x54d44e(0xa5)](_0x54d44e(0x9c)+_0x494608['kind']);}async function resolveDatasetCode(_0x2391f0,_0x535742,_0x30a82b){const _0x2e94cc=a62_0x52e7;if(_0x2391f0['datasetCode'])return _0x2391f0['datasetCode'];if(!_0x2391f0[_0x2e94cc(0x95)])throw CliErrors['validation'](_0x2e94cc(0xcb)+_0x535742[_0x2e94cc(0x88)]+'\x20requires\x20target.datasetCode\x20or\x20target.datatable.');const _0x1ca9ea=await listDatasets(_0x30a82b[_0x2e94cc(0xa3)]),_0x213140=_0x1ca9ea[_0x2e94cc(0xbd)](_0x231cef=>_0x231cef[_0x2e94cc(0xb4)]?.[_0x2e94cc(0xbb)]===_0x2391f0[_0x2e94cc(0x95)]);if(!_0x213140?.['code'])throw CliErrors[_0x2e94cc(0xa5)](_0x2e94cc(0xd3)+_0x2391f0[_0x2e94cc(0x95)]+'\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20'+_0x30a82b[_0x2e94cc(0xa3)]+'.',_0x2e94cc(0xac));return _0x213140[_0x2e94cc(0xa8)];}function a62_0x4c38(){const _0x10b747=['slice','dbtableConfig','required','sql','3jDLonV','bffCode','filter','The\x20manifest\x20marks\x20this\x20command\x20as\x20a\x20high-risk\x20write.\x20It\x20may\x20make\x20business\x20changes\x20that\x20are\x20hard\x20to\x20reverse.','tableName','bff','find','Run\x20service\x20command\x20','data','10JHdScs','flags','\x20\x20SERVICE\x20TREE\x20TARGET','source','\x20->\x20','`\x20to\x20inspect\x20the\x20manifest.','username','remainingArgs','type','Commands:','This\x20will\x20run\x20Service\x20Tree\x20command\x20\x22','Service\x20command\x20','operator','appcode','\x20requires\x20target.functionName.','appRef','employeeId','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.','\x20\x20\x20\x20datatable:\x20','Cannot\x20resolve\x20datatable\x20\x22','flatMap','commands','high-risk-write','normalizedManifest','appBindings','scriptName','Use\x20`','risk','map','\x20completed\x20in\x20','tree','target','804286NhNktx','name','cliName','app','command','mapTo','712500YmqvJH','trim','The\x20manifest\x20marks\x20this\x20command\x20as\x20a\x20write.\x20It\x20may\x20change\x20business\x20data\x20or\x20service\x20state.','\x20\x20\x20\x20kind:\x20\x20\x20\x20','description','json','enum','fullPath','4673466llpBbh','\x20\x20\x20\x20sqlCode:\x20','Unknown\x20appRef\x20\x22','push','env','read','cliPath','\x20\x20\x20\x20','18gEfyCM','114884hipriC','number','\x20\x20\x20\x20datasetCode:\x20','startsWith','entries','248onkyVR','rawFlags','args','datasetCode','loginName','datatable','const','kind','\x20\x20MAP\x20TO','nickName','join','\x22.\x20','Unsupported\x20service\x20target\x20kind:\x20','params','length','\x20\x20\x20\x20functionName:\x20','fromEntries','string','bffId','appCode','229112SfXoPI','validation','sqlCode','envName','code','10033914DDQudL','now','service','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','tenantCode','boolean','\x20<command>\x20[flags]','336510GUERGe','default','\x20\x20\x20\x20command:\x20'];a62_0x4c38=function(){return _0x10b747;};return a62_0x4c38();}function applyAppBinding(_0x109e92,_0x1ad92c,_0x499a44){const _0x499fac=a62_0x52e7,_0x3b81aa=_0x1ad92c[_0x499fac(0x73)][_0x499fac(0xcf)];if(!_0x3b81aa)return;const _0x17f4b0=_0x109e92[_0x499fac(0x6c)][_0x3b81aa];if(!_0x17f4b0)throw CliErrors[_0x499fac(0xa5)](_0x499fac(0x84)+_0x3b81aa+'\x22\x20in\x20service\x20command\x20'+_0x1ad92c[_0x499fac(0x88)]+'.',_0x499fac(0xd1));const _0x246437=_0x17f4b0[_0x499fac(0xcd)]||_0x17f4b0['appCode'];_0x246437&&!hasText(_0x499a44['appcode'])&&(_0x499a44[_0x499fac(0xcd)]=_0x246437),_0x17f4b0[_0x499fac(0x77)]&&!hasText(_0x499a44[_0x499fac(0x77)])&&!hasText(_0x499a44[_0x499fac(0xcd)])&&(_0x499a44[_0x499fac(0x77)]=_0x17f4b0[_0x499fac(0x77)]),_0x17f4b0[_0x499fac(0x86)]&&!hasText(_0x499a44[_0x499fac(0x86)])&&(_0x499a44[_0x499fac(0x86)]=_0x17f4b0['env']);}function renderDynamicCommandHelp(_0x37260c){const _0x3e915b=a62_0x52e7,_0x3b23c9=[_0x3e915b(0xc2),_0x3e915b(0x7d)+_0x37260c['target']['kind'],_0x3e915b(0xb2)+_0x37260c[_0x3e915b(0x73)][_0x3e915b(0x78)]];if(_0x37260c[_0x3e915b(0x73)][_0x3e915b(0x93)])_0x3b23c9[_0x3e915b(0x85)](_0x3e915b(0x8d)+_0x37260c[_0x3e915b(0x73)][_0x3e915b(0x93)]);if(_0x37260c['target'][_0x3e915b(0x95)])_0x3b23c9['push'](_0x3e915b(0xd2)+_0x37260c[_0x3e915b(0x73)][_0x3e915b(0x95)]);if(_0x37260c[_0x3e915b(0x73)][_0x3e915b(0xa6)])_0x3b23c9[_0x3e915b(0x85)](_0x3e915b(0x83)+_0x37260c[_0x3e915b(0x73)]['sqlCode']);if(_0x37260c[_0x3e915b(0x73)][_0x3e915b(0x6d)])_0x3b23c9[_0x3e915b(0x85)](_0x3e915b(0x9f)+_0x37260c[_0x3e915b(0x73)]['scriptName']);if(_0x37260c['mapTo'][_0x3e915b(0x9e)]>0x0){_0x3b23c9['push']('',_0x3e915b(0x98));for(const _0x5a88ed of _0x37260c['mapTo']){_0x3b23c9[_0x3e915b(0x85)](_0x3e915b(0x89)+(_0x5a88ed[_0x3e915b(0xc3)]||_0x3e915b(0x96))+_0x3e915b(0xc4)+_0x5a88ed[_0x3e915b(0x73)]+(_0x5a88ed['operator']?'.'+_0x5a88ed[_0x3e915b(0xcc)]:''));}}return _0x3b23c9['join']('\x0a');}function targetPreview(_0x58eebd){const _0x14caaa=a62_0x52e7;return{'kind':_0x58eebd['kind'],'command':_0x58eebd[_0x14caaa(0x78)],'appRef':_0x58eebd[_0x14caaa(0xcf)],'datasetCode':_0x58eebd[_0x14caaa(0x93)],'datatable':_0x58eebd[_0x14caaa(0x95)],'sqlCode':_0x58eebd['sqlCode'],'bffCode':_0x58eebd[_0x14caaa(0xb8)],'bffId':_0x58eebd['bffId'],'functionName':_0x58eebd[_0x14caaa(0x6d)]};}function normalizeScalarParams(_0x5cc18f){const _0x1b2e50=a62_0x52e7;return Object[_0x1b2e50(0xa0)](Object[_0x1b2e50(0x8f)](_0x5cc18f)[_0x1b2e50(0xb9)](([,_0x1219f3])=>typeof _0x1219f3===_0x1b2e50(0xa1)||typeof _0x1219f3==='number'));}function hasText(_0x230435){const _0x35dd90=a62_0x52e7;return typeof _0x230435===_0x35dd90(0xa1)&&_0x230435[_0x35dd90(0x7b)]()[_0x35dd90(0x9e)]>0x0;}function isPrimitiveFlagDefault(_0x133d73){const _0x3f9f5e=a62_0x52e7;return _0x133d73===undefined||typeof _0x133d73===_0x3f9f5e(0xa1)||typeof _0x133d73===_0x3f9f5e(0x8c)||typeof _0x133d73===_0x3f9f5e(0xae);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x317667,_0x2403d2){const _0x121f36=a63_0x5c83,_0x25eb37=_0x317667();while(!![]){try{const _0x450041=-parseInt(_0x121f36(0xf7))/0x1*(-parseInt(_0x121f36(0xf5))/0x2)+-parseInt(_0x121f36(0xd9))/0x3+-parseInt(_0x121f36(0xdf))/0x4+parseInt(_0x121f36(0xe8))/0x5*(-parseInt(_0x121f36(0xf8))/0x6)+-parseInt(_0x121f36(0xf1))/0x7*(-parseInt(_0x121f36(0xea))/0x8)+-parseInt(_0x121f36(0xf3))/0x9*(parseInt(_0x121f36(0xe6))/0xa)+parseInt(_0x121f36(0xde))/0xb;if(_0x450041===_0x2403d2)break;else _0x25eb37['push'](_0x25eb37['shift']());}catch(_0x17a074){_0x25eb37['push'](_0x25eb37['shift']());}}}(a63_0x4ddd,0x63285));function a63_0x5c83(_0x5c9a5c,_0x5199bf){_0x5c9a5c=_0x5c9a5c-0xd8;const _0x4ddd36=a63_0x4ddd();let _0x5c8384=_0x4ddd36[_0x5c9a5c];return _0x5c8384;}export function adaptServiceTreeManifestForLegacyFramework(_0x190ea8){const _0x5b23f3=a63_0x5c83,_0x357345=cloneJsonValue(_0x190ea8),_0x40db44=[];if(!isObjectRecord(_0x357345))return{'manifest':_0x357345,'errors':_0x40db44};return Array[_0x5b23f3(0xec)](_0x357345[_0x5b23f3(0xf2)])&&_0x357345[_0x5b23f3(0xf2)][_0x5b23f3(0xf4)]((_0x3f3184,_0x357ed1)=>{const _0x1789ec=_0x5b23f3;if(!isObjectRecord(_0x3f3184))return;adaptBffTarget(_0x3f3184[_0x1789ec(0xed)],'$.commands['+_0x357ed1+_0x1789ec(0xf0),_0x40db44);}),adaptResources(_0x357345[_0x5b23f3(0xeb)],'$.resources',_0x40db44),{'manifest':_0x357345,'errors':_0x40db44};}export function toPublicServiceTreeTarget(_0x2d5e18){const _0x24d60c=a63_0x5c83,{scriptName:_0x1b90d3,..._0x4b22a5}=_0x2d5e18;return typeof _0x1b90d3===_0x24d60c(0xf9)&&_0x1b90d3[_0x24d60c(0xe2)]()&&(_0x4b22a5[_0x24d60c(0xef)]=_0x1b90d3),_0x4b22a5;}export function toPublicNormalizedServiceTree(_0x2fd2e6){const _0x1700e7=a63_0x5c83;return{..._0x2fd2e6,'commands':_0x2fd2e6[_0x1700e7(0xf2)]['map'](_0x5fd58=>({..._0x5fd58,'target':toPublicServiceTreeTarget(_0x5fd58['target'])}))};}function adaptResources(_0x13cbb2,_0x2b7803,_0x4fbe7a){const _0x316573=a63_0x5c83;if(!isObjectRecord(_0x13cbb2))return;for(const [_0x1e6c63,_0x1f22c4]of Object['entries'](_0x13cbb2)){if(!isObjectRecord(_0x1f22c4))continue;const _0x43a957=_0x2b7803+'.'+_0x1e6c63;if(isObjectRecord(_0x1f22c4['actions']))for(const [_0x485708,_0x10438c]of Object[_0x316573(0xdc)](_0x1f22c4['actions'])){if(!isObjectRecord(_0x10438c))continue;const _0x4e56b6=_0x43a957+_0x316573(0xfb)+_0x485708,_0xb93101=isObjectRecord(_0x10438c[_0x316573(0xed)])&&_0x10438c[_0x316573(0xed)]['kind']===_0x316573(0xf6);adaptBffTarget(_0x10438c['target'],_0x4e56b6+_0x316573(0xe7),_0x4fbe7a),(_0xb93101||isBffAction(_0x10438c))&&adaptFunctionNameField(_0x10438c,_0x4e56b6,_0x4fbe7a);}adaptResources(_0x1f22c4[_0x316573(0xeb)],_0x43a957+_0x316573(0xdd),_0x4fbe7a);}}function adaptBffTarget(_0xae7c28,_0x35a882,_0x2e6330){const _0x3a6a24=a63_0x5c83;if(!isObjectRecord(_0xae7c28)||_0xae7c28[_0x3a6a24(0xdb)]!==_0x3a6a24(0xf6))return;adaptFunctionNameField(_0xae7c28,_0x35a882,_0x2e6330);}function adaptFunctionNameField(_0x559ab8,_0x406ec4,_0x273dd9){const _0x3014a4=a63_0x5c83;Object['prototype'][_0x3014a4(0xe5)]['call'](_0x559ab8,_0x3014a4(0xd8))&&_0x273dd9['push']({'level':'error','path':_0x406ec4+_0x3014a4(0xe0),'message':'Use\x20functionName;\x20scriptName\x20is\x20not\x20part\x20of\x20the\x20runtime\x20Service\x20Tree\x20contract.'});if(Object[_0x3014a4(0xe4)][_0x3014a4(0xe5)][_0x3014a4(0xee)](_0x559ab8,_0x3014a4(0xef))){if(typeof _0x559ab8[_0x3014a4(0xef)]!==_0x3014a4(0xf9)||!_0x559ab8[_0x3014a4(0xef)][_0x3014a4(0xe2)]()){_0x273dd9[_0x3014a4(0xda)]({'level':_0x3014a4(0xe9),'path':_0x406ec4+'.functionName','message':'functionName\x20must\x20be\x20a\x20non-empty\x20string.'}),delete _0x559ab8['functionName'];return;}_0x559ab8[_0x3014a4(0xd8)]=_0x559ab8[_0x3014a4(0xef)],delete _0x559ab8['functionName'];}}function a63_0x4ddd(){const _0x2b28f6=['kind','entries','.resources','16278174RMWYVb','1981880UhCoLA','.scriptName','object','trim','action','prototype','hasOwnProperty','55780HJehfy','.target','5LpxKXu','error','2338472YYLszg','resources','isArray','target','call','functionName','].target','14bbirBQ','commands','1206rLdDkf','forEach','2BIhFsa','bff','304553SKZPqS','377070SEfvcS','string','map','.actions.','scriptName','1971267zjpSRi','push'];a63_0x4ddd=function(){return _0x2b28f6;};return a63_0x4ddd();}function isBffAction(_0xabb1a9){const _0x51d227=a63_0x5c83;return _0xabb1a9[_0x51d227(0xdb)]===_0x51d227(0xf6)||_0xabb1a9[_0x51d227(0xe3)]==='bff.exec'||_0xabb1a9[_0x51d227(0xed)]==='bff.exec';}function cloneJsonValue(_0x26a1cd){const _0x5d5807=a63_0x5c83;if(Array[_0x5d5807(0xec)](_0x26a1cd))return _0x26a1cd[_0x5d5807(0xfa)](_0x14954e=>cloneJsonValue(_0x14954e));if(isObjectRecord(_0x26a1cd))return Object['fromEntries'](Object['entries'](_0x26a1cd)[_0x5d5807(0xfa)](([_0x639884,_0x4e5efd])=>[_0x639884,cloneJsonValue(_0x4e5efd)]));return _0x26a1cd;}function isObjectRecord(_0x39de3d){const _0x39ca9e=a63_0x5c83;return Boolean(_0x39de3d)&&typeof _0x39de3d===_0x39ca9e(0xe1)&&!Array[_0x39ca9e(0xec)](_0x39de3d);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a64_0x3bfc0f=a64_0x4397;(function(_0xf91264,_0x3f7f27){const _0x9b5c37=a64_0x4397,_0x1e7231=_0xf91264();while(!![]){try{const _0x57bb7d=parseInt(_0x9b5c37(0x191))/0x1*(-parseInt(_0x9b5c37(0x18e))/0x2)+-parseInt(_0x9b5c37(0x198))/0x3*(parseInt(_0x9b5c37(0x196))/0x4)+-parseInt(_0x9b5c37(0x17f))/0x5+-parseInt(_0x9b5c37(0x195))/0x6+-parseInt(_0x9b5c37(0x16a))/0x7+parseInt(_0x9b5c37(0x150))/0x8+parseInt(_0x9b5c37(0x181))/0x9;if(_0x57bb7d===_0x3f7f27)break;else _0x1e7231['push'](_0x1e7231['shift']());}catch(_0x27df45){_0x1e7231['push'](_0x1e7231['shift']());}}}(a64_0x5b58,0xde139));function a64_0x5b58(){const _0xb18f0e=['List\x20locally\x20imported\x20Service\x20Tree\x20manifests','errors','target','serviceCode','hash','WRITE','warnings','\x20service\x20','Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','lower\x20kebab-case\x20service\x20code','serviceCount','Updated','7651065VbbfnC','risk','43233759mSSFMT','description','updated','remove','read','\x20service(s).','flags','file','version','filePath','import','detail','Imported\x20','4362njjBNR','Reads\x20the\x20given\x20manifest\x20into\x20the\x20local\x20Service\x20Tree\x20registry.\x20An\x20existing\x20manifest\x20with\x20the\x20same\x20service\x20code\x20is\x20updated.\x20The\x20confirmation\x20UI\x20does\x20not\x20show\x20local\x20file\x20paths.','commands','345MEseST','imported','write','Exported\x20service\x20','10297458WSoVRZ','8QgHJCK','replaced','380127mUhSSt','manifest','Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json','importedAt','6069000KdSseP','type','entry','Export\x20the\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','Local\x20service\x20not\x20found:\x20','Local\x20service\x20code,\x20for\x20example\x20crm','Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json','registryPath','registry','string','kind','name','Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','Remove\x20a\x20Service\x20Tree\x20manifest\x20from\x20the\x20local\x20runtime\x20registry','str','Service\x20manifest\x20validation\x20passed.','cliPath','Removes\x20the\x20given\x20service\x20manifest\x20from\x20the\x20local\x20Service\x20Tree\x20registry.\x20Dynamic\x20commands\x20from\x20that\x20manifest\x20will\x20no\x20longer\x20be\x20available.','Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json','cliName','service','manifests','Writes\x20the\x20local\x20Service\x20Tree\x20manifest\x20for\x20the\x20given\x20service\x20to\x20a\x20JSON\x20file.\x20An\x20existing\x20file\x20at\x20the\x20target\x20may\x20be\x20overwritten.\x20The\x20confirmation\x20UI\x20does\x20not\x20show\x20local\x20file\x20paths.','export','entries','length','2803024DZKAvB','normalizedManifest','Removed\x20service\x20','validate','registryServiceCode','source','map','report','list'];a64_0x5b58=function(){return _0xb18f0e;};return a64_0x5b58();}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':a64_0x3bfc0f(0x188),'type':'string','required':!![],'description':'Service\x20Tree\x20manifest\x20file\x20path'},SERVICE_FLAG={'name':a64_0x3bfc0f(0x164),'type':a64_0x3bfc0f(0x159),'required':!![],'description':a64_0x3bfc0f(0x155),'pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':a64_0x3bfc0f(0x17c)}};function a64_0x4397(_0x369daa,_0x32299b){_0x369daa=_0x369daa-0x14f;const _0x5b58db=a64_0x5b58();let _0x4397bf=_0x5b58db[_0x369daa];return _0x4397bf;}function summarizeService(_0x2f4afa){const _0xa00fc2=a64_0x3bfc0f;return{'serviceCode':_0x2f4afa['serviceCode'],'name':_0x2f4afa['normalizedManifest'][_0xa00fc2(0x164)][_0xa00fc2(0x15b)],'version':_0x2f4afa[_0xa00fc2(0x189)],'importedAt':_0x2f4afa[_0xa00fc2(0x14f)],'source':_0x2f4afa['source'],'commandCount':_0x2f4afa[_0xa00fc2(0x16b)]['commands']['length'],'commands':_0x2f4afa[_0xa00fc2(0x16b)][_0xa00fc2(0x190)][_0xa00fc2(0x170)](_0x2848d5=>({'path':_0x2848d5[_0xa00fc2(0x160)],'description':_0x2848d5[_0xa00fc2(0x182)],'risk':_0x2848d5['risk'],'target':toPublicServiceTreeTarget(_0x2848d5['target']),'flags':_0x2848d5[_0xa00fc2(0x187)][_0xa00fc2(0x170)](_0x54ff11=>({'name':_0x54ff11[_0xa00fc2(0x15b)],'cliName':_0x54ff11[_0xa00fc2(0x163)],'type':_0x54ff11[_0xa00fc2(0x151)],'required':_0x54ff11['required']===!![]}))}))};}function summarizeLoadedManifest(_0x5c6c62){const _0x3da72d=a64_0x3bfc0f;return{'service':_0x5c6c62[_0x3da72d(0x16b)]?.[_0x3da72d(0x164)],'version':_0x5c6c62[_0x3da72d(0x16b)]?.[_0x3da72d(0x189)],'commandCount':_0x5c6c62[_0x3da72d(0x16b)]?.[_0x3da72d(0x190)][_0x3da72d(0x169)]??0x0,'commands':_0x5c6c62[_0x3da72d(0x16b)]?.[_0x3da72d(0x190)][_0x3da72d(0x170)](_0x325b8d=>({'path':_0x325b8d[_0x3da72d(0x160)],'risk':_0x325b8d[_0x3da72d(0x180)],'target':toPublicServiceTreeTarget(_0x325b8d[_0x3da72d(0x175)])}))??[],'registryIndex':_0x5c6c62['registryIndex'],'registryServiceCode':_0x5c6c62[_0x3da72d(0x16e)],'errors':_0x5c6c62['report'][_0x3da72d(0x174)],'warnings':_0x5c6c62[_0x3da72d(0x171)][_0x3da72d(0x179)]};}export const serviceDefinitions=[{'service':'service','command':a64_0x3bfc0f(0x16d),'description':a64_0x3bfc0f(0x15c),'risk':a64_0x3bfc0f(0x185),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x528235){const _0x178502=a64_0x3bfc0f,_0x20fe5f=loadServiceManifestFromFile(_0x528235[_0x178502(0x15e)](_0x178502(0x188)));if(!_0x20fe5f[_0x178502(0x171)]['ok'])return{'ok':![],'data':{'file':_0x20fe5f[_0x178502(0x18a)],'hash':_0x20fe5f['hash'],'kind':_0x20fe5f['kind'],'serviceCount':_0x20fe5f[_0x178502(0x165)]['length'],'services':_0x20fe5f[_0x178502(0x165)][_0x178502(0x170)](summarizeLoadedManifest),'errors':_0x20fe5f[_0x178502(0x171)][_0x178502(0x174)],'warnings':_0x20fe5f[_0x178502(0x171)][_0x178502(0x179)]},'message':formatValidationFailure(_0x20fe5f[_0x178502(0x171)])};if(_0x20fe5f['kind']===_0x178502(0x158)||_0x20fe5f[_0x178502(0x165)]['length']!==0x1)return{'ok':!![],'data':{'file':_0x20fe5f[_0x178502(0x18a)],'hash':_0x20fe5f[_0x178502(0x177)],'kind':_0x20fe5f[_0x178502(0x15a)],'serviceCount':_0x20fe5f['manifests']['length'],'commandCount':_0x20fe5f[_0x178502(0x165)]['reduce']((_0x192f35,_0x5b4f49)=>_0x192f35+(_0x5b4f49[_0x178502(0x16b)]?.['commands'][_0x178502(0x169)]??0x0),0x0),'services':_0x20fe5f[_0x178502(0x165)][_0x178502(0x170)](summarizeLoadedManifest),'warnings':_0x20fe5f[_0x178502(0x171)][_0x178502(0x179)]},'message':'Service\x20registry\x20validation\x20passed.'};return{'ok':!![],'data':{'file':_0x20fe5f[_0x178502(0x18a)],'hash':_0x20fe5f['hash'],'kind':_0x20fe5f[_0x178502(0x15a)],'service':_0x20fe5f['normalizedManifest']?.[_0x178502(0x164)],'version':_0x20fe5f['normalizedManifest']?.['version'],'commandCount':_0x20fe5f[_0x178502(0x16b)]?.[_0x178502(0x190)][_0x178502(0x169)]??0x0,'commands':_0x20fe5f[_0x178502(0x16b)]?.[_0x178502(0x190)][_0x178502(0x170)](_0x211ecd=>({'path':_0x211ecd[_0x178502(0x160)],'risk':_0x211ecd['risk'],'target':toPublicServiceTreeTarget(_0x211ecd[_0x178502(0x175)])})),'warnings':_0x20fe5f[_0x178502(0x171)][_0x178502(0x179)]},'message':_0x178502(0x15f)};}},{'service':a64_0x3bfc0f(0x164),'command':a64_0x3bfc0f(0x18b),'description':a64_0x3bfc0f(0x17b),'risk':a64_0x3bfc0f(0x193),'confirmationDescription':a64_0x3bfc0f(0x18f),'requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x56991d){const _0x28a9b9=a64_0x3bfc0f,_0x4278a3=loadServiceManifestFromFile(_0x56991d['str'](_0x28a9b9(0x188)));return{'method':'WRITE','url':getServiceRegistryPath(),'body':{'file':_0x4278a3['filePath'],'hash':_0x4278a3['hash'],'kind':_0x4278a3[_0x28a9b9(0x15a)],'ok':_0x4278a3[_0x28a9b9(0x171)]['ok'],'service':_0x4278a3[_0x28a9b9(0x16b)]?.[_0x28a9b9(0x164)],'version':_0x4278a3[_0x28a9b9(0x16b)]?.['version'],'serviceCount':_0x4278a3[_0x28a9b9(0x165)][_0x28a9b9(0x169)],'services':_0x4278a3[_0x28a9b9(0x165)][_0x28a9b9(0x170)](_0x37f3ec=>({'service':_0x37f3ec[_0x28a9b9(0x16b)]?.[_0x28a9b9(0x164)],'version':_0x37f3ec[_0x28a9b9(0x16b)]?.[_0x28a9b9(0x189)],'commandCount':_0x37f3ec[_0x28a9b9(0x16b)]?.[_0x28a9b9(0x190)][_0x28a9b9(0x169)]??0x0,'errors':_0x37f3ec['report']['errors']})),'errors':_0x4278a3['report'][_0x28a9b9(0x174)],'commandCount':_0x4278a3[_0x28a9b9(0x16b)]?.[_0x28a9b9(0x190)][_0x28a9b9(0x169)]??0x0},'description':_0x28a9b9(0x162)};},async 'execute'(_0x561b8c){const _0x4abd8b=a64_0x3bfc0f,_0x2b67f0=importServiceManifest(_0x561b8c[_0x4abd8b(0x15e)](_0x4abd8b(0x188)));if(_0x2b67f0[_0x4abd8b(0x168)]['length']!==0x1)return{'ok':!![],'data':{'registryPath':_0x2b67f0[_0x4abd8b(0x157)],'imported':_0x2b67f0[_0x4abd8b(0x192)],'updated':_0x2b67f0[_0x4abd8b(0x183)],'serviceCount':_0x2b67f0[_0x4abd8b(0x17d)],'services':_0x2b67f0[_0x4abd8b(0x168)][_0x4abd8b(0x170)](summarizeService)},'message':_0x4abd8b(0x18d)+_0x2b67f0['imported']+'\x20service(s),\x20updated\x20'+_0x2b67f0['updated']+_0x4abd8b(0x186)};return{'ok':!![],'data':{'registryPath':_0x2b67f0[_0x4abd8b(0x157)],'replaced':_0x2b67f0[_0x4abd8b(0x197)],'imported':_0x2b67f0[_0x4abd8b(0x192)],'updated':_0x2b67f0[_0x4abd8b(0x183)],'serviceCount':_0x2b67f0['serviceCount'],'service':summarizeService(_0x2b67f0[_0x4abd8b(0x152)])},'message':(_0x2b67f0['replaced']?_0x4abd8b(0x17e):'Imported')+_0x4abd8b(0x17a)+_0x2b67f0['entry'][_0x4abd8b(0x176)]+'.'};}},{'service':a64_0x3bfc0f(0x164),'command':a64_0x3bfc0f(0x167),'description':a64_0x3bfc0f(0x153),'risk':a64_0x3bfc0f(0x193),'confirmationDescription':a64_0x3bfc0f(0x166),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x5dcd3c){const _0x24ac63=a64_0x3bfc0f,_0x11f58c=getLocalServiceEntry(_0x5dcd3c[_0x24ac63(0x15e)](_0x24ac63(0x164)));return{'method':'WRITE','url':_0x5dcd3c[_0x24ac63(0x15e)]('file'),'body':{'service':_0x5dcd3c[_0x24ac63(0x15e)]('service'),'found':Boolean(_0x11f58c),'version':_0x11f58c?.[_0x24ac63(0x189)],'source':_0x11f58c?.[_0x24ac63(0x16f)]},'description':_0x24ac63(0x19a)};},async 'execute'(_0x4bffdd){const _0xbbe290=a64_0x3bfc0f,_0x49058f=exportServiceManifest(_0x4bffdd[_0xbbe290(0x15e)](_0xbbe290(0x164)),_0x4bffdd[_0xbbe290(0x15e)]('file'));return{'ok':!![],'data':{'registryPath':_0x49058f['registryPath'],'file':_0x49058f[_0xbbe290(0x18a)],'service':summarizeService(_0x49058f[_0xbbe290(0x152)])},'message':_0xbbe290(0x194)+_0x49058f['entry']['serviceCode']+'.'};}},{'service':a64_0x3bfc0f(0x164),'command':a64_0x3bfc0f(0x172),'description':a64_0x3bfc0f(0x173),'risk':a64_0x3bfc0f(0x185),'requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0x1bfc2a=a64_0x3bfc0f,_0x41f131=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x41f131[_0x1bfc2a(0x169)],'services':_0x41f131[_0x1bfc2a(0x170)](summarizeService)}};}},{'service':a64_0x3bfc0f(0x164),'command':a64_0x3bfc0f(0x184),'description':a64_0x3bfc0f(0x15d),'risk':'write','confirmationDescription':a64_0x3bfc0f(0x161),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x21e7d6){const _0x2694ca=a64_0x3bfc0f,_0x3938af=getLocalServiceEntry(_0x21e7d6[_0x2694ca(0x15e)](_0x2694ca(0x164)));return{'method':_0x2694ca(0x178),'url':getServiceRegistryPath(),'body':{'service':_0x21e7d6[_0x2694ca(0x15e)]('service'),'found':Boolean(_0x3938af),'version':_0x3938af?.[_0x2694ca(0x189)],'source':_0x3938af?.['source']},'description':_0x2694ca(0x156)};},async 'execute'(_0x2121c2){const _0x1a3f2c=a64_0x3bfc0f,_0x4ed1b0=removeServiceManifest(_0x2121c2['str'](_0x1a3f2c(0x164)));return{'ok':!![],'data':{'registryPath':_0x4ed1b0['registryPath'],'serviceCount':_0x4ed1b0['serviceCount'],'service':summarizeService(_0x4ed1b0['entry'])},'message':_0x1a3f2c(0x16c)+_0x4ed1b0[_0x1a3f2c(0x152)][_0x1a3f2c(0x176)]+'.'};}},{'service':a64_0x3bfc0f(0x164),'command':a64_0x3bfc0f(0x18c),'description':'Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','risk':a64_0x3bfc0f(0x185),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x1e400e){const _0x164310=a64_0x3bfc0f,_0x35f5e6=getLocalServiceEntry(_0x1e400e[_0x164310(0x15e)](_0x164310(0x164)));if(!_0x35f5e6)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x1e400e['str'](_0x164310(0x164))},'message':_0x164310(0x154)+_0x1e400e['str']('service')};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x35f5e6),'manifest':_0x35f5e6[_0x164310(0x199)],'normalizedManifest':toPublicNormalizedServiceTree(_0x35f5e6[_0x164310(0x16b)])}};}}];
|
|
1
|
+
function a64_0x4881(_0x534755,_0x336a64){_0x534755=_0x534755-0x14e;const _0x535a29=a64_0x535a();let _0x488197=_0x535a29[_0x534755];return _0x488197;}const a64_0x40686e=a64_0x4881;(function(_0x51caaf,_0x44a015){const _0x1c20e3=a64_0x4881,_0x756b64=_0x51caaf();while(!![]){try{const _0x4ccdba=-parseInt(_0x1c20e3(0x178))/0x1*(-parseInt(_0x1c20e3(0x165))/0x2)+-parseInt(_0x1c20e3(0x17c))/0x3*(parseInt(_0x1c20e3(0x15b))/0x4)+-parseInt(_0x1c20e3(0x185))/0x5+-parseInt(_0x1c20e3(0x18c))/0x6+parseInt(_0x1c20e3(0x16f))/0x7+-parseInt(_0x1c20e3(0x158))/0x8+parseInt(_0x1c20e3(0x152))/0x9*(parseInt(_0x1c20e3(0x166))/0xa);if(_0x4ccdba===_0x44a015)break;else _0x756b64['push'](_0x756b64['shift']());}catch(_0x3f8408){_0x756b64['push'](_0x756b64['shift']());}}}(a64_0x535a,0xeafe5));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':a64_0x40686e(0x194),'type':a64_0x40686e(0x187),'required':!![],'description':a64_0x40686e(0x15e)},SERVICE_FLAG={'name':'service','type':a64_0x40686e(0x187),'required':!![],'description':'Local\x20service\x20code,\x20for\x20example\x20crm','pattern':{'regex':/^[a-z][a-z0-9-]*$/,'description':'lower\x20kebab-case\x20service\x20code'}};function summarizeService(_0x5400ec){const _0x106096=a64_0x40686e;return{'serviceCode':_0x5400ec[_0x106096(0x156)],'name':_0x5400ec['normalizedManifest'][_0x106096(0x18f)]['name'],'version':_0x5400ec[_0x106096(0x190)],'importedAt':_0x5400ec[_0x106096(0x17b)],'source':_0x5400ec[_0x106096(0x17f)],'commandCount':_0x5400ec[_0x106096(0x179)][_0x106096(0x184)][_0x106096(0x18d)],'commands':_0x5400ec[_0x106096(0x179)]['commands']['map'](_0x1bbeed=>({'path':_0x1bbeed[_0x106096(0x15f)],'description':_0x1bbeed[_0x106096(0x150)],'risk':_0x1bbeed[_0x106096(0x151)],'target':toPublicServiceTreeTarget(_0x1bbeed[_0x106096(0x17a)]),'flags':_0x1bbeed[_0x106096(0x198)][_0x106096(0x159)](_0x345a0f=>({'name':_0x345a0f['name'],'cliName':_0x345a0f[_0x106096(0x171)],'type':_0x345a0f[_0x106096(0x163)],'required':_0x345a0f[_0x106096(0x15c)]===!![]}))}))};}function summarizeLoadedManifest(_0x5f2022){const _0x126e6f=a64_0x40686e;return{'service':_0x5f2022[_0x126e6f(0x179)]?.[_0x126e6f(0x18f)],'version':_0x5f2022[_0x126e6f(0x179)]?.['version'],'commandCount':_0x5f2022[_0x126e6f(0x179)]?.[_0x126e6f(0x184)][_0x126e6f(0x18d)]??0x0,'commands':_0x5f2022[_0x126e6f(0x179)]?.[_0x126e6f(0x184)][_0x126e6f(0x159)](_0x3174cf=>({'path':_0x3174cf['cliPath'],'risk':_0x3174cf[_0x126e6f(0x151)],'target':toPublicServiceTreeTarget(_0x3174cf[_0x126e6f(0x17a)])}))??[],'registryIndex':_0x5f2022[_0x126e6f(0x196)],'registryServiceCode':_0x5f2022[_0x126e6f(0x161)],'errors':_0x5f2022[_0x126e6f(0x170)][_0x126e6f(0x189)],'warnings':_0x5f2022[_0x126e6f(0x170)]['warnings']};}function a64_0x535a(){const _0x3a05c2=['importedAt','128421MHQWGO','Service\x20manifest\x20validation\x20passed.','import','source','list','\x20service\x20','str','registryPath','commands','6976955zqIvqO','detail','string','registry','errors','serviceCount','kind','9229860slOEnG','length','entry','service','version','\x20service(s).','manifests','replaced','file','Preview\x20Service\x20Tree\x20export\x20from\x20~/.lovrabet/service.json','registryIndex','Writes\x20the\x20local\x20Service\x20Tree\x20manifest\x20for\x20the\x20given\x20service\x20to\x20a\x20JSON\x20file.\x20An\x20existing\x20file\x20at\x20the\x20target\x20may\x20be\x20overwritten.\x20The\x20confirmation\x20UI\x20does\x20not\x20show\x20local\x20file\x20paths.','flags','Service\x20registry\x20validation\x20passed.','Validate\x20a\x20Service\x20Tree\x20JSON\x20manifest','Remove\x20a\x20Service\x20Tree\x20manifest\x20from\x20the\x20local\x20runtime\x20registry','warnings','description','risk','27WVhzKa','WRITE','entries','updated','serviceCode','reduce','9826360lfrKSI','map','write','40xoXstB','required','imported','Service\x20Tree\x20manifest\x20file\x20path','cliPath','Exported\x20service\x20','registryServiceCode','Removes\x20the\x20given\x20service\x20manifest\x20from\x20the\x20local\x20Service\x20Tree\x20registry.\x20Dynamic\x20commands\x20from\x20that\x20manifest\x20will\x20no\x20longer\x20be\x20available.','type','hash','152806gsmFBw','13954130TaZuPS','Updated','Preview\x20Service\x20Tree\x20removal\x20from\x20~/.lovrabet/service.json','Preview\x20Service\x20Tree\x20import\x20into\x20~/.lovrabet/service.json','filePath','read','\x20service(s),\x20updated\x20','Removed\x20service\x20','manifest','9029699AcrGry','report','cliName','Local\x20service\x20not\x20found:\x20','export','Imported\x20','remove','Export\x20the\x20local\x20Service\x20Tree\x20manifest\x20to\x20a\x20JSON\x20file','Show\x20a\x20locally\x20imported\x20Service\x20Tree\x20manifest','1ItDSts','normalizedManifest','target'];a64_0x535a=function(){return _0x3a05c2;};return a64_0x535a();}export const serviceDefinitions=[{'service':a64_0x40686e(0x18f),'command':'validate','description':a64_0x40686e(0x19a),'risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'execute'(_0x33b361){const _0x4e3545=a64_0x40686e,_0x2b1287=loadServiceManifestFromFile(_0x33b361['str'](_0x4e3545(0x194)));if(!_0x2b1287['report']['ok'])return{'ok':![],'data':{'file':_0x2b1287[_0x4e3545(0x16a)],'hash':_0x2b1287[_0x4e3545(0x164)],'kind':_0x2b1287[_0x4e3545(0x18b)],'serviceCount':_0x2b1287[_0x4e3545(0x192)][_0x4e3545(0x18d)],'services':_0x2b1287[_0x4e3545(0x192)][_0x4e3545(0x159)](summarizeLoadedManifest),'errors':_0x2b1287[_0x4e3545(0x170)]['errors'],'warnings':_0x2b1287[_0x4e3545(0x170)][_0x4e3545(0x14f)]},'message':formatValidationFailure(_0x2b1287[_0x4e3545(0x170)])};if(_0x2b1287[_0x4e3545(0x18b)]===_0x4e3545(0x188)||_0x2b1287[_0x4e3545(0x192)][_0x4e3545(0x18d)]!==0x1)return{'ok':!![],'data':{'file':_0x2b1287[_0x4e3545(0x16a)],'hash':_0x2b1287[_0x4e3545(0x164)],'kind':_0x2b1287[_0x4e3545(0x18b)],'serviceCount':_0x2b1287[_0x4e3545(0x192)][_0x4e3545(0x18d)],'commandCount':_0x2b1287[_0x4e3545(0x192)][_0x4e3545(0x157)]((_0x1ea9cd,_0x540985)=>_0x1ea9cd+(_0x540985[_0x4e3545(0x179)]?.['commands'][_0x4e3545(0x18d)]??0x0),0x0),'services':_0x2b1287[_0x4e3545(0x192)][_0x4e3545(0x159)](summarizeLoadedManifest),'warnings':_0x2b1287[_0x4e3545(0x170)]['warnings']},'message':_0x4e3545(0x199)};return{'ok':!![],'data':{'file':_0x2b1287[_0x4e3545(0x16a)],'hash':_0x2b1287[_0x4e3545(0x164)],'kind':_0x2b1287[_0x4e3545(0x18b)],'service':_0x2b1287[_0x4e3545(0x179)]?.[_0x4e3545(0x18f)],'version':_0x2b1287[_0x4e3545(0x179)]?.[_0x4e3545(0x190)],'commandCount':_0x2b1287[_0x4e3545(0x179)]?.[_0x4e3545(0x184)][_0x4e3545(0x18d)]??0x0,'commands':_0x2b1287[_0x4e3545(0x179)]?.['commands'][_0x4e3545(0x159)](_0xae7a34=>({'path':_0xae7a34['cliPath'],'risk':_0xae7a34[_0x4e3545(0x151)],'target':toPublicServiceTreeTarget(_0xae7a34[_0x4e3545(0x17a)])})),'warnings':_0x2b1287[_0x4e3545(0x170)][_0x4e3545(0x14f)]},'message':_0x4e3545(0x17d)};}},{'service':a64_0x40686e(0x18f),'command':a64_0x40686e(0x17e),'description':'Import\x20a\x20Service\x20Tree\x20manifest\x20into\x20the\x20local\x20runtime\x20registry','risk':a64_0x40686e(0x15a),'confirmationDescription':'Reads\x20the\x20given\x20manifest\x20into\x20the\x20local\x20Service\x20Tree\x20registry.\x20An\x20existing\x20manifest\x20with\x20the\x20same\x20service\x20code\x20is\x20updated.\x20The\x20confirmation\x20UI\x20does\x20not\x20show\x20local\x20file\x20paths.','requiresAuth':![],'requiresAppCode':![],'flags':[FILE_FLAG],async 'dryRun'(_0x3d750a){const _0x1f283d=a64_0x40686e,_0x58e05c=loadServiceManifestFromFile(_0x3d750a[_0x1f283d(0x182)]('file'));return{'method':_0x1f283d(0x153),'url':getServiceRegistryPath(),'body':{'file':_0x58e05c['filePath'],'hash':_0x58e05c['hash'],'kind':_0x58e05c[_0x1f283d(0x18b)],'ok':_0x58e05c[_0x1f283d(0x170)]['ok'],'service':_0x58e05c[_0x1f283d(0x179)]?.[_0x1f283d(0x18f)],'version':_0x58e05c['normalizedManifest']?.[_0x1f283d(0x190)],'serviceCount':_0x58e05c['manifests'][_0x1f283d(0x18d)],'services':_0x58e05c[_0x1f283d(0x192)][_0x1f283d(0x159)](_0x3e9686=>({'service':_0x3e9686['normalizedManifest']?.[_0x1f283d(0x18f)],'version':_0x3e9686[_0x1f283d(0x179)]?.['version'],'commandCount':_0x3e9686['normalizedManifest']?.[_0x1f283d(0x184)][_0x1f283d(0x18d)]??0x0,'errors':_0x3e9686['report'][_0x1f283d(0x189)]})),'errors':_0x58e05c['report']['errors'],'commandCount':_0x58e05c['normalizedManifest']?.['commands']['length']??0x0},'description':_0x1f283d(0x169)};},async 'execute'(_0x59c335){const _0x4f8d66=a64_0x40686e,_0x1281df=importServiceManifest(_0x59c335['str'](_0x4f8d66(0x194)));if(_0x1281df[_0x4f8d66(0x154)][_0x4f8d66(0x18d)]!==0x1)return{'ok':!![],'data':{'registryPath':_0x1281df[_0x4f8d66(0x183)],'imported':_0x1281df[_0x4f8d66(0x15d)],'updated':_0x1281df[_0x4f8d66(0x155)],'serviceCount':_0x1281df[_0x4f8d66(0x18a)],'services':_0x1281df['entries']['map'](summarizeService)},'message':_0x4f8d66(0x174)+_0x1281df[_0x4f8d66(0x15d)]+_0x4f8d66(0x16c)+_0x1281df[_0x4f8d66(0x155)]+_0x4f8d66(0x191)};return{'ok':!![],'data':{'registryPath':_0x1281df[_0x4f8d66(0x183)],'replaced':_0x1281df[_0x4f8d66(0x193)],'imported':_0x1281df[_0x4f8d66(0x15d)],'updated':_0x1281df[_0x4f8d66(0x155)],'serviceCount':_0x1281df[_0x4f8d66(0x18a)],'service':summarizeService(_0x1281df[_0x4f8d66(0x18e)])},'message':(_0x1281df[_0x4f8d66(0x193)]?_0x4f8d66(0x167):'Imported')+_0x4f8d66(0x181)+_0x1281df[_0x4f8d66(0x18e)][_0x4f8d66(0x156)]+'.'};}},{'service':a64_0x40686e(0x18f),'command':a64_0x40686e(0x173),'description':a64_0x40686e(0x176),'risk':a64_0x40686e(0x15a),'confirmationDescription':a64_0x40686e(0x197),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG,FILE_FLAG],async 'dryRun'(_0x9cbcf3){const _0x242677=a64_0x40686e,_0x4fe01b=getLocalServiceEntry(_0x9cbcf3[_0x242677(0x182)](_0x242677(0x18f)));return{'method':_0x242677(0x153),'url':_0x9cbcf3[_0x242677(0x182)](_0x242677(0x194)),'body':{'service':_0x9cbcf3['str'](_0x242677(0x18f)),'found':Boolean(_0x4fe01b),'version':_0x4fe01b?.[_0x242677(0x190)],'source':_0x4fe01b?.[_0x242677(0x17f)]},'description':_0x242677(0x195)};},async 'execute'(_0x560800){const _0x4adab4=a64_0x40686e,_0x50f19b=exportServiceManifest(_0x560800[_0x4adab4(0x182)](_0x4adab4(0x18f)),_0x560800[_0x4adab4(0x182)]('file'));return{'ok':!![],'data':{'registryPath':_0x50f19b[_0x4adab4(0x183)],'file':_0x50f19b[_0x4adab4(0x16a)],'service':summarizeService(_0x50f19b[_0x4adab4(0x18e)])},'message':_0x4adab4(0x160)+_0x50f19b[_0x4adab4(0x18e)][_0x4adab4(0x156)]+'.'};}},{'service':a64_0x40686e(0x18f),'command':a64_0x40686e(0x180),'description':'List\x20locally\x20imported\x20Service\x20Tree\x20manifests','risk':a64_0x40686e(0x16b),'requiresAuth':![],'requiresAppCode':![],'flags':[],async 'execute'(){const _0x37ed14=a64_0x40686e,_0x188075=listLocalServices();return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'total':_0x188075[_0x37ed14(0x18d)],'services':_0x188075[_0x37ed14(0x159)](summarizeService)}};}},{'service':'service','command':a64_0x40686e(0x175),'description':a64_0x40686e(0x14e),'risk':a64_0x40686e(0x15a),'confirmationDescription':a64_0x40686e(0x162),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'dryRun'(_0x2dda5a){const _0x50dee9=a64_0x40686e,_0x25adeb=getLocalServiceEntry(_0x2dda5a['str'](_0x50dee9(0x18f)));return{'method':_0x50dee9(0x153),'url':getServiceRegistryPath(),'body':{'service':_0x2dda5a[_0x50dee9(0x182)]('service'),'found':Boolean(_0x25adeb),'version':_0x25adeb?.[_0x50dee9(0x190)],'source':_0x25adeb?.[_0x50dee9(0x17f)]},'description':_0x50dee9(0x168)};},async 'execute'(_0x4f138a){const _0x1d2ca2=a64_0x40686e,_0x5dcf40=removeServiceManifest(_0x4f138a[_0x1d2ca2(0x182)](_0x1d2ca2(0x18f)));return{'ok':!![],'data':{'registryPath':_0x5dcf40[_0x1d2ca2(0x183)],'serviceCount':_0x5dcf40[_0x1d2ca2(0x18a)],'service':summarizeService(_0x5dcf40[_0x1d2ca2(0x18e)])},'message':_0x1d2ca2(0x16d)+_0x5dcf40[_0x1d2ca2(0x18e)][_0x1d2ca2(0x156)]+'.'};}},{'service':a64_0x40686e(0x18f),'command':a64_0x40686e(0x186),'description':a64_0x40686e(0x177),'risk':a64_0x40686e(0x16b),'requiresAuth':![],'requiresAppCode':![],'flags':[SERVICE_FLAG],async 'execute'(_0x2290e6){const _0x5e6405=a64_0x40686e,_0x24b6cd=getLocalServiceEntry(_0x2290e6[_0x5e6405(0x182)]('service'));if(!_0x24b6cd)return{'ok':![],'data':{'registryPath':getServiceRegistryPath(),'service':_0x2290e6[_0x5e6405(0x182)](_0x5e6405(0x18f))},'message':_0x5e6405(0x172)+_0x2290e6[_0x5e6405(0x182)](_0x5e6405(0x18f))};return{'ok':!![],'data':{'registryPath':getServiceRegistryPath(),'service':summarizeService(_0x24b6cd),'manifest':_0x24b6cd[_0x5e6405(0x16e)],'normalizedManifest':toPublicNormalizedServiceTree(_0x24b6cd[_0x5e6405(0x179)])}};}}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a65_0x5387(_0x400d8d,_0x3c9947){_0x400d8d=_0x400d8d-0x189;const _0x14fd5a=a65_0x14fd();let _0x53879d=_0x14fd5a[_0x400d8d];return _0x53879d;}const a65_0x455dc5=a65_0x5387;(function(_0x2ecf04,_0x537ae3){const _0x200c0d=a65_0x5387,_0x1e65da=_0x2ecf04();while(!![]){try{const _0x30df11=parseInt(_0x200c0d(0x192))/0x1*(parseInt(_0x200c0d(0x1d0))/0x2)+parseInt(_0x200c0d(0x193))/0x3+parseInt(_0x200c0d(0x198))/0x4*(-parseInt(_0x200c0d(0x19c))/0x5)+-parseInt(_0x200c0d(0x1af))/0x6*(parseInt(_0x200c0d(0x1da))/0x7)+-parseInt(_0x200c0d(0x1c8))/0x8*(-parseInt(_0x200c0d(0x1bf))/0x9)+-parseInt(_0x200c0d(0x19a))/0xa*(-parseInt(_0x200c0d(0x18e))/0xb)+-parseInt(_0x200c0d(0x1c0))/0xc;if(_0x30df11===_0x537ae3)break;else _0x1e65da['push'](_0x1e65da['shift']());}catch(_0x59baaf){_0x1e65da['push'](_0x1e65da['shift']());}}}(a65_0x14fd,0xa33dd));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=a65_0x455dc5(0x195);export function getServiceRegistryPath(_0x5db5a0={}){const _0x327f0c=a65_0x455dc5;return resolve(_0x5db5a0['homeDir']??homedir(),PRODUCT_CONFIG[_0x327f0c(0x1a9)],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0xff6c91={}){const _0x291652=a65_0x455dc5,_0x50874e=getServiceRegistryPath(_0xff6c91);if(!existsSync(_0x50874e))return emptyServiceRegistry();try{const _0x22db11=readFileSync(_0x50874e,_0x291652(0x1b0));if(!_0x22db11['trim']())return emptyServiceRegistry();const _0x15c750=JSON['parse'](_0x22db11);if(_0x15c750[_0x291652(0x1cb)]!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors['validation']('Unsupported\x20service\x20registry\x20schemaVersion:\x20'+String(_0x15c750[_0x291652(0x1cb)]),_0x291652(0x1d5)+_0x50874e+'.');if(!Array[_0x291652(0x1d1)](_0x15c750[_0x291652(0x1bc)]))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x15c750[_0x291652(0x18b)],'services':_0x15c750[_0x291652(0x1bc)]};}catch(_0x2977b5){if(_0x2977b5 instanceof Error&&_0x2977b5['name']===_0x291652(0x1b9))throw _0x2977b5;throw CliErrors[_0x291652(0x191)](_0x291652(0x1ca)+_0x50874e,_0x291652(0x1b5));}}export function writeServiceRegistry(_0x3df8b3,_0x436716={}){const _0x164dbb=a65_0x455dc5,_0x3f1de4=getServiceRegistryPath(_0x436716),_0x1f71cb=dirname(_0x3f1de4);!existsSync(_0x1f71cb)&&mkdirSync(_0x1f71cb,{'recursive':!![]});const _0x31ad96=_0x3f1de4+_0x164dbb(0x19e);try{writeFileSync(_0x31ad96,JSON[_0x164dbb(0x1cf)](_0x3df8b3,null,0x2)+'\x0a',{'encoding':_0x164dbb(0x1b0),'mode':0x180}),renameSync(_0x31ad96,_0x3f1de4);}catch(_0x5091de){try{unlinkSync(_0x31ad96);}catch{}if(_0x5091de?.[_0x164dbb(0x1b7)]===_0x164dbb(0x1a6))throw CliErrors[_0x164dbb(0x191)](_0x164dbb(0x1c7)+_0x3f1de4);throw _0x5091de;}return _0x3f1de4;}export function loadServiceManifestFromFile(_0x501bf1){const _0x4e1741=a65_0x455dc5,_0x329578=resolve(_0x501bf1);if(!existsSync(_0x329578))throw CliErrors[_0x4e1741(0x191)](_0x4e1741(0x1aa)+_0x501bf1);let _0x3ca0ba;const _0xf779b9=readFileSync(_0x329578,_0x4e1741(0x1b0));try{_0x3ca0ba=JSON[_0x4e1741(0x1ad)](_0xf779b9);}catch{throw CliErrors['validation']('Invalid\x20service\x20manifest\x20JSON:\x20'+_0x501bf1,'Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.');}const _0x2b423a=sha256(_0xf779b9),_0x98af76=extractLoadedServiceManifests(_0x3ca0ba,_0x2b423a),_0x4776eb=aggregateValidationReports(_0x98af76),_0x59a0ed=_0x98af76[0x0];return{'filePath':_0x329578,'hash':_0x2b423a,'kind':isServiceRegistryLike(_0x3ca0ba)?_0x4e1741(0x197):_0x4e1741(0x1ce),'manifest':_0x59a0ed?.[_0x4e1741(0x1ce)]??_0x3ca0ba,'report':_0x4776eb,'normalizedManifest':_0x98af76[_0x4e1741(0x1a1)]===0x1?_0x59a0ed?.['normalizedManifest']:undefined,'manifests':_0x98af76};}export function importServiceManifest(_0x1c2ae0,_0x57a74d={}){const _0x41ad8b=a65_0x455dc5,_0x25b795=loadServiceManifestFromFile(_0x1c2ae0);if(!_0x25b795[_0x41ad8b(0x19f)]['ok'])throw CliErrors['validation'](formatValidationFailure(_0x25b795[_0x41ad8b(0x19f)]),_0x41ad8b(0x1ae));if(_0x25b795['manifests'][_0x41ad8b(0x1a1)]===0x0)throw CliErrors[_0x41ad8b(0x191)](_0x41ad8b(0x18a),_0x41ad8b(0x1c5));const _0x3bb282=readServiceRegistry(_0x57a74d),_0x5b451a=(_0x57a74d[_0x41ad8b(0x19b)]??(()=>new Date()))()['toISOString'](),_0xba5ab2=[];let _0xb1ca3d=0x0,_0x451527=0x0;for(const _0x3993a4 of _0x25b795['manifests']){if(!_0x3993a4[_0x41ad8b(0x1ac)])continue;const _0x32bb3b=_0x3993a4['normalizedManifest'][_0x41ad8b(0x1d2)][_0x41ad8b(0x1b7)],_0x153a8b={'serviceCode':_0x32bb3b,'version':_0x3993a4[_0x41ad8b(0x1ac)]['version'],'importedAt':_0x5b451a,'source':{'type':_0x41ad8b(0x18d),'path':_0x25b795[_0x41ad8b(0x18f)],'hash':_0x3993a4[_0x41ad8b(0x1a2)]},'manifest':_0x3993a4[_0x41ad8b(0x1ce)],'normalizedManifest':_0x3993a4['normalizedManifest']},_0xad0a59=_0x3bb282['services'][_0x41ad8b(0x1c1)](_0x308624=>_0x308624[_0x41ad8b(0x1dc)]===_0x32bb3b);_0xad0a59>=0x0?(_0x3bb282[_0x41ad8b(0x1bc)][_0xad0a59]=_0x153a8b,_0x451527++):(_0x3bb282[_0x41ad8b(0x1bc)][_0x41ad8b(0x194)](_0x153a8b),_0xb1ca3d++),_0xba5ab2[_0x41ad8b(0x194)](_0x153a8b);}_0x3bb282[_0x41ad8b(0x1bc)][_0x41ad8b(0x1db)]((_0x5b873e,_0x44d843)=>_0x5b873e[_0x41ad8b(0x1dc)][_0x41ad8b(0x1cd)](_0x44d843[_0x41ad8b(0x1dc)])),_0x3bb282['updatedAt']=_0x5b451a;const _0x4e46ee=writeServiceRegistry(_0x3bb282,_0x57a74d);return{'registryPath':_0x4e46ee,'entry':_0xba5ab2[0x0],'replaced':_0xba5ab2[_0x41ad8b(0x1a1)]===0x1?_0x451527===0x1:_0x451527>0x0,'entries':_0xba5ab2,'imported':_0xb1ca3d,'updated':_0x451527,'serviceCount':_0x3bb282[_0x41ad8b(0x1bc)]['length']};}export function exportServiceManifest(_0x19e129,_0x3cb815,_0x1984f4={}){const _0x191ea2=a65_0x455dc5,_0x423be4=getServiceRegistryPath(_0x1984f4),_0x32c37f=getLocalServiceEntry(_0x19e129,_0x1984f4);if(!_0x32c37f)throw CliErrors[_0x191ea2(0x191)](_0x191ea2(0x1d7)+_0x19e129,'Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.');const _0x46e5f6=resolve(_0x3cb815),_0x4a55d7=dirname(_0x46e5f6);return!existsSync(_0x4a55d7)&&mkdirSync(_0x4a55d7,{'recursive':!![]}),writeFileSync(_0x46e5f6,JSON[_0x191ea2(0x1cf)](_0x32c37f[_0x191ea2(0x1ce)],null,0x2)+'\x0a',{'encoding':_0x191ea2(0x1b0),'mode':0x180}),{'registryPath':_0x423be4,'filePath':_0x46e5f6,'entry':_0x32c37f};}export function removeServiceManifest(_0x5a5f5e,_0x4460bb={}){const _0x1fe659=a65_0x455dc5,_0x4a2582=readServiceRegistry(_0x4460bb),_0x4c7d5f=_0x5a5f5e[_0x1fe659(0x1d8)](),_0x533e00=_0x4a2582[_0x1fe659(0x1bc)]['findIndex'](_0x365101=>_0x365101[_0x1fe659(0x1dc)]===_0x4c7d5f);if(_0x533e00<0x0)throw CliErrors[_0x1fe659(0x191)](_0x1fe659(0x1d7)+_0x4c7d5f,_0x1fe659(0x1b8));const [_0x487ef8]=_0x4a2582[_0x1fe659(0x1bc)]['splice'](_0x533e00,0x1),_0x457285=(_0x4460bb[_0x1fe659(0x19b)]??(()=>new Date()))()[_0x1fe659(0x1d6)]();_0x4a2582[_0x1fe659(0x18b)]=_0x457285;const _0x59b3a9=writeServiceRegistry(_0x4a2582,_0x4460bb);return{'registryPath':_0x59b3a9,'entry':_0x487ef8,'serviceCount':_0x4a2582[_0x1fe659(0x1bc)][_0x1fe659(0x1a1)]};}export function listLocalServices(_0x2f68d4={}){const _0x222dfc=a65_0x455dc5;return readServiceRegistry(_0x2f68d4)[_0x222dfc(0x1bc)];}export function getLocalServiceEntry(_0x270e24,_0x2bd6f2={}){const _0x4a30db=a65_0x455dc5;return readServiceRegistry(_0x2bd6f2)[_0x4a30db(0x1bc)][_0x4a30db(0x1a7)](_0x57147f=>_0x57147f[_0x4a30db(0x1dc)]===_0x270e24[_0x4a30db(0x1d8)]());}export function listLocalServiceTrees(_0x4a4ec0={}){const _0x537999=a65_0x455dc5;return readServiceRegistry(_0x4a4ec0)[_0x537999(0x1bc)][_0x537999(0x1ba)](_0x309ebc=>_0x309ebc[_0x537999(0x1ac)]);}export function inspectServiceRegistry(_0x46043b={}){const _0x57bcc6=a65_0x455dc5,_0x4c52de=getServiceRegistryPath(_0x46043b);if(!existsSync(_0x4c52de))return emptyServiceRegistryInspection(_0x4c52de,'missing',![]);try{const _0x11fd45=readFileSync(_0x4c52de,_0x57bcc6(0x1b0));if(!_0x11fd45['trim']())return emptyServiceRegistryInspection(_0x4c52de,'empty',!![]);const _0xb1808f=JSON[_0x57bcc6(0x1ad)](_0x11fd45);if(_0xb1808f['schemaVersion']!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x4c52de,_0x57bcc6(0x189),!![]),'schemaVersion':_0xb1808f['schemaVersion'],'message':_0x57bcc6(0x1b3)+String(_0xb1808f[_0x57bcc6(0x1cb)])};if(!Array[_0x57bcc6(0x1d1)](_0xb1808f[_0x57bcc6(0x1bc)]))return{...emptyServiceRegistryInspection(_0x4c52de,'invalid',!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0xb1808f[_0x57bcc6(0x18b)],'message':_0x57bcc6(0x19d)};const _0x62c035=_0xb1808f['services'][_0x57bcc6(0x1ba)](summarizeLocalServiceEntry);return{'registryPath':_0x4c52de,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0xb1808f[_0x57bcc6(0x18b)],'serviceCount':_0x62c035[_0x57bcc6(0x1a1)],'commandCount':_0x62c035[_0x57bcc6(0x1a0)]((_0x54f64a,_0x26d5f8)=>_0x54f64a+_0x26d5f8[_0x57bcc6(0x1b2)],0x0),'services':_0x62c035};}catch(_0x360867){return{...emptyServiceRegistryInspection(_0x4c52de,_0x57bcc6(0x189),!![]),'message':_0x360867 instanceof Error?_0x360867[_0x57bcc6(0x1a3)]:String(_0x360867)};}}export function formatValidationFailure(_0x11864f){const _0x28b1a6=a65_0x455dc5,_0x4bf345=_0x11864f[_0x28b1a6(0x1c3)][_0x28b1a6(0x1ba)](_0x5467e2=>_0x5467e2[_0x28b1a6(0x18c)]+':\x20'+_0x5467e2['message']);return _0x28b1a6(0x1c6)+_0x4bf345[_0x28b1a6(0x1be)]('\x0a');}function extractLoadedServiceManifests(_0xc3c781,_0x4871b7){const _0x207925=a65_0x455dc5;if(!isServiceRegistryLike(_0xc3c781)){const _0x5092e1=_0xc3c781,{manifest:_0x260bad,errors:_0x279fcc}=adaptServiceTreeManifestForLegacyFramework(_0x5092e1),_0x1d9c5d=validateServiceTreeManifest(_0x260bad),_0x303681=mergeValidationErrors(_0x1d9c5d,_0x279fcc);return[{'manifest':_0x5092e1,'report':_0x303681,'normalizedManifest':_0x303681['ok']?normalizeServiceTreeManifest(_0x260bad):undefined,'sourceHash':_0x4871b7}];}return _0xc3c781[_0x207925(0x1bc)][_0x207925(0x1ba)]((_0x164e27,_0x4079b8)=>{const _0x4a189f=_0x207925,_0x4d7569=isObjectRecord(_0x164e27)?_0x164e27[_0x4a189f(0x1ce)]:undefined,{manifest:_0x35cff6,errors:_0x1ef7c0}=adaptServiceTreeManifestForLegacyFramework(_0x4d7569),_0xfc0f57=validateServiceTreeManifest(_0x35cff6),_0x2a4f90=mergeValidationErrors(_0xfc0f57,_0x1ef7c0),_0x2b74e8=isObjectRecord(_0x164e27)&&typeof _0x164e27['serviceCode']===_0x4a189f(0x199)?_0x164e27[_0x4a189f(0x1dc)]:undefined;return{'manifest':_0x4d7569,'report':_0x2a4f90,'normalizedManifest':_0x2a4f90['ok']?normalizeServiceTreeManifest(_0x35cff6):undefined,'sourceHash':sha256(JSON[_0x4a189f(0x1cf)](_0x4d7569,null,0x2)+'\x0a'),'registryIndex':_0x4079b8,'registryServiceCode':_0x2b74e8};});}function mergeValidationErrors(_0xb1255e,_0x2d101d){const _0x4cb069=a65_0x455dc5,_0x3b1ee5=_0xb1255e[_0x4cb069(0x1c3)]['map'](_0x4336e4=>_0x4336e4[_0x4cb069(0x1a3)]==='bff\x20target\x20requires\x20bffCode,\x20bffId,\x20or\x20scriptName.'?{..._0x4336e4,'message':_0x4cb069(0x1a5)}:_0x4336e4),_0x5f4ce8=[..._0x2d101d,..._0x3b1ee5];return{'ok':_0x5f4ce8[_0x4cb069(0x1a1)]===0x0,'errors':_0x5f4ce8,'warnings':_0xb1255e[_0x4cb069(0x1a4)]};}function aggregateValidationReports(_0x49a907){const _0x53174b=a65_0x455dc5,_0x156e02=_0x49a907[_0x53174b(0x1c2)](_0x3b22b5=>_0x3b22b5[_0x53174b(0x1d4)]===undefined?_0x3b22b5[_0x53174b(0x19f)][_0x53174b(0x1c3)]:_0x3b22b5[_0x53174b(0x19f)]['errors'][_0x53174b(0x1ba)](_0x3ad1db=>({..._0x3ad1db,'path':prefixRegistryIssuePath(_0x3b22b5[_0x53174b(0x1d4)],_0x3ad1db[_0x53174b(0x18c)])}))),_0x1a23d6=_0x49a907[_0x53174b(0x1c2)](_0x4c6b3d=>_0x4c6b3d[_0x53174b(0x1d4)]===undefined?_0x4c6b3d[_0x53174b(0x19f)][_0x53174b(0x1a4)]:_0x4c6b3d[_0x53174b(0x19f)][_0x53174b(0x1a4)]['map'](_0x4ab66d=>({..._0x4ab66d,'path':prefixRegistryIssuePath(_0x4c6b3d['registryIndex'],_0x4ab66d[_0x53174b(0x18c)])})));return{'ok':_0x156e02[_0x53174b(0x1a1)]===0x0,'errors':_0x156e02,'warnings':_0x1a23d6};}function prefixRegistryIssuePath(_0x13513e,_0x55ed73){const _0x597331=a65_0x455dc5;if(_0x55ed73==='$')return'$.services['+_0x13513e+_0x597331(0x1bb);if(_0x55ed73['startsWith']('$.'))return _0x597331(0x1ab)+_0x13513e+_0x597331(0x1bb)+_0x55ed73[_0x597331(0x1a8)](0x1);if(_0x55ed73[_0x597331(0x1b6)]('$['))return _0x597331(0x1ab)+_0x13513e+_0x597331(0x1bb)+_0x55ed73[_0x597331(0x1a8)](0x1);return _0x597331(0x1ab)+_0x13513e+'].manifest.'+_0x55ed73;}function isServiceRegistryLike(_0x54f221){const _0x138fa9=a65_0x455dc5;return isObjectRecord(_0x54f221)&&_0x54f221[_0x138fa9(0x1cb)]===SERVICE_REGISTRY_SCHEMA_VERSION&&Array[_0x138fa9(0x1d1)](_0x54f221['services']);}function isObjectRecord(_0x3e989f){const _0x132c7c=a65_0x455dc5;return Boolean(_0x3e989f)&&typeof _0x3e989f===_0x132c7c(0x1d9)&&!Array['isArray'](_0x3e989f);}function emptyServiceRegistryInspection(_0x587deb,_0x9fb249,_0x28d871){return{'registryPath':_0x587deb,'exists':_0x28d871,'status':_0x9fb249,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x5e9055){const _0x6fc137=a65_0x455dc5,_0x5a03de=_0x5e9055[_0x6fc137(0x1ac)],_0x34347f=_0x5a03de['commands'][_0x6fc137(0x1ba)](_0x48b613=>({'path':_0x48b613[_0x6fc137(0x1bd)],'description':_0x48b613[_0x6fc137(0x1dd)],'risk':_0x48b613[_0x6fc137(0x1cc)],'targetKind':_0x48b613[_0x6fc137(0x196)][_0x6fc137(0x1c4)],'targetCommand':_0x48b613['target']['command']}));return{'serviceCode':_0x5e9055['serviceCode'],'name':_0x5a03de[_0x6fc137(0x1d2)][_0x6fc137(0x1b4)],'description':_0x5a03de[_0x6fc137(0x1d2)][_0x6fc137(0x1dd)],'version':_0x5e9055[_0x6fc137(0x190)],'importedAt':_0x5e9055[_0x6fc137(0x1b1)],'source':_0x5e9055[_0x6fc137(0x1c9)],'commandCount':_0x34347f['length'],'commands':_0x34347f};}function a65_0x14fd(){const _0x2bfa38=['5rDriMF','3346782cWAwRI','push','service.json','target','registry','3028riUISs','string','6060SVQSvv','now','7955tnXDpL','services\x20must\x20be\x20an\x20array','.tmp','report','reduce','length','sourceHash','message','warnings','bff\x20target\x20requires\x20functionName.','ENOENT','find','slice','homeDirName','Service\x20manifest\x20file\x20not\x20found:\x20','$.services[','normalizedManifest','parse','Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.','352890BUoTAE','utf8','importedAt','commandCount','Unsupported\x20schemaVersion:\x20','name','Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.','startsWith','code','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','CliError','map','].manifest','services','cliPath','join','13194lUvWne','13780740GmwPmQ','findIndex','flatMap','errors','kind','Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.','Service\x20manifest\x20validation\x20failed:\x0a','Cannot\x20write\x20service\x20registry:\x20','4184HKClrX','source','Invalid\x20service\x20registry\x20JSON:\x20','schemaVersion','risk','localeCompare','manifest','stringify','224446mUcJAP','isArray','service','digest','registryIndex','Remove\x20or\x20migrate\x20','toISOString','Local\x20service\x20not\x20found:\x20','trim','object','28wwtQRX','sort','serviceCode','description','invalid','Service\x20registry\x20has\x20no\x20services\x20to\x20import.','updatedAt','path','file','14762HTxpNJ','filePath','version','validation'];a65_0x14fd=function(){return _0x2bfa38;};return a65_0x14fd();}function sha256(_0xd5f0ce){const _0x2e3248=a65_0x455dc5;return createHash('sha256')['update'](_0xd5f0ce)[_0x2e3248(0x1d3)]('hex');}
|
|
1
|
+
(function(_0x18fef3,_0x3ec6da){const _0x1e30ff=a65_0x3123,_0x2212a3=_0x18fef3();while(!![]){try{const _0x47fb82=parseInt(_0x1e30ff(0x1b0))/0x1*(-parseInt(_0x1e30ff(0x1b6))/0x2)+-parseInt(_0x1e30ff(0x182))/0x3*(-parseInt(_0x1e30ff(0x17c))/0x4)+parseInt(_0x1e30ff(0x1c5))/0x5+parseInt(_0x1e30ff(0x174))/0x6+-parseInt(_0x1e30ff(0x190))/0x7+parseInt(_0x1e30ff(0x1bc))/0x8+parseInt(_0x1e30ff(0x1ad))/0x9;if(_0x47fb82===_0x3ec6da)break;else _0x2212a3['push'](_0x2212a3['shift']());}catch(_0x233736){_0x2212a3['push'](_0x2212a3['shift']());}}}(a65_0x17fd,0x4b901));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';function a65_0x3123(_0x473275,_0x5f9c66){_0x473275=_0x473275-0x173;const _0x17fd29=a65_0x17fd();let _0x31236e=_0x17fd29[_0x473275];return _0x31236e;}import{adaptServiceTreeManifestForLegacyFramework}from'../../commands/service/function-name-adapter.js';export const SERVICE_REGISTRY_SCHEMA_VERSION=0x1;export const SERVICE_REGISTRY_FILE_NAME='service.json';export function getServiceRegistryPath(_0x2409e6={}){const _0x2c9121=a65_0x3123;return resolve(_0x2409e6[_0x2c9121(0x1a6)]??homedir(),PRODUCT_CONFIG[_0x2c9121(0x195)],SERVICE_REGISTRY_FILE_NAME);}export function emptyServiceRegistry(){return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'services':[]};}export function readServiceRegistry(_0x460410={}){const _0x1ad8b4=a65_0x3123,_0x34af07=getServiceRegistryPath(_0x460410);if(!existsSync(_0x34af07))return emptyServiceRegistry();try{const _0x50765f=readFileSync(_0x34af07,_0x1ad8b4(0x199));if(!_0x50765f[_0x1ad8b4(0x1ac)]())return emptyServiceRegistry();const _0x17e825=JSON[_0x1ad8b4(0x1b4)](_0x50765f);if(_0x17e825[_0x1ad8b4(0x19f)]!==SERVICE_REGISTRY_SCHEMA_VERSION)throw CliErrors[_0x1ad8b4(0x1a2)](_0x1ad8b4(0x183)+String(_0x17e825[_0x1ad8b4(0x19f)]),_0x1ad8b4(0x1c2)+_0x34af07+'.');if(!Array[_0x1ad8b4(0x189)](_0x17e825['services']))return emptyServiceRegistry();return{'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x17e825[_0x1ad8b4(0x1ab)],'services':_0x17e825[_0x1ad8b4(0x1c0)]};}catch(_0x147ad0){if(_0x147ad0 instanceof Error&&_0x147ad0[_0x1ad8b4(0x1c6)]==='CliError')throw _0x147ad0;throw CliErrors[_0x1ad8b4(0x1a2)](_0x1ad8b4(0x17d)+_0x34af07,'Fix\x20the\x20JSON\x20file\x20or\x20move\x20it\x20aside\x20and\x20import\x20services\x20again.');}}export function writeServiceRegistry(_0x5205af,_0x40fb45={}){const _0x14f01c=a65_0x3123,_0x1f60e5=getServiceRegistryPath(_0x40fb45),_0x7063a7=dirname(_0x1f60e5);!existsSync(_0x7063a7)&&mkdirSync(_0x7063a7,{'recursive':!![]});const _0x99aeea=_0x1f60e5+'.tmp';try{writeFileSync(_0x99aeea,JSON[_0x14f01c(0x1a7)](_0x5205af,null,0x2)+'\x0a',{'encoding':_0x14f01c(0x199),'mode':0x180}),renameSync(_0x99aeea,_0x1f60e5);}catch(_0x2af52a){try{unlinkSync(_0x99aeea);}catch{}if(_0x2af52a?.[_0x14f01c(0x1b1)]===_0x14f01c(0x1b3))throw CliErrors[_0x14f01c(0x1a2)](_0x14f01c(0x1c7)+_0x1f60e5);throw _0x2af52a;}return _0x1f60e5;}export function loadServiceManifestFromFile(_0x5eaa13){const _0x3b4e8e=a65_0x3123,_0xe2ea67=resolve(_0x5eaa13);if(!existsSync(_0xe2ea67))throw CliErrors[_0x3b4e8e(0x1a2)](_0x3b4e8e(0x17e)+_0x5eaa13);let _0x5de86f;const _0x3537ee=readFileSync(_0xe2ea67,_0x3b4e8e(0x199));try{_0x5de86f=JSON[_0x3b4e8e(0x1b4)](_0x3537ee);}catch{throw CliErrors[_0x3b4e8e(0x1a2)](_0x3b4e8e(0x1a8)+_0x5eaa13,_0x3b4e8e(0x179));}const _0x253962=sha256(_0x3537ee),_0x3cc0b1=extractLoadedServiceManifests(_0x5de86f,_0x253962),_0x4d7012=aggregateValidationReports(_0x3cc0b1),_0x5c419b=_0x3cc0b1[0x0];return{'filePath':_0xe2ea67,'hash':_0x253962,'kind':isServiceRegistryLike(_0x5de86f)?_0x3b4e8e(0x18f):'manifest','manifest':_0x5c419b?.[_0x3b4e8e(0x18c)]??_0x5de86f,'report':_0x4d7012,'normalizedManifest':_0x3cc0b1[_0x3b4e8e(0x1b2)]===0x1?_0x5c419b?.[_0x3b4e8e(0x184)]:undefined,'manifests':_0x3cc0b1};}export function importServiceManifest(_0x3c1b14,_0x1be9e8={}){const _0x4d9dbc=a65_0x3123,_0x102f9b=loadServiceManifestFromFile(_0x3c1b14);if(!_0x102f9b[_0x4d9dbc(0x1aa)]['ok'])throw CliErrors[_0x4d9dbc(0x1a2)](formatValidationFailure(_0x102f9b['report']),_0x4d9dbc(0x19d));if(_0x102f9b['manifests'][_0x4d9dbc(0x1b2)]===0x0)throw CliErrors[_0x4d9dbc(0x1a2)]('Service\x20registry\x20has\x20no\x20services\x20to\x20import.',_0x4d9dbc(0x1ae));const _0x57604a=readServiceRegistry(_0x1be9e8),_0x121790=(_0x1be9e8[_0x4d9dbc(0x1a4)]??(()=>new Date()))()[_0x4d9dbc(0x187)](),_0x2d4b07=[];let _0x1c261a=0x0,_0x4b3807=0x0;for(const _0x404c70 of _0x102f9b[_0x4d9dbc(0x178)]){if(!_0x404c70[_0x4d9dbc(0x184)])continue;const _0x24514e=_0x404c70['normalizedManifest'][_0x4d9dbc(0x1b5)][_0x4d9dbc(0x1b1)],_0x4a4432={'serviceCode':_0x24514e,'version':_0x404c70[_0x4d9dbc(0x184)][_0x4d9dbc(0x19c)],'importedAt':_0x121790,'source':{'type':_0x4d9dbc(0x1c4),'path':_0x102f9b[_0x4d9dbc(0x1a1)],'hash':_0x404c70[_0x4d9dbc(0x1af)]},'manifest':_0x404c70['manifest'],'normalizedManifest':_0x404c70[_0x4d9dbc(0x184)]},_0x294f2e=_0x57604a[_0x4d9dbc(0x1c0)][_0x4d9dbc(0x17f)](_0x174938=>_0x174938[_0x4d9dbc(0x1c9)]===_0x24514e);_0x294f2e>=0x0?(_0x57604a[_0x4d9dbc(0x1c0)][_0x294f2e]=_0x4a4432,_0x4b3807++):(_0x57604a['services']['push'](_0x4a4432),_0x1c261a++),_0x2d4b07[_0x4d9dbc(0x1c8)](_0x4a4432);}_0x57604a[_0x4d9dbc(0x1c0)][_0x4d9dbc(0x1a3)]((_0x419050,_0x4ea05a)=>_0x419050[_0x4d9dbc(0x1c9)][_0x4d9dbc(0x173)](_0x4ea05a[_0x4d9dbc(0x1c9)])),_0x57604a[_0x4d9dbc(0x1ab)]=_0x121790;const _0x5bc734=writeServiceRegistry(_0x57604a,_0x1be9e8);return{'registryPath':_0x5bc734,'entry':_0x2d4b07[0x0],'replaced':_0x2d4b07[_0x4d9dbc(0x1b2)]===0x1?_0x4b3807===0x1:_0x4b3807>0x0,'entries':_0x2d4b07,'imported':_0x1c261a,'updated':_0x4b3807,'serviceCount':_0x57604a['services'][_0x4d9dbc(0x1b2)]};}export function exportServiceManifest(_0x234ada,_0x16283b,_0x25fc0c={}){const _0x55a8a9=a65_0x3123,_0xc191f6=getServiceRegistryPath(_0x25fc0c),_0x45d8a9=getLocalServiceEntry(_0x234ada,_0x25fc0c);if(!_0x45d8a9)throw CliErrors['validation'](_0x55a8a9(0x1b9)+_0x234ada,_0x55a8a9(0x1c1));const _0x34587d=resolve(_0x16283b),_0x3262e6=dirname(_0x34587d);return!existsSync(_0x3262e6)&&mkdirSync(_0x3262e6,{'recursive':!![]}),writeFileSync(_0x34587d,JSON[_0x55a8a9(0x1a7)](_0x45d8a9[_0x55a8a9(0x18c)],null,0x2)+'\x0a',{'encoding':_0x55a8a9(0x199),'mode':0x180}),{'registryPath':_0xc191f6,'filePath':_0x34587d,'entry':_0x45d8a9};}export function removeServiceManifest(_0xa22750,_0x291674={}){const _0x39715e=a65_0x3123,_0x444c2e=readServiceRegistry(_0x291674),_0x483904=_0xa22750['trim'](),_0x3444b2=_0x444c2e[_0x39715e(0x1c0)][_0x39715e(0x17f)](_0x68ceba=>_0x68ceba[_0x39715e(0x1c9)]===_0x483904);if(_0x3444b2<0x0)throw CliErrors['validation'](_0x39715e(0x1b9)+_0x483904,'Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.');const [_0x256d81]=_0x444c2e[_0x39715e(0x1c0)][_0x39715e(0x18b)](_0x3444b2,0x1),_0x411a4c=(_0x291674['now']??(()=>new Date()))()[_0x39715e(0x187)]();_0x444c2e[_0x39715e(0x1ab)]=_0x411a4c;const _0x24902d=writeServiceRegistry(_0x444c2e,_0x291674);return{'registryPath':_0x24902d,'entry':_0x256d81,'serviceCount':_0x444c2e['services'][_0x39715e(0x1b2)]};}export function listLocalServices(_0x5f28e1={}){const _0x403d51=a65_0x3123;return readServiceRegistry(_0x5f28e1)[_0x403d51(0x1c0)];}export function getLocalServiceEntry(_0x36c5a3,_0x5ea5b1={}){const _0x119f50=a65_0x3123;return readServiceRegistry(_0x5ea5b1)['services'][_0x119f50(0x198)](_0x929b45=>_0x929b45[_0x119f50(0x1c9)]===_0x36c5a3[_0x119f50(0x1ac)]());}export function listLocalServiceTrees(_0x253dc4={}){const _0x193e2b=a65_0x3123;return readServiceRegistry(_0x253dc4)[_0x193e2b(0x1c0)][_0x193e2b(0x17a)](_0x9a7c76=>_0x9a7c76[_0x193e2b(0x184)]);}export function inspectServiceRegistry(_0x4b5c72={}){const _0x56861b=a65_0x3123,_0x5bd38d=getServiceRegistryPath(_0x4b5c72);if(!existsSync(_0x5bd38d))return emptyServiceRegistryInspection(_0x5bd38d,_0x56861b(0x1bf),![]);try{const _0x4567a3=readFileSync(_0x5bd38d,_0x56861b(0x199));if(!_0x4567a3['trim']())return emptyServiceRegistryInspection(_0x5bd38d,'empty',!![]);const _0x1647c0=JSON[_0x56861b(0x1b4)](_0x4567a3);if(_0x1647c0[_0x56861b(0x19f)]!==SERVICE_REGISTRY_SCHEMA_VERSION)return{...emptyServiceRegistryInspection(_0x5bd38d,'invalid',!![]),'schemaVersion':_0x1647c0[_0x56861b(0x19f)],'message':_0x56861b(0x19e)+String(_0x1647c0[_0x56861b(0x19f)])};if(!Array[_0x56861b(0x189)](_0x1647c0[_0x56861b(0x1c0)]))return{...emptyServiceRegistryInspection(_0x5bd38d,_0x56861b(0x197),!![]),'schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x1647c0[_0x56861b(0x1ab)],'message':_0x56861b(0x185)};const _0x3e54e1=_0x1647c0[_0x56861b(0x1c0)]['map'](summarizeLocalServiceEntry);return{'registryPath':_0x5bd38d,'exists':!![],'status':'ok','schemaVersion':SERVICE_REGISTRY_SCHEMA_VERSION,'updatedAt':_0x1647c0[_0x56861b(0x1ab)],'serviceCount':_0x3e54e1[_0x56861b(0x1b2)],'commandCount':_0x3e54e1[_0x56861b(0x1a9)]((_0x330825,_0x16f3a7)=>_0x330825+_0x16f3a7['commandCount'],0x0),'services':_0x3e54e1};}catch(_0xa9e599){return{...emptyServiceRegistryInspection(_0x5bd38d,_0x56861b(0x197),!![]),'message':_0xa9e599 instanceof Error?_0xa9e599['message']:String(_0xa9e599)};}}export function formatValidationFailure(_0x48b895){const _0xb2c3d=a65_0x3123,_0x4268af=_0x48b895['errors'][_0xb2c3d(0x17a)](_0x9ea281=>_0x9ea281[_0xb2c3d(0x191)]+':\x20'+_0x9ea281[_0xb2c3d(0x1be)]);return _0xb2c3d(0x1b8)+_0x4268af[_0xb2c3d(0x181)]('\x0a');}function extractLoadedServiceManifests(_0x1db92d,_0x1c8176){const _0x3a93e7=a65_0x3123;if(!isServiceRegistryLike(_0x1db92d)){const _0x4f8e9e=_0x1db92d,{manifest:_0x2328fb,errors:_0x2f94c8}=adaptServiceTreeManifestForLegacyFramework(_0x4f8e9e),_0x287cd2=validateServiceTreeManifest(_0x2328fb),_0x495bdb=mergeValidationErrors(_0x287cd2,_0x2f94c8);return[{'manifest':_0x4f8e9e,'report':_0x495bdb,'normalizedManifest':_0x495bdb['ok']?normalizeServiceTreeManifest(_0x2328fb):undefined,'sourceHash':_0x1c8176}];}return _0x1db92d[_0x3a93e7(0x1c0)][_0x3a93e7(0x17a)]((_0x11281,_0x3e3a9c)=>{const _0x1ae6ba=_0x3a93e7,_0x5cbc0d=isObjectRecord(_0x11281)?_0x11281[_0x1ae6ba(0x18c)]:undefined,{manifest:_0x29c402,errors:_0x3e964d}=adaptServiceTreeManifestForLegacyFramework(_0x5cbc0d),_0x7a901=validateServiceTreeManifest(_0x29c402),_0x22b7a7=mergeValidationErrors(_0x7a901,_0x3e964d),_0x20091d=isObjectRecord(_0x11281)&&typeof _0x11281[_0x1ae6ba(0x1c9)]==='string'?_0x11281[_0x1ae6ba(0x1c9)]:undefined;return{'manifest':_0x5cbc0d,'report':_0x22b7a7,'normalizedManifest':_0x22b7a7['ok']?normalizeServiceTreeManifest(_0x29c402):undefined,'sourceHash':sha256(JSON[_0x1ae6ba(0x1a7)](_0x5cbc0d,null,0x2)+'\x0a'),'registryIndex':_0x3e3a9c,'registryServiceCode':_0x20091d};});}function a65_0x17fd(){const _0xd1d005=['cliPath','330464onbjVt','update','message','missing','services','Run\x20lovrabet\x20service\x20list\x20to\x20see\x20imported\x20services.','Remove\x20or\x20migrate\x20','startsWith','file','2151180KMsgrT','name','Cannot\x20write\x20service\x20registry:\x20','push','serviceCode','localeCompare','1352610WjAwhu','bff\x20target\x20requires\x20bffCode,\x20bffId,\x20or\x20scriptName.','commands','].manifest.','manifests','Fix\x20the\x20JSON\x20syntax\x20and\x20run\x20service\x20validate\x20again.','map','risk','278612ODndvG','Invalid\x20service\x20registry\x20JSON:\x20','Service\x20manifest\x20file\x20not\x20found:\x20','findIndex','command','join','3NVtFsf','Unsupported\x20service\x20registry\x20schemaVersion:\x20','normalizedManifest','services\x20must\x20be\x20an\x20array','registryIndex','toISOString','kind','isArray','importedAt','splice','manifest','description','errors','registry','2023189AkzZNq','path','slice','warnings','].manifest','homeDirName','flatMap','invalid','find','utf8','object','bff\x20target\x20requires\x20functionName.','version','Fix\x20the\x20service\x20manifest\x20and\x20run\x20service\x20validate\x20again.','Unsupported\x20schemaVersion:\x20','schemaVersion','$.services[','filePath','validation','sort','now','digest','homeDir','stringify','Invalid\x20service\x20manifest\x20JSON:\x20','reduce','report','updatedAt','trim','123741XeIMBN','Add\x20at\x20least\x20one\x20service\x20manifest,\x20then\x20run\x20service\x20import\x20again.','sourceHash','1JnhfjP','code','length','ENOENT','parse','service','363698WVXVxS','sha256','Service\x20manifest\x20validation\x20failed:\x0a','Local\x20service\x20not\x20found:\x20','target'];a65_0x17fd=function(){return _0xd1d005;};return a65_0x17fd();}function mergeValidationErrors(_0x1f016b,_0x4e5537){const _0x792155=a65_0x3123,_0x562301=_0x1f016b[_0x792155(0x18e)]['map'](_0x9a91db=>_0x9a91db['message']===_0x792155(0x175)?{..._0x9a91db,'message':_0x792155(0x19b)}:_0x9a91db),_0x2db628=[..._0x4e5537,..._0x562301];return{'ok':_0x2db628[_0x792155(0x1b2)]===0x0,'errors':_0x2db628,'warnings':_0x1f016b[_0x792155(0x193)]};}function aggregateValidationReports(_0x607a12){const _0x48b1c6=a65_0x3123,_0x57c858=_0x607a12[_0x48b1c6(0x196)](_0x28d2c6=>_0x28d2c6[_0x48b1c6(0x186)]===undefined?_0x28d2c6[_0x48b1c6(0x1aa)]['errors']:_0x28d2c6[_0x48b1c6(0x1aa)][_0x48b1c6(0x18e)][_0x48b1c6(0x17a)](_0x39ab32=>({..._0x39ab32,'path':prefixRegistryIssuePath(_0x28d2c6[_0x48b1c6(0x186)],_0x39ab32[_0x48b1c6(0x191)])}))),_0x20806f=_0x607a12[_0x48b1c6(0x196)](_0x2bc2aa=>_0x2bc2aa[_0x48b1c6(0x186)]===undefined?_0x2bc2aa[_0x48b1c6(0x1aa)][_0x48b1c6(0x193)]:_0x2bc2aa[_0x48b1c6(0x1aa)]['warnings']['map'](_0x1cd2f5=>({..._0x1cd2f5,'path':prefixRegistryIssuePath(_0x2bc2aa[_0x48b1c6(0x186)],_0x1cd2f5[_0x48b1c6(0x191)])})));return{'ok':_0x57c858[_0x48b1c6(0x1b2)]===0x0,'errors':_0x57c858,'warnings':_0x20806f};}function prefixRegistryIssuePath(_0x58258c,_0xaa907d){const _0x9b350c=a65_0x3123;if(_0xaa907d==='$')return _0x9b350c(0x1a0)+_0x58258c+'].manifest';if(_0xaa907d[_0x9b350c(0x1c3)]('$.'))return _0x9b350c(0x1a0)+_0x58258c+'].manifest'+_0xaa907d[_0x9b350c(0x192)](0x1);if(_0xaa907d[_0x9b350c(0x1c3)]('$['))return _0x9b350c(0x1a0)+_0x58258c+_0x9b350c(0x194)+_0xaa907d['slice'](0x1);return _0x9b350c(0x1a0)+_0x58258c+_0x9b350c(0x177)+_0xaa907d;}function isServiceRegistryLike(_0x49bfbe){const _0x5e9f63=a65_0x3123;return isObjectRecord(_0x49bfbe)&&_0x49bfbe['schemaVersion']===SERVICE_REGISTRY_SCHEMA_VERSION&&Array['isArray'](_0x49bfbe[_0x5e9f63(0x1c0)]);}function isObjectRecord(_0x2bcbe9){const _0x93f8de=a65_0x3123;return Boolean(_0x2bcbe9)&&typeof _0x2bcbe9===_0x93f8de(0x19a)&&!Array[_0x93f8de(0x189)](_0x2bcbe9);}function emptyServiceRegistryInspection(_0x2df677,_0x1cdae3,_0x2af5b8){return{'registryPath':_0x2df677,'exists':_0x2af5b8,'status':_0x1cdae3,'serviceCount':0x0,'commandCount':0x0,'services':[]};}function summarizeLocalServiceEntry(_0x159935){const _0x441169=a65_0x3123,_0x36e5fe=_0x159935[_0x441169(0x184)],_0x25047a=_0x36e5fe[_0x441169(0x176)]['map'](_0x52d1dc=>({'path':_0x52d1dc[_0x441169(0x1bb)],'description':_0x52d1dc[_0x441169(0x18d)],'risk':_0x52d1dc[_0x441169(0x17b)],'targetKind':_0x52d1dc[_0x441169(0x1ba)][_0x441169(0x188)],'targetCommand':_0x52d1dc['target'][_0x441169(0x180)]}));return{'serviceCode':_0x159935[_0x441169(0x1c9)],'name':_0x36e5fe[_0x441169(0x1b5)][_0x441169(0x1c6)],'description':_0x36e5fe[_0x441169(0x1b5)][_0x441169(0x18d)],'version':_0x159935[_0x441169(0x19c)],'importedAt':_0x159935[_0x441169(0x18a)],'source':_0x159935['source'],'commandCount':_0x25047a[_0x441169(0x1b2)],'commands':_0x25047a};}function sha256(_0x3d50f5){const _0x77c879=a65_0x3123;return createHash(_0x77c879(0x1b7))[_0x77c879(0x1bd)](_0x3d50f5)[_0x77c879(0x1a5)]('hex');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a66_0x1a2efc=a66_0x2980;(function(_0x5e879f,_0x1a6677){const _0x34ac93=a66_0x2980,_0x313ec8=_0x5e879f();while(!![]){try{const _0x1f6264=-parseInt(_0x34ac93(0xbe))/0x1*(parseInt(_0x34ac93(0xc9))/0x2)+parseInt(_0x34ac93(0xab))/0x3*(parseInt(_0x34ac93(0xc4))/0x4)+parseInt(_0x34ac93(0xc0))/0x5+parseInt(_0x34ac93(0xbc))/0x6+-parseInt(_0x34ac93(0xc1))/0x7+parseInt(_0x34ac93(0xb7))/0x8+-parseInt(_0x34ac93(0xae))/0x9;if(_0x1f6264===_0x1a6677)break;else _0x313ec8['push'](_0x313ec8['shift']());}catch(_0x108f48){_0x313ec8['push'](_0x313ec8['shift']());}}}(a66_0x338d,0x59f1b));import{existsSync,lstatSync,mkdirSync,writeFileSync}from'node:fs';function a66_0x338d(){const _0xa81d5e=['1978075ikdTvL','1304954VFjbEE','rendered','Refusing\x20to\x20overwrite\x20symlink:\x20','40QNnqNp','force','path','name','bool','283678MsSNnj','skillDir','content','trim','159549tvDxMg','Omitting\x20--type\x20is\x20deprecated;\x20defaulting\x20to\x20write\x20for\x20compatibility.\x20Pass\x20--type\x20read\x20or\x20--type\x20write\x20explicitly.','WRITE','8947719sKHezJ','Create\x20a\x20local\x20self-contained\x20runtime\x20Skill\x20draft','create','validation','skill','Created\x20local\x20Skill\x20draft\x20','str','Create\x20a\x20local\x20runtime\x20Skill\x20draft\x20without\x20uploading\x20or\x20publishing\x20it.','files','546992QZcHBF','read','isSymbolicLink','type','target','4170264RDDrrc','skillName','1JRPxgZ','utf8'];a66_0x338d=function(){return _0xa81d5e;};return a66_0x338d();}import{dirname,resolve}from'node:path';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':a66_0x1a2efc(0xb2),'command':a66_0x1a2efc(0xb0),'description':a66_0x1a2efc(0xaf),'risk':a66_0x1a2efc(0xb8),'requiresAuth':![],'requiresAppCode':![],'flags':[CREATE_NAME_FLAG,TYPE_FLAG,TARGET_FLAG,FORCE_FLAG],async 'dryRun'(_0x5abd32){const _0x52cc4d=a66_0x1a2efc,_0x1cc415=buildSkillCreatePlan(_0x5abd32['str']('name'),_0x5abd32['str']('type'),_0x5abd32[_0x52cc4d(0xb4)]('target'));return{'method':_0x52cc4d(0xad),'url':_0x1cc415['skillDir'],'body':{'skillName':_0x1cc415['rendered']['skillName'],'type':_0x1cc415['rendered'][_0x52cc4d(0xba)],'selfContained':!![],'files':_0x1cc415[_0x52cc4d(0xc2)]['files']['map'](_0x427ce7=>_0x427ce7[_0x52cc4d(0xc6)])},'description':_0x52cc4d(0xb5)};},async 'execute'(_0x5560f4){const _0x563993=a66_0x1a2efc,_0x470b5c=buildSkillCreatePlan(_0x5560f4[_0x563993(0xb4)](_0x563993(0xc7)),_0x5560f4[_0x563993(0xb4)](_0x563993(0xba)),_0x5560f4['str'](_0x563993(0xbb)));return writeSkillDraft(_0x470b5c,_0x5560f4[_0x563993(0xc8)](_0x563993(0xc5))),{'ok':!![],'data':{'skillName':_0x470b5c[_0x563993(0xc2)][_0x563993(0xbd)],'type':_0x470b5c[_0x563993(0xc2)][_0x563993(0xba)],'dir':_0x470b5c[_0x563993(0xca)],'files':_0x470b5c[_0x563993(0xc2)][_0x563993(0xb6)]['map'](_0x540bb2=>_0x540bb2['path'])},'message':_0x563993(0xb3)+_0x470b5c['rendered'][_0x563993(0xbd)]};}};function buildSkillCreatePlan(_0x30d922,_0x3ddc2d,_0x564b61){const _0x15d7ea=a66_0x1a2efc,_0x2c216e=_0x3ddc2d[_0x15d7ea(0xaa)](),_0x32984c=renderSkillTemplate({'skillName':_0x30d922,'type':_0x2c216e});!_0x2c216e&&writeCliSideChannelLine(_0x15d7ea(0xac));const _0x3e4dc4=resolve(normalizeSkillTarget(_0x564b61));return{'rendered':_0x32984c,'targetRoot':_0x3e4dc4,'skillDir':resolve(_0x3e4dc4,_0x32984c[_0x15d7ea(0xbd)])};}function normalizeSkillTarget(_0x290a03){const _0x28cefe=a66_0x1a2efc;return(_0x290a03||DEFAULT_SKILL_TARGET)[_0x28cefe(0xaa)]()||DEFAULT_SKILL_TARGET;}function a66_0x2980(_0x2fc307,_0x4a0189){_0x2fc307=_0x2fc307-0xaa;const _0x338d0a=a66_0x338d();let _0x298094=_0x338d0a[_0x2fc307];return _0x298094;}function writeSkillDraft(_0x52a373,_0x568ba0){const _0x520f8e=a66_0x1a2efc;if(existsSync(_0x52a373[_0x520f8e(0xca)])){const _0x121eac=lstatSync(_0x52a373[_0x520f8e(0xca)]);if(!_0x121eac['isDirectory']()||_0x121eac[_0x520f8e(0xb9)]())throw CliErrors['validation']('Skill\x20path\x20already\x20exists\x20and\x20is\x20not\x20a\x20writable\x20directory:\x20'+_0x52a373['skillDir']);if(!_0x568ba0)throw CliErrors[_0x520f8e(0xb1)]('Skill\x20directory\x20already\x20exists:\x20'+_0x52a373[_0x520f8e(0xca)],'Pass\x20--force\x20to\x20overwrite\x20generated\x20template\x20files.');}for(const _0x4b691b of _0x52a373['rendered'][_0x520f8e(0xb6)]){const _0xddf793=resolve(_0x52a373[_0x520f8e(0xca)],_0x4b691b[_0x520f8e(0xc6)]),_0x1c72e1=dirname(_0xddf793);mkdirSync(_0x1c72e1,{'recursive':!![]});if(existsSync(_0xddf793)&&lstatSync(_0xddf793)[_0x520f8e(0xb9)]())throw CliErrors['validation'](_0x520f8e(0xc3)+_0xddf793);writeFileSync(_0xddf793,_0x4b691b[_0x520f8e(0xcb)],_0x520f8e(0xbf));}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a67_0x39e2b3=a67_0x1aa1;function a67_0x2b1d(){const _0x5864b6=['--source-fingerprint\x20must\x20be\x20lowercase\x20sha256:<64\x20hex\x20characters>.','str','diagram-show','11669845QFLgEc',';\x20first\x20write\x20expects\x20revision\x20','isInteger','1416280IPkQLX','656173QlfIEj','60042DMxzTZ','40422hxUcCv','5VfGuwS','expectedDiagramRevision','diagram-file','Creates\x20or\x20replaces\x20a\x20Mermaid\x20diagram\x20for\x20an\x20exact\x20Skill\x20version.\x20The\x20write\x20is\x20rejected\x20if\x20the\x20server\x20version\x20has\x20changed.\x20The\x20confirmation\x20UI\x20does\x20not\x20show\x20the\x20diagram\x20body.','Updated','created','trim','skillCode','--expected-diagram-revision\x20must\x20be\x20a\x20non-negative\x20integer.','write','company','expected-diagram-revision','version','num','36EWocoe','read','Created','appCode','action','diagram-push','Show\x20the\x20current\x20Mermaid\x20diagram\x20for\x20one\x20exact\x20Skill\x20version','validation','scope','found','source-fingerprint','skill','Skill\x20diagram\x20for\x20','diagram-validate','18693iXgZSH','No\x20Skill\x20diagram\x20is\x20stored\x20for\x20','Skill\x20diagram\x20validation\x20passed\x20for\x20','63xgStlk','--skill-code,\x20--version,\x20and\x20--scope\x20personal|company\x20are\x20required.',';\x20next\x20write\x20expects\x20revision\x20','2490848ujLLHW','1704TlbXNW','\x20Skill\x20diagram\x20for\x20','623BuFknT'];a67_0x2b1d=function(){return _0x5864b6;};return a67_0x2b1d();}(function(_0x396f52,_0x3fb87b){const _0x45f347=a67_0x1aa1,_0x79dc31=_0x396f52();while(!![]){try{const _0x40734a=-parseInt(_0x45f347(0x9e))/0x1+parseInt(_0x45f347(0x9f))/0x2*(-parseInt(_0x45f347(0x90))/0x3)+parseInt(_0x45f347(0x93))/0x4*(-parseInt(_0x45f347(0xa1))/0x5)+parseInt(_0x45f347(0xa0))/0x6*(-parseInt(_0x45f347(0x96))/0x7)+parseInt(_0x45f347(0x94))/0x8*(-parseInt(_0x45f347(0x8d))/0x9)+parseInt(_0x45f347(0x9d))/0xa+parseInt(_0x45f347(0x9a))/0xb*(parseInt(_0x45f347(0x7f))/0xc);if(_0x40734a===_0x3fb87b)break;else _0x79dc31['push'](_0x79dc31['shift']());}catch(_0x2cc85d){_0x79dc31['push'](_0x79dc31['shift']());}}}(a67_0x2b1d,0x5b101));import{getRuntimeSkillVersionDiagram,putRuntimeSkillVersionDiagram,validateRuntimeSkillVersionDiagram}from'../../../core/api-client.js';import{CliErrors}from'../../../errors.js';import{readRequiredSkillDiagram}from'../diagram.js';import{DIAGRAM_FILE_FLAG,DIAGRAM_SCOPE_FLAG,DIAGRAM_SKILL_CODE_FLAG,DIAGRAM_VERSION_FLAG,EXPECTED_DIAGRAM_REVISION_FLAG,SOURCE_FINGERPRINT_FLAG}from'../flags.js';const TARGET_FLAGS=[DIAGRAM_SKILL_CODE_FLAG,DIAGRAM_VERSION_FLAG,DIAGRAM_SCOPE_FLAG],WRITE_FLAGS=[...TARGET_FLAGS,SOURCE_FINGERPRINT_FLAG,EXPECTED_DIAGRAM_REVISION_FLAG,DIAGRAM_FILE_FLAG];function readDiagramTarget(_0x15f72f){const _0x55fc5a=a67_0x1aa1,_0x1bc181=_0x15f72f[_0x55fc5a(0x98)]('skill-code')['trim'](),_0x33077b=_0x15f72f[_0x55fc5a(0x98)](_0x55fc5a(0x7d))[_0x55fc5a(0xa7)](),_0x5e53da=_0x15f72f['str']('scope');if(!_0x1bc181||!_0x33077b||_0x5e53da!=='personal'&&_0x5e53da!==_0x55fc5a(0x7b))throw CliErrors[_0x55fc5a(0x86)](_0x55fc5a(0x91));return{'skillCode':_0x1bc181,'version':_0x33077b,'scope':_0x5e53da};}function a67_0x1aa1(_0x4257b3,_0x537457){_0x4257b3=_0x4257b3-0x7a;const _0x2b1d34=a67_0x2b1d();let _0x1aa175=_0x2b1d34[_0x4257b3];return _0x1aa175;}async function readDiagramWriteInput(_0x5e52e6){const _0x229f9d=a67_0x1aa1,_0x567c7b=_0x5e52e6[_0x229f9d(0x7e)](_0x229f9d(0x7c)),_0x1e67c7=_0x5e52e6[_0x229f9d(0x98)](_0x229f9d(0x89))[_0x229f9d(0xa7)]();if(!Number[_0x229f9d(0x9c)](_0x567c7b)||_0x567c7b<0x0)throw CliErrors[_0x229f9d(0x86)](_0x229f9d(0xa9));if(!/^sha256:[0-9a-f]{64}$/['test'](_0x1e67c7))throw CliErrors[_0x229f9d(0x86)](_0x229f9d(0x97));return{'expectedDiagramRevision':_0x567c7b,'sourceFingerprint':_0x1e67c7,'diagram':await readRequiredSkillDiagram(_0x5e52e6['str'](_0x229f9d(0xa3)))};}export const diagramValidateCommand={'service':a67_0x39e2b3(0x8a),'command':a67_0x39e2b3(0x8c),'description':'Validate\x20a\x20Mermaid\x20diagram\x20replacement\x20for\x20one\x20exact\x20Skill\x20version','risk':a67_0x39e2b3(0x80),'flags':WRITE_FLAGS,async 'execute'(_0x5e24a7){const _0x1b2a3f=a67_0x39e2b3,_0x5e4cb4=readDiagramTarget(_0x5e24a7),_0x15f788=await validateRuntimeSkillVersionDiagram(_0x5e24a7[_0x1b2a3f(0x82)],_0x5e4cb4[_0x1b2a3f(0xa8)],_0x5e4cb4[_0x1b2a3f(0x7d)],_0x5e4cb4[_0x1b2a3f(0x87)],await readDiagramWriteInput(_0x5e24a7));return{'ok':!![],'data':_0x15f788,'message':_0x1b2a3f(0x8f)+_0x5e4cb4['skillCode']+'@'+_0x5e4cb4[_0x1b2a3f(0x7d)]+'.'};}};export const diagramPushCommand={'service':'skill','command':a67_0x39e2b3(0x84),'description':'Create\x20or\x20replace\x20a\x20Mermaid\x20diagram\x20for\x20a\x20specific\x20Skill\x20version','risk':a67_0x39e2b3(0x7a),'confirmationDescription':a67_0x39e2b3(0xa4),'flags':WRITE_FLAGS,async 'execute'(_0x1e22a8){const _0xe998f7=a67_0x39e2b3,_0x300b0e=readDiagramTarget(_0x1e22a8),_0x1664df=await putRuntimeSkillVersionDiagram(_0x1e22a8[_0xe998f7(0x82)],_0x300b0e['skillCode'],_0x300b0e[_0xe998f7(0x7d)],_0x300b0e[_0xe998f7(0x87)],await readDiagramWriteInput(_0x1e22a8));return{'ok':!![],'data':_0x1664df,'message':_0x1664df[_0xe998f7(0x83)]==='unchanged'?_0xe998f7(0x8b)+_0x300b0e['skillCode']+'@'+_0x300b0e[_0xe998f7(0x7d)]+'\x20is\x20unchanged.':(_0x1664df[_0xe998f7(0x83)]===_0xe998f7(0xa6)?_0xe998f7(0x81):_0xe998f7(0xa5))+_0xe998f7(0x95)+_0x300b0e[_0xe998f7(0xa8)]+'@'+_0x300b0e['version']+'.'};}};export const diagramShowCommand={'service':'skill','command':a67_0x39e2b3(0x99),'description':a67_0x39e2b3(0x85),'risk':a67_0x39e2b3(0x80),'flags':TARGET_FLAGS,async 'execute'(_0x397347){const _0x5511ff=a67_0x39e2b3,_0xf0fa40=readDiagramTarget(_0x397347),_0x17d74e=await getRuntimeSkillVersionDiagram(_0x397347[_0x5511ff(0x82)],_0xf0fa40['skillCode'],_0xf0fa40[_0x5511ff(0x7d)],_0xf0fa40[_0x5511ff(0x87)]);return{'ok':!![],'data':_0x17d74e,'message':_0x17d74e[_0x5511ff(0x88)]?'Found\x20Skill\x20diagram\x20for\x20'+_0xf0fa40['skillCode']+'@'+_0xf0fa40[_0x5511ff(0x7d)]+_0x5511ff(0x92)+_0x17d74e['expectedDiagramRevision']+'.':_0x5511ff(0x8e)+_0xf0fa40['skillCode']+'@'+_0xf0fa40[_0x5511ff(0x7d)]+_0x5511ff(0x9b)+_0x17d74e[_0x5511ff(0xa2)]+'.'};}};
|