@lovrabet/lovrabet-cli 2.2.5 → 2.2.6

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.
Files changed (173) hide show
  1. package/README.md +3 -3
  2. package/lib/cli.js +1 -1
  3. package/lib/commands/api-doc/index.js +1 -1
  4. package/lib/commands/app/cache.js +1 -1
  5. package/lib/commands/app/definitions.js +1 -1
  6. package/lib/commands/app/eligibility.js +1 -1
  7. package/lib/commands/app/mock-loader.js +1 -1
  8. package/lib/commands/app/remote-source.js +1 -1
  9. package/lib/commands/app/shared.js +1 -1
  10. package/lib/commands/app-config/get.js +1 -1
  11. package/lib/commands/app-config/index.js +1 -1
  12. package/lib/commands/artifact/index.js +1 -1
  13. package/lib/commands/auth/device.js +1 -1
  14. package/lib/commands/auth/index.js +1 -1
  15. package/lib/commands/auth/prompt.js +1 -1
  16. package/lib/commands/bff/detail.d.ts +1 -1
  17. package/lib/commands/bff/detail.js +1 -1
  18. package/lib/commands/bff/exec.d.ts +2 -2
  19. package/lib/commands/bff/exec.js +1 -1
  20. package/lib/commands/bff/index.js +1 -1
  21. package/lib/commands/cli-skill/index.js +1 -1
  22. package/lib/commands/common/config-policy.js +1 -1
  23. package/lib/commands/common/constraints.js +1 -1
  24. package/lib/commands/common/flags.d.ts +1 -1
  25. package/lib/commands/common/flags.js +1 -1
  26. package/lib/commands/common/local-file.js +1 -1
  27. package/lib/commands/config/definitions.js +1 -1
  28. package/lib/commands/config/shared.js +1 -1
  29. package/lib/commands/data/index.js +1 -1
  30. package/lib/commands/dataset/detail.js +1 -1
  31. package/lib/commands/dataset/index.js +1 -1
  32. package/lib/commands/dataset/list.js +1 -1
  33. package/lib/commands/dataset/sdk-doc.js +1 -1
  34. package/lib/commands/doctor.js +1 -1
  35. package/lib/commands/file/index.js +1 -1
  36. package/lib/commands/init.js +1 -1
  37. package/lib/commands/kb/index.js +1 -1
  38. package/lib/commands/logs/index.js +1 -1
  39. package/lib/commands/notification/config-list.js +1 -1
  40. package/lib/commands/notification/index.js +1 -1
  41. package/lib/commands/notification/shared.js +1 -1
  42. package/lib/commands/ocr/index.js +1 -1
  43. package/lib/commands/permit/dataset-get.js +1 -1
  44. package/lib/commands/permit/dataset-set.js +1 -1
  45. package/lib/commands/permit/index.js +1 -1
  46. package/lib/commands/permit/page-get.js +1 -1
  47. package/lib/commands/permit/page-set.js +1 -1
  48. package/lib/commands/permit/role-menus-set.js +1 -1
  49. package/lib/commands/permit/role-menus.js +1 -1
  50. package/lib/commands/permit/shared.js +1 -1
  51. package/lib/commands/personal-bff/index.js +1 -1
  52. package/lib/commands/registry.js +1 -1
  53. package/lib/commands/role/create.js +1 -1
  54. package/lib/commands/role/delete.js +1 -1
  55. package/lib/commands/role/detail.js +1 -1
  56. package/lib/commands/role/index.js +1 -1
  57. package/lib/commands/role/list.js +1 -1
  58. package/lib/commands/role/shared.js +1 -1
  59. package/lib/commands/role/update.js +1 -1
  60. package/lib/commands/role/user-add.js +1 -1
  61. package/lib/commands/role/user-remove.js +1 -1
  62. package/lib/commands/schedule/index.js +1 -1
  63. package/lib/commands/schema.js +1 -1
  64. package/lib/commands/service/dynamic.js +1 -1
  65. package/lib/commands/service/function-name-adapter.js +1 -1
  66. package/lib/commands/service/index.js +1 -1
  67. package/lib/commands/service/registry.js +1 -1
  68. package/lib/commands/skill/commands/create.js +1 -1
  69. package/lib/commands/skill/commands/diagram.js +1 -1
  70. package/lib/commands/skill/commands/install.js +1 -1
  71. package/lib/commands/skill/commands/list.js +1 -1
  72. package/lib/commands/skill/commands/push.js +1 -1
  73. package/lib/commands/skill/commands/validate.js +1 -1
  74. package/lib/commands/skill/diagram.js +1 -1
  75. package/lib/commands/skill/flags.js +1 -1
  76. package/lib/commands/skill/index.js +1 -1
  77. package/lib/commands/skill/manifest-helpers.js +1 -1
  78. package/lib/commands/skill/push-execute.js +1 -1
  79. package/lib/commands/skill/push-flow-helpers.js +1 -1
  80. package/lib/commands/skill/push-retarget.js +1 -1
  81. package/lib/commands/skill/scopes.js +1 -1
  82. package/lib/commands/skill/summary.js +1 -1
  83. package/lib/commands/skill/templates.js +1 -1
  84. package/lib/commands/skill/validate.js +1 -1
  85. package/lib/commands/sql/detail.js +1 -1
  86. package/lib/commands/sql/exec.js +1 -1
  87. package/lib/commands/sql/index.js +1 -1
  88. package/lib/commands/update.js +1 -1
  89. package/lib/commands/user-account/bind.js +1 -1
  90. package/lib/commands/user-account/index.js +1 -1
  91. package/lib/commands/workspace/index.js +1 -1
  92. package/lib/config/schema.js +1 -1
  93. package/lib/constant/app.js +1 -1
  94. package/lib/constant/auth-mode.js +1 -1
  95. package/lib/constant/cli.js +1 -1
  96. package/lib/constant/defaults.js +1 -1
  97. package/lib/constant/distribution.js +1 -1
  98. package/lib/constant/domain.d.ts +1 -1
  99. package/lib/constant/domain.js +1 -1
  100. package/lib/constant/env.js +1 -1
  101. package/lib/constant/output.js +1 -1
  102. package/lib/constant/product.js +1 -1
  103. package/lib/constant/risk.js +1 -1
  104. package/lib/constant/url.js +1 -1
  105. package/lib/context.js +1 -1
  106. package/lib/core/api-client.d.ts +3 -3
  107. package/lib/core/api-client.js +1 -1
  108. package/lib/core/db-resolver.js +1 -1
  109. package/lib/core/sdk-client.d.ts +3 -3
  110. package/lib/core/sdk-client.js +1 -1
  111. package/lib/errors.js +1 -1
  112. package/lib/framework/build-all-flags.js +1 -1
  113. package/lib/framework/dryrun.js +1 -1
  114. package/lib/framework/flags.js +1 -1
  115. package/lib/framework/help.js +1 -1
  116. package/lib/framework/index.js +1 -1
  117. package/lib/framework/output.js +1 -1
  118. package/lib/framework/preparse.js +1 -1
  119. package/lib/framework/rate-limit.js +1 -1
  120. package/lib/framework/raw-flags.js +1 -1
  121. package/lib/framework/response.js +1 -1
  122. package/lib/framework/runner-confirmation.js +1 -1
  123. package/lib/framework/runner-error.js +1 -1
  124. package/lib/framework/runner.js +1 -1
  125. package/lib/framework/schema-export.js +1 -1
  126. package/lib/framework/service-order.js +1 -1
  127. package/lib/framework/types.d.ts +3 -3
  128. package/lib/framework/types.js +1 -1
  129. package/lib/generated/build-info.d.ts +4 -4
  130. package/lib/generated/build-info.js +1 -1
  131. package/lib/help.js +1 -1
  132. package/lib/postinstall.js +1 -1
  133. package/lib/runtime/confirmation.js +1 -1
  134. package/lib/runtime/event.js +1 -1
  135. package/lib/runtime/index.js +1 -1
  136. package/lib/runtime/queue.js +1 -1
  137. package/lib/runtime/resolve.js +1 -1
  138. package/lib/skills/builtin-skill.js +1 -1
  139. package/lib/skills/npx-skills-add.js +1 -1
  140. package/lib/skills/runtime-skill-sync/constants.js +1 -1
  141. package/lib/skills/runtime-skill-sync/fs-utils.js +1 -1
  142. package/lib/skills/runtime-skill-sync/hashing.js +1 -1
  143. package/lib/skills/runtime-skill-sync/install-target.js +1 -1
  144. package/lib/skills/runtime-skill-sync/links.js +1 -1
  145. package/lib/skills/runtime-skill-sync/list-local.js +1 -1
  146. package/lib/skills/runtime-skill-sync/local-files.js +1 -1
  147. package/lib/skills/runtime-skill-sync/materialize.js +1 -1
  148. package/lib/skills/runtime-skill-sync/metadata.js +1 -1
  149. package/lib/skills/runtime-skill-sync/paths.js +1 -1
  150. package/lib/skills/runtime-skill-sync/push.js +1 -1
  151. package/lib/skills/runtime-skill-sync/scopes.js +1 -1
  152. package/lib/skills/runtime-skill-sync/zip-codec.js +1 -1
  153. package/lib/skills/runtime-skill-sync/zip-package.js +1 -1
  154. package/lib/skills/runtime-skill-sync.js +1 -1
  155. package/lib/skills/skill-presence.js +1 -1
  156. package/lib/utils/apply-jq-filter.js +1 -1
  157. package/lib/utils/logger.js +1 -1
  158. package/lib/utils/lossless-json.js +1 -1
  159. package/lib/utils/params.js +1 -1
  160. package/lib/utils/platform.js +1 -1
  161. package/lib/utils/update-notice.js +1 -1
  162. package/lib/utils/version.js +1 -1
  163. package/lib/utils/write-cli-side-channel.js +1 -1
  164. package/package.json +2 -2
  165. package/skills/lovrabet/SKILL.md +16 -15
  166. package/skills/lovrabet/guides/dataset-and-data-workflow.md +2 -2
  167. package/skills/lovrabet/guides/sql-and-bff-workflow.md +7 -5
  168. package/skills/lovrabet/references/dataset-discovery-workflow.md +2 -2
  169. package/skills/lovrabet/references/lovrabet-app-config.md +1 -1
  170. package/skills/lovrabet/references/lovrabet-bff-workflow.md +1 -1
  171. package/skills/lovrabet/references/lovrabet-file-workflow.md +1 -1
  172. package/skills/lovrabet/references/lovrabet-personal-bff-workflow.md +35 -7
  173. package/skills/lovrabet.manifest.json +3 -3
@@ -1 +1 @@
1
- const a43_0xac55d1=a43_0x5368;(function(_0x39cac9,_0x5a4f4f){const _0x5cea9f=a43_0x5368,_0x38f0c0=_0x39cac9();while(!![]){try{const _0x12b357=-parseInt(_0x5cea9f(0xa6))/0x1*(parseInt(_0x5cea9f(0xa0))/0x2)+parseInt(_0x5cea9f(0xbd))/0x3+parseInt(_0x5cea9f(0xa1))/0x4*(parseInt(_0x5cea9f(0xac))/0x5)+parseInt(_0x5cea9f(0x9b))/0x6*(parseInt(_0x5cea9f(0xab))/0x7)+parseInt(_0x5cea9f(0xad))/0x8+-parseInt(_0x5cea9f(0xa9))/0x9*(parseInt(_0x5cea9f(0xc1))/0xa)+-parseInt(_0x5cea9f(0xbb))/0xb;if(_0x12b357===_0x5a4f4f)break;else _0x38f0c0['push'](_0x38f0c0['shift']());}catch(_0x51782d){_0x38f0c0['push'](_0x38f0c0['shift']());}}}(a43_0x23f9,0xc6dc8));function a43_0x5368(_0x3c289c,_0x51371b){_0x3c289c=_0x3c289c-0x99;const _0x23f92d=a43_0x23f9();let _0x53686e=_0x23f92d[_0x3c289c];return _0x53686e;}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':a43_0xac55d1(0x9e),'type':a43_0xac55d1(0x9f),'required':!![],'description':'Comma-separated\x20runtime\x20menu\x20IDs'};async function prepare(_0x4b714e){const _0x25d89d=a43_0xac55d1;await assertRuntimePermissionManager(_0x4b714e[_0x25d89d(0xb5)]);const _0xc13ade=assertGrantOrRevoke(_0x4b714e['bool'](_0x25d89d(0xbc)),_0x4b714e[_0x25d89d(0xc3)]('revoke')),_0x167d47=await resolveRuntimeRoleRef(_0x4b714e[_0x25d89d(0xb5)],_0x4b714e[_0x25d89d(0xb1)]('role'));assertRuntimePermitRoleConfigurable(_0x167d47);const _0x576420=[...new Set(splitRefs(_0x4b714e[_0x25d89d(0xb1)]('menus'),_0x25d89d(0xa3))[_0x25d89d(0x99)](_0xf1611d=>{const _0x5d4ecd=_0x25d89d,_0x190cc1=Number(_0xf1611d);if(!/^\d+$/['test'](_0xf1611d)||!Number[_0x5d4ecd(0xc2)](_0x190cc1)||_0x190cc1<=0x0)throw CliErrors[_0x5d4ecd(0xaf)]('Invalid\x20runtime\x20menu\x20ID:\x20'+_0xf1611d+'.');return _0x190cc1;}))],_0x150405=flattenRuntimeMenuRolePermits(await listRuntimeMenuRolePermits(_0x4b714e[_0x25d89d(0xb5)])),_0x574a97=await listRuntimePermitRoles(_0x4b714e[_0x25d89d(0xb5)]),_0x36e14a=[],_0x19e5cb=[],_0x5373ea=[],_0x4d901d=[];for(const _0x367b75 of _0x576420){const _0x5ac5ba=_0x150405[_0x25d89d(0xbe)](_0x4b9091=>_0x4b9091['id']===_0x367b75);if(!_0x5ac5ba)throw CliErrors[_0x25d89d(0xaf)](_0x25d89d(0xb4)+_0x367b75+'\x20was\x20not\x20found.');const _0xa36b14=applyRuntimeRolePermission(_0x5ac5ba['rolePermit'],_0x167d47,_0x574a97,_0xc13ade);_0x19e5cb[_0x25d89d(0xa7)]({'menuId':_0x367b75,'rolePermit':_0x5ac5ba['rolePermit']}),_0x5373ea['push']({'menuId':_0x367b75,'rolePermit':_0xa36b14[_0x25d89d(0x9c)]});if(_0xa36b14['changed'])_0x36e14a[_0x25d89d(0xa7)](menuPermitDto(_0x4b714e[_0x25d89d(0xb5)],_0x5ac5ba,_0xa36b14[_0x25d89d(0x9c)]));else _0x4d901d[_0x25d89d(0xa7)]('Runtime\x20menu\x20'+_0x367b75+_0x25d89d(0xb6)+_0xc13ade+_0x25d89d(0x9d)+_0x167d47['id']+'.');}return{'operation':_0xc13ade,'role':_0x167d47,'menuIds':_0x576420,'permitList':_0x36e14a,'before':_0x19e5cb,'after':_0x5373ea,'warnings':_0x4d901d};}export const permitRoleMenusSet={'service':a43_0xac55d1(0xa8),'command':'role-menus-set','description':a43_0xac55d1(0xaa),'risk':'high-risk-write','confirmationDescription':'授予或收回目标角色对指定运行菜单的访问权限;变更会影响该角色用户的菜单可见性。','flags':[ROLE_REF_FLAG,GRANT_FLAG,REVOKE_FLAG,MENUS_FLAG],async 'validate'(_0x9f22b2){const _0x46a355=a43_0xac55d1;assertGrantOrRevoke(_0x9f22b2[_0x46a355(0xc3)](_0x46a355(0xbc)),_0x9f22b2[_0x46a355(0xc3)](_0x46a355(0xb8)));},async 'dryRun'(_0x3d9f2b){const _0x141cf5=a43_0xac55d1,_0x55ff26=await prepare(_0x3d9f2b);return dryRun(_0x141cf5(0xb9),_0x141cf5(0xa5))[_0x141cf5(0xa4)]({'appCode':_0x3d9f2b[_0x141cf5(0xb5)],'permitList':_0x55ff26[_0x141cf5(0xb2)]})[_0x141cf5(0xb0)](_0x141cf5(0xbf)+_0x55ff26[_0x141cf5(0xb7)]+'\x20selected\x20runtime\x20menus')[_0x141cf5(0xb3)]();},async 'execute'(_0x5e0e28){const _0x46dabb=a43_0xac55d1,_0x17151c=await prepare(_0x5e0e28);return _0x17151c[_0x46dabb(0xb2)][_0x46dabb(0x9a)]>0x0&&await saveRuntimeMenuRolePermits(_0x5e0e28['appCode'],_0x17151c[_0x46dabb(0xb2)]),{'ok':!![],'data':runtimePermitWriteResult(_0x46dabb(0xa2)+_0x17151c[_0x46dabb(0xb7)],{'roleId':_0x17151c[_0x46dabb(0xc0)]['id'],'menuIds':_0x17151c['menuIds']},_0x17151c[_0x46dabb(0xba)],_0x17151c['after'],{'method':_0x46dabb(0xb9),'path':'/client/permit/resource/batch-save-menu'},_0x17151c[_0x46dabb(0xae)])};}};function a43_0x23f9(){const _0x50567=['30201028NwAYJW','grant','4667100ONELOX','find','Preview:\x20','role','30lgtKkS','isSafeInteger','bool','map','length','34302KhGJdt','roles','\x20for\x20role\x20','menus','string','2900038RstFYH','2372igpCIW','menu-','--menus','body','/client/permit/resource/batch-save-menu','1jKMeLe','push','permit','796347rHIMNA','Grant\x20or\x20revoke\x20selected\x20runtime\x20menus\x20for\x20one\x20role','1393dWarZy','11155MDYitl','10073488Yhemzq','warnings','validation','description','str','permitList','build','Runtime\x20menu\x20','appCode','\x20already\x20reflects\x20','operation','revoke','POST','before'];a43_0x23f9=function(){return _0x50567;};return a43_0x23f9();}
1
+ function a43_0x4c6e(){const _0x1e2a82=['\x20for\x20role\x20','2440470mLGVmi','3142800aVdqeJ','permit','34sWAlcd','validation','61857JYHmYc','2959284jgQziA','Comma-separated\x20runtime\x20menu\x20IDs','body','Preview:\x20','menu-','before','role-menus-set','Runtime\x20menu\x20','appCode','24unMiFV','356780NfJdCn','isSafeInteger','\x20was\x20not\x20found.','/client/permit/resource/batch-save-menu','POST','after','Invalid\x20runtime\x20menu\x20ID:\x20','授予或收回目标角色对指定运行菜单的访问权限;变更会影响该角色用户的菜单可见性。','roles','\x20already\x20reflects\x20','108gjaoiz','permitList','--menus','menus','7UOoqmX','77hJieVM','bool','map','revoke','str','length','menuIds','775612wJRGlf','Grant\x20or\x20revoke\x20selected\x20runtime\x20menus\x20for\x20one\x20role','push','grant','find','155235omYmkx','build','changed','operation'];a43_0x4c6e=function(){return _0x1e2a82;};return a43_0x4c6e();}const a43_0x591ef1=a43_0x2a17;(function(_0x41b338,_0x4c905c){const _0x553db6=a43_0x2a17,_0x5ef312=_0x41b338();while(!![]){try{const _0x548452=-parseInt(_0x553db6(0x193))/0x1+parseInt(_0x553db6(0x1a0))/0x2*(-parseInt(_0x553db6(0x1a2))/0x3)+-parseInt(_0x553db6(0x1ac))/0x4*(-parseInt(_0x553db6(0x198))/0x5)+parseInt(_0x553db6(0x19d))/0x6*(-parseInt(_0x553db6(0x18b))/0x7)+-parseInt(_0x553db6(0x19e))/0x8+-parseInt(_0x553db6(0x187))/0x9*(-parseInt(_0x553db6(0x1ad))/0xa)+-parseInt(_0x553db6(0x18c))/0xb*(-parseInt(_0x553db6(0x1a3))/0xc);if(_0x548452===_0x4c905c)break;else _0x5ef312['push'](_0x5ef312['shift']());}catch(_0x4d7db1){_0x5ef312['push'](_0x5ef312['shift']());}}}(a43_0x4c6e,0x654d9));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':a43_0x591ef1(0x18a),'type':'string','required':!![],'description':a43_0x591ef1(0x1a4)};function a43_0x2a17(_0x274514,_0x9ab6f0){_0x274514=_0x274514-0x180;const _0x4c6e7d=a43_0x4c6e();let _0x2a174a=_0x4c6e7d[_0x274514];return _0x2a174a;}async function prepare(_0x540ac7){const _0x339945=a43_0x591ef1;await assertRuntimePermissionManager(_0x540ac7[_0x339945(0x1ab)]);const _0x24a052=assertGrantOrRevoke(_0x540ac7[_0x339945(0x18d)](_0x339945(0x196)),_0x540ac7['bool'](_0x339945(0x18f))),_0x4c2d8d=await resolveRuntimeRoleRef(_0x540ac7[_0x339945(0x1ab)],_0x540ac7['str']('role'));assertRuntimePermitRoleConfigurable(_0x4c2d8d);const _0x3a5e03=[...new Set(splitRefs(_0x540ac7[_0x339945(0x190)](_0x339945(0x18a)),_0x339945(0x189))[_0x339945(0x18e)](_0x598d14=>{const _0x4d2f95=_0x339945,_0x3c82ff=Number(_0x598d14);if(!/^\d+$/['test'](_0x598d14)||!Number[_0x4d2f95(0x1ae)](_0x3c82ff)||_0x3c82ff<=0x0)throw CliErrors[_0x4d2f95(0x1a1)](_0x4d2f95(0x183)+_0x598d14+'.');return _0x3c82ff;}))],_0x563b6f=flattenRuntimeMenuRolePermits(await listRuntimeMenuRolePermits(_0x540ac7[_0x339945(0x1ab)])),_0x2b189c=await listRuntimePermitRoles(_0x540ac7[_0x339945(0x1ab)]),_0xa0863d=[],_0x4557bd=[],_0x2ddc15=[],_0x1d6232=[];for(const _0x472610 of _0x3a5e03){const _0x1a51b5=_0x563b6f[_0x339945(0x197)](_0x1bb6a1=>_0x1bb6a1['id']===_0x472610);if(!_0x1a51b5)throw CliErrors['validation'](_0x339945(0x1aa)+_0x472610+_0x339945(0x1af));const _0x2286e0=applyRuntimeRolePermission(_0x1a51b5['rolePermit'],_0x4c2d8d,_0x2b189c,_0x24a052);_0x4557bd[_0x339945(0x195)]({'menuId':_0x472610,'rolePermit':_0x1a51b5['rolePermit']}),_0x2ddc15['push']({'menuId':_0x472610,'rolePermit':_0x2286e0[_0x339945(0x185)]});if(_0x2286e0[_0x339945(0x19a)])_0xa0863d[_0x339945(0x195)](menuPermitDto(_0x540ac7[_0x339945(0x1ab)],_0x1a51b5,_0x2286e0[_0x339945(0x185)]));else _0x1d6232['push']('Runtime\x20menu\x20'+_0x472610+_0x339945(0x186)+_0x24a052+_0x339945(0x19c)+_0x4c2d8d['id']+'.');}return{'operation':_0x24a052,'role':_0x4c2d8d,'menuIds':_0x3a5e03,'permitList':_0xa0863d,'before':_0x4557bd,'after':_0x2ddc15,'warnings':_0x1d6232};}export const permitRoleMenusSet={'service':a43_0x591ef1(0x19f),'command':a43_0x591ef1(0x1a9),'description':a43_0x591ef1(0x194),'risk':'high-risk-write','confirmationDescription':a43_0x591ef1(0x184),'flags':[ROLE_REF_FLAG,GRANT_FLAG,REVOKE_FLAG,MENUS_FLAG],async 'validate'(_0x491cc5){const _0x2374f0=a43_0x591ef1;assertGrantOrRevoke(_0x491cc5[_0x2374f0(0x18d)](_0x2374f0(0x196)),_0x491cc5[_0x2374f0(0x18d)]('revoke'));},async 'dryRun'(_0x54ef2c){const _0x44a0f2=a43_0x591ef1,_0x19e34f=await prepare(_0x54ef2c);return dryRun(_0x44a0f2(0x181),'/client/permit/resource/batch-save-menu')[_0x44a0f2(0x1a5)]({'appCode':_0x54ef2c[_0x44a0f2(0x1ab)],'permitList':_0x19e34f[_0x44a0f2(0x188)]})['description'](_0x44a0f2(0x1a6)+_0x19e34f['operation']+'\x20selected\x20runtime\x20menus')[_0x44a0f2(0x199)]();},async 'execute'(_0x3fbc65){const _0x27557d=a43_0x591ef1,_0xfb68dd=await prepare(_0x3fbc65);return _0xfb68dd[_0x27557d(0x188)][_0x27557d(0x191)]>0x0&&await saveRuntimeMenuRolePermits(_0x3fbc65[_0x27557d(0x1ab)],_0xfb68dd['permitList']),{'ok':!![],'data':runtimePermitWriteResult(_0x27557d(0x1a7)+_0xfb68dd[_0x27557d(0x19b)],{'roleId':_0xfb68dd['role']['id'],'menuIds':_0xfb68dd[_0x27557d(0x192)]},_0xfb68dd[_0x27557d(0x1a8)],_0xfb68dd[_0x27557d(0x182)],{'method':_0x27557d(0x181),'path':_0x27557d(0x180)},_0xfb68dd['warnings'])};}};
@@ -1 +1 @@
1
- const a44_0xa39916=a44_0x1e67;(function(_0x25e251,_0x48a0b3){const _0xfd9668=a44_0x1e67,_0x50a480=_0x25e251();while(!![]){try{const _0x560ffa=parseInt(_0xfd9668(0x83))/0x1*(parseInt(_0xfd9668(0x7c))/0x2)+-parseInt(_0xfd9668(0x80))/0x3*(-parseInt(_0xfd9668(0x86))/0x4)+parseInt(_0xfd9668(0x87))/0x5*(parseInt(_0xfd9668(0x8a))/0x6)+parseInt(_0xfd9668(0x7f))/0x7+parseInt(_0xfd9668(0x88))/0x8*(-parseInt(_0xfd9668(0x7e))/0x9)+parseInt(_0xfd9668(0x84))/0xa+-parseInt(_0xfd9668(0x7d))/0xb;if(_0x560ffa===_0x48a0b3)break;else _0x50a480['push'](_0x50a480['shift']());}catch(_0x1004ea){_0x50a480['push'](_0x50a480['shift']());}}}(a44_0x2c3d,0x6a877));import{getRuntimeRoleMenuResources}from'../../core/api-client.js';import{resolveRuntimeRoleRef}from'../../commands/role/shared.js';import{ROLE_REF_FLAG}from'../../commands/permit/shared.js';function a44_0x1e67(_0x5b8a4a,_0x4b1427){_0x5b8a4a=_0x5b8a4a-0x7c;const _0x2c3d01=a44_0x2c3d();let _0x1e67a1=_0x2c3d01[_0x5b8a4a];return _0x1e67a1;}function a44_0x2c3d(){const _0x9b0087=['9120WygeOQ','7424810bwdWpQ','roleName','167844pESoch','478240ulaIjj','8mEyJIu','role-menus','48HloUDB','appCode','10GSevdu','27069218uVjnEE','552798veGsrr','4256553hWxpfW','57nuVxHM','roleType','permit'];a44_0x2c3d=function(){return _0x9b0087;};return a44_0x2c3d();}export const permitRoleMenus={'service':a44_0xa39916(0x82),'command':a44_0xa39916(0x89),'description':'Show\x20evaluated\x20runtime\x20menu\x20access\x20for\x20one\x20role','risk':'read','flags':[ROLE_REF_FLAG],async 'execute'(_0x385f2d){const _0x156b10=a44_0xa39916,_0x17a579=await resolveRuntimeRoleRef(_0x385f2d[_0x156b10(0x8b)],_0x385f2d['str']('role')),_0x52a2ec=await getRuntimeRoleMenuResources(_0x385f2d[_0x156b10(0x8b)],_0x17a579['id']);return{'ok':!![],'data':{'scope':'runtime','role':{'id':_0x17a579['id'],'roleName':_0x17a579[_0x156b10(0x85)],'roleType':_0x17a579[_0x156b10(0x81)]},'menus':_0x52a2ec}};}};
1
+ const a44_0x2730dc=a44_0x4a4d;(function(_0x2dda14,_0x41fbde){const _0x2f5358=a44_0x4a4d,_0x4c8f16=_0x2dda14();while(!![]){try{const _0x133650=-parseInt(_0x2f5358(0xc9))/0x1+parseInt(_0x2f5358(0xc7))/0x2+-parseInt(_0x2f5358(0xc5))/0x3+parseInt(_0x2f5358(0xc1))/0x4+parseInt(_0x2f5358(0xc3))/0x5*(-parseInt(_0x2f5358(0xca))/0x6)+-parseInt(_0x2f5358(0xc8))/0x7+parseInt(_0x2f5358(0xbf))/0x8;if(_0x133650===_0x41fbde)break;else _0x4c8f16['push'](_0x4c8f16['shift']());}catch(_0x1591d2){_0x4c8f16['push'](_0x4c8f16['shift']());}}}(a44_0x2bc6,0xc4a7a));function a44_0x4a4d(_0x34bdda,_0x335e58){_0x34bdda=_0x34bdda-0xbe;const _0x2bc668=a44_0x2bc6();let _0x4a4dbe=_0x2bc668[_0x34bdda];return _0x4a4dbe;}import{getRuntimeRoleMenuResources}from'../../core/api-client.js';import{resolveRuntimeRoleRef}from'../../commands/role/shared.js';import{ROLE_REF_FLAG}from'../../commands/permit/shared.js';export const permitRoleMenus={'service':'permit','command':a44_0x2730dc(0xc4),'description':a44_0x2730dc(0xc6),'risk':a44_0x2730dc(0xc2),'flags':[ROLE_REF_FLAG],async 'execute'(_0x22d1b8){const _0x559fb6=a44_0x2730dc,_0xf7bd8c=await resolveRuntimeRoleRef(_0x22d1b8['appCode'],_0x22d1b8['str']('role')),_0x3f8ad8=await getRuntimeRoleMenuResources(_0x22d1b8[_0x559fb6(0xbe)],_0xf7bd8c['id']);return{'ok':!![],'data':{'scope':'runtime','role':{'id':_0xf7bd8c['id'],'roleName':_0xf7bd8c['roleName'],'roleType':_0xf7bd8c[_0x559fb6(0xc0)]},'menus':_0x3f8ad8}};}};function a44_0x2bc6(){const _0x2bbcd8=['Show\x20evaluated\x20runtime\x20menu\x20access\x20for\x20one\x20role','2157804qxFHmK','7455406dZSunc','1310724CzbfGt','671592JYULDa','appCode','13876120QOZYah','roleType','5124900cMdJXE','read','5sFWYFV','role-menus','2404290Xjrtxy'];a44_0x2bc6=function(){return _0x2bbcd8;};return a44_0x2bc6();}
@@ -1 +1 @@
1
- const a45_0x5bed06=a45_0x2438;(function(_0xfa5b0f,_0x27462d){const _0x59defa=a45_0x2438,_0x4ac8eb=_0xfa5b0f();while(!![]){try{const _0x553d78=parseInt(_0x59defa(0xe2))/0x1*(parseInt(_0x59defa(0xe4))/0x2)+-parseInt(_0x59defa(0x104))/0x3*(-parseInt(_0x59defa(0xdf))/0x4)+-parseInt(_0x59defa(0xf7))/0x5*(-parseInt(_0x59defa(0xc0))/0x6)+-parseInt(_0x59defa(0xf6))/0x7+-parseInt(_0x59defa(0xe9))/0x8*(-parseInt(_0x59defa(0xf3))/0x9)+-parseInt(_0x59defa(0xbc))/0xa*(-parseInt(_0x59defa(0xfc))/0xb)+-parseInt(_0x59defa(0xec))/0xc;if(_0x553d78===_0x27462d)break;else _0x4ac8eb['push'](_0x4ac8eb['shift']());}catch(_0x81fefa){_0x4ac8eb['push'](_0x4ac8eb['shift']());}}}(a45_0x325d,0xb88bb));function a45_0x2438(_0x2c5131,_0x53e10e){_0x2c5131=_0x2c5131-0xba;const _0x325d72=a45_0x325d();let _0x2438a8=_0x325d72[_0x2c5131];return _0x2438a8;}function a45_0x325d(){const _0x4b7dfa=['24EDoWKx','\x22\x20is\x20ambiguous.','menuId','23YNnlwy','trim','73154JcIrXg','push','find','key','Pass\x20exactly\x20one\x20of\x20--grant\x20or\x20--revoke.','1618888mApemZ','Runtime\x20role\x20ID\x20or\x20exact\x20role\x20name','\x20has\x20full\x20runtime\x20access\x20and\x20cannot\x20be\x20a\x20resource\x20permission\x20target.','26060460emXPLn','\x22\x20was\x20not\x20found.','The\x20current\x20service\x20contract\x20does\x20not\x20persist\x20an\x20empty\x20rolePermit;\x20grant\x20another\x20role\x20first.','some','dataDelete','ALL','Cannot\x20change\x20resource\x20permissions\x20for\x20','27klcVVu','grant','export-roles','5887910touJjn','2180590IHsTST','MENU','dataCreate','ADMIN','filter','88zRMObF','SELF\x20is\x20only\x20valid\x20for\x20--row-roles.','Grant\x20the\x20selected\x20resources\x20to\x20the\x20role','menu-id','revoke','validation','detail-roles','children','134796lnqREl','Cannot\x20revoke\x20the\x20last\x20role\x20from\x20a\x20runtime\x20resource.','Runtime\x20menu\x20ID','string','length','pageId','menuPermit','Ask\x20an\x20application\x20manager\x20to\x20perform\x20this\x20operation.','create-roles','1473190CCLsiZ','update-roles','datasetCode','Use\x20a\x20role\x20ID\x20from\x20`lovrabet\x20role\x20list`.','12whBVwB','values','ADMIN\x20and\x20OWNER\x20have\x20full\x20runtime\x20access;\x20configure\x20USER\x20or\x20CUSTOM\x20instead.','Revoke\x20the\x20selected\x20resources\x20from\x20the\x20role','\x20must\x20contain\x20at\x20least\x20one\x20value.','role','Permission\x20role\x20\x22','roleName','dataUpdate','rolePermit','Cannot\x20resolve\x20the\x20current\x20AK\x20userId\x20for\x20permission\x20management.','OWNER','userId','toUpperCase','boolean','roleType','test','isSafeInteger','label','appCode','Runtime\x20resource\x20permission\x20changes\x20require\x20an\x20ADMIN\x20or\x20OWNER\x20role.','Comma-separated\x20runtime\x20role\x20IDs\x20or\x20names','split','Configure\x20USER,\x20CUSTOM,\x20or\x20an\x20applicable\x20special\x20role\x20instead.','map','flag','dataPermit','delete-roles','resourceType','\x20runtime\x20role\x20','permitId'];a45_0x325d=function(){return _0x4b7dfa;};return a45_0x325d();}import{getLoginUserInfo,listRuntimePermitRoles,listRuntimeRoleUsers}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';export const MENU_ID_FLAG={'name':a45_0x5bed06(0xff),'type':'number','required':!![],'description':a45_0x5bed06(0x106)};export const ROLE_REF_FLAG={'name':a45_0x5bed06(0xc5),'type':a45_0x5bed06(0x107),'required':!![],'description':a45_0x5bed06(0xea)};export const GRANT_FLAG={'name':a45_0x5bed06(0xf4),'type':a45_0x5bed06(0xce),'description':a45_0x5bed06(0xfe)};export const REVOKE_FLAG={'name':a45_0x5bed06(0x100),'type':a45_0x5bed06(0xce),'description':a45_0x5bed06(0xc3)};export const PAGE_SLOT_SPECS=[{'flag':'menu-roles','key':a45_0x5bed06(0x10a),'allowSelf':![]},{'flag':a45_0x5bed06(0xbb),'key':a45_0x5bed06(0xf9),'allowSelf':![]},{'flag':a45_0x5bed06(0xbd),'key':a45_0x5bed06(0xc8),'allowSelf':![]},{'flag':a45_0x5bed06(0xdb),'key':a45_0x5bed06(0xf0),'allowSelf':![]},{'flag':a45_0x5bed06(0x102),'key':'dataDetail','allowSelf':![]},{'flag':a45_0x5bed06(0xf5),'key':'dataExport','allowSelf':![]},{'flag':'row-roles','key':a45_0x5bed06(0xda),'allowSelf':!![]}];export const PAGE_ROLE_FLAGS=PAGE_SLOT_SPECS[a45_0x5bed06(0xd8)](_0x4ef2e2=>({'name':_0x4ef2e2[a45_0x5bed06(0xd9)],'type':a45_0x5bed06(0x107),'description':a45_0x5bed06(0xd5)}));export function splitRefs(_0xa96626,_0x2d7bd3){const _0x146e91=a45_0x5bed06,_0xb9181c=[...new Set(_0xa96626[_0x146e91(0xd6)](',')[_0x146e91(0xd8)](_0x33ee5d=>_0x33ee5d[_0x146e91(0xe3)]())[_0x146e91(0xfb)](Boolean))];if(_0xb9181c[_0x146e91(0x108)]===0x0)throw CliErrors['validation'](_0x2d7bd3+_0x146e91(0xc4));return _0xb9181c;}export function assertGrantOrRevoke(_0x13064f,_0xc99858){const _0x45106f=a45_0x5bed06;if(_0x13064f===_0xc99858)throw CliErrors[_0x45106f(0x101)](_0x45106f(0xe8));return _0x13064f?_0x45106f(0xf4):_0x45106f(0x100);}function resolvePermitRole(_0x258dc4,_0x327ab2){const _0x48d718=a45_0x5bed06,_0x2da6c8=_0x327ab2[_0x48d718(0xe3)](),_0x1703cf=/^-?\d+$/[_0x48d718(0xd0)](_0x2da6c8)?_0x258dc4[_0x48d718(0xfb)](_0x238c58=>_0x238c58['id']===Number(_0x2da6c8)):_0x258dc4[_0x48d718(0xfb)](_0x65ab8c=>_0x65ab8c[_0x48d718(0xc7)]===_0x2da6c8||_0x65ab8c['roleType']===_0x2da6c8[_0x48d718(0xcd)]());if(_0x1703cf[_0x48d718(0x108)]!==0x1)throw CliErrors[_0x48d718(0x101)](_0x1703cf[_0x48d718(0x108)]===0x0?'Permission\x20role\x20\x22'+_0x2da6c8+_0x48d718(0xed):_0x48d718(0xc6)+_0x2da6c8+_0x48d718(0xe0),_0x48d718(0xbf));return _0x1703cf[0x0];}export async function resolveRuntimePermitRoles(_0x3f8849,_0x6e1f7a,_0x276917){const _0xf0de24=a45_0x5bed06,_0x3d5779=await listRuntimePermitRoles(_0x3f8849,{'needSelf':!![],'needPublic':!![]}),_0x47130b=[...new Map(_0x6e1f7a[_0xf0de24(0xd8)](_0xbf6fe3=>resolvePermitRole(_0x3d5779,_0xbf6fe3))['map'](_0x5083d2=>[_0x5083d2['id'],_0x5083d2]))[_0xf0de24(0xc1)]()],_0x1f6e6b=_0x47130b[_0xf0de24(0xe6)](_0x186a35=>_0x186a35[_0xf0de24(0xcf)]===_0xf0de24(0xfa)||_0x186a35['roleType']==='OWNER');if(_0x1f6e6b)throw CliErrors['validation'](_0x1f6e6b[_0xf0de24(0xcf)]+_0xf0de24(0xeb),_0xf0de24(0xd7));if(!_0x276917&&_0x47130b[_0xf0de24(0xef)](_0x287d89=>_0x287d89[_0xf0de24(0xcf)]==='SELF'))throw CliErrors[_0xf0de24(0x101)](_0xf0de24(0xfd));return _0x47130b;}export async function assertRuntimePermissionManager(_0x9d9d74){const _0x476f74=a45_0x5bed06,_0x15d50e=await getLoginUserInfo(),_0x29c15f=_0x15d50e[_0x476f74(0xcc)]??_0x15d50e['id'],_0x2c6878=Number(_0x29c15f);if(!Number[_0x476f74(0xd1)](_0x2c6878)||_0x2c6878<=0x0)throw CliErrors[_0x476f74(0x101)](_0x476f74(0xca));const _0x82be4a=await listRuntimeRoleUsers(_0x9d9d74),_0x1976d1=_0x82be4a[_0x476f74(0xef)](_0x27315e=>(_0x27315e[_0x476f74(0xcf)]==='ADMIN'||_0x27315e['roleType']===_0x476f74(0xcb))&&_0x27315e['userList']['some'](_0x216b0c=>_0x216b0c[_0x476f74(0xcc)]===_0x2c6878));if(!_0x1976d1)throw CliErrors['validation'](_0x476f74(0xd4),_0x476f74(0xba));}export function assertRuntimePermitRoleConfigurable(_0x1bded4){const _0x2e6fd6=a45_0x5bed06;if(_0x1bded4[_0x2e6fd6(0xcf)]===_0x2e6fd6(0xfa)||_0x1bded4[_0x2e6fd6(0xcf)]===_0x2e6fd6(0xcb))throw CliErrors[_0x2e6fd6(0x101)](_0x2e6fd6(0xf2)+_0x1bded4[_0x2e6fd6(0xcf)]+_0x2e6fd6(0xdd)+_0x1bded4[_0x2e6fd6(0xc7)]+'.',_0x2e6fd6(0xc2));}function asPermitRole(_0x3176a9){return{'id':_0x3176a9['id'],'roleName':_0x3176a9['roleName'],'roleType':_0x3176a9['roleType'],'allowed':!![]};}export function applyRuntimeRolePermission(_0x5a4952,_0x40a26a,_0x2c6ccf,_0x310a28){const _0xdb5216=a45_0x5bed06,_0x1548b9=!_0x5a4952||_0x5a4952[_0xdb5216(0x108)]===0x0,_0x388b46=_0x5a4952?.[_0xdb5216(0xef)](_0x1d2829=>_0x1d2829[_0xdb5216(0xcf)]===_0xdb5216(0xf1))??![];if(_0x310a28===_0xdb5216(0xf4)&&(_0x1548b9||_0x388b46))return{'roles':_0x5a4952??null,'changed':![]};let _0x44fc6e=_0x1548b9||_0x388b46?_0x2c6ccf[_0xdb5216(0xfb)](_0x34e670=>_0x34e670['id']>0x0):[..._0x5a4952];const _0x434302=_0x44fc6e[_0xdb5216(0xef)](_0x2c1a70=>_0x2c1a70['id']===_0x40a26a['id']);if(_0x310a28===_0xdb5216(0xf4)){if(_0x434302)return{'roles':_0x44fc6e,'changed':![]};return _0x44fc6e[_0xdb5216(0xe5)](asPermitRole(_0x40a26a)),{'roles':_0x44fc6e,'changed':!![]};}if(!_0x434302)return{'roles':_0x44fc6e,'changed':_0x1548b9||_0x388b46};_0x44fc6e=_0x44fc6e['filter'](_0x532321=>_0x532321['id']!==_0x40a26a['id']);if(_0x44fc6e['length']===0x0)throw CliErrors['validation'](_0xdb5216(0x105),_0xdb5216(0xee));return{'roles':_0x44fc6e,'changed':!![]};}export function projectRuntimePagePermit(_0x143044){const _0x2212ec=a45_0x5bed06,_0x175bd8={'menuId':_0x143044[_0x2212ec(0xe1)],'pageId':_0x143044[_0x2212ec(0x109)],'appCode':_0x143044[_0x2212ec(0xd3)],'datasetCode':_0x143044[_0x2212ec(0xbe)]};for(const _0x13ccc8 of PAGE_SLOT_SPECS){const _0x8f5d05=_0x143044[_0x13ccc8[_0x2212ec(0xe7)]];_0x8f5d05&&(_0x175bd8[_0x13ccc8['key']]={'resourceCode':_0x8f5d05['resourceCode'],'resourceType':_0x8f5d05[_0x2212ec(0xdc)],'roles':(_0x8f5d05[_0x2212ec(0xc9)]??[])[_0x2212ec(0xd8)](_0x4a6117=>({'id':_0x4a6117['id'],'roleName':_0x4a6117[_0x2212ec(0xc7)],'roleType':_0x4a6117[_0x2212ec(0xcf)]}))});}return _0x175bd8;}export function flattenRuntimeMenuRolePermits(_0x285eed){const _0x1dbb06=[],_0x3e2b01=_0x166cbb=>{const _0x4d3ced=a45_0x2438;_0x1dbb06[_0x4d3ced(0xe5)](_0x166cbb);for(const _0x6d228a of _0x166cbb[_0x4d3ced(0x103)]??[])_0x3e2b01(_0x6d228a);};for(const _0xea76f1 of _0x285eed)_0x3e2b01(_0xea76f1);return _0x1dbb06;}export function runtimePermitWriteResult(_0x37b7dd,_0x2f029b,_0x3bef19,_0x3de874,_0x22a6e5,_0xa8aa9e=[]){return{'operation':_0x37b7dd,'scope':'runtime','selector':_0x2f029b,'before':_0x3bef19,'after':_0x3de874,'dryRun':![],'backend':_0x22a6e5,'warnings':_0xa8aa9e};}export function menuPermitDto(_0x1ee9cd,_0x149991,_0x12edd5){const _0xc5f787=a45_0x5bed06;return{..._0x149991[_0xc5f787(0xde)]!=null?{'id':_0x149991[_0xc5f787(0xde)]}:{},'appCode':_0x1ee9cd,'menuId':_0x149991['id'],'pageId':_0x149991[_0xc5f787(0x109)]??null,'resourceCode':String(_0x149991['id']),'resourceType':_0xc5f787(0xf8),'resourceName':_0x149991[_0xc5f787(0xd2)],'rolePermit':_0x12edd5};}
1
+ const a45_0xed2b73=a45_0x32fc;(function(_0x107e1b,_0xbfba98){const _0x55ae92=a45_0x32fc,_0x436b94=_0x107e1b();while(!![]){try{const _0x117b5a=parseInt(_0x55ae92(0x16e))/0x1*(-parseInt(_0x55ae92(0x17c))/0x2)+-parseInt(_0x55ae92(0x175))/0x3+-parseInt(_0x55ae92(0x18e))/0x4+parseInt(_0x55ae92(0x151))/0x5*(parseInt(_0x55ae92(0x17f))/0x6)+parseInt(_0x55ae92(0x159))/0x7+parseInt(_0x55ae92(0x17a))/0x8*(-parseInt(_0x55ae92(0x16b))/0x9)+parseInt(_0x55ae92(0x174))/0xa*(parseInt(_0x55ae92(0x15d))/0xb);if(_0x117b5a===_0xbfba98)break;else _0x436b94['push'](_0x436b94['shift']());}catch(_0x1bcd4f){_0x436b94['push'](_0x436b94['shift']());}}}(a45_0x5585,0xe0191));import{getLoginUserInfo,listRuntimePermitRoles,listRuntimeRoleUsers}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';function a45_0x32fc(_0x16415a,_0x1f539b){_0x16415a=_0x16415a-0x14b;const _0x5585e1=a45_0x5585();let _0x32fcca=_0x5585e1[_0x16415a];return _0x32fcca;}export const MENU_ID_FLAG={'name':a45_0xed2b73(0x16d),'type':a45_0xed2b73(0x178),'required':!![],'description':a45_0xed2b73(0x183)};export const ROLE_REF_FLAG={'name':a45_0xed2b73(0x173),'type':'string','required':!![],'description':a45_0xed2b73(0x18a)};export const GRANT_FLAG={'name':a45_0xed2b73(0x167),'type':a45_0xed2b73(0x155),'description':a45_0xed2b73(0x188)};export const REVOKE_FLAG={'name':a45_0xed2b73(0x166),'type':a45_0xed2b73(0x155),'description':a45_0xed2b73(0x16f)};export const PAGE_SLOT_SPECS=[{'flag':'menu-roles','key':a45_0xed2b73(0x164),'allowSelf':![]},{'flag':'create-roles','key':a45_0xed2b73(0x193),'allowSelf':![]},{'flag':'update-roles','key':'dataUpdate','allowSelf':![]},{'flag':a45_0xed2b73(0x187),'key':'dataDelete','allowSelf':![]},{'flag':a45_0xed2b73(0x18d),'key':a45_0xed2b73(0x14c),'allowSelf':![]},{'flag':'export-roles','key':a45_0xed2b73(0x177),'allowSelf':![]},{'flag':a45_0xed2b73(0x17d),'key':a45_0xed2b73(0x14d),'allowSelf':!![]}];function a45_0x5585(){const _0x1dedf4=['menu-id','13VXVpju','Revoke\x20the\x20selected\x20resources\x20from\x20the\x20role','children','key','\x22\x20is\x20ambiguous.','role','1930iUhpND','594867zoWWYj','push','dataExport','number','Permission\x20role\x20\x22','8988328bwraWP','flag','126106WVvReU','row-roles','roleType','355734nMkMxA','The\x20current\x20service\x20contract\x20does\x20not\x20persist\x20an\x20empty\x20rolePermit;\x20grant\x20another\x20role\x20first.','Pass\x20exactly\x20one\x20of\x20--grant\x20or\x20--revoke.','Use\x20a\x20role\x20ID\x20from\x20`lovrabet\x20role\x20list`.','Runtime\x20menu\x20ID','userId','Ask\x20an\x20application\x20manager\x20to\x20perform\x20this\x20operation.','values','delete-roles','Grant\x20the\x20selected\x20resources\x20to\x20the\x20role','\x22\x20was\x20not\x20found.','Runtime\x20role\x20ID\x20or\x20exact\x20role\x20name','\x20must\x20contain\x20at\x20least\x20one\x20value.','toUpperCase','detail-roles','662220KlOqZt','validation','pageId','filter','split','dataCreate','label','\x20runtime\x20role\x20','length','Cannot\x20revoke\x20the\x20last\x20role\x20from\x20a\x20runtime\x20resource.','runtime','dataDetail','dataPermit','find','Cannot\x20resolve\x20the\x20current\x20AK\x20userId\x20for\x20permission\x20management.','roleName','60anoGmY','ALL','permitId','test','boolean','map','SELF','Configure\x20USER,\x20CUSTOM,\x20or\x20an\x20applicable\x20special\x20role\x20instead.','7641760Mlgfsl','some','MENU','OWNER','81037OSmHdG','appCode','Comma-separated\x20runtime\x20role\x20IDs\x20or\x20names','ADMIN','menuId','Runtime\x20resource\x20permission\x20changes\x20require\x20an\x20ADMIN\x20or\x20OWNER\x20role.','resourceCode','menuPermit','Cannot\x20change\x20resource\x20permissions\x20for\x20','revoke','grant','userList','ADMIN\x20and\x20OWNER\x20have\x20full\x20runtime\x20access;\x20configure\x20USER\x20or\x20CUSTOM\x20instead.','string','9GQWEVe','trim'];a45_0x5585=function(){return _0x1dedf4;};return a45_0x5585();}export const PAGE_ROLE_FLAGS=PAGE_SLOT_SPECS[a45_0xed2b73(0x156)](_0x1bf6af=>({'name':_0x1bf6af[a45_0xed2b73(0x17b)],'type':a45_0xed2b73(0x16a),'description':a45_0xed2b73(0x15f)}));export function splitRefs(_0x210cd7,_0x272cdb){const _0x3cb363=a45_0xed2b73,_0x2dd502=[...new Set(_0x210cd7[_0x3cb363(0x192)](',')['map'](_0x27fee3=>_0x27fee3[_0x3cb363(0x16c)]())['filter'](Boolean))];if(_0x2dd502[_0x3cb363(0x196)]===0x0)throw CliErrors[_0x3cb363(0x18f)](_0x272cdb+_0x3cb363(0x18b));return _0x2dd502;}export function assertGrantOrRevoke(_0x456cea,_0x4775e3){const _0x22f523=a45_0xed2b73;if(_0x456cea===_0x4775e3)throw CliErrors[_0x22f523(0x18f)](_0x22f523(0x181));return _0x456cea?_0x22f523(0x167):'revoke';}function resolvePermitRole(_0x563b93,_0x275b73){const _0x32e44f=a45_0xed2b73,_0x316e75=_0x275b73[_0x32e44f(0x16c)](),_0x2ba5bd=/^-?\d+$/[_0x32e44f(0x154)](_0x316e75)?_0x563b93['filter'](_0x5eba7d=>_0x5eba7d['id']===Number(_0x316e75)):_0x563b93[_0x32e44f(0x191)](_0x2a179a=>_0x2a179a['roleName']===_0x316e75||_0x2a179a[_0x32e44f(0x17e)]===_0x316e75[_0x32e44f(0x18c)]());if(_0x2ba5bd['length']!==0x1)throw CliErrors[_0x32e44f(0x18f)](_0x2ba5bd['length']===0x0?_0x32e44f(0x179)+_0x316e75+_0x32e44f(0x189):_0x32e44f(0x179)+_0x316e75+_0x32e44f(0x172),_0x32e44f(0x182));return _0x2ba5bd[0x0];}export async function resolveRuntimePermitRoles(_0x261b38,_0x7ca31b,_0x30203e){const _0x271e11=a45_0xed2b73,_0x4497b8=await listRuntimePermitRoles(_0x261b38,{'needSelf':!![],'needPublic':!![]}),_0x31894e=[...new Map(_0x7ca31b[_0x271e11(0x156)](_0x33de55=>resolvePermitRole(_0x4497b8,_0x33de55))['map'](_0x2dcbec=>[_0x2dcbec['id'],_0x2dcbec]))[_0x271e11(0x186)]()],_0xe8ed52=_0x31894e[_0x271e11(0x14e)](_0x55b3f3=>_0x55b3f3[_0x271e11(0x17e)]===_0x271e11(0x160)||_0x55b3f3['roleType']===_0x271e11(0x15c));if(_0xe8ed52)throw CliErrors[_0x271e11(0x18f)](_0xe8ed52[_0x271e11(0x17e)]+'\x20has\x20full\x20runtime\x20access\x20and\x20cannot\x20be\x20a\x20resource\x20permission\x20target.',_0x271e11(0x158));if(!_0x30203e&&_0x31894e['some'](_0x33478c=>_0x33478c[_0x271e11(0x17e)]===_0x271e11(0x157)))throw CliErrors[_0x271e11(0x18f)]('SELF\x20is\x20only\x20valid\x20for\x20--row-roles.');return _0x31894e;}export async function assertRuntimePermissionManager(_0x6a6a5d){const _0x33d6de=a45_0xed2b73,_0x16cbec=await getLoginUserInfo(),_0x4d0ceb=_0x16cbec['userId']??_0x16cbec['id'],_0x36cf8b=Number(_0x4d0ceb);if(!Number['isSafeInteger'](_0x36cf8b)||_0x36cf8b<=0x0)throw CliErrors['validation'](_0x33d6de(0x14f));const _0x56c903=await listRuntimeRoleUsers(_0x6a6a5d),_0x34a54d=_0x56c903['some'](_0x473642=>(_0x473642[_0x33d6de(0x17e)]==='ADMIN'||_0x473642[_0x33d6de(0x17e)]===_0x33d6de(0x15c))&&_0x473642[_0x33d6de(0x168)][_0x33d6de(0x15a)](_0x4c6306=>_0x4c6306[_0x33d6de(0x184)]===_0x36cf8b));if(!_0x34a54d)throw CliErrors[_0x33d6de(0x18f)](_0x33d6de(0x162),_0x33d6de(0x185));}export function assertRuntimePermitRoleConfigurable(_0x119235){const _0x74044e=a45_0xed2b73;if(_0x119235[_0x74044e(0x17e)]==='ADMIN'||_0x119235[_0x74044e(0x17e)]==='OWNER')throw CliErrors[_0x74044e(0x18f)](_0x74044e(0x165)+_0x119235[_0x74044e(0x17e)]+_0x74044e(0x195)+_0x119235[_0x74044e(0x150)]+'.',_0x74044e(0x169));}function asPermitRole(_0x5c6d22){const _0x40c521=a45_0xed2b73;return{'id':_0x5c6d22['id'],'roleName':_0x5c6d22[_0x40c521(0x150)],'roleType':_0x5c6d22[_0x40c521(0x17e)],'allowed':!![]};}export function applyRuntimeRolePermission(_0x2a23e0,_0x191da8,_0x5575ed,_0x5b0654){const _0x310742=a45_0xed2b73,_0x199f36=!_0x2a23e0||_0x2a23e0[_0x310742(0x196)]===0x0,_0xffa84c=_0x2a23e0?.[_0x310742(0x15a)](_0x453d03=>_0x453d03[_0x310742(0x17e)]===_0x310742(0x152))??![];if(_0x5b0654==='grant'&&(_0x199f36||_0xffa84c))return{'roles':_0x2a23e0??null,'changed':![]};let _0x5d5781=_0x199f36||_0xffa84c?_0x5575ed[_0x310742(0x191)](_0x5117fd=>_0x5117fd['id']>0x0):[..._0x2a23e0];const _0x4d4766=_0x5d5781[_0x310742(0x15a)](_0x3ef9fb=>_0x3ef9fb['id']===_0x191da8['id']);if(_0x5b0654===_0x310742(0x167)){if(_0x4d4766)return{'roles':_0x5d5781,'changed':![]};return _0x5d5781[_0x310742(0x176)](asPermitRole(_0x191da8)),{'roles':_0x5d5781,'changed':!![]};}if(!_0x4d4766)return{'roles':_0x5d5781,'changed':_0x199f36||_0xffa84c};_0x5d5781=_0x5d5781[_0x310742(0x191)](_0x298b82=>_0x298b82['id']!==_0x191da8['id']);if(_0x5d5781['length']===0x0)throw CliErrors[_0x310742(0x18f)](_0x310742(0x197),_0x310742(0x180));return{'roles':_0x5d5781,'changed':!![]};}export function projectRuntimePagePermit(_0x3bc0ca){const _0x590b9e=a45_0xed2b73,_0x47bdf7={'menuId':_0x3bc0ca[_0x590b9e(0x161)],'pageId':_0x3bc0ca[_0x590b9e(0x190)],'appCode':_0x3bc0ca[_0x590b9e(0x15e)],'datasetCode':_0x3bc0ca['datasetCode']};for(const _0x4898e1 of PAGE_SLOT_SPECS){const _0x4bb6fe=_0x3bc0ca[_0x4898e1[_0x590b9e(0x171)]];_0x4bb6fe&&(_0x47bdf7[_0x4898e1[_0x590b9e(0x171)]]={'resourceCode':_0x4bb6fe[_0x590b9e(0x163)],'resourceType':_0x4bb6fe['resourceType'],'roles':(_0x4bb6fe['rolePermit']??[])[_0x590b9e(0x156)](_0x3409e7=>({'id':_0x3409e7['id'],'roleName':_0x3409e7[_0x590b9e(0x150)],'roleType':_0x3409e7[_0x590b9e(0x17e)]}))});}return _0x47bdf7;}export function flattenRuntimeMenuRolePermits(_0x56199f){const _0x2a3a8c=[],_0x37d8c1=_0x374269=>{const _0x26fcc7=a45_0x32fc;_0x2a3a8c[_0x26fcc7(0x176)](_0x374269);for(const _0x4c592d of _0x374269[_0x26fcc7(0x170)]??[])_0x37d8c1(_0x4c592d);};for(const _0x1ae8de of _0x56199f)_0x37d8c1(_0x1ae8de);return _0x2a3a8c;}export function runtimePermitWriteResult(_0x1b8dd3,_0x8b2806,_0x5ce494,_0x2ab675,_0x483c4d,_0x1e8c83=[]){const _0x5ddbeb=a45_0xed2b73;return{'operation':_0x1b8dd3,'scope':_0x5ddbeb(0x14b),'selector':_0x8b2806,'before':_0x5ce494,'after':_0x2ab675,'dryRun':![],'backend':_0x483c4d,'warnings':_0x1e8c83};}export function menuPermitDto(_0x3765ba,_0x2cb163,_0xcff6f7){const _0x46e7f2=a45_0xed2b73;return{..._0x2cb163['permitId']!=null?{'id':_0x2cb163[_0x46e7f2(0x153)]}:{},'appCode':_0x3765ba,'menuId':_0x2cb163['id'],'pageId':_0x2cb163[_0x46e7f2(0x190)]??null,'resourceCode':String(_0x2cb163['id']),'resourceType':_0x46e7f2(0x15b),'resourceName':_0x2cb163[_0x46e7f2(0x194)],'rolePermit':_0xcff6f7};}
@@ -1 +1 @@
1
- const a46_0x1f2b98=a46_0x4c85;(function(_0xa1d500,_0x448f7a){const _0x1f2bd5=a46_0x4c85,_0x237d9a=_0xa1d500();while(!![]){try{const _0x342f67=parseInt(_0x1f2bd5(0x7f))/0x1+-parseInt(_0x1f2bd5(0x99))/0x2+-parseInt(_0x1f2bd5(0x7d))/0x3+-parseInt(_0x1f2bd5(0xac))/0x4*(-parseInt(_0x1f2bd5(0xae))/0x5)+-parseInt(_0x1f2bd5(0x83))/0x6+parseInt(_0x1f2bd5(0x9e))/0x7*(-parseInt(_0x1f2bd5(0x78))/0x8)+parseInt(_0x1f2bd5(0x79))/0x9*(parseInt(_0x1f2bd5(0xb3))/0xa);if(_0x342f67===_0x448f7a)break;else _0x237d9a['push'](_0x237d9a['shift']());}catch(_0x156fbb){_0x237d9a['push'](_0x237d9a['shift']());}}}(a46_0xa12b,0x27e19));function a46_0xa12b(){const _0x330450=['verbose','test','description','isArray','7MzeZrP','detail','执行个人\x20BFF\x20脚本;脚本可能读取或修改业务数据,也可能调用外部服务。','string','build','createUserId','Preview:\x20update\x20personal\x20BFF\x20','根据本地脚本文件创建个人\x20BFF','str','updateTime','update','functionName','gmtModified','更新个人\x20BFF\x20的脚本或元信息;之后的调用将使用新版本。','348092UqTvDT','Personal\x20BFF\x20description','5ZoHlBQ','length','Updated\x20personal\x20BFF\x20','File\x20path\x20is\x20required.','source-session-id','140HopTYj','POST','create','file','appCode','/client/runtime-bff/personal/','Personal\x20BFF\x20script\x20file\x20is\x20blank.','scriptContent','read','scriptType','List\x20current\x20user\x27s\x20personal\x20BFF\x20scripts\x20for\x20the\x20current\x20app','169064OMFHHU','330633OyImFO','keys','把本地脚本保存为个人\x20BFF;之后可在当前应用中调用该脚本。','Show\x20one\x20personal\x20BFF\x20by\x20id','711096UPxbtf','config','46811TKDgCO','validation','--name\x20must\x20be\x20a\x20valid\x20JavaScript\x20identifier,\x20for\x20example\x20loadOrders.','根据\x20ID\x20执行个人\x20BFF,并可传入\x20JSON\x20参数','441396jUlxdw','write','personal-bff','flag','num','trim','Preview:\x20create\x20personal\x20BFF\x20','name','/update','Personal\x20BFF\x20functionName,\x20for\x20example\x20loadOrders','File\x20not\x20found:\x20','map','JSON\x20object\x20passed\x20to\x20the\x20personal\x20BFF\x20execution','根据\x20ID\x20更新个人\x20BFF','Personal\x20BFF\x20script\x20ID','params','body','gmtCreate','File\x20is\x20not\x20a\x20regular\x20file:\x20','version','/client/runtime-bff/personal/create','bool','306136ubxMPD'];a46_0xa12b=function(){return _0x330450;};return a46_0xa12b();}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_0x1f2b98(0xb6),'type':a46_0x1f2b98(0xa1),'description':'Path\x20to\x20a\x20local\x20UTF-8\x20JavaScript\x20or\x20TypeScript\x20file'},FUNCTION_NAME_FLAG={'name':a46_0x1f2b98(0x8a),'type':a46_0x1f2b98(0xa1),'required':!![],'description':a46_0x1f2b98(0x8c)},DESCRIPTION_FLAG={'name':a46_0x1f2b98(0x9c),'type':a46_0x1f2b98(0xa1),'description':a46_0x1f2b98(0xad)},SOURCE_SESSION_FLAG={'name':a46_0x1f2b98(0xb2),'type':a46_0x1f2b98(0xa1),'description':'Optional\x20source\x20RuntimeAgent\x20session\x20id'};function normalizeFunctionName(_0x221018){const _0x48e4ee=a46_0x1f2b98,_0x514385=String(_0x221018||'')[_0x48e4ee(0x88)]();if(!_0x514385||!FUNCTION_NAME_PATTERN[_0x48e4ee(0x9b)](_0x514385))throw CliErrors[_0x48e4ee(0x80)](_0x48e4ee(0x81));return _0x514385;}function readScriptFile(_0x4304a4){const _0x4965fe=a46_0x1f2b98;if(!_0x4304a4)throw CliErrors[_0x4965fe(0x80)](_0x4965fe(0xb1));if(!existsSync(_0x4304a4))throw CliErrors[_0x4965fe(0x80)](_0x4965fe(0x8d)+_0x4304a4);if(!statSync(_0x4304a4)['isFile']())throw CliErrors[_0x4965fe(0x80)](_0x4965fe(0x95)+_0x4304a4);const _0x21236b=readFileSync(_0x4304a4,'utf8');if(!_0x21236b['trim']())throw CliErrors['validation'](_0x4965fe(0x73));return _0x21236b;}function optionalTrimmed(_0x77a0a9){const _0x4a6c65=String(_0x77a0a9||'')['trim']();return _0x4a6c65||undefined;}function summarizeBff(_0x4ab334){const _0x31d178=a46_0x1f2b98;return{'id':_0x4ab334['id'],'appCode':_0x4ab334[_0x31d178(0xb7)],'functionName':_0x4ab334[_0x31d178(0xa9)],'description':_0x4ab334[_0x31d178(0x9c)],'scriptType':_0x4ab334[_0x31d178(0x76)],'version':_0x4ab334[_0x31d178(0x96)],'gmtModified':_0x4ab334[_0x31d178(0xaa)],'updateTime':_0x4ab334[_0x31d178(0xa7)]};}function detailBff(_0x82452c){const _0x36b733=a46_0x1f2b98;return{'id':_0x82452c['id'],'appCode':_0x82452c['appCode'],'functionName':_0x82452c[_0x36b733(0xa9)],'description':_0x82452c[_0x36b733(0x9c)],'scriptType':_0x82452c[_0x36b733(0x76)],'scriptContent':_0x82452c[_0x36b733(0x74)]??'','config':_0x82452c[_0x36b733(0x7e)],'version':_0x82452c[_0x36b733(0x96)],'createUserId':_0x82452c[_0x36b733(0xa3)],'gmtCreate':_0x82452c[_0x36b733(0x94)],'gmtModified':_0x82452c[_0x36b733(0xaa)],'createTime':_0x82452c['createTime'],'updateTime':_0x82452c[_0x36b733(0xa7)]};}function buildCreateInput(_0x240350){const _0x11dbb5=a46_0x1f2b98;return{'functionName':normalizeFunctionName(_0x240350['str'](_0x11dbb5(0x8a))),...optionalTrimmed(_0x240350[_0x11dbb5(0xa6)]('description'))?{'description':optionalTrimmed(_0x240350[_0x11dbb5(0xa6)](_0x11dbb5(0x9c)))}:{},'scriptContent':readScriptFile(_0x240350[_0x11dbb5(0xa6)](_0x11dbb5(0xb6))),...optionalTrimmed(_0x240350[_0x11dbb5(0xa6)]('source-session-id'))?{'sourceSessionId':optionalTrimmed(_0x240350['str']('source-session-id'))}:{}};}function buildUpdateInput(_0x4d9ebb){const _0x11a847=a46_0x1f2b98,_0x3aa95f={};optionalTrimmed(_0x4d9ebb[_0x11a847(0xa6)](_0x11a847(0x8a)))&&(_0x3aa95f['functionName']=normalizeFunctionName(_0x4d9ebb[_0x11a847(0xa6)]('name')));_0x4d9ebb[_0x11a847(0x86)](_0x11a847(0x9c))!==undefined&&(_0x3aa95f['description']=_0x4d9ebb['str']('description'));optionalTrimmed(_0x4d9ebb[_0x11a847(0xa6)](_0x11a847(0xb6)))&&(_0x3aa95f[_0x11a847(0x74)]=readScriptFile(_0x4d9ebb[_0x11a847(0xa6)](_0x11a847(0xb6))));_0x4d9ebb[_0x11a847(0x86)](_0x11a847(0xb2))!==undefined&&(_0x3aa95f['sourceSessionId']=_0x4d9ebb[_0x11a847(0xa6)](_0x11a847(0xb2)));if(Object[_0x11a847(0x7a)](_0x3aa95f)[_0x11a847(0xaf)]===0x0)throw CliErrors[_0x11a847(0x80)]('personal-bff\x20update\x20requires\x20at\x20least\x20one\x20of\x20--name,\x20--description,\x20--file,\x20or\x20--source-session-id.');return _0x3aa95f;}function a46_0x4c85(_0x30c986,_0x4431d9){_0x30c986=_0x30c986-0x73;const _0xa12b58=a46_0xa12b();let _0x4c8591=_0xa12b58[_0x30c986];return _0x4c8591;}function parseExecParams(_0x467bd9){const _0x112e3c=a46_0x1f2b98,_0x57dab3=parseJsonParams(_0x467bd9)??{};if(Array[_0x112e3c(0x9d)](_0x57dab3))throw CliErrors[_0x112e3c(0x80)]('--params\x20must\x20be\x20a\x20JSON\x20object.');return _0x57dab3;}const personalBffList={'service':a46_0x1f2b98(0x85),'command':'list','description':a46_0x1f2b98(0x77),'risk':a46_0x1f2b98(0x75),'flags':[VERBOSE_FLAG],async 'execute'(_0x534944){const _0x2535f7=a46_0x1f2b98,_0xb4999b=await listPersonalBffs(_0x534944[_0x2535f7(0xb7)]);return{'ok':!![],'data':{'total':_0xb4999b['length'],'items':_0x534944[_0x2535f7(0x98)](_0x2535f7(0x9a))?_0xb4999b:_0xb4999b[_0x2535f7(0x8e)](summarizeBff)}};}},personalBffDetail={'service':a46_0x1f2b98(0x85),'command':a46_0x1f2b98(0x9f),'description':a46_0x1f2b98(0x7c),'risk':a46_0x1f2b98(0x75),'flags':[{...ID_FLAG,'description':a46_0x1f2b98(0x91)}],async 'execute'(_0x50289f){const _0xa40301=a46_0x1f2b98,_0x43cd92=await getPersonalBff(_0x50289f[_0xa40301(0x87)]('id'),_0x50289f[_0xa40301(0xb7)]);return{'ok':!![],'data':detailBff(_0x43cd92)};}},personalBffCreate={'service':a46_0x1f2b98(0x85),'command':a46_0x1f2b98(0xb5),'description':a46_0x1f2b98(0xa5),'risk':a46_0x1f2b98(0x84),'confirmationDescription':a46_0x1f2b98(0x7b),'flags':[FUNCTION_NAME_FLAG,{...FILE_FLAG,'required':!![]},DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x5a5791){const _0x25c2a4=a46_0x1f2b98,_0x5d6f3b=buildCreateInput(_0x5a5791),_0x267155=await createPersonalBff(_0x5a5791[_0x25c2a4(0xb7)],_0x5d6f3b);return{'ok':!![],'data':detailBff(_0x267155),'message':'Created\x20personal\x20BFF\x20'+_0x267155['id']+(_0x267155[_0x25c2a4(0xa9)]?'\x20('+_0x267155['functionName']+')':'')};},async 'dryRun'(_0x1c5ea0){const _0x3c96de=a46_0x1f2b98,_0x289d3f=buildCreateInput(_0x1c5ea0);return dryRun('POST',_0x3c96de(0x97))[_0x3c96de(0x93)]({'appCode':_0x1c5ea0['appCode'],..._0x289d3f})['description'](_0x3c96de(0x89)+_0x289d3f[_0x3c96de(0xa9)])['build']();}},personalBffUpdate={'service':a46_0x1f2b98(0x85),'command':a46_0x1f2b98(0xa8),'description':a46_0x1f2b98(0x90),'risk':'write','confirmationDescription':a46_0x1f2b98(0xab),'flags':[{...ID_FLAG,'description':a46_0x1f2b98(0x91)},{...FUNCTION_NAME_FLAG,'required':![]},FILE_FLAG,DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x41b060){const _0x57654d=a46_0x1f2b98,_0x58f998=_0x41b060['num']('id'),_0x5b5e1c=buildUpdateInput(_0x41b060),_0x1c7999=await updatePersonalBff(_0x58f998,_0x41b060[_0x57654d(0xb7)],_0x5b5e1c);return{'ok':!![],'data':detailBff(_0x1c7999),'message':_0x57654d(0xb0)+_0x1c7999['id']+(_0x1c7999[_0x57654d(0xa9)]?'\x20('+_0x1c7999[_0x57654d(0xa9)]+')':'')};},async 'dryRun'(_0x54af4c){const _0x2c34d0=a46_0x1f2b98,_0x18249e=_0x54af4c['num']('id'),_0x27c9c5=buildUpdateInput(_0x54af4c);return dryRun(_0x2c34d0(0xb4),_0x2c34d0(0xb8)+_0x18249e+_0x2c34d0(0x8b))['body']({'appCode':_0x54af4c[_0x2c34d0(0xb7)],..._0x27c9c5})[_0x2c34d0(0x9c)](_0x2c34d0(0xa4)+_0x18249e)[_0x2c34d0(0xa2)]();}},personalBffExec={'service':a46_0x1f2b98(0x85),'command':'exec','description':a46_0x1f2b98(0x82),'risk':a46_0x1f2b98(0x84),'confirmationDescription':a46_0x1f2b98(0xa0),'flags':[{...ID_FLAG,'description':a46_0x1f2b98(0x91)},{...PARAMS_FLAG,'description':a46_0x1f2b98(0x8f)}],async 'validate'(_0x1c7a16){const _0x4b50f9=a46_0x1f2b98;parseExecParams(_0x1c7a16[_0x4b50f9(0xa6)]('params'));},async 'execute'(_0x502179){const _0x2aa6dd=a46_0x1f2b98,_0x417591=_0x502179['num']('id'),_0x19631a=parseExecParams(_0x502179[_0x2aa6dd(0xa6)](_0x2aa6dd(0x92))),_0x4b461e=await executePersonalBff(_0x417591,_0x502179['appCode'],_0x19631a);return{'ok':!![],'data':{'result':_0x4b461e},'message':'Executed\x20personal\x20BFF\x20'+_0x417591};}};export const personalBffDefinitions=[personalBffList,personalBffDetail,personalBffCreate,personalBffUpdate,personalBffExec];
1
+ const a46_0x5344f0=a46_0x1b7b;(function(_0x3bd737,_0x3958d1){const _0xec616=a46_0x1b7b,_0x38b8a=_0x3bd737();while(!![]){try{const _0x408031=parseInt(_0xec616(0x158))/0x1*(parseInt(_0xec616(0x161))/0x2)+-parseInt(_0xec616(0x155))/0x3*(-parseInt(_0xec616(0x14e))/0x4)+-parseInt(_0xec616(0x17b))/0x5*(-parseInt(_0xec616(0x16c))/0x6)+parseInt(_0xec616(0x176))/0x7*(-parseInt(_0xec616(0x14b))/0x8)+-parseInt(_0xec616(0x171))/0x9+-parseInt(_0xec616(0x140))/0xa+parseInt(_0xec616(0x14c))/0xb;if(_0x408031===_0x3958d1)break;else _0x38b8a['push'](_0x38b8a['shift']());}catch(_0x1107f6){_0x38b8a['push'](_0x38b8a['shift']());}}}(a46_0x22f4,0x61184));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_0x5344f0(0x17f),'type':a46_0x5344f0(0x14f),'description':'Path\x20to\x20a\x20local\x20UTF-8\x20JavaScript\x20or\x20TypeScript\x20file'},FUNCTION_NAME_FLAG={'name':'name','type':a46_0x5344f0(0x14f),'required':!![],'description':a46_0x5344f0(0x145)},DESCRIPTION_FLAG={'name':a46_0x5344f0(0x153),'type':a46_0x5344f0(0x14f),'description':'Personal\x20Backend\x20Function\x20description'},SOURCE_SESSION_FLAG={'name':'source-session-id','type':a46_0x5344f0(0x14f),'description':a46_0x5344f0(0x17c)};function normalizeFunctionName(_0x4cc67f){const _0x230860=a46_0x5344f0,_0x336848=String(_0x4cc67f||'')[_0x230860(0x14a)]();if(!_0x336848||!FUNCTION_NAME_PATTERN[_0x230860(0x17a)](_0x336848))throw CliErrors[_0x230860(0x154)](_0x230860(0x148));return _0x336848;}function readScriptFile(_0x399839){const _0x5c249e=a46_0x5344f0;if(!_0x399839)throw CliErrors['validation']('File\x20path\x20is\x20required.');if(!existsSync(_0x399839))throw CliErrors['validation'](_0x5c249e(0x16e)+_0x399839);if(!statSync(_0x399839)[_0x5c249e(0x17e)]())throw CliErrors[_0x5c249e(0x154)](_0x5c249e(0x164)+_0x399839);const _0x19cb11=readFileSync(_0x399839,'utf8');if(!_0x19cb11[_0x5c249e(0x14a)]())throw CliErrors[_0x5c249e(0x154)]('Personal\x20Backend\x20Function\x20script\x20file\x20is\x20blank.');return _0x19cb11;}function optionalTrimmed(_0x21f1d2){const _0x2a7ce0=a46_0x5344f0,_0x5cc788=String(_0x21f1d2||'')[_0x2a7ce0(0x14a)]();return _0x5cc788||undefined;}function summarizeBff(_0x27cbf7){const _0x41f46f=a46_0x5344f0;return{'id':_0x27cbf7['id'],'appCode':_0x27cbf7[_0x41f46f(0x175)],'functionName':_0x27cbf7['functionName'],'description':_0x27cbf7[_0x41f46f(0x153)],'scriptType':_0x27cbf7[_0x41f46f(0x157)],'version':_0x27cbf7[_0x41f46f(0x17d)],'gmtModified':_0x27cbf7['gmtModified'],'updateTime':_0x27cbf7[_0x41f46f(0x147)]};}function detailBff(_0x525b5e){const _0x103b7f=a46_0x5344f0;return{'id':_0x525b5e['id'],'appCode':_0x525b5e[_0x103b7f(0x175)],'functionName':_0x525b5e[_0x103b7f(0x15f)],'description':_0x525b5e[_0x103b7f(0x153)],'scriptType':_0x525b5e[_0x103b7f(0x157)],'scriptContent':_0x525b5e[_0x103b7f(0x14d)]??'','config':_0x525b5e['config'],'version':_0x525b5e[_0x103b7f(0x17d)],'createUserId':_0x525b5e[_0x103b7f(0x146)],'gmtCreate':_0x525b5e[_0x103b7f(0x16d)],'gmtModified':_0x525b5e[_0x103b7f(0x170)],'createTime':_0x525b5e['createTime'],'updateTime':_0x525b5e[_0x103b7f(0x147)]};}function buildCreateInput(_0x4f68f2){const _0x46f027=a46_0x5344f0;return{'functionName':normalizeFunctionName(_0x4f68f2[_0x46f027(0x15d)]('name')),...optionalTrimmed(_0x4f68f2[_0x46f027(0x15d)]('description'))?{'description':optionalTrimmed(_0x4f68f2['str'](_0x46f027(0x153)))}:{},'scriptContent':readScriptFile(_0x4f68f2[_0x46f027(0x15d)](_0x46f027(0x17f))),...optionalTrimmed(_0x4f68f2['str'](_0x46f027(0x144)))?{'sourceSessionId':optionalTrimmed(_0x4f68f2[_0x46f027(0x15d)](_0x46f027(0x144)))}:{}};}function buildUpdateInput(_0x2ddf02){const _0x2fcbac=a46_0x5344f0,_0xea5e99={};optionalTrimmed(_0x2ddf02[_0x2fcbac(0x15d)](_0x2fcbac(0x141)))&&(_0xea5e99[_0x2fcbac(0x15f)]=normalizeFunctionName(_0x2ddf02[_0x2fcbac(0x15d)](_0x2fcbac(0x141))));_0x2ddf02['flag']('description')!==undefined&&(_0xea5e99[_0x2fcbac(0x153)]=_0x2ddf02['str'](_0x2fcbac(0x153)));optionalTrimmed(_0x2ddf02[_0x2fcbac(0x15d)](_0x2fcbac(0x17f)))&&(_0xea5e99['scriptContent']=readScriptFile(_0x2ddf02['str'](_0x2fcbac(0x17f))));_0x2ddf02[_0x2fcbac(0x143)](_0x2fcbac(0x144))!==undefined&&(_0xea5e99[_0x2fcbac(0x16a)]=_0x2ddf02[_0x2fcbac(0x15d)](_0x2fcbac(0x144)));if(Object[_0x2fcbac(0x151)](_0xea5e99)[_0x2fcbac(0x172)]===0x0)throw CliErrors[_0x2fcbac(0x154)](_0x2fcbac(0x166));return _0xea5e99;}function a46_0x1b7b(_0x1ae062,_0x11176d){_0x1ae062=_0x1ae062-0x13f;const _0x22f47b=a46_0x22f4();let _0x1b7bc3=_0x22f47b[_0x1ae062];return _0x1b7bc3;}function parseExecParams(_0x4f8daa){const _0x489a83=a46_0x5344f0,_0x4f99ff=parseJsonParams(_0x4f8daa)??{};if(Array[_0x489a83(0x142)](_0x4f99ff))throw CliErrors['validation']('--params\x20must\x20be\x20a\x20JSON\x20object.');return _0x4f99ff;}const personalBffList={'service':a46_0x5344f0(0x159),'command':'list','description':a46_0x5344f0(0x150),'risk':'read','flags':[VERBOSE_FLAG],async 'execute'(_0x514d0a){const _0x42ada6=a46_0x5344f0,_0x13fc1f=await listPersonalBffs(_0x514d0a[_0x42ada6(0x175)]);return{'ok':!![],'data':{'total':_0x13fc1f[_0x42ada6(0x172)],'items':_0x514d0a[_0x42ada6(0x15b)](_0x42ada6(0x174))?_0x13fc1f:_0x13fc1f['map'](summarizeBff)}};}},personalBffDetail={'service':a46_0x5344f0(0x159),'command':a46_0x5344f0(0x177),'description':a46_0x5344f0(0x152),'risk':a46_0x5344f0(0x178),'flags':[{...ID_FLAG,'description':a46_0x5344f0(0x179)}],async 'execute'(_0xb7dfc7){const _0x1ddc6d=a46_0x5344f0,_0x2d8035=await getPersonalBff(_0xb7dfc7[_0x1ddc6d(0x13f)]('id'),_0xb7dfc7['appCode']);return{'ok':!![],'data':detailBff(_0x2d8035)};}},personalBffCreate={'service':a46_0x5344f0(0x159),'command':'create','description':a46_0x5344f0(0x169),'risk':'write','confirmationDescription':a46_0x5344f0(0x160),'flags':[FUNCTION_NAME_FLAG,{...FILE_FLAG,'required':!![]},DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x485fc6){const _0x22dbd5=a46_0x5344f0,_0x53c294=buildCreateInput(_0x485fc6),_0x127cfc=await createPersonalBff(_0x485fc6[_0x22dbd5(0x175)],_0x53c294);return{'ok':!![],'data':detailBff(_0x127cfc),'message':_0x22dbd5(0x168)+_0x127cfc['id']+(_0x127cfc[_0x22dbd5(0x15f)]?'\x20('+_0x127cfc[_0x22dbd5(0x15f)]+')':'')};},async 'dryRun'(_0x35fafe){const _0x4ce073=a46_0x5344f0,_0x26ef24=buildCreateInput(_0x35fafe);return dryRun(_0x4ce073(0x15e),_0x4ce073(0x149))[_0x4ce073(0x173)]({'appCode':_0x35fafe['appCode'],..._0x26ef24})[_0x4ce073(0x153)]('Preview:\x20create\x20Personal\x20Backend\x20Function\x20'+_0x26ef24[_0x4ce073(0x15f)])[_0x4ce073(0x16b)]();}},personalBffUpdate={'service':'personal-bff','command':'update','description':'根据\x20ID\x20更新Personal\x20Backend\x20Function','risk':a46_0x5344f0(0x15a),'confirmationDescription':'更新Personal\x20Backend\x20Function\x20的脚本或元信息;之后的调用将使用新版本。','flags':[{...ID_FLAG,'description':a46_0x5344f0(0x179)},{...FUNCTION_NAME_FLAG,'required':![]},FILE_FLAG,DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x3ba9ec){const _0x40e4f5=a46_0x5344f0,_0x2cee0a=_0x3ba9ec[_0x40e4f5(0x13f)]('id'),_0x1342ed=buildUpdateInput(_0x3ba9ec),_0xa0bf24=await updatePersonalBff(_0x2cee0a,_0x3ba9ec['appCode'],_0x1342ed);return{'ok':!![],'data':detailBff(_0xa0bf24),'message':_0x40e4f5(0x15c)+_0xa0bf24['id']+(_0xa0bf24['functionName']?'\x20('+_0xa0bf24['functionName']+')':'')};},async 'dryRun'(_0xaafe5a){const _0x11cfe1=a46_0x5344f0,_0x43b856=_0xaafe5a[_0x11cfe1(0x13f)]('id'),_0x357e22=buildUpdateInput(_0xaafe5a);return dryRun(_0x11cfe1(0x15e),_0x11cfe1(0x162)+_0x43b856+'/update')[_0x11cfe1(0x173)]({'appCode':_0xaafe5a[_0x11cfe1(0x175)],..._0x357e22})['description']('Preview:\x20update\x20Personal\x20Backend\x20Function\x20'+_0x43b856)[_0x11cfe1(0x16b)]();}},personalBffExec={'service':a46_0x5344f0(0x159),'command':a46_0x5344f0(0x16f),'description':a46_0x5344f0(0x156),'risk':a46_0x5344f0(0x15a),'confirmationDescription':a46_0x5344f0(0x165),'flags':[{...ID_FLAG,'description':a46_0x5344f0(0x179)},{...PARAMS_FLAG,'description':a46_0x5344f0(0x163)}],async 'validate'(_0x568f6e){const _0x4ddce3=a46_0x5344f0;parseExecParams(_0x568f6e[_0x4ddce3(0x15d)](_0x4ddce3(0x167)));},async 'execute'(_0x2daa2c){const _0x3ef5f8=_0x2daa2c['num']('id'),_0x2dbcee=parseExecParams(_0x2daa2c['str']('params')),_0x36a7f8=await executePersonalBff(_0x3ef5f8,_0x2daa2c['appCode'],_0x2dbcee);return{'ok':!![],'data':{'result':_0x36a7f8},'message':'Executed\x20Personal\x20Backend\x20Function\x20'+_0x3ef5f8};}};function a46_0x22f4(){const _0x59a200=['build','581118lxKKFi','gmtCreate','File\x20not\x20found:\x20','exec','gmtModified','1397889KXvwES','length','body','verbose','appCode','5184746YYastV','detail','read','Personal\x20Backend\x20Function\x20script\x20ID','test','10VavAEd','Optional\x20source\x20RuntimeAgent\x20session\x20id','version','isFile','file','num','1202330acEnyY','name','isArray','flag','source-session-id','Personal\x20Backend\x20Function\x20name,\x20for\x20example\x20loadOrders','createUserId','updateTime','--name\x20must\x20be\x20a\x20valid\x20JavaScript\x20identifier,\x20for\x20example\x20loadOrders.','/client/runtime-bff/personal/create','trim','8kAqEBv','2370819jtuWbS','scriptContent','1416qTkCZe','string','List\x20current\x20user\x27s\x20Personal\x20Backend\x20Function\x20scripts\x20for\x20the\x20current\x20app','keys','Show\x20one\x20Personal\x20Backend\x20Function\x20by\x20id','description','validation','4827rJlruo','根据\x20ID\x20执行Personal\x20Backend\x20Function,并可传入\x20JSON\x20参数','scriptType','1OoILQj','personal-bff','write','bool','Updated\x20Personal\x20Backend\x20Function\x20','str','POST','functionName','把本地脚本保存为Personal\x20Backend\x20Function;之后可在当前应用中调用该脚本。','870222anFabv','/client/runtime-bff/personal/','JSON\x20object\x20passed\x20to\x20the\x20Personal\x20Backend\x20Function\x20execution','File\x20is\x20not\x20a\x20regular\x20file:\x20','执行Personal\x20Backend\x20Function\x20脚本;脚本可能读取或修改业务数据,也可能调用外部服务。','personal-bff\x20update\x20requires\x20at\x20least\x20one\x20of\x20--name,\x20--description,\x20--file,\x20or\x20--source-session-id.','params','Created\x20Personal\x20Backend\x20Function\x20','根据本地脚本文件创建Personal\x20Backend\x20Function','sourceSessionId'];a46_0x22f4=function(){return _0x59a200;};return a46_0x22f4();}export const personalBffDefinitions=[personalBffList,personalBffDetail,personalBffCreate,personalBffUpdate,personalBffExec];
@@ -1 +1 @@
1
- const a47_0x4c5f0a=a47_0x1d12;(function(_0x4167bf,_0x981895){const _0x50eb94=a47_0x1d12,_0x44e612=_0x4167bf();while(!![]){try{const _0x3d4b81=-parseInt(_0x50eb94(0xf1))/0x1+parseInt(_0x50eb94(0xd1))/0x2*(parseInt(_0x50eb94(0xd2))/0x3)+-parseInt(_0x50eb94(0xdc))/0x4+parseInt(_0x50eb94(0xca))/0x5*(-parseInt(_0x50eb94(0xe6))/0x6)+-parseInt(_0x50eb94(0xbe))/0x7+-parseInt(_0x50eb94(0xf0))/0x8+parseInt(_0x50eb94(0xc6))/0x9;if(_0x3d4b81===_0x981895)break;else _0x44e612['push'](_0x44e612['shift']());}catch(_0x237340){_0x44e612['push'](_0x44e612['shift']());}}}(a47_0x31ad,0x2cacc));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';function a47_0x1d12(_0x1179c0,_0x632cd7){_0x1179c0=_0x1179c0-0xbe;const _0x31adad=a47_0x31ad();let _0x1d120b=_0x31adad[_0x1179c0];return _0x1d120b;}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(_0x59dd97){const _0x47d7ef=a47_0x1d12;for(const _0x19ee10 of _0x59dd97){definitions[_0x47d7ef(0xeb)](_0x19ee10['service']+':'+_0x19ee10['command'],_0x19ee10);let _0x35a65c=serviceGroups[_0x47d7ef(0xc2)](_0x19ee10[_0x47d7ef(0xe0)]);!_0x35a65c&&(_0x35a65c=[],serviceGroups[_0x47d7ef(0xeb)](_0x19ee10[_0x47d7ef(0xe0)],_0x35a65c)),_0x35a65c[_0x47d7ef(0xf3)](_0x19ee10);}}function registerService(_0x23645d,_0x36d77b,_0x524d62){const _0x4affc5=a47_0x1d12;registerDefinitions(_0x36d77b);const _0xa56b2d=_0x4548c7=>_0x4548c7==='read'?'':_0x4548c7==='write'?_0x4affc5(0xce):'\x20\x20[high-risk-write]',_0xcfbbc1={'service':_0x36d77b[0x0][_0x4affc5(0xe0)],'label':_0x23645d,'commands':_0x36d77b[_0x4affc5(0xed)](_0x3f3874=>({'command':_0x3f3874[_0x4affc5(0xf5)],'description':_0x3f3874[_0x4affc5(0xd4)],'tag':_0xa56b2d(_0x3f3874[_0x4affc5(0xde)])})),'defaultCommand':_0x524d62?.['defaultCommand']??(_0x524d62?.[_0x4affc5(0xcb)]?_0x36d77b[0x0]['command']:undefined),'isSingleCommand':_0x524d62?.[_0x4affc5(0xcb)]};serviceRegistry[_0x4affc5(0xf3)](_0xcfbbc1),serviceByName[_0x4affc5(0xeb)](_0xcfbbc1[_0x4affc5(0xe0)],_0xcfbbc1);}registerService(a47_0x4c5f0a(0xc1),authDefinitions,{'defaultCommand':a47_0x4c5f0a(0xe9)}),registerService(a47_0x4c5f0a(0xc0),userAccountDefinitions),registerService(a47_0x4c5f0a(0xcf),appDefinitions,{'defaultCommand':a47_0x4c5f0a(0xd7)}),registerService('Workspace',workspaceDefinitions),registerService('Runtime\x20App\x20Config',appConfigDefinitions),registerService(a47_0x4c5f0a(0xcc),configDefinitions,{'defaultCommand':'list'}),registerService(a47_0x4c5f0a(0xd3),roleDefinitions,{'defaultCommand':'list'}),registerService(a47_0x4c5f0a(0xf2),permitDefinitions),registerService(a47_0x4c5f0a(0xef),apiDocDefinitions),registerService('Datasets',datasetDefinitions),registerService(a47_0x4c5f0a(0xe4),dataDefinitions),registerService(a47_0x4c5f0a(0xda),sqlDefinitions),registerService(a47_0x4c5f0a(0xcd),bffDefinitions),registerService('Personal\x20BFF',personalBffDefinitions),registerService('Artifacts',artifactDefinitions),registerService(a47_0x4c5f0a(0xe2),fileDefinitions),registerService('OCR',ocrDefinitions),registerService('Knowledge\x20Base',kbDefinitions),registerService(a47_0x4c5f0a(0xd5),notificationDefinitions,{'defaultCommand':'config-list'}),registerService(a47_0x4c5f0a(0xd8),scheduleDefinitions,{'defaultCommand':a47_0x4c5f0a(0xd7)}),registerService(a47_0x4c5f0a(0xc8),serviceDefinitions,{'defaultCommand':'list'}),registerService(a47_0x4c5f0a(0xd6),skillDefinitions,{'defaultCommand':a47_0x4c5f0a(0xe8)}),registerService(a47_0x4c5f0a(0xdb),cliSkillDefinitions,{'defaultCommand':a47_0x4c5f0a(0xe8)}),registerService(a47_0x4c5f0a(0xc9),[updateDefinition],{'defaultCommand':a47_0x4c5f0a(0xc3),'isSingleCommand':!![]}),registerService(a47_0x4c5f0a(0xd9),[doctorDefinition],{'isSingleCommand':!![]}),registerService('Schema',[schemaDefinition],{'isSingleCommand':!![]}),registerService(a47_0x4c5f0a(0xea),logsDefinitions,{'defaultCommand':a47_0x4c5f0a(0xc5)});export function findDefinition(_0xddc77a,_0x43fb6f){const _0x6ffa98=a47_0x4c5f0a;return definitions[_0x6ffa98(0xc2)](_0xddc77a+':'+_0x43fb6f);}export function resolveRemovedCommand(_0x1aabda,_0x394f74){const _0x5e6ef3=a47_0x4c5f0a;if(_0x1aabda==='app'&&_0x394f74===_0x5e6ef3(0xc4))return{'command':_0x5e6ef3(0xf4),'message':_0x5e6ef3(0xd0),'hint':'Use\x20`lovrabet\x20workspace\x20init\x20--appcode\x20<code>`\x20instead.'};if(_0x1aabda===_0x5e6ef3(0xe1)&&_0x394f74==='use')return{'command':_0x5e6ef3(0xe7),'message':'`lovrabet\x20app\x20use`\x20has\x20been\x20removed.','hint':_0x5e6ef3(0xe3)};if(_0x1aabda===_0x5e6ef3(0xbf)&&_0x394f74===_0x5e6ef3(0xdf))return{'command':_0x5e6ef3(0xc7),'message':_0x5e6ef3(0xe5),'hint':_0x5e6ef3(0xec)};return undefined;}export function isKnownService(_0x52e5ca){const _0x2437a3=a47_0x4c5f0a;return serviceByName[_0x2437a3(0xee)](_0x52e5ca);}function a47_0x31ad(){const _0x169cab=['Authentication','get','run','init','show','9714051qNtslh','logs\x20clear','Service\x20Tree','Self\x20Update','145WmrqMa','isSingleCommand','Configuration','BFF\x20Scripts','\x20\x20[write]','App\x20Management','`lovrabet\x20app\x20init`\x20has\x20been\x20removed.','151248ZmswdV','6zPYaaZ','Runtime\x20Roles','description','Notification\x20Configs','Skills','list','Agent\x20Schedules','Diagnostics','SQL\x20Queries','CLI\x20Built-in\x20Skill','1100724QPyNiw','from','risk','clear','service','app','File','Use\x20`lovrabet\x20workspace\x20use\x20--app\x20<name>`\x20instead.','Instant\x20API','`lovrabet\x20logs\x20clear`\x20has\x20been\x20removed.','44766fXLdbg','app\x20use','install','login','Logs','set','Use\x20`lovrabet\x20logs\x20show`\x20to\x20view\x20command\x20history.','map','has','API\x20Documentation','4336PPcTBB','289445IhSJtY','Runtime\x20Permissions','push','app\x20init','command','1862434AgyyqW','logs','User\x20Accounts'];a47_0x31ad=function(){return _0x169cab;};return a47_0x31ad();}export function getServiceEntry(_0x4f9b75){const _0x1c277d=a47_0x4c5f0a;return serviceByName[_0x1c277d(0xc2)](_0x4f9b75);}export function getAllDefinitions(){const _0x55615a=a47_0x4c5f0a;return Array[_0x55615a(0xdd)](definitions['values']());}
1
+ const a47_0x5c5965=a47_0x5df6;(function(_0x94c79e,_0xe82ea5){const _0x1fe5c3=a47_0x5df6,_0x180671=_0x94c79e();while(!![]){try{const _0x53e652=-parseInt(_0x1fe5c3(0x1bc))/0x1*(-parseInt(_0x1fe5c3(0x1c6))/0x2)+parseInt(_0x1fe5c3(0x1a9))/0x3+parseInt(_0x1fe5c3(0x1a6))/0x4+-parseInt(_0x1fe5c3(0x1a2))/0x5+parseInt(_0x1fe5c3(0x1d8))/0x6+parseInt(_0x1fe5c3(0x1b2))/0x7*(parseInt(_0x1fe5c3(0x1ca))/0x8)+-parseInt(_0x1fe5c3(0x1d1))/0x9;if(_0x53e652===_0xe82ea5)break;else _0x180671['push'](_0x180671['shift']());}catch(_0x34cec7){_0x180671['push'](_0x180671['shift']());}}}(a47_0x5efe,0x327b6));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';import{notificationDefinitions}from'../commands/notification/index.js';import{roleDefinitions}from'../commands/role/index.js';import{permitDefinitions}from'../commands/permit/index.js';function a47_0x5df6(_0x4dbc8e,_0x1903f1){_0x4dbc8e=_0x4dbc8e-0x1a0;const _0x5efe58=a47_0x5efe();let _0x5df6c6=_0x5efe58[_0x4dbc8e];return _0x5df6c6;}export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();export const serviceGroups=new Map();function registerDefinitions(_0x3cdc43){const _0x32c50b=a47_0x5df6;for(const _0x269897 of _0x3cdc43){definitions['set'](_0x269897['service']+':'+_0x269897[_0x32c50b(0x1d3)],_0x269897);let _0x1a5e1e=serviceGroups[_0x32c50b(0x1c8)](_0x269897[_0x32c50b(0x1d7)]);!_0x1a5e1e&&(_0x1a5e1e=[],serviceGroups[_0x32c50b(0x1af)](_0x269897[_0x32c50b(0x1d7)],_0x1a5e1e)),_0x1a5e1e[_0x32c50b(0x1c2)](_0x269897);}}function registerService(_0x5bf7ce,_0x13460f,_0x3ff29f){const _0x62ed84=a47_0x5df6;registerDefinitions(_0x13460f);const _0x4a641c=_0x2f2171=>_0x2f2171==='read'?'':_0x2f2171===_0x62ed84(0x1b3)?_0x62ed84(0x1bd):_0x62ed84(0x1d9),_0x34c2de={'service':_0x13460f[0x0][_0x62ed84(0x1d7)],'label':_0x5bf7ce,'commands':_0x13460f[_0x62ed84(0x1ce)](_0x4f343c=>({'command':_0x4f343c[_0x62ed84(0x1d3)],'description':_0x4f343c['description'],'tag':_0x4a641c(_0x4f343c[_0x62ed84(0x1a7)])})),'defaultCommand':_0x3ff29f?.[_0x62ed84(0x1a0)]??(_0x3ff29f?.[_0x62ed84(0x1a3)]?_0x13460f[0x0]['command']:undefined),'isSingleCommand':_0x3ff29f?.[_0x62ed84(0x1a3)]};serviceRegistry[_0x62ed84(0x1c2)](_0x34c2de),serviceByName[_0x62ed84(0x1af)](_0x34c2de['service'],_0x34c2de);}registerService(a47_0x5c5965(0x1a4),authDefinitions,{'defaultCommand':a47_0x5c5965(0x1d0)}),registerService('User\x20Accounts',userAccountDefinitions),registerService('App\x20Management',appDefinitions,{'defaultCommand':a47_0x5c5965(0x1b0)}),registerService(a47_0x5c5965(0x1da),workspaceDefinitions),registerService(a47_0x5c5965(0x1b6),appConfigDefinitions),registerService(a47_0x5c5965(0x1c1),configDefinitions,{'defaultCommand':a47_0x5c5965(0x1b0)}),registerService(a47_0x5c5965(0x1cc),roleDefinitions,{'defaultCommand':a47_0x5c5965(0x1b0)}),registerService(a47_0x5c5965(0x1cd),permitDefinitions),registerService(a47_0x5c5965(0x1c9),apiDocDefinitions),registerService('Datasets',datasetDefinitions),registerService(a47_0x5c5965(0x1b9),dataDefinitions),registerService(a47_0x5c5965(0x1ba),sqlDefinitions),registerService('Backend\x20Function\x20Scripts',bffDefinitions),registerService(a47_0x5c5965(0x1b7),personalBffDefinitions),registerService(a47_0x5c5965(0x1be),artifactDefinitions),registerService(a47_0x5c5965(0x1cb),fileDefinitions),registerService(a47_0x5c5965(0x1a1),ocrDefinitions),registerService('Knowledge\x20Base',kbDefinitions),registerService(a47_0x5c5965(0x1a5),notificationDefinitions,{'defaultCommand':a47_0x5c5965(0x1bf)}),registerService('Agent\x20Schedules',scheduleDefinitions,{'defaultCommand':a47_0x5c5965(0x1b0)}),registerService('Service\x20Tree',serviceDefinitions,{'defaultCommand':'list'}),registerService(a47_0x5c5965(0x1c4),skillDefinitions,{'defaultCommand':a47_0x5c5965(0x1d4)}),registerService('CLI\x20Built-in\x20Skill',cliSkillDefinitions,{'defaultCommand':'install'}),registerService(a47_0x5c5965(0x1d5),[updateDefinition],{'defaultCommand':a47_0x5c5965(0x1ad),'isSingleCommand':!![]}),registerService(a47_0x5c5965(0x1ab),[doctorDefinition],{'isSingleCommand':!![]}),registerService(a47_0x5c5965(0x1d2),[schemaDefinition],{'isSingleCommand':!![]}),registerService(a47_0x5c5965(0x1aa),logsDefinitions,{'defaultCommand':a47_0x5c5965(0x1ae)});export function findDefinition(_0x45ad10,_0x135cbd){const _0x191c69=a47_0x5c5965;return definitions[_0x191c69(0x1c8)](_0x45ad10+':'+_0x135cbd);}export function resolveRemovedCommand(_0x3567d4,_0x56a2fd){const _0x1789b1=a47_0x5c5965;if(_0x3567d4==='app'&&_0x56a2fd===_0x1789b1(0x1d6))return{'command':_0x1789b1(0x1a8),'message':_0x1789b1(0x1b5),'hint':_0x1789b1(0x1cf)};if(_0x3567d4===_0x1789b1(0x1c3)&&_0x56a2fd===_0x1789b1(0x1b1))return{'command':_0x1789b1(0x1c0),'message':_0x1789b1(0x1b4),'hint':'Use\x20`lovrabet\x20workspace\x20use\x20--app\x20<name>`\x20instead.'};if(_0x3567d4==='logs'&&_0x56a2fd===_0x1789b1(0x1ac))return{'command':_0x1789b1(0x1c7),'message':_0x1789b1(0x1db),'hint':_0x1789b1(0x1c5)};return undefined;}function a47_0x5efe(){const _0x1f74d8=['app','Skills','Use\x20`lovrabet\x20logs\x20show`\x20to\x20view\x20command\x20history.','2aOlGwu','logs\x20clear','get','API\x20Documentation','8hElfGF','File','Runtime\x20Roles','Runtime\x20Permissions','map','Use\x20`lovrabet\x20workspace\x20init\x20--appcode\x20<code>`\x20instead.','login','765036adIZOS','Schema','command','install','Self\x20Update','init','service','1932774SPhpXT','\x20\x20[high-risk-write]','Workspace','`lovrabet\x20logs\x20clear`\x20has\x20been\x20removed.','defaultCommand','OCR','1524470jVdUjO','isSingleCommand','Authentication','Notification\x20Configs','656480ZWwqDd','risk','app\x20init','209871eucteJ','Logs','Diagnostics','clear','run','show','set','list','use','272034JmvtbZ','write','`lovrabet\x20app\x20use`\x20has\x20been\x20removed.','`lovrabet\x20app\x20init`\x20has\x20been\x20removed.','Runtime\x20App\x20Config','Personal\x20Backend\x20Function','values','Instant\x20API','SQL\x20Queries','has','1604fmgAkb','\x20\x20[write]','Artifacts','config-list','app\x20use','Configuration','push'];a47_0x5efe=function(){return _0x1f74d8;};return a47_0x5efe();}export function isKnownService(_0x1f3e17){const _0x4a319b=a47_0x5c5965;return serviceByName[_0x4a319b(0x1bb)](_0x1f3e17);}export function getServiceEntry(_0x585f07){const _0x5859cb=a47_0x5c5965;return serviceByName[_0x5859cb(0x1c8)](_0x585f07);}export function getAllDefinitions(){const _0x57d3a7=a47_0x5c5965;return Array['from'](definitions[_0x57d3a7(0x1b8)]());}
@@ -1 +1 @@
1
- const a48_0x4f8148=a48_0xd0aa;function a48_0xd0aa(_0x553149,_0x555dd6){_0x553149=_0x553149-0x102;const _0x403331=a48_0x4033();let _0xd0aa3d=_0x403331[_0x553149];return _0xd0aa3d;}(function(_0x1cff9b,_0x3c2c14){const _0x1cf2cd=a48_0xd0aa,_0x4019ec=_0x1cff9b();while(!![]){try{const _0x3880a3=-parseInt(_0x1cf2cd(0x10b))/0x1*(-parseInt(_0x1cf2cd(0x10c))/0x2)+-parseInt(_0x1cf2cd(0x11b))/0x3+-parseInt(_0x1cf2cd(0x105))/0x4+parseInt(_0x1cf2cd(0x112))/0x5*(-parseInt(_0x1cf2cd(0x113))/0x6)+-parseInt(_0x1cf2cd(0x10d))/0x7+-parseInt(_0x1cf2cd(0x10e))/0x8+-parseInt(_0x1cf2cd(0x114))/0x9*(-parseInt(_0x1cf2cd(0x102))/0xa);if(_0x3880a3===_0x3c2c14)break;else _0x4019ec['push'](_0x4019ec['shift']());}catch(_0x4264f6){_0x4019ec['push'](_0x4019ec['shift']());}}}(a48_0x4033,0x53ff1));import{createRuntimeAppRole}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';function a48_0x4033(){const _0x1693b1=['role','string','validation','385LCPzVQ','3006sswspi','18OgxbSo','trim','name','Create\x20a\x20runtime\x20CUSTOM\x20role','POST','--name\x20must\x20not\x20be\x20blank.','create','494388OafMhP','6517330fSUGnb','appCode','在当前运行应用中创建一个自定义角色;创建后可用于成员与资源权限配置。','567888mSYjqq','str','CUSTOM','high-risk-write','/client/permit/role/create','Optional\x20role\x20remark','83bTgIJv','14114WkPfOY','4240320AELMzv','4752344diCLOK'];a48_0x4033=function(){return _0x1693b1;};return a48_0x4033();}import{projectRuntimeRole,runtimeRoleWriteResult}from'../../commands/role/shared.js';function input(_0x498460){const _0x365455=a48_0xd0aa,_0x201aaa=_0x498460[_0x365455(0x106)]('name')[_0x365455(0x115)]();if(!_0x201aaa)throw CliErrors[_0x365455(0x111)](_0x365455(0x119));const _0x686851=_0x498460[_0x365455(0x106)]('remark')[_0x365455(0x115)]();return{'appCode':_0x498460[_0x365455(0x103)],'roleName':_0x201aaa,..._0x686851?{'remark':_0x686851}:{}};}export const roleCreate={'service':a48_0x4f8148(0x10f),'command':'create','description':a48_0x4f8148(0x117),'risk':a48_0x4f8148(0x108),'confirmationDescription':a48_0x4f8148(0x104),'flags':[{'name':a48_0x4f8148(0x116),'type':'string','required':!![],'description':'Role\x20name'},{'name':'remark','type':a48_0x4f8148(0x110),'description':a48_0x4f8148(0x10a)}],async 'validate'(_0x4024f1){input(_0x4024f1);},async 'dryRun'(_0x1dec03){const _0x1909e2=a48_0x4f8148;return dryRun(_0x1909e2(0x118),_0x1909e2(0x109))['body']({'roleType':_0x1909e2(0x107),...input(_0x1dec03)})['description']('Preview:\x20create\x20a\x20runtime\x20CUSTOM\x20role')['build']();},async 'execute'(_0x5a3db9){const _0x50d3e3=a48_0x4f8148,_0x482486=await createRuntimeAppRole(input(_0x5a3db9));return{'ok':!![],'data':runtimeRoleWriteResult(_0x50d3e3(0x11a),{'roleId':_0x482486['id']},null,projectRuntimeRole(_0x482486),{'method':_0x50d3e3(0x118),'path':_0x50d3e3(0x109)})};}};
1
+ const a48_0x279157=a48_0x409c;(function(_0x28a655,_0x556d4d){const _0x30d5a6=a48_0x409c,_0x19f15c=_0x28a655();while(!![]){try{const _0x5063e1=parseInt(_0x30d5a6(0x18d))/0x1+-parseInt(_0x30d5a6(0x1a0))/0x2+-parseInt(_0x30d5a6(0x1a5))/0x3+-parseInt(_0x30d5a6(0x190))/0x4*(-parseInt(_0x30d5a6(0x18e))/0x5)+parseInt(_0x30d5a6(0x194))/0x6+-parseInt(_0x30d5a6(0x18b))/0x7*(parseInt(_0x30d5a6(0x19a))/0x8)+parseInt(_0x30d5a6(0x18a))/0x9*(-parseInt(_0x30d5a6(0x192))/0xa);if(_0x5063e1===_0x556d4d)break;else _0x19f15c['push'](_0x19f15c['shift']());}catch(_0x5dbba9){_0x19f15c['push'](_0x19f15c['shift']());}}}(a48_0x12a4,0xbd289));import{createRuntimeAppRole}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';import{projectRuntimeRole,runtimeRoleWriteResult}from'../../commands/role/shared.js';function input(_0x199cc6){const _0x159378=a48_0x409c,_0x15c5a0=_0x199cc6[_0x159378(0x19e)](_0x159378(0x197))[_0x159378(0x1a4)]();if(!_0x15c5a0)throw CliErrors[_0x159378(0x189)](_0x159378(0x196));const _0xb66c8d=_0x199cc6[_0x159378(0x19e)](_0x159378(0x19d))['trim']();return{'appCode':_0x199cc6[_0x159378(0x19b)],'roleName':_0x15c5a0,..._0xb66c8d?{'remark':_0xb66c8d}:{}};}function a48_0x409c(_0x4df7a7,_0x1992ad){_0x4df7a7=_0x4df7a7-0x189;const _0x12a417=a48_0x12a4();let _0x409c38=_0x12a417[_0x4df7a7];return _0x409c38;}export const roleCreate={'service':a48_0x279157(0x18c),'command':a48_0x279157(0x1a1),'description':'Create\x20a\x20runtime\x20CUSTOM\x20role','risk':a48_0x279157(0x19f),'confirmationDescription':a48_0x279157(0x199),'flags':[{'name':a48_0x279157(0x197),'type':a48_0x279157(0x195),'required':!![],'description':a48_0x279157(0x193)},{'name':'remark','type':a48_0x279157(0x195),'description':a48_0x279157(0x1a3)}],async 'validate'(_0x577ea8){input(_0x577ea8);},async 'dryRun'(_0x2b404b){const _0x314d23=a48_0x279157;return dryRun(_0x314d23(0x18f),_0x314d23(0x1a2))[_0x314d23(0x191)]({'roleType':'CUSTOM',...input(_0x2b404b)})['description'](_0x314d23(0x19c))[_0x314d23(0x198)]();},async 'execute'(_0x1f9c0f){const _0x562ea9=a48_0x279157,_0x2a6361=await createRuntimeAppRole(input(_0x1f9c0f));return{'ok':!![],'data':runtimeRoleWriteResult(_0x562ea9(0x1a1),{'roleId':_0x2a6361['id']},null,projectRuntimeRole(_0x2a6361),{'method':'POST','path':_0x562ea9(0x1a2)})};}};function a48_0x12a4(){const _0x28a8a9=['88593NgIMIg','validation','36HecQGy','48587poJCAA','role','1338115xdCFcK','6320760GhElZD','POST','4seAOSH','body','1371910JGjRCr','Role\x20name','4595286odLrVn','string','--name\x20must\x20not\x20be\x20blank.','name','build','在当前运行应用中创建一个自定义角色;创建后可用于成员与资源权限配置。','632IQIOOM','appCode','Preview:\x20create\x20a\x20runtime\x20CUSTOM\x20role','remark','str','high-risk-write','2933442YKPmAs','create','/client/permit/role/create','Optional\x20role\x20remark','trim'];a48_0x12a4=function(){return _0x28a8a9;};return a48_0x12a4();}
@@ -1 +1 @@
1
- const a49_0x837e1d=a49_0xf154;(function(_0x2c6114,_0x19ee50){const _0x48ac15=a49_0xf154,_0x2db1a3=_0x2c6114();while(!![]){try{const _0x5e7ff7=-parseInt(_0x48ac15(0x6c))/0x1+-parseInt(_0x48ac15(0x6b))/0x2+parseInt(_0x48ac15(0x68))/0x3*(-parseInt(_0x48ac15(0x69))/0x4)+-parseInt(_0x48ac15(0x78))/0x5*(-parseInt(_0x48ac15(0x76))/0x6)+-parseInt(_0x48ac15(0x79))/0x7+parseInt(_0x48ac15(0x72))/0x8*(parseInt(_0x48ac15(0x7a))/0x9)+parseInt(_0x48ac15(0x74))/0xa;if(_0x5e7ff7===_0x19ee50)break;else _0x2db1a3['push'](_0x2db1a3['shift']());}catch(_0xfed520){_0x2db1a3['push'](_0x2db1a3['shift']());}}}(a49_0x4784,0x26029));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';function a49_0x4784(){const _0x2f5159=['/client/permit/role/delete','1077640nKemNg','high-risk-write','1706322qgPprJ','Delete\x20a\x20runtime\x20CUSTOM\x20role','5SudeoV','352429RAwSza','27ZZIlTL','description','build','Preview:\x20delete\x20a\x20runtime\x20CUSTOM\x20role','174579BWwabu','4XMOAHV','body','353374UhflJN','165318LlLMLI','POST','appCode','删除当前运行应用中的自定义角色;该角色的成员关系和权限配置可能随之失效。','delete','num','570888JmrBGz'];a49_0x4784=function(){return _0x2f5159;};return a49_0x4784();}async function prepare(_0x543473){const _0xc8feab=a49_0xf154,_0x173740=await getRuntimeRoleById(_0x543473[_0xc8feab(0x6e)],_0x543473[_0xc8feab(0x71)]('id'));return assertCustomRuntimeRole(_0x173740,_0xc8feab(0x70)),_0x173740;}function a49_0xf154(_0x41911c,_0x1143e3){_0x41911c=_0x41911c-0x67;const _0x4784ca=a49_0x4784();let _0xf1541=_0x4784ca[_0x41911c];return _0xf1541;}export const roleDelete={'service':'role','command':'delete','description':a49_0x837e1d(0x77),'risk':a49_0x837e1d(0x75),'confirmationDescription':a49_0x837e1d(0x6f),'flags':[ROLE_ID_FLAG],async 'dryRun'(_0x13aed4){const _0xaa0db3=a49_0x837e1d,_0x5cfe66=await prepare(_0x13aed4);return dryRun(_0xaa0db3(0x6d),_0xaa0db3(0x73))[_0xaa0db3(0x6a)]({'id':_0x5cfe66['id']})[_0xaa0db3(0x7b)](_0xaa0db3(0x67))[_0xaa0db3(0x7c)]();},async 'execute'(_0x48dffd){const _0x320614=a49_0x837e1d,_0x5e499b=await prepare(_0x48dffd);return await deleteRuntimeAppRole(_0x5e499b['id']),{'ok':!![],'data':runtimeRoleWriteResult(_0x320614(0x70),{'roleId':_0x5e499b['id']},projectRuntimeRole(_0x5e499b),null,{'method':_0x320614(0x6d),'path':_0x320614(0x73)})};}};
1
+ const a49_0x1bef3b=a49_0x271b;function a49_0x271b(_0x314a90,_0x2aed65){_0x314a90=_0x314a90-0xc1;const _0x23a77f=a49_0x23a7();let _0x271b50=_0x23a77f[_0x314a90];return _0x271b50;}(function(_0x1657a7,_0x2e421b){const _0x1402a7=a49_0x271b,_0xec672d=_0x1657a7();while(!![]){try{const _0x57a321=parseInt(_0x1402a7(0xd4))/0x1*(parseInt(_0x1402a7(0xd3))/0x2)+parseInt(_0x1402a7(0xc1))/0x3*(-parseInt(_0x1402a7(0xc8))/0x4)+-parseInt(_0x1402a7(0xd5))/0x5*(-parseInt(_0x1402a7(0xcd))/0x6)+parseInt(_0x1402a7(0xd0))/0x7*(-parseInt(_0x1402a7(0xca))/0x8)+-parseInt(_0x1402a7(0xcf))/0x9*(-parseInt(_0x1402a7(0xc5))/0xa)+-parseInt(_0x1402a7(0xc4))/0xb*(parseInt(_0x1402a7(0xcc))/0xc)+parseInt(_0x1402a7(0xc7))/0xd;if(_0x57a321===_0x2e421b)break;else _0xec672d['push'](_0xec672d['shift']());}catch(_0x3968b0){_0xec672d['push'](_0xec672d['shift']());}}}(a49_0x23a7,0xaeb4c));import{deleteRuntimeAppRole}from'../../core/api-client.js';function a49_0x23a7(){const _0x55aae6=['description','9wSgreG','4256ckWaCG','appCode','num','2htHomE','494257tlKAKl','1820505pmdXzZ','delete','Preview:\x20delete\x20a\x20runtime\x20CUSTOM\x20role','145653AHDMjE','role','build','22YilUpD','12159010IXHKgw','body','15400593vqkYxb','68ZbYiqP','high-risk-write','10688lRETAs','/client/permit/role/delete','7618620MPOjWw','12kKGSIg'];a49_0x23a7=function(){return _0x55aae6;};return a49_0x23a7();}import{dryRun}from'../../framework/dryrun.js';import{assertCustomRuntimeRole,getRuntimeRoleById,projectRuntimeRole,ROLE_ID_FLAG,runtimeRoleWriteResult}from'../../commands/role/shared.js';async function prepare(_0x452a1b){const _0x4ce90f=a49_0x271b,_0x4fc92e=await getRuntimeRoleById(_0x452a1b[_0x4ce90f(0xd1)],_0x452a1b[_0x4ce90f(0xd2)]('id'));return assertCustomRuntimeRole(_0x4fc92e,_0x4ce90f(0xd6)),_0x4fc92e;}export const roleDelete={'service':a49_0x1bef3b(0xc2),'command':a49_0x1bef3b(0xd6),'description':'Delete\x20a\x20runtime\x20CUSTOM\x20role','risk':a49_0x1bef3b(0xc9),'confirmationDescription':'删除当前运行应用中的自定义角色;该角色的成员关系和权限配置可能随之失效。','flags':[ROLE_ID_FLAG],async 'dryRun'(_0x28008e){const _0x380a00=a49_0x1bef3b,_0x195de8=await prepare(_0x28008e);return dryRun('POST',_0x380a00(0xcb))[_0x380a00(0xc6)]({'id':_0x195de8['id']})[_0x380a00(0xce)](_0x380a00(0xd7))[_0x380a00(0xc3)]();},async 'execute'(_0x4ed42b){const _0xb8fbfa=await prepare(_0x4ed42b);return await deleteRuntimeAppRole(_0xb8fbfa['id']),{'ok':!![],'data':runtimeRoleWriteResult('delete',{'roleId':_0xb8fbfa['id']},projectRuntimeRole(_0xb8fbfa),null,{'method':'POST','path':'/client/permit/role/delete'})};}};
@@ -1 +1 @@
1
- const a50_0x3e2e8c=a50_0x4eea;(function(_0x5e7e22,_0x589508){const _0x94409d=a50_0x4eea,_0x2818bf=_0x5e7e22();while(!![]){try{const _0xfced=parseInt(_0x94409d(0x182))/0x1*(-parseInt(_0x94409d(0x17c))/0x2)+parseInt(_0x94409d(0x180))/0x3*(parseInt(_0x94409d(0x17f))/0x4)+-parseInt(_0x94409d(0x173))/0x5+parseInt(_0x94409d(0x178))/0x6*(-parseInt(_0x94409d(0x177))/0x7)+-parseInt(_0x94409d(0x183))/0x8*(-parseInt(_0x94409d(0x17d))/0x9)+parseInt(_0x94409d(0x176))/0xa*(parseInt(_0x94409d(0x171))/0xb)+-parseInt(_0x94409d(0x17e))/0xc*(-parseInt(_0x94409d(0x175))/0xd);if(_0xfced===_0x589508)break;else _0x2818bf['push'](_0x2818bf['shift']());}catch(_0x6c37a){_0x2818bf['push'](_0x2818bf['shift']());}}}(a50_0x119e,0x5abaf));function a50_0x4eea(_0x502f96,_0x2feb22){_0x502f96=_0x502f96-0x170;const _0x119e8c=a50_0x119e();let _0x4eea9f=_0x119e8c[_0x502f96];return _0x4eea9f;}function a50_0x119e(){const _0x1a02d1=['154xcqJXv','read','3049185wsAJwN','appCode','1443kqtzdz','342790mnxvJb','2184112VRKRZx','12ehmORf','runtime','detail','role','6oZnJjE','91404Dbyehx','42792hpUpSu','2333684mEcKwu','3duVsPM','Show\x20one\x20runtime\x20role\x20by\x20ID','56163xpOTBl','248yZanOS','num'];a50_0x119e=function(){return _0x1a02d1;};return a50_0x119e();}import{getRuntimeRoleById,projectRuntimeRole,ROLE_ID_FLAG}from'../../commands/role/shared.js';export const roleDetail={'service':a50_0x3e2e8c(0x17b),'command':a50_0x3e2e8c(0x17a),'description':a50_0x3e2e8c(0x181),'risk':a50_0x3e2e8c(0x172),'flags':[ROLE_ID_FLAG],async 'execute'(_0x58bc9c){const _0x309863=a50_0x3e2e8c,_0x133743=await getRuntimeRoleById(_0x58bc9c[_0x309863(0x174)],_0x58bc9c[_0x309863(0x170)]('id'));return{'ok':!![],'data':{'scope':_0x309863(0x179),'role':projectRuntimeRole(_0x133743)}};}};
1
+ function a50_0x5929(){const _0x13ff4c=['114376jCxqJy','6CdhuyZ','role','num','appCode','2755616bCWxpe','9149454ncGBVw','2840870ZYsXQJ','3yVEckf','runtime','1294080bGLAWW','3598063jVHEsr','read','610124nYxqqN'];a50_0x5929=function(){return _0x13ff4c;};return a50_0x5929();}const a50_0x2eba65=a50_0x2350;function a50_0x2350(_0x53773c,_0x5ecd30){_0x53773c=_0x53773c-0x1d0;const _0x5929eb=a50_0x5929();let _0x23503a=_0x5929eb[_0x53773c];return _0x23503a;}(function(_0x4fcdef,_0x2493ea){const _0xc40c17=a50_0x2350,_0x274674=_0x4fcdef();while(!![]){try{const _0x3c1af5=-parseInt(_0xc40c17(0x1db))/0x1+parseInt(_0xc40c17(0x1d8))/0x2+parseInt(_0xc40c17(0x1d6))/0x3*(-parseInt(_0xc40c17(0x1d3))/0x4)+parseInt(_0xc40c17(0x1d5))/0x5+-parseInt(_0xc40c17(0x1dd))/0x6*(parseInt(_0xc40c17(0x1d9))/0x7)+parseInt(_0xc40c17(0x1dc))/0x8+parseInt(_0xc40c17(0x1d4))/0x9;if(_0x3c1af5===_0x2493ea)break;else _0x274674['push'](_0x274674['shift']());}catch(_0x10955f){_0x274674['push'](_0x274674['shift']());}}}(a50_0x5929,0x69bb8));import{getRuntimeRoleById,projectRuntimeRole,ROLE_ID_FLAG}from'../../commands/role/shared.js';export const roleDetail={'service':a50_0x2eba65(0x1d0),'command':'detail','description':'Show\x20one\x20runtime\x20role\x20by\x20ID','risk':a50_0x2eba65(0x1da),'flags':[ROLE_ID_FLAG],async 'execute'(_0x59e3e2){const _0x2b0e37=a50_0x2eba65,_0x215425=await getRuntimeRoleById(_0x59e3e2[_0x2b0e37(0x1d2)],_0x59e3e2[_0x2b0e37(0x1d1)]('id'));return{'ok':!![],'data':{'scope':_0x2b0e37(0x1d7),'role':projectRuntimeRole(_0x215425)}};}};
@@ -1 +1 @@
1
- (function(_0x5add14,_0x38ebf9){const _0x1e2686=a51_0x2d46,_0xe4653c=_0x5add14();while(!![]){try{const _0x1b795e=-parseInt(_0x1e2686(0x126))/0x1+parseInt(_0x1e2686(0x123))/0x2*(parseInt(_0x1e2686(0x124))/0x3)+-parseInt(_0x1e2686(0x127))/0x4*(-parseInt(_0x1e2686(0x121))/0x5)+-parseInt(_0x1e2686(0x125))/0x6+-parseInt(_0x1e2686(0x120))/0x7*(-parseInt(_0x1e2686(0x128))/0x8)+-parseInt(_0x1e2686(0x11e))/0x9*(parseInt(_0x1e2686(0x11f))/0xa)+parseInt(_0x1e2686(0x122))/0xb;if(_0x1b795e===_0x38ebf9)break;else _0xe4653c['push'](_0xe4653c['shift']());}catch(_0x51518f){_0xe4653c['push'](_0xe4653c['shift']());}}}(a51_0x2bf6,0x9b0d1));import{roleList}from'../../commands/role/list.js';import{roleDetail}from'../../commands/role/detail.js';import{roleCreate}from'../../commands/role/create.js';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';function a51_0x2d46(_0x291ae6,_0x17319e){_0x291ae6=_0x291ae6-0x11e;const _0x2bf608=a51_0x2bf6();let _0x2d4698=_0x2bf608[_0x291ae6];return _0x2d4698;}function a51_0x2bf6(){const _0x5e7145=['328098MpGICl','52mgFMyR','891464DQjHBs','3433788HFTzIt','30brOqPm','21RlhgTo','425210otSULj','2064832LDEpSi','2aBRbPs','3207201cMmDgh','3533046ThkFoC'];a51_0x2bf6=function(){return _0x5e7145;};return a51_0x2bf6();}export const roleDefinitions=[roleList,roleDetail,roleCreate,roleUpdate,roleDelete,roleUserAdd,roleUserRemove];
1
+ (function(_0x2eba52,_0x2a1d2f){const _0x4f883e=a51_0x276b,_0x3083c1=_0x2eba52();while(!![]){try{const _0x27ee7c=parseInt(_0x4f883e(0x1d1))/0x1*(-parseInt(_0x4f883e(0x1d5))/0x2)+parseInt(_0x4f883e(0x1ce))/0x3*(parseInt(_0x4f883e(0x1cb))/0x4)+-parseInt(_0x4f883e(0x1cc))/0x5+-parseInt(_0x4f883e(0x1d0))/0x6+parseInt(_0x4f883e(0x1cd))/0x7+parseInt(_0x4f883e(0x1d4))/0x8*(-parseInt(_0x4f883e(0x1cf))/0x9)+parseInt(_0x4f883e(0x1d3))/0xa*(parseInt(_0x4f883e(0x1d2))/0xb);if(_0x27ee7c===_0x2a1d2f)break;else _0x3083c1['push'](_0x3083c1['shift']());}catch(_0x3f1cf1){_0x3083c1['push'](_0x3083c1['shift']());}}}(a51_0x30c8,0xe1728));import{roleList}from'../../commands/role/list.js';function a51_0x276b(_0xebdd6f,_0x92e968){_0xebdd6f=_0xebdd6f-0x1cb;const _0x30c8dd=a51_0x30c8();let _0x276b15=_0x30c8dd[_0xebdd6f];return _0x276b15;}import{roleDetail}from'../../commands/role/detail.js';import{roleCreate}from'../../commands/role/create.js';import{roleUpdate}from'../../commands/role/update.js';function a51_0x30c8(){const _0x3fe834=['11yODodq','31722650wvCCpj','14174648IWmqSg','22NKDSAm','868jWtKWN','2644780JfGLSZ','11526844UHpPtm','3405uAajOh','9RDGGkZ','4734288JQAsdF','95635ZENcgF'];a51_0x30c8=function(){return _0x3fe834;};return a51_0x30c8();}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
- function a52_0x5694(){const _0x3510b2=['name','108516yurJRp','1203660ckUuZW','pagesize','toUpperCase','number','items','list','trim','4373288XzsleH','slice','4741TKfZhP','validation','length','isSafeInteger','Fuzzy\x20role-name\x20filter','string','str','4IGtDZA','18hEPrpW','List\x20runtime\x20roles\x20for\x20the\x20current\x20app','role','num','appCode','674472bAaeXQ','map','Page\x20number','28kVVpNN','5072740MqNdAi','Runtime\x20role\x20type','roleType','4joXyEq','type','runtime','filter','27400224ZIpgGW','paging','15270eOurjl','includes','page'];a52_0x5694=function(){return _0x3510b2;};return a52_0x5694();}const a52_0x25ffc1=a52_0x3b26;(function(_0x533fcc,_0xbd95c5){const _0x2435b2=a52_0x3b26,_0xe32923=_0x533fcc();while(!![]){try{const _0x365827=-parseInt(_0x2435b2(0x17a))/0x1*(parseInt(_0x2435b2(0x184))/0x2)+parseInt(_0x2435b2(0x173))/0x3+-parseInt(_0x2435b2(0x16d))/0x4*(parseInt(_0x2435b2(0x177))/0x5)+parseInt(_0x2435b2(0x185))/0x6*(-parseInt(_0x2435b2(0x176))/0x7)+parseInt(_0x2435b2(0x18c))/0x8*(parseInt(_0x2435b2(0x16e))/0x9)+-parseInt(_0x2435b2(0x180))/0xa*(parseInt(_0x2435b2(0x18e))/0xb)+parseInt(_0x2435b2(0x17e))/0xc;if(_0x365827===_0xbd95c5)break;else _0xe32923['push'](_0xe32923['shift']());}catch(_0x266a8a){_0xe32923['push'](_0xe32923['shift']());}}}(a52_0x5694,0xde01d));function a52_0x3b26(_0x3a7e2d,_0x4816f8){_0x3a7e2d=_0x3a7e2d-0x16b;const _0x56942d=a52_0x5694();let _0x3b2612=_0x56942d[_0x3a7e2d];return _0x3b2612;}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':a52_0x25ffc1(0x170),'command':a52_0x25ffc1(0x18a),'description':a52_0x25ffc1(0x16f),'risk':'read','flags':[{'name':a52_0x25ffc1(0x17b),'type':a52_0x25ffc1(0x16b),'enum':RUNTIME_ROLE_TYPES,'description':a52_0x25ffc1(0x178)},{'name':a52_0x25ffc1(0x183),'type':'string','description':a52_0x25ffc1(0x192)},{'name':a52_0x25ffc1(0x182),'type':a52_0x25ffc1(0x188),'default':0x1,'description':a52_0x25ffc1(0x175)},{'name':a52_0x25ffc1(0x186),'type':'number','default':0x64,'description':'Page\x20size\x20from\x201\x20to\x20100'}],async 'validate'(_0x40fd95){const _0x44f1c9=a52_0x25ffc1,_0x45fc9f=_0x40fd95[_0x44f1c9(0x16c)](_0x44f1c9(0x17b))[_0x44f1c9(0x187)]();if(_0x45fc9f&&!RUNTIME_ROLE_TYPES[_0x44f1c9(0x181)](_0x45fc9f))throw CliErrors['validation']('Invalid\x20runtime\x20role\x20type:\x20'+_0x45fc9f+'.');const _0x567382=_0x40fd95['num'](_0x44f1c9(0x182),0x1),_0x522e65=_0x40fd95[_0x44f1c9(0x171)](_0x44f1c9(0x186),0x64);if(!Number[_0x44f1c9(0x191)](_0x567382)||_0x567382<0x1)throw CliErrors[_0x44f1c9(0x18f)]('--page\x20must\x20be\x20a\x20positive\x20integer.');if(!Number[_0x44f1c9(0x191)](_0x522e65)||_0x522e65<0x1||_0x522e65>0x64)throw CliErrors[_0x44f1c9(0x18f)]('--pagesize\x20must\x20be\x20an\x20integer\x20from\x201\x20to\x20100.');},async 'execute'(_0x1a11b0){const _0x126656=a52_0x25ffc1,_0x520d02=_0x1a11b0[_0x126656(0x16c)](_0x126656(0x17b))['toUpperCase'](),_0x546fe3=_0x1a11b0[_0x126656(0x16c)](_0x126656(0x183))[_0x126656(0x18b)](),_0x50204f=_0x1a11b0[_0x126656(0x171)](_0x126656(0x182),0x1),_0x1bc412=_0x1a11b0['num'](_0x126656(0x186),0x64);if(_0x520d02){const _0x5aaaba=(await listAllRuntimeRoles(_0x1a11b0[_0x126656(0x172)],{..._0x546fe3?{'roleName':_0x546fe3}:{}}))[_0x126656(0x17d)](_0x55f55b=>_0x55f55b[_0x126656(0x179)]===_0x520d02),_0x16a126=(_0x50204f-0x1)*_0x1bc412;return{'ok':!![],'data':{'scope':_0x126656(0x17c),'roles':_0x5aaaba[_0x126656(0x18d)](_0x16a126,_0x16a126+_0x1bc412)['map'](projectRuntimeRole),'paging':{'currentPage':_0x50204f,'pageSize':_0x1bc412,'totalCount':_0x5aaaba[_0x126656(0x190)]}}};}const _0x4346b5=await listRuntimeAppRoles(_0x1a11b0[_0x126656(0x172)],{..._0x546fe3?{'roleName':_0x546fe3}:{},'currentPage':_0x50204f,'pageSize':_0x1bc412});return{'ok':!![],'data':{'scope':'runtime','roles':_0x4346b5[_0x126656(0x189)][_0x126656(0x174)](projectRuntimeRole),'paging':_0x4346b5[_0x126656(0x17f)]}};}};
1
+ const a52_0x1d00b3=a52_0x1675;function a52_0x4c39(){const _0x43fe03=['isSafeInteger','list','List\x20runtime\x20roles\x20for\x20the\x20current\x20app','appCode','1733032jQdZNn','number','23586DxVRkW','map','num','Runtime\x20role\x20type','5932935htcciL','--pagesize\x20must\x20be\x20an\x20integer\x20from\x201\x20to\x20100.','string','30929720zKDFKi','pagesize','includes','Page\x20size\x20from\x201\x20to\x20100','role','roleType','filter','type','19710gWPmlz','read','87pyBACL','runtime','665ofpLzl','toUpperCase','paging','validation','trim','str','length','name','858145AVzoOY','10lSNeXu','slice','9387192RRAhek','Fuzzy\x20role-name\x20filter','page'];a52_0x4c39=function(){return _0x43fe03;};return a52_0x4c39();}(function(_0x2b142c,_0x504c28){const _0x321732=a52_0x1675,_0xfe8bb1=_0x2b142c();while(!![]){try{const _0xf6e725=parseInt(_0x321732(0x166))/0x1+parseInt(_0x321732(0x181))/0x2*(-parseInt(_0x321732(0x183))/0x3)+-parseInt(_0x321732(0x170))/0x4*(parseInt(_0x321732(0x167))/0x5)+parseInt(_0x321732(0x172))/0x6*(-parseInt(_0x321732(0x185))/0x7)+-parseInt(_0x321732(0x169))/0x8+-parseInt(_0x321732(0x176))/0x9+parseInt(_0x321732(0x179))/0xa;if(_0xf6e725===_0x504c28)break;else _0xfe8bb1['push'](_0xfe8bb1['shift']());}catch(_0x5c4e9a){_0xfe8bb1['push'](_0xfe8bb1['shift']());}}}(a52_0x4c39,0x90b6b));function a52_0x1675(_0x415e95,_0x10885d){_0x415e95=_0x415e95-0x163;const _0x4c395a=a52_0x4c39();let _0x16752a=_0x4c395a[_0x415e95];return _0x16752a;}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':a52_0x1d00b3(0x17d),'command':a52_0x1d00b3(0x16d),'description':a52_0x1d00b3(0x16e),'risk':a52_0x1d00b3(0x182),'flags':[{'name':a52_0x1d00b3(0x180),'type':a52_0x1d00b3(0x178),'enum':RUNTIME_ROLE_TYPES,'description':a52_0x1d00b3(0x175)},{'name':a52_0x1d00b3(0x165),'type':a52_0x1d00b3(0x178),'description':a52_0x1d00b3(0x16a)},{'name':a52_0x1d00b3(0x16b),'type':a52_0x1d00b3(0x171),'default':0x1,'description':'Page\x20number'},{'name':a52_0x1d00b3(0x17a),'type':a52_0x1d00b3(0x171),'default':0x64,'description':a52_0x1d00b3(0x17c)}],async 'validate'(_0x2614be){const _0x557905=a52_0x1d00b3,_0x3aadea=_0x2614be[_0x557905(0x163)]('type')[_0x557905(0x186)]();if(_0x3aadea&&!RUNTIME_ROLE_TYPES[_0x557905(0x17b)](_0x3aadea))throw CliErrors[_0x557905(0x188)]('Invalid\x20runtime\x20role\x20type:\x20'+_0x3aadea+'.');const _0x4d9aa7=_0x2614be[_0x557905(0x174)](_0x557905(0x16b),0x1),_0x3101f4=_0x2614be[_0x557905(0x174)](_0x557905(0x17a),0x64);if(!Number[_0x557905(0x16c)](_0x4d9aa7)||_0x4d9aa7<0x1)throw CliErrors[_0x557905(0x188)]('--page\x20must\x20be\x20a\x20positive\x20integer.');if(!Number[_0x557905(0x16c)](_0x3101f4)||_0x3101f4<0x1||_0x3101f4>0x64)throw CliErrors[_0x557905(0x188)](_0x557905(0x177));},async 'execute'(_0xd66cb){const _0x405f1f=a52_0x1d00b3,_0x4223d7=_0xd66cb[_0x405f1f(0x163)](_0x405f1f(0x180))[_0x405f1f(0x186)](),_0x34ef25=_0xd66cb[_0x405f1f(0x163)](_0x405f1f(0x165))[_0x405f1f(0x189)](),_0x1f7f40=_0xd66cb[_0x405f1f(0x174)]('page',0x1),_0x43c613=_0xd66cb[_0x405f1f(0x174)](_0x405f1f(0x17a),0x64);if(_0x4223d7){const _0x4f8de6=(await listAllRuntimeRoles(_0xd66cb[_0x405f1f(0x16f)],{..._0x34ef25?{'roleName':_0x34ef25}:{}}))[_0x405f1f(0x17f)](_0x44f94f=>_0x44f94f[_0x405f1f(0x17e)]===_0x4223d7),_0x1aec35=(_0x1f7f40-0x1)*_0x43c613;return{'ok':!![],'data':{'scope':_0x405f1f(0x184),'roles':_0x4f8de6[_0x405f1f(0x168)](_0x1aec35,_0x1aec35+_0x43c613)[_0x405f1f(0x173)](projectRuntimeRole),'paging':{'currentPage':_0x1f7f40,'pageSize':_0x43c613,'totalCount':_0x4f8de6[_0x405f1f(0x164)]}}};}const _0x8ec55=await listRuntimeAppRoles(_0xd66cb[_0x405f1f(0x16f)],{..._0x34ef25?{'roleName':_0x34ef25}:{},'currentPage':_0x1f7f40,'pageSize':_0x43c613});return{'ok':!![],'data':{'scope':_0x405f1f(0x184),'roles':_0x8ec55['items'][_0x405f1f(0x173)](projectRuntimeRole),'paging':_0x8ec55[_0x405f1f(0x187)]}};}};
@@ -1 +1 @@
1
- const a53_0x5ee2d8=a53_0x2a2a;(function(_0x57edea,_0x400964){const _0x42b336=a53_0x2a2a,_0x554d4a=_0x57edea();while(!![]){try{const _0x5b1628=-parseInt(_0x42b336(0x18e))/0x1*(-parseInt(_0x42b336(0x199))/0x2)+-parseInt(_0x42b336(0x19b))/0x3*(parseInt(_0x42b336(0x176))/0x4)+parseInt(_0x42b336(0x1a9))/0x5+parseInt(_0x42b336(0x175))/0x6+-parseInt(_0x42b336(0x1a5))/0x7+-parseInt(_0x42b336(0x190))/0x8+parseInt(_0x42b336(0x196))/0x9*(parseInt(_0x42b336(0x17c))/0xa);if(_0x5b1628===_0x400964)break;else _0x554d4a['push'](_0x554d4a['shift']());}catch(_0x26ef76){_0x554d4a['push'](_0x554d4a['shift']());}}}(a53_0x27a5,0xf039e));import{listRuntimeAppUsers,listRuntimeAppRoles,listRuntimeRoleUsers}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';function a53_0x2a2a(_0x1d3244,_0xf892d){_0x1d3244=_0x1d3244-0x16b;const _0x27a5e3=a53_0x27a5();let _0x2a2ad0=_0x27a5e3[_0x1d3244];return _0x2a2ad0;}export const RUNTIME_ROLE_TYPES=[a53_0x5ee2d8(0x16c),a53_0x5ee2d8(0x1ac),a53_0x5ee2d8(0x18d),'CUSTOM'];const BUILTIN_ROLE_TYPES=['ADMIN',a53_0x5ee2d8(0x1ac),a53_0x5ee2d8(0x18d)];export const ROLE_ID_FLAG={'name':'id','type':a53_0x5ee2d8(0x182),'required':!![],'description':a53_0x5ee2d8(0x193)};export const ROLE_REF_FLAG={'name':a53_0x5ee2d8(0x198),'type':'string','required':!![],'description':a53_0x5ee2d8(0x184)};export const USER_ID_FLAG={'name':a53_0x5ee2d8(0x171),'type':a53_0x5ee2d8(0x16e),'required':!![],'description':a53_0x5ee2d8(0x177)};export const EXPECT_USER_COUNT_FLAG={'name':'expect-user-count','type':a53_0x5ee2d8(0x182),'description':'Reject\x20when\x20the\x20target\x20role\x20member\x20count\x20has\x20changed'};export function isBuiltinRuntimeRole(_0x2bd68d){const _0x4ea955=a53_0x5ee2d8;return BUILTIN_ROLE_TYPES[_0x4ea955(0x194)](_0x2bd68d);}export function assertCustomRuntimeRole(_0x2f0287,_0x3dd979){const _0x3812fc=a53_0x5ee2d8;if(_0x2f0287[_0x3812fc(0x17d)]!=='CUSTOM')throw CliErrors[_0x3812fc(0x18c)]('Cannot\x20'+_0x3dd979+_0x3812fc(0x185)+_0x2f0287[_0x3812fc(0x19d)]+'\x20('+_0x2f0287[_0x3812fc(0x17d)]+').','Only\x20CUSTOM\x20runtime\x20roles\x20can\x20be\x20modified\x20or\x20deleted.');}export function projectRuntimeRole(_0x5ac4c5){const _0x48a2d6=a53_0x5ee2d8;return{'id':_0x5ac4c5['id'],'roleName':_0x5ac4c5['roleName'],'roleType':_0x5ac4c5['roleType'],'remark':_0x5ac4c5['remark'],'userCount':_0x5ac4c5[_0x48a2d6(0x1a3)]??0x0,'permitCount':_0x5ac4c5[_0x48a2d6(0x18a)]??0x0,'builtin':isBuiltinRuntimeRole(_0x5ac4c5[_0x48a2d6(0x17d)])};}export async function getRuntimeRoleById(_0x11a3af,_0x66d53e){const _0x43a13e=a53_0x5ee2d8;if(!Number[_0x43a13e(0x16f)](_0x66d53e)||_0x66d53e<=0x0)throw CliErrors['validation'](_0x43a13e(0x1a8));const _0x2bd924=(await listAllRuntimeRoles(_0x11a3af))['filter'](_0x40f136=>_0x40f136['id']===_0x66d53e&&(!_0x40f136[_0x43a13e(0x188)]||_0x40f136[_0x43a13e(0x188)]===_0x11a3af));if(_0x2bd924[_0x43a13e(0x183)]!==0x1)throw CliErrors[_0x43a13e(0x18c)]('Runtime\x20role\x20id\x20'+_0x66d53e+_0x43a13e(0x172)+_0x11a3af+'.','Run\x20`lovrabet\x20role\x20list`\x20and\x20use\x20a\x20role\x20from\x20the\x20current\x20app.');return _0x2bd924[0x0];}export async function listAllRuntimeRoles(_0x2814ba,_0x2df917={}){const _0x525c28=a53_0x5ee2d8,_0x4de116=0x64,_0x428d16=[];for(let _0x3f08f4=0x1;;_0x3f08f4+=0x1){const _0x4b81c5=await listRuntimeAppRoles(_0x2814ba,{..._0x2df917['roleName']?{'roleName':_0x2df917[_0x525c28(0x19d)]}:{},'currentPage':_0x3f08f4,'pageSize':_0x4de116});_0x428d16[_0x525c28(0x17b)](..._0x4b81c5[_0x525c28(0x170)]);if(_0x4b81c5[_0x525c28(0x170)][_0x525c28(0x183)]<_0x4de116||_0x4b81c5[_0x525c28(0x181)]&&_0x428d16[_0x525c28(0x183)]>=_0x4b81c5[_0x525c28(0x181)][_0x525c28(0x1a6)])return _0x428d16;}}export async function resolveRuntimeRoleRef(_0x23c57e,_0x4ba3f3){const _0x5ad83f=a53_0x5ee2d8,_0x44ccd3=_0x4ba3f3['trim']();if(!_0x44ccd3)throw CliErrors[_0x5ad83f(0x18c)](_0x5ad83f(0x1ad),_0x5ad83f(0x180));if(/^\d+$/['test'](_0x44ccd3))return getRuntimeRoleById(_0x23c57e,Number(_0x44ccd3));const _0x4b08a0=(await listAllRuntimeRoles(_0x23c57e))[_0x5ad83f(0x1a1)](_0x41fa2e=>_0x41fa2e[_0x5ad83f(0x19d)]===_0x44ccd3);if(_0x4b08a0[_0x5ad83f(0x183)]===0x0)throw CliErrors[_0x5ad83f(0x18c)](_0x5ad83f(0x191)+_0x44ccd3+'\x22\x20was\x20not\x20found\x20in\x20app\x20'+_0x23c57e+'.',_0x5ad83f(0x1a2));if(_0x4b08a0[_0x5ad83f(0x183)]>0x1)throw CliErrors[_0x5ad83f(0x18c)]('Runtime\x20role\x20name\x20\x22'+_0x44ccd3+_0x5ad83f(0x19e),_0x5ad83f(0x16d)+_0x4b08a0['map'](_0x11da2b=>_0x11da2b['id'])[_0x5ad83f(0x18b)](',\x20')+'.');return _0x4b08a0[0x0];}function parseRuntimeUserId(_0x1fc34c){const _0x3955aa=a53_0x5ee2d8,_0x35a20f=_0x1fc34c['trim']();if(!/^\d+$/['test'](_0x35a20f))throw CliErrors['validation'](_0x3955aa(0x1a0),'Pass\x20--user\x20<userId>;\x20name\x20and\x20account\x20lookup\x20are\x20not\x20available\x20in\x20runtime\x20scope.');const _0x5632c5=Number(_0x35a20f);if(!Number['isSafeInteger'](_0x5632c5)||_0x5632c5<=0x0)throw CliErrors['validation'](_0x3955aa(0x186));return _0x5632c5;}export async function prepareRuntimeMemberMutation(_0x12ca44,_0x496c81){const _0x45df49=a53_0x5ee2d8,_0x408110=await resolveRuntimeRoleRef(_0x12ca44[_0x45df49(0x188)],_0x12ca44['str'](_0x45df49(0x198)));if(_0x408110['roleType']===_0x45df49(0x18d))throw CliErrors[_0x45df49(0x18c)](_0x45df49(0x178),_0x45df49(0x19f));const _0x1dfbe1=parseRuntimeUserId(_0x12ca44[_0x45df49(0x1ab)](_0x45df49(0x171))),_0x3ed9eb=(await listRuntimeRoleUsers(_0x12ca44['appCode']))[_0x45df49(0x192)](_0x36f9e8=>({..._0x36f9e8,'userList':[..._0x36f9e8['userList']??[]],'applyUserList':[..._0x36f9e8['applyUserList']??[]]})),_0x1e6840=_0x3ed9eb[_0x45df49(0x19c)](_0x1e8c1e=>_0x1e8c1e['id']===_0x408110['id']);if(!_0x1e6840)throw CliErrors[_0x45df49(0x18c)](_0x45df49(0x18f)+_0x408110['id']+_0x45df49(0x189),_0x45df49(0x197));const _0x555bfd=_0x1e6840['userList']['map'](_0x3a0a05=>_0x3a0a05[_0x45df49(0x16b)]),_0x392d7e=_0x12ca44[_0x45df49(0x17e)](_0x45df49(0x173));if(_0x392d7e!==undefined&&_0x392d7e!==null&&_0x392d7e!==''){const _0x2696dc=_0x12ca44[_0x45df49(0x17a)](_0x45df49(0x173));if(!Number['isSafeInteger'](_0x2696dc)||_0x2696dc<0x0)throw CliErrors[_0x45df49(0x18c)](_0x45df49(0x19a));if(_0x555bfd[_0x45df49(0x183)]!==_0x2696dc)throw CliErrors[_0x45df49(0x18c)](_0x45df49(0x1af)+_0x2696dc+',\x20found\x20'+_0x555bfd['length']+'.','Read\x20the\x20current\x20members\x20and\x20retry\x20with\x20the\x20new\x20expected\x20count.');}const _0x188c7f=_0x555bfd['includes'](_0x1dfbe1),_0x3f6628=[];let _0x9dfd24=!![];if(_0x496c81===_0x45df49(0x195)){const _0x18ff24=await listRuntimeAppUsers(_0x12ca44[_0x45df49(0x188)]),_0x226305=_0x18ff24[_0x45df49(0x1a1)](_0x257fd9=>Number(_0x257fd9[_0x45df49(0x174)])===_0x1dfbe1);if(_0x226305[_0x45df49(0x183)]!==0x1||!_0x226305[0x0][_0x45df49(0x1a4)]?.[_0x45df49(0x179)]())throw CliErrors[_0x45df49(0x18c)](_0x45df49(0x187)+_0x1dfbe1+'\x20was\x20not\x20found\x20in\x20app\x20'+_0x12ca44[_0x45df49(0x188)]+'.',_0x45df49(0x17f));_0x188c7f?(_0x9dfd24=![],_0x3f6628[_0x45df49(0x17b)](_0x45df49(0x1aa)+_0x1dfbe1+'\x20is\x20already\x20in\x20runtime\x20role\x20'+_0x408110['id']+'.')):_0x1e6840['userList'][_0x45df49(0x17b)]({'userId':_0x1dfbe1,'username':_0x226305[0x0][_0x45df49(0x1a4)]});}else!_0x188c7f?(_0x9dfd24=![],_0x3f6628[_0x45df49(0x17b)](_0x45df49(0x1aa)+_0x1dfbe1+_0x45df49(0x1a7)+_0x408110['id']+'.')):_0x1e6840['userList']=_0x1e6840['userList']['filter'](_0x1f6712=>_0x1f6712[_0x45df49(0x16b)]!==_0x1dfbe1);return{'role':_0x408110,'userId':_0x1dfbe1,'roleList':_0x3ed9eb,'before':{'userIds':_0x555bfd},'after':{'userIds':_0x1e6840[_0x45df49(0x1ae)]['map'](_0x4c2ca8=>_0x4c2ca8[_0x45df49(0x16b)])},'shouldWrite':_0x9dfd24,'warnings':_0x3f6628};}function a53_0x27a5(){const _0x4c4909=['Run\x20`lovrabet\x20role\x20list`\x20or\x20pass\x20--role\x20<id>.','userCount','userName','3856797LdahLU','totalCount','\x20is\x20not\x20in\x20runtime\x20role\x20','Role\x20ID\x20must\x20be\x20a\x20positive\x20integer.','649255IDAQax','User\x20','str','USER','Missing\x20runtime\x20role\x20reference.','userList','Runtime\x20role\x20member\x20count\x20changed:\x20expected\x20','userId','ADMIN','Pass\x20one\x20role\x20ID:\x20','string','isSafeInteger','items','user','\x20was\x20not\x20found\x20in\x20app\x20','expect-user-count','code','7387806vgkZBN','6275028RQZvAR','Runtime\x20numeric\x20userId','OWNER\x20runtime\x20role\x20membership\x20cannot\x20be\x20changed\x20with\x20this\x20command.','trim','num','push','32870xcggdo','roleType','flag','Use\x20a\x20numeric\x20userId\x20returned\x20by\x20the\x20current\x20application\x27s\x20personnel\x20list.','Pass\x20--role\x20<id|name>.','paging','number','length','Runtime\x20role\x20ID\x20or\x20exact\x20role\x20name','\x20built-in\x20runtime\x20role\x20','Runtime\x20userId\x20must\x20be\x20a\x20positive\x20safe\x20integer.','Runtime\x20user\x20','appCode','\x20is\x20missing\x20from\x20the\x20grouped\x20member\x20snapshot.','permitCount','join','validation','OWNER','9184yBnCgQ','Runtime\x20role\x20','14041528cUdEYq','Runtime\x20role\x20name\x20\x22','map','Runtime\x20role\x20ID\x20returned\x20by\x20role\x20list','includes','user-add','7515VhvUQW','Reload\x20the\x20role\x20list\x20and\x20retry\x20after\x20the\x20server\x20state\x20is\x20consistent.','role','164uhQhJD','--expect-user-count\x20must\x20be\x20a\x20non-negative\x20integer.','3nJRtbL','find','roleName','\x22\x20is\x20ambiguous.','Transfer\x20or\x20manage\x20application\x20ownership\x20through\x20the\x20dedicated\x20application\x20workflow.','Runtime\x20role\x20membership\x20requires\x20a\x20numeric\x20userId.','filter'];a53_0x27a5=function(){return _0x4c4909;};return a53_0x27a5();}export function runtimeRoleWriteResult(_0x317c21,_0x409fde,_0x4ed05e,_0x5a70e1,_0x2b8cfe,_0x20306f=[]){return{'operation':_0x317c21,'scope':'runtime','selector':_0x409fde,'before':_0x4ed05e,'after':_0x5a70e1,'dryRun':![],'backend':_0x2b8cfe,'warnings':_0x20306f};}
1
+ const a53_0x253511=a53_0x2432;(function(_0x5a3fe2,_0x14ce5b){const _0x4c85be=a53_0x2432,_0x5ce0f6=_0x5a3fe2();while(!![]){try{const _0x2ca9d5=-parseInt(_0x4c85be(0x1f3))/0x1+-parseInt(_0x4c85be(0x1d9))/0x2+parseInt(_0x4c85be(0x1d8))/0x3+parseInt(_0x4c85be(0x1ba))/0x4*(parseInt(_0x4c85be(0x1b9))/0x5)+-parseInt(_0x4c85be(0x1e1))/0x6+-parseInt(_0x4c85be(0x1c0))/0x7*(parseInt(_0x4c85be(0x1ae))/0x8)+parseInt(_0x4c85be(0x1c5))/0x9;if(_0x2ca9d5===_0x14ce5b)break;else _0x5ce0f6['push'](_0x5ce0f6['shift']());}catch(_0x48636b){_0x5ce0f6['push'](_0x5ce0f6['shift']());}}}(a53_0x4765,0x3d2eb));import{listRuntimeAppUsers,listRuntimeAppRoles,listRuntimeRoleUsers}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';export const RUNTIME_ROLE_TYPES=[a53_0x253511(0x1e9),a53_0x253511(0x1de),'OWNER',a53_0x253511(0x1b5)];const BUILTIN_ROLE_TYPES=[a53_0x253511(0x1e9),'USER',a53_0x253511(0x1ee)];export const ROLE_ID_FLAG={'name':'id','type':a53_0x253511(0x1da),'required':!![],'description':a53_0x253511(0x1c1)};export const ROLE_REF_FLAG={'name':a53_0x253511(0x1e3),'type':a53_0x253511(0x1e4),'required':!![],'description':a53_0x253511(0x1d7)};function a53_0x2432(_0x628e9b,_0x490ac3){_0x628e9b=_0x628e9b-0x1ad;const _0x47657a=a53_0x4765();let _0x243259=_0x47657a[_0x628e9b];return _0x243259;}export const USER_ID_FLAG={'name':a53_0x253511(0x1b7),'type':a53_0x253511(0x1e4),'required':!![],'description':a53_0x253511(0x1b8)};export const EXPECT_USER_COUNT_FLAG={'name':a53_0x253511(0x1e5),'type':'number','description':a53_0x253511(0x1c7)};export function isBuiltinRuntimeRole(_0x59cde9){return BUILTIN_ROLE_TYPES['includes'](_0x59cde9);}export function assertCustomRuntimeRole(_0x3042c0,_0xf0d8b6){const _0x165c30=a53_0x253511;if(_0x3042c0[_0x165c30(0x1b3)]!==_0x165c30(0x1b5))throw CliErrors['validation']('Cannot\x20'+_0xf0d8b6+'\x20built-in\x20runtime\x20role\x20'+_0x3042c0[_0x165c30(0x1f5)]+'\x20('+_0x3042c0['roleType']+').','Only\x20CUSTOM\x20runtime\x20roles\x20can\x20be\x20modified\x20or\x20deleted.');}export function projectRuntimeRole(_0x1342d0){const _0x3196ea=a53_0x253511;return{'id':_0x1342d0['id'],'roleName':_0x1342d0[_0x3196ea(0x1f5)],'roleType':_0x1342d0['roleType'],'remark':_0x1342d0[_0x3196ea(0x1d1)],'userCount':_0x1342d0['userCount']??0x0,'permitCount':_0x1342d0[_0x3196ea(0x1ca)]??0x0,'builtin':isBuiltinRuntimeRole(_0x1342d0['roleType'])};}function a53_0x4765(){const _0x3f7406=['join','applyUserList','user-add','test','265498gbBwFa','userName','roleName','isSafeInteger','272FpwgNt','\x22\x20is\x20ambiguous.','appCode','Reload\x20the\x20role\x20list\x20and\x20retry\x20after\x20the\x20server\x20state\x20is\x20consistent.','Pass\x20one\x20role\x20ID:\x20','roleType','flag','CUSTOM','Pass\x20--user\x20<userId>;\x20name\x20and\x20account\x20lookup\x20are\x20not\x20available\x20in\x20runtime\x20scope.','user','Runtime\x20numeric\x20userId','6955HGhwId','276sejjFA','items','Runtime\x20role\x20id\x20','Pass\x20--role\x20<id|name>.','Transfer\x20or\x20manage\x20application\x20ownership\x20through\x20the\x20dedicated\x20application\x20workflow.','--expect-user-count\x20must\x20be\x20a\x20non-negative\x20integer.','11347kSqsgR','Runtime\x20role\x20ID\x20returned\x20by\x20role\x20list','runtime','Runtime\x20role\x20membership\x20requires\x20a\x20numeric\x20userId.','num','6844581UDquyH','OWNER\x20runtime\x20role\x20membership\x20cannot\x20be\x20changed\x20with\x20this\x20command.','Reject\x20when\x20the\x20target\x20role\x20member\x20count\x20has\x20changed','includes','Use\x20a\x20numeric\x20userId\x20returned\x20by\x20the\x20current\x20application\x27s\x20personnel\x20list.','permitCount',',\x20found\x20','Runtime\x20role\x20member\x20count\x20changed:\x20expected\x20','filter','\x20was\x20not\x20found\x20in\x20app\x20','trim','length','remark','code','Runtime\x20role\x20','push','userId','Missing\x20runtime\x20role\x20reference.','Runtime\x20role\x20ID\x20or\x20exact\x20role\x20name','621735jgpwVw','22894wakxgH','number','userList','validation','\x20is\x20missing\x20from\x20the\x20grouped\x20member\x20snapshot.','USER','\x20is\x20already\x20in\x20runtime\x20role\x20','Run\x20`lovrabet\x20role\x20list`\x20and\x20use\x20a\x20role\x20from\x20the\x20current\x20app.','2886426JAWcmJ','\x20is\x20not\x20in\x20runtime\x20role\x20','role','string','expect-user-count','Role\x20ID\x20must\x20be\x20a\x20positive\x20integer.','Runtime\x20userId\x20must\x20be\x20a\x20positive\x20safe\x20integer.','Runtime\x20user\x20','ADMIN','paging','totalCount','map','User\x20','OWNER'];a53_0x4765=function(){return _0x3f7406;};return a53_0x4765();}export async function getRuntimeRoleById(_0x5d7e38,_0x553c48){const _0x168d53=a53_0x253511;if(!Number[_0x168d53(0x1ad)](_0x553c48)||_0x553c48<=0x0)throw CliErrors[_0x168d53(0x1dc)](_0x168d53(0x1e6));const _0x342584=(await listAllRuntimeRoles(_0x5d7e38))[_0x168d53(0x1cd)](_0x31deeb=>_0x31deeb['id']===_0x553c48&&(!_0x31deeb[_0x168d53(0x1b0)]||_0x31deeb[_0x168d53(0x1b0)]===_0x5d7e38));if(_0x342584[_0x168d53(0x1d0)]!==0x1)throw CliErrors['validation'](_0x168d53(0x1bc)+_0x553c48+_0x168d53(0x1ce)+_0x5d7e38+'.',_0x168d53(0x1e0));return _0x342584[0x0];}export async function listAllRuntimeRoles(_0x1fc941,_0x802f86={}){const _0x1b7b4a=a53_0x253511,_0x5797a0=0x64,_0x53e578=[];for(let _0xff4617=0x1;;_0xff4617+=0x1){const _0x51eabe=await listRuntimeAppRoles(_0x1fc941,{..._0x802f86['roleName']?{'roleName':_0x802f86[_0x1b7b4a(0x1f5)]}:{},'currentPage':_0xff4617,'pageSize':_0x5797a0});_0x53e578['push'](..._0x51eabe[_0x1b7b4a(0x1bb)]);if(_0x51eabe[_0x1b7b4a(0x1bb)][_0x1b7b4a(0x1d0)]<_0x5797a0||_0x51eabe[_0x1b7b4a(0x1ea)]&&_0x53e578[_0x1b7b4a(0x1d0)]>=_0x51eabe[_0x1b7b4a(0x1ea)][_0x1b7b4a(0x1eb)])return _0x53e578;}}export async function resolveRuntimeRoleRef(_0x57748a,_0x26fdd5){const _0x13d1ff=a53_0x253511,_0x389449=_0x26fdd5['trim']();if(!_0x389449)throw CliErrors[_0x13d1ff(0x1dc)](_0x13d1ff(0x1d6),_0x13d1ff(0x1bd));if(/^\d+$/[_0x13d1ff(0x1f2)](_0x389449))return getRuntimeRoleById(_0x57748a,Number(_0x389449));const _0x12a1dc=(await listAllRuntimeRoles(_0x57748a))[_0x13d1ff(0x1cd)](_0x142b28=>_0x142b28[_0x13d1ff(0x1f5)]===_0x389449);if(_0x12a1dc[_0x13d1ff(0x1d0)]===0x0)throw CliErrors[_0x13d1ff(0x1dc)]('Runtime\x20role\x20name\x20\x22'+_0x389449+'\x22\x20was\x20not\x20found\x20in\x20app\x20'+_0x57748a+'.','Run\x20`lovrabet\x20role\x20list`\x20or\x20pass\x20--role\x20<id>.');if(_0x12a1dc['length']>0x1)throw CliErrors['validation']('Runtime\x20role\x20name\x20\x22'+_0x389449+_0x13d1ff(0x1af),_0x13d1ff(0x1b2)+_0x12a1dc[_0x13d1ff(0x1ec)](_0x4eaab5=>_0x4eaab5['id'])[_0x13d1ff(0x1ef)](',\x20')+'.');return _0x12a1dc[0x0];}function parseRuntimeUserId(_0xe38535){const _0x332e1c=a53_0x253511,_0x1040d9=_0xe38535['trim']();if(!/^\d+$/[_0x332e1c(0x1f2)](_0x1040d9))throw CliErrors[_0x332e1c(0x1dc)](_0x332e1c(0x1c3),_0x332e1c(0x1b6));const _0x32197c=Number(_0x1040d9);if(!Number[_0x332e1c(0x1ad)](_0x32197c)||_0x32197c<=0x0)throw CliErrors[_0x332e1c(0x1dc)](_0x332e1c(0x1e7));return _0x32197c;}export async function prepareRuntimeMemberMutation(_0x22e587,_0x3eb3fd){const _0x19c87a=a53_0x253511,_0x5bdcd5=await resolveRuntimeRoleRef(_0x22e587[_0x19c87a(0x1b0)],_0x22e587['str']('role'));if(_0x5bdcd5[_0x19c87a(0x1b3)]===_0x19c87a(0x1ee))throw CliErrors['validation'](_0x19c87a(0x1c6),_0x19c87a(0x1be));const _0x2efd69=parseRuntimeUserId(_0x22e587['str']('user')),_0x38ed8b=(await listRuntimeRoleUsers(_0x22e587[_0x19c87a(0x1b0)]))[_0x19c87a(0x1ec)](_0x35dfad=>({..._0x35dfad,'userList':[..._0x35dfad[_0x19c87a(0x1db)]??[]],'applyUserList':[..._0x35dfad[_0x19c87a(0x1f0)]??[]]})),_0x4d55ef=_0x38ed8b['find'](_0x231313=>_0x231313['id']===_0x5bdcd5['id']);if(!_0x4d55ef)throw CliErrors[_0x19c87a(0x1dc)](_0x19c87a(0x1d3)+_0x5bdcd5['id']+_0x19c87a(0x1dd),_0x19c87a(0x1b1));const _0x32fd31=_0x4d55ef[_0x19c87a(0x1db)][_0x19c87a(0x1ec)](_0x13b5ad=>_0x13b5ad[_0x19c87a(0x1d5)]),_0x41524f=_0x22e587[_0x19c87a(0x1b4)](_0x19c87a(0x1e5));if(_0x41524f!==undefined&&_0x41524f!==null&&_0x41524f!==''){const _0x37fde5=_0x22e587[_0x19c87a(0x1c4)]('expect-user-count');if(!Number['isSafeInteger'](_0x37fde5)||_0x37fde5<0x0)throw CliErrors[_0x19c87a(0x1dc)](_0x19c87a(0x1bf));if(_0x32fd31[_0x19c87a(0x1d0)]!==_0x37fde5)throw CliErrors[_0x19c87a(0x1dc)](_0x19c87a(0x1cc)+_0x37fde5+_0x19c87a(0x1cb)+_0x32fd31[_0x19c87a(0x1d0)]+'.','Read\x20the\x20current\x20members\x20and\x20retry\x20with\x20the\x20new\x20expected\x20count.');}const _0x11cfb0=_0x32fd31[_0x19c87a(0x1c8)](_0x2efd69),_0x261abf=[];let _0x1862d2=!![];if(_0x3eb3fd===_0x19c87a(0x1f1)){const _0x356e09=await listRuntimeAppUsers(_0x22e587[_0x19c87a(0x1b0)]),_0x183442=_0x356e09[_0x19c87a(0x1cd)](_0x3b3cd1=>Number(_0x3b3cd1[_0x19c87a(0x1d2)])===_0x2efd69);if(_0x183442['length']!==0x1||!_0x183442[0x0][_0x19c87a(0x1f4)]?.[_0x19c87a(0x1cf)]())throw CliErrors[_0x19c87a(0x1dc)](_0x19c87a(0x1e8)+_0x2efd69+'\x20was\x20not\x20found\x20in\x20app\x20'+_0x22e587[_0x19c87a(0x1b0)]+'.',_0x19c87a(0x1c9));_0x11cfb0?(_0x1862d2=![],_0x261abf[_0x19c87a(0x1d4)](_0x19c87a(0x1ed)+_0x2efd69+_0x19c87a(0x1df)+_0x5bdcd5['id']+'.')):_0x4d55ef['userList'][_0x19c87a(0x1d4)]({'userId':_0x2efd69,'username':_0x183442[0x0][_0x19c87a(0x1f4)]});}else!_0x11cfb0?(_0x1862d2=![],_0x261abf[_0x19c87a(0x1d4)](_0x19c87a(0x1ed)+_0x2efd69+_0x19c87a(0x1e2)+_0x5bdcd5['id']+'.')):_0x4d55ef[_0x19c87a(0x1db)]=_0x4d55ef[_0x19c87a(0x1db)]['filter'](_0x5270ff=>_0x5270ff[_0x19c87a(0x1d5)]!==_0x2efd69);return{'role':_0x5bdcd5,'userId':_0x2efd69,'roleList':_0x38ed8b,'before':{'userIds':_0x32fd31},'after':{'userIds':_0x4d55ef['userList'][_0x19c87a(0x1ec)](_0xe5ca26=>_0xe5ca26[_0x19c87a(0x1d5)])},'shouldWrite':_0x1862d2,'warnings':_0x261abf};}export function runtimeRoleWriteResult(_0x3956b1,_0xe4b04b,_0x680d00,_0x1265a1,_0x24f313,_0x2ed574=[]){const _0x17f008=a53_0x253511;return{'operation':_0x3956b1,'scope':_0x17f008(0x1c2),'selector':_0xe4b04b,'before':_0x680d00,'after':_0x1265a1,'dryRun':![],'backend':_0x24f313,'warnings':_0x2ed574};}
@@ -1 +1 @@
1
- const a54_0x5d128a=a54_0x3443;(function(_0x54d06c,_0x10d948){const _0x23e520=a54_0x3443,_0x127a46=_0x54d06c();while(!![]){try{const _0x881621=parseInt(_0x23e520(0x174))/0x1*(parseInt(_0x23e520(0x167))/0x2)+-parseInt(_0x23e520(0x15f))/0x3*(parseInt(_0x23e520(0x16f))/0x4)+parseInt(_0x23e520(0x177))/0x5+parseInt(_0x23e520(0x179))/0x6*(parseInt(_0x23e520(0x165))/0x7)+-parseInt(_0x23e520(0x173))/0x8+parseInt(_0x23e520(0x166))/0x9*(-parseInt(_0x23e520(0x172))/0xa)+parseInt(_0x23e520(0x161))/0xb;if(_0x881621===_0x10d948)break;else _0x127a46['push'](_0x127a46['shift']());}catch(_0x3d9ef6){_0x127a46['push'](_0x127a46['shift']());}}}(a54_0x16ae,0x1949d));import{updateRuntimeAppRole}from'../../core/api-client.js';function a54_0x3443(_0x307f23,_0x9018a6){_0x307f23=_0x307f23-0x15f;const _0x16ae9e=a54_0x16ae();let _0x3443e3=_0x16ae9e[_0x307f23];return _0x3443e3;}import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';import{assertCustomRuntimeRole,getRuntimeRoleById,projectRuntimeRole,ROLE_ID_FLAG,runtimeRoleWriteResult}from'../../commands/role/shared.js';function updateFields(_0x2d5b9e){const _0xc4d9c8=a54_0x3443,_0x36128e=_0x2d5b9e[_0xc4d9c8(0x16d)](_0xc4d9c8(0x171))!==undefined,_0x578433=_0x2d5b9e['flag'](_0xc4d9c8(0x16c))!==undefined;if(!_0x36128e&&!_0x578433)throw CliErrors[_0xc4d9c8(0x17b)](_0xc4d9c8(0x176));const _0x3b5d17=_0x2d5b9e['str'](_0xc4d9c8(0x171))[_0xc4d9c8(0x164)](),_0x19d517=_0x2d5b9e[_0xc4d9c8(0x162)](_0xc4d9c8(0x16c))[_0xc4d9c8(0x164)]();if(_0x36128e&&!_0x3b5d17)throw CliErrors[_0xc4d9c8(0x17b)]('--name\x20must\x20not\x20be\x20blank.');if(_0x578433&&!_0x19d517)throw CliErrors[_0xc4d9c8(0x17b)](_0xc4d9c8(0x178),_0xc4d9c8(0x168));return{..._0x36128e?{'roleName':_0x3b5d17}:{},..._0x578433?{'remark':_0x19d517}:{}};}async function prepare(_0x1aba5d){const _0x12a9a3=a54_0x3443,_0x479cc9=await getRuntimeRoleById(_0x1aba5d[_0x12a9a3(0x16a)],_0x1aba5d['num']('id'));return assertCustomRuntimeRole(_0x479cc9,_0x12a9a3(0x17a)),{'role':_0x479cc9,'body':{'id':_0x479cc9['id'],'appCode':_0x1aba5d[_0x12a9a3(0x16a)],...updateFields(_0x1aba5d)}};}function a54_0x16ae(){const _0x509136=['flag','修改当前运行应用中的自定义角色名称或备注;变更会立即影响角色展示。','4PXnjqF','body','name','890SWJuwU','985392tqMJGQ','20uGGZyq','string','Pass\x20--name\x20or\x20--remark\x20to\x20update\x20the\x20runtime\x20role.','218690sOHQEt','--remark\x20must\x20not\x20be\x20blank.','4722lqKGjY','update','validation','high-risk-write','role','36579JeUOnQ','description','1676279XKQzMm','str','/client/permit/role/update','trim','847tPFlDx','10386GbYlpB','5030ycwcGg','The\x20current\x20runtime\x20role\x20API\x20does\x20not\x20support\x20clearing\x20an\x20existing\x20remark.','New\x20role\x20name','appCode','Update\x20a\x20runtime\x20CUSTOM\x20role','remark'];a54_0x16ae=function(){return _0x509136;};return a54_0x16ae();}export const roleUpdate={'service':a54_0x5d128a(0x17d),'command':a54_0x5d128a(0x17a),'description':a54_0x5d128a(0x16b),'risk':a54_0x5d128a(0x17c),'confirmationDescription':a54_0x5d128a(0x16e),'flags':[ROLE_ID_FLAG,{'name':'name','type':a54_0x5d128a(0x175),'description':a54_0x5d128a(0x169)},{'name':'remark','type':a54_0x5d128a(0x175),'description':'New\x20non-empty\x20role\x20remark'}],async 'validate'(_0x183605){updateFields(_0x183605);},async 'dryRun'(_0x254df3){const _0x58b6c4=a54_0x5d128a,{body:_0x334b7c}=await prepare(_0x254df3);return dryRun('POST','/client/permit/role/update')[_0x58b6c4(0x170)](_0x334b7c)[_0x58b6c4(0x160)]('Preview:\x20update\x20a\x20runtime\x20CUSTOM\x20role')['build']();},async 'execute'(_0x5444e0){const _0x2c05aa=a54_0x5d128a,{role:_0x667e71,body:_0x2206fd}=await prepare(_0x5444e0),_0x77442f=await updateRuntimeAppRole(_0x2206fd);return{'ok':!![],'data':runtimeRoleWriteResult('update',{'roleId':_0x667e71['id']},projectRuntimeRole(_0x667e71),projectRuntimeRole(_0x77442f),{'method':'POST','path':_0x2c05aa(0x163)})};}};
1
+ function a54_0x4699(){const _0x4f2d03=['str','New\x20role\x20name','New\x20non-empty\x20role\x20remark','num','name','trim','flag','276472tPHHii','Update\x20a\x20runtime\x20CUSTOM\x20role','The\x20current\x20runtime\x20role\x20API\x20does\x20not\x20support\x20clearing\x20an\x20existing\x20remark.','--remark\x20must\x20not\x20be\x20blank.','5soewGW','/client/permit/role/update','Preview:\x20update\x20a\x20runtime\x20CUSTOM\x20role','3395985QPBXEu','validation','4199352WwEKbU','Pass\x20--name\x20or\x20--remark\x20to\x20update\x20the\x20runtime\x20role.','15900SZGnjB','5981373iWfxef','333244pBhfSf','high-risk-write','3164456Nmituq','update','10mmzBwH','--name\x20must\x20not\x20be\x20blank.','2863bMVLBN','remark','修改当前运行应用中的自定义角色名称或备注;变更会立即影响角色展示。','appCode','role','POST'];a54_0x4699=function(){return _0x4f2d03;};return a54_0x4699();}const a54_0xe8e40f=a54_0x2efa;(function(_0x109492,_0xe96358){const _0x107f1b=a54_0x2efa,_0x477131=_0x109492();while(!![]){try{const _0x1779a8=parseInt(_0x107f1b(0x1dd))/0x1*(parseInt(_0x107f1b(0x1e6))/0x2)+-parseInt(_0x107f1b(0x1e2))/0x3+-parseInt(_0x107f1b(0x1d9))/0x4+-parseInt(_0x107f1b(0x1e0))/0x5+parseInt(_0x107f1b(0x1e4))/0x6*(parseInt(_0x107f1b(0x1cc))/0x7)+parseInt(_0x107f1b(0x1e8))/0x8+parseInt(_0x107f1b(0x1e5))/0x9*(parseInt(_0x107f1b(0x1ca))/0xa);if(_0x1779a8===_0xe96358)break;else _0x477131['push'](_0x477131['shift']());}catch(_0x1fcc41){_0x477131['push'](_0x477131['shift']());}}}(a54_0x4699,0xca657));import{updateRuntimeAppRole}from'../../core/api-client.js';function a54_0x2efa(_0x4bd48a,_0x34ad55){_0x4bd48a=_0x4bd48a-0x1c9;const _0x46992a=a54_0x4699();let _0x2efa04=_0x46992a[_0x4bd48a];return _0x2efa04;}import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';import{assertCustomRuntimeRole,getRuntimeRoleById,projectRuntimeRole,ROLE_ID_FLAG,runtimeRoleWriteResult}from'../../commands/role/shared.js';function updateFields(_0x3686f8){const _0x1a931f=a54_0x2efa,_0x143830=_0x3686f8[_0x1a931f(0x1d8)]('name')!==undefined,_0x11420c=_0x3686f8[_0x1a931f(0x1d8)](_0x1a931f(0x1cd))!==undefined;if(!_0x143830&&!_0x11420c)throw CliErrors[_0x1a931f(0x1e1)](_0x1a931f(0x1e3));const _0x5e975c=_0x3686f8[_0x1a931f(0x1d2)](_0x1a931f(0x1d6))[_0x1a931f(0x1d7)](),_0xf5258a=_0x3686f8[_0x1a931f(0x1d2)](_0x1a931f(0x1cd))[_0x1a931f(0x1d7)]();if(_0x143830&&!_0x5e975c)throw CliErrors['validation'](_0x1a931f(0x1cb));if(_0x11420c&&!_0xf5258a)throw CliErrors[_0x1a931f(0x1e1)](_0x1a931f(0x1dc),_0x1a931f(0x1db));return{..._0x143830?{'roleName':_0x5e975c}:{},..._0x11420c?{'remark':_0xf5258a}:{}};}async function prepare(_0x385caa){const _0x38dadc=a54_0x2efa,_0x5601b9=await getRuntimeRoleById(_0x385caa[_0x38dadc(0x1cf)],_0x385caa[_0x38dadc(0x1d5)]('id'));return assertCustomRuntimeRole(_0x5601b9,_0x38dadc(0x1c9)),{'role':_0x5601b9,'body':{'id':_0x5601b9['id'],'appCode':_0x385caa[_0x38dadc(0x1cf)],...updateFields(_0x385caa)}};}export const roleUpdate={'service':a54_0xe8e40f(0x1d0),'command':a54_0xe8e40f(0x1c9),'description':a54_0xe8e40f(0x1da),'risk':a54_0xe8e40f(0x1e7),'confirmationDescription':a54_0xe8e40f(0x1ce),'flags':[ROLE_ID_FLAG,{'name':a54_0xe8e40f(0x1d6),'type':'string','description':a54_0xe8e40f(0x1d3)},{'name':'remark','type':'string','description':a54_0xe8e40f(0x1d4)}],async 'validate'(_0x561c00){updateFields(_0x561c00);},async 'dryRun'(_0x30bb82){const _0x168304=a54_0xe8e40f,{body:_0x2c46cc}=await prepare(_0x30bb82);return dryRun(_0x168304(0x1d1),_0x168304(0x1de))['body'](_0x2c46cc)['description'](_0x168304(0x1df))['build']();},async 'execute'(_0x55be51){const _0x3b14c6=a54_0xe8e40f,{role:_0x1da10a,body:_0xa77117}=await prepare(_0x55be51),_0xae0f79=await updateRuntimeAppRole(_0xa77117);return{'ok':!![],'data':runtimeRoleWriteResult(_0x3b14c6(0x1c9),{'roleId':_0x1da10a['id']},projectRuntimeRole(_0x1da10a),projectRuntimeRole(_0xae0f79),{'method':_0x3b14c6(0x1d1),'path':'/client/permit/role/update'})};}};
@@ -1 +1 @@
1
- function a55_0x2bbe(){const _0x51a035=['102394oXYAPk','2897488VEknah','roleList','appCode','/client/permit/user-role/update-user-list','8FOVQdD','userId','body','589243lUzAUp','Preview:\x20add\x20runtime\x20role\x20member','725275jmlQuF','before','user-add','6xuSWCw','8380665lahZvR','role','POST','high-risk-write','warnings','39zPQsOX','5139421OomiiN','shouldWrite','build','24339090PgLxQC'];a55_0x2bbe=function(){return _0x51a035;};return a55_0x2bbe();}const a55_0x21613d=a55_0x1870;(function(_0x5e975f,_0x4b3285){const _0x16ae02=a55_0x1870,_0x3af1d1=_0x5e975f();while(!![]){try{const _0x3a0373=-parseInt(_0x16ae02(0x14a))/0x1+-parseInt(_0x16ae02(0x15a))/0x2*(parseInt(_0x16ae02(0x155))/0x3)+-parseInt(_0x16ae02(0x15b))/0x4+-parseInt(_0x16ae02(0x14c))/0x5*(parseInt(_0x16ae02(0x14f))/0x6)+-parseInt(_0x16ae02(0x156))/0x7*(parseInt(_0x16ae02(0x147))/0x8)+parseInt(_0x16ae02(0x150))/0x9+parseInt(_0x16ae02(0x159))/0xa;if(_0x3a0373===_0x4b3285)break;else _0x3af1d1['push'](_0x3af1d1['shift']());}catch(_0x25ca7b){_0x3af1d1['push'](_0x3af1d1['shift']());}}}(a55_0x2bbe,0x7bb24));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 a55_0x1870(_0x2f022d,_0x293585){_0x2f022d=_0x2f022d-0x146;const _0x2bbe17=a55_0x2bbe();let _0x18701e=_0x2bbe17[_0x2f022d];return _0x18701e;}export const roleUserAdd={'service':a55_0x21613d(0x151),'command':a55_0x21613d(0x14e),'description':'Add\x20a\x20numeric\x20userId\x20to\x20one\x20runtime\x20role','risk':a55_0x21613d(0x153),'confirmationDescription':'把指定运行用户加入目标角色;该用户将获得该角色对应的运行权限。','flags':[ROLE_REF_FLAG,USER_ID_FLAG,EXPECT_USER_COUNT_FLAG],async 'dryRun'(_0x162f94){const _0x4c0236=a55_0x21613d,_0x52f212=await prepareRuntimeMemberMutation(_0x162f94,_0x4c0236(0x14e));return dryRun(_0x4c0236(0x152),_0x4c0236(0x146))[_0x4c0236(0x149)]({'appCode':_0x162f94[_0x4c0236(0x15d)],'roleList':_0x52f212[_0x4c0236(0x15c)]})['description'](_0x52f212[_0x4c0236(0x157)]?_0x4c0236(0x14b):_0x52f212[_0x4c0236(0x154)][0x0])[_0x4c0236(0x158)]();},async 'execute'(_0xb76889){const _0x59989c=a55_0x21613d,_0x2443b7=await prepareRuntimeMemberMutation(_0xb76889,'user-add');return _0x2443b7[_0x59989c(0x157)]&&await updateRuntimeRoleUsers(_0xb76889[_0x59989c(0x15d)],_0x2443b7[_0x59989c(0x15c)]),{'ok':!![],'data':runtimeRoleWriteResult('user-add',{'roleId':_0x2443b7['role']['id'],'userId':_0x2443b7[_0x59989c(0x148)]},_0x2443b7[_0x59989c(0x14d)],_0x2443b7['after'],{'method':_0x59989c(0x152),'path':_0x59989c(0x146)},_0x2443b7[_0x59989c(0x154)])};}};
1
+ function a55_0x17db(){const _0x149b1d=['roleList','7893EHBDby','shouldWrite','1725545iJtPSb','Add\x20a\x20numeric\x20userId\x20to\x20one\x20runtime\x20role','user-add','role','/client/permit/user-role/update-user-list','2858690ktDSBH','172139LmGVRa','132SedvXn','3RjQbJi','4ECiIfU','10080kHGkrj','high-risk-write','55782fOPOXX','POST','userId','build','before','description','441720NYQKpI','appCode','warnings','637106sintwt','after','把指定运行用户加入目标角色;该用户将获得该角色对应的运行权限。','791jbdMTV'];a55_0x17db=function(){return _0x149b1d;};return a55_0x17db();}const a55_0x251977=a55_0x1893;(function(_0x10bc00,_0x45ad24){const _0x41e9b9=a55_0x1893,_0x2646d7=_0x10bc00();while(!![]){try{const _0x12f215=parseInt(_0x41e9b9(0x192))/0x1+-parseInt(_0x41e9b9(0x195))/0x2*(-parseInt(_0x41e9b9(0x1a4))/0x3)+parseInt(_0x41e9b9(0x189))/0x4*(-parseInt(_0x41e9b9(0x19c))/0x5)+-parseInt(_0x41e9b9(0x18c))/0x6*(-parseInt(_0x41e9b9(0x198))/0x7)+-parseInt(_0x41e9b9(0x18a))/0x8*(parseInt(_0x41e9b9(0x19a))/0x9)+parseInt(_0x41e9b9(0x1a1))/0xa+parseInt(_0x41e9b9(0x1a2))/0xb*(parseInt(_0x41e9b9(0x1a3))/0xc);if(_0x12f215===_0x45ad24)break;else _0x2646d7['push'](_0x2646d7['shift']());}catch(_0x493b35){_0x2646d7['push'](_0x2646d7['shift']());}}}(a55_0x17db,0xc7e19));import{updateRuntimeRoleUsers}from'../../core/api-client.js';function a55_0x1893(_0x1accd9,_0x2b5550){_0x1accd9=_0x1accd9-0x189;const _0x17db04=a55_0x17db();let _0x189327=_0x17db04[_0x1accd9];return _0x189327;}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_0x251977(0x19f),'command':'user-add','description':a55_0x251977(0x19d),'risk':a55_0x251977(0x18b),'confirmationDescription':a55_0x251977(0x197),'flags':[ROLE_REF_FLAG,USER_ID_FLAG,EXPECT_USER_COUNT_FLAG],async 'dryRun'(_0x376334){const _0x446e2c=a55_0x251977,_0x5ca80a=await prepareRuntimeMemberMutation(_0x376334,_0x446e2c(0x19e));return dryRun(_0x446e2c(0x18d),_0x446e2c(0x1a0))['body']({'appCode':_0x376334[_0x446e2c(0x193)],'roleList':_0x5ca80a[_0x446e2c(0x199)]})[_0x446e2c(0x191)](_0x5ca80a[_0x446e2c(0x19b)]?'Preview:\x20add\x20runtime\x20role\x20member':_0x5ca80a[_0x446e2c(0x194)][0x0])[_0x446e2c(0x18f)]();},async 'execute'(_0x137e27){const _0x491c40=a55_0x251977,_0x1ada86=await prepareRuntimeMemberMutation(_0x137e27,'user-add');return _0x1ada86[_0x491c40(0x19b)]&&await updateRuntimeRoleUsers(_0x137e27['appCode'],_0x1ada86['roleList']),{'ok':!![],'data':runtimeRoleWriteResult(_0x491c40(0x19e),{'roleId':_0x1ada86['role']['id'],'userId':_0x1ada86[_0x491c40(0x18e)]},_0x1ada86[_0x491c40(0x190)],_0x1ada86[_0x491c40(0x196)],{'method':_0x491c40(0x18d),'path':_0x491c40(0x1a0)},_0x1ada86[_0x491c40(0x194)])};}};
@@ -1 +1 @@
1
- function a56_0x4fa4(_0x547615,_0x1943cd){_0x547615=_0x547615-0x86;const _0x2db2e5=a56_0x2db2();let _0x4fa45d=_0x2db2e5[_0x547615];return _0x4fa45d;}function a56_0x2db2(){const _0x2cf66b=['before','/client/permit/user-role/update-user-list','role','1304615PJEKSn','2295163qzuMTa','2513770wVLNsn','11ccuzAy','117qfCcSg','140990pLUMvn','warnings','Remove\x20a\x20numeric\x20userId\x20from\x20one\x20runtime\x20role','12oUSggu','userId','把指定运行用户移出目标角色;该用户将失去仅由该角色授予的运行权限。','shouldWrite','after','Preview:\x20remove\x20runtime\x20role\x20member','1AEhwpF','build','820390uwekFM','170672bMwjQB','6099rURROZ','POST','appCode','user-remove','12ZXQyWx','6SFyOVn'];a56_0x2db2=function(){return _0x2cf66b;};return a56_0x2db2();}const a56_0x26cf12=a56_0x4fa4;(function(_0x46ace2,_0x159e22){const _0xb41739=a56_0x4fa4,_0x42f549=_0x46ace2();while(!![]){try{const _0x1faed5=-parseInt(_0xb41739(0x8b))/0x1*(parseInt(_0xb41739(0x9d))/0x2)+parseInt(_0xb41739(0x8f))/0x3*(-parseInt(_0xb41739(0xa0))/0x4)+-parseInt(_0xb41739(0x98))/0x5+-parseInt(_0xb41739(0x94))/0x6*(-parseInt(_0xb41739(0x9a))/0x7)+-parseInt(_0xb41739(0x8e))/0x8*(-parseInt(_0xb41739(0x9c))/0x9)+parseInt(_0xb41739(0x8d))/0xa*(parseInt(_0xb41739(0x9b))/0xb)+parseInt(_0xb41739(0x93))/0xc*(-parseInt(_0xb41739(0x99))/0xd);if(_0x1faed5===_0x159e22)break;else _0x42f549['push'](_0x42f549['shift']());}catch(_0x17ff92){_0x42f549['push'](_0x42f549['shift']());}}}(a56_0x2db2,0x31e87));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 roleUserRemove={'service':a56_0x26cf12(0x97),'command':a56_0x26cf12(0x92),'description':a56_0x26cf12(0x9f),'risk':'high-risk-write','confirmationDescription':a56_0x26cf12(0x87),'flags':[ROLE_REF_FLAG,USER_ID_FLAG,EXPECT_USER_COUNT_FLAG],async 'dryRun'(_0x409fa4){const _0x2573ce=a56_0x26cf12,_0x879a5e=await prepareRuntimeMemberMutation(_0x409fa4,_0x2573ce(0x92));return dryRun(_0x2573ce(0x90),_0x2573ce(0x96))['body']({'appCode':_0x409fa4[_0x2573ce(0x91)],'roleList':_0x879a5e['roleList']})['description'](_0x879a5e[_0x2573ce(0x88)]?_0x2573ce(0x8a):_0x879a5e[_0x2573ce(0x9e)][0x0])[_0x2573ce(0x8c)]();},async 'execute'(_0x1c3ae5){const _0x42d364=a56_0x26cf12,_0x3be4fc=await prepareRuntimeMemberMutation(_0x1c3ae5,_0x42d364(0x92));return _0x3be4fc['shouldWrite']&&await updateRuntimeRoleUsers(_0x1c3ae5[_0x42d364(0x91)],_0x3be4fc['roleList']),{'ok':!![],'data':runtimeRoleWriteResult(_0x42d364(0x92),{'roleId':_0x3be4fc[_0x42d364(0x97)]['id'],'userId':_0x3be4fc[_0x42d364(0x86)]},_0x3be4fc[_0x42d364(0x95)],_0x3be4fc[_0x42d364(0x89)],{'method':_0x42d364(0x90),'path':_0x42d364(0x96)},_0x3be4fc['warnings'])};}};
1
+ const a56_0x512e15=a56_0x2f41;(function(_0x289dba,_0x3d5812){const _0x2e6f26=a56_0x2f41,_0x2696f6=_0x289dba();while(!![]){try{const _0x41f08b=-parseInt(_0x2e6f26(0x186))/0x1*(parseInt(_0x2e6f26(0x182))/0x2)+-parseInt(_0x2e6f26(0x18b))/0x3*(parseInt(_0x2e6f26(0x185))/0x4)+parseInt(_0x2e6f26(0x178))/0x5+-parseInt(_0x2e6f26(0x18a))/0x6*(parseInt(_0x2e6f26(0x183))/0x7)+parseInt(_0x2e6f26(0x17e))/0x8+parseInt(_0x2e6f26(0x17b))/0x9*(parseInt(_0x2e6f26(0x187))/0xa)+parseInt(_0x2e6f26(0x180))/0xb;if(_0x41f08b===_0x3d5812)break;else _0x2696f6['push'](_0x2696f6['shift']());}catch(_0x310a03){_0x2696f6['push'](_0x2696f6['shift']());}}}(a56_0x3f8b,0x8d960));function a56_0x2f41(_0x182a3d,_0x3c1c8d){_0x182a3d=_0x182a3d-0x177;const _0x3f8b89=a56_0x3f8b();let _0x2f4124=_0x3f8b89[_0x182a3d];return _0x2f4124;}import{updateRuntimeRoleUsers}from'../../core/api-client.js';import{dryRun}from'../../framework/dryrun.js';function a56_0x3f8b(){const _0x11b4b3=['436329AkMDXc','high-risk-write','roleList','3781008PdRmpk','user-remove','12461999NGXinb','role','83454DYBYzq','7uzgJCs','shouldWrite','40132EReEWO','17GkXpci','200xeoXUY','warnings','/client/permit/user-role/update-user-list','3179850YInQez','330dzDykr','build','body','userId','POST','after','description','把指定运行用户移出目标角色;该用户将失去仅由该角色授予的运行权限。','1738725dnarzz','Remove\x20a\x20numeric\x20userId\x20from\x20one\x20runtime\x20role','appCode'];a56_0x3f8b=function(){return _0x11b4b3;};return a56_0x3f8b();}import{EXPECT_USER_COUNT_FLAG,prepareRuntimeMemberMutation,ROLE_REF_FLAG,runtimeRoleWriteResult,USER_ID_FLAG}from'../../commands/role/shared.js';export const roleUserRemove={'service':a56_0x512e15(0x181),'command':a56_0x512e15(0x17f),'description':a56_0x512e15(0x179),'risk':a56_0x512e15(0x17c),'confirmationDescription':a56_0x512e15(0x177),'flags':[ROLE_REF_FLAG,USER_ID_FLAG,EXPECT_USER_COUNT_FLAG],async 'dryRun'(_0x1ee1e4){const _0x4f6bad=a56_0x512e15,_0x5baded=await prepareRuntimeMemberMutation(_0x1ee1e4,_0x4f6bad(0x17f));return dryRun(_0x4f6bad(0x18f),_0x4f6bad(0x189))[_0x4f6bad(0x18d)]({'appCode':_0x1ee1e4[_0x4f6bad(0x17a)],'roleList':_0x5baded[_0x4f6bad(0x17d)]})[_0x4f6bad(0x191)](_0x5baded[_0x4f6bad(0x184)]?'Preview:\x20remove\x20runtime\x20role\x20member':_0x5baded[_0x4f6bad(0x188)][0x0])[_0x4f6bad(0x18c)]();},async 'execute'(_0x13c0e8){const _0x3a0f05=a56_0x512e15,_0x2c396a=await prepareRuntimeMemberMutation(_0x13c0e8,'user-remove');return _0x2c396a[_0x3a0f05(0x184)]&&await updateRuntimeRoleUsers(_0x13c0e8[_0x3a0f05(0x17a)],_0x2c396a[_0x3a0f05(0x17d)]),{'ok':!![],'data':runtimeRoleWriteResult('user-remove',{'roleId':_0x2c396a['role']['id'],'userId':_0x2c396a[_0x3a0f05(0x18e)]},_0x2c396a['before'],_0x2c396a[_0x3a0f05(0x190)],{'method':'POST','path':'/client/permit/user-role/update-user-list'},_0x2c396a[_0x3a0f05(0x188)])};}};