@lovrabet/lovrabet-cli 2.3.1 → 2.3.2-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/README.md +10 -8
- 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/init.d.ts +1 -2
- package/lib/commands/config/init.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.js +1 -1
- package/lib/commands/notification/index.js +1 -1
- package/lib/commands/notification/shared.d.ts +0 -3
- package/lib/commands/notification/shared.js +1 -1
- package/lib/commands/ocr/index.js +1 -1
- package/lib/commands/permit/dataset-get.js +1 -1
- package/lib/commands/permit/dataset-set.js +1 -1
- package/lib/commands/permit/index.js +1 -1
- package/lib/commands/permit/page-get.js +1 -1
- package/lib/commands/permit/page-set.js +1 -1
- package/lib/commands/permit/role-menus-set.js +1 -1
- package/lib/commands/permit/role-menus.js +1 -1
- package/lib/commands/permit/shared.js +1 -1
- package/lib/commands/personal-bff/index.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/role/create.js +1 -1
- package/lib/commands/role/delete.js +1 -1
- package/lib/commands/role/detail.js +1 -1
- package/lib/commands/role/index.js +1 -1
- package/lib/commands/role/list.js +1 -1
- package/lib/commands/role/shared.d.ts +2 -0
- package/lib/commands/role/shared.js +1 -1
- package/lib/commands/role/update.js +1 -1
- package/lib/commands/role/user-add.js +1 -1
- package/lib/commands/role/user-remove.js +1 -1
- package/lib/commands/schedule/index.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/service/dynamic.js +1 -1
- package/lib/commands/service/function-name-adapter.js +1 -1
- package/lib/commands/service/index.js +1 -1
- package/lib/commands/service/registry.js +1 -1
- package/lib/commands/skill/commands/create.js +1 -1
- package/lib/commands/skill/commands/diagram.js +1 -1
- package/lib/commands/skill/commands/install.js +1 -1
- package/lib/commands/skill/commands/list.js +1 -1
- package/lib/commands/skill/commands/push.js +1 -1
- package/lib/commands/skill/commands/validate.js +1 -1
- package/lib/commands/skill/diagram.js +1 -1
- package/lib/commands/skill/flags.js +1 -1
- package/lib/commands/skill/index.js +1 -1
- package/lib/commands/skill/manifest-helpers.js +1 -1
- package/lib/commands/skill/push-execute.js +1 -1
- package/lib/commands/skill/push-flow-helpers.js +1 -1
- package/lib/commands/skill/push-retarget.js +1 -1
- package/lib/commands/skill/scopes.js +1 -1
- package/lib/commands/skill/summary.js +1 -1
- package/lib/commands/skill/templates.js +1 -1
- package/lib/commands/skill/validate.js +1 -1
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/update.js +1 -1
- package/lib/commands/user-account/bind.js +1 -1
- package/lib/commands/user-account/index.js +1 -1
- package/lib/commands/workspace/index.js +1 -1
- package/lib/config/domain-config.d.ts +6 -14
- package/lib/config/domain-config.js +1 -1
- package/lib/config/schema.d.ts +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.d.ts +0 -3
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/product.js +1 -1
- package/lib/constant/region.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/constant/url.js +1 -1
- package/lib/context.js +1 -1
- package/lib/core/api-client.d.ts +5 -10
- package/lib/core/api-client.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/kb-search-client.js +1 -1
- package/lib/core/sdk-client.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/dryrun.js +1 -1
- package/lib/framework/flags.js +1 -1
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/preparse.js +1 -1
- package/lib/framework/rate-limit.js +1 -1
- package/lib/framework/raw-flags.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-confirmation.js +1 -1
- package/lib/framework/runner-error.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/service-order.js +1 -1
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.d.ts +4 -4
- package/lib/generated/build-info.js +1 -1
- package/lib/generated/official-routing.d.ts +1 -5
- package/lib/generated/official-routing.js +1 -1
- package/lib/generated/routing-contract.d.ts +3 -7
- package/lib/generated/routing-contract.js +1 -1
- package/lib/help.js +1 -1
- package/lib/postinstall.js +1 -1
- package/lib/runtime/confirmation.js +1 -1
- package/lib/runtime/event.js +1 -1
- package/lib/runtime/index.js +1 -1
- package/lib/runtime/queue.js +1 -1
- package/lib/runtime/resolve.js +1 -1
- package/lib/skills/builtin-skill.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/skills/runtime-skill-sync/constants.js +1 -1
- package/lib/skills/runtime-skill-sync/fs-utils.js +1 -1
- package/lib/skills/runtime-skill-sync/hashing.js +1 -1
- package/lib/skills/runtime-skill-sync/install-target.js +1 -1
- package/lib/skills/runtime-skill-sync/links.js +1 -1
- package/lib/skills/runtime-skill-sync/list-local.js +1 -1
- package/lib/skills/runtime-skill-sync/local-files.js +1 -1
- package/lib/skills/runtime-skill-sync/materialize.js +1 -1
- package/lib/skills/runtime-skill-sync/metadata.js +1 -1
- package/lib/skills/runtime-skill-sync/paths.js +1 -1
- package/lib/skills/runtime-skill-sync/push.js +1 -1
- package/lib/skills/runtime-skill-sync/scopes.js +1 -1
- package/lib/skills/runtime-skill-sync/zip-codec.js +1 -1
- package/lib/skills/runtime-skill-sync/zip-package.js +1 -1
- package/lib/skills/runtime-skill-sync.js +1 -1
- package/lib/skills/skill-presence.js +1 -1
- package/lib/utils/access-key-redaction.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/cli-version-check.js +1 -1
- package/lib/utils/cli-version-policy.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/lossless-json.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/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 +2 -1
- package/skills/lovrabet/SKILL.md +4 -4
- package/skills/lovrabet/guides/role-and-permission-workflow.md +6 -4
- package/skills/lovrabet/references/lovrabet-config-commands.md +7 -11
- package/skills/lovrabet/references/lovrabet-config.md +2 -3
- package/skills/lovrabet/references/lovrabet-doctor.md +1 -1
- package/skills/lovrabet/references/lovrabet-kb-workflow.md +1 -1
- package/skills/lovrabet/references/lovrabet-notification-config-list.md +2 -8
- package/skills/lovrabet.manifest.json +3 -3
- package/lib/utils/platform.d.ts +0 -17
- package/lib/utils/platform.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a40_0x1d7269=a40_0x4866;(function(_0x39db58,_0x15aa5f){const _0x153953=a40_0x4866,_0x119e02=_0x39db58();while(!![]){try{const _0x5796fa=-parseInt(_0x153953(0xda))/0x1+-parseInt(_0x153953(0xc3))/0x2*(parseInt(_0x153953(0xdb))/0x3)+-parseInt(_0x153953(0xd9))/0x4*(-parseInt(_0x153953(0xab))/0x5)+parseInt(_0x153953(0xc0))/0x6+-parseInt(_0x153953(0xba))/0x7+-parseInt(_0x153953(0xca))/0x8+-parseInt(_0x153953(0xc9))/0x9*(-parseInt(_0x153953(0xb2))/0xa);if(_0x5796fa===_0x15aa5f)break;else _0x119e02['push'](_0x119e02['shift']());}catch(_0x4fd1a3){_0x119e02['push'](_0x119e02['shift']());}}}(a40_0x4eba,0x900a1));import{listRuntimeDatasetRolePermits,listRuntimePermitRoles,saveRuntimeDatasetRolePermits}from'../../core/api-client.js';function a40_0x4866(_0x23a2ea,_0x2d83c6){_0x23a2ea=_0x23a2ea-0x9d;const _0x4eba93=a40_0x4eba();let _0x4866f5=_0x4eba93[_0x23a2ea];return _0x4866f5;}function a40_0x4eba(){const _0x595623=['permitId','length','permitList','--actions','--datasets','rolePermit','operation','148uerMBF','506842UqkghL','633HdMrHl','resourceName','dataset-set','string','DATA_DETAIL','\x20for\x20role\x20','POST','map','Grant\x20or\x20revoke\x20selected\x20runtime\x20dataset\x20actions\x20for\x20one\x20role','warnings','datasets','Runtime\x20dataset\x20','str','before','/client/permit/resource/batch-save-dataset','75345UhsNjj','dataset-','grant','bool','Comma-separated\x20runtime\x20dataset\x20codes','Preview:\x20','body','114570EFmSlR','validation','resourceType','datasetCodes','includes','DATA_EXPORT','dataPermitList','high-risk-write','5693149rHwsAl','DATA_DELETE','toUpperCase','DATA_ROW','roles','join','463068kzVYWP','actions','push','2696CAHklQ','Invalid\x20dataset\x20actions:\x20','\x20selected\x20runtime\x20dataset\x20actions','after','role','revoke','1503aPrGJk','2827904JAgsIq','Dataset\x20','appCode','description','changed','build','DATA_CREATE','filter'];a40_0x4eba=function(){return _0x595623;};return a40_0x4eba();}import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';import{resolveRuntimeRoleRef}from'../../commands/role/shared.js';import{applyRuntimeRolePermission,assertGrantOrRevoke,assertRuntimePermissionManager,assertRuntimePermitRoleConfigurable,GRANT_FLAG,REVOKE_FLAG,ROLE_REF_FLAG,runtimePermitWriteResult,splitRefs}from'../../commands/permit/shared.js';const DATA_ACTIONS=[a40_0x1d7269(0xd0),'DATA_UPDATE',a40_0x1d7269(0xbb),a40_0x1d7269(0xa0),a40_0x1d7269(0xb7),a40_0x1d7269(0xbd)],DATASETS_FLAG={'name':a40_0x1d7269(0xa6),'type':'string','required':!![],'description':a40_0x1d7269(0xaf)},ACTIONS_FLAG={'name':a40_0x1d7269(0xc1),'type':a40_0x1d7269(0x9f),'required':!![],'description':'Comma-separated\x20actions:\x20'+DATA_ACTIONS[a40_0x1d7269(0xbf)](',\x20')};async function prepare(_0x5070d3){const _0x20cb1d=a40_0x1d7269;await assertRuntimePermissionManager(_0x5070d3[_0x20cb1d(0xcc)]);const _0x1b0e18=assertGrantOrRevoke(_0x5070d3[_0x20cb1d(0xae)](_0x20cb1d(0xad)),_0x5070d3[_0x20cb1d(0xae)](_0x20cb1d(0xc8))),_0x143123=await resolveRuntimeRoleRef(_0x5070d3[_0x20cb1d(0xcc)],_0x5070d3[_0x20cb1d(0xa8)]('role'));assertRuntimePermitRoleConfigurable(_0x143123);const _0x5d456c=splitRefs(_0x5070d3['str'](_0x20cb1d(0xa6)),_0x20cb1d(0xd6)),_0x501ce5=[...new Set(splitRefs(_0x5070d3[_0x20cb1d(0xa8)](_0x20cb1d(0xc1)),_0x20cb1d(0xd5))[_0x20cb1d(0xa3)](_0x38c16b=>_0x38c16b[_0x20cb1d(0xbc)]()))],_0x2d830f=_0x501ce5[_0x20cb1d(0xd1)](_0x575b20=>!DATA_ACTIONS[_0x20cb1d(0xb6)](_0x575b20));if(_0x2d830f[_0x20cb1d(0xd3)]>0x0)throw CliErrors[_0x20cb1d(0xb3)](_0x20cb1d(0xc4)+_0x2d830f[_0x20cb1d(0xbf)](',\x20')+'.');const _0x25e595=await listRuntimeDatasetRolePermits(_0x5070d3[_0x20cb1d(0xcc)]),_0x2bda74=await listRuntimePermitRoles(_0x5070d3['appCode']),_0x1c0f47=[],_0x5d3c05=[],_0x356839=[],_0x36b219=[];for(const _0x2961a0 of _0x5d456c){const _0x2dc9d3=_0x25e595['find'](_0xc466b3=>_0xc466b3['datasetCode']===_0x2961a0);if(!_0x2dc9d3)throw CliErrors['validation'](_0x20cb1d(0xa7)+_0x2961a0+'\x20was\x20not\x20found.');for(const _0x5b4c3f of _0x501ce5){const _0x3b8a0c=_0x2dc9d3[_0x20cb1d(0xb8)]['find'](_0x5b20b6=>_0x5b20b6[_0x20cb1d(0xb4)]===_0x5b4c3f);if(!_0x3b8a0c)throw CliErrors[_0x20cb1d(0xb3)](_0x20cb1d(0xcb)+_0x2961a0+'\x20does\x20not\x20expose\x20'+_0x5b4c3f+'.');const _0x16c75c=applyRuntimeRolePermission(_0x3b8a0c[_0x20cb1d(0xd7)],_0x143123,_0x2bda74,_0x1b0e18);_0x5d3c05['push']({'datasetCode':_0x2961a0,'resourceType':_0x5b4c3f,'rolePermit':_0x3b8a0c[_0x20cb1d(0xd7)]}),_0x356839[_0x20cb1d(0xc2)]({'datasetCode':_0x2961a0,'resourceType':_0x5b4c3f,'rolePermit':_0x16c75c['roles']}),_0x16c75c[_0x20cb1d(0xce)]?_0x1c0f47[_0x20cb1d(0xc2)]({..._0x3b8a0c[_0x20cb1d(0xd2)]!=null?{'id':_0x3b8a0c['permitId']}:{},'appCode':_0x5070d3[_0x20cb1d(0xcc)],'resourceCode':_0x2961a0,'resourceType':_0x5b4c3f,'resourceName':_0x3b8a0c[_0x20cb1d(0x9d)],'rolePermit':_0x16c75c[_0x20cb1d(0xbe)]}):_0x36b219['push'](_0x2961a0+'/'+_0x5b4c3f+'\x20already\x20reflects\x20'+_0x1b0e18+_0x20cb1d(0xa1)+_0x143123['id']+'.');}}return{'operation':_0x1b0e18,'role':_0x143123,'datasetCodes':_0x5d456c,'actions':_0x501ce5,'permitList':_0x1c0f47,'before':_0x5d3c05,'after':_0x356839,'warnings':_0x36b219};}export const permitDatasetSet={'service':'permit','command':a40_0x1d7269(0x9e),'description':a40_0x1d7269(0xa4),'risk':a40_0x1d7269(0xb9),'confirmationDescription':'Grants\x20or\x20revokes\x20the\x20target\x20role\x20permission\x20for\x20the\x20given\x20dataset\x20actions.\x20Data\x20operations\x20for\x20users\x20in\x20that\x20role\x20will\x20change.','flags':[ROLE_REF_FLAG,GRANT_FLAG,REVOKE_FLAG,DATASETS_FLAG,ACTIONS_FLAG],async 'validate'(_0xfcfdf8){const _0x34bc38=a40_0x1d7269;assertGrantOrRevoke(_0xfcfdf8[_0x34bc38(0xae)](_0x34bc38(0xad)),_0xfcfdf8[_0x34bc38(0xae)](_0x34bc38(0xc8)));},async 'dryRun'(_0x44b12e){const _0x548c45=a40_0x1d7269,_0x556edf=await prepare(_0x44b12e);return dryRun('POST','/client/permit/resource/batch-save-dataset')[_0x548c45(0xb1)]({'appCode':_0x44b12e['appCode'],'permitList':_0x556edf[_0x548c45(0xd4)]})[_0x548c45(0xcd)](_0x548c45(0xb0)+_0x556edf['operation']+_0x548c45(0xc5))[_0x548c45(0xcf)]();},async 'execute'(_0x437312){const _0x5be001=a40_0x1d7269,_0x15e211=await prepare(_0x437312);return _0x15e211['permitList'][_0x5be001(0xd3)]>0x0&&await saveRuntimeDatasetRolePermits(_0x437312[_0x5be001(0xcc)],_0x15e211[_0x5be001(0xd4)]),{'ok':!![],'data':runtimePermitWriteResult(_0x5be001(0xac)+_0x15e211[_0x5be001(0xd8)],{'roleId':_0x15e211[_0x5be001(0xc7)]['id'],'datasetCodes':_0x15e211[_0x5be001(0xb5)],'actions':_0x15e211[_0x5be001(0xc1)]},_0x15e211[_0x5be001(0xa9)],_0x15e211[_0x5be001(0xc6)],{'method':_0x5be001(0xa2),'path':_0x5be001(0xaa)},_0x15e211[_0x5be001(0xa5)])};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x2c4133,_0x508c44){const _0x11a06b=a41_0x4053,_0x16081c=_0x2c4133();while(!![]){try{const _0x4c98a6=parseInt(_0x11a06b(0x1ca))/0x1*(-parseInt(_0x11a06b(0x1c2))/0x2)+-parseInt(_0x11a06b(0x1c7))/0x3+-parseInt(_0x11a06b(0x1c0))/0x4*(parseInt(_0x11a06b(0x1c5))/0x5)+-parseInt(_0x11a06b(0x1c6))/0x6*(parseInt(_0x11a06b(0x1c9))/0x7)+-parseInt(_0x11a06b(0x1cb))/0x8*(parseInt(_0x11a06b(0x1bf))/0x9)+parseInt(_0x11a06b(0x1c4))/0xa*(parseInt(_0x11a06b(0x1c3))/0xb)+-parseInt(_0x11a06b(0x1c1))/0xc*(-parseInt(_0x11a06b(0x1c8))/0xd);if(_0x4c98a6===_0x508c44)break;else _0x16081c['push'](_0x16081c['shift']());}catch(_0x5c4353){_0x16081c['push'](_0x16081c['shift']());}}}(a41_0x2a3d,0x92fcb));import{permitPageGet}from'../../commands/permit/page-get.js';import{permitPageSet}from'../../commands/permit/page-set.js';function a41_0x2a3d(){const _0x171501=['1205lLZOVV','1218zIlmpK','1646856NpLiIX','806exuezw','11494qSAHVO','1MFXaPk','696uOyRcw','46539fRdyiR','17416assaVE','591612zuSeaX','289228KPxUVO','157256XdWxPS','50WfBZzg'];a41_0x2a3d=function(){return _0x171501;};return a41_0x2a3d();}import{permitRoleMenus}from'../../commands/permit/role-menus.js';function a41_0x4053(_0x549d73,_0x2cfe10){_0x549d73=_0x549d73-0x1bf;const _0x2a3d13=a41_0x2a3d();let _0x405317=_0x2a3d13[_0x549d73];return _0x405317;}import{permitRoleMenusSet}from'../../commands/permit/role-menus-set.js';import{permitDatasetGet}from'../../commands/permit/dataset-get.js';import{permitDatasetSet}from'../../commands/permit/dataset-set.js';export const permitDefinitions=[permitPageGet,permitPageSet,permitRoleMenus,permitRoleMenusSet,permitDatasetGet,permitDatasetSet];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a42_0x5841b2=a42_0x5d0e;function a42_0x2561(){const _0x45a841=['18ZxjLjB','8AlAbso','125765ppAKNp','runtime','page-get','Get\x20runtime\x20page\x20permission\x20slots\x20by\x20menu\x20ID','2213939jTGMgv','419384oxRkSj','345796HqoLxs','417510ckxtrM','775910aHjYlo','permit','63yduSLQ','130168DuLOEo'];a42_0x2561=function(){return _0x45a841;};return a42_0x2561();}(function(_0x208918,_0x44ad2a){const _0x2dcb58=a42_0x5d0e,_0x374267=_0x208918();while(!![]){try{const _0x552f67=parseInt(_0x2dcb58(0xe6))/0x1+parseInt(_0x2dcb58(0xeb))/0x2+-parseInt(_0x2dcb58(0xe7))/0x3+parseInt(_0x2dcb58(0xe5))/0x4+parseInt(_0x2dcb58(0xee))/0x5*(parseInt(_0x2dcb58(0xec))/0x6)+-parseInt(_0x2dcb58(0xe4))/0x7*(-parseInt(_0x2dcb58(0xed))/0x8)+parseInt(_0x2dcb58(0xea))/0x9*(-parseInt(_0x2dcb58(0xe8))/0xa);if(_0x552f67===_0x44ad2a)break;else _0x374267['push'](_0x374267['shift']());}catch(_0x5a3027){_0x374267['push'](_0x374267['shift']());}}}(a42_0x2561,0x36f83));function a42_0x5d0e(_0x19c1b3,_0x52cc45){_0x19c1b3=_0x19c1b3-0xe4;const _0x2561f2=a42_0x2561();let _0x5d0ee0=_0x2561f2[_0x19c1b3];return _0x5d0ee0;}import{getRuntimePagePermit}from'../../core/api-client.js';import{MENU_ID_FLAG,projectRuntimePagePermit}from'../../commands/permit/shared.js';export const permitPageGet={'service':a42_0x5841b2(0xe9),'command':a42_0x5841b2(0xf0),'description':a42_0x5841b2(0xf1),'risk':'read','flags':[MENU_ID_FLAG],async 'execute'(_0xdf2ee6){const _0x1614e3=a42_0x5841b2,_0x3a13be=await getRuntimePagePermit(_0xdf2ee6['num']('menu-id'));return{'ok':!![],'data':{'scope':_0x1614e3(0xef),'page':projectRuntimePagePermit(_0x3a13be)}};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a43_0x35409e=a43_0x50ee;(function(_0xb33a5f,_0x20267d){const _0x2f9ed9=a43_0x50ee,_0x1ba3fa=_0xb33a5f();while(!![]){try{const _0x4605f7=parseInt(_0x2f9ed9(0x120))/0x1*(-parseInt(_0x2f9ed9(0x119))/0x2)+-parseInt(_0x2f9ed9(0x12b))/0x3*(parseInt(_0x2f9ed9(0x137))/0x4)+parseInt(_0x2f9ed9(0x126))/0x5+-parseInt(_0x2f9ed9(0x12a))/0x6+-parseInt(_0x2f9ed9(0x134))/0x7*(parseInt(_0x2f9ed9(0x132))/0x8)+-parseInt(_0x2f9ed9(0x118))/0x9+-parseInt(_0x2f9ed9(0x12e))/0xa*(-parseInt(_0x2f9ed9(0x127))/0xb);if(_0x4605f7===_0x20267d)break;else _0x1ba3fa['push'](_0x1ba3fa['shift']());}catch(_0x3789d6){_0x1ba3fa['push'](_0x1ba3fa['shift']());}}}(a43_0x1d1e,0x2b9d2));import{getRuntimePagePermit,saveRuntimePagePermit}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';function a43_0x50ee(_0x47ea2b,_0x444c36){_0x47ea2b=_0x47ea2b-0x115;const _0x1d1e16=a43_0x1d1e();let _0x50eed3=_0x1d1e16[_0x47ea2b];return _0x50eed3;}import{dryRun}from'../../framework/dryrun.js';import{assertRuntimePermissionManager,MENU_ID_FLAG,PAGE_ROLE_FLAGS,PAGE_SLOT_SPECS,projectRuntimePagePermit,resolveRuntimePermitRoles,runtimePermitWriteResult,splitRefs}from'../../commands/permit/shared.js';function a43_0x1d1e(){const _0x5baab4=['Pass\x20at\x20least\x20one\x20page\x20role\x20flag\x20to\x20update.','/client/permit/page/save','147233QzhiuV','description','validation','page-set','Set\x20selected\x20runtime\x20page\x20permission\x20slots','menu-id','453100fwCJXb','1562891TxYKUm','push','rolePermit','733122Nvfvav','3OiueHD','permit','\x20does\x20not\x20belong\x20to\x20app\x20','50QcxGhX','join','appCode','Menu\x20','168qnKaxL','flag','1337bYWgfA','POST','slots','361100PXeoXy','key','page','num','before','2328093IwNprv','2eYPeoQ','build','body','high-risk-write','length'];a43_0x1d1e=function(){return _0x5baab4;};return a43_0x1d1e();}async function prepare(_0x2bf763){const _0x11d9e3=a43_0x50ee;await assertRuntimePermissionManager(_0x2bf763[_0x11d9e3(0x130)]);const _0x463be0=_0x2bf763[_0x11d9e3(0x116)](_0x11d9e3(0x125)),_0x24c586=await getRuntimePagePermit(_0x463be0);if(_0x24c586['appCode']&&_0x24c586[_0x11d9e3(0x130)]!==_0x2bf763[_0x11d9e3(0x130)])throw CliErrors[_0x11d9e3(0x122)](_0x11d9e3(0x131)+_0x463be0+_0x11d9e3(0x12d)+_0x2bf763[_0x11d9e3(0x130)]+'.');const _0x570d6b=structuredClone(_0x24c586),_0x5518a0=[];for(const _0x1f8f52 of PAGE_SLOT_SPECS){if(_0x2bf763[_0x11d9e3(0x133)](_0x1f8f52[_0x11d9e3(0x133)])===undefined)continue;const _0x389c08=_0x24c586[_0x1f8f52[_0x11d9e3(0x138)]];if(!_0x389c08)throw CliErrors[_0x11d9e3(0x122)]('Page\x20menu\x20'+_0x463be0+'\x20does\x20not\x20expose\x20'+_0x1f8f52[_0x11d9e3(0x138)]+'.');_0x389c08[_0x11d9e3(0x129)]=await resolveRuntimePermitRoles(_0x2bf763[_0x11d9e3(0x130)],splitRefs(_0x2bf763['str'](_0x1f8f52[_0x11d9e3(0x133)]),'--'+_0x1f8f52[_0x11d9e3(0x133)]),_0x1f8f52['allowSelf']),_0x5518a0[_0x11d9e3(0x128)](_0x1f8f52[_0x11d9e3(0x138)]);}if(_0x5518a0[_0x11d9e3(0x11d)]===0x0)throw CliErrors[_0x11d9e3(0x122)](_0x11d9e3(0x11e));return{'menuId':_0x463be0,'page':_0x24c586,'before':_0x570d6b,'slots':_0x5518a0};}export const permitPageSet={'service':a43_0x35409e(0x12c),'command':a43_0x35409e(0x123),'description':a43_0x35409e(0x124),'risk':a43_0x35409e(0x11c),'confirmationDescription':'Changes\x20role\x20permission\x20slots\x20on\x20the\x20given\x20runtime\x20page.\x20Unauthorized\x20users\x20may\x20be\x20unable\x20to\x20view\x20the\x20page\x20or\x20run\x20data\x20operations.','flags':[MENU_ID_FLAG,...PAGE_ROLE_FLAGS],async 'dryRun'(_0x235b8f){const _0x144d14=a43_0x35409e,_0x14b7a7=await prepare(_0x235b8f);return dryRun('POST',_0x144d14(0x11f))[_0x144d14(0x11b)](_0x14b7a7[_0x144d14(0x115)])[_0x144d14(0x121)]('Preview:\x20update\x20page\x20permission\x20slots\x20'+_0x14b7a7['slots'][_0x144d14(0x12f)](',\x20'))[_0x144d14(0x11a)]();},async 'execute'(_0x12a55d){const _0x549d61=a43_0x35409e,_0x4d8023=await prepare(_0x12a55d),_0x195279=await saveRuntimePagePermit(_0x4d8023[_0x549d61(0x115)]);return{'ok':!![],'data':runtimePermitWriteResult('page-set',{'menuId':_0x4d8023['menuId'],'slots':_0x4d8023[_0x549d61(0x136)]},projectRuntimePagePermit(_0x4d8023[_0x549d61(0x117)]),projectRuntimePagePermit(_0x195279),{'method':_0x549d61(0x135),'path':_0x549d61(0x11f)})};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a44_0x2e7600=a44_0xfc85;(function(_0x6ae6f2,_0x3c7db1){const _0x2591f0=a44_0xfc85,_0xeb223b=_0x6ae6f2();while(!![]){try{const _0x22c9cf=parseInt(_0x2591f0(0x1c5))/0x1*(-parseInt(_0x2591f0(0x1b5))/0x2)+-parseInt(_0x2591f0(0x1af))/0x3+parseInt(_0x2591f0(0x1bc))/0x4+-parseInt(_0x2591f0(0x1c2))/0x5*(parseInt(_0x2591f0(0x1be))/0x6)+parseInt(_0x2591f0(0x1ab))/0x7+-parseInt(_0x2591f0(0x1c9))/0x8*(parseInt(_0x2591f0(0x1c4))/0x9)+-parseInt(_0x2591f0(0x1bb))/0xa*(-parseInt(_0x2591f0(0x1bf))/0xb);if(_0x22c9cf===_0x3c7db1)break;else _0xeb223b['push'](_0xeb223b['shift']());}catch(_0x3b644d){_0xeb223b['push'](_0xeb223b['shift']());}}}(a44_0x3c9a,0xe05bc));function a44_0xfc85(_0x349173,_0x3e5d3c){_0x349173=_0x349173-0x1a5;const _0x3c9ae9=a44_0x3c9a();let _0xfc8531=_0x3c9ae9[_0x349173];return _0xfc8531;}import{listRuntimeMenuRolePermits,listRuntimePermitRoles,saveRuntimeMenuRolePermits}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';import{resolveRuntimeRoleRef}from'../../commands/role/shared.js';import{applyRuntimeRolePermission,assertGrantOrRevoke,assertRuntimePermissionManager,assertRuntimePermitRoleConfigurable,flattenRuntimeMenuRolePermits,GRANT_FLAG,menuPermitDto,REVOKE_FLAG,ROLE_REF_FLAG,runtimePermitWriteResult,splitRefs}from'../../commands/permit/shared.js';const MENUS_FLAG={'name':'menus','type':a44_0x2e7600(0x1cd),'required':!![],'description':a44_0x2e7600(0x1b4)};function a44_0x3c9a(){const _0x369173=['isSafeInteger','appCode','push','high-risk-write','Grants\x20or\x20revokes\x20the\x20target\x20role\x20access\x20to\x20the\x20given\x20runtime\x20menus.\x20Menu\x20visibility\x20for\x20users\x20in\x20that\x20role\x20will\x20change.','POST','1316441kJJYym','operation','after','validation','4543437VPhkaH','rolePermit','\x20selected\x20runtime\x20menus','--menus','test','Comma-separated\x20runtime\x20menu\x20IDs','10OMdEjM','\x20already\x20reflects\x20','warnings','roles','\x20was\x20not\x20found.','before','4310BpMoLi','5141344JEEjlK','bool','6QFznqr','79981DqapxB','description','Preview:\x20','139500VJkKCD','/client/permit/resource/batch-save-menu','803916GUSKqW','143333WCYosH','revoke','permitList','permit','128tgyYmS','length','\x20for\x20role\x20','role','string','build','body','Runtime\x20menu\x20'];a44_0x3c9a=function(){return _0x369173;};return a44_0x3c9a();}async function prepare(_0x1d52b0){const _0x7ce465=a44_0x2e7600;await assertRuntimePermissionManager(_0x1d52b0[_0x7ce465(0x1a6)]);const _0x1a5cef=assertGrantOrRevoke(_0x1d52b0[_0x7ce465(0x1bd)]('grant'),_0x1d52b0['bool'](_0x7ce465(0x1c6))),_0x36f8f1=await resolveRuntimeRoleRef(_0x1d52b0[_0x7ce465(0x1a6)],_0x1d52b0['str'](_0x7ce465(0x1cc)));assertRuntimePermitRoleConfigurable(_0x36f8f1);const _0x2df7cd=[...new Set(splitRefs(_0x1d52b0['str']('menus'),_0x7ce465(0x1b2))['map'](_0x483df0=>{const _0x2ed913=_0x7ce465,_0x1a50db=Number(_0x483df0);if(!/^\d+$/[_0x2ed913(0x1b3)](_0x483df0)||!Number[_0x2ed913(0x1a5)](_0x1a50db)||_0x1a50db<=0x0)throw CliErrors[_0x2ed913(0x1ae)]('Invalid\x20runtime\x20menu\x20ID:\x20'+_0x483df0+'.');return _0x1a50db;}))],_0xb9bc83=flattenRuntimeMenuRolePermits(await listRuntimeMenuRolePermits(_0x1d52b0[_0x7ce465(0x1a6)])),_0x4bd667=await listRuntimePermitRoles(_0x1d52b0['appCode']),_0x1bc7da=[],_0xebeffb=[],_0x12b7bd=[],_0x14f47c=[];for(const _0x213569 of _0x2df7cd){const _0x4b5657=_0xb9bc83['find'](_0x1969a1=>_0x1969a1['id']===_0x213569);if(!_0x4b5657)throw CliErrors['validation']('Runtime\x20menu\x20'+_0x213569+_0x7ce465(0x1b9));const _0x547c68=applyRuntimeRolePermission(_0x4b5657[_0x7ce465(0x1b0)],_0x36f8f1,_0x4bd667,_0x1a5cef);_0xebeffb[_0x7ce465(0x1a7)]({'menuId':_0x213569,'rolePermit':_0x4b5657[_0x7ce465(0x1b0)]}),_0x12b7bd['push']({'menuId':_0x213569,'rolePermit':_0x547c68[_0x7ce465(0x1b8)]});if(_0x547c68['changed'])_0x1bc7da[_0x7ce465(0x1a7)](menuPermitDto(_0x1d52b0[_0x7ce465(0x1a6)],_0x4b5657,_0x547c68[_0x7ce465(0x1b8)]));else _0x14f47c[_0x7ce465(0x1a7)](_0x7ce465(0x1d0)+_0x213569+_0x7ce465(0x1b6)+_0x1a5cef+_0x7ce465(0x1cb)+_0x36f8f1['id']+'.');}return{'operation':_0x1a5cef,'role':_0x36f8f1,'menuIds':_0x2df7cd,'permitList':_0x1bc7da,'before':_0xebeffb,'after':_0x12b7bd,'warnings':_0x14f47c};}export const permitRoleMenusSet={'service':a44_0x2e7600(0x1c8),'command':'role-menus-set','description':'Grant\x20or\x20revoke\x20selected\x20runtime\x20menus\x20for\x20one\x20role','risk':a44_0x2e7600(0x1a8),'confirmationDescription':a44_0x2e7600(0x1a9),'flags':[ROLE_REF_FLAG,GRANT_FLAG,REVOKE_FLAG,MENUS_FLAG],async 'validate'(_0x37b8de){const _0x36298a=a44_0x2e7600;assertGrantOrRevoke(_0x37b8de[_0x36298a(0x1bd)]('grant'),_0x37b8de[_0x36298a(0x1bd)](_0x36298a(0x1c6)));},async 'dryRun'(_0x4185d9){const _0x50212a=a44_0x2e7600,_0x2b39ad=await prepare(_0x4185d9);return dryRun(_0x50212a(0x1aa),_0x50212a(0x1c3))[_0x50212a(0x1cf)]({'appCode':_0x4185d9[_0x50212a(0x1a6)],'permitList':_0x2b39ad[_0x50212a(0x1c7)]})[_0x50212a(0x1c0)](_0x50212a(0x1c1)+_0x2b39ad[_0x50212a(0x1ac)]+_0x50212a(0x1b1))[_0x50212a(0x1ce)]();},async 'execute'(_0x2238b3){const _0x303edd=a44_0x2e7600,_0x501da7=await prepare(_0x2238b3);return _0x501da7[_0x303edd(0x1c7)][_0x303edd(0x1ca)]>0x0&&await saveRuntimeMenuRolePermits(_0x2238b3[_0x303edd(0x1a6)],_0x501da7[_0x303edd(0x1c7)]),{'ok':!![],'data':runtimePermitWriteResult('menu-'+_0x501da7[_0x303edd(0x1ac)],{'roleId':_0x501da7[_0x303edd(0x1cc)]['id'],'menuIds':_0x501da7['menuIds']},_0x501da7[_0x303edd(0x1ba)],_0x501da7[_0x303edd(0x1ad)],{'method':_0x303edd(0x1aa),'path':'/client/permit/resource/batch-save-menu'},_0x501da7[_0x303edd(0x1b7)])};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a45_0x327333=a45_0x2899;(function(_0x176da3,_0xc16509){const _0x2e5f9a=a45_0x2899,_0x21140c=_0x176da3();while(!![]){try{const _0x1e9744=-parseInt(_0x2e5f9a(0x1d2))/0x1+parseInt(_0x2e5f9a(0x1cb))/0x2*(parseInt(_0x2e5f9a(0x1d6))/0x3)+-parseInt(_0x2e5f9a(0x1d3))/0x4+parseInt(_0x2e5f9a(0x1ce))/0x5*(-parseInt(_0x2e5f9a(0x1d4))/0x6)+-parseInt(_0x2e5f9a(0x1d8))/0x7*(parseInt(_0x2e5f9a(0x1ca))/0x8)+parseInt(_0x2e5f9a(0x1da))/0x9*(-parseInt(_0x2e5f9a(0x1cf))/0xa)+parseInt(_0x2e5f9a(0x1db))/0xb*(parseInt(_0x2e5f9a(0x1d7))/0xc);if(_0x1e9744===_0xc16509)break;else _0x21140c['push'](_0x21140c['shift']());}catch(_0x56914d){_0x21140c['push'](_0x21140c['shift']());}}}(a45_0x2da0,0x86c1d));function a45_0x2899(_0x9b8171,_0x23ae1d){_0x9b8171=_0x9b8171-0x1c8;const _0x2da09b=a45_0x2da0();let _0x289922=_0x2da09b[_0x9b8171];return _0x289922;}import{getRuntimeRoleMenuResources}from'../../core/api-client.js';import{resolveRuntimeRoleRef}from'../../commands/role/shared.js';function a45_0x2da0(){const _0x3cad73=['6SCdhiy','role-menus','5943mxmZlN','907620VvAxKV','14iawIJT','Show\x20evaluated\x20runtime\x20menu\x20access\x20for\x20one\x20role','9ZBYCHr','363fvuEPY','role','runtime','2091856qNrOrZ','862TIErAT','appCode','roleName','751435sMtSGb','9195200XJKSyr','roleType','permit','207324eGwNqo','3990824MtpaFq'];a45_0x2da0=function(){return _0x3cad73;};return a45_0x2da0();}import{ROLE_REF_FLAG}from'../../commands/permit/shared.js';export const permitRoleMenus={'service':a45_0x327333(0x1d1),'command':a45_0x327333(0x1d5),'description':a45_0x327333(0x1d9),'risk':'read','flags':[ROLE_REF_FLAG],async 'execute'(_0x6a1752){const _0x325bea=a45_0x327333,_0x423554=await resolveRuntimeRoleRef(_0x6a1752[_0x325bea(0x1cc)],_0x6a1752['str'](_0x325bea(0x1c8))),_0x156533=await getRuntimeRoleMenuResources(_0x6a1752['appCode'],_0x423554['id']);return{'ok':!![],'data':{'scope':_0x325bea(0x1c9),'role':{'id':_0x423554['id'],'roleName':_0x423554[_0x325bea(0x1cd)],'roleType':_0x423554[_0x325bea(0x1d0)]},'menus':_0x156533}};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a46_0x3e7a88=a46_0x35be;(function(_0x4fe093,_0x1dd91d){const _0x2d46b6=a46_0x35be,_0xc9f22c=_0x4fe093();while(!![]){try{const _0x3105d4=parseInt(_0x2d46b6(0xb4))/0x1*(parseInt(_0x2d46b6(0xa6))/0x2)+parseInt(_0x2d46b6(0x8c))/0x3+parseInt(_0x2d46b6(0xb8))/0x4+parseInt(_0x2d46b6(0xb5))/0x5*(-parseInt(_0x2d46b6(0x9f))/0x6)+-parseInt(_0x2d46b6(0x9e))/0x7*(-parseInt(_0x2d46b6(0x70))/0x8)+-parseInt(_0x2d46b6(0x74))/0x9+parseInt(_0x2d46b6(0xb6))/0xa*(-parseInt(_0x2d46b6(0x73))/0xb);if(_0x3105d4===_0x1dd91d)break;else _0xc9f22c['push'](_0xc9f22c['shift']());}catch(_0x1d4cd5){_0xc9f22c['push'](_0xc9f22c['shift']());}}}(a46_0xb149,0x769c5));import{getLoginUserInfo,listRuntimePermitRoles,listRuntimeRoleUsers}from'../../core/api-client.js';function a46_0x35be(_0xaa7b4e,_0x8db89){_0xaa7b4e=_0xaa7b4e-0x6f;const _0xb149f7=a46_0xb149();let _0x35bec8=_0xb149f7[_0xaa7b4e];return _0x35bec8;}import{CliErrors}from'../../errors.js';export const MENU_ID_FLAG={'name':a46_0x3e7a88(0xa1),'type':a46_0x3e7a88(0xba),'required':!![],'description':a46_0x3e7a88(0x86)};export const ROLE_REF_FLAG={'name':a46_0x3e7a88(0x90),'type':a46_0x3e7a88(0x9a),'required':!![],'description':a46_0x3e7a88(0xa3)};export const GRANT_FLAG={'name':a46_0x3e7a88(0xa8),'type':a46_0x3e7a88(0x9c),'description':'Grant\x20the\x20selected\x20resources\x20to\x20the\x20role'};export const REVOKE_FLAG={'name':'revoke','type':a46_0x3e7a88(0x9c),'description':a46_0x3e7a88(0xaa)};export const PAGE_SLOT_SPECS=[{'flag':a46_0x3e7a88(0x91),'key':a46_0x3e7a88(0xb7),'allowSelf':![]},{'flag':a46_0x3e7a88(0x75),'key':a46_0x3e7a88(0x92),'allowSelf':![]},{'flag':a46_0x3e7a88(0x7f),'key':a46_0x3e7a88(0x71),'allowSelf':![]},{'flag':a46_0x3e7a88(0x97),'key':'dataDelete','allowSelf':![]},{'flag':a46_0x3e7a88(0x9d),'key':'dataDetail','allowSelf':![]},{'flag':a46_0x3e7a88(0x9b),'key':a46_0x3e7a88(0x7e),'allowSelf':![]},{'flag':a46_0x3e7a88(0x8d),'key':a46_0x3e7a88(0x98),'allowSelf':!![]}];export const PAGE_ROLE_FLAGS=PAGE_SLOT_SPECS[a46_0x3e7a88(0xa5)](_0x53f542=>({'name':_0x53f542[a46_0x3e7a88(0xae)],'type':a46_0x3e7a88(0x9a),'description':a46_0x3e7a88(0x8b)}));export function splitRefs(_0x2d446e,_0x36eaa5){const _0x3eb4e2=a46_0x3e7a88,_0x2ea251=[...new Set(_0x2d446e[_0x3eb4e2(0x8f)](',')['map'](_0x2c80ab=>_0x2c80ab[_0x3eb4e2(0x8e)]())[_0x3eb4e2(0x85)](Boolean))];if(_0x2ea251['length']===0x0)throw CliErrors[_0x3eb4e2(0xab)](_0x36eaa5+'\x20must\x20contain\x20at\x20least\x20one\x20value.');return _0x2ea251;}export function assertGrantOrRevoke(_0x213c8f,_0x46bc29){const _0x3fbb7d=a46_0x3e7a88;if(_0x213c8f===_0x46bc29)throw CliErrors['validation'](_0x3fbb7d(0x80));return _0x213c8f?_0x3fbb7d(0xa8):_0x3fbb7d(0x78);}function resolvePermitRole(_0x24de36,_0x1b9315){const _0x3bc1ae=a46_0x3e7a88,_0x5cfaf3=_0x1b9315[_0x3bc1ae(0x8e)](),_0xd4b687=/^-?\d+$/['test'](_0x5cfaf3)?_0x24de36['filter'](_0x3af38c=>_0x3af38c['id']===Number(_0x5cfaf3)):_0x24de36[_0x3bc1ae(0x85)](_0x2f1cdc=>_0x2f1cdc[_0x3bc1ae(0xb1)]===_0x5cfaf3||_0x2f1cdc[_0x3bc1ae(0xa9)]===_0x5cfaf3[_0x3bc1ae(0xb9)]());if(_0xd4b687['length']!==0x1)throw CliErrors[_0x3bc1ae(0xab)](_0xd4b687[_0x3bc1ae(0x89)]===0x0?'Permission\x20role\x20\x22'+_0x5cfaf3+_0x3bc1ae(0x76):_0x3bc1ae(0x6f)+_0x5cfaf3+_0x3bc1ae(0x7b),'Use\x20a\x20role\x20ID\x20from\x20`lovrabet\x20role\x20list`.');return _0xd4b687[0x0];}export async function resolveRuntimePermitRoles(_0x130848,_0x1f6a55,_0x5e16e9){const _0x34f028=a46_0x3e7a88,_0x7daae8=await listRuntimePermitRoles(_0x130848,{'needSelf':!![],'needPublic':!![]}),_0xcdc839=[...new Map(_0x1f6a55[_0x34f028(0xa5)](_0x5b1523=>resolvePermitRole(_0x7daae8,_0x5b1523))[_0x34f028(0xa5)](_0x6b037b=>[_0x6b037b['id'],_0x6b037b]))['values']()],_0x370063=_0xcdc839[_0x34f028(0x95)](_0x2e6ac6=>_0x2e6ac6['roleType']===_0x34f028(0xa2)||_0x2e6ac6[_0x34f028(0xa9)]==='OWNER');if(_0x370063)throw CliErrors['validation'](_0x370063[_0x34f028(0xa9)]+_0x34f028(0x99),_0x34f028(0xa4));if(!_0x5e16e9&&_0xcdc839['some'](_0x330a95=>_0x330a95[_0x34f028(0xa9)]==='SELF'))throw CliErrors[_0x34f028(0xab)]('SELF\x20is\x20only\x20valid\x20for\x20--row-roles.');return _0xcdc839;}export async function assertRuntimePermissionManager(_0x486eb1){const _0x289c93=a46_0x3e7a88,_0x2c2f3c=await getLoginUserInfo(),_0x5b00f1=_0x2c2f3c[_0x289c93(0x87)]??_0x2c2f3c['id'],_0x1ef593=Number(_0x5b00f1);if(!Number['isSafeInteger'](_0x1ef593)||_0x1ef593<=0x0)throw CliErrors[_0x289c93(0xab)](_0x289c93(0x79));const _0x243f6a=await listRuntimeRoleUsers(_0x486eb1),_0x54991f=_0x243f6a[_0x289c93(0xac)](_0x5fdb68=>(_0x5fdb68[_0x289c93(0xa9)]===_0x289c93(0xa2)||_0x5fdb68[_0x289c93(0xa9)]===_0x289c93(0xb2))&&_0x5fdb68[_0x289c93(0x7d)][_0x289c93(0xac)](_0x2e15ee=>_0x2e15ee['userId']===_0x1ef593));if(!_0x54991f)throw CliErrors[_0x289c93(0xab)](_0x289c93(0xaf),'Ask\x20an\x20application\x20manager\x20to\x20perform\x20this\x20operation.');}export function assertRuntimePermitRoleConfigurable(_0x4dca1a){const _0x36460b=a46_0x3e7a88;if(_0x4dca1a[_0x36460b(0xa9)]===_0x36460b(0xa2)||_0x4dca1a[_0x36460b(0xa9)]==='OWNER')throw CliErrors[_0x36460b(0xab)](_0x36460b(0xa7)+_0x4dca1a[_0x36460b(0xa9)]+_0x36460b(0x88)+_0x4dca1a[_0x36460b(0xb1)]+'.',_0x36460b(0x7c));}function asPermitRole(_0x1bea8b){const _0x2c7eaa=a46_0x3e7a88;return{'id':_0x1bea8b['id'],'roleName':_0x1bea8b[_0x2c7eaa(0xb1)],'roleType':_0x1bea8b[_0x2c7eaa(0xa9)],'allowed':!![]};}export function applyRuntimeRolePermission(_0x45f0c9,_0x169dee,_0x52da99,_0x4eb60b){const _0x49eb4e=a46_0x3e7a88,_0x437725=!_0x45f0c9||_0x45f0c9[_0x49eb4e(0x89)]===0x0,_0x11b05d=_0x45f0c9?.[_0x49eb4e(0xac)](_0xcfc754=>_0xcfc754['roleType']===_0x49eb4e(0x83))??![];if(_0x4eb60b===_0x49eb4e(0xa8)&&(_0x437725||_0x11b05d))return{'roles':_0x45f0c9??null,'changed':![]};let _0x431695=_0x437725||_0x11b05d?_0x52da99['filter'](_0x4f548c=>_0x4f548c['id']>0x0):[..._0x45f0c9];const _0x8583ca=_0x431695['some'](_0x12f640=>_0x12f640['id']===_0x169dee['id']);if(_0x4eb60b==='grant'){if(_0x8583ca)return{'roles':_0x431695,'changed':![]};return _0x431695[_0x49eb4e(0xb0)](asPermitRole(_0x169dee)),{'roles':_0x431695,'changed':!![]};}if(!_0x8583ca)return{'roles':_0x431695,'changed':_0x437725||_0x11b05d};_0x431695=_0x431695['filter'](_0x181bd3=>_0x181bd3['id']!==_0x169dee['id']);if(_0x431695[_0x49eb4e(0x89)]===0x0)throw CliErrors[_0x49eb4e(0xab)](_0x49eb4e(0x94),_0x49eb4e(0x72));return{'roles':_0x431695,'changed':!![]};}export function projectRuntimePagePermit(_0x31127a){const _0x1cd65c=a46_0x3e7a88,_0x552072={'menuId':_0x31127a[_0x1cd65c(0x84)],'pageId':_0x31127a['pageId'],'appCode':_0x31127a[_0x1cd65c(0xad)],'datasetCode':_0x31127a[_0x1cd65c(0x93)]};for(const _0x4df4bb of PAGE_SLOT_SPECS){const _0x1466ab=_0x31127a[_0x4df4bb[_0x1cd65c(0x81)]];_0x1466ab&&(_0x552072[_0x4df4bb[_0x1cd65c(0x81)]]={'resourceCode':_0x1466ab[_0x1cd65c(0x7a)],'resourceType':_0x1466ab[_0x1cd65c(0x77)],'roles':(_0x1466ab[_0x1cd65c(0x82)]??[])[_0x1cd65c(0xa5)](_0x18557c=>({'id':_0x18557c['id'],'roleName':_0x18557c[_0x1cd65c(0xb1)],'roleType':_0x18557c[_0x1cd65c(0xa9)]}))});}return _0x552072;}function a46_0xb149(){const _0x7c8a56=['Cannot\x20resolve\x20the\x20current\x20AK\x20userId\x20for\x20permission\x20management.','resourceCode','\x22\x20is\x20ambiguous.','ADMIN\x20and\x20OWNER\x20have\x20full\x20runtime\x20access;\x20configure\x20USER\x20or\x20CUSTOM\x20instead.','userList','dataExport','update-roles','Pass\x20exactly\x20one\x20of\x20--grant\x20or\x20--revoke.','key','rolePermit','ALL','menuId','filter','Runtime\x20menu\x20ID','userId','\x20runtime\x20role\x20','length','pageId','Comma-separated\x20runtime\x20role\x20IDs\x20or\x20names','898230FwfPox','row-roles','trim','split','role','menu-roles','dataCreate','datasetCode','Cannot\x20revoke\x20the\x20last\x20role\x20from\x20a\x20runtime\x20resource.','find','label','delete-roles','dataPermit','\x20has\x20full\x20runtime\x20access\x20and\x20cannot\x20be\x20a\x20resource\x20permission\x20target.','string','export-roles','boolean','detail-roles','169743FAGyEd','3402ZBmJzw','children','menu-id','ADMIN','Runtime\x20role\x20ID\x20or\x20exact\x20role\x20name','Configure\x20USER,\x20CUSTOM,\x20or\x20an\x20applicable\x20special\x20role\x20instead.','map','150470DNSHTH','Cannot\x20change\x20resource\x20permissions\x20for\x20','grant','roleType','Revoke\x20the\x20selected\x20resources\x20from\x20the\x20role','validation','some','appCode','flag','Runtime\x20resource\x20permission\x20changes\x20require\x20an\x20ADMIN\x20or\x20OWNER\x20role.','push','roleName','OWNER','permitId','9VIzLIW','755RtIchB','16190twYTTe','menuPermit','3755368zBEzLz','toUpperCase','number','Permission\x20role\x20\x22','48LPDfLv','dataUpdate','The\x20current\x20service\x20contract\x20does\x20not\x20persist\x20an\x20empty\x20rolePermit;\x20grant\x20another\x20role\x20first.','4015ZiqalY','8086320TuVXHa','create-roles','\x22\x20was\x20not\x20found.','resourceType','revoke'];a46_0xb149=function(){return _0x7c8a56;};return a46_0xb149();}export function flattenRuntimeMenuRolePermits(_0x30f75d){const _0x775621=[],_0x2218a9=_0x413989=>{const _0x5ea1a1=a46_0x35be;_0x775621[_0x5ea1a1(0xb0)](_0x413989);for(const _0x56b6d5 of _0x413989[_0x5ea1a1(0xa0)]??[])_0x2218a9(_0x56b6d5);};for(const _0x53f57c of _0x30f75d)_0x2218a9(_0x53f57c);return _0x775621;}export function runtimePermitWriteResult(_0x25296b,_0x43fbdb,_0x2e6b81,_0x277a62,_0x4c498b,_0x2bdcca=[]){return{'operation':_0x25296b,'scope':'runtime','selector':_0x43fbdb,'before':_0x2e6b81,'after':_0x277a62,'dryRun':![],'backend':_0x4c498b,'warnings':_0x2bdcca};}export function menuPermitDto(_0x230b20,_0x5ac5a0,_0x15e476){const _0x2c8c4d=a46_0x3e7a88;return{..._0x5ac5a0[_0x2c8c4d(0xb3)]!=null?{'id':_0x5ac5a0[_0x2c8c4d(0xb3)]}:{},'appCode':_0x230b20,'menuId':_0x5ac5a0['id'],'pageId':_0x5ac5a0[_0x2c8c4d(0x8a)]??null,'resourceCode':String(_0x5ac5a0['id']),'resourceType':'MENU','resourceName':_0x5ac5a0[_0x2c8c4d(0x96)],'rolePermit':_0x15e476};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a47_0xfc6ae=a47_0x41b1;(function(_0x2b338c,_0x56a204){const _0x381fd7=a47_0x41b1,_0x22422f=_0x2b338c();while(!![]){try{const _0x2eed8c=-parseInt(_0x381fd7(0x1a0))/0x1+parseInt(_0x381fd7(0x1d9))/0x2+parseInt(_0x381fd7(0x1c7))/0x3*(parseInt(_0x381fd7(0x1c1))/0x4)+-parseInt(_0x381fd7(0x1b0))/0x5+parseInt(_0x381fd7(0x1b2))/0x6+parseInt(_0x381fd7(0x1a8))/0x7*(parseInt(_0x381fd7(0x1ce))/0x8)+-parseInt(_0x381fd7(0x1b3))/0x9;if(_0x2eed8c===_0x56a204)break;else _0x22422f['push'](_0x22422f['shift']());}catch(_0x2bf16d){_0x22422f['push'](_0x22422f['shift']());}}}(a47_0x2257,0xa6a00));import{existsSync,readFileSync,statSync}from'node:fs';import{createPersonalBff,executePersonalBff,getPersonalBff,listPersonalBffs,updatePersonalBff}from'../../core/api-client.js';function a47_0x2257(){const _0x40a8ca=['Created\x20Personal\x20Backend\x20Function\x20','1255188yDTHQM','scriptContent','Personal\x20Backend\x20Function\x20script\x20ID','createTime','POST','map','9RSODRF','Path\x20to\x20a\x20local\x20UTF-8\x20JavaScript\x20or\x20TypeScript\x20file','Updated\x20Personal\x20Backend\x20Function\x20','createUserId','list','Personal\x20Backend\x20Function\x20name,\x20for\x20example\x20loadOrders','Preview:\x20update\x20Personal\x20Backend\x20Function\x20','6782008aifAHf','config','functionName','trim','Personal\x20Backend\x20Function\x20script\x20file\x20is\x20blank.','Personal\x20Backend\x20Function\x20description','scriptType','validation','/client/runtime-bff/personal/','flag','--params\x20must\x20be\x20a\x20JSON\x20object.','2003572wHPERV','gmtCreate','--name\x20must\x20be\x20a\x20valid\x20JavaScript\x20identifier,\x20for\x20example\x20loadOrders.','isFile','keys','Preview:\x20create\x20Personal\x20Backend\x20Function\x20','str','body','personal-bff\x20update\x20requires\x20at\x20least\x20one\x20of\x20--name,\x20--description,\x20--file,\x20or\x20--source-session-id.','num','File\x20is\x20not\x20a\x20regular\x20file:\x20','Executed\x20Personal\x20Backend\x20Function\x20','1048870ZArGnX','File\x20not\x20found:\x20','version','source-session-id','appCode','Saves\x20the\x20local\x20script\x20as\x20a\x20Personal\x20Backend\x20Function.\x20The\x20script\x20can\x20then\x20be\x20called\x20in\x20the\x20current\x20app.','write','bool','7gbedtd','Execute\x20a\x20Personal\x20Backend\x20Function\x20by\x20ID,\x20optionally\x20with\x20JSON\x20params','update','description','build','string','JSON\x20object\x20passed\x20to\x20the\x20Personal\x20Backend\x20Function\x20execution','name','1069015MXEpDY','Show\x20one\x20Personal\x20Backend\x20Function\x20by\x20id','3990156buFzuS','13597065zBpJXV','Updates\x20the\x20Personal\x20Backend\x20Function\x20script\x20or\x20metadata.\x20Later\x20calls\x20use\x20the\x20new\x20version.','Optional\x20source\x20RuntimeAgent\x20session\x20id','create','length','updateTime','personal-bff','gmtModified','/client/runtime-bff/personal/create','/update','detail','file','read'];a47_0x2257=function(){return _0x40a8ca;};return a47_0x2257();}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':a47_0xfc6ae(0x1be),'type':a47_0xfc6ae(0x1ad),'description':a47_0xfc6ae(0x1c8)},FUNCTION_NAME_FLAG={'name':a47_0xfc6ae(0x1af),'type':a47_0xfc6ae(0x1ad),'required':!![],'description':a47_0xfc6ae(0x1cc)},DESCRIPTION_FLAG={'name':a47_0xfc6ae(0x1ab),'type':'string','description':a47_0xfc6ae(0x1d3)},SOURCE_SESSION_FLAG={'name':a47_0xfc6ae(0x1a3),'type':'string','description':a47_0xfc6ae(0x1b5)};function normalizeFunctionName(_0x449ae4){const _0x131abf=a47_0xfc6ae,_0x1c10b0=String(_0x449ae4||'')['trim']();if(!_0x1c10b0||!FUNCTION_NAME_PATTERN['test'](_0x1c10b0))throw CliErrors[_0x131abf(0x1d5)](_0x131abf(0x1db));return _0x1c10b0;}function readScriptFile(_0x4c2daf){const _0xddf296=a47_0xfc6ae;if(!_0x4c2daf)throw CliErrors[_0xddf296(0x1d5)]('File\x20path\x20is\x20required.');if(!existsSync(_0x4c2daf))throw CliErrors[_0xddf296(0x1d5)](_0xddf296(0x1a1)+_0x4c2daf);if(!statSync(_0x4c2daf)[_0xddf296(0x1dc)]())throw CliErrors[_0xddf296(0x1d5)](_0xddf296(0x19e)+_0x4c2daf);const _0x186a93=readFileSync(_0x4c2daf,'utf8');if(!_0x186a93[_0xddf296(0x1d1)]())throw CliErrors[_0xddf296(0x1d5)](_0xddf296(0x1d2));return _0x186a93;}function optionalTrimmed(_0x175391){const _0x31e4c1=a47_0xfc6ae,_0x2590bf=String(_0x175391||'')[_0x31e4c1(0x1d1)]();return _0x2590bf||undefined;}function a47_0x41b1(_0x30a921,_0x18b530){_0x30a921=_0x30a921-0x19e;const _0x225770=a47_0x2257();let _0x41b1e1=_0x225770[_0x30a921];return _0x41b1e1;}function summarizeBff(_0x1d962f){const _0x5b71d5=a47_0xfc6ae;return{'id':_0x1d962f['id'],'appCode':_0x1d962f[_0x5b71d5(0x1a4)],'functionName':_0x1d962f['functionName'],'description':_0x1d962f[_0x5b71d5(0x1ab)],'scriptType':_0x1d962f[_0x5b71d5(0x1d4)],'version':_0x1d962f['version'],'gmtModified':_0x1d962f['gmtModified'],'updateTime':_0x1d962f['updateTime']};}function detailBff(_0x34b162){const _0x4e50ce=a47_0xfc6ae;return{'id':_0x34b162['id'],'appCode':_0x34b162[_0x4e50ce(0x1a4)],'functionName':_0x34b162[_0x4e50ce(0x1d0)],'description':_0x34b162['description'],'scriptType':_0x34b162[_0x4e50ce(0x1d4)],'scriptContent':_0x34b162[_0x4e50ce(0x1c2)]??'','config':_0x34b162[_0x4e50ce(0x1cf)],'version':_0x34b162[_0x4e50ce(0x1a2)],'createUserId':_0x34b162[_0x4e50ce(0x1ca)],'gmtCreate':_0x34b162[_0x4e50ce(0x1da)],'gmtModified':_0x34b162[_0x4e50ce(0x1ba)],'createTime':_0x34b162[_0x4e50ce(0x1c4)],'updateTime':_0x34b162[_0x4e50ce(0x1b8)]};}function buildCreateInput(_0x3b0e6f){const _0x4cee0c=a47_0xfc6ae;return{'functionName':normalizeFunctionName(_0x3b0e6f[_0x4cee0c(0x1df)](_0x4cee0c(0x1af))),...optionalTrimmed(_0x3b0e6f['str'](_0x4cee0c(0x1ab)))?{'description':optionalTrimmed(_0x3b0e6f[_0x4cee0c(0x1df)]('description'))}:{},'scriptContent':readScriptFile(_0x3b0e6f['str'](_0x4cee0c(0x1be))),...optionalTrimmed(_0x3b0e6f['str'](_0x4cee0c(0x1a3)))?{'sourceSessionId':optionalTrimmed(_0x3b0e6f[_0x4cee0c(0x1df)]('source-session-id'))}:{}};}function buildUpdateInput(_0x5133ea){const _0x205df4=a47_0xfc6ae,_0x309a5c={};optionalTrimmed(_0x5133ea[_0x205df4(0x1df)](_0x205df4(0x1af)))&&(_0x309a5c[_0x205df4(0x1d0)]=normalizeFunctionName(_0x5133ea['str'](_0x205df4(0x1af))));_0x5133ea[_0x205df4(0x1d7)](_0x205df4(0x1ab))!==undefined&&(_0x309a5c[_0x205df4(0x1ab)]=_0x5133ea[_0x205df4(0x1df)](_0x205df4(0x1ab)));optionalTrimmed(_0x5133ea['str'](_0x205df4(0x1be)))&&(_0x309a5c[_0x205df4(0x1c2)]=readScriptFile(_0x5133ea['str']('file')));_0x5133ea[_0x205df4(0x1d7)](_0x205df4(0x1a3))!==undefined&&(_0x309a5c['sourceSessionId']=_0x5133ea[_0x205df4(0x1df)](_0x205df4(0x1a3)));if(Object[_0x205df4(0x1dd)](_0x309a5c)[_0x205df4(0x1b7)]===0x0)throw CliErrors[_0x205df4(0x1d5)](_0x205df4(0x1e1));return _0x309a5c;}function parseExecParams(_0x50a08a){const _0x215be3=a47_0xfc6ae,_0xb13ce=parseJsonParams(_0x50a08a)??{};if(Array['isArray'](_0xb13ce))throw CliErrors['validation'](_0x215be3(0x1d8));return _0xb13ce;}const personalBffList={'service':a47_0xfc6ae(0x1b9),'command':a47_0xfc6ae(0x1cb),'description':'List\x20current\x20user\x27s\x20Personal\x20Backend\x20Function\x20scripts\x20for\x20the\x20current\x20app','risk':a47_0xfc6ae(0x1bf),'flags':[VERBOSE_FLAG],async 'execute'(_0x2e4166){const _0x308027=a47_0xfc6ae,_0x34fb7e=await listPersonalBffs(_0x2e4166['appCode']);return{'ok':!![],'data':{'total':_0x34fb7e['length'],'items':_0x2e4166[_0x308027(0x1a7)]('verbose')?_0x34fb7e:_0x34fb7e[_0x308027(0x1c6)](summarizeBff)}};}},personalBffDetail={'service':a47_0xfc6ae(0x1b9),'command':a47_0xfc6ae(0x1bd),'description':a47_0xfc6ae(0x1b1),'risk':a47_0xfc6ae(0x1bf),'flags':[{...ID_FLAG,'description':a47_0xfc6ae(0x1c3)}],async 'execute'(_0x51a08a){const _0x413de5=a47_0xfc6ae,_0x21740a=await getPersonalBff(_0x51a08a[_0x413de5(0x1e2)]('id'),_0x51a08a['appCode']);return{'ok':!![],'data':detailBff(_0x21740a)};}},personalBffCreate={'service':a47_0xfc6ae(0x1b9),'command':a47_0xfc6ae(0x1b6),'description':'Create\x20a\x20Personal\x20Backend\x20Function\x20from\x20a\x20local\x20script\x20file','risk':'write','confirmationDescription':a47_0xfc6ae(0x1a5),'flags':[FUNCTION_NAME_FLAG,{...FILE_FLAG,'required':!![]},DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x27b3fe){const _0x1eb464=a47_0xfc6ae,_0x4273d0=buildCreateInput(_0x27b3fe),_0x4411ab=await createPersonalBff(_0x27b3fe[_0x1eb464(0x1a4)],_0x4273d0);return{'ok':!![],'data':detailBff(_0x4411ab),'message':_0x1eb464(0x1c0)+_0x4411ab['id']+(_0x4411ab[_0x1eb464(0x1d0)]?'\x20('+_0x4411ab[_0x1eb464(0x1d0)]+')':'')};},async 'dryRun'(_0x98a65f){const _0x42d3e8=a47_0xfc6ae,_0x3c79e1=buildCreateInput(_0x98a65f);return dryRun(_0x42d3e8(0x1c5),_0x42d3e8(0x1bb))[_0x42d3e8(0x1e0)]({'appCode':_0x98a65f['appCode'],..._0x3c79e1})['description'](_0x42d3e8(0x1de)+_0x3c79e1[_0x42d3e8(0x1d0)])[_0x42d3e8(0x1ac)]();}},personalBffUpdate={'service':a47_0xfc6ae(0x1b9),'command':a47_0xfc6ae(0x1aa),'description':'Update\x20a\x20Personal\x20Backend\x20Function\x20by\x20ID','risk':a47_0xfc6ae(0x1a6),'confirmationDescription':a47_0xfc6ae(0x1b4),'flags':[{...ID_FLAG,'description':a47_0xfc6ae(0x1c3)},{...FUNCTION_NAME_FLAG,'required':![]},FILE_FLAG,DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x653835){const _0x29b832=a47_0xfc6ae,_0x30f775=_0x653835['num']('id'),_0x3c7672=buildUpdateInput(_0x653835),_0x4872b9=await updatePersonalBff(_0x30f775,_0x653835['appCode'],_0x3c7672);return{'ok':!![],'data':detailBff(_0x4872b9),'message':_0x29b832(0x1c9)+_0x4872b9['id']+(_0x4872b9[_0x29b832(0x1d0)]?'\x20('+_0x4872b9[_0x29b832(0x1d0)]+')':'')};},async 'dryRun'(_0x1a16c9){const _0x5b779e=a47_0xfc6ae,_0x2717=_0x1a16c9[_0x5b779e(0x1e2)]('id'),_0x1f602b=buildUpdateInput(_0x1a16c9);return dryRun(_0x5b779e(0x1c5),_0x5b779e(0x1d6)+_0x2717+_0x5b779e(0x1bc))['body']({'appCode':_0x1a16c9['appCode'],..._0x1f602b})[_0x5b779e(0x1ab)](_0x5b779e(0x1cd)+_0x2717)[_0x5b779e(0x1ac)]();}},personalBffExec={'service':a47_0xfc6ae(0x1b9),'command':'exec','description':a47_0xfc6ae(0x1a9),'risk':a47_0xfc6ae(0x1a6),'confirmationDescription':'Runs\x20the\x20Personal\x20Backend\x20Function\x20script.\x20The\x20script\x20may\x20read\x20or\x20change\x20business\x20data,\x20or\x20call\x20external\x20services.','flags':[{...ID_FLAG,'description':a47_0xfc6ae(0x1c3)},{...PARAMS_FLAG,'description':a47_0xfc6ae(0x1ae)}],async 'validate'(_0x284c39){const _0x3bbaf8=a47_0xfc6ae;parseExecParams(_0x284c39[_0x3bbaf8(0x1df)]('params'));},async 'execute'(_0xaa7976){const _0x33411f=a47_0xfc6ae,_0x2fb82d=_0xaa7976['num']('id'),_0x1f82f7=parseExecParams(_0xaa7976[_0x33411f(0x1df)]('params')),_0x170569=await executePersonalBff(_0x2fb82d,_0xaa7976['appCode'],_0x1f82f7);return{'ok':!![],'data':{'result':_0x170569},'message':_0x33411f(0x19f)+_0x2fb82d};}};export const personalBffDefinitions=[personalBffList,personalBffDetail,personalBffCreate,personalBffUpdate,personalBffExec];
|
|
1
|
+
const a47_0x2ff4ac=a47_0x1ebf;(function(_0x1ac731,_0x7d980){const _0x1b07a0=a47_0x1ebf,_0x343379=_0x1ac731();while(!![]){try{const _0x44373b=-parseInt(_0x1b07a0(0x100))/0x1+-parseInt(_0x1b07a0(0x12b))/0x2+-parseInt(_0x1b07a0(0x10a))/0x3*(-parseInt(_0x1b07a0(0x112))/0x4)+parseInt(_0x1b07a0(0x140))/0x5+parseInt(_0x1b07a0(0x133))/0x6*(-parseInt(_0x1b07a0(0x142))/0x7)+parseInt(_0x1b07a0(0x107))/0x8*(parseInt(_0x1b07a0(0x11b))/0x9)+-parseInt(_0x1b07a0(0x138))/0xa*(parseInt(_0x1b07a0(0x11a))/0xb);if(_0x44373b===_0x7d980)break;else _0x343379['push'](_0x343379['shift']());}catch(_0x2b2fd7){_0x343379['push'](_0x343379['shift']());}}}(a47_0x5ccf,0xc47bc));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';function a47_0x5ccf(){const _0x29f451=['Personal\x20Backend\x20Function\x20script\x20file\x20is\x20blank.','isArray','personal-bff','3214730Bhqvov','utf8','69181FKuJZh','detail','Updated\x20Personal\x20Backend\x20Function\x20','185293jidNlT','Preview:\x20update\x20Personal\x20Backend\x20Function\x20','read','Updates\x20the\x20Personal\x20Backend\x20Function\x20script\x20or\x20metadata.\x20Later\x20calls\x20use\x20the\x20new\x20version.','length','keys','Executed\x20Personal\x20Backend\x20Function\x20','856hzhbrR','write','validation','82383MsFPFk','POST','gmtModified','updateTime','Personal\x20Backend\x20Function\x20description','/update','--name\x20must\x20be\x20a\x20valid\x20JavaScript\x20identifier,\x20for\x20example\x20loadOrders.','Create\x20a\x20Personal\x20Backend\x20Function\x20from\x20a\x20local\x20script\x20file','168OIzzKd','List\x20current\x20user\x27s\x20Personal\x20Backend\x20Function\x20scripts\x20for\x20the\x20current\x20app','scriptContent','appCode','File\x20path\x20is\x20required.','str','Created\x20Personal\x20Backend\x20Function\x20','JSON\x20object\x20passed\x20to\x20the\x20Personal\x20Backend\x20Function\x20execution','124795BNusTK','77229ZXTpRq','verbose','Update\x20a\x20Personal\x20Backend\x20Function\x20by\x20ID','Path\x20to\x20a\x20local\x20UTF-8\x20JavaScript\x20or\x20TypeScript\x20file','/client/runtime-bff/personal/create','functionName','description','scriptType','isFile','version','File\x20not\x20found:\x20','string','file','update','config','Preview:\x20create\x20Personal\x20Backend\x20Function\x20','2029478poVmpp','Saves\x20the\x20local\x20script\x20as\x20a\x20Personal\x20Backend\x20Function.\x20The\x20script\x20can\x20then\x20be\x20called\x20in\x20the\x20current\x20app.','Execute\x20a\x20Personal\x20Backend\x20Function\x20by\x20ID,\x20optionally\x20with\x20JSON\x20params','name','createUserId','Runs\x20the\x20Personal\x20Backend\x20Function\x20script.\x20The\x20script\x20may\x20read\x20or\x20change\x20business\x20data,\x20or\x20call\x20external\x20services.','num','Personal\x20Backend\x20Function\x20name,\x20for\x20example\x20loadOrders','114hyyjvq','Personal\x20Backend\x20Function\x20script\x20ID','trim','build','flag','460rguZRS','params','source-session-id','body','Optional\x20source\x20RuntimeAgent\x20session\x20id'];a47_0x5ccf=function(){return _0x29f451;};return a47_0x5ccf();}import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';import{parseJsonParams}from'../../utils/params.js';function a47_0x1ebf(_0x338684,_0x8d79a6){_0x338684=_0x338684-0x100;const _0x5ccf98=a47_0x5ccf();let _0x1ebf1e=_0x5ccf98[_0x338684];return _0x1ebf1e;}const FUNCTION_NAME_PATTERN=/^[a-zA-Z_$][a-zA-Z0-9_$]*$/,FILE_FLAG={'name':a47_0x2ff4ac(0x127),'type':a47_0x2ff4ac(0x126),'description':a47_0x2ff4ac(0x11e)},FUNCTION_NAME_FLAG={'name':a47_0x2ff4ac(0x12e),'type':a47_0x2ff4ac(0x126),'required':!![],'description':a47_0x2ff4ac(0x132)},DESCRIPTION_FLAG={'name':'description','type':a47_0x2ff4ac(0x126),'description':a47_0x2ff4ac(0x10e)},SOURCE_SESSION_FLAG={'name':a47_0x2ff4ac(0x13a),'type':a47_0x2ff4ac(0x126),'description':a47_0x2ff4ac(0x13c)};function normalizeFunctionName(_0x3e146b){const _0x4f7fcd=a47_0x2ff4ac,_0x4d19fe=String(_0x3e146b||'')[_0x4f7fcd(0x135)]();if(!_0x4d19fe||!FUNCTION_NAME_PATTERN['test'](_0x4d19fe))throw CliErrors[_0x4f7fcd(0x109)](_0x4f7fcd(0x110));return _0x4d19fe;}function readScriptFile(_0x53eb2d){const _0x214f35=a47_0x2ff4ac;if(!_0x53eb2d)throw CliErrors[_0x214f35(0x109)](_0x214f35(0x116));if(!existsSync(_0x53eb2d))throw CliErrors['validation'](_0x214f35(0x125)+_0x53eb2d);if(!statSync(_0x53eb2d)[_0x214f35(0x123)]())throw CliErrors['validation']('File\x20is\x20not\x20a\x20regular\x20file:\x20'+_0x53eb2d);const _0x385f64=readFileSync(_0x53eb2d,_0x214f35(0x141));if(!_0x385f64['trim']())throw CliErrors[_0x214f35(0x109)](_0x214f35(0x13d));return _0x385f64;}function optionalTrimmed(_0x3cda7f){const _0x33a938=a47_0x2ff4ac,_0x117816=String(_0x3cda7f||'')[_0x33a938(0x135)]();return _0x117816||undefined;}function summarizeBff(_0x4aab98){const _0x1b9e0b=a47_0x2ff4ac;return{'id':_0x4aab98['id'],'appCode':_0x4aab98[_0x1b9e0b(0x115)],'functionName':_0x4aab98[_0x1b9e0b(0x120)],'description':_0x4aab98[_0x1b9e0b(0x121)],'scriptType':_0x4aab98[_0x1b9e0b(0x122)],'version':_0x4aab98[_0x1b9e0b(0x124)],'gmtModified':_0x4aab98[_0x1b9e0b(0x10c)],'updateTime':_0x4aab98[_0x1b9e0b(0x10d)]};}function detailBff(_0x46ffb1){const _0x59a3aa=a47_0x2ff4ac;return{'id':_0x46ffb1['id'],'appCode':_0x46ffb1['appCode'],'functionName':_0x46ffb1['functionName'],'description':_0x46ffb1[_0x59a3aa(0x121)],'scriptType':_0x46ffb1['scriptType'],'scriptContent':_0x46ffb1[_0x59a3aa(0x114)]??'','config':_0x46ffb1[_0x59a3aa(0x129)],'version':_0x46ffb1[_0x59a3aa(0x124)],'createUserId':_0x46ffb1[_0x59a3aa(0x12f)],'gmtCreate':_0x46ffb1['gmtCreate'],'gmtModified':_0x46ffb1[_0x59a3aa(0x10c)],'createTime':_0x46ffb1['createTime'],'updateTime':_0x46ffb1[_0x59a3aa(0x10d)]};}function buildCreateInput(_0x5613a4){const _0x41044f=a47_0x2ff4ac;return{'functionName':normalizeFunctionName(_0x5613a4[_0x41044f(0x117)](_0x41044f(0x12e))),...optionalTrimmed(_0x5613a4[_0x41044f(0x117)](_0x41044f(0x121)))?{'description':optionalTrimmed(_0x5613a4[_0x41044f(0x117)]('description'))}:{},'scriptContent':readScriptFile(_0x5613a4[_0x41044f(0x117)](_0x41044f(0x127))),...optionalTrimmed(_0x5613a4['str'](_0x41044f(0x13a)))?{'sourceSessionId':optionalTrimmed(_0x5613a4[_0x41044f(0x117)]('source-session-id'))}:{}};}function buildUpdateInput(_0x4511ce){const _0x3d6a7d=a47_0x2ff4ac,_0x4577b8={};optionalTrimmed(_0x4511ce['str']('name'))&&(_0x4577b8[_0x3d6a7d(0x120)]=normalizeFunctionName(_0x4511ce[_0x3d6a7d(0x117)](_0x3d6a7d(0x12e))));_0x4511ce[_0x3d6a7d(0x137)](_0x3d6a7d(0x121))!==undefined&&(_0x4577b8['description']=_0x4511ce[_0x3d6a7d(0x117)](_0x3d6a7d(0x121)));optionalTrimmed(_0x4511ce[_0x3d6a7d(0x117)](_0x3d6a7d(0x127)))&&(_0x4577b8[_0x3d6a7d(0x114)]=readScriptFile(_0x4511ce['str'](_0x3d6a7d(0x127))));_0x4511ce['flag']('source-session-id')!==undefined&&(_0x4577b8['sourceSessionId']=_0x4511ce['str'](_0x3d6a7d(0x13a)));if(Object[_0x3d6a7d(0x105)](_0x4577b8)[_0x3d6a7d(0x104)]===0x0)throw CliErrors[_0x3d6a7d(0x109)]('personal-bff\x20update\x20requires\x20at\x20least\x20one\x20of\x20--name,\x20--description,\x20--file,\x20or\x20--source-session-id.');return _0x4577b8;}function parseExecParams(_0x34adea){const _0x5f1d14=a47_0x2ff4ac,_0x10cf3a=parseJsonParams(_0x34adea)??{};if(Array[_0x5f1d14(0x13e)](_0x10cf3a))throw CliErrors[_0x5f1d14(0x109)]('--params\x20must\x20be\x20a\x20JSON\x20object.');return _0x10cf3a;}const personalBffList={'service':a47_0x2ff4ac(0x13f),'command':'list','description':a47_0x2ff4ac(0x113),'risk':a47_0x2ff4ac(0x102),'flags':[VERBOSE_FLAG],async 'execute'(_0x1adacd){const _0x1e6500=a47_0x2ff4ac,_0x227dae=await listPersonalBffs(_0x1adacd[_0x1e6500(0x115)]);return{'ok':!![],'data':{'total':_0x227dae[_0x1e6500(0x104)],'items':_0x1adacd['bool'](_0x1e6500(0x11c))?_0x227dae:_0x227dae['map'](summarizeBff)}};}},personalBffDetail={'service':a47_0x2ff4ac(0x13f),'command':a47_0x2ff4ac(0x143),'description':'Show\x20one\x20Personal\x20Backend\x20Function\x20by\x20id','risk':a47_0x2ff4ac(0x102),'flags':[{...ID_FLAG,'description':'Personal\x20Backend\x20Function\x20script\x20ID'}],async 'execute'(_0x5576b8){const _0x505741=a47_0x2ff4ac,_0x4bcd55=await getPersonalBff(_0x5576b8[_0x505741(0x131)]('id'),_0x5576b8[_0x505741(0x115)]);return{'ok':!![],'data':detailBff(_0x4bcd55)};}},personalBffCreate={'service':a47_0x2ff4ac(0x13f),'command':'create','description':a47_0x2ff4ac(0x111),'risk':a47_0x2ff4ac(0x108),'confirmationDescription':a47_0x2ff4ac(0x12c),'flags':[FUNCTION_NAME_FLAG,{...FILE_FLAG,'required':!![]},DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x532a82){const _0x1c68bb=a47_0x2ff4ac,_0x5b8654=buildCreateInput(_0x532a82),_0x3baa58=await createPersonalBff(_0x532a82[_0x1c68bb(0x115)],_0x5b8654);return{'ok':!![],'data':detailBff(_0x3baa58),'message':_0x1c68bb(0x118)+_0x3baa58['id']+(_0x3baa58[_0x1c68bb(0x120)]?'\x20('+_0x3baa58[_0x1c68bb(0x120)]+')':'')};},async 'dryRun'(_0x530491){const _0x3c3256=a47_0x2ff4ac,_0x19dbbb=buildCreateInput(_0x530491);return dryRun(_0x3c3256(0x10b),_0x3c3256(0x11f))[_0x3c3256(0x13b)]({'appCode':_0x530491[_0x3c3256(0x115)],..._0x19dbbb})[_0x3c3256(0x121)](_0x3c3256(0x12a)+_0x19dbbb['functionName'])['build']();}},personalBffUpdate={'service':a47_0x2ff4ac(0x13f),'command':a47_0x2ff4ac(0x128),'description':a47_0x2ff4ac(0x11d),'risk':'write','confirmationDescription':a47_0x2ff4ac(0x103),'flags':[{...ID_FLAG,'description':a47_0x2ff4ac(0x134)},{...FUNCTION_NAME_FLAG,'required':![]},FILE_FLAG,DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x12fe47){const _0x2a3a6c=a47_0x2ff4ac,_0x28795e=_0x12fe47[_0x2a3a6c(0x131)]('id'),_0x29d9e2=buildUpdateInput(_0x12fe47),_0x5b29a0=await updatePersonalBff(_0x28795e,_0x12fe47[_0x2a3a6c(0x115)],_0x29d9e2);return{'ok':!![],'data':detailBff(_0x5b29a0),'message':_0x2a3a6c(0x144)+_0x5b29a0['id']+(_0x5b29a0[_0x2a3a6c(0x120)]?'\x20('+_0x5b29a0[_0x2a3a6c(0x120)]+')':'')};},async 'dryRun'(_0x27eefe){const _0x352c9d=a47_0x2ff4ac,_0x265791=_0x27eefe[_0x352c9d(0x131)]('id'),_0x2da93b=buildUpdateInput(_0x27eefe);return dryRun(_0x352c9d(0x10b),'/client/runtime-bff/personal/'+_0x265791+_0x352c9d(0x10f))[_0x352c9d(0x13b)]({'appCode':_0x27eefe[_0x352c9d(0x115)],..._0x2da93b})[_0x352c9d(0x121)](_0x352c9d(0x101)+_0x265791)[_0x352c9d(0x136)]();}},personalBffExec={'service':a47_0x2ff4ac(0x13f),'command':'exec','description':a47_0x2ff4ac(0x12d),'risk':a47_0x2ff4ac(0x108),'confirmationDescription':a47_0x2ff4ac(0x130),'flags':[{...ID_FLAG,'description':'Personal\x20Backend\x20Function\x20script\x20ID'},{...PARAMS_FLAG,'description':a47_0x2ff4ac(0x119)}],async 'validate'(_0x57ba65){const _0x1fdba7=a47_0x2ff4ac;parseExecParams(_0x57ba65[_0x1fdba7(0x117)](_0x1fdba7(0x139)));},async 'execute'(_0x1e381c){const _0xef0de6=a47_0x2ff4ac,_0x4862b0=_0x1e381c[_0xef0de6(0x131)]('id'),_0x56a1a8=parseExecParams(_0x1e381c[_0xef0de6(0x117)](_0xef0de6(0x139))),_0xa2761e=await executePersonalBff(_0x4862b0,_0x1e381c[_0xef0de6(0x115)],_0x56a1a8);return{'ok':!![],'data':{'result':_0xa2761e},'message':_0xef0de6(0x106)+_0x4862b0};}};export const personalBffDefinitions=[personalBffList,personalBffDetail,personalBffCreate,personalBffUpdate,personalBffExec];
|
package/lib/commands/registry.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a48_0x3897b1=a48_0x44bf;(function(_0x1067cd,_0x467d3c){const _0x2d1348=a48_0x44bf,_0x350a1e=_0x1067cd();while(!![]){try{const _0x37bb9c=-parseInt(_0x2d1348(0x15f))/0x1+parseInt(_0x2d1348(0x192))/0x2+parseInt(_0x2d1348(0x163))/0x3*(parseInt(_0x2d1348(0x161))/0x4)+parseInt(_0x2d1348(0x167))/0x5+-parseInt(_0x2d1348(0x157))/0x6*(-parseInt(_0x2d1348(0x16f))/0x7)+-parseInt(_0x2d1348(0x172))/0x8+-parseInt(_0x2d1348(0x18c))/0x9*(parseInt(_0x2d1348(0x170))/0xa);if(_0x37bb9c===_0x467d3c)break;else _0x350a1e['push'](_0x350a1e['shift']());}catch(_0xd175c8){_0x350a1e['push'](_0x350a1e['shift']());}}}(a48_0x1e57,0x912fe));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';function a48_0x44bf(_0x2603b1,_0x1d70da){_0x2603b1=_0x2603b1-0x157;const _0x1e5787=a48_0x1e57();let _0x44bfce=_0x1e5787[_0x2603b1];return _0x44bfce;}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';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(_0x68c5d2){const _0x3ab947=a48_0x44bf;for(const _0x38d396 of _0x68c5d2){definitions[_0x3ab947(0x16a)](_0x38d396[_0x3ab947(0x166)]+':'+_0x38d396[_0x3ab947(0x197)],_0x38d396);let _0x33d16c=serviceGroups['get'](_0x38d396[_0x3ab947(0x166)]);!_0x33d16c&&(_0x33d16c=[],serviceGroups[_0x3ab947(0x16a)](_0x38d396[_0x3ab947(0x166)],_0x33d16c)),_0x33d16c[_0x3ab947(0x189)](_0x38d396);}}function registerService(_0x48fb2a,_0x30563b,_0x261dc7){const _0x42883c=a48_0x44bf;registerDefinitions(_0x30563b);const _0x2d982e=_0xb2e284=>_0xb2e284===_0x42883c(0x184)?'':_0xb2e284===_0x42883c(0x194)?_0x42883c(0x18d):'\x20\x20[high-risk-write]',_0x43ef35={'service':_0x30563b[0x0][_0x42883c(0x166)],'label':_0x48fb2a,'commands':_0x30563b[_0x42883c(0x15e)](_0x4e3fec=>({'command':_0x4e3fec[_0x42883c(0x197)],'description':_0x4e3fec[_0x42883c(0x159)],'tag':_0x2d982e(_0x4e3fec['risk'])})),'defaultCommand':_0x261dc7?.[_0x42883c(0x179)]??(_0x261dc7?.[_0x42883c(0x15b)]?_0x30563b[0x0][_0x42883c(0x197)]:undefined),'isSingleCommand':_0x261dc7?.[_0x42883c(0x15b)]};serviceRegistry[_0x42883c(0x189)](_0x43ef35),serviceByName[_0x42883c(0x16a)](_0x43ef35[_0x42883c(0x166)],_0x43ef35);}registerService(a48_0x3897b1(0x188),authDefinitions,{'defaultCommand':'login'}),registerService(a48_0x3897b1(0x160),userAccountDefinitions),registerService(a48_0x3897b1(0x15d),appDefinitions,{'defaultCommand':'list'}),registerService('Workspace',workspaceDefinitions),registerService(a48_0x3897b1(0x193),appConfigDefinitions),registerService(a48_0x3897b1(0x17d),configDefinitions,{'defaultCommand':a48_0x3897b1(0x168)}),registerService(a48_0x3897b1(0x190),roleDefinitions,{'defaultCommand':a48_0x3897b1(0x168)}),registerService(a48_0x3897b1(0x171),permitDefinitions),registerService(a48_0x3897b1(0x165),apiDocDefinitions),registerService(a48_0x3897b1(0x185),datasetDefinitions),registerService(a48_0x3897b1(0x182),dataDefinitions),registerService('SQL\x20Queries',sqlDefinitions),registerService(a48_0x3897b1(0x180),bffDefinitions),registerService(a48_0x3897b1(0x17f),personalBffDefinitions),registerService(a48_0x3897b1(0x164),artifactDefinitions),registerService('File',fileDefinitions),registerService(a48_0x3897b1(0x15c),ocrDefinitions),registerService(a48_0x3897b1(0x16c),kbDefinitions),registerService(a48_0x3897b1(0x196),notificationDefinitions,{'defaultCommand':a48_0x3897b1(0x173)}),registerService(a48_0x3897b1(0x17b),scheduleDefinitions,{'defaultCommand':a48_0x3897b1(0x168)}),registerService(a48_0x3897b1(0x195),serviceDefinitions,{'defaultCommand':'list'}),registerService(a48_0x3897b1(0x18e),skillDefinitions,{'defaultCommand':a48_0x3897b1(0x183)}),registerService(a48_0x3897b1(0x17e),cliSkillDefinitions,{'defaultCommand':a48_0x3897b1(0x183)}),registerService(a48_0x3897b1(0x16d),[updateDefinition],{'defaultCommand':a48_0x3897b1(0x181),'isSingleCommand':!![]}),registerService(a48_0x3897b1(0x178),[doctorDefinition],{'isSingleCommand':!![]}),registerService(a48_0x3897b1(0x186),[schemaDefinition],{'isSingleCommand':!![]}),registerService('Logs',logsDefinitions,{'defaultCommand':a48_0x3897b1(0x18f)});function a48_0x1e57(){const _0xd05a2f=['map','924341sVOACp','User\x20Accounts','204mAikia','use','54951shbCRp','Artifacts','API\x20Documentation','service','2944465EPWlLL','list','get','set','Use\x20`lovrabet\x20workspace\x20init\x20--appcode\x20<code>`\x20instead.','Knowledge\x20Base','Self\x20Update','`lovrabet\x20logs\x20clear`\x20has\x20been\x20removed.','7JJhkwk','7890vxgIOG','Runtime\x20Permissions','2606768qbHQiV','config-list','`lovrabet\x20app\x20use`\x20has\x20been\x20removed.','clear','app\x20use','logs\x20clear','Diagnostics','defaultCommand','Use\x20`lovrabet\x20workspace\x20use\x20--app\x20<name>`\x20instead.','Agent\x20Schedules','app','Configuration','CLI\x20Built-in\x20Skill','Personal\x20Backend\x20Function','Backend\x20Function\x20Scripts','run','Instant\x20API','install','read','Datasets','Schema','`lovrabet\x20app\x20init`\x20has\x20been\x20removed.','Authentication','push','Use\x20`lovrabet\x20config\x20init`\x20for\x20node\x20configuration,\x20then\x20`lovrabet\x20auth\x20login`\x20for\x20AccessKey\x20authentication.','`lovrabet\x20auth\x20init`\x20has\x20been\x20removed.','4068PuIaJp','\x20\x20[write]','Skills','show','Runtime\x20Roles','logs','237446HQjEeK','Runtime\x20App\x20Config','write','Service\x20Tree','Notification\x20Configs','command','3358308YLAuOE','init','description','has','isSingleCommand','OCR','App\x20Management'];a48_0x1e57=function(){return _0xd05a2f;};return a48_0x1e57();}export function findDefinition(_0x24c67c,_0xf70f21){const _0x3f1388=a48_0x3897b1;return definitions[_0x3f1388(0x169)](_0x24c67c+':'+_0xf70f21);}export function resolveRemovedCommand(_0x4fe371,_0x366327){const _0x2fe426=a48_0x3897b1;if(_0x4fe371==='auth'&&_0x366327===_0x2fe426(0x158))return{'command':'auth\x20init','message':_0x2fe426(0x18b),'hint':_0x2fe426(0x18a)};if(_0x4fe371===_0x2fe426(0x17c)&&_0x366327===_0x2fe426(0x158))return{'command':'app\x20init','message':_0x2fe426(0x187),'hint':_0x2fe426(0x16b)};if(_0x4fe371===_0x2fe426(0x17c)&&_0x366327===_0x2fe426(0x162))return{'command':_0x2fe426(0x176),'message':_0x2fe426(0x174),'hint':_0x2fe426(0x17a)};if(_0x4fe371===_0x2fe426(0x191)&&_0x366327===_0x2fe426(0x175))return{'command':_0x2fe426(0x177),'message':_0x2fe426(0x16e),'hint':'Use\x20`lovrabet\x20logs\x20show`\x20to\x20view\x20command\x20history.'};return undefined;}export function isKnownService(_0x5599d1){const _0x22f638=a48_0x3897b1;return serviceByName[_0x22f638(0x15a)](_0x5599d1);}export function getServiceEntry(_0xe95cb7){const _0x2ac2fc=a48_0x3897b1;return serviceByName[_0x2ac2fc(0x169)](_0xe95cb7);}export function getAllDefinitions(){return Array['from'](definitions['values']());}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a49_0x233804=a49_0x50d2;(function(_0x629b4c,_0x511063){const _0x171b70=a49_0x50d2,_0x153572=_0x629b4c();while(!![]){try{const _0x4fa8a9=parseInt(_0x171b70(0xf6))/0x1+parseInt(_0x171b70(0x109))/0x2+parseInt(_0x171b70(0x102))/0x3*(parseInt(_0x171b70(0xee))/0x4)+-parseInt(_0x171b70(0xf3))/0x5+-parseInt(_0x171b70(0xfd))/0x6*(parseInt(_0x171b70(0x108))/0x7)+parseInt(_0x171b70(0xf1))/0x8+parseInt(_0x171b70(0xfc))/0x9;if(_0x4fa8a9===_0x511063)break;else _0x153572['push'](_0x153572['shift']());}catch(_0x103e2d){_0x153572['push'](_0x153572['shift']());}}}(a49_0x3b31,0x5b08b));function a49_0x50d2(_0x1d9058,_0x487d2f){_0x1d9058=_0x1d9058-0xee;const _0x3b3102=a49_0x3b31();let _0x50d255=_0x3b3102[_0x1d9058];return _0x50d255;}import{createRuntimeAppRole}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';function a49_0x3b31(){const _0x491d33=['3rvaXJy','high-risk-write','CUSTOM','str','create','/client/permit/role/create','1802773vbYfBW','1035438jGLbAG','description','1377256CQaWEC','Optional\x20role\x20remark','role','1936912lqEyog','validation','3036915AywzoE','Preview:\x20create\x20a\x20runtime\x20CUSTOM\x20role','string','303199gjUvTf','Role\x20name','body','appCode','Create\x20a\x20runtime\x20CUSTOM\x20role','--name\x20must\x20not\x20be\x20blank.','791910JlDfqW','12OJpoDU','POST','name','Creates\x20a\x20custom\x20role\x20in\x20the\x20current\x20runtime\x20app.\x20After\x20creation\x20it\x20can\x20be\x20used\x20for\x20member\x20and\x20resource\x20permissions.','trim'];a49_0x3b31=function(){return _0x491d33;};return a49_0x3b31();}import{dryRun}from'../../framework/dryrun.js';import{projectRuntimeRole,readOptionalRuntimeRoleCode,ROLE_CODE_FLAG,runtimeRoleWriteResult}from'../../commands/role/shared.js';function input(_0xfc96b0){const _0x25987a=a49_0x50d2,_0x537897=_0xfc96b0[_0x25987a(0x105)]('name')[_0x25987a(0x101)]();if(!_0x537897)throw CliErrors[_0x25987a(0xf2)](_0x25987a(0xfb));const _0x2f667c=_0xfc96b0[_0x25987a(0x105)]('remark')['trim'](),_0x3c131e=readOptionalRuntimeRoleCode(_0xfc96b0);return{'appCode':_0xfc96b0[_0x25987a(0xf9)],'roleName':_0x537897,..._0x3c131e?{'roleCode':_0x3c131e}:{},..._0x2f667c?{'remark':_0x2f667c}:{}};}export const roleCreate={'service':a49_0x233804(0xf0),'command':'create','description':a49_0x233804(0xfa),'risk':a49_0x233804(0x103),'confirmationDescription':a49_0x233804(0x100),'flags':[{'name':a49_0x233804(0xff),'type':a49_0x233804(0xf5),'required':!![],'description':a49_0x233804(0xf7)},ROLE_CODE_FLAG,{'name':'remark','type':a49_0x233804(0xf5),'description':a49_0x233804(0xef)}],async 'validate'(_0x230d14){input(_0x230d14);},async 'dryRun'(_0xd5af66){const _0x4007aa=a49_0x233804;return dryRun(_0x4007aa(0xfe),_0x4007aa(0x107))[_0x4007aa(0xf8)]({'roleType':_0x4007aa(0x104),...input(_0xd5af66)})[_0x4007aa(0x10a)](_0x4007aa(0xf4))['build']();},async 'execute'(_0x460861){const _0x395920=a49_0x233804,_0x21045b=await createRuntimeAppRole(input(_0x460861));return{'ok':!![],'data':runtimeRoleWriteResult(_0x395920(0x106),{'roleId':_0x21045b['id']},null,projectRuntimeRole(_0x21045b),{'method':_0x395920(0xfe),'path':_0x395920(0x107)})};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a50_0x4dae74=a50_0x2dfd;(function(_0xa859c7,_0x55b8d1){const _0x7397c6=a50_0x2dfd,_0x56ac18=_0xa859c7();while(!![]){try{const _0x3d68c2=parseInt(_0x7397c6(0x1fd))/0x1*(-parseInt(_0x7397c6(0x1fa))/0x2)+-parseInt(_0x7397c6(0x1fb))/0x3+-parseInt(_0x7397c6(0x1f7))/0x4+-parseInt(_0x7397c6(0x1f6))/0x5*(-parseInt(_0x7397c6(0x1f3))/0x6)+-parseInt(_0x7397c6(0x1fe))/0x7*(-parseInt(_0x7397c6(0x201))/0x8)+-parseInt(_0x7397c6(0x1f2))/0x9*(parseInt(_0x7397c6(0x1ff))/0xa)+parseInt(_0x7397c6(0x1f5))/0xb;if(_0x3d68c2===_0x55b8d1)break;else _0x56ac18['push'](_0x56ac18['shift']());}catch(_0x5edd97){_0x56ac18['push'](_0x56ac18['shift']());}}}(a50_0x3503,0x8f915));function a50_0x2dfd(_0x2be45c,_0x302969){_0x2be45c=_0x2be45c-0x1f1;const _0x350316=a50_0x3503();let _0x2dfd4d=_0x350316[_0x2be45c];return _0x2dfd4d;}import{deleteRuntimeAppRole}from'../../core/api-client.js';import{dryRun}from'../../framework/dryrun.js';function a50_0x3503(){const _0x3c502a=['build','Deletes\x20the\x20custom\x20role\x20in\x20the\x20current\x20runtime\x20app.\x20Membership\x20and\x20permission\x20config\x20for\x20that\x20role\x20may\x20become\x20invalid.','21578QWYIkb','1900641rKgOeB','POST','61YvZtfM','1247806jpxwsT','44360xhphmL','Delete\x20a\x20runtime\x20CUSTOM\x20role','40nbuYoh','delete','body','appCode','288USxiZO','6ujTzfM','/client/permit/role/delete','11328625TYlTGu','2585815HzwEKQ','1666588ltmWHG'];a50_0x3503=function(){return _0x3c502a;};return a50_0x3503();}import{assertCustomRuntimeRole,getRuntimeRoleById,projectRuntimeRole,ROLE_ID_FLAG,runtimeRoleWriteResult}from'../../commands/role/shared.js';async function prepare(_0x5ba778){const _0x123183=a50_0x2dfd,_0x2b1c2b=await getRuntimeRoleById(_0x5ba778[_0x123183(0x1f1)],_0x5ba778['num']('id'));return assertCustomRuntimeRole(_0x2b1c2b,_0x123183(0x202)),_0x2b1c2b;}export const roleDelete={'service':'role','command':a50_0x4dae74(0x202),'description':a50_0x4dae74(0x200),'risk':'high-risk-write','confirmationDescription':a50_0x4dae74(0x1f9),'flags':[ROLE_ID_FLAG],async 'dryRun'(_0x24efb5){const _0x281e83=a50_0x4dae74,_0x480759=await prepare(_0x24efb5);return dryRun('POST',_0x281e83(0x1f4))[_0x281e83(0x203)]({'id':_0x480759['id']})['description']('Preview:\x20delete\x20a\x20runtime\x20CUSTOM\x20role')[_0x281e83(0x1f8)]();},async 'execute'(_0x3de345){const _0x1f869b=a50_0x4dae74,_0x172a9a=await prepare(_0x3de345);return await deleteRuntimeAppRole(_0x172a9a['id']),{'ok':!![],'data':runtimeRoleWriteResult(_0x1f869b(0x202),{'roleId':_0x172a9a['id']},projectRuntimeRole(_0x172a9a),null,{'method':_0x1f869b(0x1fc),'path':_0x1f869b(0x1f4)})};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a51_0x16f5(){const _0x539fb3=['1769965EdQPAm','10094616ZKBjek','detail','1483608yMyTUN','854604GIQmXB','runtime','num','2121021OQrTvU','appCode','14BXCppW','read','18592016GBGQGx','2434635nhCdIG','role','Show\x20one\x20runtime\x20role\x20by\x20ID'];a51_0x16f5=function(){return _0x539fb3;};return a51_0x16f5();}function a51_0x36e8(_0x147387,_0x5658e9){_0x147387=_0x147387-0x80;const _0x16f5d4=a51_0x16f5();let _0x36e81e=_0x16f5d4[_0x147387];return _0x36e81e;}const a51_0x5c1021=a51_0x36e8;(function(_0x294b0e,_0x27bba3){const _0xe704e4=a51_0x36e8,_0x1b72a5=_0x294b0e();while(!![]){try{const _0x1c3688=-parseInt(_0xe704e4(0x81))/0x1+-parseInt(_0xe704e4(0x84))/0x2+parseInt(_0xe704e4(0x88))/0x3+parseInt(_0xe704e4(0x85))/0x4+-parseInt(_0xe704e4(0x8d))/0x5+-parseInt(_0xe704e4(0x82))/0x6+parseInt(_0xe704e4(0x8a))/0x7*(parseInt(_0xe704e4(0x8c))/0x8);if(_0x1c3688===_0x27bba3)break;else _0x1b72a5['push'](_0x1b72a5['shift']());}catch(_0x4c82ab){_0x1b72a5['push'](_0x1b72a5['shift']());}}}(a51_0x16f5,0xd8aea));import{getRuntimeRoleById,projectRuntimeRole,ROLE_ID_FLAG}from'../../commands/role/shared.js';export const roleDetail={'service':a51_0x5c1021(0x8e),'command':a51_0x5c1021(0x83),'description':a51_0x5c1021(0x80),'risk':a51_0x5c1021(0x8b),'flags':[ROLE_ID_FLAG],async 'execute'(_0x37a326){const _0x1af181=a51_0x5c1021,_0x173016=await getRuntimeRoleById(_0x37a326[_0x1af181(0x89)],_0x37a326[_0x1af181(0x87)]('id'));return{'ok':!![],'data':{'scope':_0x1af181(0x86),'role':projectRuntimeRole(_0x173016)}};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a52_0x53f9(_0x4d1b5d,_0x2ddebf){_0x4d1b5d=_0x4d1b5d-0xe5;const _0x44f6ee=a52_0x44f6();let _0x53f959=_0x44f6ee[_0x4d1b5d];return _0x53f959;}(function(_0x2fe94c,_0x5371c3){const _0x1c9b29=a52_0x53f9,_0x5185dc=_0x2fe94c();while(!![]){try{const _0xd5c85c=-parseInt(_0x1c9b29(0xed))/0x1*(parseInt(_0x1c9b29(0xe6))/0x2)+-parseInt(_0x1c9b29(0xea))/0x3+parseInt(_0x1c9b29(0xe7))/0x4+parseInt(_0x1c9b29(0xe5))/0x5*(-parseInt(_0x1c9b29(0xec))/0x6)+parseInt(_0x1c9b29(0xe8))/0x7+-parseInt(_0x1c9b29(0xe9))/0x8+parseInt(_0x1c9b29(0xeb))/0x9;if(_0xd5c85c===_0x5371c3)break;else _0x5185dc['push'](_0x5185dc['shift']());}catch(_0xcaea14){_0x5185dc['push'](_0x5185dc['shift']());}}}(a52_0x44f6,0x2f751));import{roleList}from'../../commands/role/list.js';import{roleDetail}from'../../commands/role/detail.js';import{roleCreate}from'../../commands/role/create.js';function a52_0x44f6(){const _0x1f58db=['5478264pYUgZR','60HlKOnX','1HeBGyn','36705MOMPYy','545730MxWFEo','601196FGpSOo','849275NnkISQ','2707744eivElY','3576RRaXzL'];a52_0x44f6=function(){return _0x1f58db;};return a52_0x44f6();}import{roleUpdate}from'../../commands/role/update.js';import{roleDelete}from'../../commands/role/delete.js';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];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a53_0x20d37d=a53_0x32fe;function a53_0x41ad(){const _0x211029=['--pagesize\x20must\x20be\x20an\x20integer\x20from\x201\x20to\x20100.','120TgLQch','string','str','pagesize','appCode','Page\x20size\x20from\x201\x20to\x20100','page','5840560YOchws','List\x20runtime\x20roles\x20for\x20the\x20current\x20app','map','8347556IkYynx','name','1558494ACOPGb','validation','trim','num','type','570885gWgptb','toUpperCase','Invalid\x20runtime\x20role\x20type:\x20','runtime','filter','includes','items','22LxlBkv','--page\x20must\x20be\x20a\x20positive\x20integer.','length','number','isSafeInteger','list','3vvMVUa','1788548UklTwm','21635FDGeKV','10SGehCg','30HbSZwW','13160220uONiHM','Runtime\x20role\x20type'];a53_0x41ad=function(){return _0x211029;};return a53_0x41ad();}function a53_0x32fe(_0x20a73e,_0x414746){_0x20a73e=_0x20a73e-0x1d2;const _0x41adcf=a53_0x41ad();let _0x32fe14=_0x41adcf[_0x20a73e];return _0x32fe14;}(function(_0x207790,_0x211451){const _0x2cb6a6=a53_0x32fe,_0x432c60=_0x207790();while(!![]){try{const _0x8ef183=parseInt(_0x2cb6a6(0x1ee))/0x1*(-parseInt(_0x2cb6a6(0x1f4))/0x2)+parseInt(_0x2cb6a6(0x1ec))/0x3*(-parseInt(_0x2cb6a6(0x1ed))/0x4)+parseInt(_0x2cb6a6(0x1df))/0x5*(parseInt(_0x2cb6a6(0x1f0))/0x6)+-parseInt(_0x2cb6a6(0x1d8))/0x7+parseInt(_0x2cb6a6(0x1d5))/0x8+parseInt(_0x2cb6a6(0x1da))/0x9*(parseInt(_0x2cb6a6(0x1ef))/0xa)+parseInt(_0x2cb6a6(0x1e6))/0xb*(parseInt(_0x2cb6a6(0x1f1))/0xc);if(_0x8ef183===_0x211451)break;else _0x432c60['push'](_0x432c60['shift']());}catch(_0x45a714){_0x432c60['push'](_0x432c60['shift']());}}}(a53_0x41ad,0xb2292));import{listRuntimeAppRoles}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{listAllRuntimeRoles,projectRuntimeRole,RUNTIME_ROLE_TYPES}from'../../commands/role/shared.js';export const roleList={'service':'role','command':a53_0x20d37d(0x1eb),'description':a53_0x20d37d(0x1d6),'risk':'read','flags':[{'name':a53_0x20d37d(0x1de),'type':a53_0x20d37d(0x1f5),'enum':RUNTIME_ROLE_TYPES,'description':a53_0x20d37d(0x1f2)},{'name':a53_0x20d37d(0x1d9),'type':a53_0x20d37d(0x1f5),'description':'Fuzzy\x20role-name\x20filter'},{'name':a53_0x20d37d(0x1d4),'type':a53_0x20d37d(0x1e9),'default':0x1,'description':'Page\x20number'},{'name':a53_0x20d37d(0x1f7),'type':'number','default':0x64,'description':a53_0x20d37d(0x1d3)}],async 'validate'(_0x16b454){const _0x562b1c=a53_0x20d37d,_0xdb2a99=_0x16b454['str'](_0x562b1c(0x1de))[_0x562b1c(0x1e0)]();if(_0xdb2a99&&!RUNTIME_ROLE_TYPES[_0x562b1c(0x1e4)](_0xdb2a99))throw CliErrors['validation'](_0x562b1c(0x1e1)+_0xdb2a99+'.');const _0x2900d8=_0x16b454[_0x562b1c(0x1dd)]('page',0x1),_0xaf52c9=_0x16b454['num']('pagesize',0x64);if(!Number[_0x562b1c(0x1ea)](_0x2900d8)||_0x2900d8<0x1)throw CliErrors[_0x562b1c(0x1db)](_0x562b1c(0x1e7));if(!Number[_0x562b1c(0x1ea)](_0xaf52c9)||_0xaf52c9<0x1||_0xaf52c9>0x64)throw CliErrors['validation'](_0x562b1c(0x1f3));},async 'execute'(_0x188a0d){const _0x2d3349=a53_0x20d37d,_0x100c63=_0x188a0d['str'](_0x2d3349(0x1de))[_0x2d3349(0x1e0)](),_0x5d6c25=_0x188a0d[_0x2d3349(0x1f6)](_0x2d3349(0x1d9))[_0x2d3349(0x1dc)](),_0x1be1b5=_0x188a0d[_0x2d3349(0x1dd)](_0x2d3349(0x1d4),0x1),_0x5b77fc=_0x188a0d[_0x2d3349(0x1dd)](_0x2d3349(0x1f7),0x64);if(_0x100c63){const _0x342aef=(await listAllRuntimeRoles(_0x188a0d['appCode'],{..._0x5d6c25?{'roleName':_0x5d6c25}:{}}))[_0x2d3349(0x1e3)](_0x31fda3=>_0x31fda3['roleType']===_0x100c63),_0x432f6c=(_0x1be1b5-0x1)*_0x5b77fc;return{'ok':!![],'data':{'scope':_0x2d3349(0x1e2),'roles':_0x342aef['slice'](_0x432f6c,_0x432f6c+_0x5b77fc)[_0x2d3349(0x1d7)](projectRuntimeRole),'paging':{'currentPage':_0x1be1b5,'pageSize':_0x5b77fc,'totalCount':_0x342aef[_0x2d3349(0x1e8)]}}};}const _0x50f9b2=await listRuntimeAppRoles(_0x188a0d[_0x2d3349(0x1d2)],{..._0x5d6c25?{'roleName':_0x5d6c25}:{},'currentPage':_0x1be1b5,'pageSize':_0x5b77fc});return{'ok':!![],'data':{'scope':_0x2d3349(0x1e2),'roles':_0x50f9b2[_0x2d3349(0x1e5)][_0x2d3349(0x1d7)](projectRuntimeRole),'paging':_0x50f9b2['paging']}};}};
|
|
@@ -3,11 +3,13 @@ import type { FlagDef, RuntimeContext } from "../../framework/types.js";
|
|
|
3
3
|
export declare const RUNTIME_ROLE_TYPES: RuntimeAppRoleType[];
|
|
4
4
|
export declare const ROLE_ID_FLAG: FlagDef;
|
|
5
5
|
export declare const ROLE_REF_FLAG: FlagDef;
|
|
6
|
+
export declare const ROLE_CODE_FLAG: FlagDef;
|
|
6
7
|
export declare const USER_ID_FLAG: FlagDef;
|
|
7
8
|
export declare const EXPECT_USER_COUNT_FLAG: FlagDef;
|
|
8
9
|
export declare function isBuiltinRuntimeRole(roleType: string): boolean;
|
|
9
10
|
export declare function assertCustomRuntimeRole(role: RuntimeAppRole, action: string): void;
|
|
10
11
|
export declare function projectRuntimeRole(role: RuntimeAppRole): Record<string, unknown>;
|
|
12
|
+
export declare function readOptionalRuntimeRoleCode(ctx: RuntimeContext): string | undefined;
|
|
11
13
|
export declare function getRuntimeRoleById(appCode: string, roleId: number): Promise<RuntimeAppRole>;
|
|
12
14
|
export declare function listAllRuntimeRoles(appCode: string, options?: {
|
|
13
15
|
roleName?: string;
|