@lovrabet/lovrabet-cli 2.3.1 → 2.3.2-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (184) hide show
  1. package/README.md +10 -8
  2. package/lib/cli.js +1 -1
  3. package/lib/commands/api-doc/index.js +1 -1
  4. package/lib/commands/app/cache.js +1 -1
  5. package/lib/commands/app/definitions.js +1 -1
  6. package/lib/commands/app/eligibility.js +1 -1
  7. package/lib/commands/app/mock-loader.js +1 -1
  8. package/lib/commands/app/remote-source.js +1 -1
  9. package/lib/commands/app/shared.js +1 -1
  10. package/lib/commands/app-config/get.js +1 -1
  11. package/lib/commands/app-config/index.js +1 -1
  12. package/lib/commands/artifact/index.js +1 -1
  13. package/lib/commands/auth/device.js +1 -1
  14. package/lib/commands/auth/index.js +1 -1
  15. package/lib/commands/auth/prompt.js +1 -1
  16. package/lib/commands/bff/detail.js +1 -1
  17. package/lib/commands/bff/exec.js +1 -1
  18. package/lib/commands/bff/index.js +1 -1
  19. package/lib/commands/cli-skill/index.js +1 -1
  20. package/lib/commands/common/config-policy.js +1 -1
  21. package/lib/commands/common/constraints.js +1 -1
  22. package/lib/commands/common/flags.js +1 -1
  23. package/lib/commands/common/local-file.js +1 -1
  24. package/lib/commands/config/definitions.js +1 -1
  25. package/lib/commands/config/init.d.ts +1 -2
  26. package/lib/commands/config/init.js +1 -1
  27. package/lib/commands/config/shared.js +1 -1
  28. package/lib/commands/data/index.js +1 -1
  29. package/lib/commands/dataset/detail.js +1 -1
  30. package/lib/commands/dataset/index.js +1 -1
  31. package/lib/commands/dataset/list.js +1 -1
  32. package/lib/commands/dataset/sdk-doc.js +1 -1
  33. package/lib/commands/doctor.js +1 -1
  34. package/lib/commands/file/index.js +1 -1
  35. package/lib/commands/init.js +1 -1
  36. package/lib/commands/kb/index.js +1 -1
  37. package/lib/commands/logs/index.js +1 -1
  38. package/lib/commands/notification/config-list.js +1 -1
  39. package/lib/commands/notification/index.js +1 -1
  40. package/lib/commands/notification/shared.d.ts +0 -3
  41. package/lib/commands/notification/shared.js +1 -1
  42. package/lib/commands/ocr/index.js +1 -1
  43. package/lib/commands/permit/dataset-get.js +1 -1
  44. package/lib/commands/permit/dataset-set.js +1 -1
  45. package/lib/commands/permit/index.js +1 -1
  46. package/lib/commands/permit/page-get.js +1 -1
  47. package/lib/commands/permit/page-set.js +1 -1
  48. package/lib/commands/permit/role-menus-set.js +1 -1
  49. package/lib/commands/permit/role-menus.js +1 -1
  50. package/lib/commands/permit/shared.js +1 -1
  51. package/lib/commands/personal-bff/index.js +1 -1
  52. package/lib/commands/registry.js +1 -1
  53. package/lib/commands/role/create.js +1 -1
  54. package/lib/commands/role/delete.js +1 -1
  55. package/lib/commands/role/detail.js +1 -1
  56. package/lib/commands/role/index.js +1 -1
  57. package/lib/commands/role/list.js +1 -1
  58. package/lib/commands/role/shared.d.ts +2 -0
  59. package/lib/commands/role/shared.js +1 -1
  60. package/lib/commands/role/update.js +1 -1
  61. package/lib/commands/role/user-add.js +1 -1
  62. package/lib/commands/role/user-remove.js +1 -1
  63. package/lib/commands/schedule/index.js +1 -1
  64. package/lib/commands/schema.js +1 -1
  65. package/lib/commands/service/dynamic.js +1 -1
  66. package/lib/commands/service/function-name-adapter.js +1 -1
  67. package/lib/commands/service/index.js +1 -1
  68. package/lib/commands/service/registry.js +1 -1
  69. package/lib/commands/skill/commands/create.js +1 -1
  70. package/lib/commands/skill/commands/diagram.js +1 -1
  71. package/lib/commands/skill/commands/install.js +1 -1
  72. package/lib/commands/skill/commands/list.js +1 -1
  73. package/lib/commands/skill/commands/push.js +1 -1
  74. package/lib/commands/skill/commands/validate.js +1 -1
  75. package/lib/commands/skill/diagram.js +1 -1
  76. package/lib/commands/skill/flags.js +1 -1
  77. package/lib/commands/skill/index.js +1 -1
  78. package/lib/commands/skill/manifest-helpers.js +1 -1
  79. package/lib/commands/skill/push-execute.js +1 -1
  80. package/lib/commands/skill/push-flow-helpers.js +1 -1
  81. package/lib/commands/skill/push-retarget.js +1 -1
  82. package/lib/commands/skill/scopes.js +1 -1
  83. package/lib/commands/skill/summary.js +1 -1
  84. package/lib/commands/skill/templates.js +1 -1
  85. package/lib/commands/skill/validate.js +1 -1
  86. package/lib/commands/sql/detail.js +1 -1
  87. package/lib/commands/sql/exec.js +1 -1
  88. package/lib/commands/sql/index.js +1 -1
  89. package/lib/commands/update.js +1 -1
  90. package/lib/commands/user-account/bind.js +1 -1
  91. package/lib/commands/user-account/index.js +1 -1
  92. package/lib/commands/workspace/index.js +1 -1
  93. package/lib/config/domain-config.d.ts +6 -14
  94. package/lib/config/domain-config.js +1 -1
  95. package/lib/config/schema.d.ts +1 -1
  96. package/lib/config/schema.js +1 -1
  97. package/lib/constant/app.js +1 -1
  98. package/lib/constant/auth-mode.js +1 -1
  99. package/lib/constant/cli.js +1 -1
  100. package/lib/constant/defaults.js +1 -1
  101. package/lib/constant/distribution.js +1 -1
  102. package/lib/constant/domain.d.ts +0 -3
  103. package/lib/constant/domain.js +1 -1
  104. package/lib/constant/env.js +1 -1
  105. package/lib/constant/output.js +1 -1
  106. package/lib/constant/product.js +1 -1
  107. package/lib/constant/region.js +1 -1
  108. package/lib/constant/risk.js +1 -1
  109. package/lib/constant/url.js +1 -1
  110. package/lib/context.js +1 -1
  111. package/lib/core/api-client.d.ts +5 -10
  112. package/lib/core/api-client.js +1 -1
  113. package/lib/core/db-resolver.js +1 -1
  114. package/lib/core/kb-search-client.js +1 -1
  115. package/lib/core/sdk-client.js +1 -1
  116. package/lib/errors.js +1 -1
  117. package/lib/framework/build-all-flags.js +1 -1
  118. package/lib/framework/dryrun.js +1 -1
  119. package/lib/framework/flags.js +1 -1
  120. package/lib/framework/help.js +1 -1
  121. package/lib/framework/index.js +1 -1
  122. package/lib/framework/output.js +1 -1
  123. package/lib/framework/preparse.js +1 -1
  124. package/lib/framework/rate-limit.js +1 -1
  125. package/lib/framework/raw-flags.js +1 -1
  126. package/lib/framework/response.js +1 -1
  127. package/lib/framework/runner-confirmation.js +1 -1
  128. package/lib/framework/runner-error.js +1 -1
  129. package/lib/framework/runner.js +1 -1
  130. package/lib/framework/schema-export.js +1 -1
  131. package/lib/framework/service-order.js +1 -1
  132. package/lib/framework/types.js +1 -1
  133. package/lib/generated/build-info.d.ts +4 -4
  134. package/lib/generated/build-info.js +1 -1
  135. package/lib/generated/official-routing.d.ts +1 -5
  136. package/lib/generated/official-routing.js +1 -1
  137. package/lib/generated/routing-contract.d.ts +3 -7
  138. package/lib/generated/routing-contract.js +1 -1
  139. package/lib/help.js +1 -1
  140. package/lib/postinstall.js +1 -1
  141. package/lib/runtime/confirmation.js +1 -1
  142. package/lib/runtime/event.js +1 -1
  143. package/lib/runtime/index.js +1 -1
  144. package/lib/runtime/queue.js +1 -1
  145. package/lib/runtime/resolve.js +1 -1
  146. package/lib/skills/builtin-skill.js +1 -1
  147. package/lib/skills/npx-skills-add.js +1 -1
  148. package/lib/skills/runtime-skill-sync/constants.js +1 -1
  149. package/lib/skills/runtime-skill-sync/fs-utils.js +1 -1
  150. package/lib/skills/runtime-skill-sync/hashing.js +1 -1
  151. package/lib/skills/runtime-skill-sync/install-target.js +1 -1
  152. package/lib/skills/runtime-skill-sync/links.js +1 -1
  153. package/lib/skills/runtime-skill-sync/list-local.js +1 -1
  154. package/lib/skills/runtime-skill-sync/local-files.js +1 -1
  155. package/lib/skills/runtime-skill-sync/materialize.js +1 -1
  156. package/lib/skills/runtime-skill-sync/metadata.js +1 -1
  157. package/lib/skills/runtime-skill-sync/paths.js +1 -1
  158. package/lib/skills/runtime-skill-sync/push.js +1 -1
  159. package/lib/skills/runtime-skill-sync/scopes.js +1 -1
  160. package/lib/skills/runtime-skill-sync/zip-codec.js +1 -1
  161. package/lib/skills/runtime-skill-sync/zip-package.js +1 -1
  162. package/lib/skills/runtime-skill-sync.js +1 -1
  163. package/lib/skills/skill-presence.js +1 -1
  164. package/lib/utils/access-key-redaction.js +1 -1
  165. package/lib/utils/apply-jq-filter.js +1 -1
  166. package/lib/utils/cli-version-check.js +1 -1
  167. package/lib/utils/cli-version-policy.js +1 -1
  168. package/lib/utils/logger.js +1 -1
  169. package/lib/utils/lossless-json.js +1 -1
  170. package/lib/utils/params.js +1 -1
  171. package/lib/utils/update-notice.js +1 -1
  172. package/lib/utils/version.js +1 -1
  173. package/lib/utils/write-cli-side-channel.js +1 -1
  174. package/package.json +2 -1
  175. package/skills/lovrabet/SKILL.md +4 -4
  176. package/skills/lovrabet/guides/role-and-permission-workflow.md +6 -4
  177. package/skills/lovrabet/references/lovrabet-config-commands.md +7 -11
  178. package/skills/lovrabet/references/lovrabet-config.md +2 -3
  179. package/skills/lovrabet/references/lovrabet-doctor.md +1 -1
  180. package/skills/lovrabet/references/lovrabet-kb-workflow.md +1 -1
  181. package/skills/lovrabet/references/lovrabet-notification-config-list.md +2 -8
  182. package/skills/lovrabet.manifest.json +3 -3
  183. package/lib/utils/platform.d.ts +0 -17
  184. package/lib/utils/platform.js +0 -1
@@ -1 +1 @@
1
- const a40_0x3edd64=a40_0x2158;(function(_0x5c2f04,_0x3838f8){const _0x37bb2a=a40_0x2158,_0x2fe374=_0x5c2f04();while(!![]){try{const _0x56a2fa=-parseInt(_0x37bb2a(0x1f0))/0x1+-parseInt(_0x37bb2a(0x1ec))/0x2+-parseInt(_0x37bb2a(0x1dc))/0x3+-parseInt(_0x37bb2a(0x200))/0x4+-parseInt(_0x37bb2a(0x201))/0x5+-parseInt(_0x37bb2a(0x20d))/0x6*(parseInt(_0x37bb2a(0x20e))/0x7)+parseInt(_0x37bb2a(0x1e0))/0x8;if(_0x56a2fa===_0x3838f8)break;else _0x2fe374['push'](_0x2fe374['shift']());}catch(_0xe21509){_0x2fe374['push'](_0x2fe374['shift']());}}}(a40_0x5763,0xca940));function a40_0x2158(_0x2b3129,_0x55c370){_0x2b3129=_0x2b3129-0x1dc;const _0x576306=a40_0x5763();let _0x21580e=_0x576306[_0x2b3129];return _0x21580e;}import{listRuntimeDatasetRolePermits,listRuntimePermitRoles,saveRuntimeDatasetRolePermits}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';import{resolveRuntimeRoleRef}from'../../commands/role/shared.js';function a40_0x5763(){const _0x2cc663=['validation','toUpperCase','DATA_CREATE','permitId','roles','appCode','operation','1373862iPJXUm','7yUTBQF','warnings','--datasets','Dataset\x20','map','Grant\x20or\x20revoke\x20selected\x20runtime\x20dataset\x20actions\x20for\x20one\x20role','1346730UzvNmF','string','/client/permit/resource/batch-save-dataset','description','49635688eAklxT','high-risk-write','grant','Comma-separated\x20actions:\x20','find','permitList','dataPermitList','revoke','--actions','DATA_DELETE','POST','bool','2949132XulJTq','role','DATA_ROW','length','786587wvPBdr','changed','DATA_EXPORT','datasetCode','DATA_UPDATE','dataset-','body','rolePermit','\x20was\x20not\x20found.','permit','build','push','actions','\x20for\x20role\x20','str','Preview:\x20','6055952FPaupc','4608365MmphoS','after','join','Grants\x20or\x20revokes\x20the\x20target\x20role\x20permission\x20for\x20the\x20given\x20dataset\x20actions.\x20Data\x20operations\x20for\x20users\x20in\x20that\x20role\x20will\x20change.','includes'];a40_0x5763=function(){return _0x2cc663;};return a40_0x5763();}import{applyRuntimeRolePermission,assertGrantOrRevoke,assertRuntimePermissionManager,assertRuntimePermitRoleConfigurable,GRANT_FLAG,REVOKE_FLAG,ROLE_REF_FLAG,runtimePermitWriteResult,splitRefs}from'../../commands/permit/shared.js';const DATA_ACTIONS=[a40_0x3edd64(0x208),a40_0x3edd64(0x1f4),a40_0x3edd64(0x1e9),'DATA_DETAIL',a40_0x3edd64(0x1f2),a40_0x3edd64(0x1ee)],DATASETS_FLAG={'name':'datasets','type':a40_0x3edd64(0x1dd),'required':!![],'description':'Comma-separated\x20runtime\x20dataset\x20codes'},ACTIONS_FLAG={'name':a40_0x3edd64(0x1fc),'type':a40_0x3edd64(0x1dd),'required':!![],'description':a40_0x3edd64(0x1e3)+DATA_ACTIONS[a40_0x3edd64(0x203)](',\x20')};async function prepare(_0x508df1){const _0x4b3598=a40_0x3edd64;await assertRuntimePermissionManager(_0x508df1[_0x4b3598(0x20b)]);const _0x2bff7e=assertGrantOrRevoke(_0x508df1[_0x4b3598(0x1eb)]('grant'),_0x508df1[_0x4b3598(0x1eb)](_0x4b3598(0x1e7))),_0x4e094e=await resolveRuntimeRoleRef(_0x508df1[_0x4b3598(0x20b)],_0x508df1[_0x4b3598(0x1fe)]('role'));assertRuntimePermitRoleConfigurable(_0x4e094e);const _0x2402f6=splitRefs(_0x508df1[_0x4b3598(0x1fe)]('datasets'),_0x4b3598(0x210)),_0xab3a6d=[...new Set(splitRefs(_0x508df1[_0x4b3598(0x1fe)](_0x4b3598(0x1fc)),_0x4b3598(0x1e8))[_0x4b3598(0x212)](_0x2d7bb4=>_0x2d7bb4[_0x4b3598(0x207)]()))],_0x401016=_0xab3a6d['filter'](_0x797dcc=>!DATA_ACTIONS[_0x4b3598(0x205)](_0x797dcc));if(_0x401016[_0x4b3598(0x1ef)]>0x0)throw CliErrors[_0x4b3598(0x206)]('Invalid\x20dataset\x20actions:\x20'+_0x401016['join'](',\x20')+'.');const _0x1fcd71=await listRuntimeDatasetRolePermits(_0x508df1[_0x4b3598(0x20b)]),_0x3e66d8=await listRuntimePermitRoles(_0x508df1['appCode']),_0x1e8653=[],_0x5e2fc=[],_0x419af3=[],_0x461f8b=[];for(const _0x1b0262 of _0x2402f6){const _0x4ab4c9=_0x1fcd71[_0x4b3598(0x1e4)](_0x114e43=>_0x114e43[_0x4b3598(0x1f3)]===_0x1b0262);if(!_0x4ab4c9)throw CliErrors[_0x4b3598(0x206)]('Runtime\x20dataset\x20'+_0x1b0262+_0x4b3598(0x1f8));for(const _0x2e72bc of _0xab3a6d){const _0xfe1fad=_0x4ab4c9[_0x4b3598(0x1e6)]['find'](_0x44d0b7=>_0x44d0b7['resourceType']===_0x2e72bc);if(!_0xfe1fad)throw CliErrors[_0x4b3598(0x206)](_0x4b3598(0x211)+_0x1b0262+'\x20does\x20not\x20expose\x20'+_0x2e72bc+'.');const _0x369b3e=applyRuntimeRolePermission(_0xfe1fad[_0x4b3598(0x1f7)],_0x4e094e,_0x3e66d8,_0x2bff7e);_0x5e2fc['push']({'datasetCode':_0x1b0262,'resourceType':_0x2e72bc,'rolePermit':_0xfe1fad[_0x4b3598(0x1f7)]}),_0x419af3[_0x4b3598(0x1fb)]({'datasetCode':_0x1b0262,'resourceType':_0x2e72bc,'rolePermit':_0x369b3e[_0x4b3598(0x20a)]}),_0x369b3e[_0x4b3598(0x1f1)]?_0x1e8653[_0x4b3598(0x1fb)]({..._0xfe1fad[_0x4b3598(0x209)]!=null?{'id':_0xfe1fad[_0x4b3598(0x209)]}:{},'appCode':_0x508df1['appCode'],'resourceCode':_0x1b0262,'resourceType':_0x2e72bc,'resourceName':_0xfe1fad['resourceName'],'rolePermit':_0x369b3e[_0x4b3598(0x20a)]}):_0x461f8b[_0x4b3598(0x1fb)](_0x1b0262+'/'+_0x2e72bc+'\x20already\x20reflects\x20'+_0x2bff7e+_0x4b3598(0x1fd)+_0x4e094e['id']+'.');}}return{'operation':_0x2bff7e,'role':_0x4e094e,'datasetCodes':_0x2402f6,'actions':_0xab3a6d,'permitList':_0x1e8653,'before':_0x5e2fc,'after':_0x419af3,'warnings':_0x461f8b};}export const permitDatasetSet={'service':a40_0x3edd64(0x1f9),'command':'dataset-set','description':a40_0x3edd64(0x213),'risk':a40_0x3edd64(0x1e1),'confirmationDescription':a40_0x3edd64(0x204),'flags':[ROLE_REF_FLAG,GRANT_FLAG,REVOKE_FLAG,DATASETS_FLAG,ACTIONS_FLAG],async 'validate'(_0x49148d){const _0x1aa38b=a40_0x3edd64;assertGrantOrRevoke(_0x49148d[_0x1aa38b(0x1eb)](_0x1aa38b(0x1e2)),_0x49148d[_0x1aa38b(0x1eb)](_0x1aa38b(0x1e7)));},async 'dryRun'(_0x4cb52a){const _0x47beca=a40_0x3edd64,_0x3acf32=await prepare(_0x4cb52a);return dryRun(_0x47beca(0x1ea),_0x47beca(0x1de))[_0x47beca(0x1f6)]({'appCode':_0x4cb52a[_0x47beca(0x20b)],'permitList':_0x3acf32[_0x47beca(0x1e5)]})[_0x47beca(0x1df)](_0x47beca(0x1ff)+_0x3acf32[_0x47beca(0x20c)]+'\x20selected\x20runtime\x20dataset\x20actions')[_0x47beca(0x1fa)]();},async 'execute'(_0xb4c963){const _0x5bca5f=a40_0x3edd64,_0x479d83=await prepare(_0xb4c963);return _0x479d83[_0x5bca5f(0x1e5)]['length']>0x0&&await saveRuntimeDatasetRolePermits(_0xb4c963['appCode'],_0x479d83['permitList']),{'ok':!![],'data':runtimePermitWriteResult(_0x5bca5f(0x1f5)+_0x479d83[_0x5bca5f(0x20c)],{'roleId':_0x479d83[_0x5bca5f(0x1ed)]['id'],'datasetCodes':_0x479d83['datasetCodes'],'actions':_0x479d83[_0x5bca5f(0x1fc)]},_0x479d83['before'],_0x479d83[_0x5bca5f(0x202)],{'method':_0x5bca5f(0x1ea),'path':_0x5bca5f(0x1de)},_0x479d83[_0x5bca5f(0x20f)])};}};
1
+ const a40_0x1d7269=a40_0x4866;(function(_0x39db58,_0x15aa5f){const _0x153953=a40_0x4866,_0x119e02=_0x39db58();while(!![]){try{const _0x5796fa=-parseInt(_0x153953(0xda))/0x1+-parseInt(_0x153953(0xc3))/0x2*(parseInt(_0x153953(0xdb))/0x3)+-parseInt(_0x153953(0xd9))/0x4*(-parseInt(_0x153953(0xab))/0x5)+parseInt(_0x153953(0xc0))/0x6+-parseInt(_0x153953(0xba))/0x7+-parseInt(_0x153953(0xca))/0x8+-parseInt(_0x153953(0xc9))/0x9*(-parseInt(_0x153953(0xb2))/0xa);if(_0x5796fa===_0x15aa5f)break;else _0x119e02['push'](_0x119e02['shift']());}catch(_0x4fd1a3){_0x119e02['push'](_0x119e02['shift']());}}}(a40_0x4eba,0x900a1));import{listRuntimeDatasetRolePermits,listRuntimePermitRoles,saveRuntimeDatasetRolePermits}from'../../core/api-client.js';function a40_0x4866(_0x23a2ea,_0x2d83c6){_0x23a2ea=_0x23a2ea-0x9d;const _0x4eba93=a40_0x4eba();let _0x4866f5=_0x4eba93[_0x23a2ea];return _0x4866f5;}function a40_0x4eba(){const _0x595623=['permitId','length','permitList','--actions','--datasets','rolePermit','operation','148uerMBF','506842UqkghL','633HdMrHl','resourceName','dataset-set','string','DATA_DETAIL','\x20for\x20role\x20','POST','map','Grant\x20or\x20revoke\x20selected\x20runtime\x20dataset\x20actions\x20for\x20one\x20role','warnings','datasets','Runtime\x20dataset\x20','str','before','/client/permit/resource/batch-save-dataset','75345UhsNjj','dataset-','grant','bool','Comma-separated\x20runtime\x20dataset\x20codes','Preview:\x20','body','114570EFmSlR','validation','resourceType','datasetCodes','includes','DATA_EXPORT','dataPermitList','high-risk-write','5693149rHwsAl','DATA_DELETE','toUpperCase','DATA_ROW','roles','join','463068kzVYWP','actions','push','2696CAHklQ','Invalid\x20dataset\x20actions:\x20','\x20selected\x20runtime\x20dataset\x20actions','after','role','revoke','1503aPrGJk','2827904JAgsIq','Dataset\x20','appCode','description','changed','build','DATA_CREATE','filter'];a40_0x4eba=function(){return _0x595623;};return a40_0x4eba();}import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';import{resolveRuntimeRoleRef}from'../../commands/role/shared.js';import{applyRuntimeRolePermission,assertGrantOrRevoke,assertRuntimePermissionManager,assertRuntimePermitRoleConfigurable,GRANT_FLAG,REVOKE_FLAG,ROLE_REF_FLAG,runtimePermitWriteResult,splitRefs}from'../../commands/permit/shared.js';const DATA_ACTIONS=[a40_0x1d7269(0xd0),'DATA_UPDATE',a40_0x1d7269(0xbb),a40_0x1d7269(0xa0),a40_0x1d7269(0xb7),a40_0x1d7269(0xbd)],DATASETS_FLAG={'name':a40_0x1d7269(0xa6),'type':'string','required':!![],'description':a40_0x1d7269(0xaf)},ACTIONS_FLAG={'name':a40_0x1d7269(0xc1),'type':a40_0x1d7269(0x9f),'required':!![],'description':'Comma-separated\x20actions:\x20'+DATA_ACTIONS[a40_0x1d7269(0xbf)](',\x20')};async function prepare(_0x5070d3){const _0x20cb1d=a40_0x1d7269;await assertRuntimePermissionManager(_0x5070d3[_0x20cb1d(0xcc)]);const _0x1b0e18=assertGrantOrRevoke(_0x5070d3[_0x20cb1d(0xae)](_0x20cb1d(0xad)),_0x5070d3[_0x20cb1d(0xae)](_0x20cb1d(0xc8))),_0x143123=await resolveRuntimeRoleRef(_0x5070d3[_0x20cb1d(0xcc)],_0x5070d3[_0x20cb1d(0xa8)]('role'));assertRuntimePermitRoleConfigurable(_0x143123);const _0x5d456c=splitRefs(_0x5070d3['str'](_0x20cb1d(0xa6)),_0x20cb1d(0xd6)),_0x501ce5=[...new Set(splitRefs(_0x5070d3[_0x20cb1d(0xa8)](_0x20cb1d(0xc1)),_0x20cb1d(0xd5))[_0x20cb1d(0xa3)](_0x38c16b=>_0x38c16b[_0x20cb1d(0xbc)]()))],_0x2d830f=_0x501ce5[_0x20cb1d(0xd1)](_0x575b20=>!DATA_ACTIONS[_0x20cb1d(0xb6)](_0x575b20));if(_0x2d830f[_0x20cb1d(0xd3)]>0x0)throw CliErrors[_0x20cb1d(0xb3)](_0x20cb1d(0xc4)+_0x2d830f[_0x20cb1d(0xbf)](',\x20')+'.');const _0x25e595=await listRuntimeDatasetRolePermits(_0x5070d3[_0x20cb1d(0xcc)]),_0x2bda74=await listRuntimePermitRoles(_0x5070d3['appCode']),_0x1c0f47=[],_0x5d3c05=[],_0x356839=[],_0x36b219=[];for(const _0x2961a0 of _0x5d456c){const _0x2dc9d3=_0x25e595['find'](_0xc466b3=>_0xc466b3['datasetCode']===_0x2961a0);if(!_0x2dc9d3)throw CliErrors['validation'](_0x20cb1d(0xa7)+_0x2961a0+'\x20was\x20not\x20found.');for(const _0x5b4c3f of _0x501ce5){const _0x3b8a0c=_0x2dc9d3[_0x20cb1d(0xb8)]['find'](_0x5b20b6=>_0x5b20b6[_0x20cb1d(0xb4)]===_0x5b4c3f);if(!_0x3b8a0c)throw CliErrors[_0x20cb1d(0xb3)](_0x20cb1d(0xcb)+_0x2961a0+'\x20does\x20not\x20expose\x20'+_0x5b4c3f+'.');const _0x16c75c=applyRuntimeRolePermission(_0x3b8a0c[_0x20cb1d(0xd7)],_0x143123,_0x2bda74,_0x1b0e18);_0x5d3c05['push']({'datasetCode':_0x2961a0,'resourceType':_0x5b4c3f,'rolePermit':_0x3b8a0c[_0x20cb1d(0xd7)]}),_0x356839[_0x20cb1d(0xc2)]({'datasetCode':_0x2961a0,'resourceType':_0x5b4c3f,'rolePermit':_0x16c75c['roles']}),_0x16c75c[_0x20cb1d(0xce)]?_0x1c0f47[_0x20cb1d(0xc2)]({..._0x3b8a0c[_0x20cb1d(0xd2)]!=null?{'id':_0x3b8a0c['permitId']}:{},'appCode':_0x5070d3[_0x20cb1d(0xcc)],'resourceCode':_0x2961a0,'resourceType':_0x5b4c3f,'resourceName':_0x3b8a0c[_0x20cb1d(0x9d)],'rolePermit':_0x16c75c[_0x20cb1d(0xbe)]}):_0x36b219['push'](_0x2961a0+'/'+_0x5b4c3f+'\x20already\x20reflects\x20'+_0x1b0e18+_0x20cb1d(0xa1)+_0x143123['id']+'.');}}return{'operation':_0x1b0e18,'role':_0x143123,'datasetCodes':_0x5d456c,'actions':_0x501ce5,'permitList':_0x1c0f47,'before':_0x5d3c05,'after':_0x356839,'warnings':_0x36b219};}export const permitDatasetSet={'service':'permit','command':a40_0x1d7269(0x9e),'description':a40_0x1d7269(0xa4),'risk':a40_0x1d7269(0xb9),'confirmationDescription':'Grants\x20or\x20revokes\x20the\x20target\x20role\x20permission\x20for\x20the\x20given\x20dataset\x20actions.\x20Data\x20operations\x20for\x20users\x20in\x20that\x20role\x20will\x20change.','flags':[ROLE_REF_FLAG,GRANT_FLAG,REVOKE_FLAG,DATASETS_FLAG,ACTIONS_FLAG],async 'validate'(_0xfcfdf8){const _0x34bc38=a40_0x1d7269;assertGrantOrRevoke(_0xfcfdf8[_0x34bc38(0xae)](_0x34bc38(0xad)),_0xfcfdf8[_0x34bc38(0xae)](_0x34bc38(0xc8)));},async 'dryRun'(_0x44b12e){const _0x548c45=a40_0x1d7269,_0x556edf=await prepare(_0x44b12e);return dryRun('POST','/client/permit/resource/batch-save-dataset')[_0x548c45(0xb1)]({'appCode':_0x44b12e['appCode'],'permitList':_0x556edf[_0x548c45(0xd4)]})[_0x548c45(0xcd)](_0x548c45(0xb0)+_0x556edf['operation']+_0x548c45(0xc5))[_0x548c45(0xcf)]();},async 'execute'(_0x437312){const _0x5be001=a40_0x1d7269,_0x15e211=await prepare(_0x437312);return _0x15e211['permitList'][_0x5be001(0xd3)]>0x0&&await saveRuntimeDatasetRolePermits(_0x437312[_0x5be001(0xcc)],_0x15e211[_0x5be001(0xd4)]),{'ok':!![],'data':runtimePermitWriteResult(_0x5be001(0xac)+_0x15e211[_0x5be001(0xd8)],{'roleId':_0x15e211[_0x5be001(0xc7)]['id'],'datasetCodes':_0x15e211[_0x5be001(0xb5)],'actions':_0x15e211[_0x5be001(0xc1)]},_0x15e211[_0x5be001(0xa9)],_0x15e211[_0x5be001(0xc6)],{'method':_0x5be001(0xa2),'path':_0x5be001(0xaa)},_0x15e211[_0x5be001(0xa5)])};}};
@@ -1 +1 @@
1
- (function(_0x314e57,_0x6841fb){const _0x42f677=a41_0x1fdf,_0x45bee5=_0x314e57();while(!![]){try{const _0x1849ee=parseInt(_0x42f677(0xac))/0x1+parseInt(_0x42f677(0xa9))/0x2+parseInt(_0x42f677(0xa7))/0x3*(parseInt(_0x42f677(0xaa))/0x4)+-parseInt(_0x42f677(0xae))/0x5+parseInt(_0x42f677(0xa6))/0x6*(parseInt(_0x42f677(0xa5))/0x7)+-parseInt(_0x42f677(0xaf))/0x8*(parseInt(_0x42f677(0xab))/0x9)+-parseInt(_0x42f677(0xa8))/0xa*(parseInt(_0x42f677(0xad))/0xb);if(_0x1849ee===_0x6841fb)break;else _0x45bee5['push'](_0x45bee5['shift']());}catch(_0x274bd4){_0x45bee5['push'](_0x45bee5['shift']());}}}(a41_0x170f,0x59aa3));import{permitPageGet}from'../../commands/permit/page-get.js';import{permitPageSet}from'../../commands/permit/page-set.js';import{permitRoleMenus}from'../../commands/permit/role-menus.js';function a41_0x1fdf(_0x46d610,_0x1001df){_0x46d610=_0x46d610-0xa5;const _0x170f21=a41_0x170f();let _0x1fdf76=_0x170f21[_0x46d610];return _0x1fdf76;}import{permitRoleMenusSet}from'../../commands/permit/role-menus-set.js';function a41_0x170f(){const _0x2c931e=['1629DsyXEG','248919VIiwlf','11stOXeP','1114425JJjsFt','8944UKughR','598717XmDhTZ','36wMFGtb','24ojHVaC','2754110RiSSef','607808hBhlDJ','956wjKUOr'];a41_0x170f=function(){return _0x2c931e;};return a41_0x170f();}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
+ (function(_0x2c4133,_0x508c44){const _0x11a06b=a41_0x4053,_0x16081c=_0x2c4133();while(!![]){try{const _0x4c98a6=parseInt(_0x11a06b(0x1ca))/0x1*(-parseInt(_0x11a06b(0x1c2))/0x2)+-parseInt(_0x11a06b(0x1c7))/0x3+-parseInt(_0x11a06b(0x1c0))/0x4*(parseInt(_0x11a06b(0x1c5))/0x5)+-parseInt(_0x11a06b(0x1c6))/0x6*(parseInt(_0x11a06b(0x1c9))/0x7)+-parseInt(_0x11a06b(0x1cb))/0x8*(parseInt(_0x11a06b(0x1bf))/0x9)+parseInt(_0x11a06b(0x1c4))/0xa*(parseInt(_0x11a06b(0x1c3))/0xb)+-parseInt(_0x11a06b(0x1c1))/0xc*(-parseInt(_0x11a06b(0x1c8))/0xd);if(_0x4c98a6===_0x508c44)break;else _0x16081c['push'](_0x16081c['shift']());}catch(_0x5c4353){_0x16081c['push'](_0x16081c['shift']());}}}(a41_0x2a3d,0x92fcb));import{permitPageGet}from'../../commands/permit/page-get.js';import{permitPageSet}from'../../commands/permit/page-set.js';function a41_0x2a3d(){const _0x171501=['1205lLZOVV','1218zIlmpK','1646856NpLiIX','806exuezw','11494qSAHVO','1MFXaPk','696uOyRcw','46539fRdyiR','17416assaVE','591612zuSeaX','289228KPxUVO','157256XdWxPS','50WfBZzg'];a41_0x2a3d=function(){return _0x171501;};return a41_0x2a3d();}import{permitRoleMenus}from'../../commands/permit/role-menus.js';function a41_0x4053(_0x549d73,_0x2cfe10){_0x549d73=_0x549d73-0x1bf;const _0x2a3d13=a41_0x2a3d();let _0x405317=_0x2a3d13[_0x549d73];return _0x405317;}import{permitRoleMenusSet}from'../../commands/permit/role-menus-set.js';import{permitDatasetGet}from'../../commands/permit/dataset-get.js';import{permitDatasetSet}from'../../commands/permit/dataset-set.js';export const permitDefinitions=[permitPageGet,permitPageSet,permitRoleMenus,permitRoleMenusSet,permitDatasetGet,permitDatasetSet];
@@ -1 +1 @@
1
- const a42_0x22bf2f=a42_0x3e0b;(function(_0x14505f,_0x440489){const _0x5b2726=a42_0x3e0b,_0x19da7f=_0x14505f();while(!![]){try{const _0x123bce=parseInt(_0x5b2726(0x78))/0x1*(parseInt(_0x5b2726(0x73))/0x2)+-parseInt(_0x5b2726(0x76))/0x3+-parseInt(_0x5b2726(0x7c))/0x4*(parseInt(_0x5b2726(0x82))/0x5)+parseInt(_0x5b2726(0x7e))/0x6*(parseInt(_0x5b2726(0x80))/0x7)+-parseInt(_0x5b2726(0x79))/0x8*(parseInt(_0x5b2726(0x7a))/0x9)+parseInt(_0x5b2726(0x7f))/0xa*(parseInt(_0x5b2726(0x74))/0xb)+parseInt(_0x5b2726(0x7d))/0xc*(parseInt(_0x5b2726(0x77))/0xd);if(_0x123bce===_0x440489)break;else _0x19da7f['push'](_0x19da7f['shift']());}catch(_0x3d78d5){_0x19da7f['push'](_0x19da7f['shift']());}}}(a42_0x1526,0xd5800));function a42_0x3e0b(_0x271d27,_0x173066){_0x271d27=_0x271d27-0x71;const _0x152669=a42_0x1526();let _0x3e0bd7=_0x152669[_0x271d27];return _0x3e0bd7;}function a42_0x1526(){const _0x1ddb34=['permit','25GIGwdb','runtime','page-get','2253728MSRFDh','7911255yznvEE','Get\x20runtime\x20page\x20permission\x20slots\x20by\x20menu\x20ID','4208481Ldbene','1226563XxCPQF','1hLVwrk','10610264KBeQCz','9RxCIXV','menu-id','522484qeWlRt','216FTTwfC','12XvzYmE','10lQfVWt','2493134PQAlSD'];a42_0x1526=function(){return _0x1ddb34;};return a42_0x1526();}import{getRuntimePagePermit}from'../../core/api-client.js';import{MENU_ID_FLAG,projectRuntimePagePermit}from'../../commands/permit/shared.js';export const permitPageGet={'service':a42_0x22bf2f(0x81),'command':a42_0x22bf2f(0x72),'description':a42_0x22bf2f(0x75),'risk':'read','flags':[MENU_ID_FLAG],async 'execute'(_0x5e5e9a){const _0x5ab03c=a42_0x22bf2f,_0xe3dc60=await getRuntimePagePermit(_0x5e5e9a['num'](_0x5ab03c(0x7b)));return{'ok':!![],'data':{'scope':_0x5ab03c(0x71),'page':projectRuntimePagePermit(_0xe3dc60)}};}};
1
+ const a42_0x5841b2=a42_0x5d0e;function a42_0x2561(){const _0x45a841=['18ZxjLjB','8AlAbso','125765ppAKNp','runtime','page-get','Get\x20runtime\x20page\x20permission\x20slots\x20by\x20menu\x20ID','2213939jTGMgv','419384oxRkSj','345796HqoLxs','417510ckxtrM','775910aHjYlo','permit','63yduSLQ','130168DuLOEo'];a42_0x2561=function(){return _0x45a841;};return a42_0x2561();}(function(_0x208918,_0x44ad2a){const _0x2dcb58=a42_0x5d0e,_0x374267=_0x208918();while(!![]){try{const _0x552f67=parseInt(_0x2dcb58(0xe6))/0x1+parseInt(_0x2dcb58(0xeb))/0x2+-parseInt(_0x2dcb58(0xe7))/0x3+parseInt(_0x2dcb58(0xe5))/0x4+parseInt(_0x2dcb58(0xee))/0x5*(parseInt(_0x2dcb58(0xec))/0x6)+-parseInt(_0x2dcb58(0xe4))/0x7*(-parseInt(_0x2dcb58(0xed))/0x8)+parseInt(_0x2dcb58(0xea))/0x9*(-parseInt(_0x2dcb58(0xe8))/0xa);if(_0x552f67===_0x44ad2a)break;else _0x374267['push'](_0x374267['shift']());}catch(_0x5a3027){_0x374267['push'](_0x374267['shift']());}}}(a42_0x2561,0x36f83));function a42_0x5d0e(_0x19c1b3,_0x52cc45){_0x19c1b3=_0x19c1b3-0xe4;const _0x2561f2=a42_0x2561();let _0x5d0ee0=_0x2561f2[_0x19c1b3];return _0x5d0ee0;}import{getRuntimePagePermit}from'../../core/api-client.js';import{MENU_ID_FLAG,projectRuntimePagePermit}from'../../commands/permit/shared.js';export const permitPageGet={'service':a42_0x5841b2(0xe9),'command':a42_0x5841b2(0xf0),'description':a42_0x5841b2(0xf1),'risk':'read','flags':[MENU_ID_FLAG],async 'execute'(_0xdf2ee6){const _0x1614e3=a42_0x5841b2,_0x3a13be=await getRuntimePagePermit(_0xdf2ee6['num']('menu-id'));return{'ok':!![],'data':{'scope':_0x1614e3(0xef),'page':projectRuntimePagePermit(_0x3a13be)}};}};
@@ -1 +1 @@
1
- const a43_0x4811e5=a43_0x1195;function a43_0x1195(_0x589878,_0x1ac67f){_0x589878=_0x589878-0x6d;const _0x506535=a43_0x5065();let _0x119555=_0x506535[_0x589878];return _0x119555;}(function(_0x29ad46,_0x3d8581){const _0x5d4070=a43_0x1195,_0x7d8e36=_0x29ad46();while(!![]){try{const _0x3c5be5=-parseInt(_0x5d4070(0x83))/0x1+-parseInt(_0x5d4070(0x81))/0x2*(parseInt(_0x5d4070(0x76))/0x3)+-parseInt(_0x5d4070(0x78))/0x4+parseInt(_0x5d4070(0x73))/0x5*(-parseInt(_0x5d4070(0x8a))/0x6)+-parseInt(_0x5d4070(0x88))/0x7+-parseInt(_0x5d4070(0x7f))/0x8*(parseInt(_0x5d4070(0x80))/0x9)+-parseInt(_0x5d4070(0x89))/0xa*(-parseInt(_0x5d4070(0x7b))/0xb);if(_0x3c5be5===_0x3d8581)break;else _0x7d8e36['push'](_0x7d8e36['shift']());}catch(_0x47266f){_0x7d8e36['push'](_0x7d8e36['shift']());}}}(a43_0x5065,0x8b169));import{getRuntimePagePermit,saveRuntimePagePermit}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';function a43_0x5065(){const _0x287dca=['20HyFlmc','flag','795492lWJFoz','str','\x20does\x20not\x20expose\x20','menuId','push','2489767XpYybV','30dJAFyg','5790GrWBXP','high-risk-write','Pass\x20at\x20least\x20one\x20page\x20role\x20flag\x20to\x20update.','appCode','/client/permit/page/save','length','description','Page\x20menu\x20','allowSelf','permit','\x20does\x20not\x20belong\x20to\x20app\x20','join','4650NsgmvD','Changes\x20role\x20permission\x20slots\x20on\x20the\x20given\x20runtime\x20page.\x20Unauthorized\x20users\x20may\x20be\x20unable\x20to\x20view\x20the\x20page\x20or\x20run\x20data\x20operations.','body','81177pBqSlb','slots','3299300afmibb','page-set','build','14797585ekFMFJ','validation','Menu\x20','key','8YSCMoo','2897658iBYDIc'];a43_0x5065=function(){return _0x287dca;};return a43_0x5065();}import{assertRuntimePermissionManager,MENU_ID_FLAG,PAGE_ROLE_FLAGS,PAGE_SLOT_SPECS,projectRuntimePagePermit,resolveRuntimePermitRoles,runtimePermitWriteResult,splitRefs}from'../../commands/permit/shared.js';async function prepare(_0x16cdd2){const _0x5ae86e=a43_0x1195;await assertRuntimePermissionManager(_0x16cdd2[_0x5ae86e(0x8d)]);const _0x332911=_0x16cdd2['num']('menu-id'),_0x28c319=await getRuntimePagePermit(_0x332911);if(_0x28c319['appCode']&&_0x28c319[_0x5ae86e(0x8d)]!==_0x16cdd2[_0x5ae86e(0x8d)])throw CliErrors[_0x5ae86e(0x7c)](_0x5ae86e(0x7d)+_0x332911+_0x5ae86e(0x71)+_0x16cdd2[_0x5ae86e(0x8d)]+'.');const _0x41c57a=structuredClone(_0x28c319),_0x164df7=[];for(const _0xb3bb7b of PAGE_SLOT_SPECS){if(_0x16cdd2[_0x5ae86e(0x82)](_0xb3bb7b[_0x5ae86e(0x82)])===undefined)continue;const _0x11c603=_0x28c319[_0xb3bb7b['key']];if(!_0x11c603)throw CliErrors[_0x5ae86e(0x7c)](_0x5ae86e(0x6e)+_0x332911+_0x5ae86e(0x85)+_0xb3bb7b['key']+'.');_0x11c603['rolePermit']=await resolveRuntimePermitRoles(_0x16cdd2[_0x5ae86e(0x8d)],splitRefs(_0x16cdd2[_0x5ae86e(0x84)](_0xb3bb7b[_0x5ae86e(0x82)]),'--'+_0xb3bb7b[_0x5ae86e(0x82)]),_0xb3bb7b[_0x5ae86e(0x6f)]),_0x164df7[_0x5ae86e(0x87)](_0xb3bb7b[_0x5ae86e(0x7e)]);}if(_0x164df7[_0x5ae86e(0x8f)]===0x0)throw CliErrors[_0x5ae86e(0x7c)](_0x5ae86e(0x8c));return{'menuId':_0x332911,'page':_0x28c319,'before':_0x41c57a,'slots':_0x164df7};}export const permitPageSet={'service':a43_0x4811e5(0x70),'command':a43_0x4811e5(0x79),'description':'Set\x20selected\x20runtime\x20page\x20permission\x20slots','risk':a43_0x4811e5(0x8b),'confirmationDescription':a43_0x4811e5(0x74),'flags':[MENU_ID_FLAG,...PAGE_ROLE_FLAGS],async 'dryRun'(_0x606e9f){const _0x58ac3a=a43_0x4811e5,_0x4b4eb9=await prepare(_0x606e9f);return dryRun('POST',_0x58ac3a(0x8e))[_0x58ac3a(0x75)](_0x4b4eb9['page'])[_0x58ac3a(0x6d)]('Preview:\x20update\x20page\x20permission\x20slots\x20'+_0x4b4eb9[_0x58ac3a(0x77)][_0x58ac3a(0x72)](',\x20'))[_0x58ac3a(0x7a)]();},async 'execute'(_0x170ce4){const _0xfe504a=a43_0x4811e5,_0x2a365e=await prepare(_0x170ce4),_0x226621=await saveRuntimePagePermit(_0x2a365e['page']);return{'ok':!![],'data':runtimePermitWriteResult(_0xfe504a(0x79),{'menuId':_0x2a365e[_0xfe504a(0x86)],'slots':_0x2a365e['slots']},projectRuntimePagePermit(_0x2a365e['before']),projectRuntimePagePermit(_0x226621),{'method':'POST','path':_0xfe504a(0x8e)})};}};
1
+ const a43_0x35409e=a43_0x50ee;(function(_0xb33a5f,_0x20267d){const _0x2f9ed9=a43_0x50ee,_0x1ba3fa=_0xb33a5f();while(!![]){try{const _0x4605f7=parseInt(_0x2f9ed9(0x120))/0x1*(-parseInt(_0x2f9ed9(0x119))/0x2)+-parseInt(_0x2f9ed9(0x12b))/0x3*(parseInt(_0x2f9ed9(0x137))/0x4)+parseInt(_0x2f9ed9(0x126))/0x5+-parseInt(_0x2f9ed9(0x12a))/0x6+-parseInt(_0x2f9ed9(0x134))/0x7*(parseInt(_0x2f9ed9(0x132))/0x8)+-parseInt(_0x2f9ed9(0x118))/0x9+-parseInt(_0x2f9ed9(0x12e))/0xa*(-parseInt(_0x2f9ed9(0x127))/0xb);if(_0x4605f7===_0x20267d)break;else _0x1ba3fa['push'](_0x1ba3fa['shift']());}catch(_0x3789d6){_0x1ba3fa['push'](_0x1ba3fa['shift']());}}}(a43_0x1d1e,0x2b9d2));import{getRuntimePagePermit,saveRuntimePagePermit}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';function a43_0x50ee(_0x47ea2b,_0x444c36){_0x47ea2b=_0x47ea2b-0x115;const _0x1d1e16=a43_0x1d1e();let _0x50eed3=_0x1d1e16[_0x47ea2b];return _0x50eed3;}import{dryRun}from'../../framework/dryrun.js';import{assertRuntimePermissionManager,MENU_ID_FLAG,PAGE_ROLE_FLAGS,PAGE_SLOT_SPECS,projectRuntimePagePermit,resolveRuntimePermitRoles,runtimePermitWriteResult,splitRefs}from'../../commands/permit/shared.js';function a43_0x1d1e(){const _0x5baab4=['Pass\x20at\x20least\x20one\x20page\x20role\x20flag\x20to\x20update.','/client/permit/page/save','147233QzhiuV','description','validation','page-set','Set\x20selected\x20runtime\x20page\x20permission\x20slots','menu-id','453100fwCJXb','1562891TxYKUm','push','rolePermit','733122Nvfvav','3OiueHD','permit','\x20does\x20not\x20belong\x20to\x20app\x20','50QcxGhX','join','appCode','Menu\x20','168qnKaxL','flag','1337bYWgfA','POST','slots','361100PXeoXy','key','page','num','before','2328093IwNprv','2eYPeoQ','build','body','high-risk-write','length'];a43_0x1d1e=function(){return _0x5baab4;};return a43_0x1d1e();}async function prepare(_0x2bf763){const _0x11d9e3=a43_0x50ee;await assertRuntimePermissionManager(_0x2bf763[_0x11d9e3(0x130)]);const _0x463be0=_0x2bf763[_0x11d9e3(0x116)](_0x11d9e3(0x125)),_0x24c586=await getRuntimePagePermit(_0x463be0);if(_0x24c586['appCode']&&_0x24c586[_0x11d9e3(0x130)]!==_0x2bf763[_0x11d9e3(0x130)])throw CliErrors[_0x11d9e3(0x122)](_0x11d9e3(0x131)+_0x463be0+_0x11d9e3(0x12d)+_0x2bf763[_0x11d9e3(0x130)]+'.');const _0x570d6b=structuredClone(_0x24c586),_0x5518a0=[];for(const _0x1f8f52 of PAGE_SLOT_SPECS){if(_0x2bf763[_0x11d9e3(0x133)](_0x1f8f52[_0x11d9e3(0x133)])===undefined)continue;const _0x389c08=_0x24c586[_0x1f8f52[_0x11d9e3(0x138)]];if(!_0x389c08)throw CliErrors[_0x11d9e3(0x122)]('Page\x20menu\x20'+_0x463be0+'\x20does\x20not\x20expose\x20'+_0x1f8f52[_0x11d9e3(0x138)]+'.');_0x389c08[_0x11d9e3(0x129)]=await resolveRuntimePermitRoles(_0x2bf763[_0x11d9e3(0x130)],splitRefs(_0x2bf763['str'](_0x1f8f52[_0x11d9e3(0x133)]),'--'+_0x1f8f52[_0x11d9e3(0x133)]),_0x1f8f52['allowSelf']),_0x5518a0[_0x11d9e3(0x128)](_0x1f8f52[_0x11d9e3(0x138)]);}if(_0x5518a0[_0x11d9e3(0x11d)]===0x0)throw CliErrors[_0x11d9e3(0x122)](_0x11d9e3(0x11e));return{'menuId':_0x463be0,'page':_0x24c586,'before':_0x570d6b,'slots':_0x5518a0};}export const permitPageSet={'service':a43_0x35409e(0x12c),'command':a43_0x35409e(0x123),'description':a43_0x35409e(0x124),'risk':a43_0x35409e(0x11c),'confirmationDescription':'Changes\x20role\x20permission\x20slots\x20on\x20the\x20given\x20runtime\x20page.\x20Unauthorized\x20users\x20may\x20be\x20unable\x20to\x20view\x20the\x20page\x20or\x20run\x20data\x20operations.','flags':[MENU_ID_FLAG,...PAGE_ROLE_FLAGS],async 'dryRun'(_0x235b8f){const _0x144d14=a43_0x35409e,_0x14b7a7=await prepare(_0x235b8f);return dryRun('POST',_0x144d14(0x11f))[_0x144d14(0x11b)](_0x14b7a7[_0x144d14(0x115)])[_0x144d14(0x121)]('Preview:\x20update\x20page\x20permission\x20slots\x20'+_0x14b7a7['slots'][_0x144d14(0x12f)](',\x20'))[_0x144d14(0x11a)]();},async 'execute'(_0x12a55d){const _0x549d61=a43_0x35409e,_0x4d8023=await prepare(_0x12a55d),_0x195279=await saveRuntimePagePermit(_0x4d8023[_0x549d61(0x115)]);return{'ok':!![],'data':runtimePermitWriteResult('page-set',{'menuId':_0x4d8023['menuId'],'slots':_0x4d8023[_0x549d61(0x136)]},projectRuntimePagePermit(_0x4d8023[_0x549d61(0x117)]),projectRuntimePagePermit(_0x195279),{'method':_0x549d61(0x135),'path':_0x549d61(0x11f)})};}};
@@ -1 +1 @@
1
- const a44_0x1de429=a44_0x5cd9;(function(_0x3ae9e3,_0x511c52){const _0x5c36e9=a44_0x5cd9,_0x2e2b52=_0x3ae9e3();while(!![]){try{const _0x39e494=parseInt(_0x5c36e9(0x1f5))/0x1*(parseInt(_0x5c36e9(0x212))/0x2)+-parseInt(_0x5c36e9(0x1f7))/0x3*(parseInt(_0x5c36e9(0x20b))/0x4)+parseInt(_0x5c36e9(0x213))/0x5*(parseInt(_0x5c36e9(0x20a))/0x6)+-parseInt(_0x5c36e9(0x209))/0x7+-parseInt(_0x5c36e9(0x1fd))/0x8*(parseInt(_0x5c36e9(0x1ee))/0x9)+parseInt(_0x5c36e9(0x1f3))/0xa+-parseInt(_0x5c36e9(0x20d))/0xb*(parseInt(_0x5c36e9(0x1f9))/0xc);if(_0x39e494===_0x511c52)break;else _0x2e2b52['push'](_0x2e2b52['shift']());}catch(_0x50f728){_0x2e2b52['push'](_0x2e2b52['shift']());}}}(a44_0x182c,0x35f42));function a44_0x5cd9(_0x2ca4e0,_0x1a5122){_0x2ca4e0=_0x2ca4e0-0x1e6;const _0x182c6b=a44_0x182c();let _0x5cd94f=_0x182c6b[_0x2ca4e0];return _0x5cd94f;}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';function a44_0x182c(){const _0x13b1d1=['Grant\x20or\x20revoke\x20selected\x20runtime\x20menus\x20for\x20one\x20role','\x20selected\x20runtime\x20menus','118IQnDSa','5hdHOCt','map','revoke','push','\x20for\x20role\x20','test','/client/permit/resource/batch-save-menu','Invalid\x20runtime\x20menu\x20ID:\x20','menus','isSafeInteger','Preview:\x20','261yKIOBi','length','roles','validation','rolePermit','3620650pBDXXI','after','457HPEFqG','build','6XzlJtL','--menus','3636BxLFWH','before','\x20already\x20reflects\x20','role-menus-set','105008coeYwT','Runtime\x20menu\x20','str','bool','appCode','POST','high-risk-write','permitList','operation','warnings','body','role','556612RJjshF','1889418XxMAOn','41292AwgMnb','string','77CAhkRG','changed','menu-'];a44_0x182c=function(){return _0x13b1d1;};return a44_0x182c();}import{applyRuntimeRolePermission,assertGrantOrRevoke,assertRuntimePermissionManager,assertRuntimePermitRoleConfigurable,flattenRuntimeMenuRolePermits,GRANT_FLAG,menuPermitDto,REVOKE_FLAG,ROLE_REF_FLAG,runtimePermitWriteResult,splitRefs}from'../../commands/permit/shared.js';const MENUS_FLAG={'name':'menus','type':a44_0x1de429(0x20c),'required':!![],'description':'Comma-separated\x20runtime\x20menu\x20IDs'};async function prepare(_0x149011){const _0x54b1d9=a44_0x1de429;await assertRuntimePermissionManager(_0x149011[_0x54b1d9(0x201)]);const _0x2073dc=assertGrantOrRevoke(_0x149011[_0x54b1d9(0x200)]('grant'),_0x149011['bool'](_0x54b1d9(0x215))),_0x172e75=await resolveRuntimeRoleRef(_0x149011[_0x54b1d9(0x201)],_0x149011['str'](_0x54b1d9(0x208)));assertRuntimePermitRoleConfigurable(_0x172e75);const _0x2947e4=[...new Set(splitRefs(_0x149011[_0x54b1d9(0x1ff)](_0x54b1d9(0x1eb)),_0x54b1d9(0x1f8))[_0x54b1d9(0x214)](_0x6db96d=>{const _0x1a05b6=_0x54b1d9,_0x31e011=Number(_0x6db96d);if(!/^\d+$/[_0x1a05b6(0x1e8)](_0x6db96d)||!Number[_0x1a05b6(0x1ec)](_0x31e011)||_0x31e011<=0x0)throw CliErrors[_0x1a05b6(0x1f1)](_0x1a05b6(0x1ea)+_0x6db96d+'.');return _0x31e011;}))],_0x2d7b8a=flattenRuntimeMenuRolePermits(await listRuntimeMenuRolePermits(_0x149011['appCode'])),_0x5a2a67=await listRuntimePermitRoles(_0x149011[_0x54b1d9(0x201)]),_0x5ef3b1=[],_0x4d873c=[],_0x53a50c=[],_0xe3325a=[];for(const _0x7e99fd of _0x2947e4){const _0x11cba2=_0x2d7b8a['find'](_0x74ea74=>_0x74ea74['id']===_0x7e99fd);if(!_0x11cba2)throw CliErrors[_0x54b1d9(0x1f1)](_0x54b1d9(0x1fe)+_0x7e99fd+'\x20was\x20not\x20found.');const _0x99c373=applyRuntimeRolePermission(_0x11cba2[_0x54b1d9(0x1f2)],_0x172e75,_0x5a2a67,_0x2073dc);_0x4d873c[_0x54b1d9(0x1e6)]({'menuId':_0x7e99fd,'rolePermit':_0x11cba2[_0x54b1d9(0x1f2)]}),_0x53a50c['push']({'menuId':_0x7e99fd,'rolePermit':_0x99c373[_0x54b1d9(0x1f0)]});if(_0x99c373[_0x54b1d9(0x20e)])_0x5ef3b1[_0x54b1d9(0x1e6)](menuPermitDto(_0x149011[_0x54b1d9(0x201)],_0x11cba2,_0x99c373[_0x54b1d9(0x1f0)]));else _0xe3325a[_0x54b1d9(0x1e6)]('Runtime\x20menu\x20'+_0x7e99fd+_0x54b1d9(0x1fb)+_0x2073dc+_0x54b1d9(0x1e7)+_0x172e75['id']+'.');}return{'operation':_0x2073dc,'role':_0x172e75,'menuIds':_0x2947e4,'permitList':_0x5ef3b1,'before':_0x4d873c,'after':_0x53a50c,'warnings':_0xe3325a};}export const permitRoleMenusSet={'service':'permit','command':a44_0x1de429(0x1fc),'description':a44_0x1de429(0x210),'risk':a44_0x1de429(0x203),'confirmationDescription':'Grants\x20or\x20revokes\x20the\x20target\x20role\x20access\x20to\x20the\x20given\x20runtime\x20menus.\x20Menu\x20visibility\x20for\x20users\x20in\x20that\x20role\x20will\x20change.','flags':[ROLE_REF_FLAG,GRANT_FLAG,REVOKE_FLAG,MENUS_FLAG],async 'validate'(_0x3c3204){const _0x16bb80=a44_0x1de429;assertGrantOrRevoke(_0x3c3204[_0x16bb80(0x200)]('grant'),_0x3c3204[_0x16bb80(0x200)](_0x16bb80(0x215)));},async 'dryRun'(_0x1028d6){const _0x36dbc3=a44_0x1de429,_0x4e8abf=await prepare(_0x1028d6);return dryRun('POST',_0x36dbc3(0x1e9))[_0x36dbc3(0x207)]({'appCode':_0x1028d6[_0x36dbc3(0x201)],'permitList':_0x4e8abf['permitList']})['description'](_0x36dbc3(0x1ed)+_0x4e8abf[_0x36dbc3(0x205)]+_0x36dbc3(0x211))[_0x36dbc3(0x1f6)]();},async 'execute'(_0x137289){const _0x5ed856=a44_0x1de429,_0x34ced4=await prepare(_0x137289);return _0x34ced4[_0x5ed856(0x204)][_0x5ed856(0x1ef)]>0x0&&await saveRuntimeMenuRolePermits(_0x137289[_0x5ed856(0x201)],_0x34ced4['permitList']),{'ok':!![],'data':runtimePermitWriteResult(_0x5ed856(0x20f)+_0x34ced4['operation'],{'roleId':_0x34ced4['role']['id'],'menuIds':_0x34ced4['menuIds']},_0x34ced4[_0x5ed856(0x1fa)],_0x34ced4[_0x5ed856(0x1f4)],{'method':_0x5ed856(0x202),'path':'/client/permit/resource/batch-save-menu'},_0x34ced4[_0x5ed856(0x206)])};}};
1
+ const a44_0x2e7600=a44_0xfc85;(function(_0x6ae6f2,_0x3c7db1){const _0x2591f0=a44_0xfc85,_0xeb223b=_0x6ae6f2();while(!![]){try{const _0x22c9cf=parseInt(_0x2591f0(0x1c5))/0x1*(-parseInt(_0x2591f0(0x1b5))/0x2)+-parseInt(_0x2591f0(0x1af))/0x3+parseInt(_0x2591f0(0x1bc))/0x4+-parseInt(_0x2591f0(0x1c2))/0x5*(parseInt(_0x2591f0(0x1be))/0x6)+parseInt(_0x2591f0(0x1ab))/0x7+-parseInt(_0x2591f0(0x1c9))/0x8*(parseInt(_0x2591f0(0x1c4))/0x9)+-parseInt(_0x2591f0(0x1bb))/0xa*(-parseInt(_0x2591f0(0x1bf))/0xb);if(_0x22c9cf===_0x3c7db1)break;else _0xeb223b['push'](_0xeb223b['shift']());}catch(_0x3b644d){_0xeb223b['push'](_0xeb223b['shift']());}}}(a44_0x3c9a,0xe05bc));function a44_0xfc85(_0x349173,_0x3e5d3c){_0x349173=_0x349173-0x1a5;const _0x3c9ae9=a44_0x3c9a();let _0xfc8531=_0x3c9ae9[_0x349173];return _0xfc8531;}import{listRuntimeMenuRolePermits,listRuntimePermitRoles,saveRuntimeMenuRolePermits}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';import{resolveRuntimeRoleRef}from'../../commands/role/shared.js';import{applyRuntimeRolePermission,assertGrantOrRevoke,assertRuntimePermissionManager,assertRuntimePermitRoleConfigurable,flattenRuntimeMenuRolePermits,GRANT_FLAG,menuPermitDto,REVOKE_FLAG,ROLE_REF_FLAG,runtimePermitWriteResult,splitRefs}from'../../commands/permit/shared.js';const MENUS_FLAG={'name':'menus','type':a44_0x2e7600(0x1cd),'required':!![],'description':a44_0x2e7600(0x1b4)};function a44_0x3c9a(){const _0x369173=['isSafeInteger','appCode','push','high-risk-write','Grants\x20or\x20revokes\x20the\x20target\x20role\x20access\x20to\x20the\x20given\x20runtime\x20menus.\x20Menu\x20visibility\x20for\x20users\x20in\x20that\x20role\x20will\x20change.','POST','1316441kJJYym','operation','after','validation','4543437VPhkaH','rolePermit','\x20selected\x20runtime\x20menus','--menus','test','Comma-separated\x20runtime\x20menu\x20IDs','10OMdEjM','\x20already\x20reflects\x20','warnings','roles','\x20was\x20not\x20found.','before','4310BpMoLi','5141344JEEjlK','bool','6QFznqr','79981DqapxB','description','Preview:\x20','139500VJkKCD','/client/permit/resource/batch-save-menu','803916GUSKqW','143333WCYosH','revoke','permitList','permit','128tgyYmS','length','\x20for\x20role\x20','role','string','build','body','Runtime\x20menu\x20'];a44_0x3c9a=function(){return _0x369173;};return a44_0x3c9a();}async function prepare(_0x1d52b0){const _0x7ce465=a44_0x2e7600;await assertRuntimePermissionManager(_0x1d52b0[_0x7ce465(0x1a6)]);const _0x1a5cef=assertGrantOrRevoke(_0x1d52b0[_0x7ce465(0x1bd)]('grant'),_0x1d52b0['bool'](_0x7ce465(0x1c6))),_0x36f8f1=await resolveRuntimeRoleRef(_0x1d52b0[_0x7ce465(0x1a6)],_0x1d52b0['str'](_0x7ce465(0x1cc)));assertRuntimePermitRoleConfigurable(_0x36f8f1);const _0x2df7cd=[...new Set(splitRefs(_0x1d52b0['str']('menus'),_0x7ce465(0x1b2))['map'](_0x483df0=>{const _0x2ed913=_0x7ce465,_0x1a50db=Number(_0x483df0);if(!/^\d+$/[_0x2ed913(0x1b3)](_0x483df0)||!Number[_0x2ed913(0x1a5)](_0x1a50db)||_0x1a50db<=0x0)throw CliErrors[_0x2ed913(0x1ae)]('Invalid\x20runtime\x20menu\x20ID:\x20'+_0x483df0+'.');return _0x1a50db;}))],_0xb9bc83=flattenRuntimeMenuRolePermits(await listRuntimeMenuRolePermits(_0x1d52b0[_0x7ce465(0x1a6)])),_0x4bd667=await listRuntimePermitRoles(_0x1d52b0['appCode']),_0x1bc7da=[],_0xebeffb=[],_0x12b7bd=[],_0x14f47c=[];for(const _0x213569 of _0x2df7cd){const _0x4b5657=_0xb9bc83['find'](_0x1969a1=>_0x1969a1['id']===_0x213569);if(!_0x4b5657)throw CliErrors['validation']('Runtime\x20menu\x20'+_0x213569+_0x7ce465(0x1b9));const _0x547c68=applyRuntimeRolePermission(_0x4b5657[_0x7ce465(0x1b0)],_0x36f8f1,_0x4bd667,_0x1a5cef);_0xebeffb[_0x7ce465(0x1a7)]({'menuId':_0x213569,'rolePermit':_0x4b5657[_0x7ce465(0x1b0)]}),_0x12b7bd['push']({'menuId':_0x213569,'rolePermit':_0x547c68[_0x7ce465(0x1b8)]});if(_0x547c68['changed'])_0x1bc7da[_0x7ce465(0x1a7)](menuPermitDto(_0x1d52b0[_0x7ce465(0x1a6)],_0x4b5657,_0x547c68[_0x7ce465(0x1b8)]));else _0x14f47c[_0x7ce465(0x1a7)](_0x7ce465(0x1d0)+_0x213569+_0x7ce465(0x1b6)+_0x1a5cef+_0x7ce465(0x1cb)+_0x36f8f1['id']+'.');}return{'operation':_0x1a5cef,'role':_0x36f8f1,'menuIds':_0x2df7cd,'permitList':_0x1bc7da,'before':_0xebeffb,'after':_0x12b7bd,'warnings':_0x14f47c};}export const permitRoleMenusSet={'service':a44_0x2e7600(0x1c8),'command':'role-menus-set','description':'Grant\x20or\x20revoke\x20selected\x20runtime\x20menus\x20for\x20one\x20role','risk':a44_0x2e7600(0x1a8),'confirmationDescription':a44_0x2e7600(0x1a9),'flags':[ROLE_REF_FLAG,GRANT_FLAG,REVOKE_FLAG,MENUS_FLAG],async 'validate'(_0x37b8de){const _0x36298a=a44_0x2e7600;assertGrantOrRevoke(_0x37b8de[_0x36298a(0x1bd)]('grant'),_0x37b8de[_0x36298a(0x1bd)](_0x36298a(0x1c6)));},async 'dryRun'(_0x4185d9){const _0x50212a=a44_0x2e7600,_0x2b39ad=await prepare(_0x4185d9);return dryRun(_0x50212a(0x1aa),_0x50212a(0x1c3))[_0x50212a(0x1cf)]({'appCode':_0x4185d9[_0x50212a(0x1a6)],'permitList':_0x2b39ad[_0x50212a(0x1c7)]})[_0x50212a(0x1c0)](_0x50212a(0x1c1)+_0x2b39ad[_0x50212a(0x1ac)]+_0x50212a(0x1b1))[_0x50212a(0x1ce)]();},async 'execute'(_0x2238b3){const _0x303edd=a44_0x2e7600,_0x501da7=await prepare(_0x2238b3);return _0x501da7[_0x303edd(0x1c7)][_0x303edd(0x1ca)]>0x0&&await saveRuntimeMenuRolePermits(_0x2238b3[_0x303edd(0x1a6)],_0x501da7[_0x303edd(0x1c7)]),{'ok':!![],'data':runtimePermitWriteResult('menu-'+_0x501da7[_0x303edd(0x1ac)],{'roleId':_0x501da7[_0x303edd(0x1cc)]['id'],'menuIds':_0x501da7['menuIds']},_0x501da7[_0x303edd(0x1ba)],_0x501da7[_0x303edd(0x1ad)],{'method':_0x303edd(0x1aa),'path':'/client/permit/resource/batch-save-menu'},_0x501da7[_0x303edd(0x1b7)])};}};
@@ -1 +1 @@
1
- const a45_0x491933=a45_0x5bbd;(function(_0x3eae92,_0x9fa127){const _0x318d3a=a45_0x5bbd,_0x5d0d8d=_0x3eae92();while(!![]){try{const _0x39c510=-parseInt(_0x318d3a(0x1a3))/0x1+parseInt(_0x318d3a(0x1a5))/0x2+parseInt(_0x318d3a(0x19f))/0x3*(parseInt(_0x318d3a(0x19d))/0x4)+parseInt(_0x318d3a(0x1a8))/0x5+-parseInt(_0x318d3a(0x19c))/0x6*(-parseInt(_0x318d3a(0x1a1))/0x7)+parseInt(_0x318d3a(0x1a7))/0x8+-parseInt(_0x318d3a(0x1a6))/0x9;if(_0x39c510===_0x9fa127)break;else _0x5d0d8d['push'](_0x5d0d8d['shift']());}catch(_0x286d40){_0x5d0d8d['push'](_0x5d0d8d['shift']());}}}(a45_0x1301,0x8763c));function a45_0x1301(){const _0xad22bd=['80052BOCLFN','29404rgMGDJ','appCode','39oPOjaY','role','406DddVmE','read','410700NctjxC','permit','1627674kiSwvG','19703043qTBqhc','8846936BrKryd','1826900BrZPeO','roleType','runtime','str'];a45_0x1301=function(){return _0xad22bd;};return a45_0x1301();}import{getRuntimeRoleMenuResources}from'../../core/api-client.js';import{resolveRuntimeRoleRef}from'../../commands/role/shared.js';import{ROLE_REF_FLAG}from'../../commands/permit/shared.js';function a45_0x5bbd(_0x370fba,_0x2a6b29){_0x370fba=_0x370fba-0x199;const _0x13019a=a45_0x1301();let _0x5bbdf4=_0x13019a[_0x370fba];return _0x5bbdf4;}export const permitRoleMenus={'service':a45_0x491933(0x1a4),'command':'role-menus','description':'Show\x20evaluated\x20runtime\x20menu\x20access\x20for\x20one\x20role','risk':a45_0x491933(0x1a2),'flags':[ROLE_REF_FLAG],async 'execute'(_0x4ec917){const _0x3aaab4=a45_0x491933,_0x2ca47d=await resolveRuntimeRoleRef(_0x4ec917[_0x3aaab4(0x19e)],_0x4ec917[_0x3aaab4(0x19b)](_0x3aaab4(0x1a0))),_0x516cd5=await getRuntimeRoleMenuResources(_0x4ec917[_0x3aaab4(0x19e)],_0x2ca47d['id']);return{'ok':!![],'data':{'scope':_0x3aaab4(0x19a),'role':{'id':_0x2ca47d['id'],'roleName':_0x2ca47d['roleName'],'roleType':_0x2ca47d[_0x3aaab4(0x199)]},'menus':_0x516cd5}};}};
1
+ const a45_0x327333=a45_0x2899;(function(_0x176da3,_0xc16509){const _0x2e5f9a=a45_0x2899,_0x21140c=_0x176da3();while(!![]){try{const _0x1e9744=-parseInt(_0x2e5f9a(0x1d2))/0x1+parseInt(_0x2e5f9a(0x1cb))/0x2*(parseInt(_0x2e5f9a(0x1d6))/0x3)+-parseInt(_0x2e5f9a(0x1d3))/0x4+parseInt(_0x2e5f9a(0x1ce))/0x5*(-parseInt(_0x2e5f9a(0x1d4))/0x6)+-parseInt(_0x2e5f9a(0x1d8))/0x7*(parseInt(_0x2e5f9a(0x1ca))/0x8)+parseInt(_0x2e5f9a(0x1da))/0x9*(-parseInt(_0x2e5f9a(0x1cf))/0xa)+parseInt(_0x2e5f9a(0x1db))/0xb*(parseInt(_0x2e5f9a(0x1d7))/0xc);if(_0x1e9744===_0xc16509)break;else _0x21140c['push'](_0x21140c['shift']());}catch(_0x56914d){_0x21140c['push'](_0x21140c['shift']());}}}(a45_0x2da0,0x86c1d));function a45_0x2899(_0x9b8171,_0x23ae1d){_0x9b8171=_0x9b8171-0x1c8;const _0x2da09b=a45_0x2da0();let _0x289922=_0x2da09b[_0x9b8171];return _0x289922;}import{getRuntimeRoleMenuResources}from'../../core/api-client.js';import{resolveRuntimeRoleRef}from'../../commands/role/shared.js';function a45_0x2da0(){const _0x3cad73=['6SCdhiy','role-menus','5943mxmZlN','907620VvAxKV','14iawIJT','Show\x20evaluated\x20runtime\x20menu\x20access\x20for\x20one\x20role','9ZBYCHr','363fvuEPY','role','runtime','2091856qNrOrZ','862TIErAT','appCode','roleName','751435sMtSGb','9195200XJKSyr','roleType','permit','207324eGwNqo','3990824MtpaFq'];a45_0x2da0=function(){return _0x3cad73;};return a45_0x2da0();}import{ROLE_REF_FLAG}from'../../commands/permit/shared.js';export const permitRoleMenus={'service':a45_0x327333(0x1d1),'command':a45_0x327333(0x1d5),'description':a45_0x327333(0x1d9),'risk':'read','flags':[ROLE_REF_FLAG],async 'execute'(_0x6a1752){const _0x325bea=a45_0x327333,_0x423554=await resolveRuntimeRoleRef(_0x6a1752[_0x325bea(0x1cc)],_0x6a1752['str'](_0x325bea(0x1c8))),_0x156533=await getRuntimeRoleMenuResources(_0x6a1752['appCode'],_0x423554['id']);return{'ok':!![],'data':{'scope':_0x325bea(0x1c9),'role':{'id':_0x423554['id'],'roleName':_0x423554[_0x325bea(0x1cd)],'roleType':_0x423554[_0x325bea(0x1d0)]},'menus':_0x156533}};}};
@@ -1 +1 @@
1
- const a46_0x4f0b81=a46_0x244e;(function(_0x3391ed,_0x16e71a){const _0x50e165=a46_0x244e,_0x554fc8=_0x3391ed();while(!![]){try{const _0x185710=parseInt(_0x50e165(0x15d))/0x1*(-parseInt(_0x50e165(0x164))/0x2)+-parseInt(_0x50e165(0x135))/0x3+-parseInt(_0x50e165(0x131))/0x4*(parseInt(_0x50e165(0x12a))/0x5)+-parseInt(_0x50e165(0x151))/0x6+parseInt(_0x50e165(0x120))/0x7*(-parseInt(_0x50e165(0x160))/0x8)+parseInt(_0x50e165(0x13e))/0x9+parseInt(_0x50e165(0x134))/0xa;if(_0x185710===_0x16e71a)break;else _0x554fc8['push'](_0x554fc8['shift']());}catch(_0x32c208){_0x554fc8['push'](_0x554fc8['shift']());}}}(a46_0x2b20,0x19e23));import{getLoginUserInfo,listRuntimePermitRoles,listRuntimeRoleUsers}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';function a46_0x2b20(){const _0x1f9362=['\x22\x20is\x20ambiguous.','create-roles','dataCreate','export-roles','values','816846zxLLrx','userList','filter','userId','menuId','number','ADMIN\x20and\x20OWNER\x20have\x20full\x20runtime\x20access;\x20configure\x20USER\x20or\x20CUSTOM\x20instead.','length','SELF','roleName','\x20runtime\x20role\x20','\x20has\x20full\x20runtime\x20access\x20and\x20cannot\x20be\x20a\x20resource\x20permission\x20target.','132114gsxbGa','dataDetail','Grant\x20the\x20selected\x20resources\x20to\x20the\x20role','47056ISkFmy','update-roles','validation','ADMIN','2NxlztR','some','SELF\x20is\x20only\x20valid\x20for\x20--row-roles.','menuPermit','menu-id','Ask\x20an\x20application\x20manager\x20to\x20perform\x20this\x20operation.','detail-roles','Permission\x20role\x20\x22','\x20must\x20contain\x20at\x20least\x20one\x20value.','Revoke\x20the\x20selected\x20resources\x20from\x20the\x20role','dataDelete','119urkpwa','appCode','label','row-roles','resourceCode','pageId','OWNER','runtime','dataPermit','dataExport','327330varzKb','find','trim','resourceType','Cannot\x20resolve\x20the\x20current\x20AK\x20userId\x20for\x20permission\x20management.','permitId','MENU','12spicEG','flag','map','7761430uEgljg','372021eoBuYm','roleType','boolean','toUpperCase','Runtime\x20resource\x20permission\x20changes\x20require\x20an\x20ADMIN\x20or\x20OWNER\x20role.','Cannot\x20revoke\x20the\x20last\x20role\x20from\x20a\x20runtime\x20resource.','Pass\x20exactly\x20one\x20of\x20--grant\x20or\x20--revoke.','revoke','push','166770UkmKHs','Runtime\x20role\x20ID\x20or\x20exact\x20role\x20name','test','ALL','Configure\x20USER,\x20CUSTOM,\x20or\x20an\x20applicable\x20special\x20role\x20instead.','isSafeInteger','string','\x22\x20was\x20not\x20found.','rolePermit','grant','Use\x20a\x20role\x20ID\x20from\x20`lovrabet\x20role\x20list`.','delete-roles','role','children'];a46_0x2b20=function(){return _0x1f9362;};return a46_0x2b20();}function a46_0x244e(_0x27cc9d,_0x2ad1c2){_0x27cc9d=_0x27cc9d-0x11a;const _0x2b20c6=a46_0x2b20();let _0x244e71=_0x2b20c6[_0x27cc9d];return _0x244e71;}export const MENU_ID_FLAG={'name':a46_0x4f0b81(0x168),'type':a46_0x4f0b81(0x156),'required':!![],'description':'Runtime\x20menu\x20ID'};export const ROLE_REF_FLAG={'name':a46_0x4f0b81(0x14a),'type':'string','required':!![],'description':a46_0x4f0b81(0x13f)};export const GRANT_FLAG={'name':'grant','type':a46_0x4f0b81(0x137),'description':a46_0x4f0b81(0x15f)};export const REVOKE_FLAG={'name':a46_0x4f0b81(0x13c),'type':'boolean','description':a46_0x4f0b81(0x11e)};export const PAGE_SLOT_SPECS=[{'flag':'menu-roles','key':a46_0x4f0b81(0x167),'allowSelf':![]},{'flag':a46_0x4f0b81(0x14d),'key':a46_0x4f0b81(0x14e),'allowSelf':![]},{'flag':a46_0x4f0b81(0x161),'key':'dataUpdate','allowSelf':![]},{'flag':a46_0x4f0b81(0x149),'key':a46_0x4f0b81(0x11f),'allowSelf':![]},{'flag':a46_0x4f0b81(0x11b),'key':a46_0x4f0b81(0x15e),'allowSelf':![]},{'flag':a46_0x4f0b81(0x14f),'key':a46_0x4f0b81(0x129),'allowSelf':![]},{'flag':a46_0x4f0b81(0x123),'key':a46_0x4f0b81(0x128),'allowSelf':!![]}];export const PAGE_ROLE_FLAGS=PAGE_SLOT_SPECS[a46_0x4f0b81(0x133)](_0x437d72=>({'name':_0x437d72[a46_0x4f0b81(0x132)],'type':a46_0x4f0b81(0x144),'description':'Comma-separated\x20runtime\x20role\x20IDs\x20or\x20names'}));export function splitRefs(_0x405095,_0x57f2a9){const _0x20e08c=a46_0x4f0b81,_0x42af65=[...new Set(_0x405095['split'](',')[_0x20e08c(0x133)](_0x5b68a7=>_0x5b68a7[_0x20e08c(0x12c)]())['filter'](Boolean))];if(_0x42af65[_0x20e08c(0x158)]===0x0)throw CliErrors[_0x20e08c(0x162)](_0x57f2a9+_0x20e08c(0x11d));return _0x42af65;}export function assertGrantOrRevoke(_0x402f74,_0x208e63){const _0x467537=a46_0x4f0b81;if(_0x402f74===_0x208e63)throw CliErrors[_0x467537(0x162)](_0x467537(0x13b));return _0x402f74?'grant':_0x467537(0x13c);}function resolvePermitRole(_0x1b683a,_0x4535a4){const _0x329c4a=a46_0x4f0b81,_0x441a9e=_0x4535a4[_0x329c4a(0x12c)](),_0xd43fae=/^-?\d+$/[_0x329c4a(0x140)](_0x441a9e)?_0x1b683a[_0x329c4a(0x153)](_0x5b7dac=>_0x5b7dac['id']===Number(_0x441a9e)):_0x1b683a['filter'](_0x4c507f=>_0x4c507f[_0x329c4a(0x15a)]===_0x441a9e||_0x4c507f['roleType']===_0x441a9e[_0x329c4a(0x138)]());if(_0xd43fae[_0x329c4a(0x158)]!==0x1)throw CliErrors[_0x329c4a(0x162)](_0xd43fae[_0x329c4a(0x158)]===0x0?_0x329c4a(0x11c)+_0x441a9e+_0x329c4a(0x145):'Permission\x20role\x20\x22'+_0x441a9e+_0x329c4a(0x14c),_0x329c4a(0x148));return _0xd43fae[0x0];}export async function resolveRuntimePermitRoles(_0x4d3968,_0x1dcfdc,_0x169b88){const _0x759add=a46_0x4f0b81,_0x46d58a=await listRuntimePermitRoles(_0x4d3968,{'needSelf':!![],'needPublic':!![]}),_0x10a162=[...new Map(_0x1dcfdc['map'](_0x455ebd=>resolvePermitRole(_0x46d58a,_0x455ebd))['map'](_0x44506c=>[_0x44506c['id'],_0x44506c]))[_0x759add(0x150)]()],_0x589f51=_0x10a162[_0x759add(0x12b)](_0x526e93=>_0x526e93[_0x759add(0x136)]===_0x759add(0x163)||_0x526e93[_0x759add(0x136)]===_0x759add(0x126));if(_0x589f51)throw CliErrors[_0x759add(0x162)](_0x589f51[_0x759add(0x136)]+_0x759add(0x15c),_0x759add(0x142));if(!_0x169b88&&_0x10a162[_0x759add(0x165)](_0x4fecac=>_0x4fecac[_0x759add(0x136)]===_0x759add(0x159)))throw CliErrors['validation'](_0x759add(0x166));return _0x10a162;}export async function assertRuntimePermissionManager(_0x35cbc0){const _0x249fea=a46_0x4f0b81,_0xc7aa6c=await getLoginUserInfo(),_0x23a77e=_0xc7aa6c[_0x249fea(0x154)]??_0xc7aa6c['id'],_0x534526=Number(_0x23a77e);if(!Number[_0x249fea(0x143)](_0x534526)||_0x534526<=0x0)throw CliErrors[_0x249fea(0x162)](_0x249fea(0x12e));const _0x3d7883=await listRuntimeRoleUsers(_0x35cbc0),_0x230f97=_0x3d7883['some'](_0x2c41c3=>(_0x2c41c3[_0x249fea(0x136)]===_0x249fea(0x163)||_0x2c41c3['roleType']===_0x249fea(0x126))&&_0x2c41c3[_0x249fea(0x152)][_0x249fea(0x165)](_0x5f379b=>_0x5f379b[_0x249fea(0x154)]===_0x534526));if(!_0x230f97)throw CliErrors[_0x249fea(0x162)](_0x249fea(0x139),_0x249fea(0x11a));}export function assertRuntimePermitRoleConfigurable(_0x41725f){const _0x2ee54a=a46_0x4f0b81;if(_0x41725f[_0x2ee54a(0x136)]===_0x2ee54a(0x163)||_0x41725f['roleType']==='OWNER')throw CliErrors[_0x2ee54a(0x162)]('Cannot\x20change\x20resource\x20permissions\x20for\x20'+_0x41725f[_0x2ee54a(0x136)]+_0x2ee54a(0x15b)+_0x41725f[_0x2ee54a(0x15a)]+'.',_0x2ee54a(0x157));}function asPermitRole(_0x460f1b){return{'id':_0x460f1b['id'],'roleName':_0x460f1b['roleName'],'roleType':_0x460f1b['roleType'],'allowed':!![]};}export function applyRuntimeRolePermission(_0x108944,_0x3054bb,_0x14fe00,_0x25bdcb){const _0x446c79=a46_0x4f0b81,_0x592658=!_0x108944||_0x108944[_0x446c79(0x158)]===0x0,_0x3ed1c1=_0x108944?.[_0x446c79(0x165)](_0x15218f=>_0x15218f[_0x446c79(0x136)]===_0x446c79(0x141))??![];if(_0x25bdcb===_0x446c79(0x147)&&(_0x592658||_0x3ed1c1))return{'roles':_0x108944??null,'changed':![]};let _0x332ea9=_0x592658||_0x3ed1c1?_0x14fe00['filter'](_0xa20712=>_0xa20712['id']>0x0):[..._0x108944];const _0x52e56b=_0x332ea9[_0x446c79(0x165)](_0x13d4fd=>_0x13d4fd['id']===_0x3054bb['id']);if(_0x25bdcb==='grant'){if(_0x52e56b)return{'roles':_0x332ea9,'changed':![]};return _0x332ea9['push'](asPermitRole(_0x3054bb)),{'roles':_0x332ea9,'changed':!![]};}if(!_0x52e56b)return{'roles':_0x332ea9,'changed':_0x592658||_0x3ed1c1};_0x332ea9=_0x332ea9[_0x446c79(0x153)](_0x1c8fd9=>_0x1c8fd9['id']!==_0x3054bb['id']);if(_0x332ea9[_0x446c79(0x158)]===0x0)throw CliErrors['validation'](_0x446c79(0x13a),'The\x20current\x20service\x20contract\x20does\x20not\x20persist\x20an\x20empty\x20rolePermit;\x20grant\x20another\x20role\x20first.');return{'roles':_0x332ea9,'changed':!![]};}export function projectRuntimePagePermit(_0x508872){const _0x34d9f9=a46_0x4f0b81,_0x13ffe8={'menuId':_0x508872[_0x34d9f9(0x155)],'pageId':_0x508872[_0x34d9f9(0x125)],'appCode':_0x508872[_0x34d9f9(0x121)],'datasetCode':_0x508872['datasetCode']};for(const _0x5d8e31 of PAGE_SLOT_SPECS){const _0x23fb9c=_0x508872[_0x5d8e31['key']];_0x23fb9c&&(_0x13ffe8[_0x5d8e31['key']]={'resourceCode':_0x23fb9c[_0x34d9f9(0x124)],'resourceType':_0x23fb9c[_0x34d9f9(0x12d)],'roles':(_0x23fb9c[_0x34d9f9(0x146)]??[])['map'](_0x4fa3a1=>({'id':_0x4fa3a1['id'],'roleName':_0x4fa3a1[_0x34d9f9(0x15a)],'roleType':_0x4fa3a1['roleType']}))});}return _0x13ffe8;}export function flattenRuntimeMenuRolePermits(_0x6b50f3){const _0x243f19=[],_0x17e03a=_0x285039=>{const _0x557aec=a46_0x244e;_0x243f19[_0x557aec(0x13d)](_0x285039);for(const _0x1f3283 of _0x285039[_0x557aec(0x14b)]??[])_0x17e03a(_0x1f3283);};for(const _0x23e183 of _0x6b50f3)_0x17e03a(_0x23e183);return _0x243f19;}export function runtimePermitWriteResult(_0x47db4f,_0x5eb58d,_0x4b2df1,_0x3c6285,_0x31310a,_0x163edf=[]){const _0x1db216=a46_0x4f0b81;return{'operation':_0x47db4f,'scope':_0x1db216(0x127),'selector':_0x5eb58d,'before':_0x4b2df1,'after':_0x3c6285,'dryRun':![],'backend':_0x31310a,'warnings':_0x163edf};}export function menuPermitDto(_0x25a58d,_0x556e42,_0x167246){const _0x2bdaa0=a46_0x4f0b81;return{..._0x556e42[_0x2bdaa0(0x12f)]!=null?{'id':_0x556e42[_0x2bdaa0(0x12f)]}:{},'appCode':_0x25a58d,'menuId':_0x556e42['id'],'pageId':_0x556e42['pageId']??null,'resourceCode':String(_0x556e42['id']),'resourceType':_0x2bdaa0(0x130),'resourceName':_0x556e42[_0x2bdaa0(0x122)],'rolePermit':_0x167246};}
1
+ const a46_0x3e7a88=a46_0x35be;(function(_0x4fe093,_0x1dd91d){const _0x2d46b6=a46_0x35be,_0xc9f22c=_0x4fe093();while(!![]){try{const _0x3105d4=parseInt(_0x2d46b6(0xb4))/0x1*(parseInt(_0x2d46b6(0xa6))/0x2)+parseInt(_0x2d46b6(0x8c))/0x3+parseInt(_0x2d46b6(0xb8))/0x4+parseInt(_0x2d46b6(0xb5))/0x5*(-parseInt(_0x2d46b6(0x9f))/0x6)+-parseInt(_0x2d46b6(0x9e))/0x7*(-parseInt(_0x2d46b6(0x70))/0x8)+-parseInt(_0x2d46b6(0x74))/0x9+parseInt(_0x2d46b6(0xb6))/0xa*(-parseInt(_0x2d46b6(0x73))/0xb);if(_0x3105d4===_0x1dd91d)break;else _0xc9f22c['push'](_0xc9f22c['shift']());}catch(_0x1d4cd5){_0xc9f22c['push'](_0xc9f22c['shift']());}}}(a46_0xb149,0x769c5));import{getLoginUserInfo,listRuntimePermitRoles,listRuntimeRoleUsers}from'../../core/api-client.js';function a46_0x35be(_0xaa7b4e,_0x8db89){_0xaa7b4e=_0xaa7b4e-0x6f;const _0xb149f7=a46_0xb149();let _0x35bec8=_0xb149f7[_0xaa7b4e];return _0x35bec8;}import{CliErrors}from'../../errors.js';export const MENU_ID_FLAG={'name':a46_0x3e7a88(0xa1),'type':a46_0x3e7a88(0xba),'required':!![],'description':a46_0x3e7a88(0x86)};export const ROLE_REF_FLAG={'name':a46_0x3e7a88(0x90),'type':a46_0x3e7a88(0x9a),'required':!![],'description':a46_0x3e7a88(0xa3)};export const GRANT_FLAG={'name':a46_0x3e7a88(0xa8),'type':a46_0x3e7a88(0x9c),'description':'Grant\x20the\x20selected\x20resources\x20to\x20the\x20role'};export const REVOKE_FLAG={'name':'revoke','type':a46_0x3e7a88(0x9c),'description':a46_0x3e7a88(0xaa)};export const PAGE_SLOT_SPECS=[{'flag':a46_0x3e7a88(0x91),'key':a46_0x3e7a88(0xb7),'allowSelf':![]},{'flag':a46_0x3e7a88(0x75),'key':a46_0x3e7a88(0x92),'allowSelf':![]},{'flag':a46_0x3e7a88(0x7f),'key':a46_0x3e7a88(0x71),'allowSelf':![]},{'flag':a46_0x3e7a88(0x97),'key':'dataDelete','allowSelf':![]},{'flag':a46_0x3e7a88(0x9d),'key':'dataDetail','allowSelf':![]},{'flag':a46_0x3e7a88(0x9b),'key':a46_0x3e7a88(0x7e),'allowSelf':![]},{'flag':a46_0x3e7a88(0x8d),'key':a46_0x3e7a88(0x98),'allowSelf':!![]}];export const PAGE_ROLE_FLAGS=PAGE_SLOT_SPECS[a46_0x3e7a88(0xa5)](_0x53f542=>({'name':_0x53f542[a46_0x3e7a88(0xae)],'type':a46_0x3e7a88(0x9a),'description':a46_0x3e7a88(0x8b)}));export function splitRefs(_0x2d446e,_0x36eaa5){const _0x3eb4e2=a46_0x3e7a88,_0x2ea251=[...new Set(_0x2d446e[_0x3eb4e2(0x8f)](',')['map'](_0x2c80ab=>_0x2c80ab[_0x3eb4e2(0x8e)]())[_0x3eb4e2(0x85)](Boolean))];if(_0x2ea251['length']===0x0)throw CliErrors[_0x3eb4e2(0xab)](_0x36eaa5+'\x20must\x20contain\x20at\x20least\x20one\x20value.');return _0x2ea251;}export function assertGrantOrRevoke(_0x213c8f,_0x46bc29){const _0x3fbb7d=a46_0x3e7a88;if(_0x213c8f===_0x46bc29)throw CliErrors['validation'](_0x3fbb7d(0x80));return _0x213c8f?_0x3fbb7d(0xa8):_0x3fbb7d(0x78);}function resolvePermitRole(_0x24de36,_0x1b9315){const _0x3bc1ae=a46_0x3e7a88,_0x5cfaf3=_0x1b9315[_0x3bc1ae(0x8e)](),_0xd4b687=/^-?\d+$/['test'](_0x5cfaf3)?_0x24de36['filter'](_0x3af38c=>_0x3af38c['id']===Number(_0x5cfaf3)):_0x24de36[_0x3bc1ae(0x85)](_0x2f1cdc=>_0x2f1cdc[_0x3bc1ae(0xb1)]===_0x5cfaf3||_0x2f1cdc[_0x3bc1ae(0xa9)]===_0x5cfaf3[_0x3bc1ae(0xb9)]());if(_0xd4b687['length']!==0x1)throw CliErrors[_0x3bc1ae(0xab)](_0xd4b687[_0x3bc1ae(0x89)]===0x0?'Permission\x20role\x20\x22'+_0x5cfaf3+_0x3bc1ae(0x76):_0x3bc1ae(0x6f)+_0x5cfaf3+_0x3bc1ae(0x7b),'Use\x20a\x20role\x20ID\x20from\x20`lovrabet\x20role\x20list`.');return _0xd4b687[0x0];}export async function resolveRuntimePermitRoles(_0x130848,_0x1f6a55,_0x5e16e9){const _0x34f028=a46_0x3e7a88,_0x7daae8=await listRuntimePermitRoles(_0x130848,{'needSelf':!![],'needPublic':!![]}),_0xcdc839=[...new Map(_0x1f6a55[_0x34f028(0xa5)](_0x5b1523=>resolvePermitRole(_0x7daae8,_0x5b1523))[_0x34f028(0xa5)](_0x6b037b=>[_0x6b037b['id'],_0x6b037b]))['values']()],_0x370063=_0xcdc839[_0x34f028(0x95)](_0x2e6ac6=>_0x2e6ac6['roleType']===_0x34f028(0xa2)||_0x2e6ac6[_0x34f028(0xa9)]==='OWNER');if(_0x370063)throw CliErrors['validation'](_0x370063[_0x34f028(0xa9)]+_0x34f028(0x99),_0x34f028(0xa4));if(!_0x5e16e9&&_0xcdc839['some'](_0x330a95=>_0x330a95[_0x34f028(0xa9)]==='SELF'))throw CliErrors[_0x34f028(0xab)]('SELF\x20is\x20only\x20valid\x20for\x20--row-roles.');return _0xcdc839;}export async function assertRuntimePermissionManager(_0x486eb1){const _0x289c93=a46_0x3e7a88,_0x2c2f3c=await getLoginUserInfo(),_0x5b00f1=_0x2c2f3c[_0x289c93(0x87)]??_0x2c2f3c['id'],_0x1ef593=Number(_0x5b00f1);if(!Number['isSafeInteger'](_0x1ef593)||_0x1ef593<=0x0)throw CliErrors[_0x289c93(0xab)](_0x289c93(0x79));const _0x243f6a=await listRuntimeRoleUsers(_0x486eb1),_0x54991f=_0x243f6a[_0x289c93(0xac)](_0x5fdb68=>(_0x5fdb68[_0x289c93(0xa9)]===_0x289c93(0xa2)||_0x5fdb68[_0x289c93(0xa9)]===_0x289c93(0xb2))&&_0x5fdb68[_0x289c93(0x7d)][_0x289c93(0xac)](_0x2e15ee=>_0x2e15ee['userId']===_0x1ef593));if(!_0x54991f)throw CliErrors[_0x289c93(0xab)](_0x289c93(0xaf),'Ask\x20an\x20application\x20manager\x20to\x20perform\x20this\x20operation.');}export function assertRuntimePermitRoleConfigurable(_0x4dca1a){const _0x36460b=a46_0x3e7a88;if(_0x4dca1a[_0x36460b(0xa9)]===_0x36460b(0xa2)||_0x4dca1a[_0x36460b(0xa9)]==='OWNER')throw CliErrors[_0x36460b(0xab)](_0x36460b(0xa7)+_0x4dca1a[_0x36460b(0xa9)]+_0x36460b(0x88)+_0x4dca1a[_0x36460b(0xb1)]+'.',_0x36460b(0x7c));}function asPermitRole(_0x1bea8b){const _0x2c7eaa=a46_0x3e7a88;return{'id':_0x1bea8b['id'],'roleName':_0x1bea8b[_0x2c7eaa(0xb1)],'roleType':_0x1bea8b[_0x2c7eaa(0xa9)],'allowed':!![]};}export function applyRuntimeRolePermission(_0x45f0c9,_0x169dee,_0x52da99,_0x4eb60b){const _0x49eb4e=a46_0x3e7a88,_0x437725=!_0x45f0c9||_0x45f0c9[_0x49eb4e(0x89)]===0x0,_0x11b05d=_0x45f0c9?.[_0x49eb4e(0xac)](_0xcfc754=>_0xcfc754['roleType']===_0x49eb4e(0x83))??![];if(_0x4eb60b===_0x49eb4e(0xa8)&&(_0x437725||_0x11b05d))return{'roles':_0x45f0c9??null,'changed':![]};let _0x431695=_0x437725||_0x11b05d?_0x52da99['filter'](_0x4f548c=>_0x4f548c['id']>0x0):[..._0x45f0c9];const _0x8583ca=_0x431695['some'](_0x12f640=>_0x12f640['id']===_0x169dee['id']);if(_0x4eb60b==='grant'){if(_0x8583ca)return{'roles':_0x431695,'changed':![]};return _0x431695[_0x49eb4e(0xb0)](asPermitRole(_0x169dee)),{'roles':_0x431695,'changed':!![]};}if(!_0x8583ca)return{'roles':_0x431695,'changed':_0x437725||_0x11b05d};_0x431695=_0x431695['filter'](_0x181bd3=>_0x181bd3['id']!==_0x169dee['id']);if(_0x431695[_0x49eb4e(0x89)]===0x0)throw CliErrors[_0x49eb4e(0xab)](_0x49eb4e(0x94),_0x49eb4e(0x72));return{'roles':_0x431695,'changed':!![]};}export function projectRuntimePagePermit(_0x31127a){const _0x1cd65c=a46_0x3e7a88,_0x552072={'menuId':_0x31127a[_0x1cd65c(0x84)],'pageId':_0x31127a['pageId'],'appCode':_0x31127a[_0x1cd65c(0xad)],'datasetCode':_0x31127a[_0x1cd65c(0x93)]};for(const _0x4df4bb of PAGE_SLOT_SPECS){const _0x1466ab=_0x31127a[_0x4df4bb[_0x1cd65c(0x81)]];_0x1466ab&&(_0x552072[_0x4df4bb[_0x1cd65c(0x81)]]={'resourceCode':_0x1466ab[_0x1cd65c(0x7a)],'resourceType':_0x1466ab[_0x1cd65c(0x77)],'roles':(_0x1466ab[_0x1cd65c(0x82)]??[])[_0x1cd65c(0xa5)](_0x18557c=>({'id':_0x18557c['id'],'roleName':_0x18557c[_0x1cd65c(0xb1)],'roleType':_0x18557c[_0x1cd65c(0xa9)]}))});}return _0x552072;}function a46_0xb149(){const _0x7c8a56=['Cannot\x20resolve\x20the\x20current\x20AK\x20userId\x20for\x20permission\x20management.','resourceCode','\x22\x20is\x20ambiguous.','ADMIN\x20and\x20OWNER\x20have\x20full\x20runtime\x20access;\x20configure\x20USER\x20or\x20CUSTOM\x20instead.','userList','dataExport','update-roles','Pass\x20exactly\x20one\x20of\x20--grant\x20or\x20--revoke.','key','rolePermit','ALL','menuId','filter','Runtime\x20menu\x20ID','userId','\x20runtime\x20role\x20','length','pageId','Comma-separated\x20runtime\x20role\x20IDs\x20or\x20names','898230FwfPox','row-roles','trim','split','role','menu-roles','dataCreate','datasetCode','Cannot\x20revoke\x20the\x20last\x20role\x20from\x20a\x20runtime\x20resource.','find','label','delete-roles','dataPermit','\x20has\x20full\x20runtime\x20access\x20and\x20cannot\x20be\x20a\x20resource\x20permission\x20target.','string','export-roles','boolean','detail-roles','169743FAGyEd','3402ZBmJzw','children','menu-id','ADMIN','Runtime\x20role\x20ID\x20or\x20exact\x20role\x20name','Configure\x20USER,\x20CUSTOM,\x20or\x20an\x20applicable\x20special\x20role\x20instead.','map','150470DNSHTH','Cannot\x20change\x20resource\x20permissions\x20for\x20','grant','roleType','Revoke\x20the\x20selected\x20resources\x20from\x20the\x20role','validation','some','appCode','flag','Runtime\x20resource\x20permission\x20changes\x20require\x20an\x20ADMIN\x20or\x20OWNER\x20role.','push','roleName','OWNER','permitId','9VIzLIW','755RtIchB','16190twYTTe','menuPermit','3755368zBEzLz','toUpperCase','number','Permission\x20role\x20\x22','48LPDfLv','dataUpdate','The\x20current\x20service\x20contract\x20does\x20not\x20persist\x20an\x20empty\x20rolePermit;\x20grant\x20another\x20role\x20first.','4015ZiqalY','8086320TuVXHa','create-roles','\x22\x20was\x20not\x20found.','resourceType','revoke'];a46_0xb149=function(){return _0x7c8a56;};return a46_0xb149();}export function flattenRuntimeMenuRolePermits(_0x30f75d){const _0x775621=[],_0x2218a9=_0x413989=>{const _0x5ea1a1=a46_0x35be;_0x775621[_0x5ea1a1(0xb0)](_0x413989);for(const _0x56b6d5 of _0x413989[_0x5ea1a1(0xa0)]??[])_0x2218a9(_0x56b6d5);};for(const _0x53f57c of _0x30f75d)_0x2218a9(_0x53f57c);return _0x775621;}export function runtimePermitWriteResult(_0x25296b,_0x43fbdb,_0x2e6b81,_0x277a62,_0x4c498b,_0x2bdcca=[]){return{'operation':_0x25296b,'scope':'runtime','selector':_0x43fbdb,'before':_0x2e6b81,'after':_0x277a62,'dryRun':![],'backend':_0x4c498b,'warnings':_0x2bdcca};}export function menuPermitDto(_0x230b20,_0x5ac5a0,_0x15e476){const _0x2c8c4d=a46_0x3e7a88;return{..._0x5ac5a0[_0x2c8c4d(0xb3)]!=null?{'id':_0x5ac5a0[_0x2c8c4d(0xb3)]}:{},'appCode':_0x230b20,'menuId':_0x5ac5a0['id'],'pageId':_0x5ac5a0[_0x2c8c4d(0x8a)]??null,'resourceCode':String(_0x5ac5a0['id']),'resourceType':'MENU','resourceName':_0x5ac5a0[_0x2c8c4d(0x96)],'rolePermit':_0x15e476};}
@@ -1 +1 @@
1
- const a47_0xfc6ae=a47_0x41b1;(function(_0x2b338c,_0x56a204){const _0x381fd7=a47_0x41b1,_0x22422f=_0x2b338c();while(!![]){try{const _0x2eed8c=-parseInt(_0x381fd7(0x1a0))/0x1+parseInt(_0x381fd7(0x1d9))/0x2+parseInt(_0x381fd7(0x1c7))/0x3*(parseInt(_0x381fd7(0x1c1))/0x4)+-parseInt(_0x381fd7(0x1b0))/0x5+parseInt(_0x381fd7(0x1b2))/0x6+parseInt(_0x381fd7(0x1a8))/0x7*(parseInt(_0x381fd7(0x1ce))/0x8)+-parseInt(_0x381fd7(0x1b3))/0x9;if(_0x2eed8c===_0x56a204)break;else _0x22422f['push'](_0x22422f['shift']());}catch(_0x2bf16d){_0x22422f['push'](_0x22422f['shift']());}}}(a47_0x2257,0xa6a00));import{existsSync,readFileSync,statSync}from'node:fs';import{createPersonalBff,executePersonalBff,getPersonalBff,listPersonalBffs,updatePersonalBff}from'../../core/api-client.js';function a47_0x2257(){const _0x40a8ca=['Created\x20Personal\x20Backend\x20Function\x20','1255188yDTHQM','scriptContent','Personal\x20Backend\x20Function\x20script\x20ID','createTime','POST','map','9RSODRF','Path\x20to\x20a\x20local\x20UTF-8\x20JavaScript\x20or\x20TypeScript\x20file','Updated\x20Personal\x20Backend\x20Function\x20','createUserId','list','Personal\x20Backend\x20Function\x20name,\x20for\x20example\x20loadOrders','Preview:\x20update\x20Personal\x20Backend\x20Function\x20','6782008aifAHf','config','functionName','trim','Personal\x20Backend\x20Function\x20script\x20file\x20is\x20blank.','Personal\x20Backend\x20Function\x20description','scriptType','validation','/client/runtime-bff/personal/','flag','--params\x20must\x20be\x20a\x20JSON\x20object.','2003572wHPERV','gmtCreate','--name\x20must\x20be\x20a\x20valid\x20JavaScript\x20identifier,\x20for\x20example\x20loadOrders.','isFile','keys','Preview:\x20create\x20Personal\x20Backend\x20Function\x20','str','body','personal-bff\x20update\x20requires\x20at\x20least\x20one\x20of\x20--name,\x20--description,\x20--file,\x20or\x20--source-session-id.','num','File\x20is\x20not\x20a\x20regular\x20file:\x20','Executed\x20Personal\x20Backend\x20Function\x20','1048870ZArGnX','File\x20not\x20found:\x20','version','source-session-id','appCode','Saves\x20the\x20local\x20script\x20as\x20a\x20Personal\x20Backend\x20Function.\x20The\x20script\x20can\x20then\x20be\x20called\x20in\x20the\x20current\x20app.','write','bool','7gbedtd','Execute\x20a\x20Personal\x20Backend\x20Function\x20by\x20ID,\x20optionally\x20with\x20JSON\x20params','update','description','build','string','JSON\x20object\x20passed\x20to\x20the\x20Personal\x20Backend\x20Function\x20execution','name','1069015MXEpDY','Show\x20one\x20Personal\x20Backend\x20Function\x20by\x20id','3990156buFzuS','13597065zBpJXV','Updates\x20the\x20Personal\x20Backend\x20Function\x20script\x20or\x20metadata.\x20Later\x20calls\x20use\x20the\x20new\x20version.','Optional\x20source\x20RuntimeAgent\x20session\x20id','create','length','updateTime','personal-bff','gmtModified','/client/runtime-bff/personal/create','/update','detail','file','read'];a47_0x2257=function(){return _0x40a8ca;};return a47_0x2257();}import{ID_FLAG,PARAMS_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';import{parseJsonParams}from'../../utils/params.js';const FUNCTION_NAME_PATTERN=/^[a-zA-Z_$][a-zA-Z0-9_$]*$/,FILE_FLAG={'name':a47_0xfc6ae(0x1be),'type':a47_0xfc6ae(0x1ad),'description':a47_0xfc6ae(0x1c8)},FUNCTION_NAME_FLAG={'name':a47_0xfc6ae(0x1af),'type':a47_0xfc6ae(0x1ad),'required':!![],'description':a47_0xfc6ae(0x1cc)},DESCRIPTION_FLAG={'name':a47_0xfc6ae(0x1ab),'type':'string','description':a47_0xfc6ae(0x1d3)},SOURCE_SESSION_FLAG={'name':a47_0xfc6ae(0x1a3),'type':'string','description':a47_0xfc6ae(0x1b5)};function normalizeFunctionName(_0x449ae4){const _0x131abf=a47_0xfc6ae,_0x1c10b0=String(_0x449ae4||'')['trim']();if(!_0x1c10b0||!FUNCTION_NAME_PATTERN['test'](_0x1c10b0))throw CliErrors[_0x131abf(0x1d5)](_0x131abf(0x1db));return _0x1c10b0;}function readScriptFile(_0x4c2daf){const _0xddf296=a47_0xfc6ae;if(!_0x4c2daf)throw CliErrors[_0xddf296(0x1d5)]('File\x20path\x20is\x20required.');if(!existsSync(_0x4c2daf))throw CliErrors[_0xddf296(0x1d5)](_0xddf296(0x1a1)+_0x4c2daf);if(!statSync(_0x4c2daf)[_0xddf296(0x1dc)]())throw CliErrors[_0xddf296(0x1d5)](_0xddf296(0x19e)+_0x4c2daf);const _0x186a93=readFileSync(_0x4c2daf,'utf8');if(!_0x186a93[_0xddf296(0x1d1)]())throw CliErrors[_0xddf296(0x1d5)](_0xddf296(0x1d2));return _0x186a93;}function optionalTrimmed(_0x175391){const _0x31e4c1=a47_0xfc6ae,_0x2590bf=String(_0x175391||'')[_0x31e4c1(0x1d1)]();return _0x2590bf||undefined;}function a47_0x41b1(_0x30a921,_0x18b530){_0x30a921=_0x30a921-0x19e;const _0x225770=a47_0x2257();let _0x41b1e1=_0x225770[_0x30a921];return _0x41b1e1;}function summarizeBff(_0x1d962f){const _0x5b71d5=a47_0xfc6ae;return{'id':_0x1d962f['id'],'appCode':_0x1d962f[_0x5b71d5(0x1a4)],'functionName':_0x1d962f['functionName'],'description':_0x1d962f[_0x5b71d5(0x1ab)],'scriptType':_0x1d962f[_0x5b71d5(0x1d4)],'version':_0x1d962f['version'],'gmtModified':_0x1d962f['gmtModified'],'updateTime':_0x1d962f['updateTime']};}function detailBff(_0x34b162){const _0x4e50ce=a47_0xfc6ae;return{'id':_0x34b162['id'],'appCode':_0x34b162[_0x4e50ce(0x1a4)],'functionName':_0x34b162[_0x4e50ce(0x1d0)],'description':_0x34b162['description'],'scriptType':_0x34b162[_0x4e50ce(0x1d4)],'scriptContent':_0x34b162[_0x4e50ce(0x1c2)]??'','config':_0x34b162[_0x4e50ce(0x1cf)],'version':_0x34b162[_0x4e50ce(0x1a2)],'createUserId':_0x34b162[_0x4e50ce(0x1ca)],'gmtCreate':_0x34b162[_0x4e50ce(0x1da)],'gmtModified':_0x34b162[_0x4e50ce(0x1ba)],'createTime':_0x34b162[_0x4e50ce(0x1c4)],'updateTime':_0x34b162[_0x4e50ce(0x1b8)]};}function buildCreateInput(_0x3b0e6f){const _0x4cee0c=a47_0xfc6ae;return{'functionName':normalizeFunctionName(_0x3b0e6f[_0x4cee0c(0x1df)](_0x4cee0c(0x1af))),...optionalTrimmed(_0x3b0e6f['str'](_0x4cee0c(0x1ab)))?{'description':optionalTrimmed(_0x3b0e6f[_0x4cee0c(0x1df)]('description'))}:{},'scriptContent':readScriptFile(_0x3b0e6f['str'](_0x4cee0c(0x1be))),...optionalTrimmed(_0x3b0e6f['str'](_0x4cee0c(0x1a3)))?{'sourceSessionId':optionalTrimmed(_0x3b0e6f[_0x4cee0c(0x1df)]('source-session-id'))}:{}};}function buildUpdateInput(_0x5133ea){const _0x205df4=a47_0xfc6ae,_0x309a5c={};optionalTrimmed(_0x5133ea[_0x205df4(0x1df)](_0x205df4(0x1af)))&&(_0x309a5c[_0x205df4(0x1d0)]=normalizeFunctionName(_0x5133ea['str'](_0x205df4(0x1af))));_0x5133ea[_0x205df4(0x1d7)](_0x205df4(0x1ab))!==undefined&&(_0x309a5c[_0x205df4(0x1ab)]=_0x5133ea[_0x205df4(0x1df)](_0x205df4(0x1ab)));optionalTrimmed(_0x5133ea['str'](_0x205df4(0x1be)))&&(_0x309a5c[_0x205df4(0x1c2)]=readScriptFile(_0x5133ea['str']('file')));_0x5133ea[_0x205df4(0x1d7)](_0x205df4(0x1a3))!==undefined&&(_0x309a5c['sourceSessionId']=_0x5133ea[_0x205df4(0x1df)](_0x205df4(0x1a3)));if(Object[_0x205df4(0x1dd)](_0x309a5c)[_0x205df4(0x1b7)]===0x0)throw CliErrors[_0x205df4(0x1d5)](_0x205df4(0x1e1));return _0x309a5c;}function parseExecParams(_0x50a08a){const _0x215be3=a47_0xfc6ae,_0xb13ce=parseJsonParams(_0x50a08a)??{};if(Array['isArray'](_0xb13ce))throw CliErrors['validation'](_0x215be3(0x1d8));return _0xb13ce;}const personalBffList={'service':a47_0xfc6ae(0x1b9),'command':a47_0xfc6ae(0x1cb),'description':'List\x20current\x20user\x27s\x20Personal\x20Backend\x20Function\x20scripts\x20for\x20the\x20current\x20app','risk':a47_0xfc6ae(0x1bf),'flags':[VERBOSE_FLAG],async 'execute'(_0x2e4166){const _0x308027=a47_0xfc6ae,_0x34fb7e=await listPersonalBffs(_0x2e4166['appCode']);return{'ok':!![],'data':{'total':_0x34fb7e['length'],'items':_0x2e4166[_0x308027(0x1a7)]('verbose')?_0x34fb7e:_0x34fb7e[_0x308027(0x1c6)](summarizeBff)}};}},personalBffDetail={'service':a47_0xfc6ae(0x1b9),'command':a47_0xfc6ae(0x1bd),'description':a47_0xfc6ae(0x1b1),'risk':a47_0xfc6ae(0x1bf),'flags':[{...ID_FLAG,'description':a47_0xfc6ae(0x1c3)}],async 'execute'(_0x51a08a){const _0x413de5=a47_0xfc6ae,_0x21740a=await getPersonalBff(_0x51a08a[_0x413de5(0x1e2)]('id'),_0x51a08a['appCode']);return{'ok':!![],'data':detailBff(_0x21740a)};}},personalBffCreate={'service':a47_0xfc6ae(0x1b9),'command':a47_0xfc6ae(0x1b6),'description':'Create\x20a\x20Personal\x20Backend\x20Function\x20from\x20a\x20local\x20script\x20file','risk':'write','confirmationDescription':a47_0xfc6ae(0x1a5),'flags':[FUNCTION_NAME_FLAG,{...FILE_FLAG,'required':!![]},DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x27b3fe){const _0x1eb464=a47_0xfc6ae,_0x4273d0=buildCreateInput(_0x27b3fe),_0x4411ab=await createPersonalBff(_0x27b3fe[_0x1eb464(0x1a4)],_0x4273d0);return{'ok':!![],'data':detailBff(_0x4411ab),'message':_0x1eb464(0x1c0)+_0x4411ab['id']+(_0x4411ab[_0x1eb464(0x1d0)]?'\x20('+_0x4411ab[_0x1eb464(0x1d0)]+')':'')};},async 'dryRun'(_0x98a65f){const _0x42d3e8=a47_0xfc6ae,_0x3c79e1=buildCreateInput(_0x98a65f);return dryRun(_0x42d3e8(0x1c5),_0x42d3e8(0x1bb))[_0x42d3e8(0x1e0)]({'appCode':_0x98a65f['appCode'],..._0x3c79e1})['description'](_0x42d3e8(0x1de)+_0x3c79e1[_0x42d3e8(0x1d0)])[_0x42d3e8(0x1ac)]();}},personalBffUpdate={'service':a47_0xfc6ae(0x1b9),'command':a47_0xfc6ae(0x1aa),'description':'Update\x20a\x20Personal\x20Backend\x20Function\x20by\x20ID','risk':a47_0xfc6ae(0x1a6),'confirmationDescription':a47_0xfc6ae(0x1b4),'flags':[{...ID_FLAG,'description':a47_0xfc6ae(0x1c3)},{...FUNCTION_NAME_FLAG,'required':![]},FILE_FLAG,DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x653835){const _0x29b832=a47_0xfc6ae,_0x30f775=_0x653835['num']('id'),_0x3c7672=buildUpdateInput(_0x653835),_0x4872b9=await updatePersonalBff(_0x30f775,_0x653835['appCode'],_0x3c7672);return{'ok':!![],'data':detailBff(_0x4872b9),'message':_0x29b832(0x1c9)+_0x4872b9['id']+(_0x4872b9[_0x29b832(0x1d0)]?'\x20('+_0x4872b9[_0x29b832(0x1d0)]+')':'')};},async 'dryRun'(_0x1a16c9){const _0x5b779e=a47_0xfc6ae,_0x2717=_0x1a16c9[_0x5b779e(0x1e2)]('id'),_0x1f602b=buildUpdateInput(_0x1a16c9);return dryRun(_0x5b779e(0x1c5),_0x5b779e(0x1d6)+_0x2717+_0x5b779e(0x1bc))['body']({'appCode':_0x1a16c9['appCode'],..._0x1f602b})[_0x5b779e(0x1ab)](_0x5b779e(0x1cd)+_0x2717)[_0x5b779e(0x1ac)]();}},personalBffExec={'service':a47_0xfc6ae(0x1b9),'command':'exec','description':a47_0xfc6ae(0x1a9),'risk':a47_0xfc6ae(0x1a6),'confirmationDescription':'Runs\x20the\x20Personal\x20Backend\x20Function\x20script.\x20The\x20script\x20may\x20read\x20or\x20change\x20business\x20data,\x20or\x20call\x20external\x20services.','flags':[{...ID_FLAG,'description':a47_0xfc6ae(0x1c3)},{...PARAMS_FLAG,'description':a47_0xfc6ae(0x1ae)}],async 'validate'(_0x284c39){const _0x3bbaf8=a47_0xfc6ae;parseExecParams(_0x284c39[_0x3bbaf8(0x1df)]('params'));},async 'execute'(_0xaa7976){const _0x33411f=a47_0xfc6ae,_0x2fb82d=_0xaa7976['num']('id'),_0x1f82f7=parseExecParams(_0xaa7976[_0x33411f(0x1df)]('params')),_0x170569=await executePersonalBff(_0x2fb82d,_0xaa7976['appCode'],_0x1f82f7);return{'ok':!![],'data':{'result':_0x170569},'message':_0x33411f(0x19f)+_0x2fb82d};}};export const personalBffDefinitions=[personalBffList,personalBffDetail,personalBffCreate,personalBffUpdate,personalBffExec];
1
+ const a47_0x2ff4ac=a47_0x1ebf;(function(_0x1ac731,_0x7d980){const _0x1b07a0=a47_0x1ebf,_0x343379=_0x1ac731();while(!![]){try{const _0x44373b=-parseInt(_0x1b07a0(0x100))/0x1+-parseInt(_0x1b07a0(0x12b))/0x2+-parseInt(_0x1b07a0(0x10a))/0x3*(-parseInt(_0x1b07a0(0x112))/0x4)+parseInt(_0x1b07a0(0x140))/0x5+parseInt(_0x1b07a0(0x133))/0x6*(-parseInt(_0x1b07a0(0x142))/0x7)+parseInt(_0x1b07a0(0x107))/0x8*(parseInt(_0x1b07a0(0x11b))/0x9)+-parseInt(_0x1b07a0(0x138))/0xa*(parseInt(_0x1b07a0(0x11a))/0xb);if(_0x44373b===_0x7d980)break;else _0x343379['push'](_0x343379['shift']());}catch(_0x2b2fd7){_0x343379['push'](_0x343379['shift']());}}}(a47_0x5ccf,0xc47bc));import{existsSync,readFileSync,statSync}from'node:fs';import{createPersonalBff,executePersonalBff,getPersonalBff,listPersonalBffs,updatePersonalBff}from'../../core/api-client.js';import{ID_FLAG,PARAMS_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';function a47_0x5ccf(){const _0x29f451=['Personal\x20Backend\x20Function\x20script\x20file\x20is\x20blank.','isArray','personal-bff','3214730Bhqvov','utf8','69181FKuJZh','detail','Updated\x20Personal\x20Backend\x20Function\x20','185293jidNlT','Preview:\x20update\x20Personal\x20Backend\x20Function\x20','read','Updates\x20the\x20Personal\x20Backend\x20Function\x20script\x20or\x20metadata.\x20Later\x20calls\x20use\x20the\x20new\x20version.','length','keys','Executed\x20Personal\x20Backend\x20Function\x20','856hzhbrR','write','validation','82383MsFPFk','POST','gmtModified','updateTime','Personal\x20Backend\x20Function\x20description','/update','--name\x20must\x20be\x20a\x20valid\x20JavaScript\x20identifier,\x20for\x20example\x20loadOrders.','Create\x20a\x20Personal\x20Backend\x20Function\x20from\x20a\x20local\x20script\x20file','168OIzzKd','List\x20current\x20user\x27s\x20Personal\x20Backend\x20Function\x20scripts\x20for\x20the\x20current\x20app','scriptContent','appCode','File\x20path\x20is\x20required.','str','Created\x20Personal\x20Backend\x20Function\x20','JSON\x20object\x20passed\x20to\x20the\x20Personal\x20Backend\x20Function\x20execution','124795BNusTK','77229ZXTpRq','verbose','Update\x20a\x20Personal\x20Backend\x20Function\x20by\x20ID','Path\x20to\x20a\x20local\x20UTF-8\x20JavaScript\x20or\x20TypeScript\x20file','/client/runtime-bff/personal/create','functionName','description','scriptType','isFile','version','File\x20not\x20found:\x20','string','file','update','config','Preview:\x20create\x20Personal\x20Backend\x20Function\x20','2029478poVmpp','Saves\x20the\x20local\x20script\x20as\x20a\x20Personal\x20Backend\x20Function.\x20The\x20script\x20can\x20then\x20be\x20called\x20in\x20the\x20current\x20app.','Execute\x20a\x20Personal\x20Backend\x20Function\x20by\x20ID,\x20optionally\x20with\x20JSON\x20params','name','createUserId','Runs\x20the\x20Personal\x20Backend\x20Function\x20script.\x20The\x20script\x20may\x20read\x20or\x20change\x20business\x20data,\x20or\x20call\x20external\x20services.','num','Personal\x20Backend\x20Function\x20name,\x20for\x20example\x20loadOrders','114hyyjvq','Personal\x20Backend\x20Function\x20script\x20ID','trim','build','flag','460rguZRS','params','source-session-id','body','Optional\x20source\x20RuntimeAgent\x20session\x20id'];a47_0x5ccf=function(){return _0x29f451;};return a47_0x5ccf();}import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';import{parseJsonParams}from'../../utils/params.js';function a47_0x1ebf(_0x338684,_0x8d79a6){_0x338684=_0x338684-0x100;const _0x5ccf98=a47_0x5ccf();let _0x1ebf1e=_0x5ccf98[_0x338684];return _0x1ebf1e;}const FUNCTION_NAME_PATTERN=/^[a-zA-Z_$][a-zA-Z0-9_$]*$/,FILE_FLAG={'name':a47_0x2ff4ac(0x127),'type':a47_0x2ff4ac(0x126),'description':a47_0x2ff4ac(0x11e)},FUNCTION_NAME_FLAG={'name':a47_0x2ff4ac(0x12e),'type':a47_0x2ff4ac(0x126),'required':!![],'description':a47_0x2ff4ac(0x132)},DESCRIPTION_FLAG={'name':'description','type':a47_0x2ff4ac(0x126),'description':a47_0x2ff4ac(0x10e)},SOURCE_SESSION_FLAG={'name':a47_0x2ff4ac(0x13a),'type':a47_0x2ff4ac(0x126),'description':a47_0x2ff4ac(0x13c)};function normalizeFunctionName(_0x3e146b){const _0x4f7fcd=a47_0x2ff4ac,_0x4d19fe=String(_0x3e146b||'')[_0x4f7fcd(0x135)]();if(!_0x4d19fe||!FUNCTION_NAME_PATTERN['test'](_0x4d19fe))throw CliErrors[_0x4f7fcd(0x109)](_0x4f7fcd(0x110));return _0x4d19fe;}function readScriptFile(_0x53eb2d){const _0x214f35=a47_0x2ff4ac;if(!_0x53eb2d)throw CliErrors[_0x214f35(0x109)](_0x214f35(0x116));if(!existsSync(_0x53eb2d))throw CliErrors['validation'](_0x214f35(0x125)+_0x53eb2d);if(!statSync(_0x53eb2d)[_0x214f35(0x123)]())throw CliErrors['validation']('File\x20is\x20not\x20a\x20regular\x20file:\x20'+_0x53eb2d);const _0x385f64=readFileSync(_0x53eb2d,_0x214f35(0x141));if(!_0x385f64['trim']())throw CliErrors[_0x214f35(0x109)](_0x214f35(0x13d));return _0x385f64;}function optionalTrimmed(_0x3cda7f){const _0x33a938=a47_0x2ff4ac,_0x117816=String(_0x3cda7f||'')[_0x33a938(0x135)]();return _0x117816||undefined;}function summarizeBff(_0x4aab98){const _0x1b9e0b=a47_0x2ff4ac;return{'id':_0x4aab98['id'],'appCode':_0x4aab98[_0x1b9e0b(0x115)],'functionName':_0x4aab98[_0x1b9e0b(0x120)],'description':_0x4aab98[_0x1b9e0b(0x121)],'scriptType':_0x4aab98[_0x1b9e0b(0x122)],'version':_0x4aab98[_0x1b9e0b(0x124)],'gmtModified':_0x4aab98[_0x1b9e0b(0x10c)],'updateTime':_0x4aab98[_0x1b9e0b(0x10d)]};}function detailBff(_0x46ffb1){const _0x59a3aa=a47_0x2ff4ac;return{'id':_0x46ffb1['id'],'appCode':_0x46ffb1['appCode'],'functionName':_0x46ffb1['functionName'],'description':_0x46ffb1[_0x59a3aa(0x121)],'scriptType':_0x46ffb1['scriptType'],'scriptContent':_0x46ffb1[_0x59a3aa(0x114)]??'','config':_0x46ffb1[_0x59a3aa(0x129)],'version':_0x46ffb1[_0x59a3aa(0x124)],'createUserId':_0x46ffb1[_0x59a3aa(0x12f)],'gmtCreate':_0x46ffb1['gmtCreate'],'gmtModified':_0x46ffb1[_0x59a3aa(0x10c)],'createTime':_0x46ffb1['createTime'],'updateTime':_0x46ffb1[_0x59a3aa(0x10d)]};}function buildCreateInput(_0x5613a4){const _0x41044f=a47_0x2ff4ac;return{'functionName':normalizeFunctionName(_0x5613a4[_0x41044f(0x117)](_0x41044f(0x12e))),...optionalTrimmed(_0x5613a4[_0x41044f(0x117)](_0x41044f(0x121)))?{'description':optionalTrimmed(_0x5613a4[_0x41044f(0x117)]('description'))}:{},'scriptContent':readScriptFile(_0x5613a4[_0x41044f(0x117)](_0x41044f(0x127))),...optionalTrimmed(_0x5613a4['str'](_0x41044f(0x13a)))?{'sourceSessionId':optionalTrimmed(_0x5613a4[_0x41044f(0x117)]('source-session-id'))}:{}};}function buildUpdateInput(_0x4511ce){const _0x3d6a7d=a47_0x2ff4ac,_0x4577b8={};optionalTrimmed(_0x4511ce['str']('name'))&&(_0x4577b8[_0x3d6a7d(0x120)]=normalizeFunctionName(_0x4511ce[_0x3d6a7d(0x117)](_0x3d6a7d(0x12e))));_0x4511ce[_0x3d6a7d(0x137)](_0x3d6a7d(0x121))!==undefined&&(_0x4577b8['description']=_0x4511ce[_0x3d6a7d(0x117)](_0x3d6a7d(0x121)));optionalTrimmed(_0x4511ce[_0x3d6a7d(0x117)](_0x3d6a7d(0x127)))&&(_0x4577b8[_0x3d6a7d(0x114)]=readScriptFile(_0x4511ce['str'](_0x3d6a7d(0x127))));_0x4511ce['flag']('source-session-id')!==undefined&&(_0x4577b8['sourceSessionId']=_0x4511ce['str'](_0x3d6a7d(0x13a)));if(Object[_0x3d6a7d(0x105)](_0x4577b8)[_0x3d6a7d(0x104)]===0x0)throw CliErrors[_0x3d6a7d(0x109)]('personal-bff\x20update\x20requires\x20at\x20least\x20one\x20of\x20--name,\x20--description,\x20--file,\x20or\x20--source-session-id.');return _0x4577b8;}function parseExecParams(_0x34adea){const _0x5f1d14=a47_0x2ff4ac,_0x10cf3a=parseJsonParams(_0x34adea)??{};if(Array[_0x5f1d14(0x13e)](_0x10cf3a))throw CliErrors[_0x5f1d14(0x109)]('--params\x20must\x20be\x20a\x20JSON\x20object.');return _0x10cf3a;}const personalBffList={'service':a47_0x2ff4ac(0x13f),'command':'list','description':a47_0x2ff4ac(0x113),'risk':a47_0x2ff4ac(0x102),'flags':[VERBOSE_FLAG],async 'execute'(_0x1adacd){const _0x1e6500=a47_0x2ff4ac,_0x227dae=await listPersonalBffs(_0x1adacd[_0x1e6500(0x115)]);return{'ok':!![],'data':{'total':_0x227dae[_0x1e6500(0x104)],'items':_0x1adacd['bool'](_0x1e6500(0x11c))?_0x227dae:_0x227dae['map'](summarizeBff)}};}},personalBffDetail={'service':a47_0x2ff4ac(0x13f),'command':a47_0x2ff4ac(0x143),'description':'Show\x20one\x20Personal\x20Backend\x20Function\x20by\x20id','risk':a47_0x2ff4ac(0x102),'flags':[{...ID_FLAG,'description':'Personal\x20Backend\x20Function\x20script\x20ID'}],async 'execute'(_0x5576b8){const _0x505741=a47_0x2ff4ac,_0x4bcd55=await getPersonalBff(_0x5576b8[_0x505741(0x131)]('id'),_0x5576b8[_0x505741(0x115)]);return{'ok':!![],'data':detailBff(_0x4bcd55)};}},personalBffCreate={'service':a47_0x2ff4ac(0x13f),'command':'create','description':a47_0x2ff4ac(0x111),'risk':a47_0x2ff4ac(0x108),'confirmationDescription':a47_0x2ff4ac(0x12c),'flags':[FUNCTION_NAME_FLAG,{...FILE_FLAG,'required':!![]},DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x532a82){const _0x1c68bb=a47_0x2ff4ac,_0x5b8654=buildCreateInput(_0x532a82),_0x3baa58=await createPersonalBff(_0x532a82[_0x1c68bb(0x115)],_0x5b8654);return{'ok':!![],'data':detailBff(_0x3baa58),'message':_0x1c68bb(0x118)+_0x3baa58['id']+(_0x3baa58[_0x1c68bb(0x120)]?'\x20('+_0x3baa58[_0x1c68bb(0x120)]+')':'')};},async 'dryRun'(_0x530491){const _0x3c3256=a47_0x2ff4ac,_0x19dbbb=buildCreateInput(_0x530491);return dryRun(_0x3c3256(0x10b),_0x3c3256(0x11f))[_0x3c3256(0x13b)]({'appCode':_0x530491[_0x3c3256(0x115)],..._0x19dbbb})[_0x3c3256(0x121)](_0x3c3256(0x12a)+_0x19dbbb['functionName'])['build']();}},personalBffUpdate={'service':a47_0x2ff4ac(0x13f),'command':a47_0x2ff4ac(0x128),'description':a47_0x2ff4ac(0x11d),'risk':'write','confirmationDescription':a47_0x2ff4ac(0x103),'flags':[{...ID_FLAG,'description':a47_0x2ff4ac(0x134)},{...FUNCTION_NAME_FLAG,'required':![]},FILE_FLAG,DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x12fe47){const _0x2a3a6c=a47_0x2ff4ac,_0x28795e=_0x12fe47[_0x2a3a6c(0x131)]('id'),_0x29d9e2=buildUpdateInput(_0x12fe47),_0x5b29a0=await updatePersonalBff(_0x28795e,_0x12fe47[_0x2a3a6c(0x115)],_0x29d9e2);return{'ok':!![],'data':detailBff(_0x5b29a0),'message':_0x2a3a6c(0x144)+_0x5b29a0['id']+(_0x5b29a0[_0x2a3a6c(0x120)]?'\x20('+_0x5b29a0[_0x2a3a6c(0x120)]+')':'')};},async 'dryRun'(_0x27eefe){const _0x352c9d=a47_0x2ff4ac,_0x265791=_0x27eefe[_0x352c9d(0x131)]('id'),_0x2da93b=buildUpdateInput(_0x27eefe);return dryRun(_0x352c9d(0x10b),'/client/runtime-bff/personal/'+_0x265791+_0x352c9d(0x10f))[_0x352c9d(0x13b)]({'appCode':_0x27eefe[_0x352c9d(0x115)],..._0x2da93b})[_0x352c9d(0x121)](_0x352c9d(0x101)+_0x265791)[_0x352c9d(0x136)]();}},personalBffExec={'service':a47_0x2ff4ac(0x13f),'command':'exec','description':a47_0x2ff4ac(0x12d),'risk':a47_0x2ff4ac(0x108),'confirmationDescription':a47_0x2ff4ac(0x130),'flags':[{...ID_FLAG,'description':'Personal\x20Backend\x20Function\x20script\x20ID'},{...PARAMS_FLAG,'description':a47_0x2ff4ac(0x119)}],async 'validate'(_0x57ba65){const _0x1fdba7=a47_0x2ff4ac;parseExecParams(_0x57ba65[_0x1fdba7(0x117)](_0x1fdba7(0x139)));},async 'execute'(_0x1e381c){const _0xef0de6=a47_0x2ff4ac,_0x4862b0=_0x1e381c[_0xef0de6(0x131)]('id'),_0x56a1a8=parseExecParams(_0x1e381c[_0xef0de6(0x117)](_0xef0de6(0x139))),_0xa2761e=await executePersonalBff(_0x4862b0,_0x1e381c[_0xef0de6(0x115)],_0x56a1a8);return{'ok':!![],'data':{'result':_0xa2761e},'message':_0xef0de6(0x106)+_0x4862b0};}};export const personalBffDefinitions=[personalBffList,personalBffDetail,personalBffCreate,personalBffUpdate,personalBffExec];
@@ -1 +1 @@
1
- const a48_0x208c7a=a48_0x10c4;(function(_0x295498,_0x3d63a8){const _0x18167e=a48_0x10c4,_0x55d9f6=_0x295498();while(!![]){try{const _0x589deb=-parseInt(_0x18167e(0x1b1))/0x1+parseInt(_0x18167e(0x1a5))/0x2+-parseInt(_0x18167e(0x1aa))/0x3+-parseInt(_0x18167e(0x17a))/0x4*(parseInt(_0x18167e(0x179))/0x5)+parseInt(_0x18167e(0x18f))/0x6*(parseInt(_0x18167e(0x185))/0x7)+-parseInt(_0x18167e(0x186))/0x8+parseInt(_0x18167e(0x1a3))/0x9;if(_0x589deb===_0x3d63a8)break;else _0x55d9f6['push'](_0x55d9f6['shift']());}catch(_0x475f71){_0x55d9f6['push'](_0x55d9f6['shift']());}}}(a48_0x3b58,0x9508e));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';function a48_0x10c4(_0x3ab2da,_0x3dc309){_0x3ab2da=_0x3ab2da-0x174;const _0x3b589a=a48_0x3b58();let _0x10c444=_0x3b589a[_0x3ab2da];return _0x10c444;}import{ocrDefinitions}from'../commands/ocr/index.js';import{scheduleDefinitions}from'../commands/schedule/index.js';import{userAccountDefinitions}from'../commands/user-account/index.js';import{notificationDefinitions}from'../commands/notification/index.js';import{roleDefinitions}from'../commands/role/index.js';import{permitDefinitions}from'../commands/permit/index.js';export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();export const serviceGroups=new Map();function registerDefinitions(_0x5d03b6){const _0x1bead7=a48_0x10c4;for(const _0x1eecd6 of _0x5d03b6){definitions['set'](_0x1eecd6['service']+':'+_0x1eecd6[_0x1bead7(0x1af)],_0x1eecd6);let _0x3a13e2=serviceGroups[_0x1bead7(0x1a6)](_0x1eecd6[_0x1bead7(0x18a)]);!_0x3a13e2&&(_0x3a13e2=[],serviceGroups[_0x1bead7(0x1b2)](_0x1eecd6['service'],_0x3a13e2)),_0x3a13e2[_0x1bead7(0x196)](_0x1eecd6);}}function registerService(_0x58dd7a,_0x2f829d,_0x1af554){const _0x283f02=a48_0x10c4;registerDefinitions(_0x2f829d);const _0x43bdbc=_0x47971e=>_0x47971e===_0x283f02(0x175)?'':_0x47971e==='write'?_0x283f02(0x183):_0x283f02(0x19b),_0x31611d={'service':_0x2f829d[0x0]['service'],'label':_0x58dd7a,'commands':_0x2f829d[_0x283f02(0x17e)](_0x342654=>({'command':_0x342654[_0x283f02(0x1af)],'description':_0x342654[_0x283f02(0x1ac)],'tag':_0x43bdbc(_0x342654[_0x283f02(0x195)])})),'defaultCommand':_0x1af554?.[_0x283f02(0x199)]??(_0x1af554?.[_0x283f02(0x178)]?_0x2f829d[0x0][_0x283f02(0x1af)]:undefined),'isSingleCommand':_0x1af554?.[_0x283f02(0x178)]};serviceRegistry['push'](_0x31611d),serviceByName[_0x283f02(0x1b2)](_0x31611d[_0x283f02(0x18a)],_0x31611d);}function a48_0x3b58(){const _0x3259c1=['set','Instant\x20API','`lovrabet\x20logs\x20clear`\x20has\x20been\x20removed.','Configuration','read','OCR','API\x20Documentation','isSingleCommand','5IjFVNy','4263356ThFisZ','Datasets','`lovrabet\x20app\x20init`\x20has\x20been\x20removed.','Logs','map','show','Artifacts','app\x20init','from','\x20\x20[write]','Service\x20Tree','162967AcbidN','4774992xDWLTZ','values','Runtime\x20Permissions','auth\x20init','service','Self\x20Update','Skills','init','Use\x20`lovrabet\x20workspace\x20init\x20--appcode\x20<code>`\x20instead.','114fffRYb','Use\x20`lovrabet\x20workspace\x20use\x20--app\x20<name>`\x20instead.','Schema','Personal\x20Backend\x20Function','config-list','logs','risk','push','Authentication','Agent\x20Schedules','defaultCommand','Notification\x20Configs','\x20\x20[high-risk-write]','app','App\x20Management','clear','Use\x20`lovrabet\x20logs\x20show`\x20to\x20view\x20command\x20history.','Use\x20`lovrabet\x20config\x20init`\x20for\x20node\x20configuration,\x20then\x20`lovrabet\x20auth\x20login`\x20for\x20AccessKey\x20authentication.','Runtime\x20App\x20Config','File','24195618RNFAeQ','Diagnostics','55820dkPJSQ','get','Workspace','use','CLI\x20Built-in\x20Skill','2073108yHYyiM','SQL\x20Queries','description','install','list','command','has','194456XLTyeC'];a48_0x3b58=function(){return _0x3259c1;};return a48_0x3b58();}registerService(a48_0x208c7a(0x197),authDefinitions,{'defaultCommand':'login'}),registerService('User\x20Accounts',userAccountDefinitions),registerService(a48_0x208c7a(0x19d),appDefinitions,{'defaultCommand':a48_0x208c7a(0x1ae)}),registerService(a48_0x208c7a(0x1a7),workspaceDefinitions),registerService(a48_0x208c7a(0x1a1),appConfigDefinitions),registerService(a48_0x208c7a(0x174),configDefinitions,{'defaultCommand':a48_0x208c7a(0x1ae)}),registerService('Runtime\x20Roles',roleDefinitions,{'defaultCommand':a48_0x208c7a(0x1ae)}),registerService(a48_0x208c7a(0x188),permitDefinitions),registerService(a48_0x208c7a(0x177),apiDocDefinitions),registerService(a48_0x208c7a(0x17b),datasetDefinitions),registerService(a48_0x208c7a(0x1b3),dataDefinitions),registerService(a48_0x208c7a(0x1ab),sqlDefinitions),registerService('Backend\x20Function\x20Scripts',bffDefinitions),registerService(a48_0x208c7a(0x192),personalBffDefinitions),registerService(a48_0x208c7a(0x180),artifactDefinitions),registerService(a48_0x208c7a(0x1a2),fileDefinitions),registerService(a48_0x208c7a(0x176),ocrDefinitions),registerService('Knowledge\x20Base',kbDefinitions),registerService(a48_0x208c7a(0x19a),notificationDefinitions,{'defaultCommand':a48_0x208c7a(0x193)}),registerService(a48_0x208c7a(0x198),scheduleDefinitions,{'defaultCommand':a48_0x208c7a(0x1ae)}),registerService(a48_0x208c7a(0x184),serviceDefinitions,{'defaultCommand':a48_0x208c7a(0x1ae)}),registerService(a48_0x208c7a(0x18c),skillDefinitions,{'defaultCommand':a48_0x208c7a(0x1ad)}),registerService(a48_0x208c7a(0x1a9),cliSkillDefinitions,{'defaultCommand':'install'}),registerService(a48_0x208c7a(0x18b),[updateDefinition],{'defaultCommand':'run','isSingleCommand':!![]}),registerService(a48_0x208c7a(0x1a4),[doctorDefinition],{'isSingleCommand':!![]}),registerService(a48_0x208c7a(0x191),[schemaDefinition],{'isSingleCommand':!![]}),registerService(a48_0x208c7a(0x17d),logsDefinitions,{'defaultCommand':a48_0x208c7a(0x17f)});export function findDefinition(_0x558f38,_0x146e58){const _0x1d623f=a48_0x208c7a;return definitions[_0x1d623f(0x1a6)](_0x558f38+':'+_0x146e58);}export function resolveRemovedCommand(_0x5393a0,_0x41f0b9){const _0x13b8e6=a48_0x208c7a;if(_0x5393a0==='auth'&&_0x41f0b9===_0x13b8e6(0x18d))return{'command':_0x13b8e6(0x189),'message':'`lovrabet\x20auth\x20init`\x20has\x20been\x20removed.','hint':_0x13b8e6(0x1a0)};if(_0x5393a0===_0x13b8e6(0x19c)&&_0x41f0b9===_0x13b8e6(0x18d))return{'command':_0x13b8e6(0x181),'message':_0x13b8e6(0x17c),'hint':_0x13b8e6(0x18e)};if(_0x5393a0===_0x13b8e6(0x19c)&&_0x41f0b9===_0x13b8e6(0x1a8))return{'command':'app\x20use','message':'`lovrabet\x20app\x20use`\x20has\x20been\x20removed.','hint':_0x13b8e6(0x190)};if(_0x5393a0===_0x13b8e6(0x194)&&_0x41f0b9===_0x13b8e6(0x19e))return{'command':'logs\x20clear','message':_0x13b8e6(0x1b4),'hint':_0x13b8e6(0x19f)};return undefined;}export function isKnownService(_0x423bc3){const _0x3042ea=a48_0x208c7a;return serviceByName[_0x3042ea(0x1b0)](_0x423bc3);}export function getServiceEntry(_0x572c37){const _0x10acd8=a48_0x208c7a;return serviceByName[_0x10acd8(0x1a6)](_0x572c37);}export function getAllDefinitions(){const _0x12ab41=a48_0x208c7a;return Array[_0x12ab41(0x182)](definitions[_0x12ab41(0x187)]());}
1
+ const a48_0x3897b1=a48_0x44bf;(function(_0x1067cd,_0x467d3c){const _0x2d1348=a48_0x44bf,_0x350a1e=_0x1067cd();while(!![]){try{const _0x37bb9c=-parseInt(_0x2d1348(0x15f))/0x1+parseInt(_0x2d1348(0x192))/0x2+parseInt(_0x2d1348(0x163))/0x3*(parseInt(_0x2d1348(0x161))/0x4)+parseInt(_0x2d1348(0x167))/0x5+-parseInt(_0x2d1348(0x157))/0x6*(-parseInt(_0x2d1348(0x16f))/0x7)+-parseInt(_0x2d1348(0x172))/0x8+-parseInt(_0x2d1348(0x18c))/0x9*(parseInt(_0x2d1348(0x170))/0xa);if(_0x37bb9c===_0x467d3c)break;else _0x350a1e['push'](_0x350a1e['shift']());}catch(_0xd175c8){_0x350a1e['push'](_0x350a1e['shift']());}}}(a48_0x1e57,0x912fe));import{authDefinitions}from'../commands/auth/index.js';import{logsDefinitions}from'../commands/logs/index.js';import{skillDefinitions}from'../commands/skill/index.js';import{cliSkillDefinitions}from'../commands/cli-skill/index.js';import{serviceDefinitions}from'../commands/service/index.js';function a48_0x44bf(_0x2603b1,_0x1d70da){_0x2603b1=_0x2603b1-0x157;const _0x1e5787=a48_0x1e57();let _0x44bfce=_0x1e5787[_0x2603b1];return _0x44bfce;}import{updateDefinition}from'../commands/update.js';import{doctorDefinition}from'../commands/doctor.js';import{schemaDefinition}from'../commands/schema.js';import{appDefinitions}from'../commands/app/definitions.js';import{workspaceDefinitions}from'../commands/workspace/index.js';import{configDefinitions}from'../commands/config/definitions.js';import{bffDefinitions}from'../commands/bff/index.js';import{sqlDefinitions}from'../commands/sql/index.js';import{datasetDefinitions}from'../commands/dataset/index.js';import{dataDefinitions}from'../commands/data/index.js';import{kbDefinitions}from'../commands/kb/index.js';import{artifactDefinitions}from'../commands/artifact/index.js';import{personalBffDefinitions}from'../commands/personal-bff/index.js';import{apiDocDefinitions}from'../commands/api-doc/index.js';import{appConfigDefinitions}from'../commands/app-config/index.js';import{fileDefinitions}from'../commands/file/index.js';import{ocrDefinitions}from'../commands/ocr/index.js';import{scheduleDefinitions}from'../commands/schedule/index.js';import{userAccountDefinitions}from'../commands/user-account/index.js';import{notificationDefinitions}from'../commands/notification/index.js';import{roleDefinitions}from'../commands/role/index.js';import{permitDefinitions}from'../commands/permit/index.js';export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();export const serviceGroups=new Map();function registerDefinitions(_0x68c5d2){const _0x3ab947=a48_0x44bf;for(const _0x38d396 of _0x68c5d2){definitions[_0x3ab947(0x16a)](_0x38d396[_0x3ab947(0x166)]+':'+_0x38d396[_0x3ab947(0x197)],_0x38d396);let _0x33d16c=serviceGroups['get'](_0x38d396[_0x3ab947(0x166)]);!_0x33d16c&&(_0x33d16c=[],serviceGroups[_0x3ab947(0x16a)](_0x38d396[_0x3ab947(0x166)],_0x33d16c)),_0x33d16c[_0x3ab947(0x189)](_0x38d396);}}function registerService(_0x48fb2a,_0x30563b,_0x261dc7){const _0x42883c=a48_0x44bf;registerDefinitions(_0x30563b);const _0x2d982e=_0xb2e284=>_0xb2e284===_0x42883c(0x184)?'':_0xb2e284===_0x42883c(0x194)?_0x42883c(0x18d):'\x20\x20[high-risk-write]',_0x43ef35={'service':_0x30563b[0x0][_0x42883c(0x166)],'label':_0x48fb2a,'commands':_0x30563b[_0x42883c(0x15e)](_0x4e3fec=>({'command':_0x4e3fec[_0x42883c(0x197)],'description':_0x4e3fec[_0x42883c(0x159)],'tag':_0x2d982e(_0x4e3fec['risk'])})),'defaultCommand':_0x261dc7?.[_0x42883c(0x179)]??(_0x261dc7?.[_0x42883c(0x15b)]?_0x30563b[0x0][_0x42883c(0x197)]:undefined),'isSingleCommand':_0x261dc7?.[_0x42883c(0x15b)]};serviceRegistry[_0x42883c(0x189)](_0x43ef35),serviceByName[_0x42883c(0x16a)](_0x43ef35[_0x42883c(0x166)],_0x43ef35);}registerService(a48_0x3897b1(0x188),authDefinitions,{'defaultCommand':'login'}),registerService(a48_0x3897b1(0x160),userAccountDefinitions),registerService(a48_0x3897b1(0x15d),appDefinitions,{'defaultCommand':'list'}),registerService('Workspace',workspaceDefinitions),registerService(a48_0x3897b1(0x193),appConfigDefinitions),registerService(a48_0x3897b1(0x17d),configDefinitions,{'defaultCommand':a48_0x3897b1(0x168)}),registerService(a48_0x3897b1(0x190),roleDefinitions,{'defaultCommand':a48_0x3897b1(0x168)}),registerService(a48_0x3897b1(0x171),permitDefinitions),registerService(a48_0x3897b1(0x165),apiDocDefinitions),registerService(a48_0x3897b1(0x185),datasetDefinitions),registerService(a48_0x3897b1(0x182),dataDefinitions),registerService('SQL\x20Queries',sqlDefinitions),registerService(a48_0x3897b1(0x180),bffDefinitions),registerService(a48_0x3897b1(0x17f),personalBffDefinitions),registerService(a48_0x3897b1(0x164),artifactDefinitions),registerService('File',fileDefinitions),registerService(a48_0x3897b1(0x15c),ocrDefinitions),registerService(a48_0x3897b1(0x16c),kbDefinitions),registerService(a48_0x3897b1(0x196),notificationDefinitions,{'defaultCommand':a48_0x3897b1(0x173)}),registerService(a48_0x3897b1(0x17b),scheduleDefinitions,{'defaultCommand':a48_0x3897b1(0x168)}),registerService(a48_0x3897b1(0x195),serviceDefinitions,{'defaultCommand':'list'}),registerService(a48_0x3897b1(0x18e),skillDefinitions,{'defaultCommand':a48_0x3897b1(0x183)}),registerService(a48_0x3897b1(0x17e),cliSkillDefinitions,{'defaultCommand':a48_0x3897b1(0x183)}),registerService(a48_0x3897b1(0x16d),[updateDefinition],{'defaultCommand':a48_0x3897b1(0x181),'isSingleCommand':!![]}),registerService(a48_0x3897b1(0x178),[doctorDefinition],{'isSingleCommand':!![]}),registerService(a48_0x3897b1(0x186),[schemaDefinition],{'isSingleCommand':!![]}),registerService('Logs',logsDefinitions,{'defaultCommand':a48_0x3897b1(0x18f)});function a48_0x1e57(){const _0xd05a2f=['map','924341sVOACp','User\x20Accounts','204mAikia','use','54951shbCRp','Artifacts','API\x20Documentation','service','2944465EPWlLL','list','get','set','Use\x20`lovrabet\x20workspace\x20init\x20--appcode\x20<code>`\x20instead.','Knowledge\x20Base','Self\x20Update','`lovrabet\x20logs\x20clear`\x20has\x20been\x20removed.','7JJhkwk','7890vxgIOG','Runtime\x20Permissions','2606768qbHQiV','config-list','`lovrabet\x20app\x20use`\x20has\x20been\x20removed.','clear','app\x20use','logs\x20clear','Diagnostics','defaultCommand','Use\x20`lovrabet\x20workspace\x20use\x20--app\x20<name>`\x20instead.','Agent\x20Schedules','app','Configuration','CLI\x20Built-in\x20Skill','Personal\x20Backend\x20Function','Backend\x20Function\x20Scripts','run','Instant\x20API','install','read','Datasets','Schema','`lovrabet\x20app\x20init`\x20has\x20been\x20removed.','Authentication','push','Use\x20`lovrabet\x20config\x20init`\x20for\x20node\x20configuration,\x20then\x20`lovrabet\x20auth\x20login`\x20for\x20AccessKey\x20authentication.','`lovrabet\x20auth\x20init`\x20has\x20been\x20removed.','4068PuIaJp','\x20\x20[write]','Skills','show','Runtime\x20Roles','logs','237446HQjEeK','Runtime\x20App\x20Config','write','Service\x20Tree','Notification\x20Configs','command','3358308YLAuOE','init','description','has','isSingleCommand','OCR','App\x20Management'];a48_0x1e57=function(){return _0xd05a2f;};return a48_0x1e57();}export function findDefinition(_0x24c67c,_0xf70f21){const _0x3f1388=a48_0x3897b1;return definitions[_0x3f1388(0x169)](_0x24c67c+':'+_0xf70f21);}export function resolveRemovedCommand(_0x4fe371,_0x366327){const _0x2fe426=a48_0x3897b1;if(_0x4fe371==='auth'&&_0x366327===_0x2fe426(0x158))return{'command':'auth\x20init','message':_0x2fe426(0x18b),'hint':_0x2fe426(0x18a)};if(_0x4fe371===_0x2fe426(0x17c)&&_0x366327===_0x2fe426(0x158))return{'command':'app\x20init','message':_0x2fe426(0x187),'hint':_0x2fe426(0x16b)};if(_0x4fe371===_0x2fe426(0x17c)&&_0x366327===_0x2fe426(0x162))return{'command':_0x2fe426(0x176),'message':_0x2fe426(0x174),'hint':_0x2fe426(0x17a)};if(_0x4fe371===_0x2fe426(0x191)&&_0x366327===_0x2fe426(0x175))return{'command':_0x2fe426(0x177),'message':_0x2fe426(0x16e),'hint':'Use\x20`lovrabet\x20logs\x20show`\x20to\x20view\x20command\x20history.'};return undefined;}export function isKnownService(_0x5599d1){const _0x22f638=a48_0x3897b1;return serviceByName[_0x22f638(0x15a)](_0x5599d1);}export function getServiceEntry(_0xe95cb7){const _0x2ac2fc=a48_0x3897b1;return serviceByName[_0x2ac2fc(0x169)](_0xe95cb7);}export function getAllDefinitions(){return Array['from'](definitions['values']());}
@@ -1 +1 @@
1
- const a49_0x2f02ba=a49_0x174e;(function(_0x3019dd,_0x41da3a){const _0x4e155a=a49_0x174e,_0x2ded02=_0x3019dd();while(!![]){try{const _0x13bcba=parseInt(_0x4e155a(0x133))/0x1+-parseInt(_0x4e155a(0x13b))/0x2*(parseInt(_0x4e155a(0x13c))/0x3)+-parseInt(_0x4e155a(0x13d))/0x4*(-parseInt(_0x4e155a(0x140))/0x5)+parseInt(_0x4e155a(0x138))/0x6+-parseInt(_0x4e155a(0x14e))/0x7*(-parseInt(_0x4e155a(0x147))/0x8)+-parseInt(_0x4e155a(0x136))/0x9*(-parseInt(_0x4e155a(0x13f))/0xa)+parseInt(_0x4e155a(0x146))/0xb*(-parseInt(_0x4e155a(0x148))/0xc);if(_0x13bcba===_0x41da3a)break;else _0x2ded02['push'](_0x2ded02['shift']());}catch(_0x463a7d){_0x2ded02['push'](_0x2ded02['shift']());}}}(a49_0x5a0c,0x86906));import{createRuntimeAppRole}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';function a49_0x174e(_0x2739ca,_0x117d2d){_0x2739ca=_0x2739ca-0x133;const _0x5a0cea=a49_0x5a0c();let _0x174ee1=_0x5a0cea[_0x2739ca];return _0x174ee1;}import{dryRun}from'../../framework/dryrun.js';import{projectRuntimeRole,runtimeRoleWriteResult}from'../../commands/role/shared.js';function a49_0x5a0c(){const _0x3f3e8b=['2629110xLDjoa','85SXFKcb','str','role','trim','POST','description','19709503cdvLpX','2047952vrkMJi','12VcWjDY','Preview:\x20create\x20a\x20runtime\x20CUSTOM\x20role','build','high-risk-write','appCode','Optional\x20role\x20remark','28DKFnXm','validation','Creates\x20a\x20custom\x20role\x20in\x20the\x20current\x20runtime\x20app.\x20After\x20creation\x20it\x20can\x20be\x20used\x20for\x20member\x20and\x20resource\x20permissions.','CUSTOM','14878CMthDi','string','body','9TVYfFj','Role\x20name','4291434LVPGms','name','/client/permit/role/create','60aLOuXd','4005nyysIz','86116erfufJ','Create\x20a\x20runtime\x20CUSTOM\x20role'];a49_0x5a0c=function(){return _0x3f3e8b;};return a49_0x5a0c();}function input(_0xc8c00b){const _0x2ea8c9=a49_0x174e,_0x13e96b=_0xc8c00b[_0x2ea8c9(0x141)](_0x2ea8c9(0x139))[_0x2ea8c9(0x143)]();if(!_0x13e96b)throw CliErrors[_0x2ea8c9(0x14f)]('--name\x20must\x20not\x20be\x20blank.');const _0x42c3c0=_0xc8c00b[_0x2ea8c9(0x141)]('remark')[_0x2ea8c9(0x143)]();return{'appCode':_0xc8c00b[_0x2ea8c9(0x14c)],'roleName':_0x13e96b,..._0x42c3c0?{'remark':_0x42c3c0}:{}};}export const roleCreate={'service':a49_0x2f02ba(0x142),'command':'create','description':a49_0x2f02ba(0x13e),'risk':a49_0x2f02ba(0x14b),'confirmationDescription':a49_0x2f02ba(0x150),'flags':[{'name':a49_0x2f02ba(0x139),'type':a49_0x2f02ba(0x134),'required':!![],'description':a49_0x2f02ba(0x137)},{'name':'remark','type':a49_0x2f02ba(0x134),'description':a49_0x2f02ba(0x14d)}],async 'validate'(_0x17badc){input(_0x17badc);},async 'dryRun'(_0x89fa39){const _0x2621c4=a49_0x2f02ba;return dryRun(_0x2621c4(0x144),'/client/permit/role/create')[_0x2621c4(0x135)]({'roleType':_0x2621c4(0x151),...input(_0x89fa39)})[_0x2621c4(0x145)](_0x2621c4(0x149))[_0x2621c4(0x14a)]();},async 'execute'(_0x19e132){const _0x2abbdc=a49_0x2f02ba,_0x10dafa=await createRuntimeAppRole(input(_0x19e132));return{'ok':!![],'data':runtimeRoleWriteResult('create',{'roleId':_0x10dafa['id']},null,projectRuntimeRole(_0x10dafa),{'method':_0x2abbdc(0x144),'path':_0x2abbdc(0x13a)})};}};
1
+ const a49_0x233804=a49_0x50d2;(function(_0x629b4c,_0x511063){const _0x171b70=a49_0x50d2,_0x153572=_0x629b4c();while(!![]){try{const _0x4fa8a9=parseInt(_0x171b70(0xf6))/0x1+parseInt(_0x171b70(0x109))/0x2+parseInt(_0x171b70(0x102))/0x3*(parseInt(_0x171b70(0xee))/0x4)+-parseInt(_0x171b70(0xf3))/0x5+-parseInt(_0x171b70(0xfd))/0x6*(parseInt(_0x171b70(0x108))/0x7)+parseInt(_0x171b70(0xf1))/0x8+parseInt(_0x171b70(0xfc))/0x9;if(_0x4fa8a9===_0x511063)break;else _0x153572['push'](_0x153572['shift']());}catch(_0x103e2d){_0x153572['push'](_0x153572['shift']());}}}(a49_0x3b31,0x5b08b));function a49_0x50d2(_0x1d9058,_0x487d2f){_0x1d9058=_0x1d9058-0xee;const _0x3b3102=a49_0x3b31();let _0x50d255=_0x3b3102[_0x1d9058];return _0x50d255;}import{createRuntimeAppRole}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';function a49_0x3b31(){const _0x491d33=['3rvaXJy','high-risk-write','CUSTOM','str','create','/client/permit/role/create','1802773vbYfBW','1035438jGLbAG','description','1377256CQaWEC','Optional\x20role\x20remark','role','1936912lqEyog','validation','3036915AywzoE','Preview:\x20create\x20a\x20runtime\x20CUSTOM\x20role','string','303199gjUvTf','Role\x20name','body','appCode','Create\x20a\x20runtime\x20CUSTOM\x20role','--name\x20must\x20not\x20be\x20blank.','791910JlDfqW','12OJpoDU','POST','name','Creates\x20a\x20custom\x20role\x20in\x20the\x20current\x20runtime\x20app.\x20After\x20creation\x20it\x20can\x20be\x20used\x20for\x20member\x20and\x20resource\x20permissions.','trim'];a49_0x3b31=function(){return _0x491d33;};return a49_0x3b31();}import{dryRun}from'../../framework/dryrun.js';import{projectRuntimeRole,readOptionalRuntimeRoleCode,ROLE_CODE_FLAG,runtimeRoleWriteResult}from'../../commands/role/shared.js';function input(_0xfc96b0){const _0x25987a=a49_0x50d2,_0x537897=_0xfc96b0[_0x25987a(0x105)]('name')[_0x25987a(0x101)]();if(!_0x537897)throw CliErrors[_0x25987a(0xf2)](_0x25987a(0xfb));const _0x2f667c=_0xfc96b0[_0x25987a(0x105)]('remark')['trim'](),_0x3c131e=readOptionalRuntimeRoleCode(_0xfc96b0);return{'appCode':_0xfc96b0[_0x25987a(0xf9)],'roleName':_0x537897,..._0x3c131e?{'roleCode':_0x3c131e}:{},..._0x2f667c?{'remark':_0x2f667c}:{}};}export const roleCreate={'service':a49_0x233804(0xf0),'command':'create','description':a49_0x233804(0xfa),'risk':a49_0x233804(0x103),'confirmationDescription':a49_0x233804(0x100),'flags':[{'name':a49_0x233804(0xff),'type':a49_0x233804(0xf5),'required':!![],'description':a49_0x233804(0xf7)},ROLE_CODE_FLAG,{'name':'remark','type':a49_0x233804(0xf5),'description':a49_0x233804(0xef)}],async 'validate'(_0x230d14){input(_0x230d14);},async 'dryRun'(_0xd5af66){const _0x4007aa=a49_0x233804;return dryRun(_0x4007aa(0xfe),_0x4007aa(0x107))[_0x4007aa(0xf8)]({'roleType':_0x4007aa(0x104),...input(_0xd5af66)})[_0x4007aa(0x10a)](_0x4007aa(0xf4))['build']();},async 'execute'(_0x460861){const _0x395920=a49_0x233804,_0x21045b=await createRuntimeAppRole(input(_0x460861));return{'ok':!![],'data':runtimeRoleWriteResult(_0x395920(0x106),{'roleId':_0x21045b['id']},null,projectRuntimeRole(_0x21045b),{'method':_0x395920(0xfe),'path':_0x395920(0x107)})};}};
@@ -1 +1 @@
1
- const a50_0x2cb876=a50_0x1118;function a50_0x1118(_0x201156,_0x42efa9){_0x201156=_0x201156-0x139;const _0x4182d9=a50_0x4182();let _0x11182d=_0x4182d9[_0x201156];return _0x11182d;}(function(_0x4e3303,_0xccf8a7){const _0x115919=a50_0x1118,_0x22312e=_0x4e3303();while(!![]){try{const _0x109c47=parseInt(_0x115919(0x149))/0x1+-parseInt(_0x115919(0x146))/0x2*(-parseInt(_0x115919(0x13c))/0x3)+-parseInt(_0x115919(0x13e))/0x4+parseInt(_0x115919(0x147))/0x5*(-parseInt(_0x115919(0x13a))/0x6)+parseInt(_0x115919(0x13d))/0x7*(-parseInt(_0x115919(0x139))/0x8)+parseInt(_0x115919(0x143))/0x9*(parseInt(_0x115919(0x145))/0xa)+-parseInt(_0x115919(0x14d))/0xb*(-parseInt(_0x115919(0x141))/0xc);if(_0x109c47===_0xccf8a7)break;else _0x22312e['push'](_0x22312e['shift']());}catch(_0x9fc1c7){_0x22312e['push'](_0x22312e['shift']());}}}(a50_0x4182,0x3ce74));import{deleteRuntimeAppRole}from'../../core/api-client.js';import{dryRun}from'../../framework/dryrun.js';import{assertCustomRuntimeRole,getRuntimeRoleById,projectRuntimeRole,ROLE_ID_FLAG,runtimeRoleWriteResult}from'../../commands/role/shared.js';function a50_0x4182(){const _0x33dbd8=['Preview:\x20delete\x20a\x20runtime\x20CUSTOM\x20role','352850HzcQKL','4534agmHfk','25mbsyQh','/client/permit/role/delete','246712wMJYfq','build','delete','Delete\x20a\x20runtime\x20CUSTOM\x20role','85712prfiTI','299144BtAlox','84894Jnvgla','POST','309MXhkHz','77BNYjBL','857192DkCFGT','high-risk-write','Deletes\x20the\x20custom\x20role\x20in\x20the\x20current\x20runtime\x20app.\x20Membership\x20and\x20permission\x20config\x20for\x20that\x20role\x20may\x20become\x20invalid.','228RgYtRQ','appCode','81brJFal'];a50_0x4182=function(){return _0x33dbd8;};return a50_0x4182();}async function prepare(_0x12ad1c){const _0x3a0627=a50_0x1118,_0x37e449=await getRuntimeRoleById(_0x12ad1c[_0x3a0627(0x142)],_0x12ad1c['num']('id'));return assertCustomRuntimeRole(_0x37e449,_0x3a0627(0x14b)),_0x37e449;}export const roleDelete={'service':'role','command':a50_0x2cb876(0x14b),'description':a50_0x2cb876(0x14c),'risk':a50_0x2cb876(0x13f),'confirmationDescription':a50_0x2cb876(0x140),'flags':[ROLE_ID_FLAG],async 'dryRun'(_0x418cbf){const _0x5a756a=a50_0x2cb876,_0x3512f1=await prepare(_0x418cbf);return dryRun(_0x5a756a(0x13b),_0x5a756a(0x148))['body']({'id':_0x3512f1['id']})['description'](_0x5a756a(0x144))[_0x5a756a(0x14a)]();},async 'execute'(_0x4dee3b){const _0x312184=a50_0x2cb876,_0x48203e=await prepare(_0x4dee3b);return await deleteRuntimeAppRole(_0x48203e['id']),{'ok':!![],'data':runtimeRoleWriteResult('delete',{'roleId':_0x48203e['id']},projectRuntimeRole(_0x48203e),null,{'method':_0x312184(0x13b),'path':'/client/permit/role/delete'})};}};
1
+ const a50_0x4dae74=a50_0x2dfd;(function(_0xa859c7,_0x55b8d1){const _0x7397c6=a50_0x2dfd,_0x56ac18=_0xa859c7();while(!![]){try{const _0x3d68c2=parseInt(_0x7397c6(0x1fd))/0x1*(-parseInt(_0x7397c6(0x1fa))/0x2)+-parseInt(_0x7397c6(0x1fb))/0x3+-parseInt(_0x7397c6(0x1f7))/0x4+-parseInt(_0x7397c6(0x1f6))/0x5*(-parseInt(_0x7397c6(0x1f3))/0x6)+-parseInt(_0x7397c6(0x1fe))/0x7*(-parseInt(_0x7397c6(0x201))/0x8)+-parseInt(_0x7397c6(0x1f2))/0x9*(parseInt(_0x7397c6(0x1ff))/0xa)+parseInt(_0x7397c6(0x1f5))/0xb;if(_0x3d68c2===_0x55b8d1)break;else _0x56ac18['push'](_0x56ac18['shift']());}catch(_0x5edd97){_0x56ac18['push'](_0x56ac18['shift']());}}}(a50_0x3503,0x8f915));function a50_0x2dfd(_0x2be45c,_0x302969){_0x2be45c=_0x2be45c-0x1f1;const _0x350316=a50_0x3503();let _0x2dfd4d=_0x350316[_0x2be45c];return _0x2dfd4d;}import{deleteRuntimeAppRole}from'../../core/api-client.js';import{dryRun}from'../../framework/dryrun.js';function a50_0x3503(){const _0x3c502a=['build','Deletes\x20the\x20custom\x20role\x20in\x20the\x20current\x20runtime\x20app.\x20Membership\x20and\x20permission\x20config\x20for\x20that\x20role\x20may\x20become\x20invalid.','21578QWYIkb','1900641rKgOeB','POST','61YvZtfM','1247806jpxwsT','44360xhphmL','Delete\x20a\x20runtime\x20CUSTOM\x20role','40nbuYoh','delete','body','appCode','288USxiZO','6ujTzfM','/client/permit/role/delete','11328625TYlTGu','2585815HzwEKQ','1666588ltmWHG'];a50_0x3503=function(){return _0x3c502a;};return a50_0x3503();}import{assertCustomRuntimeRole,getRuntimeRoleById,projectRuntimeRole,ROLE_ID_FLAG,runtimeRoleWriteResult}from'../../commands/role/shared.js';async function prepare(_0x5ba778){const _0x123183=a50_0x2dfd,_0x2b1c2b=await getRuntimeRoleById(_0x5ba778[_0x123183(0x1f1)],_0x5ba778['num']('id'));return assertCustomRuntimeRole(_0x2b1c2b,_0x123183(0x202)),_0x2b1c2b;}export const roleDelete={'service':'role','command':a50_0x4dae74(0x202),'description':a50_0x4dae74(0x200),'risk':'high-risk-write','confirmationDescription':a50_0x4dae74(0x1f9),'flags':[ROLE_ID_FLAG],async 'dryRun'(_0x24efb5){const _0x281e83=a50_0x4dae74,_0x480759=await prepare(_0x24efb5);return dryRun('POST',_0x281e83(0x1f4))[_0x281e83(0x203)]({'id':_0x480759['id']})['description']('Preview:\x20delete\x20a\x20runtime\x20CUSTOM\x20role')[_0x281e83(0x1f8)]();},async 'execute'(_0x3de345){const _0x1f869b=a50_0x4dae74,_0x172a9a=await prepare(_0x3de345);return await deleteRuntimeAppRole(_0x172a9a['id']),{'ok':!![],'data':runtimeRoleWriteResult(_0x1f869b(0x202),{'roleId':_0x172a9a['id']},projectRuntimeRole(_0x172a9a),null,{'method':_0x1f869b(0x1fc),'path':_0x1f869b(0x1f4)})};}};
@@ -1 +1 @@
1
- const a51_0x34d988=a51_0x2942;(function(_0x2995a9,_0x4783c6){const _0x5f3310=a51_0x2942,_0x3d4706=_0x2995a9();while(!![]){try{const _0x3d2164=-parseInt(_0x5f3310(0x155))/0x1+-parseInt(_0x5f3310(0x153))/0x2*(-parseInt(_0x5f3310(0x159))/0x3)+-parseInt(_0x5f3310(0x150))/0x4*(parseInt(_0x5f3310(0x151))/0x5)+parseInt(_0x5f3310(0x14e))/0x6+parseInt(_0x5f3310(0x156))/0x7+parseInt(_0x5f3310(0x14f))/0x8+parseInt(_0x5f3310(0x154))/0x9;if(_0x3d2164===_0x4783c6)break;else _0x3d4706['push'](_0x3d4706['shift']());}catch(_0x521119){_0x3d4706['push'](_0x3d4706['shift']());}}}(a51_0x401b,0x6fc8e));function a51_0x401b(){const _0x24189b=['read','102XXrgif','361296TEbusc','384298VOTYTx','1185723mUXGCZ','Show\x20one\x20runtime\x20role\x20by\x20ID','appCode','38403cUUShg','num','detail','runtime','275340kDTxOG','1936920KfNnZq','772DATozH','7985FCJQEA'];a51_0x401b=function(){return _0x24189b;};return a51_0x401b();}function a51_0x2942(_0x2f794a,_0x3b76aa){_0x2f794a=_0x2f794a-0x14b;const _0x401b44=a51_0x401b();let _0x29425a=_0x401b44[_0x2f794a];return _0x29425a;}import{getRuntimeRoleById,projectRuntimeRole,ROLE_ID_FLAG}from'../../commands/role/shared.js';export const roleDetail={'service':'role','command':a51_0x34d988(0x14c),'description':a51_0x34d988(0x157),'risk':a51_0x34d988(0x152),'flags':[ROLE_ID_FLAG],async 'execute'(_0x124463){const _0x2670d2=a51_0x34d988,_0x4b54c5=await getRuntimeRoleById(_0x124463[_0x2670d2(0x158)],_0x124463[_0x2670d2(0x14b)]('id'));return{'ok':!![],'data':{'scope':_0x2670d2(0x14d),'role':projectRuntimeRole(_0x4b54c5)}};}};
1
+ function a51_0x16f5(){const _0x539fb3=['1769965EdQPAm','10094616ZKBjek','detail','1483608yMyTUN','854604GIQmXB','runtime','num','2121021OQrTvU','appCode','14BXCppW','read','18592016GBGQGx','2434635nhCdIG','role','Show\x20one\x20runtime\x20role\x20by\x20ID'];a51_0x16f5=function(){return _0x539fb3;};return a51_0x16f5();}function a51_0x36e8(_0x147387,_0x5658e9){_0x147387=_0x147387-0x80;const _0x16f5d4=a51_0x16f5();let _0x36e81e=_0x16f5d4[_0x147387];return _0x36e81e;}const a51_0x5c1021=a51_0x36e8;(function(_0x294b0e,_0x27bba3){const _0xe704e4=a51_0x36e8,_0x1b72a5=_0x294b0e();while(!![]){try{const _0x1c3688=-parseInt(_0xe704e4(0x81))/0x1+-parseInt(_0xe704e4(0x84))/0x2+parseInt(_0xe704e4(0x88))/0x3+parseInt(_0xe704e4(0x85))/0x4+-parseInt(_0xe704e4(0x8d))/0x5+-parseInt(_0xe704e4(0x82))/0x6+parseInt(_0xe704e4(0x8a))/0x7*(parseInt(_0xe704e4(0x8c))/0x8);if(_0x1c3688===_0x27bba3)break;else _0x1b72a5['push'](_0x1b72a5['shift']());}catch(_0x4c82ab){_0x1b72a5['push'](_0x1b72a5['shift']());}}}(a51_0x16f5,0xd8aea));import{getRuntimeRoleById,projectRuntimeRole,ROLE_ID_FLAG}from'../../commands/role/shared.js';export const roleDetail={'service':a51_0x5c1021(0x8e),'command':a51_0x5c1021(0x83),'description':a51_0x5c1021(0x80),'risk':a51_0x5c1021(0x8b),'flags':[ROLE_ID_FLAG],async 'execute'(_0x37a326){const _0x1af181=a51_0x5c1021,_0x173016=await getRuntimeRoleById(_0x37a326[_0x1af181(0x89)],_0x37a326[_0x1af181(0x87)]('id'));return{'ok':!![],'data':{'scope':_0x1af181(0x86),'role':projectRuntimeRole(_0x173016)}};}};
@@ -1 +1 @@
1
- (function(_0x4a1718,_0x3a5421){const _0x2131f4=a52_0x42c4,_0x6911a4=_0x4a1718();while(!![]){try{const _0x33f4a0=-parseInt(_0x2131f4(0xc8))/0x1+parseInt(_0x2131f4(0xc4))/0x2+-parseInt(_0x2131f4(0xc5))/0x3+parseInt(_0x2131f4(0xc9))/0x4*(-parseInt(_0x2131f4(0xc2))/0x5)+-parseInt(_0x2131f4(0xc7))/0x6+parseInt(_0x2131f4(0xc3))/0x7+parseInt(_0x2131f4(0xc6))/0x8;if(_0x33f4a0===_0x3a5421)break;else _0x6911a4['push'](_0x6911a4['shift']());}catch(_0x9d6518){_0x6911a4['push'](_0x6911a4['shift']());}}}(a52_0x2702,0xba8d5));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';function a52_0x42c4(_0x16fd07,_0x22d36b){_0x16fd07=_0x16fd07-0xc2;const _0x2702d2=a52_0x2702();let _0x42c4b8=_0x2702d2[_0x16fd07];return _0x42c4b8;}import{roleDelete}from'../../commands/role/delete.js';function a52_0x2702(){const _0x4a76bc=['124744ckHMfF','10dspGNd','1247365ZWkMcv','2630620QBdaJi','4378032DRoGWw','14050584RoFZzM','300816CFcQLg','913859abFhuH'];a52_0x2702=function(){return _0x4a76bc;};return a52_0x2702();}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_0x53f9(_0x4d1b5d,_0x2ddebf){_0x4d1b5d=_0x4d1b5d-0xe5;const _0x44f6ee=a52_0x44f6();let _0x53f959=_0x44f6ee[_0x4d1b5d];return _0x53f959;}(function(_0x2fe94c,_0x5371c3){const _0x1c9b29=a52_0x53f9,_0x5185dc=_0x2fe94c();while(!![]){try{const _0xd5c85c=-parseInt(_0x1c9b29(0xed))/0x1*(parseInt(_0x1c9b29(0xe6))/0x2)+-parseInt(_0x1c9b29(0xea))/0x3+parseInt(_0x1c9b29(0xe7))/0x4+parseInt(_0x1c9b29(0xe5))/0x5*(-parseInt(_0x1c9b29(0xec))/0x6)+parseInt(_0x1c9b29(0xe8))/0x7+-parseInt(_0x1c9b29(0xe9))/0x8+parseInt(_0x1c9b29(0xeb))/0x9;if(_0xd5c85c===_0x5371c3)break;else _0x5185dc['push'](_0x5185dc['shift']());}catch(_0xcaea14){_0x5185dc['push'](_0x5185dc['shift']());}}}(a52_0x44f6,0x2f751));import{roleList}from'../../commands/role/list.js';import{roleDetail}from'../../commands/role/detail.js';import{roleCreate}from'../../commands/role/create.js';function a52_0x44f6(){const _0x1f58db=['5478264pYUgZR','60HlKOnX','1HeBGyn','36705MOMPYy','545730MxWFEo','601196FGpSOo','849275NnkISQ','2707744eivElY','3576RRaXzL'];a52_0x44f6=function(){return _0x1f58db;};return a52_0x44f6();}import{roleUpdate}from'../../commands/role/update.js';import{roleDelete}from'../../commands/role/delete.js';import{roleUserAdd}from'../../commands/role/user-add.js';import{roleUserRemove}from'../../commands/role/user-remove.js';export const roleDefinitions=[roleList,roleDetail,roleCreate,roleUpdate,roleDelete,roleUserAdd,roleUserRemove];
@@ -1 +1 @@
1
- const a53_0x6b209f=a53_0x2f70;function a53_0x15ea(){const _0x4b3ae9=['appCode','str','List\x20runtime\x20roles\x20for\x20the\x20current\x20app','validation','pagesize','map','toUpperCase','--pagesize\x20must\x20be\x20an\x20integer\x20from\x201\x20to\x20100.','Page\x20number','type','4383180XZDIGM','items','isSafeInteger','Page\x20size\x20from\x201\x20to\x20100','num','824cIyHaq','name','page','25GIXFbh','Invalid\x20runtime\x20role\x20type:\x20','string','trim','103466QOrMwB','runtime','941826JWlfks','614540tHCRru','30527JkhAgg','9kPpPZf','list','includes','14586380EiLkwM','roleType','role','1434432aIIWly','number','read','Fuzzy\x20role-name\x20filter','Runtime\x20role\x20type','11FSilpi'];a53_0x15ea=function(){return _0x4b3ae9;};return a53_0x15ea();}(function(_0x1f7566,_0x3988dd){const _0x35c81c=a53_0x2f70,_0x4bae91=_0x1f7566();while(!![]){try{const _0x39da81=parseInt(_0x35c81c(0x1b4))/0x1*(-parseInt(_0x35c81c(0x1d6))/0x2)+parseInt(_0x35c81c(0x1ba))/0x3+parseInt(_0x35c81c(0x1d9))/0x4+-parseInt(_0x35c81c(0x1d2))/0x5*(-parseInt(_0x35c81c(0x1d8))/0x6)+-parseInt(_0x35c81c(0x1b3))/0x7*(-parseInt(_0x35c81c(0x1cf))/0x8)+parseInt(_0x35c81c(0x1ca))/0x9+-parseInt(_0x35c81c(0x1b7))/0xa*(parseInt(_0x35c81c(0x1bf))/0xb);if(_0x39da81===_0x3988dd)break;else _0x4bae91['push'](_0x4bae91['shift']());}catch(_0xcb9ef5){_0x4bae91['push'](_0x4bae91['shift']());}}}(a53_0x15ea,0x68a3a));import{listRuntimeAppRoles}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';function a53_0x2f70(_0x22bb7f,_0x25e754){_0x22bb7f=_0x22bb7f-0x1b3;const _0x15ea08=a53_0x15ea();let _0x2f704b=_0x15ea08[_0x22bb7f];return _0x2f704b;}import{listAllRuntimeRoles,projectRuntimeRole,RUNTIME_ROLE_TYPES}from'../../commands/role/shared.js';export const roleList={'service':a53_0x6b209f(0x1b9),'command':a53_0x6b209f(0x1b5),'description':a53_0x6b209f(0x1c2),'risk':a53_0x6b209f(0x1bc),'flags':[{'name':'type','type':a53_0x6b209f(0x1d4),'enum':RUNTIME_ROLE_TYPES,'description':a53_0x6b209f(0x1be)},{'name':a53_0x6b209f(0x1d0),'type':a53_0x6b209f(0x1d4),'description':a53_0x6b209f(0x1bd)},{'name':a53_0x6b209f(0x1d1),'type':'number','default':0x1,'description':a53_0x6b209f(0x1c8)},{'name':a53_0x6b209f(0x1c4),'type':a53_0x6b209f(0x1bb),'default':0x64,'description':a53_0x6b209f(0x1cd)}],async 'validate'(_0x24d7f3){const _0x25ab29=a53_0x6b209f,_0xecbdfc=_0x24d7f3[_0x25ab29(0x1c1)](_0x25ab29(0x1c9))[_0x25ab29(0x1c6)]();if(_0xecbdfc&&!RUNTIME_ROLE_TYPES[_0x25ab29(0x1b6)](_0xecbdfc))throw CliErrors[_0x25ab29(0x1c3)](_0x25ab29(0x1d3)+_0xecbdfc+'.');const _0x4e5293=_0x24d7f3[_0x25ab29(0x1ce)]('page',0x1),_0x12d492=_0x24d7f3[_0x25ab29(0x1ce)](_0x25ab29(0x1c4),0x64);if(!Number['isSafeInteger'](_0x4e5293)||_0x4e5293<0x1)throw CliErrors[_0x25ab29(0x1c3)]('--page\x20must\x20be\x20a\x20positive\x20integer.');if(!Number[_0x25ab29(0x1cc)](_0x12d492)||_0x12d492<0x1||_0x12d492>0x64)throw CliErrors['validation'](_0x25ab29(0x1c7));},async 'execute'(_0x4203d6){const _0x59af1a=a53_0x6b209f,_0x33d85d=_0x4203d6[_0x59af1a(0x1c1)](_0x59af1a(0x1c9))[_0x59af1a(0x1c6)](),_0x306fac=_0x4203d6[_0x59af1a(0x1c1)](_0x59af1a(0x1d0))[_0x59af1a(0x1d5)](),_0x2a4c29=_0x4203d6[_0x59af1a(0x1ce)]('page',0x1),_0x55bb55=_0x4203d6[_0x59af1a(0x1ce)](_0x59af1a(0x1c4),0x64);if(_0x33d85d){const _0x3c0f07=(await listAllRuntimeRoles(_0x4203d6['appCode'],{..._0x306fac?{'roleName':_0x306fac}:{}}))['filter'](_0x172160=>_0x172160[_0x59af1a(0x1b8)]===_0x33d85d),_0x33ba77=(_0x2a4c29-0x1)*_0x55bb55;return{'ok':!![],'data':{'scope':_0x59af1a(0x1d7),'roles':_0x3c0f07['slice'](_0x33ba77,_0x33ba77+_0x55bb55)[_0x59af1a(0x1c5)](projectRuntimeRole),'paging':{'currentPage':_0x2a4c29,'pageSize':_0x55bb55,'totalCount':_0x3c0f07['length']}}};}const _0x19b95f=await listRuntimeAppRoles(_0x4203d6[_0x59af1a(0x1c0)],{..._0x306fac?{'roleName':_0x306fac}:{},'currentPage':_0x2a4c29,'pageSize':_0x55bb55});return{'ok':!![],'data':{'scope':_0x59af1a(0x1d7),'roles':_0x19b95f[_0x59af1a(0x1cb)][_0x59af1a(0x1c5)](projectRuntimeRole),'paging':_0x19b95f['paging']}};}};
1
+ const a53_0x20d37d=a53_0x32fe;function a53_0x41ad(){const _0x211029=['--pagesize\x20must\x20be\x20an\x20integer\x20from\x201\x20to\x20100.','120TgLQch','string','str','pagesize','appCode','Page\x20size\x20from\x201\x20to\x20100','page','5840560YOchws','List\x20runtime\x20roles\x20for\x20the\x20current\x20app','map','8347556IkYynx','name','1558494ACOPGb','validation','trim','num','type','570885gWgptb','toUpperCase','Invalid\x20runtime\x20role\x20type:\x20','runtime','filter','includes','items','22LxlBkv','--page\x20must\x20be\x20a\x20positive\x20integer.','length','number','isSafeInteger','list','3vvMVUa','1788548UklTwm','21635FDGeKV','10SGehCg','30HbSZwW','13160220uONiHM','Runtime\x20role\x20type'];a53_0x41ad=function(){return _0x211029;};return a53_0x41ad();}function a53_0x32fe(_0x20a73e,_0x414746){_0x20a73e=_0x20a73e-0x1d2;const _0x41adcf=a53_0x41ad();let _0x32fe14=_0x41adcf[_0x20a73e];return _0x32fe14;}(function(_0x207790,_0x211451){const _0x2cb6a6=a53_0x32fe,_0x432c60=_0x207790();while(!![]){try{const _0x8ef183=parseInt(_0x2cb6a6(0x1ee))/0x1*(-parseInt(_0x2cb6a6(0x1f4))/0x2)+parseInt(_0x2cb6a6(0x1ec))/0x3*(-parseInt(_0x2cb6a6(0x1ed))/0x4)+parseInt(_0x2cb6a6(0x1df))/0x5*(parseInt(_0x2cb6a6(0x1f0))/0x6)+-parseInt(_0x2cb6a6(0x1d8))/0x7+parseInt(_0x2cb6a6(0x1d5))/0x8+parseInt(_0x2cb6a6(0x1da))/0x9*(parseInt(_0x2cb6a6(0x1ef))/0xa)+parseInt(_0x2cb6a6(0x1e6))/0xb*(parseInt(_0x2cb6a6(0x1f1))/0xc);if(_0x8ef183===_0x211451)break;else _0x432c60['push'](_0x432c60['shift']());}catch(_0x45a714){_0x432c60['push'](_0x432c60['shift']());}}}(a53_0x41ad,0xb2292));import{listRuntimeAppRoles}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{listAllRuntimeRoles,projectRuntimeRole,RUNTIME_ROLE_TYPES}from'../../commands/role/shared.js';export const roleList={'service':'role','command':a53_0x20d37d(0x1eb),'description':a53_0x20d37d(0x1d6),'risk':'read','flags':[{'name':a53_0x20d37d(0x1de),'type':a53_0x20d37d(0x1f5),'enum':RUNTIME_ROLE_TYPES,'description':a53_0x20d37d(0x1f2)},{'name':a53_0x20d37d(0x1d9),'type':a53_0x20d37d(0x1f5),'description':'Fuzzy\x20role-name\x20filter'},{'name':a53_0x20d37d(0x1d4),'type':a53_0x20d37d(0x1e9),'default':0x1,'description':'Page\x20number'},{'name':a53_0x20d37d(0x1f7),'type':'number','default':0x64,'description':a53_0x20d37d(0x1d3)}],async 'validate'(_0x16b454){const _0x562b1c=a53_0x20d37d,_0xdb2a99=_0x16b454['str'](_0x562b1c(0x1de))[_0x562b1c(0x1e0)]();if(_0xdb2a99&&!RUNTIME_ROLE_TYPES[_0x562b1c(0x1e4)](_0xdb2a99))throw CliErrors['validation'](_0x562b1c(0x1e1)+_0xdb2a99+'.');const _0x2900d8=_0x16b454[_0x562b1c(0x1dd)]('page',0x1),_0xaf52c9=_0x16b454['num']('pagesize',0x64);if(!Number[_0x562b1c(0x1ea)](_0x2900d8)||_0x2900d8<0x1)throw CliErrors[_0x562b1c(0x1db)](_0x562b1c(0x1e7));if(!Number[_0x562b1c(0x1ea)](_0xaf52c9)||_0xaf52c9<0x1||_0xaf52c9>0x64)throw CliErrors['validation'](_0x562b1c(0x1f3));},async 'execute'(_0x188a0d){const _0x2d3349=a53_0x20d37d,_0x100c63=_0x188a0d['str'](_0x2d3349(0x1de))[_0x2d3349(0x1e0)](),_0x5d6c25=_0x188a0d[_0x2d3349(0x1f6)](_0x2d3349(0x1d9))[_0x2d3349(0x1dc)](),_0x1be1b5=_0x188a0d[_0x2d3349(0x1dd)](_0x2d3349(0x1d4),0x1),_0x5b77fc=_0x188a0d[_0x2d3349(0x1dd)](_0x2d3349(0x1f7),0x64);if(_0x100c63){const _0x342aef=(await listAllRuntimeRoles(_0x188a0d['appCode'],{..._0x5d6c25?{'roleName':_0x5d6c25}:{}}))[_0x2d3349(0x1e3)](_0x31fda3=>_0x31fda3['roleType']===_0x100c63),_0x432f6c=(_0x1be1b5-0x1)*_0x5b77fc;return{'ok':!![],'data':{'scope':_0x2d3349(0x1e2),'roles':_0x342aef['slice'](_0x432f6c,_0x432f6c+_0x5b77fc)[_0x2d3349(0x1d7)](projectRuntimeRole),'paging':{'currentPage':_0x1be1b5,'pageSize':_0x5b77fc,'totalCount':_0x342aef[_0x2d3349(0x1e8)]}}};}const _0x50f9b2=await listRuntimeAppRoles(_0x188a0d[_0x2d3349(0x1d2)],{..._0x5d6c25?{'roleName':_0x5d6c25}:{},'currentPage':_0x1be1b5,'pageSize':_0x5b77fc});return{'ok':!![],'data':{'scope':_0x2d3349(0x1e2),'roles':_0x50f9b2[_0x2d3349(0x1e5)][_0x2d3349(0x1d7)](projectRuntimeRole),'paging':_0x50f9b2['paging']}};}};
@@ -3,11 +3,13 @@ import type { FlagDef, RuntimeContext } from "../../framework/types.js";
3
3
  export declare const RUNTIME_ROLE_TYPES: RuntimeAppRoleType[];
4
4
  export declare const ROLE_ID_FLAG: FlagDef;
5
5
  export declare const ROLE_REF_FLAG: FlagDef;
6
+ export declare const ROLE_CODE_FLAG: FlagDef;
6
7
  export declare const USER_ID_FLAG: FlagDef;
7
8
  export declare const EXPECT_USER_COUNT_FLAG: FlagDef;
8
9
  export declare function isBuiltinRuntimeRole(roleType: string): boolean;
9
10
  export declare function assertCustomRuntimeRole(role: RuntimeAppRole, action: string): void;
10
11
  export declare function projectRuntimeRole(role: RuntimeAppRole): Record<string, unknown>;
12
+ export declare function readOptionalRuntimeRoleCode(ctx: RuntimeContext): string | undefined;
11
13
  export declare function getRuntimeRoleById(appCode: string, roleId: number): Promise<RuntimeAppRole>;
12
14
  export declare function listAllRuntimeRoles(appCode: string, options?: {
13
15
  roleName?: string;