@lovrabet/lovrabet-cli 2.3.0 → 2.3.1-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (178) hide show
  1. package/lib/cli.js +1 -1
  2. package/lib/commands/api-doc/index.js +1 -1
  3. package/lib/commands/app/cache.js +1 -1
  4. package/lib/commands/app/definitions.js +1 -1
  5. package/lib/commands/app/eligibility.js +1 -1
  6. package/lib/commands/app/mock-loader.js +1 -1
  7. package/lib/commands/app/remote-source.js +1 -1
  8. package/lib/commands/app/shared.js +1 -1
  9. package/lib/commands/app-config/get.js +1 -1
  10. package/lib/commands/app-config/index.js +1 -1
  11. package/lib/commands/artifact/index.js +1 -1
  12. package/lib/commands/auth/device.js +1 -1
  13. package/lib/commands/auth/index.js +1 -1
  14. package/lib/commands/auth/prompt.js +1 -1
  15. package/lib/commands/bff/detail.js +1 -1
  16. package/lib/commands/bff/exec.js +1 -1
  17. package/lib/commands/bff/index.js +1 -1
  18. package/lib/commands/cli-skill/index.js +1 -1
  19. package/lib/commands/common/config-policy.js +1 -1
  20. package/lib/commands/common/constraints.js +1 -1
  21. package/lib/commands/common/flags.js +1 -1
  22. package/lib/commands/common/local-file.js +1 -1
  23. package/lib/commands/config/definitions.js +1 -1
  24. package/lib/commands/config/init.d.ts +1 -1
  25. package/lib/commands/config/init.js +1 -1
  26. package/lib/commands/config/shared.js +1 -1
  27. package/lib/commands/data/index.js +1 -1
  28. package/lib/commands/dataset/detail.js +1 -1
  29. package/lib/commands/dataset/index.js +1 -1
  30. package/lib/commands/dataset/list.js +1 -1
  31. package/lib/commands/dataset/sdk-doc.js +1 -1
  32. package/lib/commands/doctor.js +1 -1
  33. package/lib/commands/file/index.js +1 -1
  34. package/lib/commands/init.js +1 -1
  35. package/lib/commands/kb/index.js +1 -1
  36. package/lib/commands/logs/index.js +1 -1
  37. package/lib/commands/notification/config-list.js +1 -1
  38. package/lib/commands/notification/index.js +1 -1
  39. package/lib/commands/notification/shared.js +1 -1
  40. package/lib/commands/ocr/index.js +1 -1
  41. package/lib/commands/permit/dataset-get.js +1 -1
  42. package/lib/commands/permit/dataset-set.js +1 -1
  43. package/lib/commands/permit/index.js +1 -1
  44. package/lib/commands/permit/page-get.js +1 -1
  45. package/lib/commands/permit/page-set.js +1 -1
  46. package/lib/commands/permit/role-menus-set.js +1 -1
  47. package/lib/commands/permit/role-menus.js +1 -1
  48. package/lib/commands/permit/shared.js +1 -1
  49. package/lib/commands/personal-bff/index.js +1 -1
  50. package/lib/commands/registry.js +1 -1
  51. package/lib/commands/role/create.js +1 -1
  52. package/lib/commands/role/delete.js +1 -1
  53. package/lib/commands/role/detail.js +1 -1
  54. package/lib/commands/role/index.js +1 -1
  55. package/lib/commands/role/list.js +1 -1
  56. package/lib/commands/role/shared.js +1 -1
  57. package/lib/commands/role/update.js +1 -1
  58. package/lib/commands/role/user-add.js +1 -1
  59. package/lib/commands/role/user-remove.js +1 -1
  60. package/lib/commands/schedule/index.js +1 -1
  61. package/lib/commands/schema.js +1 -1
  62. package/lib/commands/service/dynamic.js +1 -1
  63. package/lib/commands/service/function-name-adapter.js +1 -1
  64. package/lib/commands/service/index.js +1 -1
  65. package/lib/commands/service/registry.js +1 -1
  66. package/lib/commands/skill/commands/create.js +1 -1
  67. package/lib/commands/skill/commands/diagram.js +1 -1
  68. package/lib/commands/skill/commands/install.js +1 -1
  69. package/lib/commands/skill/commands/list.js +1 -1
  70. package/lib/commands/skill/commands/push.js +1 -1
  71. package/lib/commands/skill/commands/validate.js +1 -1
  72. package/lib/commands/skill/diagram.js +1 -1
  73. package/lib/commands/skill/flags.js +1 -1
  74. package/lib/commands/skill/index.js +1 -1
  75. package/lib/commands/skill/manifest-helpers.js +1 -1
  76. package/lib/commands/skill/push-execute.js +1 -1
  77. package/lib/commands/skill/push-flow-helpers.js +1 -1
  78. package/lib/commands/skill/push-retarget.js +1 -1
  79. package/lib/commands/skill/scopes.js +1 -1
  80. package/lib/commands/skill/summary.js +1 -1
  81. package/lib/commands/skill/templates.js +1 -1
  82. package/lib/commands/skill/validate.js +1 -1
  83. package/lib/commands/sql/detail.js +1 -1
  84. package/lib/commands/sql/exec.js +1 -1
  85. package/lib/commands/sql/index.js +1 -1
  86. package/lib/commands/update.js +1 -1
  87. package/lib/commands/user-account/bind.js +1 -1
  88. package/lib/commands/user-account/index.js +1 -1
  89. package/lib/commands/workspace/index.js +1 -1
  90. package/lib/config/domain-config.d.ts +1 -1
  91. package/lib/config/domain-config.js +1 -1
  92. package/lib/config/schema.d.ts +1 -1
  93. package/lib/config/schema.js +1 -1
  94. package/lib/constant/app.js +1 -1
  95. package/lib/constant/auth-mode.js +1 -1
  96. package/lib/constant/cli.js +1 -1
  97. package/lib/constant/defaults.js +1 -1
  98. package/lib/constant/distribution.js +1 -1
  99. package/lib/constant/domain.d.ts +6 -3
  100. package/lib/constant/domain.js +1 -1
  101. package/lib/constant/env.js +1 -1
  102. package/lib/constant/output.js +1 -1
  103. package/lib/constant/product.js +1 -1
  104. package/lib/constant/region.js +1 -1
  105. package/lib/constant/risk.js +1 -1
  106. package/lib/constant/url.js +1 -1
  107. package/lib/context.js +1 -1
  108. package/lib/core/api-client.d.ts +0 -16
  109. package/lib/core/api-client.js +1 -1
  110. package/lib/core/db-resolver.js +1 -1
  111. package/lib/core/kb-search-client.d.ts +30 -0
  112. package/lib/core/kb-search-client.js +1 -0
  113. package/lib/core/sdk-client.js +1 -1
  114. package/lib/errors.js +1 -1
  115. package/lib/framework/build-all-flags.js +1 -1
  116. package/lib/framework/dryrun.js +1 -1
  117. package/lib/framework/flags.js +1 -1
  118. package/lib/framework/help.js +1 -1
  119. package/lib/framework/index.js +1 -1
  120. package/lib/framework/output.js +1 -1
  121. package/lib/framework/preparse.js +1 -1
  122. package/lib/framework/rate-limit.js +1 -1
  123. package/lib/framework/raw-flags.js +1 -1
  124. package/lib/framework/response.js +1 -1
  125. package/lib/framework/runner-confirmation.js +1 -1
  126. package/lib/framework/runner-error.js +1 -1
  127. package/lib/framework/runner.js +1 -1
  128. package/lib/framework/schema-export.js +1 -1
  129. package/lib/framework/service-order.js +1 -1
  130. package/lib/framework/types.d.ts +2 -0
  131. package/lib/framework/types.js +1 -1
  132. package/lib/generated/build-info.d.ts +4 -4
  133. package/lib/generated/build-info.js +1 -1
  134. package/lib/help.js +1 -1
  135. package/lib/postinstall.js +1 -1
  136. package/lib/runtime/confirmation.js +1 -1
  137. package/lib/runtime/event.js +1 -1
  138. package/lib/runtime/index.js +1 -1
  139. package/lib/runtime/queue.js +1 -1
  140. package/lib/runtime/resolve.js +1 -1
  141. package/lib/skills/builtin-skill.js +1 -1
  142. package/lib/skills/npx-skills-add.js +1 -1
  143. package/lib/skills/runtime-skill-sync/constants.js +1 -1
  144. package/lib/skills/runtime-skill-sync/fs-utils.js +1 -1
  145. package/lib/skills/runtime-skill-sync/hashing.js +1 -1
  146. package/lib/skills/runtime-skill-sync/install-target.js +1 -1
  147. package/lib/skills/runtime-skill-sync/links.js +1 -1
  148. package/lib/skills/runtime-skill-sync/list-local.js +1 -1
  149. package/lib/skills/runtime-skill-sync/local-files.js +1 -1
  150. package/lib/skills/runtime-skill-sync/materialize.js +1 -1
  151. package/lib/skills/runtime-skill-sync/metadata.js +1 -1
  152. package/lib/skills/runtime-skill-sync/paths.js +1 -1
  153. package/lib/skills/runtime-skill-sync/push.js +1 -1
  154. package/lib/skills/runtime-skill-sync/scopes.js +1 -1
  155. package/lib/skills/runtime-skill-sync/zip-codec.js +1 -1
  156. package/lib/skills/runtime-skill-sync/zip-package.js +1 -1
  157. package/lib/skills/runtime-skill-sync.js +1 -1
  158. package/lib/skills/skill-presence.js +1 -1
  159. package/lib/utils/access-key-redaction.js +1 -1
  160. package/lib/utils/apply-jq-filter.js +1 -1
  161. package/lib/utils/cli-version-check.js +1 -1
  162. package/lib/utils/cli-version-policy.js +1 -1
  163. package/lib/utils/logger.js +1 -1
  164. package/lib/utils/lossless-json.js +1 -1
  165. package/lib/utils/params.js +1 -1
  166. package/lib/utils/platform.js +1 -1
  167. package/lib/utils/update-notice.js +1 -1
  168. package/lib/utils/version.js +1 -1
  169. package/lib/utils/write-cli-side-channel.js +1 -1
  170. package/package.json +1 -1
  171. package/skills/lovrabet/SKILL.md +3 -2
  172. package/skills/lovrabet/guides/sql-and-bff-workflow.md +1 -1
  173. package/skills/lovrabet/references/lovrabet-config-commands.md +7 -6
  174. package/skills/lovrabet/references/lovrabet-config.md +9 -8
  175. package/skills/lovrabet/references/lovrabet-doctor.md +2 -0
  176. package/skills/lovrabet/references/lovrabet-kb-workflow.md +3 -1
  177. package/skills/lovrabet/references/lovrabet-personal-bff-workflow.md +32 -0
  178. package/skills/lovrabet.manifest.json +3 -3
@@ -1 +1 @@
1
- function a40_0x5a66(){const _0x130b6b=['role','Comma-separated\x20runtime\x20dataset\x20codes','2346200BuduKf','10qeBqCv','datasetCodes','map','21797040IcLoOb','\x20was\x20not\x20found.','filter','bool','permitList','DATA_CREATE','DATA_DETAIL','/client/permit/resource/batch-save-dataset','high-risk-write','operation','body','--actions','40axYixT','--datasets','validation','find','DATA_DELETE','resourceName','join','87789CZcXxd','push','dataPermitList','DATA_ROW','string','before','24715POBZkJ','Comma-separated\x20actions:\x20','POST','includes','appCode','Preview:\x20','Dataset\x20','67293zjVqlk','960BPOmbc','revoke','after','datasetCode','2219310kvmuUN','dataset-','Grants\x20or\x20revokes\x20the\x20target\x20role\x20permission\x20for\x20the\x20given\x20dataset\x20actions.\x20Data\x20operations\x20for\x20users\x20in\x20that\x20role\x20will\x20change.','grant','DATA_EXPORT','str','build','roles','\x20selected\x20runtime\x20dataset\x20actions','1078105yHSwPl','datasets','permitId','\x20does\x20not\x20expose\x20','length','rolePermit','changed','actions'];a40_0x5a66=function(){return _0x130b6b;};return a40_0x5a66();}const a40_0x4f69aa=a40_0x4dcc;(function(_0x2dcee8,_0x5ec925){const _0x245fd2=a40_0x4dcc,_0x14a2c2=_0x2dcee8();while(!![]){try{const _0x3ce1f9=-parseInt(_0x245fd2(0x6f))/0x1*(parseInt(_0x245fd2(0x95))/0x2)+-parseInt(_0x245fd2(0x81))/0x3+-parseInt(_0x245fd2(0x94))/0x4+-parseInt(_0x245fd2(0x75))/0x5*(-parseInt(_0x245fd2(0x7d))/0x6)+-parseInt(_0x245fd2(0x8a))/0x7*(parseInt(_0x245fd2(0xa4))/0x8)+parseInt(_0x245fd2(0x7c))/0x9+parseInt(_0x245fd2(0x98))/0xa;if(_0x3ce1f9===_0x5ec925)break;else _0x14a2c2['push'](_0x14a2c2['shift']());}catch(_0x63c7f1){_0x14a2c2['push'](_0x14a2c2['shift']());}}}(a40_0x5a66,0x6c161));import{listRuntimeDatasetRolePermits,listRuntimePermitRoles,saveRuntimeDatasetRolePermits}from'../../core/api-client.js';function a40_0x4dcc(_0x30d1bc,_0x25eefc){_0x30d1bc=_0x30d1bc-0x6e;const _0x5a6612=a40_0x5a66();let _0x4dcc0e=_0x5a6612[_0x30d1bc];return _0x4dcc0e;}import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';import{resolveRuntimeRoleRef}from'../../commands/role/shared.js';import{applyRuntimeRolePermission,assertGrantOrRevoke,assertRuntimePermissionManager,assertRuntimePermitRoleConfigurable,GRANT_FLAG,REVOKE_FLAG,ROLE_REF_FLAG,runtimePermitWriteResult,splitRefs}from'../../commands/permit/shared.js';const DATA_ACTIONS=[a40_0x4f69aa(0x9d),'DATA_UPDATE',a40_0x4f69aa(0xa8),a40_0x4f69aa(0x9e),a40_0x4f69aa(0x85),a40_0x4f69aa(0x72)],DATASETS_FLAG={'name':a40_0x4f69aa(0x8b),'type':a40_0x4f69aa(0x73),'required':!![],'description':a40_0x4f69aa(0x93)},ACTIONS_FLAG={'name':a40_0x4f69aa(0x91),'type':a40_0x4f69aa(0x73),'required':!![],'description':a40_0x4f69aa(0x76)+DATA_ACTIONS[a40_0x4f69aa(0x6e)](',\x20')};async function prepare(_0x1d9d3a){const _0x423e8e=a40_0x4f69aa;await assertRuntimePermissionManager(_0x1d9d3a[_0x423e8e(0x79)]);const _0x4367b7=assertGrantOrRevoke(_0x1d9d3a[_0x423e8e(0x9b)](_0x423e8e(0x84)),_0x1d9d3a[_0x423e8e(0x9b)](_0x423e8e(0x7e))),_0x8df816=await resolveRuntimeRoleRef(_0x1d9d3a[_0x423e8e(0x79)],_0x1d9d3a[_0x423e8e(0x86)](_0x423e8e(0x92)));assertRuntimePermitRoleConfigurable(_0x8df816);const _0x3646b4=splitRefs(_0x1d9d3a['str']('datasets'),_0x423e8e(0xa5)),_0x15a486=[...new Set(splitRefs(_0x1d9d3a['str'](_0x423e8e(0x91)),_0x423e8e(0xa3))[_0x423e8e(0x97)](_0x41c735=>_0x41c735['toUpperCase']()))],_0x31f764=_0x15a486[_0x423e8e(0x9a)](_0xf8c524=>!DATA_ACTIONS[_0x423e8e(0x78)](_0xf8c524));if(_0x31f764[_0x423e8e(0x8e)]>0x0)throw CliErrors[_0x423e8e(0xa6)]('Invalid\x20dataset\x20actions:\x20'+_0x31f764[_0x423e8e(0x6e)](',\x20')+'.');const _0x2be44d=await listRuntimeDatasetRolePermits(_0x1d9d3a[_0x423e8e(0x79)]),_0x1b1402=await listRuntimePermitRoles(_0x1d9d3a[_0x423e8e(0x79)]),_0x42fa98=[],_0x2e807c=[],_0x61ecb4=[],_0x538e81=[];for(const _0x310cdd of _0x3646b4){const _0xfda9c4=_0x2be44d[_0x423e8e(0xa7)](_0x4a743f=>_0x4a743f[_0x423e8e(0x80)]===_0x310cdd);if(!_0xfda9c4)throw CliErrors[_0x423e8e(0xa6)]('Runtime\x20dataset\x20'+_0x310cdd+_0x423e8e(0x99));for(const _0x2efefe of _0x15a486){const _0x396c4f=_0xfda9c4[_0x423e8e(0x71)][_0x423e8e(0xa7)](_0x4e0ac0=>_0x4e0ac0['resourceType']===_0x2efefe);if(!_0x396c4f)throw CliErrors[_0x423e8e(0xa6)](_0x423e8e(0x7b)+_0x310cdd+_0x423e8e(0x8d)+_0x2efefe+'.');const _0x243145=applyRuntimeRolePermission(_0x396c4f[_0x423e8e(0x8f)],_0x8df816,_0x1b1402,_0x4367b7);_0x2e807c[_0x423e8e(0x70)]({'datasetCode':_0x310cdd,'resourceType':_0x2efefe,'rolePermit':_0x396c4f[_0x423e8e(0x8f)]}),_0x61ecb4['push']({'datasetCode':_0x310cdd,'resourceType':_0x2efefe,'rolePermit':_0x243145[_0x423e8e(0x88)]}),_0x243145[_0x423e8e(0x90)]?_0x42fa98[_0x423e8e(0x70)]({..._0x396c4f['permitId']!=null?{'id':_0x396c4f[_0x423e8e(0x8c)]}:{},'appCode':_0x1d9d3a['appCode'],'resourceCode':_0x310cdd,'resourceType':_0x2efefe,'resourceName':_0x396c4f[_0x423e8e(0xa9)],'rolePermit':_0x243145[_0x423e8e(0x88)]}):_0x538e81['push'](_0x310cdd+'/'+_0x2efefe+'\x20already\x20reflects\x20'+_0x4367b7+'\x20for\x20role\x20'+_0x8df816['id']+'.');}}return{'operation':_0x4367b7,'role':_0x8df816,'datasetCodes':_0x3646b4,'actions':_0x15a486,'permitList':_0x42fa98,'before':_0x2e807c,'after':_0x61ecb4,'warnings':_0x538e81};}export const permitDatasetSet={'service':'permit','command':'dataset-set','description':'Grant\x20or\x20revoke\x20selected\x20runtime\x20dataset\x20actions\x20for\x20one\x20role','risk':a40_0x4f69aa(0xa0),'confirmationDescription':a40_0x4f69aa(0x83),'flags':[ROLE_REF_FLAG,GRANT_FLAG,REVOKE_FLAG,DATASETS_FLAG,ACTIONS_FLAG],async 'validate'(_0x1efd2a){const _0x521b4d=a40_0x4f69aa;assertGrantOrRevoke(_0x1efd2a[_0x521b4d(0x9b)]('grant'),_0x1efd2a[_0x521b4d(0x9b)](_0x521b4d(0x7e)));},async 'dryRun'(_0x4cec75){const _0x5e05ac=a40_0x4f69aa,_0x29d490=await prepare(_0x4cec75);return dryRun(_0x5e05ac(0x77),_0x5e05ac(0x9f))[_0x5e05ac(0xa2)]({'appCode':_0x4cec75[_0x5e05ac(0x79)],'permitList':_0x29d490[_0x5e05ac(0x9c)]})['description'](_0x5e05ac(0x7a)+_0x29d490['operation']+_0x5e05ac(0x89))[_0x5e05ac(0x87)]();},async 'execute'(_0x11d4ac){const _0x1f06ab=a40_0x4f69aa,_0x2ebb96=await prepare(_0x11d4ac);return _0x2ebb96['permitList'][_0x1f06ab(0x8e)]>0x0&&await saveRuntimeDatasetRolePermits(_0x11d4ac[_0x1f06ab(0x79)],_0x2ebb96[_0x1f06ab(0x9c)]),{'ok':!![],'data':runtimePermitWriteResult(_0x1f06ab(0x82)+_0x2ebb96[_0x1f06ab(0xa1)],{'roleId':_0x2ebb96['role']['id'],'datasetCodes':_0x2ebb96[_0x1f06ab(0x96)],'actions':_0x2ebb96[_0x1f06ab(0x91)]},_0x2ebb96[_0x1f06ab(0x74)],_0x2ebb96[_0x1f06ab(0x7f)],{'method':_0x1f06ab(0x77),'path':_0x1f06ab(0x9f)},_0x2ebb96['warnings'])};}};
1
+ const a40_0x713a5d=a40_0x4d7f;(function(_0x7cccd1,_0x2e4970){const _0x33966a=a40_0x4d7f,_0x3239bb=_0x7cccd1();while(!![]){try{const _0x5d827f=-parseInt(_0x33966a(0x154))/0x1*(-parseInt(_0x33966a(0x15b))/0x2)+parseInt(_0x33966a(0x144))/0x3+-parseInt(_0x33966a(0x159))/0x4*(parseInt(_0x33966a(0x15f))/0x5)+-parseInt(_0x33966a(0x143))/0x6*(-parseInt(_0x33966a(0x137))/0x7)+-parseInt(_0x33966a(0x152))/0x8*(parseInt(_0x33966a(0x14e))/0x9)+parseInt(_0x33966a(0x13d))/0xa+-parseInt(_0x33966a(0x156))/0xb;if(_0x5d827f===_0x2e4970)break;else _0x3239bb['push'](_0x3239bb['shift']());}catch(_0x3216c5){_0x3239bb['push'](_0x3239bb['shift']());}}}(a40_0x1d9e,0x92cd8));import{listRuntimeDatasetRolePermits,listRuntimePermitRoles,saveRuntimeDatasetRolePermits}from'../../core/api-client.js';function a40_0x4d7f(_0x31b100,_0xd5d0df){_0x31b100=_0x31b100-0x12a;const _0x1d9e70=a40_0x1d9e();let _0x4d7faa=_0x1d9e70[_0x31b100];return _0x4d7faa;}import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';import{resolveRuntimeRoleRef}from'../../commands/role/shared.js';import{applyRuntimeRolePermission,assertGrantOrRevoke,assertRuntimePermissionManager,assertRuntimePermitRoleConfigurable,GRANT_FLAG,REVOKE_FLAG,ROLE_REF_FLAG,runtimePermitWriteResult,splitRefs}from'../../commands/permit/shared.js';const DATA_ACTIONS=[a40_0x713a5d(0x157),a40_0x713a5d(0x136),'DATA_DELETE',a40_0x713a5d(0x12b),'DATA_EXPORT',a40_0x713a5d(0x14a)],DATASETS_FLAG={'name':'datasets','type':'string','required':!![],'description':a40_0x713a5d(0x13c)},ACTIONS_FLAG={'name':a40_0x713a5d(0x14f),'type':a40_0x713a5d(0x12c),'required':!![],'description':a40_0x713a5d(0x149)+DATA_ACTIONS[a40_0x713a5d(0x13e)](',\x20')};async function prepare(_0x3d4037){const _0x278ef0=a40_0x713a5d;await assertRuntimePermissionManager(_0x3d4037[_0x278ef0(0x135)]);const _0x2dc3f5=assertGrantOrRevoke(_0x3d4037[_0x278ef0(0x15d)](_0x278ef0(0x142)),_0x3d4037[_0x278ef0(0x15d)](_0x278ef0(0x12f))),_0x3f45da=await resolveRuntimeRoleRef(_0x3d4037[_0x278ef0(0x135)],_0x3d4037[_0x278ef0(0x161)]('role'));assertRuntimePermitRoleConfigurable(_0x3f45da);const _0x3ad676=splitRefs(_0x3d4037[_0x278ef0(0x161)](_0x278ef0(0x162)),_0x278ef0(0x151)),_0x19b91d=[...new Set(splitRefs(_0x3d4037[_0x278ef0(0x161)](_0x278ef0(0x14f)),_0x278ef0(0x15c))[_0x278ef0(0x139)](_0x2f7ffc=>_0x2f7ffc['toUpperCase']()))],_0x4bf456=_0x19b91d[_0x278ef0(0x163)](_0x2d0654=>!DATA_ACTIONS[_0x278ef0(0x133)](_0x2d0654));if(_0x4bf456[_0x278ef0(0x13b)]>0x0)throw CliErrors['validation'](_0x278ef0(0x140)+_0x4bf456[_0x278ef0(0x13e)](',\x20')+'.');const _0x4404c6=await listRuntimeDatasetRolePermits(_0x3d4037['appCode']),_0x2d6023=await listRuntimePermitRoles(_0x3d4037[_0x278ef0(0x135)]),_0x273aaf=[],_0x3e4fa6=[],_0x30d330=[],_0x289d63=[];for(const _0x3087ee of _0x3ad676){const _0x24a2d2=_0x4404c6['find'](_0x4e2f2f=>_0x4e2f2f['datasetCode']===_0x3087ee);if(!_0x24a2d2)throw CliErrors[_0x278ef0(0x12e)]('Runtime\x20dataset\x20'+_0x3087ee+_0x278ef0(0x13a));for(const _0x567e63 of _0x19b91d){const _0xd11e36=_0x24a2d2['dataPermitList'][_0x278ef0(0x134)](_0x366861=>_0x366861['resourceType']===_0x567e63);if(!_0xd11e36)throw CliErrors[_0x278ef0(0x12e)]('Dataset\x20'+_0x3087ee+_0x278ef0(0x14b)+_0x567e63+'.');const _0x7aa6a2=applyRuntimeRolePermission(_0xd11e36['rolePermit'],_0x3f45da,_0x2d6023,_0x2dc3f5);_0x3e4fa6[_0x278ef0(0x145)]({'datasetCode':_0x3087ee,'resourceType':_0x567e63,'rolePermit':_0xd11e36['rolePermit']}),_0x30d330[_0x278ef0(0x145)]({'datasetCode':_0x3087ee,'resourceType':_0x567e63,'rolePermit':_0x7aa6a2[_0x278ef0(0x131)]}),_0x7aa6a2[_0x278ef0(0x150)]?_0x273aaf[_0x278ef0(0x145)]({..._0xd11e36[_0x278ef0(0x148)]!=null?{'id':_0xd11e36[_0x278ef0(0x148)]}:{},'appCode':_0x3d4037[_0x278ef0(0x135)],'resourceCode':_0x3087ee,'resourceType':_0x567e63,'resourceName':_0xd11e36['resourceName'],'rolePermit':_0x7aa6a2[_0x278ef0(0x131)]}):_0x289d63[_0x278ef0(0x145)](_0x3087ee+'/'+_0x567e63+'\x20already\x20reflects\x20'+_0x2dc3f5+_0x278ef0(0x138)+_0x3f45da['id']+'.');}}return{'operation':_0x2dc3f5,'role':_0x3f45da,'datasetCodes':_0x3ad676,'actions':_0x19b91d,'permitList':_0x273aaf,'before':_0x3e4fa6,'after':_0x30d330,'warnings':_0x289d63};}export const permitDatasetSet={'service':'permit','command':a40_0x713a5d(0x141),'description':a40_0x713a5d(0x160),'risk':a40_0x713a5d(0x146),'confirmationDescription':a40_0x713a5d(0x13f),'flags':[ROLE_REF_FLAG,GRANT_FLAG,REVOKE_FLAG,DATASETS_FLAG,ACTIONS_FLAG],async 'validate'(_0x1753d7){const _0x2271de=a40_0x713a5d;assertGrantOrRevoke(_0x1753d7[_0x2271de(0x15d)](_0x2271de(0x142)),_0x1753d7[_0x2271de(0x15d)]('revoke'));},async 'dryRun'(_0xd188c3){const _0x1f5244=a40_0x713a5d,_0x52039b=await prepare(_0xd188c3);return dryRun('POST','/client/permit/resource/batch-save-dataset')[_0x1f5244(0x14d)]({'appCode':_0xd188c3['appCode'],'permitList':_0x52039b[_0x1f5244(0x14c)]})['description'](_0x1f5244(0x155)+_0x52039b[_0x1f5244(0x12a)]+_0x1f5244(0x12d))[_0x1f5244(0x15a)]();},async 'execute'(_0x3a79b8){const _0x284f29=a40_0x713a5d,_0x1fedf1=await prepare(_0x3a79b8);return _0x1fedf1['permitList'][_0x284f29(0x13b)]>0x0&&await saveRuntimeDatasetRolePermits(_0x3a79b8[_0x284f29(0x135)],_0x1fedf1[_0x284f29(0x14c)]),{'ok':!![],'data':runtimePermitWriteResult('dataset-'+_0x1fedf1['operation'],{'roleId':_0x1fedf1[_0x284f29(0x130)]['id'],'datasetCodes':_0x1fedf1[_0x284f29(0x147)],'actions':_0x1fedf1['actions']},_0x1fedf1[_0x284f29(0x158)],_0x1fedf1[_0x284f29(0x132)],{'method':'POST','path':_0x284f29(0x153)},_0x1fedf1[_0x284f29(0x15e)])};}};function a40_0x1d9e(){const _0x5ea9db=['4nmgzKS','build','456294GeuYAC','--actions','bool','warnings','685145rXtyqm','Grant\x20or\x20revoke\x20selected\x20runtime\x20dataset\x20actions\x20for\x20one\x20role','str','datasets','filter','operation','DATA_DETAIL','string','\x20selected\x20runtime\x20dataset\x20actions','validation','revoke','role','roles','after','includes','find','appCode','DATA_UPDATE','6033363scbxIz','\x20for\x20role\x20','map','\x20was\x20not\x20found.','length','Comma-separated\x20runtime\x20dataset\x20codes','4863300vmJPlv','join','Grants\x20or\x20revokes\x20the\x20target\x20role\x20permission\x20for\x20the\x20given\x20dataset\x20actions.\x20Data\x20operations\x20for\x20users\x20in\x20that\x20role\x20will\x20change.','Invalid\x20dataset\x20actions:\x20','dataset-set','grant','6hfjhEl','711564VMHwGy','push','high-risk-write','datasetCodes','permitId','Comma-separated\x20actions:\x20','DATA_ROW','\x20does\x20not\x20expose\x20','permitList','body','198zABYkS','actions','changed','--datasets','273736lqIDtq','/client/permit/resource/batch-save-dataset','3ZhIgVj','Preview:\x20','8566371kJNAaR','DATA_CREATE','before'];a40_0x1d9e=function(){return _0x5ea9db;};return a40_0x1d9e();}
@@ -1 +1 @@
1
- (function(_0x22b3f7,_0x161429){const _0x4ee302=a41_0x3ab4,_0x449b0d=_0x22b3f7();while(!![]){try{const _0x343c6e=parseInt(_0x4ee302(0xc9))/0x1*(-parseInt(_0x4ee302(0xca))/0x2)+-parseInt(_0x4ee302(0xcf))/0x3+parseInt(_0x4ee302(0xce))/0x4+parseInt(_0x4ee302(0xcc))/0x5+-parseInt(_0x4ee302(0xd0))/0x6+parseInt(_0x4ee302(0xcd))/0x7+-parseInt(_0x4ee302(0xcb))/0x8;if(_0x343c6e===_0x161429)break;else _0x449b0d['push'](_0x449b0d['shift']());}catch(_0x52f421){_0x449b0d['push'](_0x449b0d['shift']());}}}(a41_0x3703,0x45a37));function a41_0x3ab4(_0x460b6b,_0x485204){_0x460b6b=_0x460b6b-0xc9;const _0x370311=a41_0x3703();let _0x3ab4ef=_0x370311[_0x460b6b];return _0x3ab4ef;}import{permitPageGet}from'../../commands/permit/page-get.js';import{permitPageSet}from'../../commands/permit/page-set.js';import{permitRoleMenus}from'../../commands/permit/role-menus.js';import{permitRoleMenusSet}from'../../commands/permit/role-menus-set.js';import{permitDatasetGet}from'../../commands/permit/dataset-get.js';import{permitDatasetSet}from'../../commands/permit/dataset-set.js';export const permitDefinitions=[permitPageGet,permitPageSet,permitRoleMenus,permitRoleMenusSet,permitDatasetGet,permitDatasetSet];function a41_0x3703(){const _0x158c02=['1017894NQcHMj','13260cENUJC','2RHxjhp','35798yHSUaK','700616vIQdKx','2433855tvPKmY','1435875iSPCsm','232904RcAcfT'];a41_0x3703=function(){return _0x158c02;};return a41_0x3703();}
1
+ (function(_0x2d6496,_0x1ac9d3){const _0xd3e128=a41_0x4617,_0x21d92e=_0x2d6496();while(!![]){try{const _0x2f4cc4=-parseInt(_0xd3e128(0xa6))/0x1+parseInt(_0xd3e128(0xa5))/0x2+parseInt(_0xd3e128(0xa9))/0x3*(-parseInt(_0xd3e128(0xa8))/0x4)+-parseInt(_0xd3e128(0xaa))/0x5*(-parseInt(_0xd3e128(0xa2))/0x6)+parseInt(_0xd3e128(0xa7))/0x7*(parseInt(_0xd3e128(0xab))/0x8)+parseInt(_0xd3e128(0xa4))/0x9+parseInt(_0xd3e128(0xa3))/0xa*(parseInt(_0xd3e128(0xac))/0xb);if(_0x2f4cc4===_0x1ac9d3)break;else _0x21d92e['push'](_0x21d92e['shift']());}catch(_0x140520){_0x21d92e['push'](_0x21d92e['shift']());}}}(a41_0x27a4,0xdd6b4));import{permitPageGet}from'../../commands/permit/page-get.js';import{permitPageSet}from'../../commands/permit/page-set.js';function a41_0x4617(_0x5f44cf,_0x247960){_0x5f44cf=_0x5f44cf-0xa2;const _0x27a49e=a41_0x27a4();let _0x46172a=_0x27a49e[_0x5f44cf];return _0x46172a;}import{permitRoleMenus}from'../../commands/permit/role-menus.js';function a41_0x27a4(){const _0x401a76=['1137lvceeo','5ZeGABL','163920dlYVyL','22FzyhUS','947334DHCoVZ','8253530GUFAKq','14919390bpusgd','392860WyZdhA','1666941lYlijA','112HVJCbH','14952EabpUt'];a41_0x27a4=function(){return _0x401a76;};return a41_0x27a4();}import{permitRoleMenusSet}from'../../commands/permit/role-menus-set.js';import{permitDatasetGet}from'../../commands/permit/dataset-get.js';import{permitDatasetSet}from'../../commands/permit/dataset-set.js';export const permitDefinitions=[permitPageGet,permitPageSet,permitRoleMenus,permitRoleMenusSet,permitDatasetGet,permitDatasetSet];
@@ -1 +1 @@
1
- const a42_0x56ef84=a42_0x464c;(function(_0x490594,_0x1cf71e){const _0x5c1873=a42_0x464c,_0x246fe6=_0x490594();while(!![]){try{const _0xfd15a1=parseInt(_0x5c1873(0x1c5))/0x1*(-parseInt(_0x5c1873(0x1c7))/0x2)+parseInt(_0x5c1873(0x1cf))/0x3*(-parseInt(_0x5c1873(0x1cb))/0x4)+parseInt(_0x5c1873(0x1c8))/0x5*(parseInt(_0x5c1873(0x1d3))/0x6)+parseInt(_0x5c1873(0x1c6))/0x7*(-parseInt(_0x5c1873(0x1ca))/0x8)+-parseInt(_0x5c1873(0x1cd))/0x9+-parseInt(_0x5c1873(0x1d5))/0xa+parseInt(_0x5c1873(0x1d1))/0xb*(parseInt(_0x5c1873(0x1cc))/0xc);if(_0xfd15a1===_0x1cf71e)break;else _0x246fe6['push'](_0x246fe6['shift']());}catch(_0x20ae45){_0x246fe6['push'](_0x246fe6['shift']());}}}(a42_0x350e,0x9728f));import{getRuntimePagePermit}from'../../core/api-client.js';function a42_0x464c(_0x119945,_0x64d04){_0x119945=_0x119945-0x1c5;const _0x350e85=a42_0x350e();let _0x464cc2=_0x350e85[_0x119945];return _0x464cc2;}import{MENU_ID_FLAG,projectRuntimePagePermit}from'../../commands/permit/shared.js';export const permitPageGet={'service':a42_0x56ef84(0x1c9),'command':a42_0x56ef84(0x1ce),'description':a42_0x56ef84(0x1d0),'risk':a42_0x56ef84(0x1d4),'flags':[MENU_ID_FLAG],async 'execute'(_0x155c74){const _0x1af764=a42_0x56ef84,_0x2159e9=await getRuntimePagePermit(_0x155c74['num'](_0x1af764(0x1d2)));return{'ok':!![],'data':{'scope':'runtime','page':projectRuntimePagePermit(_0x2159e9)}};}};function a42_0x350e(){const _0x13c909=['6283398bJNfRx','read','7051380xpMBhw','3IjYISw','21WJoSUc','9400oFNXJR','5NPeBQx','permit','1708808YwmlOV','4628400gvHLbk','168WsREhE','4270455pEjWwp','page-get','3pBsETj','Get\x20runtime\x20page\x20permission\x20slots\x20by\x20menu\x20ID','2014221bFXWho','menu-id'];a42_0x350e=function(){return _0x13c909;};return a42_0x350e();}
1
+ function a42_0x1de4(_0x1a4f60,_0x54a287){_0x1a4f60=_0x1a4f60-0x1e6;const _0x4eb09d=a42_0x4eb0();let _0x1de4c5=_0x4eb09d[_0x1a4f60];return _0x1de4c5;}function a42_0x4eb0(){const _0x2fc958=['5175800OKxkMb','1317268JQPEpt','menu-id','36zUwIgW','882598pnifwa','2995768ZWyOPG','6732150ovUbYp','Get\x20runtime\x20page\x20permission\x20slots\x20by\x20menu\x20ID','61470lRDzQN','permit','35OCnmIo','4337550xvMdee','3sTCjzx','num','read'];a42_0x4eb0=function(){return _0x2fc958;};return a42_0x4eb0();}const a42_0x429fec=a42_0x1de4;(function(_0x3972cf,_0x624e36){const _0x423613=a42_0x1de4,_0x3dbd16=_0x3972cf();while(!![]){try{const _0x3ec4ce=parseInt(_0x423613(0x1e8))/0x1+-parseInt(_0x423613(0x1f4))/0x2*(parseInt(_0x423613(0x1f0))/0x3)+-parseInt(_0x423613(0x1f3))/0x4+parseInt(_0x423613(0x1ee))/0x5*(parseInt(_0x423613(0x1ec))/0x6)+-parseInt(_0x423613(0x1ef))/0x7+-parseInt(_0x423613(0x1e9))/0x8+-parseInt(_0x423613(0x1e7))/0x9*(-parseInt(_0x423613(0x1ea))/0xa);if(_0x3ec4ce===_0x624e36)break;else _0x3dbd16['push'](_0x3dbd16['shift']());}catch(_0x5293dd){_0x3dbd16['push'](_0x3dbd16['shift']());}}}(a42_0x4eb0,0xab034));import{getRuntimePagePermit}from'../../core/api-client.js';import{MENU_ID_FLAG,projectRuntimePagePermit}from'../../commands/permit/shared.js';export const permitPageGet={'service':a42_0x429fec(0x1ed),'command':'page-get','description':a42_0x429fec(0x1eb),'risk':a42_0x429fec(0x1f2),'flags':[MENU_ID_FLAG],async 'execute'(_0x39e78c){const _0x28c707=a42_0x429fec,_0x23a116=await getRuntimePagePermit(_0x39e78c[_0x28c707(0x1f1)](_0x28c707(0x1e6)));return{'ok':!![],'data':{'scope':'runtime','page':projectRuntimePagePermit(_0x23a116)}};}};
@@ -1 +1 @@
1
- const a43_0x2b4f19=a43_0xb177;(function(_0x8a8c00,_0xb72009){const _0x2d7054=a43_0xb177,_0x6fbb89=_0x8a8c00();while(!![]){try{const _0x541fbc=-parseInt(_0x2d7054(0x208))/0x1+-parseInt(_0x2d7054(0x1f7))/0x2*(parseInt(_0x2d7054(0x1e8))/0x3)+parseInt(_0x2d7054(0x1e7))/0x4*(-parseInt(_0x2d7054(0x1e4))/0x5)+parseInt(_0x2d7054(0x207))/0x6*(parseInt(_0x2d7054(0x1ed))/0x7)+-parseInt(_0x2d7054(0x206))/0x8+-parseInt(_0x2d7054(0x204))/0x9*(parseInt(_0x2d7054(0x209))/0xa)+parseInt(_0x2d7054(0x200))/0xb;if(_0x541fbc===_0xb72009)break;else _0x6fbb89['push'](_0x6fbb89['shift']());}catch(_0x27b9b0){_0x6fbb89['push'](_0x6fbb89['shift']());}}}(a43_0x9cdb,0xeadab));import{getRuntimePagePermit,saveRuntimePagePermit}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';function a43_0xb177(_0x1f95ca,_0x1d6cfb){_0x1f95ca=_0x1f95ca-0x1e1;const _0x9cdbbb=a43_0x9cdb();let _0xb177bd=_0x9cdbbb[_0x1f95ca];return _0xb177bd;}import{dryRun}from'../../framework/dryrun.js';import{assertRuntimePermissionManager,MENU_ID_FLAG,PAGE_ROLE_FLAGS,PAGE_SLOT_SPECS,projectRuntimePagePermit,resolveRuntimePermitRoles,runtimePermitWriteResult,splitRefs}from'../../commands/permit/shared.js';function a43_0x9cdb(){const _0x825b71=['763EqEIGv','validation','slots','Set\x20selected\x20runtime\x20page\x20permission\x20slots','str','flag','description','page-set','POST','build','9668GjBljJ','key','high-risk-write','appCode','Changes\x20role\x20permission\x20slots\x20on\x20the\x20given\x20runtime\x20page.\x20Unauthorized\x20users\x20may\x20be\x20unable\x20to\x20view\x20the\x20page\x20or\x20run\x20data\x20operations.','page','push','Menu\x20','allowSelf','55344135zMsJhL','rolePermit','Pass\x20at\x20least\x20one\x20page\x20role\x20flag\x20to\x20update.','\x20does\x20not\x20belong\x20to\x20app\x20','2079xHDXVw','permit','14757768SFarSK','81192StYEMh','922309CfrNVB','15900qltkOs','\x20does\x20not\x20expose\x20','Preview:\x20update\x20page\x20permission\x20slots\x20','join','3197085GwRIMa','Page\x20menu\x20','/client/permit/page/save','8kFNxEG','702SpxdNq','before','body','menu-id','menuId'];a43_0x9cdb=function(){return _0x825b71;};return a43_0x9cdb();}async function prepare(_0x341a87){const _0x5b2a70=a43_0xb177;await assertRuntimePermissionManager(_0x341a87[_0x5b2a70(0x1fa)]);const _0x5ce9c7=_0x341a87['num'](_0x5b2a70(0x1eb)),_0x56b5cd=await getRuntimePagePermit(_0x5ce9c7);if(_0x56b5cd[_0x5b2a70(0x1fa)]&&_0x56b5cd[_0x5b2a70(0x1fa)]!==_0x341a87[_0x5b2a70(0x1fa)])throw CliErrors[_0x5b2a70(0x1ee)](_0x5b2a70(0x1fe)+_0x5ce9c7+_0x5b2a70(0x203)+_0x341a87[_0x5b2a70(0x1fa)]+'.');const _0x292e1d=structuredClone(_0x56b5cd),_0x79a892=[];for(const _0x1c4a95 of PAGE_SLOT_SPECS){if(_0x341a87[_0x5b2a70(0x1f2)](_0x1c4a95['flag'])===undefined)continue;const _0x284d2f=_0x56b5cd[_0x1c4a95[_0x5b2a70(0x1f8)]];if(!_0x284d2f)throw CliErrors[_0x5b2a70(0x1ee)](_0x5b2a70(0x1e5)+_0x5ce9c7+_0x5b2a70(0x1e1)+_0x1c4a95[_0x5b2a70(0x1f8)]+'.');_0x284d2f[_0x5b2a70(0x201)]=await resolveRuntimePermitRoles(_0x341a87[_0x5b2a70(0x1fa)],splitRefs(_0x341a87[_0x5b2a70(0x1f1)](_0x1c4a95['flag']),'--'+_0x1c4a95[_0x5b2a70(0x1f2)]),_0x1c4a95[_0x5b2a70(0x1ff)]),_0x79a892[_0x5b2a70(0x1fd)](_0x1c4a95[_0x5b2a70(0x1f8)]);}if(_0x79a892['length']===0x0)throw CliErrors[_0x5b2a70(0x1ee)](_0x5b2a70(0x202));return{'menuId':_0x5ce9c7,'page':_0x56b5cd,'before':_0x292e1d,'slots':_0x79a892};}export const permitPageSet={'service':a43_0x2b4f19(0x205),'command':'page-set','description':a43_0x2b4f19(0x1f0),'risk':a43_0x2b4f19(0x1f9),'confirmationDescription':a43_0x2b4f19(0x1fb),'flags':[MENU_ID_FLAG,...PAGE_ROLE_FLAGS],async 'dryRun'(_0x487fff){const _0x7cb8ff=a43_0x2b4f19,_0x10af80=await prepare(_0x487fff);return dryRun(_0x7cb8ff(0x1f5),_0x7cb8ff(0x1e6))[_0x7cb8ff(0x1ea)](_0x10af80[_0x7cb8ff(0x1fc)])[_0x7cb8ff(0x1f3)](_0x7cb8ff(0x1e2)+_0x10af80[_0x7cb8ff(0x1ef)][_0x7cb8ff(0x1e3)](',\x20'))[_0x7cb8ff(0x1f6)]();},async 'execute'(_0x3a0161){const _0x312f06=a43_0x2b4f19,_0x170108=await prepare(_0x3a0161),_0x5b2d6f=await saveRuntimePagePermit(_0x170108[_0x312f06(0x1fc)]);return{'ok':!![],'data':runtimePermitWriteResult(_0x312f06(0x1f4),{'menuId':_0x170108[_0x312f06(0x1ec)],'slots':_0x170108[_0x312f06(0x1ef)]},projectRuntimePagePermit(_0x170108[_0x312f06(0x1e9)]),projectRuntimePagePermit(_0x5b2d6f),{'method':_0x312f06(0x1f5),'path':_0x312f06(0x1e6)})};}};
1
+ const a43_0x48ffac=a43_0x374b;(function(_0x32b956,_0x2d9c25){const _0xcd693=a43_0x374b,_0x322f8e=_0x32b956();while(!![]){try{const _0x4aac14=parseInt(_0xcd693(0xf8))/0x1*(parseInt(_0xcd693(0x105))/0x2)+-parseInt(_0xcd693(0xf2))/0x3+-parseInt(_0xcd693(0xff))/0x4*(-parseInt(_0xcd693(0xed))/0x5)+parseInt(_0xcd693(0xee))/0x6+parseInt(_0xcd693(0xf3))/0x7+parseInt(_0xcd693(0xfd))/0x8+parseInt(_0xcd693(0xfb))/0x9*(-parseInt(_0xcd693(0xfe))/0xa);if(_0x4aac14===_0x2d9c25)break;else _0x322f8e['push'](_0x322f8e['shift']());}catch(_0x360a82){_0x322f8e['push'](_0x322f8e['shift']());}}}(a43_0x28f4,0x9df8c));import{getRuntimePagePermit,saveRuntimePagePermit}from'../../core/api-client.js';function a43_0x374b(_0x43e82e,_0x3047b3){_0x43e82e=_0x43e82e-0xe7;const _0x28f495=a43_0x28f4();let _0x374bb2=_0x28f495[_0x43e82e];return _0x374bb2;}function a43_0x28f4(){const _0x28551c=['270426wtKIGb','build','\x20does\x20not\x20expose\x20','allowSelf','611985OwaPqV','3715061Iayhlz','page','page-set','POST','menu-id','39811TcQiPF','/client/permit/page/save','slots','99vrpGKM','push','2786688KgYfIa','1669310PHBtGG','1774632NOIPVl','description','flag','permit','rolePermit','Page\x20menu\x20','44OmTBbt','menuId','key','join','Set\x20selected\x20runtime\x20page\x20permission\x20slots','\x20does\x20not\x20belong\x20to\x20app\x20','length','before','appCode','num','validation','10nPUIzJ'];a43_0x28f4=function(){return _0x28551c;};return a43_0x28f4();}import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';import{assertRuntimePermissionManager,MENU_ID_FLAG,PAGE_ROLE_FLAGS,PAGE_SLOT_SPECS,projectRuntimePagePermit,resolveRuntimePermitRoles,runtimePermitWriteResult,splitRefs}from'../../commands/permit/shared.js';async function prepare(_0x2e9ea4){const _0x1ecea8=a43_0x374b;await assertRuntimePermissionManager(_0x2e9ea4['appCode']);const _0x50ab51=_0x2e9ea4[_0x1ecea8(0xeb)](_0x1ecea8(0xf7)),_0x11ea94=await getRuntimePagePermit(_0x50ab51);if(_0x11ea94['appCode']&&_0x11ea94[_0x1ecea8(0xea)]!==_0x2e9ea4['appCode'])throw CliErrors[_0x1ecea8(0xec)]('Menu\x20'+_0x50ab51+_0x1ecea8(0xe7)+_0x2e9ea4[_0x1ecea8(0xea)]+'.');const _0x13349f=structuredClone(_0x11ea94),_0x3e7a16=[];for(const _0x1b9ee1 of PAGE_SLOT_SPECS){if(_0x2e9ea4[_0x1ecea8(0x101)](_0x1b9ee1['flag'])===undefined)continue;const _0x53b649=_0x11ea94[_0x1b9ee1['key']];if(!_0x53b649)throw CliErrors[_0x1ecea8(0xec)](_0x1ecea8(0x104)+_0x50ab51+_0x1ecea8(0xf0)+_0x1b9ee1[_0x1ecea8(0x107)]+'.');_0x53b649[_0x1ecea8(0x103)]=await resolveRuntimePermitRoles(_0x2e9ea4['appCode'],splitRefs(_0x2e9ea4['str'](_0x1b9ee1[_0x1ecea8(0x101)]),'--'+_0x1b9ee1[_0x1ecea8(0x101)]),_0x1b9ee1[_0x1ecea8(0xf1)]),_0x3e7a16[_0x1ecea8(0xfc)](_0x1b9ee1[_0x1ecea8(0x107)]);}if(_0x3e7a16[_0x1ecea8(0xe8)]===0x0)throw CliErrors[_0x1ecea8(0xec)]('Pass\x20at\x20least\x20one\x20page\x20role\x20flag\x20to\x20update.');return{'menuId':_0x50ab51,'page':_0x11ea94,'before':_0x13349f,'slots':_0x3e7a16};}export const permitPageSet={'service':a43_0x48ffac(0x102),'command':'page-set','description':a43_0x48ffac(0x109),'risk':'high-risk-write','confirmationDescription':'Changes\x20role\x20permission\x20slots\x20on\x20the\x20given\x20runtime\x20page.\x20Unauthorized\x20users\x20may\x20be\x20unable\x20to\x20view\x20the\x20page\x20or\x20run\x20data\x20operations.','flags':[MENU_ID_FLAG,...PAGE_ROLE_FLAGS],async 'dryRun'(_0x240e0e){const _0x1d2958=a43_0x48ffac,_0x59967a=await prepare(_0x240e0e);return dryRun(_0x1d2958(0xf6),_0x1d2958(0xf9))['body'](_0x59967a[_0x1d2958(0xf4)])[_0x1d2958(0x100)]('Preview:\x20update\x20page\x20permission\x20slots\x20'+_0x59967a[_0x1d2958(0xfa)][_0x1d2958(0x108)](',\x20'))[_0x1d2958(0xef)]();},async 'execute'(_0x1757f9){const _0x378a09=a43_0x48ffac,_0x4444f2=await prepare(_0x1757f9),_0x47fd91=await saveRuntimePagePermit(_0x4444f2[_0x378a09(0xf4)]);return{'ok':!![],'data':runtimePermitWriteResult(_0x378a09(0xf5),{'menuId':_0x4444f2[_0x378a09(0x106)],'slots':_0x4444f2[_0x378a09(0xfa)]},projectRuntimePagePermit(_0x4444f2[_0x378a09(0xe9)]),projectRuntimePagePermit(_0x47fd91),{'method':_0x378a09(0xf6),'path':_0x378a09(0xf9)})};}};
@@ -1 +1 @@
1
- function a44_0x4f4d(){const _0x19ea89=['18UgbuTD','body','\x20was\x20not\x20found.','Invalid\x20runtime\x20menu\x20ID:\x20','bool','isSafeInteger','changed','menu-','str','264828ATEcZB','length','push','appCode','roles','218268yfFgjC','\x20selected\x20runtime\x20menus','string','rolePermit','Preview:\x20','4640cSVhAo','--menus','46302BiGuBC','test','validation','revoke','14328lkqjtu','19647001OeNOMv','warnings','role-menus-set','permitList','\x20for\x20role\x20','after','high-risk-write','/client/permit/resource/batch-save-menu','POST','Runtime\x20menu\x20','build','Grants\x20or\x20revokes\x20the\x20target\x20role\x20access\x20to\x20the\x20given\x20runtime\x20menus.\x20Menu\x20visibility\x20for\x20users\x20in\x20that\x20role\x20will\x20change.','2006912qcKyuv','menus','294989DFFSWs','grant','description','Grant\x20or\x20revoke\x20selected\x20runtime\x20menus\x20for\x20one\x20role','permit','operation','28TjshoS','370cqBQeb','role'];a44_0x4f4d=function(){return _0x19ea89;};return a44_0x4f4d();}const a44_0x4f928b=a44_0x24d0;(function(_0x18bc79,_0x41e8c9){const _0x15d1a3=a44_0x24d0,_0x1ce956=_0x18bc79();while(!![]){try{const _0x257282=parseInt(_0x15d1a3(0x156))/0x1+parseInt(_0x15d1a3(0x168))/0x2*(parseInt(_0x15d1a3(0x15f))/0x3)+-parseInt(_0x15d1a3(0x16d))/0x4+parseInt(_0x15d1a3(0x15d))/0x5*(-parseInt(_0x15d1a3(0x174))/0x6)+parseInt(_0x15d1a3(0x15c))/0x7*(-parseInt(_0x15d1a3(0x154))/0x8)+parseInt(_0x15d1a3(0x147))/0x9*(-parseInt(_0x15d1a3(0x172))/0xa)+parseInt(_0x15d1a3(0x148))/0xb;if(_0x257282===_0x41e8c9)break;else _0x1ce956['push'](_0x1ce956['shift']());}catch(_0x53d41f){_0x1ce956['push'](_0x1ce956['shift']());}}}(a44_0x4f4d,0x7bf93));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':a44_0x4f928b(0x155),'type':a44_0x4f928b(0x16f),'required':!![],'description':'Comma-separated\x20runtime\x20menu\x20IDs'};async function prepare(_0x1df170){const _0x27009b=a44_0x4f928b;await assertRuntimePermissionManager(_0x1df170[_0x27009b(0x16b)]);const _0x3c8bec=assertGrantOrRevoke(_0x1df170[_0x27009b(0x163)](_0x27009b(0x157)),_0x1df170['bool'](_0x27009b(0x146))),_0x553d96=await resolveRuntimeRoleRef(_0x1df170['appCode'],_0x1df170['str'](_0x27009b(0x15e)));assertRuntimePermitRoleConfigurable(_0x553d96);const _0x17321b=[...new Set(splitRefs(_0x1df170[_0x27009b(0x167)](_0x27009b(0x155)),_0x27009b(0x173))['map'](_0x3860e0=>{const _0xa68acf=_0x27009b,_0x3a5583=Number(_0x3860e0);if(!/^\d+$/[_0xa68acf(0x175)](_0x3860e0)||!Number[_0xa68acf(0x164)](_0x3a5583)||_0x3a5583<=0x0)throw CliErrors[_0xa68acf(0x176)](_0xa68acf(0x162)+_0x3860e0+'.');return _0x3a5583;}))],_0x2065df=flattenRuntimeMenuRolePermits(await listRuntimeMenuRolePermits(_0x1df170[_0x27009b(0x16b)])),_0x1ba488=await listRuntimePermitRoles(_0x1df170['appCode']),_0x453637=[],_0x58f501=[],_0xf39663=[],_0x2f0ccb=[];for(const _0x46bbba of _0x17321b){const _0x345f76=_0x2065df['find'](_0x2735a2=>_0x2735a2['id']===_0x46bbba);if(!_0x345f76)throw CliErrors[_0x27009b(0x176)](_0x27009b(0x151)+_0x46bbba+_0x27009b(0x161));const _0x2ec9b9=applyRuntimeRolePermission(_0x345f76[_0x27009b(0x170)],_0x553d96,_0x1ba488,_0x3c8bec);_0x58f501[_0x27009b(0x16a)]({'menuId':_0x46bbba,'rolePermit':_0x345f76['rolePermit']}),_0xf39663[_0x27009b(0x16a)]({'menuId':_0x46bbba,'rolePermit':_0x2ec9b9['roles']});if(_0x2ec9b9[_0x27009b(0x165)])_0x453637[_0x27009b(0x16a)](menuPermitDto(_0x1df170['appCode'],_0x345f76,_0x2ec9b9[_0x27009b(0x16c)]));else _0x2f0ccb['push']('Runtime\x20menu\x20'+_0x46bbba+'\x20already\x20reflects\x20'+_0x3c8bec+_0x27009b(0x14c)+_0x553d96['id']+'.');}return{'operation':_0x3c8bec,'role':_0x553d96,'menuIds':_0x17321b,'permitList':_0x453637,'before':_0x58f501,'after':_0xf39663,'warnings':_0x2f0ccb};}function a44_0x24d0(_0x2674ba,_0x3383e9){_0x2674ba=_0x2674ba-0x146;const _0x4f4de3=a44_0x4f4d();let _0x24d001=_0x4f4de3[_0x2674ba];return _0x24d001;}export const permitRoleMenusSet={'service':a44_0x4f928b(0x15a),'command':a44_0x4f928b(0x14a),'description':a44_0x4f928b(0x159),'risk':a44_0x4f928b(0x14e),'confirmationDescription':a44_0x4f928b(0x153),'flags':[ROLE_REF_FLAG,GRANT_FLAG,REVOKE_FLAG,MENUS_FLAG],async 'validate'(_0x4042eb){const _0x4901b7=a44_0x4f928b;assertGrantOrRevoke(_0x4042eb[_0x4901b7(0x163)](_0x4901b7(0x157)),_0x4042eb[_0x4901b7(0x163)](_0x4901b7(0x146)));},async 'dryRun'(_0x340476){const _0x5c16f5=a44_0x4f928b,_0x49a34b=await prepare(_0x340476);return dryRun(_0x5c16f5(0x150),_0x5c16f5(0x14f))[_0x5c16f5(0x160)]({'appCode':_0x340476[_0x5c16f5(0x16b)],'permitList':_0x49a34b[_0x5c16f5(0x14b)]})[_0x5c16f5(0x158)](_0x5c16f5(0x171)+_0x49a34b['operation']+_0x5c16f5(0x16e))[_0x5c16f5(0x152)]();},async 'execute'(_0x3f10e5){const _0x710031=a44_0x4f928b,_0x297ec7=await prepare(_0x3f10e5);return _0x297ec7[_0x710031(0x14b)][_0x710031(0x169)]>0x0&&await saveRuntimeMenuRolePermits(_0x3f10e5[_0x710031(0x16b)],_0x297ec7[_0x710031(0x14b)]),{'ok':!![],'data':runtimePermitWriteResult(_0x710031(0x166)+_0x297ec7[_0x710031(0x15b)],{'roleId':_0x297ec7['role']['id'],'menuIds':_0x297ec7['menuIds']},_0x297ec7['before'],_0x297ec7[_0x710031(0x14d)],{'method':_0x710031(0x150),'path':_0x710031(0x14f)},_0x297ec7[_0x710031(0x149)])};}};
1
+ const a44_0x45b3f2=a44_0x5272;(function(_0x3cf6ba,_0x268171){const _0x3cd142=a44_0x5272,_0x54485c=_0x3cf6ba();while(!![]){try{const _0x566157=parseInt(_0x3cd142(0xfb))/0x1+-parseInt(_0x3cd142(0xe9))/0x2*(-parseInt(_0x3cd142(0xfa))/0x3)+parseInt(_0x3cd142(0xe0))/0x4+-parseInt(_0x3cd142(0xd7))/0x5*(-parseInt(_0x3cd142(0xf8))/0x6)+parseInt(_0x3cd142(0xdb))/0x7+parseInt(_0x3cd142(0xfc))/0x8+-parseInt(_0x3cd142(0xf4))/0x9;if(_0x566157===_0x268171)break;else _0x54485c['push'](_0x54485c['shift']());}catch(_0x43d518){_0x54485c['push'](_0x54485c['shift']());}}}(a44_0x17bd,0xd6ebc));import{listRuntimeMenuRolePermits,listRuntimePermitRoles,saveRuntimeMenuRolePermits}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';function a44_0x17bd(){const _0x5c5b52=['100665UKawGP','string','permitList','Invalid\x20runtime\x20menu\x20ID:\x20','1364209kVKGwp','changed','rolePermit','isSafeInteger','description','861720MPGLid','appCode','role','\x20for\x20role\x20','length','/client/permit/resource/batch-save-menu','find','menu-','bool','2sFrrWe','--menus','revoke','Grant\x20or\x20revoke\x20selected\x20runtime\x20menus\x20for\x20one\x20role','push','before','validation','\x20selected\x20runtime\x20menus','high-risk-write','roles','Runtime\x20menu\x20','39656655JQjiXP','str','Grants\x20or\x20revokes\x20the\x20target\x20role\x20access\x20to\x20the\x20given\x20runtime\x20menus.\x20Menu\x20visibility\x20for\x20users\x20in\x20that\x20role\x20will\x20change.','grant','414OVlnBd','\x20was\x20not\x20found.','4414017yfbuQb','1253251OYbCyW','6100216RqZOyj','permit','POST','\x20already\x20reflects\x20','map','body','test','Preview:\x20','after','menus','menuIds','operation'];a44_0x17bd=function(){return _0x5c5b52;};return a44_0x17bd();}import{resolveRuntimeRoleRef}from'../../commands/role/shared.js';function a44_0x5272(_0x395a6a,_0x1722a0){_0x395a6a=_0x395a6a-0xd1;const _0x17bd7f=a44_0x17bd();let _0x527258=_0x17bd7f[_0x395a6a];return _0x527258;}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':a44_0x45b3f2(0xd4),'type':a44_0x45b3f2(0xd8),'required':!![],'description':'Comma-separated\x20runtime\x20menu\x20IDs'};async function prepare(_0x14dfed){const _0x214797=a44_0x45b3f2;await assertRuntimePermissionManager(_0x14dfed[_0x214797(0xe1)]);const _0xf83a39=assertGrantOrRevoke(_0x14dfed['bool'](_0x214797(0xf7)),_0x14dfed[_0x214797(0xe8)](_0x214797(0xeb))),_0x1aaf2b=await resolveRuntimeRoleRef(_0x14dfed[_0x214797(0xe1)],_0x14dfed[_0x214797(0xf5)](_0x214797(0xe2)));assertRuntimePermitRoleConfigurable(_0x1aaf2b);const _0x425ddf=[...new Set(splitRefs(_0x14dfed[_0x214797(0xf5)](_0x214797(0xd4)),_0x214797(0xea))[_0x214797(0x100)](_0x31450d=>{const _0x203af4=_0x214797,_0x22995e=Number(_0x31450d);if(!/^\d+$/[_0x203af4(0xd1)](_0x31450d)||!Number[_0x203af4(0xde)](_0x22995e)||_0x22995e<=0x0)throw CliErrors['validation'](_0x203af4(0xda)+_0x31450d+'.');return _0x22995e;}))],_0x31c39f=flattenRuntimeMenuRolePermits(await listRuntimeMenuRolePermits(_0x14dfed[_0x214797(0xe1)])),_0xc4dfce=await listRuntimePermitRoles(_0x14dfed['appCode']),_0x1e9fb0=[],_0xb5b68f=[],_0x3064da=[],_0x3266b3=[];for(const _0x15b18c of _0x425ddf){const _0xd74233=_0x31c39f[_0x214797(0xe6)](_0x120e39=>_0x120e39['id']===_0x15b18c);if(!_0xd74233)throw CliErrors[_0x214797(0xef)](_0x214797(0xf3)+_0x15b18c+_0x214797(0xf9));const _0x3dfc37=applyRuntimeRolePermission(_0xd74233[_0x214797(0xdd)],_0x1aaf2b,_0xc4dfce,_0xf83a39);_0xb5b68f[_0x214797(0xed)]({'menuId':_0x15b18c,'rolePermit':_0xd74233['rolePermit']}),_0x3064da[_0x214797(0xed)]({'menuId':_0x15b18c,'rolePermit':_0x3dfc37[_0x214797(0xf2)]});if(_0x3dfc37[_0x214797(0xdc)])_0x1e9fb0[_0x214797(0xed)](menuPermitDto(_0x14dfed[_0x214797(0xe1)],_0xd74233,_0x3dfc37[_0x214797(0xf2)]));else _0x3266b3[_0x214797(0xed)]('Runtime\x20menu\x20'+_0x15b18c+_0x214797(0xff)+_0xf83a39+_0x214797(0xe3)+_0x1aaf2b['id']+'.');}return{'operation':_0xf83a39,'role':_0x1aaf2b,'menuIds':_0x425ddf,'permitList':_0x1e9fb0,'before':_0xb5b68f,'after':_0x3064da,'warnings':_0x3266b3};}export const permitRoleMenusSet={'service':a44_0x45b3f2(0xfd),'command':'role-menus-set','description':a44_0x45b3f2(0xec),'risk':a44_0x45b3f2(0xf1),'confirmationDescription':a44_0x45b3f2(0xf6),'flags':[ROLE_REF_FLAG,GRANT_FLAG,REVOKE_FLAG,MENUS_FLAG],async 'validate'(_0x4c5a73){const _0x5a8b8d=a44_0x45b3f2;assertGrantOrRevoke(_0x4c5a73[_0x5a8b8d(0xe8)](_0x5a8b8d(0xf7)),_0x4c5a73['bool'](_0x5a8b8d(0xeb)));},async 'dryRun'(_0x3d30d4){const _0x3ef255=a44_0x45b3f2,_0x5cb8b8=await prepare(_0x3d30d4);return dryRun('POST',_0x3ef255(0xe5))[_0x3ef255(0x101)]({'appCode':_0x3d30d4[_0x3ef255(0xe1)],'permitList':_0x5cb8b8[_0x3ef255(0xd9)]})[_0x3ef255(0xdf)](_0x3ef255(0xd2)+_0x5cb8b8['operation']+_0x3ef255(0xf0))['build']();},async 'execute'(_0x30743a){const _0xe33652=a44_0x45b3f2,_0x1e479e=await prepare(_0x30743a);return _0x1e479e[_0xe33652(0xd9)][_0xe33652(0xe4)]>0x0&&await saveRuntimeMenuRolePermits(_0x30743a[_0xe33652(0xe1)],_0x1e479e[_0xe33652(0xd9)]),{'ok':!![],'data':runtimePermitWriteResult(_0xe33652(0xe7)+_0x1e479e[_0xe33652(0xd6)],{'roleId':_0x1e479e['role']['id'],'menuIds':_0x1e479e[_0xe33652(0xd5)]},_0x1e479e[_0xe33652(0xee)],_0x1e479e[_0xe33652(0xd3)],{'method':_0xe33652(0xfe),'path':'/client/permit/resource/batch-save-menu'},_0x1e479e['warnings'])};}};
@@ -1 +1 @@
1
- const a45_0x18c9ef=a45_0x2691;function a45_0x5916(){const _0x15110d=['str','roleName','permit','40094595MLSSsU','runtime','role','2774290FfrhfT','appCode','6QLCvHU','9241072depTsm','773476TlvDHI','18HUZbbv','107229jVzrrK','710862oWxXYe','role-menus','Show\x20evaluated\x20runtime\x20menu\x20access\x20for\x20one\x20role','8776579NjzPKH'];a45_0x5916=function(){return _0x15110d;};return a45_0x5916();}(function(_0x25109f,_0x59e2ef){const _0x555329=a45_0x2691,_0x1a4aeb=_0x25109f();while(!![]){try{const _0x5a3533=parseInt(_0x555329(0x197))/0x1+parseInt(_0x555329(0x198))/0x2+-parseInt(_0x555329(0x1a7))/0x3*(parseInt(_0x555329(0x1a6))/0x4)+-parseInt(_0x555329(0x1a2))/0x5+-parseInt(_0x555329(0x1a4))/0x6*(parseInt(_0x555329(0x19b))/0x7)+-parseInt(_0x555329(0x1a5))/0x8+parseInt(_0x555329(0x19f))/0x9;if(_0x5a3533===_0x59e2ef)break;else _0x1a4aeb['push'](_0x1a4aeb['shift']());}catch(_0x27db66){_0x1a4aeb['push'](_0x1a4aeb['shift']());}}}(a45_0x5916,0xc1c0c));import{getRuntimeRoleMenuResources}from'../../core/api-client.js';import{resolveRuntimeRoleRef}from'../../commands/role/shared.js';function a45_0x2691(_0x5b2378,_0xcb2ecd){_0x5b2378=_0x5b2378-0x197;const _0x591639=a45_0x5916();let _0x269133=_0x591639[_0x5b2378];return _0x269133;}import{ROLE_REF_FLAG}from'../../commands/permit/shared.js';export const permitRoleMenus={'service':a45_0x18c9ef(0x19e),'command':a45_0x18c9ef(0x199),'description':a45_0x18c9ef(0x19a),'risk':'read','flags':[ROLE_REF_FLAG],async 'execute'(_0x45e72e){const _0x188bee=a45_0x18c9ef,_0x31d4b6=await resolveRuntimeRoleRef(_0x45e72e[_0x188bee(0x1a3)],_0x45e72e[_0x188bee(0x19c)](_0x188bee(0x1a1))),_0x3c5910=await getRuntimeRoleMenuResources(_0x45e72e[_0x188bee(0x1a3)],_0x31d4b6['id']);return{'ok':!![],'data':{'scope':_0x188bee(0x1a0),'role':{'id':_0x31d4b6['id'],'roleName':_0x31d4b6[_0x188bee(0x19d)],'roleType':_0x31d4b6['roleType']},'menus':_0x3c5910}};}};
1
+ const a45_0x42a4cf=a45_0x23e9;(function(_0x2045ed,_0x1ef73c){const _0x792420=a45_0x23e9,_0x4dbcb1=_0x2045ed();while(!![]){try{const _0x22df60=-parseInt(_0x792420(0x1f5))/0x1*(-parseInt(_0x792420(0x1fa))/0x2)+-parseInt(_0x792420(0x1fc))/0x3*(-parseInt(_0x792420(0x1f1))/0x4)+-parseInt(_0x792420(0x1ef))/0x5+parseInt(_0x792420(0x1f9))/0x6+-parseInt(_0x792420(0x1f6))/0x7+parseInt(_0x792420(0x1ee))/0x8+-parseInt(_0x792420(0x1f3))/0x9;if(_0x22df60===_0x1ef73c)break;else _0x4dbcb1['push'](_0x4dbcb1['shift']());}catch(_0x294f11){_0x4dbcb1['push'](_0x4dbcb1['shift']());}}}(a45_0x487c,0xb2318));function a45_0x23e9(_0x25a3d1,_0x24bcb3){_0x25a3d1=_0x25a3d1-0x1ed;const _0x487ceb=a45_0x487c();let _0x23e952=_0x487ceb[_0x25a3d1];return _0x23e952;}function a45_0x487c(){const _0x1b315d=['role-menus','read','5472894ExtoJT','174686rIIGjA','permit','821319AnawfZ','appCode','roleName','6235488cNsrPZ','1237670uXVaQt','str','16LHFIyj','runtime','15939126qlMIRu','roleType','4RXatdC','2713347HrUkRW'];a45_0x487c=function(){return _0x1b315d;};return a45_0x487c();}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':a45_0x42a4cf(0x1fb),'command':a45_0x42a4cf(0x1f7),'description':'Show\x20evaluated\x20runtime\x20menu\x20access\x20for\x20one\x20role','risk':a45_0x42a4cf(0x1f8),'flags':[ROLE_REF_FLAG],async 'execute'(_0xebef97){const _0x336b33=a45_0x42a4cf,_0xd52ef0=await resolveRuntimeRoleRef(_0xebef97[_0x336b33(0x1fd)],_0xebef97[_0x336b33(0x1f0)]('role')),_0x1eed3b=await getRuntimeRoleMenuResources(_0xebef97[_0x336b33(0x1fd)],_0xd52ef0['id']);return{'ok':!![],'data':{'scope':_0x336b33(0x1f2),'role':{'id':_0xd52ef0['id'],'roleName':_0xd52ef0[_0x336b33(0x1ed)],'roleType':_0xd52ef0[_0x336b33(0x1f4)]},'menus':_0x1eed3b}};}};
@@ -1 +1 @@
1
- const a46_0x3c9422=a46_0x2a7d;(function(_0x388274,_0x24b44e){const _0x3c68d0=a46_0x2a7d,_0x85dcfe=_0x388274();while(!![]){try{const _0x2964a7=parseInt(_0x3c68d0(0x18a))/0x1*(parseInt(_0x3c68d0(0x16c))/0x2)+parseInt(_0x3c68d0(0x185))/0x3+parseInt(_0x3c68d0(0x19a))/0x4*(-parseInt(_0x3c68d0(0x169))/0x5)+parseInt(_0x3c68d0(0x16f))/0x6*(parseInt(_0x3c68d0(0x17f))/0x7)+-parseInt(_0x3c68d0(0x172))/0x8+-parseInt(_0x3c68d0(0x18c))/0x9*(parseInt(_0x3c68d0(0x1a7))/0xa)+parseInt(_0x3c68d0(0x186))/0xb;if(_0x2964a7===_0x24b44e)break;else _0x85dcfe['push'](_0x85dcfe['shift']());}catch(_0x56bdaf){_0x85dcfe['push'](_0x85dcfe['shift']());}}}(a46_0x2ed8,0x205a4));import{getLoginUserInfo,listRuntimePermitRoles,listRuntimeRoleUsers}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';export const MENU_ID_FLAG={'name':a46_0x3c9422(0x188),'type':a46_0x3c9422(0x16b),'required':!![],'description':a46_0x3c9422(0x19f)};export const ROLE_REF_FLAG={'name':'role','type':a46_0x3c9422(0x183),'required':!![],'description':a46_0x3c9422(0x192)};export const GRANT_FLAG={'name':a46_0x3c9422(0x1a5),'type':'boolean','description':a46_0x3c9422(0x19c)};export const REVOKE_FLAG={'name':a46_0x3c9422(0x181),'type':a46_0x3c9422(0x17e),'description':a46_0x3c9422(0x1a8)};export const PAGE_SLOT_SPECS=[{'flag':'menu-roles','key':a46_0x3c9422(0x171),'allowSelf':![]},{'flag':a46_0x3c9422(0x1ac),'key':'dataCreate','allowSelf':![]},{'flag':a46_0x3c9422(0x19e),'key':a46_0x3c9422(0x1aa),'allowSelf':![]},{'flag':'delete-roles','key':'dataDelete','allowSelf':![]},{'flag':a46_0x3c9422(0x175),'key':a46_0x3c9422(0x1a9),'allowSelf':![]},{'flag':a46_0x3c9422(0x16a),'key':'dataExport','allowSelf':![]},{'flag':a46_0x3c9422(0x184),'key':'dataPermit','allowSelf':!![]}];export const PAGE_ROLE_FLAGS=PAGE_SLOT_SPECS[a46_0x3c9422(0x190)](_0x56090b=>({'name':_0x56090b[a46_0x3c9422(0x18e)],'type':'string','description':a46_0x3c9422(0x189)}));export function splitRefs(_0x4b0153,_0x115d11){const _0x3cf0eb=a46_0x3c9422,_0x1a1e18=[...new Set(_0x4b0153['split'](',')[_0x3cf0eb(0x190)](_0x11b878=>_0x11b878[_0x3cf0eb(0x1a0)]())['filter'](Boolean))];if(_0x1a1e18[_0x3cf0eb(0x193)]===0x0)throw CliErrors[_0x3cf0eb(0x167)](_0x115d11+_0x3cf0eb(0x19b));return _0x1a1e18;}export function assertGrantOrRevoke(_0x13db0a,_0x3796c4){const _0x2b9508=a46_0x3c9422;if(_0x13db0a===_0x3796c4)throw CliErrors[_0x2b9508(0x167)](_0x2b9508(0x1a6));return _0x13db0a?'grant':'revoke';}function resolvePermitRole(_0xfce222,_0x141e4e){const _0x1db3b3=a46_0x3c9422,_0x33f1e8=_0x141e4e[_0x1db3b3(0x1a0)](),_0x5eba48=/^-?\d+$/['test'](_0x33f1e8)?_0xfce222[_0x1db3b3(0x165)](_0xe484bf=>_0xe484bf['id']===Number(_0x33f1e8)):_0xfce222['filter'](_0x2e5d2f=>_0x2e5d2f[_0x1db3b3(0x19d)]===_0x33f1e8||_0x2e5d2f['roleType']===_0x33f1e8[_0x1db3b3(0x199)]());if(_0x5eba48['length']!==0x1)throw CliErrors[_0x1db3b3(0x167)](_0x5eba48[_0x1db3b3(0x193)]===0x0?_0x1db3b3(0x195)+_0x33f1e8+_0x1db3b3(0x197):_0x1db3b3(0x195)+_0x33f1e8+'\x22\x20is\x20ambiguous.',_0x1db3b3(0x191));return _0x5eba48[0x0];}export async function resolveRuntimePermitRoles(_0x274a02,_0xbd6733,_0x2c3f90){const _0x106a74=a46_0x3c9422,_0xab4a1d=await listRuntimePermitRoles(_0x274a02,{'needSelf':!![],'needPublic':!![]}),_0x58a844=[...new Map(_0xbd6733[_0x106a74(0x190)](_0x2173ff=>resolvePermitRole(_0xab4a1d,_0x2173ff))[_0x106a74(0x190)](_0xdd3f46=>[_0xdd3f46['id'],_0xdd3f46]))[_0x106a74(0x1ab)]()],_0x57d4d4=_0x58a844[_0x106a74(0x163)](_0x97af5b=>_0x97af5b[_0x106a74(0x174)]===_0x106a74(0x164)||_0x97af5b['roleType']==='OWNER');if(_0x57d4d4)throw CliErrors[_0x106a74(0x167)](_0x57d4d4['roleType']+'\x20has\x20full\x20runtime\x20access\x20and\x20cannot\x20be\x20a\x20resource\x20permission\x20target.','Configure\x20USER,\x20CUSTOM,\x20or\x20an\x20applicable\x20special\x20role\x20instead.');if(!_0x2c3f90&&_0x58a844[_0x106a74(0x18f)](_0x3110fd=>_0x3110fd[_0x106a74(0x174)]==='SELF'))throw CliErrors[_0x106a74(0x167)](_0x106a74(0x17c));return _0x58a844;}function a46_0x2a7d(_0x2e9a72,_0x3d20e7){_0x2e9a72=_0x2e9a72-0x162;const _0x2ed83c=a46_0x2ed8();let _0x2a7d7c=_0x2ed83c[_0x2e9a72];return _0x2a7d7c;}export async function assertRuntimePermissionManager(_0x10496b){const _0x563459=a46_0x3c9422,_0x5e668f=await getLoginUserInfo(),_0x34e300=_0x5e668f['userId']??_0x5e668f['id'],_0x54820d=Number(_0x34e300);if(!Number[_0x563459(0x1a4)](_0x54820d)||_0x54820d<=0x0)throw CliErrors[_0x563459(0x167)](_0x563459(0x179));const _0x100219=await listRuntimeRoleUsers(_0x10496b),_0x53afd1=_0x100219[_0x563459(0x18f)](_0x51c6b3=>(_0x51c6b3[_0x563459(0x174)]==='ADMIN'||_0x51c6b3[_0x563459(0x174)]===_0x563459(0x16e))&&_0x51c6b3[_0x563459(0x162)][_0x563459(0x18f)](_0x537513=>_0x537513[_0x563459(0x178)]===_0x54820d));if(!_0x53afd1)throw CliErrors[_0x563459(0x167)](_0x563459(0x170),_0x563459(0x166));}export function assertRuntimePermitRoleConfigurable(_0x5c2371){const _0x54c1c3=a46_0x3c9422;if(_0x5c2371[_0x54c1c3(0x174)]==='ADMIN'||_0x5c2371[_0x54c1c3(0x174)]===_0x54c1c3(0x16e))throw CliErrors[_0x54c1c3(0x167)](_0x54c1c3(0x1a3)+_0x5c2371[_0x54c1c3(0x174)]+_0x54c1c3(0x17d)+_0x5c2371[_0x54c1c3(0x19d)]+'.','ADMIN\x20and\x20OWNER\x20have\x20full\x20runtime\x20access;\x20configure\x20USER\x20or\x20CUSTOM\x20instead.');}function a46_0x2ed8(){const _0x84673c=['update-roles','Runtime\x20menu\x20ID','trim','menuId','ALL','Cannot\x20change\x20resource\x20permissions\x20for\x20','isSafeInteger','grant','Pass\x20exactly\x20one\x20of\x20--grant\x20or\x20--revoke.','606410wseeLv','Revoke\x20the\x20selected\x20resources\x20from\x20the\x20role','dataDetail','dataUpdate','values','create-roles','userList','find','ADMIN','filter','Ask\x20an\x20application\x20manager\x20to\x20perform\x20this\x20operation.','validation','resourceCode','26455iDxMvn','export-roles','number','18VqoeGO','label','OWNER','340284dnDTOw','Runtime\x20resource\x20permission\x20changes\x20require\x20an\x20ADMIN\x20or\x20OWNER\x20role.','menuPermit','862408SezaCv','push','roleType','detail-roles','key','MENU','userId','Cannot\x20resolve\x20the\x20current\x20AK\x20userId\x20for\x20permission\x20management.','permitId','datasetCode','SELF\x20is\x20only\x20valid\x20for\x20--row-roles.','\x20runtime\x20role\x20','boolean','14LUdYwx','rolePermit','revoke','runtime','string','row-roles','307842PPSoKb','2969175lykPwx','resourceType','menu-id','Comma-separated\x20runtime\x20role\x20IDs\x20or\x20names','16118NnLGwN','appCode','36NBSLwF','The\x20current\x20service\x20contract\x20does\x20not\x20persist\x20an\x20empty\x20rolePermit;\x20grant\x20another\x20role\x20first.','flag','some','map','Use\x20a\x20role\x20ID\x20from\x20`lovrabet\x20role\x20list`.','Runtime\x20role\x20ID\x20or\x20exact\x20role\x20name','length','children','Permission\x20role\x20\x22','Cannot\x20revoke\x20the\x20last\x20role\x20from\x20a\x20runtime\x20resource.','\x22\x20was\x20not\x20found.','pageId','toUpperCase','112pYZpqt','\x20must\x20contain\x20at\x20least\x20one\x20value.','Grant\x20the\x20selected\x20resources\x20to\x20the\x20role','roleName'];a46_0x2ed8=function(){return _0x84673c;};return a46_0x2ed8();}function asPermitRole(_0x2b3ac4){const _0x2990b9=a46_0x3c9422;return{'id':_0x2b3ac4['id'],'roleName':_0x2b3ac4[_0x2990b9(0x19d)],'roleType':_0x2b3ac4['roleType'],'allowed':!![]};}export function applyRuntimeRolePermission(_0xb30133,_0x598946,_0x507a08,_0x3c36ed){const _0x23765b=a46_0x3c9422,_0x284f70=!_0xb30133||_0xb30133[_0x23765b(0x193)]===0x0,_0x2bc015=_0xb30133?.[_0x23765b(0x18f)](_0x457360=>_0x457360[_0x23765b(0x174)]===_0x23765b(0x1a2))??![];if(_0x3c36ed===_0x23765b(0x1a5)&&(_0x284f70||_0x2bc015))return{'roles':_0xb30133??null,'changed':![]};let _0x442ae8=_0x284f70||_0x2bc015?_0x507a08[_0x23765b(0x165)](_0x22d6f9=>_0x22d6f9['id']>0x0):[..._0xb30133];const _0x2c2dd6=_0x442ae8[_0x23765b(0x18f)](_0x4409b5=>_0x4409b5['id']===_0x598946['id']);if(_0x3c36ed===_0x23765b(0x1a5)){if(_0x2c2dd6)return{'roles':_0x442ae8,'changed':![]};return _0x442ae8[_0x23765b(0x173)](asPermitRole(_0x598946)),{'roles':_0x442ae8,'changed':!![]};}if(!_0x2c2dd6)return{'roles':_0x442ae8,'changed':_0x284f70||_0x2bc015};_0x442ae8=_0x442ae8[_0x23765b(0x165)](_0x7c07da=>_0x7c07da['id']!==_0x598946['id']);if(_0x442ae8[_0x23765b(0x193)]===0x0)throw CliErrors[_0x23765b(0x167)](_0x23765b(0x196),_0x23765b(0x18d));return{'roles':_0x442ae8,'changed':!![]};}export function projectRuntimePagePermit(_0xd11d1b){const _0x314840=a46_0x3c9422,_0xe24d19={'menuId':_0xd11d1b[_0x314840(0x1a1)],'pageId':_0xd11d1b[_0x314840(0x198)],'appCode':_0xd11d1b[_0x314840(0x18b)],'datasetCode':_0xd11d1b[_0x314840(0x17b)]};for(const _0x3345dc of PAGE_SLOT_SPECS){const _0x4ce0da=_0xd11d1b[_0x3345dc['key']];_0x4ce0da&&(_0xe24d19[_0x3345dc[_0x314840(0x176)]]={'resourceCode':_0x4ce0da[_0x314840(0x168)],'resourceType':_0x4ce0da[_0x314840(0x187)],'roles':(_0x4ce0da[_0x314840(0x180)]??[])[_0x314840(0x190)](_0x4453cf=>({'id':_0x4453cf['id'],'roleName':_0x4453cf[_0x314840(0x19d)],'roleType':_0x4453cf[_0x314840(0x174)]}))});}return _0xe24d19;}export function flattenRuntimeMenuRolePermits(_0x42a5b8){const _0x1d3cb3=[],_0x593f1a=_0x3574f8=>{const _0x224526=a46_0x2a7d;_0x1d3cb3[_0x224526(0x173)](_0x3574f8);for(const _0x3d48c1 of _0x3574f8[_0x224526(0x194)]??[])_0x593f1a(_0x3d48c1);};for(const _0x1d3f5b of _0x42a5b8)_0x593f1a(_0x1d3f5b);return _0x1d3cb3;}export function runtimePermitWriteResult(_0x45f7a0,_0x5db401,_0x12bf5c,_0x41488b,_0xe8e373,_0x47fd0f=[]){const _0x4c7486=a46_0x3c9422;return{'operation':_0x45f7a0,'scope':_0x4c7486(0x182),'selector':_0x5db401,'before':_0x12bf5c,'after':_0x41488b,'dryRun':![],'backend':_0xe8e373,'warnings':_0x47fd0f};}export function menuPermitDto(_0x43aaff,_0x1b02ca,_0xf6a23c){const _0xca6fc1=a46_0x3c9422;return{..._0x1b02ca[_0xca6fc1(0x17a)]!=null?{'id':_0x1b02ca['permitId']}:{},'appCode':_0x43aaff,'menuId':_0x1b02ca['id'],'pageId':_0x1b02ca['pageId']??null,'resourceCode':String(_0x1b02ca['id']),'resourceType':_0xca6fc1(0x177),'resourceName':_0x1b02ca[_0xca6fc1(0x16d)],'rolePermit':_0xf6a23c};}
1
+ function a46_0xecab(_0xa1f3d,_0x19dd9a){_0xa1f3d=_0xa1f3d-0x199;const _0x1b0ce3=a46_0x1b0c();let _0xecab16=_0x1b0ce3[_0xa1f3d];return _0xecab16;}const a46_0x39cead=a46_0xecab;(function(_0x470dbd,_0x53573e){const _0xb9a6bc=a46_0xecab,_0x21d30c=_0x470dbd();while(!![]){try{const _0x1acc69=-parseInt(_0xb9a6bc(0x1aa))/0x1*(-parseInt(_0xb9a6bc(0x1da))/0x2)+parseInt(_0xb9a6bc(0x1d2))/0x3*(parseInt(_0xb9a6bc(0x1d4))/0x4)+parseInt(_0xb9a6bc(0x1ad))/0x5+-parseInt(_0xb9a6bc(0x1b2))/0x6*(parseInt(_0xb9a6bc(0x1a4))/0x7)+parseInt(_0xb9a6bc(0x1d9))/0x8+parseInt(_0xb9a6bc(0x19d))/0x9+-parseInt(_0xb9a6bc(0x1b4))/0xa;if(_0x1acc69===_0x53573e)break;else _0x21d30c['push'](_0x21d30c['shift']());}catch(_0x3fef43){_0x21d30c['push'](_0x21d30c['shift']());}}}(a46_0x1b0c,0x874ad));import{getLoginUserInfo,listRuntimePermitRoles,listRuntimeRoleUsers}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';export const MENU_ID_FLAG={'name':a46_0x39cead(0x19e),'type':'number','required':!![],'description':a46_0x39cead(0x1c8)};export const ROLE_REF_FLAG={'name':a46_0x39cead(0x199),'type':'string','required':!![],'description':a46_0x39cead(0x1b5)};export const GRANT_FLAG={'name':'grant','type':a46_0x39cead(0x1af),'description':'Grant\x20the\x20selected\x20resources\x20to\x20the\x20role'};export const REVOKE_FLAG={'name':a46_0x39cead(0x1a2),'type':'boolean','description':'Revoke\x20the\x20selected\x20resources\x20from\x20the\x20role'};export const PAGE_SLOT_SPECS=[{'flag':a46_0x39cead(0x1c2),'key':a46_0x39cead(0x1df),'allowSelf':![]},{'flag':a46_0x39cead(0x1c3),'key':a46_0x39cead(0x1a0),'allowSelf':![]},{'flag':a46_0x39cead(0x19f),'key':a46_0x39cead(0x1db),'allowSelf':![]},{'flag':a46_0x39cead(0x1c0),'key':a46_0x39cead(0x1b1),'allowSelf':![]},{'flag':a46_0x39cead(0x1a6),'key':a46_0x39cead(0x1b8),'allowSelf':![]},{'flag':a46_0x39cead(0x1e0),'key':'dataExport','allowSelf':![]},{'flag':a46_0x39cead(0x1c9),'key':'dataPermit','allowSelf':!![]}];export const PAGE_ROLE_FLAGS=PAGE_SLOT_SPECS[a46_0x39cead(0x1a3)](_0x213d8e=>({'name':_0x213d8e['flag'],'type':'string','description':a46_0x39cead(0x1be)}));export function splitRefs(_0x1a6621,_0x1e5d97){const _0x585581=a46_0x39cead,_0x1ba083=[...new Set(_0x1a6621['split'](',')[_0x585581(0x1a3)](_0x32cb00=>_0x32cb00[_0x585581(0x1d5)]())[_0x585581(0x1cd)](Boolean))];if(_0x1ba083[_0x585581(0x1d8)]===0x0)throw CliErrors['validation'](_0x1e5d97+'\x20must\x20contain\x20at\x20least\x20one\x20value.');return _0x1ba083;}export function assertGrantOrRevoke(_0x3b93bf,_0x4b56be){const _0x56a22d=a46_0x39cead;if(_0x3b93bf===_0x4b56be)throw CliErrors[_0x56a22d(0x1ae)](_0x56a22d(0x1c1));return _0x3b93bf?_0x56a22d(0x1bd):_0x56a22d(0x1a2);}function a46_0x1b0c(){const _0x46c10b=['OWNER','dataDetail','datasetCode','Configure\x20USER,\x20CUSTOM,\x20or\x20an\x20applicable\x20special\x20role\x20instead.','ADMIN','SELF','grant','Comma-separated\x20runtime\x20role\x20IDs\x20or\x20names','rolePermit','delete-roles','Pass\x20exactly\x20one\x20of\x20--grant\x20or\x20--revoke.','menu-roles','create-roles','some','\x22\x20was\x20not\x20found.','appCode','\x20has\x20full\x20runtime\x20access\x20and\x20cannot\x20be\x20a\x20resource\x20permission\x20target.','Runtime\x20menu\x20ID','row-roles','Cannot\x20change\x20resource\x20permissions\x20for\x20','push','key','filter','label','roleType','menuId','roleName','27DUWEkF','Runtime\x20resource\x20permission\x20changes\x20require\x20an\x20ADMIN\x20or\x20OWNER\x20role.','11332svCOgE','trim','The\x20current\x20service\x20contract\x20does\x20not\x20persist\x20an\x20empty\x20rolePermit;\x20grant\x20another\x20role\x20first.','find','length','1394744Wdqewa','20606cFcyHp','dataUpdate','resourceCode','test','isSafeInteger','menuPermit','export-roles','role','values','\x20runtime\x20role\x20','pageId','8960868vlGDId','menu-id','update-roles','dataCreate','ALL','revoke','map','196TDscAn','children','detail-roles','userList','Cannot\x20resolve\x20the\x20current\x20AK\x20userId\x20for\x20permission\x20management.','Cannot\x20revoke\x20the\x20last\x20role\x20from\x20a\x20runtime\x20resource.','26mwiQjh','resourceType','Use\x20a\x20role\x20ID\x20from\x20`lovrabet\x20role\x20list`.','5098925btAgiz','validation','boolean','\x22\x20is\x20ambiguous.','dataDelete','132852kXGYii','ADMIN\x20and\x20OWNER\x20have\x20full\x20runtime\x20access;\x20configure\x20USER\x20or\x20CUSTOM\x20instead.','13090220qHPxoz','Runtime\x20role\x20ID\x20or\x20exact\x20role\x20name','permitId'];a46_0x1b0c=function(){return _0x46c10b;};return a46_0x1b0c();}function resolvePermitRole(_0x10e18f,_0x3a07d4){const _0x33c93e=a46_0x39cead,_0x7cbb5=_0x3a07d4[_0x33c93e(0x1d5)](),_0x7ed4ce=/^-?\d+$/[_0x33c93e(0x1dd)](_0x7cbb5)?_0x10e18f['filter'](_0x110070=>_0x110070['id']===Number(_0x7cbb5)):_0x10e18f[_0x33c93e(0x1cd)](_0xd2f3fc=>_0xd2f3fc[_0x33c93e(0x1d1)]===_0x7cbb5||_0xd2f3fc[_0x33c93e(0x1cf)]===_0x7cbb5['toUpperCase']());if(_0x7ed4ce['length']!==0x1)throw CliErrors[_0x33c93e(0x1ae)](_0x7ed4ce[_0x33c93e(0x1d8)]===0x0?'Permission\x20role\x20\x22'+_0x7cbb5+_0x33c93e(0x1c5):'Permission\x20role\x20\x22'+_0x7cbb5+_0x33c93e(0x1b0),_0x33c93e(0x1ac));return _0x7ed4ce[0x0];}export async function resolveRuntimePermitRoles(_0xd11878,_0x5cf907,_0x1ddad3){const _0x4375f3=a46_0x39cead,_0x269b94=await listRuntimePermitRoles(_0xd11878,{'needSelf':!![],'needPublic':!![]}),_0x5ee614=[...new Map(_0x5cf907[_0x4375f3(0x1a3)](_0x1267ef=>resolvePermitRole(_0x269b94,_0x1267ef))[_0x4375f3(0x1a3)](_0x47b99c=>[_0x47b99c['id'],_0x47b99c]))[_0x4375f3(0x19a)]()],_0x4a4f2b=_0x5ee614[_0x4375f3(0x1d7)](_0x380f50=>_0x380f50[_0x4375f3(0x1cf)]===_0x4375f3(0x1bb)||_0x380f50[_0x4375f3(0x1cf)]===_0x4375f3(0x1b7));if(_0x4a4f2b)throw CliErrors[_0x4375f3(0x1ae)](_0x4a4f2b['roleType']+_0x4375f3(0x1c7),_0x4375f3(0x1ba));if(!_0x1ddad3&&_0x5ee614[_0x4375f3(0x1c4)](_0x2a6c22=>_0x2a6c22[_0x4375f3(0x1cf)]===_0x4375f3(0x1bc)))throw CliErrors['validation']('SELF\x20is\x20only\x20valid\x20for\x20--row-roles.');return _0x5ee614;}export async function assertRuntimePermissionManager(_0x2f6eaf){const _0x35e9a1=a46_0x39cead,_0x26db89=await getLoginUserInfo(),_0x6d9b5c=_0x26db89['userId']??_0x26db89['id'],_0x32eeaa=Number(_0x6d9b5c);if(!Number[_0x35e9a1(0x1de)](_0x32eeaa)||_0x32eeaa<=0x0)throw CliErrors['validation'](_0x35e9a1(0x1a8));const _0x48bb24=await listRuntimeRoleUsers(_0x2f6eaf),_0x347159=_0x48bb24[_0x35e9a1(0x1c4)](_0x1b4ffa=>(_0x1b4ffa[_0x35e9a1(0x1cf)]===_0x35e9a1(0x1bb)||_0x1b4ffa[_0x35e9a1(0x1cf)]===_0x35e9a1(0x1b7))&&_0x1b4ffa[_0x35e9a1(0x1a7)]['some'](_0x236834=>_0x236834['userId']===_0x32eeaa));if(!_0x347159)throw CliErrors[_0x35e9a1(0x1ae)](_0x35e9a1(0x1d3),'Ask\x20an\x20application\x20manager\x20to\x20perform\x20this\x20operation.');}export function assertRuntimePermitRoleConfigurable(_0x203d02){const _0xc6b05c=a46_0x39cead;if(_0x203d02[_0xc6b05c(0x1cf)]===_0xc6b05c(0x1bb)||_0x203d02[_0xc6b05c(0x1cf)]===_0xc6b05c(0x1b7))throw CliErrors[_0xc6b05c(0x1ae)](_0xc6b05c(0x1ca)+_0x203d02['roleType']+_0xc6b05c(0x19b)+_0x203d02[_0xc6b05c(0x1d1)]+'.',_0xc6b05c(0x1b3));}function asPermitRole(_0x25d291){const _0x2dce1f=a46_0x39cead;return{'id':_0x25d291['id'],'roleName':_0x25d291[_0x2dce1f(0x1d1)],'roleType':_0x25d291['roleType'],'allowed':!![]};}export function applyRuntimeRolePermission(_0x5cd004,_0x47d42c,_0x110875,_0x5b5b9a){const _0x105a36=a46_0x39cead,_0x9f5209=!_0x5cd004||_0x5cd004[_0x105a36(0x1d8)]===0x0,_0xf5a69=_0x5cd004?.['some'](_0x24b51b=>_0x24b51b[_0x105a36(0x1cf)]===_0x105a36(0x1a1))??![];if(_0x5b5b9a===_0x105a36(0x1bd)&&(_0x9f5209||_0xf5a69))return{'roles':_0x5cd004??null,'changed':![]};let _0x48be4c=_0x9f5209||_0xf5a69?_0x110875[_0x105a36(0x1cd)](_0x1b386a=>_0x1b386a['id']>0x0):[..._0x5cd004];const _0x261f77=_0x48be4c[_0x105a36(0x1c4)](_0x129c0d=>_0x129c0d['id']===_0x47d42c['id']);if(_0x5b5b9a===_0x105a36(0x1bd)){if(_0x261f77)return{'roles':_0x48be4c,'changed':![]};return _0x48be4c[_0x105a36(0x1cb)](asPermitRole(_0x47d42c)),{'roles':_0x48be4c,'changed':!![]};}if(!_0x261f77)return{'roles':_0x48be4c,'changed':_0x9f5209||_0xf5a69};_0x48be4c=_0x48be4c[_0x105a36(0x1cd)](_0x199c28=>_0x199c28['id']!==_0x47d42c['id']);if(_0x48be4c[_0x105a36(0x1d8)]===0x0)throw CliErrors[_0x105a36(0x1ae)](_0x105a36(0x1a9),_0x105a36(0x1d6));return{'roles':_0x48be4c,'changed':!![]};}export function projectRuntimePagePermit(_0x511391){const _0x49508b=a46_0x39cead,_0xb59cd={'menuId':_0x511391[_0x49508b(0x1d0)],'pageId':_0x511391[_0x49508b(0x19c)],'appCode':_0x511391[_0x49508b(0x1c6)],'datasetCode':_0x511391[_0x49508b(0x1b9)]};for(const _0x3ee4c5 of PAGE_SLOT_SPECS){const _0x3e1c8a=_0x511391[_0x3ee4c5['key']];_0x3e1c8a&&(_0xb59cd[_0x3ee4c5[_0x49508b(0x1cc)]]={'resourceCode':_0x3e1c8a[_0x49508b(0x1dc)],'resourceType':_0x3e1c8a[_0x49508b(0x1ab)],'roles':(_0x3e1c8a[_0x49508b(0x1bf)]??[])[_0x49508b(0x1a3)](_0x387d4e=>({'id':_0x387d4e['id'],'roleName':_0x387d4e[_0x49508b(0x1d1)],'roleType':_0x387d4e[_0x49508b(0x1cf)]}))});}return _0xb59cd;}export function flattenRuntimeMenuRolePermits(_0x222cbc){const _0x32b34d=[],_0x32fe4e=_0x1555f9=>{const _0x226440=a46_0xecab;_0x32b34d['push'](_0x1555f9);for(const _0x872b95 of _0x1555f9[_0x226440(0x1a5)]??[])_0x32fe4e(_0x872b95);};for(const _0xa4d99a of _0x222cbc)_0x32fe4e(_0xa4d99a);return _0x32b34d;}export function runtimePermitWriteResult(_0x1350c0,_0x11ae5b,_0x1ca62d,_0x49b573,_0x1d33d2,_0x17e254=[]){return{'operation':_0x1350c0,'scope':'runtime','selector':_0x11ae5b,'before':_0x1ca62d,'after':_0x49b573,'dryRun':![],'backend':_0x1d33d2,'warnings':_0x17e254};}export function menuPermitDto(_0x482f2d,_0x35dc73,_0x1b9673){const _0x53824d=a46_0x39cead;return{..._0x35dc73[_0x53824d(0x1b6)]!=null?{'id':_0x35dc73[_0x53824d(0x1b6)]}:{},'appCode':_0x482f2d,'menuId':_0x35dc73['id'],'pageId':_0x35dc73['pageId']??null,'resourceCode':String(_0x35dc73['id']),'resourceType':'MENU','resourceName':_0x35dc73[_0x53824d(0x1ce)],'rolePermit':_0x1b9673};}
@@ -1 +1 @@
1
- const a47_0x19e102=a47_0x5a9e;(function(_0x2a3da4,_0x5e86c5){const _0x16ff77=a47_0x5a9e,_0x14d030=_0x2a3da4();while(!![]){try{const _0x177d81=parseInt(_0x16ff77(0x18b))/0x1*(-parseInt(_0x16ff77(0x17e))/0x2)+parseInt(_0x16ff77(0x18c))/0x3+parseInt(_0x16ff77(0x185))/0x4*(-parseInt(_0x16ff77(0x16f))/0x5)+-parseInt(_0x16ff77(0x167))/0x6+parseInt(_0x16ff77(0x164))/0x7*(-parseInt(_0x16ff77(0x17b))/0x8)+parseInt(_0x16ff77(0x18d))/0x9+-parseInt(_0x16ff77(0x16e))/0xa*(-parseInt(_0x16ff77(0x1a1))/0xb);if(_0x177d81===_0x5e86c5)break;else _0x14d030['push'](_0x14d030['shift']());}catch(_0x3ea0d0){_0x14d030['push'](_0x14d030['shift']());}}}(a47_0xefae,0x649f6));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';function a47_0xefae(){const _0x5a48e9=['Updated\x20Personal\x20Backend\x20Function\x20','verbose','str','sourceSessionId','Personal\x20Backend\x20Function\x20script\x20file\x20is\x20blank.','flag','validation','appCode','List\x20current\x20user\x27s\x20Personal\x20Backend\x20Function\x20scripts\x20for\x20the\x20current\x20app','exec','232wzwTLe','num','read','68030dVtEde','JSON\x20object\x20passed\x20to\x20the\x20Personal\x20Backend\x20Function\x20execution','bool','detail','Created\x20Personal\x20Backend\x20Function\x20','/update','body','188652POocff','File\x20path\x20is\x20required.','Show\x20one\x20Personal\x20Backend\x20Function\x20by\x20id','updateTime','Preview:\x20update\x20Personal\x20Backend\x20Function\x20','scriptType','16hYfBTT','1247001uvucSt','3484548lAtueS','functionName','Preview:\x20create\x20Personal\x20Backend\x20Function\x20','create','test','--params\x20must\x20be\x20a\x20JSON\x20object.','Saves\x20the\x20local\x20script\x20as\x20a\x20Personal\x20Backend\x20Function.\x20The\x20script\x20can\x20then\x20be\x20called\x20in\x20the\x20current\x20app.','string','trim','list','Create\x20a\x20Personal\x20Backend\x20Function\x20from\x20a\x20local\x20script\x20file','/client/runtime-bff/personal/create','build','name','Personal\x20Backend\x20Function\x20script\x20ID','personal-bff','scriptContent','Executed\x20Personal\x20Backend\x20Function\x20','source-session-id','Runs\x20the\x20Personal\x20Backend\x20Function\x20script.\x20The\x20script\x20may\x20read\x20or\x20change\x20business\x20data,\x20or\x20call\x20external\x20services.','11PiavsV','description','length','Updates\x20the\x20Personal\x20Backend\x20Function\x20script\x20or\x20metadata.\x20Later\x20calls\x20use\x20the\x20new\x20version.','Update\x20a\x20Personal\x20Backend\x20Function\x20by\x20ID','isFile','file','149639jFVQKm','gmtCreate','params','1027626oEWKaO','Execute\x20a\x20Personal\x20Backend\x20Function\x20by\x20ID,\x20optionally\x20with\x20JSON\x20params','personal-bff\x20update\x20requires\x20at\x20least\x20one\x20of\x20--name,\x20--description,\x20--file,\x20or\x20--source-session-id.','write','POST','utf8','gmtModified','17465260xFioAA','85fyMpug','Optional\x20source\x20RuntimeAgent\x20session\x20id'];a47_0xefae=function(){return _0x5a48e9;};return a47_0xefae();}const FUNCTION_NAME_PATTERN=/^[a-zA-Z_$][a-zA-Z0-9_$]*$/,FILE_FLAG={'name':a47_0x19e102(0x1a7),'type':a47_0x19e102(0x194),'description':'Path\x20to\x20a\x20local\x20UTF-8\x20JavaScript\x20or\x20TypeScript\x20file'},FUNCTION_NAME_FLAG={'name':a47_0x19e102(0x19a),'type':a47_0x19e102(0x194),'required':!![],'description':'Personal\x20Backend\x20Function\x20name,\x20for\x20example\x20loadOrders'},DESCRIPTION_FLAG={'name':'description','type':a47_0x19e102(0x194),'description':'Personal\x20Backend\x20Function\x20description'},SOURCE_SESSION_FLAG={'name':a47_0x19e102(0x19f),'type':a47_0x19e102(0x194),'description':a47_0x19e102(0x170)};function normalizeFunctionName(_0x32f7df){const _0x5ad3cc=a47_0x19e102,_0x1cb294=String(_0x32f7df||'')[_0x5ad3cc(0x195)]();if(!_0x1cb294||!FUNCTION_NAME_PATTERN[_0x5ad3cc(0x191)](_0x1cb294))throw CliErrors[_0x5ad3cc(0x177)]('--name\x20must\x20be\x20a\x20valid\x20JavaScript\x20identifier,\x20for\x20example\x20loadOrders.');return _0x1cb294;}function readScriptFile(_0x6d77e0){const _0x4ca804=a47_0x19e102;if(!_0x6d77e0)throw CliErrors['validation'](_0x4ca804(0x186));if(!existsSync(_0x6d77e0))throw CliErrors['validation']('File\x20not\x20found:\x20'+_0x6d77e0);if(!statSync(_0x6d77e0)[_0x4ca804(0x1a6)]())throw CliErrors[_0x4ca804(0x177)]('File\x20is\x20not\x20a\x20regular\x20file:\x20'+_0x6d77e0);const _0x34dfcc=readFileSync(_0x6d77e0,_0x4ca804(0x16c));if(!_0x34dfcc[_0x4ca804(0x195)]())throw CliErrors[_0x4ca804(0x177)](_0x4ca804(0x175));return _0x34dfcc;}function optionalTrimmed(_0x12f8da){const _0xf8fe07=a47_0x19e102,_0x2b894f=String(_0x12f8da||'')[_0xf8fe07(0x195)]();return _0x2b894f||undefined;}function summarizeBff(_0x249bc9){const _0x3f6a81=a47_0x19e102;return{'id':_0x249bc9['id'],'appCode':_0x249bc9[_0x3f6a81(0x178)],'functionName':_0x249bc9[_0x3f6a81(0x18e)],'description':_0x249bc9[_0x3f6a81(0x1a2)],'scriptType':_0x249bc9[_0x3f6a81(0x18a)],'version':_0x249bc9['version'],'gmtModified':_0x249bc9[_0x3f6a81(0x16d)],'updateTime':_0x249bc9['updateTime']};}function detailBff(_0x289f73){const _0x105bb0=a47_0x19e102;return{'id':_0x289f73['id'],'appCode':_0x289f73[_0x105bb0(0x178)],'functionName':_0x289f73[_0x105bb0(0x18e)],'description':_0x289f73[_0x105bb0(0x1a2)],'scriptType':_0x289f73[_0x105bb0(0x18a)],'scriptContent':_0x289f73[_0x105bb0(0x19d)]??'','config':_0x289f73['config'],'version':_0x289f73['version'],'createUserId':_0x289f73['createUserId'],'gmtCreate':_0x289f73[_0x105bb0(0x165)],'gmtModified':_0x289f73[_0x105bb0(0x16d)],'createTime':_0x289f73['createTime'],'updateTime':_0x289f73[_0x105bb0(0x188)]};}function buildCreateInput(_0x4c49ff){const _0x38bfb6=a47_0x19e102;return{'functionName':normalizeFunctionName(_0x4c49ff[_0x38bfb6(0x173)](_0x38bfb6(0x19a))),...optionalTrimmed(_0x4c49ff['str'](_0x38bfb6(0x1a2)))?{'description':optionalTrimmed(_0x4c49ff[_0x38bfb6(0x173)](_0x38bfb6(0x1a2)))}:{},'scriptContent':readScriptFile(_0x4c49ff[_0x38bfb6(0x173)](_0x38bfb6(0x1a7))),...optionalTrimmed(_0x4c49ff['str'](_0x38bfb6(0x19f)))?{'sourceSessionId':optionalTrimmed(_0x4c49ff['str']('source-session-id'))}:{}};}function a47_0x5a9e(_0x470372,_0x4cdf42){_0x470372=_0x470372-0x164;const _0xefaec2=a47_0xefae();let _0x5a9e69=_0xefaec2[_0x470372];return _0x5a9e69;}function buildUpdateInput(_0x61e8ad){const _0x21c875=a47_0x19e102,_0x3a99cd={};optionalTrimmed(_0x61e8ad['str'](_0x21c875(0x19a)))&&(_0x3a99cd[_0x21c875(0x18e)]=normalizeFunctionName(_0x61e8ad['str']('name')));_0x61e8ad[_0x21c875(0x176)](_0x21c875(0x1a2))!==undefined&&(_0x3a99cd[_0x21c875(0x1a2)]=_0x61e8ad[_0x21c875(0x173)](_0x21c875(0x1a2)));optionalTrimmed(_0x61e8ad['str'](_0x21c875(0x1a7)))&&(_0x3a99cd[_0x21c875(0x19d)]=readScriptFile(_0x61e8ad[_0x21c875(0x173)](_0x21c875(0x1a7))));_0x61e8ad[_0x21c875(0x176)](_0x21c875(0x19f))!==undefined&&(_0x3a99cd[_0x21c875(0x174)]=_0x61e8ad['str'](_0x21c875(0x19f)));if(Object['keys'](_0x3a99cd)[_0x21c875(0x1a3)]===0x0)throw CliErrors[_0x21c875(0x177)](_0x21c875(0x169));return _0x3a99cd;}function parseExecParams(_0x4ccf04){const _0x2ab1c8=a47_0x19e102,_0x513dda=parseJsonParams(_0x4ccf04)??{};if(Array['isArray'](_0x513dda))throw CliErrors[_0x2ab1c8(0x177)](_0x2ab1c8(0x192));return _0x513dda;}const personalBffList={'service':'personal-bff','command':a47_0x19e102(0x196),'description':a47_0x19e102(0x179),'risk':a47_0x19e102(0x17d),'flags':[VERBOSE_FLAG],async 'execute'(_0xd86767){const _0x1c0b5b=a47_0x19e102,_0x56de33=await listPersonalBffs(_0xd86767[_0x1c0b5b(0x178)]);return{'ok':!![],'data':{'total':_0x56de33['length'],'items':_0xd86767[_0x1c0b5b(0x180)](_0x1c0b5b(0x172))?_0x56de33:_0x56de33['map'](summarizeBff)}};}},personalBffDetail={'service':a47_0x19e102(0x19c),'command':a47_0x19e102(0x181),'description':a47_0x19e102(0x187),'risk':a47_0x19e102(0x17d),'flags':[{...ID_FLAG,'description':a47_0x19e102(0x19b)}],async 'execute'(_0x1d826c){const _0x914349=a47_0x19e102,_0x221e47=await getPersonalBff(_0x1d826c[_0x914349(0x17c)]('id'),_0x1d826c[_0x914349(0x178)]);return{'ok':!![],'data':detailBff(_0x221e47)};}},personalBffCreate={'service':a47_0x19e102(0x19c),'command':a47_0x19e102(0x190),'description':a47_0x19e102(0x197),'risk':a47_0x19e102(0x16a),'confirmationDescription':a47_0x19e102(0x193),'flags':[FUNCTION_NAME_FLAG,{...FILE_FLAG,'required':!![]},DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x58bff0){const _0x219ec8=a47_0x19e102,_0x1a99ad=buildCreateInput(_0x58bff0),_0x3eb79c=await createPersonalBff(_0x58bff0[_0x219ec8(0x178)],_0x1a99ad);return{'ok':!![],'data':detailBff(_0x3eb79c),'message':_0x219ec8(0x182)+_0x3eb79c['id']+(_0x3eb79c[_0x219ec8(0x18e)]?'\x20('+_0x3eb79c[_0x219ec8(0x18e)]+')':'')};},async 'dryRun'(_0x12dd4c){const _0x502358=a47_0x19e102,_0x515478=buildCreateInput(_0x12dd4c);return dryRun(_0x502358(0x16b),_0x502358(0x198))[_0x502358(0x184)]({'appCode':_0x12dd4c['appCode'],..._0x515478})['description'](_0x502358(0x18f)+_0x515478[_0x502358(0x18e)])[_0x502358(0x199)]();}},personalBffUpdate={'service':a47_0x19e102(0x19c),'command':'update','description':a47_0x19e102(0x1a5),'risk':a47_0x19e102(0x16a),'confirmationDescription':a47_0x19e102(0x1a4),'flags':[{...ID_FLAG,'description':a47_0x19e102(0x19b)},{...FUNCTION_NAME_FLAG,'required':![]},FILE_FLAG,DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x11a9f8){const _0x43bec3=a47_0x19e102,_0x3bbc6b=_0x11a9f8[_0x43bec3(0x17c)]('id'),_0x4aceee=buildUpdateInput(_0x11a9f8),_0x378293=await updatePersonalBff(_0x3bbc6b,_0x11a9f8[_0x43bec3(0x178)],_0x4aceee);return{'ok':!![],'data':detailBff(_0x378293),'message':_0x43bec3(0x171)+_0x378293['id']+(_0x378293[_0x43bec3(0x18e)]?'\x20('+_0x378293[_0x43bec3(0x18e)]+')':'')};},async 'dryRun'(_0x429f4f){const _0x166e25=a47_0x19e102,_0x8207e=_0x429f4f[_0x166e25(0x17c)]('id'),_0xddd63b=buildUpdateInput(_0x429f4f);return dryRun(_0x166e25(0x16b),'/client/runtime-bff/personal/'+_0x8207e+_0x166e25(0x183))[_0x166e25(0x184)]({'appCode':_0x429f4f[_0x166e25(0x178)],..._0xddd63b})[_0x166e25(0x1a2)](_0x166e25(0x189)+_0x8207e)['build']();}},personalBffExec={'service':a47_0x19e102(0x19c),'command':a47_0x19e102(0x17a),'description':a47_0x19e102(0x168),'risk':a47_0x19e102(0x16a),'confirmationDescription':a47_0x19e102(0x1a0),'flags':[{...ID_FLAG,'description':a47_0x19e102(0x19b)},{...PARAMS_FLAG,'description':a47_0x19e102(0x17f)}],async 'validate'(_0x601c60){const _0x1f1c55=a47_0x19e102;parseExecParams(_0x601c60[_0x1f1c55(0x173)]('params'));},async 'execute'(_0x1f0f63){const _0x174a1c=a47_0x19e102,_0x265a8e=_0x1f0f63[_0x174a1c(0x17c)]('id'),_0x3dbbb6=parseExecParams(_0x1f0f63['str'](_0x174a1c(0x166))),_0x3b5e9b=await executePersonalBff(_0x265a8e,_0x1f0f63[_0x174a1c(0x178)],_0x3dbbb6);return{'ok':!![],'data':{'result':_0x3b5e9b},'message':_0x174a1c(0x19e)+_0x265a8e};}};export const personalBffDefinitions=[personalBffList,personalBffDetail,personalBffCreate,personalBffUpdate,personalBffExec];
1
+ const a47_0x3c0f56=a47_0x4980;(function(_0x4c69de,_0x91443d){const _0x51dfb8=a47_0x4980,_0x4a0067=_0x4c69de();while(!![]){try{const _0x45aa00=parseInt(_0x51dfb8(0x1d2))/0x1*(parseInt(_0x51dfb8(0x1c6))/0x2)+-parseInt(_0x51dfb8(0x1c0))/0x3+-parseInt(_0x51dfb8(0x1c9))/0x4*(-parseInt(_0x51dfb8(0x1ef))/0x5)+parseInt(_0x51dfb8(0x202))/0x6*(-parseInt(_0x51dfb8(0x1fa))/0x7)+-parseInt(_0x51dfb8(0x1d9))/0x8+-parseInt(_0x51dfb8(0x1da))/0x9+-parseInt(_0x51dfb8(0x1ce))/0xa*(-parseInt(_0x51dfb8(0x1f5))/0xb);if(_0x45aa00===_0x91443d)break;else _0x4a0067['push'](_0x4a0067['shift']());}catch(_0x451077){_0x4a0067['push'](_0x4a0067['shift']());}}}(a47_0x5eef,0x582e7));import{existsSync,readFileSync,statSync}from'node:fs';import{createPersonalBff,executePersonalBff,getPersonalBff,listPersonalBffs,updatePersonalBff}from'../../core/api-client.js';import{ID_FLAG,PARAMS_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';function a47_0x4980(_0x3f0da9,_0x10bd28){_0x3f0da9=_0x3f0da9-0x1bf;const _0x5eef8f=a47_0x5eef();let _0x49805f=_0x5eef8f[_0x3f0da9];return _0x49805f;}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':'file','type':a47_0x3c0f56(0x1e6),'description':a47_0x3c0f56(0x1cc)},FUNCTION_NAME_FLAG={'name':a47_0x3c0f56(0x1f1),'type':a47_0x3c0f56(0x1e6),'required':!![],'description':a47_0x3c0f56(0x1f4)},DESCRIPTION_FLAG={'name':a47_0x3c0f56(0x1c2),'type':a47_0x3c0f56(0x1e6),'description':a47_0x3c0f56(0x1c5)},SOURCE_SESSION_FLAG={'name':'source-session-id','type':a47_0x3c0f56(0x1e6),'description':a47_0x3c0f56(0x1d5)};function normalizeFunctionName(_0xe0d863){const _0x21e172=a47_0x3c0f56,_0x13d396=String(_0xe0d863||'')[_0x21e172(0x1c3)]();if(!_0x13d396||!FUNCTION_NAME_PATTERN[_0x21e172(0x1f0)](_0x13d396))throw CliErrors[_0x21e172(0x1d1)]('--name\x20must\x20be\x20a\x20valid\x20JavaScript\x20identifier,\x20for\x20example\x20loadOrders.');return _0x13d396;}function readScriptFile(_0xfb2f54){const _0x269508=a47_0x3c0f56;if(!_0xfb2f54)throw CliErrors['validation'](_0x269508(0x203));if(!existsSync(_0xfb2f54))throw CliErrors[_0x269508(0x1d1)](_0x269508(0x1c8)+_0xfb2f54);if(!statSync(_0xfb2f54)[_0x269508(0x1fc)]())throw CliErrors[_0x269508(0x1d1)]('File\x20is\x20not\x20a\x20regular\x20file:\x20'+_0xfb2f54);const _0x43b4a6=readFileSync(_0xfb2f54,'utf8');if(!_0x43b4a6[_0x269508(0x1c3)]())throw CliErrors['validation'](_0x269508(0x1e0));return _0x43b4a6;}function a47_0x5eef(){const _0x5b9ee6=['4vyHiCP','sourceSessionId','File\x20not\x20found:\x20','716uPFADV','Saves\x20the\x20local\x20script\x20as\x20a\x20Personal\x20Backend\x20Function.\x20The\x20script\x20can\x20then\x20be\x20called\x20in\x20the\x20current\x20app.','appCode','Path\x20to\x20a\x20local\x20UTF-8\x20JavaScript\x20or\x20TypeScript\x20file','Runs\x20the\x20Personal\x20Backend\x20Function\x20script.\x20The\x20script\x20may\x20read\x20or\x20change\x20business\x20data,\x20or\x20call\x20external\x20services.','10XBMMIc','scriptContent','gmtCreate','validation','298001CMOGhk','updateTime','flag','Optional\x20source\x20RuntimeAgent\x20session\x20id','num','config','map','1165240ZMsRZg','5737536NNYXLg','Preview:\x20create\x20Personal\x20Backend\x20Function\x20','length','Preview:\x20update\x20Personal\x20Backend\x20Function\x20','Update\x20a\x20Personal\x20Backend\x20Function\x20by\x20ID','read','Personal\x20Backend\x20Function\x20script\x20file\x20is\x20blank.','--params\x20must\x20be\x20a\x20JSON\x20object.','Show\x20one\x20Personal\x20Backend\x20Function\x20by\x20id','params','str','write','string','JSON\x20object\x20passed\x20to\x20the\x20Personal\x20Backend\x20Function\x20execution','Create\x20a\x20Personal\x20Backend\x20Function\x20from\x20a\x20local\x20script\x20file','source-session-id','Updated\x20Personal\x20Backend\x20Function\x20','Execute\x20a\x20Personal\x20Backend\x20Function\x20by\x20ID,\x20optionally\x20with\x20JSON\x20params','create','createUserId','functionName','16715ELoLKc','test','name','build','Executed\x20Personal\x20Backend\x20Function\x20','Personal\x20Backend\x20Function\x20name,\x20for\x20example\x20loadOrders','4104892XencIo','List\x20current\x20user\x27s\x20Personal\x20Backend\x20Function\x20scripts\x20for\x20the\x20current\x20app','personal-bff','verbose','body','21tPHqaP','bool','isFile','Personal\x20Backend\x20Function\x20script\x20ID','POST','scriptType','personal-bff\x20update\x20requires\x20at\x20least\x20one\x20of\x20--name,\x20--description,\x20--file,\x20or\x20--source-session-id.','gmtModified','144618LHAoSs','File\x20path\x20is\x20required.','isArray','/client/runtime-bff/personal/','/update','createTime','Updates\x20the\x20Personal\x20Backend\x20Function\x20script\x20or\x20metadata.\x20Later\x20calls\x20use\x20the\x20new\x20version.','1052736LGnEsG','file','description','trim','list','Personal\x20Backend\x20Function\x20description'];a47_0x5eef=function(){return _0x5b9ee6;};return a47_0x5eef();}function optionalTrimmed(_0x3eeff5){const _0x111883=a47_0x3c0f56,_0x385ba5=String(_0x3eeff5||'')[_0x111883(0x1c3)]();return _0x385ba5||undefined;}function summarizeBff(_0x247986){const _0x32a3e0=a47_0x3c0f56;return{'id':_0x247986['id'],'appCode':_0x247986[_0x32a3e0(0x1cb)],'functionName':_0x247986['functionName'],'description':_0x247986[_0x32a3e0(0x1c2)],'scriptType':_0x247986[_0x32a3e0(0x1ff)],'version':_0x247986['version'],'gmtModified':_0x247986[_0x32a3e0(0x201)],'updateTime':_0x247986[_0x32a3e0(0x1d3)]};}function detailBff(_0x7d2658){const _0x39eaa5=a47_0x3c0f56;return{'id':_0x7d2658['id'],'appCode':_0x7d2658[_0x39eaa5(0x1cb)],'functionName':_0x7d2658['functionName'],'description':_0x7d2658['description'],'scriptType':_0x7d2658[_0x39eaa5(0x1ff)],'scriptContent':_0x7d2658[_0x39eaa5(0x1cf)]??'','config':_0x7d2658[_0x39eaa5(0x1d7)],'version':_0x7d2658['version'],'createUserId':_0x7d2658[_0x39eaa5(0x1ed)],'gmtCreate':_0x7d2658[_0x39eaa5(0x1d0)],'gmtModified':_0x7d2658['gmtModified'],'createTime':_0x7d2658[_0x39eaa5(0x207)],'updateTime':_0x7d2658[_0x39eaa5(0x1d3)]};}function buildCreateInput(_0x5a5b64){const _0x110f5c=a47_0x3c0f56;return{'functionName':normalizeFunctionName(_0x5a5b64[_0x110f5c(0x1e4)](_0x110f5c(0x1f1))),...optionalTrimmed(_0x5a5b64[_0x110f5c(0x1e4)](_0x110f5c(0x1c2)))?{'description':optionalTrimmed(_0x5a5b64[_0x110f5c(0x1e4)]('description'))}:{},'scriptContent':readScriptFile(_0x5a5b64[_0x110f5c(0x1e4)]('file')),...optionalTrimmed(_0x5a5b64[_0x110f5c(0x1e4)](_0x110f5c(0x1e9)))?{'sourceSessionId':optionalTrimmed(_0x5a5b64[_0x110f5c(0x1e4)](_0x110f5c(0x1e9)))}:{}};}function buildUpdateInput(_0x466be5){const _0x213cd7=a47_0x3c0f56,_0x58df4c={};optionalTrimmed(_0x466be5[_0x213cd7(0x1e4)](_0x213cd7(0x1f1)))&&(_0x58df4c[_0x213cd7(0x1ee)]=normalizeFunctionName(_0x466be5[_0x213cd7(0x1e4)](_0x213cd7(0x1f1))));_0x466be5[_0x213cd7(0x1d4)]('description')!==undefined&&(_0x58df4c['description']=_0x466be5[_0x213cd7(0x1e4)]('description'));optionalTrimmed(_0x466be5[_0x213cd7(0x1e4)](_0x213cd7(0x1c1)))&&(_0x58df4c[_0x213cd7(0x1cf)]=readScriptFile(_0x466be5[_0x213cd7(0x1e4)]('file')));_0x466be5[_0x213cd7(0x1d4)](_0x213cd7(0x1e9))!==undefined&&(_0x58df4c[_0x213cd7(0x1c7)]=_0x466be5[_0x213cd7(0x1e4)]('source-session-id'));if(Object['keys'](_0x58df4c)['length']===0x0)throw CliErrors[_0x213cd7(0x1d1)](_0x213cd7(0x200));return _0x58df4c;}function parseExecParams(_0x4d82e7){const _0x557621=a47_0x3c0f56,_0x3f71a2=parseJsonParams(_0x4d82e7)??{};if(Array[_0x557621(0x204)](_0x3f71a2))throw CliErrors[_0x557621(0x1d1)](_0x557621(0x1e1));return _0x3f71a2;}const personalBffList={'service':a47_0x3c0f56(0x1f7),'command':a47_0x3c0f56(0x1c4),'description':a47_0x3c0f56(0x1f6),'risk':a47_0x3c0f56(0x1df),'flags':[VERBOSE_FLAG],async 'execute'(_0x134e9a){const _0x3b0c58=a47_0x3c0f56,_0x5d1c74=await listPersonalBffs(_0x134e9a[_0x3b0c58(0x1cb)]);return{'ok':!![],'data':{'total':_0x5d1c74[_0x3b0c58(0x1dc)],'items':_0x134e9a[_0x3b0c58(0x1fb)](_0x3b0c58(0x1f8))?_0x5d1c74:_0x5d1c74[_0x3b0c58(0x1d8)](summarizeBff)}};}},personalBffDetail={'service':a47_0x3c0f56(0x1f7),'command':'detail','description':a47_0x3c0f56(0x1e2),'risk':a47_0x3c0f56(0x1df),'flags':[{...ID_FLAG,'description':a47_0x3c0f56(0x1fd)}],async 'execute'(_0x608831){const _0x413681=a47_0x3c0f56,_0x5ea3b6=await getPersonalBff(_0x608831[_0x413681(0x1d6)]('id'),_0x608831['appCode']);return{'ok':!![],'data':detailBff(_0x5ea3b6)};}},personalBffCreate={'service':a47_0x3c0f56(0x1f7),'command':a47_0x3c0f56(0x1ec),'description':a47_0x3c0f56(0x1e8),'risk':'write','confirmationDescription':a47_0x3c0f56(0x1ca),'flags':[FUNCTION_NAME_FLAG,{...FILE_FLAG,'required':!![]},DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x5239d6){const _0x373c4c=a47_0x3c0f56,_0x1fdcd3=buildCreateInput(_0x5239d6),_0x48b8a6=await createPersonalBff(_0x5239d6['appCode'],_0x1fdcd3);return{'ok':!![],'data':detailBff(_0x48b8a6),'message':'Created\x20Personal\x20Backend\x20Function\x20'+_0x48b8a6['id']+(_0x48b8a6[_0x373c4c(0x1ee)]?'\x20('+_0x48b8a6['functionName']+')':'')};},async 'dryRun'(_0x5003fe){const _0x5bcb5f=a47_0x3c0f56,_0x21003b=buildCreateInput(_0x5003fe);return dryRun(_0x5bcb5f(0x1fe),'/client/runtime-bff/personal/create')[_0x5bcb5f(0x1f9)]({'appCode':_0x5003fe['appCode'],..._0x21003b})[_0x5bcb5f(0x1c2)](_0x5bcb5f(0x1db)+_0x21003b[_0x5bcb5f(0x1ee)])['build']();}},personalBffUpdate={'service':a47_0x3c0f56(0x1f7),'command':'update','description':a47_0x3c0f56(0x1de),'risk':'write','confirmationDescription':a47_0x3c0f56(0x1bf),'flags':[{...ID_FLAG,'description':a47_0x3c0f56(0x1fd)},{...FUNCTION_NAME_FLAG,'required':![]},FILE_FLAG,DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x553797){const _0x22e3dd=a47_0x3c0f56,_0x30b72d=_0x553797[_0x22e3dd(0x1d6)]('id'),_0x14bc86=buildUpdateInput(_0x553797),_0x18b4c=await updatePersonalBff(_0x30b72d,_0x553797[_0x22e3dd(0x1cb)],_0x14bc86);return{'ok':!![],'data':detailBff(_0x18b4c),'message':_0x22e3dd(0x1ea)+_0x18b4c['id']+(_0x18b4c[_0x22e3dd(0x1ee)]?'\x20('+_0x18b4c[_0x22e3dd(0x1ee)]+')':'')};},async 'dryRun'(_0x50e602){const _0x1bca61=a47_0x3c0f56,_0x168849=_0x50e602[_0x1bca61(0x1d6)]('id'),_0x56c526=buildUpdateInput(_0x50e602);return dryRun('POST',_0x1bca61(0x205)+_0x168849+_0x1bca61(0x206))[_0x1bca61(0x1f9)]({'appCode':_0x50e602['appCode'],..._0x56c526})[_0x1bca61(0x1c2)](_0x1bca61(0x1dd)+_0x168849)[_0x1bca61(0x1f2)]();}},personalBffExec={'service':a47_0x3c0f56(0x1f7),'command':'exec','description':a47_0x3c0f56(0x1eb),'risk':a47_0x3c0f56(0x1e5),'confirmationDescription':a47_0x3c0f56(0x1cd),'flags':[{...ID_FLAG,'description':'Personal\x20Backend\x20Function\x20script\x20ID'},{...PARAMS_FLAG,'description':a47_0x3c0f56(0x1e7)}],async 'validate'(_0x20c80b){const _0x5ee9ba=a47_0x3c0f56;parseExecParams(_0x20c80b[_0x5ee9ba(0x1e4)]('params'));},async 'execute'(_0x413f36){const _0x7124bd=a47_0x3c0f56,_0x188d16=_0x413f36['num']('id'),_0x39b350=parseExecParams(_0x413f36[_0x7124bd(0x1e4)](_0x7124bd(0x1e3))),_0xe21de=await executePersonalBff(_0x188d16,_0x413f36['appCode'],_0x39b350);return{'ok':!![],'data':{'result':_0xe21de},'message':_0x7124bd(0x1f3)+_0x188d16};}};export const personalBffDefinitions=[personalBffList,personalBffDetail,personalBffCreate,personalBffUpdate,personalBffExec];
@@ -1 +1 @@
1
- function a48_0x2825(){const _0x247e25=['list','read','4605200MEUKLE','App\x20Management','Schema','Self\x20Update','app\x20use','Backend\x20Function\x20Scripts','init','Authentication','`lovrabet\x20app\x20use`\x20has\x20been\x20removed.','install','SQL\x20Queries','risk','values','Diagnostics','Configuration','\x20\x20[write]','471204dIKRqM','map','Skills','Runtime\x20App\x20Config','Workspace','API\x20Documentation','20OAhDMi','push','auth\x20init','show','get','run','defaultCommand','Datasets','Use\x20`lovrabet\x20logs\x20show`\x20to\x20view\x20command\x20history.','login','command','Use\x20`lovrabet\x20workspace\x20init\x20--appcode\x20<code>`\x20instead.','clear','OCR','`lovrabet\x20auth\x20init`\x20has\x20been\x20removed.','1125216MzvvGi','service','`lovrabet\x20app\x20init`\x20has\x20been\x20removed.','CLI\x20Built-in\x20Skill','has','Logs','16sqVCOt','description','from','704627FbLFfP','526179SAKQPB','config-list','Knowledge\x20Base','3224627VafkFM','User\x20Accounts','use','Agent\x20Schedules','8WdDrMy','176049jtYLTc','Artifacts','Runtime\x20Permissions','File','\x20\x20[high-risk-write]','logs\x20clear','Use\x20`lovrabet\x20config\x20init`\x20for\x20node\x20configuration,\x20then\x20`lovrabet\x20auth\x20login`\x20for\x20AccessKey\x20authentication.','set','Instant\x20API','write','app'];a48_0x2825=function(){return _0x247e25;};return a48_0x2825();}const a48_0x14bfe8=a48_0x3b08;(function(_0x520a9f,_0xda8ce7){const _0x4d358c=a48_0x3b08,_0x1bad91=_0x520a9f();while(!![]){try{const _0x3c91ea=parseInt(_0x4d358c(0x206))/0x1+parseInt(_0x4d358c(0x20e))/0x2*(parseInt(_0x4d358c(0x207))/0x3)+parseInt(_0x4d358c(0x1e8))/0x4*(-parseInt(_0x4d358c(0x1ee))/0x5)+-parseInt(_0x4d358c(0x1fd))/0x6+-parseInt(_0x4d358c(0x20a))/0x7+-parseInt(_0x4d358c(0x203))/0x8*(parseInt(_0x4d358c(0x20f))/0x9)+parseInt(_0x4d358c(0x21c))/0xa;if(_0x3c91ea===_0xda8ce7)break;else _0x1bad91['push'](_0x1bad91['shift']());}catch(_0xa16e49){_0x1bad91['push'](_0x1bad91['shift']());}}}(a48_0x2825,0xace64));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 a48_0x3b08(_0x3ff2e3,_0x22eb09){_0x3ff2e3=_0x3ff2e3-0x1e7;const _0x282577=a48_0x2825();let _0x3b0871=_0x282577[_0x3ff2e3];return _0x3b0871;}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(_0x42c258){const _0x3c4010=a48_0x3b08;for(const _0x1a84d7 of _0x42c258){definitions[_0x3c4010(0x216)](_0x1a84d7['service']+':'+_0x1a84d7['command'],_0x1a84d7);let _0x7a49e8=serviceGroups[_0x3c4010(0x1f2)](_0x1a84d7['service']);!_0x7a49e8&&(_0x7a49e8=[],serviceGroups[_0x3c4010(0x216)](_0x1a84d7[_0x3c4010(0x1fe)],_0x7a49e8)),_0x7a49e8[_0x3c4010(0x1ef)](_0x1a84d7);}}function registerService(_0x3696b0,_0x11b77f,_0x329ea7){const _0x193b42=a48_0x3b08;registerDefinitions(_0x11b77f);const _0x6d81ac=_0xa5756c=>_0xa5756c===_0x193b42(0x21b)?'':_0xa5756c===_0x193b42(0x218)?_0x193b42(0x1e7):_0x193b42(0x213),_0x294fb2={'service':_0x11b77f[0x0][_0x193b42(0x1fe)],'label':_0x3696b0,'commands':_0x11b77f[_0x193b42(0x1e9)](_0x5773d1=>({'command':_0x5773d1[_0x193b42(0x1f8)],'description':_0x5773d1[_0x193b42(0x204)],'tag':_0x6d81ac(_0x5773d1[_0x193b42(0x227)])})),'defaultCommand':_0x329ea7?.[_0x193b42(0x1f4)]??(_0x329ea7?.['isSingleCommand']?_0x11b77f[0x0][_0x193b42(0x1f8)]:undefined),'isSingleCommand':_0x329ea7?.['isSingleCommand']};serviceRegistry['push'](_0x294fb2),serviceByName[_0x193b42(0x216)](_0x294fb2[_0x193b42(0x1fe)],_0x294fb2);}registerService(a48_0x14bfe8(0x223),authDefinitions,{'defaultCommand':a48_0x14bfe8(0x1f7)}),registerService(a48_0x14bfe8(0x20b),userAccountDefinitions),registerService(a48_0x14bfe8(0x21d),appDefinitions,{'defaultCommand':a48_0x14bfe8(0x21a)}),registerService(a48_0x14bfe8(0x1ec),workspaceDefinitions),registerService(a48_0x14bfe8(0x1eb),appConfigDefinitions),registerService(a48_0x14bfe8(0x22a),configDefinitions,{'defaultCommand':a48_0x14bfe8(0x21a)}),registerService('Runtime\x20Roles',roleDefinitions,{'defaultCommand':a48_0x14bfe8(0x21a)}),registerService(a48_0x14bfe8(0x211),permitDefinitions),registerService(a48_0x14bfe8(0x1ed),apiDocDefinitions),registerService(a48_0x14bfe8(0x1f5),datasetDefinitions),registerService(a48_0x14bfe8(0x217),dataDefinitions),registerService(a48_0x14bfe8(0x226),sqlDefinitions),registerService(a48_0x14bfe8(0x221),bffDefinitions),registerService('Personal\x20Backend\x20Function',personalBffDefinitions),registerService(a48_0x14bfe8(0x210),artifactDefinitions),registerService(a48_0x14bfe8(0x212),fileDefinitions),registerService(a48_0x14bfe8(0x1fb),ocrDefinitions),registerService(a48_0x14bfe8(0x209),kbDefinitions),registerService('Notification\x20Configs',notificationDefinitions,{'defaultCommand':a48_0x14bfe8(0x208)}),registerService(a48_0x14bfe8(0x20d),scheduleDefinitions,{'defaultCommand':'list'}),registerService('Service\x20Tree',serviceDefinitions,{'defaultCommand':'list'}),registerService(a48_0x14bfe8(0x1ea),skillDefinitions,{'defaultCommand':a48_0x14bfe8(0x225)}),registerService(a48_0x14bfe8(0x200),cliSkillDefinitions,{'defaultCommand':a48_0x14bfe8(0x225)}),registerService(a48_0x14bfe8(0x21f),[updateDefinition],{'defaultCommand':a48_0x14bfe8(0x1f3),'isSingleCommand':!![]}),registerService(a48_0x14bfe8(0x229),[doctorDefinition],{'isSingleCommand':!![]}),registerService(a48_0x14bfe8(0x21e),[schemaDefinition],{'isSingleCommand':!![]}),registerService(a48_0x14bfe8(0x202),logsDefinitions,{'defaultCommand':a48_0x14bfe8(0x1f1)});export function findDefinition(_0xd156b9,_0x7e99fd){const _0x48f122=a48_0x14bfe8;return definitions[_0x48f122(0x1f2)](_0xd156b9+':'+_0x7e99fd);}export function resolveRemovedCommand(_0x2f5ea8,_0x15e5d9){const _0x51ba20=a48_0x14bfe8;if(_0x2f5ea8==='auth'&&_0x15e5d9===_0x51ba20(0x222))return{'command':_0x51ba20(0x1f0),'message':_0x51ba20(0x1fc),'hint':_0x51ba20(0x215)};if(_0x2f5ea8===_0x51ba20(0x219)&&_0x15e5d9===_0x51ba20(0x222))return{'command':'app\x20init','message':_0x51ba20(0x1ff),'hint':_0x51ba20(0x1f9)};if(_0x2f5ea8===_0x51ba20(0x219)&&_0x15e5d9===_0x51ba20(0x20c))return{'command':_0x51ba20(0x220),'message':_0x51ba20(0x224),'hint':'Use\x20`lovrabet\x20workspace\x20use\x20--app\x20<name>`\x20instead.'};if(_0x2f5ea8==='logs'&&_0x15e5d9===_0x51ba20(0x1fa))return{'command':_0x51ba20(0x214),'message':'`lovrabet\x20logs\x20clear`\x20has\x20been\x20removed.','hint':_0x51ba20(0x1f6)};return undefined;}export function isKnownService(_0x7f8ef4){const _0x394d18=a48_0x14bfe8;return serviceByName[_0x394d18(0x201)](_0x7f8ef4);}export function getServiceEntry(_0x142028){return serviceByName['get'](_0x142028);}export function getAllDefinitions(){const _0x1731f7=a48_0x14bfe8;return Array[_0x1731f7(0x205)](definitions[_0x1731f7(0x228)]());}
1
+ const a48_0x2e9338=a48_0x2e8f;(function(_0x4b069a,_0x2c8d2c){const _0x24e715=a48_0x2e8f,_0x239627=_0x4b069a();while(!![]){try{const _0x31698a=parseInt(_0x24e715(0x10d))/0x1+-parseInt(_0x24e715(0x128))/0x2*(-parseInt(_0x24e715(0x101))/0x3)+-parseInt(_0x24e715(0x10e))/0x4+parseInt(_0x24e715(0x13b))/0x5*(-parseInt(_0x24e715(0x12d))/0x6)+-parseInt(_0x24e715(0x138))/0x7+parseInt(_0x24e715(0x114))/0x8+parseInt(_0x24e715(0x102))/0x9;if(_0x31698a===_0x2c8d2c)break;else _0x239627['push'](_0x239627['shift']());}catch(_0x875512){_0x239627['push'](_0x239627['shift']());}}}(a48_0x2c4e,0x39bf8));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';export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();function a48_0x2e8f(_0x12dd25,_0x2b3c54){_0x12dd25=_0x12dd25-0xfe;const _0x2c4e50=a48_0x2c4e();let _0x2e8f93=_0x2c4e50[_0x12dd25];return _0x2e8f93;}export const serviceGroups=new Map();function registerDefinitions(_0x166a48){const _0x10d949=a48_0x2e8f;for(const _0x6fd67b of _0x166a48){definitions[_0x10d949(0x136)](_0x6fd67b[_0x10d949(0x11a)]+':'+_0x6fd67b['command'],_0x6fd67b);let _0x522275=serviceGroups[_0x10d949(0x11b)](_0x6fd67b['service']);!_0x522275&&(_0x522275=[],serviceGroups['set'](_0x6fd67b[_0x10d949(0x11a)],_0x522275)),_0x522275[_0x10d949(0x13d)](_0x6fd67b);}}function a48_0x2c4e(){const _0x4a434b=['Authentication','isSingleCommand','CLI\x20Built-in\x20Skill','config-list','2QvfWMZ','Use\x20`lovrabet\x20config\x20init`\x20for\x20node\x20configuration,\x20then\x20`lovrabet\x20auth\x20login`\x20for\x20AccessKey\x20authentication.','File','Instant\x20API','\x20\x20[high-risk-write]','6EEwjNm','has','install','Service\x20Tree','app\x20use','Artifacts','User\x20Accounts','Runtime\x20Roles','Notification\x20Configs','set','values','3216010zlrxie','Use\x20`lovrabet\x20workspace\x20init\x20--appcode\x20<code>`\x20instead.','login','646195pdlwXy','app','push','show','from','auth\x20init','read','Knowledge\x20Base','335463SveNcq','6431355ZdwnEE','Backend\x20Function\x20Scripts','Use\x20`lovrabet\x20logs\x20show`\x20to\x20view\x20command\x20history.','`lovrabet\x20app\x20use`\x20has\x20been\x20removed.','Agent\x20Schedules','\x20\x20[write]','`lovrabet\x20auth\x20init`\x20has\x20been\x20removed.','clear','Personal\x20Backend\x20Function','Diagnostics','Self\x20Update','214621XVHYpq','1568896LvxvJy','`lovrabet\x20logs\x20clear`\x20has\x20been\x20removed.','command','logs','write','Runtime\x20Permissions','1411136sBeUyd','init','API\x20Documentation','logs\x20clear','Skills','run','service','get','description','list','Runtime\x20App\x20Config','risk','app\x20init','`lovrabet\x20app\x20init`\x20has\x20been\x20removed.','App\x20Management','Use\x20`lovrabet\x20workspace\x20use\x20--app\x20<name>`\x20instead.'];a48_0x2c4e=function(){return _0x4a434b;};return a48_0x2c4e();}function registerService(_0x39a239,_0x34d288,_0x5c75e7){const _0x300d6c=a48_0x2e8f;registerDefinitions(_0x34d288);const _0x3e23ba=_0x113585=>_0x113585===_0x300d6c(0xff)?'':_0x113585===_0x300d6c(0x112)?_0x300d6c(0x107):_0x300d6c(0x12c),_0x3e2fe6={'service':_0x34d288[0x0][_0x300d6c(0x11a)],'label':_0x39a239,'commands':_0x34d288['map'](_0x27641a=>({'command':_0x27641a[_0x300d6c(0x110)],'description':_0x27641a[_0x300d6c(0x11c)],'tag':_0x3e23ba(_0x27641a[_0x300d6c(0x11f)])})),'defaultCommand':_0x5c75e7?.['defaultCommand']??(_0x5c75e7?.[_0x300d6c(0x125)]?_0x34d288[0x0][_0x300d6c(0x110)]:undefined),'isSingleCommand':_0x5c75e7?.[_0x300d6c(0x125)]};serviceRegistry[_0x300d6c(0x13d)](_0x3e2fe6),serviceByName[_0x300d6c(0x136)](_0x3e2fe6[_0x300d6c(0x11a)],_0x3e2fe6);}registerService(a48_0x2e9338(0x124),authDefinitions,{'defaultCommand':a48_0x2e9338(0x13a)}),registerService(a48_0x2e9338(0x133),userAccountDefinitions),registerService(a48_0x2e9338(0x122),appDefinitions,{'defaultCommand':a48_0x2e9338(0x11d)}),registerService('Workspace',workspaceDefinitions),registerService(a48_0x2e9338(0x11e),appConfigDefinitions),registerService('Configuration',configDefinitions,{'defaultCommand':'list'}),registerService(a48_0x2e9338(0x134),roleDefinitions,{'defaultCommand':'list'}),registerService(a48_0x2e9338(0x113),permitDefinitions),registerService(a48_0x2e9338(0x116),apiDocDefinitions),registerService('Datasets',datasetDefinitions),registerService(a48_0x2e9338(0x12b),dataDefinitions),registerService('SQL\x20Queries',sqlDefinitions),registerService(a48_0x2e9338(0x103),bffDefinitions),registerService(a48_0x2e9338(0x10a),personalBffDefinitions),registerService(a48_0x2e9338(0x132),artifactDefinitions),registerService(a48_0x2e9338(0x12a),fileDefinitions),registerService('OCR',ocrDefinitions),registerService(a48_0x2e9338(0x100),kbDefinitions),registerService(a48_0x2e9338(0x135),notificationDefinitions,{'defaultCommand':a48_0x2e9338(0x127)}),registerService(a48_0x2e9338(0x106),scheduleDefinitions,{'defaultCommand':a48_0x2e9338(0x11d)}),registerService(a48_0x2e9338(0x130),serviceDefinitions,{'defaultCommand':a48_0x2e9338(0x11d)}),registerService(a48_0x2e9338(0x118),skillDefinitions,{'defaultCommand':'install'}),registerService(a48_0x2e9338(0x126),cliSkillDefinitions,{'defaultCommand':a48_0x2e9338(0x12f)}),registerService(a48_0x2e9338(0x10c),[updateDefinition],{'defaultCommand':a48_0x2e9338(0x119),'isSingleCommand':!![]}),registerService(a48_0x2e9338(0x10b),[doctorDefinition],{'isSingleCommand':!![]}),registerService('Schema',[schemaDefinition],{'isSingleCommand':!![]}),registerService('Logs',logsDefinitions,{'defaultCommand':a48_0x2e9338(0x13e)});export function findDefinition(_0x34ea6d,_0x131bdc){const _0x3663a0=a48_0x2e9338;return definitions[_0x3663a0(0x11b)](_0x34ea6d+':'+_0x131bdc);}export function resolveRemovedCommand(_0x4c0209,_0x5b30ec){const _0x305710=a48_0x2e9338;if(_0x4c0209==='auth'&&_0x5b30ec===_0x305710(0x115))return{'command':_0x305710(0xfe),'message':_0x305710(0x108),'hint':_0x305710(0x129)};if(_0x4c0209===_0x305710(0x13c)&&_0x5b30ec===_0x305710(0x115))return{'command':_0x305710(0x120),'message':_0x305710(0x121),'hint':_0x305710(0x139)};if(_0x4c0209===_0x305710(0x13c)&&_0x5b30ec==='use')return{'command':_0x305710(0x131),'message':_0x305710(0x105),'hint':_0x305710(0x123)};if(_0x4c0209===_0x305710(0x111)&&_0x5b30ec===_0x305710(0x109))return{'command':_0x305710(0x117),'message':_0x305710(0x10f),'hint':_0x305710(0x104)};return undefined;}export function isKnownService(_0x35eebc){const _0x37298f=a48_0x2e9338;return serviceByName[_0x37298f(0x12e)](_0x35eebc);}export function getServiceEntry(_0xa1cf97){const _0x3be108=a48_0x2e9338;return serviceByName[_0x3be108(0x11b)](_0xa1cf97);}export function getAllDefinitions(){const _0x2f5d33=a48_0x2e9338;return Array[_0x2f5d33(0x13f)](definitions[_0x2f5d33(0x137)]());}
@@ -1 +1 @@
1
- function a49_0x4560(){const _0x2c437d=['string','785882gmHxBu','body','13097uukFpm','--name\x20must\x20not\x20be\x20blank.','Optional\x20role\x20remark','Role\x20name','11398008cPvCgp','remark','5671370TcmYmX','high-risk-write','str','3252ITPdSw','/client/permit/role/create','9OJnTSi','description','POST','create','trim','3193972fYYoqd','1616782sXrpvm','CUSTOM','appCode','873375TyITcl','Creates\x20a\x20custom\x20role\x20in\x20the\x20current\x20runtime\x20app.\x20After\x20creation\x20it\x20can\x20be\x20used\x20for\x20member\x20and\x20resource\x20permissions.','name','Preview:\x20create\x20a\x20runtime\x20CUSTOM\x20role','3VJTFbV'];a49_0x4560=function(){return _0x2c437d;};return a49_0x4560();}const a49_0x423efb=a49_0xcf8a;function a49_0xcf8a(_0x2cb35c,_0x5112e2){_0x2cb35c=_0x2cb35c-0x159;const _0x456041=a49_0x4560();let _0xcf8a39=_0x456041[_0x2cb35c];return _0xcf8a39;}(function(_0x5b83a4,_0x2241fa){const _0x5c3a15=a49_0xcf8a,_0x44b412=_0x5b83a4();while(!![]){try{const _0x11c5be=-parseInt(_0x5c3a15(0x172))/0x1+-parseInt(_0x5c3a15(0x169))/0x2*(-parseInt(_0x5c3a15(0x170))/0x3)+parseInt(_0x5c3a15(0x168))/0x4+-parseInt(_0x5c3a15(0x16c))/0x5+parseInt(_0x5c3a15(0x161))/0x6*(parseInt(_0x5c3a15(0x174))/0x7)+parseInt(_0x5c3a15(0x15c))/0x8*(-parseInt(_0x5c3a15(0x163))/0x9)+parseInt(_0x5c3a15(0x15e))/0xa;if(_0x11c5be===_0x2241fa)break;else _0x44b412['push'](_0x44b412['shift']());}catch(_0x3c740e){_0x44b412['push'](_0x44b412['shift']());}}}(a49_0x4560,0xc3feb));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(_0x1e390e){const _0x4094b6=a49_0xcf8a,_0x11ae3b=_0x1e390e[_0x4094b6(0x160)](_0x4094b6(0x16e))[_0x4094b6(0x167)]();if(!_0x11ae3b)throw CliErrors['validation'](_0x4094b6(0x159));const _0x361685=_0x1e390e[_0x4094b6(0x160)]('remark')[_0x4094b6(0x167)]();return{'appCode':_0x1e390e[_0x4094b6(0x16b)],'roleName':_0x11ae3b,..._0x361685?{'remark':_0x361685}:{}};}export const roleCreate={'service':'role','command':'create','description':'Create\x20a\x20runtime\x20CUSTOM\x20role','risk':a49_0x423efb(0x15f),'confirmationDescription':a49_0x423efb(0x16d),'flags':[{'name':a49_0x423efb(0x16e),'type':a49_0x423efb(0x171),'required':!![],'description':a49_0x423efb(0x15b)},{'name':a49_0x423efb(0x15d),'type':a49_0x423efb(0x171),'description':a49_0x423efb(0x15a)}],async 'validate'(_0x284720){input(_0x284720);},async 'dryRun'(_0x3ee99e){const _0x244050=a49_0x423efb;return dryRun(_0x244050(0x165),_0x244050(0x162))[_0x244050(0x173)]({'roleType':_0x244050(0x16a),...input(_0x3ee99e)})[_0x244050(0x164)](_0x244050(0x16f))['build']();},async 'execute'(_0x185823){const _0x24dd35=a49_0x423efb,_0x2a87ee=await createRuntimeAppRole(input(_0x185823));return{'ok':!![],'data':runtimeRoleWriteResult(_0x24dd35(0x166),{'roleId':_0x2a87ee['id']},null,projectRuntimeRole(_0x2a87ee),{'method':_0x24dd35(0x165),'path':'/client/permit/role/create'})};}};
1
+ const a49_0x29d9c6=a49_0xe9ce;(function(_0x25e045,_0x38f794){const _0x110209=a49_0xe9ce,_0x10493a=_0x25e045();while(!![]){try{const _0x295901=-parseInt(_0x110209(0x11c))/0x1+parseInt(_0x110209(0x117))/0x2+parseInt(_0x110209(0x104))/0x3+parseInt(_0x110209(0x110))/0x4*(-parseInt(_0x110209(0x114))/0x5)+-parseInt(_0x110209(0x109))/0x6+parseInt(_0x110209(0x11b))/0x7+-parseInt(_0x110209(0x116))/0x8*(-parseInt(_0x110209(0x113))/0x9);if(_0x295901===_0x38f794)break;else _0x10493a['push'](_0x10493a['shift']());}catch(_0x19bb72){_0x10493a['push'](_0x10493a['shift']());}}}(a49_0x5b76,0x7a057));import{createRuntimeAppRole}from'../../core/api-client.js';function a49_0x5b76(){const _0x52117d=['Preview:\x20create\x20a\x20runtime\x20CUSTOM\x20role','high-risk-write','str','validation','3917444XzJViX','Role\x20name','Create\x20a\x20runtime\x20CUSTOM\x20role','4858641kXiuvD','5VlJUKr','trim','8eZAJgO','1293602cMKaEe','POST','string','--name\x20must\x20not\x20be\x20blank.','4631956kQKmhn','876293vNrTVV','appCode','build','create','2218464qTQBqE','Creates\x20a\x20custom\x20role\x20in\x20the\x20current\x20runtime\x20app.\x20After\x20creation\x20it\x20can\x20be\x20used\x20for\x20member\x20and\x20resource\x20permissions.','remark','name','/client/permit/role/create','1394358IBAPxi','Optional\x20role\x20remark','role'];a49_0x5b76=function(){return _0x52117d;};return a49_0x5b76();}import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';function a49_0xe9ce(_0x430d5e,_0x17fdbb){_0x430d5e=_0x430d5e-0x102;const _0x5b761b=a49_0x5b76();let _0xe9ce7b=_0x5b761b[_0x430d5e];return _0xe9ce7b;}import{projectRuntimeRole,runtimeRoleWriteResult}from'../../commands/role/shared.js';function input(_0x14220f){const _0x34c40e=a49_0xe9ce,_0x431122=_0x14220f['str'](_0x34c40e(0x107))[_0x34c40e(0x115)]();if(!_0x431122)throw CliErrors[_0x34c40e(0x10f)](_0x34c40e(0x11a));const _0x5d0050=_0x14220f[_0x34c40e(0x10e)](_0x34c40e(0x106))[_0x34c40e(0x115)]();return{'appCode':_0x14220f[_0x34c40e(0x11d)],'roleName':_0x431122,..._0x5d0050?{'remark':_0x5d0050}:{}};}export const roleCreate={'service':a49_0x29d9c6(0x10b),'command':a49_0x29d9c6(0x103),'description':a49_0x29d9c6(0x112),'risk':a49_0x29d9c6(0x10d),'confirmationDescription':a49_0x29d9c6(0x105),'flags':[{'name':a49_0x29d9c6(0x107),'type':a49_0x29d9c6(0x119),'required':!![],'description':a49_0x29d9c6(0x111)},{'name':a49_0x29d9c6(0x106),'type':'string','description':a49_0x29d9c6(0x10a)}],async 'validate'(_0x3f6f42){input(_0x3f6f42);},async 'dryRun'(_0x39c2d3){const _0x3a1042=a49_0x29d9c6;return dryRun('POST',_0x3a1042(0x108))['body']({'roleType':'CUSTOM',...input(_0x39c2d3)})['description'](_0x3a1042(0x10c))[_0x3a1042(0x102)]();},async 'execute'(_0xd4f0d0){const _0x554f47=a49_0x29d9c6,_0x4000b9=await createRuntimeAppRole(input(_0xd4f0d0));return{'ok':!![],'data':runtimeRoleWriteResult(_0x554f47(0x103),{'roleId':_0x4000b9['id']},null,projectRuntimeRole(_0x4000b9),{'method':_0x554f47(0x118),'path':_0x554f47(0x108)})};}};
@@ -1 +1 @@
1
- const a50_0x491738=a50_0x551c;(function(_0x383c5a,_0x2c4252){const _0x5f43a9=a50_0x551c,_0x3c35d6=_0x383c5a();while(!![]){try{const _0x2ab8f7=parseInt(_0x5f43a9(0x1ba))/0x1+-parseInt(_0x5f43a9(0x1b4))/0x2+-parseInt(_0x5f43a9(0x1c0))/0x3*(-parseInt(_0x5f43a9(0x1c1))/0x4)+parseInt(_0x5f43a9(0x1af))/0x5*(-parseInt(_0x5f43a9(0x1bc))/0x6)+parseInt(_0x5f43a9(0x1bb))/0x7*(parseInt(_0x5f43a9(0x1b8))/0x8)+parseInt(_0x5f43a9(0x1b7))/0x9*(parseInt(_0x5f43a9(0x1b1))/0xa)+-parseInt(_0x5f43a9(0x1bf))/0xb*(-parseInt(_0x5f43a9(0x1bd))/0xc);if(_0x2ab8f7===_0x2c4252)break;else _0x3c35d6['push'](_0x3c35d6['shift']());}catch(_0x24ff17){_0x3c35d6['push'](_0x3c35d6['shift']());}}}(a50_0x13ca,0x31141));import{deleteRuntimeAppRole}from'../../core/api-client.js';import{dryRun}from'../../framework/dryrun.js';function a50_0x551c(_0x425f58,_0x1f7af4){_0x425f58=_0x425f58-0x1af;const _0x13caa7=a50_0x13ca();let _0x551cb6=_0x13caa7[_0x425f58];return _0x551cb6;}import{assertCustomRuntimeRole,getRuntimeRoleById,projectRuntimeRole,ROLE_ID_FLAG,runtimeRoleWriteResult}from'../../commands/role/shared.js';async function prepare(_0x3b4a00){const _0x223a6c=a50_0x551c,_0x5ef868=await getRuntimeRoleById(_0x3b4a00[_0x223a6c(0x1b3)],_0x3b4a00[_0x223a6c(0x1be)]('id'));return assertCustomRuntimeRole(_0x5ef868,_0x223a6c(0x1b2)),_0x5ef868;}function a50_0x13ca(){const _0x6f8964=['329260ObMSem','delete','appCode','727386DEruUp','role','Preview:\x20delete\x20a\x20runtime\x20CUSTOM\x20role','27jtKqSn','984tTFXOT','/client/permit/role/delete','88153joIssn','7133BnPhmz','30GPLwwX','12fjPmTd','num','2110537dkScjA','425394DwXYYF','4MObAAI','POST','81215OFSQPm','Deletes\x20the\x20custom\x20role\x20in\x20the\x20current\x20runtime\x20app.\x20Membership\x20and\x20permission\x20config\x20for\x20that\x20role\x20may\x20become\x20invalid.'];a50_0x13ca=function(){return _0x6f8964;};return a50_0x13ca();}export const roleDelete={'service':a50_0x491738(0x1b5),'command':'delete','description':'Delete\x20a\x20runtime\x20CUSTOM\x20role','risk':'high-risk-write','confirmationDescription':a50_0x491738(0x1b0),'flags':[ROLE_ID_FLAG],async 'dryRun'(_0x540f3c){const _0x466e76=a50_0x491738,_0x4c231f=await prepare(_0x540f3c);return dryRun(_0x466e76(0x1c2),'/client/permit/role/delete')['body']({'id':_0x4c231f['id']})['description'](_0x466e76(0x1b6))['build']();},async 'execute'(_0x5786fb){const _0x108732=a50_0x491738,_0x5107a9=await prepare(_0x5786fb);return await deleteRuntimeAppRole(_0x5107a9['id']),{'ok':!![],'data':runtimeRoleWriteResult(_0x108732(0x1b2),{'roleId':_0x5107a9['id']},projectRuntimeRole(_0x5107a9),null,{'method':_0x108732(0x1c2),'path':_0x108732(0x1b9)})};}};
1
+ const a50_0xf82c24=a50_0x3c83;(function(_0x13d3bb,_0x10a713){const _0x6d87d0=a50_0x3c83,_0x51bef0=_0x13d3bb();while(!![]){try{const _0x5332ac=parseInt(_0x6d87d0(0x11b))/0x1*(parseInt(_0x6d87d0(0x118))/0x2)+-parseInt(_0x6d87d0(0x11c))/0x3*(parseInt(_0x6d87d0(0x116))/0x4)+parseInt(_0x6d87d0(0x11e))/0x5+parseInt(_0x6d87d0(0x113))/0x6*(parseInt(_0x6d87d0(0x121))/0x7)+parseInt(_0x6d87d0(0x114))/0x8*(-parseInt(_0x6d87d0(0x10c))/0x9)+-parseInt(_0x6d87d0(0x119))/0xa*(-parseInt(_0x6d87d0(0x120))/0xb)+parseInt(_0x6d87d0(0x10d))/0xc*(-parseInt(_0x6d87d0(0x110))/0xd);if(_0x5332ac===_0x10a713)break;else _0x51bef0['push'](_0x51bef0['shift']());}catch(_0x3bfa90){_0x51bef0['push'](_0x51bef0['shift']());}}}(a50_0x34c8,0xa58dd));function a50_0x34c8(){const _0x411c55=['1031utliYj','201237XfUHwN','POST','3677595eTkvnf','Delete\x20a\x20runtime\x20CUSTOM\x20role','11ksTuLW','77ecyJGd','9jVZUTd','12mxGulQ','build','appCode','16416751uTGCCz','/client/permit/role/delete','delete','613842kAwQmw','8153192ruJxAn','high-risk-write','36qnEVmt','Preview:\x20delete\x20a\x20runtime\x20CUSTOM\x20role','1322kCZcIf','10214090glUpsw','description'];a50_0x34c8=function(){return _0x411c55;};return a50_0x34c8();}function a50_0x3c83(_0x55b48b,_0x37ad5f){_0x55b48b=_0x55b48b-0x10c;const _0x34c8e7=a50_0x34c8();let _0x3c8364=_0x34c8e7[_0x55b48b];return _0x3c8364;}import{deleteRuntimeAppRole}from'../../core/api-client.js';import{dryRun}from'../../framework/dryrun.js';import{assertCustomRuntimeRole,getRuntimeRoleById,projectRuntimeRole,ROLE_ID_FLAG,runtimeRoleWriteResult}from'../../commands/role/shared.js';async function prepare(_0x283c03){const _0x203f44=a50_0x3c83,_0xde73c7=await getRuntimeRoleById(_0x283c03[_0x203f44(0x10f)],_0x283c03['num']('id'));return assertCustomRuntimeRole(_0xde73c7,_0x203f44(0x112)),_0xde73c7;}export const roleDelete={'service':'role','command':a50_0xf82c24(0x112),'description':a50_0xf82c24(0x11f),'risk':a50_0xf82c24(0x115),'confirmationDescription':'Deletes\x20the\x20custom\x20role\x20in\x20the\x20current\x20runtime\x20app.\x20Membership\x20and\x20permission\x20config\x20for\x20that\x20role\x20may\x20become\x20invalid.','flags':[ROLE_ID_FLAG],async 'dryRun'(_0x355e31){const _0x10ac7d=a50_0xf82c24,_0x16d29e=await prepare(_0x355e31);return dryRun(_0x10ac7d(0x11d),'/client/permit/role/delete')['body']({'id':_0x16d29e['id']})[_0x10ac7d(0x11a)](_0x10ac7d(0x117))[_0x10ac7d(0x10e)]();},async 'execute'(_0x35d99c){const _0x52a341=a50_0xf82c24,_0x2be188=await prepare(_0x35d99c);return await deleteRuntimeAppRole(_0x2be188['id']),{'ok':!![],'data':runtimeRoleWriteResult('delete',{'roleId':_0x2be188['id']},projectRuntimeRole(_0x2be188),null,{'method':_0x52a341(0x11d),'path':_0x52a341(0x111)})};}};
@@ -1 +1 @@
1
- const a51_0x11f9a8=a51_0x516a;function a51_0x59ca(){const _0x4043db=['Show\x20one\x20runtime\x20role\x20by\x20ID','47604YPyUKV','role','runtime','25QZuLZv','2223vVLTUX','appCode','read','987872oZrdAF','124436VajvkZ','num','16056GGfPxc','13939kIZspt','191275OAfmZt','1542705KZxRNs'];a51_0x59ca=function(){return _0x4043db;};return a51_0x59ca();}function a51_0x516a(_0x391802,_0x38dcae){_0x391802=_0x391802-0xdc;const _0x59caa5=a51_0x59ca();let _0x516aad=_0x59caa5[_0x391802];return _0x516aad;}(function(_0x516f27,_0x488ee8){const _0x4b019e=a51_0x516a,_0x6d3ce9=_0x516f27();while(!![]){try{const _0x19b94a=-parseInt(_0x4b019e(0xe1))/0x1+-parseInt(_0x4b019e(0xdd))/0x2+parseInt(_0x4b019e(0xe3))/0x3+parseInt(_0x4b019e(0xde))/0x4*(-parseInt(_0x4b019e(0xe8))/0x5)+-parseInt(_0x4b019e(0xe5))/0x6+parseInt(_0x4b019e(0xe2))/0x7+parseInt(_0x4b019e(0xe0))/0x8*(parseInt(_0x4b019e(0xe9))/0x9);if(_0x19b94a===_0x488ee8)break;else _0x6d3ce9['push'](_0x6d3ce9['shift']());}catch(_0xfc6203){_0x6d3ce9['push'](_0x6d3ce9['shift']());}}}(a51_0x59ca,0x5956f));import{getRuntimeRoleById,projectRuntimeRole,ROLE_ID_FLAG}from'../../commands/role/shared.js';export const roleDetail={'service':a51_0x11f9a8(0xe6),'command':'detail','description':a51_0x11f9a8(0xe4),'risk':a51_0x11f9a8(0xdc),'flags':[ROLE_ID_FLAG],async 'execute'(_0x345ef2){const _0xfbadf2=a51_0x11f9a8,_0x546648=await getRuntimeRoleById(_0x345ef2[_0xfbadf2(0xea)],_0x345ef2[_0xfbadf2(0xdf)]('id'));return{'ok':!![],'data':{'scope':_0xfbadf2(0xe7),'role':projectRuntimeRole(_0x546648)}};}};
1
+ const a51_0x40501f=a51_0x1397;(function(_0x2ea046,_0x17406d){const _0x3262a1=a51_0x1397,_0x155f4f=_0x2ea046();while(!![]){try{const _0x5aae88=parseInt(_0x3262a1(0x14c))/0x1+-parseInt(_0x3262a1(0x142))/0x2*(parseInt(_0x3262a1(0x149))/0x3)+parseInt(_0x3262a1(0x145))/0x4*(parseInt(_0x3262a1(0x14a))/0x5)+parseInt(_0x3262a1(0x148))/0x6+-parseInt(_0x3262a1(0x144))/0x7*(-parseInt(_0x3262a1(0x147))/0x8)+-parseInt(_0x3262a1(0x146))/0x9+-parseInt(_0x3262a1(0x14b))/0xa;if(_0x5aae88===_0x17406d)break;else _0x155f4f['push'](_0x155f4f['shift']());}catch(_0x79a21b){_0x155f4f['push'](_0x155f4f['shift']());}}}(a51_0x4597,0xd3f26));function a51_0x4597(){const _0x179138=['2768952BwpvjR','489921PpFkaF','230YMNkKK','2896730UejjYy','270278McuMNd','Show\x20one\x20runtime\x20role\x20by\x20ID','detail','num','read','appCode','14XhhXAo','role','107499LLIZXS','142756NptfrO','7148583ATZsoL','376FjNaUb'];a51_0x4597=function(){return _0x179138;};return a51_0x4597();}import{getRuntimeRoleById,projectRuntimeRole,ROLE_ID_FLAG}from'../../commands/role/shared.js';function a51_0x1397(_0x5724e5,_0xdddf9a){_0x5724e5=_0x5724e5-0x142;const _0x459799=a51_0x4597();let _0x139715=_0x459799[_0x5724e5];return _0x139715;}export const roleDetail={'service':a51_0x40501f(0x143),'command':a51_0x40501f(0x14e),'description':a51_0x40501f(0x14d),'risk':a51_0x40501f(0x150),'flags':[ROLE_ID_FLAG],async 'execute'(_0x3dce02){const _0x385c85=a51_0x40501f,_0x4beae7=await getRuntimeRoleById(_0x3dce02[_0x385c85(0x151)],_0x3dce02[_0x385c85(0x14f)]('id'));return{'ok':!![],'data':{'scope':'runtime','role':projectRuntimeRole(_0x4beae7)}};}};
@@ -1 +1 @@
1
- (function(_0x1db350,_0x24d893){const _0x1181ac=a52_0x39bb,_0x30f5af=_0x1db350();while(!![]){try{const _0x3de428=parseInt(_0x1181ac(0xe7))/0x1+parseInt(_0x1181ac(0xed))/0x2+parseInt(_0x1181ac(0xeb))/0x3+-parseInt(_0x1181ac(0xe8))/0x4+parseInt(_0x1181ac(0xea))/0x5+-parseInt(_0x1181ac(0xe9))/0x6+-parseInt(_0x1181ac(0xec))/0x7;if(_0x3de428===_0x24d893)break;else _0x30f5af['push'](_0x30f5af['shift']());}catch(_0x398b6e){_0x30f5af['push'](_0x30f5af['shift']());}}}(a52_0x3f0a,0xd47e0));import{roleList}from'../../commands/role/list.js';function a52_0x39bb(_0xb7357c,_0x5b8ce5){_0xb7357c=_0xb7357c-0xe7;const _0x3f0a3e=a52_0x3f0a();let _0x39bb1c=_0x3f0a3e[_0xb7357c];return _0x39bb1c;}import{roleDetail}from'../../commands/role/detail.js';function a52_0x3f0a(){const _0x3aa6f6=['2816052saKeDY','920334hQhLRK','4506308oUWffu','5204652csbEGr','2531185OjBiqh','654300KSnMvZ','1318170FBAHXd'];a52_0x3f0a=function(){return _0x3aa6f6;};return a52_0x3f0a();}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';export const roleDefinitions=[roleList,roleDetail,roleCreate,roleUpdate,roleDelete,roleUserAdd,roleUserRemove];
1
+ function a52_0x136f(_0xd31ba4,_0x1c4a38){_0xd31ba4=_0xd31ba4-0xb5;const _0x528635=a52_0x5286();let _0x136f8c=_0x528635[_0xd31ba4];return _0x136f8c;}(function(_0x483ca2,_0x192d4e){const _0x2f22d9=a52_0x136f,_0x3e2805=_0x483ca2();while(!![]){try{const _0x1a93f5=-parseInt(_0x2f22d9(0xba))/0x1+-parseInt(_0x2f22d9(0xbc))/0x2*(-parseInt(_0x2f22d9(0xbb))/0x3)+parseInt(_0x2f22d9(0xb7))/0x4+-parseInt(_0x2f22d9(0xbe))/0x5*(-parseInt(_0x2f22d9(0xb8))/0x6)+-parseInt(_0x2f22d9(0xb5))/0x7*(-parseInt(_0x2f22d9(0xb9))/0x8)+parseInt(_0x2f22d9(0xb6))/0x9+-parseInt(_0x2f22d9(0xbd))/0xa;if(_0x1a93f5===_0x192d4e)break;else _0x3e2805['push'](_0x3e2805['shift']());}catch(_0x55a49f){_0x3e2805['push'](_0x3e2805['shift']());}}}(a52_0x5286,0xace3d));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';export const roleDefinitions=[roleList,roleDetail,roleCreate,roleUpdate,roleDelete,roleUserAdd,roleUserRemove];function a52_0x5286(){const _0xef1c8a=['1031084mrVxfp','582HVCEqa','232cOdiFS','994103GujmhW','114xNBAvT','69210klCAGz','22130980GJqJNr','25685wUKjvR','119231RhGiMT','12153159LCXPxH'];a52_0x5286=function(){return _0xef1c8a;};return a52_0x5286();}
@@ -1 +1 @@
1
- const a53_0x5686ba=a53_0x2898;(function(_0x30f2a9,_0x54990c){const _0x1bda17=a53_0x2898,_0x16e0ea=_0x30f2a9();while(!![]){try{const _0x1e363b=-parseInt(_0x1bda17(0x9a))/0x1*(-parseInt(_0x1bda17(0x8f))/0x2)+-parseInt(_0x1bda17(0x77))/0x3*(parseInt(_0x1bda17(0x91))/0x4)+-parseInt(_0x1bda17(0x78))/0x5*(parseInt(_0x1bda17(0x8c))/0x6)+-parseInt(_0x1bda17(0x95))/0x7*(parseInt(_0x1bda17(0x82))/0x8)+-parseInt(_0x1bda17(0x84))/0x9*(parseInt(_0x1bda17(0x7d))/0xa)+parseInt(_0x1bda17(0x85))/0xb+parseInt(_0x1bda17(0x7f))/0xc*(parseInt(_0x1bda17(0x72))/0xd);if(_0x1e363b===_0x54990c)break;else _0x16e0ea['push'](_0x16e0ea['shift']());}catch(_0x1870ad){_0x16e0ea['push'](_0x16e0ea['shift']());}}}(a53_0xd894,0xd25de));import{listRuntimeAppRoles}from'../../core/api-client.js';function a53_0xd894(){const _0x344d3c=['156drSdEa','Runtime\x20role\x20type','string','8bAGaEO','length','11107836cBLlvT','665049uAAMhp','list','type','trim','items','str','name','125634ltdYKc','paging','Invalid\x20runtime\x20role\x20type:\x20','54814XwUdJO','slice','1092908zXxIhQ','Fuzzy\x20role-name\x20filter','runtime','map','6806394lIcAlp','num','appCode','number','pagesize','19WoIiyw','3431311WWlOcf','roleType','isSafeInteger','Page\x20number','--pagesize\x20must\x20be\x20an\x20integer\x20from\x201\x20to\x20100.','6vwHpSa','95WkBszL','read','Page\x20size\x20from\x201\x20to\x20100','toUpperCase','validation','10DuCKVF','filter'];a53_0xd894=function(){return _0x344d3c;};return a53_0xd894();}import{CliErrors}from'../../errors.js';function a53_0x2898(_0x1b16bd,_0x31d69a){_0x1b16bd=_0x1b16bd-0x72;const _0xd894a=a53_0xd894();let _0x28989c=_0xd894a[_0x1b16bd];return _0x28989c;}import{listAllRuntimeRoles,projectRuntimeRole,RUNTIME_ROLE_TYPES}from'../../commands/role/shared.js';export const roleList={'service':'role','command':a53_0x5686ba(0x86),'description':'List\x20runtime\x20roles\x20for\x20the\x20current\x20app','risk':a53_0x5686ba(0x79),'flags':[{'name':'type','type':a53_0x5686ba(0x81),'enum':RUNTIME_ROLE_TYPES,'description':a53_0x5686ba(0x80)},{'name':'name','type':'string','description':a53_0x5686ba(0x92)},{'name':'page','type':a53_0x5686ba(0x98),'default':0x1,'description':a53_0x5686ba(0x75)},{'name':a53_0x5686ba(0x99),'type':'number','default':0x64,'description':a53_0x5686ba(0x7a)}],async 'validate'(_0x1f9061){const _0x471c77=a53_0x5686ba,_0x4dcefa=_0x1f9061[_0x471c77(0x8a)](_0x471c77(0x87))['toUpperCase']();if(_0x4dcefa&&!RUNTIME_ROLE_TYPES['includes'](_0x4dcefa))throw CliErrors['validation'](_0x471c77(0x8e)+_0x4dcefa+'.');const _0x38f9c4=_0x1f9061[_0x471c77(0x96)]('page',0x1),_0x518b48=_0x1f9061['num'](_0x471c77(0x99),0x64);if(!Number['isSafeInteger'](_0x38f9c4)||_0x38f9c4<0x1)throw CliErrors[_0x471c77(0x7c)]('--page\x20must\x20be\x20a\x20positive\x20integer.');if(!Number[_0x471c77(0x74)](_0x518b48)||_0x518b48<0x1||_0x518b48>0x64)throw CliErrors['validation'](_0x471c77(0x76));},async 'execute'(_0x41172d){const _0x2d8b91=a53_0x5686ba,_0x41b8db=_0x41172d[_0x2d8b91(0x8a)](_0x2d8b91(0x87))[_0x2d8b91(0x7b)](),_0x5ef5ec=_0x41172d['str'](_0x2d8b91(0x8b))[_0x2d8b91(0x88)](),_0x2d8372=_0x41172d['num']('page',0x1),_0x6dca5e=_0x41172d[_0x2d8b91(0x96)](_0x2d8b91(0x99),0x64);if(_0x41b8db){const _0x5ef196=(await listAllRuntimeRoles(_0x41172d['appCode'],{..._0x5ef5ec?{'roleName':_0x5ef5ec}:{}}))[_0x2d8b91(0x7e)](_0x5bd9c8=>_0x5bd9c8[_0x2d8b91(0x73)]===_0x41b8db),_0x560b63=(_0x2d8372-0x1)*_0x6dca5e;return{'ok':!![],'data':{'scope':_0x2d8b91(0x93),'roles':_0x5ef196[_0x2d8b91(0x90)](_0x560b63,_0x560b63+_0x6dca5e)[_0x2d8b91(0x94)](projectRuntimeRole),'paging':{'currentPage':_0x2d8372,'pageSize':_0x6dca5e,'totalCount':_0x5ef196[_0x2d8b91(0x83)]}}};}const _0x2ea003=await listRuntimeAppRoles(_0x41172d[_0x2d8b91(0x97)],{..._0x5ef5ec?{'roleName':_0x5ef5ec}:{},'currentPage':_0x2d8372,'pageSize':_0x6dca5e});return{'ok':!![],'data':{'scope':_0x2d8b91(0x93),'roles':_0x2ea003[_0x2d8b91(0x89)][_0x2d8b91(0x94)](projectRuntimeRole),'paging':_0x2ea003[_0x2d8b91(0x8d)]}};}};
1
+ const a53_0x3cdb50=a53_0x4652;(function(_0x28c34f,_0x559dc0){const _0x9a5656=a53_0x4652,_0x38b2d0=_0x28c34f();while(!![]){try{const _0x45b841=parseInt(_0x9a5656(0xc8))/0x1+-parseInt(_0x9a5656(0xb2))/0x2*(parseInt(_0x9a5656(0xca))/0x3)+parseInt(_0x9a5656(0xb8))/0x4*(parseInt(_0x9a5656(0xba))/0x5)+parseInt(_0x9a5656(0xc3))/0x6*(parseInt(_0x9a5656(0xac))/0x7)+-parseInt(_0x9a5656(0xc0))/0x8+parseInt(_0x9a5656(0xb5))/0x9*(parseInt(_0x9a5656(0xbe))/0xa)+-parseInt(_0x9a5656(0xbb))/0xb;if(_0x45b841===_0x559dc0)break;else _0x38b2d0['push'](_0x38b2d0['shift']());}catch(_0x406eb4){_0x38b2d0['push'](_0x38b2d0['shift']());}}}(a53_0x285f,0xdd5d4));import{listRuntimeAppRoles}from'../../core/api-client.js';function a53_0x285f(){const _0x3bd213=['number','52zlYPBN','Page\x20number','321185VXSzlz','12175581LOXQwS','Runtime\x20role\x20type','string','4243510lDpjJs','toUpperCase','1276400KoPIpR','slice','validation','102zbdHGv','str','name','Page\x20size\x20from\x201\x20to\x20100','includes','653174yVRzvT','pagesize','1059609QfgltN','--page\x20must\x20be\x20a\x20positive\x20integer.','page','num','filter','runtime','List\x20runtime\x20roles\x20for\x20the\x20current\x20app','type','length','368851mQWJyA','--pagesize\x20must\x20be\x20an\x20integer\x20from\x201\x20to\x20100.','Fuzzy\x20role-name\x20filter','paging','read','isSafeInteger','6bhHrCY','trim','map','18RgTqiQ','appCode'];a53_0x285f=function(){return _0x3bd213;};return a53_0x285f();}import{CliErrors}from'../../errors.js';function a53_0x4652(_0x48dc7d,_0x4eb22f){_0x48dc7d=_0x48dc7d-0xac;const _0x285fbe=a53_0x285f();let _0x46528b=_0x285fbe[_0x48dc7d];return _0x46528b;}import{listAllRuntimeRoles,projectRuntimeRole,RUNTIME_ROLE_TYPES}from'../../commands/role/shared.js';export const roleList={'service':'role','command':'list','description':a53_0x3cdb50(0xd0),'risk':a53_0x3cdb50(0xb0),'flags':[{'name':a53_0x3cdb50(0xd1),'type':a53_0x3cdb50(0xbd),'enum':RUNTIME_ROLE_TYPES,'description':a53_0x3cdb50(0xbc)},{'name':a53_0x3cdb50(0xc5),'type':'string','description':a53_0x3cdb50(0xae)},{'name':a53_0x3cdb50(0xcc),'type':a53_0x3cdb50(0xb7),'default':0x1,'description':a53_0x3cdb50(0xb9)},{'name':a53_0x3cdb50(0xc9),'type':a53_0x3cdb50(0xb7),'default':0x64,'description':a53_0x3cdb50(0xc6)}],async 'validate'(_0x4d0566){const _0x3d1448=a53_0x3cdb50,_0x40ba45=_0x4d0566[_0x3d1448(0xc4)]('type')[_0x3d1448(0xbf)]();if(_0x40ba45&&!RUNTIME_ROLE_TYPES[_0x3d1448(0xc7)](_0x40ba45))throw CliErrors[_0x3d1448(0xc2)]('Invalid\x20runtime\x20role\x20type:\x20'+_0x40ba45+'.');const _0xdc7565=_0x4d0566[_0x3d1448(0xcd)](_0x3d1448(0xcc),0x1),_0x2a0870=_0x4d0566[_0x3d1448(0xcd)](_0x3d1448(0xc9),0x64);if(!Number[_0x3d1448(0xb1)](_0xdc7565)||_0xdc7565<0x1)throw CliErrors[_0x3d1448(0xc2)](_0x3d1448(0xcb));if(!Number[_0x3d1448(0xb1)](_0x2a0870)||_0x2a0870<0x1||_0x2a0870>0x64)throw CliErrors['validation'](_0x3d1448(0xad));},async 'execute'(_0x192734){const _0x4a74cb=a53_0x3cdb50,_0x317da2=_0x192734[_0x4a74cb(0xc4)](_0x4a74cb(0xd1))[_0x4a74cb(0xbf)](),_0x3d713b=_0x192734[_0x4a74cb(0xc4)](_0x4a74cb(0xc5))[_0x4a74cb(0xb3)](),_0x4d6718=_0x192734['num']('page',0x1),_0xa5a1ef=_0x192734['num'](_0x4a74cb(0xc9),0x64);if(_0x317da2){const _0x5e7833=(await listAllRuntimeRoles(_0x192734[_0x4a74cb(0xb6)],{..._0x3d713b?{'roleName':_0x3d713b}:{}}))[_0x4a74cb(0xce)](_0x630433=>_0x630433['roleType']===_0x317da2),_0x3a2be2=(_0x4d6718-0x1)*_0xa5a1ef;return{'ok':!![],'data':{'scope':_0x4a74cb(0xcf),'roles':_0x5e7833[_0x4a74cb(0xc1)](_0x3a2be2,_0x3a2be2+_0xa5a1ef)[_0x4a74cb(0xb4)](projectRuntimeRole),'paging':{'currentPage':_0x4d6718,'pageSize':_0xa5a1ef,'totalCount':_0x5e7833[_0x4a74cb(0xd2)]}}};}const _0x564a7c=await listRuntimeAppRoles(_0x192734[_0x4a74cb(0xb6)],{..._0x3d713b?{'roleName':_0x3d713b}:{},'currentPage':_0x4d6718,'pageSize':_0xa5a1ef});return{'ok':!![],'data':{'scope':'runtime','roles':_0x564a7c['items']['map'](projectRuntimeRole),'paging':_0x564a7c[_0x4a74cb(0xaf)]}};}};
@@ -1 +1 @@
1
- const a54_0x113a5b=a54_0x5bd5;(function(_0xc67f8c,_0x5ba016){const _0x3e24a2=a54_0x5bd5,_0x322c8d=_0xc67f8c();while(!![]){try{const _0x3080b=-parseInt(_0x3e24a2(0xcf))/0x1+parseInt(_0x3e24a2(0xd3))/0x2+parseInt(_0x3e24a2(0xd0))/0x3+parseInt(_0x3e24a2(0xf6))/0x4*(parseInt(_0x3e24a2(0xe5))/0x5)+-parseInt(_0x3e24a2(0xda))/0x6+parseInt(_0x3e24a2(0xe0))/0x7*(parseInt(_0x3e24a2(0xed))/0x8)+-parseInt(_0x3e24a2(0xd2))/0x9*(-parseInt(_0x3e24a2(0xc5))/0xa);if(_0x3080b===_0x5ba016)break;else _0x322c8d['push'](_0x322c8d['shift']());}catch(_0xe18b7f){_0x322c8d['push'](_0x322c8d['shift']());}}}(a54_0x4328,0xd27a4));import{listRuntimeAppUsers,listRuntimeAppRoles,listRuntimeRoleUsers}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';export const RUNTIME_ROLE_TYPES=['ADMIN','USER',a54_0x113a5b(0xbe),a54_0x113a5b(0xf1)];const BUILTIN_ROLE_TYPES=[a54_0x113a5b(0xe6),a54_0x113a5b(0xfa),'OWNER'];export const ROLE_ID_FLAG={'name':'id','type':a54_0x113a5b(0xfe),'required':!![],'description':'Runtime\x20role\x20ID\x20returned\x20by\x20role\x20list'};export const ROLE_REF_FLAG={'name':'role','type':a54_0x113a5b(0xfc),'required':!![],'description':a54_0x113a5b(0xee)};export const USER_ID_FLAG={'name':a54_0x113a5b(0xfb),'type':a54_0x113a5b(0xfc),'required':!![],'description':a54_0x113a5b(0x100)};function a54_0x5bd5(_0x35e1b2,_0x146177){_0x35e1b2=_0x35e1b2-0xbd;const _0x4328e7=a54_0x4328();let _0x5bd55f=_0x4328e7[_0x35e1b2];return _0x5bd55f;}export const EXPECT_USER_COUNT_FLAG={'name':a54_0x113a5b(0xc8),'type':a54_0x113a5b(0xfe),'description':'Reject\x20when\x20the\x20target\x20role\x20member\x20count\x20has\x20changed'};function a54_0x4328(){const _0xfc0f76=['CUSTOM','filter','str','map','Runtime\x20role\x20membership\x20requires\x20a\x20numeric\x20userId.','6548MjzOBi','trim','\x20is\x20already\x20in\x20runtime\x20role\x20','\x20was\x20not\x20found\x20in\x20app\x20','USER','user','string','Read\x20the\x20current\x20members\x20and\x20retry\x20with\x20the\x20new\x20expected\x20count.','number','Run\x20`lovrabet\x20role\x20list`\x20or\x20pass\x20--role\x20<id>.','Runtime\x20numeric\x20userId','find','Transfer\x20or\x20manage\x20application\x20ownership\x20through\x20the\x20dedicated\x20application\x20workflow.','Use\x20a\x20numeric\x20userId\x20returned\x20by\x20the\x20current\x20application\x27s\x20personnel\x20list.','OWNER','Pass\x20one\x20role\x20ID:\x20','userId','roleName','user-add','appCode','User\x20','1245480PDkGnH','Only\x20CUSTOM\x20runtime\x20roles\x20can\x20be\x20modified\x20or\x20deleted.','applyUserList','expect-user-count','Runtime\x20role\x20name\x20\x22','roleType','paging','test','Cannot\x20','userName','808040aibryy','2011257usIodx','join','63LhejQq','1551380jcbECG','push','Pass\x20--role\x20<id|name>.','includes','Reload\x20the\x20role\x20list\x20and\x20retry\x20after\x20the\x20server\x20state\x20is\x20consistent.','flag','Role\x20ID\x20must\x20be\x20a\x20positive\x20integer.','6646254weJaZe','\x20built-in\x20runtime\x20role\x20','userList','Run\x20`lovrabet\x20role\x20list`\x20and\x20use\x20a\x20role\x20from\x20the\x20current\x20app.','userCount','\x22\x20was\x20not\x20found\x20in\x20app\x20','28133kPKfQF','length','isSafeInteger','validation','role','435aLOeuq','ADMIN','totalCount','Runtime\x20userId\x20must\x20be\x20a\x20positive\x20safe\x20integer.','Runtime\x20role\x20member\x20count\x20changed:\x20expected\x20','Runtime\x20role\x20','items','Missing\x20runtime\x20role\x20reference.','632oyQKyl','Runtime\x20role\x20ID\x20or\x20exact\x20role\x20name','code','num'];a54_0x4328=function(){return _0xfc0f76;};return a54_0x4328();}export function isBuiltinRuntimeRole(_0x2037be){const _0x248e0c=a54_0x113a5b;return BUILTIN_ROLE_TYPES[_0x248e0c(0xd6)](_0x2037be);}export function assertCustomRuntimeRole(_0x579d5c,_0x82543b){const _0x37b4f9=a54_0x113a5b;if(_0x579d5c[_0x37b4f9(0xca)]!==_0x37b4f9(0xf1))throw CliErrors[_0x37b4f9(0xe3)](_0x37b4f9(0xcd)+_0x82543b+_0x37b4f9(0xdb)+_0x579d5c[_0x37b4f9(0xc1)]+'\x20('+_0x579d5c['roleType']+').',_0x37b4f9(0xc6));}export function projectRuntimeRole(_0x473707){const _0x32026d=a54_0x113a5b;return{'id':_0x473707['id'],'roleName':_0x473707[_0x32026d(0xc1)],'roleType':_0x473707[_0x32026d(0xca)],'remark':_0x473707['remark'],'userCount':_0x473707[_0x32026d(0xde)]??0x0,'permitCount':_0x473707['permitCount']??0x0,'builtin':isBuiltinRuntimeRole(_0x473707['roleType'])};}export async function getRuntimeRoleById(_0x798fd7,_0x50a6dc){const _0x139376=a54_0x113a5b;if(!Number[_0x139376(0xe2)](_0x50a6dc)||_0x50a6dc<=0x0)throw CliErrors[_0x139376(0xe3)](_0x139376(0xd9));const _0x13a109=(await listAllRuntimeRoles(_0x798fd7))[_0x139376(0xf2)](_0x1f3370=>_0x1f3370['id']===_0x50a6dc&&(!_0x1f3370[_0x139376(0xc3)]||_0x1f3370['appCode']===_0x798fd7));if(_0x13a109[_0x139376(0xe1)]!==0x1)throw CliErrors[_0x139376(0xe3)]('Runtime\x20role\x20id\x20'+_0x50a6dc+_0x139376(0xf9)+_0x798fd7+'.',_0x139376(0xdd));return _0x13a109[0x0];}export async function listAllRuntimeRoles(_0x57516c,_0x4e5021={}){const _0x24859f=a54_0x113a5b,_0x3b656c=0x64,_0x19324b=[];for(let _0x13fe25=0x1;;_0x13fe25+=0x1){const _0x13384b=await listRuntimeAppRoles(_0x57516c,{..._0x4e5021[_0x24859f(0xc1)]?{'roleName':_0x4e5021[_0x24859f(0xc1)]}:{},'currentPage':_0x13fe25,'pageSize':_0x3b656c});_0x19324b[_0x24859f(0xd4)](..._0x13384b['items']);if(_0x13384b[_0x24859f(0xeb)][_0x24859f(0xe1)]<_0x3b656c||_0x13384b[_0x24859f(0xcb)]&&_0x19324b['length']>=_0x13384b[_0x24859f(0xcb)][_0x24859f(0xe7)])return _0x19324b;}}export async function resolveRuntimeRoleRef(_0x52c6a0,_0x461d62){const _0x262662=a54_0x113a5b,_0x147761=_0x461d62['trim']();if(!_0x147761)throw CliErrors['validation'](_0x262662(0xec),_0x262662(0xd5));if(/^\d+$/[_0x262662(0xcc)](_0x147761))return getRuntimeRoleById(_0x52c6a0,Number(_0x147761));const _0xfc8050=(await listAllRuntimeRoles(_0x52c6a0))[_0x262662(0xf2)](_0x580253=>_0x580253[_0x262662(0xc1)]===_0x147761);if(_0xfc8050[_0x262662(0xe1)]===0x0)throw CliErrors['validation'](_0x262662(0xc9)+_0x147761+_0x262662(0xdf)+_0x52c6a0+'.',_0x262662(0xff));if(_0xfc8050[_0x262662(0xe1)]>0x1)throw CliErrors[_0x262662(0xe3)]('Runtime\x20role\x20name\x20\x22'+_0x147761+'\x22\x20is\x20ambiguous.',_0x262662(0xbf)+_0xfc8050[_0x262662(0xf4)](_0x1df087=>_0x1df087['id'])[_0x262662(0xd1)](',\x20')+'.');return _0xfc8050[0x0];}function parseRuntimeUserId(_0x44bca9){const _0x2f820a=a54_0x113a5b,_0xd00f2f=_0x44bca9[_0x2f820a(0xf7)]();if(!/^\d+$/[_0x2f820a(0xcc)](_0xd00f2f))throw CliErrors[_0x2f820a(0xe3)](_0x2f820a(0xf5),'Pass\x20--user\x20<userId>;\x20name\x20and\x20account\x20lookup\x20are\x20not\x20available\x20in\x20runtime\x20scope.');const _0x55f5c5=Number(_0xd00f2f);if(!Number[_0x2f820a(0xe2)](_0x55f5c5)||_0x55f5c5<=0x0)throw CliErrors[_0x2f820a(0xe3)](_0x2f820a(0xe8));return _0x55f5c5;}export async function prepareRuntimeMemberMutation(_0x255c3c,_0x49201e){const _0x5db32f=a54_0x113a5b,_0x320e33=await resolveRuntimeRoleRef(_0x255c3c['appCode'],_0x255c3c[_0x5db32f(0xf3)](_0x5db32f(0xe4)));if(_0x320e33[_0x5db32f(0xca)]===_0x5db32f(0xbe))throw CliErrors['validation']('OWNER\x20runtime\x20role\x20membership\x20cannot\x20be\x20changed\x20with\x20this\x20command.',_0x5db32f(0x102));const _0x47148a=parseRuntimeUserId(_0x255c3c['str']('user')),_0x274e6c=(await listRuntimeRoleUsers(_0x255c3c[_0x5db32f(0xc3)]))[_0x5db32f(0xf4)](_0x49d500=>({..._0x49d500,'userList':[..._0x49d500[_0x5db32f(0xdc)]??[]],'applyUserList':[..._0x49d500[_0x5db32f(0xc7)]??[]]})),_0x4f7ee2=_0x274e6c[_0x5db32f(0x101)](_0x453aab=>_0x453aab['id']===_0x320e33['id']);if(!_0x4f7ee2)throw CliErrors[_0x5db32f(0xe3)](_0x5db32f(0xea)+_0x320e33['id']+'\x20is\x20missing\x20from\x20the\x20grouped\x20member\x20snapshot.',_0x5db32f(0xd7));const _0x24a832=_0x4f7ee2[_0x5db32f(0xdc)][_0x5db32f(0xf4)](_0x4d23f3=>_0x4d23f3[_0x5db32f(0xc0)]),_0x50966f=_0x255c3c[_0x5db32f(0xd8)](_0x5db32f(0xc8));if(_0x50966f!==undefined&&_0x50966f!==null&&_0x50966f!==''){const _0xf9620b=_0x255c3c[_0x5db32f(0xf0)]('expect-user-count');if(!Number[_0x5db32f(0xe2)](_0xf9620b)||_0xf9620b<0x0)throw CliErrors[_0x5db32f(0xe3)]('--expect-user-count\x20must\x20be\x20a\x20non-negative\x20integer.');if(_0x24a832[_0x5db32f(0xe1)]!==_0xf9620b)throw CliErrors[_0x5db32f(0xe3)](_0x5db32f(0xe9)+_0xf9620b+',\x20found\x20'+_0x24a832['length']+'.',_0x5db32f(0xfd));}const _0xdd1edd=_0x24a832['includes'](_0x47148a),_0x446191=[];let _0x4be9c1=!![];if(_0x49201e===_0x5db32f(0xc2)){const _0x5b51e3=await listRuntimeAppUsers(_0x255c3c[_0x5db32f(0xc3)]),_0x4564ba=_0x5b51e3[_0x5db32f(0xf2)](_0x4823bd=>Number(_0x4823bd[_0x5db32f(0xef)])===_0x47148a);if(_0x4564ba['length']!==0x1||!_0x4564ba[0x0]['userName']?.[_0x5db32f(0xf7)]())throw CliErrors[_0x5db32f(0xe3)]('Runtime\x20user\x20'+_0x47148a+_0x5db32f(0xf9)+_0x255c3c['appCode']+'.',_0x5db32f(0xbd));_0xdd1edd?(_0x4be9c1=![],_0x446191[_0x5db32f(0xd4)](_0x5db32f(0xc4)+_0x47148a+_0x5db32f(0xf8)+_0x320e33['id']+'.')):_0x4f7ee2['userList'][_0x5db32f(0xd4)]({'userId':_0x47148a,'username':_0x4564ba[0x0][_0x5db32f(0xce)]});}else!_0xdd1edd?(_0x4be9c1=![],_0x446191[_0x5db32f(0xd4)](_0x5db32f(0xc4)+_0x47148a+'\x20is\x20not\x20in\x20runtime\x20role\x20'+_0x320e33['id']+'.')):_0x4f7ee2[_0x5db32f(0xdc)]=_0x4f7ee2[_0x5db32f(0xdc)]['filter'](_0x9e0dd1=>_0x9e0dd1[_0x5db32f(0xc0)]!==_0x47148a);return{'role':_0x320e33,'userId':_0x47148a,'roleList':_0x274e6c,'before':{'userIds':_0x24a832},'after':{'userIds':_0x4f7ee2[_0x5db32f(0xdc)][_0x5db32f(0xf4)](_0x538b41=>_0x538b41[_0x5db32f(0xc0)])},'shouldWrite':_0x4be9c1,'warnings':_0x446191};}export function runtimeRoleWriteResult(_0xfbd06c,_0x4cb9eb,_0x5f3a6c,_0x527968,_0x5e2b94,_0x15ea79=[]){return{'operation':_0xfbd06c,'scope':'runtime','selector':_0x4cb9eb,'before':_0x5f3a6c,'after':_0x527968,'dryRun':![],'backend':_0x5e2b94,'warnings':_0x15ea79};}
1
+ const a54_0x4b0422=a54_0xebbd;(function(_0x57612c,_0x216d14){const _0x475824=a54_0xebbd,_0x133703=_0x57612c();while(!![]){try{const _0x37c1f9=parseInt(_0x475824(0x209))/0x1*(parseInt(_0x475824(0x206))/0x2)+parseInt(_0x475824(0x1fa))/0x3*(parseInt(_0x475824(0x219))/0x4)+-parseInt(_0x475824(0x214))/0x5*(-parseInt(_0x475824(0x20d))/0x6)+parseInt(_0x475824(0x1e6))/0x7*(-parseInt(_0x475824(0x1e7))/0x8)+-parseInt(_0x475824(0x1ec))/0x9+parseInt(_0x475824(0x1f2))/0xa+parseInt(_0x475824(0x1f8))/0xb*(parseInt(_0x475824(0x20e))/0xc);if(_0x37c1f9===_0x216d14)break;else _0x133703['push'](_0x133703['shift']());}catch(_0x31e5ff){_0x133703['push'](_0x133703['shift']());}}}(a54_0x1ce7,0x7b4e5));import{listRuntimeAppUsers,listRuntimeAppRoles,listRuntimeRoleUsers}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';export const RUNTIME_ROLE_TYPES=[a54_0x4b0422(0x1f4),a54_0x4b0422(0x1e5),a54_0x4b0422(0x215),a54_0x4b0422(0x1f5)];const BUILTIN_ROLE_TYPES=[a54_0x4b0422(0x1f4),a54_0x4b0422(0x1e5),a54_0x4b0422(0x215)];export const ROLE_ID_FLAG={'name':'id','type':'number','required':!![],'description':a54_0x4b0422(0x21d)};export const ROLE_REF_FLAG={'name':'role','type':a54_0x4b0422(0x1e0),'required':!![],'description':a54_0x4b0422(0x1fd)};export const USER_ID_FLAG={'name':a54_0x4b0422(0x20b),'type':a54_0x4b0422(0x1e0),'required':!![],'description':'Runtime\x20numeric\x20userId'};export const EXPECT_USER_COUNT_FLAG={'name':'expect-user-count','type':a54_0x4b0422(0x1de),'description':a54_0x4b0422(0x1dc)};export function isBuiltinRuntimeRole(_0x10b2c6){return BUILTIN_ROLE_TYPES['includes'](_0x10b2c6);}export function assertCustomRuntimeRole(_0x5614e0,_0x54bc75){const _0x5b022e=a54_0x4b0422;if(_0x5614e0['roleType']!==_0x5b022e(0x1f5))throw CliErrors[_0x5b022e(0x1ed)](_0x5b022e(0x1fe)+_0x54bc75+'\x20built-in\x20runtime\x20role\x20'+_0x5614e0[_0x5b022e(0x200)]+'\x20('+_0x5614e0[_0x5b022e(0x20a)]+').',_0x5b022e(0x1e4));}export function projectRuntimeRole(_0x4ed45d){const _0x333066=a54_0x4b0422;return{'id':_0x4ed45d['id'],'roleName':_0x4ed45d[_0x333066(0x200)],'roleType':_0x4ed45d[_0x333066(0x20a)],'remark':_0x4ed45d[_0x333066(0x1ef)],'userCount':_0x4ed45d[_0x333066(0x1f9)]??0x0,'permitCount':_0x4ed45d['permitCount']??0x0,'builtin':isBuiltinRuntimeRole(_0x4ed45d[_0x333066(0x20a)])};}function a54_0x1ce7(){const _0x5b90b0=['17021FaAvRs','roleType','user','Use\x20a\x20numeric\x20userId\x20returned\x20by\x20the\x20current\x20application\x27s\x20personnel\x20list.','3438630KCItKl','36612ZEwDBA','code','test','User\x20','Reload\x20the\x20role\x20list\x20and\x20retry\x20after\x20the\x20server\x20state\x20is\x20consistent.','join','5oGcLXJ','OWNER','Run\x20`lovrabet\x20role\x20list`\x20or\x20pass\x20--role\x20<id>.','OWNER\x20runtime\x20role\x20membership\x20cannot\x20be\x20changed\x20with\x20this\x20command.','Pass\x20--user\x20<userId>;\x20name\x20and\x20account\x20lookup\x20are\x20not\x20available\x20in\x20runtime\x20scope.','16wDPrHK','push','role','isSafeInteger','Runtime\x20role\x20ID\x20returned\x20by\x20role\x20list','expect-user-count','length','user-add','Pass\x20one\x20role\x20ID:\x20','Reject\x20when\x20the\x20target\x20role\x20member\x20count\x20has\x20changed','str','number','\x22\x20is\x20ambiguous.','string','find','Runtime\x20role\x20',',\x20found\x20','Only\x20CUSTOM\x20runtime\x20roles\x20can\x20be\x20modified\x20or\x20deleted.','USER','7HlUzCU','2408024YqoTfr','map','appCode','runtime','Missing\x20runtime\x20role\x20reference.','8305578OfzIfY','validation','includes','remark','num','Role\x20ID\x20must\x20be\x20a\x20positive\x20integer.','1623750VVFcHD','items','ADMIN','CUSTOM','Read\x20the\x20current\x20members\x20and\x20retry\x20with\x20the\x20new\x20expected\x20count.','userList','165GKsLqY','userCount','238413vMEEsP','paging','\x20is\x20not\x20in\x20runtime\x20role\x20','Runtime\x20role\x20ID\x20or\x20exact\x20role\x20name','Cannot\x20','Runtime\x20role\x20membership\x20requires\x20a\x20numeric\x20userId.','roleName','Runtime\x20role\x20name\x20\x22','\x22\x20was\x20not\x20found\x20in\x20app\x20','filter','userId','Runtime\x20role\x20id\x20','74lKrFdA','Runtime\x20role\x20member\x20count\x20changed:\x20expected\x20','Run\x20`lovrabet\x20role\x20list`\x20and\x20use\x20a\x20role\x20from\x20the\x20current\x20app.'];a54_0x1ce7=function(){return _0x5b90b0;};return a54_0x1ce7();}export async function getRuntimeRoleById(_0x340cac,_0x105be4){const _0x5a8385=a54_0x4b0422;if(!Number[_0x5a8385(0x21c)](_0x105be4)||_0x105be4<=0x0)throw CliErrors[_0x5a8385(0x1ed)](_0x5a8385(0x1f1));const _0x1b2364=(await listAllRuntimeRoles(_0x340cac))[_0x5a8385(0x203)](_0x18274e=>_0x18274e['id']===_0x105be4&&(!_0x18274e[_0x5a8385(0x1e9)]||_0x18274e[_0x5a8385(0x1e9)]===_0x340cac));if(_0x1b2364[_0x5a8385(0x1d9)]!==0x1)throw CliErrors[_0x5a8385(0x1ed)](_0x5a8385(0x205)+_0x105be4+'\x20was\x20not\x20found\x20in\x20app\x20'+_0x340cac+'.',_0x5a8385(0x208));return _0x1b2364[0x0];}function a54_0xebbd(_0x573212,_0x26b46b){_0x573212=_0x573212-0x1d9;const _0x1ce72f=a54_0x1ce7();let _0xebbd82=_0x1ce72f[_0x573212];return _0xebbd82;}export async function listAllRuntimeRoles(_0x3c64c8,_0x1da00b={}){const _0x268453=a54_0x4b0422,_0x4a6a8e=0x64,_0x2e07b9=[];for(let _0x14d015=0x1;;_0x14d015+=0x1){const _0x32914e=await listRuntimeAppRoles(_0x3c64c8,{..._0x1da00b[_0x268453(0x200)]?{'roleName':_0x1da00b[_0x268453(0x200)]}:{},'currentPage':_0x14d015,'pageSize':_0x4a6a8e});_0x2e07b9[_0x268453(0x21a)](..._0x32914e[_0x268453(0x1f3)]);if(_0x32914e[_0x268453(0x1f3)]['length']<_0x4a6a8e||_0x32914e[_0x268453(0x1fb)]&&_0x2e07b9[_0x268453(0x1d9)]>=_0x32914e[_0x268453(0x1fb)]['totalCount'])return _0x2e07b9;}}export async function resolveRuntimeRoleRef(_0x29683c,_0x5d2f3e){const _0x2225da=a54_0x4b0422,_0x49aa04=_0x5d2f3e['trim']();if(!_0x49aa04)throw CliErrors[_0x2225da(0x1ed)](_0x2225da(0x1eb),'Pass\x20--role\x20<id|name>.');if(/^\d+$/[_0x2225da(0x210)](_0x49aa04))return getRuntimeRoleById(_0x29683c,Number(_0x49aa04));const _0x23b62a=(await listAllRuntimeRoles(_0x29683c))[_0x2225da(0x203)](_0x3dac4a=>_0x3dac4a[_0x2225da(0x200)]===_0x49aa04);if(_0x23b62a[_0x2225da(0x1d9)]===0x0)throw CliErrors[_0x2225da(0x1ed)](_0x2225da(0x201)+_0x49aa04+_0x2225da(0x202)+_0x29683c+'.',_0x2225da(0x216));if(_0x23b62a['length']>0x1)throw CliErrors[_0x2225da(0x1ed)]('Runtime\x20role\x20name\x20\x22'+_0x49aa04+_0x2225da(0x1df),_0x2225da(0x1db)+_0x23b62a[_0x2225da(0x1e8)](_0xc1de6f=>_0xc1de6f['id'])[_0x2225da(0x213)](',\x20')+'.');return _0x23b62a[0x0];}function parseRuntimeUserId(_0x49c255){const _0x2c96b2=a54_0x4b0422,_0x4553fc=_0x49c255['trim']();if(!/^\d+$/[_0x2c96b2(0x210)](_0x4553fc))throw CliErrors[_0x2c96b2(0x1ed)](_0x2c96b2(0x1ff),_0x2c96b2(0x218));const _0x55af8e=Number(_0x4553fc);if(!Number['isSafeInteger'](_0x55af8e)||_0x55af8e<=0x0)throw CliErrors['validation']('Runtime\x20userId\x20must\x20be\x20a\x20positive\x20safe\x20integer.');return _0x55af8e;}export async function prepareRuntimeMemberMutation(_0x36a3c7,_0xffabf3){const _0x32d793=a54_0x4b0422,_0x1aff9c=await resolveRuntimeRoleRef(_0x36a3c7[_0x32d793(0x1e9)],_0x36a3c7[_0x32d793(0x1dd)](_0x32d793(0x21b)));if(_0x1aff9c[_0x32d793(0x20a)]===_0x32d793(0x215))throw CliErrors[_0x32d793(0x1ed)](_0x32d793(0x217),'Transfer\x20or\x20manage\x20application\x20ownership\x20through\x20the\x20dedicated\x20application\x20workflow.');const _0x3194fb=parseRuntimeUserId(_0x36a3c7[_0x32d793(0x1dd)](_0x32d793(0x20b))),_0x344096=(await listRuntimeRoleUsers(_0x36a3c7[_0x32d793(0x1e9)]))[_0x32d793(0x1e8)](_0x5db29f=>({..._0x5db29f,'userList':[..._0x5db29f['userList']??[]],'applyUserList':[..._0x5db29f['applyUserList']??[]]})),_0x5ea3d5=_0x344096[_0x32d793(0x1e1)](_0x399d96=>_0x399d96['id']===_0x1aff9c['id']);if(!_0x5ea3d5)throw CliErrors[_0x32d793(0x1ed)](_0x32d793(0x1e2)+_0x1aff9c['id']+'\x20is\x20missing\x20from\x20the\x20grouped\x20member\x20snapshot.',_0x32d793(0x212));const _0x1aadfc=_0x5ea3d5[_0x32d793(0x1f7)][_0x32d793(0x1e8)](_0x5a586f=>_0x5a586f['userId']),_0x11cabf=_0x36a3c7['flag'](_0x32d793(0x21e));if(_0x11cabf!==undefined&&_0x11cabf!==null&&_0x11cabf!==''){const _0x2c8344=_0x36a3c7[_0x32d793(0x1f0)](_0x32d793(0x21e));if(!Number['isSafeInteger'](_0x2c8344)||_0x2c8344<0x0)throw CliErrors[_0x32d793(0x1ed)]('--expect-user-count\x20must\x20be\x20a\x20non-negative\x20integer.');if(_0x1aadfc[_0x32d793(0x1d9)]!==_0x2c8344)throw CliErrors[_0x32d793(0x1ed)](_0x32d793(0x207)+_0x2c8344+_0x32d793(0x1e3)+_0x1aadfc[_0x32d793(0x1d9)]+'.',_0x32d793(0x1f6));}const _0x1a5bee=_0x1aadfc[_0x32d793(0x1ee)](_0x3194fb),_0x38135e=[];let _0x836eb7=!![];if(_0xffabf3===_0x32d793(0x1da)){const _0x22beb6=await listRuntimeAppUsers(_0x36a3c7[_0x32d793(0x1e9)]),_0x5f30ec=_0x22beb6[_0x32d793(0x203)](_0x14b5e3=>Number(_0x14b5e3[_0x32d793(0x20f)])===_0x3194fb);if(_0x5f30ec[_0x32d793(0x1d9)]!==0x1||!_0x5f30ec[0x0]['userName']?.['trim']())throw CliErrors[_0x32d793(0x1ed)]('Runtime\x20user\x20'+_0x3194fb+'\x20was\x20not\x20found\x20in\x20app\x20'+_0x36a3c7[_0x32d793(0x1e9)]+'.',_0x32d793(0x20c));_0x1a5bee?(_0x836eb7=![],_0x38135e[_0x32d793(0x21a)](_0x32d793(0x211)+_0x3194fb+'\x20is\x20already\x20in\x20runtime\x20role\x20'+_0x1aff9c['id']+'.')):_0x5ea3d5[_0x32d793(0x1f7)]['push']({'userId':_0x3194fb,'username':_0x5f30ec[0x0]['userName']});}else!_0x1a5bee?(_0x836eb7=![],_0x38135e[_0x32d793(0x21a)]('User\x20'+_0x3194fb+_0x32d793(0x1fc)+_0x1aff9c['id']+'.')):_0x5ea3d5[_0x32d793(0x1f7)]=_0x5ea3d5[_0x32d793(0x1f7)][_0x32d793(0x203)](_0x38e534=>_0x38e534[_0x32d793(0x204)]!==_0x3194fb);return{'role':_0x1aff9c,'userId':_0x3194fb,'roleList':_0x344096,'before':{'userIds':_0x1aadfc},'after':{'userIds':_0x5ea3d5[_0x32d793(0x1f7)]['map'](_0x310d2=>_0x310d2[_0x32d793(0x204)])},'shouldWrite':_0x836eb7,'warnings':_0x38135e};}export function runtimeRoleWriteResult(_0x177eb5,_0x1a45a7,_0x8e952b,_0x357d1f,_0x18796a,_0x4c8e69=[]){const _0x3713de=a54_0x4b0422;return{'operation':_0x177eb5,'scope':_0x3713de(0x1ea),'selector':_0x1a45a7,'before':_0x8e952b,'after':_0x357d1f,'dryRun':![],'backend':_0x18796a,'warnings':_0x4c8e69};}