@lovrabet/rabetbase-cli 2.3.12-beta.1 → 2.3.13-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 (260) hide show
  1. package/lib/api/api-doc.js +1 -1
  2. package/lib/api/fetch-model-list.js +1 -1
  3. package/lib/api/generate-api-file.js +1 -1
  4. package/lib/auth/auth-server-ui.js +1 -1
  5. package/lib/auth/auth-server.js +1 -1
  6. package/lib/auth/constant.js +1 -1
  7. package/lib/auth/get-cookie.js +1 -1
  8. package/lib/auth/get-session-user.js +1 -1
  9. package/lib/auth/is-session-valid.js +1 -1
  10. package/lib/auth/login-success-html.js +1 -1
  11. package/lib/auth/logout.js +1 -1
  12. package/lib/cli-flags.js +1 -1
  13. package/lib/cli.js +1 -1
  14. package/lib/commands/api/generate.js +1 -1
  15. package/lib/commands/api/index.js +1 -1
  16. package/lib/commands/api/list.js +1 -1
  17. package/lib/commands/api/pull.js +1 -1
  18. package/lib/commands/api/shared.js +1 -1
  19. package/lib/commands/app/add.js +1 -1
  20. package/lib/commands/app/index.js +1 -1
  21. package/lib/commands/app/list.js +1 -1
  22. package/lib/commands/app/remote-directory.js +1 -1
  23. package/lib/commands/app/remove.js +1 -1
  24. package/lib/commands/app/shared.js +1 -1
  25. package/lib/commands/app-config/delete.js +1 -1
  26. package/lib/commands/app-config/get.js +1 -1
  27. package/lib/commands/app-config/index.js +1 -1
  28. package/lib/commands/app-config/list.js +1 -1
  29. package/lib/commands/app-config/set.js +1 -1
  30. package/lib/commands/app-config/shared.js +1 -1
  31. package/lib/commands/auth/index.js +1 -1
  32. package/lib/commands/bff/create.js +1 -1
  33. package/lib/commands/bff/delete.js +1 -1
  34. package/lib/commands/bff/detail.js +1 -1
  35. package/lib/commands/bff/index.js +1 -1
  36. package/lib/commands/bff/list.js +1 -1
  37. package/lib/commands/bff/pull.js +1 -1
  38. package/lib/commands/bff/push.js +1 -1
  39. package/lib/commands/bff/status.js +1 -1
  40. package/lib/commands/cli-skill/index.js +1 -1
  41. package/lib/commands/cli-update.js +1 -1
  42. package/lib/commands/codegen/index.js +1 -1
  43. package/lib/commands/codegen/sdk.js +1 -1
  44. package/lib/commands/codegen/sql.js +1 -1
  45. package/lib/commands/common/app-registry.js +1 -1
  46. package/lib/commands/common/app-selector.js +1 -1
  47. package/lib/commands/common/async-task.js +1 -1
  48. package/lib/commands/common/dry-run.js +1 -1
  49. package/lib/commands/common/flags.js +1 -1
  50. package/lib/commands/common/local-file.js +1 -1
  51. package/lib/commands/common/validate.js +1 -1
  52. package/lib/commands/config/get.js +1 -1
  53. package/lib/commands/config/index.js +1 -1
  54. package/lib/commands/config/list.js +1 -1
  55. package/lib/commands/config/set.js +1 -1
  56. package/lib/commands/config/shared.js +1 -1
  57. package/lib/commands/data/filter.js +1 -1
  58. package/lib/commands/data/getOne.js +1 -1
  59. package/lib/commands/data/index.js +1 -1
  60. package/lib/commands/data/shared.js +1 -1
  61. package/lib/commands/dataset/business-group-update.js +1 -1
  62. package/lib/commands/dataset/capability.js +1 -1
  63. package/lib/commands/dataset/delete.js +1 -1
  64. package/lib/commands/dataset/detail.js +1 -1
  65. package/lib/commands/dataset/extend-update.js +1 -1
  66. package/lib/commands/dataset/field-update.js +1 -1
  67. package/lib/commands/dataset/generate.js +1 -1
  68. package/lib/commands/dataset/index.js +1 -1
  69. package/lib/commands/dataset/list.js +1 -1
  70. package/lib/commands/dataset/operations.js +1 -1
  71. package/lib/commands/dataset/relation-audit.js +1 -1
  72. package/lib/commands/dataset/relation-create.js +1 -1
  73. package/lib/commands/dataset/relation-delete.js +1 -1
  74. package/lib/commands/dataset/relation-shared.js +1 -1
  75. package/lib/commands/dataset/relation-update.js +1 -1
  76. package/lib/commands/dataset/relations.js +1 -1
  77. package/lib/commands/dataset/rename.js +1 -1
  78. package/lib/commands/dataset/restore.js +1 -1
  79. package/lib/commands/db/analysis-batching.js +1 -1
  80. package/lib/commands/db/analyze-batch-plan.js +1 -1
  81. package/lib/commands/db/analyze-cancel.js +1 -1
  82. package/lib/commands/db/analyze-start.js +1 -1
  83. package/lib/commands/db/analyze-status.js +1 -1
  84. package/lib/commands/db/create.js +1 -1
  85. package/lib/commands/db/delete.js +1 -1
  86. package/lib/commands/db/detail.js +1 -1
  87. package/lib/commands/db/diff.js +1 -1
  88. package/lib/commands/db/index.js +1 -1
  89. package/lib/commands/db/list.js +1 -1
  90. package/lib/commands/db/shared.js +1 -1
  91. package/lib/commands/db/tables.js +1 -1
  92. package/lib/commands/db/test.js +1 -1
  93. package/lib/commands/db/update.js +1 -1
  94. package/lib/commands/doctor.js +1 -1
  95. package/lib/commands/file/index.js +1 -1
  96. package/lib/commands/init/index.js +1 -1
  97. package/lib/commands/issue/index.js +1 -1
  98. package/lib/commands/issue/nudge.js +1 -1
  99. package/lib/commands/issue/report.js +1 -1
  100. package/lib/commands/issue/shared.js +1 -1
  101. package/lib/commands/logs/index.js +1 -1
  102. package/lib/commands/menu/delete.js +1 -1
  103. package/lib/commands/menu/external-link-create.js +1 -1
  104. package/lib/commands/menu/group-create.js +1 -1
  105. package/lib/commands/menu/group-update.js +1 -1
  106. package/lib/commands/menu/index.js +1 -1
  107. package/lib/commands/menu/list.js +1 -1
  108. package/lib/commands/menu/move.js +1 -1
  109. package/lib/commands/menu/regroup-start.js +1 -1
  110. package/lib/commands/menu/shared/compare-table.js +1 -1
  111. package/lib/commands/menu/shared/delete-plan.js +1 -1
  112. package/lib/commands/menu/shared/facts.js +1 -1
  113. package/lib/commands/menu/shared/index.js +1 -1
  114. package/lib/commands/menu/shared/inquirer.js +1 -1
  115. package/lib/commands/menu/shared/local-pages.js +1 -1
  116. package/lib/commands/menu/shared/logic.js +1 -1
  117. package/lib/commands/menu/shared/mutations.js +1 -1
  118. package/lib/commands/menu/shared/service.js +1 -1
  119. package/lib/commands/menu/shared/sync-core.js +1 -1
  120. package/lib/commands/menu/shared/update-core.js +1 -1
  121. package/lib/commands/menu/shared/valid-url.js +1 -1
  122. package/lib/commands/menu/sync.js +1 -1
  123. package/lib/commands/menu/update.js +1 -1
  124. package/lib/commands/notification/config-list.js +1 -1
  125. package/lib/commands/notification/index.js +1 -1
  126. package/lib/commands/page/generate-start.js +1 -1
  127. package/lib/commands/page/generate-status.js +1 -1
  128. package/lib/commands/page/index.js +1 -1
  129. package/lib/commands/page/pull.js +1 -1
  130. package/lib/commands/page/push.js +1 -1
  131. package/lib/commands/page/relation-audit.js +1 -1
  132. package/lib/commands/page/shared.js +1 -1
  133. package/lib/commands/page/standard-page-status.js +1 -1
  134. package/lib/commands/page/sync.js +1 -1
  135. package/lib/commands/permit/index.js +1 -1
  136. package/lib/commands/permit/page-get.js +1 -1
  137. package/lib/commands/permit/page-set.js +1 -1
  138. package/lib/commands/permit/role-apis-set.js +1 -1
  139. package/lib/commands/permit/role-menus-set.js +1 -1
  140. package/lib/commands/permit/role-menus.js +1 -1
  141. package/lib/commands/permit/shared.js +1 -1
  142. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  143. package/lib/commands/project/create/format-elapsed.js +1 -1
  144. package/lib/commands/project/create/main.js +1 -1
  145. package/lib/commands/project/create/non-interactive.js +1 -1
  146. package/lib/commands/project/create/project-template-path.js +1 -1
  147. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  148. package/lib/commands/project/create/use-format-code.js +1 -1
  149. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  150. package/lib/commands/project/index.js +1 -1
  151. package/lib/commands/project/init.js +1 -1
  152. package/lib/commands/project/upgrade.js +1 -1
  153. package/lib/commands/registry.js +1 -1
  154. package/lib/commands/role/create.js +1 -1
  155. package/lib/commands/role/delete.js +1 -1
  156. package/lib/commands/role/detail.js +1 -1
  157. package/lib/commands/role/index.js +1 -1
  158. package/lib/commands/role/list.js +1 -1
  159. package/lib/commands/role/shared.js +1 -1
  160. package/lib/commands/role/update.js +1 -1
  161. package/lib/commands/role/user-add.js +1 -1
  162. package/lib/commands/role/user-remove.js +1 -1
  163. package/lib/commands/role/user-resolve.js +1 -1
  164. package/lib/commands/run/index.js +1 -1
  165. package/lib/commands/schema.js +1 -1
  166. package/lib/commands/sql/create.js +1 -1
  167. package/lib/commands/sql/delete.js +1 -1
  168. package/lib/commands/sql/detail.js +1 -1
  169. package/lib/commands/sql/exec.js +1 -1
  170. package/lib/commands/sql/index.js +1 -1
  171. package/lib/commands/sql/list.js +1 -1
  172. package/lib/commands/sql/pull.js +1 -1
  173. package/lib/commands/sql/push.js +1 -1
  174. package/lib/commands/sql/save.js +1 -1
  175. package/lib/commands/sql/shared.js +1 -1
  176. package/lib/commands/sql/status.js +1 -1
  177. package/lib/commands/sql/validate.js +1 -1
  178. package/lib/commands/task/index.js +1 -1
  179. package/lib/commands/task/status.js +1 -1
  180. package/lib/commands/workspace/add.js +1 -1
  181. package/lib/commands/workspace/index.js +1 -1
  182. package/lib/commands/workspace/remove.js +1 -1
  183. package/lib/config/schema.js +1 -1
  184. package/lib/constant/cdn.js +1 -1
  185. package/lib/constant/cli.js +1 -1
  186. package/lib/constant/defaults.js +1 -1
  187. package/lib/constant/domain.js +1 -1
  188. package/lib/constant/env.js +1 -1
  189. package/lib/constant/output.js +1 -1
  190. package/lib/constant/paths.js +1 -1
  191. package/lib/constant/risk.js +1 -1
  192. package/lib/context/app-resolver.js +1 -1
  193. package/lib/context/auth-resolver.js +1 -1
  194. package/lib/context/config-loader.js +1 -1
  195. package/lib/context.js +1 -1
  196. package/lib/core/alias-resolver.js +1 -1
  197. package/lib/core/api-client.js +1 -1
  198. package/lib/core/bff/config.js +1 -1
  199. package/lib/core/bff/file-system.js +1 -1
  200. package/lib/core/bff/hash.js +1 -1
  201. package/lib/core/bff/lock.js +1 -1
  202. package/lib/core/bff/utils.js +1 -1
  203. package/lib/core/db-resolver.js +1 -1
  204. package/lib/core/page/file-system.js +1 -1
  205. package/lib/core/page/hash.js +1 -1
  206. package/lib/core/page/lock.js +1 -1
  207. package/lib/core/sql-index-auditor.js +1 -1
  208. package/lib/core/sql-sync/config.js +1 -1
  209. package/lib/core/sql-sync/file-system.js +1 -1
  210. package/lib/core/sql-sync/hash.js +1 -1
  211. package/lib/core/sql-sync/lock.js +1 -1
  212. package/lib/core/sql-sync/utils.js +1 -1
  213. package/lib/core/sql-validator.js +1 -1
  214. package/lib/errors.js +1 -1
  215. package/lib/framework/build-all-flags.js +1 -1
  216. package/lib/framework/error-output.js +1 -1
  217. package/lib/framework/explicit-yes.js +1 -1
  218. package/lib/framework/flags.js +1 -1
  219. package/lib/framework/help.js +1 -1
  220. package/lib/framework/index.js +1 -1
  221. package/lib/framework/output.js +1 -1
  222. package/lib/framework/response.js +1 -1
  223. package/lib/framework/runner-alias.js +1 -1
  224. package/lib/framework/runner.js +1 -1
  225. package/lib/framework/schema-export.js +1 -1
  226. package/lib/framework/types.js +1 -1
  227. package/lib/generated/build-info.js +1 -1
  228. package/lib/help.js +1 -1
  229. package/lib/skills/main.js +1 -1
  230. package/lib/skills/npx-skills-add.js +1 -1
  231. package/lib/telemetry/cli-command-trace.js +1 -1
  232. package/lib/telemetry/cli-help-trace.js +1 -1
  233. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  234. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  235. package/lib/telemetry/send-cli-trace-log.js +1 -1
  236. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  237. package/lib/utils/ai_config.js +1 -1
  238. package/lib/utils/apply-jq-filter.js +1 -1
  239. package/lib/utils/cdn-config.js +1 -1
  240. package/lib/utils/check-sdk-version.js +1 -1
  241. package/lib/utils/cli-version-check.js +1 -1
  242. package/lib/utils/cli-version-policy.js +1 -1
  243. package/lib/utils/config.js +1 -1
  244. package/lib/utils/copy-directory.js +1 -1
  245. package/lib/utils/entity-with-id.js +1 -1
  246. package/lib/utils/file-utils.js +1 -1
  247. package/lib/utils/guides-cdn.js +1 -1
  248. package/lib/utils/http-client.js +1 -1
  249. package/lib/utils/is-non-interactive.js +1 -1
  250. package/lib/utils/logger.js +1 -1
  251. package/lib/utils/params.js +1 -1
  252. package/lib/utils/platform.js +1 -1
  253. package/lib/utils/rules-cdn.js +1 -1
  254. package/lib/utils/sleep.js +1 -1
  255. package/lib/utils/template-replacer.js +1 -1
  256. package/lib/utils/update-notice.js +1 -1
  257. package/lib/utils/version.js +1 -1
  258. package/lib/utils/with-active-cookie.js +1 -1
  259. package/lib/utils/write-cli-side-channel.js +1 -1
  260. package/package.json +1 -1
@@ -1 +1 @@
1
- (function(_0x2c6ca7,_0x59b8ec){const _0x546d15=a151_0x5a19,_0x5e6fcd=_0x2c6ca7();while(!![]){try{const _0x404b6b=-parseInt(_0x546d15(0x12f))/0x1+parseInt(_0x546d15(0x147))/0x2+-parseInt(_0x546d15(0x135))/0x3+-parseInt(_0x546d15(0x136))/0x4+parseInt(_0x546d15(0x140))/0x5+-parseInt(_0x546d15(0x159))/0x6+parseInt(_0x546d15(0x142))/0x7;if(_0x404b6b===_0x59b8ec)break;else _0x5e6fcd['push'](_0x5e6fcd['shift']());}catch(_0x13b806){_0x5e6fcd['push'](_0x5e6fcd['shift']());}}}(a151_0x5925,0x6e430));import{readFileSync,existsSync,renameSync}from'node:fs';function a151_0x5925(){const _0x5ad315=['✓\x20Successfully\x20initialized\x20.rabetbase.json\x20in\x20current\x20directory','\x20\x20Default:\x20','info','888222KsMKFZ','green','.rabetbase.json\x20already\x20exists\x20in\x20current\x20directory.\x20Nothing\x20to\x20do.','bold','\x20\x20Apps:\x20','初始化项目配置文件成功','2582466ZqJfsv','1224396zJsaFq','\x20workspace\x20init`\x20to\x20start\x20fresh.','join','\x20\x20appcode:\x20','Please\x20enter\x20App\x20Code:','string','Upgrade\x20it\x20to\x20','\x20\x20You\x20can\x20now\x20use\x20commands\x20like\x20\x27','App\x20Code\x20cannot\x20be\x20empty','production','2087080cWzslI','✓\x20Upgraded\x20','13471353ERfrpD','.bak','apps','version','setLogPath','1434840gbGfbk','log','\x20\x20Old\x20file\x20backed\x20up\x20as\x20','utf8','app','trim','toLocaleString','⚠\x20Found\x20legacy\x20configuration\x20file:\x20','\x20api\x20generate\x27\x20and\x20\x27','init','.rabetbase.json','\x20api\x20pull\x27','keys','从旧配置文件升级成功','env','\x20→\x20.rabetbase.json','defaultApp','1.0.0','3315240UEsznc','../..','cyan','Invalid\x20App\x20Code','appcode','parse'];a151_0x5925=function(){return _0x5ad315;};return a151_0x5925();}import{resolve,dirname,basename}from'node:path';import{fileURLToPath}from'node:url';import a151_0x5998c3 from'chalk';import{input,confirm}from'@inquirer/prompts';function a151_0x5a19(_0x7cf4a8,_0x2b4f4f){_0x7cf4a8=_0x7cf4a8-0x12b;const _0x5925ad=a151_0x5925();let _0x5a1941=_0x5925ad[_0x7cf4a8];return _0x5a1941;}import{CLI_BIN_NAME}from'../../constant/cli.js';import{logger}from'../../utils/logger.js';import{readRawConfig,getProjectConfigPath,writeConfigFile,NEW_CONFIG_NAME,LEGACY_CONFIG_NAMES}from'../../context.js';import{validateAppcode}from'../../commands/common/validate.js';import{buildCanonicalProjectConfig}from'../../config/schema.js';export async function initConfig(_0x37ec2f){const _0x38891c=a151_0x5a19,{appcode:_0x39474c,env:_0x46d7bd,autoYes:_0x1dbe72}=_0x37ec2f,_0x374146=process['cwd']();if(getProjectConfigPath())throw new Error(_0x38891c(0x131));let _0x9d196b;for(const _0xa52981 of LEGACY_CONFIG_NAMES){const _0x2460f4=resolve(_0x374146,_0xa52981);if(existsSync(_0x2460f4)){_0x9d196b=_0x2460f4;break;}}if(_0x9d196b){let _0x55a408={};try{_0x55a408=JSON['parse'](readFileSync(_0x9d196b,_0x38891c(0x14a)));}catch{}const _0x1b5e1b=basename(_0x9d196b),_0x4b1662=_0x55a408?.[_0x38891c(0x15d)]||_0x55a408?.[_0x38891c(0x14b)];let _0x2c2da5=_0x1dbe72;!_0x1dbe72&&(console[_0x38891c(0x148)](a151_0x5998c3['yellow'](_0x38891c(0x14e)+a151_0x5998c3[_0x38891c(0x132)](_0x1b5e1b))),_0x4b1662&&console[_0x38891c(0x148)](a151_0x5998c3[_0x38891c(0x15b)](_0x38891c(0x139)+_0x4b1662)),_0x2c2da5=await confirm({'message':_0x38891c(0x13c)+a151_0x5998c3[_0x38891c(0x132)](_0x38891c(0x151))+'?\x20(Old\x20file\x20→\x20*.bak)','default':!![]}));if(!_0x2c2da5){console[_0x38891c(0x148)]('Migration\x20cancelled.\x20Run\x20`'+CLI_BIN_NAME+_0x38891c(0x137));return;}const _0x510611=resolve(_0x374146,NEW_CONFIG_NAME),_0x2f6d1d=getCliVersionFromPkg(),_0x212ee0=readRawConfig(),_0x13d1ba=_0x39474c||(typeof _0x55a408?.[_0x38891c(0x15d)]===_0x38891c(0x13b)?_0x55a408[_0x38891c(0x15d)]:undefined)||(typeof _0x55a408?.[_0x38891c(0x14b)]===_0x38891c(0x13b)?_0x55a408[_0x38891c(0x14b)]:undefined)||await askAppcode(),_0x426783=typeof _0x55a408?.[_0x38891c(0x155)]===_0x38891c(0x13b)?_0x55a408[_0x38891c(0x155)]:typeof _0x212ee0[_0x38891c(0x155)]==='string'?_0x212ee0[_0x38891c(0x155)]:'production',_0x408121=buildCanonicalProjectConfig({..._0x212ee0,..._0x55a408},{'appCodes':[_0x13d1ba],'env':_0x426783,'metadata':{'version':_0x2f6d1d,'migratedAt':new Date()[_0x38891c(0x14d)](),'migratedFrom':_0x9d196b}});writeConfigFile(_0x510611,_0x408121);const _0x32fc8b=_0x9d196b+_0x38891c(0x143);renameSync(_0x9d196b,_0x32fc8b),logger['setLogPath'](_0x374146),logger[_0x38891c(0x12e)]('init',_0x38891c(0x154),{'from':_0x9d196b,'to':_0x510611,'appcode':_0x13d1ba,'env':_0x408121[_0x38891c(0x155)]}),console[_0x38891c(0x148)](a151_0x5998c3[_0x38891c(0x130)](_0x38891c(0x141)+_0x1b5e1b+_0x38891c(0x156))),console[_0x38891c(0x148)](a151_0x5998c3[_0x38891c(0x15b)](_0x38891c(0x133)+Object[_0x38891c(0x153)](_0x408121[_0x38891c(0x144)]||{})[_0x38891c(0x138)](',\x20'))),console[_0x38891c(0x148)](a151_0x5998c3[_0x38891c(0x15b)]('\x20\x20Default:\x20'+_0x408121['defaultApp'])),console['log'](a151_0x5998c3['gray'](_0x38891c(0x149)+_0x1b5e1b+'.bak'));return;}const _0x15c7bc=_0x39474c||await askAppcode(),_0x4062fd=resolve(_0x374146,NEW_CONFIG_NAME),_0x5dd942=getCliVersionFromPkg(),_0x5dad81=readRawConfig(),_0x24660c=typeof _0x5dad81[_0x38891c(0x155)]===_0x38891c(0x13b)?_0x5dad81[_0x38891c(0x155)]:undefined,_0x86c127=buildCanonicalProjectConfig({},{'appCodes':[_0x15c7bc],'env':_0x46d7bd||_0x24660c||_0x38891c(0x13f),'metadata':{'version':_0x5dd942,'createdAt':new Date()[_0x38891c(0x14d)]()}});writeConfigFile(_0x4062fd,_0x86c127),logger[_0x38891c(0x146)](_0x374146),logger['info'](_0x38891c(0x150),_0x38891c(0x134),{'appcode':_0x15c7bc,'env':_0x86c127['env'],'version':_0x86c127[_0x38891c(0x145)],'configPath':_0x4062fd}),console['log'](a151_0x5998c3['green'](_0x38891c(0x12c))),console[_0x38891c(0x148)](a151_0x5998c3['cyan'](_0x38891c(0x133)+Object[_0x38891c(0x153)](_0x86c127[_0x38891c(0x144)]||{})[_0x38891c(0x138)](',\x20'))),console[_0x38891c(0x148)](a151_0x5998c3[_0x38891c(0x15b)](_0x38891c(0x12d)+_0x86c127[_0x38891c(0x157)])),console[_0x38891c(0x148)](_0x38891c(0x13d)+CLI_BIN_NAME+_0x38891c(0x14f)+CLI_BIN_NAME+_0x38891c(0x152));}function askAppcode(){const _0x13104b=a151_0x5a19;return input({'message':_0x13104b(0x13a),'validate':_0x82a9a3=>{const _0x26132f=_0x13104b;if(!_0x82a9a3[_0x26132f(0x14c)]())return _0x26132f(0x13e);const {valid:_0x47b1d4,message:_0x394813}=validateAppcode(_0x82a9a3[_0x26132f(0x14c)]());return _0x47b1d4||_0x394813||_0x26132f(0x15c);}});}function getCliVersionFromPkg(){const _0x193a7c=a151_0x5a19;try{const _0x3e5d74=fileURLToPath(import.meta.url),_0x5e8fe9=resolve(dirname(_0x3e5d74),_0x193a7c(0x15a)),_0x484b45=JSON[_0x193a7c(0x12b)](readFileSync(resolve(_0x5e8fe9,'package.json'),'utf8'));return _0x484b45[_0x193a7c(0x145)]||'1.0.0';}catch{return _0x193a7c(0x158);}}
1
+ (function(_0x81b30b,_0x47411e){const _0x5f0f76=a151_0x1c6b,_0x523589=_0x81b30b();while(!![]){try{const _0xf95d3c=parseInt(_0x5f0f76(0x8e))/0x1+parseInt(_0x5f0f76(0x9a))/0x2*(parseInt(_0x5f0f76(0x95))/0x3)+-parseInt(_0x5f0f76(0x93))/0x4*(-parseInt(_0x5f0f76(0x96))/0x5)+parseInt(_0x5f0f76(0x76))/0x6+parseInt(_0x5f0f76(0x90))/0x7*(-parseInt(_0x5f0f76(0x77))/0x8)+parseInt(_0x5f0f76(0x6d))/0x9+-parseInt(_0x5f0f76(0x9d))/0xa*(parseInt(_0x5f0f76(0x78))/0xb);if(_0xf95d3c===_0x47411e)break;else _0x523589['push'](_0x523589['shift']());}catch(_0x331b5a){_0x523589['push'](_0x523589['shift']());}}}(a151_0x7ddf,0x74805));import{readFileSync,existsSync,renameSync}from'node:fs';import{resolve,dirname,basename}from'node:path';import{fileURLToPath}from'node:url';import a151_0x34e171 from'chalk';function a151_0x7ddf(){const _0xf9a2da=['\x20\x20appcode:\x20','Please\x20enter\x20App\x20Code:','160tHJRCU','✓\x20Upgraded\x20','init','package.json','\x20\x20You\x20can\x20now\x20use\x20commands\x20like\x20\x27','✓\x20Successfully\x20initialized\x20.rabetbase.json\x20in\x20current\x20directory','1238661SFHrox','.rabetbase.json','\x20\x20Apps:\x20','bold','env','utf8','Invalid\x20App\x20Code','log','cwd','777282XVRGJv','818744nblGVz','499664gyvpjs','\x20\x20Old\x20file\x20backed\x20up\x20as\x20','gray','app','⚠\x20Found\x20legacy\x20configuration\x20file:\x20','cyan','parse','从旧配置文件升级成功','string','1.0.0','production','\x20workspace\x20init`\x20to\x20start\x20fresh.','yellow','appcode','version','\x20→\x20.rabetbase.json','初始化项目配置文件成功','\x20\x20Default:\x20','join','keys','../..','.bak','954359dhhTfy','info','42dDYErj','App\x20Code\x20cannot\x20be\x20empty','trim','615164InlFnE','green','433371cgzuzH','10nzkLSP','setLogPath','apps','toLocaleString','4GDuaOQ'];a151_0x7ddf=function(){return _0xf9a2da;};return a151_0x7ddf();}import{input,confirm}from'@inquirer/prompts';import{CLI_BIN_NAME}from'../../constant/cli.js';import{logger}from'../../utils/logger.js';import{readRawConfig,getProjectConfigPath,writeConfigFile,NEW_CONFIG_NAME,LEGACY_CONFIG_NAMES}from'../../context.js';function a151_0x1c6b(_0xbd4948,_0x42a55b){_0xbd4948=_0xbd4948-0x6a;const _0x7ddf74=a151_0x7ddf();let _0x1c6b3a=_0x7ddf74[_0xbd4948];return _0x1c6b3a;}import{validateAppcode}from'../../commands/common/validate.js';import{buildCanonicalProjectConfig}from'../../config/schema.js';export async function initConfig(_0x463907){const _0x48c51c=a151_0x1c6b,{appcode:_0x39938c,env:_0x5408ac,autoYes:_0x38e041}=_0x463907,_0x5d646c=process[_0x48c51c(0x75)]();if(getProjectConfigPath())throw new Error('.rabetbase.json\x20already\x20exists\x20in\x20current\x20directory.\x20Nothing\x20to\x20do.');let _0x1973c6;for(const _0x3f5afc of LEGACY_CONFIG_NAMES){const _0x3324d7=resolve(_0x5d646c,_0x3f5afc);if(existsSync(_0x3324d7)){_0x1973c6=_0x3324d7;break;}}if(_0x1973c6){let _0x2033c8={};try{_0x2033c8=JSON[_0x48c51c(0x7e)](readFileSync(_0x1973c6,_0x48c51c(0x72)));}catch{}const _0x572857=basename(_0x1973c6),_0x2adb1d=_0x2033c8?.[_0x48c51c(0x85)]||_0x2033c8?.[_0x48c51c(0x7b)];let _0x1f54ec=_0x38e041;!_0x38e041&&(console[_0x48c51c(0x74)](a151_0x34e171[_0x48c51c(0x84)](_0x48c51c(0x7c)+a151_0x34e171[_0x48c51c(0x70)](_0x572857))),_0x2adb1d&&console['log'](a151_0x34e171[_0x48c51c(0x7d)](_0x48c51c(0x9b)+_0x2adb1d)),_0x1f54ec=await confirm({'message':'Upgrade\x20it\x20to\x20'+a151_0x34e171[_0x48c51c(0x70)](_0x48c51c(0x6e))+'?\x20(Old\x20file\x20→\x20*.bak)','default':!![]}));if(!_0x1f54ec){console[_0x48c51c(0x74)]('Migration\x20cancelled.\x20Run\x20`'+CLI_BIN_NAME+_0x48c51c(0x83));return;}const _0xf91e78=resolve(_0x5d646c,NEW_CONFIG_NAME),_0x45c950=getCliVersionFromPkg(),_0x4896d8=readRawConfig(),_0x544e6d=_0x39938c||(typeof _0x2033c8?.[_0x48c51c(0x85)]===_0x48c51c(0x80)?_0x2033c8['appcode']:undefined)||(typeof _0x2033c8?.[_0x48c51c(0x7b)]===_0x48c51c(0x80)?_0x2033c8[_0x48c51c(0x7b)]:undefined)||await askAppcode(),_0xd4415b=typeof _0x2033c8?.[_0x48c51c(0x71)]===_0x48c51c(0x80)?_0x2033c8['env']:typeof _0x4896d8[_0x48c51c(0x71)]===_0x48c51c(0x80)?_0x4896d8['env']:_0x48c51c(0x82),_0x1ec51f=buildCanonicalProjectConfig({..._0x4896d8,..._0x2033c8},{'appCodes':[_0x544e6d],'env':_0xd4415b,'metadata':{'version':_0x45c950,'migratedAt':new Date()[_0x48c51c(0x99)](),'migratedFrom':_0x1973c6}});writeConfigFile(_0xf91e78,_0x1ec51f);const _0x2c0d4b=_0x1973c6+_0x48c51c(0x8d);renameSync(_0x1973c6,_0x2c0d4b),logger[_0x48c51c(0x97)](_0x5d646c),logger['info'](_0x48c51c(0x9f),_0x48c51c(0x7f),{'from':_0x1973c6,'to':_0xf91e78,'appcode':_0x544e6d,'env':_0x1ec51f[_0x48c51c(0x71)]}),console[_0x48c51c(0x74)](a151_0x34e171[_0x48c51c(0x94)](_0x48c51c(0x9e)+_0x572857+_0x48c51c(0x87))),console[_0x48c51c(0x74)](a151_0x34e171['cyan'](_0x48c51c(0x6f)+Object['keys'](_0x1ec51f[_0x48c51c(0x98)]||{})[_0x48c51c(0x8a)](',\x20'))),console[_0x48c51c(0x74)](a151_0x34e171[_0x48c51c(0x7d)](_0x48c51c(0x89)+_0x1ec51f['defaultApp'])),console['log'](a151_0x34e171[_0x48c51c(0x7a)](_0x48c51c(0x79)+_0x572857+'.bak'));return;}const _0x189c68=_0x39938c||await askAppcode(),_0x37dc2b=resolve(_0x5d646c,NEW_CONFIG_NAME),_0x3371ef=getCliVersionFromPkg(),_0x557bd4=readRawConfig(),_0x504ba5=typeof _0x557bd4[_0x48c51c(0x71)]===_0x48c51c(0x80)?_0x557bd4[_0x48c51c(0x71)]:undefined,_0x34075e=buildCanonicalProjectConfig({},{'appCodes':[_0x189c68],'env':_0x5408ac||_0x504ba5||_0x48c51c(0x82),'metadata':{'version':_0x3371ef,'createdAt':new Date()['toLocaleString']()}});writeConfigFile(_0x37dc2b,_0x34075e),logger[_0x48c51c(0x97)](_0x5d646c),logger[_0x48c51c(0x8f)]('init',_0x48c51c(0x88),{'appcode':_0x189c68,'env':_0x34075e[_0x48c51c(0x71)],'version':_0x34075e['version'],'configPath':_0x37dc2b}),console[_0x48c51c(0x74)](a151_0x34e171[_0x48c51c(0x94)](_0x48c51c(0x6c))),console[_0x48c51c(0x74)](a151_0x34e171['cyan'](_0x48c51c(0x6f)+Object[_0x48c51c(0x8b)](_0x34075e['apps']||{})['join'](',\x20'))),console['log'](a151_0x34e171['cyan'](_0x48c51c(0x89)+_0x34075e['defaultApp'])),console[_0x48c51c(0x74)](_0x48c51c(0x6b)+CLI_BIN_NAME+'\x20api\x20generate\x27\x20and\x20\x27'+CLI_BIN_NAME+'\x20api\x20pull\x27');}function askAppcode(){const _0x515fa1=a151_0x1c6b;return input({'message':_0x515fa1(0x9c),'validate':_0x2ad74a=>{const _0x62d85a=_0x515fa1;if(!_0x2ad74a[_0x62d85a(0x92)]())return _0x62d85a(0x91);const {valid:_0x358056,message:_0x4fe9c1}=validateAppcode(_0x2ad74a['trim']());return _0x358056||_0x4fe9c1||_0x62d85a(0x73);}});}function getCliVersionFromPkg(){const _0x5d9f03=a151_0x1c6b;try{const _0x5e4afd=fileURLToPath(import.meta.url),_0x2917f5=resolve(dirname(_0x5e4afd),_0x5d9f03(0x8c)),_0x47c8be=JSON[_0x5d9f03(0x7e)](readFileSync(resolve(_0x2917f5,_0x5d9f03(0x6a)),_0x5d9f03(0x72)));return _0x47c8be[_0x5d9f03(0x86)]||_0x5d9f03(0x81);}catch{return'1.0.0';}}
@@ -1 +1 @@
1
- const a152_0x2bb5ba=a152_0x32c4;function a152_0x32c4(_0x41be82,_0x5afb04){_0x41be82=_0x41be82-0x160;const _0x38a10b=a152_0x38a1();let _0x32c42b=_0x38a10b[_0x41be82];return _0x32c42b;}(function(_0x1402b5,_0x106a14){const _0x33264b=a152_0x32c4,_0x100f43=_0x1402b5();while(!![]){try{const _0x104d05=-parseInt(_0x33264b(0x1bd))/0x1*(-parseInt(_0x33264b(0x196))/0x2)+-parseInt(_0x33264b(0x189))/0x3*(parseInt(_0x33264b(0x187))/0x4)+-parseInt(_0x33264b(0x1bf))/0x5*(parseInt(_0x33264b(0x1b3))/0x6)+parseInt(_0x33264b(0x193))/0x7*(parseInt(_0x33264b(0x160))/0x8)+-parseInt(_0x33264b(0x1a1))/0x9*(-parseInt(_0x33264b(0x1c3))/0xa)+-parseInt(_0x33264b(0x170))/0xb*(-parseInt(_0x33264b(0x181))/0xc)+parseInt(_0x33264b(0x1ab))/0xd*(parseInt(_0x33264b(0x1aa))/0xe);if(_0x104d05===_0x106a14)break;else _0x100f43['push'](_0x100f43['shift']());}catch(_0x2ee229){_0x100f43['push'](_0x100f43['shift']());}}}(a152_0x38a1,0x7a9c5));import a152_0x2593fe from'chalk';import a152_0x1f161a from'ora';import{existsSync,readFileSync,renameSync,rmSync,statSync,unlinkSync,writeFileSync}from'node:fs';import{resolve}from'node:path';import{CONFIG_NAMES,NEW_CONFIG_NAME,readConfigFile,writeConfigFile}from'../../context.js';import{CORE_IDE_CONFIGS}from'../../utils/ai_config.js';import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE,runNpxSkillsAddGlobal,runNpxSkillsRemove}from'../../skills/npx-skills-add.js';import{askConfirm}from'../../commands/menu/shared/inquirer.js';const LEGACY_CONFIG_NAMES=CONFIG_NAMES[a152_0x2bb5ba(0x180)](_0x1686f8=>_0x1686f8!==NEW_CONFIG_NAME);function a152_0x38a1(){const _0x273dea=['Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20','Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped','length','Config\x20migration','step','.claude/skills/lovrabet','@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.','MCP\x20config:','message','5293178uGIBiD','===\x20Upgrade\x20Analysis\x20===','Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','parse','lovrabet/rabetbase\x20installed\x20globally','\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak','push','\x20\x20\x20\x20\x20\x20\x20','error','\x20\x20Action:\x20delete','package.json','cyan','utf8','removed\x20','not\x20found\x20or\x20already\x20at\x20latest','filter','24ZiSZjY','\x20\x20Current\x20version\x20in\x20','\x20removed','inherit','gray','Step\x204/7:\x20MCP\x20config\x20—\x20','3954428mHnjMk','===\x20Upgrade\x20Summary\x20===','3ALTamM','Config\x20file:','\x20\x20bun\x20install','latest','needsSkillSwap','string','white','\x20from\x20','bold','yes','20006SBIpJn','done','\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server','62hTsbpG','Step\x203/7:\x20Legacy\x20artifacts\x20—\x20','Step\x201/7:\x20Config\x20migration\x20—\x20','mcpServers','.cursor/rules/lovrabet_rules.mdc','undefined','.bak','Skill\x20swap:','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','fields','@lovrabet/sdk','18gFEmcL','failed','not\x20found\x20(will\x20create)','Upgrade\x20@lovrabet/sdk','isArray','object','files','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','devDependencies','4612328rxxklr','13DtcjcV','\x20(backup:\x20','Step\x202/7:\x20.lovrabet/\x20directory\x20removed','Clean\x20MCP\x20config','not\x20needed','log','Remove\x20.lovrabet/','[\x22@lovrabet/sdk\x22]:\x20','6MoZOyg','lovrabet/rabetbase','@lovrabet/sdk:','start','no\x20legacy\x20entry','keys','stringify','configMigration','yellow','status','12163nPLvCv','\x20\x20Step\x20','3156125iDhdnm','path','Step\x205/7:\x20Removing\x20old\x20skill...','FAIL','1422610VTHeXQ','skipped','already\x20exists\x20(will\x20merge)','fail','includes','cwd','needed','Upgrade\x20cancelled.','Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20','succeed','oldPath','red','isDirectory','join','oldMcpConfig','some','Install\x20new\x20skill','detail','no\x20legacy\x20config\x20found','Proceed\x20with\x20upgrade?','args','skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)','exit\x20','values','Remove\x20legacy\x20artifacts','Step\x207/7:\x20@lovrabet/sdk\x20—\x20','Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','oldArtifacts','CANCEL','sdkUpgrade','472WovCCN','green','Step\x204/7:\x20Cleaning\x20MCP\x20config...','.lovrabet','info','Legacy\x20artifacts:','hasNewConfig'];a152_0x38a1=function(){return _0x273dea;};return a152_0x38a1();}function collectIdeSkillFiles(_0x240b11){const _0x358da7=a152_0x2bb5ba,_0x2ef1d4=[];for(const _0x8c0e13 of Object[_0x358da7(0x1da)](CORE_IDE_CONFIGS)){if(_0x8c0e13[_0x358da7(0x1a7)])for(const _0x3901cb of _0x8c0e13['files']){_0x2ef1d4[_0x358da7(0x177)](resolve(_0x240b11,_0x3901cb[_0x358da7(0x1c0)]));}}return _0x2ef1d4;}function analyse(_0x42f984){const _0x528f4d=a152_0x2bb5ba;let _0xe697de=null;const _0x36bd87=resolve(_0x42f984,NEW_CONFIG_NAME),_0x3a10fb=existsSync(_0x36bd87);for(const _0x34c5bc of LEGACY_CONFIG_NAMES){const _0xb81ec=resolve(_0x42f984,_0x34c5bc);if(existsSync(_0xb81ec)){const _0x35f338=readConfigFile(_0xb81ec),_0x2b90be=Object[_0x528f4d(0x1b8)](_0x35f338)[_0x528f4d(0x180)](_0x14e018=>typeof _0x35f338[_0x14e018]!==_0x528f4d(0x19b));_0xe697de={'oldPath':_0xb81ec,'hasNewConfig':_0x3a10fb,'fields':_0x2b90be};break;}}const _0x4dc51e=[],_0xd6bff9=resolve(_0x42f984,_0x528f4d(0x163));if(existsSync(_0xd6bff9))_0x4dc51e[_0x528f4d(0x177)](_0xd6bff9);const _0x229c8d=resolve(_0x42f984,_0x528f4d(0x19a));if(existsSync(_0x229c8d))_0x4dc51e[_0x528f4d(0x177)](_0x229c8d);const _0x5130de=resolve(_0x42f984,_0x528f4d(0x16c));if(existsSync(_0x5130de))_0x4dc51e[_0x528f4d(0x177)](_0x5130de);for(const _0x1af2ca of collectIdeSkillFiles(_0x42f984)){if(existsSync(_0x1af2ca))_0x4dc51e[_0x528f4d(0x177)](_0x1af2ca);}let _0x48bf82=null;const _0x39c818=resolve(_0x42f984,'.cursor/mcp.json');if(existsSync(_0x39c818))try{const _0xa6800e=JSON[_0x528f4d(0x174)](readFileSync(_0x39c818,_0x528f4d(0x17d)));if(_0xa6800e?.[_0x528f4d(0x199)]&&typeof _0xa6800e[_0x528f4d(0x199)]===_0x528f4d(0x1a6)){const _0x455266=[];for(const [_0x50e915,_0x4d8306]of Object['entries'](_0xa6800e['mcpServers'])){const _0x135f2a=_0x4d8306;_0x135f2a?.[_0x528f4d(0x1d7)]&&Array['isArray'](_0x135f2a[_0x528f4d(0x1d7)])&&_0x135f2a['args'][_0x528f4d(0x1d2)](_0x427a57=>typeof _0x427a57===_0x528f4d(0x18e)&&_0x427a57['includes']('@lovrabet/dataset-mcp-server'))&&_0x455266[_0x528f4d(0x177)](_0x50e915);}_0x455266[_0x528f4d(0x169)]>0x0&&(_0x48bf82={'path':_0x39c818,'keys':_0x455266});}}catch{}const _0x3e5785=_0x4dc51e['length']>0x0||_0xe697de!==null;let _0x592dfc=null;const _0x2fb2fc=resolve(_0x42f984,_0x528f4d(0x17b));if(existsSync(_0x2fb2fc))try{const _0x3915e9=JSON[_0x528f4d(0x174)](readFileSync(_0x2fb2fc,_0x528f4d(0x17d)));for(const _0x336563 of['dependencies',_0x528f4d(0x1a9)]){const _0x10716d=_0x3915e9?.[_0x336563]?.[_0x528f4d(0x1a0)];if(typeof _0x10716d===_0x528f4d(0x18e)){_0x10716d!==_0x528f4d(0x18c)&&(_0x592dfc={'pkgPath':_0x2fb2fc,'currentVersion':_0x10716d,'field':_0x336563});break;}}}catch{}return{'configMigration':_0xe697de,'oldArtifacts':_0x4dc51e,'oldMcpConfig':_0x48bf82,'needsSkillSwap':_0x3e5785,'sdkUpgrade':_0x592dfc};}function printReport(_0x5d586f){const _0x295278=a152_0x2bb5ba,{configMigration:_0x4410f9,oldArtifacts:_0x182655,oldMcpConfig:_0x27680b,needsSkillSwap:_0x37f8a4}=_0x5d586f;console[_0x295278(0x1b0)](''),console[_0x295278(0x1b0)](a152_0x2593fe[_0x295278(0x191)](_0x295278(0x171))),console['log']('');_0x4410f9?(console['log'](a152_0x2593fe['cyan']('Config\x20file:')+('\x20\x20'+a152_0x2593fe[_0x295278(0x1bb)](_0x4410f9[_0x295278(0x1cd)]))),console['log']('\x20\x20New\x20config\x20(.rabetbase.json):\x20'+(_0x4410f9[_0x295278(0x166)]?a152_0x2593fe[_0x295278(0x161)](_0x295278(0x1c5)):a152_0x2593fe['gray'](_0x295278(0x1a3)))),console[_0x295278(0x1b0)]('\x20\x20Fields\x20to\x20migrate:\x20'+_0x4410f9[_0x295278(0x19f)][_0x295278(0x1d0)](',\x20')),console[_0x295278(0x1b0)](_0x295278(0x176))):console[_0x295278(0x1b0)](a152_0x2593fe['cyan'](_0x295278(0x18a))+'\x20\x20'+a152_0x2593fe['gray'](_0x295278(0x1d5)));console[_0x295278(0x1b0)]('');if(_0x182655[_0x295278(0x169)]>0x0){console[_0x295278(0x1b0)](a152_0x2593fe[_0x295278(0x17c)](_0x295278(0x165)));for(const _0x43048f of _0x182655){console[_0x295278(0x1b0)]('\x20\x20'+a152_0x2593fe[_0x295278(0x1ce)]('FOUND')+'\x20\x20'+_0x43048f);}console[_0x295278(0x1b0)](_0x295278(0x17a));}else console[_0x295278(0x1b0)](a152_0x2593fe['cyan']('Legacy\x20artifacts:')+'\x20\x20'+a152_0x2593fe[_0x295278(0x185)]('none\x20found'));console['log']('');_0x27680b?(console[_0x295278(0x1b0)](a152_0x2593fe[_0x295278(0x17c)]('MCP\x20config:')+('\x20\x20'+a152_0x2593fe[_0x295278(0x1bb)](_0x27680b[_0x295278(0x1c0)])+'\x20→\x20keys:\x20'+_0x27680b[_0x295278(0x1b8)][_0x295278(0x1d0)](',\x20'))),console[_0x295278(0x1b0)](_0x295278(0x195))):console[_0x295278(0x1b0)](a152_0x2593fe[_0x295278(0x17c)](_0x295278(0x16e))+'\x20\x20'+a152_0x2593fe[_0x295278(0x185)](_0x295278(0x1b7)));console[_0x295278(0x1b0)](''),console[_0x295278(0x1b0)](a152_0x2593fe[_0x295278(0x17c)](_0x295278(0x19d))+('\x20\x20'+(_0x37f8a4?a152_0x2593fe[_0x295278(0x1bb)](_0x295278(0x1c9)):a152_0x2593fe['green'](_0x295278(0x1af)))));_0x37f8a4&&console[_0x295278(0x1b0)]('\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`'+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console['log']('');if(_0x5d586f[_0x295278(0x1e0)]){const {currentVersion:_0x2f9fd4,field:_0x5121da,pkgPath:_0x128502}=_0x5d586f[_0x295278(0x1e0)];console[_0x295278(0x1b0)](a152_0x2593fe[_0x295278(0x17c)](_0x295278(0x1b5))+('\x20\x20'+a152_0x2593fe[_0x295278(0x1bb)](_0x128502))),console[_0x295278(0x1b0)](_0x295278(0x182)+_0x5121da+':\x20'+a152_0x2593fe[_0x295278(0x1bb)](_0x2f9fd4)+'\x20→\x20'+a152_0x2593fe[_0x295278(0x161)](_0x295278(0x18c))),console[_0x295278(0x1b0)](_0x295278(0x19e));}else console['log'](a152_0x2593fe['cyan'](_0x295278(0x1b5))+'\x20\x20'+a152_0x2593fe[_0x295278(0x185)](_0x295278(0x17f)));console[_0x295278(0x1b0)]('');}function execConfigMigration(_0x59c909,_0x2cedcb){const _0x573489=a152_0x2bb5ba,{configMigration:_0x358bd0}=_0x59c909;if(!_0x358bd0?.[_0x573489(0x1cd)])return{'step':0x1,'label':'Config\x20migration','ok':!![],'detail':'skipped\x20(no\x20legacy\x20config)'};const _0x86c231=readConfigFile(_0x358bd0[_0x573489(0x1cd)]),_0x141f10=resolve(_0x2cedcb,NEW_CONFIG_NAME),_0xf0af96=_0x358bd0[_0x573489(0x166)]?readConfigFile(_0x141f10):{};for(const [_0x5ae605,_0x141caf]of Object['entries'](_0x86c231)){!(_0x5ae605 in _0xf0af96)&&(_0xf0af96[_0x5ae605]=_0x141caf);}writeConfigFile(_0x141f10,_0xf0af96);const _0x1a0a7e=_0x358bd0[_0x573489(0x1cd)]+_0x573489(0x19c);return renameSync(_0x358bd0[_0x573489(0x1cd)],_0x1a0a7e),{'step':0x1,'label':_0x573489(0x16a),'ok':!![],'detail':_0x358bd0[_0x573489(0x1cd)]+'\x20→\x20'+_0x141f10+_0x573489(0x1ac)+_0x1a0a7e+')'};}function execRemoveOldArtifacts(_0x4a5d3e){const _0x5adaae=a152_0x2bb5ba,_0x132c1e=[];for(const _0x3a825c of _0x4a5d3e){try{if(!existsSync(_0x3a825c))continue;const _0xf54196=tryStat(_0x3a825c);_0xf54196?.[_0x5adaae(0x1cf)]()?rmSync(_0x3a825c,{'recursive':!![],'force':!![]}):unlinkSync(_0x3a825c);}catch(_0x502557){_0x132c1e[_0x5adaae(0x177)](_0x3a825c+':\x20'+_0x502557[_0x5adaae(0x16f)]);}}return{'step':0x3,'label':_0x5adaae(0x1db),'ok':_0x132c1e[_0x5adaae(0x169)]===0x0,'detail':_0x132c1e[_0x5adaae(0x169)]>0x0?_0x4a5d3e[_0x5adaae(0x169)]-_0x132c1e[_0x5adaae(0x169)]+'/'+_0x4a5d3e['length']+'\x20removed\x20('+_0x132c1e[_0x5adaae(0x1d0)](';\x20')+')':_0x4a5d3e[_0x5adaae(0x169)]+_0x5adaae(0x183)};}function execCleanMcp(_0x4f7008){const _0x58656f=a152_0x2bb5ba;if(!_0x4f7008['oldMcpConfig'])return{'step':0x4,'label':_0x58656f(0x1ae),'ok':!![],'detail':_0x58656f(0x1c4)};try{const _0x35eefa=readFileSync(_0x4f7008['oldMcpConfig'][_0x58656f(0x1c0)],_0x58656f(0x17d)),_0x131e79=JSON[_0x58656f(0x174)](_0x35eefa);if(_0x131e79?.[_0x58656f(0x199)]&&typeof _0x131e79['mcpServers']==='object'){const _0x3d15cb=[];for(const [_0x40484a,_0x5111f9]of Object['entries'](_0x131e79['mcpServers'])){_0x5111f9?.['args']&&Array[_0x58656f(0x1a5)](_0x5111f9[_0x58656f(0x1d7)])&&_0x5111f9[_0x58656f(0x1d7)][_0x58656f(0x1d2)](_0x4617d9=>typeof _0x4617d9===_0x58656f(0x18e)&&_0x4617d9[_0x58656f(0x1c7)]('@lovrabet/dataset-mcp-server'))&&_0x3d15cb['push'](_0x40484a);}for(const _0x6fa514 of _0x3d15cb){delete _0x131e79[_0x58656f(0x199)][_0x6fa514];}return _0x3d15cb[_0x58656f(0x169)]>0x0&&writeFileSync(_0x4f7008['oldMcpConfig'][_0x58656f(0x1c0)],JSON[_0x58656f(0x1b9)](_0x131e79,null,0x2)+'\x0a',_0x58656f(0x17d)),{'step':0x4,'label':_0x58656f(0x1ae),'ok':!![],'detail':_0x58656f(0x17e)+_0x3d15cb[_0x58656f(0x1d0)](',\x20')+_0x58656f(0x190)+_0x4f7008[_0x58656f(0x1d1)]['path']};}return{'step':0x4,'label':_0x58656f(0x1ae),'ok':!![],'detail':'no\x20matching\x20entry\x20found'};}catch(_0x523245){return{'step':0x4,'label':_0x58656f(0x1ae),'ok':![],'detail':_0x523245['message']};}}function execSkillsRemove(_0x4f5307,_0x5eea43){const _0x68515c=a152_0x2bb5ba,_0x2a4fec=runNpxSkillsRemove(_0x4f5307,{'stdio':_0x68515c(0x184),'yes':_0x5eea43});return{'step':0x5,'label':'Remove\x20old\x20skill','ok':_0x2a4fec['ok'],'detail':_0x2a4fec['ok']?'lovrabet/lovrabet-skill\x20removed':_0x2a4fec[_0x68515c(0x179)]??_0x68515c(0x1d9)+_0x2a4fec[_0x68515c(0x1bc)]};}function execSkillsAdd(_0xba84ea,_0x3ec245){const _0x1f0add=a152_0x2bb5ba,_0x36bef6=runNpxSkillsAddGlobal(_0xba84ea,_0x1f0add(0x1b4),{'stdio':_0x1f0add(0x184),'yes':_0x3ec245});return{'step':0x6,'label':_0x1f0add(0x1d3),'ok':_0x36bef6['ok'],'detail':_0x36bef6['ok']?_0x1f0add(0x175):_0x36bef6[_0x1f0add(0x179)]??_0x1f0add(0x1d9)+_0x36bef6['status']};}function execUpgradeSdk(_0x22a56a){const _0x299644=a152_0x2bb5ba;if(!_0x22a56a[_0x299644(0x1e0)])return{'step':0x7,'label':_0x299644(0x1a4),'ok':!![],'detail':_0x299644(0x1d8)};const {pkgPath:_0x2b36cb,currentVersion:_0x73548d,field:_0xb6623d}=_0x22a56a['sdkUpgrade'];try{const _0xaff1f8=readFileSync(_0x2b36cb,_0x299644(0x17d)),_0x3fdbb3=JSON[_0x299644(0x174)](_0xaff1f8);return _0x3fdbb3[_0xb6623d][_0x299644(0x1a0)]=_0x299644(0x18c),writeFileSync(_0x2b36cb,JSON[_0x299644(0x1b9)](_0x3fdbb3,null,0x2)+'\x0a',_0x299644(0x17d)),{'step':0x7,'label':_0x299644(0x1a4),'ok':!![],'detail':_0xb6623d+_0x299644(0x1b2)+_0x73548d+'\x20→\x20latest'};}catch(_0xeb5e02){return{'step':0x7,'label':_0x299644(0x1a4),'ok':![],'detail':_0xeb5e02[_0x299644(0x16f)]};}}function tryStat(_0x8dab00){try{return statSync(_0x8dab00);}catch{return undefined;}}function printSummary(_0x14581b){const _0x4b4594=a152_0x2bb5ba;console[_0x4b4594(0x1b0)](''),console[_0x4b4594(0x1b0)](a152_0x2593fe['bold'](_0x4b4594(0x188))),console[_0x4b4594(0x1b0)]('');for(const _0x54252a of _0x14581b){const _0x1eb1bd=_0x54252a['ok']?a152_0x2593fe[_0x4b4594(0x161)]('OK'):a152_0x2593fe[_0x4b4594(0x1ce)](_0x4b4594(0x1c2));console[_0x4b4594(0x1b0)]('\x20\x20'+_0x1eb1bd+_0x4b4594(0x1be)+_0x54252a[_0x4b4594(0x16b)]+':\x20'+_0x54252a['label']);if(_0x54252a['detail'])console[_0x4b4594(0x1b0)](_0x4b4594(0x178)+a152_0x2593fe['gray'](_0x54252a[_0x4b4594(0x1d4)]));}console[_0x4b4594(0x1b0)]('');}export async function upgradeApp(_0xc80edf,_0x369f76){const _0x38631c=a152_0x2bb5ba,_0x1276c9=process[_0x38631c(0x1c8)](),_0x6b348d=analyse(_0x1276c9),_0x10140e=!_0x6b348d[_0x38631c(0x1ba)]&&_0x6b348d[_0x38631c(0x1de)][_0x38631c(0x169)]===0x0&&!_0x6b348d[_0x38631c(0x1d1)]&&!_0x6b348d[_0x38631c(0x18d)]&&!_0x6b348d['sdkUpgrade'];if(_0x10140e){console[_0x38631c(0x1b0)](a152_0x2593fe[_0x38631c(0x161)]('No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.'));return;}printReport(_0x6b348d);const _0x325c87=!!(_0x369f76[_0x38631c(0x192)]||_0x369f76['Y']||_0xc80edf);if(!_0x325c87)try{const _0x527f28=await askConfirm(_0x38631c(0x1d6));if(!_0x527f28){console['log'](a152_0x2593fe[_0x38631c(0x185)](_0x38631c(0x1ca)));return;}}catch(_0x5d5035){if(_0x5d5035?.[_0x38631c(0x16f)]===_0x38631c(0x1df)){console[_0x38631c(0x1b0)](a152_0x2593fe[_0x38631c(0x185)](_0x38631c(0x1ca)));return;}throw _0x5d5035;}const _0x22bc05=[],_0x7ae29a=a152_0x1f161a({'text':'Step\x201/7:\x20Migrating\x20config...','color':_0x38631c(0x17c)})['start'](),_0x23b48c=execConfigMigration(_0x6b348d,_0x1276c9);_0x22bc05[_0x38631c(0x177)](_0x23b48c),_0x7ae29a[_0x23b48c['ok']?_0x38631c(0x1cc):_0x38631c(0x1c6)](_0x38631c(0x198)+(_0x23b48c[_0x38631c(0x1d4)]??(_0x23b48c['ok']?_0x38631c(0x194):_0x38631c(0x1a2))));const _0x61a165=resolve(_0x1276c9,'.lovrabet'),_0x124a45=a152_0x1f161a({'text':'Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','color':_0x38631c(0x17c)})[_0x38631c(0x1b6)]();if(existsSync(_0x61a165))try{rmSync(_0x61a165,{'recursive':!![],'force':!![]}),_0x124a45[_0x38631c(0x1cc)](_0x38631c(0x1ad)),_0x22bc05[_0x38631c(0x177)]({'step':0x2,'label':_0x38631c(0x1b1),'ok':!![]});}catch(_0x3055bd){_0x124a45[_0x38631c(0x1c6)](_0x38631c(0x1cb)+_0x3055bd['message']),_0x22bc05[_0x38631c(0x177)]({'step':0x2,'label':_0x38631c(0x1b1),'ok':![],'detail':_0x3055bd[_0x38631c(0x16f)]});}else _0x124a45[_0x38631c(0x164)](_0x38631c(0x168)),_0x22bc05[_0x38631c(0x177)]({'step':0x2,'label':_0x38631c(0x1b1),'ok':!![],'detail':_0x38631c(0x1c4)});const _0x13e24e=a152_0x1f161a({'text':_0x38631c(0x172),'color':_0x38631c(0x17c)})[_0x38631c(0x1b6)](),_0x65855f=execRemoveOldArtifacts(_0x6b348d[_0x38631c(0x1de)]);_0x22bc05['push'](_0x65855f),_0x13e24e[_0x65855f['ok']?_0x38631c(0x1cc):_0x38631c(0x1c6)](_0x38631c(0x197)+(_0x65855f[_0x38631c(0x1d4)]??(_0x65855f['ok']?_0x38631c(0x194):_0x38631c(0x1a2))));const _0x25c263=a152_0x1f161a({'text':_0x38631c(0x162),'color':'cyan'})[_0x38631c(0x1b6)](),_0x42ed11=execCleanMcp(_0x6b348d);_0x22bc05[_0x38631c(0x177)](_0x42ed11),_0x25c263[_0x42ed11['ok']?_0x38631c(0x1cc):_0x38631c(0x1c6)](_0x38631c(0x186)+(_0x42ed11[_0x38631c(0x1d4)]??(_0x42ed11['ok']?_0x38631c(0x194):_0x38631c(0x1a2))));const _0x133720=a152_0x1f161a({'text':_0x38631c(0x1c1),'color':'cyan'})[_0x38631c(0x1b6)](),_0x37598e=execSkillsRemove(_0x1276c9,_0x325c87);_0x22bc05['push'](_0x37598e),_0x133720[_0x37598e['ok']?'succeed':'fail'](_0x38631c(0x167)+(_0x37598e[_0x38631c(0x1d4)]??(_0x37598e['ok']?_0x38631c(0x194):'failed')));const _0x26a553=a152_0x1f161a({'text':'Step\x206/7:\x20Installing\x20new\x20skill...','color':_0x38631c(0x17c)})[_0x38631c(0x1b6)](),_0x43f516=execSkillsAdd(_0x1276c9,_0x325c87);_0x22bc05['push'](_0x43f516),_0x26a553[_0x43f516['ok']?_0x38631c(0x1cc):_0x38631c(0x1c6)](_0x38631c(0x173)+(_0x43f516[_0x38631c(0x1d4)]??(_0x43f516['ok']?_0x38631c(0x194):_0x38631c(0x1a2))));const _0x1ad0bd=a152_0x1f161a({'text':_0x38631c(0x1a8),'color':_0x38631c(0x17c)})['start'](),_0x3ab557=execUpgradeSdk(_0x6b348d);_0x22bc05['push'](_0x3ab557),_0x1ad0bd[_0x3ab557['ok']?_0x38631c(0x1cc):_0x38631c(0x1c6)](_0x38631c(0x1dc)+(_0x3ab557[_0x38631c(0x1d4)]??(_0x3ab557['ok']?_0x38631c(0x194):_0x38631c(0x1a2)))),printSummary(_0x22bc05);const _0x1f5801=_0x22bc05['some'](_0x45d370=>!_0x45d370['ok']);_0x1f5801?console[_0x38631c(0x1b0)](a152_0x2593fe[_0x38631c(0x1bb)]('Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.')):console[_0x38631c(0x1b0)](a152_0x2593fe['green']('Upgrade\x20completed\x20successfully!')),_0x3ab557['ok']&&_0x6b348d[_0x38631c(0x1e0)]&&(console[_0x38631c(0x1b0)](''),console['log'](a152_0x2593fe['bold']['cyan'](_0x38631c(0x16d))),console[_0x38631c(0x1b0)](a152_0x2593fe[_0x38631c(0x17c)](_0x38631c(0x1dd))),console[_0x38631c(0x1b0)](''),console['log'](a152_0x2593fe[_0x38631c(0x18f)]('\x20\x20npm\x20install')),console[_0x38631c(0x1b0)](a152_0x2593fe[_0x38631c(0x18f)]('\x20\x20#\x20or')),console[_0x38631c(0x1b0)](a152_0x2593fe[_0x38631c(0x18f)](_0x38631c(0x18b))),console['log'](''));}
1
+ const a152_0x3299d8=a152_0x26b3;(function(_0x19c70d,_0x3f81ea){const _0x25ac30=a152_0x26b3,_0x48d72c=_0x19c70d();while(!![]){try{const _0x4c699d=-parseInt(_0x25ac30(0x178))/0x1*(parseInt(_0x25ac30(0x174))/0x2)+-parseInt(_0x25ac30(0x138))/0x3*(parseInt(_0x25ac30(0x154))/0x4)+-parseInt(_0x25ac30(0x145))/0x5+parseInt(_0x25ac30(0x162))/0x6+parseInt(_0x25ac30(0x18b))/0x7+-parseInt(_0x25ac30(0x13f))/0x8+parseInt(_0x25ac30(0x133))/0x9;if(_0x4c699d===_0x3f81ea)break;else _0x48d72c['push'](_0x48d72c['shift']());}catch(_0x4e1454){_0x48d72c['push'](_0x48d72c['shift']());}}}(a152_0x39ff,0xaa51d));import a152_0x252ba0 from'chalk';function a152_0x26b3(_0xb7a06b,_0x1ece20){_0xb7a06b=_0xb7a06b-0x133;const _0x39ff2c=a152_0x39ff();let _0x26b3ba=_0x39ff2c[_0xb7a06b];return _0x26b3ba;}function a152_0x39ff(){const _0x40d934=['fail','status','path','latest','skipped','@lovrabet/sdk','7320488ZBoJIV','succeed','configMigration','devDependencies','keys','undefined','3972515OIbuJZ','\x20→\x20','log','Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','bold','detail','error','\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server','.lovrabet','stringify','Upgrade\x20@lovrabet/sdk','skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)','sdkUpgrade','===\x20Upgrade\x20Analysis\x20===','join','236iKrvJw','done','yellow','needsSkillSwap','fields','gray','.claude/skills/lovrabet','info','no\x20legacy\x20entry','Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped','\x20\x20New\x20config\x20(.rabetbase.json):\x20','args','Install\x20new\x20skill','Upgrade\x20completed\x20successfully!','7280538ouJGNg','red','message','failed','utf8','Step\x201/7:\x20Migrating\x20config...','length','not\x20found\x20(will\x20create)','MCP\x20config:','\x20\x20#\x20or','.cursor/rules/lovrabet_rules.mdc','package.json','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','oldMcpConfig','\x20\x20Fields\x20to\x20migrate:\x20','string','Step\x202/7:\x20.lovrabet/\x20directory\x20removed','Remove\x20old\x20skill','1726958gXKYMl','hasNewConfig','parse','entries','1UrkTer','cyan','Step\x207/7:\x20@lovrabet/sdk\x20—\x20','Remove\x20legacy\x20artifacts','oldArtifacts','[\x22@lovrabet/sdk\x22]:\x20','white','.cursor/mcp.json','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','FOUND','\x20→\x20keys:\x20','filter','Config\x20migration','CANCEL','@lovrabet/sdk:','mcpServers','includes','removed\x20','isDirectory','9126551nLiIbY','some','no\x20matching\x20entry\x20found','Legacy\x20artifacts:','\x20\x20\x20\x20\x20\x20\x20','\x20from\x20','exit\x20','start','values','Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','\x20\x20bun\x20install','oldPath','inherit','push','Step\x203/7:\x20Legacy\x20artifacts\x20—\x20','dependencies','Clean\x20MCP\x20config','\x20removed','Step\x206/7:\x20Installing\x20new\x20skill...','\x20\x20npm\x20install','files','yes','Remove\x20.lovrabet/','Step\x204/7:\x20Cleaning\x20MCP\x20config...','green','skipped\x20(no\x20legacy\x20config)','needed','Step\x204/7:\x20MCP\x20config\x20—\x20','\x20\x20Step\x20','object','Proceed\x20with\x20upgrade?','\x20(backup:\x20','@lovrabet/dataset-mcp-server','\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','label','15562782GDcLfD','\x20\x20Current\x20version\x20in\x20','already\x20exists\x20(will\x20merge)','Step\x201/7:\x20Config\x20migration\x20—\x20','isArray','49614OJxguh'];a152_0x39ff=function(){return _0x40d934;};return a152_0x39ff();}import a152_0xf3a2d9 from'ora';import{existsSync,readFileSync,renameSync,rmSync,statSync,unlinkSync,writeFileSync}from'node:fs';import{resolve}from'node:path';import{CONFIG_NAMES,NEW_CONFIG_NAME,readConfigFile,writeConfigFile}from'../../context.js';import{CORE_IDE_CONFIGS}from'../../utils/ai_config.js';import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE,runNpxSkillsAddGlobal,runNpxSkillsRemove}from'../../skills/npx-skills-add.js';import{askConfirm}from'../../commands/menu/shared/inquirer.js';const LEGACY_CONFIG_NAMES=CONFIG_NAMES[a152_0x3299d8(0x183)](_0x5ee006=>_0x5ee006!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x1b0320){const _0x2b21de=a152_0x3299d8,_0x53258d=[];for(const _0x3a7f2c of Object[_0x2b21de(0x193)](CORE_IDE_CONFIGS)){if(_0x3a7f2c[_0x2b21de(0x19f)])for(const _0x38ec1a of _0x3a7f2c[_0x2b21de(0x19f)]){_0x53258d['push'](resolve(_0x1b0320,_0x38ec1a[_0x2b21de(0x13b)]));}}return _0x53258d;}function analyse(_0x290886){const _0x2e16df=a152_0x3299d8;let _0x4da4dc=null;const _0x3c6b23=resolve(_0x290886,NEW_CONFIG_NAME),_0x56565f=existsSync(_0x3c6b23);for(const _0x1fd528 of LEGACY_CONFIG_NAMES){const _0x2de2d4=resolve(_0x290886,_0x1fd528);if(existsSync(_0x2de2d4)){const _0x243da4=readConfigFile(_0x2de2d4),_0x3c9a4c=Object[_0x2e16df(0x143)](_0x243da4)['filter'](_0x20a20a=>typeof _0x243da4[_0x20a20a]!==_0x2e16df(0x144));_0x4da4dc={'oldPath':_0x2de2d4,'hasNewConfig':_0x56565f,'fields':_0x3c9a4c};break;}}const _0x4cd57f=[],_0x3b1de2=resolve(_0x290886,'.lovrabet');if(existsSync(_0x3b1de2))_0x4cd57f['push'](_0x3b1de2);const _0x93a97d=resolve(_0x290886,_0x2e16df(0x16c));if(existsSync(_0x93a97d))_0x4cd57f[_0x2e16df(0x198)](_0x93a97d);const _0x3170e0=resolve(_0x290886,_0x2e16df(0x15a));if(existsSync(_0x3170e0))_0x4cd57f[_0x2e16df(0x198)](_0x3170e0);for(const _0x16d23a of collectIdeSkillFiles(_0x290886)){if(existsSync(_0x16d23a))_0x4cd57f[_0x2e16df(0x198)](_0x16d23a);}let _0x42f1dd=null;const _0xab7900=resolve(_0x290886,_0x2e16df(0x17f));if(existsSync(_0xab7900))try{const _0x21eb21=JSON[_0x2e16df(0x176)](readFileSync(_0xab7900,'utf8'));if(_0x21eb21?.[_0x2e16df(0x187)]&&typeof _0x21eb21[_0x2e16df(0x187)]==='object'){const _0x27904e=[];for(const [_0x540483,_0x4438f6]of Object[_0x2e16df(0x177)](_0x21eb21[_0x2e16df(0x187)])){const _0x4aedc7=_0x4438f6;_0x4aedc7?.['args']&&Array['isArray'](_0x4aedc7[_0x2e16df(0x15f)])&&_0x4aedc7[_0x2e16df(0x15f)][_0x2e16df(0x18c)](_0x491be8=>typeof _0x491be8===_0x2e16df(0x171)&&_0x491be8[_0x2e16df(0x188)](_0x2e16df(0x1ab)))&&_0x27904e[_0x2e16df(0x198)](_0x540483);}_0x27904e[_0x2e16df(0x168)]>0x0&&(_0x42f1dd={'path':_0xab7900,'keys':_0x27904e});}}catch{}const _0x445eac=_0x4cd57f[_0x2e16df(0x168)]>0x0||_0x4da4dc!==null;let _0x504e58=null;const _0x56787e=resolve(_0x290886,_0x2e16df(0x16d));if(existsSync(_0x56787e))try{const _0xd06727=JSON[_0x2e16df(0x176)](readFileSync(_0x56787e,_0x2e16df(0x166)));for(const _0x4d1921 of[_0x2e16df(0x19a),_0x2e16df(0x142)]){const _0x1b8b83=_0xd06727?.[_0x4d1921]?.[_0x2e16df(0x13e)];if(typeof _0x1b8b83===_0x2e16df(0x171)){_0x1b8b83!==_0x2e16df(0x13c)&&(_0x504e58={'pkgPath':_0x56787e,'currentVersion':_0x1b8b83,'field':_0x4d1921});break;}}}catch{}return{'configMigration':_0x4da4dc,'oldArtifacts':_0x4cd57f,'oldMcpConfig':_0x42f1dd,'needsSkillSwap':_0x445eac,'sdkUpgrade':_0x504e58};}function printReport(_0x474388){const _0x1c57c6=a152_0x3299d8,{configMigration:_0x45a76c,oldArtifacts:_0x592eb8,oldMcpConfig:_0x2c74f1,needsSkillSwap:_0x35c0eb}=_0x474388;console[_0x1c57c6(0x147)](''),console['log'](a152_0x252ba0['bold'](_0x1c57c6(0x152))),console[_0x1c57c6(0x147)]('');_0x45a76c?(console['log'](a152_0x252ba0[_0x1c57c6(0x179)]('Config\x20file:')+('\x20\x20'+a152_0x252ba0[_0x1c57c6(0x156)](_0x45a76c[_0x1c57c6(0x196)]))),console['log'](_0x1c57c6(0x15e)+(_0x45a76c[_0x1c57c6(0x175)]?a152_0x252ba0['green'](_0x1c57c6(0x135)):a152_0x252ba0[_0x1c57c6(0x159)](_0x1c57c6(0x169)))),console[_0x1c57c6(0x147)](_0x1c57c6(0x170)+_0x45a76c[_0x1c57c6(0x158)]['join'](',\x20')),console[_0x1c57c6(0x147)](_0x1c57c6(0x1ac))):console['log'](a152_0x252ba0[_0x1c57c6(0x179)]('Config\x20file:')+'\x20\x20'+a152_0x252ba0[_0x1c57c6(0x159)]('no\x20legacy\x20config\x20found'));console[_0x1c57c6(0x147)]('');if(_0x592eb8['length']>0x0){console[_0x1c57c6(0x147)](a152_0x252ba0[_0x1c57c6(0x179)](_0x1c57c6(0x18e)));for(const _0x219bf9 of _0x592eb8){console[_0x1c57c6(0x147)]('\x20\x20'+a152_0x252ba0[_0x1c57c6(0x163)](_0x1c57c6(0x181))+'\x20\x20'+_0x219bf9);}console[_0x1c57c6(0x147)]('\x20\x20Action:\x20delete');}else console['log'](a152_0x252ba0['cyan']('Legacy\x20artifacts:')+'\x20\x20'+a152_0x252ba0[_0x1c57c6(0x159)]('none\x20found'));console[_0x1c57c6(0x147)]('');_0x2c74f1?(console[_0x1c57c6(0x147)](a152_0x252ba0[_0x1c57c6(0x179)](_0x1c57c6(0x16a))+('\x20\x20'+a152_0x252ba0['yellow'](_0x2c74f1['path'])+_0x1c57c6(0x182)+_0x2c74f1[_0x1c57c6(0x143)][_0x1c57c6(0x153)](',\x20'))),console[_0x1c57c6(0x147)](_0x1c57c6(0x14c))):console[_0x1c57c6(0x147)](a152_0x252ba0[_0x1c57c6(0x179)](_0x1c57c6(0x16a))+'\x20\x20'+a152_0x252ba0['gray'](_0x1c57c6(0x15c)));console[_0x1c57c6(0x147)](''),console['log'](a152_0x252ba0[_0x1c57c6(0x179)]('Skill\x20swap:')+('\x20\x20'+(_0x35c0eb?a152_0x252ba0['yellow'](_0x1c57c6(0x1a5)):a152_0x252ba0[_0x1c57c6(0x1a3)]('not\x20needed'))));_0x35c0eb&&console[_0x1c57c6(0x147)]('\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`'+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console[_0x1c57c6(0x147)]('');if(_0x474388[_0x1c57c6(0x151)]){const {currentVersion:_0x552415,field:_0x4020c8,pkgPath:_0x185cb2}=_0x474388[_0x1c57c6(0x151)];console['log'](a152_0x252ba0[_0x1c57c6(0x179)](_0x1c57c6(0x186))+('\x20\x20'+a152_0x252ba0[_0x1c57c6(0x156)](_0x185cb2))),console[_0x1c57c6(0x147)](_0x1c57c6(0x134)+_0x4020c8+':\x20'+a152_0x252ba0[_0x1c57c6(0x156)](_0x552415)+_0x1c57c6(0x146)+a152_0x252ba0[_0x1c57c6(0x1a3)](_0x1c57c6(0x13c))),console[_0x1c57c6(0x147)](_0x1c57c6(0x1ad));}else console[_0x1c57c6(0x147)](a152_0x252ba0[_0x1c57c6(0x179)](_0x1c57c6(0x186))+'\x20\x20'+a152_0x252ba0['gray']('not\x20found\x20or\x20already\x20at\x20latest'));console[_0x1c57c6(0x147)]('');}function execConfigMigration(_0x4d9126,_0x380a9b){const _0x3d5bc6=a152_0x3299d8,{configMigration:_0x56391f}=_0x4d9126;if(!_0x56391f?.[_0x3d5bc6(0x196)])return{'step':0x1,'label':_0x3d5bc6(0x184),'ok':!![],'detail':_0x3d5bc6(0x1a4)};const _0x36936a=readConfigFile(_0x56391f[_0x3d5bc6(0x196)]),_0x1095b9=resolve(_0x380a9b,NEW_CONFIG_NAME),_0x234cfb=_0x56391f[_0x3d5bc6(0x175)]?readConfigFile(_0x1095b9):{};for(const [_0x1232b8,_0x28c857]of Object[_0x3d5bc6(0x177)](_0x36936a)){!(_0x1232b8 in _0x234cfb)&&(_0x234cfb[_0x1232b8]=_0x28c857);}writeConfigFile(_0x1095b9,_0x234cfb);const _0x508d95=_0x56391f[_0x3d5bc6(0x196)]+'.bak';return renameSync(_0x56391f[_0x3d5bc6(0x196)],_0x508d95),{'step':0x1,'label':_0x3d5bc6(0x184),'ok':!![],'detail':_0x56391f[_0x3d5bc6(0x196)]+_0x3d5bc6(0x146)+_0x1095b9+_0x3d5bc6(0x1aa)+_0x508d95+')'};}function execRemoveOldArtifacts(_0x32fa24){const _0x58061f=a152_0x3299d8,_0x4169d3=[];for(const _0x4ae31c of _0x32fa24){try{if(!existsSync(_0x4ae31c))continue;const _0x272510=tryStat(_0x4ae31c);_0x272510?.[_0x58061f(0x18a)]()?rmSync(_0x4ae31c,{'recursive':!![],'force':!![]}):unlinkSync(_0x4ae31c);}catch(_0x54b688){_0x4169d3[_0x58061f(0x198)](_0x4ae31c+':\x20'+_0x54b688[_0x58061f(0x164)]);}}return{'step':0x3,'label':_0x58061f(0x17b),'ok':_0x4169d3[_0x58061f(0x168)]===0x0,'detail':_0x4169d3[_0x58061f(0x168)]>0x0?_0x32fa24['length']-_0x4169d3[_0x58061f(0x168)]+'/'+_0x32fa24[_0x58061f(0x168)]+'\x20removed\x20('+_0x4169d3['join'](';\x20')+')':_0x32fa24['length']+_0x58061f(0x19c)};}function execCleanMcp(_0x3715ae){const _0x243351=a152_0x3299d8;if(!_0x3715ae[_0x243351(0x16f)])return{'step':0x4,'label':_0x243351(0x19b),'ok':!![],'detail':_0x243351(0x13d)};try{const _0x5bef97=readFileSync(_0x3715ae[_0x243351(0x16f)][_0x243351(0x13b)],'utf8'),_0x271281=JSON['parse'](_0x5bef97);if(_0x271281?.[_0x243351(0x187)]&&typeof _0x271281['mcpServers']===_0x243351(0x1a8)){const _0x43df64=[];for(const [_0x2fcfe8,_0x114d1d]of Object['entries'](_0x271281[_0x243351(0x187)])){_0x114d1d?.[_0x243351(0x15f)]&&Array[_0x243351(0x137)](_0x114d1d[_0x243351(0x15f)])&&_0x114d1d[_0x243351(0x15f)]['some'](_0x431aa8=>typeof _0x431aa8===_0x243351(0x171)&&_0x431aa8[_0x243351(0x188)](_0x243351(0x1ab)))&&_0x43df64[_0x243351(0x198)](_0x2fcfe8);}for(const _0x2e7851 of _0x43df64){delete _0x271281[_0x243351(0x187)][_0x2e7851];}return _0x43df64[_0x243351(0x168)]>0x0&&writeFileSync(_0x3715ae['oldMcpConfig'][_0x243351(0x13b)],JSON[_0x243351(0x14e)](_0x271281,null,0x2)+'\x0a','utf8'),{'step':0x4,'label':_0x243351(0x19b),'ok':!![],'detail':_0x243351(0x189)+_0x43df64[_0x243351(0x153)](',\x20')+_0x243351(0x190)+_0x3715ae['oldMcpConfig'][_0x243351(0x13b)]};}return{'step':0x4,'label':_0x243351(0x19b),'ok':!![],'detail':_0x243351(0x18d)};}catch(_0xf833c){return{'step':0x4,'label':'Clean\x20MCP\x20config','ok':![],'detail':_0xf833c['message']};}}function execSkillsRemove(_0x34140b,_0x4e7391){const _0x4d24b7=a152_0x3299d8,_0x556029=runNpxSkillsRemove(_0x34140b,{'stdio':_0x4d24b7(0x197),'yes':_0x4e7391});return{'step':0x5,'label':_0x4d24b7(0x173),'ok':_0x556029['ok'],'detail':_0x556029['ok']?'lovrabet/lovrabet-skill\x20removed':_0x556029[_0x4d24b7(0x14b)]??_0x4d24b7(0x191)+_0x556029[_0x4d24b7(0x13a)]};}function execSkillsAdd(_0x4c9c29,_0x4243dc){const _0x44d0c9=a152_0x3299d8,_0x1ce1f0=runNpxSkillsAddGlobal(_0x4c9c29,'lovrabet/rabetbase',{'stdio':_0x44d0c9(0x197),'yes':_0x4243dc});return{'step':0x6,'label':_0x44d0c9(0x160),'ok':_0x1ce1f0['ok'],'detail':_0x1ce1f0['ok']?'lovrabet/rabetbase\x20installed\x20globally':_0x1ce1f0[_0x44d0c9(0x14b)]??_0x44d0c9(0x191)+_0x1ce1f0[_0x44d0c9(0x13a)]};}function execUpgradeSdk(_0x3976f8){const _0x4bf1f3=a152_0x3299d8;if(!_0x3976f8['sdkUpgrade'])return{'step':0x7,'label':_0x4bf1f3(0x14f),'ok':!![],'detail':_0x4bf1f3(0x150)};const {pkgPath:_0x340243,currentVersion:_0x36f834,field:_0x35e956}=_0x3976f8[_0x4bf1f3(0x151)];try{const _0x22c429=readFileSync(_0x340243,_0x4bf1f3(0x166)),_0x367f15=JSON[_0x4bf1f3(0x176)](_0x22c429);return _0x367f15[_0x35e956][_0x4bf1f3(0x13e)]=_0x4bf1f3(0x13c),writeFileSync(_0x340243,JSON[_0x4bf1f3(0x14e)](_0x367f15,null,0x2)+'\x0a','utf8'),{'step':0x7,'label':_0x4bf1f3(0x14f),'ok':!![],'detail':_0x35e956+_0x4bf1f3(0x17d)+_0x36f834+'\x20→\x20latest'};}catch(_0x3801be){return{'step':0x7,'label':_0x4bf1f3(0x14f),'ok':![],'detail':_0x3801be[_0x4bf1f3(0x164)]};}}function tryStat(_0x280902){try{return statSync(_0x280902);}catch{return undefined;}}function printSummary(_0x5b9bf6){const _0x420920=a152_0x3299d8;console[_0x420920(0x147)](''),console[_0x420920(0x147)](a152_0x252ba0[_0x420920(0x149)]('===\x20Upgrade\x20Summary\x20===')),console[_0x420920(0x147)]('');for(const _0x369418 of _0x5b9bf6){const _0x8eb70b=_0x369418['ok']?a152_0x252ba0[_0x420920(0x1a3)]('OK'):a152_0x252ba0[_0x420920(0x163)]('FAIL');console['log']('\x20\x20'+_0x8eb70b+_0x420920(0x1a7)+_0x369418['step']+':\x20'+_0x369418[_0x420920(0x1ae)]);if(_0x369418[_0x420920(0x14a)])console[_0x420920(0x147)](_0x420920(0x18f)+a152_0x252ba0[_0x420920(0x159)](_0x369418[_0x420920(0x14a)]));}console[_0x420920(0x147)]('');}export async function upgradeApp(_0xbf4a7e,_0x56c18f){const _0x4436c7=a152_0x3299d8,_0x1194a4=process['cwd'](),_0x485497=analyse(_0x1194a4),_0x124f6d=!_0x485497[_0x4436c7(0x141)]&&_0x485497[_0x4436c7(0x17c)]['length']===0x0&&!_0x485497[_0x4436c7(0x16f)]&&!_0x485497[_0x4436c7(0x157)]&&!_0x485497[_0x4436c7(0x151)];if(_0x124f6d){console[_0x4436c7(0x147)](a152_0x252ba0[_0x4436c7(0x1a3)]('No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.'));return;}printReport(_0x485497);const _0x11ba5a=!!(_0x56c18f[_0x4436c7(0x1a0)]||_0x56c18f['Y']||_0xbf4a7e);if(!_0x11ba5a)try{const _0x5e5a11=await askConfirm(_0x4436c7(0x1a9));if(!_0x5e5a11){console[_0x4436c7(0x147)](a152_0x252ba0[_0x4436c7(0x159)]('Upgrade\x20cancelled.'));return;}}catch(_0x35d505){if(_0x35d505?.[_0x4436c7(0x164)]===_0x4436c7(0x185)){console[_0x4436c7(0x147)](a152_0x252ba0[_0x4436c7(0x159)]('Upgrade\x20cancelled.'));return;}throw _0x35d505;}const _0x38d8a1=[],_0xf8d1dc=a152_0xf3a2d9({'text':_0x4436c7(0x167),'color':'cyan'})[_0x4436c7(0x192)](),_0x28be13=execConfigMigration(_0x485497,_0x1194a4);_0x38d8a1[_0x4436c7(0x198)](_0x28be13),_0xf8d1dc[_0x28be13['ok']?_0x4436c7(0x140):_0x4436c7(0x139)](_0x4436c7(0x136)+(_0x28be13[_0x4436c7(0x14a)]??(_0x28be13['ok']?_0x4436c7(0x155):'failed')));const _0x5cae55=resolve(_0x1194a4,_0x4436c7(0x14d)),_0x63e82c=a152_0xf3a2d9({'text':_0x4436c7(0x148),'color':_0x4436c7(0x179)})[_0x4436c7(0x192)]();if(existsSync(_0x5cae55))try{rmSync(_0x5cae55,{'recursive':!![],'force':!![]}),_0x63e82c[_0x4436c7(0x140)](_0x4436c7(0x172)),_0x38d8a1[_0x4436c7(0x198)]({'step':0x2,'label':_0x4436c7(0x1a1),'ok':!![]});}catch(_0x2ef9f3){_0x63e82c[_0x4436c7(0x139)]('Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20'+_0x2ef9f3['message']),_0x38d8a1[_0x4436c7(0x198)]({'step':0x2,'label':'Remove\x20.lovrabet/','ok':![],'detail':_0x2ef9f3[_0x4436c7(0x164)]});}else _0x63e82c[_0x4436c7(0x15b)](_0x4436c7(0x15d)),_0x38d8a1['push']({'step':0x2,'label':_0x4436c7(0x1a1),'ok':!![],'detail':_0x4436c7(0x13d)});const _0x20224e=a152_0xf3a2d9({'text':_0x4436c7(0x194),'color':_0x4436c7(0x179)})['start'](),_0x37ab11=execRemoveOldArtifacts(_0x485497[_0x4436c7(0x17c)]);_0x38d8a1[_0x4436c7(0x198)](_0x37ab11),_0x20224e[_0x37ab11['ok']?_0x4436c7(0x140):_0x4436c7(0x139)](_0x4436c7(0x199)+(_0x37ab11[_0x4436c7(0x14a)]??(_0x37ab11['ok']?'done':_0x4436c7(0x165))));const _0x323522=a152_0xf3a2d9({'text':_0x4436c7(0x1a2),'color':_0x4436c7(0x179)})['start'](),_0x26b729=execCleanMcp(_0x485497);_0x38d8a1[_0x4436c7(0x198)](_0x26b729),_0x323522[_0x26b729['ok']?_0x4436c7(0x140):_0x4436c7(0x139)](_0x4436c7(0x1a6)+(_0x26b729[_0x4436c7(0x14a)]??(_0x26b729['ok']?'done':_0x4436c7(0x165))));const _0x4e87c3=a152_0xf3a2d9({'text':'Step\x205/7:\x20Removing\x20old\x20skill...','color':_0x4436c7(0x179)})[_0x4436c7(0x192)](),_0x561d65=execSkillsRemove(_0x1194a4,_0x11ba5a);_0x38d8a1[_0x4436c7(0x198)](_0x561d65),_0x4e87c3[_0x561d65['ok']?_0x4436c7(0x140):_0x4436c7(0x139)]('Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20'+(_0x561d65[_0x4436c7(0x14a)]??(_0x561d65['ok']?'done':'failed')));const _0x19de06=a152_0xf3a2d9({'text':_0x4436c7(0x19d),'color':'cyan'})['start'](),_0x176b94=execSkillsAdd(_0x1194a4,_0x11ba5a);_0x38d8a1[_0x4436c7(0x198)](_0x176b94),_0x19de06[_0x176b94['ok']?'succeed':_0x4436c7(0x139)](_0x4436c7(0x16e)+(_0x176b94[_0x4436c7(0x14a)]??(_0x176b94['ok']?_0x4436c7(0x155):_0x4436c7(0x165))));const _0x3c8b51=a152_0xf3a2d9({'text':_0x4436c7(0x180),'color':_0x4436c7(0x179)})['start'](),_0x49ae2e=execUpgradeSdk(_0x485497);_0x38d8a1[_0x4436c7(0x198)](_0x49ae2e),_0x3c8b51[_0x49ae2e['ok']?_0x4436c7(0x140):_0x4436c7(0x139)](_0x4436c7(0x17a)+(_0x49ae2e[_0x4436c7(0x14a)]??(_0x49ae2e['ok']?_0x4436c7(0x155):_0x4436c7(0x165)))),printSummary(_0x38d8a1);const _0x529c37=_0x38d8a1['some'](_0xa1a936=>!_0xa1a936['ok']);_0x529c37?console[_0x4436c7(0x147)](a152_0x252ba0[_0x4436c7(0x156)]('Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.')):console[_0x4436c7(0x147)](a152_0x252ba0[_0x4436c7(0x1a3)](_0x4436c7(0x161))),_0x49ae2e['ok']&&_0x485497[_0x4436c7(0x151)]&&(console[_0x4436c7(0x147)](''),console[_0x4436c7(0x147)](a152_0x252ba0[_0x4436c7(0x149)][_0x4436c7(0x179)]('@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.')),console[_0x4436c7(0x147)](a152_0x252ba0[_0x4436c7(0x179)]('Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:')),console['log'](''),console['log'](a152_0x252ba0['white'](_0x4436c7(0x19e))),console[_0x4436c7(0x147)](a152_0x252ba0['white'](_0x4436c7(0x16b))),console[_0x4436c7(0x147)](a152_0x252ba0[_0x4436c7(0x17e)](_0x4436c7(0x195))),console['log'](''));}
@@ -1 +1 @@
1
- const a153_0xc0ac36=a153_0xd4e5;(function(_0x3efe38,_0x2cc475){const _0xe5e19d=a153_0xd4e5,_0x2c5ce3=_0x3efe38();while(!![]){try{const _0x1c23b4=-parseInt(_0xe5e19d(0xa6))/0x1*(parseInt(_0xe5e19d(0x9b))/0x2)+-parseInt(_0xe5e19d(0x86))/0x3*(parseInt(_0xe5e19d(0x90))/0x4)+-parseInt(_0xe5e19d(0xa7))/0x5+-parseInt(_0xe5e19d(0xa3))/0x6*(parseInt(_0xe5e19d(0x8b))/0x7)+-parseInt(_0xe5e19d(0xb5))/0x8*(parseInt(_0xe5e19d(0x98))/0x9)+-parseInt(_0xe5e19d(0xac))/0xa+parseInt(_0xe5e19d(0x9c))/0xb;if(_0x1c23b4===_0x2cc475)break;else _0x2c5ce3['push'](_0x2c5ce3['shift']());}catch(_0xebc0f){_0x2c5ce3['push'](_0x2c5ce3['shift']());}}}(a153_0x365a,0x3b3cf));import{apiDefinitions}from'../commands/api/index.js';import{bffDefinitions}from'../commands/bff/index.js';import{sqlDefinitions}from'../commands/sql/index.js';import{datasetDefinitions}from'../commands/dataset/index.js';import{pageDefinitions}from'../commands/page/index.js';import{dataDefinitions}from'../commands/data/index.js';import{dbDefinitions}from'../commands/db/index.js';import{codegenDefinitions}from'../commands/codegen/index.js';import{menuDefinitions}from'../commands/menu/index.js';import{taskDefinitions}from'../commands/task/index.js';import{roleDefinitions}from'../commands/role/index.js';import{permitDefinitions}from'../commands/permit/index.js';import{appDefinitions}from'../commands/app/index.js';import{appConfigDefinitions}from'../commands/app-config/index.js';import{notificationDefinitions}from'../commands/notification/index.js';import{workspaceDefinitions}from'../commands/workspace/index.js';import{configDefinitions}from'../commands/config/index.js';import{doctorDefinition}from'../commands/doctor.js';import{updateDefinition}from'../commands/cli-update.js';import{schemaDefinition}from'../commands/schema.js';import{issueDefinitions}from'../commands/issue/index.js';import{fileDefinitions}from'../commands/file/index.js';import{cliSkillDefinitions}from'../commands/cli-skill/index.js';import{authDefinitions}from'../commands/auth/index.js';import{logsDefinitions}from'../commands/logs/index.js';import{projectDefinitions}from'../commands/project/index.js';import{initDefinitions}from'../commands/init/index.js';function a153_0xd4e5(_0x1b6be9,_0x3cdf1e){_0x1b6be9=_0x1b6be9-0x7e;const _0x365ae1=a153_0x365a();let _0xd4e567=_0x365ae1[_0x1b6be9];return _0xd4e567;}import{runDefinition}from'../commands/run/index.js';export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();export const serviceGroups=new Map();function registerDefinitions(_0x1fd44d){const _0x151016=a153_0xd4e5;for(const _0x412071 of _0x1fd44d){definitions[_0x151016(0xb3)](_0x412071[_0x151016(0x91)]+':'+_0x412071[_0x151016(0x85)],_0x412071);let _0x536f38=serviceGroups[_0x151016(0xa8)](_0x412071[_0x151016(0x91)]);!_0x536f38&&(_0x536f38=[],serviceGroups['set'](_0x412071['service'],_0x536f38)),_0x536f38[_0x151016(0xb9)](_0x412071);}}function a153_0x365a(){const _0x816aab=['\x20\x20[high-risk-write]','install','\x20\x20[write]','run','90LidjMd','create','isSingleCommand','1lkxafL','262390iCQCTt','get','`\x20has\x20been\x20removed.','read','build','4190730bkhPJX','start','skill\x20','`rabetbase\x20skills`\x20has\x20been\x20removed.','wildcardDef','`rabetbase\x20app\x20use`\x20has\x20been\x20removed.','Roles','set','app\x20use','1160oABrnK','Configuration','from','values','push','Notification\x20Configuration','remote','Code\x20Generation','filter','login','show','auth','commands','app','CLI\x20Built-in\x20Skill','Self\x20Update','SQL\x20Queries','command','632157YbMNwz','Diagnostics','Workspace','`rabetbase\x20app\x20remote`\x20has\x20been\x20removed.','Authentication','148526wEovxI','API\x20Development','Async\x20Tasks','Platform\x20Issue','Use\x20`rabetbase\x20app\x20list\x20--remote`\x20instead.','4slQPAB','service','skills','Runtime\x20App\x20Config\x20Management','Project','App\x20Management','Instant\x20API','length','19179IJRvjM','Smart\x20List\x20Pages','has','468454UwONmx','19650411ZqzdWa','BFF\x20Scripts','app\x20remote'];a153_0x365a=function(){return _0x816aab;};return a153_0x365a();}function registerDeclarativeService(_0x55b196,_0x30c4e9,_0x3d3563){const _0x5594a1=a153_0xd4e5;registerDefinitions(_0x30c4e9);_0x3d3563?.[_0x5594a1(0xb0)]&&registerDefinitions([_0x3d3563[_0x5594a1(0xb0)]]);const _0x1b8884=_0x4f5621=>_0x4f5621===_0x5594a1(0xaa)?'':_0x4f5621==='write'?_0x5594a1(0xa1):_0x5594a1(0x9f),_0x442706={'service':_0x30c4e9[0x0][_0x5594a1(0x91)],'label':_0x55b196,'commands':_0x30c4e9[_0x5594a1(0xbd)](_0x53f460=>!_0x53f460['hidden'])['map'](_0x2a446c=>({'command':_0x2a446c[_0x5594a1(0x85)],'description':_0x2a446c['description'],'tag':_0x1b8884(_0x2a446c['risk'])})),'declarative':!![],'defaultCommand':_0x3d3563?.['defaultCommand']??(_0x3d3563?.[_0x5594a1(0xa5)]?_0x30c4e9[0x0]['command']:undefined),'wildcardDef':_0x3d3563?.[_0x5594a1(0xb0)],'isSingleCommand':_0x3d3563?.['isSingleCommand']};serviceRegistry[_0x5594a1(0xb9)](_0x442706),serviceByName[_0x5594a1(0xb3)](_0x442706[_0x5594a1(0x91)],_0x442706);}registerDeclarativeService('Quick\x20Start',initDefinitions,{'defaultCommand':'run','isSingleCommand':!![]}),registerDeclarativeService(a153_0xc0ac36(0x94),projectDefinitions),registerDeclarativeService(a153_0xc0ac36(0x88),workspaceDefinitions),registerDeclarativeService(a153_0xc0ac36(0x95),appDefinitions),registerDeclarativeService(a153_0xc0ac36(0x8a),authDefinitions,{'defaultCommand':a153_0xc0ac36(0xbe)}),registerDeclarativeService('Dataset\x20&\x20Operations',datasetDefinitions),registerDeclarativeService(a153_0xc0ac36(0x99),pageDefinitions),registerDeclarativeService(a153_0xc0ac36(0x8c),apiDefinitions),registerDeclarativeService(a153_0xc0ac36(0x96),dataDefinitions),registerDeclarativeService(a153_0xc0ac36(0x9d),bffDefinitions),registerDeclarativeService(a153_0xc0ac36(0xba),notificationDefinitions),registerDeclarativeService(a153_0xc0ac36(0x84),sqlDefinitions),registerDeclarativeService('Database\x20Connections',dbDefinitions),registerDeclarativeService('Menu',menuDefinitions),registerDeclarativeService(a153_0xc0ac36(0x8d),taskDefinitions),registerDeclarativeService(a153_0xc0ac36(0xb2),roleDefinitions),registerDeclarativeService('Permissions',permitDefinitions),registerDeclarativeService(a153_0xc0ac36(0x93),appConfigDefinitions),registerDeclarativeService(a153_0xc0ac36(0x8e),issueDefinitions),registerDeclarativeService('File',fileDefinitions),registerDeclarativeService(a153_0xc0ac36(0xbc),codegenDefinitions),registerDeclarativeService(a153_0xc0ac36(0xb6),configDefinitions),registerDeclarativeService(a153_0xc0ac36(0x87),[doctorDefinition],{'isSingleCommand':!![]}),registerDeclarativeService('Schema',[schemaDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a153_0xc0ac36(0x83),[updateDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a153_0xc0ac36(0x82),cliSkillDefinitions,{'defaultCommand':a153_0xc0ac36(0xa0)}),registerDeclarativeService('Logs',logsDefinitions,{'defaultCommand':a153_0xc0ac36(0x7e)}),registerDeclarativeService('Run\x20Scripts',[runDefinition],{'wildcardDef':runDefinition});{const last=serviceRegistry[serviceRegistry[a153_0xc0ac36(0x97)]-0x1];last[a153_0xc0ac36(0x80)]=[{'command':'<script>','description':'Run\x20any\x20package.json\x20script','tag':''}];}export const deprecatedAliases={'create':{'service':'project','command':a153_0xc0ac36(0xa4)},'start':{'service':'run','command':a153_0xc0ac36(0xad)},'build':{'service':a153_0xc0ac36(0xa2),'command':a153_0xc0ac36(0xab)},'preview':{'service':'run','command':'preview'},'logout':{'service':a153_0xc0ac36(0x7f),'command':'logout'}};const CLI_SKILL_INSTALL_REMOVED_HINT='Use\x20`rabetbase\x20cli-skill\x20install`\x20to\x20refresh\x20the\x20Rabetbase\x20CLI\x20Built-in\x20Skill.\x20To\x20install\x20business\x20Skills,\x20use\x20`lovrabet\x20skill\x20install`.',APP_REMOTE_REMOVED_HINT=a153_0xc0ac36(0x8f),APP_USE_REMOVED_HINT='Use\x20`rabetbase\x20workspace\x20use\x20--app\x20<name>`\x20instead.';export function resolveRemovedCommand(_0x9ad407,_0x5a7930){const _0x5a44ca=a153_0xc0ac36;if(_0x9ad407==='skill'){const _0x206d22=_0x5a7930?_0x5a44ca(0xae)+_0x5a7930:'skill';return{'command':_0x206d22,'message':'`rabetbase\x20'+_0x206d22+_0x5a44ca(0xa9),'hint':CLI_SKILL_INSTALL_REMOVED_HINT};}if(_0x9ad407===_0x5a44ca(0x92))return{'command':_0x5a44ca(0x92),'message':_0x5a44ca(0xaf),'hint':CLI_SKILL_INSTALL_REMOVED_HINT};if(_0x9ad407===_0x5a44ca(0x81)&&_0x5a7930===_0x5a44ca(0xbb))return{'command':_0x5a44ca(0x9e),'message':_0x5a44ca(0x89),'hint':APP_REMOTE_REMOVED_HINT};if(_0x9ad407===_0x5a44ca(0x81)&&_0x5a7930==='use')return{'command':_0x5a44ca(0xb4),'message':_0x5a44ca(0xb1),'hint':APP_USE_REMOVED_HINT};return undefined;}export const deprecatedSubcommands={'bff':{'new':a153_0xc0ac36(0xa4)},'sql':{'new':'create'}};export function resolveDeprecatedSubcommand(_0x1e4482,_0x4bf59d){return deprecatedSubcommands[_0x1e4482]?.[_0x4bf59d];}export function findDefinition(_0x7f3dae,_0x2baa7b){const _0x1d86be=a153_0xc0ac36;return definitions[_0x1d86be(0xa8)](_0x7f3dae+':'+_0x2baa7b);}export function isKnownService(_0x1f97bb){const _0x4cf686=a153_0xc0ac36;return serviceByName[_0x4cf686(0x9a)](_0x1f97bb);}export function isDeclarativeService(_0x4aef76){const _0x35160f=a153_0xc0ac36;return serviceGroups[_0x35160f(0x9a)](_0x4aef76)||serviceByName[_0x35160f(0xa8)](_0x4aef76)?.['wildcardDef']!==undefined;}export function getServiceEntry(_0x4e1beb){const _0x5032f8=a153_0xc0ac36;return serviceByName[_0x5032f8(0xa8)](_0x4e1beb);}export function getLegacyHandler(_0x4e2604,_0x1cb98a){return undefined;}export function getAllDefinitions(){const _0x561e2c=a153_0xc0ac36;return Array[_0x561e2c(0xb7)](definitions[_0x561e2c(0xb8)]());}
1
+ const a153_0x3ab4d6=a153_0xd86c;(function(_0x516b08,_0x5c5692){const _0x9d7ca5=a153_0xd86c,_0xd5561=_0x516b08();while(!![]){try{const _0x5d7332=parseInt(_0x9d7ca5(0x157))/0x1+-parseInt(_0x9d7ca5(0x16d))/0x2*(parseInt(_0x9d7ca5(0x140))/0x3)+-parseInt(_0x9d7ca5(0x165))/0x4*(parseInt(_0x9d7ca5(0x163))/0x5)+-parseInt(_0x9d7ca5(0x187))/0x6*(parseInt(_0x9d7ca5(0x166))/0x7)+parseInt(_0x9d7ca5(0x14a))/0x8+parseInt(_0x9d7ca5(0x184))/0x9*(parseInt(_0x9d7ca5(0x155))/0xa)+parseInt(_0x9d7ca5(0x182))/0xb;if(_0x5d7332===_0x5c5692)break;else _0xd5561['push'](_0xd5561['shift']());}catch(_0x3055d8){_0xd5561['push'](_0xd5561['shift']());}}}(a153_0x51a5,0x48565));import{apiDefinitions}from'../commands/api/index.js';function a153_0xd86c(_0x2f3aac,_0x337af5){_0x2f3aac=_0x2f3aac-0x13c;const _0x51a54a=a153_0x51a5();let _0xd86c1c=_0x51a54a[_0x2f3aac];return _0xd86c1c;}import{bffDefinitions}from'../commands/bff/index.js';import{sqlDefinitions}from'../commands/sql/index.js';import{datasetDefinitions}from'../commands/dataset/index.js';import{pageDefinitions}from'../commands/page/index.js';import{dataDefinitions}from'../commands/data/index.js';import{dbDefinitions}from'../commands/db/index.js';import{codegenDefinitions}from'../commands/codegen/index.js';import{menuDefinitions}from'../commands/menu/index.js';import{taskDefinitions}from'../commands/task/index.js';import{roleDefinitions}from'../commands/role/index.js';import{permitDefinitions}from'../commands/permit/index.js';import{appDefinitions}from'../commands/app/index.js';import{appConfigDefinitions}from'../commands/app-config/index.js';import{notificationDefinitions}from'../commands/notification/index.js';import{workspaceDefinitions}from'../commands/workspace/index.js';import{configDefinitions}from'../commands/config/index.js';import{doctorDefinition}from'../commands/doctor.js';function a153_0x51a5(){const _0x56ca3d=['description','auth','`rabetbase\x20app\x20remote`\x20has\x20been\x20removed.','filter','Use\x20`rabetbase\x20app\x20list\x20--remote`\x20instead.','skills','Project','4088770JERZyK','Self\x20Update','286969LEtRoB','skill\x20','build','show','Code\x20Generation','Instant\x20API','run','Schema','Menu','Dataset\x20&\x20Operations','get','from','824185iwpGJr','start','4TWndMs','406833dtihnm','values','API\x20Development','Authentication','SQL\x20Queries','set','create','854018EKvSKI','app\x20use','risk','Async\x20Tasks','remote','\x20\x20[high-risk-write]','logout','use','Diagnostics','has','Database\x20Connections','map','hidden','BFF\x20Scripts','`rabetbase\x20skills`\x20has\x20been\x20removed.','Logs','Roles','Quick\x20Start','CLI\x20Built-in\x20Skill','preview','isSingleCommand','1560207fDgDMm','<script>','9kIECdx','Platform\x20Issue','command','48fqzrBv','`\x20has\x20been\x20removed.','install','defaultCommand','Runtime\x20App\x20Config\x20Management','File','commands','length','3SYQrYI','`rabetbase\x20','Use\x20`rabetbase\x20workspace\x20use\x20--app\x20<name>`\x20instead.','project','Notification\x20Configuration','Use\x20`rabetbase\x20cli-skill\x20install`\x20to\x20refresh\x20the\x20Rabetbase\x20CLI\x20Built-in\x20Skill.\x20To\x20install\x20business\x20Skills,\x20use\x20`lovrabet\x20skill\x20install`.','service','wildcardDef','app\x20remote','Smart\x20List\x20Pages','4123264PAUpFz','app','push','Workspace'];a153_0x51a5=function(){return _0x56ca3d;};return a153_0x51a5();}import{updateDefinition}from'../commands/cli-update.js';import{schemaDefinition}from'../commands/schema.js';import{issueDefinitions}from'../commands/issue/index.js';import{fileDefinitions}from'../commands/file/index.js';import{cliSkillDefinitions}from'../commands/cli-skill/index.js';import{authDefinitions}from'../commands/auth/index.js';import{logsDefinitions}from'../commands/logs/index.js';import{projectDefinitions}from'../commands/project/index.js';import{initDefinitions}from'../commands/init/index.js';import{runDefinition}from'../commands/run/index.js';export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();export const serviceGroups=new Map();function registerDefinitions(_0xde5eda){const _0x59dd5c=a153_0xd86c;for(const _0x4c06aa of _0xde5eda){definitions['set'](_0x4c06aa[_0x59dd5c(0x146)]+':'+_0x4c06aa[_0x59dd5c(0x186)],_0x4c06aa);let _0x1b103d=serviceGroups[_0x59dd5c(0x161)](_0x4c06aa['service']);!_0x1b103d&&(_0x1b103d=[],serviceGroups[_0x59dd5c(0x16b)](_0x4c06aa[_0x59dd5c(0x146)],_0x1b103d)),_0x1b103d[_0x59dd5c(0x14c)](_0x4c06aa);}}function registerDeclarativeService(_0x1479b0,_0xdc3bb7,_0x351bc3){const _0xf7b37a=a153_0xd86c;registerDefinitions(_0xdc3bb7);_0x351bc3?.[_0xf7b37a(0x147)]&&registerDefinitions([_0x351bc3[_0xf7b37a(0x147)]]);const _0x15f384=_0x1be544=>_0x1be544==='read'?'':_0x1be544==='write'?'\x20\x20[write]':_0xf7b37a(0x172),_0x2a17a4={'service':_0xdc3bb7[0x0][_0xf7b37a(0x146)],'label':_0x1479b0,'commands':_0xdc3bb7[_0xf7b37a(0x151)](_0x402825=>!_0x402825[_0xf7b37a(0x179)])[_0xf7b37a(0x178)](_0x265bcd=>({'command':_0x265bcd['command'],'description':_0x265bcd[_0xf7b37a(0x14e)],'tag':_0x15f384(_0x265bcd[_0xf7b37a(0x16f)])})),'declarative':!![],'defaultCommand':_0x351bc3?.[_0xf7b37a(0x18a)]??(_0x351bc3?.[_0xf7b37a(0x181)]?_0xdc3bb7[0x0][_0xf7b37a(0x186)]:undefined),'wildcardDef':_0x351bc3?.['wildcardDef'],'isSingleCommand':_0x351bc3?.[_0xf7b37a(0x181)]};serviceRegistry[_0xf7b37a(0x14c)](_0x2a17a4),serviceByName[_0xf7b37a(0x16b)](_0x2a17a4[_0xf7b37a(0x146)],_0x2a17a4);}registerDeclarativeService(a153_0x3ab4d6(0x17e),initDefinitions,{'defaultCommand':a153_0x3ab4d6(0x15d),'isSingleCommand':!![]}),registerDeclarativeService(a153_0x3ab4d6(0x154),projectDefinitions),registerDeclarativeService(a153_0x3ab4d6(0x14d),workspaceDefinitions),registerDeclarativeService('App\x20Management',appDefinitions),registerDeclarativeService(a153_0x3ab4d6(0x169),authDefinitions,{'defaultCommand':'login'}),registerDeclarativeService(a153_0x3ab4d6(0x160),datasetDefinitions),registerDeclarativeService(a153_0x3ab4d6(0x149),pageDefinitions),registerDeclarativeService(a153_0x3ab4d6(0x168),apiDefinitions),registerDeclarativeService(a153_0x3ab4d6(0x15c),dataDefinitions),registerDeclarativeService(a153_0x3ab4d6(0x17a),bffDefinitions),registerDeclarativeService(a153_0x3ab4d6(0x144),notificationDefinitions),registerDeclarativeService(a153_0x3ab4d6(0x16a),sqlDefinitions),registerDeclarativeService(a153_0x3ab4d6(0x177),dbDefinitions),registerDeclarativeService(a153_0x3ab4d6(0x15f),menuDefinitions),registerDeclarativeService(a153_0x3ab4d6(0x170),taskDefinitions),registerDeclarativeService(a153_0x3ab4d6(0x17d),roleDefinitions),registerDeclarativeService('Permissions',permitDefinitions),registerDeclarativeService(a153_0x3ab4d6(0x13c),appConfigDefinitions),registerDeclarativeService(a153_0x3ab4d6(0x185),issueDefinitions),registerDeclarativeService(a153_0x3ab4d6(0x13d),fileDefinitions),registerDeclarativeService(a153_0x3ab4d6(0x15b),codegenDefinitions),registerDeclarativeService('Configuration',configDefinitions),registerDeclarativeService(a153_0x3ab4d6(0x175),[doctorDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a153_0x3ab4d6(0x15e),[schemaDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a153_0x3ab4d6(0x156),[updateDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a153_0x3ab4d6(0x17f),cliSkillDefinitions,{'defaultCommand':a153_0x3ab4d6(0x189)}),registerDeclarativeService(a153_0x3ab4d6(0x17c),logsDefinitions,{'defaultCommand':a153_0x3ab4d6(0x15a)}),registerDeclarativeService('Run\x20Scripts',[runDefinition],{'wildcardDef':runDefinition});{const last=serviceRegistry[serviceRegistry[a153_0x3ab4d6(0x13f)]-0x1];last[a153_0x3ab4d6(0x13e)]=[{'command':a153_0x3ab4d6(0x183),'description':'Run\x20any\x20package.json\x20script','tag':''}];}export const deprecatedAliases={'create':{'service':a153_0x3ab4d6(0x143),'command':a153_0x3ab4d6(0x16c)},'start':{'service':a153_0x3ab4d6(0x15d),'command':a153_0x3ab4d6(0x164)},'build':{'service':a153_0x3ab4d6(0x15d),'command':a153_0x3ab4d6(0x159)},'preview':{'service':'run','command':a153_0x3ab4d6(0x180)},'logout':{'service':a153_0x3ab4d6(0x14f),'command':a153_0x3ab4d6(0x173)}};const CLI_SKILL_INSTALL_REMOVED_HINT=a153_0x3ab4d6(0x145),APP_REMOTE_REMOVED_HINT=a153_0x3ab4d6(0x152),APP_USE_REMOVED_HINT=a153_0x3ab4d6(0x142);export function resolveRemovedCommand(_0x4e9cde,_0x375e5b){const _0xb8d6c3=a153_0x3ab4d6;if(_0x4e9cde==='skill'){const _0x39aea9=_0x375e5b?_0xb8d6c3(0x158)+_0x375e5b:'skill';return{'command':_0x39aea9,'message':_0xb8d6c3(0x141)+_0x39aea9+_0xb8d6c3(0x188),'hint':CLI_SKILL_INSTALL_REMOVED_HINT};}if(_0x4e9cde===_0xb8d6c3(0x153))return{'command':_0xb8d6c3(0x153),'message':_0xb8d6c3(0x17b),'hint':CLI_SKILL_INSTALL_REMOVED_HINT};if(_0x4e9cde===_0xb8d6c3(0x14b)&&_0x375e5b===_0xb8d6c3(0x171))return{'command':_0xb8d6c3(0x148),'message':_0xb8d6c3(0x150),'hint':APP_REMOTE_REMOVED_HINT};if(_0x4e9cde==='app'&&_0x375e5b===_0xb8d6c3(0x174))return{'command':_0xb8d6c3(0x16e),'message':'`rabetbase\x20app\x20use`\x20has\x20been\x20removed.','hint':APP_USE_REMOVED_HINT};return undefined;}export const deprecatedSubcommands={'bff':{'new':'create'},'sql':{'new':a153_0x3ab4d6(0x16c)}};export function resolveDeprecatedSubcommand(_0x1ece8e,_0xdeaf88){return deprecatedSubcommands[_0x1ece8e]?.[_0xdeaf88];}export function findDefinition(_0x39eee6,_0x2129cb){const _0x34cf6b=a153_0x3ab4d6;return definitions[_0x34cf6b(0x161)](_0x39eee6+':'+_0x2129cb);}export function isKnownService(_0x5cef1b){return serviceByName['has'](_0x5cef1b);}export function isDeclarativeService(_0x1f7654){const _0x499c8a=a153_0x3ab4d6;return serviceGroups[_0x499c8a(0x176)](_0x1f7654)||serviceByName[_0x499c8a(0x161)](_0x1f7654)?.[_0x499c8a(0x147)]!==undefined;}export function getServiceEntry(_0x1b2122){const _0x53436b=a153_0x3ab4d6;return serviceByName[_0x53436b(0x161)](_0x1b2122);}export function getLegacyHandler(_0x35fd70,_0x53af47){return undefined;}export function getAllDefinitions(){const _0xb7bb57=a153_0x3ab4d6;return Array[_0xb7bb57(0x162)](definitions[_0xb7bb57(0x167)]());}
@@ -1 +1 @@
1
- const a154_0x1270fe=a154_0x3aba;function a154_0x3aba(_0x152f4d,_0x5d01d4){_0x152f4d=_0x152f4d-0x164;const _0x144c52=a154_0x144c();let _0x3abaa7=_0x144c52[_0x152f4d];return _0x3abaa7;}(function(_0x2f8e8c,_0x3531d1){const _0x1dadd7=a154_0x3aba,_0x313511=_0x2f8e8c();while(!![]){try{const _0x4621c5=-parseInt(_0x1dadd7(0x16a))/0x1+-parseInt(_0x1dadd7(0x176))/0x2+-parseInt(_0x1dadd7(0x16f))/0x3*(-parseInt(_0x1dadd7(0x174))/0x4)+parseInt(_0x1dadd7(0x175))/0x5*(-parseInt(_0x1dadd7(0x180))/0x6)+-parseInt(_0x1dadd7(0x179))/0x7+parseInt(_0x1dadd7(0x171))/0x8+parseInt(_0x1dadd7(0x17f))/0x9;if(_0x4621c5===_0x3531d1)break;else _0x313511['push'](_0x313511['shift']());}catch(_0x18a658){_0x313511['push'](_0x313511['shift']());}}}(a154_0x144c,0x95e50));import{createAppRole}from'../../core/api-client.js';function a154_0x144c(){const _0x4104a5=['role','remark','\x20(id=','Pass\x20--name\x20<roleName>.','appCode','flagMissing','885866tGuTOe','Created\x20role\x20','roleName','Role\x20name\x20cannot\x20exceed\x2064\x20characters.','/smartapi/permit/role/create','806712AlbxUM','CUSTOM','869016kxLnph','trim','name','4DBBJFa','30njMeVx','1107150bpnWHk','write','Create\x20a\x20CUSTOM\x20user\x20group\x20(role)','6483351uLjWbm','str','validation','POST','length','create','29534733lzKfsC','679566pwdxlw'];a154_0x144c=function(){return _0x4104a5;};return a154_0x144c();}import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{NAME_FLAG,REMARK_FLAG,projectRole}from'../../commands/role/shared.js';const CREATE_PATH=a154_0x1270fe(0x16e);function readName(_0x50b276){const _0x3fb4bb=a154_0x1270fe,_0x52ea2a=_0x50b276[_0x3fb4bb(0x17a)](_0x3fb4bb(0x173))['trim']();if(!_0x52ea2a)throw CliErrors[_0x3fb4bb(0x169)](_0x3fb4bb(0x173),_0x3fb4bb(0x167));if(_0x52ea2a[_0x3fb4bb(0x17d)]>0x40)throw CliErrors[_0x3fb4bb(0x17b)](_0x3fb4bb(0x16d));return _0x52ea2a;}export const roleCreate={'service':a154_0x1270fe(0x164),'command':a154_0x1270fe(0x17e),'description':a154_0x1270fe(0x178),'risk':a154_0x1270fe(0x177),'flags':[NAME_FLAG,REMARK_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x3f8c6d){readName(_0x3f8c6d);},async 'dryRun'(_0x846ab2){const _0x55b1e4=a154_0x1270fe,_0x126b7e=readName(_0x846ab2),_0x27ebdc=_0x846ab2[_0x55b1e4(0x17a)]('remark')['trim']()||undefined;return asDryRunResult({'operation':_0x55b1e4(0x17e),'selector':{'appCode':_0x846ab2[_0x55b1e4(0x168)],'roleName':_0x126b7e},'before':null,'after':{'roleName':_0x126b7e,'roleType':_0x55b1e4(0x170),'remark':_0x27ebdc},'dryRun':!![],'backend':{'method':_0x55b1e4(0x17c),'path':CREATE_PATH},'warnings':[]},{'method':_0x55b1e4(0x17c),'url':CREATE_PATH});},async 'execute'(_0x2158fe){const _0x1c30d2=a154_0x1270fe,_0x895488=readName(_0x2158fe),_0x22ef65=_0x2158fe[_0x1c30d2(0x17a)](_0x1c30d2(0x165))[_0x1c30d2(0x172)]()||undefined,_0x44b7d9=await createAppRole({'appCode':_0x2158fe[_0x1c30d2(0x168)],'roleName':_0x895488,..._0x22ef65?{'remark':_0x22ef65}:{}});return{'ok':!![],'data':{'operation':_0x1c30d2(0x17e),'selector':{'appCode':_0x2158fe[_0x1c30d2(0x168)],'roleId':_0x44b7d9['id'],'roleName':_0x895488},'before':null,'after':projectRole(_0x44b7d9),'dryRun':![],'backend':{'method':_0x1c30d2(0x17c),'path':CREATE_PATH},'warnings':[]},'message':_0x1c30d2(0x16b)+_0x44b7d9[_0x1c30d2(0x16c)]+_0x1c30d2(0x166)+_0x44b7d9['id']+')'};}};
1
+ function a154_0xc83b(_0x24eb03,_0x35b3c5){_0x24eb03=_0x24eb03-0xc0;const _0x3c20fc=a154_0x3c20();let _0xc83b7b=_0x3c20fc[_0x24eb03];return _0xc83b7b;}const a154_0x297ef8=a154_0xc83b;(function(_0x37ca4f,_0xe83995){const _0x7c755e=a154_0xc83b,_0x510fd7=_0x37ca4f();while(!![]){try{const _0x1a8c83=-parseInt(_0x7c755e(0xdb))/0x1+-parseInt(_0x7c755e(0xc7))/0x2*(-parseInt(_0x7c755e(0xc3))/0x3)+parseInt(_0x7c755e(0xcf))/0x4*(-parseInt(_0x7c755e(0xc1))/0x5)+-parseInt(_0x7c755e(0xc0))/0x6*(parseInt(_0x7c755e(0xc4))/0x7)+parseInt(_0x7c755e(0xd0))/0x8*(parseInt(_0x7c755e(0xcb))/0x9)+-parseInt(_0x7c755e(0xd9))/0xa+parseInt(_0x7c755e(0xca))/0xb;if(_0x1a8c83===_0xe83995)break;else _0x510fd7['push'](_0x510fd7['shift']());}catch(_0x490fc7){_0x510fd7['push'](_0x510fd7['shift']());}}}(a154_0x3c20,0x54817));import{createAppRole}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';function a154_0x3c20(){const _0x18d017=['validation','24nkoDQh','5RvAfqt','remark','889257BlrwqT','460229BQLeYe','flagMissing','CUSTOM','2hLqTiq','write','create','13848285pUSJSX','90TSswQV','str','/smartapi/permit/role/create','Created\x20role\x20','1605684rTsgZO','242336twxIsF','length','Role\x20name\x20cannot\x20exceed\x2064\x20characters.','appCode','roleName','name','trim','POST','Pass\x20--name\x20<roleName>.','1607050BTfdWG','role','687025SFQLpr','Create\x20a\x20CUSTOM\x20user\x20group\x20(role)'];a154_0x3c20=function(){return _0x18d017;};return a154_0x3c20();}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{NAME_FLAG,REMARK_FLAG,projectRole}from'../../commands/role/shared.js';const CREATE_PATH=a154_0x297ef8(0xcd);function readName(_0x24b0b1){const _0x56d279=a154_0x297ef8,_0x4fdd9e=_0x24b0b1['str'](_0x56d279(0xd5))[_0x56d279(0xd6)]();if(!_0x4fdd9e)throw CliErrors[_0x56d279(0xc5)](_0x56d279(0xd5),_0x56d279(0xd8));if(_0x4fdd9e[_0x56d279(0xd1)]>0x40)throw CliErrors[_0x56d279(0xdd)](_0x56d279(0xd2));return _0x4fdd9e;}export const roleCreate={'service':a154_0x297ef8(0xda),'command':'create','description':a154_0x297ef8(0xdc),'risk':a154_0x297ef8(0xc8),'flags':[NAME_FLAG,REMARK_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x5a5fae){readName(_0x5a5fae);},async 'dryRun'(_0x2433ab){const _0x2cdae3=a154_0x297ef8,_0x5e8bca=readName(_0x2433ab),_0x3089ac=_0x2433ab[_0x2cdae3(0xcc)](_0x2cdae3(0xc2))[_0x2cdae3(0xd6)]()||undefined;return asDryRunResult({'operation':_0x2cdae3(0xc9),'selector':{'appCode':_0x2433ab[_0x2cdae3(0xd3)],'roleName':_0x5e8bca},'before':null,'after':{'roleName':_0x5e8bca,'roleType':_0x2cdae3(0xc6),'remark':_0x3089ac},'dryRun':!![],'backend':{'method':'POST','path':CREATE_PATH},'warnings':[]},{'method':_0x2cdae3(0xd7),'url':CREATE_PATH});},async 'execute'(_0x4c0879){const _0x21d5a1=a154_0x297ef8,_0x12dd8f=readName(_0x4c0879),_0x45ab65=_0x4c0879['str'](_0x21d5a1(0xc2))[_0x21d5a1(0xd6)]()||undefined,_0x5b25e6=await createAppRole({'appCode':_0x4c0879[_0x21d5a1(0xd3)],'roleName':_0x12dd8f,..._0x45ab65?{'remark':_0x45ab65}:{}});return{'ok':!![],'data':{'operation':'create','selector':{'appCode':_0x4c0879[_0x21d5a1(0xd3)],'roleId':_0x5b25e6['id'],'roleName':_0x12dd8f},'before':null,'after':projectRole(_0x5b25e6),'dryRun':![],'backend':{'method':_0x21d5a1(0xd7),'path':CREATE_PATH},'warnings':[]},'message':_0x21d5a1(0xce)+_0x5b25e6[_0x21d5a1(0xd4)]+'\x20(id='+_0x5b25e6['id']+')'};}};
@@ -1 +1 @@
1
- const a155_0x53809c=a155_0x14ca;(function(_0x160573,_0x140f7c){const _0x58d85e=a155_0x14ca,_0x283a32=_0x160573();while(!![]){try{const _0x1b425e=parseInt(_0x58d85e(0x14f))/0x1+parseInt(_0x58d85e(0x14e))/0x2+-parseInt(_0x58d85e(0x148))/0x3*(-parseInt(_0x58d85e(0x142))/0x4)+parseInt(_0x58d85e(0x156))/0x5*(parseInt(_0x58d85e(0x14a))/0x6)+-parseInt(_0x58d85e(0x144))/0x7+-parseInt(_0x58d85e(0x14d))/0x8*(parseInt(_0x58d85e(0x153))/0x9)+parseInt(_0x58d85e(0x149))/0xa*(parseInt(_0x58d85e(0x14b))/0xb);if(_0x1b425e===_0x140f7c)break;else _0x283a32['push'](_0x283a32['shift']());}catch(_0x1b4a2c){_0x283a32['push'](_0x283a32['shift']());}}}(a155_0x3802,0x68fa0));import{deleteAppRole}from'../../core/api-client.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';function a155_0x14ca(_0x16c79a,_0x4b914c){_0x16c79a=_0x16c79a-0x142;const _0x3802e8=a155_0x3802();let _0x14ca84=_0x3802e8[_0x16c79a];return _0x14ca84;}import{assertCustomRole,getRoleById,projectRole,ROLE_ID_FLAG}from'../../commands/role/shared.js';const DELETE_PATH='/smartapi/permit/role/delete';export const roleDelete={'service':a155_0x53809c(0x147),'command':'delete','description':a155_0x53809c(0x150),'risk':'high-risk-write','flags':[ROLE_ID_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x3e8f5f){const _0x198d9d=a155_0x53809c,_0xb3ce71=_0x3e8f5f[_0x198d9d(0x146)]('id'),_0x511b36=await getRoleById(_0x3e8f5f[_0x198d9d(0x155)],_0xb3ce71);return assertCustomRole(_0x511b36,_0x198d9d(0x143)),asDryRunResult({'operation':'delete','selector':{'appCode':_0x3e8f5f[_0x198d9d(0x155)],'roleId':_0xb3ce71,'roleName':_0x511b36['roleName']},'before':projectRole(_0x511b36),'after':null,'dryRun':!![],'backend':{'method':_0x198d9d(0x151),'path':DELETE_PATH},'warnings':_0x511b36[_0x198d9d(0x157)]>0x0?[_0x198d9d(0x152)+_0x511b36[_0x198d9d(0x157)]+_0x198d9d(0x154)]:[]},{'method':_0x198d9d(0x151),'url':DELETE_PATH});},async 'execute'(_0x3e607d){const _0x12273b=a155_0x53809c,_0x4811de=_0x3e607d[_0x12273b(0x146)]('id'),_0x40d205=await getRoleById(_0x3e607d[_0x12273b(0x155)],_0x4811de);return assertCustomRole(_0x40d205,_0x12273b(0x143)),await deleteAppRole(_0x4811de),{'ok':!![],'data':{'operation':_0x12273b(0x143),'selector':{'appCode':_0x3e607d[_0x12273b(0x155)],'roleId':_0x4811de,'roleName':_0x40d205['roleName']},'before':projectRole(_0x40d205),'after':null,'dryRun':![],'backend':{'method':'POST','path':DELETE_PATH},'warnings':[]},'message':_0x12273b(0x14c)+_0x40d205[_0x12273b(0x145)]+_0x12273b(0x158)+_0x4811de+')'};}};function a155_0x3802(){const _0x1a4fb9=['6202089ZApJMO','\x20member(s);\x20they\x20will\x20lose\x20this\x20group.','appCode','15NQrXTs','userCount','\x20(id=','48144NUgIxD','delete','155512QpJCyf','roleName','num','role','15ovpsCH','363470uPoAKF','520716NrVJPU','11CoUAtr','Deleted\x20role\x20','8XjAnFK','574918eBVHxr','496977JTBsOD','Delete\x20a\x20CUSTOM\x20role\x20(DEV/ADMIN\x20rejected);\x20requires\x20--yes','POST','Role\x20still\x20has\x20'];a155_0x3802=function(){return _0x1a4fb9;};return a155_0x3802();}
1
+ const a155_0x309357=a155_0x5d6e;(function(_0x49e5a6,_0x1b8eae){const _0x473210=a155_0x5d6e,_0x1079e2=_0x49e5a6();while(!![]){try{const _0x3fb1fe=-parseInt(_0x473210(0x191))/0x1*(parseInt(_0x473210(0x181))/0x2)+parseInt(_0x473210(0x195))/0x3+-parseInt(_0x473210(0x190))/0x4+parseInt(_0x473210(0x18e))/0x5*(-parseInt(_0x473210(0x18b))/0x6)+parseInt(_0x473210(0x182))/0x7+-parseInt(_0x473210(0x185))/0x8+parseInt(_0x473210(0x184))/0x9*(parseInt(_0x473210(0x197))/0xa);if(_0x3fb1fe===_0x1b8eae)break;else _0x1079e2['push'](_0x1079e2['shift']());}catch(_0x2e54be){_0x1079e2['push'](_0x1079e2['shift']());}}}(a155_0x526d,0x706ec));import{deleteAppRole}from'../../core/api-client.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';function a155_0x526d(){const _0x43911c=['Role\x20still\x20has\x20','userCount','\x20member(s);\x20they\x20will\x20lose\x20this\x20group.','3680550Tinoxw','POST','roleName','5JVgQTA','num','401272QBVEEy','3buglJN','delete','\x20(id=','Deleted\x20role\x20','357378nHrYpb','appCode','2420QvSVZt','250894JncJya','3510304mlkkhE','high-risk-write','44127tWPfUb','2052128HLdGma','Delete\x20a\x20CUSTOM\x20role\x20(DEV/ADMIN\x20rejected);\x20requires\x20--yes','/smartapi/permit/role/delete'];a155_0x526d=function(){return _0x43911c;};return a155_0x526d();}function a155_0x5d6e(_0x57691e,_0x63c5a9){_0x57691e=_0x57691e-0x181;const _0x526db3=a155_0x526d();let _0x5d6e10=_0x526db3[_0x57691e];return _0x5d6e10;}import{assertCustomRole,getRoleById,projectRole,ROLE_ID_FLAG}from'../../commands/role/shared.js';const DELETE_PATH=a155_0x309357(0x187);export const roleDelete={'service':'role','command':a155_0x309357(0x192),'description':a155_0x309357(0x186),'risk':a155_0x309357(0x183),'flags':[ROLE_ID_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x10ef92){const _0x1bae03=a155_0x309357,_0x5e077a=_0x10ef92[_0x1bae03(0x18f)]('id'),_0x444c3f=await getRoleById(_0x10ef92['appCode'],_0x5e077a);return assertCustomRole(_0x444c3f,_0x1bae03(0x192)),asDryRunResult({'operation':_0x1bae03(0x192),'selector':{'appCode':_0x10ef92['appCode'],'roleId':_0x5e077a,'roleName':_0x444c3f[_0x1bae03(0x18d)]},'before':projectRole(_0x444c3f),'after':null,'dryRun':!![],'backend':{'method':'POST','path':DELETE_PATH},'warnings':_0x444c3f[_0x1bae03(0x189)]>0x0?[_0x1bae03(0x188)+_0x444c3f[_0x1bae03(0x189)]+_0x1bae03(0x18a)]:[]},{'method':_0x1bae03(0x18c),'url':DELETE_PATH});},async 'execute'(_0x5a2b9f){const _0x2be3b8=a155_0x309357,_0x531aad=_0x5a2b9f[_0x2be3b8(0x18f)]('id'),_0x39df95=await getRoleById(_0x5a2b9f[_0x2be3b8(0x196)],_0x531aad);return assertCustomRole(_0x39df95,_0x2be3b8(0x192)),await deleteAppRole(_0x531aad),{'ok':!![],'data':{'operation':_0x2be3b8(0x192),'selector':{'appCode':_0x5a2b9f[_0x2be3b8(0x196)],'roleId':_0x531aad,'roleName':_0x39df95['roleName']},'before':projectRole(_0x39df95),'after':null,'dryRun':![],'backend':{'method':_0x2be3b8(0x18c),'path':DELETE_PATH},'warnings':[]},'message':_0x2be3b8(0x194)+_0x39df95['roleName']+_0x2be3b8(0x193)+_0x531aad+')'};}};
@@ -1 +1 @@
1
- const a156_0x5a0e9d=a156_0x43cd;(function(_0x7d4b2e,_0x24f833){const _0x1aa944=a156_0x43cd,_0x247c58=_0x7d4b2e();while(!![]){try{const _0x423d16=parseInt(_0x1aa944(0xdd))/0x1+parseInt(_0x1aa944(0xe0))/0x2*(-parseInt(_0x1aa944(0xd5))/0x3)+parseInt(_0x1aa944(0xde))/0x4*(parseInt(_0x1aa944(0xdb))/0x5)+parseInt(_0x1aa944(0xd6))/0x6+-parseInt(_0x1aa944(0xd8))/0x7+-parseInt(_0x1aa944(0xd9))/0x8+parseInt(_0x1aa944(0xe2))/0x9;if(_0x423d16===_0x24f833)break;else _0x247c58['push'](_0x247c58['shift']());}catch(_0x4bdc3b){_0x247c58['push'](_0x247c58['shift']());}}}(a156_0x2b90,0xe730d));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a156_0x43cd(_0x324a60,_0x30d286){_0x324a60=_0x324a60-0xd5;const _0x2b9022=a156_0x2b90();let _0x43cd12=_0x2b9022[_0x324a60];return _0x43cd12;}import{getRoleById,projectRole,ROLE_ID_FLAG}from'../../commands/role/shared.js';export const roleDetail={'service':a156_0x5a0e9d(0xe1),'command':a156_0x5a0e9d(0xdf),'description':a156_0x5a0e9d(0xd7),'risk':'read','flags':[ROLE_ID_FLAG,APPCODE_FLAG_OPTIONAL],async 'execute'(_0x29797e){const _0x98351a=a156_0x5a0e9d,_0x5e5233=_0x29797e[_0x98351a(0xdc)]('id'),_0x28f428=await getRoleById(_0x29797e['appCode'],_0x5e5233);return{'ok':!![],'data':{'role':projectRole(_0x28f428)},'message':_0x98351a(0xda)+_0x28f428['roleName']+'\x20('+_0x28f428['roleType']+')'};}};function a156_0x2b90(){const _0x3e6c96=['1521066eIRhfv','3071496CShHGs','Show\x20a\x20single\x20role\x27s\x20detail','6585411FFYezT','13095096xxTVkW','Role\x20','30ERhRPh','num','643132oxrUjy','178896zGaxdp','detail','4vliNkw','role','28037421EdcqRA'];a156_0x2b90=function(){return _0x3e6c96;};return a156_0x2b90();}
1
+ const a156_0x5a4c59=a156_0x86bb;(function(_0x4c6e1a,_0x198324){const _0x2d2ee0=a156_0x86bb,_0x543c3f=_0x4c6e1a();while(!![]){try{const _0x203c40=-parseInt(_0x2d2ee0(0x90))/0x1+-parseInt(_0x2d2ee0(0x89))/0x2+parseInt(_0x2d2ee0(0x87))/0x3*(-parseInt(_0x2d2ee0(0x8b))/0x4)+parseInt(_0x2d2ee0(0x93))/0x5*(-parseInt(_0x2d2ee0(0x8f))/0x6)+-parseInt(_0x2d2ee0(0x8c))/0x7+-parseInt(_0x2d2ee0(0x8d))/0x8*(parseInt(_0x2d2ee0(0x88))/0x9)+parseInt(_0x2d2ee0(0x8e))/0xa;if(_0x203c40===_0x198324)break;else _0x543c3f['push'](_0x543c3f['shift']());}catch(_0x559c5f){_0x543c3f['push'](_0x543c3f['shift']());}}}(a156_0x2aad,0x44f11));function a156_0x2aad(){const _0x250d07=['192AmghZg','454755QuQQzi','detail','appCode','74390GftNzi','roleType','read','Show\x20a\x20single\x20role\x27s\x20detail','role','num','1081137OtRfAw','213093ixNoWQ','565436hYcfGk','roleName','4qZACYF','1209243grKgql','144vUDQlO','24552680SBHROY'];a156_0x2aad=function(){return _0x250d07;};return a156_0x2aad();}function a156_0x86bb(_0x5466bb,_0x286584){_0x5466bb=_0x5466bb-0x86;const _0x2aadd3=a156_0x2aad();let _0x86bbd7=_0x2aadd3[_0x5466bb];return _0x86bbd7;}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{getRoleById,projectRole,ROLE_ID_FLAG}from'../../commands/role/shared.js';export const roleDetail={'service':a156_0x5a4c59(0x97),'command':a156_0x5a4c59(0x91),'description':a156_0x5a4c59(0x96),'risk':a156_0x5a4c59(0x95),'flags':[ROLE_ID_FLAG,APPCODE_FLAG_OPTIONAL],async 'execute'(_0x217478){const _0x3ce935=a156_0x5a4c59,_0x4ed48c=_0x217478[_0x3ce935(0x86)]('id'),_0x2fc4ad=await getRoleById(_0x217478[_0x3ce935(0x92)],_0x4ed48c);return{'ok':!![],'data':{'role':projectRole(_0x2fc4ad)},'message':'Role\x20'+_0x2fc4ad[_0x3ce935(0x8a)]+'\x20('+_0x2fc4ad[_0x3ce935(0x94)]+')'};}};
@@ -1 +1 @@
1
- (function(_0x5f31dc,_0x462621){const _0xe24d4b=a157_0x46cb,_0x538504=_0x5f31dc();while(!![]){try{const _0x193c95=parseInt(_0xe24d4b(0xef))/0x1+-parseInt(_0xe24d4b(0xee))/0x2*(-parseInt(_0xe24d4b(0xeb))/0x3)+-parseInt(_0xe24d4b(0xe8))/0x4+-parseInt(_0xe24d4b(0xec))/0x5*(parseInt(_0xe24d4b(0xf1))/0x6)+parseInt(_0xe24d4b(0xed))/0x7+-parseInt(_0xe24d4b(0xe9))/0x8*(-parseInt(_0xe24d4b(0xf0))/0x9)+-parseInt(_0xe24d4b(0xea))/0xa;if(_0x193c95===_0x462621)break;else _0x538504['push'](_0x538504['shift']());}catch(_0x2b1fc0){_0x538504['push'](_0x538504['shift']());}}}(a157_0x2299,0x63366));import{roleList}from'../../commands/role/list.js';import{roleDetail}from'../../commands/role/detail.js';import{roleCreate}from'../../commands/role/create.js';import{roleUpdate}from'../../commands/role/update.js';import{roleDelete}from'../../commands/role/delete.js';import{roleUserResolve}from'../../commands/role/user-resolve.js';import{roleUserAdd}from'../../commands/role/user-add.js';import{roleUserRemove}from'../../commands/role/user-remove.js';export const roleDefinitions=[roleList,roleDetail,roleCreate,roleUpdate,roleDelete,roleUserResolve,roleUserAdd,roleUserRemove];function a157_0x46cb(_0x4abbb3,_0x3ec35f){_0x4abbb3=_0x4abbb3-0xe8;const _0x2299f7=a157_0x2299();let _0x46cb86=_0x2299f7[_0x4abbb3];return _0x46cb86;}function a157_0x2299(){const _0x46e8b2=['2dgKUtq','627269yhRtOT','9Orzibf','1274874NjdgtY','290280zMAPaS','497144QKJJKT','7208530BpVqiJ','699186MKzBXf','10omqDtn','4915967bYgigu'];a157_0x2299=function(){return _0x46e8b2;};return a157_0x2299();}
1
+ (function(_0x35c5ba,_0x4cd01f){const _0x5d2a5d=a157_0x1443,_0x1b3fd8=_0x35c5ba();while(!![]){try{const _0x55215f=-parseInt(_0x5d2a5d(0x185))/0x1*(-parseInt(_0x5d2a5d(0x190))/0x2)+parseInt(_0x5d2a5d(0x18d))/0x3*(parseInt(_0x5d2a5d(0x18c))/0x4)+-parseInt(_0x5d2a5d(0x186))/0x5*(-parseInt(_0x5d2a5d(0x18b))/0x6)+-parseInt(_0x5d2a5d(0x18a))/0x7*(parseInt(_0x5d2a5d(0x183))/0x8)+-parseInt(_0x5d2a5d(0x18f))/0x9*(-parseInt(_0x5d2a5d(0x18e))/0xa)+-parseInt(_0x5d2a5d(0x187))/0xb*(parseInt(_0x5d2a5d(0x188))/0xc)+-parseInt(_0x5d2a5d(0x184))/0xd*(-parseInt(_0x5d2a5d(0x189))/0xe);if(_0x55215f===_0x4cd01f)break;else _0x1b3fd8['push'](_0x1b3fd8['shift']());}catch(_0xee6c5){_0x1b3fd8['push'](_0x1b3fd8['shift']());}}}(a157_0x5f33,0xc210c));import{roleList}from'../../commands/role/list.js';import{roleDetail}from'../../commands/role/detail.js';import{roleCreate}from'../../commands/role/create.js';function a157_0x1443(_0x3d1c07,_0x1ea734){_0x3d1c07=_0x3d1c07-0x183;const _0x5f33dd=a157_0x5f33();let _0x1443ef=_0x5f33dd[_0x3d1c07];return _0x1443ef;}function a157_0x5f33(){const _0x4dbd20=['480575loyBsb','15712708WjmAzA','12qiKDYA','1064434RZgvqx','77aAdtyc','30QLISsY','452VaFHiz','19545vHSIno','623820OrvFvo','90EGmYMF','373564Hwgjak','797512dkwdjA','221HhznmH','1CwjIut'];a157_0x5f33=function(){return _0x4dbd20;};return a157_0x5f33();}import{roleUpdate}from'../../commands/role/update.js';import{roleDelete}from'../../commands/role/delete.js';import{roleUserResolve}from'../../commands/role/user-resolve.js';import{roleUserAdd}from'../../commands/role/user-add.js';import{roleUserRemove}from'../../commands/role/user-remove.js';export const roleDefinitions=[roleList,roleDetail,roleCreate,roleUpdate,roleDelete,roleUserResolve,roleUserAdd,roleUserRemove];
@@ -1 +1 @@
1
- function a158_0x1ad2(){const _0x4d089d=['Found\x20','pagesize','Invalid\x20--type\x20\x22','25zkSKqt','678792EPveyn','20hHyPHO','type','Use\x20one\x20of:\x20','num','toUpperCase','appCode','string','42RoRwwN','includes','4292100LMnUEM','Page\x20index\x20(1-based)','1404006cJBqIo','DEV','Filter\x20by\x20role\x20type','number','map','join','48630PrktXA','page','CUSTOM','read','filter','5792DZVpAt','List\x20user\x20groups\x20(roles)\x20for\x20the\x20current\x20app','290xdKdjr','validation','str','--pagesize\x20must\x20be\x20between\x201\x20and\x20100.','4941lUggbH','150931GGAmIn','USER','trim','387093MycGzX'];a158_0x1ad2=function(){return _0x4d089d;};return a158_0x1ad2();}function a158_0x3deb(_0x5cebf9,_0x3d392b){_0x5cebf9=_0x5cebf9-0x176;const _0x1ad20c=a158_0x1ad2();let _0x3deb19=_0x1ad20c[_0x5cebf9];return _0x3deb19;}const a158_0x4076a3=a158_0x3deb;(function(_0x1bfcf6,_0x222520){const _0x26dfbb=a158_0x3deb,_0x42c0c6=_0x1bfcf6();while(!![]){try{const _0x1c53f9=-parseInt(_0x26dfbb(0x19a))/0x1*(parseInt(_0x26dfbb(0x189))/0x2)+-parseInt(_0x26dfbb(0x194))/0x3+parseInt(_0x26dfbb(0x188))/0x4*(parseInt(_0x26dfbb(0x187))/0x5)+parseInt(_0x26dfbb(0x190))/0x6*(parseInt(_0x26dfbb(0x183))/0x7)+parseInt(_0x26dfbb(0x179))/0x8*(-parseInt(_0x26dfbb(0x17f))/0x9)+-parseInt(_0x26dfbb(0x17b))/0xa*(-parseInt(_0x26dfbb(0x180))/0xb)+parseInt(_0x26dfbb(0x192))/0xc;if(_0x1c53f9===_0x222520)break;else _0x42c0c6['push'](_0x42c0c6['shift']());}catch(_0x274baa){_0x42c0c6['push'](_0x42c0c6['shift']());}}}(a158_0x1ad2,0x9c19d));import{listAppRoles}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{projectRole}from'../../commands/role/shared.js';const ROLE_TYPES=['ADMIN',a158_0x4076a3(0x195),a158_0x4076a3(0x181),a158_0x4076a3(0x176)];export const roleList={'service':'role','command':'list','description':a158_0x4076a3(0x17a),'risk':a158_0x4076a3(0x177),'flags':[APPCODE_FLAG_OPTIONAL,{'name':'type','type':a158_0x4076a3(0x18f),'required':![],'description':a158_0x4076a3(0x196),'enum':ROLE_TYPES},{'name':a158_0x4076a3(0x19b),'type':a158_0x4076a3(0x197),'description':a158_0x4076a3(0x193),'default':0x1},{'name':a158_0x4076a3(0x185),'type':a158_0x4076a3(0x197),'description':'Page\x20size\x20(1-100)','default':0x64}],async 'validate'(_0x66759e){const _0x96c529=a158_0x4076a3,_0x276ece=_0x66759e[_0x96c529(0x17d)]('type')['trim']();if(_0x276ece&&!ROLE_TYPES[_0x96c529(0x191)](_0x276ece['toUpperCase']()))throw CliErrors[_0x96c529(0x17c)](_0x96c529(0x186)+_0x276ece+'\x22.',_0x96c529(0x18b)+ROLE_TYPES[_0x96c529(0x199)](',\x20')+'.');const _0x34c74a=_0x66759e[_0x96c529(0x18c)](_0x96c529(0x19b),0x1),_0x131263=_0x66759e[_0x96c529(0x18c)](_0x96c529(0x185),0x64);if(_0x34c74a<0x1)throw CliErrors[_0x96c529(0x17c)]('--page\x20must\x20be\x20greater\x20than\x20or\x20equal\x20to\x201.');if(_0x131263<0x1||_0x131263>0x64)throw CliErrors[_0x96c529(0x17c)](_0x96c529(0x17e));},async 'execute'(_0x38764a){const _0x3d67f1=a158_0x4076a3,_0x503dc5=_0x38764a[_0x3d67f1(0x18c)]('page',0x1)||0x1,_0x1fe4f7=_0x38764a[_0x3d67f1(0x18c)](_0x3d67f1(0x185),0x64)||0x64,_0x12833e=_0x38764a[_0x3d67f1(0x17d)](_0x3d67f1(0x18a))[_0x3d67f1(0x182)]()[_0x3d67f1(0x18d)](),{items:_0x5a0141,paging:_0xd2281}=await listAppRoles(_0x38764a[_0x3d67f1(0x18e)],{'currentPage':_0x503dc5,'pageSize':_0x1fe4f7}),_0x2da4d9=_0x12833e?_0x5a0141[_0x3d67f1(0x178)](_0x3044d8=>_0x3044d8['roleType']===_0x12833e):_0x5a0141,_0x1924bb=_0x2da4d9[_0x3d67f1(0x198)](projectRole);return{'ok':!![],'data':{'roles':_0x1924bb,'paging':_0xd2281},'message':_0x3d67f1(0x184)+_0x1924bb['length']+'\x20role(s)'};}};
1
+ const a158_0x408e01=a158_0x2011;function a158_0x2a53(){const _0x611baf=['role','List\x20user\x20groups\x20(roles)\x20for\x20the\x20current\x20app','1502872NclEDf','Found\x20','ADMIN','pagesize','validation','2515938YFMijL','1072236RcKrRb','str','6890712LPucXh','list','CUSTOM','join','Invalid\x20--type\x20\x22','string','1047650GgMwjK','7hcCXXA','3984309ZXVbls','Page\x20size\x20(1-100)','19991286hQpYeF','25XPcLAR','type','map','length','Page\x20index\x20(1-based)','num','DEV','roleType','page','USER','appCode','read','Filter\x20by\x20role\x20type','trim','toUpperCase','number','filter'];a158_0x2a53=function(){return _0x611baf;};return a158_0x2a53();}(function(_0x53cd48,_0xc90a7e){const _0x4e0025=a158_0x2011,_0x78c5af=_0x53cd48();while(!![]){try{const _0x5b3de3=-parseInt(_0x4e0025(0xea))/0x1+parseInt(_0x4e0025(0x107))/0x2+-parseInt(_0x4e0025(0xec))/0x3+-parseInt(_0x4e0025(0xe2))/0x4*(parseInt(_0x4e0025(0xef))/0x5)+parseInt(_0x4e0025(0xe4))/0x6+parseInt(_0x4e0025(0xeb))/0x7*(-parseInt(_0x4e0025(0x102))/0x8)+parseInt(_0x4e0025(0xee))/0x9;if(_0x5b3de3===_0xc90a7e)break;else _0x78c5af['push'](_0x78c5af['shift']());}catch(_0x515e79){_0x78c5af['push'](_0x78c5af['shift']());}}}(a158_0x2a53,0xb0b38));import{listAppRoles}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';function a158_0x2011(_0x1d84f4,_0x1fd3dc){_0x1d84f4=_0x1d84f4-0xe2;const _0x2a53be=a158_0x2a53();let _0x201199=_0x2a53be[_0x1d84f4];return _0x201199;}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{projectRole}from'../../commands/role/shared.js';const ROLE_TYPES=[a158_0x408e01(0x104),a158_0x408e01(0xf5),a158_0x408e01(0xf8),a158_0x408e01(0xe6)];export const roleList={'service':a158_0x408e01(0x100),'command':a158_0x408e01(0xe5),'description':a158_0x408e01(0x101),'risk':a158_0x408e01(0xfa),'flags':[APPCODE_FLAG_OPTIONAL,{'name':a158_0x408e01(0xf0),'type':a158_0x408e01(0xe9),'required':![],'description':a158_0x408e01(0xfb),'enum':ROLE_TYPES},{'name':'page','type':a158_0x408e01(0xfe),'description':a158_0x408e01(0xf3),'default':0x1},{'name':'pagesize','type':a158_0x408e01(0xfe),'description':a158_0x408e01(0xed),'default':0x64}],async 'validate'(_0x26b791){const _0x3aff76=a158_0x408e01,_0xc5a291=_0x26b791['str']('type')[_0x3aff76(0xfc)]();if(_0xc5a291&&!ROLE_TYPES['includes'](_0xc5a291[_0x3aff76(0xfd)]()))throw CliErrors['validation'](_0x3aff76(0xe8)+_0xc5a291+'\x22.','Use\x20one\x20of:\x20'+ROLE_TYPES[_0x3aff76(0xe7)](',\x20')+'.');const _0x2394e5=_0x26b791[_0x3aff76(0xf4)]('page',0x1),_0x255477=_0x26b791[_0x3aff76(0xf4)](_0x3aff76(0x105),0x64);if(_0x2394e5<0x1)throw CliErrors['validation']('--page\x20must\x20be\x20greater\x20than\x20or\x20equal\x20to\x201.');if(_0x255477<0x1||_0x255477>0x64)throw CliErrors[_0x3aff76(0x106)]('--pagesize\x20must\x20be\x20between\x201\x20and\x20100.');},async 'execute'(_0x161243){const _0x487798=a158_0x408e01,_0x15b295=_0x161243[_0x487798(0xf4)](_0x487798(0xf7),0x1)||0x1,_0x9fbd60=_0x161243[_0x487798(0xf4)]('pagesize',0x64)||0x64,_0x421be=_0x161243[_0x487798(0xe3)](_0x487798(0xf0))['trim']()[_0x487798(0xfd)](),{items:_0x137a1c,paging:_0x2974c9}=await listAppRoles(_0x161243[_0x487798(0xf9)],{'currentPage':_0x15b295,'pageSize':_0x9fbd60}),_0x390db1=_0x421be?_0x137a1c[_0x487798(0xff)](_0x55498c=>_0x55498c[_0x487798(0xf6)]===_0x421be):_0x137a1c,_0x383f91=_0x390db1[_0x487798(0xf1)](projectRole);return{'ok':!![],'data':{'roles':_0x383f91,'paging':_0x2974c9},'message':_0x487798(0x103)+_0x383f91[_0x487798(0xf2)]+'\x20role(s)'};}};
@@ -1 +1 @@
1
- const a159_0x491fc5=a159_0x51e7;(function(_0x4572c4,_0x32d0cc){const _0x356877=a159_0x51e7,_0x48e070=_0x4572c4();while(!![]){try{const _0x463fbe=parseInt(_0x356877(0x12b))/0x1+parseInt(_0x356877(0x160))/0x2+parseInt(_0x356877(0x152))/0x3*(parseInt(_0x356877(0x12c))/0x4)+-parseInt(_0x356877(0x134))/0x5+-parseInt(_0x356877(0x155))/0x6*(parseInt(_0x356877(0x12a))/0x7)+parseInt(_0x356877(0x154))/0x8*(-parseInt(_0x356877(0x16d))/0x9)+parseInt(_0x356877(0x146))/0xa;if(_0x463fbe===_0x32d0cc)break;else _0x48e070['push'](_0x48e070['shift']());}catch(_0x58b2ab){_0x48e070['push'](_0x48e070['shift']());}}}(a159_0x23d2,0x78f5c));import{getAppRole,getTenantMembers,listAppRoles,listRoleUsers}from'../../core/api-client.js';import{getSessionUserInfo}from'../../auth/get-session-user.js';import{CliErrors}from'../../errors.js';export const ROLE_ID_FLAG={'name':'id','type':'number','required':!![],'description':'Role\x20id\x20(from\x20`role\x20list`)'};export const ROLE_REF_FLAG={'name':a159_0x491fc5(0x164),'type':a159_0x491fc5(0x145),'required':!![],'description':'Role\x20id\x20or\x20role\x20name\x20(CUSTOM\x20roles\x20may\x20be\x20referenced\x20by\x20name)'};export const USER_REF_FLAG={'name':a159_0x491fc5(0x13e),'type':a159_0x491fc5(0x145),'required':!![],'description':a159_0x491fc5(0x15b)};export const NAME_FLAG={'name':a159_0x491fc5(0x15e),'type':'string','required':!![],'description':a159_0x491fc5(0x173)};export const USER_NAME_FLAG={'name':a159_0x491fc5(0x15e),'type':a159_0x491fc5(0x145),'required':!![],'description':'Nickname\x20or\x20username\x20to\x20resolve\x20to\x20a\x20userId'};export const REMARK_FLAG={'name':a159_0x491fc5(0x138),'type':a159_0x491fc5(0x145),'required':![],'description':a159_0x491fc5(0x169)};function a159_0x51e7(_0x35a7d8,_0x92e5e1){_0x35a7d8=_0x35a7d8-0x126;const _0x23d2de=a159_0x23d2();let _0x51e716=_0x23d2de[_0x35a7d8];return _0x51e716;}export const EXPECT_USER_COUNT_FLAG={'name':'expect-user-count','type':a159_0x491fc5(0x132),'required':![],'description':'Anti-drift\x20guard:\x20fail\x20if\x20the\x20role\x27s\x20current\x20member\x20count\x20differs'};export const BUILTIN_ROLE_TYPES=[a159_0x491fc5(0x149),a159_0x491fc5(0x13f),a159_0x491fc5(0x16e)];export function isBuiltinRole(_0x166189){return BUILTIN_ROLE_TYPES['includes'](_0x166189);}export function assertCustomRole(_0x3128ef,_0x2b4b0a){const _0x5e6fd2=a159_0x491fc5;if(_0x3128ef[_0x5e6fd2(0x16f)]!==_0x5e6fd2(0x137))throw CliErrors[_0x5e6fd2(0x168)](_0x5e6fd2(0x14b)+_0x2b4b0a+_0x5e6fd2(0x13c)+_0x3128ef[_0x5e6fd2(0x167)]+'\x20('+_0x3128ef['roleType']+').',_0x5e6fd2(0x14f));}export function assertPermConfigurable(_0x3b8243){const _0x485aac=a159_0x491fc5;if(_0x3b8243[_0x485aac(0x16f)]==='DEV'||_0x3b8243[_0x485aac(0x16f)]===_0x485aac(0x149))throw CliErrors[_0x485aac(0x168)](_0x485aac(0x13a)+_0x3b8243['roleName']+'\x20('+_0x3b8243[_0x485aac(0x16f)]+').','DEV\x20/\x20ADMIN\x20keep\x20full\x20access\x20by\x20design;\x20configure\x20a\x20CUSTOM\x20role\x20instead.');}export function projectRole(_0xc45af9){const _0x3f6d13=a159_0x491fc5;return{'id':_0xc45af9['id'],'roleName':_0xc45af9[_0x3f6d13(0x167)],'roleType':_0xc45af9['roleType'],'remark':_0xc45af9[_0x3f6d13(0x138)],'userCount':_0xc45af9[_0x3f6d13(0x172)],'permitCount':_0xc45af9[_0x3f6d13(0x174)],'builtin':isBuiltinRole(_0xc45af9[_0x3f6d13(0x16f)])};}export async function resolveRoleRef(_0x29acfb,_0x36e81e){const _0x596077=a159_0x491fc5,_0x3ad6b8=_0x36e81e[_0x596077(0x139)]();if(!_0x3ad6b8)throw CliErrors['validation']('Missing\x20role\x20reference.',_0x596077(0x147));if(/^\d+$/[_0x596077(0x16b)](_0x3ad6b8))return getRoleById(_0x29acfb,Number(_0x3ad6b8));const _0x37ff18=await listAllAppRoles(_0x29acfb),_0x32fb3b=_0x37ff18[_0x596077(0x153)](_0x5beae4=>_0x5beae4[_0x596077(0x167)]===_0x3ad6b8);if(_0x32fb3b['length']===0x0)throw CliErrors['validation']('Role\x20name\x20\x22'+_0x3ad6b8+_0x596077(0x128)+_0x29acfb+'.',_0x596077(0x158));if(_0x32fb3b[_0x596077(0x159)]>0x1){const _0x25d342=_0x32fb3b[_0x596077(0x130)](_0x1b8c55=>_0x1b8c55['id'])[_0x596077(0x151)](',\x20');throw CliErrors[_0x596077(0x168)](_0x596077(0x14c)+_0x3ad6b8+_0x596077(0x171)+_0x25d342+').',_0x596077(0x15d));}return _0x32fb3b[0x0];}export async function getRoleById(_0x31ba85,_0xf2d1aa){const _0x4829e3=a159_0x491fc5,_0x5ef091=await getAppRole(_0xf2d1aa);if(!_0x5ef091)throw CliErrors[_0x4829e3(0x168)](_0x4829e3(0x12f)+_0xf2d1aa+_0x4829e3(0x16c)+_0x31ba85+'.',_0x4829e3(0x162));return _0x5ef091;}async function listAllAppRoles(_0x169839){const _0x2d88bf=a159_0x491fc5,_0x2734d7=0x64,_0x5d126a=[];for(let _0x208b3f=0x1;;_0x208b3f+=0x1){const {items:_0x59167e,paging:_0x488dce}=await listAppRoles(_0x169839,{'currentPage':_0x208b3f,'pageSize':_0x2734d7});_0x5d126a[_0x2d88bf(0x12d)](..._0x59167e);if(_0x59167e['length']<_0x2734d7||_0x488dce&&_0x5d126a[_0x2d88bf(0x159)]>=_0x488dce[_0x2d88bf(0x170)])return _0x5d126a;}}export async function resolveTenantCode(){const _0x3b7982=a159_0x491fc5,_0x562ba5=await getSessionUserInfo(),_0x3ac0c0=_0x562ba5?.['user']?.[_0x3b7982(0x14d)]?.[_0x3b7982(0x157)];if(!_0x3ac0c0)throw CliErrors['authRequired']('Cannot\x20resolve\x20current\x20tenant.\x20Run\x20`rabetbase\x20auth\x20login`\x20first.');return _0x3ac0c0;}function matchMember(_0x1b7e0f,_0x13bec7){const _0x1e5978=a159_0x491fc5,_0x195679=_0x13bec7[_0x1e5978(0x139)]()[_0x1e5978(0x15f)]();return(_0x1b7e0f[_0x1e5978(0x126)]??'')[_0x1e5978(0x15f)]()===_0x195679||(_0x1b7e0f[_0x1e5978(0x127)]??'')[_0x1e5978(0x15f)]()===_0x195679;}export async function resolveUserRef(_0x51f27e){const _0x542ac9=a159_0x491fc5,_0x285d29=_0x51f27e[_0x542ac9(0x139)]();if(!_0x285d29)throw CliErrors[_0x542ac9(0x168)](_0x542ac9(0x131),'Pass\x20--user\x20<id|name>.');const _0xed5a1a=await resolveTenantCode(),_0x1b4812=await getTenantMembers(_0xed5a1a);if(/^\d+$/[_0x542ac9(0x16b)](_0x285d29)){const _0x31580a=Number(_0x285d29),_0x37332b=_0x1b4812[_0x542ac9(0x142)](_0x126d65=>_0x126d65[_0x542ac9(0x156)]===_0x31580a);return{'userId':_0x31580a,'username':_0x37332b?.[_0x542ac9(0x127)]??String(_0x31580a),'nickname':_0x37332b?.[_0x542ac9(0x126)],'matchedBy':'id'};}const _0x34aa62=_0x1b4812[_0x542ac9(0x153)](_0x4be98a=>matchMember(_0x4be98a,_0x285d29));if(_0x34aa62[_0x542ac9(0x159)]===0x0)throw CliErrors[_0x542ac9(0x168)](_0x542ac9(0x143)+_0x285d29+'\x22.',_0x542ac9(0x161));if(_0x34aa62['length']>0x1){const _0x448cdd=_0x34aa62['map'](_0xb880fd=>(_0xb880fd[_0x542ac9(0x126)]??_0xb880fd['username']??'?')+'('+_0xb880fd[_0x542ac9(0x156)]+')')[_0x542ac9(0x151)](',\x20');throw CliErrors[_0x542ac9(0x168)]('Multiple\x20tenant\x20members\x20match\x20\x22'+_0x285d29+_0x542ac9(0x12e)+_0x448cdd+'.','Disambiguate\x20with\x20--user\x20<id>.');}const _0x2fbdfb=_0x34aa62[0x0];return{'userId':_0x2fbdfb['userId'],'username':_0x2fbdfb['username']??String(_0x2fbdfb[_0x542ac9(0x156)]),'nickname':_0x2fbdfb[_0x542ac9(0x126)],'matchedBy':'name'};}export const UPDATE_USER_LIST_PATH=a159_0x491fc5(0x148);function a159_0x23d2(){const _0x5f5a51=['Disambiguate\x20with\x20--role\x20<id>.','name','toLowerCase','634976jNZOVx','Check\x20the\x20nickname/username,\x20or\x20pass\x20--user\x20<id>.','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles.','\x20is\x20already\x20a\x20member\x20of\x20role\x20','role','findIndex','POST','roleName','validation','Optional\x20role\x20remark/description','\x20not\x20found\x20in\x20the\x20user-role\x20list.','test','\x20not\x20found\x20in\x20app\x20','46854SHkpzn','USER','roleType','totalCount','\x22\x20is\x20ambiguous\x20(ids:\x20','userCount','Role\x20name','permitCount','Pass\x20--user\x20<id|name>.','nickname','username','\x22\x20not\x20found\x20in\x20app\x20','\x20member(s)\x20but\x20role\x20has\x20','217xEmlKd','777224tGECty','3789472mNWJQk','push','\x22:\x20','Role\x20id\x20','map','Missing\x20user\x20reference.','number','flag','4649885hcMdRL','expectUserCount','appCode','CUSTOM','remark','trim','Cannot\x20change\x20the\x20permission\x20matrix\x20of\x20built-in\x20role\x20','userList','\x20built-in\x20role\x20','user-add','user','DEV',';\x20no\x20change.','User\x20','find','No\x20tenant\x20member\x20matches\x20\x22','dryRun','string','1357210eTMSBs','Pass\x20--role\x20<id|name>.','/smartapi/permit/user-role/update-user-list','ADMIN','str','Cannot\x20','Role\x20name\x20\x22','tenant','flagMissing','Only\x20CUSTOM\x20roles\x20can\x20be\x20modified\x20or\x20deleted.','\x20is\x20not\x20a\x20member\x20of\x20role\x20','join','3WSTEFu','filter','488mcpnVt','84156guWdcZ','userId','tenant_code','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles,\x20or\x20pass\x20--role\x20<id>.','length','expect-user-count','User\x20id,\x20username,\x20or\x20nickname\x20to\x20resolve\x20to\x20a\x20userId','splice'];a159_0x23d2=function(){return _0x5f5a51;};return a159_0x23d2();}function userIdsOf(_0x3ecfe0){const _0x26e821=a159_0x491fc5;return(_0x3ecfe0?.['userList']??[])[_0x26e821(0x130)](_0x20f62c=>_0x20f62c[_0x26e821(0x156)]);}export function computeRoleUserMutation(_0x38bacb){const _0x12423b=a159_0x491fc5,{operation:_0x26f703,appCode:_0x2b3666,roleUsers:_0x21a2bf,targetRoleId:_0x3acd41,user:_0x5e774c}=_0x38bacb,_0x1cca14=_0x21a2bf[_0x12423b(0x142)](_0x40efab=>_0x40efab['id']===_0x3acd41);if(!_0x1cca14)throw CliErrors[_0x12423b(0x168)](_0x12423b(0x12f)+_0x3acd41+_0x12423b(0x16a),_0x12423b(0x162));const _0x1dfdf8=userIdsOf(_0x1cca14),_0x10af43=[];if(_0x38bacb[_0x12423b(0x135)]!==undefined&&_0x38bacb['expectUserCount']!==_0x1dfdf8[_0x12423b(0x159)])throw CliErrors[_0x12423b(0x168)]('Anti-drift\x20check\x20failed:\x20expected\x20'+_0x38bacb[_0x12423b(0x135)]+_0x12423b(0x129)+_0x1dfdf8[_0x12423b(0x159)]+'.','Re-run\x20`role\x20detail`\x20/\x20`role\x20list`\x20and\x20retry\x20with\x20the\x20current\x20count.');const _0x1a710c=_0x1dfdf8['includes'](_0x5e774c[_0x12423b(0x156)]);let _0x29c8fa=![];const _0x591897=[..._0x1cca14[_0x12423b(0x13b)]];if(_0x26f703===_0x12423b(0x13d))_0x1a710c?_0x10af43['push'](_0x12423b(0x141)+_0x5e774c['userId']+_0x12423b(0x163)+_0x1cca14[_0x12423b(0x167)]+_0x12423b(0x140)):(_0x591897[_0x12423b(0x12d)]({'userId':_0x5e774c[_0x12423b(0x156)],'username':_0x5e774c[_0x12423b(0x127)],..._0x5e774c[_0x12423b(0x126)]?{'nickname':_0x5e774c['nickname']}:{}}),_0x29c8fa=!![]);else{if(!_0x1a710c)_0x10af43[_0x12423b(0x12d)](_0x12423b(0x141)+_0x5e774c[_0x12423b(0x156)]+_0x12423b(0x150)+_0x1cca14[_0x12423b(0x167)]+';\x20no\x20change.');else{const _0x45f601=_0x591897[_0x12423b(0x165)](_0x18ecf2=>_0x18ecf2[_0x12423b(0x156)]===_0x5e774c[_0x12423b(0x156)]);if(_0x45f601>=0x0)_0x591897[_0x12423b(0x15c)](_0x45f601,0x1);_0x29c8fa=!![];}}const _0x27f689=_0x21a2bf[_0x12423b(0x130)](_0x43367e=>_0x43367e['id']===_0x3acd41?{..._0x43367e,'userList':_0x591897}:_0x43367e),_0xc6d90f=_0x591897[_0x12423b(0x130)](_0x326845=>_0x326845[_0x12423b(0x156)]),_0x5199fd={'operation':_0x26f703,'selector':{'appCode':_0x2b3666,'roleId':_0x3acd41,'roleName':_0x1cca14[_0x12423b(0x167)],'userId':_0x5e774c[_0x12423b(0x156)]},'before':{'userIds':_0x1dfdf8},'after':{'userIds':_0xc6d90f},'dryRun':_0x38bacb[_0x12423b(0x144)],'backend':{'method':_0x12423b(0x166),'path':UPDATE_USER_LIST_PATH},'warnings':_0x10af43};return{'roleList':_0x27f689,'mutation':_0x5199fd,'changed':_0x29c8fa};}export async function loadRoleUsers(_0x2b2a7b){return listRoleUsers(_0x2b2a7b);}export function readRoleRef(_0x5dd307){const _0x4f1e08=a159_0x491fc5,_0x3b4ee4=_0x5dd307[_0x4f1e08(0x14a)](_0x4f1e08(0x164))['trim']();if(!_0x3b4ee4)throw CliErrors['flagMissing']('role',_0x4f1e08(0x147));return _0x3b4ee4;}export async function prepareUserMutation(_0x17b19f,_0x56b5dd,_0x5eb7c7){const _0x5421f7=a159_0x491fc5,_0x922c73=readRoleRef(_0x17b19f),_0x1ffca2=_0x17b19f[_0x5421f7(0x14a)](_0x5421f7(0x13e))[_0x5421f7(0x139)]();if(!_0x1ffca2)throw CliErrors[_0x5421f7(0x14e)](_0x5421f7(0x13e),_0x5421f7(0x175));const _0x125c80=_0x17b19f[_0x5421f7(0x133)](_0x5421f7(0x15a)),_0x3659b8=_0x125c80===undefined||_0x125c80===null?undefined:Number(_0x125c80),_0x2322a5=await resolveRoleRef(_0x17b19f[_0x5421f7(0x136)],_0x922c73),_0x3fa817=await resolveUserRef(_0x1ffca2),_0x2b800c=await loadRoleUsers(_0x17b19f[_0x5421f7(0x136)]);return computeRoleUserMutation({'operation':_0x56b5dd,'appCode':_0x17b19f[_0x5421f7(0x136)],'roleUsers':_0x2b800c,'targetRoleId':_0x2322a5['id'],'user':{'userId':_0x3fa817[_0x5421f7(0x156)],'username':_0x3fa817[_0x5421f7(0x127)],'nickname':_0x3fa817[_0x5421f7(0x126)]},'dryRun':_0x5eb7c7,..._0x3659b8!==undefined?{'expectUserCount':_0x3659b8}:{}});}
1
+ const a159_0x2b9f00=a159_0x2b7c;(function(_0x22c7e2,_0x7efe7a){const _0x597fa2=a159_0x2b7c,_0x44ede2=_0x22c7e2();while(!![]){try{const _0x4d9881=parseInt(_0x597fa2(0x1f2))/0x1*(parseInt(_0x597fa2(0x1ed))/0x2)+parseInt(_0x597fa2(0x1f8))/0x3+-parseInt(_0x597fa2(0x1ce))/0x4*(parseInt(_0x597fa2(0x1cb))/0x5)+-parseInt(_0x597fa2(0x1ea))/0x6+-parseInt(_0x597fa2(0x1d2))/0x7*(-parseInt(_0x597fa2(0x1fd))/0x8)+parseInt(_0x597fa2(0x1ff))/0x9+parseInt(_0x597fa2(0x1d7))/0xa*(-parseInt(_0x597fa2(0x1b4))/0xb);if(_0x4d9881===_0x7efe7a)break;else _0x44ede2['push'](_0x44ede2['shift']());}catch(_0x16a898){_0x44ede2['push'](_0x44ede2['shift']());}}}(a159_0x3f4a,0x840aa));import{getAppRole,getTenantMembers,listAppRoles,listRoleUsers}from'../../core/api-client.js';import{getSessionUserInfo}from'../../auth/get-session-user.js';import{CliErrors}from'../../errors.js';export const ROLE_ID_FLAG={'name':'id','type':a159_0x2b9f00(0x1ee),'required':!![],'description':'Role\x20id\x20(from\x20`role\x20list`)'};export const ROLE_REF_FLAG={'name':a159_0x2b9f00(0x1d1),'type':a159_0x2b9f00(0x1eb),'required':!![],'description':a159_0x2b9f00(0x1ca)};export const USER_REF_FLAG={'name':'user','type':'string','required':!![],'description':a159_0x2b9f00(0x1b1)};export const NAME_FLAG={'name':'name','type':'string','required':!![],'description':a159_0x2b9f00(0x1cc)};export const USER_NAME_FLAG={'name':a159_0x2b9f00(0x1b6),'type':a159_0x2b9f00(0x1eb),'required':!![],'description':a159_0x2b9f00(0x202)};export const REMARK_FLAG={'name':'remark','type':'string','required':![],'description':a159_0x2b9f00(0x1e8)};export const EXPECT_USER_COUNT_FLAG={'name':a159_0x2b9f00(0x1b5),'type':a159_0x2b9f00(0x1ee),'required':![],'description':a159_0x2b9f00(0x1cf)};export const BUILTIN_ROLE_TYPES=[a159_0x2b9f00(0x1f5),a159_0x2b9f00(0x1e9),a159_0x2b9f00(0x1ef)];export function isBuiltinRole(_0x5dbb2c){const _0x406fe1=a159_0x2b9f00;return BUILTIN_ROLE_TYPES[_0x406fe1(0x1f4)](_0x5dbb2c);}export function assertCustomRole(_0x33328f,_0x2a8a84){const _0x252dbc=a159_0x2b9f00;if(_0x33328f[_0x252dbc(0x1d8)]!=='CUSTOM')throw CliErrors[_0x252dbc(0x1c8)](_0x252dbc(0x1f1)+_0x2a8a84+'\x20built-in\x20role\x20'+_0x33328f[_0x252dbc(0x1d0)]+'\x20('+_0x33328f[_0x252dbc(0x1d8)]+').',_0x252dbc(0x201));}export function assertPermConfigurable(_0x4cf64b){const _0x511ec9=a159_0x2b9f00;if(_0x4cf64b[_0x511ec9(0x1d8)]===_0x511ec9(0x1e9)||_0x4cf64b[_0x511ec9(0x1d8)]==='ADMIN')throw CliErrors[_0x511ec9(0x1c8)](_0x511ec9(0x1c0)+_0x4cf64b[_0x511ec9(0x1d0)]+'\x20('+_0x4cf64b[_0x511ec9(0x1d8)]+').',_0x511ec9(0x1fa));}export function projectRole(_0x24196b){const _0x3495c6=a159_0x2b9f00;return{'id':_0x24196b['id'],'roleName':_0x24196b[_0x3495c6(0x1d0)],'roleType':_0x24196b['roleType'],'remark':_0x24196b[_0x3495c6(0x1c6)],'userCount':_0x24196b[_0x3495c6(0x1e0)],'permitCount':_0x24196b['permitCount'],'builtin':isBuiltinRole(_0x24196b[_0x3495c6(0x1d8)])};}export async function resolveRoleRef(_0x3febdb,_0x127fb8){const _0x2c1483=a159_0x2b9f00,_0x2ae97b=_0x127fb8[_0x2c1483(0x200)]();if(!_0x2ae97b)throw CliErrors[_0x2c1483(0x1c8)](_0x2c1483(0x1f6),'Pass\x20--role\x20<id|name>.');if(/^\d+$/[_0x2c1483(0x1bc)](_0x2ae97b))return getRoleById(_0x3febdb,Number(_0x2ae97b));const _0xd9ddd5=await listAllAppRoles(_0x3febdb),_0x846fd5=_0xd9ddd5[_0x2c1483(0x1da)](_0x1dfaf9=>_0x1dfaf9[_0x2c1483(0x1d0)]===_0x2ae97b);if(_0x846fd5['length']===0x0)throw CliErrors[_0x2c1483(0x1c8)](_0x2c1483(0x1c9)+_0x2ae97b+_0x2c1483(0x1d3)+_0x3febdb+'.',_0x2c1483(0x1c2));if(_0x846fd5[_0x2c1483(0x1dc)]>0x1){const _0x1d0eff=_0x846fd5['map'](_0x1daa14=>_0x1daa14['id'])[_0x2c1483(0x1e7)](',\x20');throw CliErrors[_0x2c1483(0x1c8)](_0x2c1483(0x1c9)+_0x2ae97b+_0x2c1483(0x1b2)+_0x1d0eff+').',_0x2c1483(0x1b8));}return _0x846fd5[0x0];}export async function getRoleById(_0x30d157,_0x47410d){const _0x47b232=a159_0x2b9f00,_0x69e615=await getAppRole(_0x47410d);if(!_0x69e615)throw CliErrors[_0x47b232(0x1c8)]('Role\x20id\x20'+_0x47410d+_0x47b232(0x1d5)+_0x30d157+'.',_0x47b232(0x1bd));return _0x69e615;}function a159_0x2b7c(_0x38a45c,_0x1d6288){_0x38a45c=_0x38a45c-0x1b0;const _0x3f4a04=a159_0x3f4a();let _0x2b7c97=_0x3f4a04[_0x38a45c];return _0x2b7c97;}async function listAllAppRoles(_0xc13232){const _0x1dd2d2=a159_0x2b9f00,_0x567a00=0x64,_0x1160d8=[];for(let _0x49bdec=0x1;;_0x49bdec+=0x1){const {items:_0x4daa6b,paging:_0xc7cfab}=await listAppRoles(_0xc13232,{'currentPage':_0x49bdec,'pageSize':_0x567a00});_0x1160d8[_0x1dd2d2(0x1e3)](..._0x4daa6b);if(_0x4daa6b[_0x1dd2d2(0x1dc)]<_0x567a00||_0xc7cfab&&_0x1160d8['length']>=_0xc7cfab[_0x1dd2d2(0x1fb)])return _0x1160d8;}}export async function resolveTenantCode(){const _0x308a2b=a159_0x2b9f00,_0x21f8a8=await getSessionUserInfo(),_0x538416=_0x21f8a8?.['user']?.[_0x308a2b(0x205)]?.[_0x308a2b(0x1e5)];if(!_0x538416)throw CliErrors['authRequired'](_0x308a2b(0x1c5));return _0x538416;}function matchMember(_0x1217d8,_0x37da8d){const _0x49dd61=a159_0x2b9f00,_0x257bf2=_0x37da8d[_0x49dd61(0x200)]()[_0x49dd61(0x1c1)]();return(_0x1217d8[_0x49dd61(0x1cd)]??'')[_0x49dd61(0x1c1)]()===_0x257bf2||(_0x1217d8[_0x49dd61(0x1f9)]??'')[_0x49dd61(0x1c1)]()===_0x257bf2;}export async function resolveUserRef(_0x2dfc6){const _0x1c627b=a159_0x2b9f00,_0x670be3=_0x2dfc6[_0x1c627b(0x200)]();if(!_0x670be3)throw CliErrors[_0x1c627b(0x1c8)](_0x1c627b(0x1fc),_0x1c627b(0x1b7));const _0x21cfe6=await resolveTenantCode(),_0x5b775c=await getTenantMembers(_0x21cfe6);if(/^\d+$/['test'](_0x670be3)){const _0x437e24=Number(_0x670be3),_0x3de7ca=_0x5b775c[_0x1c627b(0x203)](_0xc38d61=>_0xc38d61['userId']===_0x437e24);return{'userId':_0x437e24,'username':_0x3de7ca?.[_0x1c627b(0x1f9)]??String(_0x437e24),'nickname':_0x3de7ca?.['nickname'],'matchedBy':'id'};}const _0x1fa87f=_0x5b775c[_0x1c627b(0x1da)](_0x19c5f8=>matchMember(_0x19c5f8,_0x670be3));if(_0x1fa87f[_0x1c627b(0x1dc)]===0x0)throw CliErrors['validation'](_0x1c627b(0x1c7)+_0x670be3+'\x22.',_0x1c627b(0x1d6));if(_0x1fa87f[_0x1c627b(0x1dc)]>0x1){const _0x3ac3dc=_0x1fa87f['map'](_0x2f48df=>(_0x2f48df['nickname']??_0x2f48df[_0x1c627b(0x1f9)]??'?')+'('+_0x2f48df[_0x1c627b(0x1c3)]+')')[_0x1c627b(0x1e7)](',\x20');throw CliErrors[_0x1c627b(0x1c8)](_0x1c627b(0x1d9)+_0x670be3+_0x1c627b(0x1bf)+_0x3ac3dc+'.',_0x1c627b(0x1b3));}const _0x517c28=_0x1fa87f[0x0];return{'userId':_0x517c28['userId'],'username':_0x517c28['username']??String(_0x517c28['userId']),'nickname':_0x517c28[_0x1c627b(0x1cd)],'matchedBy':_0x1c627b(0x1b6)};}export const UPDATE_USER_LIST_PATH=a159_0x2b9f00(0x1db);function userIdsOf(_0x8f722a){const _0x1dd6e4=a159_0x2b9f00;return(_0x8f722a?.[_0x1dd6e4(0x1e2)]??[])[_0x1dd6e4(0x1fe)](_0x14a666=>_0x14a666[_0x1dd6e4(0x1c3)]);}export function computeRoleUserMutation(_0x3401e4){const _0x3943ce=a159_0x2b9f00,{operation:_0x3b5cc2,appCode:_0x551cc3,roleUsers:_0x5243ac,targetRoleId:_0x34d98e,user:_0x57ceea}=_0x3401e4,_0x434cac=_0x5243ac[_0x3943ce(0x203)](_0x119c41=>_0x119c41['id']===_0x34d98e);if(!_0x434cac)throw CliErrors[_0x3943ce(0x1c8)](_0x3943ce(0x204)+_0x34d98e+_0x3943ce(0x1b9),_0x3943ce(0x1bd));const _0x332280=userIdsOf(_0x434cac),_0x5b7ca8=[];if(_0x3401e4[_0x3943ce(0x1de)]!==undefined&&_0x3401e4[_0x3943ce(0x1de)]!==_0x332280[_0x3943ce(0x1dc)])throw CliErrors[_0x3943ce(0x1c8)]('Anti-drift\x20check\x20failed:\x20expected\x20'+_0x3401e4[_0x3943ce(0x1de)]+_0x3943ce(0x1d4)+_0x332280[_0x3943ce(0x1dc)]+'.',_0x3943ce(0x1b0));const _0x5b0b93=_0x332280[_0x3943ce(0x1f4)](_0x57ceea[_0x3943ce(0x1c3)]);let _0x250fbd=![];const _0x2ecfa6=[..._0x434cac[_0x3943ce(0x1e2)]];if(_0x3b5cc2===_0x3943ce(0x1e1))_0x5b0b93?_0x5b7ca8[_0x3943ce(0x1e3)](_0x3943ce(0x1f0)+_0x57ceea[_0x3943ce(0x1c3)]+_0x3943ce(0x1ec)+_0x434cac['roleName']+_0x3943ce(0x1f7)):(_0x2ecfa6[_0x3943ce(0x1e3)]({'userId':_0x57ceea[_0x3943ce(0x1c3)],'username':_0x57ceea[_0x3943ce(0x1f9)],..._0x57ceea[_0x3943ce(0x1cd)]?{'nickname':_0x57ceea[_0x3943ce(0x1cd)]}:{}}),_0x250fbd=!![]);else{if(!_0x5b0b93)_0x5b7ca8['push'](_0x3943ce(0x1f0)+_0x57ceea[_0x3943ce(0x1c3)]+_0x3943ce(0x1df)+_0x434cac[_0x3943ce(0x1d0)]+';\x20no\x20change.');else{const _0x1fcda9=_0x2ecfa6[_0x3943ce(0x1bb)](_0x15c812=>_0x15c812[_0x3943ce(0x1c3)]===_0x57ceea['userId']);if(_0x1fcda9>=0x0)_0x2ecfa6[_0x3943ce(0x1dd)](_0x1fcda9,0x1);_0x250fbd=!![];}}const _0x4ae16a=_0x5243ac[_0x3943ce(0x1fe)](_0x559a29=>_0x559a29['id']===_0x34d98e?{..._0x559a29,'userList':_0x2ecfa6}:_0x559a29),_0x58b2db=_0x2ecfa6['map'](_0x5e1335=>_0x5e1335['userId']),_0x2787d5={'operation':_0x3b5cc2,'selector':{'appCode':_0x551cc3,'roleId':_0x34d98e,'roleName':_0x434cac[_0x3943ce(0x1d0)],'userId':_0x57ceea[_0x3943ce(0x1c3)]},'before':{'userIds':_0x332280},'after':{'userIds':_0x58b2db},'dryRun':_0x3401e4[_0x3943ce(0x1c4)],'backend':{'method':_0x3943ce(0x1e4),'path':UPDATE_USER_LIST_PATH},'warnings':_0x5b7ca8};return{'roleList':_0x4ae16a,'mutation':_0x2787d5,'changed':_0x250fbd};}export async function loadRoleUsers(_0x50e3a3){return listRoleUsers(_0x50e3a3);}export function readRoleRef(_0x3f40b5){const _0x26b612=a159_0x2b9f00,_0x2714=_0x3f40b5['str'](_0x26b612(0x1d1))[_0x26b612(0x200)]();if(!_0x2714)throw CliErrors[_0x26b612(0x1e6)](_0x26b612(0x1d1),'Pass\x20--role\x20<id|name>.');return _0x2714;}export async function prepareUserMutation(_0x155845,_0x14d805,_0x5b3166){const _0x5b3a2c=a159_0x2b9f00,_0x36f149=readRoleRef(_0x155845),_0x77a4bf=_0x155845['str']('user')[_0x5b3a2c(0x200)]();if(!_0x77a4bf)throw CliErrors['flagMissing'](_0x5b3a2c(0x1ba),_0x5b3a2c(0x1b7));const _0x1575bd=_0x155845[_0x5b3a2c(0x1f3)](_0x5b3a2c(0x1b5)),_0x3b2f1f=_0x1575bd===undefined||_0x1575bd===null?undefined:Number(_0x1575bd),_0x410812=await resolveRoleRef(_0x155845[_0x5b3a2c(0x1be)],_0x36f149),_0x50258d=await resolveUserRef(_0x77a4bf),_0x4535d1=await loadRoleUsers(_0x155845['appCode']);return computeRoleUserMutation({'operation':_0x14d805,'appCode':_0x155845[_0x5b3a2c(0x1be)],'roleUsers':_0x4535d1,'targetRoleId':_0x410812['id'],'user':{'userId':_0x50258d[_0x5b3a2c(0x1c3)],'username':_0x50258d[_0x5b3a2c(0x1f9)],'nickname':_0x50258d['nickname']},'dryRun':_0x5b3166,..._0x3b2f1f!==undefined?{'expectUserCount':_0x3b2f1f}:{}});}function a159_0x3f4a(){const _0x4d02de=['No\x20tenant\x20member\x20matches\x20\x22','validation','Role\x20name\x20\x22','Role\x20id\x20or\x20role\x20name\x20(CUSTOM\x20roles\x20may\x20be\x20referenced\x20by\x20name)','3410siJGRJ','Role\x20name','nickname','2264bgDfSV','Anti-drift\x20guard:\x20fail\x20if\x20the\x20role\x27s\x20current\x20member\x20count\x20differs','roleName','role','133SWpeQO','\x22\x20not\x20found\x20in\x20app\x20','\x20member(s)\x20but\x20role\x20has\x20','\x20not\x20found\x20in\x20app\x20','Check\x20the\x20nickname/username,\x20or\x20pass\x20--user\x20<id>.','1051040CqQiKJ','roleType','Multiple\x20tenant\x20members\x20match\x20\x22','filter','/smartapi/permit/user-role/update-user-list','length','splice','expectUserCount','\x20is\x20not\x20a\x20member\x20of\x20role\x20','userCount','user-add','userList','push','POST','tenant_code','flagMissing','join','Optional\x20role\x20remark/description','DEV','375432unObvN','string','\x20is\x20already\x20a\x20member\x20of\x20role\x20','6XsUjRa','number','USER','User\x20','Cannot\x20','53039iNIgSk','flag','includes','ADMIN','Missing\x20role\x20reference.',';\x20no\x20change.','1165743qIuhuH','username','DEV\x20/\x20ADMIN\x20keep\x20full\x20access\x20by\x20design;\x20configure\x20a\x20CUSTOM\x20role\x20instead.','totalCount','Missing\x20user\x20reference.','280120shunRv','map','1771731NKuzSn','trim','Only\x20CUSTOM\x20roles\x20can\x20be\x20modified\x20or\x20deleted.','Nickname\x20or\x20username\x20to\x20resolve\x20to\x20a\x20userId','find','Role\x20id\x20','tenant','Re-run\x20`role\x20detail`\x20/\x20`role\x20list`\x20and\x20retry\x20with\x20the\x20current\x20count.','User\x20id,\x20username,\x20or\x20nickname\x20to\x20resolve\x20to\x20a\x20userId','\x22\x20is\x20ambiguous\x20(ids:\x20','Disambiguate\x20with\x20--user\x20<id>.','44RoOjaS','expect-user-count','name','Pass\x20--user\x20<id|name>.','Disambiguate\x20with\x20--role\x20<id>.','\x20not\x20found\x20in\x20the\x20user-role\x20list.','user','findIndex','test','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles.','appCode','\x22:\x20','Cannot\x20change\x20the\x20permission\x20matrix\x20of\x20built-in\x20role\x20','toLowerCase','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles,\x20or\x20pass\x20--role\x20<id>.','userId','dryRun','Cannot\x20resolve\x20current\x20tenant.\x20Run\x20`rabetbase\x20auth\x20login`\x20first.','remark'];a159_0x3f4a=function(){return _0x4d02de;};return a159_0x3f4a();}
@@ -1 +1 @@
1
- const a160_0xb453ce=a160_0x5f0a;(function(_0x31b4ef,_0x3f1150){const _0x4c7880=a160_0x5f0a,_0x29e26b=_0x31b4ef();while(!![]){try{const _0x24e402=parseInt(_0x4c7880(0x176))/0x1*(-parseInt(_0x4c7880(0x169))/0x2)+-parseInt(_0x4c7880(0x171))/0x3*(-parseInt(_0x4c7880(0x17b))/0x4)+parseInt(_0x4c7880(0x16c))/0x5+parseInt(_0x4c7880(0x175))/0x6+-parseInt(_0x4c7880(0x17c))/0x7+parseInt(_0x4c7880(0x17a))/0x8*(parseInt(_0x4c7880(0x179))/0x9)+-parseInt(_0x4c7880(0x165))/0xa;if(_0x24e402===_0x3f1150)break;else _0x29e26b['push'](_0x29e26b['shift']());}catch(_0x438dee){_0x29e26b['push'](_0x29e26b['shift']());}}}(a160_0x4514,0xa047c));import{updateAppRole}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a160_0x4514(){const _0x1fac64=['flag','2075490aOVfTu','validation','\x20(id=','remark','write','2157HhIiJU','Pass\x20at\x20least\x20one\x20of\x20--name\x20/\x20--remark.','/smartapi/permit/role/update','trim','4382580YSMvUG','771Eohshs','update','name','1974807KgelEU','24BuClyK','1780eJctTF','996030KAgcUV','Nothing\x20to\x20update.','POST','string','1198810JWhIId','Updated\x20role\x20','roleName','appCode','3126KzMXJt','length'];a160_0x4514=function(){return _0x1fac64;};return a160_0x4514();}function a160_0x5f0a(_0x43ff85,_0x48fb7e){_0x43ff85=_0x43ff85-0x162;const _0x45143b=a160_0x4514();let _0x5f0ae1=_0x45143b[_0x43ff85];return _0x5f0ae1;}import{asDryRunResult}from'../../commands/common/dry-run.js';import{assertCustomRole,getRoleById,projectRole,REMARK_FLAG,ROLE_ID_FLAG}from'../../commands/role/shared.js';const UPDATE_PATH=a160_0xb453ce(0x173);function readPatch(_0x396eda){const _0x4fd4ec=a160_0xb453ce,_0x2297dd=_0x396eda['flag']('name'),_0x2ef991=_0x396eda[_0x4fd4ec(0x16b)]('remark'),_0x283ab4={};if(_0x2297dd!==undefined&&_0x2297dd!==null){const _0x2e2c76=String(_0x2297dd)[_0x4fd4ec(0x174)]();if(!_0x2e2c76)throw CliErrors[_0x4fd4ec(0x16d)]('--name\x20cannot\x20be\x20empty.');if(_0x2e2c76[_0x4fd4ec(0x16a)]>0x40)throw CliErrors[_0x4fd4ec(0x16d)]('Role\x20name\x20cannot\x20exceed\x2064\x20characters.');_0x283ab4[_0x4fd4ec(0x167)]=_0x2e2c76;}_0x2ef991!==undefined&&_0x2ef991!==null&&(_0x283ab4[_0x4fd4ec(0x16f)]=String(_0x2ef991));if(_0x283ab4['roleName']===undefined&&_0x283ab4[_0x4fd4ec(0x16f)]===undefined)throw CliErrors[_0x4fd4ec(0x16d)](_0x4fd4ec(0x162),_0x4fd4ec(0x172));return _0x283ab4;}export const roleUpdate={'service':'role','command':a160_0xb453ce(0x177),'description':'Update\x20a\x20CUSTOM\x20role\x27s\x20name/remark\x20(DEV/ADMIN\x20rejected)','risk':a160_0xb453ce(0x170),'flags':[ROLE_ID_FLAG,{...REMARK_FLAG},{'name':a160_0xb453ce(0x178),'type':a160_0xb453ce(0x164),'required':![],'description':'New\x20role\x20name'},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x21f1e1){readPatch(_0x21f1e1);},async 'dryRun'(_0x15c4a1){const _0x1a6818=a160_0xb453ce,_0x47fc95=_0x15c4a1['num']('id'),_0x26c440=readPatch(_0x15c4a1),_0x10734a=await getRoleById(_0x15c4a1[_0x1a6818(0x168)],_0x47fc95);return assertCustomRole(_0x10734a,_0x1a6818(0x177)),asDryRunResult({'operation':'update','selector':{'appCode':_0x15c4a1['appCode'],'roleId':_0x47fc95,'roleName':_0x10734a['roleName']},'before':projectRole(_0x10734a),'after':projectRole({..._0x10734a,..._0x26c440['roleName']!==undefined?{'roleName':_0x26c440[_0x1a6818(0x167)]}:{},..._0x26c440[_0x1a6818(0x16f)]!==undefined?{'remark':_0x26c440['remark']}:{}}),'dryRun':!![],'backend':{'method':_0x1a6818(0x163),'path':UPDATE_PATH},'warnings':[]},{'method':_0x1a6818(0x163),'url':UPDATE_PATH});},async 'execute'(_0x82f4ba){const _0x440bd7=a160_0xb453ce,_0x4e2058=_0x82f4ba['num']('id'),_0x3f6505=readPatch(_0x82f4ba),_0x5c1637=await getRoleById(_0x82f4ba[_0x440bd7(0x168)],_0x4e2058);assertCustomRole(_0x5c1637,_0x440bd7(0x177)),await updateAppRole({'id':_0x4e2058,'appCode':_0x82f4ba[_0x440bd7(0x168)],..._0x3f6505[_0x440bd7(0x167)]!==undefined?{'roleName':_0x3f6505[_0x440bd7(0x167)]}:{},..._0x3f6505['remark']!==undefined?{'remark':_0x3f6505[_0x440bd7(0x16f)]}:{}});const _0x38b109=await getRoleById(_0x82f4ba[_0x440bd7(0x168)],_0x4e2058);return{'ok':!![],'data':{'operation':_0x440bd7(0x177),'selector':{'appCode':_0x82f4ba[_0x440bd7(0x168)],'roleId':_0x4e2058,'roleName':_0x38b109[_0x440bd7(0x167)]},'before':projectRole(_0x5c1637),'after':projectRole(_0x38b109),'dryRun':![],'backend':{'method':_0x440bd7(0x163),'path':UPDATE_PATH},'warnings':[]},'message':_0x440bd7(0x166)+_0x38b109['roleName']+_0x440bd7(0x16e)+_0x4e2058+')'};}};
1
+ const a160_0x157a8a=a160_0x12e0;(function(_0x1b4ee4,_0x24af76){const _0x2c9ae1=a160_0x12e0,_0x64ecf0=_0x1b4ee4();while(!![]){try{const _0x361f44=-parseInt(_0x2c9ae1(0xa0))/0x1*(-parseInt(_0x2c9ae1(0x96))/0x2)+-parseInt(_0x2c9ae1(0x9e))/0x3+-parseInt(_0x2c9ae1(0x9b))/0x4*(-parseInt(_0x2c9ae1(0x92))/0x5)+parseInt(_0x2c9ae1(0x8e))/0x6*(-parseInt(_0x2c9ae1(0xa6))/0x7)+parseInt(_0x2c9ae1(0x99))/0x8+-parseInt(_0x2c9ae1(0xa5))/0x9+-parseInt(_0x2c9ae1(0x91))/0xa;if(_0x361f44===_0x24af76)break;else _0x64ecf0['push'](_0x64ecf0['shift']());}catch(_0x3a6c27){_0x64ecf0['push'](_0x64ecf0['shift']());}}}(a160_0x40cb,0x97e43));import{updateAppRole}from'../../core/api-client.js';function a160_0x40cb(){const _0x1b9af8=['205Iagwpq','update','remark','Updated\x20role\x20','2ipvhvM','roleName','num','8713248pfGqdP','Update\x20a\x20CUSTOM\x20role\x27s\x20name/remark\x20(DEV/ADMIN\x20rejected)','103036vxaISy','name','length','246117YXgkYt','New\x20role\x20name','845333sedpKU','appCode','Pass\x20at\x20least\x20one\x20of\x20--name\x20/\x20--remark.','string','flag','11114757XDthRS','301yvhbLa','\x20(id=','validation','role','write','--name\x20cannot\x20be\x20empty.','39306GpYFcK','POST','Nothing\x20to\x20update.','7697560auvLmy'];a160_0x40cb=function(){return _0x1b9af8;};return a160_0x40cb();}import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a160_0x12e0(_0x877e4e,_0x212784){_0x877e4e=_0x877e4e-0x8e;const _0x40cb1c=a160_0x40cb();let _0x12e03f=_0x40cb1c[_0x877e4e];return _0x12e03f;}import{asDryRunResult}from'../../commands/common/dry-run.js';import{assertCustomRole,getRoleById,projectRole,REMARK_FLAG,ROLE_ID_FLAG}from'../../commands/role/shared.js';const UPDATE_PATH='/smartapi/permit/role/update';function readPatch(_0x9456ab){const _0x2c70d7=a160_0x12e0,_0x3129db=_0x9456ab[_0x2c70d7(0xa4)]('name'),_0x51b134=_0x9456ab['flag'](_0x2c70d7(0x94)),_0xc6fd73={};if(_0x3129db!==undefined&&_0x3129db!==null){const _0xbe6223=String(_0x3129db)['trim']();if(!_0xbe6223)throw CliErrors[_0x2c70d7(0xa8)](_0x2c70d7(0xab));if(_0xbe6223[_0x2c70d7(0x9d)]>0x40)throw CliErrors[_0x2c70d7(0xa8)]('Role\x20name\x20cannot\x20exceed\x2064\x20characters.');_0xc6fd73[_0x2c70d7(0x97)]=_0xbe6223;}_0x51b134!==undefined&&_0x51b134!==null&&(_0xc6fd73[_0x2c70d7(0x94)]=String(_0x51b134));if(_0xc6fd73[_0x2c70d7(0x97)]===undefined&&_0xc6fd73[_0x2c70d7(0x94)]===undefined)throw CliErrors[_0x2c70d7(0xa8)](_0x2c70d7(0x90),_0x2c70d7(0xa2));return _0xc6fd73;}export const roleUpdate={'service':a160_0x157a8a(0xa9),'command':a160_0x157a8a(0x93),'description':a160_0x157a8a(0x9a),'risk':a160_0x157a8a(0xaa),'flags':[ROLE_ID_FLAG,{...REMARK_FLAG},{'name':a160_0x157a8a(0x9c),'type':a160_0x157a8a(0xa3),'required':![],'description':a160_0x157a8a(0x9f)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x62b27e){readPatch(_0x62b27e);},async 'dryRun'(_0x56fa7e){const _0x4dfe93=a160_0x157a8a,_0x1c5341=_0x56fa7e[_0x4dfe93(0x98)]('id'),_0x527fa2=readPatch(_0x56fa7e),_0xdb5352=await getRoleById(_0x56fa7e[_0x4dfe93(0xa1)],_0x1c5341);return assertCustomRole(_0xdb5352,_0x4dfe93(0x93)),asDryRunResult({'operation':_0x4dfe93(0x93),'selector':{'appCode':_0x56fa7e[_0x4dfe93(0xa1)],'roleId':_0x1c5341,'roleName':_0xdb5352[_0x4dfe93(0x97)]},'before':projectRole(_0xdb5352),'after':projectRole({..._0xdb5352,..._0x527fa2['roleName']!==undefined?{'roleName':_0x527fa2[_0x4dfe93(0x97)]}:{},..._0x527fa2[_0x4dfe93(0x94)]!==undefined?{'remark':_0x527fa2[_0x4dfe93(0x94)]}:{}}),'dryRun':!![],'backend':{'method':_0x4dfe93(0x8f),'path':UPDATE_PATH},'warnings':[]},{'method':_0x4dfe93(0x8f),'url':UPDATE_PATH});},async 'execute'(_0x2c2d39){const _0x193559=a160_0x157a8a,_0x4e8473=_0x2c2d39[_0x193559(0x98)]('id'),_0x585f55=readPatch(_0x2c2d39),_0xc3a137=await getRoleById(_0x2c2d39[_0x193559(0xa1)],_0x4e8473);assertCustomRole(_0xc3a137,_0x193559(0x93)),await updateAppRole({'id':_0x4e8473,'appCode':_0x2c2d39['appCode'],..._0x585f55['roleName']!==undefined?{'roleName':_0x585f55[_0x193559(0x97)]}:{},..._0x585f55[_0x193559(0x94)]!==undefined?{'remark':_0x585f55[_0x193559(0x94)]}:{}});const _0x1f3c42=await getRoleById(_0x2c2d39[_0x193559(0xa1)],_0x4e8473);return{'ok':!![],'data':{'operation':_0x193559(0x93),'selector':{'appCode':_0x2c2d39[_0x193559(0xa1)],'roleId':_0x4e8473,'roleName':_0x1f3c42['roleName']},'before':projectRole(_0xc3a137),'after':projectRole(_0x1f3c42),'dryRun':![],'backend':{'method':'POST','path':UPDATE_PATH},'warnings':[]},'message':_0x193559(0x95)+_0x1f3c42[_0x193559(0x97)]+_0x193559(0xa7)+_0x4e8473+')'};}};
@@ -1 +1 @@
1
- const a161_0x22f74f=a161_0x38cd;function a161_0x38cd(_0x2c1139,_0x265a2a){_0x2c1139=_0x2c1139-0x13f;const _0xdaa9a=a161_0xdaa9();let _0x38cd20=_0xdaa9a[_0x2c1139];return _0x38cd20;}(function(_0x28b3cf,_0x30f0e7){const _0x2cae2a=a161_0x38cd,_0x3d0164=_0x28b3cf();while(!![]){try{const _0x1dd64e=parseInt(_0x2cae2a(0x144))/0x1*(-parseInt(_0x2cae2a(0x14e))/0x2)+parseInt(_0x2cae2a(0x14b))/0x3*(-parseInt(_0x2cae2a(0x140))/0x4)+parseInt(_0x2cae2a(0x141))/0x5*(-parseInt(_0x2cae2a(0x13f))/0x6)+-parseInt(_0x2cae2a(0x145))/0x7+-parseInt(_0x2cae2a(0x151))/0x8+parseInt(_0x2cae2a(0x148))/0x9*(-parseInt(_0x2cae2a(0x149))/0xa)+parseInt(_0x2cae2a(0x147))/0xb;if(_0x1dd64e===_0x30f0e7)break;else _0x3d0164['push'](_0x3d0164['shift']());}catch(_0x23a66f){_0x3d0164['push'](_0x3d0164['shift']());}}}(a161_0xdaa9,0x48530));import{updateRoleUsers}from'../../core/api-client.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';function a161_0xdaa9(){const _0x11f6c1=['\x20to\x20role\x20','selector','1NVApos','2070005PJTjre','POST','23951884LMLVlF','36711hDTiax','1100yiZHEN','Added\x20user\x20','177501GlxZGm','roleName','userId','823726QbraiE','user-add','role','1914328lTjwvD','high-risk-write','\x20already\x20in\x20role\x20','564fTZXcR','4RZPaNj','22685onzgSW'];a161_0xdaa9=function(){return _0x11f6c1;};return a161_0xdaa9();}import{EXPECT_USER_COUNT_FLAG,prepareUserMutation,ROLE_REF_FLAG,UPDATE_USER_LIST_PATH,USER_REF_FLAG}from'../../commands/role/shared.js';export const roleUserAdd={'service':a161_0x22f74f(0x150),'command':a161_0x22f74f(0x14f),'description':'Add\x20a\x20user\x20to\x20a\x20role\x20(internal\x20merge\x20+\x20anti-drift);\x20requires\x20--yes','risk':a161_0x22f74f(0x152),'flags':[ROLE_REF_FLAG,USER_REF_FLAG,EXPECT_USER_COUNT_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x3f89ad){const _0x471bc2=a161_0x22f74f,{mutation:_0x42c3a8}=await prepareUserMutation(_0x3f89ad,_0x471bc2(0x14f),!![]);return asDryRunResult(_0x42c3a8,{'method':_0x471bc2(0x146),'url':UPDATE_USER_LIST_PATH});},async 'execute'(_0x3d6f04){const _0x2400fa=a161_0x22f74f,{roleList:_0x17bdd7,mutation:_0x5c1c2e,changed:_0x6da215}=await prepareUserMutation(_0x3d6f04,_0x2400fa(0x14f),![]);return _0x6da215&&await updateRoleUsers(_0x3d6f04['appCode'],_0x17bdd7),{'ok':!![],'data':_0x5c1c2e,'message':_0x6da215?_0x2400fa(0x14a)+_0x5c1c2e['selector'][_0x2400fa(0x14d)]+_0x2400fa(0x142)+_0x5c1c2e[_0x2400fa(0x143)]['roleName']:'No\x20change:\x20user\x20'+_0x5c1c2e[_0x2400fa(0x143)][_0x2400fa(0x14d)]+_0x2400fa(0x153)+_0x5c1c2e[_0x2400fa(0x143)][_0x2400fa(0x14c)]};}};
1
+ const a161_0xae86ec=a161_0x2b16;(function(_0x29c173,_0x4ee0d6){const _0x202e4c=a161_0x2b16,_0x45ef2e=_0x29c173();while(!![]){try{const _0x299ef9=parseInt(_0x202e4c(0x14b))/0x1*(parseInt(_0x202e4c(0x152))/0x2)+-parseInt(_0x202e4c(0x143))/0x3+parseInt(_0x202e4c(0x14a))/0x4+-parseInt(_0x202e4c(0x147))/0x5*(-parseInt(_0x202e4c(0x156))/0x6)+parseInt(_0x202e4c(0x14d))/0x7+-parseInt(_0x202e4c(0x155))/0x8*(-parseInt(_0x202e4c(0x151))/0x9)+parseInt(_0x202e4c(0x141))/0xa*(-parseInt(_0x202e4c(0x14f))/0xb);if(_0x299ef9===_0x4ee0d6)break;else _0x45ef2e['push'](_0x45ef2e['shift']());}catch(_0x56dd6e){_0x45ef2e['push'](_0x45ef2e['shift']());}}}(a161_0x3e62,0x619f4));import{updateRoleUsers}from'../../core/api-client.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';function a161_0x2b16(_0x3946e9,_0x5ed6d8){_0x3946e9=_0x3946e9-0x141;const _0x3e62b4=a161_0x3e62();let _0x2b16d3=_0x3e62b4[_0x3946e9];return _0x2b16d3;}import{EXPECT_USER_COUNT_FLAG,prepareUserMutation,ROLE_REF_FLAG,UPDATE_USER_LIST_PATH,USER_REF_FLAG}from'../../commands/role/shared.js';export const roleUserAdd={'service':a161_0xae86ec(0x14e),'command':a161_0xae86ec(0x153),'description':a161_0xae86ec(0x150),'risk':a161_0xae86ec(0x149),'flags':[ROLE_REF_FLAG,USER_REF_FLAG,EXPECT_USER_COUNT_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x165c83){const _0x4e5620=a161_0xae86ec,{mutation:_0x3b9628}=await prepareUserMutation(_0x165c83,_0x4e5620(0x153),!![]);return asDryRunResult(_0x3b9628,{'method':'POST','url':UPDATE_USER_LIST_PATH});},async 'execute'(_0x485805){const _0x47886b=a161_0xae86ec,{roleList:_0x5b7a33,mutation:_0x67f2e7,changed:_0x13b321}=await prepareUserMutation(_0x485805,_0x47886b(0x153),![]);return _0x13b321&&await updateRoleUsers(_0x485805[_0x47886b(0x154)],_0x5b7a33),{'ok':!![],'data':_0x67f2e7,'message':_0x13b321?_0x47886b(0x145)+_0x67f2e7[_0x47886b(0x148)][_0x47886b(0x144)]+'\x20to\x20role\x20'+_0x67f2e7[_0x47886b(0x148)][_0x47886b(0x142)]:_0x47886b(0x14c)+_0x67f2e7['selector']['userId']+_0x47886b(0x146)+_0x67f2e7[_0x47886b(0x148)][_0x47886b(0x142)]};}};function a161_0x3e62(){const _0x565191=['appCode','152sRfbjf','222cVEIXd','129810pckUxz','roleName','1532829yoQufp','userId','Added\x20user\x20','\x20already\x20in\x20role\x20','3170IzxlJK','selector','high-risk-write','2536012TXaOto','1rbNZsS','No\x20change:\x20user\x20','4626762jUlWGA','role','781BjcDWv','Add\x20a\x20user\x20to\x20a\x20role\x20(internal\x20merge\x20+\x20anti-drift);\x20requires\x20--yes','87750UyrOSI','657554chMRoF','user-add'];a161_0x3e62=function(){return _0x565191;};return a161_0x3e62();}
@@ -1 +1 @@
1
- const a162_0x8dba92=a162_0xea33;(function(_0x392578,_0x39d022){const _0x5eb81a=a162_0xea33,_0x47bb06=_0x392578();while(!![]){try{const _0x2e0ea1=-parseInt(_0x5eb81a(0x80))/0x1+parseInt(_0x5eb81a(0x86))/0x2*(-parseInt(_0x5eb81a(0x85))/0x3)+-parseInt(_0x5eb81a(0x87))/0x4*(-parseInt(_0x5eb81a(0x7a))/0x5)+-parseInt(_0x5eb81a(0x84))/0x6+-parseInt(_0x5eb81a(0x76))/0x7*(-parseInt(_0x5eb81a(0x75))/0x8)+-parseInt(_0x5eb81a(0x7d))/0x9+-parseInt(_0x5eb81a(0x88))/0xa*(-parseInt(_0x5eb81a(0x7c))/0xb);if(_0x2e0ea1===_0x39d022)break;else _0x47bb06['push'](_0x47bb06['shift']());}catch(_0x2b3350){_0x47bb06['push'](_0x47bb06['shift']());}}}(a162_0x4fbb,0x4d6ef));import{updateRoleUsers}from'../../core/api-client.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{EXPECT_USER_COUNT_FLAG,prepareUserMutation,ROLE_REF_FLAG,UPDATE_USER_LIST_PATH,USER_REF_FLAG}from'../../commands/role/shared.js';export const roleUserRemove={'service':'role','command':a162_0x8dba92(0x77),'description':a162_0x8dba92(0x78),'risk':'high-risk-write','flags':[ROLE_REF_FLAG,USER_REF_FLAG,EXPECT_USER_COUNT_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x39b5d7){const _0xc210b0=a162_0x8dba92,{mutation:_0x47300d}=await prepareUserMutation(_0x39b5d7,'user-remove',!![]);return asDryRunResult(_0x47300d,{'method':_0xc210b0(0x7e),'url':UPDATE_USER_LIST_PATH});},async 'execute'(_0x588a0a){const _0x36c2ed=a162_0x8dba92,{roleList:_0x576bac,mutation:_0x199132,changed:_0x260b24}=await prepareUserMutation(_0x588a0a,_0x36c2ed(0x77),![]);return _0x260b24&&await updateRoleUsers(_0x588a0a[_0x36c2ed(0x7b)],_0x576bac),{'ok':!![],'data':_0x199132,'message':_0x260b24?_0x36c2ed(0x83)+_0x199132['selector'][_0x36c2ed(0x81)]+'\x20from\x20role\x20'+_0x199132[_0x36c2ed(0x79)]['roleName']:_0x36c2ed(0x82)+_0x199132['selector'][_0x36c2ed(0x81)]+'\x20not\x20in\x20role\x20'+_0x199132[_0x36c2ed(0x79)][_0x36c2ed(0x7f)]};}};function a162_0xea33(_0x4c7356,_0x4a079c){_0x4c7356=_0x4c7356-0x75;const _0x4fbb0a=a162_0x4fbb();let _0xea3300=_0x4fbb0a[_0x4c7356];return _0xea3300;}function a162_0x4fbb(){const _0x1e9ab6=['selector','218510tUkkCW','appCode','4690213YkwPfC','5708403aHnNKR','POST','roleName','496704VhdgXr','userId','No\x20change:\x20user\x20','Removed\x20user\x20','3697002HHzGQS','6SoQabL','403288pJXiXQ','56aAAbIh','30TSLIzS','1153232BMxkiL','28ooQGCH','user-remove','Remove\x20a\x20user\x20from\x20a\x20role\x20(internal\x20merge\x20+\x20anti-drift);\x20requires\x20--yes'];a162_0x4fbb=function(){return _0x1e9ab6;};return a162_0x4fbb();}
1
+ const a162_0x444845=a162_0x25ab;(function(_0x5e1bc5,_0x480e10){const _0x598df3=a162_0x25ab,_0x17fca8=_0x5e1bc5();while(!![]){try{const _0xfeac31=parseInt(_0x598df3(0x100))/0x1*(-parseInt(_0x598df3(0xfe))/0x2)+-parseInt(_0x598df3(0xfc))/0x3*(parseInt(_0x598df3(0x104))/0x4)+-parseInt(_0x598df3(0xf4))/0x5+parseInt(_0x598df3(0xf2))/0x6*(parseInt(_0x598df3(0xf6))/0x7)+parseInt(_0x598df3(0x106))/0x8+parseInt(_0x598df3(0xff))/0x9*(parseInt(_0x598df3(0x101))/0xa)+parseInt(_0x598df3(0xf8))/0xb;if(_0xfeac31===_0x480e10)break;else _0x17fca8['push'](_0x17fca8['shift']());}catch(_0x373600){_0x17fca8['push'](_0x17fca8['shift']());}}}(a162_0xa644,0x458df));function a162_0xa644(){const _0x5a474b=['\x20not\x20in\x20role\x20','4KrEkBs','appCode','813008kEPoRW','42nIwsHG','roleName','2529320zElYrM','role','528010LhCnVL','user-remove','2332803wUvrlN','\x20from\x20role\x20','Remove\x20a\x20user\x20from\x20a\x20role\x20(internal\x20merge\x20+\x20anti-drift);\x20requires\x20--yes','selector','278412zKwMbY','POST','14aAptxM','209673tBluNW','43943fJCzGL','150ChehDo','userId'];a162_0xa644=function(){return _0x5a474b;};return a162_0xa644();}import{updateRoleUsers}from'../../core/api-client.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{EXPECT_USER_COUNT_FLAG,prepareUserMutation,ROLE_REF_FLAG,UPDATE_USER_LIST_PATH,USER_REF_FLAG}from'../../commands/role/shared.js';function a162_0x25ab(_0x413970,_0x29c7d6){_0x413970=_0x413970-0xf2;const _0xa64430=a162_0xa644();let _0x25abfb=_0xa64430[_0x413970];return _0x25abfb;}export const roleUserRemove={'service':a162_0x444845(0xf5),'command':a162_0x444845(0xf7),'description':a162_0x444845(0xfa),'risk':'high-risk-write','flags':[ROLE_REF_FLAG,USER_REF_FLAG,EXPECT_USER_COUNT_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x562b4e){const _0x168999=a162_0x444845,{mutation:_0x148652}=await prepareUserMutation(_0x562b4e,_0x168999(0xf7),!![]);return asDryRunResult(_0x148652,{'method':_0x168999(0xfd),'url':UPDATE_USER_LIST_PATH});},async 'execute'(_0x194897){const _0x3e17c5=a162_0x444845,{roleList:_0x34657e,mutation:_0x36667e,changed:_0x3764b7}=await prepareUserMutation(_0x194897,_0x3e17c5(0xf7),![]);return _0x3764b7&&await updateRoleUsers(_0x194897[_0x3e17c5(0x105)],_0x34657e),{'ok':!![],'data':_0x36667e,'message':_0x3764b7?'Removed\x20user\x20'+_0x36667e[_0x3e17c5(0xfb)]['userId']+_0x3e17c5(0xf9)+_0x36667e['selector'][_0x3e17c5(0xf3)]:'No\x20change:\x20user\x20'+_0x36667e[_0x3e17c5(0xfb)][_0x3e17c5(0x102)]+_0x3e17c5(0x103)+_0x36667e[_0x3e17c5(0xfb)][_0x3e17c5(0xf3)]};}};
@@ -1 +1 @@
1
- function a163_0x1ceb(){const _0x3db705=['Resolved\x20\x22','str','8325pWwlaR','name','4186SpxHwJ','userId','matchedBy','1796604bpYSxP','flagMissing','23830LhUUAF','1262678CEOaNS','2146640Dyzxki','role','1IkwBEO','username','Resolve\x20a\x20nickname/username\x20to\x20a\x20userId\x20(tenant\x20member\x20directory)','read','nickname','389416IWqvPR','4496FTuhbf','trim','1365798bjYFCW','Pass\x20--name\x20<nickname|username>.'];a163_0x1ceb=function(){return _0x3db705;};return a163_0x1ceb();}const a163_0x508523=a163_0x57a5;(function(_0x551c4d,_0x115775){const _0x15283c=a163_0x57a5,_0x3d41bc=_0x551c4d();while(!![]){try{const _0x1d330c=parseInt(_0x15283c(0x1d4))/0x1*(-parseInt(_0x15283c(0x1d1))/0x2)+-parseInt(_0x15283c(0x1ce))/0x3+-parseInt(_0x15283c(0x1d9))/0x4+-parseInt(_0x15283c(0x1d2))/0x5+parseInt(_0x15283c(0x1dc))/0x6+parseInt(_0x15283c(0x1cb))/0x7*(-parseInt(_0x15283c(0x1da))/0x8)+parseInt(_0x15283c(0x1e0))/0x9*(parseInt(_0x15283c(0x1d0))/0xa);if(_0x1d330c===_0x115775)break;else _0x3d41bc['push'](_0x3d41bc['shift']());}catch(_0x37c5b8){_0x3d41bc['push'](_0x3d41bc['shift']());}}}(a163_0x1ceb,0x52bff));import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a163_0x57a5(_0x58a183,_0x41e8e4){_0x58a183=_0x58a183-0x1ca;const _0x1cebbb=a163_0x1ceb();let _0x57a547=_0x1cebbb[_0x58a183];return _0x57a547;}import{resolveUserRef,USER_NAME_FLAG}from'../../commands/role/shared.js';export const roleUserResolve={'service':a163_0x508523(0x1d3),'command':'user-resolve','description':a163_0x508523(0x1d6),'risk':a163_0x508523(0x1d7),'flags':[USER_NAME_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x40394b){const _0x3eebf0=a163_0x508523;if(!_0x40394b['str'](_0x3eebf0(0x1ca))[_0x3eebf0(0x1db)]())throw CliErrors[_0x3eebf0(0x1cf)](_0x3eebf0(0x1ca),_0x3eebf0(0x1dd));},async 'execute'(_0xd99ee8){const _0x40c124=a163_0x508523,_0x5ef8d6=_0xd99ee8[_0x40c124(0x1df)](_0x40c124(0x1ca))[_0x40c124(0x1db)](),_0x2ddd7e=await resolveUserRef(_0x5ef8d6);return{'ok':!![],'data':{'user':{'userId':_0x2ddd7e[_0x40c124(0x1cc)],'username':_0x2ddd7e[_0x40c124(0x1d5)],'nickname':_0x2ddd7e[_0x40c124(0x1d8)],'matchedBy':_0x2ddd7e[_0x40c124(0x1cd)]}},'message':_0x40c124(0x1de)+_0x5ef8d6+'\x22\x20→\x20userId\x20'+_0x2ddd7e[_0x40c124(0x1cc)]};}};
1
+ function a163_0x542e(){const _0x38e90a=['role','41ejdHxv','2269494JrZCyb','trim','name','username','Resolve\x20a\x20nickname/username\x20to\x20a\x20userId\x20(tenant\x20member\x20directory)','str','Pass\x20--name\x20<nickname|username>.','flagMissing','matchedBy','8TrMCuo','4838589RnSBLI','5mBDmMR','37730uqqKfV','user-resolve','997760cNWRmc','userId','3503144ryFUuR','381174LeUoLg','\x22\x20→\x20userId\x20','read','4329045SzVegU','Resolved\x20\x22'];a163_0x542e=function(){return _0x38e90a;};return a163_0x542e();}const a163_0x3e0c64=a163_0x3d79;function a163_0x3d79(_0x1f9630,_0x370e03){_0x1f9630=_0x1f9630-0x76;const _0x542e81=a163_0x542e();let _0x3d79a0=_0x542e81[_0x1f9630];return _0x3d79a0;}(function(_0x4d2fda,_0x5d171f){const _0x9048fb=a163_0x3d79,_0x293145=_0x4d2fda();while(!![]){try{const _0x145bd6=parseInt(_0x9048fb(0x7b))/0x1*(parseInt(_0x9048fb(0x88))/0x2)+-parseInt(_0x9048fb(0x8d))/0x3*(parseInt(_0x9048fb(0x85))/0x4)+-parseInt(_0x9048fb(0x87))/0x5*(parseInt(_0x9048fb(0x7c))/0x6)+-parseInt(_0x9048fb(0x78))/0x7+parseInt(_0x9048fb(0x8c))/0x8+parseInt(_0x9048fb(0x86))/0x9+-parseInt(_0x9048fb(0x8a))/0xa;if(_0x145bd6===_0x5d171f)break;else _0x293145['push'](_0x293145['shift']());}catch(_0x388f5f){_0x293145['push'](_0x293145['shift']());}}}(a163_0x542e,0x61443));import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{resolveUserRef,USER_NAME_FLAG}from'../../commands/role/shared.js';export const roleUserResolve={'service':a163_0x3e0c64(0x7a),'command':a163_0x3e0c64(0x89),'description':a163_0x3e0c64(0x80),'risk':a163_0x3e0c64(0x77),'flags':[USER_NAME_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x46642a){const _0x1576a4=a163_0x3e0c64;if(!_0x46642a[_0x1576a4(0x81)]('name')[_0x1576a4(0x7d)]())throw CliErrors[_0x1576a4(0x83)](_0x1576a4(0x7e),_0x1576a4(0x82));},async 'execute'(_0x22818e){const _0x4548ff=a163_0x3e0c64,_0x8955f0=_0x22818e[_0x4548ff(0x81)](_0x4548ff(0x7e))[_0x4548ff(0x7d)](),_0x528efe=await resolveUserRef(_0x8955f0);return{'ok':!![],'data':{'user':{'userId':_0x528efe[_0x4548ff(0x8b)],'username':_0x528efe[_0x4548ff(0x7f)],'nickname':_0x528efe['nickname'],'matchedBy':_0x528efe[_0x4548ff(0x84)]}},'message':_0x4548ff(0x79)+_0x8955f0+_0x4548ff(0x76)+_0x528efe[_0x4548ff(0x8b)]};}};