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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (183) 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/platform.js +1 -1
  172. package/lib/utils/update-notice.js +1 -1
  173. package/lib/utils/version.js +1 -1
  174. package/lib/utils/write-cli-side-channel.js +1 -1
  175. package/package.json +1 -1
  176. package/skills/lovrabet/SKILL.md +4 -4
  177. package/skills/lovrabet/guides/role-and-permission-workflow.md +6 -4
  178. package/skills/lovrabet/references/lovrabet-config-commands.md +7 -11
  179. package/skills/lovrabet/references/lovrabet-config.md +2 -3
  180. package/skills/lovrabet/references/lovrabet-doctor.md +1 -1
  181. package/skills/lovrabet/references/lovrabet-kb-workflow.md +1 -1
  182. package/skills/lovrabet/references/lovrabet-notification-config-list.md +2 -8
  183. package/skills/lovrabet.manifest.json +3 -3
@@ -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_0x17aa56=a40_0x1049;(function(_0x2d821c,_0x27d799){const _0x10eddc=a40_0x1049,_0x46c2ff=_0x2d821c();while(!![]){try{const _0x100038=-parseInt(_0x10eddc(0x1d0))/0x1*(parseInt(_0x10eddc(0x1e7))/0x2)+-parseInt(_0x10eddc(0x1fe))/0x3*(parseInt(_0x10eddc(0x1f2))/0x4)+-parseInt(_0x10eddc(0x1ce))/0x5*(-parseInt(_0x10eddc(0x1ec))/0x6)+-parseInt(_0x10eddc(0x1fd))/0x7+-parseInt(_0x10eddc(0x1d9))/0x8*(-parseInt(_0x10eddc(0x1c3))/0x9)+parseInt(_0x10eddc(0x1be))/0xa*(parseInt(_0x10eddc(0x1e6))/0xb)+-parseInt(_0x10eddc(0x1d4))/0xc;if(_0x100038===_0x27d799)break;else _0x46c2ff['push'](_0x46c2ff['shift']());}catch(_0x5147f6){_0x46c2ff['push'](_0x46c2ff['shift']());}}}(a40_0x4e2d,0x8b7ce));import{listRuntimeDatasetRolePermits,listRuntimePermitRoles,saveRuntimeDatasetRolePermits}from'../../core/api-client.js';function a40_0x1049(_0x1486c4,_0x510560){_0x1486c4=_0x1486c4-0x1bd;const _0x4e2d1b=a40_0x4e2d();let _0x104920=_0x4e2d1b[_0x1486c4];return _0x104920;}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_0x17aa56(0x1c8),a40_0x17aa56(0x1e0),a40_0x17aa56(0x1bf),a40_0x17aa56(0x1dc),a40_0x17aa56(0x1f4),a40_0x17aa56(0x1c9)],DATASETS_FLAG={'name':a40_0x17aa56(0x1bd),'type':a40_0x17aa56(0x1d3),'required':!![],'description':a40_0x17aa56(0x1c1)},ACTIONS_FLAG={'name':a40_0x17aa56(0x1d2),'type':a40_0x17aa56(0x1d3),'required':!![],'description':a40_0x17aa56(0x1ef)+DATA_ACTIONS[a40_0x17aa56(0x1d1)](',\x20')};function a40_0x4e2d(){const _0x458393=['DATA_UPDATE','Grants\x20or\x20revokes\x20the\x20target\x20role\x20permission\x20for\x20the\x20given\x20dataset\x20actions.\x20Data\x20operations\x20for\x20users\x20in\x20that\x20role\x20will\x20change.','datasetCodes','/client/permit/resource/batch-save-dataset','datasetCode','roles','15829ggWBGf','13786rFpXPS','\x20does\x20not\x20expose\x20','\x20selected\x20runtime\x20dataset\x20actions','high-risk-write','warnings','92424fdCnnQ','map','--actions','Comma-separated\x20actions:\x20','\x20was\x20not\x20found.','body','746888XPEafV','changed','DATA_EXPORT','permitId','Runtime\x20dataset\x20','dataset-set','length','POST','bool','build','permitList','6198360xarYzG','6sjcPCj','filter','after','operation','datasets','6730PdaCVF','DATA_DELETE','revoke','Comma-separated\x20runtime\x20dataset\x20codes','Grant\x20or\x20revoke\x20selected\x20runtime\x20dataset\x20actions\x20for\x20one\x20role','27QwufXT','grant','find','before','role','DATA_CREATE','DATA_ROW','rolePermit','permit','dataPermitList','Invalid\x20dataset\x20actions:\x20','230ICUZVr','dataset-','19LHKeZO','join','actions','string','7684596sAAQoR','push','resourceType','str','\x20for\x20role\x20','2465560cJHACs','description','--datasets','DATA_DETAIL','appCode','validation','Dataset\x20'];a40_0x4e2d=function(){return _0x458393;};return a40_0x4e2d();}async function prepare(_0xaf359e){const _0x12707d=a40_0x17aa56;await assertRuntimePermissionManager(_0xaf359e[_0x12707d(0x1dd)]);const _0x249b33=assertGrantOrRevoke(_0xaf359e[_0x12707d(0x1fa)](_0x12707d(0x1c4)),_0xaf359e['bool'](_0x12707d(0x1c0))),_0x5743a0=await resolveRuntimeRoleRef(_0xaf359e[_0x12707d(0x1dd)],_0xaf359e[_0x12707d(0x1d7)]('role'));assertRuntimePermitRoleConfigurable(_0x5743a0);const _0x18945d=splitRefs(_0xaf359e[_0x12707d(0x1d7)](_0x12707d(0x1bd)),_0x12707d(0x1db)),_0xe1740b=[...new Set(splitRefs(_0xaf359e[_0x12707d(0x1d7)](_0x12707d(0x1d2)),_0x12707d(0x1ee))[_0x12707d(0x1ed)](_0x215f4e=>_0x215f4e['toUpperCase']()))],_0x24e216=_0xe1740b[_0x12707d(0x1ff)](_0x53dd94=>!DATA_ACTIONS['includes'](_0x53dd94));if(_0x24e216[_0x12707d(0x1f8)]>0x0)throw CliErrors['validation'](_0x12707d(0x1cd)+_0x24e216[_0x12707d(0x1d1)](',\x20')+'.');const _0x1c903e=await listRuntimeDatasetRolePermits(_0xaf359e[_0x12707d(0x1dd)]),_0x545f54=await listRuntimePermitRoles(_0xaf359e['appCode']),_0x5d75dd=[],_0x3e796f=[],_0x323a49=[],_0x52aa53=[];for(const _0x57191d of _0x18945d){const _0x52ed0f=_0x1c903e['find'](_0x27c875=>_0x27c875[_0x12707d(0x1e4)]===_0x57191d);if(!_0x52ed0f)throw CliErrors[_0x12707d(0x1de)](_0x12707d(0x1f6)+_0x57191d+_0x12707d(0x1f0));for(const _0x496992 of _0xe1740b){const _0x384ae4=_0x52ed0f[_0x12707d(0x1cc)][_0x12707d(0x1c5)](_0x5a5683=>_0x5a5683[_0x12707d(0x1d6)]===_0x496992);if(!_0x384ae4)throw CliErrors[_0x12707d(0x1de)](_0x12707d(0x1df)+_0x57191d+_0x12707d(0x1e8)+_0x496992+'.');const _0x22d0c0=applyRuntimeRolePermission(_0x384ae4[_0x12707d(0x1ca)],_0x5743a0,_0x545f54,_0x249b33);_0x3e796f['push']({'datasetCode':_0x57191d,'resourceType':_0x496992,'rolePermit':_0x384ae4[_0x12707d(0x1ca)]}),_0x323a49[_0x12707d(0x1d5)]({'datasetCode':_0x57191d,'resourceType':_0x496992,'rolePermit':_0x22d0c0[_0x12707d(0x1e5)]}),_0x22d0c0[_0x12707d(0x1f3)]?_0x5d75dd[_0x12707d(0x1d5)]({..._0x384ae4[_0x12707d(0x1f5)]!=null?{'id':_0x384ae4[_0x12707d(0x1f5)]}:{},'appCode':_0xaf359e[_0x12707d(0x1dd)],'resourceCode':_0x57191d,'resourceType':_0x496992,'resourceName':_0x384ae4['resourceName'],'rolePermit':_0x22d0c0[_0x12707d(0x1e5)]}):_0x52aa53['push'](_0x57191d+'/'+_0x496992+'\x20already\x20reflects\x20'+_0x249b33+_0x12707d(0x1d8)+_0x5743a0['id']+'.');}}return{'operation':_0x249b33,'role':_0x5743a0,'datasetCodes':_0x18945d,'actions':_0xe1740b,'permitList':_0x5d75dd,'before':_0x3e796f,'after':_0x323a49,'warnings':_0x52aa53};}export const permitDatasetSet={'service':a40_0x17aa56(0x1cb),'command':a40_0x17aa56(0x1f7),'description':a40_0x17aa56(0x1c2),'risk':a40_0x17aa56(0x1ea),'confirmationDescription':a40_0x17aa56(0x1e1),'flags':[ROLE_REF_FLAG,GRANT_FLAG,REVOKE_FLAG,DATASETS_FLAG,ACTIONS_FLAG],async 'validate'(_0x4dd50c){const _0x590e6e=a40_0x17aa56;assertGrantOrRevoke(_0x4dd50c[_0x590e6e(0x1fa)](_0x590e6e(0x1c4)),_0x4dd50c['bool'](_0x590e6e(0x1c0)));},async 'dryRun'(_0x132b67){const _0x47cf30=a40_0x17aa56,_0x13de84=await prepare(_0x132b67);return dryRun('POST','/client/permit/resource/batch-save-dataset')[_0x47cf30(0x1f1)]({'appCode':_0x132b67['appCode'],'permitList':_0x13de84['permitList']})[_0x47cf30(0x1da)]('Preview:\x20'+_0x13de84[_0x47cf30(0x201)]+_0x47cf30(0x1e9))[_0x47cf30(0x1fb)]();},async 'execute'(_0x2c28a5){const _0x5d6c9a=a40_0x17aa56,_0x3d6fe2=await prepare(_0x2c28a5);return _0x3d6fe2[_0x5d6c9a(0x1fc)]['length']>0x0&&await saveRuntimeDatasetRolePermits(_0x2c28a5[_0x5d6c9a(0x1dd)],_0x3d6fe2[_0x5d6c9a(0x1fc)]),{'ok':!![],'data':runtimePermitWriteResult(_0x5d6c9a(0x1cf)+_0x3d6fe2[_0x5d6c9a(0x201)],{'roleId':_0x3d6fe2[_0x5d6c9a(0x1c7)]['id'],'datasetCodes':_0x3d6fe2[_0x5d6c9a(0x1e2)],'actions':_0x3d6fe2[_0x5d6c9a(0x1d2)]},_0x3d6fe2[_0x5d6c9a(0x1c6)],_0x3d6fe2[_0x5d6c9a(0x200)],{'method':_0x5d6c9a(0x1f9),'path':_0x5d6c9a(0x1e3)},_0x3d6fe2[_0x5d6c9a(0x1eb)])};}};
@@ -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(_0x5bfa51,_0x409a6b){const _0x15947b=a41_0x5489,_0x207e92=_0x5bfa51();while(!![]){try{const _0x2224cf=-parseInt(_0x15947b(0xc7))/0x1*(-parseInt(_0x15947b(0xcd))/0x2)+parseInt(_0x15947b(0xc8))/0x3+-parseInt(_0x15947b(0xcb))/0x4*(-parseInt(_0x15947b(0xd1))/0x5)+parseInt(_0x15947b(0xcf))/0x6+parseInt(_0x15947b(0xd0))/0x7*(parseInt(_0x15947b(0xce))/0x8)+-parseInt(_0x15947b(0xc9))/0x9+-parseInt(_0x15947b(0xca))/0xa*(parseInt(_0x15947b(0xcc))/0xb);if(_0x2224cf===_0x409a6b)break;else _0x207e92['push'](_0x207e92['shift']());}catch(_0x5c1956){_0x207e92['push'](_0x207e92['shift']());}}}(a41_0x27c4,0x95ed0));import{permitPageGet}from'../../commands/permit/page-get.js';import{permitPageSet}from'../../commands/permit/page-set.js';import{permitRoleMenus}from'../../commands/permit/role-menus.js';import{permitRoleMenusSet}from'../../commands/permit/role-menus-set.js';import{permitDatasetGet}from'../../commands/permit/dataset-get.js';import{permitDatasetSet}from'../../commands/permit/dataset-set.js';function a41_0x27c4(){const _0x2fb960=['11yhjLhb','1008638JyDsMX','27440CbwWqm','3440928BhtkaT','1694ujJDyb','38795IgEwFY','1UxPlAq','450219WSoczS','4261662zphLPL','18626110GIZRgS','460sXTyrC'];a41_0x27c4=function(){return _0x2fb960;};return a41_0x27c4();}function a41_0x5489(_0x3435dc,_0x536dc8){_0x3435dc=_0x3435dc-0xc7;const _0x27c424=a41_0x27c4();let _0x548913=_0x27c424[_0x3435dc];return _0x548913;}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
+ function a42_0x2a77(_0x1250bc,_0x426ac7){_0x1250bc=_0x1250bc-0xe4;const _0xce2cda=a42_0xce2c();let _0x2a7750=_0xce2cda[_0x1250bc];return _0x2a7750;}const a42_0x5838b8=a42_0x2a77;(function(_0x6b5035,_0x43f93b){const _0x5da16a=a42_0x2a77,_0xa8accb=_0x6b5035();while(!![]){try{const _0x540856=parseInt(_0x5da16a(0xec))/0x1*(-parseInt(_0x5da16a(0xe4))/0x2)+-parseInt(_0x5da16a(0xe6))/0x3+parseInt(_0x5da16a(0xe5))/0x4*(-parseInt(_0x5da16a(0xea))/0x5)+-parseInt(_0x5da16a(0xee))/0x6*(parseInt(_0x5da16a(0xe7))/0x7)+-parseInt(_0x5da16a(0xed))/0x8+parseInt(_0x5da16a(0xe9))/0x9+parseInt(_0x5da16a(0xf3))/0xa;if(_0x540856===_0x43f93b)break;else _0xa8accb['push'](_0xa8accb['shift']());}catch(_0x674d98){_0xa8accb['push'](_0xa8accb['shift']());}}}(a42_0xce2c,0x254cb));function a42_0xce2c(){const _0x5e2eaf=['menu-id','num','page-get','runtime','7720910CNhsfK','6tviIoq','16OJdokU','758019YkdmBP','1739717mkRYeh','read','2555055VwPqkZ','42260IuUfxq','Get\x20runtime\x20page\x20permission\x20slots\x20by\x20menu\x20ID','93177JrzXHi','709312zvyavO','6mkHIBn'];a42_0xce2c=function(){return _0x5e2eaf;};return a42_0xce2c();}import{getRuntimePagePermit}from'../../core/api-client.js';import{MENU_ID_FLAG,projectRuntimePagePermit}from'../../commands/permit/shared.js';export const permitPageGet={'service':'permit','command':a42_0x5838b8(0xf1),'description':a42_0x5838b8(0xeb),'risk':a42_0x5838b8(0xe8),'flags':[MENU_ID_FLAG],async 'execute'(_0x4b1916){const _0x5d0d73=a42_0x5838b8,_0x3e7169=await getRuntimePagePermit(_0x4b1916[_0x5d0d73(0xf0)](_0x5d0d73(0xef)));return{'ok':!![],'data':{'scope':_0x5d0d73(0xf2),'page':projectRuntimePagePermit(_0x3e7169)}};}};
@@ -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_0x46514c=a43_0x8b76;(function(_0x5ea149,_0x1eadfc){const _0xd1e231=a43_0x8b76,_0x528805=_0x5ea149();while(!![]){try{const _0x575c3a=parseInt(_0xd1e231(0x1ea))/0x1*(parseInt(_0xd1e231(0x1df))/0x2)+parseInt(_0xd1e231(0x1e7))/0x3*(-parseInt(_0xd1e231(0x1ed))/0x4)+parseInt(_0xd1e231(0x1e3))/0x5+-parseInt(_0xd1e231(0x1d8))/0x6*(parseInt(_0xd1e231(0x1d6))/0x7)+parseInt(_0xd1e231(0x1da))/0x8*(parseInt(_0xd1e231(0x1ee))/0x9)+parseInt(_0xd1e231(0x1ef))/0xa+parseInt(_0xd1e231(0x1d5))/0xb*(-parseInt(_0xd1e231(0x1f0))/0xc);if(_0x575c3a===_0x1eadfc)break;else _0x528805['push'](_0x528805['shift']());}catch(_0x16e063){_0x528805['push'](_0x528805['shift']());}}}(a43_0x5540,0x51dfb));import{getRuntimePagePermit,saveRuntimePagePermit}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';function a43_0x5540(){const _0x539a7d=['flag','page','2457620gksuvg','1899ArhNwi','4513950PFvMJm','12240PhLlEI','Changes\x20role\x20permission\x20slots\x20on\x20the\x20given\x20runtime\x20page.\x20Unauthorized\x20users\x20may\x20be\x20unable\x20to\x20view\x20the\x20page\x20or\x20run\x20data\x20operations.','permit','Menu\x20','slots','page-set','POST','join','high-risk-write','body','Preview:\x20update\x20page\x20permission\x20slots\x20','1826qhHQWD','14cpPvJv','menuId','1113162HuuhaS','\x20does\x20not\x20belong\x20to\x20app\x20','13512mMOEdw','rolePermit','build','key','appCode','8KBlqoc','before','Page\x20menu\x20','push','2322280KrhPXO','Pass\x20at\x20least\x20one\x20page\x20role\x20flag\x20to\x20update.','Set\x20selected\x20runtime\x20page\x20permission\x20slots','num','3VzyzAB','validation','length','54476UDufgC'];a43_0x5540=function(){return _0x539a7d;};return a43_0x5540();}import{assertRuntimePermissionManager,MENU_ID_FLAG,PAGE_ROLE_FLAGS,PAGE_SLOT_SPECS,projectRuntimePagePermit,resolveRuntimePermitRoles,runtimePermitWriteResult,splitRefs}from'../../commands/permit/shared.js';async function prepare(_0x3c86a3){const _0x48f92b=a43_0x8b76;await assertRuntimePermissionManager(_0x3c86a3[_0x48f92b(0x1de)]);const _0x13f0b0=_0x3c86a3[_0x48f92b(0x1e6)]('menu-id'),_0x2ccfdf=await getRuntimePagePermit(_0x13f0b0);if(_0x2ccfdf['appCode']&&_0x2ccfdf[_0x48f92b(0x1de)]!==_0x3c86a3[_0x48f92b(0x1de)])throw CliErrors[_0x48f92b(0x1e8)](_0x48f92b(0x1f3)+_0x13f0b0+_0x48f92b(0x1d9)+_0x3c86a3[_0x48f92b(0x1de)]+'.');const _0x1a70c9=structuredClone(_0x2ccfdf),_0x235d1b=[];for(const _0x2c925a of PAGE_SLOT_SPECS){if(_0x3c86a3[_0x48f92b(0x1eb)](_0x2c925a['flag'])===undefined)continue;const _0xe9c773=_0x2ccfdf[_0x2c925a[_0x48f92b(0x1dd)]];if(!_0xe9c773)throw CliErrors[_0x48f92b(0x1e8)](_0x48f92b(0x1e1)+_0x13f0b0+'\x20does\x20not\x20expose\x20'+_0x2c925a['key']+'.');_0xe9c773[_0x48f92b(0x1db)]=await resolveRuntimePermitRoles(_0x3c86a3[_0x48f92b(0x1de)],splitRefs(_0x3c86a3['str'](_0x2c925a['flag']),'--'+_0x2c925a['flag']),_0x2c925a['allowSelf']),_0x235d1b[_0x48f92b(0x1e2)](_0x2c925a[_0x48f92b(0x1dd)]);}if(_0x235d1b[_0x48f92b(0x1e9)]===0x0)throw CliErrors['validation'](_0x48f92b(0x1e4));return{'menuId':_0x13f0b0,'page':_0x2ccfdf,'before':_0x1a70c9,'slots':_0x235d1b};}function a43_0x8b76(_0x193b50,_0x3f41dd){_0x193b50=_0x193b50-0x1d4;const _0x5540c1=a43_0x5540();let _0x8b7608=_0x5540c1[_0x193b50];return _0x8b7608;}export const permitPageSet={'service':a43_0x46514c(0x1f2),'command':a43_0x46514c(0x1f5),'description':a43_0x46514c(0x1e5),'risk':a43_0x46514c(0x1f8),'confirmationDescription':a43_0x46514c(0x1f1),'flags':[MENU_ID_FLAG,...PAGE_ROLE_FLAGS],async 'dryRun'(_0x17a488){const _0x4eff80=a43_0x46514c,_0x47f558=await prepare(_0x17a488);return dryRun(_0x4eff80(0x1f6),'/client/permit/page/save')[_0x4eff80(0x1f9)](_0x47f558['page'])['description'](_0x4eff80(0x1d4)+_0x47f558[_0x4eff80(0x1f4)][_0x4eff80(0x1f7)](',\x20'))[_0x4eff80(0x1dc)]();},async 'execute'(_0x47b3f6){const _0x3fe6c5=a43_0x46514c,_0x400cbd=await prepare(_0x47b3f6),_0x3d898e=await saveRuntimePagePermit(_0x400cbd[_0x3fe6c5(0x1ec)]);return{'ok':!![],'data':runtimePermitWriteResult(_0x3fe6c5(0x1f5),{'menuId':_0x400cbd[_0x3fe6c5(0x1d7)],'slots':_0x400cbd[_0x3fe6c5(0x1f4)]},projectRuntimePagePermit(_0x400cbd[_0x3fe6c5(0x1e0)]),projectRuntimePagePermit(_0x3d898e),{'method':'POST','path':'/client/permit/page/save'})};}};
@@ -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_0x787a7b=a44_0x2961;(function(_0x4ff2e0,_0x316d17){const _0x301db0=a44_0x2961,_0x35d34f=_0x4ff2e0();while(!![]){try{const _0x5bad3e=parseInt(_0x301db0(0x10a))/0x1*(-parseInt(_0x301db0(0x126))/0x2)+parseInt(_0x301db0(0x11d))/0x3+-parseInt(_0x301db0(0x129))/0x4*(-parseInt(_0x301db0(0x104))/0x5)+-parseInt(_0x301db0(0x117))/0x6+parseInt(_0x301db0(0x11e))/0x7*(parseInt(_0x301db0(0x127))/0x8)+parseInt(_0x301db0(0x11f))/0x9+-parseInt(_0x301db0(0x118))/0xa*(parseInt(_0x301db0(0x108))/0xb);if(_0x5bad3e===_0x316d17)break;else _0x35d34f['push'](_0x35d34f['shift']());}catch(_0x134baf){_0x35d34f['push'](_0x35d34f['shift']());}}}(a44_0xa4d6,0x5bc65));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';function a44_0x2961(_0x573557,_0x28401d){_0x573557=_0x573557-0xfd;const _0xa4d6e0=a44_0xa4d6();let _0x2961fa=_0xa4d6e0[_0x573557];return _0x2961fa;}const MENUS_FLAG={'name':'menus','type':a44_0x787a7b(0x101),'required':!![],'description':a44_0x787a7b(0x102)};function a44_0xa4d6(){const _0x30db60=['validation','permit','menuIds','push','high-risk-write','2lYalPv','382408FfBsnu','warnings','4krOTTE','/client/permit/resource/batch-save-menu','menus','test','role-menus-set','before','Invalid\x20runtime\x20menu\x20ID:\x20','Runtime\x20menu\x20','appCode','operation','string','Comma-separated\x20runtime\x20menu\x20IDs','map','3607445xKVBkl','changed','permitList','menu-','11fJfZre','isSafeInteger','634268JMyRBC','build','POST','rolePermit','after','\x20already\x20reflects\x20','\x20for\x20role\x20','find','body','grant','str','--menus','role','2145594dJYyzQ','2719680ZeZSGR','Grants\x20or\x20revokes\x20the\x20target\x20role\x20access\x20to\x20the\x20given\x20runtime\x20menus.\x20Menu\x20visibility\x20for\x20users\x20in\x20that\x20role\x20will\x20change.','roles','\x20selected\x20runtime\x20menus','bool','2009133jIOQQo','7pAsiaP','1806687YeGoeU','Preview:\x20'];a44_0xa4d6=function(){return _0x30db60;};return a44_0xa4d6();}async function prepare(_0x51d0e3){const _0x1f7df3=a44_0x787a7b;await assertRuntimePermissionManager(_0x51d0e3[_0x1f7df3(0xff)]);const _0x695aa6=assertGrantOrRevoke(_0x51d0e3[_0x1f7df3(0x11c)](_0x1f7df3(0x113)),_0x51d0e3[_0x1f7df3(0x11c)]('revoke')),_0x4db66b=await resolveRuntimeRoleRef(_0x51d0e3[_0x1f7df3(0xff)],_0x51d0e3[_0x1f7df3(0x114)](_0x1f7df3(0x116)));assertRuntimePermitRoleConfigurable(_0x4db66b);const _0x393db6=[...new Set(splitRefs(_0x51d0e3[_0x1f7df3(0x114)](_0x1f7df3(0x12b)),_0x1f7df3(0x115))[_0x1f7df3(0x103)](_0x13a78d=>{const _0x349e52=_0x1f7df3,_0x438239=Number(_0x13a78d);if(!/^\d+$/[_0x349e52(0x12c)](_0x13a78d)||!Number[_0x349e52(0x109)](_0x438239)||_0x438239<=0x0)throw CliErrors['validation'](_0x349e52(0xfd)+_0x13a78d+'.');return _0x438239;}))],_0x5a3a25=flattenRuntimeMenuRolePermits(await listRuntimeMenuRolePermits(_0x51d0e3[_0x1f7df3(0xff)])),_0xd2e2a2=await listRuntimePermitRoles(_0x51d0e3[_0x1f7df3(0xff)]),_0x116e21=[],_0x59d187=[],_0x4737fa=[],_0x663d43=[];for(const _0x200caf of _0x393db6){const _0x5e5a82=_0x5a3a25[_0x1f7df3(0x111)](_0xa9a693=>_0xa9a693['id']===_0x200caf);if(!_0x5e5a82)throw CliErrors[_0x1f7df3(0x121)]('Runtime\x20menu\x20'+_0x200caf+'\x20was\x20not\x20found.');const _0x386e78=applyRuntimeRolePermission(_0x5e5a82[_0x1f7df3(0x10d)],_0x4db66b,_0xd2e2a2,_0x695aa6);_0x59d187['push']({'menuId':_0x200caf,'rolePermit':_0x5e5a82['rolePermit']}),_0x4737fa[_0x1f7df3(0x124)]({'menuId':_0x200caf,'rolePermit':_0x386e78[_0x1f7df3(0x11a)]});if(_0x386e78[_0x1f7df3(0x105)])_0x116e21[_0x1f7df3(0x124)](menuPermitDto(_0x51d0e3[_0x1f7df3(0xff)],_0x5e5a82,_0x386e78['roles']));else _0x663d43[_0x1f7df3(0x124)](_0x1f7df3(0xfe)+_0x200caf+_0x1f7df3(0x10f)+_0x695aa6+_0x1f7df3(0x110)+_0x4db66b['id']+'.');}return{'operation':_0x695aa6,'role':_0x4db66b,'menuIds':_0x393db6,'permitList':_0x116e21,'before':_0x59d187,'after':_0x4737fa,'warnings':_0x663d43};}export const permitRoleMenusSet={'service':a44_0x787a7b(0x122),'command':a44_0x787a7b(0x12d),'description':'Grant\x20or\x20revoke\x20selected\x20runtime\x20menus\x20for\x20one\x20role','risk':a44_0x787a7b(0x125),'confirmationDescription':a44_0x787a7b(0x119),'flags':[ROLE_REF_FLAG,GRANT_FLAG,REVOKE_FLAG,MENUS_FLAG],async 'validate'(_0xae24e8){const _0x571b7f=a44_0x787a7b;assertGrantOrRevoke(_0xae24e8[_0x571b7f(0x11c)](_0x571b7f(0x113)),_0xae24e8[_0x571b7f(0x11c)]('revoke'));},async 'dryRun'(_0x15f6df){const _0x5cd8a4=a44_0x787a7b,_0xee877b=await prepare(_0x15f6df);return dryRun(_0x5cd8a4(0x10c),'/client/permit/resource/batch-save-menu')[_0x5cd8a4(0x112)]({'appCode':_0x15f6df[_0x5cd8a4(0xff)],'permitList':_0xee877b[_0x5cd8a4(0x106)]})['description'](_0x5cd8a4(0x120)+_0xee877b[_0x5cd8a4(0x100)]+_0x5cd8a4(0x11b))[_0x5cd8a4(0x10b)]();},async 'execute'(_0x62f35b){const _0x42ac53=a44_0x787a7b,_0x4ac5a3=await prepare(_0x62f35b);return _0x4ac5a3['permitList']['length']>0x0&&await saveRuntimeMenuRolePermits(_0x62f35b[_0x42ac53(0xff)],_0x4ac5a3[_0x42ac53(0x106)]),{'ok':!![],'data':runtimePermitWriteResult(_0x42ac53(0x107)+_0x4ac5a3[_0x42ac53(0x100)],{'roleId':_0x4ac5a3[_0x42ac53(0x116)]['id'],'menuIds':_0x4ac5a3[_0x42ac53(0x123)]},_0x4ac5a3[_0x42ac53(0x12e)],_0x4ac5a3[_0x42ac53(0x10e)],{'method':'POST','path':_0x42ac53(0x12a)},_0x4ac5a3[_0x42ac53(0x128)])};}};
@@ -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_0x4825ad=a45_0x48f3;(function(_0x5179b3,_0x1a98e7){const _0x4df070=a45_0x48f3,_0x37108f=_0x5179b3();while(!![]){try{const _0x330cc0=parseInt(_0x4df070(0xcf))/0x1*(-parseInt(_0x4df070(0xc8))/0x2)+-parseInt(_0x4df070(0xca))/0x3+parseInt(_0x4df070(0xc9))/0x4*(-parseInt(_0x4df070(0xd3))/0x5)+parseInt(_0x4df070(0xcc))/0x6*(-parseInt(_0x4df070(0xd9))/0x7)+-parseInt(_0x4df070(0xd7))/0x8+-parseInt(_0x4df070(0xd4))/0x9*(parseInt(_0x4df070(0xda))/0xa)+parseInt(_0x4df070(0xd1))/0xb*(parseInt(_0x4df070(0xc7))/0xc);if(_0x330cc0===_0x1a98e7)break;else _0x37108f['push'](_0x37108f['shift']());}catch(_0x38eb3c){_0x37108f['push'](_0x37108f['shift']());}}}(a45_0x4aa0,0x5cb80));import{getRuntimeRoleMenuResources}from'../../core/api-client.js';import{resolveRuntimeRoleRef}from'../../commands/role/shared.js';function a45_0x48f3(_0x26f78f,_0x2932c7){_0x26f78f=_0x26f78f-0xc7;const _0x4aa064=a45_0x4aa0();let _0x48f356=_0x4aa064[_0x26f78f];return _0x48f356;}import{ROLE_REF_FLAG}from'../../commands/permit/shared.js';function a45_0x4aa0(){const _0x4782f6=['420UUukiP','63260CCmUHY','12YhETHn','104kHKLbv','510996MmOwaB','574671izmgQw','read','25242PtbENu','roleType','appCode','13669AxOGDE','role-menus','28731241GJaTgE','runtime','15NDTypa','171PzBjoV','roleName','permit','4591592fmpyhg','role'];a45_0x4aa0=function(){return _0x4782f6;};return a45_0x4aa0();}export const permitRoleMenus={'service':a45_0x4825ad(0xd6),'command':a45_0x4825ad(0xd0),'description':'Show\x20evaluated\x20runtime\x20menu\x20access\x20for\x20one\x20role','risk':a45_0x4825ad(0xcb),'flags':[ROLE_REF_FLAG],async 'execute'(_0x1a7d7f){const _0x106223=a45_0x4825ad,_0x524511=await resolveRuntimeRoleRef(_0x1a7d7f[_0x106223(0xce)],_0x1a7d7f['str'](_0x106223(0xd8))),_0x3c2afd=await getRuntimeRoleMenuResources(_0x1a7d7f[_0x106223(0xce)],_0x524511['id']);return{'ok':!![],'data':{'scope':_0x106223(0xd2),'role':{'id':_0x524511['id'],'roleName':_0x524511[_0x106223(0xd5)],'roleType':_0x524511[_0x106223(0xcd)]},'menus':_0x3c2afd}};}};
@@ -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_0x1c4792=a46_0x4b24;(function(_0x130827,_0x1d1ab3){const _0x319886=a46_0x4b24,_0x5f904a=_0x130827();while(!![]){try{const _0x215b11=-parseInt(_0x319886(0x1c7))/0x1*(parseInt(_0x319886(0x1b9))/0x2)+parseInt(_0x319886(0x1d3))/0x3*(parseInt(_0x319886(0x1e0))/0x4)+parseInt(_0x319886(0x1e1))/0x5+-parseInt(_0x319886(0x1eb))/0x6+-parseInt(_0x319886(0x1dc))/0x7+-parseInt(_0x319886(0x1ca))/0x8+parseInt(_0x319886(0x1b7))/0x9;if(_0x215b11===_0x1d1ab3)break;else _0x5f904a['push'](_0x5f904a['shift']());}catch(_0x553363){_0x5f904a['push'](_0x5f904a['shift']());}}}(a46_0x357a,0x3bdfc));import{getLoginUserInfo,listRuntimePermitRoles,listRuntimeRoleUsers}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';export const MENU_ID_FLAG={'name':'menu-id','type':a46_0x1c4792(0x1c6),'required':!![],'description':a46_0x1c4792(0x1be)};export const ROLE_REF_FLAG={'name':a46_0x1c4792(0x1a9),'type':a46_0x1c4792(0x1bd),'required':!![],'description':a46_0x1c4792(0x1d4)};export const GRANT_FLAG={'name':a46_0x1c4792(0x1bb),'type':a46_0x1c4792(0x1c4),'description':'Grant\x20the\x20selected\x20resources\x20to\x20the\x20role'};export const REVOKE_FLAG={'name':a46_0x1c4792(0x1c9),'type':a46_0x1c4792(0x1c4),'description':a46_0x1c4792(0x1cb)};export const PAGE_SLOT_SPECS=[{'flag':'menu-roles','key':a46_0x1c4792(0x1ef),'allowSelf':![]},{'flag':a46_0x1c4792(0x1cd),'key':a46_0x1c4792(0x1ae),'allowSelf':![]},{'flag':a46_0x1c4792(0x1b3),'key':a46_0x1c4792(0x1c5),'allowSelf':![]},{'flag':a46_0x1c4792(0x1e2),'key':'dataDelete','allowSelf':![]},{'flag':a46_0x1c4792(0x1df),'key':'dataDetail','allowSelf':![]},{'flag':a46_0x1c4792(0x1ed),'key':a46_0x1c4792(0x1db),'allowSelf':![]},{'flag':a46_0x1c4792(0x1ea),'key':a46_0x1c4792(0x1d1),'allowSelf':!![]}];export const PAGE_ROLE_FLAGS=PAGE_SLOT_SPECS[a46_0x1c4792(0x1e4)](_0x25f146=>({'name':_0x25f146['flag'],'type':'string','description':'Comma-separated\x20runtime\x20role\x20IDs\x20or\x20names'}));export function splitRefs(_0x552a95,_0x577ce4){const _0x45f9fc=a46_0x1c4792,_0x50beab=[...new Set(_0x552a95[_0x45f9fc(0x1de)](',')[_0x45f9fc(0x1e4)](_0x5cef30=>_0x5cef30[_0x45f9fc(0x1c0)]())['filter'](Boolean))];if(_0x50beab[_0x45f9fc(0x1bf)]===0x0)throw CliErrors[_0x45f9fc(0x1a8)](_0x577ce4+_0x45f9fc(0x1e5));return _0x50beab;}export function assertGrantOrRevoke(_0x2d80de,_0x52ec12){const _0x26887b=a46_0x1c4792;if(_0x2d80de===_0x52ec12)throw CliErrors[_0x26887b(0x1a8)](_0x26887b(0x1da));return _0x2d80de?'grant':_0x26887b(0x1c9);}function resolvePermitRole(_0x2c3cb4,_0x48d953){const _0x5c0f0f=a46_0x1c4792,_0x483c75=_0x48d953[_0x5c0f0f(0x1c0)](),_0x3f42b4=/^-?\d+$/[_0x5c0f0f(0x1e6)](_0x483c75)?_0x2c3cb4[_0x5c0f0f(0x1b0)](_0x94b485=>_0x94b485['id']===Number(_0x483c75)):_0x2c3cb4[_0x5c0f0f(0x1b0)](_0xddd961=>_0xddd961[_0x5c0f0f(0x1ab)]===_0x483c75||_0xddd961['roleType']===_0x483c75[_0x5c0f0f(0x1c8)]());if(_0x3f42b4[_0x5c0f0f(0x1bf)]!==0x1)throw CliErrors[_0x5c0f0f(0x1a8)](_0x3f42b4[_0x5c0f0f(0x1bf)]===0x0?_0x5c0f0f(0x1d9)+_0x483c75+_0x5c0f0f(0x1bc):'Permission\x20role\x20\x22'+_0x483c75+_0x5c0f0f(0x1e7),_0x5c0f0f(0x1c1));return _0x3f42b4[0x0];}export async function resolveRuntimePermitRoles(_0x58b25d,_0xe85ee4,_0xa32979){const _0x1c0ea7=a46_0x1c4792,_0x342e54=await listRuntimePermitRoles(_0x58b25d,{'needSelf':!![],'needPublic':!![]}),_0x28d77e=[...new Map(_0xe85ee4[_0x1c0ea7(0x1e4)](_0xd68e53=>resolvePermitRole(_0x342e54,_0xd68e53))[_0x1c0ea7(0x1e4)](_0x2c7ef6=>[_0x2c7ef6['id'],_0x2c7ef6]))[_0x1c0ea7(0x1ee)]()],_0x48aa15=_0x28d77e[_0x1c0ea7(0x1b5)](_0x328727=>_0x328727[_0x1c0ea7(0x1e9)]===_0x1c0ea7(0x1d7)||_0x328727[_0x1c0ea7(0x1e9)]===_0x1c0ea7(0x1b2));if(_0x48aa15)throw CliErrors['validation'](_0x48aa15[_0x1c0ea7(0x1e9)]+_0x1c0ea7(0x1aa),_0x1c0ea7(0x1ad));if(!_0xa32979&&_0x28d77e[_0x1c0ea7(0x1d2)](_0xefc76=>_0xefc76[_0x1c0ea7(0x1e9)]===_0x1c0ea7(0x1af)))throw CliErrors[_0x1c0ea7(0x1a8)]('SELF\x20is\x20only\x20valid\x20for\x20--row-roles.');return _0x28d77e;}function a46_0x4b24(_0x414ed4,_0x8f1ea4){_0x414ed4=_0x414ed4-0x1a7;const _0x357aa8=a46_0x357a();let _0x4b24dd=_0x357aa8[_0x414ed4];return _0x4b24dd;}function a46_0x357a(){const _0x455517=['dataCreate','SELF','filter','appCode','OWNER','update-roles','permitId','find','Cannot\x20change\x20resource\x20permissions\x20for\x20','7579827nIbsbd','datasetCode','26SXVEOB','resourceCode','grant','\x22\x20was\x20not\x20found.','string','Runtime\x20menu\x20ID','length','trim','Use\x20a\x20role\x20ID\x20from\x20`lovrabet\x20role\x20list`.','resourceType','Runtime\x20resource\x20permission\x20changes\x20require\x20an\x20ADMIN\x20or\x20OWNER\x20role.','boolean','dataUpdate','number','15607oDaHBC','toUpperCase','revoke','3260848mkbZaL','Revoke\x20the\x20selected\x20resources\x20from\x20the\x20role','label','create-roles','ALL','runtime','MENU','dataPermit','some','2127Pyzzcx','Runtime\x20role\x20ID\x20or\x20exact\x20role\x20name','push','userId','ADMIN','pageId','Permission\x20role\x20\x22','Pass\x20exactly\x20one\x20of\x20--grant\x20or\x20--revoke.','dataExport','525903cpbVvX','userList','split','detail-roles','1112hCVnZm','1603180vNfkgK','delete-roles','key','map','\x20must\x20contain\x20at\x20least\x20one\x20value.','test','\x22\x20is\x20ambiguous.','Cannot\x20revoke\x20the\x20last\x20role\x20from\x20a\x20runtime\x20resource.','roleType','row-roles','2574426NlyXOT','isSafeInteger','export-roles','values','menuPermit','\x20runtime\x20role\x20','validation','role','\x20has\x20full\x20runtime\x20access\x20and\x20cannot\x20be\x20a\x20resource\x20permission\x20target.','roleName','rolePermit','Configure\x20USER,\x20CUSTOM,\x20or\x20an\x20applicable\x20special\x20role\x20instead.'];a46_0x357a=function(){return _0x455517;};return a46_0x357a();}export async function assertRuntimePermissionManager(_0x3b6b10){const _0x56cb7e=a46_0x1c4792,_0x103a6d=await getLoginUserInfo(),_0x4ec24a=_0x103a6d[_0x56cb7e(0x1d6)]??_0x103a6d['id'],_0x2c44a4=Number(_0x4ec24a);if(!Number[_0x56cb7e(0x1ec)](_0x2c44a4)||_0x2c44a4<=0x0)throw CliErrors['validation']('Cannot\x20resolve\x20the\x20current\x20AK\x20userId\x20for\x20permission\x20management.');const _0x325114=await listRuntimeRoleUsers(_0x3b6b10),_0x282310=_0x325114[_0x56cb7e(0x1d2)](_0x56a838=>(_0x56a838[_0x56cb7e(0x1e9)]===_0x56cb7e(0x1d7)||_0x56a838[_0x56cb7e(0x1e9)]===_0x56cb7e(0x1b2))&&_0x56a838[_0x56cb7e(0x1dd)][_0x56cb7e(0x1d2)](_0x5782ae=>_0x5782ae['userId']===_0x2c44a4));if(!_0x282310)throw CliErrors[_0x56cb7e(0x1a8)](_0x56cb7e(0x1c3),'Ask\x20an\x20application\x20manager\x20to\x20perform\x20this\x20operation.');}export function assertRuntimePermitRoleConfigurable(_0x3167a8){const _0x491661=a46_0x1c4792;if(_0x3167a8[_0x491661(0x1e9)]===_0x491661(0x1d7)||_0x3167a8[_0x491661(0x1e9)]===_0x491661(0x1b2))throw CliErrors[_0x491661(0x1a8)](_0x491661(0x1b6)+_0x3167a8[_0x491661(0x1e9)]+_0x491661(0x1a7)+_0x3167a8[_0x491661(0x1ab)]+'.','ADMIN\x20and\x20OWNER\x20have\x20full\x20runtime\x20access;\x20configure\x20USER\x20or\x20CUSTOM\x20instead.');}function asPermitRole(_0x5772ea){const _0x3266d8=a46_0x1c4792;return{'id':_0x5772ea['id'],'roleName':_0x5772ea[_0x3266d8(0x1ab)],'roleType':_0x5772ea[_0x3266d8(0x1e9)],'allowed':!![]};}export function applyRuntimeRolePermission(_0x35f36d,_0xadf960,_0x562ba9,_0xf54eab){const _0xa25b34=a46_0x1c4792,_0xa3a63c=!_0x35f36d||_0x35f36d[_0xa25b34(0x1bf)]===0x0,_0x2b1d2c=_0x35f36d?.[_0xa25b34(0x1d2)](_0x156626=>_0x156626[_0xa25b34(0x1e9)]===_0xa25b34(0x1ce))??![];if(_0xf54eab===_0xa25b34(0x1bb)&&(_0xa3a63c||_0x2b1d2c))return{'roles':_0x35f36d??null,'changed':![]};let _0x234604=_0xa3a63c||_0x2b1d2c?_0x562ba9[_0xa25b34(0x1b0)](_0x204a34=>_0x204a34['id']>0x0):[..._0x35f36d];const _0x6e5969=_0x234604[_0xa25b34(0x1d2)](_0x1e4f2f=>_0x1e4f2f['id']===_0xadf960['id']);if(_0xf54eab===_0xa25b34(0x1bb)){if(_0x6e5969)return{'roles':_0x234604,'changed':![]};return _0x234604[_0xa25b34(0x1d5)](asPermitRole(_0xadf960)),{'roles':_0x234604,'changed':!![]};}if(!_0x6e5969)return{'roles':_0x234604,'changed':_0xa3a63c||_0x2b1d2c};_0x234604=_0x234604['filter'](_0x502d91=>_0x502d91['id']!==_0xadf960['id']);if(_0x234604[_0xa25b34(0x1bf)]===0x0)throw CliErrors[_0xa25b34(0x1a8)](_0xa25b34(0x1e8),'The\x20current\x20service\x20contract\x20does\x20not\x20persist\x20an\x20empty\x20rolePermit;\x20grant\x20another\x20role\x20first.');return{'roles':_0x234604,'changed':!![]};}export function projectRuntimePagePermit(_0x54d73a){const _0x4e83ce=a46_0x1c4792,_0x3c5961={'menuId':_0x54d73a['menuId'],'pageId':_0x54d73a[_0x4e83ce(0x1d8)],'appCode':_0x54d73a[_0x4e83ce(0x1b1)],'datasetCode':_0x54d73a[_0x4e83ce(0x1b8)]};for(const _0x306afe of PAGE_SLOT_SPECS){const _0x386add=_0x54d73a[_0x306afe[_0x4e83ce(0x1e3)]];_0x386add&&(_0x3c5961[_0x306afe[_0x4e83ce(0x1e3)]]={'resourceCode':_0x386add[_0x4e83ce(0x1ba)],'resourceType':_0x386add[_0x4e83ce(0x1c2)],'roles':(_0x386add[_0x4e83ce(0x1ac)]??[])[_0x4e83ce(0x1e4)](_0x23f46f=>({'id':_0x23f46f['id'],'roleName':_0x23f46f[_0x4e83ce(0x1ab)],'roleType':_0x23f46f[_0x4e83ce(0x1e9)]}))});}return _0x3c5961;}export function flattenRuntimeMenuRolePermits(_0xdb8e75){const _0x11dacb=[],_0x86d118=_0x2670a4=>{const _0x2ad565=a46_0x4b24;_0x11dacb[_0x2ad565(0x1d5)](_0x2670a4);for(const _0x2d486c of _0x2670a4['children']??[])_0x86d118(_0x2d486c);};for(const _0x26ad97 of _0xdb8e75)_0x86d118(_0x26ad97);return _0x11dacb;}export function runtimePermitWriteResult(_0xe73ae1,_0x112090,_0x52d7ee,_0x3bd327,_0x49065a,_0x3866b3=[]){const _0x4c9446=a46_0x1c4792;return{'operation':_0xe73ae1,'scope':_0x4c9446(0x1cf),'selector':_0x112090,'before':_0x52d7ee,'after':_0x3bd327,'dryRun':![],'backend':_0x49065a,'warnings':_0x3866b3};}export function menuPermitDto(_0x399505,_0x3aede5,_0x26479a){const _0x1934b6=a46_0x1c4792;return{..._0x3aede5[_0x1934b6(0x1b4)]!=null?{'id':_0x3aede5[_0x1934b6(0x1b4)]}:{},'appCode':_0x399505,'menuId':_0x3aede5['id'],'pageId':_0x3aede5['pageId']??null,'resourceCode':String(_0x3aede5['id']),'resourceType':_0x1934b6(0x1d0),'resourceName':_0x3aede5[_0x1934b6(0x1cc)],'rolePermit':_0x26479a};}
@@ -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_0x93bb30=a47_0x4d08;function a47_0x3085(){const _0x3e7bf2=['Path\x20to\x20a\x20local\x20UTF-8\x20JavaScript\x20or\x20TypeScript\x20file','createUserId','321155KLtLyX','--params\x20must\x20be\x20a\x20JSON\x20object.','string','JSON\x20object\x20passed\x20to\x20the\x20Personal\x20Backend\x20Function\x20execution','Update\x20a\x20Personal\x20Backend\x20Function\x20by\x20ID','description','gmtModified','/client/runtime-bff/personal/','File\x20is\x20not\x20a\x20regular\x20file:\x20','params','appCode','Personal\x20Backend\x20Function\x20description','Create\x20a\x20Personal\x20Backend\x20Function\x20from\x20a\x20local\x20script\x20file','8rIMfvQ','write','Updated\x20Personal\x20Backend\x20Function\x20','detail','utf8','gmtCreate','functionName','File\x20path\x20is\x20required.','540552TYNWwU','Show\x20one\x20Personal\x20Backend\x20Function\x20by\x20id','--name\x20must\x20be\x20a\x20valid\x20JavaScript\x20identifier,\x20for\x20example\x20loadOrders.','scriptContent','version','str','Personal\x20Backend\x20Function\x20script\x20ID','Created\x20Personal\x20Backend\x20Function\x20','Updates\x20the\x20Personal\x20Backend\x20Function\x20script\x20or\x20metadata.\x20Later\x20calls\x20use\x20the\x20new\x20version.','205569GTVYMZ','694230EkkDTC','updateTime','num','Personal\x20Backend\x20Function\x20name,\x20for\x20example\x20loadOrders','validation','flag','POST','7EUGdiC','personal-bff','509514NHHksq','file','body','createTime','name','Optional\x20source\x20RuntimeAgent\x20session\x20id','List\x20current\x20user\x27s\x20Personal\x20Backend\x20Function\x20scripts\x20for\x20the\x20current\x20app','isArray','update','sourceSessionId','3ztkvrw','exec','map','personal-bff\x20update\x20requires\x20at\x20least\x20one\x20of\x20--name,\x20--description,\x20--file,\x20or\x20--source-session-id.','source-session-id','keys','341372FCRQme','Preview:\x20create\x20Personal\x20Backend\x20Function\x20','3405610dIrYMk','build','Runs\x20the\x20Personal\x20Backend\x20Function\x20script.\x20The\x20script\x20may\x20read\x20or\x20change\x20business\x20data,\x20or\x20call\x20external\x20services.','trim','test','length','/client/runtime-bff/personal/create','/update','scriptType'];a47_0x3085=function(){return _0x3e7bf2;};return a47_0x3085();}(function(_0x3ee12f,_0x111914){const _0x3e3ed0=a47_0x4d08,_0x3eb765=_0x3ee12f();while(!![]){try{const _0x466b63=parseInt(_0x3e3ed0(0xeb))/0x1+parseInt(_0x3e3ed0(0x117))/0x2*(parseInt(_0x3e3ed0(0x12a))/0x3)+parseInt(_0x3e3ed0(0x105))/0x4*(-parseInt(_0x3e3ed0(0xf8))/0x5)+-parseInt(_0x3e3ed0(0x120))/0x6*(-parseInt(_0x3e3ed0(0x11e))/0x7)+parseInt(_0x3e3ed0(0x10d))/0x8+-parseInt(_0x3e3ed0(0x116))/0x9+-parseInt(_0x3e3ed0(0xed))/0xa;if(_0x466b63===_0x111914)break;else _0x3eb765['push'](_0x3eb765['shift']());}catch(_0x53743e){_0x3eb765['push'](_0x3eb765['shift']());}}}(a47_0x3085,0x553b7));import{existsSync,readFileSync,statSync}from'node:fs';import{createPersonalBff,executePersonalBff,getPersonalBff,listPersonalBffs,updatePersonalBff}from'../../core/api-client.js';import{ID_FLAG,PARAMS_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';import{parseJsonParams}from'../../utils/params.js';const FUNCTION_NAME_PATTERN=/^[a-zA-Z_$][a-zA-Z0-9_$]*$/,FILE_FLAG={'name':a47_0x93bb30(0x121),'type':a47_0x93bb30(0xfa),'description':a47_0x93bb30(0xf6)},FUNCTION_NAME_FLAG={'name':a47_0x93bb30(0x124),'type':a47_0x93bb30(0xfa),'required':!![],'description':a47_0x93bb30(0x11a)},DESCRIPTION_FLAG={'name':a47_0x93bb30(0xfd),'type':a47_0x93bb30(0xfa),'description':a47_0x93bb30(0x103)},SOURCE_SESSION_FLAG={'name':a47_0x93bb30(0xe9),'type':a47_0x93bb30(0xfa),'description':a47_0x93bb30(0x125)};function normalizeFunctionName(_0x4ecf0a){const _0x3b0ecb=a47_0x93bb30,_0x232867=String(_0x4ecf0a||'')[_0x3b0ecb(0xf0)]();if(!_0x232867||!FUNCTION_NAME_PATTERN[_0x3b0ecb(0xf1)](_0x232867))throw CliErrors[_0x3b0ecb(0x11b)](_0x3b0ecb(0x10f));return _0x232867;}function readScriptFile(_0x367c0e){const _0x22a3ee=a47_0x93bb30;if(!_0x367c0e)throw CliErrors[_0x22a3ee(0x11b)](_0x22a3ee(0x10c));if(!existsSync(_0x367c0e))throw CliErrors[_0x22a3ee(0x11b)]('File\x20not\x20found:\x20'+_0x367c0e);if(!statSync(_0x367c0e)['isFile']())throw CliErrors[_0x22a3ee(0x11b)](_0x22a3ee(0x100)+_0x367c0e);const _0x41e475=readFileSync(_0x367c0e,_0x22a3ee(0x109));if(!_0x41e475[_0x22a3ee(0xf0)]())throw CliErrors[_0x22a3ee(0x11b)]('Personal\x20Backend\x20Function\x20script\x20file\x20is\x20blank.');return _0x41e475;}function optionalTrimmed(_0x3f434b){const _0xf8cdd4=a47_0x93bb30,_0x30e43b=String(_0x3f434b||'')[_0xf8cdd4(0xf0)]();return _0x30e43b||undefined;}function summarizeBff(_0x440d4a){const _0x429db9=a47_0x93bb30;return{'id':_0x440d4a['id'],'appCode':_0x440d4a['appCode'],'functionName':_0x440d4a['functionName'],'description':_0x440d4a[_0x429db9(0xfd)],'scriptType':_0x440d4a[_0x429db9(0xf5)],'version':_0x440d4a[_0x429db9(0x111)],'gmtModified':_0x440d4a[_0x429db9(0xfe)],'updateTime':_0x440d4a[_0x429db9(0x118)]};}function detailBff(_0x41f717){const _0x25d73e=a47_0x93bb30;return{'id':_0x41f717['id'],'appCode':_0x41f717['appCode'],'functionName':_0x41f717[_0x25d73e(0x10b)],'description':_0x41f717['description'],'scriptType':_0x41f717[_0x25d73e(0xf5)],'scriptContent':_0x41f717[_0x25d73e(0x110)]??'','config':_0x41f717['config'],'version':_0x41f717['version'],'createUserId':_0x41f717[_0x25d73e(0xf7)],'gmtCreate':_0x41f717[_0x25d73e(0x10a)],'gmtModified':_0x41f717[_0x25d73e(0xfe)],'createTime':_0x41f717[_0x25d73e(0x123)],'updateTime':_0x41f717[_0x25d73e(0x118)]};}function buildCreateInput(_0xe4dc20){const _0x39ec4a=a47_0x93bb30;return{'functionName':normalizeFunctionName(_0xe4dc20[_0x39ec4a(0x112)](_0x39ec4a(0x124))),...optionalTrimmed(_0xe4dc20['str'](_0x39ec4a(0xfd)))?{'description':optionalTrimmed(_0xe4dc20[_0x39ec4a(0x112)](_0x39ec4a(0xfd)))}:{},'scriptContent':readScriptFile(_0xe4dc20[_0x39ec4a(0x112)]('file')),...optionalTrimmed(_0xe4dc20[_0x39ec4a(0x112)]('source-session-id'))?{'sourceSessionId':optionalTrimmed(_0xe4dc20[_0x39ec4a(0x112)](_0x39ec4a(0xe9)))}:{}};}function a47_0x4d08(_0x5dab66,_0x5ddd23){_0x5dab66=_0x5dab66-0xe8;const _0x3085d7=a47_0x3085();let _0x4d084a=_0x3085d7[_0x5dab66];return _0x4d084a;}function buildUpdateInput(_0x3e1a88){const _0x30d490=a47_0x93bb30,_0xadf84e={};optionalTrimmed(_0x3e1a88[_0x30d490(0x112)]('name'))&&(_0xadf84e[_0x30d490(0x10b)]=normalizeFunctionName(_0x3e1a88[_0x30d490(0x112)](_0x30d490(0x124))));_0x3e1a88[_0x30d490(0x11c)]('description')!==undefined&&(_0xadf84e['description']=_0x3e1a88[_0x30d490(0x112)](_0x30d490(0xfd)));optionalTrimmed(_0x3e1a88[_0x30d490(0x112)](_0x30d490(0x121)))&&(_0xadf84e[_0x30d490(0x110)]=readScriptFile(_0x3e1a88[_0x30d490(0x112)]('file')));_0x3e1a88[_0x30d490(0x11c)](_0x30d490(0xe9))!==undefined&&(_0xadf84e[_0x30d490(0x129)]=_0x3e1a88['str'](_0x30d490(0xe9)));if(Object[_0x30d490(0xea)](_0xadf84e)['length']===0x0)throw CliErrors[_0x30d490(0x11b)](_0x30d490(0xe8));return _0xadf84e;}function parseExecParams(_0x3fcb91){const _0x28d209=a47_0x93bb30,_0x1ad160=parseJsonParams(_0x3fcb91)??{};if(Array[_0x28d209(0x127)](_0x1ad160))throw CliErrors['validation'](_0x28d209(0xf9));return _0x1ad160;}const personalBffList={'service':a47_0x93bb30(0x11f),'command':'list','description':a47_0x93bb30(0x126),'risk':'read','flags':[VERBOSE_FLAG],async 'execute'(_0x2c72c1){const _0x55bc4b=a47_0x93bb30,_0x1e8fdb=await listPersonalBffs(_0x2c72c1[_0x55bc4b(0x102)]);return{'ok':!![],'data':{'total':_0x1e8fdb[_0x55bc4b(0xf2)],'items':_0x2c72c1['bool']('verbose')?_0x1e8fdb:_0x1e8fdb[_0x55bc4b(0x12c)](summarizeBff)}};}},personalBffDetail={'service':a47_0x93bb30(0x11f),'command':a47_0x93bb30(0x108),'description':a47_0x93bb30(0x10e),'risk':'read','flags':[{...ID_FLAG,'description':a47_0x93bb30(0x113)}],async 'execute'(_0x13a6ad){const _0x1aaf1b=await getPersonalBff(_0x13a6ad['num']('id'),_0x13a6ad['appCode']);return{'ok':!![],'data':detailBff(_0x1aaf1b)};}},personalBffCreate={'service':a47_0x93bb30(0x11f),'command':'create','description':a47_0x93bb30(0x104),'risk':'write','confirmationDescription':'Saves\x20the\x20local\x20script\x20as\x20a\x20Personal\x20Backend\x20Function.\x20The\x20script\x20can\x20then\x20be\x20called\x20in\x20the\x20current\x20app.','flags':[FUNCTION_NAME_FLAG,{...FILE_FLAG,'required':!![]},DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x510b2c){const _0x156182=a47_0x93bb30,_0x13e88e=buildCreateInput(_0x510b2c),_0x4ef0db=await createPersonalBff(_0x510b2c['appCode'],_0x13e88e);return{'ok':!![],'data':detailBff(_0x4ef0db),'message':_0x156182(0x114)+_0x4ef0db['id']+(_0x4ef0db[_0x156182(0x10b)]?'\x20('+_0x4ef0db[_0x156182(0x10b)]+')':'')};},async 'dryRun'(_0x391905){const _0x4adc64=a47_0x93bb30,_0x2d9dca=buildCreateInput(_0x391905);return dryRun(_0x4adc64(0x11d),_0x4adc64(0xf3))[_0x4adc64(0x122)]({'appCode':_0x391905[_0x4adc64(0x102)],..._0x2d9dca})['description'](_0x4adc64(0xec)+_0x2d9dca[_0x4adc64(0x10b)])[_0x4adc64(0xee)]();}},personalBffUpdate={'service':a47_0x93bb30(0x11f),'command':a47_0x93bb30(0x128),'description':a47_0x93bb30(0xfc),'risk':a47_0x93bb30(0x106),'confirmationDescription':a47_0x93bb30(0x115),'flags':[{...ID_FLAG,'description':'Personal\x20Backend\x20Function\x20script\x20ID'},{...FUNCTION_NAME_FLAG,'required':![]},FILE_FLAG,DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x27af28){const _0x92b761=a47_0x93bb30,_0x2db256=_0x27af28[_0x92b761(0x119)]('id'),_0x9e8c45=buildUpdateInput(_0x27af28),_0x16a033=await updatePersonalBff(_0x2db256,_0x27af28[_0x92b761(0x102)],_0x9e8c45);return{'ok':!![],'data':detailBff(_0x16a033),'message':_0x92b761(0x107)+_0x16a033['id']+(_0x16a033[_0x92b761(0x10b)]?'\x20('+_0x16a033['functionName']+')':'')};},async 'dryRun'(_0x47ddc0){const _0x46083f=a47_0x93bb30,_0x3c43a8=_0x47ddc0[_0x46083f(0x119)]('id'),_0x1228e0=buildUpdateInput(_0x47ddc0);return dryRun('POST',_0x46083f(0xff)+_0x3c43a8+_0x46083f(0xf4))[_0x46083f(0x122)]({'appCode':_0x47ddc0['appCode'],..._0x1228e0})['description']('Preview:\x20update\x20Personal\x20Backend\x20Function\x20'+_0x3c43a8)['build']();}},personalBffExec={'service':a47_0x93bb30(0x11f),'command':a47_0x93bb30(0x12b),'description':'Execute\x20a\x20Personal\x20Backend\x20Function\x20by\x20ID,\x20optionally\x20with\x20JSON\x20params','risk':a47_0x93bb30(0x106),'confirmationDescription':a47_0x93bb30(0xef),'flags':[{...ID_FLAG,'description':a47_0x93bb30(0x113)},{...PARAMS_FLAG,'description':a47_0x93bb30(0xfb)}],async 'validate'(_0x1a8c4c){const _0x317d58=a47_0x93bb30;parseExecParams(_0x1a8c4c[_0x317d58(0x112)](_0x317d58(0x101)));},async 'execute'(_0x262f1e){const _0x2aa5a5=a47_0x93bb30,_0x295a6a=_0x262f1e[_0x2aa5a5(0x119)]('id'),_0x5a1940=parseExecParams(_0x262f1e[_0x2aa5a5(0x112)](_0x2aa5a5(0x101))),_0x502136=await executePersonalBff(_0x295a6a,_0x262f1e['appCode'],_0x5a1940);return{'ok':!![],'data':{'result':_0x502136},'message':'Executed\x20Personal\x20Backend\x20Function\x20'+_0x295a6a};}};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_0x39be3b=a48_0xf044;(function(_0x5137d5,_0x4fc44c){const _0xa952f4=a48_0xf044,_0x35ad92=_0x5137d5();while(!![]){try{const _0x1f0aa6=parseInt(_0xa952f4(0xd8))/0x1+parseInt(_0xa952f4(0xdc))/0x2*(-parseInt(_0xa952f4(0xd0))/0x3)+parseInt(_0xa952f4(0xdd))/0x4+-parseInt(_0xa952f4(0xb8))/0x5*(parseInt(_0xa952f4(0xea))/0x6)+parseInt(_0xa952f4(0xd5))/0x7+-parseInt(_0xa952f4(0xe3))/0x8*(parseInt(_0xa952f4(0xd7))/0x9)+parseInt(_0xa952f4(0xe1))/0xa;if(_0x1f0aa6===_0x4fc44c)break;else _0x35ad92['push'](_0x35ad92['shift']());}catch(_0x1e3734){_0x35ad92['push'](_0x35ad92['shift']());}}}(a48_0x3bd6,0x2c3c0));import{authDefinitions}from'../commands/auth/index.js';import{logsDefinitions}from'../commands/logs/index.js';function a48_0xf044(_0x33b228,_0x25e0b6){_0x33b228=_0x33b228-0xb5;const _0x3bd6b2=a48_0x3bd6();let _0xf044bd=_0x3bd6b2[_0x33b228];return _0xf044bd;}import{skillDefinitions}from'../commands/skill/index.js';import{cliSkillDefinitions}from'../commands/cli-skill/index.js';import{serviceDefinitions}from'../commands/service/index.js';function a48_0x3bd6(){const _0x75f666=['48474bygPcO','init','map','Use\x20`lovrabet\x20logs\x20show`\x20to\x20view\x20command\x20history.','6zYRUdx','1339856qrBZJU','Workspace','Knowledge\x20Base','auth','4027200SObuNg','values','940696Ervrnw','`lovrabet\x20app\x20init`\x20has\x20been\x20removed.','OCR','auth\x20init','app\x20init','Self\x20Update','App\x20Management','12AYAfpx','app\x20use','\x20\x20[write]','read','Agent\x20Schedules','command','description','SQL\x20Queries','service','719410WLeBcv','Personal\x20Backend\x20Function','defaultCommand','set','use','write','login','has','Logs','Schema','Service\x20Tree','Runtime\x20Permissions','list','get','clear','`lovrabet\x20logs\x20clear`\x20has\x20been\x20removed.','logs','push','install','app','Notification\x20Configs','Use\x20`lovrabet\x20config\x20init`\x20for\x20node\x20configuration,\x20then\x20`lovrabet\x20auth\x20login`\x20for\x20AccessKey\x20authentication.','Datasets','logs\x20clear','213117LcWdkV','from','show','config-list','risk','1740676mtKlZw','run','27eYjDBo'];a48_0x3bd6=function(){return _0x75f666;};return a48_0x3bd6();}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(_0x1eb8c7){const _0x3c592d=a48_0xf044;for(const _0x489d48 of _0x1eb8c7){definitions[_0x3c592d(0xbb)](_0x489d48[_0x3c592d(0xb7)]+':'+_0x489d48[_0x3c592d(0xef)],_0x489d48);let _0x49905c=serviceGroups['get'](_0x489d48[_0x3c592d(0xb7)]);!_0x49905c&&(_0x49905c=[],serviceGroups[_0x3c592d(0xbb)](_0x489d48['service'],_0x49905c)),_0x49905c[_0x3c592d(0xc9)](_0x489d48);}}function registerService(_0x2004dc,_0x562918,_0x4456e5){const _0x36fd10=a48_0xf044;registerDefinitions(_0x562918);const _0x33aca0=_0x3522bc=>_0x3522bc===_0x36fd10(0xed)?'':_0x3522bc===_0x36fd10(0xbd)?_0x36fd10(0xec):'\x20\x20[high-risk-write]',_0x56c27f={'service':_0x562918[0x0][_0x36fd10(0xb7)],'label':_0x2004dc,'commands':_0x562918[_0x36fd10(0xda)](_0x5b640b=>({'command':_0x5b640b[_0x36fd10(0xef)],'description':_0x5b640b[_0x36fd10(0xb5)],'tag':_0x33aca0(_0x5b640b[_0x36fd10(0xd4)])})),'defaultCommand':_0x4456e5?.[_0x36fd10(0xba)]??(_0x4456e5?.['isSingleCommand']?_0x562918[0x0][_0x36fd10(0xef)]:undefined),'isSingleCommand':_0x4456e5?.['isSingleCommand']};serviceRegistry[_0x36fd10(0xc9)](_0x56c27f),serviceByName[_0x36fd10(0xbb)](_0x56c27f[_0x36fd10(0xb7)],_0x56c27f);}registerService('Authentication',authDefinitions,{'defaultCommand':a48_0x39be3b(0xbe)}),registerService('User\x20Accounts',userAccountDefinitions),registerService(a48_0x39be3b(0xe9),appDefinitions,{'defaultCommand':a48_0x39be3b(0xc4)}),registerService(a48_0x39be3b(0xde),workspaceDefinitions),registerService('Runtime\x20App\x20Config',appConfigDefinitions),registerService('Configuration',configDefinitions,{'defaultCommand':'list'}),registerService('Runtime\x20Roles',roleDefinitions,{'defaultCommand':a48_0x39be3b(0xc4)}),registerService(a48_0x39be3b(0xc3),permitDefinitions),registerService('API\x20Documentation',apiDocDefinitions),registerService(a48_0x39be3b(0xce),datasetDefinitions),registerService('Instant\x20API',dataDefinitions),registerService(a48_0x39be3b(0xb6),sqlDefinitions),registerService('Backend\x20Function\x20Scripts',bffDefinitions),registerService(a48_0x39be3b(0xb9),personalBffDefinitions),registerService('Artifacts',artifactDefinitions),registerService('File',fileDefinitions),registerService(a48_0x39be3b(0xe5),ocrDefinitions),registerService(a48_0x39be3b(0xdf),kbDefinitions),registerService(a48_0x39be3b(0xcc),notificationDefinitions,{'defaultCommand':a48_0x39be3b(0xd3)}),registerService(a48_0x39be3b(0xee),scheduleDefinitions,{'defaultCommand':a48_0x39be3b(0xc4)}),registerService(a48_0x39be3b(0xc2),serviceDefinitions,{'defaultCommand':a48_0x39be3b(0xc4)}),registerService('Skills',skillDefinitions,{'defaultCommand':a48_0x39be3b(0xca)}),registerService('CLI\x20Built-in\x20Skill',cliSkillDefinitions,{'defaultCommand':a48_0x39be3b(0xca)}),registerService(a48_0x39be3b(0xe8),[updateDefinition],{'defaultCommand':a48_0x39be3b(0xd6),'isSingleCommand':!![]}),registerService('Diagnostics',[doctorDefinition],{'isSingleCommand':!![]}),registerService(a48_0x39be3b(0xc1),[schemaDefinition],{'isSingleCommand':!![]}),registerService(a48_0x39be3b(0xc0),logsDefinitions,{'defaultCommand':a48_0x39be3b(0xd2)});export function findDefinition(_0x59da65,_0x1b7bd6){const _0x25c0ae=a48_0x39be3b;return definitions[_0x25c0ae(0xc5)](_0x59da65+':'+_0x1b7bd6);}export function resolveRemovedCommand(_0x1f2b7a,_0x362aab){const _0x5999b2=a48_0x39be3b;if(_0x1f2b7a===_0x5999b2(0xe0)&&_0x362aab===_0x5999b2(0xd9))return{'command':_0x5999b2(0xe6),'message':'`lovrabet\x20auth\x20init`\x20has\x20been\x20removed.','hint':_0x5999b2(0xcd)};if(_0x1f2b7a===_0x5999b2(0xcb)&&_0x362aab==='init')return{'command':_0x5999b2(0xe7),'message':_0x5999b2(0xe4),'hint':'Use\x20`lovrabet\x20workspace\x20init\x20--appcode\x20<code>`\x20instead.'};if(_0x1f2b7a===_0x5999b2(0xcb)&&_0x362aab===_0x5999b2(0xbc))return{'command':_0x5999b2(0xeb),'message':'`lovrabet\x20app\x20use`\x20has\x20been\x20removed.','hint':'Use\x20`lovrabet\x20workspace\x20use\x20--app\x20<name>`\x20instead.'};if(_0x1f2b7a===_0x5999b2(0xc8)&&_0x362aab===_0x5999b2(0xc6))return{'command':_0x5999b2(0xcf),'message':_0x5999b2(0xc7),'hint':_0x5999b2(0xdb)};return undefined;}export function isKnownService(_0x59dde6){const _0x483d2f=a48_0x39be3b;return serviceByName[_0x483d2f(0xbf)](_0x59dde6);}export function getServiceEntry(_0x5628c7){const _0x367e59=a48_0x39be3b;return serviceByName[_0x367e59(0xc5)](_0x5628c7);}export function getAllDefinitions(){const _0x53e12a=a48_0x39be3b;return Array[_0x53e12a(0xd1)](definitions[_0x53e12a(0xe2)]());}
@@ -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_0x15bd3c=a49_0x1c34;(function(_0x31a6bf,_0x3a874b){const _0x556393=a49_0x1c34,_0x34e641=_0x31a6bf();while(!![]){try{const _0x33517e=-parseInt(_0x556393(0xc4))/0x1*(-parseInt(_0x556393(0xb8))/0x2)+-parseInt(_0x556393(0xbf))/0x3*(-parseInt(_0x556393(0xb2))/0x4)+parseInt(_0x556393(0xb3))/0x5*(-parseInt(_0x556393(0xc2))/0x6)+parseInt(_0x556393(0xc5))/0x7+parseInt(_0x556393(0xad))/0x8+-parseInt(_0x556393(0xb1))/0x9+parseInt(_0x556393(0xb9))/0xa;if(_0x33517e===_0x3a874b)break;else _0x34e641['push'](_0x34e641['shift']());}catch(_0x2582ba){_0x34e641['push'](_0x34e641['shift']());}}}(a49_0x3cdd,0xe87fe));function a49_0x3cdd(){const _0x5e1730=['121724ZfxkOW','7709300EAFEuO','Role\x20name','CUSTOM','body','Preview:\x20create\x20a\x20runtime\x20CUSTOM\x20role','role','1905OITyjJ','--name\x20must\x20not\x20be\x20blank.','create','331806xbNHKb','POST','4NSCplp','699034yvRtLl','high-risk-write','validation','string','appCode','name','Creates\x20a\x20custom\x20role\x20in\x20the\x20current\x20runtime\x20app.\x20After\x20creation\x20it\x20can\x20be\x20used\x20for\x20member\x20and\x20resource\x20permissions.','4337856yfzckO','/client/permit/role/create','build','trim','7365249jhLSGb','5248ZBgtow','65mfGGXF','description','str','Create\x20a\x20runtime\x20CUSTOM\x20role','remark'];a49_0x3cdd=function(){return _0x5e1730;};return a49_0x3cdd();}import{createRuntimeAppRole}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';import{projectRuntimeRole,readOptionalRuntimeRoleCode,ROLE_CODE_FLAG,runtimeRoleWriteResult}from'../../commands/role/shared.js';function input(_0x5edae4){const _0x648680=a49_0x1c34,_0x1c97ed=_0x5edae4[_0x648680(0xb5)](_0x648680(0xab))[_0x648680(0xb0)]();if(!_0x1c97ed)throw CliErrors[_0x648680(0xa8)](_0x648680(0xc0));const _0x54ebb1=_0x5edae4[_0x648680(0xb5)](_0x648680(0xb7))[_0x648680(0xb0)](),_0x2631f3=readOptionalRuntimeRoleCode(_0x5edae4);return{'appCode':_0x5edae4[_0x648680(0xaa)],'roleName':_0x1c97ed,..._0x2631f3?{'roleCode':_0x2631f3}:{},..._0x54ebb1?{'remark':_0x54ebb1}:{}};}function a49_0x1c34(_0x40390d,_0x385bb6){_0x40390d=_0x40390d-0xa8;const _0x3cdd24=a49_0x3cdd();let _0x1c3419=_0x3cdd24[_0x40390d];return _0x1c3419;}export const roleCreate={'service':a49_0x15bd3c(0xbe),'command':a49_0x15bd3c(0xc1),'description':a49_0x15bd3c(0xb6),'risk':a49_0x15bd3c(0xc6),'confirmationDescription':a49_0x15bd3c(0xac),'flags':[{'name':a49_0x15bd3c(0xab),'type':a49_0x15bd3c(0xa9),'required':!![],'description':a49_0x15bd3c(0xba)},ROLE_CODE_FLAG,{'name':a49_0x15bd3c(0xb7),'type':'string','description':'Optional\x20role\x20remark'}],async 'validate'(_0x1337ae){input(_0x1337ae);},async 'dryRun'(_0x5c05a7){const _0x3f6fc5=a49_0x15bd3c;return dryRun(_0x3f6fc5(0xc3),_0x3f6fc5(0xae))[_0x3f6fc5(0xbc)]({'roleType':_0x3f6fc5(0xbb),...input(_0x5c05a7)})[_0x3f6fc5(0xb4)](_0x3f6fc5(0xbd))[_0x3f6fc5(0xaf)]();},async 'execute'(_0x2be5fe){const _0x170356=a49_0x15bd3c,_0x4ae4d3=await createRuntimeAppRole(input(_0x2be5fe));return{'ok':!![],'data':runtimeRoleWriteResult(_0x170356(0xc1),{'roleId':_0x4ae4d3['id']},null,projectRuntimeRole(_0x4ae4d3),{'method':'POST','path':'/client/permit/role/create'})};}};
@@ -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
+ function a50_0x5cda(){const _0x37ba14=['/client/permit/role/delete','16YRXDXX','POST','high-risk-write','10xSeOkN','12JKSOmE','13cCAqSK','954821UqTdVX','build','body','delete','2866017zSLMMi','9166707EYEXbf','9027vinLun','description','3468GkiNef','16664568UBCPNo','1186218IWhifB','Deletes\x20the\x20custom\x20role\x20in\x20the\x20current\x20runtime\x20app.\x20Membership\x20and\x20permission\x20config\x20for\x20that\x20role\x20may\x20become\x20invalid.','Preview:\x20delete\x20a\x20runtime\x20CUSTOM\x20role','2615rZxAkg','appCode','8xynfRh'];a50_0x5cda=function(){return _0x37ba14;};return a50_0x5cda();}const a50_0x42df29=a50_0x4cf5;(function(_0x59a5d6,_0x10a116){const _0x496462=a50_0x4cf5,_0x5a51e8=_0x59a5d6();while(!![]){try{const _0x46a8a5=-parseInt(_0x496462(0xfd))/0x1*(parseInt(_0x496462(0xf5))/0x2)+parseInt(_0x496462(0x101))/0x3*(-parseInt(_0x496462(0xef))/0x4)+-parseInt(_0x496462(0xed))/0x5*(parseInt(_0x496462(0xff))/0x6)+parseInt(_0x496462(0xf7))/0x7*(-parseInt(_0x496462(0xf1))/0x8)+parseInt(_0x496462(0xfc))/0x9*(parseInt(_0x496462(0xf4))/0xa)+-parseInt(_0x496462(0xfb))/0xb+parseInt(_0x496462(0x100))/0xc*(parseInt(_0x496462(0xf6))/0xd);if(_0x46a8a5===_0x10a116)break;else _0x5a51e8['push'](_0x5a51e8['shift']());}catch(_0x3cbe77){_0x5a51e8['push'](_0x5a51e8['shift']());}}}(a50_0x5cda,0xb1658));import{deleteRuntimeAppRole}from'../../core/api-client.js';import{dryRun}from'../../framework/dryrun.js';import{assertCustomRuntimeRole,getRuntimeRoleById,projectRuntimeRole,ROLE_ID_FLAG,runtimeRoleWriteResult}from'../../commands/role/shared.js';async function prepare(_0x4fbe35){const _0x2cb772=a50_0x4cf5,_0xcbc37a=await getRuntimeRoleById(_0x4fbe35[_0x2cb772(0xee)],_0x4fbe35['num']('id'));return assertCustomRuntimeRole(_0xcbc37a,_0x2cb772(0xfa)),_0xcbc37a;}function a50_0x4cf5(_0xa6b502,_0x130ea5){_0xa6b502=_0xa6b502-0xec;const _0x5cda99=a50_0x5cda();let _0x4cf5e1=_0x5cda99[_0xa6b502];return _0x4cf5e1;}export const roleDelete={'service':'role','command':a50_0x42df29(0xfa),'description':'Delete\x20a\x20runtime\x20CUSTOM\x20role','risk':a50_0x42df29(0xf3),'confirmationDescription':a50_0x42df29(0x102),'flags':[ROLE_ID_FLAG],async 'dryRun'(_0x500ffd){const _0x404a17=a50_0x42df29,_0x4da7c9=await prepare(_0x500ffd);return dryRun(_0x404a17(0xf2),'/client/permit/role/delete')[_0x404a17(0xf9)]({'id':_0x4da7c9['id']})[_0x404a17(0xfe)](_0x404a17(0xec))[_0x404a17(0xf8)]();},async 'execute'(_0x41eef5){const _0x12b768=a50_0x42df29,_0x22635f=await prepare(_0x41eef5);return await deleteRuntimeAppRole(_0x22635f['id']),{'ok':!![],'data':runtimeRoleWriteResult('delete',{'roleId':_0x22635f['id']},projectRuntimeRole(_0x22635f),null,{'method':_0x12b768(0xf2),'path':_0x12b768(0xf0)})};}};
@@ -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
+ const a51_0x31555f=a51_0x558a;function a51_0x2bcf(){const _0x458fac=['role','11432sUjAnT','653802XAuExI','24qjxyPX','1430622fmRDlF','261FoZYVN','6899242SRlJiU','read','num','14320080wkbBPi','5832880aQxSHE','1vPZbBn','detail','47072qugUxx','appCode','runtime'];a51_0x2bcf=function(){return _0x458fac;};return a51_0x2bcf();}(function(_0x253f07,_0xa6fe59){const _0x4eadf1=a51_0x558a,_0x1f745e=_0x253f07();while(!![]){try{const _0x426805=parseInt(_0x4eadf1(0x124))/0x1*(-parseInt(_0x4eadf1(0x126))/0x2)+parseInt(_0x4eadf1(0x11e))/0x3*(-parseInt(_0x4eadf1(0x11a))/0x4)+-parseInt(_0x4eadf1(0x123))/0x5+parseInt(_0x4eadf1(0x11b))/0x6+parseInt(_0x4eadf1(0x11f))/0x7+parseInt(_0x4eadf1(0x11c))/0x8*(-parseInt(_0x4eadf1(0x11d))/0x9)+parseInt(_0x4eadf1(0x122))/0xa;if(_0x426805===_0xa6fe59)break;else _0x1f745e['push'](_0x1f745e['shift']());}catch(_0x2a4a7b){_0x1f745e['push'](_0x1f745e['shift']());}}}(a51_0x2bcf,0x95285));import{getRuntimeRoleById,projectRuntimeRole,ROLE_ID_FLAG}from'../../commands/role/shared.js';function a51_0x558a(_0x13abe5,_0x3c2167){_0x13abe5=_0x13abe5-0x118;const _0x2bcfde=a51_0x2bcf();let _0x558ab1=_0x2bcfde[_0x13abe5];return _0x558ab1;}export const roleDetail={'service':a51_0x31555f(0x119),'command':a51_0x31555f(0x125),'description':'Show\x20one\x20runtime\x20role\x20by\x20ID','risk':a51_0x31555f(0x120),'flags':[ROLE_ID_FLAG],async 'execute'(_0x1dc469){const _0x44b767=a51_0x31555f,_0xe07610=await getRuntimeRoleById(_0x1dc469[_0x44b767(0x127)],_0x1dc469[_0x44b767(0x121)]('id'));return{'ok':!![],'data':{'scope':_0x44b767(0x118),'role':projectRuntimeRole(_0xe07610)}};}};
@@ -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(_0x157a9e,_0x47009e){const _0x1922da=a52_0x2429,_0x7fa5b4=_0x157a9e();while(!![]){try{const _0x290ab4=-parseInt(_0x1922da(0x90))/0x1+-parseInt(_0x1922da(0x8f))/0x2*(parseInt(_0x1922da(0x8e))/0x3)+parseInt(_0x1922da(0x91))/0x4*(parseInt(_0x1922da(0x93))/0x5)+-parseInt(_0x1922da(0x8c))/0x6+parseInt(_0x1922da(0x92))/0x7+-parseInt(_0x1922da(0x8d))/0x8+parseInt(_0x1922da(0x94))/0x9;if(_0x290ab4===_0x47009e)break;else _0x7fa5b4['push'](_0x7fa5b4['shift']());}catch(_0x3291a6){_0x7fa5b4['push'](_0x7fa5b4['shift']());}}}(a52_0x202a,0x265b5));import{roleList}from'../../commands/role/list.js';function a52_0x2429(_0x4e3966,_0x4828b5){_0x4e3966=_0x4e3966-0x8c;const _0x202ad0=a52_0x202a();let _0x2429df=_0x202ad0[_0x4e3966];return _0x2429df;}import{roleDetail}from'../../commands/role/detail.js';import{roleCreate}from'../../commands/role/create.js';import{roleUpdate}from'../../commands/role/update.js';import{roleDelete}from'../../commands/role/delete.js';import{roleUserAdd}from'../../commands/role/user-add.js';import{roleUserRemove}from'../../commands/role/user-remove.js';function a52_0x202a(){const _0x2ccf33=['1854330RfVCDf','2483120KbVsfE','96HyCOFf','4516egWakx','213380DhCudY','4egMAri','1738639CmyUhK','477655Uiipqk','6464538HsDKYn'];a52_0x202a=function(){return _0x2ccf33;};return a52_0x202a();}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_0x4d2f52=a53_0x3cb3;(function(_0x16b51c,_0x491af1){const _0x75aa73=a53_0x3cb3,_0xe63e7d=_0x16b51c();while(!![]){try{const _0x5a5a49=-parseInt(_0x75aa73(0x1dc))/0x1*(-parseInt(_0x75aa73(0x1e1))/0x2)+-parseInt(_0x75aa73(0x1eb))/0x3*(-parseInt(_0x75aa73(0x1db))/0x4)+parseInt(_0x75aa73(0x1fa))/0x5+parseInt(_0x75aa73(0x1fd))/0x6*(parseInt(_0x75aa73(0x1ee))/0x7)+-parseInt(_0x75aa73(0x1f2))/0x8*(-parseInt(_0x75aa73(0x1da))/0x9)+parseInt(_0x75aa73(0x1f9))/0xa*(parseInt(_0x75aa73(0x1e7))/0xb)+-parseInt(_0x75aa73(0x1e4))/0xc;if(_0x5a5a49===_0x491af1)break;else _0xe63e7d['push'](_0xe63e7d['shift']());}catch(_0x1f1a4d){_0xe63e7d['push'](_0xe63e7d['shift']());}}}(a53_0x3963,0x2b27e));import{listRuntimeAppRoles}from'../../core/api-client.js';function a53_0x3cb3(_0x4c842e,_0x383fd9){_0x4c842e=_0x4c842e-0x1d5;const _0x3963b9=a53_0x3963();let _0x3cb3cb=_0x3963b9[_0x4c842e];return _0x3cb3cb;}function a53_0x3963(){const _0x18e564=['pagesize','--page\x20must\x20be\x20a\x20positive\x20integer.','58792OPiKWv','num','toUpperCase','role','str','paging','slice','152980fwMSpb','34215hncHbh','string','list','6CHOPQU','roleType','length','trim','type','Page\x20number','page','297PGzXKn','4UacwXd','110777SwHYwT','Page\x20size\x20from\x201\x20to\x20100','Invalid\x20runtime\x20role\x20type:\x20','appCode','isSafeInteger','2UFJxkQ','validation','includes','12727788avvuVv','number','Runtime\x20role\x20type','253zSKEwW','runtime','items','--pagesize\x20must\x20be\x20an\x20integer\x20from\x201\x20to\x20100.','847155qMxIgz','name','map','1701273GeTQZp','List\x20runtime\x20roles\x20for\x20the\x20current\x20app'];a53_0x3963=function(){return _0x18e564;};return a53_0x3963();}import{CliErrors}from'../../errors.js';import{listAllRuntimeRoles,projectRuntimeRole,RUNTIME_ROLE_TYPES}from'../../commands/role/shared.js';export const roleList={'service':a53_0x4d2f52(0x1f5),'command':a53_0x4d2f52(0x1fc),'description':a53_0x4d2f52(0x1ef),'risk':'read','flags':[{'name':a53_0x4d2f52(0x1d7),'type':a53_0x4d2f52(0x1fb),'enum':RUNTIME_ROLE_TYPES,'description':a53_0x4d2f52(0x1e6)},{'name':'name','type':a53_0x4d2f52(0x1fb),'description':'Fuzzy\x20role-name\x20filter'},{'name':a53_0x4d2f52(0x1d9),'type':'number','default':0x1,'description':a53_0x4d2f52(0x1d8)},{'name':a53_0x4d2f52(0x1f0),'type':a53_0x4d2f52(0x1e5),'default':0x64,'description':a53_0x4d2f52(0x1dd)}],async 'validate'(_0x5d3a3f){const _0xc7a8f5=a53_0x4d2f52,_0x27dfea=_0x5d3a3f['str'](_0xc7a8f5(0x1d7))[_0xc7a8f5(0x1f4)]();if(_0x27dfea&&!RUNTIME_ROLE_TYPES[_0xc7a8f5(0x1e3)](_0x27dfea))throw CliErrors[_0xc7a8f5(0x1e2)](_0xc7a8f5(0x1de)+_0x27dfea+'.');const _0x9ed6a0=_0x5d3a3f['num']('page',0x1),_0x27843=_0x5d3a3f[_0xc7a8f5(0x1f3)](_0xc7a8f5(0x1f0),0x64);if(!Number['isSafeInteger'](_0x9ed6a0)||_0x9ed6a0<0x1)throw CliErrors['validation'](_0xc7a8f5(0x1f1));if(!Number[_0xc7a8f5(0x1e0)](_0x27843)||_0x27843<0x1||_0x27843>0x64)throw CliErrors[_0xc7a8f5(0x1e2)](_0xc7a8f5(0x1ea));},async 'execute'(_0x14a551){const _0x5e3390=a53_0x4d2f52,_0x2cd262=_0x14a551[_0x5e3390(0x1f6)]('type')[_0x5e3390(0x1f4)](),_0x32816f=_0x14a551[_0x5e3390(0x1f6)](_0x5e3390(0x1ec))[_0x5e3390(0x1d6)](),_0xf330de=_0x14a551[_0x5e3390(0x1f3)]('page',0x1),_0x161b25=_0x14a551[_0x5e3390(0x1f3)](_0x5e3390(0x1f0),0x64);if(_0x2cd262){const _0x577a21=(await listAllRuntimeRoles(_0x14a551[_0x5e3390(0x1df)],{..._0x32816f?{'roleName':_0x32816f}:{}}))['filter'](_0x4d04bc=>_0x4d04bc[_0x5e3390(0x1fe)]===_0x2cd262),_0x3aa75d=(_0xf330de-0x1)*_0x161b25;return{'ok':!![],'data':{'scope':_0x5e3390(0x1e8),'roles':_0x577a21[_0x5e3390(0x1f8)](_0x3aa75d,_0x3aa75d+_0x161b25)[_0x5e3390(0x1ed)](projectRuntimeRole),'paging':{'currentPage':_0xf330de,'pageSize':_0x161b25,'totalCount':_0x577a21[_0x5e3390(0x1d5)]}}};}const _0x27d78f=await listRuntimeAppRoles(_0x14a551[_0x5e3390(0x1df)],{..._0x32816f?{'roleName':_0x32816f}:{},'currentPage':_0xf330de,'pageSize':_0x161b25});return{'ok':!![],'data':{'scope':_0x5e3390(0x1e8),'roles':_0x27d78f[_0x5e3390(0x1e9)][_0x5e3390(0x1ed)](projectRuntimeRole),'paging':_0x27d78f[_0x5e3390(0x1f7)]}};}};
@@ -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;