@lovrabet/lovrabet-cli 2.3.1-beta.4 → 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_0x42ce44=a40_0x69ef;(function(_0x17a99f,_0x4f0887){const _0x2d5150=a40_0x69ef,_0x531ed1=_0x17a99f();while(!![]){try{const _0x13681d=parseInt(_0x2d5150(0x123))/0x1+parseInt(_0x2d5150(0x14a))/0x2+parseInt(_0x2d5150(0x131))/0x3*(parseInt(_0x2d5150(0x133))/0x4)+-parseInt(_0x2d5150(0x12c))/0x5+-parseInt(_0x2d5150(0x114))/0x6+-parseInt(_0x2d5150(0x147))/0x7+parseInt(_0x2d5150(0x122))/0x8;if(_0x13681d===_0x4f0887)break;else _0x531ed1['push'](_0x531ed1['shift']());}catch(_0x999703){_0x531ed1['push'](_0x531ed1['shift']());}}}(a40_0x1abd,0x5baa9));import{listRuntimeDatasetRolePermits,listRuntimePermitRoles,saveRuntimeDatasetRolePermits}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';function a40_0x69ef(_0x26d9af,_0x1beeca){_0x26d9af=_0x26d9af-0x114;const _0x1abd14=a40_0x1abd();let _0x69efcb=_0x1abd14[_0x26d9af];return _0x69efcb;}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';function a40_0x1abd(){const _0x57b3b8=['DATA_EXPORT','3583174KcWTyc','--datasets','bool','1197688aBhLOB','after','rolePermit','DATA_ROW','dataPermitList','permitList','\x20for\x20role\x20','dataset-set','3427716KPkbTh','revoke','role','actions','dataset-','datasets','high-risk-write','DATA_CREATE','Dataset\x20','Invalid\x20dataset\x20actions:\x20','grant','DATA_DELETE','join','validation','7386152IJJmya','141687PfFtiD','toUpperCase','push','permitId','includes','map','POST','resourceName','DATA_UPDATE','3570800IltOPZ','Comma-separated\x20actions:\x20','warnings','description','operation','1526979SItOzx','str','4qIJzwG','datasetCode','before','body','Preview:\x20','DATA_DETAIL','Grants\x20or\x20revokes\x20the\x20target\x20role\x20permission\x20for\x20the\x20given\x20dataset\x20actions.\x20Data\x20operations\x20for\x20users\x20in\x20that\x20role\x20will\x20change.','Runtime\x20dataset\x20','/client/permit/resource/batch-save-dataset','Grant\x20or\x20revoke\x20selected\x20runtime\x20dataset\x20actions\x20for\x20one\x20role','\x20selected\x20runtime\x20dataset\x20actions','find','build','\x20was\x20not\x20found.','filter','length','appCode','string','resourceType'];a40_0x1abd=function(){return _0x57b3b8;};return a40_0x1abd();}const DATA_ACTIONS=[a40_0x42ce44(0x11b),a40_0x42ce44(0x12b),a40_0x42ce44(0x11f),a40_0x42ce44(0x138),a40_0x42ce44(0x146),a40_0x42ce44(0x14d)],DATASETS_FLAG={'name':a40_0x42ce44(0x119),'type':a40_0x42ce44(0x144),'required':!![],'description':'Comma-separated\x20runtime\x20dataset\x20codes'},ACTIONS_FLAG={'name':a40_0x42ce44(0x117),'type':'string','required':!![],'description':a40_0x42ce44(0x12d)+DATA_ACTIONS[a40_0x42ce44(0x120)](',\x20')};async function prepare(_0x163f87){const _0x4fc989=a40_0x42ce44;await assertRuntimePermissionManager(_0x163f87[_0x4fc989(0x143)]);const _0x156e9d=assertGrantOrRevoke(_0x163f87['bool'](_0x4fc989(0x11e)),_0x163f87[_0x4fc989(0x149)]('revoke')),_0x24ca87=await resolveRuntimeRoleRef(_0x163f87[_0x4fc989(0x143)],_0x163f87[_0x4fc989(0x132)]('role'));assertRuntimePermitRoleConfigurable(_0x24ca87);const _0x1a93f5=splitRefs(_0x163f87['str'](_0x4fc989(0x119)),_0x4fc989(0x148)),_0x392f97=[...new Set(splitRefs(_0x163f87['str'](_0x4fc989(0x117)),'--actions')[_0x4fc989(0x128)](_0x271b38=>_0x271b38[_0x4fc989(0x124)]()))],_0x77f8cf=_0x392f97[_0x4fc989(0x141)](_0x5a9184=>!DATA_ACTIONS[_0x4fc989(0x127)](_0x5a9184));if(_0x77f8cf['length']>0x0)throw CliErrors[_0x4fc989(0x121)](_0x4fc989(0x11d)+_0x77f8cf[_0x4fc989(0x120)](',\x20')+'.');const _0x287481=await listRuntimeDatasetRolePermits(_0x163f87[_0x4fc989(0x143)]),_0x3b015d=await listRuntimePermitRoles(_0x163f87[_0x4fc989(0x143)]),_0x26ad75=[],_0x3e7dc4=[],_0x4f3a98=[],_0x49be60=[];for(const _0xcf38f5 of _0x1a93f5){const _0x37315e=_0x287481[_0x4fc989(0x13e)](_0x5b69ae=>_0x5b69ae[_0x4fc989(0x134)]===_0xcf38f5);if(!_0x37315e)throw CliErrors[_0x4fc989(0x121)](_0x4fc989(0x13a)+_0xcf38f5+_0x4fc989(0x140));for(const _0x14c07d of _0x392f97){const _0x267b38=_0x37315e[_0x4fc989(0x14e)][_0x4fc989(0x13e)](_0x273121=>_0x273121[_0x4fc989(0x145)]===_0x14c07d);if(!_0x267b38)throw CliErrors['validation'](_0x4fc989(0x11c)+_0xcf38f5+'\x20does\x20not\x20expose\x20'+_0x14c07d+'.');const _0x35918e=applyRuntimeRolePermission(_0x267b38[_0x4fc989(0x14c)],_0x24ca87,_0x3b015d,_0x156e9d);_0x3e7dc4[_0x4fc989(0x125)]({'datasetCode':_0xcf38f5,'resourceType':_0x14c07d,'rolePermit':_0x267b38[_0x4fc989(0x14c)]}),_0x4f3a98['push']({'datasetCode':_0xcf38f5,'resourceType':_0x14c07d,'rolePermit':_0x35918e['roles']}),_0x35918e['changed']?_0x26ad75[_0x4fc989(0x125)]({..._0x267b38['permitId']!=null?{'id':_0x267b38[_0x4fc989(0x126)]}:{},'appCode':_0x163f87[_0x4fc989(0x143)],'resourceCode':_0xcf38f5,'resourceType':_0x14c07d,'resourceName':_0x267b38[_0x4fc989(0x12a)],'rolePermit':_0x35918e['roles']}):_0x49be60[_0x4fc989(0x125)](_0xcf38f5+'/'+_0x14c07d+'\x20already\x20reflects\x20'+_0x156e9d+_0x4fc989(0x150)+_0x24ca87['id']+'.');}}return{'operation':_0x156e9d,'role':_0x24ca87,'datasetCodes':_0x1a93f5,'actions':_0x392f97,'permitList':_0x26ad75,'before':_0x3e7dc4,'after':_0x4f3a98,'warnings':_0x49be60};}export const permitDatasetSet={'service':'permit','command':a40_0x42ce44(0x151),'description':a40_0x42ce44(0x13c),'risk':a40_0x42ce44(0x11a),'confirmationDescription':a40_0x42ce44(0x139),'flags':[ROLE_REF_FLAG,GRANT_FLAG,REVOKE_FLAG,DATASETS_FLAG,ACTIONS_FLAG],async 'validate'(_0x14a762){const _0x51818c=a40_0x42ce44;assertGrantOrRevoke(_0x14a762[_0x51818c(0x149)]('grant'),_0x14a762[_0x51818c(0x149)](_0x51818c(0x115)));},async 'dryRun'(_0x2b3c1c){const _0x29d521=a40_0x42ce44,_0x3cf9d3=await prepare(_0x2b3c1c);return dryRun(_0x29d521(0x129),_0x29d521(0x13b))[_0x29d521(0x136)]({'appCode':_0x2b3c1c[_0x29d521(0x143)],'permitList':_0x3cf9d3[_0x29d521(0x14f)]})[_0x29d521(0x12f)](_0x29d521(0x137)+_0x3cf9d3[_0x29d521(0x130)]+_0x29d521(0x13d))[_0x29d521(0x13f)]();},async 'execute'(_0x5e0007){const _0x213f91=a40_0x42ce44,_0x2b3bee=await prepare(_0x5e0007);return _0x2b3bee[_0x213f91(0x14f)][_0x213f91(0x142)]>0x0&&await saveRuntimeDatasetRolePermits(_0x5e0007[_0x213f91(0x143)],_0x2b3bee['permitList']),{'ok':!![],'data':runtimePermitWriteResult(_0x213f91(0x118)+_0x2b3bee[_0x213f91(0x130)],{'roleId':_0x2b3bee[_0x213f91(0x116)]['id'],'datasetCodes':_0x2b3bee['datasetCodes'],'actions':_0x2b3bee[_0x213f91(0x117)]},_0x2b3bee[_0x213f91(0x135)],_0x2b3bee[_0x213f91(0x14b)],{'method':'POST','path':'/client/permit/resource/batch-save-dataset'},_0x2b3bee[_0x213f91(0x12e)])};}};
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(_0x19caf1,_0xccaf3a){const _0x4a6c4c=a41_0x1dd6,_0x393bf8=_0x19caf1();while(!![]){try{const _0x2e35cb=-parseInt(_0x4a6c4c(0x1bc))/0x1*(parseInt(_0x4a6c4c(0x1b5))/0x2)+-parseInt(_0x4a6c4c(0x1b3))/0x3*(parseInt(_0x4a6c4c(0x1b6))/0x4)+parseInt(_0x4a6c4c(0x1b8))/0x5*(-parseInt(_0x4a6c4c(0x1b9))/0x6)+parseInt(_0x4a6c4c(0x1b7))/0x7*(-parseInt(_0x4a6c4c(0x1ba))/0x8)+-parseInt(_0x4a6c4c(0x1b1))/0x9+parseInt(_0x4a6c4c(0x1b4))/0xa*(parseInt(_0x4a6c4c(0x1b2))/0xb)+-parseInt(_0x4a6c4c(0x1bb))/0xc*(-parseInt(_0x4a6c4c(0x1b0))/0xd);if(_0x2e35cb===_0xccaf3a)break;else _0x393bf8['push'](_0x393bf8['shift']());}catch(_0x5a7185){_0x393bf8['push'](_0x393bf8['shift']());}}}(a41_0x4455,0xa7f9b));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_0x1dd6(_0x2125d5,_0x595b51){_0x2125d5=_0x2125d5-0x1b0;const _0x4455bc=a41_0x4455();let _0x1dd63b=_0x4455bc[_0x2125d5];return _0x1dd63b;}import{permitRoleMenusSet}from'../../commands/permit/role-menus-set.js';import{permitDatasetGet}from'../../commands/permit/dataset-get.js';function a41_0x4455(){const _0x950472=['10CUIAId','2203522SrBeiy','1648xftzCP','211918cqRYZE','36460XyNKHP','150uCOQll','232eVDYfg','12ZdKGzT','1KnfpRy','53771978RpGyGm','9012015GaGVDe','7012841ELJARy','6717QdQOxG'];a41_0x4455=function(){return _0x950472;};return a41_0x4455();}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_0x2bed6c=a42_0x3ac5;(function(_0x385b72,_0x5097ce){const _0x4622f4=a42_0x3ac5,_0x4631a9=_0x385b72();while(!![]){try{const _0x124925=parseInt(_0x4622f4(0x1c7))/0x1*(parseInt(_0x4622f4(0x1be))/0x2)+parseInt(_0x4622f4(0x1bd))/0x3*(-parseInt(_0x4622f4(0x1c1))/0x4)+parseInt(_0x4622f4(0x1c3))/0x5*(-parseInt(_0x4622f4(0x1bc))/0x6)+parseInt(_0x4622f4(0x1c6))/0x7+-parseInt(_0x4622f4(0x1c0))/0x8+parseInt(_0x4622f4(0x1c2))/0x9+-parseInt(_0x4622f4(0x1c4))/0xa;if(_0x124925===_0x5097ce)break;else _0x4631a9['push'](_0x4631a9['shift']());}catch(_0x3925e7){_0x4631a9['push'](_0x4631a9['shift']());}}}(a42_0x103e,0x1fae7));import{getRuntimePagePermit}from'../../core/api-client.js';function a42_0x3ac5(_0x296407,_0x42c01b){_0x296407=_0x296407-0x1bc;const _0x103e8c=a42_0x103e();let _0x3ac531=_0x103e8c[_0x296407];return _0x3ac531;}import{MENU_ID_FLAG,projectRuntimePagePermit}from'../../commands/permit/shared.js';export const permitPageGet={'service':a42_0x2bed6c(0x1c5),'command':a42_0x2bed6c(0x1bf),'description':a42_0x2bed6c(0x1c8),'risk':'read','flags':[MENU_ID_FLAG],async 'execute'(_0x274a74){const _0x18667e=await getRuntimePagePermit(_0x274a74['num']('menu-id'));return{'ok':!![],'data':{'scope':'runtime','page':projectRuntimePagePermit(_0x18667e)}};}};function a42_0x103e(){const _0x1aa8e2=['15EHfryG','502370jnJxMI','permit','343595gtfXhb','5685kDSkCD','Get\x20runtime\x20page\x20permission\x20slots\x20by\x20menu\x20ID','110658aqBeVV','3bbtLXB','54JsbUSk','page-get','542312asOCtT','33436SFXxVi','980109iDVham'];a42_0x103e=function(){return _0x1aa8e2;};return a42_0x103e();}
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_0x515156=a43_0x1118;function a43_0x1118(_0x1c5c3f,_0xead692){_0x1c5c3f=_0x1c5c3f-0xa2;const _0x5b1563=a43_0x5b15();let _0x111816=_0x5b1563[_0x1c5c3f];return _0x111816;}(function(_0xb090c2,_0x44b0d0){const _0x4c9ee9=a43_0x1118,_0x10b6d9=_0xb090c2();while(!![]){try{const _0x2e9178=parseInt(_0x4c9ee9(0xbb))/0x1*(-parseInt(_0x4c9ee9(0xbd))/0x2)+parseInt(_0x4c9ee9(0xbc))/0x3*(parseInt(_0x4c9ee9(0xb0))/0x4)+parseInt(_0x4c9ee9(0xaf))/0x5+parseInt(_0x4c9ee9(0xbf))/0x6+parseInt(_0x4c9ee9(0xc2))/0x7+-parseInt(_0x4c9ee9(0xb2))/0x8+parseInt(_0x4c9ee9(0xbe))/0x9;if(_0x2e9178===_0x44b0d0)break;else _0x10b6d9['push'](_0x10b6d9['shift']());}catch(_0x43cea9){_0x10b6d9['push'](_0x10b6d9['shift']());}}}(a43_0x5b15,0xd0675));import{getRuntimePagePermit,saveRuntimePagePermit}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';function a43_0x5b15(){const _0x287d4d=['str','length','9921450zRfCOc','page-set','permit','Set\x20selected\x20runtime\x20page\x20permission\x20slots','flag','slots','before','\x20does\x20not\x20expose\x20','validation','build','key','Menu\x20','num','rolePermit','1567615hDFVtw','1877764ZTieae','/client/permit/page/save','5394504BJaXsu','menuId','high-risk-write','\x20does\x20not\x20belong\x20to\x20app\x20','page','POST','appCode','push','Pass\x20at\x20least\x20one\x20page\x20role\x20flag\x20to\x20update.','10aCeCQJ','6tFTGXz','324286wDKxYQ','1087965Ocvfat','2152344jSCBtQ'];a43_0x5b15=function(){return _0x287d4d;};return a43_0x5b15();}import{assertRuntimePermissionManager,MENU_ID_FLAG,PAGE_ROLE_FLAGS,PAGE_SLOT_SPECS,projectRuntimePagePermit,resolveRuntimePermitRoles,runtimePermitWriteResult,splitRefs}from'../../commands/permit/shared.js';async function prepare(_0x49dc6e){const _0x4ba172=a43_0x1118;await assertRuntimePermissionManager(_0x49dc6e[_0x4ba172(0xb8)]);const _0x4cab79=_0x49dc6e[_0x4ba172(0xad)]('menu-id'),_0xe081a=await getRuntimePagePermit(_0x4cab79);if(_0xe081a['appCode']&&_0xe081a[_0x4ba172(0xb8)]!==_0x49dc6e[_0x4ba172(0xb8)])throw CliErrors[_0x4ba172(0xa9)](_0x4ba172(0xac)+_0x4cab79+_0x4ba172(0xb5)+_0x49dc6e[_0x4ba172(0xb8)]+'.');const _0x1bf021=structuredClone(_0xe081a),_0x206a43=[];for(const _0x25d38d of PAGE_SLOT_SPECS){if(_0x49dc6e[_0x4ba172(0xa5)](_0x25d38d[_0x4ba172(0xa5)])===undefined)continue;const _0x1f7168=_0xe081a[_0x25d38d[_0x4ba172(0xab)]];if(!_0x1f7168)throw CliErrors[_0x4ba172(0xa9)]('Page\x20menu\x20'+_0x4cab79+_0x4ba172(0xa8)+_0x25d38d[_0x4ba172(0xab)]+'.');_0x1f7168[_0x4ba172(0xae)]=await resolveRuntimePermitRoles(_0x49dc6e['appCode'],splitRefs(_0x49dc6e[_0x4ba172(0xc0)](_0x25d38d[_0x4ba172(0xa5)]),'--'+_0x25d38d[_0x4ba172(0xa5)]),_0x25d38d['allowSelf']),_0x206a43[_0x4ba172(0xb9)](_0x25d38d[_0x4ba172(0xab)]);}if(_0x206a43[_0x4ba172(0xc1)]===0x0)throw CliErrors['validation'](_0x4ba172(0xba));return{'menuId':_0x4cab79,'page':_0xe081a,'before':_0x1bf021,'slots':_0x206a43};}export const permitPageSet={'service':a43_0x515156(0xa3),'command':a43_0x515156(0xa2),'description':a43_0x515156(0xa4),'risk':a43_0x515156(0xb4),'confirmationDescription':'Changes\x20role\x20permission\x20slots\x20on\x20the\x20given\x20runtime\x20page.\x20Unauthorized\x20users\x20may\x20be\x20unable\x20to\x20view\x20the\x20page\x20or\x20run\x20data\x20operations.','flags':[MENU_ID_FLAG,...PAGE_ROLE_FLAGS],async 'dryRun'(_0x524529){const _0x3d775f=a43_0x515156,_0x652c3a=await prepare(_0x524529);return dryRun(_0x3d775f(0xb7),'/client/permit/page/save')['body'](_0x652c3a[_0x3d775f(0xb6)])['description']('Preview:\x20update\x20page\x20permission\x20slots\x20'+_0x652c3a[_0x3d775f(0xa6)]['join'](',\x20'))[_0x3d775f(0xaa)]();},async 'execute'(_0x54e624){const _0x5742f1=a43_0x515156,_0x47a0e0=await prepare(_0x54e624),_0x196726=await saveRuntimePagePermit(_0x47a0e0[_0x5742f1(0xb6)]);return{'ok':!![],'data':runtimePermitWriteResult(_0x5742f1(0xa2),{'menuId':_0x47a0e0[_0x5742f1(0xb3)],'slots':_0x47a0e0['slots']},projectRuntimePagePermit(_0x47a0e0[_0x5742f1(0xa7)]),projectRuntimePagePermit(_0x196726),{'method':_0x5742f1(0xb7),'path':_0x5742f1(0xb1)})};}};
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_0x43d336=a44_0x49bc;(function(_0x11132a,_0x2708ae){const _0x32eb5e=a44_0x49bc,_0x3a6f65=_0x11132a();while(!![]){try{const _0x52caf3=parseInt(_0x32eb5e(0x16d))/0x1+-parseInt(_0x32eb5e(0x16e))/0x2+-parseInt(_0x32eb5e(0x147))/0x3*(-parseInt(_0x32eb5e(0x167))/0x4)+parseInt(_0x32eb5e(0x168))/0x5+-parseInt(_0x32eb5e(0x16b))/0x6+parseInt(_0x32eb5e(0x14b))/0x7+-parseInt(_0x32eb5e(0x141))/0x8*(-parseInt(_0x32eb5e(0x166))/0x9);if(_0x52caf3===_0x2708ae)break;else _0x3a6f65['push'](_0x3a6f65['shift']());}catch(_0x139749){_0x3a6f65['push'](_0x3a6f65['shift']());}}}(a44_0x274e,0x6d1d4));import{listRuntimeMenuRolePermits,listRuntimePermitRoles,saveRuntimeMenuRolePermits}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';function a44_0x49bc(_0xa2c481,_0x59a123){_0xa2c481=_0xa2c481-0x140;const _0x274ecc=a44_0x274e();let _0x49bc34=_0x274ecc[_0xa2c481];return _0x49bc34;}import{resolveRuntimeRoleRef}from'../../commands/role/shared.js';import{applyRuntimeRolePermission,assertGrantOrRevoke,assertRuntimePermissionManager,assertRuntimePermitRoleConfigurable,flattenRuntimeMenuRolePermits,GRANT_FLAG,menuPermitDto,REVOKE_FLAG,ROLE_REF_FLAG,runtimePermitWriteResult,splitRefs}from'../../commands/permit/shared.js';const MENUS_FLAG={'name':a44_0x43d336(0x15b),'type':a44_0x43d336(0x164),'required':!![],'description':a44_0x43d336(0x14e)};function a44_0x274e(){const _0x55eb46=['1449220BkbPMW','push','56aQGJbw','validation','menuIds','after','POST','length','1059YXCrBx','grant','description','isSafeInteger','2877490agqtSa','body','roles','Comma-separated\x20runtime\x20menu\x20IDs','rolePermit','permit','changed','Grants\x20or\x20revokes\x20the\x20target\x20role\x20access\x20to\x20the\x20given\x20runtime\x20menus.\x20Menu\x20visibility\x20for\x20users\x20in\x20that\x20role\x20will\x20change.','Invalid\x20runtime\x20menu\x20ID:\x20','test','menu-','role-menus-set','appCode','bool','Grant\x20or\x20revoke\x20selected\x20runtime\x20menus\x20for\x20one\x20role','operation','menus','Preview:\x20','find','/client/permit/resource/batch-save-menu','\x20selected\x20runtime\x20menus','\x20was\x20not\x20found.','role','revoke','str','string','before','397530LWwHEg','2696rWjxne','1999685WkGbMG','warnings','permitList','2208096HRXcjR','build','181439qdRDSX'];a44_0x274e=function(){return _0x55eb46;};return a44_0x274e();}async function prepare(_0x3f3872){const _0x3d4980=a44_0x43d336;await assertRuntimePermissionManager(_0x3f3872[_0x3d4980(0x157)]);const _0x21ca06=assertGrantOrRevoke(_0x3f3872[_0x3d4980(0x158)](_0x3d4980(0x148)),_0x3f3872[_0x3d4980(0x158)](_0x3d4980(0x162))),_0x1c3ddf=await resolveRuntimeRoleRef(_0x3f3872[_0x3d4980(0x157)],_0x3f3872['str']('role'));assertRuntimePermitRoleConfigurable(_0x1c3ddf);const _0x1d704f=[...new Set(splitRefs(_0x3f3872[_0x3d4980(0x163)](_0x3d4980(0x15b)),'--menus')['map'](_0x33dbf5=>{const _0x2a3f76=_0x3d4980,_0x30c6a2=Number(_0x33dbf5);if(!/^\d+$/[_0x2a3f76(0x154)](_0x33dbf5)||!Number[_0x2a3f76(0x14a)](_0x30c6a2)||_0x30c6a2<=0x0)throw CliErrors[_0x2a3f76(0x142)](_0x2a3f76(0x153)+_0x33dbf5+'.');return _0x30c6a2;}))],_0x1478dc=flattenRuntimeMenuRolePermits(await listRuntimeMenuRolePermits(_0x3f3872['appCode'])),_0x41e9a9=await listRuntimePermitRoles(_0x3f3872['appCode']),_0x10c8f3=[],_0xcb42db=[],_0x121f31=[],_0x145db2=[];for(const _0x4bbcc7 of _0x1d704f){const _0x375e52=_0x1478dc[_0x3d4980(0x15d)](_0x49f2d1=>_0x49f2d1['id']===_0x4bbcc7);if(!_0x375e52)throw CliErrors[_0x3d4980(0x142)]('Runtime\x20menu\x20'+_0x4bbcc7+_0x3d4980(0x160));const _0x32388e=applyRuntimeRolePermission(_0x375e52[_0x3d4980(0x14f)],_0x1c3ddf,_0x41e9a9,_0x21ca06);_0xcb42db[_0x3d4980(0x140)]({'menuId':_0x4bbcc7,'rolePermit':_0x375e52[_0x3d4980(0x14f)]}),_0x121f31[_0x3d4980(0x140)]({'menuId':_0x4bbcc7,'rolePermit':_0x32388e[_0x3d4980(0x14d)]});if(_0x32388e[_0x3d4980(0x151)])_0x10c8f3[_0x3d4980(0x140)](menuPermitDto(_0x3f3872['appCode'],_0x375e52,_0x32388e[_0x3d4980(0x14d)]));else _0x145db2[_0x3d4980(0x140)]('Runtime\x20menu\x20'+_0x4bbcc7+'\x20already\x20reflects\x20'+_0x21ca06+'\x20for\x20role\x20'+_0x1c3ddf['id']+'.');}return{'operation':_0x21ca06,'role':_0x1c3ddf,'menuIds':_0x1d704f,'permitList':_0x10c8f3,'before':_0xcb42db,'after':_0x121f31,'warnings':_0x145db2};}export const permitRoleMenusSet={'service':a44_0x43d336(0x150),'command':a44_0x43d336(0x156),'description':a44_0x43d336(0x159),'risk':'high-risk-write','confirmationDescription':a44_0x43d336(0x152),'flags':[ROLE_REF_FLAG,GRANT_FLAG,REVOKE_FLAG,MENUS_FLAG],async 'validate'(_0xfab9ea){const _0x4e5f2b=a44_0x43d336;assertGrantOrRevoke(_0xfab9ea['bool'](_0x4e5f2b(0x148)),_0xfab9ea['bool'](_0x4e5f2b(0x162)));},async 'dryRun'(_0x3c9bb7){const _0x4552c4=a44_0x43d336,_0x544d87=await prepare(_0x3c9bb7);return dryRun(_0x4552c4(0x145),_0x4552c4(0x15e))[_0x4552c4(0x14c)]({'appCode':_0x3c9bb7[_0x4552c4(0x157)],'permitList':_0x544d87[_0x4552c4(0x16a)]})[_0x4552c4(0x149)](_0x4552c4(0x15c)+_0x544d87[_0x4552c4(0x15a)]+_0x4552c4(0x15f))[_0x4552c4(0x16c)]();},async 'execute'(_0x176b97){const _0x5274a1=a44_0x43d336,_0x612655=await prepare(_0x176b97);return _0x612655[_0x5274a1(0x16a)][_0x5274a1(0x146)]>0x0&&await saveRuntimeMenuRolePermits(_0x176b97[_0x5274a1(0x157)],_0x612655[_0x5274a1(0x16a)]),{'ok':!![],'data':runtimePermitWriteResult(_0x5274a1(0x155)+_0x612655[_0x5274a1(0x15a)],{'roleId':_0x612655[_0x5274a1(0x161)]['id'],'menuIds':_0x612655[_0x5274a1(0x143)]},_0x612655[_0x5274a1(0x165)],_0x612655[_0x5274a1(0x144)],{'method':'POST','path':_0x5274a1(0x15e)},_0x612655[_0x5274a1(0x169)])};}};
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_0x596f1a=a45_0x26d0;(function(_0x573515,_0x5492d3){const _0x4c7e53=a45_0x26d0,_0x3f025c=_0x573515();while(!![]){try{const _0x5d630a=-parseInt(_0x4c7e53(0x143))/0x1*(-parseInt(_0x4c7e53(0x140))/0x2)+-parseInt(_0x4c7e53(0x145))/0x3*(parseInt(_0x4c7e53(0x148))/0x4)+-parseInt(_0x4c7e53(0x14b))/0x5+parseInt(_0x4c7e53(0x149))/0x6+parseInt(_0x4c7e53(0x14d))/0x7*(parseInt(_0x4c7e53(0x14e))/0x8)+-parseInt(_0x4c7e53(0x13f))/0x9*(parseInt(_0x4c7e53(0x13e))/0xa)+-parseInt(_0x4c7e53(0x14a))/0xb;if(_0x5d630a===_0x5492d3)break;else _0x3f025c['push'](_0x3f025c['shift']());}catch(_0x20864e){_0x3f025c['push'](_0x3f025c['shift']());}}}(a45_0x3aba,0x4d058));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_0x26d0(_0x28b0bc,_0x3e8681){_0x28b0bc=_0x28b0bc-0x13e;const _0x3aba9f=a45_0x3aba();let _0x26d09b=_0x3aba9f[_0x28b0bc];return _0x26d09b;}function a45_0x3aba(){const _0x48d981=['3eGapbM','permit','appCode','1212684QDDOSV','2817678VMlWXt','3760812flySLC','766360byRmpr','roleType','7PHLlUU','3063616VZgKpC','Show\x20evaluated\x20runtime\x20menu\x20access\x20for\x20one\x20role','23400EKJivT','981gmWYJk','20PXTKAc','role','runtime','51631wKwRHv','role-menus'];a45_0x3aba=function(){return _0x48d981;};return a45_0x3aba();}export const permitRoleMenus={'service':a45_0x596f1a(0x146),'command':a45_0x596f1a(0x144),'description':a45_0x596f1a(0x14f),'risk':'read','flags':[ROLE_REF_FLAG],async 'execute'(_0x152e22){const _0x1b0af3=a45_0x596f1a,_0x288d08=await resolveRuntimeRoleRef(_0x152e22[_0x1b0af3(0x147)],_0x152e22['str'](_0x1b0af3(0x141))),_0x13842d=await getRuntimeRoleMenuResources(_0x152e22['appCode'],_0x288d08['id']);return{'ok':!![],'data':{'scope':_0x1b0af3(0x142),'role':{'id':_0x288d08['id'],'roleName':_0x288d08['roleName'],'roleType':_0x288d08[_0x1b0af3(0x14c)]},'menus':_0x13842d}};}};
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_0x156f44=a46_0x20dd;(function(_0x5a37f9,_0x378a1d){const _0x31c81d=a46_0x20dd,_0x4c204c=_0x5a37f9();while(!![]){try{const _0x5ae82b=parseInt(_0x31c81d(0x206))/0x1*(parseInt(_0x31c81d(0x1e5))/0x2)+-parseInt(_0x31c81d(0x1f4))/0x3*(parseInt(_0x31c81d(0x1fe))/0x4)+parseInt(_0x31c81d(0x1f9))/0x5+-parseInt(_0x31c81d(0x20a))/0x6*(-parseInt(_0x31c81d(0x1dd))/0x7)+parseInt(_0x31c81d(0x214))/0x8+parseInt(_0x31c81d(0x21b))/0x9+-parseInt(_0x31c81d(0x1da))/0xa;if(_0x5ae82b===_0x378a1d)break;else _0x4c204c['push'](_0x4c204c['shift']());}catch(_0x53b4a3){_0x4c204c['push'](_0x4c204c['shift']());}}}(a46_0x263c,0x4323e));import{getLoginUserInfo,listRuntimePermitRoles,listRuntimeRoleUsers}from'../../core/api-client.js';function a46_0x20dd(_0x304ae2,_0x409e8a){_0x304ae2=_0x304ae2-0x1d2;const _0x263c12=a46_0x263c();let _0x20dd3c=_0x263c12[_0x304ae2];return _0x20dd3c;}import{CliErrors}from'../../errors.js';export const MENU_ID_FLAG={'name':a46_0x156f44(0x1dc),'type':a46_0x156f44(0x1ed),'required':!![],'description':a46_0x156f44(0x1eb)};export const ROLE_REF_FLAG={'name':a46_0x156f44(0x203),'type':a46_0x156f44(0x213),'required':!![],'description':a46_0x156f44(0x1d4)};export const GRANT_FLAG={'name':a46_0x156f44(0x20d),'type':'boolean','description':a46_0x156f44(0x1f7)};export const REVOKE_FLAG={'name':'revoke','type':'boolean','description':a46_0x156f44(0x211)};export const PAGE_SLOT_SPECS=[{'flag':a46_0x156f44(0x1f6),'key':'menuPermit','allowSelf':![]},{'flag':'create-roles','key':a46_0x156f44(0x1fd),'allowSelf':![]},{'flag':a46_0x156f44(0x1e3),'key':a46_0x156f44(0x1fc),'allowSelf':![]},{'flag':a46_0x156f44(0x1e6),'key':a46_0x156f44(0x21a),'allowSelf':![]},{'flag':a46_0x156f44(0x1d3),'key':'dataDetail','allowSelf':![]},{'flag':a46_0x156f44(0x200),'key':a46_0x156f44(0x1de),'allowSelf':![]},{'flag':a46_0x156f44(0x1ff),'key':a46_0x156f44(0x1f3),'allowSelf':!![]}];function a46_0x263c(){const _0x181001=['export-roles','push','children','role','\x22\x20is\x20ambiguous.','The\x20current\x20service\x20contract\x20does\x20not\x20persist\x20an\x20empty\x20rolePermit;\x20grant\x20another\x20role\x20first.','2663QcTtKW','permitId','MENU','test','152706nljsDv','length','flag','grant','filter','SELF\x20is\x20only\x20valid\x20for\x20--row-roles.','runtime','Revoke\x20the\x20selected\x20resources\x20from\x20the\x20role','trim','string','3745048BKAjqw','Comma-separated\x20runtime\x20role\x20IDs\x20or\x20names','roleName','datasetCode','menuId','Pass\x20exactly\x20one\x20of\x20--grant\x20or\x20--revoke.','dataDelete','2809296gXgSgJ','Runtime\x20resource\x20permission\x20changes\x20require\x20an\x20ADMIN\x20or\x20OWNER\x20role.','detail-roles','Runtime\x20role\x20ID\x20or\x20exact\x20role\x20name','\x20has\x20full\x20runtime\x20access\x20and\x20cannot\x20be\x20a\x20resource\x20permission\x20target.','OWNER','key','map','\x20runtime\x20role\x20','12723350kTSISN','Ask\x20an\x20application\x20manager\x20to\x20perform\x20this\x20operation.','menu-id','119gWCbmO','dataExport','roleType','resourceType','Cannot\x20change\x20resource\x20permissions\x20for\x20','revoke','update-roles','SELF','212ssphCy','delete-roles','ALL','validation','resourceCode','rolePermit','Runtime\x20menu\x20ID','userId','number','Cannot\x20revoke\x20the\x20last\x20role\x20from\x20a\x20runtime\x20resource.','ADMIN','label','userList','some','dataPermit','612033orepBy','Configure\x20USER,\x20CUSTOM,\x20or\x20an\x20applicable\x20special\x20role\x20instead.','menu-roles','Grant\x20the\x20selected\x20resources\x20to\x20the\x20role','appCode','1280660hQqqQc','Permission\x20role\x20\x22','pageId','dataUpdate','dataCreate','4ZUdlps','row-roles'];a46_0x263c=function(){return _0x181001;};return a46_0x263c();}export const PAGE_ROLE_FLAGS=PAGE_SLOT_SPECS[a46_0x156f44(0x1d8)](_0x15cc5a=>({'name':_0x15cc5a[a46_0x156f44(0x20c)],'type':'string','description':a46_0x156f44(0x215)}));export function splitRefs(_0x593d9b,_0x350f01){const _0x49f465=a46_0x156f44,_0xb7bccd=[...new Set(_0x593d9b['split'](',')[_0x49f465(0x1d8)](_0xeb026a=>_0xeb026a['trim']())['filter'](Boolean))];if(_0xb7bccd[_0x49f465(0x20b)]===0x0)throw CliErrors[_0x49f465(0x1e8)](_0x350f01+'\x20must\x20contain\x20at\x20least\x20one\x20value.');return _0xb7bccd;}export function assertGrantOrRevoke(_0x1b5c2d,_0x38a1cb){const _0x93c3f9=a46_0x156f44;if(_0x1b5c2d===_0x38a1cb)throw CliErrors['validation'](_0x93c3f9(0x219));return _0x1b5c2d?_0x93c3f9(0x20d):_0x93c3f9(0x1e2);}function resolvePermitRole(_0x45a48d,_0x499f1a){const _0x9447dc=a46_0x156f44,_0x3284f0=_0x499f1a[_0x9447dc(0x212)](),_0x18a73a=/^-?\d+$/[_0x9447dc(0x209)](_0x3284f0)?_0x45a48d['filter'](_0x4a00a9=>_0x4a00a9['id']===Number(_0x3284f0)):_0x45a48d[_0x9447dc(0x20e)](_0x40b7e2=>_0x40b7e2[_0x9447dc(0x216)]===_0x3284f0||_0x40b7e2['roleType']===_0x3284f0['toUpperCase']());if(_0x18a73a[_0x9447dc(0x20b)]!==0x1)throw CliErrors['validation'](_0x18a73a[_0x9447dc(0x20b)]===0x0?_0x9447dc(0x1fa)+_0x3284f0+'\x22\x20was\x20not\x20found.':_0x9447dc(0x1fa)+_0x3284f0+_0x9447dc(0x204),'Use\x20a\x20role\x20ID\x20from\x20`lovrabet\x20role\x20list`.');return _0x18a73a[0x0];}export async function resolveRuntimePermitRoles(_0x3c2572,_0x344b3a,_0x53da4d){const _0x243596=a46_0x156f44,_0x896db=await listRuntimePermitRoles(_0x3c2572,{'needSelf':!![],'needPublic':!![]}),_0x23b9fd=[...new Map(_0x344b3a[_0x243596(0x1d8)](_0x1fcb99=>resolvePermitRole(_0x896db,_0x1fcb99))[_0x243596(0x1d8)](_0x417b1d=>[_0x417b1d['id'],_0x417b1d]))['values']()],_0x3e9f2c=_0x23b9fd['find'](_0x51d92c=>_0x51d92c['roleType']===_0x243596(0x1ef)||_0x51d92c[_0x243596(0x1df)]===_0x243596(0x1d6));if(_0x3e9f2c)throw CliErrors[_0x243596(0x1e8)](_0x3e9f2c[_0x243596(0x1df)]+_0x243596(0x1d5),_0x243596(0x1f5));if(!_0x53da4d&&_0x23b9fd[_0x243596(0x1f2)](_0x3ba72d=>_0x3ba72d['roleType']===_0x243596(0x1e4)))throw CliErrors[_0x243596(0x1e8)](_0x243596(0x20f));return _0x23b9fd;}export async function assertRuntimePermissionManager(_0x3c6896){const _0x1299f4=a46_0x156f44,_0x5ddb75=await getLoginUserInfo(),_0x1adb71=_0x5ddb75['userId']??_0x5ddb75['id'],_0xd58323=Number(_0x1adb71);if(!Number['isSafeInteger'](_0xd58323)||_0xd58323<=0x0)throw CliErrors[_0x1299f4(0x1e8)]('Cannot\x20resolve\x20the\x20current\x20AK\x20userId\x20for\x20permission\x20management.');const _0x3440e7=await listRuntimeRoleUsers(_0x3c6896),_0x3cac1d=_0x3440e7[_0x1299f4(0x1f2)](_0xe9480d=>(_0xe9480d[_0x1299f4(0x1df)]===_0x1299f4(0x1ef)||_0xe9480d[_0x1299f4(0x1df)]==='OWNER')&&_0xe9480d[_0x1299f4(0x1f1)][_0x1299f4(0x1f2)](_0x34a0e9=>_0x34a0e9[_0x1299f4(0x1ec)]===_0xd58323));if(!_0x3cac1d)throw CliErrors[_0x1299f4(0x1e8)](_0x1299f4(0x1d2),_0x1299f4(0x1db));}export function assertRuntimePermitRoleConfigurable(_0x42c415){const _0x2d8a86=a46_0x156f44;if(_0x42c415['roleType']===_0x2d8a86(0x1ef)||_0x42c415[_0x2d8a86(0x1df)]===_0x2d8a86(0x1d6))throw CliErrors[_0x2d8a86(0x1e8)](_0x2d8a86(0x1e1)+_0x42c415['roleType']+_0x2d8a86(0x1d9)+_0x42c415[_0x2d8a86(0x216)]+'.','ADMIN\x20and\x20OWNER\x20have\x20full\x20runtime\x20access;\x20configure\x20USER\x20or\x20CUSTOM\x20instead.');}function asPermitRole(_0x1cd364){const _0x30e6d6=a46_0x156f44;return{'id':_0x1cd364['id'],'roleName':_0x1cd364[_0x30e6d6(0x216)],'roleType':_0x1cd364[_0x30e6d6(0x1df)],'allowed':!![]};}export function applyRuntimeRolePermission(_0x3b6f14,_0x580f92,_0x3faeb2,_0x2c65b8){const _0x22fb4e=a46_0x156f44,_0x403b70=!_0x3b6f14||_0x3b6f14[_0x22fb4e(0x20b)]===0x0,_0xb65339=_0x3b6f14?.['some'](_0x1ee740=>_0x1ee740[_0x22fb4e(0x1df)]===_0x22fb4e(0x1e7))??![];if(_0x2c65b8===_0x22fb4e(0x20d)&&(_0x403b70||_0xb65339))return{'roles':_0x3b6f14??null,'changed':![]};let _0x135221=_0x403b70||_0xb65339?_0x3faeb2[_0x22fb4e(0x20e)](_0x69dce0=>_0x69dce0['id']>0x0):[..._0x3b6f14];const _0x5b5a55=_0x135221['some'](_0x46dbdb=>_0x46dbdb['id']===_0x580f92['id']);if(_0x2c65b8===_0x22fb4e(0x20d)){if(_0x5b5a55)return{'roles':_0x135221,'changed':![]};return _0x135221[_0x22fb4e(0x201)](asPermitRole(_0x580f92)),{'roles':_0x135221,'changed':!![]};}if(!_0x5b5a55)return{'roles':_0x135221,'changed':_0x403b70||_0xb65339};_0x135221=_0x135221[_0x22fb4e(0x20e)](_0xed06f3=>_0xed06f3['id']!==_0x580f92['id']);if(_0x135221[_0x22fb4e(0x20b)]===0x0)throw CliErrors[_0x22fb4e(0x1e8)](_0x22fb4e(0x1ee),_0x22fb4e(0x205));return{'roles':_0x135221,'changed':!![]};}export function projectRuntimePagePermit(_0x160d80){const _0x4cecde=a46_0x156f44,_0x9e67f7={'menuId':_0x160d80[_0x4cecde(0x218)],'pageId':_0x160d80['pageId'],'appCode':_0x160d80[_0x4cecde(0x1f8)],'datasetCode':_0x160d80[_0x4cecde(0x217)]};for(const _0xf51d45 of PAGE_SLOT_SPECS){const _0x479e63=_0x160d80[_0xf51d45[_0x4cecde(0x1d7)]];_0x479e63&&(_0x9e67f7[_0xf51d45[_0x4cecde(0x1d7)]]={'resourceCode':_0x479e63[_0x4cecde(0x1e9)],'resourceType':_0x479e63[_0x4cecde(0x1e0)],'roles':(_0x479e63[_0x4cecde(0x1ea)]??[])[_0x4cecde(0x1d8)](_0x1ca10f=>({'id':_0x1ca10f['id'],'roleName':_0x1ca10f[_0x4cecde(0x216)],'roleType':_0x1ca10f[_0x4cecde(0x1df)]}))});}return _0x9e67f7;}export function flattenRuntimeMenuRolePermits(_0x18680f){const _0x5c9066=[],_0x58e0da=_0x1ba8b1=>{const _0x3b8005=a46_0x20dd;_0x5c9066[_0x3b8005(0x201)](_0x1ba8b1);for(const _0xa8546d of _0x1ba8b1[_0x3b8005(0x202)]??[])_0x58e0da(_0xa8546d);};for(const _0x253e71 of _0x18680f)_0x58e0da(_0x253e71);return _0x5c9066;}export function runtimePermitWriteResult(_0x1abd2b,_0x33ed59,_0x20acc7,_0x537a84,_0x4b8d65,_0x1d76ff=[]){const _0x403023=a46_0x156f44;return{'operation':_0x1abd2b,'scope':_0x403023(0x210),'selector':_0x33ed59,'before':_0x20acc7,'after':_0x537a84,'dryRun':![],'backend':_0x4b8d65,'warnings':_0x1d76ff};}export function menuPermitDto(_0x305de9,_0x22d83c,_0x5db0e3){const _0x522896=a46_0x156f44;return{..._0x22d83c['permitId']!=null?{'id':_0x22d83c[_0x522896(0x207)]}:{},'appCode':_0x305de9,'menuId':_0x22d83c['id'],'pageId':_0x22d83c[_0x522896(0x1fb)]??null,'resourceCode':String(_0x22d83c['id']),'resourceType':_0x522896(0x208),'resourceName':_0x22d83c[_0x522896(0x1f0)],'rolePermit':_0x5db0e3};}
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_0x1ef593=a47_0x535c;(function(_0x2e7b61,_0x4d2bf4){const _0x14aaf9=a47_0x535c,_0x4c6daa=_0x2e7b61();while(!![]){try{const _0x266200=parseInt(_0x14aaf9(0x93))/0x1+-parseInt(_0x14aaf9(0xa9))/0x2*(parseInt(_0x14aaf9(0x77))/0x3)+-parseInt(_0x14aaf9(0x87))/0x4*(-parseInt(_0x14aaf9(0x83))/0x5)+parseInt(_0x14aaf9(0x9c))/0x6+-parseInt(_0x14aaf9(0x85))/0x7*(parseInt(_0x14aaf9(0xa6))/0x8)+-parseInt(_0x14aaf9(0x76))/0x9*(-parseInt(_0x14aaf9(0x98))/0xa)+-parseInt(_0x14aaf9(0x7f))/0xb*(parseInt(_0x14aaf9(0x74))/0xc);if(_0x266200===_0x4d2bf4)break;else _0x4c6daa['push'](_0x4c6daa['shift']());}catch(_0x9cbeb2){_0x4c6daa['push'](_0x4c6daa['shift']());}}}(a47_0x31da,0xe24fb));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_0x1ef593(0x94),'type':a47_0x1ef593(0x69),'description':a47_0x1ef593(0xa4)},FUNCTION_NAME_FLAG={'name':a47_0x1ef593(0x8a),'type':a47_0x1ef593(0x69),'required':!![],'description':'Personal\x20Backend\x20Function\x20name,\x20for\x20example\x20loadOrders'},DESCRIPTION_FLAG={'name':'description','type':'string','description':a47_0x1ef593(0x7d)},SOURCE_SESSION_FLAG={'name':'source-session-id','type':a47_0x1ef593(0x69),'description':a47_0x1ef593(0x9b)};function normalizeFunctionName(_0x3f39b0){const _0x255767=a47_0x1ef593,_0x4f4952=String(_0x3f39b0||'')[_0x255767(0x84)]();if(!_0x4f4952||!FUNCTION_NAME_PATTERN[_0x255767(0x8c)](_0x4f4952))throw CliErrors['validation']('--name\x20must\x20be\x20a\x20valid\x20JavaScript\x20identifier,\x20for\x20example\x20loadOrders.');return _0x4f4952;}function readScriptFile(_0x48f31a){const _0x208400=a47_0x1ef593;if(!_0x48f31a)throw CliErrors[_0x208400(0x7b)]('File\x20path\x20is\x20required.');if(!existsSync(_0x48f31a))throw CliErrors[_0x208400(0x7b)]('File\x20not\x20found:\x20'+_0x48f31a);if(!statSync(_0x48f31a)[_0x208400(0x6b)]())throw CliErrors[_0x208400(0x7b)](_0x208400(0x6f)+_0x48f31a);const _0x2c61f7=readFileSync(_0x48f31a,_0x208400(0x6a));if(!_0x2c61f7[_0x208400(0x84)]())throw CliErrors[_0x208400(0x7b)](_0x208400(0x82));return _0x2c61f7;}function optionalTrimmed(_0x53fbc9){const _0x3348bb=a47_0x1ef593,_0x2d2ee5=String(_0x53fbc9||'')[_0x3348bb(0x84)]();return _0x2d2ee5||undefined;}function a47_0x31da(){const _0x3c22c5=['Update\x20a\x20Personal\x20Backend\x20Function\x20by\x20ID','verbose','File\x20is\x20not\x20a\x20regular\x20file:\x20','length','gmtCreate','Preview:\x20create\x20Personal\x20Backend\x20Function\x20','scriptType','12AfDmJK','isArray','99yLXUEi','5238399uUYKcv','create','Updates\x20the\x20Personal\x20Backend\x20Function\x20script\x20or\x20metadata.\x20Later\x20calls\x20use\x20the\x20new\x20version.','personal-bff\x20update\x20requires\x20at\x20least\x20one\x20of\x20--name,\x20--description,\x20--file,\x20or\x20--source-session-id.','validation','read','Personal\x20Backend\x20Function\x20description','/update','7986198kRbfbf','source-session-id','Saves\x20the\x20local\x20script\x20as\x20a\x20Personal\x20Backend\x20Function.\x20The\x20script\x20can\x20then\x20be\x20called\x20in\x20the\x20current\x20app.','Personal\x20Backend\x20Function\x20script\x20file\x20is\x20blank.','299035IwhXDV','trim','7OygxHt','detail','92gxvRne','map','update','name','exec','test','write','str','params','keys','sourceSessionId','bool','1558007RTtpfJ','file','version','/client/runtime-bff/personal/create','flag','1216430CSlUWL','JSON\x20object\x20passed\x20to\x20the\x20Personal\x20Backend\x20Function\x20execution','appCode','Optional\x20source\x20RuntimeAgent\x20session\x20id','3783432iowxJB','Create\x20a\x20Personal\x20Backend\x20Function\x20from\x20a\x20local\x20script\x20file','functionName','Personal\x20Backend\x20Function\x20script\x20ID','personal-bff','build','POST','list','Path\x20to\x20a\x20local\x20UTF-8\x20JavaScript\x20or\x20TypeScript\x20file','body','12024728BgaFAI','gmtModified','List\x20current\x20user\x27s\x20Personal\x20Backend\x20Function\x20scripts\x20for\x20the\x20current\x20app','2xhdnZa','updateTime','num','string','utf8','isFile','description'];a47_0x31da=function(){return _0x3c22c5;};return a47_0x31da();}function summarizeBff(_0x587a76){const _0x4b4d47=a47_0x1ef593;return{'id':_0x587a76['id'],'appCode':_0x587a76[_0x4b4d47(0x9a)],'functionName':_0x587a76[_0x4b4d47(0x9e)],'description':_0x587a76[_0x4b4d47(0x6c)],'scriptType':_0x587a76[_0x4b4d47(0x73)],'version':_0x587a76[_0x4b4d47(0x95)],'gmtModified':_0x587a76[_0x4b4d47(0xa7)],'updateTime':_0x587a76[_0x4b4d47(0x67)]};}function detailBff(_0x4279c1){const _0x3d8344=a47_0x1ef593;return{'id':_0x4279c1['id'],'appCode':_0x4279c1[_0x3d8344(0x9a)],'functionName':_0x4279c1[_0x3d8344(0x9e)],'description':_0x4279c1[_0x3d8344(0x6c)],'scriptType':_0x4279c1[_0x3d8344(0x73)],'scriptContent':_0x4279c1['scriptContent']??'','config':_0x4279c1['config'],'version':_0x4279c1[_0x3d8344(0x95)],'createUserId':_0x4279c1['createUserId'],'gmtCreate':_0x4279c1[_0x3d8344(0x71)],'gmtModified':_0x4279c1[_0x3d8344(0xa7)],'createTime':_0x4279c1['createTime'],'updateTime':_0x4279c1[_0x3d8344(0x67)]};}function buildCreateInput(_0x1c8ce3){const _0x1ba3b5=a47_0x1ef593;return{'functionName':normalizeFunctionName(_0x1c8ce3[_0x1ba3b5(0x8e)](_0x1ba3b5(0x8a))),...optionalTrimmed(_0x1c8ce3[_0x1ba3b5(0x8e)](_0x1ba3b5(0x6c)))?{'description':optionalTrimmed(_0x1c8ce3[_0x1ba3b5(0x8e)](_0x1ba3b5(0x6c)))}:{},'scriptContent':readScriptFile(_0x1c8ce3['str'](_0x1ba3b5(0x94))),...optionalTrimmed(_0x1c8ce3[_0x1ba3b5(0x8e)](_0x1ba3b5(0x80)))?{'sourceSessionId':optionalTrimmed(_0x1c8ce3[_0x1ba3b5(0x8e)](_0x1ba3b5(0x80)))}:{}};}function a47_0x535c(_0x6621c9,_0x583daa){_0x6621c9=_0x6621c9-0x67;const _0x31da95=a47_0x31da();let _0x535c79=_0x31da95[_0x6621c9];return _0x535c79;}function buildUpdateInput(_0x3c3e9c){const _0x55f533=a47_0x1ef593,_0x5c3d94={};optionalTrimmed(_0x3c3e9c[_0x55f533(0x8e)]('name'))&&(_0x5c3d94[_0x55f533(0x9e)]=normalizeFunctionName(_0x3c3e9c[_0x55f533(0x8e)](_0x55f533(0x8a))));_0x3c3e9c[_0x55f533(0x97)]('description')!==undefined&&(_0x5c3d94[_0x55f533(0x6c)]=_0x3c3e9c['str'](_0x55f533(0x6c)));optionalTrimmed(_0x3c3e9c[_0x55f533(0x8e)](_0x55f533(0x94)))&&(_0x5c3d94['scriptContent']=readScriptFile(_0x3c3e9c[_0x55f533(0x8e)](_0x55f533(0x94))));_0x3c3e9c[_0x55f533(0x97)](_0x55f533(0x80))!==undefined&&(_0x5c3d94[_0x55f533(0x91)]=_0x3c3e9c['str']('source-session-id'));if(Object[_0x55f533(0x90)](_0x5c3d94)[_0x55f533(0x70)]===0x0)throw CliErrors[_0x55f533(0x7b)](_0x55f533(0x7a));return _0x5c3d94;}function parseExecParams(_0x147f76){const _0x3c25d1=a47_0x1ef593,_0x108c9f=parseJsonParams(_0x147f76)??{};if(Array[_0x3c25d1(0x75)](_0x108c9f))throw CliErrors[_0x3c25d1(0x7b)]('--params\x20must\x20be\x20a\x20JSON\x20object.');return _0x108c9f;}const personalBffList={'service':a47_0x1ef593(0xa0),'command':a47_0x1ef593(0xa3),'description':a47_0x1ef593(0xa8),'risk':a47_0x1ef593(0x7c),'flags':[VERBOSE_FLAG],async 'execute'(_0x1e8f4f){const _0x35ee20=a47_0x1ef593,_0x13bbae=await listPersonalBffs(_0x1e8f4f[_0x35ee20(0x9a)]);return{'ok':!![],'data':{'total':_0x13bbae[_0x35ee20(0x70)],'items':_0x1e8f4f[_0x35ee20(0x92)](_0x35ee20(0x6e))?_0x13bbae:_0x13bbae[_0x35ee20(0x88)](summarizeBff)}};}},personalBffDetail={'service':'personal-bff','command':a47_0x1ef593(0x86),'description':'Show\x20one\x20Personal\x20Backend\x20Function\x20by\x20id','risk':a47_0x1ef593(0x7c),'flags':[{...ID_FLAG,'description':'Personal\x20Backend\x20Function\x20script\x20ID'}],async 'execute'(_0x217a80){const _0x19c5e3=a47_0x1ef593,_0x5abfb1=await getPersonalBff(_0x217a80[_0x19c5e3(0x68)]('id'),_0x217a80[_0x19c5e3(0x9a)]);return{'ok':!![],'data':detailBff(_0x5abfb1)};}},personalBffCreate={'service':a47_0x1ef593(0xa0),'command':a47_0x1ef593(0x78),'description':a47_0x1ef593(0x9d),'risk':a47_0x1ef593(0x8d),'confirmationDescription':a47_0x1ef593(0x81),'flags':[FUNCTION_NAME_FLAG,{...FILE_FLAG,'required':!![]},DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x5532ee){const _0x57cf2d=a47_0x1ef593,_0x3f164d=buildCreateInput(_0x5532ee),_0x3d077c=await createPersonalBff(_0x5532ee[_0x57cf2d(0x9a)],_0x3f164d);return{'ok':!![],'data':detailBff(_0x3d077c),'message':'Created\x20Personal\x20Backend\x20Function\x20'+_0x3d077c['id']+(_0x3d077c[_0x57cf2d(0x9e)]?'\x20('+_0x3d077c[_0x57cf2d(0x9e)]+')':'')};},async 'dryRun'(_0x395056){const _0x794bb3=a47_0x1ef593,_0x4d3100=buildCreateInput(_0x395056);return dryRun(_0x794bb3(0xa2),_0x794bb3(0x96))[_0x794bb3(0xa5)]({'appCode':_0x395056['appCode'],..._0x4d3100})[_0x794bb3(0x6c)](_0x794bb3(0x72)+_0x4d3100[_0x794bb3(0x9e)])[_0x794bb3(0xa1)]();}},personalBffUpdate={'service':a47_0x1ef593(0xa0),'command':a47_0x1ef593(0x89),'description':a47_0x1ef593(0x6d),'risk':a47_0x1ef593(0x8d),'confirmationDescription':a47_0x1ef593(0x79),'flags':[{...ID_FLAG,'description':a47_0x1ef593(0x9f)},{...FUNCTION_NAME_FLAG,'required':![]},FILE_FLAG,DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x4f4965){const _0x2b333a=a47_0x1ef593,_0x74762b=_0x4f4965[_0x2b333a(0x68)]('id'),_0x325b71=buildUpdateInput(_0x4f4965),_0x28b2e5=await updatePersonalBff(_0x74762b,_0x4f4965['appCode'],_0x325b71);return{'ok':!![],'data':detailBff(_0x28b2e5),'message':'Updated\x20Personal\x20Backend\x20Function\x20'+_0x28b2e5['id']+(_0x28b2e5[_0x2b333a(0x9e)]?'\x20('+_0x28b2e5[_0x2b333a(0x9e)]+')':'')};},async 'dryRun'(_0x3c4b6d){const _0x3ffa51=a47_0x1ef593,_0x17dedb=_0x3c4b6d[_0x3ffa51(0x68)]('id'),_0xe634bb=buildUpdateInput(_0x3c4b6d);return dryRun(_0x3ffa51(0xa2),'/client/runtime-bff/personal/'+_0x17dedb+_0x3ffa51(0x7e))[_0x3ffa51(0xa5)]({'appCode':_0x3c4b6d[_0x3ffa51(0x9a)],..._0xe634bb})[_0x3ffa51(0x6c)]('Preview:\x20update\x20Personal\x20Backend\x20Function\x20'+_0x17dedb)[_0x3ffa51(0xa1)]();}},personalBffExec={'service':a47_0x1ef593(0xa0),'command':a47_0x1ef593(0x8b),'description':'Execute\x20a\x20Personal\x20Backend\x20Function\x20by\x20ID,\x20optionally\x20with\x20JSON\x20params','risk':'write','confirmationDescription':'Runs\x20the\x20Personal\x20Backend\x20Function\x20script.\x20The\x20script\x20may\x20read\x20or\x20change\x20business\x20data,\x20or\x20call\x20external\x20services.','flags':[{...ID_FLAG,'description':a47_0x1ef593(0x9f)},{...PARAMS_FLAG,'description':a47_0x1ef593(0x99)}],async 'validate'(_0x25ea74){const _0x2b9382=a47_0x1ef593;parseExecParams(_0x25ea74['str'](_0x2b9382(0x8f)));},async 'execute'(_0x32ab55){const _0x471e40=a47_0x1ef593,_0x55c609=_0x32ab55['num']('id'),_0x49131e=parseExecParams(_0x32ab55[_0x471e40(0x8e)](_0x471e40(0x8f))),_0x2f64bb=await executePersonalBff(_0x55c609,_0x32ab55[_0x471e40(0x9a)],_0x49131e);return{'ok':!![],'data':{'result':_0x2f64bb},'message':'Executed\x20Personal\x20Backend\x20Function\x20'+_0x55c609};}};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_0x8fa002=a48_0x5369;(function(_0x3aa4c6,_0x23a527){const _0x48d386=a48_0x5369,_0x382ae6=_0x3aa4c6();while(!![]){try{const _0x36447a=-parseInt(_0x48d386(0xc4))/0x1*(-parseInt(_0x48d386(0xef))/0x2)+parseInt(_0x48d386(0xec))/0x3*(parseInt(_0x48d386(0xbe))/0x4)+parseInt(_0x48d386(0xbd))/0x5*(parseInt(_0x48d386(0xdc))/0x6)+-parseInt(_0x48d386(0xc2))/0x7+-parseInt(_0x48d386(0xd5))/0x8+parseInt(_0x48d386(0xf0))/0x9*(-parseInt(_0x48d386(0xc6))/0xa)+parseInt(_0x48d386(0xeb))/0xb;if(_0x36447a===_0x23a527)break;else _0x382ae6['push'](_0x382ae6['shift']());}catch(_0x6f0807){_0x382ae6['push'](_0x382ae6['shift']());}}}(a48_0x2033,0x89445));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';function a48_0x2033(){const _0x2a3f29=['auth\x20init','App\x20Management','File','run','read','Use\x20`lovrabet\x20workspace\x20use\x20--app\x20<name>`\x20instead.','has','130fmNXTy','761268jdLDZn','Schema','config-list','isSingleCommand','564137hUrJqI','Agent\x20Schedules','1GvDIMo','User\x20Accounts','40YEJyci','map','logs\x20clear','app','Backend\x20Function\x20Scripts','push','Use\x20`lovrabet\x20config\x20init`\x20for\x20node\x20configuration,\x20then\x20`lovrabet\x20auth\x20login`\x20for\x20AccessKey\x20authentication.','init','service','Self\x20Update','Notification\x20Configs','Datasets','Artifacts','defaultCommand','Instant\x20API','7956168NluAvw','Workspace','Use\x20`lovrabet\x20logs\x20show`\x20to\x20view\x20command\x20history.','list','`lovrabet\x20app\x20use`\x20has\x20been\x20removed.','get','\x20\x20[write]','39732EiRLVb','set','risk','Authentication','install','`lovrabet\x20logs\x20clear`\x20has\x20been\x20removed.','logs','CLI\x20Built-in\x20Skill','login','use','Runtime\x20Permissions','Use\x20`lovrabet\x20workspace\x20init\x20--appcode\x20<code>`\x20instead.','Knowledge\x20Base','app\x20init','clear','9646219KzkWKZ','9PTqPuM','description','Runtime\x20App\x20Config','952234txlwiS','1032327JcGLhh','values','command'];a48_0x2033=function(){return _0x2a3f29;};return a48_0x2033();}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';function a48_0x5369(_0x493eef,_0x428b52){_0x493eef=_0x493eef-0xbd;const _0x20334d=a48_0x2033();let _0x536958=_0x20334d[_0x493eef];return _0x536958;}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(_0x10bb4d){const _0x47f661=a48_0x5369;for(const _0x4fa3b2 of _0x10bb4d){definitions['set'](_0x4fa3b2[_0x47f661(0xce)]+':'+_0x4fa3b2[_0x47f661(0xf2)],_0x4fa3b2);let _0x23ba12=serviceGroups[_0x47f661(0xda)](_0x4fa3b2[_0x47f661(0xce)]);!_0x23ba12&&(_0x23ba12=[],serviceGroups[_0x47f661(0xdd)](_0x4fa3b2['service'],_0x23ba12)),_0x23ba12[_0x47f661(0xcb)](_0x4fa3b2);}}function registerService(_0x34e583,_0x3dea11,_0x5b9e1c){const _0x4a8663=a48_0x5369;registerDefinitions(_0x3dea11);const _0x2cba1f=_0x469234=>_0x469234===_0x4a8663(0xf7)?'':_0x469234==='write'?_0x4a8663(0xdb):'\x20\x20[high-risk-write]',_0xf8c609={'service':_0x3dea11[0x0][_0x4a8663(0xce)],'label':_0x34e583,'commands':_0x3dea11[_0x4a8663(0xc7)](_0x9610=>({'command':_0x9610[_0x4a8663(0xf2)],'description':_0x9610[_0x4a8663(0xed)],'tag':_0x2cba1f(_0x9610[_0x4a8663(0xde)])})),'defaultCommand':_0x5b9e1c?.[_0x4a8663(0xd3)]??(_0x5b9e1c?.[_0x4a8663(0xc1)]?_0x3dea11[0x0][_0x4a8663(0xf2)]:undefined),'isSingleCommand':_0x5b9e1c?.[_0x4a8663(0xc1)]};serviceRegistry[_0x4a8663(0xcb)](_0xf8c609),serviceByName['set'](_0xf8c609[_0x4a8663(0xce)],_0xf8c609);}registerService(a48_0x8fa002(0xdf),authDefinitions,{'defaultCommand':a48_0x8fa002(0xe4)}),registerService(a48_0x8fa002(0xc5),userAccountDefinitions),registerService(a48_0x8fa002(0xf4),appDefinitions,{'defaultCommand':'list'}),registerService(a48_0x8fa002(0xd6),workspaceDefinitions),registerService(a48_0x8fa002(0xee),appConfigDefinitions),registerService('Configuration',configDefinitions,{'defaultCommand':a48_0x8fa002(0xd8)}),registerService('Runtime\x20Roles',roleDefinitions,{'defaultCommand':a48_0x8fa002(0xd8)}),registerService(a48_0x8fa002(0xe6),permitDefinitions),registerService('API\x20Documentation',apiDocDefinitions),registerService(a48_0x8fa002(0xd1),datasetDefinitions),registerService(a48_0x8fa002(0xd4),dataDefinitions),registerService('SQL\x20Queries',sqlDefinitions),registerService(a48_0x8fa002(0xca),bffDefinitions),registerService('Personal\x20Backend\x20Function',personalBffDefinitions),registerService(a48_0x8fa002(0xd2),artifactDefinitions),registerService(a48_0x8fa002(0xf5),fileDefinitions),registerService('OCR',ocrDefinitions),registerService(a48_0x8fa002(0xe8),kbDefinitions),registerService(a48_0x8fa002(0xd0),notificationDefinitions,{'defaultCommand':a48_0x8fa002(0xc0)}),registerService(a48_0x8fa002(0xc3),scheduleDefinitions,{'defaultCommand':'list'}),registerService('Service\x20Tree',serviceDefinitions,{'defaultCommand':a48_0x8fa002(0xd8)}),registerService('Skills',skillDefinitions,{'defaultCommand':a48_0x8fa002(0xe0)}),registerService(a48_0x8fa002(0xe3),cliSkillDefinitions,{'defaultCommand':a48_0x8fa002(0xe0)}),registerService(a48_0x8fa002(0xcf),[updateDefinition],{'defaultCommand':a48_0x8fa002(0xf6),'isSingleCommand':!![]}),registerService('Diagnostics',[doctorDefinition],{'isSingleCommand':!![]}),registerService(a48_0x8fa002(0xbf),[schemaDefinition],{'isSingleCommand':!![]}),registerService('Logs',logsDefinitions,{'defaultCommand':'show'});export function findDefinition(_0x3f92d6,_0x3ecabb){const _0x116b95=a48_0x8fa002;return definitions[_0x116b95(0xda)](_0x3f92d6+':'+_0x3ecabb);}export function resolveRemovedCommand(_0x5697b0,_0x4b1c35){const _0x3e24a6=a48_0x8fa002;if(_0x5697b0==='auth'&&_0x4b1c35===_0x3e24a6(0xcd))return{'command':_0x3e24a6(0xf3),'message':'`lovrabet\x20auth\x20init`\x20has\x20been\x20removed.','hint':_0x3e24a6(0xcc)};if(_0x5697b0===_0x3e24a6(0xc9)&&_0x4b1c35===_0x3e24a6(0xcd))return{'command':_0x3e24a6(0xe9),'message':'`lovrabet\x20app\x20init`\x20has\x20been\x20removed.','hint':_0x3e24a6(0xe7)};if(_0x5697b0==='app'&&_0x4b1c35===_0x3e24a6(0xe5))return{'command':'app\x20use','message':_0x3e24a6(0xd9),'hint':_0x3e24a6(0xf8)};if(_0x5697b0===_0x3e24a6(0xe2)&&_0x4b1c35===_0x3e24a6(0xea))return{'command':_0x3e24a6(0xc8),'message':_0x3e24a6(0xe1),'hint':_0x3e24a6(0xd7)};return undefined;}export function isKnownService(_0x3aefe0){const _0x54259d=a48_0x8fa002;return serviceByName[_0x54259d(0xf9)](_0x3aefe0);}export function getServiceEntry(_0x205941){const _0x4ee8d4=a48_0x8fa002;return serviceByName[_0x4ee8d4(0xda)](_0x205941);}export function getAllDefinitions(){const _0x156089=a48_0x8fa002;return Array['from'](definitions[_0x156089(0xf1)]());}
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_0x2b456a=a49_0x1885;(function(_0x13bd75,_0x33f901){const _0x19f5d7=a49_0x1885,_0x38ded8=_0x13bd75();while(!![]){try{const _0x49131b=-parseInt(_0x19f5d7(0xad))/0x1*(parseInt(_0x19f5d7(0xb3))/0x2)+-parseInt(_0x19f5d7(0x9f))/0x3+parseInt(_0x19f5d7(0xaa))/0x4*(-parseInt(_0x19f5d7(0xb1))/0x5)+-parseInt(_0x19f5d7(0x98))/0x6*(-parseInt(_0x19f5d7(0xb2))/0x7)+parseInt(_0x19f5d7(0xac))/0x8*(-parseInt(_0x19f5d7(0xa2))/0x9)+-parseInt(_0x19f5d7(0xb0))/0xa*(-parseInt(_0x19f5d7(0xa3))/0xb)+parseInt(_0x19f5d7(0x9e))/0xc;if(_0x49131b===_0x33f901)break;else _0x38ded8['push'](_0x38ded8['shift']());}catch(_0x2b283b){_0x38ded8['push'](_0x38ded8['shift']());}}}(a49_0x2b82,0x26bc7));import{createRuntimeAppRole}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';function a49_0x2b82(){const _0x3b68e7=['/client/permit/role/create','8ZXQDLX','19070cSegPH','appCode','Role\x20name','110xmZPtO','15QEcvWE','168zNKkLz','32lNRdtF','high-risk-write','45624dIhOZN','trim','name','remark','str','string','4856400qnRwks','45099XQonYw','CUSTOM','create','147267HlomcU','221771nERsTk','validation','Preview:\x20create\x20a\x20runtime\x20CUSTOM\x20role','POST','description','role','Create\x20a\x20runtime\x20CUSTOM\x20role','418384iMuoWs'];a49_0x2b82=function(){return _0x3b68e7;};return a49_0x2b82();}import{projectRuntimeRole,runtimeRoleWriteResult}from'../../commands/role/shared.js';function input(_0xa0d186){const _0x3db085=a49_0x1885,_0x31ed8b=_0xa0d186[_0x3db085(0x9c)](_0x3db085(0x9a))[_0x3db085(0x99)]();if(!_0x31ed8b)throw CliErrors[_0x3db085(0xa4)]('--name\x20must\x20not\x20be\x20blank.');const _0x32d02f=_0xa0d186[_0x3db085(0x9c)](_0x3db085(0x9b))['trim']();return{'appCode':_0xa0d186[_0x3db085(0xae)],'roleName':_0x31ed8b,..._0x32d02f?{'remark':_0x32d02f}:{}};}function a49_0x1885(_0x568753,_0x29a631){_0x568753=_0x568753-0x98;const _0x2b8276=a49_0x2b82();let _0x188541=_0x2b8276[_0x568753];return _0x188541;}export const roleCreate={'service':a49_0x2b456a(0xa8),'command':a49_0x2b456a(0xa1),'description':a49_0x2b456a(0xa9),'risk':a49_0x2b456a(0xb4),'confirmationDescription':'Creates\x20a\x20custom\x20role\x20in\x20the\x20current\x20runtime\x20app.\x20After\x20creation\x20it\x20can\x20be\x20used\x20for\x20member\x20and\x20resource\x20permissions.','flags':[{'name':'name','type':a49_0x2b456a(0x9d),'required':!![],'description':a49_0x2b456a(0xaf)},{'name':a49_0x2b456a(0x9b),'type':'string','description':'Optional\x20role\x20remark'}],async 'validate'(_0x28e3aa){input(_0x28e3aa);},async 'dryRun'(_0x33f086){const _0x4b31fc=a49_0x2b456a;return dryRun('POST',_0x4b31fc(0xab))['body']({'roleType':_0x4b31fc(0xa0),...input(_0x33f086)})[_0x4b31fc(0xa7)](_0x4b31fc(0xa5))['build']();},async 'execute'(_0x98e2b2){const _0x4ba00a=a49_0x2b456a,_0x2cf134=await createRuntimeAppRole(input(_0x98e2b2));return{'ok':!![],'data':runtimeRoleWriteResult(_0x4ba00a(0xa1),{'roleId':_0x2cf134['id']},null,projectRuntimeRole(_0x2cf134),{'method':_0x4ba00a(0xa6),'path':_0x4ba00a(0xab)})};}};
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_0x3ba868=a50_0x5557;(function(_0xf13829,_0x5076f8){const _0x1af3d3=a50_0x5557,_0x217828=_0xf13829();while(!![]){try{const _0xe7f79f=-parseInt(_0x1af3d3(0xd5))/0x1+parseInt(_0x1af3d3(0xdc))/0x2*(-parseInt(_0x1af3d3(0xd8))/0x3)+-parseInt(_0x1af3d3(0xd0))/0x4*(-parseInt(_0x1af3d3(0xdb))/0x5)+parseInt(_0x1af3d3(0xd2))/0x6*(parseInt(_0x1af3d3(0xd6))/0x7)+parseInt(_0x1af3d3(0xd3))/0x8+-parseInt(_0x1af3d3(0xda))/0x9*(-parseInt(_0x1af3d3(0xe5))/0xa)+parseInt(_0x1af3d3(0xde))/0xb;if(_0xe7f79f===_0x5076f8)break;else _0x217828['push'](_0x217828['shift']());}catch(_0x55cbf4){_0x217828['push'](_0x217828['shift']());}}}(a50_0x1565,0xc4668));import{deleteRuntimeAppRole}from'../../core/api-client.js';function a50_0x5557(_0x391777,_0x50e04b){_0x391777=_0x391777-0xd0;const _0x15653e=a50_0x1565();let _0x5557fc=_0x15653e[_0x391777];return _0x5557fc;}function a50_0x1565(){const _0x276d86=['build','10TWZuxI','4ovPxCS','POST','111480NHAqVL','4092904wfBwMv','Delete\x20a\x20runtime\x20CUSTOM\x20role','1288667Cocgkl','112HreVGD','appCode','75DPDGTV','num','10901997fLPeRq','2426660RhFFuj','70388VJcBhU','role','5141565yEivaC','body','description','high-risk-write','delete','/client/permit/role/delete'];a50_0x1565=function(){return _0x276d86;};return a50_0x1565();}import{dryRun}from'../../framework/dryrun.js';import{assertCustomRuntimeRole,getRuntimeRoleById,projectRuntimeRole,ROLE_ID_FLAG,runtimeRoleWriteResult}from'../../commands/role/shared.js';async function prepare(_0x1b7803){const _0xa2b798=a50_0x5557,_0x2d7613=await getRuntimeRoleById(_0x1b7803[_0xa2b798(0xd7)],_0x1b7803[_0xa2b798(0xd9)]('id'));return assertCustomRuntimeRole(_0x2d7613,_0xa2b798(0xe2)),_0x2d7613;}export const roleDelete={'service':a50_0x3ba868(0xdd),'command':'delete','description':a50_0x3ba868(0xd4),'risk':a50_0x3ba868(0xe1),'confirmationDescription':'Deletes\x20the\x20custom\x20role\x20in\x20the\x20current\x20runtime\x20app.\x20Membership\x20and\x20permission\x20config\x20for\x20that\x20role\x20may\x20become\x20invalid.','flags':[ROLE_ID_FLAG],async 'dryRun'(_0x492d3c){const _0x33ac0d=a50_0x3ba868,_0x58b9f8=await prepare(_0x492d3c);return dryRun('POST','/client/permit/role/delete')[_0x33ac0d(0xdf)]({'id':_0x58b9f8['id']})[_0x33ac0d(0xe0)]('Preview:\x20delete\x20a\x20runtime\x20CUSTOM\x20role')[_0x33ac0d(0xe4)]();},async 'execute'(_0x43f613){const _0xac9e80=a50_0x3ba868,_0x1b3946=await prepare(_0x43f613);return await deleteRuntimeAppRole(_0x1b3946['id']),{'ok':!![],'data':runtimeRoleWriteResult(_0xac9e80(0xe2),{'roleId':_0x1b3946['id']},projectRuntimeRole(_0x1b3946),null,{'method':_0xac9e80(0xd1),'path':_0xac9e80(0xe3)})};}};
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
- function a51_0x4fa6(){const _0x1f3c5b=['read','734573lTSQNu','19qwbijL','runtime','appCode','279quZniq','27510QlJYJg','Show\x20one\x20runtime\x20role\x20by\x20ID','num','2031132jlpDYt','172270kqSLST','364233MrpICe','1290cjbbHp','2932MZSBKR','detail','254744TblaDM'];a51_0x4fa6=function(){return _0x1f3c5b;};return a51_0x4fa6();}const a51_0x418edf=a51_0x4885;(function(_0x65d299,_0xd5d62a){const _0x464554=a51_0x4885,_0x28e90d=_0x65d299();while(!![]){try{const _0x55e6b8=-parseInt(_0x464554(0x154))/0x1*(-parseInt(_0x464554(0x158))/0x2)+-parseInt(_0x464554(0x15d))/0x3+parseInt(_0x464554(0x14f))/0x4*(parseInt(_0x464554(0x14e))/0x5)+parseInt(_0x464554(0x15b))/0x6+parseInt(_0x464554(0x153))/0x7+-parseInt(_0x464554(0x151))/0x8+-parseInt(_0x464554(0x157))/0x9*(parseInt(_0x464554(0x15c))/0xa);if(_0x55e6b8===_0xd5d62a)break;else _0x28e90d['push'](_0x28e90d['shift']());}catch(_0x86488f){_0x28e90d['push'](_0x28e90d['shift']());}}}(a51_0x4fa6,0x32725));function a51_0x4885(_0x453b2a,_0x5ae23b){_0x453b2a=_0x453b2a-0x14e;const _0x4fa672=a51_0x4fa6();let _0x488519=_0x4fa672[_0x453b2a];return _0x488519;}import{getRuntimeRoleById,projectRuntimeRole,ROLE_ID_FLAG}from'../../commands/role/shared.js';export const roleDetail={'service':'role','command':a51_0x418edf(0x150),'description':a51_0x418edf(0x159),'risk':a51_0x418edf(0x152),'flags':[ROLE_ID_FLAG],async 'execute'(_0x4def66){const _0x272267=a51_0x418edf,_0x1b6d80=await getRuntimeRoleById(_0x4def66[_0x272267(0x156)],_0x4def66[_0x272267(0x15a)]('id'));return{'ok':!![],'data':{'scope':_0x272267(0x155),'role':projectRuntimeRole(_0x1b6d80)}};}};
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(_0x2f5ea4,_0x267037){const _0x4a04c3=a52_0x4566,_0x19132f=_0x2f5ea4();while(!![]){try{const _0x35f638=parseInt(_0x4a04c3(0x95))/0x1*(parseInt(_0x4a04c3(0x92))/0x2)+parseInt(_0x4a04c3(0x96))/0x3*(-parseInt(_0x4a04c3(0x9b))/0x4)+parseInt(_0x4a04c3(0x97))/0x5*(-parseInt(_0x4a04c3(0x91))/0x6)+-parseInt(_0x4a04c3(0x99))/0x7+parseInt(_0x4a04c3(0x98))/0x8*(-parseInt(_0x4a04c3(0x90))/0x9)+parseInt(_0x4a04c3(0x9a))/0xa+-parseInt(_0x4a04c3(0x93))/0xb*(-parseInt(_0x4a04c3(0x94))/0xc);if(_0x35f638===_0x267037)break;else _0x19132f['push'](_0x19132f['shift']());}catch(_0x36136d){_0x19132f['push'](_0x19132f['shift']());}}}(a52_0x5b2d,0x2517c));import{roleList}from'../../commands/role/list.js';function a52_0x5b2d(){const _0x8a1ddb=['22818PoSghV','5WwNYjR','111424nWnjzx','1103067cNXCiV','2276600ioVjbh','36AVmrXq','180CSEeyr','74082EHlSQi','114740wdInAl','11QHRDuG','1852368UhBgfs','5RPLlsM'];a52_0x5b2d=function(){return _0x8a1ddb;};return a52_0x5b2d();}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';function a52_0x4566(_0x19b13b,_0x328283){_0x19b13b=_0x19b13b-0x90;const _0x5b2d93=a52_0x5b2d();let _0x45668d=_0x5b2d93[_0x19b13b];return _0x45668d;}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_0xca3cd=a53_0x46dd;(function(_0x583db5,_0xb0a40d){const _0x12fad1=a53_0x46dd,_0x5de340=_0x583db5();while(!![]){try{const _0x3075ae=parseInt(_0x12fad1(0x1c8))/0x1+parseInt(_0x12fad1(0x1c0))/0x2+-parseInt(_0x12fad1(0x1d2))/0x3*(parseInt(_0x12fad1(0x1c6))/0x4)+-parseInt(_0x12fad1(0x1c4))/0x5*(parseInt(_0x12fad1(0x1d6))/0x6)+parseInt(_0x12fad1(0x1c7))/0x7*(parseInt(_0x12fad1(0x1cd))/0x8)+parseInt(_0x12fad1(0x1d7))/0x9+-parseInt(_0x12fad1(0x1d0))/0xa;if(_0x3075ae===_0xb0a40d)break;else _0x5de340['push'](_0x5de340['shift']());}catch(_0x2618d2){_0x5de340['push'](_0x5de340['shift']());}}}(a53_0x38c0,0xe8455));function a53_0x38c0(){const _0x16c5ca=['2289414QCmDoY','Invalid\x20runtime\x20role\x20type:\x20','isSafeInteger','toUpperCase','5zmSETU','Runtime\x20role\x20type','3145236MoCJaG','7678391OvAzdS','1008795FpAfKY','paging','number','role','List\x20runtime\x20roles\x20for\x20the\x20current\x20app','8tujhNc','list','string','9953410mPhmVo','filter','6MArNOd','num','Fuzzy\x20role-name\x20filter','runtime','6590394nctruA','12305916ejmvLZ','length','map','read','str','roleType','includes','validation','page','pagesize','slice','--pagesize\x20must\x20be\x20an\x20integer\x20from\x201\x20to\x20100.','appCode','type','name','trim'];a53_0x38c0=function(){return _0x16c5ca;};return a53_0x38c0();}import{listRuntimeAppRoles}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{listAllRuntimeRoles,projectRuntimeRole,RUNTIME_ROLE_TYPES}from'../../commands/role/shared.js';function a53_0x46dd(_0x36d510,_0x150326){_0x36d510=_0x36d510-0x1be;const _0x38c02a=a53_0x38c0();let _0x46dd90=_0x38c02a[_0x36d510];return _0x46dd90;}export const roleList={'service':a53_0xca3cd(0x1cb),'command':a53_0xca3cd(0x1ce),'description':a53_0xca3cd(0x1cc),'risk':a53_0xca3cd(0x1da),'flags':[{'name':a53_0xca3cd(0x1e4),'type':a53_0xca3cd(0x1cf),'enum':RUNTIME_ROLE_TYPES,'description':a53_0xca3cd(0x1c5)},{'name':a53_0xca3cd(0x1be),'type':'string','description':a53_0xca3cd(0x1d4)},{'name':a53_0xca3cd(0x1df),'type':a53_0xca3cd(0x1ca),'default':0x1,'description':'Page\x20number'},{'name':a53_0xca3cd(0x1e0),'type':a53_0xca3cd(0x1ca),'default':0x64,'description':'Page\x20size\x20from\x201\x20to\x20100'}],async 'validate'(_0x5225d4){const _0xf1ab26=a53_0xca3cd,_0x2243d1=_0x5225d4[_0xf1ab26(0x1db)]('type')[_0xf1ab26(0x1c3)]();if(_0x2243d1&&!RUNTIME_ROLE_TYPES[_0xf1ab26(0x1dd)](_0x2243d1))throw CliErrors['validation'](_0xf1ab26(0x1c1)+_0x2243d1+'.');const _0x192f27=_0x5225d4['num'](_0xf1ab26(0x1df),0x1),_0x37ac7b=_0x5225d4[_0xf1ab26(0x1d3)]('pagesize',0x64);if(!Number[_0xf1ab26(0x1c2)](_0x192f27)||_0x192f27<0x1)throw CliErrors[_0xf1ab26(0x1de)]('--page\x20must\x20be\x20a\x20positive\x20integer.');if(!Number[_0xf1ab26(0x1c2)](_0x37ac7b)||_0x37ac7b<0x1||_0x37ac7b>0x64)throw CliErrors[_0xf1ab26(0x1de)](_0xf1ab26(0x1e2));},async 'execute'(_0x34fc03){const _0x165b23=a53_0xca3cd,_0x2a9074=_0x34fc03[_0x165b23(0x1db)]('type')['toUpperCase'](),_0x3e59b5=_0x34fc03[_0x165b23(0x1db)](_0x165b23(0x1be))[_0x165b23(0x1bf)](),_0x4cc0c2=_0x34fc03[_0x165b23(0x1d3)]('page',0x1),_0x5d4c36=_0x34fc03[_0x165b23(0x1d3)]('pagesize',0x64);if(_0x2a9074){const _0x1fe217=(await listAllRuntimeRoles(_0x34fc03[_0x165b23(0x1e3)],{..._0x3e59b5?{'roleName':_0x3e59b5}:{}}))[_0x165b23(0x1d1)](_0x291945=>_0x291945[_0x165b23(0x1dc)]===_0x2a9074),_0x4bb7c1=(_0x4cc0c2-0x1)*_0x5d4c36;return{'ok':!![],'data':{'scope':'runtime','roles':_0x1fe217[_0x165b23(0x1e1)](_0x4bb7c1,_0x4bb7c1+_0x5d4c36)[_0x165b23(0x1d9)](projectRuntimeRole),'paging':{'currentPage':_0x4cc0c2,'pageSize':_0x5d4c36,'totalCount':_0x1fe217[_0x165b23(0x1d8)]}}};}const _0x235a18=await listRuntimeAppRoles(_0x34fc03[_0x165b23(0x1e3)],{..._0x3e59b5?{'roleName':_0x3e59b5}:{},'currentPage':_0x4cc0c2,'pageSize':_0x5d4c36});return{'ok':!![],'data':{'scope':_0x165b23(0x1d5),'roles':_0x235a18['items'][_0x165b23(0x1d9)](projectRuntimeRole),'paging':_0x235a18[_0x165b23(0x1c9)]}};}};
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;