@lovrabet/lovrabet-cli 2.2.3 → 2.2.4-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cli.js +1 -1
- package/lib/commands/api-doc/index.js +1 -1
- package/lib/commands/app/cache.js +1 -1
- package/lib/commands/app/definitions.js +1 -1
- package/lib/commands/app/eligibility.js +1 -1
- package/lib/commands/app/mock-loader.js +1 -1
- package/lib/commands/app/remote-source.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app-config/get.js +1 -1
- package/lib/commands/app-config/index.js +1 -1
- package/lib/commands/artifact/index.js +1 -1
- package/lib/commands/auth/device.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/auth/prompt.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/exec.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/cli-skill/index.js +1 -1
- package/lib/commands/common/config-policy.js +1 -1
- package/lib/commands/common/constraints.js +1 -1
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/common/local-file.js +1 -1
- package/lib/commands/config/definitions.js +1 -1
- package/lib/commands/config/shared.js +1 -1
- package/lib/commands/data/index.js +1 -1
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/sdk-doc.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/file/index.js +1 -1
- package/lib/commands/init.js +1 -1
- package/lib/commands/kb/index.js +1 -1
- package/lib/commands/logs/index.js +1 -1
- package/lib/commands/notification/config-list.d.ts +2 -0
- package/lib/commands/notification/config-list.js +1 -0
- package/lib/commands/notification/index.d.ts +2 -0
- package/lib/commands/notification/index.js +1 -0
- package/lib/commands/notification/shared.d.ts +13 -0
- package/lib/commands/notification/shared.js +1 -0
- package/lib/commands/ocr/index.js +1 -1
- package/lib/commands/permit/dataset-get.d.ts +2 -0
- package/lib/commands/permit/dataset-get.js +1 -0
- package/lib/commands/permit/dataset-set.d.ts +2 -0
- package/lib/commands/permit/dataset-set.js +1 -0
- package/lib/commands/permit/index.d.ts +2 -0
- package/lib/commands/permit/index.js +1 -0
- package/lib/commands/permit/page-get.d.ts +2 -0
- package/lib/commands/permit/page-get.js +1 -0
- package/lib/commands/permit/page-set.d.ts +2 -0
- package/lib/commands/permit/page-set.js +1 -0
- package/lib/commands/permit/role-menus-set.d.ts +2 -0
- package/lib/commands/permit/role-menus-set.js +1 -0
- package/lib/commands/permit/role-menus.d.ts +2 -0
- package/lib/commands/permit/role-menus.js +1 -0
- package/lib/commands/permit/shared.d.ts +52 -0
- package/lib/commands/permit/shared.js +1 -0
- package/lib/commands/personal-bff/index.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/role/create.d.ts +2 -0
- package/lib/commands/role/create.js +1 -0
- package/lib/commands/role/delete.d.ts +2 -0
- package/lib/commands/role/delete.js +1 -0
- package/lib/commands/role/detail.d.ts +2 -0
- package/lib/commands/role/detail.js +1 -0
- package/lib/commands/role/index.d.ts +2 -0
- package/lib/commands/role/index.js +1 -0
- package/lib/commands/role/list.d.ts +2 -0
- package/lib/commands/role/list.js +1 -0
- package/lib/commands/role/shared.d.ts +33 -0
- package/lib/commands/role/shared.js +1 -0
- package/lib/commands/role/update.d.ts +2 -0
- package/lib/commands/role/update.js +1 -0
- package/lib/commands/role/user-add.d.ts +2 -0
- package/lib/commands/role/user-add.js +1 -0
- package/lib/commands/role/user-remove.d.ts +2 -0
- package/lib/commands/role/user-remove.js +1 -0
- 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/schema.js +1 -1
- package/lib/constant/app.js +1 -1
- package/lib/constant/auth-mode.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/distribution.js +1 -1
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/product.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/constant/url.js +1 -1
- package/lib/context.js +1 -1
- package/lib/core/api-client.d.ts +161 -0
- package/lib/core/api-client.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/sdk-client.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/dryrun.js +1 -1
- package/lib/framework/flags.js +1 -1
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/preparse.js +1 -1
- package/lib/framework/rate-limit.js +1 -1
- package/lib/framework/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/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/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/types.d.ts +1 -0
- 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/apply-jq-filter.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/lossless-json.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/platform.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +1 -1
- package/skills/lovrabet/SKILL.md +20 -7
- package/skills/lovrabet/guides/role-and-permission-workflow.md +139 -0
- package/skills/lovrabet/references/lovrabet-auth.md +1 -5
- package/skills/lovrabet/references/lovrabet-notification-config-list.md +81 -0
- package/skills/lovrabet/references/lovrabet-skill-authoring.md +5 -4
- package/skills/lovrabet.manifest.json +5 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const a45_0x1d826f=a45_0x1941;(function(_0x32403a,_0x4a9287){const _0x50d2cb=a45_0x1941,_0x56b6a3=_0x32403a();while(!![]){try{const _0x48bf79=parseInt(_0x50d2cb(0x17d))/0x1*(-parseInt(_0x50d2cb(0x1a5))/0x2)+-parseInt(_0x50d2cb(0x198))/0x3*(-parseInt(_0x50d2cb(0x174))/0x4)+parseInt(_0x50d2cb(0x178))/0x5*(parseInt(_0x50d2cb(0x166))/0x6)+-parseInt(_0x50d2cb(0x191))/0x7+parseInt(_0x50d2cb(0x181))/0x8+-parseInt(_0x50d2cb(0x17e))/0x9+-parseInt(_0x50d2cb(0x179))/0xa*(-parseInt(_0x50d2cb(0x18f))/0xb);if(_0x48bf79===_0x4a9287)break;else _0x56b6a3['push'](_0x56b6a3['shift']());}catch(_0x1a1719){_0x56b6a3['push'](_0x56b6a3['shift']());}}}(a45_0x31af,0x1cdf4));function a45_0x1941(_0x1601e8,_0x3909c4){_0x1601e8=_0x1601e8-0x163;const _0x31af85=a45_0x31af();let _0x19418d=_0x31af85[_0x1601e8];return _0x19418d;}import{getLoginUserInfo,listRuntimePermitRoles,listRuntimeRoleUsers}from'../../core/api-client.js';function a45_0x31af(){const _0x1f0f36=['menu-roles','SELF','resourceCode','revoke','map','menuId','datasetCode','15389wkkxRo','dataDetail','370272xwgpph','number','menu-id','userId','pageId','MENU','length','1209eLajqc','boolean','Runtime\x20resource\x20permission\x20changes\x20require\x20an\x20ADMIN\x20or\x20OWNER\x20role.','\x20must\x20contain\x20at\x20least\x20one\x20value.','Use\x20a\x20role\x20ID\x20from\x20`lovrabet\x20role\x20list`.','isSafeInteger','string','update-roles','resourceType','Ask\x20an\x20application\x20manager\x20to\x20perform\x20this\x20operation.','\x20runtime\x20role\x20','row-roles','trim','5938MsabpH','role','push','dataCreate','dataPermit','toUpperCase','key','roleName','rolePermit','50874rfDMQd','some','permitId','Revoke\x20the\x20selected\x20resources\x20from\x20the\x20role','Comma-separated\x20runtime\x20role\x20IDs\x20or\x20names','delete-roles','appCode','roleType','OWNER','find','Cannot\x20resolve\x20the\x20current\x20AK\x20userId\x20for\x20permission\x20management.','ADMIN','split','children','1328gUDwJi','Permission\x20role\x20\x22','Grant\x20the\x20selected\x20resources\x20to\x20the\x20role','validation','5DBEegG','1430DmjvuM','filter','Configure\x20USER,\x20CUSTOM,\x20or\x20an\x20applicable\x20special\x20role\x20instead.','Runtime\x20role\x20ID\x20or\x20exact\x20role\x20name','56acDodE','146349SQrSQp','ALL','detail-roles','90792lapStc','The\x20current\x20service\x20contract\x20does\x20not\x20persist\x20an\x20empty\x20rolePermit;\x20grant\x20another\x20role\x20first.','label','create-roles','dataDelete','values','grant'];a45_0x31af=function(){return _0x1f0f36;};return a45_0x31af();}import{CliErrors}from'../../errors.js';export const MENU_ID_FLAG={'name':a45_0x1d826f(0x193),'type':a45_0x1d826f(0x192),'required':!![],'description':'Runtime\x20menu\x20ID'};export const ROLE_REF_FLAG={'name':a45_0x1d826f(0x1a6),'type':a45_0x1d826f(0x19e),'required':!![],'description':a45_0x1d826f(0x17c)};export const GRANT_FLAG={'name':a45_0x1d826f(0x187),'type':a45_0x1d826f(0x199),'description':a45_0x1d826f(0x176)};export const REVOKE_FLAG={'name':a45_0x1d826f(0x18b),'type':a45_0x1d826f(0x199),'description':a45_0x1d826f(0x169)};export const PAGE_SLOT_SPECS=[{'flag':a45_0x1d826f(0x188),'key':'menuPermit','allowSelf':![]},{'flag':a45_0x1d826f(0x184),'key':a45_0x1d826f(0x1a8),'allowSelf':![]},{'flag':a45_0x1d826f(0x19f),'key':'dataUpdate','allowSelf':![]},{'flag':a45_0x1d826f(0x16b),'key':a45_0x1d826f(0x185),'allowSelf':![]},{'flag':a45_0x1d826f(0x180),'key':a45_0x1d826f(0x190),'allowSelf':![]},{'flag':'export-roles','key':'dataExport','allowSelf':![]},{'flag':a45_0x1d826f(0x1a3),'key':a45_0x1d826f(0x1a9),'allowSelf':!![]}];export const PAGE_ROLE_FLAGS=PAGE_SLOT_SPECS['map'](_0x31b2eb=>({'name':_0x31b2eb['flag'],'type':'string','description':a45_0x1d826f(0x16a)}));export function splitRefs(_0x2a47fa,_0x1d0c10){const _0x357acb=a45_0x1d826f,_0x41a4f2=[...new Set(_0x2a47fa[_0x357acb(0x172)](',')[_0x357acb(0x18c)](_0x2a8621=>_0x2a8621[_0x357acb(0x1a4)]())[_0x357acb(0x17a)](Boolean))];if(_0x41a4f2[_0x357acb(0x197)]===0x0)throw CliErrors[_0x357acb(0x177)](_0x1d0c10+_0x357acb(0x19b));return _0x41a4f2;}export function assertGrantOrRevoke(_0x52f40b,_0x4d492f){const _0x111b47=a45_0x1d826f;if(_0x52f40b===_0x4d492f)throw CliErrors[_0x111b47(0x177)]('Pass\x20exactly\x20one\x20of\x20--grant\x20or\x20--revoke.');return _0x52f40b?'grant':_0x111b47(0x18b);}function resolvePermitRole(_0x3a63ad,_0x1d049a){const _0x3ad77d=a45_0x1d826f,_0x428e3e=_0x1d049a[_0x3ad77d(0x1a4)](),_0x2e5175=/^-?\d+$/['test'](_0x428e3e)?_0x3a63ad[_0x3ad77d(0x17a)](_0x33be8a=>_0x33be8a['id']===Number(_0x428e3e)):_0x3a63ad['filter'](_0x172fef=>_0x172fef[_0x3ad77d(0x164)]===_0x428e3e||_0x172fef[_0x3ad77d(0x16d)]===_0x428e3e[_0x3ad77d(0x1aa)]());if(_0x2e5175[_0x3ad77d(0x197)]!==0x1)throw CliErrors[_0x3ad77d(0x177)](_0x2e5175['length']===0x0?_0x3ad77d(0x175)+_0x428e3e+'\x22\x20was\x20not\x20found.':_0x3ad77d(0x175)+_0x428e3e+'\x22\x20is\x20ambiguous.',_0x3ad77d(0x19c));return _0x2e5175[0x0];}export async function resolveRuntimePermitRoles(_0x159906,_0x3c4a32,_0x58239c){const _0x44df46=a45_0x1d826f,_0x403160=await listRuntimePermitRoles(_0x159906,{'needSelf':!![],'needPublic':!![]}),_0x383ee7=[...new Map(_0x3c4a32[_0x44df46(0x18c)](_0x565215=>resolvePermitRole(_0x403160,_0x565215))[_0x44df46(0x18c)](_0x341942=>[_0x341942['id'],_0x341942]))[_0x44df46(0x186)]()],_0x32f235=_0x383ee7[_0x44df46(0x16f)](_0x1866b2=>_0x1866b2[_0x44df46(0x16d)]===_0x44df46(0x171)||_0x1866b2[_0x44df46(0x16d)]==='OWNER');if(_0x32f235)throw CliErrors['validation'](_0x32f235[_0x44df46(0x16d)]+'\x20has\x20full\x20runtime\x20access\x20and\x20cannot\x20be\x20a\x20resource\x20permission\x20target.',_0x44df46(0x17b));if(!_0x58239c&&_0x383ee7[_0x44df46(0x167)](_0x3eb00d=>_0x3eb00d['roleType']===_0x44df46(0x189)))throw CliErrors[_0x44df46(0x177)]('SELF\x20is\x20only\x20valid\x20for\x20--row-roles.');return _0x383ee7;}export async function assertRuntimePermissionManager(_0x397c71){const _0x345a96=a45_0x1d826f,_0x488125=await getLoginUserInfo(),_0x1294a=_0x488125['userId']??_0x488125['id'],_0x4a885b=Number(_0x1294a);if(!Number[_0x345a96(0x19d)](_0x4a885b)||_0x4a885b<=0x0)throw CliErrors[_0x345a96(0x177)](_0x345a96(0x170));const _0x11f27c=await listRuntimeRoleUsers(_0x397c71),_0x77ec5=_0x11f27c[_0x345a96(0x167)](_0x20a1d5=>(_0x20a1d5[_0x345a96(0x16d)]===_0x345a96(0x171)||_0x20a1d5[_0x345a96(0x16d)]===_0x345a96(0x16e))&&_0x20a1d5['userList'][_0x345a96(0x167)](_0x3ce769=>_0x3ce769[_0x345a96(0x194)]===_0x4a885b));if(!_0x77ec5)throw CliErrors['validation'](_0x345a96(0x19a),_0x345a96(0x1a1));}export function assertRuntimePermitRoleConfigurable(_0x230516){const _0x372e05=a45_0x1d826f;if(_0x230516[_0x372e05(0x16d)]==='ADMIN'||_0x230516[_0x372e05(0x16d)]===_0x372e05(0x16e))throw CliErrors['validation']('Cannot\x20change\x20resource\x20permissions\x20for\x20'+_0x230516[_0x372e05(0x16d)]+_0x372e05(0x1a2)+_0x230516[_0x372e05(0x164)]+'.','ADMIN\x20and\x20OWNER\x20have\x20full\x20runtime\x20access;\x20configure\x20USER\x20or\x20CUSTOM\x20instead.');}function asPermitRole(_0xd6669f){const _0x186fec=a45_0x1d826f;return{'id':_0xd6669f['id'],'roleName':_0xd6669f[_0x186fec(0x164)],'roleType':_0xd6669f[_0x186fec(0x16d)],'allowed':!![]};}export function applyRuntimeRolePermission(_0x2cb0f8,_0x6d9c74,_0x885a02,_0x443384){const _0x4dedfb=a45_0x1d826f,_0x3da321=!_0x2cb0f8||_0x2cb0f8[_0x4dedfb(0x197)]===0x0,_0x1aa543=_0x2cb0f8?.['some'](_0x54ade4=>_0x54ade4[_0x4dedfb(0x16d)]===_0x4dedfb(0x17f))??![];if(_0x443384===_0x4dedfb(0x187)&&(_0x3da321||_0x1aa543))return{'roles':_0x2cb0f8??null,'changed':![]};let _0xb49e3c=_0x3da321||_0x1aa543?_0x885a02[_0x4dedfb(0x17a)](_0x48db77=>_0x48db77['id']>0x0):[..._0x2cb0f8];const _0xa88e85=_0xb49e3c[_0x4dedfb(0x167)](_0x269276=>_0x269276['id']===_0x6d9c74['id']);if(_0x443384===_0x4dedfb(0x187)){if(_0xa88e85)return{'roles':_0xb49e3c,'changed':![]};return _0xb49e3c[_0x4dedfb(0x1a7)](asPermitRole(_0x6d9c74)),{'roles':_0xb49e3c,'changed':!![]};}if(!_0xa88e85)return{'roles':_0xb49e3c,'changed':_0x3da321||_0x1aa543};_0xb49e3c=_0xb49e3c[_0x4dedfb(0x17a)](_0x13733=>_0x13733['id']!==_0x6d9c74['id']);if(_0xb49e3c[_0x4dedfb(0x197)]===0x0)throw CliErrors[_0x4dedfb(0x177)]('Cannot\x20revoke\x20the\x20last\x20role\x20from\x20a\x20runtime\x20resource.',_0x4dedfb(0x182));return{'roles':_0xb49e3c,'changed':!![]};}export function projectRuntimePagePermit(_0x3818cb){const _0xcc661a=a45_0x1d826f,_0x470c55={'menuId':_0x3818cb[_0xcc661a(0x18d)],'pageId':_0x3818cb[_0xcc661a(0x195)],'appCode':_0x3818cb[_0xcc661a(0x16c)],'datasetCode':_0x3818cb[_0xcc661a(0x18e)]};for(const _0x1f6fe2 of PAGE_SLOT_SPECS){const _0x37b592=_0x3818cb[_0x1f6fe2[_0xcc661a(0x163)]];_0x37b592&&(_0x470c55[_0x1f6fe2[_0xcc661a(0x163)]]={'resourceCode':_0x37b592[_0xcc661a(0x18a)],'resourceType':_0x37b592[_0xcc661a(0x1a0)],'roles':(_0x37b592[_0xcc661a(0x165)]??[])[_0xcc661a(0x18c)](_0x1c1b15=>({'id':_0x1c1b15['id'],'roleName':_0x1c1b15[_0xcc661a(0x164)],'roleType':_0x1c1b15[_0xcc661a(0x16d)]}))});}return _0x470c55;}export function flattenRuntimeMenuRolePermits(_0x28aa90){const _0x3e0ca4=[],_0x5665f5=_0x2c3ecd=>{const _0x5f35e7=a45_0x1941;_0x3e0ca4[_0x5f35e7(0x1a7)](_0x2c3ecd);for(const _0xeb29cc of _0x2c3ecd[_0x5f35e7(0x173)]??[])_0x5665f5(_0xeb29cc);};for(const _0x9198c8 of _0x28aa90)_0x5665f5(_0x9198c8);return _0x3e0ca4;}export function runtimePermitWriteResult(_0x2282ed,_0x32ca87,_0x48ed15,_0x1f8742,_0x348be,_0x13e262=[]){return{'operation':_0x2282ed,'scope':'runtime','selector':_0x32ca87,'before':_0x48ed15,'after':_0x1f8742,'dryRun':![],'backend':_0x348be,'warnings':_0x13e262};}export function menuPermitDto(_0xb20ae3,_0x70f267,_0x3fddb4){const _0x1b9a3e=a45_0x1d826f;return{..._0x70f267[_0x1b9a3e(0x168)]!=null?{'id':_0x70f267[_0x1b9a3e(0x168)]}:{},'appCode':_0xb20ae3,'menuId':_0x70f267['id'],'pageId':_0x70f267[_0x1b9a3e(0x195)]??null,'resourceCode':String(_0x70f267['id']),'resourceType':_0x1b9a3e(0x196),'resourceName':_0x70f267[_0x1b9a3e(0x183)],'rolePermit':_0x3fddb4};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a35_0x52c635=a35_0x4aaa;(function(_0xe7b9a0,_0x553b5a){const _0x579b03=a35_0x4aaa,_0xa9e7f=_0xe7b9a0();while(!![]){try{const _0x92e09e=parseInt(_0x579b03(0x1db))/0x1*(-parseInt(_0x579b03(0x1ce))/0x2)+parseInt(_0x579b03(0x1e3))/0x3*(parseInt(_0x579b03(0x1ea))/0x4)+parseInt(_0x579b03(0x1f0))/0x5*(-parseInt(_0x579b03(0x1cf))/0x6)+parseInt(_0x579b03(0x1bf))/0x7*(-parseInt(_0x579b03(0x1c6))/0x8)+-parseInt(_0x579b03(0x1ca))/0x9+parseInt(_0x579b03(0x1d8))/0xa*(parseInt(_0x579b03(0x1f3))/0xb)+parseInt(_0x579b03(0x1c5))/0xc;if(_0x92e09e===_0x553b5a)break;else _0xa9e7f['push'](_0xa9e7f['shift']());}catch(_0x29b2e5){_0xa9e7f['push'](_0xa9e7f['shift']());}}}(a35_0x22a7,0x734c7));import{existsSync,readFileSync,statSync}from'node:fs';import{createPersonalBff,executePersonalBff,getPersonalBff,listPersonalBffs,updatePersonalBff}from'../../core/api-client.js';import{ID_FLAG,PARAMS_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';function a35_0x22a7(){const _0x49a617=['createTime','isFile','functionName','/client/runtime-bff/personal/','Preview:\x20create\x20personal\x20BFF\x20','--name\x20must\x20be\x20a\x20valid\x20JavaScript\x20identifier,\x20for\x20example\x20loadOrders.','description','Preview:\x20update\x20personal\x20BFF\x20','gmtModified','personal-bff\x20update\x20requires\x20at\x20least\x20one\x20of\x20--name,\x20--description,\x20--file,\x20or\x20--source-session-id.','211106xrmNBp','Updated\x20personal\x20BFF\x20','version','personal-bff','根据\x20ID\x20更新个人\x20BFF','scriptContent','19562460EcvpOh','184EnVHnX','Personal\x20BFF\x20script\x20file\x20is\x20blank.','Path\x20to\x20a\x20local\x20UTF-8\x20JavaScript\x20or\x20TypeScript\x20file','file','1132200QZOTHS','执行个人\x20BFF\x20脚本;脚本可能读取或修改业务数据,也可能调用外部服务。','Personal\x20BFF\x20functionName,\x20for\x20example\x20loadOrders','bool','187614wyRaDi','171318CGoCLg','keys','--params\x20must\x20be\x20a\x20JSON\x20object.','createUserId','verbose','File\x20is\x20not\x20a\x20regular\x20file:\x20','build','trim','update','730xbPQeM','gmtCreate','flag','2LSYBHS','List\x20current\x20user\x27s\x20personal\x20BFF\x20scripts\x20for\x20the\x20current\x20app','params','JSON\x20object\x20passed\x20to\x20the\x20personal\x20BFF\x20execution','validation','write','read','name','24EtXrKn','/update','POST','body','sourceSessionId','根据本地脚本文件创建个人\x20BFF','length','16308zawTFc','str','Show\x20one\x20personal\x20BFF\x20by\x20id','source-session-id','create','num','140wXktxd','Personal\x20BFF\x20description','appCode','92818cYoNTM','Executed\x20personal\x20BFF\x20','根据\x20ID\x20执行个人\x20BFF,并可传入\x20JSON\x20参数','string','exec','test','Personal\x20BFF\x20script\x20ID'];a35_0x22a7=function(){return _0x49a617;};return a35_0x22a7();}import{dryRun}from'../../framework/dryrun.js';import{parseJsonParams}from'../../utils/params.js';const FUNCTION_NAME_PATTERN=/^[a-zA-Z_$][a-zA-Z0-9_$]*$/,FILE_FLAG={'name':a35_0x52c635(0x1c9),'type':a35_0x52c635(0x1f6),'description':a35_0x52c635(0x1c8)},FUNCTION_NAME_FLAG={'name':'name','type':a35_0x52c635(0x1f6),'required':!![],'description':a35_0x52c635(0x1cc)},DESCRIPTION_FLAG={'name':'description','type':a35_0x52c635(0x1f6),'description':a35_0x52c635(0x1f1)},SOURCE_SESSION_FLAG={'name':a35_0x52c635(0x1ed),'type':a35_0x52c635(0x1f6),'description':'Optional\x20source\x20RuntimeAgent\x20session\x20id'};function normalizeFunctionName(_0x9fbb38){const _0x292ca9=a35_0x52c635,_0xf8be80=String(_0x9fbb38||'')[_0x292ca9(0x1d6)]();if(!_0xf8be80||!FUNCTION_NAME_PATTERN[_0x292ca9(0x1f8)](_0xf8be80))throw CliErrors[_0x292ca9(0x1df)](_0x292ca9(0x1ba));return _0xf8be80;}function readScriptFile(_0x37d756){const _0x2c53b6=a35_0x52c635;if(!_0x37d756)throw CliErrors[_0x2c53b6(0x1df)]('File\x20path\x20is\x20required.');if(!existsSync(_0x37d756))throw CliErrors[_0x2c53b6(0x1df)]('File\x20not\x20found:\x20'+_0x37d756);if(!statSync(_0x37d756)[_0x2c53b6(0x1b6)]())throw CliErrors[_0x2c53b6(0x1df)](_0x2c53b6(0x1d4)+_0x37d756);const _0x134881=readFileSync(_0x37d756,'utf8');if(!_0x134881[_0x2c53b6(0x1d6)]())throw CliErrors[_0x2c53b6(0x1df)](_0x2c53b6(0x1c7));return _0x134881;}function optionalTrimmed(_0x4e7267){const _0x1d65be=String(_0x4e7267||'')['trim']();return _0x1d65be||undefined;}function summarizeBff(_0x4ee159){const _0x154c31=a35_0x52c635;return{'id':_0x4ee159['id'],'appCode':_0x4ee159['appCode'],'functionName':_0x4ee159[_0x154c31(0x1b7)],'description':_0x4ee159[_0x154c31(0x1bb)],'scriptType':_0x4ee159['scriptType'],'version':_0x4ee159[_0x154c31(0x1c1)],'gmtModified':_0x4ee159[_0x154c31(0x1bd)],'updateTime':_0x4ee159['updateTime']};}function a35_0x4aaa(_0x3d2146,_0x480a91){_0x3d2146=_0x3d2146-0x1b5;const _0x22a701=a35_0x22a7();let _0x4aaacc=_0x22a701[_0x3d2146];return _0x4aaacc;}function detailBff(_0x466a01){const _0x29a849=a35_0x52c635;return{'id':_0x466a01['id'],'appCode':_0x466a01['appCode'],'functionName':_0x466a01[_0x29a849(0x1b7)],'description':_0x466a01['description'],'scriptType':_0x466a01['scriptType'],'scriptContent':_0x466a01['scriptContent']??'','config':_0x466a01['config'],'version':_0x466a01[_0x29a849(0x1c1)],'createUserId':_0x466a01[_0x29a849(0x1d2)],'gmtCreate':_0x466a01[_0x29a849(0x1d9)],'gmtModified':_0x466a01[_0x29a849(0x1bd)],'createTime':_0x466a01[_0x29a849(0x1b5)],'updateTime':_0x466a01['updateTime']};}function buildCreateInput(_0x1ef161){const _0x27ef60=a35_0x52c635;return{'functionName':normalizeFunctionName(_0x1ef161['str'](_0x27ef60(0x1e2))),...optionalTrimmed(_0x1ef161[_0x27ef60(0x1eb)]('description'))?{'description':optionalTrimmed(_0x1ef161[_0x27ef60(0x1eb)](_0x27ef60(0x1bb)))}:{},'scriptContent':readScriptFile(_0x1ef161[_0x27ef60(0x1eb)](_0x27ef60(0x1c9))),...optionalTrimmed(_0x1ef161['str'](_0x27ef60(0x1ed)))?{'sourceSessionId':optionalTrimmed(_0x1ef161[_0x27ef60(0x1eb)]('source-session-id'))}:{}};}function buildUpdateInput(_0x5f3484){const _0x1eb22a=a35_0x52c635,_0x33234f={};optionalTrimmed(_0x5f3484['str'](_0x1eb22a(0x1e2)))&&(_0x33234f['functionName']=normalizeFunctionName(_0x5f3484[_0x1eb22a(0x1eb)](_0x1eb22a(0x1e2))));_0x5f3484[_0x1eb22a(0x1da)](_0x1eb22a(0x1bb))!==undefined&&(_0x33234f[_0x1eb22a(0x1bb)]=_0x5f3484[_0x1eb22a(0x1eb)]('description'));optionalTrimmed(_0x5f3484['str'](_0x1eb22a(0x1c9)))&&(_0x33234f[_0x1eb22a(0x1c4)]=readScriptFile(_0x5f3484[_0x1eb22a(0x1eb)](_0x1eb22a(0x1c9))));_0x5f3484[_0x1eb22a(0x1da)](_0x1eb22a(0x1ed))!==undefined&&(_0x33234f[_0x1eb22a(0x1e7)]=_0x5f3484[_0x1eb22a(0x1eb)]('source-session-id'));if(Object[_0x1eb22a(0x1d0)](_0x33234f)[_0x1eb22a(0x1e9)]===0x0)throw CliErrors[_0x1eb22a(0x1df)](_0x1eb22a(0x1be));return _0x33234f;}function parseExecParams(_0x5bc4c4){const _0x23e74f=a35_0x52c635,_0x4614e6=parseJsonParams(_0x5bc4c4)??{};if(Array['isArray'](_0x4614e6))throw CliErrors[_0x23e74f(0x1df)](_0x23e74f(0x1d1));return _0x4614e6;}const personalBffList={'service':'personal-bff','command':'list','description':a35_0x52c635(0x1dc),'risk':a35_0x52c635(0x1e1),'flags':[VERBOSE_FLAG],async 'execute'(_0x217447){const _0x17e61b=a35_0x52c635,_0xbefb3=await listPersonalBffs(_0x217447['appCode']);return{'ok':!![],'data':{'total':_0xbefb3[_0x17e61b(0x1e9)],'items':_0x217447[_0x17e61b(0x1cd)](_0x17e61b(0x1d3))?_0xbefb3:_0xbefb3['map'](summarizeBff)}};}},personalBffDetail={'service':a35_0x52c635(0x1c2),'command':'detail','description':a35_0x52c635(0x1ec),'risk':a35_0x52c635(0x1e1),'flags':[{...ID_FLAG,'description':a35_0x52c635(0x1f9)}],async 'execute'(_0x6e49f4){const _0x1a8b4a=await getPersonalBff(_0x6e49f4['num']('id'),_0x6e49f4['appCode']);return{'ok':!![],'data':detailBff(_0x1a8b4a)};}},personalBffCreate={'service':a35_0x52c635(0x1c2),'command':a35_0x52c635(0x1ee),'description':a35_0x52c635(0x1e8),'risk':a35_0x52c635(0x1e0),'confirmationDescription':'把本地脚本保存为个人\x20BFF;之后可在当前应用中调用该脚本。','flags':[FUNCTION_NAME_FLAG,{...FILE_FLAG,'required':!![]},DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x39de0a){const _0x799d=a35_0x52c635,_0x841900=buildCreateInput(_0x39de0a),_0x142b6d=await createPersonalBff(_0x39de0a[_0x799d(0x1f2)],_0x841900);return{'ok':!![],'data':detailBff(_0x142b6d),'message':'Created\x20personal\x20BFF\x20'+_0x142b6d['id']+(_0x142b6d[_0x799d(0x1b7)]?'\x20('+_0x142b6d[_0x799d(0x1b7)]+')':'')};},async 'dryRun'(_0x1597f1){const _0x2db516=a35_0x52c635,_0x14263f=buildCreateInput(_0x1597f1);return dryRun(_0x2db516(0x1e5),'/client/runtime-bff/personal/create')[_0x2db516(0x1e6)]({'appCode':_0x1597f1['appCode'],..._0x14263f})[_0x2db516(0x1bb)](_0x2db516(0x1b9)+_0x14263f[_0x2db516(0x1b7)])['build']();}},personalBffUpdate={'service':'personal-bff','command':a35_0x52c635(0x1d7),'description':a35_0x52c635(0x1c3),'risk':a35_0x52c635(0x1e0),'confirmationDescription':'更新个人\x20BFF\x20的脚本或元信息;之后的调用将使用新版本。','flags':[{...ID_FLAG,'description':a35_0x52c635(0x1f9)},{...FUNCTION_NAME_FLAG,'required':![]},FILE_FLAG,DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x5c445c){const _0x84971=a35_0x52c635,_0x366ad5=_0x5c445c[_0x84971(0x1ef)]('id'),_0x42bdf8=buildUpdateInput(_0x5c445c),_0x1ea888=await updatePersonalBff(_0x366ad5,_0x5c445c['appCode'],_0x42bdf8);return{'ok':!![],'data':detailBff(_0x1ea888),'message':_0x84971(0x1c0)+_0x1ea888['id']+(_0x1ea888[_0x84971(0x1b7)]?'\x20('+_0x1ea888['functionName']+')':'')};},async 'dryRun'(_0xaa20c4){const _0xd0d99b=a35_0x52c635,_0x4b7990=_0xaa20c4[_0xd0d99b(0x1ef)]('id'),_0x349fb2=buildUpdateInput(_0xaa20c4);return dryRun(_0xd0d99b(0x1e5),_0xd0d99b(0x1b8)+_0x4b7990+_0xd0d99b(0x1e4))[_0xd0d99b(0x1e6)]({'appCode':_0xaa20c4[_0xd0d99b(0x1f2)],..._0x349fb2})[_0xd0d99b(0x1bb)](_0xd0d99b(0x1bc)+_0x4b7990)[_0xd0d99b(0x1d5)]();}},personalBffExec={'service':a35_0x52c635(0x1c2),'command':a35_0x52c635(0x1f7),'description':a35_0x52c635(0x1f5),'risk':a35_0x52c635(0x1e0),'confirmationDescription':a35_0x52c635(0x1cb),'flags':[{...ID_FLAG,'description':a35_0x52c635(0x1f9)},{...PARAMS_FLAG,'description':a35_0x52c635(0x1de)}],async 'validate'(_0x4c6bae){const _0x4043a3=a35_0x52c635;parseExecParams(_0x4c6bae['str'](_0x4043a3(0x1dd)));},async 'execute'(_0x2a254d){const _0x27ab4c=a35_0x52c635,_0x3c0a59=_0x2a254d[_0x27ab4c(0x1ef)]('id'),_0x155f1d=parseExecParams(_0x2a254d[_0x27ab4c(0x1eb)]('params')),_0x15f26a=await executePersonalBff(_0x3c0a59,_0x2a254d[_0x27ab4c(0x1f2)],_0x155f1d);return{'ok':!![],'data':{'result':_0x15f26a},'message':_0x27ab4c(0x1f4)+_0x3c0a59};}};export const personalBffDefinitions=[personalBffList,personalBffDetail,personalBffCreate,personalBffUpdate,personalBffExec];
|
|
1
|
+
const a46_0x124b85=a46_0x480b;function a46_0x480b(_0x2dbd73,_0x4e524a){_0x2dbd73=_0x2dbd73-0x147;const _0x1a3e4b=a46_0x1a3e();let _0x480b05=_0x1a3e4b[_0x2dbd73];return _0x480b05;}(function(_0x1ab5cc,_0xad3c47){const _0x5e27c3=a46_0x480b,_0x32c5d7=_0x1ab5cc();while(!![]){try{const _0x5f03e8=-parseInt(_0x5e27c3(0x14e))/0x1+-parseInt(_0x5e27c3(0x173))/0x2+-parseInt(_0x5e27c3(0x157))/0x3+parseInt(_0x5e27c3(0x18a))/0x4*(parseInt(_0x5e27c3(0x18c))/0x5)+-parseInt(_0x5e27c3(0x17b))/0x6+-parseInt(_0x5e27c3(0x165))/0x7+parseInt(_0x5e27c3(0x167))/0x8;if(_0x5f03e8===_0xad3c47)break;else _0x32c5d7['push'](_0x32c5d7['shift']());}catch(_0x1d79bf){_0x32c5d7['push'](_0x32c5d7['shift']());}}}(a46_0x1a3e,0x53cb0));import{existsSync,readFileSync,statSync}from'node:fs';import{createPersonalBff,executePersonalBff,getPersonalBff,listPersonalBffs,updatePersonalBff}from'../../core/api-client.js';import{ID_FLAG,PARAMS_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';import{parseJsonParams}from'../../utils/params.js';const FUNCTION_NAME_PATTERN=/^[a-zA-Z_$][a-zA-Z0-9_$]*$/,FILE_FLAG={'name':a46_0x124b85(0x171),'type':a46_0x124b85(0x169),'description':a46_0x124b85(0x18b)},FUNCTION_NAME_FLAG={'name':'name','type':'string','required':!![],'description':a46_0x124b85(0x186)},DESCRIPTION_FLAG={'name':a46_0x124b85(0x14f),'type':a46_0x124b85(0x169),'description':a46_0x124b85(0x14a)},SOURCE_SESSION_FLAG={'name':a46_0x124b85(0x178),'type':a46_0x124b85(0x169),'description':a46_0x124b85(0x182)};function normalizeFunctionName(_0x36654d){const _0x43d3a5=a46_0x124b85,_0x1aaa55=String(_0x36654d||'')[_0x43d3a5(0x158)]();if(!_0x1aaa55||!FUNCTION_NAME_PATTERN[_0x43d3a5(0x151)](_0x1aaa55))throw CliErrors['validation'](_0x43d3a5(0x154));return _0x1aaa55;}function readScriptFile(_0x27b947){const _0x55c92b=a46_0x124b85;if(!_0x27b947)throw CliErrors[_0x55c92b(0x15f)](_0x55c92b(0x172));if(!existsSync(_0x27b947))throw CliErrors[_0x55c92b(0x15f)](_0x55c92b(0x16d)+_0x27b947);if(!statSync(_0x27b947)[_0x55c92b(0x17c)]())throw CliErrors[_0x55c92b(0x15f)](_0x55c92b(0x184)+_0x27b947);const _0x36c835=readFileSync(_0x27b947,'utf8');if(!_0x36c835[_0x55c92b(0x158)]())throw CliErrors[_0x55c92b(0x15f)](_0x55c92b(0x189));return _0x36c835;}function optionalTrimmed(_0x55113a){const _0x114453=String(_0x55113a||'')['trim']();return _0x114453||undefined;}function summarizeBff(_0x31d983){const _0x191051=a46_0x124b85;return{'id':_0x31d983['id'],'appCode':_0x31d983[_0x191051(0x176)],'functionName':_0x31d983[_0x191051(0x164)],'description':_0x31d983['description'],'scriptType':_0x31d983[_0x191051(0x163)],'version':_0x31d983['version'],'gmtModified':_0x31d983[_0x191051(0x183)],'updateTime':_0x31d983[_0x191051(0x14c)]};}function a46_0x1a3e(){const _0x3eaef8=['write','appCode','create','source-session-id','body','num','2298108TtxmZl','isFile','执行个人\x20BFF\x20脚本;脚本可能读取或修改业务数据,也可能调用外部服务。','list','把本地脚本保存为个人\x20BFF;之后可在当前应用中调用该脚本。','/client/runtime-bff/personal/','config','Optional\x20source\x20RuntimeAgent\x20session\x20id','gmtModified','File\x20is\x20not\x20a\x20regular\x20file:\x20','length','Personal\x20BFF\x20functionName,\x20for\x20example\x20loadOrders','更新个人\x20BFF\x20的脚本或元信息;之后的调用将使用新版本。','version','Personal\x20BFF\x20script\x20file\x20is\x20blank.','1096JmyJBj','Path\x20to\x20a\x20local\x20UTF-8\x20JavaScript\x20or\x20TypeScript\x20file','195UFNXSH','detail','params','build','Personal\x20BFF\x20description','Executed\x20personal\x20BFF\x20','updateTime','根据\x20ID\x20更新个人\x20BFF','232792uEbFeL','description','gmtCreate','test','personal-bff\x20update\x20requires\x20at\x20least\x20one\x20of\x20--name,\x20--description,\x20--file,\x20or\x20--source-session-id.','name','--name\x20must\x20be\x20a\x20valid\x20JavaScript\x20identifier,\x20for\x20example\x20loadOrders.','bool','根据本地脚本文件创建个人\x20BFF','979500TvzzDK','trim','createTime','Preview:\x20create\x20personal\x20BFF\x20','map','personal-bff','scriptContent','read','validation','createUserId','/client/runtime-bff/personal/create','Personal\x20BFF\x20script\x20ID','scriptType','functionName','3219664sHCkHE','POST','18597352OlhnNm','List\x20current\x20user\x27s\x20personal\x20BFF\x20scripts\x20for\x20the\x20current\x20app','string','str','flag','JSON\x20object\x20passed\x20to\x20the\x20personal\x20BFF\x20execution','File\x20not\x20found:\x20','sourceSessionId','Created\x20personal\x20BFF\x20','isArray','file','File\x20path\x20is\x20required.','1179754tuCqzc','--params\x20must\x20be\x20a\x20JSON\x20object.'];a46_0x1a3e=function(){return _0x3eaef8;};return a46_0x1a3e();}function detailBff(_0x8a622a){const _0x2f8204=a46_0x124b85;return{'id':_0x8a622a['id'],'appCode':_0x8a622a['appCode'],'functionName':_0x8a622a[_0x2f8204(0x164)],'description':_0x8a622a[_0x2f8204(0x14f)],'scriptType':_0x8a622a[_0x2f8204(0x163)],'scriptContent':_0x8a622a[_0x2f8204(0x15d)]??'','config':_0x8a622a[_0x2f8204(0x181)],'version':_0x8a622a[_0x2f8204(0x188)],'createUserId':_0x8a622a[_0x2f8204(0x160)],'gmtCreate':_0x8a622a[_0x2f8204(0x150)],'gmtModified':_0x8a622a[_0x2f8204(0x183)],'createTime':_0x8a622a[_0x2f8204(0x159)],'updateTime':_0x8a622a[_0x2f8204(0x14c)]};}function buildCreateInput(_0x579159){const _0x3a3c91=a46_0x124b85;return{'functionName':normalizeFunctionName(_0x579159[_0x3a3c91(0x16a)]('name')),...optionalTrimmed(_0x579159[_0x3a3c91(0x16a)](_0x3a3c91(0x14f)))?{'description':optionalTrimmed(_0x579159['str'](_0x3a3c91(0x14f)))}:{},'scriptContent':readScriptFile(_0x579159[_0x3a3c91(0x16a)](_0x3a3c91(0x171))),...optionalTrimmed(_0x579159[_0x3a3c91(0x16a)](_0x3a3c91(0x178)))?{'sourceSessionId':optionalTrimmed(_0x579159[_0x3a3c91(0x16a)](_0x3a3c91(0x178)))}:{}};}function buildUpdateInput(_0x5b5f9e){const _0x38999a=a46_0x124b85,_0x5f3977={};optionalTrimmed(_0x5b5f9e[_0x38999a(0x16a)](_0x38999a(0x153)))&&(_0x5f3977[_0x38999a(0x164)]=normalizeFunctionName(_0x5b5f9e[_0x38999a(0x16a)](_0x38999a(0x153))));_0x5b5f9e[_0x38999a(0x16b)]('description')!==undefined&&(_0x5f3977[_0x38999a(0x14f)]=_0x5b5f9e[_0x38999a(0x16a)](_0x38999a(0x14f)));optionalTrimmed(_0x5b5f9e[_0x38999a(0x16a)](_0x38999a(0x171)))&&(_0x5f3977[_0x38999a(0x15d)]=readScriptFile(_0x5b5f9e['str'](_0x38999a(0x171))));_0x5b5f9e[_0x38999a(0x16b)](_0x38999a(0x178))!==undefined&&(_0x5f3977[_0x38999a(0x16e)]=_0x5b5f9e[_0x38999a(0x16a)]('source-session-id'));if(Object['keys'](_0x5f3977)[_0x38999a(0x185)]===0x0)throw CliErrors[_0x38999a(0x15f)](_0x38999a(0x152));return _0x5f3977;}function parseExecParams(_0x210aaf){const _0x379980=a46_0x124b85,_0xedf6ee=parseJsonParams(_0x210aaf)??{};if(Array[_0x379980(0x170)](_0xedf6ee))throw CliErrors[_0x379980(0x15f)](_0x379980(0x174));return _0xedf6ee;}const personalBffList={'service':'personal-bff','command':a46_0x124b85(0x17e),'description':a46_0x124b85(0x168),'risk':a46_0x124b85(0x15e),'flags':[VERBOSE_FLAG],async 'execute'(_0x55cbdf){const _0x241707=a46_0x124b85,_0x12ab3c=await listPersonalBffs(_0x55cbdf[_0x241707(0x176)]);return{'ok':!![],'data':{'total':_0x12ab3c[_0x241707(0x185)],'items':_0x55cbdf[_0x241707(0x155)]('verbose')?_0x12ab3c:_0x12ab3c[_0x241707(0x15b)](summarizeBff)}};}},personalBffDetail={'service':'personal-bff','command':a46_0x124b85(0x147),'description':'Show\x20one\x20personal\x20BFF\x20by\x20id','risk':a46_0x124b85(0x15e),'flags':[{...ID_FLAG,'description':'Personal\x20BFF\x20script\x20ID'}],async 'execute'(_0x556a93){const _0x518dde=a46_0x124b85,_0x483d27=await getPersonalBff(_0x556a93[_0x518dde(0x17a)]('id'),_0x556a93[_0x518dde(0x176)]);return{'ok':!![],'data':detailBff(_0x483d27)};}},personalBffCreate={'service':'personal-bff','command':a46_0x124b85(0x177),'description':a46_0x124b85(0x156),'risk':a46_0x124b85(0x175),'confirmationDescription':a46_0x124b85(0x17f),'flags':[FUNCTION_NAME_FLAG,{...FILE_FLAG,'required':!![]},DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x165d61){const _0x56454e=a46_0x124b85,_0xadd4b4=buildCreateInput(_0x165d61),_0x4e93e3=await createPersonalBff(_0x165d61['appCode'],_0xadd4b4);return{'ok':!![],'data':detailBff(_0x4e93e3),'message':_0x56454e(0x16f)+_0x4e93e3['id']+(_0x4e93e3[_0x56454e(0x164)]?'\x20('+_0x4e93e3[_0x56454e(0x164)]+')':'')};},async 'dryRun'(_0x39121a){const _0x36e957=a46_0x124b85,_0x47f634=buildCreateInput(_0x39121a);return dryRun(_0x36e957(0x166),_0x36e957(0x161))[_0x36e957(0x179)]({'appCode':_0x39121a['appCode'],..._0x47f634})[_0x36e957(0x14f)](_0x36e957(0x15a)+_0x47f634[_0x36e957(0x164)])[_0x36e957(0x149)]();}},personalBffUpdate={'service':a46_0x124b85(0x15c),'command':'update','description':a46_0x124b85(0x14d),'risk':a46_0x124b85(0x175),'confirmationDescription':a46_0x124b85(0x187),'flags':[{...ID_FLAG,'description':a46_0x124b85(0x162)},{...FUNCTION_NAME_FLAG,'required':![]},FILE_FLAG,DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x6d3e6f){const _0x1400f4=a46_0x124b85,_0x3c10b1=_0x6d3e6f[_0x1400f4(0x17a)]('id'),_0x573be0=buildUpdateInput(_0x6d3e6f),_0x2628b9=await updatePersonalBff(_0x3c10b1,_0x6d3e6f[_0x1400f4(0x176)],_0x573be0);return{'ok':!![],'data':detailBff(_0x2628b9),'message':'Updated\x20personal\x20BFF\x20'+_0x2628b9['id']+(_0x2628b9[_0x1400f4(0x164)]?'\x20('+_0x2628b9[_0x1400f4(0x164)]+')':'')};},async 'dryRun'(_0x5d3e35){const _0x148489=a46_0x124b85,_0x881d2b=_0x5d3e35['num']('id'),_0x595d36=buildUpdateInput(_0x5d3e35);return dryRun(_0x148489(0x166),_0x148489(0x180)+_0x881d2b+'/update')[_0x148489(0x179)]({'appCode':_0x5d3e35[_0x148489(0x176)],..._0x595d36})[_0x148489(0x14f)]('Preview:\x20update\x20personal\x20BFF\x20'+_0x881d2b)[_0x148489(0x149)]();}},personalBffExec={'service':a46_0x124b85(0x15c),'command':'exec','description':'根据\x20ID\x20执行个人\x20BFF,并可传入\x20JSON\x20参数','risk':a46_0x124b85(0x175),'confirmationDescription':a46_0x124b85(0x17d),'flags':[{...ID_FLAG,'description':'Personal\x20BFF\x20script\x20ID'},{...PARAMS_FLAG,'description':a46_0x124b85(0x16c)}],async 'validate'(_0x459ec2){const _0x305ce3=a46_0x124b85;parseExecParams(_0x459ec2[_0x305ce3(0x16a)](_0x305ce3(0x148)));},async 'execute'(_0x4fba94){const _0x1f521f=a46_0x124b85,_0x1c8c55=_0x4fba94[_0x1f521f(0x17a)]('id'),_0x120f91=parseExecParams(_0x4fba94[_0x1f521f(0x16a)](_0x1f521f(0x148))),_0x312991=await executePersonalBff(_0x1c8c55,_0x4fba94['appCode'],_0x120f91);return{'ok':!![],'data':{'result':_0x312991},'message':_0x1f521f(0x14b)+_0x1c8c55};}};export const personalBffDefinitions=[personalBffList,personalBffDetail,personalBffCreate,personalBffUpdate,personalBffExec];
|
package/lib/commands/registry.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a47_0x31d57a=a47_0x354d;(function(_0x2a0f01,_0x2945a2){const _0x356de2=a47_0x354d,_0x361f0a=_0x2a0f01();while(!![]){try{const _0x5ca8ea=-parseInt(_0x356de2(0x102))/0x1*(parseInt(_0x356de2(0x122))/0x2)+-parseInt(_0x356de2(0x104))/0x3*(parseInt(_0x356de2(0x134))/0x4)+-parseInt(_0x356de2(0x103))/0x5*(-parseInt(_0x356de2(0x109))/0x6)+parseInt(_0x356de2(0x127))/0x7*(-parseInt(_0x356de2(0x105))/0x8)+-parseInt(_0x356de2(0x12e))/0x9+parseInt(_0x356de2(0x115))/0xa+parseInt(_0x356de2(0x128))/0xb*(parseInt(_0x356de2(0x10d))/0xc);if(_0x5ca8ea===_0x2945a2)break;else _0x361f0a['push'](_0x361f0a['shift']());}catch(_0x90940b){_0x361f0a['push'](_0x361f0a['shift']());}}}(a47_0x2e01,0x8f434));function a47_0x354d(_0x1ff634,_0x2731af){_0x1ff634=_0x1ff634-0xfd;const _0x2e0104=a47_0x2e01();let _0x354de2=_0x2e0104[_0x1ff634];return _0x354de2;}import{authDefinitions}from'../commands/auth/index.js';import{logsDefinitions}from'../commands/logs/index.js';import{skillDefinitions}from'../commands/skill/index.js';import{cliSkillDefinitions}from'../commands/cli-skill/index.js';import{serviceDefinitions}from'../commands/service/index.js';import{updateDefinition}from'../commands/update.js';import{doctorDefinition}from'../commands/doctor.js';import{schemaDefinition}from'../commands/schema.js';import{appDefinitions}from'../commands/app/definitions.js';import{workspaceDefinitions}from'../commands/workspace/index.js';import{configDefinitions}from'../commands/config/definitions.js';import{bffDefinitions}from'../commands/bff/index.js';import{sqlDefinitions}from'../commands/sql/index.js';import{datasetDefinitions}from'../commands/dataset/index.js';import{dataDefinitions}from'../commands/data/index.js';import{kbDefinitions}from'../commands/kb/index.js';import{artifactDefinitions}from'../commands/artifact/index.js';import{personalBffDefinitions}from'../commands/personal-bff/index.js';import{apiDocDefinitions}from'../commands/api-doc/index.js';import{appConfigDefinitions}from'../commands/app-config/index.js';import{fileDefinitions}from'../commands/file/index.js';import{ocrDefinitions}from'../commands/ocr/index.js';import{scheduleDefinitions}from'../commands/schedule/index.js';import{userAccountDefinitions}from'../commands/user-account/index.js';function a47_0x2e01(){const _0x500b02=['File','2666436CwPRuJ','command','OCR','Workspace','Use\x20`lovrabet\x20workspace\x20init\x20--appcode\x20<code>`\x20instead.','app\x20use','init','map','10387180RdGHqM','set','defaultCommand','Service\x20Tree','logs','`lovrabet\x20app\x20init`\x20has\x20been\x20removed.','login','service','Logs','SQL\x20Queries','Instant\x20API','Runtime\x20Roles','isSingleCommand','22SXIPgZ','logs\x20clear','Skills','BFF\x20Scripts','list','7uUdZhr','66egKHcs','config-list','risk','Knowledge\x20Base','\x20\x20[high-risk-write]','Authentication','1844046RpEiHU','Use\x20`lovrabet\x20workspace\x20use\x20--app\x20<name>`\x20instead.','get','Use\x20`lovrabet\x20logs\x20show`\x20to\x20view\x20command\x20history.','Artifacts','install','1648876vMSnpc','app','App\x20Management','description','`lovrabet\x20app\x20use`\x20has\x20been\x20removed.','User\x20Accounts','run','\x20\x20[write]','Diagnostics','4799ePsnUl','5JChnnm','6YwOdNF','6972296agBsoB','Runtime\x20Permissions','Schema','Self\x20Update','1011156dnUXpv','`lovrabet\x20logs\x20clear`\x20has\x20been\x20removed.','Datasets'];a47_0x2e01=function(){return _0x500b02;};return a47_0x2e01();}import{notificationDefinitions}from'../commands/notification/index.js';import{roleDefinitions}from'../commands/role/index.js';import{permitDefinitions}from'../commands/permit/index.js';export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();export const serviceGroups=new Map();function registerDefinitions(_0x40ae09){const _0x5b6bc6=a47_0x354d;for(const _0x183b69 of _0x40ae09){definitions[_0x5b6bc6(0x116)](_0x183b69[_0x5b6bc6(0x11c)]+':'+_0x183b69['command'],_0x183b69);let _0x429c7a=serviceGroups[_0x5b6bc6(0x130)](_0x183b69['service']);!_0x429c7a&&(_0x429c7a=[],serviceGroups[_0x5b6bc6(0x116)](_0x183b69[_0x5b6bc6(0x11c)],_0x429c7a)),_0x429c7a['push'](_0x183b69);}}function registerService(_0x5d0e0c,_0x4f9133,_0x14969f){const _0x26248f=a47_0x354d;registerDefinitions(_0x4f9133);const _0x369258=_0x304813=>_0x304813==='read'?'':_0x304813==='write'?_0x26248f(0x100):_0x26248f(0x12c),_0x51e411={'service':_0x4f9133[0x0][_0x26248f(0x11c)],'label':_0x5d0e0c,'commands':_0x4f9133[_0x26248f(0x114)](_0x2930f6=>({'command':_0x2930f6[_0x26248f(0x10e)],'description':_0x2930f6[_0x26248f(0x137)],'tag':_0x369258(_0x2930f6[_0x26248f(0x12a)])})),'defaultCommand':_0x14969f?.[_0x26248f(0x117)]??(_0x14969f?.[_0x26248f(0x121)]?_0x4f9133[0x0][_0x26248f(0x10e)]:undefined),'isSingleCommand':_0x14969f?.[_0x26248f(0x121)]};serviceRegistry['push'](_0x51e411),serviceByName[_0x26248f(0x116)](_0x51e411[_0x26248f(0x11c)],_0x51e411);}registerService(a47_0x31d57a(0x12d),authDefinitions,{'defaultCommand':a47_0x31d57a(0x11b)}),registerService(a47_0x31d57a(0xfe),userAccountDefinitions),registerService(a47_0x31d57a(0x136),appDefinitions,{'defaultCommand':'list'}),registerService(a47_0x31d57a(0x110),workspaceDefinitions),registerService('Runtime\x20App\x20Config',appConfigDefinitions),registerService('Configuration',configDefinitions,{'defaultCommand':'list'}),registerService(a47_0x31d57a(0x120),roleDefinitions,{'defaultCommand':a47_0x31d57a(0x126)}),registerService(a47_0x31d57a(0x106),permitDefinitions),registerService('API\x20Documentation',apiDocDefinitions),registerService(a47_0x31d57a(0x10b),datasetDefinitions),registerService(a47_0x31d57a(0x11f),dataDefinitions),registerService(a47_0x31d57a(0x11e),sqlDefinitions),registerService(a47_0x31d57a(0x125),bffDefinitions),registerService('Personal\x20BFF',personalBffDefinitions),registerService(a47_0x31d57a(0x132),artifactDefinitions),registerService(a47_0x31d57a(0x10c),fileDefinitions),registerService(a47_0x31d57a(0x10f),ocrDefinitions),registerService(a47_0x31d57a(0x12b),kbDefinitions),registerService('Notification\x20Configs',notificationDefinitions,{'defaultCommand':a47_0x31d57a(0x129)}),registerService('Agent\x20Schedules',scheduleDefinitions,{'defaultCommand':'list'}),registerService(a47_0x31d57a(0x118),serviceDefinitions,{'defaultCommand':a47_0x31d57a(0x126)}),registerService(a47_0x31d57a(0x124),skillDefinitions,{'defaultCommand':'install'}),registerService('CLI\x20Built-in\x20Skill',cliSkillDefinitions,{'defaultCommand':a47_0x31d57a(0x133)}),registerService(a47_0x31d57a(0x108),[updateDefinition],{'defaultCommand':a47_0x31d57a(0xff),'isSingleCommand':!![]}),registerService(a47_0x31d57a(0x101),[doctorDefinition],{'isSingleCommand':!![]}),registerService(a47_0x31d57a(0x107),[schemaDefinition],{'isSingleCommand':!![]}),registerService(a47_0x31d57a(0x11d),logsDefinitions,{'defaultCommand':'show'});export function findDefinition(_0x45926c,_0x1008d4){const _0x1f74ee=a47_0x31d57a;return definitions[_0x1f74ee(0x130)](_0x45926c+':'+_0x1008d4);}export function resolveRemovedCommand(_0x59bda6,_0x1ac8ff){const _0x11844e=a47_0x31d57a;if(_0x59bda6===_0x11844e(0x135)&&_0x1ac8ff===_0x11844e(0x113))return{'command':'app\x20init','message':_0x11844e(0x11a),'hint':_0x11844e(0x111)};if(_0x59bda6==='app'&&_0x1ac8ff==='use')return{'command':_0x11844e(0x112),'message':_0x11844e(0xfd),'hint':_0x11844e(0x12f)};if(_0x59bda6===_0x11844e(0x119)&&_0x1ac8ff==='clear')return{'command':_0x11844e(0x123),'message':_0x11844e(0x10a),'hint':_0x11844e(0x131)};return undefined;}export function isKnownService(_0x5935a8){return serviceByName['has'](_0x5935a8);}export function getServiceEntry(_0x4a03c3){return serviceByName['get'](_0x4a03c3);}export function getAllDefinitions(){return Array['from'](definitions['values']());}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const a48_0x27159c=a48_0x2bac;(function(_0x9b10da,_0x10fd82){const _0x3bcd30=a48_0x2bac,_0x2961e3=_0x9b10da();while(!![]){try{const _0x562c47=-parseInt(_0x3bcd30(0x80))/0x1*(-parseInt(_0x3bcd30(0x8c))/0x2)+-parseInt(_0x3bcd30(0x78))/0x3+parseInt(_0x3bcd30(0x7d))/0x4*(parseInt(_0x3bcd30(0x83))/0x5)+parseInt(_0x3bcd30(0x88))/0x6+parseInt(_0x3bcd30(0x77))/0x7*(parseInt(_0x3bcd30(0x85))/0x8)+parseInt(_0x3bcd30(0x8b))/0x9+-parseInt(_0x3bcd30(0x8a))/0xa;if(_0x562c47===_0x10fd82)break;else _0x2961e3['push'](_0x2961e3['shift']());}catch(_0x5f5a43){_0x2961e3['push'](_0x2961e3['shift']());}}}(a48_0x39b9,0x55930));import{createRuntimeAppRole}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';function a48_0x2bac(_0x1c9393,_0x1e63ec){_0x1c9393=_0x1c9393-0x74;const _0x39b97e=a48_0x39b9();let _0x2bacfb=_0x39b97e[_0x1c9393];return _0x2bacfb;}import{dryRun}from'../../framework/dryrun.js';import{projectRuntimeRole,runtimeRoleWriteResult}from'../../commands/role/shared.js';function input(_0x4a4936){const _0x3d06ef=a48_0x2bac,_0x179f57=_0x4a4936[_0x3d06ef(0x7a)]('name')[_0x3d06ef(0x79)]();if(!_0x179f57)throw CliErrors['validation'](_0x3d06ef(0x74));const _0x366613=_0x4a4936[_0x3d06ef(0x7a)](_0x3d06ef(0x7f))['trim']();return{'appCode':_0x4a4936[_0x3d06ef(0x76)],'roleName':_0x179f57,..._0x366613?{'remark':_0x366613}:{}};}function a48_0x39b9(){const _0x2caf5d=['description','remark','4277GTaZhA','在当前运行应用中创建一个自定义角色;创建后可用于成员与资源权限配置。','/client/permit/role/create','8200PrUawo','body','2795224ujeMcs','Create\x20a\x20runtime\x20CUSTOM\x20role','POST','3643506fkLebw','Role\x20name','12607680QOnrKL','3890970iFksij','122tKmxoe','string','--name\x20must\x20not\x20be\x20blank.','build','appCode','7QezGkn','1404843bIfJSF','trim','str','high-risk-write','create','1048XkCrNr'];a48_0x39b9=function(){return _0x2caf5d;};return a48_0x39b9();}export const roleCreate={'service':'role','command':a48_0x27159c(0x7c),'description':a48_0x27159c(0x86),'risk':a48_0x27159c(0x7b),'confirmationDescription':a48_0x27159c(0x81),'flags':[{'name':'name','type':a48_0x27159c(0x8d),'required':!![],'description':a48_0x27159c(0x89)},{'name':'remark','type':a48_0x27159c(0x8d),'description':'Optional\x20role\x20remark'}],async 'validate'(_0x2d9cdb){input(_0x2d9cdb);},async 'dryRun'(_0x9aec68){const _0x15198c=a48_0x27159c;return dryRun(_0x15198c(0x87),'/client/permit/role/create')[_0x15198c(0x84)]({'roleType':'CUSTOM',...input(_0x9aec68)})[_0x15198c(0x7e)]('Preview:\x20create\x20a\x20runtime\x20CUSTOM\x20role')[_0x15198c(0x75)]();},async 'execute'(_0x3f893d){const _0x164975=a48_0x27159c,_0x4a6bda=await createRuntimeAppRole(input(_0x3f893d));return{'ok':!![],'data':runtimeRoleWriteResult(_0x164975(0x7c),{'roleId':_0x4a6bda['id']},null,projectRuntimeRole(_0x4a6bda),{'method':_0x164975(0x87),'path':_0x164975(0x82)})};}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const a49_0x29953b=a49_0x23e0;(function(_0x378fef,_0x41bb80){const _0x4d7949=a49_0x23e0,_0x4635b4=_0x378fef();while(!![]){try{const _0xd4a75=parseInt(_0x4d7949(0x17c))/0x1+parseInt(_0x4d7949(0x181))/0x2*(-parseInt(_0x4d7949(0x17a))/0x3)+parseInt(_0x4d7949(0x18c))/0x4*(parseInt(_0x4d7949(0x187))/0x5)+-parseInt(_0x4d7949(0x18b))/0x6+parseInt(_0x4d7949(0x180))/0x7*(parseInt(_0x4d7949(0x186))/0x8)+-parseInt(_0x4d7949(0x189))/0x9+-parseInt(_0x4d7949(0x17e))/0xa;if(_0xd4a75===_0x41bb80)break;else _0x4635b4['push'](_0x4635b4['shift']());}catch(_0x1dad98){_0x4635b4['push'](_0x4635b4['shift']());}}}(a49_0x285c,0x465a7));import{deleteRuntimeAppRole}from'../../core/api-client.js';import{dryRun}from'../../framework/dryrun.js';import{assertCustomRuntimeRole,getRuntimeRoleById,projectRuntimeRole,ROLE_ID_FLAG,runtimeRoleWriteResult}from'../../commands/role/shared.js';async function prepare(_0x25d4d0){const _0x4df5f1=a49_0x23e0,_0x315853=await getRuntimeRoleById(_0x25d4d0[_0x4df5f1(0x18a)],_0x25d4d0[_0x4df5f1(0x17d)]('id'));return assertCustomRuntimeRole(_0x315853,_0x4df5f1(0x183)),_0x315853;}export const roleDelete={'service':'role','command':'delete','description':a49_0x29953b(0x179),'risk':'high-risk-write','confirmationDescription':a49_0x29953b(0x17b),'flags':[ROLE_ID_FLAG],async 'dryRun'(_0x17150d){const _0x3d7e33=a49_0x29953b,_0x1dc1a9=await prepare(_0x17150d);return dryRun(_0x3d7e33(0x188),_0x3d7e33(0x182))['body']({'id':_0x1dc1a9['id']})[_0x3d7e33(0x17f)](_0x3d7e33(0x184))[_0x3d7e33(0x185)]();},async 'execute'(_0x6da37a){const _0x45b7a9=a49_0x29953b,_0x57b578=await prepare(_0x6da37a);return await deleteRuntimeAppRole(_0x57b578['id']),{'ok':!![],'data':runtimeRoleWriteResult('delete',{'roleId':_0x57b578['id']},projectRuntimeRole(_0x57b578),null,{'method':'POST','path':_0x45b7a9(0x182)})};}};function a49_0x23e0(_0x234ef3,_0x4d2ce9){_0x234ef3=_0x234ef3-0x179;const _0x285cd7=a49_0x285c();let _0x23e02b=_0x285cd7[_0x234ef3];return _0x23e02b;}function a49_0x285c(){const _0x4cb7c4=['description','21ttpJAp','35206kooLdV','/client/permit/role/delete','delete','Preview:\x20delete\x20a\x20runtime\x20CUSTOM\x20role','build','1274856EeiJQD','1157230PqgBDh','POST','3010077mvAnxe','appCode','1628844VARQFn','4ivnCWs','Delete\x20a\x20runtime\x20CUSTOM\x20role','30FfiBXn','删除当前运行应用中的自定义角色;该角色的成员关系和权限配置可能随之失效。','492484LEOLwz','num','1318770OznYUL'];a49_0x285c=function(){return _0x4cb7c4;};return a49_0x285c();}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function a50_0x235d(_0x1f13ed,_0x588fee){_0x1f13ed=_0x1f13ed-0x17d;const _0x21bf58=a50_0x21bf();let _0x235d60=_0x21bf58[_0x1f13ed];return _0x235d60;}function a50_0x21bf(){const _0x45881c=['59750OnXOuA','8919nLoaFJ','detail','76476NbiEYB','Show\x20one\x20runtime\x20role\x20by\x20ID','2291973mVaBzN','1449316OgnlFo','1379294oRzvxU','appCode','num','read','763QFSzMF','5048ERzmpT','runtime','316wPGVjb','role','18772100IzcSOt'];a50_0x21bf=function(){return _0x45881c;};return a50_0x21bf();}const a50_0x4993ed=a50_0x235d;(function(_0x1b4a63,_0x3c73a3){const _0x2dd61a=a50_0x235d,_0x3177e9=_0x1b4a63();while(!![]){try{const _0x38ee51=parseInt(_0x2dd61a(0x182))/0x1+-parseInt(_0x2dd61a(0x181))/0x2+-parseInt(_0x2dd61a(0x180))/0x3+-parseInt(_0x2dd61a(0x189))/0x4*(-parseInt(_0x2dd61a(0x18c))/0x5)+-parseInt(_0x2dd61a(0x17e))/0x6*(parseInt(_0x2dd61a(0x186))/0x7)+parseInt(_0x2dd61a(0x187))/0x8*(-parseInt(_0x2dd61a(0x18d))/0x9)+parseInt(_0x2dd61a(0x18b))/0xa;if(_0x38ee51===_0x3c73a3)break;else _0x3177e9['push'](_0x3177e9['shift']());}catch(_0x495338){_0x3177e9['push'](_0x3177e9['shift']());}}}(a50_0x21bf,0xaa3b6));import{getRuntimeRoleById,projectRuntimeRole,ROLE_ID_FLAG}from'../../commands/role/shared.js';export const roleDetail={'service':a50_0x4993ed(0x18a),'command':a50_0x4993ed(0x17d),'description':a50_0x4993ed(0x17f),'risk':a50_0x4993ed(0x185),'flags':[ROLE_ID_FLAG],async 'execute'(_0x1341ae){const _0x4299ce=a50_0x4993ed,_0x554c81=await getRuntimeRoleById(_0x1341ae[_0x4299ce(0x183)],_0x1341ae[_0x4299ce(0x184)]('id'));return{'ok':!![],'data':{'scope':_0x4299ce(0x188),'role':projectRuntimeRole(_0x554c81)}};}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(function(_0x136b17,_0x541f1c){const _0x55c274=a51_0x9f04,_0x59272c=_0x136b17();while(!![]){try{const _0x585178=parseInt(_0x55c274(0x1e8))/0x1*(-parseInt(_0x55c274(0x1e5))/0x2)+-parseInt(_0x55c274(0x1de))/0x3+-parseInt(_0x55c274(0x1e1))/0x4+-parseInt(_0x55c274(0x1e3))/0x5+parseInt(_0x55c274(0x1df))/0x6*(-parseInt(_0x55c274(0x1e6))/0x7)+parseInt(_0x55c274(0x1e0))/0x8*(-parseInt(_0x55c274(0x1e7))/0x9)+-parseInt(_0x55c274(0x1e4))/0xa*(-parseInt(_0x55c274(0x1e2))/0xb);if(_0x585178===_0x541f1c)break;else _0x59272c['push'](_0x59272c['shift']());}catch(_0x2d1207){_0x59272c['push'](_0x59272c['shift']());}}}(a51_0x3ab4,0xd1822));import{roleList}from'../../commands/role/list.js';import{roleDetail}from'../../commands/role/detail.js';import{roleCreate}from'../../commands/role/create.js';function a51_0x9f04(_0x105ef1,_0x2f53d5){_0x105ef1=_0x105ef1-0x1de;const _0x3ab412=a51_0x3ab4();let _0x9f04fb=_0x3ab412[_0x105ef1];return _0x9f04fb;}import{roleUpdate}from'../../commands/role/update.js';import{roleDelete}from'../../commands/role/delete.js';function a51_0x3ab4(){const _0x61f54=['407252bWqHwU','56439427pTFrce','2045065tsTbrm','10HndMZe','508XzIxPo','2830037BmOIME','9oTCZGY','2777AqfPIj','1945617WrpMuY','18BoeTNT','9560920dpEZYG'];a51_0x3ab4=function(){return _0x61f54;};return a51_0x3ab4();}import{roleUserAdd}from'../../commands/role/user-add.js';import{roleUserRemove}from'../../commands/role/user-remove.js';export const roleDefinitions=[roleList,roleDetail,roleCreate,roleUpdate,roleDelete,roleUserAdd,roleUserRemove];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const a52_0xa06acd=a52_0x18f0;(function(_0x63ce12,_0x3d7dbd){const _0xc09223=a52_0x18f0,_0x542eff=_0x63ce12();while(!![]){try{const _0x24b1e5=-parseInt(_0xc09223(0x1bc))/0x1*(-parseInt(_0xc09223(0x1b4))/0x2)+parseInt(_0xc09223(0x1aa))/0x3*(-parseInt(_0xc09223(0x1be))/0x4)+-parseInt(_0xc09223(0x1a8))/0x5*(parseInt(_0xc09223(0x19b))/0x6)+parseInt(_0xc09223(0x1a9))/0x7*(-parseInt(_0xc09223(0x1a2))/0x8)+parseInt(_0xc09223(0x1bf))/0x9+-parseInt(_0xc09223(0x1b6))/0xa*(parseInt(_0xc09223(0x19e))/0xb)+parseInt(_0xc09223(0x1b1))/0xc;if(_0x24b1e5===_0x3d7dbd)break;else _0x542eff['push'](_0x542eff['shift']());}catch(_0x2d35c9){_0x542eff['push'](_0x542eff['shift']());}}}(a52_0xc39f,0x56149));import{listRuntimeAppRoles}from'../../core/api-client.js';function a52_0xc39f(){const _0x29c788=['pagesize','10uGlRRH','type','map','number','Page\x20size\x20from\x201\x20to\x20100','appCode','34vDByiD','paging','1266344umKYaX','5956227CdGUfv','Fuzzy\x20role-name\x20filter','List\x20runtime\x20roles\x20for\x20the\x20current\x20app','--page\x20must\x20be\x20a\x20positive\x20integer.','validation','16032GQhnsh','list','Page\x20number','3736777PDwMDM','runtime','page','str','8gxmUzp','Runtime\x20role\x20type','num','toUpperCase','items','name','435xPpSLY','1805909tQygae','6dGCjfo','roleType','includes','role','--pagesize\x20must\x20be\x20an\x20integer\x20from\x201\x20to\x20100.','slice','string','11786496plYGow','Invalid\x20runtime\x20role\x20type:\x20','isSafeInteger','10112QTJmOd'];a52_0xc39f=function(){return _0x29c788;};return a52_0xc39f();}function a52_0x18f0(_0x276787,_0x4d5c6d){_0x276787=_0x276787-0x198;const _0xc39f9a=a52_0xc39f();let _0x18f0d3=_0xc39f9a[_0x276787];return _0x18f0d3;}import{CliErrors}from'../../errors.js';import{listAllRuntimeRoles,projectRuntimeRole,RUNTIME_ROLE_TYPES}from'../../commands/role/shared.js';export const roleList={'service':a52_0xa06acd(0x1ad),'command':a52_0xa06acd(0x19c),'description':a52_0xa06acd(0x198),'risk':'read','flags':[{'name':a52_0xa06acd(0x1b7),'type':a52_0xa06acd(0x1b0),'enum':RUNTIME_ROLE_TYPES,'description':a52_0xa06acd(0x1a3)},{'name':'name','type':a52_0xa06acd(0x1b0),'description':a52_0xa06acd(0x1c0)},{'name':a52_0xa06acd(0x1a0),'type':a52_0xa06acd(0x1b9),'default':0x1,'description':a52_0xa06acd(0x19d)},{'name':'pagesize','type':a52_0xa06acd(0x1b9),'default':0x64,'description':a52_0xa06acd(0x1ba)}],async 'validate'(_0x7bac32){const _0x25aab9=a52_0xa06acd,_0x2c2b66=_0x7bac32[_0x25aab9(0x1a1)](_0x25aab9(0x1b7))[_0x25aab9(0x1a5)]();if(_0x2c2b66&&!RUNTIME_ROLE_TYPES[_0x25aab9(0x1ac)](_0x2c2b66))throw CliErrors['validation'](_0x25aab9(0x1b2)+_0x2c2b66+'.');const _0x18b8be=_0x7bac32[_0x25aab9(0x1a4)](_0x25aab9(0x1a0),0x1),_0x24c0a0=_0x7bac32[_0x25aab9(0x1a4)](_0x25aab9(0x1b5),0x64);if(!Number[_0x25aab9(0x1b3)](_0x18b8be)||_0x18b8be<0x1)throw CliErrors[_0x25aab9(0x19a)](_0x25aab9(0x199));if(!Number[_0x25aab9(0x1b3)](_0x24c0a0)||_0x24c0a0<0x1||_0x24c0a0>0x64)throw CliErrors[_0x25aab9(0x19a)](_0x25aab9(0x1ae));},async 'execute'(_0x2e7d1d){const _0x330b30=a52_0xa06acd,_0x2760eb=_0x2e7d1d[_0x330b30(0x1a1)](_0x330b30(0x1b7))['toUpperCase'](),_0x50f61a=_0x2e7d1d[_0x330b30(0x1a1)](_0x330b30(0x1a7))['trim'](),_0x15c7a1=_0x2e7d1d['num'](_0x330b30(0x1a0),0x1),_0x33d357=_0x2e7d1d[_0x330b30(0x1a4)](_0x330b30(0x1b5),0x64);if(_0x2760eb){const _0x352cf5=(await listAllRuntimeRoles(_0x2e7d1d[_0x330b30(0x1bb)],{..._0x50f61a?{'roleName':_0x50f61a}:{}}))['filter'](_0x343e39=>_0x343e39[_0x330b30(0x1ab)]===_0x2760eb),_0x5090f6=(_0x15c7a1-0x1)*_0x33d357;return{'ok':!![],'data':{'scope':_0x330b30(0x19f),'roles':_0x352cf5[_0x330b30(0x1af)](_0x5090f6,_0x5090f6+_0x33d357)[_0x330b30(0x1b8)](projectRuntimeRole),'paging':{'currentPage':_0x15c7a1,'pageSize':_0x33d357,'totalCount':_0x352cf5['length']}}};}const _0x102e85=await listRuntimeAppRoles(_0x2e7d1d[_0x330b30(0x1bb)],{..._0x50f61a?{'roleName':_0x50f61a}:{},'currentPage':_0x15c7a1,'pageSize':_0x33d357});return{'ok':!![],'data':{'scope':_0x330b30(0x19f),'roles':_0x102e85[_0x330b30(0x1a6)][_0x330b30(0x1b8)](projectRuntimeRole),'paging':_0x102e85[_0x330b30(0x1bd)]}};}};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { type RuntimeAppRole, type RuntimeAppRoleType, type RuntimeRoleUsers } from "../../core/api-client.js";
|
|
2
|
+
import type { FlagDef, RuntimeContext } from "../../framework/types.js";
|
|
3
|
+
export declare const RUNTIME_ROLE_TYPES: RuntimeAppRoleType[];
|
|
4
|
+
export declare const ROLE_ID_FLAG: FlagDef;
|
|
5
|
+
export declare const ROLE_REF_FLAG: FlagDef;
|
|
6
|
+
export declare const USER_ID_FLAG: FlagDef;
|
|
7
|
+
export declare const EXPECT_USER_COUNT_FLAG: FlagDef;
|
|
8
|
+
export declare function isBuiltinRuntimeRole(roleType: string): boolean;
|
|
9
|
+
export declare function assertCustomRuntimeRole(role: RuntimeAppRole, action: string): void;
|
|
10
|
+
export declare function projectRuntimeRole(role: RuntimeAppRole): Record<string, unknown>;
|
|
11
|
+
export declare function getRuntimeRoleById(appCode: string, roleId: number): Promise<RuntimeAppRole>;
|
|
12
|
+
export declare function listAllRuntimeRoles(appCode: string, options?: {
|
|
13
|
+
roleName?: string;
|
|
14
|
+
}): Promise<RuntimeAppRole[]>;
|
|
15
|
+
export declare function resolveRuntimeRoleRef(appCode: string, ref: string): Promise<RuntimeAppRole>;
|
|
16
|
+
export interface RuntimeMemberMutation {
|
|
17
|
+
role: RuntimeAppRole;
|
|
18
|
+
userId: number;
|
|
19
|
+
roleList: RuntimeRoleUsers[];
|
|
20
|
+
before: {
|
|
21
|
+
userIds: number[];
|
|
22
|
+
};
|
|
23
|
+
after: {
|
|
24
|
+
userIds: number[];
|
|
25
|
+
};
|
|
26
|
+
shouldWrite: boolean;
|
|
27
|
+
warnings: string[];
|
|
28
|
+
}
|
|
29
|
+
export declare function prepareRuntimeMemberMutation(ctx: RuntimeContext, operation: "user-add" | "user-remove"): Promise<RuntimeMemberMutation>;
|
|
30
|
+
export declare function runtimeRoleWriteResult(operation: string, selector: Record<string, unknown>, before: unknown, after: unknown, backend: {
|
|
31
|
+
method: string;
|
|
32
|
+
path: string;
|
|
33
|
+
}, warnings?: string[]): Record<string, unknown>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const a53_0x2f5680=a53_0xc2a1;(function(_0x8ecc8b,_0x4d1154){const _0x2b8e75=a53_0xc2a1,_0x4210f5=_0x8ecc8b();while(!![]){try{const _0x123bf3=parseInt(_0x2b8e75(0x9e))/0x1+parseInt(_0x2b8e75(0x87))/0x2+parseInt(_0x2b8e75(0x97))/0x3*(-parseInt(_0x2b8e75(0x7b))/0x4)+-parseInt(_0x2b8e75(0x96))/0x5+parseInt(_0x2b8e75(0xa5))/0x6+parseInt(_0x2b8e75(0x8c))/0x7*(parseInt(_0x2b8e75(0xa0))/0x8)+-parseInt(_0x2b8e75(0xb0))/0x9;if(_0x123bf3===_0x4d1154)break;else _0x4210f5['push'](_0x4210f5['shift']());}catch(_0x1732af){_0x4210f5['push'](_0x4210f5['shift']());}}}(a53_0x4134,0xf301a));import{listRuntimeAppUsers,listRuntimeAppRoles,listRuntimeRoleUsers}from'../../core/api-client.js';function a53_0x4134(){const _0x43267e=['User\x20','role','1953595vmzvgL','2001ZqQqnD','items','userName','Run\x20`lovrabet\x20role\x20list`\x20and\x20use\x20a\x20role\x20from\x20the\x20current\x20app.','Pass\x20--role\x20<id|name>.','paging','test','914656jQglOM','Transfer\x20or\x20manage\x20application\x20ownership\x20through\x20the\x20dedicated\x20application\x20workflow.','6767144bQpmLx','\x20built-in\x20runtime\x20role\x20','map','\x20is\x20missing\x20from\x20the\x20grouped\x20member\x20snapshot.','Runtime\x20role\x20member\x20count\x20changed:\x20expected\x20','6058098GbupnD','Only\x20CUSTOM\x20runtime\x20roles\x20can\x20be\x20modified\x20or\x20deleted.','Runtime\x20role\x20name\x20\x22','Role\x20ID\x20must\x20be\x20a\x20positive\x20integer.','Reload\x20the\x20role\x20list\x20and\x20retry\x20after\x20the\x20server\x20state\x20is\x20consistent.','length','string','isSafeInteger','\x22\x20is\x20ambiguous.','ADMIN','user-add','31811697YIrRSQ','Runtime\x20role\x20ID\x20returned\x20by\x20role\x20list','OWNER','filter','Use\x20a\x20numeric\x20userId\x20returned\x20by\x20the\x20current\x20application\x27s\x20personnel\x20list.','number','Pass\x20--user\x20<userId>;\x20name\x20and\x20account\x20lookup\x20are\x20not\x20available\x20in\x20runtime\x20scope.','Cannot\x20','\x20was\x20not\x20found\x20in\x20app\x20','flag','USER','Runtime\x20userId\x20must\x20be\x20a\x20positive\x20safe\x20integer.','trim','totalCount','Run\x20`lovrabet\x20role\x20list`\x20or\x20pass\x20--role\x20<id>.','Reject\x20when\x20the\x20target\x20role\x20member\x20count\x20has\x20changed','--expect-user-count\x20must\x20be\x20a\x20non-negative\x20integer.','2452msjuec','validation','roleName','num','join','Pass\x20one\x20role\x20ID:\x20','Runtime\x20role\x20id\x20','find','code','CUSTOM','Runtime\x20role\x20membership\x20requires\x20a\x20numeric\x20userId.','Runtime\x20role\x20ID\x20or\x20exact\x20role\x20name','3426904qwDutg','runtime','Missing\x20runtime\x20role\x20reference.','Runtime\x20role\x20','roleType','14wiMySk','appCode','user','push','userId','userList','expect-user-count','str'];a53_0x4134=function(){return _0x43267e;};return a53_0x4134();}import{CliErrors}from'../../errors.js';export const RUNTIME_ROLE_TYPES=['ADMIN','USER',a53_0x2f5680(0xb2),a53_0x2f5680(0x84)];const BUILTIN_ROLE_TYPES=[a53_0x2f5680(0xae),a53_0x2f5680(0xba),a53_0x2f5680(0xb2)];export const ROLE_ID_FLAG={'name':'id','type':a53_0x2f5680(0xb5),'required':!![],'description':a53_0x2f5680(0xb1)};function a53_0xc2a1(_0x463ce0,_0x215998){_0x463ce0=_0x463ce0-0x79;const _0x41341d=a53_0x4134();let _0xc2a15a=_0x41341d[_0x463ce0];return _0xc2a15a;}export const ROLE_REF_FLAG={'name':a53_0x2f5680(0x95),'type':a53_0x2f5680(0xab),'required':!![],'description':a53_0x2f5680(0x86)};export const USER_ID_FLAG={'name':a53_0x2f5680(0x8e),'type':'string','required':!![],'description':'Runtime\x20numeric\x20userId'};export const EXPECT_USER_COUNT_FLAG={'name':a53_0x2f5680(0x92),'type':'number','description':a53_0x2f5680(0x79)};export function isBuiltinRuntimeRole(_0x5c9f15){return BUILTIN_ROLE_TYPES['includes'](_0x5c9f15);}export function assertCustomRuntimeRole(_0x4bf729,_0x529a10){const _0x503d4d=a53_0x2f5680;if(_0x4bf729[_0x503d4d(0x8b)]!==_0x503d4d(0x84))throw CliErrors[_0x503d4d(0x7c)](_0x503d4d(0xb7)+_0x529a10+_0x503d4d(0xa1)+_0x4bf729[_0x503d4d(0x7d)]+'\x20('+_0x4bf729['roleType']+').',_0x503d4d(0xa6));}export function projectRuntimeRole(_0xd2cec6){const _0x17a6e3=a53_0x2f5680;return{'id':_0xd2cec6['id'],'roleName':_0xd2cec6[_0x17a6e3(0x7d)],'roleType':_0xd2cec6[_0x17a6e3(0x8b)],'remark':_0xd2cec6['remark'],'userCount':_0xd2cec6['userCount']??0x0,'permitCount':_0xd2cec6['permitCount']??0x0,'builtin':isBuiltinRuntimeRole(_0xd2cec6[_0x17a6e3(0x8b)])};}export async function getRuntimeRoleById(_0xf1cd99,_0x3091c8){const _0x7e7a3=a53_0x2f5680;if(!Number[_0x7e7a3(0xac)](_0x3091c8)||_0x3091c8<=0x0)throw CliErrors[_0x7e7a3(0x7c)](_0x7e7a3(0xa8));const _0x2eb357=(await listAllRuntimeRoles(_0xf1cd99))['filter'](_0x4300c8=>_0x4300c8['id']===_0x3091c8&&(!_0x4300c8[_0x7e7a3(0x8d)]||_0x4300c8[_0x7e7a3(0x8d)]===_0xf1cd99));if(_0x2eb357[_0x7e7a3(0xaa)]!==0x1)throw CliErrors[_0x7e7a3(0x7c)](_0x7e7a3(0x81)+_0x3091c8+_0x7e7a3(0xb8)+_0xf1cd99+'.',_0x7e7a3(0x9a));return _0x2eb357[0x0];}export async function listAllRuntimeRoles(_0x27405e,_0x244bc2={}){const _0xf919f5=a53_0x2f5680,_0x34152a=0x64,_0x56b126=[];for(let _0x1a5784=0x1;;_0x1a5784+=0x1){const _0x478d44=await listRuntimeAppRoles(_0x27405e,{..._0x244bc2[_0xf919f5(0x7d)]?{'roleName':_0x244bc2['roleName']}:{},'currentPage':_0x1a5784,'pageSize':_0x34152a});_0x56b126['push'](..._0x478d44['items']);if(_0x478d44[_0xf919f5(0x98)][_0xf919f5(0xaa)]<_0x34152a||_0x478d44[_0xf919f5(0x9c)]&&_0x56b126[_0xf919f5(0xaa)]>=_0x478d44[_0xf919f5(0x9c)][_0xf919f5(0xbd)])return _0x56b126;}}export async function resolveRuntimeRoleRef(_0x53725e,_0x557dad){const _0x3106d5=a53_0x2f5680,_0x5f13fa=_0x557dad[_0x3106d5(0xbc)]();if(!_0x5f13fa)throw CliErrors[_0x3106d5(0x7c)](_0x3106d5(0x89),_0x3106d5(0x9b));if(/^\d+$/[_0x3106d5(0x9d)](_0x5f13fa))return getRuntimeRoleById(_0x53725e,Number(_0x5f13fa));const _0x31383b=(await listAllRuntimeRoles(_0x53725e))[_0x3106d5(0xb3)](_0x5b438c=>_0x5b438c[_0x3106d5(0x7d)]===_0x5f13fa);if(_0x31383b[_0x3106d5(0xaa)]===0x0)throw CliErrors[_0x3106d5(0x7c)]('Runtime\x20role\x20name\x20\x22'+_0x5f13fa+'\x22\x20was\x20not\x20found\x20in\x20app\x20'+_0x53725e+'.',_0x3106d5(0xbe));if(_0x31383b[_0x3106d5(0xaa)]>0x1)throw CliErrors[_0x3106d5(0x7c)](_0x3106d5(0xa7)+_0x5f13fa+_0x3106d5(0xad),_0x3106d5(0x80)+_0x31383b[_0x3106d5(0xa2)](_0x21c93a=>_0x21c93a['id'])[_0x3106d5(0x7f)](',\x20')+'.');return _0x31383b[0x0];}function parseRuntimeUserId(_0x4a03ea){const _0x52ab1c=a53_0x2f5680,_0x47ff5d=_0x4a03ea[_0x52ab1c(0xbc)]();if(!/^\d+$/['test'](_0x47ff5d))throw CliErrors[_0x52ab1c(0x7c)](_0x52ab1c(0x85),_0x52ab1c(0xb6));const _0x5a1cbd=Number(_0x47ff5d);if(!Number['isSafeInteger'](_0x5a1cbd)||_0x5a1cbd<=0x0)throw CliErrors[_0x52ab1c(0x7c)](_0x52ab1c(0xbb));return _0x5a1cbd;}export async function prepareRuntimeMemberMutation(_0x1c9efc,_0x3f2651){const _0x1c4e00=a53_0x2f5680,_0x4bc1b=await resolveRuntimeRoleRef(_0x1c9efc['appCode'],_0x1c9efc[_0x1c4e00(0x93)](_0x1c4e00(0x95)));if(_0x4bc1b[_0x1c4e00(0x8b)]===_0x1c4e00(0xb2))throw CliErrors[_0x1c4e00(0x7c)]('OWNER\x20runtime\x20role\x20membership\x20cannot\x20be\x20changed\x20with\x20this\x20command.',_0x1c4e00(0x9f));const _0x15d99b=parseRuntimeUserId(_0x1c9efc['str'](_0x1c4e00(0x8e))),_0x10c219=(await listRuntimeRoleUsers(_0x1c9efc[_0x1c4e00(0x8d)]))[_0x1c4e00(0xa2)](_0x2edf47=>({..._0x2edf47,'userList':[..._0x2edf47['userList']??[]],'applyUserList':[..._0x2edf47['applyUserList']??[]]})),_0x282968=_0x10c219[_0x1c4e00(0x82)](_0x14a255=>_0x14a255['id']===_0x4bc1b['id']);if(!_0x282968)throw CliErrors[_0x1c4e00(0x7c)](_0x1c4e00(0x8a)+_0x4bc1b['id']+_0x1c4e00(0xa3),_0x1c4e00(0xa9));const _0x3af4c1=_0x282968['userList'][_0x1c4e00(0xa2)](_0x47cece=>_0x47cece[_0x1c4e00(0x90)]),_0x3839d7=_0x1c9efc[_0x1c4e00(0xb9)](_0x1c4e00(0x92));if(_0x3839d7!==undefined&&_0x3839d7!==null&&_0x3839d7!==''){const _0x2e3b2a=_0x1c9efc[_0x1c4e00(0x7e)](_0x1c4e00(0x92));if(!Number[_0x1c4e00(0xac)](_0x2e3b2a)||_0x2e3b2a<0x0)throw CliErrors[_0x1c4e00(0x7c)](_0x1c4e00(0x7a));if(_0x3af4c1['length']!==_0x2e3b2a)throw CliErrors['validation'](_0x1c4e00(0xa4)+_0x2e3b2a+',\x20found\x20'+_0x3af4c1[_0x1c4e00(0xaa)]+'.','Read\x20the\x20current\x20members\x20and\x20retry\x20with\x20the\x20new\x20expected\x20count.');}const _0x518811=_0x3af4c1['includes'](_0x15d99b),_0x1df72d=[];let _0x6e678d=!![];if(_0x3f2651===_0x1c4e00(0xaf)){const _0x58e613=await listRuntimeAppUsers(_0x1c9efc['appCode']),_0x28f975=_0x58e613[_0x1c4e00(0xb3)](_0x4bf11a=>Number(_0x4bf11a[_0x1c4e00(0x83)])===_0x15d99b);if(_0x28f975[_0x1c4e00(0xaa)]!==0x1||!_0x28f975[0x0][_0x1c4e00(0x99)]?.[_0x1c4e00(0xbc)]())throw CliErrors[_0x1c4e00(0x7c)]('Runtime\x20user\x20'+_0x15d99b+_0x1c4e00(0xb8)+_0x1c9efc[_0x1c4e00(0x8d)]+'.',_0x1c4e00(0xb4));_0x518811?(_0x6e678d=![],_0x1df72d['push'](_0x1c4e00(0x94)+_0x15d99b+'\x20is\x20already\x20in\x20runtime\x20role\x20'+_0x4bc1b['id']+'.')):_0x282968[_0x1c4e00(0x91)][_0x1c4e00(0x8f)]({'userId':_0x15d99b,'username':_0x28f975[0x0][_0x1c4e00(0x99)]});}else!_0x518811?(_0x6e678d=![],_0x1df72d['push'](_0x1c4e00(0x94)+_0x15d99b+'\x20is\x20not\x20in\x20runtime\x20role\x20'+_0x4bc1b['id']+'.')):_0x282968['userList']=_0x282968[_0x1c4e00(0x91)][_0x1c4e00(0xb3)](_0x1bc508=>_0x1bc508[_0x1c4e00(0x90)]!==_0x15d99b);return{'role':_0x4bc1b,'userId':_0x15d99b,'roleList':_0x10c219,'before':{'userIds':_0x3af4c1},'after':{'userIds':_0x282968[_0x1c4e00(0x91)][_0x1c4e00(0xa2)](_0x21f622=>_0x21f622[_0x1c4e00(0x90)])},'shouldWrite':_0x6e678d,'warnings':_0x1df72d};}export function runtimeRoleWriteResult(_0x40cbe5,_0x1d3615,_0x585fd5,_0x1bb1c6,_0x566479,_0x2a2022=[]){const _0x52f0ad=a53_0x2f5680;return{'operation':_0x40cbe5,'scope':_0x52f0ad(0x88),'selector':_0x1d3615,'before':_0x585fd5,'after':_0x1bb1c6,'dryRun':![],'backend':_0x566479,'warnings':_0x2a2022};}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const a54_0x45ac2a=a54_0x4e3e;function a54_0x2396(){const _0x1ab84b=['POST','The\x20current\x20runtime\x20role\x20API\x20does\x20not\x20support\x20clearing\x20an\x20existing\x20remark.','name','1974500UAILkz','New\x20role\x20name','role','Pass\x20--name\x20or\x20--remark\x20to\x20update\x20the\x20runtime\x20role.','update','405TYMtOg','build','6325wnmYcp','str','17556ObaQbr','high-risk-write','Preview:\x20update\x20a\x20runtime\x20CUSTOM\x20role','appCode','修改当前运行应用中的自定义角色名称或备注;变更会立即影响角色展示。','112830hKrqBK','num','description','18dLbGzn','trim','208GUBiht','body','579320LXbuyT','171nySIdI','validation','498nGSsjZ','1005263xmvnYN','358wpZNmo','--name\x20must\x20not\x20be\x20blank.','remark','flag'];a54_0x2396=function(){return _0x1ab84b;};return a54_0x2396();}(function(_0x478fef,_0x4aced3){const _0x2ef8e8=a54_0x4e3e,_0x4a77a3=_0x478fef();while(!![]){try{const _0x2f2c1e=parseInt(_0x2ef8e8(0x115))/0x1*(parseInt(_0x2ef8e8(0xf6))/0x2)+parseInt(_0x2ef8e8(0x102))/0x3*(parseInt(_0x2ef8e8(0x110))/0x4)+parseInt(_0x2ef8e8(0xfd))/0x5+-parseInt(_0x2ef8e8(0x10e))/0x6*(-parseInt(_0x2ef8e8(0x116))/0x7)+-parseInt(_0x2ef8e8(0x112))/0x8+-parseInt(_0x2ef8e8(0x113))/0x9*(-parseInt(_0x2ef8e8(0x10b))/0xa)+-parseInt(_0x2ef8e8(0x104))/0xb*(parseInt(_0x2ef8e8(0x106))/0xc);if(_0x2f2c1e===_0x4aced3)break;else _0x4a77a3['push'](_0x4a77a3['shift']());}catch(_0xd48fec){_0x4a77a3['push'](_0x4a77a3['shift']());}}}(a54_0x2396,0x365a2));import{updateRuntimeAppRole}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';function a54_0x4e3e(_0x259818,_0x2030be){_0x259818=_0x259818-0xf6;const _0x239690=a54_0x2396();let _0x4e3e46=_0x239690[_0x259818];return _0x4e3e46;}import{assertCustomRuntimeRole,getRuntimeRoleById,projectRuntimeRole,ROLE_ID_FLAG,runtimeRoleWriteResult}from'../../commands/role/shared.js';function updateFields(_0xd5ceb8){const _0x1016c4=a54_0x4e3e,_0x3599ec=_0xd5ceb8[_0x1016c4(0xf9)]('name')!==undefined,_0x167b6a=_0xd5ceb8['flag'](_0x1016c4(0xf8))!==undefined;if(!_0x3599ec&&!_0x167b6a)throw CliErrors[_0x1016c4(0x114)](_0x1016c4(0x100));const _0xe10b1c=_0xd5ceb8['str'](_0x1016c4(0xfc))['trim'](),_0x334a9f=_0xd5ceb8[_0x1016c4(0x105)](_0x1016c4(0xf8))[_0x1016c4(0x10f)]();if(_0x3599ec&&!_0xe10b1c)throw CliErrors['validation'](_0x1016c4(0xf7));if(_0x167b6a&&!_0x334a9f)throw CliErrors[_0x1016c4(0x114)]('--remark\x20must\x20not\x20be\x20blank.',_0x1016c4(0xfb));return{..._0x3599ec?{'roleName':_0xe10b1c}:{},..._0x167b6a?{'remark':_0x334a9f}:{}};}async function prepare(_0x2a0496){const _0x39cc04=a54_0x4e3e,_0x11aaa9=await getRuntimeRoleById(_0x2a0496[_0x39cc04(0x109)],_0x2a0496[_0x39cc04(0x10c)]('id'));return assertCustomRuntimeRole(_0x11aaa9,_0x39cc04(0x101)),{'role':_0x11aaa9,'body':{'id':_0x11aaa9['id'],'appCode':_0x2a0496['appCode'],...updateFields(_0x2a0496)}};}export const roleUpdate={'service':a54_0x45ac2a(0xff),'command':'update','description':'Update\x20a\x20runtime\x20CUSTOM\x20role','risk':a54_0x45ac2a(0x107),'confirmationDescription':a54_0x45ac2a(0x10a),'flags':[ROLE_ID_FLAG,{'name':a54_0x45ac2a(0xfc),'type':'string','description':a54_0x45ac2a(0xfe)},{'name':a54_0x45ac2a(0xf8),'type':'string','description':'New\x20non-empty\x20role\x20remark'}],async 'validate'(_0x1636f0){updateFields(_0x1636f0);},async 'dryRun'(_0x538185){const _0x3c8f9a=a54_0x45ac2a,{body:_0x1300bd}=await prepare(_0x538185);return dryRun(_0x3c8f9a(0xfa),'/client/permit/role/update')[_0x3c8f9a(0x111)](_0x1300bd)[_0x3c8f9a(0x10d)](_0x3c8f9a(0x108))[_0x3c8f9a(0x103)]();},async 'execute'(_0x1bd7ef){const _0x33ad5d=a54_0x45ac2a,{role:_0x3fe476,body:_0x4ab5e1}=await prepare(_0x1bd7ef),_0x3b330b=await updateRuntimeAppRole(_0x4ab5e1);return{'ok':!![],'data':runtimeRoleWriteResult(_0x33ad5d(0x101),{'roleId':_0x3fe476['id']},projectRuntimeRole(_0x3fe476),projectRuntimeRole(_0x3b330b),{'method':_0x33ad5d(0xfa),'path':'/client/permit/role/update'})};}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function a55_0x24ba(){const _0x446a9d=['description','7VWGTIc','warnings','build','902332GBbpcP','52136FFpNpb','after','16703028qaGJsb','5235304JQTyoB','POST','roleList','role','user-add','6nbaLWB','high-risk-write','userId','5175035xuLawh','appCode','2585862ODFIUY','把指定运行用户加入目标角色;该用户将获得该角色对应的运行权限。','863242nXQEqV','shouldWrite','Add\x20a\x20numeric\x20userId\x20to\x20one\x20runtime\x20role','/client/permit/user-role/update-user-list'];a55_0x24ba=function(){return _0x446a9d;};return a55_0x24ba();}function a55_0x4616(_0x51930b,_0x511f2a){_0x51930b=_0x51930b-0x1ee;const _0x24bacf=a55_0x24ba();let _0x461602=_0x24bacf[_0x51930b];return _0x461602;}const a55_0x6eb1c1=a55_0x4616;(function(_0x504ef9,_0x81cfcd){const _0x5bb293=a55_0x4616,_0x1ec5ad=_0x504ef9();while(!![]){try{const _0x589e12=parseInt(_0x5bb293(0x1f2))/0x1+parseInt(_0x5bb293(0x202))/0x2+parseInt(_0x5bb293(0x200))/0x3+-parseInt(_0x5bb293(0x1f3))/0x4+parseInt(_0x5bb293(0x1fe))/0x5*(parseInt(_0x5bb293(0x1fb))/0x6)+parseInt(_0x5bb293(0x1ef))/0x7*(-parseInt(_0x5bb293(0x1f6))/0x8)+-parseInt(_0x5bb293(0x1f5))/0x9;if(_0x589e12===_0x81cfcd)break;else _0x1ec5ad['push'](_0x1ec5ad['shift']());}catch(_0x52cf12){_0x1ec5ad['push'](_0x1ec5ad['shift']());}}}(a55_0x24ba,0xacbf7));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':a55_0x6eb1c1(0x1f9),'command':a55_0x6eb1c1(0x1fa),'description':a55_0x6eb1c1(0x204),'risk':a55_0x6eb1c1(0x1fc),'confirmationDescription':a55_0x6eb1c1(0x201),'flags':[ROLE_REF_FLAG,USER_ID_FLAG,EXPECT_USER_COUNT_FLAG],async 'dryRun'(_0x290d44){const _0x5653b4=a55_0x6eb1c1,_0x5279b7=await prepareRuntimeMemberMutation(_0x290d44,_0x5653b4(0x1fa));return dryRun(_0x5653b4(0x1f7),_0x5653b4(0x205))['body']({'appCode':_0x290d44[_0x5653b4(0x1ff)],'roleList':_0x5279b7['roleList']})[_0x5653b4(0x1ee)](_0x5279b7[_0x5653b4(0x203)]?'Preview:\x20add\x20runtime\x20role\x20member':_0x5279b7[_0x5653b4(0x1f0)][0x0])[_0x5653b4(0x1f1)]();},async 'execute'(_0x9a9fc6){const _0x389d4d=a55_0x6eb1c1,_0x548b3f=await prepareRuntimeMemberMutation(_0x9a9fc6,_0x389d4d(0x1fa));return _0x548b3f['shouldWrite']&&await updateRuntimeRoleUsers(_0x9a9fc6[_0x389d4d(0x1ff)],_0x548b3f[_0x389d4d(0x1f8)]),{'ok':!![],'data':runtimeRoleWriteResult('user-add',{'roleId':_0x548b3f[_0x389d4d(0x1f9)]['id'],'userId':_0x548b3f[_0x389d4d(0x1fd)]},_0x548b3f['before'],_0x548b3f[_0x389d4d(0x1f4)],{'method':_0x389d4d(0x1f7),'path':'/client/permit/user-role/update-user-list'},_0x548b3f[_0x389d4d(0x1f0)])};}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function a56_0x28b9(){const _0xd40dd9=['high-risk-write','Preview:\x20remove\x20runtime\x20role\x20member','113438ASEUnl','Remove\x20a\x20numeric\x20userId\x20from\x20one\x20runtime\x20role','appCode','POST','shouldWrite','296EEhksT','user-remove','warnings','7467nlHAmF','3243114VCiqVk','body','build','2712660lzMeFn','roleList','9598136iWDKBO','role','after','before','913507VmExpi','description','/client/permit/user-role/update-user-list','3779890AanIqt','把指定运行用户移出目标角色;该用户将失去仅由该角色授予的运行权限。','18pQgVHM'];a56_0x28b9=function(){return _0xd40dd9;};return a56_0x28b9();}const a56_0x110574=a56_0x1337;(function(_0x530cf7,_0x49e037){const _0x3687a0=a56_0x1337,_0x6ff73b=_0x530cf7();while(!![]){try{const _0x459303=-parseInt(_0x3687a0(0x126))/0x1+-parseInt(_0x3687a0(0x12b))/0x2*(-parseInt(_0x3687a0(0x12e))/0x3)+-parseInt(_0x3687a0(0x132))/0x4+-parseInt(_0x3687a0(0x121))/0x5+-parseInt(_0x3687a0(0x12f))/0x6+-parseInt(_0x3687a0(0x138))/0x7+parseInt(_0x3687a0(0x134))/0x8*(parseInt(_0x3687a0(0x123))/0x9);if(_0x459303===_0x49e037)break;else _0x6ff73b['push'](_0x6ff73b['shift']());}catch(_0xbc721a){_0x6ff73b['push'](_0x6ff73b['shift']());}}}(a56_0x28b9,0x861b9));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';function a56_0x1337(_0x1bbd31,_0x280eca){_0x1bbd31=_0x1bbd31-0x121;const _0x28b90b=a56_0x28b9();let _0x133798=_0x28b90b[_0x1bbd31];return _0x133798;}export const roleUserRemove={'service':a56_0x110574(0x135),'command':'user-remove','description':a56_0x110574(0x127),'risk':a56_0x110574(0x124),'confirmationDescription':a56_0x110574(0x122),'flags':[ROLE_REF_FLAG,USER_ID_FLAG,EXPECT_USER_COUNT_FLAG],async 'dryRun'(_0x19d12a){const _0x5da049=a56_0x110574,_0x94121b=await prepareRuntimeMemberMutation(_0x19d12a,_0x5da049(0x12c));return dryRun('POST',_0x5da049(0x13a))[_0x5da049(0x130)]({'appCode':_0x19d12a['appCode'],'roleList':_0x94121b['roleList']})[_0x5da049(0x139)](_0x94121b[_0x5da049(0x12a)]?_0x5da049(0x125):_0x94121b[_0x5da049(0x12d)][0x0])[_0x5da049(0x131)]();},async 'execute'(_0x5b7d2f){const _0x228372=a56_0x110574,_0x14ec19=await prepareRuntimeMemberMutation(_0x5b7d2f,_0x228372(0x12c));return _0x14ec19['shouldWrite']&&await updateRuntimeRoleUsers(_0x5b7d2f[_0x228372(0x128)],_0x14ec19[_0x228372(0x133)]),{'ok':!![],'data':runtimeRoleWriteResult(_0x228372(0x12c),{'roleId':_0x14ec19['role']['id'],'userId':_0x14ec19['userId']},_0x14ec19[_0x228372(0x137)],_0x14ec19[_0x228372(0x136)],{'method':_0x228372(0x129),'path':_0x228372(0x13a)},_0x14ec19[_0x228372(0x12d)])};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a37_0x5202d4=a37_0xe36a;(function(_0x22415c,_0x366b8f){const _0x436e50=a37_0xe36a,_0x4ff45a=_0x22415c();while(!![]){try{const _0x2de82e=parseInt(_0x436e50(0xe0))/0x1*(-parseInt(_0x436e50(0x108))/0x2)+-parseInt(_0x436e50(0xf2))/0x3*(-parseInt(_0x436e50(0x101))/0x4)+-parseInt(_0x436e50(0xd1))/0x5+parseInt(_0x436e50(0xe4))/0x6+-parseInt(_0x436e50(0x110))/0x7*(-parseInt(_0x436e50(0xea))/0x8)+-parseInt(_0x436e50(0x10a))/0x9*(-parseInt(_0x436e50(0xe5))/0xa)+-parseInt(_0x436e50(0xef))/0xb*(parseInt(_0x436e50(0xfc))/0xc);if(_0x2de82e===_0x366b8f)break;else _0x4ff45a['push'](_0x4ff45a['shift']());}catch(_0x252be8){_0x4ff45a['push'](_0x4ff45a['shift']());}}}(a37_0x5140,0x36d7c));import{createRuntimeSchedule,deleteRuntimeSchedule,getRuntimeSchedule,listRuntimeSchedules,runRuntimeSchedule,validateRuntimeSchedule}from'../../core/api-client.js';function a37_0x5140(){const _0x4d0520=['将永久删除该定时任务并停止后续自动触发;已经创建的历史\x20Task\x20不受影响。','auto','description','60kndrJp','number','\x20from\x20schedule\x20','--prompt\x20must\x20not\x20be\x20blank.','read','1373524VwqGis','Preview:\x20create\x20an\x20Agent\x20schedule','premium','ONCE\x20schedules\x20require\x20--scheduled-at\x20and\x20do\x20not\x20accept\x20--cron.','run','isSafeInteger','scheduled-at','2NIBDvX','limit','226161ahoiAo','validation','Deleted\x20schedule\x20','schedule','创建周期性或单次执行的\x20Agent\x20定时任务','Task\x20channel:\x20auto\x20or\x20premium','31535nZeUVT','schedule-id','high-risk-write','/schedules','Prompt\x20sent\x20to\x20the\x20Agent\x20when\x20the\x20schedule\x20runs','trim','将忽略原定触发时间,立即运行一次该定时任务并创建新的\x20Agent\x20Task。','/run','立即运行一次定时任务并创建\x20Task','Opaque\x20nextCursor\x20returned\x20by\x20the\x20previous\x20list\x20call','1906705HxGzmF','cursor','string','channel','UTC','Preview:\x20run\x20schedule\x20','POST','build','cron','list','/api/harness/apps/','--kind\x20must\x20be\x20CRON\x20or\x20ONCE.','List\x20current\x20user\x27s\x20schedules\x20for\x20the\x20current\x20app','kind','Schedule\x20title','242485XuBVoh','prompt','删除定时任务并停止其后续触发','ONCE','1962846zveqYD','100MQiTcO','appCode','Validate\x20a\x20UTC\x20schedule\x20without\x20creating\x20it','a\x20UUID\x20returned\x20by\x20schedule\x20create/list','num','600tqDUEU','Schedule\x20input\x20is\x20valid','Schedule\x20kind:\x20CRON\x20or\x20ONCE','--cursor\x20must\x20be\x20the\x20unchanged\x20nextCursor\x20from\x20schedule\x20list.','Show\x20one\x20schedule\x20by\x20schedule\x20ID','904695Txpkdw','validate','title','3HgHHCj','taskId','scheduleId','CRON\x20schedules\x20require\x20--cron\x20and\x20do\x20not\x20accept\x20--scheduled-at.','\x20schedule\x20','DELETE','str'];a37_0x5140=function(){return _0x4d0520;};return a37_0x5140();}import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';function a37_0xe36a(_0xf4e574,_0x2f3040){_0xf4e574=_0xf4e574-0xcd;const _0x51407d=a37_0x5140();let _0xe36a55=_0x51407d[_0xf4e574];return _0xe36a55;}const SCHEDULE_ID_PATTERN=/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,KIND_FLAG={'name':a37_0x5202d4(0xde),'type':a37_0x5202d4(0xd3),'required':!![],'enum':['CRON',a37_0x5202d4(0xe3)],'description':a37_0x5202d4(0xec)},CRON_FLAG={'name':a37_0x5202d4(0xd9),'type':'string','description':'Five-field\x20UTC\x20cron\x20expression\x20for\x20CRON\x20schedules'},SCHEDULED_AT_FLAG={'name':'scheduled-at','type':a37_0x5202d4(0xd3),'description':'Canonical\x20UTC\x20ISO\x20datetime\x20for\x20ONCE\x20schedules'},TITLE_FLAG={'name':a37_0x5202d4(0xf1),'type':a37_0x5202d4(0xd3),'required':!![],'description':a37_0x5202d4(0xdf)},PROMPT_FLAG={'name':a37_0x5202d4(0xe1),'type':a37_0x5202d4(0xd3),'required':!![],'description':a37_0x5202d4(0x114)},CHANNEL_FLAG={'name':a37_0x5202d4(0xd4),'type':a37_0x5202d4(0xd3),'enum':[a37_0x5202d4(0xfa),a37_0x5202d4(0x103)],'default':'premium','description':a37_0x5202d4(0x10f)},SCHEDULE_ID_FLAG={'name':a37_0x5202d4(0x111),'type':'string','required':!![],'description':'Schedule\x20UUID','pattern':{'regex':SCHEDULE_ID_PATTERN,'description':a37_0x5202d4(0xe8)}},LIMIT_FLAG={'name':a37_0x5202d4(0x109),'type':a37_0x5202d4(0xfd),'default':0x14,'description':'Page\x20size\x20from\x201\x20to\x20100'},CURSOR_FLAG={'name':a37_0x5202d4(0xd2),'type':a37_0x5202d4(0xd3),'description':a37_0x5202d4(0xd0)},INPUT_FLAGS=[KIND_FLAG,CRON_FLAG,SCHEDULED_AT_FLAG,TITLE_FLAG,PROMPT_FLAG,CHANNEL_FLAG];function readScheduleInput(_0x27d0db){const _0x1da12c=a37_0x5202d4,_0x20c9f7=_0x27d0db[_0x1da12c(0xf8)](_0x1da12c(0xde)),_0x1574d1=_0x27d0db[_0x1da12c(0xf8)]('title')[_0x1da12c(0x115)](),_0x546886=_0x27d0db[_0x1da12c(0xf8)](_0x1da12c(0xe1))[_0x1da12c(0x115)](),_0x30ffc6=_0x27d0db[_0x1da12c(0xf8)]('channel'),_0x53ef61=_0x27d0db[_0x1da12c(0xf8)]('cron'),_0x11255f=_0x27d0db[_0x1da12c(0xf8)](_0x1da12c(0x107));if(!_0x1574d1)throw CliErrors[_0x1da12c(0x10b)]('--title\x20must\x20not\x20be\x20blank.');if(!_0x546886)throw CliErrors[_0x1da12c(0x10b)](_0x1da12c(0xff));if(_0x20c9f7==='CRON'){if(!_0x53ef61||_0x11255f)throw CliErrors['validation'](_0x1da12c(0xf5));return{'kind':_0x20c9f7,'timezone':_0x1da12c(0xd5),'cron':_0x53ef61,'title':_0x1574d1,'prompt':_0x546886,'channel':_0x30ffc6};}if(_0x20c9f7===_0x1da12c(0xe3)){if(!_0x11255f||_0x53ef61)throw CliErrors[_0x1da12c(0x10b)](_0x1da12c(0x104));return{'kind':_0x20c9f7,'timezone':_0x1da12c(0xd5),'scheduledAt':_0x11255f,'title':_0x1574d1,'prompt':_0x546886,'channel':_0x30ffc6};}throw CliErrors[_0x1da12c(0x10b)](_0x1da12c(0xdc));}function scheduleCollectionPath(_0x3bffae){const _0xfa95c3=a37_0x5202d4;return _0xfa95c3(0xdb)+encodeURIComponent(_0x3bffae)+_0xfa95c3(0x113);}function scheduleItemPath(_0x79173,_0x149f12){return scheduleCollectionPath(_0x79173)+'/'+encodeURIComponent(_0x149f12);}const scheduleValidate={'service':a37_0x5202d4(0x10d),'command':a37_0x5202d4(0xf0),'description':a37_0x5202d4(0xe7),'risk':'read','flags':INPUT_FLAGS,async 'validate'(_0x30eff3){readScheduleInput(_0x30eff3);},async 'execute'(_0x38dec0){const _0x141681=a37_0x5202d4,_0x3d829a=readScheduleInput(_0x38dec0),_0x576c3b=await validateRuntimeSchedule(_0x38dec0[_0x141681(0xe6)],_0x3d829a);return{'ok':!![],'data':_0x576c3b,'message':_0x141681(0xeb)};}},scheduleCreate={'service':a37_0x5202d4(0x10d),'command':'create','description':a37_0x5202d4(0x10e),'risk':a37_0x5202d4(0x112),'confirmationDescription':'将在当前应用中创建可自动触发\x20Agent\x20的定时任务;到达设定时间后会按任务内容创建并执行\x20Task。','flags':INPUT_FLAGS,async 'validate'(_0x2a4b01){readScheduleInput(_0x2a4b01);},async 'execute'(_0x354692){const _0x3eb3e4=a37_0x5202d4,_0x32bf38=readScheduleInput(_0x354692),_0x5bd283=await validateRuntimeSchedule(_0x354692[_0x3eb3e4(0xe6)],_0x32bf38),_0x1f4af6=await createRuntimeSchedule(_0x354692[_0x3eb3e4(0xe6)],_0x5bd283);return{'ok':!![],'data':_0x1f4af6,'message':'Created\x20'+_0x1f4af6[_0x3eb3e4(0xde)]+_0x3eb3e4(0xf6)+_0x1f4af6[_0x3eb3e4(0xf4)]};},async 'dryRun'(_0x267fc2){const _0x5b0a39=a37_0x5202d4,_0x283a3b=readScheduleInput(_0x267fc2);return dryRun('POST',scheduleCollectionPath(_0x267fc2[_0x5b0a39(0xe6)]))['body'](_0x283a3b)[_0x5b0a39(0xfb)](_0x5b0a39(0x102))['build']();}},scheduleList={'service':'schedule','command':a37_0x5202d4(0xda),'description':a37_0x5202d4(0xdd),'risk':a37_0x5202d4(0x100),'flags':[KIND_FLAG,LIMIT_FLAG,CURSOR_FLAG],async 'validate'(_0x18c70b){const _0x192c83=a37_0x5202d4,_0x5312e2=_0x18c70b[_0x192c83(0xe9)](_0x192c83(0x109));if(!Number[_0x192c83(0x106)](_0x5312e2)||_0x5312e2<0x1||_0x5312e2>0x64)throw CliErrors['validation']('--limit\x20must\x20be\x20an\x20integer\x20from\x201\x20to\x20100.');const _0x3b085a=_0x18c70b[_0x192c83(0xf8)](_0x192c83(0xd2));if(_0x3b085a&&(_0x3b085a['length']>0x400||_0x3b085a[_0x192c83(0x115)]()!==_0x3b085a))throw CliErrors[_0x192c83(0x10b)](_0x192c83(0xed));},async 'execute'(_0x311295){const _0x2e8b94=a37_0x5202d4,_0x56619e=_0x311295['str'](_0x2e8b94(0xd2)),_0x1b5b99=await listRuntimeSchedules(_0x311295['appCode'],{'kind':_0x311295[_0x2e8b94(0xf8)](_0x2e8b94(0xde)),'limit':_0x311295[_0x2e8b94(0xe9)](_0x2e8b94(0x109)),..._0x56619e?{'cursor':_0x56619e}:{}});return{'ok':!![],'data':_0x1b5b99};}},scheduleDetail={'service':a37_0x5202d4(0x10d),'command':'detail','description':a37_0x5202d4(0xee),'risk':a37_0x5202d4(0x100),'flags':[SCHEDULE_ID_FLAG],async 'execute'(_0x80eec3){const _0x127cf1=a37_0x5202d4,_0x41c2df=await getRuntimeSchedule(_0x80eec3[_0x127cf1(0xe6)],_0x80eec3[_0x127cf1(0xf8)](_0x127cf1(0x111)));return{'ok':!![],'data':_0x41c2df};}},scheduleRun={'service':a37_0x5202d4(0x10d),'command':a37_0x5202d4(0x105),'description':a37_0x5202d4(0xcf),'risk':'high-risk-write','confirmationDescription':a37_0x5202d4(0xcd),'flags':[SCHEDULE_ID_FLAG],async 'execute'(_0x245241){const _0x1a5777=a37_0x5202d4,_0x21cfd5=_0x245241[_0x1a5777(0xf8)](_0x1a5777(0x111)),_0x355f05=await runRuntimeSchedule(_0x245241[_0x1a5777(0xe6)],_0x21cfd5);return{'ok':!![],'data':_0x355f05,'message':'Queued\x20Task\x20'+_0x355f05[_0x1a5777(0xf3)]+_0x1a5777(0xfe)+_0x21cfd5};},async 'dryRun'(_0x257a68){const _0x5cdc03=a37_0x5202d4,_0x565c4b=_0x257a68[_0x5cdc03(0xf8)](_0x5cdc03(0x111));return dryRun(_0x5cdc03(0xd7),scheduleItemPath(_0x257a68[_0x5cdc03(0xe6)],_0x565c4b)+_0x5cdc03(0xce))[_0x5cdc03(0xfb)](_0x5cdc03(0xd6)+_0x565c4b+'\x20immediately')[_0x5cdc03(0xd8)]();}},scheduleDelete={'service':a37_0x5202d4(0x10d),'command':'delete','description':a37_0x5202d4(0xe2),'risk':'high-risk-write','confirmationDescription':a37_0x5202d4(0xf9),'flags':[SCHEDULE_ID_FLAG],async 'execute'(_0x4757cd){const _0x58353c=a37_0x5202d4,_0x41f262=_0x4757cd[_0x58353c(0xf8)]('schedule-id'),_0x35285e=await deleteRuntimeSchedule(_0x4757cd[_0x58353c(0xe6)],_0x41f262);return{'ok':!![],'data':_0x35285e,'message':_0x58353c(0x10c)+_0x41f262};},async 'dryRun'(_0x296c50){const _0x5ef0dc=a37_0x5202d4,_0x19be52=_0x296c50['str'](_0x5ef0dc(0x111));return dryRun(_0x5ef0dc(0xf7),scheduleItemPath(_0x296c50[_0x5ef0dc(0xe6)],_0x19be52))['description']('Preview:\x20delete\x20schedule\x20'+_0x19be52)['build']();}};export const scheduleDefinitions=[scheduleValidate,scheduleCreate,scheduleList,scheduleDetail,scheduleRun,scheduleDelete];
|
|
1
|
+
const a57_0x240d68=a57_0x30c3;(function(_0x1f9cf0,_0x3f1d95){const _0xfdb6ac=a57_0x30c3,_0x198b39=_0x1f9cf0();while(!![]){try{const _0x26a3d1=parseInt(_0xfdb6ac(0x8b))/0x1*(-parseInt(_0xfdb6ac(0x93))/0x2)+parseInt(_0xfdb6ac(0x8e))/0x3+-parseInt(_0xfdb6ac(0x92))/0x4+-parseInt(_0xfdb6ac(0x84))/0x5+parseInt(_0xfdb6ac(0xa0))/0x6*(parseInt(_0xfdb6ac(0xa6))/0x7)+parseInt(_0xfdb6ac(0x87))/0x8+-parseInt(_0xfdb6ac(0x8f))/0x9;if(_0x26a3d1===_0x3f1d95)break;else _0x198b39['push'](_0x198b39['shift']());}catch(_0x318738){_0x198b39['push'](_0x198b39['shift']());}}}(a57_0x5760,0xa34ad));import{createRuntimeSchedule,deleteRuntimeSchedule,getRuntimeSchedule,listRuntimeSchedules,runRuntimeSchedule,validateRuntimeSchedule}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';function a57_0x30c3(_0x4f2531,_0x28e5b2){_0x4f2531=_0x4f2531-0x6d;const _0x5760ca=a57_0x5760();let _0x30c369=_0x5760ca[_0x4f2531];return _0x30c369;}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':'string','required':!![],'enum':[a57_0x240d68(0xab),a57_0x240d68(0xa3)],'description':a57_0x240d68(0x9e)},CRON_FLAG={'name':a57_0x240d68(0x73),'type':a57_0x240d68(0x9c),'description':a57_0x240d68(0x7f)},SCHEDULED_AT_FLAG={'name':'scheduled-at','type':a57_0x240d68(0x9c),'description':a57_0x240d68(0x88)},TITLE_FLAG={'name':a57_0x240d68(0x7b),'type':'string','required':!![],'description':a57_0x240d68(0xa5)},PROMPT_FLAG={'name':'prompt','type':a57_0x240d68(0x9c),'required':!![],'description':a57_0x240d68(0x78)},CHANNEL_FLAG={'name':'channel','type':a57_0x240d68(0x9c),'enum':[a57_0x240d68(0x7c),'premium'],'default':a57_0x240d68(0x9f),'description':a57_0x240d68(0x7a)},SCHEDULE_ID_FLAG={'name':a57_0x240d68(0xa1),'type':a57_0x240d68(0x9c),'required':!![],'description':'Schedule\x20UUID','pattern':{'regex':SCHEDULE_ID_PATTERN,'description':a57_0x240d68(0x82)}},LIMIT_FLAG={'name':a57_0x240d68(0x7e),'type':a57_0x240d68(0x9d),'default':0x14,'description':'Page\x20size\x20from\x201\x20to\x20100'},CURSOR_FLAG={'name':a57_0x240d68(0x70),'type':a57_0x240d68(0x9c),'description':a57_0x240d68(0x9b)},INPUT_FLAGS=[KIND_FLAG,CRON_FLAG,SCHEDULED_AT_FLAG,TITLE_FLAG,PROMPT_FLAG,CHANNEL_FLAG];function readScheduleInput(_0x52b1b3){const _0x423c30=a57_0x240d68,_0x640e3b=_0x52b1b3[_0x423c30(0xa7)](_0x423c30(0x95)),_0x2190e3=_0x52b1b3[_0x423c30(0xa7)](_0x423c30(0x7b))[_0x423c30(0x99)](),_0x49a82e=_0x52b1b3['str'](_0x423c30(0x8c))['trim'](),_0x128dfa=_0x52b1b3[_0x423c30(0xa7)](_0x423c30(0x89)),_0x410947=_0x52b1b3['str'](_0x423c30(0x73)),_0x50a378=_0x52b1b3[_0x423c30(0xa7)](_0x423c30(0x96));if(!_0x2190e3)throw CliErrors[_0x423c30(0xa8)]('--title\x20must\x20not\x20be\x20blank.');if(!_0x49a82e)throw CliErrors['validation'](_0x423c30(0x74));if(_0x640e3b==='CRON'){if(!_0x410947||_0x50a378)throw CliErrors[_0x423c30(0xa8)](_0x423c30(0x6e));return{'kind':_0x640e3b,'timezone':_0x423c30(0x79),'cron':_0x410947,'title':_0x2190e3,'prompt':_0x49a82e,'channel':_0x128dfa};}if(_0x640e3b===_0x423c30(0xa3)){if(!_0x50a378||_0x410947)throw CliErrors['validation'](_0x423c30(0x98));return{'kind':_0x640e3b,'timezone':_0x423c30(0x79),'scheduledAt':_0x50a378,'title':_0x2190e3,'prompt':_0x49a82e,'channel':_0x128dfa};}throw CliErrors[_0x423c30(0xa8)]('--kind\x20must\x20be\x20CRON\x20or\x20ONCE.');}function scheduleCollectionPath(_0x246301){const _0x141add=a57_0x240d68;return _0x141add(0xae)+encodeURIComponent(_0x246301)+_0x141add(0x83);}function scheduleItemPath(_0x165340,_0x2ea00c){return scheduleCollectionPath(_0x165340)+'/'+encodeURIComponent(_0x2ea00c);}const scheduleValidate={'service':'schedule','command':'validate','description':a57_0x240d68(0xad),'risk':a57_0x240d68(0x76),'flags':INPUT_FLAGS,async 'validate'(_0x3395ca){readScheduleInput(_0x3395ca);},async 'execute'(_0x2291c5){const _0x322347=a57_0x240d68,_0x26a792=readScheduleInput(_0x2291c5),_0x5e7acd=await validateRuntimeSchedule(_0x2291c5[_0x322347(0x72)],_0x26a792);return{'ok':!![],'data':_0x5e7acd,'message':'Schedule\x20input\x20is\x20valid'};}},scheduleCreate={'service':a57_0x240d68(0xa2),'command':a57_0x240d68(0x71),'description':a57_0x240d68(0xac),'risk':a57_0x240d68(0x75),'confirmationDescription':a57_0x240d68(0xa9),'flags':INPUT_FLAGS,async 'validate'(_0x9641c){readScheduleInput(_0x9641c);},async 'execute'(_0x1faa53){const _0x4aea0d=a57_0x240d68,_0x452622=readScheduleInput(_0x1faa53),_0x57a27d=await validateRuntimeSchedule(_0x1faa53[_0x4aea0d(0x72)],_0x452622),_0x369a03=await createRuntimeSchedule(_0x1faa53['appCode'],_0x57a27d);return{'ok':!![],'data':_0x369a03,'message':'Created\x20'+_0x369a03[_0x4aea0d(0x95)]+_0x4aea0d(0x9a)+_0x369a03[_0x4aea0d(0x97)]};},async 'dryRun'(_0x461067){const _0x32b103=a57_0x240d68,_0x103797=readScheduleInput(_0x461067);return dryRun(_0x32b103(0xa4),scheduleCollectionPath(_0x461067['appCode']))[_0x32b103(0x7d)](_0x103797)['description'](_0x32b103(0x77))[_0x32b103(0x6f)]();}},scheduleList={'service':a57_0x240d68(0xa2),'command':'list','description':a57_0x240d68(0x86),'risk':a57_0x240d68(0x76),'flags':[KIND_FLAG,LIMIT_FLAG,CURSOR_FLAG],async 'validate'(_0x778306){const _0x12319c=a57_0x240d68,_0x185678=_0x778306['num'](_0x12319c(0x7e));if(!Number['isSafeInteger'](_0x185678)||_0x185678<0x1||_0x185678>0x64)throw CliErrors[_0x12319c(0xa8)]('--limit\x20must\x20be\x20an\x20integer\x20from\x201\x20to\x20100.');const _0x444b6f=_0x778306[_0x12319c(0xa7)]('cursor');if(_0x444b6f&&(_0x444b6f['length']>0x400||_0x444b6f['trim']()!==_0x444b6f))throw CliErrors['validation'](_0x12319c(0x90));},async 'execute'(_0x14dc0f){const _0x5d6e33=a57_0x240d68,_0x59c9e4=_0x14dc0f[_0x5d6e33(0xa7)](_0x5d6e33(0x70)),_0x4948c0=await listRuntimeSchedules(_0x14dc0f['appCode'],{'kind':_0x14dc0f[_0x5d6e33(0xa7)](_0x5d6e33(0x95)),'limit':_0x14dc0f['num'](_0x5d6e33(0x7e)),..._0x59c9e4?{'cursor':_0x59c9e4}:{}});return{'ok':!![],'data':_0x4948c0};}},scheduleDetail={'service':a57_0x240d68(0xa2),'command':'detail','description':a57_0x240d68(0xaa),'risk':a57_0x240d68(0x76),'flags':[SCHEDULE_ID_FLAG],async 'execute'(_0x159a52){const _0x594d88=a57_0x240d68,_0x50958f=await getRuntimeSchedule(_0x159a52[_0x594d88(0x72)],_0x159a52[_0x594d88(0xa7)](_0x594d88(0xa1)));return{'ok':!![],'data':_0x50958f};}},scheduleRun={'service':a57_0x240d68(0xa2),'command':a57_0x240d68(0x94),'description':'立即运行一次定时任务并创建\x20Task','risk':a57_0x240d68(0x75),'confirmationDescription':a57_0x240d68(0x81),'flags':[SCHEDULE_ID_FLAG],async 'execute'(_0x47e702){const _0x3985e1=a57_0x240d68,_0x5aee8b=_0x47e702[_0x3985e1(0xa7)]('schedule-id'),_0xedef97=await runRuntimeSchedule(_0x47e702[_0x3985e1(0x72)],_0x5aee8b);return{'ok':!![],'data':_0xedef97,'message':_0x3985e1(0x8a)+_0xedef97['taskId']+_0x3985e1(0x80)+_0x5aee8b};},async 'dryRun'(_0x480d70){const _0x275a7a=a57_0x240d68,_0x2fde06=_0x480d70[_0x275a7a(0xa7)]('schedule-id');return dryRun(_0x275a7a(0xa4),scheduleItemPath(_0x480d70[_0x275a7a(0x72)],_0x2fde06)+_0x275a7a(0xaf))[_0x275a7a(0x85)]('Preview:\x20run\x20schedule\x20'+_0x2fde06+_0x275a7a(0x91))['build']();}},scheduleDelete={'service':a57_0x240d68(0xa2),'command':a57_0x240d68(0x8d),'description':a57_0x240d68(0xb0),'risk':a57_0x240d68(0x75),'confirmationDescription':a57_0x240d68(0x6d),'flags':[SCHEDULE_ID_FLAG],async 'execute'(_0x31c290){const _0x50615f=a57_0x240d68,_0x471632=_0x31c290[_0x50615f(0xa7)]('schedule-id'),_0x3c59d8=await deleteRuntimeSchedule(_0x31c290['appCode'],_0x471632);return{'ok':!![],'data':_0x3c59d8,'message':'Deleted\x20schedule\x20'+_0x471632};},async 'dryRun'(_0x2d8de1){const _0x5a2051=a57_0x240d68,_0x27c8ec=_0x2d8de1[_0x5a2051(0xa7)](_0x5a2051(0xa1));return dryRun('DELETE',scheduleItemPath(_0x2d8de1[_0x5a2051(0x72)],_0x27c8ec))[_0x5a2051(0x85)]('Preview:\x20delete\x20schedule\x20'+_0x27c8ec)[_0x5a2051(0x6f)]();}};function a57_0x5760(){const _0x28684c=['a\x20UUID\x20returned\x20by\x20schedule\x20create/list','/schedules','4367955GiWHPr','description','List\x20current\x20user\x27s\x20schedules\x20for\x20the\x20current\x20app','8010872vXyEGv','Canonical\x20UTC\x20ISO\x20datetime\x20for\x20ONCE\x20schedules','channel','Queued\x20Task\x20','32753ISHwsK','prompt','delete','1419141PctgyL','2392587cSWkpd','--cursor\x20must\x20be\x20the\x20unchanged\x20nextCursor\x20from\x20schedule\x20list.','\x20immediately','2897300RVFPrb','6OeHAIP','run','kind','scheduled-at','scheduleId','ONCE\x20schedules\x20require\x20--scheduled-at\x20and\x20do\x20not\x20accept\x20--cron.','trim','\x20schedule\x20','Opaque\x20nextCursor\x20returned\x20by\x20the\x20previous\x20list\x20call','string','number','Schedule\x20kind:\x20CRON\x20or\x20ONCE','premium','6938742czHqYo','schedule-id','schedule','ONCE','POST','Schedule\x20title','7Hwcdlg','str','validation','将在当前应用中创建可自动触发\x20Agent\x20的定时任务;到达设定时间后会按任务内容创建并执行\x20Task。','Show\x20one\x20schedule\x20by\x20schedule\x20ID','CRON','创建周期性或单次执行的\x20Agent\x20定时任务','Validate\x20a\x20UTC\x20schedule\x20without\x20creating\x20it','/api/harness/apps/','/run','删除定时任务并停止其后续触发','将永久删除该定时任务并停止后续自动触发;已经创建的历史\x20Task\x20不受影响。','CRON\x20schedules\x20require\x20--cron\x20and\x20do\x20not\x20accept\x20--scheduled-at.','build','cursor','create','appCode','cron','--prompt\x20must\x20not\x20be\x20blank.','high-risk-write','read','Preview:\x20create\x20an\x20Agent\x20schedule','Prompt\x20sent\x20to\x20the\x20Agent\x20when\x20the\x20schedule\x20runs','UTC','Task\x20channel:\x20auto\x20or\x20premium','title','auto','body','limit','Five-field\x20UTC\x20cron\x20expression\x20for\x20CRON\x20schedules','\x20from\x20schedule\x20','将忽略原定触发时间,立即运行一次该定时任务并创建新的\x20Agent\x20Task。'];a57_0x5760=function(){return _0x28684c;};return a57_0x5760();}export const scheduleDefinitions=[scheduleValidate,scheduleCreate,scheduleList,scheduleDetail,scheduleRun,scheduleDelete];
|
package/lib/commands/schema.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function a58_0x3b04(_0x1d5e1e,_0x1c73a7){_0x1d5e1e=_0x1d5e1e-0x1e7;const _0x44bbce=a58_0x44bb();let _0x3b0404=_0x44bbce[_0x1d5e1e];return _0x3b0404;}const a58_0x213ba4=a58_0x3b04;(function(_0x59fc82,_0x73043e){const _0x36dba6=a58_0x3b04,_0x454e4c=_0x59fc82();while(!![]){try{const _0x2de743=-parseInt(_0x36dba6(0x1ef))/0x1*(-parseInt(_0x36dba6(0x1f0))/0x2)+parseInt(_0x36dba6(0x1ed))/0x3*(-parseInt(_0x36dba6(0x1e7))/0x4)+-parseInt(_0x36dba6(0x1ee))/0x5+parseInt(_0x36dba6(0x1f1))/0x6+-parseInt(_0x36dba6(0x1f2))/0x7*(parseInt(_0x36dba6(0x1eb))/0x8)+-parseInt(_0x36dba6(0x1ec))/0x9+parseInt(_0x36dba6(0x1ea))/0xa;if(_0x2de743===_0x73043e)break;else _0x454e4c['push'](_0x454e4c['shift']());}catch(_0x1d2174){_0x454e4c['push'](_0x454e4c['shift']());}}}(a58_0x44bb,0xaa9e6));function a58_0x44bb(){const _0x4b92c6=['71268qETbyF','read','export','30699010GmwKeS','296rgLUeU','8715762atMTuP','183QYdEFg','6503185zjKDFm','108649EILfgR','4tKKUAZ','8269170UrUIAi','115528kMtyAF'];a58_0x44bb=function(){return _0x4b92c6;};return a58_0x44bb();}import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x502e11){const _0x1989dd=await buildSchemaPayload();return{'ok':!![],'data':_0x1989dd};}export const schemaDefinition={'service':'schema','command':a58_0x213ba4(0x1e9),'description':'Export\x20machine-readable\x20command\x20schema\x20(JSON)','risk':a58_0x213ba4(0x1e8),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'flags':[],'execute':execute};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x37aaeb,_0x4193c2){const _0xcbd582=a39_0x4052,_0x331b44=_0x37aaeb();while(!![]){try{const _0xd5f61d=-parseInt(_0xcbd582(0x72))/0x1*(-parseInt(_0xcbd582(0xb2))/0x2)+-parseInt(_0xcbd582(0xa8))/0x3+parseInt(_0xcbd582(0x71))/0x4*(parseInt(_0xcbd582(0xba))/0x5)+-parseInt(_0xcbd582(0xc7))/0x6*(parseInt(_0xcbd582(0xa4))/0x7)+-parseInt(_0xcbd582(0x95))/0x8*(parseInt(_0xcbd582(0x8f))/0x9)+parseInt(_0xcbd582(0xb6))/0xa+parseInt(_0xcbd582(0xb4))/0xb;if(_0xd5f61d===_0x4193c2)break;else _0x331b44['push'](_0x331b44['shift']());}catch(_0x106a68){_0x331b44['push'](_0x331b44['shift']());}}}(a39_0x29c3,0x83389));import{compileServiceTreeCommand,matchServiceTreeCommand}from'@lovrabet/cli-framework';import{getLoginUserInfo,listDatasets}from'../../core/api-client.js';import{executeData,executeSdkBff,executeSdkSql}from'../../core/sdk-client.js';import{CliErrors}from'../../errors.js';import{listLocalServices,listLocalServiceTrees}from'../../commands/service/registry.js';import{CLI_BIN_NAME}from'../../constant/cli.js';export function resolveDynamicServiceCommand(_0xe3efa7,_0x1ed0a1){const _0x480b65=a39_0x4052,_0x4ada93=listLocalServiceTrees();let _0x4f21df;for(const _0x253cac of _0x4ada93){const _0x4070dd=matchServiceTreeCommand(_0x253cac,_0xe3efa7);if(!_0x4070dd)continue;(!_0x4f21df||_0x4070dd['command'][_0x480b65(0x6d)][_0x480b65(0xca)]>_0x4f21df[_0x480b65(0xc0)][_0x480b65(0x6d)]['length'])&&(_0x4f21df={'tree':_0x253cac,'command':_0x4070dd[_0x480b65(0xc0)],'remainingArgs':_0x4070dd[_0x480b65(0xa3)]});}if(!_0x4f21df)return undefined;const _0x4664a6={..._0x1ed0a1};return applyAppBinding(_0x4f21df[_0x480b65(0xb7)],_0x4f21df[_0x480b65(0xc0)],_0x4664a6),{'definition':buildDynamicCommandDefinition(_0x4f21df[_0x480b65(0xb7)],_0x4f21df[_0x480b65(0xc0)]),'args':_0x4f21df['remainingArgs'],'flags':_0x4664a6,'tree':_0x4f21df[_0x480b65(0xb7)],'command':_0x4f21df[_0x480b65(0xc0)]};}export function generateDynamicServiceHelp(_0x5eba03){const _0x459455=a39_0x4052,_0x21778c=listLocalServiceTrees()['find'](_0x20be7b=>_0x20be7b[_0x459455(0x69)][_0x459455(0x90)]===_0x5eba03);if(!_0x21778c)return undefined;const _0x23efec=[CLI_BIN_NAME+'\x20'+_0x5eba03+'\x20<command>\x20[flags]','',_0x21778c['service'][_0x459455(0xac)]||_0x5eba03,_0x21778c[_0x459455(0x69)]['description']?'\x20\x20'+_0x21778c['service'][_0x459455(0x7a)]:'','',_0x459455(0x88),..._0x21778c[_0x459455(0x96)][_0x459455(0xb5)](_0x23de4f=>{const _0x27ed25=_0x459455,_0x47030c=_0x23de4f[_0x27ed25(0x6d)][_0x27ed25(0x84)](0x1)[_0x27ed25(0xc8)]('\x20'),_0x40f678=_0x23de4f[_0x27ed25(0x83)]==='read'?'':'\x20['+_0x23de4f['risk']+']';return'\x20\x20'+_0x47030c[_0x27ed25(0x82)](0x18)+'\x20'+(_0x23de4f[_0x27ed25(0x7a)]||'')+_0x40f678;}),'',_0x459455(0x7e)+CLI_BIN_NAME+_0x459455(0xaa)+_0x5eba03+_0x459455(0x6e)]['filter'](Boolean);return _0x23efec['join']('\x0a');}export function listDynamicServiceEntries(){const _0xdfbbe=a39_0x4052;return listLocalServices()[_0xdfbbe(0xb5)](_0x2c7d3a=>{const _0x5026c0=_0xdfbbe,_0x54ff49=_0x2c7d3a['normalizedManifest'];return{'service':_0x54ff49[_0x5026c0(0x69)][_0x5026c0(0x90)],'label':_0x54ff49[_0x5026c0(0x69)][_0x5026c0(0xac)]||_0x54ff49[_0x5026c0(0x69)][_0x5026c0(0x90)],'commands':_0x54ff49[_0x5026c0(0x96)][_0x5026c0(0xb5)](_0x19ccf9=>({'command':dynamicCommandName(_0x19ccf9),'description':_0x19ccf9['description']||_0x5026c0(0x99)+_0x19ccf9[_0x5026c0(0x77)],'tag':riskTag(_0x19ccf9['risk'])}))};});}export function getDynamicServiceEntry(_0x4bfe04){return listDynamicServiceEntries()['find'](_0x5891e0=>_0x5891e0['service']===_0x4bfe04);}export function listDynamicServiceDefinitions(_0x5ae29e){const _0x351015=a39_0x4052;return listLocalServiceTrees()[_0x351015(0xcc)](_0xfc47b4=>!_0x5ae29e||_0xfc47b4['service']['code']===_0x5ae29e)[_0x351015(0xa7)](_0x5ce291=>_0x5ce291['commands'][_0x351015(0xb5)](_0x5c20e5=>buildDynamicCommandDefinition(_0x5ce291,_0x5c20e5)));}export function getDynamicServiceDefinitions(_0x1e8fe){const _0x3f638c=a39_0x4052,_0x46eeff=listDynamicServiceDefinitions(_0x1e8fe);return _0x46eeff[_0x3f638c(0xca)]>0x0?_0x46eeff:undefined;}function a39_0x4052(_0x166f4e,_0x58ee78){_0x166f4e=_0x166f4e-0x66;const _0x29c35d=a39_0x29c3();let _0x405273=_0x29c35d[_0x166f4e];return _0x405273;}export function findDynamicServiceDefinition(_0xf74e61,_0x4882bc){const _0x5a9996=a39_0x4052;return listDynamicServiceDefinitions(_0xf74e61)[_0x5a9996(0x91)](_0x3c1df0=>_0x3c1df0[_0x5a9996(0xc0)]===_0x4882bc);}export function buildDynamicCommandDefinition(_0xd199ca,_0x512749){const _0xaa5527=a39_0x4052;return{'service':_0xd199ca[_0xaa5527(0x69)][_0xaa5527(0x90)],'command':dynamicCommandName(_0x512749),'description':_0x512749[_0xaa5527(0x7a)]||_0xaa5527(0x99)+_0x512749[_0xaa5527(0x77)],'risk':_0x512749[_0xaa5527(0x83)],..._0x512749['risk']===_0xaa5527(0xb8)?{}:{'confirmationDescription':buildDynamicConfirmationDescription(_0x512749)},'requiresAuth':!![],'requiresAppCode':!![],'args':_0x512749['args'][_0xaa5527(0xb5)](_0x231740=>({'name':_0x231740[_0xaa5527(0xac)],'description':_0x231740[_0xaa5527(0x7a)]||_0x231740[_0xaa5527(0xac)],'required':_0x231740[_0xaa5527(0x87)]})),'flags':_0x512749[_0xaa5527(0x6c)][_0xaa5527(0xb5)](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x512749),async 'dryRun'(_0xf3db4a){const _0x33573c=_0xaa5527,_0x4aa784=await compilePlan(_0x512749,_0xf3db4a);return{'method':_0x33573c(0x70),'url':_0x512749['cliPath'],'body':{'target':targetPreview(_0x4aa784),'params':_0x4aa784[_0x33573c(0xc1)]},'description':'Preview\x20dynamic\x20service\x20command:\x20'+_0x512749[_0x33573c(0x77)]};},async 'execute'(_0x34cdf8){const _0x35244d=_0xaa5527,_0x577a4e=await compilePlan(_0x512749,_0x34cdf8),_0x3832fb=Date[_0x35244d(0xb0)](),_0x11d8a0=await executePlan(_0x577a4e,_0x512749,_0x34cdf8),_0x2bc867=Date[_0x35244d(0xb0)]()-_0x3832fb;return{'ok':!![],'data':{'service':_0xd199ca[_0x35244d(0x69)],'command':_0x512749[_0x35244d(0x77)],'target':targetPreview(_0x577a4e),'result':_0x11d8a0,'elapsed':_0x2bc867},'message':'Service\x20command\x20'+_0x512749[_0x35244d(0x77)]+_0x35244d(0x7b)+_0x2bc867+'ms'};}};}function buildDynamicConfirmationDescription(_0x5e1861){const _0x132268=a39_0x4052,_0x22ed6f=_0x5e1861[_0x132268(0x7a)]||_0x5e1861[_0x132268(0x77)],_0x470572=_0x5e1861[_0x132268(0x83)]===_0x132268(0x6b)?_0x132268(0x74):'该命令被清单标记为写入,可能修改业务数据或服务状态。';return'将通过\x20Service\x20Tree\x20执行“'+_0x22ed6f+'”。'+_0x470572;}function dynamicCommandName(_0x37b1c0){const _0x22f402=a39_0x4052;return _0x37b1c0[_0x22f402(0x6d)][_0x22f402(0x84)](0x1)[_0x22f402(0xc8)]('\x20');}function riskTag(_0x23b56b){const _0x253cd6=a39_0x4052;return _0x23b56b===_0x253cd6(0xb8)?'':'\x20\x20['+_0x23b56b+']';}function flagToCommandFlag(_0x3a8088){const _0x20f153=a39_0x4052;return{'name':_0x3a8088[_0x20f153(0x98)],'type':_0x3a8088[_0x20f153(0x81)]==='json'?'string':_0x3a8088[_0x20f153(0x81)],'description':_0x3a8088[_0x20f153(0x7a)]||_0x3a8088[_0x20f153(0xac)],'required':_0x3a8088['required'],'default':isPrimitiveFlagDefault(_0x3a8088[_0x20f153(0xa9)])?_0x3a8088[_0x20f153(0xa9)]:undefined,'enum':_0x3a8088[_0x20f153(0xc6)]};}async function compilePlan(_0x345381,_0x63b04a){const _0x3b108e=a39_0x4052;return compileServiceTreeCommand(_0x345381,{'flags':_0x63b04a[_0x3b108e(0x85)],'args':_0x63b04a[_0x3b108e(0x9b)],'context':await buildServiceContext(_0x345381,_0x63b04a)});}async function buildServiceContext(_0x3bdb18,_0x10d2ce){const _0x1e7979=a39_0x4052,_0x4eca91={'appCode':_0x10d2ce['appCode'],'env':_0x10d2ce[_0x1e7979(0xc3)],'envName':_0x10d2ce[_0x1e7979(0xc3)]};if(!usesRuntimeContext(_0x3bdb18))return _0x4eca91;const _0x31152e=await getLoginUserInfo(),_0x7b7d7b=pickFirst(_0x31152e[_0x1e7979(0x7f)],_0x31152e['id']);return{..._0x4eca91,'user':_0x31152e,'userId':_0x7b7d7b,'id':_0x31152e['id'],'username':pickFirst(_0x31152e[_0x1e7979(0x66)],_0x31152e['userName'],_0x31152e[_0x1e7979(0x7c)]),'userName':_0x31152e[_0x1e7979(0xb9)],'nickname':pickFirst(_0x31152e[_0x1e7979(0x8c)],_0x31152e['nickName']),'nickName':_0x31152e[_0x1e7979(0xa1)],'tenantCode':_0x31152e[_0x1e7979(0x68)],'employeeId':_0x31152e['employeeId']};}function usesRuntimeContext(_0x4de98c){const _0x577c50=a39_0x4052;return _0x4de98c[_0x577c50(0x7d)][_0x577c50(0x73)](_0x538302=>typeof _0x538302['source']==='string'&&(_0x538302[_0x577c50(0x92)][_0x577c50(0xad)](_0x577c50(0xc9))||_0x538302[_0x577c50(0x92)][_0x577c50(0xad)](_0x577c50(0x94))));}function pickFirst(..._0x242b6d){return _0x242b6d['find'](_0x148333=>_0x148333!==undefined&&_0x148333!==null);}async function executePlan(_0x3c2d08,_0x4f3bb3,_0x50f99d){const _0x109b6f=a39_0x4052;if(_0x3c2d08[_0x109b6f(0xb1)]===_0x109b6f(0x6a)){const _0x874c9c=await resolveDatasetCode(_0x3c2d08,_0x4f3bb3,_0x50f99d);return executeData(_0x874c9c,_0x3c2d08[_0x109b6f(0xc0)],_0x3c2d08[_0x109b6f(0xc1)]);}if(_0x3c2d08[_0x109b6f(0xb1)]===_0x109b6f(0x79)){if(!_0x3c2d08[_0x109b6f(0x9c)])throw CliErrors[_0x109b6f(0xbb)](_0x109b6f(0x8d)+_0x4f3bb3[_0x109b6f(0x77)]+_0x109b6f(0xbe));return executeSdkSql(_0x3c2d08[_0x109b6f(0x9c)],normalizeScalarParams(_0x3c2d08[_0x109b6f(0xc1)]));}if(_0x3c2d08['kind']===_0x109b6f(0x8a)){const _0x595dd3=_0x3c2d08['scriptName']||_0x3c2d08['bffCode']||(_0x3c2d08[_0x109b6f(0x97)]==null?'':String(_0x3c2d08[_0x109b6f(0x97)]));if(!_0x595dd3)throw CliErrors[_0x109b6f(0xbb)](_0x109b6f(0x8d)+_0x4f3bb3[_0x109b6f(0x77)]+'\x20requires\x20target.functionName.');return executeSdkBff(_0x595dd3,_0x3c2d08[_0x109b6f(0xc1)]);}throw CliErrors[_0x109b6f(0xbb)]('Unsupported\x20service\x20target\x20kind:\x20'+_0x3c2d08[_0x109b6f(0xb1)]);}async function resolveDatasetCode(_0x59246d,_0xdf6447,_0x3ac48f){const _0x3fc9da=a39_0x4052;if(_0x59246d[_0x3fc9da(0x9f)])return _0x59246d[_0x3fc9da(0x9f)];if(!_0x59246d['datatable'])throw CliErrors[_0x3fc9da(0xbb)]('Service\x20command\x20'+_0xdf6447[_0x3fc9da(0x77)]+_0x3fc9da(0x8b));const _0x66293f=await listDatasets(_0x3ac48f[_0x3fc9da(0x75)]),_0xbcaff4=_0x66293f['find'](_0x58dc9d=>_0x58dc9d[_0x3fc9da(0x67)]?.[_0x3fc9da(0xbc)]===_0x59246d[_0x3fc9da(0x76)]);if(!_0xbcaff4?.['code'])throw CliErrors[_0x3fc9da(0xbb)](_0x3fc9da(0xaf)+_0x59246d[_0x3fc9da(0x76)]+_0x3fc9da(0xb3)+_0x3ac48f['appCode']+'.','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.');return _0xbcaff4[_0x3fc9da(0x90)];}function a39_0x29c3(){const _0x4d47b4=['trim','enum','1273872NTyjwr','join','context.','length','appBindings','filter','username','dbtableConfig','tenantCode','service','data','high-risk-write','flags','fullPath','`\x20to\x20inspect\x20the\x20manifest.','\x20\x20\x20\x20','SERVICE_TREE','196hGPmgB','58xODLUS','some','该命令被清单标记为高风险写入,可能产生难以恢复的业务变更。','appCode','datatable','cliPath','\x20\x20\x20\x20command:\x20','sql','description','\x20completed\x20in\x20','loginName','mapTo','Use\x20`','userId','appcode','type','padEnd','risk','slice','rawFlags','bffCode','required','Commands:','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.','bff','\x20requires\x20target.datasetCode\x20or\x20target.datatable.','nickname','Service\x20command\x20','\x20\x20\x20\x20datatable:\x20','18WFPNvQ','code','find','source','target','ctx.','3939616fzZMqc','commands','bffId','cliName','Run\x20service\x20command\x20','operator','args','sqlCode','boolean','env','datasetCode','\x20\x20\x20\x20kind:\x20\x20\x20\x20','nickName','\x20->\x20','remainingArgs','28gJBGSG','fromEntries','string','flatMap','2053326HNdAGg','default','\x20service\x20detail\x20--service\x20','Unknown\x20appRef\x20\x22','name','startsWith','\x20\x20\x20\x20functionName:\x20','Cannot\x20resolve\x20datatable\x20\x22','now','kind','19178toeACn','\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20','15896089XtBAPy','map','9192310jKuoYO','tree','read','userName','13835WLAovs','validation','tableName','\x20\x20\x20\x20datasetCode:\x20','\x20requires\x20target.sqlCode.','app','command','params','\x20\x20MAP\x20TO','envName','push'];a39_0x29c3=function(){return _0x4d47b4;};return a39_0x29c3();}function applyAppBinding(_0x3f7d8c,_0x7c32d3,_0x461567){const _0x581631=a39_0x4052,_0x440920=_0x7c32d3['target']['appRef'];if(!_0x440920)return;const _0x5638d6=_0x3f7d8c[_0x581631(0xcb)][_0x440920];if(!_0x5638d6)throw CliErrors['validation'](_0x581631(0xab)+_0x440920+'\x22\x20in\x20service\x20command\x20'+_0x7c32d3['cliPath']+'.',_0x581631(0x89));const _0x1f7e4b=_0x5638d6[_0x581631(0x80)]||_0x5638d6['appCode'];_0x1f7e4b&&!hasText(_0x461567[_0x581631(0x80)])&&(_0x461567[_0x581631(0x80)]=_0x1f7e4b),_0x5638d6[_0x581631(0xbf)]&&!hasText(_0x461567[_0x581631(0xbf)])&&!hasText(_0x461567[_0x581631(0x80)])&&(_0x461567[_0x581631(0xbf)]=_0x5638d6[_0x581631(0xbf)]),_0x5638d6[_0x581631(0x9e)]&&!hasText(_0x461567['env'])&&(_0x461567['env']=_0x5638d6[_0x581631(0x9e)]);}function renderDynamicCommandHelp(_0x433a6d){const _0x1c3404=a39_0x4052,_0x2b15f5=['\x20\x20SERVICE\x20TREE\x20TARGET',_0x1c3404(0xa0)+_0x433a6d[_0x1c3404(0x93)][_0x1c3404(0xb1)],_0x1c3404(0x78)+_0x433a6d[_0x1c3404(0x93)]['command']];if(_0x433a6d[_0x1c3404(0x93)][_0x1c3404(0x9f)])_0x2b15f5['push'](_0x1c3404(0xbd)+_0x433a6d['target'][_0x1c3404(0x9f)]);if(_0x433a6d[_0x1c3404(0x93)][_0x1c3404(0x76)])_0x2b15f5[_0x1c3404(0xc4)](_0x1c3404(0x8e)+_0x433a6d[_0x1c3404(0x93)][_0x1c3404(0x76)]);if(_0x433a6d[_0x1c3404(0x93)][_0x1c3404(0x9c)])_0x2b15f5['push']('\x20\x20\x20\x20sqlCode:\x20'+_0x433a6d[_0x1c3404(0x93)][_0x1c3404(0x9c)]);if(_0x433a6d[_0x1c3404(0x93)]['scriptName'])_0x2b15f5[_0x1c3404(0xc4)](_0x1c3404(0xae)+_0x433a6d['target']['scriptName']);if(_0x433a6d[_0x1c3404(0x7d)][_0x1c3404(0xca)]>0x0){_0x2b15f5[_0x1c3404(0xc4)]('',_0x1c3404(0xc2));for(const _0x167e97 of _0x433a6d[_0x1c3404(0x7d)]){_0x2b15f5[_0x1c3404(0xc4)](_0x1c3404(0x6f)+(_0x167e97['source']||'const')+_0x1c3404(0xa2)+_0x167e97[_0x1c3404(0x93)]+(_0x167e97['operator']?'.'+_0x167e97[_0x1c3404(0x9a)]:''));}}return _0x2b15f5[_0x1c3404(0xc8)]('\x0a');}function targetPreview(_0x70d29d){const _0x2494fd=a39_0x4052;return{'kind':_0x70d29d['kind'],'command':_0x70d29d[_0x2494fd(0xc0)],'appRef':_0x70d29d['appRef'],'datasetCode':_0x70d29d[_0x2494fd(0x9f)],'datatable':_0x70d29d['datatable'],'sqlCode':_0x70d29d[_0x2494fd(0x9c)],'bffCode':_0x70d29d[_0x2494fd(0x86)],'bffId':_0x70d29d[_0x2494fd(0x97)],'functionName':_0x70d29d['scriptName']};}function normalizeScalarParams(_0x40697a){const _0x4745f2=a39_0x4052;return Object[_0x4745f2(0xa5)](Object['entries'](_0x40697a)[_0x4745f2(0xcc)](([,_0x24c7e5])=>typeof _0x24c7e5===_0x4745f2(0xa6)||typeof _0x24c7e5==='number'));}function hasText(_0x2cec7a){const _0x57a060=a39_0x4052;return typeof _0x2cec7a===_0x57a060(0xa6)&&_0x2cec7a[_0x57a060(0xc5)]()[_0x57a060(0xca)]>0x0;}function isPrimitiveFlagDefault(_0x4eaf3f){const _0x4027db=a39_0x4052;return _0x4eaf3f===undefined||typeof _0x4eaf3f===_0x4027db(0xa6)||typeof _0x4eaf3f==='number'||typeof _0x4eaf3f===_0x4027db(0x9d);}
|
|
1
|
+
(function(_0x4a4a54,_0x4e96a7){const _0x260169=a59_0x5d37,_0x1f70c5=_0x4a4a54();while(!![]){try{const _0x422250=-parseInt(_0x260169(0x212))/0x1+parseInt(_0x260169(0x1b6))/0x2*(-parseInt(_0x260169(0x1e0))/0x3)+-parseInt(_0x260169(0x1bf))/0x4*(parseInt(_0x260169(0x1d6))/0x5)+parseInt(_0x260169(0x1c5))/0x6+parseInt(_0x260169(0x1fe))/0x7+parseInt(_0x260169(0x1e2))/0x8+parseInt(_0x260169(0x1f4))/0x9;if(_0x422250===_0x4e96a7)break;else _0x1f70c5['push'](_0x1f70c5['shift']());}catch(_0x55550e){_0x1f70c5['push'](_0x1f70c5['shift']());}}}(a59_0x42e1,0x77837));import{compileServiceTreeCommand,matchServiceTreeCommand}from'@lovrabet/cli-framework';import{getLoginUserInfo,listDatasets}from'../../core/api-client.js';import{executeData,executeSdkBff,executeSdkSql}from'../../core/sdk-client.js';import{CliErrors}from'../../errors.js';import{listLocalServices,listLocalServiceTrees}from'../../commands/service/registry.js';import{CLI_BIN_NAME}from'../../constant/cli.js';export function resolveDynamicServiceCommand(_0x58405a,_0x356875){const _0xef7f25=a59_0x5d37,_0x25e038=listLocalServiceTrees();let _0x2a8585;for(const _0xeb9756 of _0x25e038){const _0x271679=matchServiceTreeCommand(_0xeb9756,_0x58405a);if(!_0x271679)continue;(!_0x2a8585||_0x271679[_0xef7f25(0x1c7)][_0xef7f25(0x1ff)][_0xef7f25(0x1e9)]>_0x2a8585[_0xef7f25(0x1c7)][_0xef7f25(0x1ff)][_0xef7f25(0x1e9)])&&(_0x2a8585={'tree':_0xeb9756,'command':_0x271679['command'],'remainingArgs':_0x271679[_0xef7f25(0x211)]});}if(!_0x2a8585)return undefined;const _0x47872d={..._0x356875};return applyAppBinding(_0x2a8585[_0xef7f25(0x1e1)],_0x2a8585['command'],_0x47872d),{'definition':buildDynamicCommandDefinition(_0x2a8585[_0xef7f25(0x1e1)],_0x2a8585['command']),'args':_0x2a8585[_0xef7f25(0x211)],'flags':_0x47872d,'tree':_0x2a8585[_0xef7f25(0x1e1)],'command':_0x2a8585['command']};}export function generateDynamicServiceHelp(_0x3ade8f){const _0x3cb397=a59_0x5d37,_0x64cadc=listLocalServiceTrees()['find'](_0x46619f=>_0x46619f[_0x3cb397(0x21b)][_0x3cb397(0x1d7)]===_0x3ade8f);if(!_0x64cadc)return undefined;const _0x31a919=[CLI_BIN_NAME+'\x20'+_0x3ade8f+'\x20<command>\x20[flags]','',_0x64cadc['service'][_0x3cb397(0x1cf)]||_0x3ade8f,_0x64cadc['service']['description']?'\x20\x20'+_0x64cadc[_0x3cb397(0x21b)][_0x3cb397(0x1ea)]:'','',_0x3cb397(0x1b8),..._0x64cadc[_0x3cb397(0x1f1)][_0x3cb397(0x1fd)](_0x59d0db=>{const _0x2aeb08=_0x3cb397,_0x46bfec=_0x59d0db['fullPath'][_0x2aeb08(0x219)](0x1)[_0x2aeb08(0x214)]('\x20'),_0x613a48=_0x59d0db[_0x2aeb08(0x1ce)]===_0x2aeb08(0x1f5)?'':'\x20['+_0x59d0db[_0x2aeb08(0x1ce)]+']';return'\x20\x20'+_0x46bfec[_0x2aeb08(0x1b5)](0x18)+'\x20'+(_0x59d0db['description']||'')+_0x613a48;}),'',_0x3cb397(0x1eb)+CLI_BIN_NAME+_0x3cb397(0x1ba)+_0x3ade8f+'`\x20to\x20inspect\x20the\x20manifest.'][_0x3cb397(0x21c)](Boolean);return _0x31a919[_0x3cb397(0x214)]('\x0a');}export function listDynamicServiceEntries(){const _0x2eca4f=a59_0x5d37;return listLocalServices()[_0x2eca4f(0x1fd)](_0x310fed=>{const _0x488e4c=_0x2eca4f,_0x25b90b=_0x310fed[_0x488e4c(0x1c8)];return{'service':_0x25b90b['service'][_0x488e4c(0x1d7)],'label':_0x25b90b['service'][_0x488e4c(0x1cf)]||_0x25b90b['service']['code'],'commands':_0x25b90b[_0x488e4c(0x1f1)]['map'](_0x15f0c4=>({'command':dynamicCommandName(_0x15f0c4),'description':_0x15f0c4[_0x488e4c(0x1ea)]||_0x488e4c(0x218)+_0x15f0c4[_0x488e4c(0x1f8)],'tag':riskTag(_0x15f0c4[_0x488e4c(0x1ce)])}))};});}export function getDynamicServiceEntry(_0x1c5426){const _0x3661b9=a59_0x5d37;return listDynamicServiceEntries()['find'](_0x416f01=>_0x416f01[_0x3661b9(0x21b)]===_0x1c5426);}export function listDynamicServiceDefinitions(_0x1a291f){const _0x35d8e7=a59_0x5d37;return listLocalServiceTrees()['filter'](_0x9f77b7=>!_0x1a291f||_0x9f77b7[_0x35d8e7(0x21b)][_0x35d8e7(0x1d7)]===_0x1a291f)[_0x35d8e7(0x1e8)](_0x347486=>_0x347486['commands'][_0x35d8e7(0x1fd)](_0x3046ec=>buildDynamicCommandDefinition(_0x347486,_0x3046ec)));}export function getDynamicServiceDefinitions(_0x5cdff9){const _0x3fea01=a59_0x5d37,_0x3dfd70=listDynamicServiceDefinitions(_0x5cdff9);return _0x3dfd70[_0x3fea01(0x1e9)]>0x0?_0x3dfd70:undefined;}export function findDynamicServiceDefinition(_0x41c7ac,_0x55a67c){const _0x418946=a59_0x5d37;return listDynamicServiceDefinitions(_0x41c7ac)[_0x418946(0x215)](_0x5e23d0=>_0x5e23d0['command']===_0x55a67c);}export function buildDynamicCommandDefinition(_0x5ebf82,_0x2d3c36){const _0x2d0305=a59_0x5d37;return{'service':_0x5ebf82[_0x2d0305(0x21b)][_0x2d0305(0x1d7)],'command':dynamicCommandName(_0x2d3c36),'description':_0x2d3c36[_0x2d0305(0x1ea)]||'Run\x20service\x20command\x20'+_0x2d3c36['cliPath'],'risk':_0x2d3c36[_0x2d0305(0x1ce)],..._0x2d3c36[_0x2d0305(0x1ce)]==='read'?{}:{'confirmationDescription':buildDynamicConfirmationDescription(_0x2d3c36)},'requiresAuth':!![],'requiresAppCode':!![],'args':_0x2d3c36[_0x2d0305(0x208)][_0x2d0305(0x1fd)](_0x40743e=>({'name':_0x40743e[_0x2d0305(0x1cf)],'description':_0x40743e[_0x2d0305(0x1ea)]||_0x40743e['name'],'required':_0x40743e[_0x2d0305(0x205)]})),'flags':_0x2d3c36[_0x2d0305(0x1b9)][_0x2d0305(0x1fd)](flagToCommandFlag),'helpExtra':()=>renderDynamicCommandHelp(_0x2d3c36),async 'dryRun'(_0x366a6d){const _0x126cb1=_0x2d0305,_0xbbd15c=await compilePlan(_0x2d3c36,_0x366a6d);return{'method':'SERVICE_TREE','url':_0x2d3c36[_0x126cb1(0x1f8)],'body':{'target':targetPreview(_0xbbd15c),'params':_0xbbd15c['params']},'description':_0x126cb1(0x1fc)+_0x2d3c36[_0x126cb1(0x1f8)]};},async 'execute'(_0x5c9c51){const _0x76d95f=_0x2d0305,_0x839763=await compilePlan(_0x2d3c36,_0x5c9c51),_0x29d905=Date[_0x76d95f(0x21d)](),_0x5666f0=await executePlan(_0x839763,_0x2d3c36,_0x5c9c51),_0x206dae=Date[_0x76d95f(0x21d)]()-_0x29d905;return{'ok':!![],'data':{'service':_0x5ebf82['service'],'command':_0x2d3c36['cliPath'],'target':targetPreview(_0x839763),'result':_0x5666f0,'elapsed':_0x206dae},'message':_0x76d95f(0x1c9)+_0x2d3c36[_0x76d95f(0x1f8)]+_0x76d95f(0x1dc)+_0x206dae+'ms'};}};}function a59_0x5d37(_0x3bbe0d,_0x483f6d){_0x3bbe0d=_0x3bbe0d-0x1b0;const _0x42e127=a59_0x42e1();let _0x5d3785=_0x42e127[_0x3bbe0d];return _0x5d3785;}function buildDynamicConfirmationDescription(_0x686261){const _0x40b117=a59_0x5d37,_0xf3c1ad=_0x686261[_0x40b117(0x1ea)]||_0x686261['cliPath'],_0x56a8b8=_0x686261[_0x40b117(0x1ce)]==='high-risk-write'?_0x40b117(0x1c4):_0x40b117(0x1d1);return _0x40b117(0x1b3)+_0xf3c1ad+'”。'+_0x56a8b8;}function dynamicCommandName(_0x2871e3){const _0x3d299f=a59_0x5d37;return _0x2871e3[_0x3d299f(0x1ff)][_0x3d299f(0x219)](0x1)['join']('\x20');}function riskTag(_0x3ade31){const _0x4c20c5=a59_0x5d37;return _0x3ade31==='read'?'':_0x4c20c5(0x21a)+_0x3ade31+']';}function flagToCommandFlag(_0x5e05f8){const _0x4c21b1=a59_0x5d37;return{'name':_0x5e05f8[_0x4c21b1(0x1df)],'type':_0x5e05f8['type']===_0x4c21b1(0x1e5)?_0x4c21b1(0x1e6):_0x5e05f8['type'],'description':_0x5e05f8['description']||_0x5e05f8[_0x4c21b1(0x1cf)],'required':_0x5e05f8[_0x4c21b1(0x205)],'default':isPrimitiveFlagDefault(_0x5e05f8['default'])?_0x5e05f8[_0x4c21b1(0x204)]:undefined,'enum':_0x5e05f8[_0x4c21b1(0x217)]};}async function compilePlan(_0x4084a1,_0x57853c){const _0x1e08fb=a59_0x5d37;return compileServiceTreeCommand(_0x4084a1,{'flags':_0x57853c[_0x1e08fb(0x213)],'args':_0x57853c[_0x1e08fb(0x208)],'context':await buildServiceContext(_0x4084a1,_0x57853c)});}async function buildServiceContext(_0x48919e,_0x540ef5){const _0x30b289=a59_0x5d37,_0x1ca59f={'appCode':_0x540ef5[_0x30b289(0x1ee)],'env':_0x540ef5[_0x30b289(0x1b0)],'envName':_0x540ef5[_0x30b289(0x1b0)]};if(!usesRuntimeContext(_0x48919e))return _0x1ca59f;const _0x459837=await getLoginUserInfo(),_0x3b339b=pickFirst(_0x459837[_0x30b289(0x1ec)],_0x459837['id']);return{..._0x1ca59f,'user':_0x459837,'userId':_0x3b339b,'id':_0x459837['id'],'username':pickFirst(_0x459837[_0x30b289(0x1f3)],_0x459837[_0x30b289(0x1d5)],_0x459837['loginName']),'userName':_0x459837[_0x30b289(0x1d5)],'nickname':pickFirst(_0x459837['nickname'],_0x459837['nickName']),'nickName':_0x459837[_0x30b289(0x1f2)],'tenantCode':_0x459837[_0x30b289(0x20c)],'employeeId':_0x459837[_0x30b289(0x1c3)]};}function usesRuntimeContext(_0x30937f){const _0x38fd54=a59_0x5d37;return _0x30937f[_0x38fd54(0x1f6)][_0x38fd54(0x1b2)](_0x20b6ce=>typeof _0x20b6ce[_0x38fd54(0x20f)]==='string'&&(_0x20b6ce[_0x38fd54(0x20f)][_0x38fd54(0x1de)](_0x38fd54(0x1c0))||_0x20b6ce[_0x38fd54(0x20f)][_0x38fd54(0x1de)](_0x38fd54(0x1cb))));}function pickFirst(..._0x136d68){return _0x136d68['find'](_0x587b5d=>_0x587b5d!==undefined&&_0x587b5d!==null);}function a59_0x42e1(){const _0x4ab510=['mapTo','\x20\x20\x20\x20functionName:\x20','cliPath','scriptName','boolean','\x20->\x20','Preview\x20dynamic\x20service\x20command:\x20','map','2952215OHCLWQ','fullPath','Cannot\x20resolve\x20datatable\x20\x22','env','dbtableConfig','app','default','required','bffCode','operator','args','\x20\x20\x20\x20datatable:\x20','\x20\x20\x20\x20','appRef','tenantCode','datasetCode','\x22\x20to\x20a\x20datasetCode\x20in\x20app\x20','source','\x20requires\x20target.functionName.','remainingArgs','192377zWtUPe','rawFlags','join','find','bff','enum','Run\x20service\x20command\x20','slice','\x20\x20[','service','filter','now','envName','target','some','将通过\x20Service\x20Tree\x20执行“','entries','padEnd','4luZqfg','params','Commands:','flags','\x20service\x20detail\x20--service\x20','\x20\x20\x20\x20sqlCode:\x20','const','sqlCode','\x22\x20in\x20service\x20command\x20','124pYmZOP','context.','\x20requires\x20target.sqlCode.','\x20\x20\x20\x20datasetCode:\x20','employeeId','该命令被清单标记为高风险写入,可能产生难以恢复的业务变更。','1472226sohFCu','\x20\x20\x20\x20command:\x20','command','normalizedManifest','Service\x20command\x20','validation','ctx.','Unsupported\x20service\x20target\x20kind:\x20','\x20\x20SERVICE\x20TREE\x20TARGET','risk','name','Use\x20lovrabet\x20dataset\x20list\x20to\x20confirm\x20the\x20physical\x20table\x20name\x20or\x20add\x20target.datasetCode\x20to\x20the\x20manifest.','该命令被清单标记为写入,可能修改业务数据或服务状态。','bffId','appBindings','number','userName','132985Ceetwt','code','datatable','push','Define\x20the\x20appRef\x20under\x20appBindings\x20or\x20remove\x20target.appRef.','kind','\x20completed\x20in\x20','\x20\x20\x20\x20kind:\x20\x20\x20\x20','startsWith','cliName','1088733wIHodS','tree','6655832VRZqdS','\x20\x20MAP\x20TO','appcode','json','string','sql','flatMap','length','description','Use\x20`','userId','tableName','appCode','trim','Unknown\x20appRef\x20\x22','commands','nickName','username','6598242mgXFFj','read'];a59_0x42e1=function(){return _0x4ab510;};return a59_0x42e1();}async function executePlan(_0x1a305f,_0x1c559c,_0x5d8f82){const _0x47ae4a=a59_0x5d37;if(_0x1a305f[_0x47ae4a(0x1db)]==='data'){const _0x2b4e0d=await resolveDatasetCode(_0x1a305f,_0x1c559c,_0x5d8f82);return executeData(_0x2b4e0d,_0x1a305f[_0x47ae4a(0x1c7)],_0x1a305f[_0x47ae4a(0x1b7)]);}if(_0x1a305f[_0x47ae4a(0x1db)]===_0x47ae4a(0x1e7)){if(!_0x1a305f[_0x47ae4a(0x1bd)])throw CliErrors[_0x47ae4a(0x1ca)](_0x47ae4a(0x1c9)+_0x1c559c[_0x47ae4a(0x1f8)]+_0x47ae4a(0x1c1));return executeSdkSql(_0x1a305f['sqlCode'],normalizeScalarParams(_0x1a305f[_0x47ae4a(0x1b7)]));}if(_0x1a305f[_0x47ae4a(0x1db)]===_0x47ae4a(0x216)){const _0x4ea546=_0x1a305f[_0x47ae4a(0x1f9)]||_0x1a305f[_0x47ae4a(0x206)]||(_0x1a305f[_0x47ae4a(0x1d2)]==null?'':String(_0x1a305f['bffId']));if(!_0x4ea546)throw CliErrors[_0x47ae4a(0x1ca)](_0x47ae4a(0x1c9)+_0x1c559c[_0x47ae4a(0x1f8)]+_0x47ae4a(0x210));return executeSdkBff(_0x4ea546,_0x1a305f['params']);}throw CliErrors[_0x47ae4a(0x1ca)](_0x47ae4a(0x1cc)+_0x1a305f[_0x47ae4a(0x1db)]);}async function resolveDatasetCode(_0x37455b,_0x4df812,_0x5c9ab7){const _0x2b3f56=a59_0x5d37;if(_0x37455b[_0x2b3f56(0x20d)])return _0x37455b['datasetCode'];if(!_0x37455b[_0x2b3f56(0x1d8)])throw CliErrors[_0x2b3f56(0x1ca)]('Service\x20command\x20'+_0x4df812[_0x2b3f56(0x1f8)]+'\x20requires\x20target.datasetCode\x20or\x20target.datatable.');const _0x550e21=await listDatasets(_0x5c9ab7[_0x2b3f56(0x1ee)]),_0x2d6a19=_0x550e21['find'](_0x5df4cc=>_0x5df4cc[_0x2b3f56(0x202)]?.[_0x2b3f56(0x1ed)]===_0x37455b['datatable']);if(!_0x2d6a19?.['code'])throw CliErrors['validation'](_0x2b3f56(0x200)+_0x37455b[_0x2b3f56(0x1d8)]+_0x2b3f56(0x20e)+_0x5c9ab7[_0x2b3f56(0x1ee)]+'.',_0x2b3f56(0x1d0));return _0x2d6a19['code'];}function applyAppBinding(_0x10f3fe,_0x144303,_0x1c80e0){const _0x5299da=a59_0x5d37,_0x511a9d=_0x144303['target']['appRef'];if(!_0x511a9d)return;const _0x5c84b0=_0x10f3fe[_0x5299da(0x1d3)][_0x511a9d];if(!_0x5c84b0)throw CliErrors[_0x5299da(0x1ca)](_0x5299da(0x1f0)+_0x511a9d+_0x5299da(0x1be)+_0x144303[_0x5299da(0x1f8)]+'.',_0x5299da(0x1da));const _0x55ff53=_0x5c84b0['appcode']||_0x5c84b0[_0x5299da(0x1ee)];_0x55ff53&&!hasText(_0x1c80e0['appcode'])&&(_0x1c80e0['appcode']=_0x55ff53),_0x5c84b0[_0x5299da(0x203)]&&!hasText(_0x1c80e0[_0x5299da(0x203)])&&!hasText(_0x1c80e0[_0x5299da(0x1e4)])&&(_0x1c80e0[_0x5299da(0x203)]=_0x5c84b0[_0x5299da(0x203)]),_0x5c84b0[_0x5299da(0x201)]&&!hasText(_0x1c80e0[_0x5299da(0x201)])&&(_0x1c80e0['env']=_0x5c84b0[_0x5299da(0x201)]);}function renderDynamicCommandHelp(_0x47c0e3){const _0xb98829=a59_0x5d37,_0x1ef5e8=[_0xb98829(0x1cd),_0xb98829(0x1dd)+_0x47c0e3['target']['kind'],_0xb98829(0x1c6)+_0x47c0e3['target']['command']];if(_0x47c0e3[_0xb98829(0x1b1)][_0xb98829(0x20d)])_0x1ef5e8[_0xb98829(0x1d9)](_0xb98829(0x1c2)+_0x47c0e3[_0xb98829(0x1b1)][_0xb98829(0x20d)]);if(_0x47c0e3['target']['datatable'])_0x1ef5e8[_0xb98829(0x1d9)](_0xb98829(0x209)+_0x47c0e3[_0xb98829(0x1b1)][_0xb98829(0x1d8)]);if(_0x47c0e3[_0xb98829(0x1b1)][_0xb98829(0x1bd)])_0x1ef5e8[_0xb98829(0x1d9)](_0xb98829(0x1bb)+_0x47c0e3[_0xb98829(0x1b1)][_0xb98829(0x1bd)]);if(_0x47c0e3[_0xb98829(0x1b1)][_0xb98829(0x1f9)])_0x1ef5e8[_0xb98829(0x1d9)](_0xb98829(0x1f7)+_0x47c0e3[_0xb98829(0x1b1)][_0xb98829(0x1f9)]);if(_0x47c0e3[_0xb98829(0x1f6)]['length']>0x0){_0x1ef5e8[_0xb98829(0x1d9)]('',_0xb98829(0x1e3));for(const _0x5e2ac7 of _0x47c0e3[_0xb98829(0x1f6)]){_0x1ef5e8[_0xb98829(0x1d9)](_0xb98829(0x20a)+(_0x5e2ac7['source']||_0xb98829(0x1bc))+_0xb98829(0x1fb)+_0x5e2ac7[_0xb98829(0x1b1)]+(_0x5e2ac7[_0xb98829(0x207)]?'.'+_0x5e2ac7[_0xb98829(0x207)]:''));}}return _0x1ef5e8['join']('\x0a');}function targetPreview(_0x2ef79d){const _0xf35d5=a59_0x5d37;return{'kind':_0x2ef79d[_0xf35d5(0x1db)],'command':_0x2ef79d['command'],'appRef':_0x2ef79d[_0xf35d5(0x20b)],'datasetCode':_0x2ef79d[_0xf35d5(0x20d)],'datatable':_0x2ef79d[_0xf35d5(0x1d8)],'sqlCode':_0x2ef79d[_0xf35d5(0x1bd)],'bffCode':_0x2ef79d['bffCode'],'bffId':_0x2ef79d[_0xf35d5(0x1d2)],'functionName':_0x2ef79d[_0xf35d5(0x1f9)]};}function normalizeScalarParams(_0x4283a0){const _0x5c70ba=a59_0x5d37;return Object['fromEntries'](Object[_0x5c70ba(0x1b4)](_0x4283a0)[_0x5c70ba(0x21c)](([,_0x91c4a1])=>typeof _0x91c4a1===_0x5c70ba(0x1e6)||typeof _0x91c4a1===_0x5c70ba(0x1d4)));}function hasText(_0x5b7303){const _0x5f2212=a59_0x5d37;return typeof _0x5b7303===_0x5f2212(0x1e6)&&_0x5b7303[_0x5f2212(0x1ef)]()[_0x5f2212(0x1e9)]>0x0;}function isPrimitiveFlagDefault(_0xc53005){const _0x1e55e8=a59_0x5d37;return _0xc53005===undefined||typeof _0xc53005==='string'||typeof _0xc53005===_0x1e55e8(0x1d4)||typeof _0xc53005===_0x1e55e8(0x1fa);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x5a3c84,_0x3af5ce){const _0x149cea=a60_0x33cf,_0x34cc38=_0x5a3c84();while(!![]){try{const _0x45cbe3=parseInt(_0x149cea(0x141))/0x1+parseInt(_0x149cea(0x12a))/0x2*(-parseInt(_0x149cea(0x132))/0x3)+parseInt(_0x149cea(0x135))/0x4*(parseInt(_0x149cea(0x143))/0x5)+-parseInt(_0x149cea(0x144))/0x6+-parseInt(_0x149cea(0x125))/0x7+parseInt(_0x149cea(0x12b))/0x8*(-parseInt(_0x149cea(0x13c))/0x9)+parseInt(_0x149cea(0x149))/0xa;if(_0x45cbe3===_0x3af5ce)break;else _0x34cc38['push'](_0x34cc38['shift']());}catch(_0x354b8e){_0x34cc38['push'](_0x34cc38['shift']());}}}(a60_0x44e7,0x93b54));export function adaptServiceTreeManifestForLegacyFramework(_0x4814a5){const _0x5c65d9=a60_0x33cf,_0x57210d=cloneJsonValue(_0x4814a5),_0x57e9c2=[];if(!isObjectRecord(_0x57210d))return{'manifest':_0x57210d,'errors':_0x57e9c2};return Array[_0x5c65d9(0x140)](_0x57210d[_0x5c65d9(0x13e)])&&_0x57210d[_0x5c65d9(0x13e)][_0x5c65d9(0x14a)]((_0x4e4dac,_0x58d435)=>{const _0x6a593f=_0x5c65d9;if(!isObjectRecord(_0x4e4dac))return;adaptBffTarget(_0x4e4dac['target'],_0x6a593f(0x134)+_0x58d435+'].target',_0x57e9c2);}),adaptResources(_0x57210d['resources'],_0x5c65d9(0x133),_0x57e9c2),{'manifest':_0x57210d,'errors':_0x57e9c2};}export function toPublicServiceTreeTarget(_0x417574){const _0x251b06=a60_0x33cf,{scriptName:_0x5ec92c,..._0x83c9e1}=_0x417574;return typeof _0x5ec92c===_0x251b06(0x13b)&&_0x5ec92c[_0x251b06(0x146)]()&&(_0x83c9e1['functionName']=_0x5ec92c),_0x83c9e1;}export function toPublicNormalizedServiceTree(_0x5e83a4){const _0x5ba677=a60_0x33cf;return{..._0x5e83a4,'commands':_0x5e83a4[_0x5ba677(0x13e)][_0x5ba677(0x12c)](_0x316eda=>({..._0x316eda,'target':toPublicServiceTreeTarget(_0x316eda[_0x5ba677(0x127)])}))};}function adaptResources(_0xe8444,_0x20c3a4,_0x4b1dc9){const _0x4f1ed7=a60_0x33cf;if(!isObjectRecord(_0xe8444))return;for(const [_0x5c61e0,_0x34f6c2]of Object[_0x4f1ed7(0x142)](_0xe8444)){if(!isObjectRecord(_0x34f6c2))continue;const _0x532c8c=_0x20c3a4+'.'+_0x5c61e0;if(isObjectRecord(_0x34f6c2['actions']))for(const [_0x5e7346,_0x1e0938]of Object[_0x4f1ed7(0x142)](_0x34f6c2[_0x4f1ed7(0x13d)])){if(!isObjectRecord(_0x1e0938))continue;const _0x44d44a=_0x532c8c+_0x4f1ed7(0x13f)+_0x5e7346,_0x407799=isObjectRecord(_0x1e0938[_0x4f1ed7(0x127)])&&_0x1e0938['target'][_0x4f1ed7(0x138)]===_0x4f1ed7(0x147);adaptBffTarget(_0x1e0938[_0x4f1ed7(0x127)],_0x44d44a+_0x4f1ed7(0x139),_0x4b1dc9),(_0x407799||isBffAction(_0x1e0938))&&adaptFunctionNameField(_0x1e0938,_0x44d44a,_0x4b1dc9);}adaptResources(_0x34f6c2['resources'],_0x532c8c+_0x4f1ed7(0x129),_0x4b1dc9);}}function adaptBffTarget(_0x139362,_0x523562,_0xdc06b2){const _0x3046d8=a60_0x33cf;if(!isObjectRecord(_0x139362)||_0x139362[_0x3046d8(0x138)]!=='bff')return;adaptFunctionNameField(_0x139362,_0x523562,_0xdc06b2);}function a60_0x33cf(_0x56ba1b,_0x4627dc){_0x56ba1b=_0x56ba1b-0x125;const _0x44e7fd=a60_0x44e7();let _0x33cf72=_0x44e7fd[_0x56ba1b];return _0x33cf72;}function adaptFunctionNameField(_0x1f50c6,_0x4fca08,_0x2cac9a){const _0x450182=a60_0x33cf;Object[_0x450182(0x137)][_0x450182(0x12e)][_0x450182(0x128)](_0x1f50c6,'scriptName')&&_0x2cac9a['push']({'level':_0x450182(0x145),'path':_0x4fca08+_0x450182(0x148),'message':'Use\x20functionName;\x20scriptName\x20is\x20not\x20part\x20of\x20the\x20runtime\x20Service\x20Tree\x20contract.'});if(Object[_0x450182(0x137)][_0x450182(0x12e)][_0x450182(0x128)](_0x1f50c6,_0x450182(0x13a))){if(typeof _0x1f50c6[_0x450182(0x13a)]!==_0x450182(0x13b)||!_0x1f50c6['functionName'][_0x450182(0x146)]()){_0x2cac9a[_0x450182(0x12f)]({'level':'error','path':_0x4fca08+_0x450182(0x12d),'message':_0x450182(0x136)}),delete _0x1f50c6[_0x450182(0x13a)];return;}_0x1f50c6['scriptName']=_0x1f50c6[_0x450182(0x13a)],delete _0x1f50c6[_0x450182(0x13a)];}}function isBffAction(_0x2bbff5){const _0x465a2c=a60_0x33cf;return _0x2bbff5[_0x465a2c(0x138)]===_0x465a2c(0x147)||_0x2bbff5[_0x465a2c(0x126)]===_0x465a2c(0x130)||_0x2bbff5['target']===_0x465a2c(0x130);}function cloneJsonValue(_0x23addf){const _0x3087e4=a60_0x33cf;if(Array[_0x3087e4(0x140)](_0x23addf))return _0x23addf[_0x3087e4(0x12c)](_0x1464b=>cloneJsonValue(_0x1464b));if(isObjectRecord(_0x23addf))return Object[_0x3087e4(0x131)](Object[_0x3087e4(0x142)](_0x23addf)[_0x3087e4(0x12c)](([_0x12ca19,_0x17a651])=>[_0x12ca19,cloneJsonValue(_0x17a651)]));return _0x23addf;}function isObjectRecord(_0xbf442f){const _0x2a098e=a60_0x33cf;return Boolean(_0xbf442f)&&typeof _0xbf442f==='object'&&!Array[_0x2a098e(0x140)](_0xbf442f);}function a60_0x44e7(){const _0x2102c7=['7444BFzbsT','functionName\x20must\x20be\x20a\x20non-empty\x20string.','prototype','kind','.target','functionName','string','10249299gfKwve','actions','commands','.actions.','isArray','1063498rMEWMJ','entries','1905hvBpHu','3929730Mkgjqv','error','trim','bff','.scriptName','19530830tEsECk','forEach','5171908gCALmT','action','target','call','.resources','4000LHFaUh','8CxylaU','map','.functionName','hasOwnProperty','push','bff.exec','fromEntries','882XaOpqN','$.resources','$.commands['];a60_0x44e7=function(){return _0x2102c7;};return a60_0x44e7();}
|