@lovrabet/rabetbase-cli 2.3.16-beta.2 → 2.3.16-beta.4

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 (279) hide show
  1. package/README.md +1 -1
  2. package/lib/api/api-doc.js +1 -1
  3. package/lib/api/fetch-model-list.js +1 -1
  4. package/lib/api/generate-api-file.js +1 -1
  5. package/lib/auth/auth-server-ui.js +1 -1
  6. package/lib/auth/auth-server.js +1 -1
  7. package/lib/auth/constant.js +1 -1
  8. package/lib/auth/get-cookie.js +1 -1
  9. package/lib/auth/get-session-user.js +1 -1
  10. package/lib/auth/is-session-valid.js +1 -1
  11. package/lib/auth/login-success-html.js +1 -1
  12. package/lib/auth/logout.js +1 -1
  13. package/lib/cli-flags.js +1 -1
  14. package/lib/cli.js +1 -1
  15. package/lib/commands/api/generate.js +1 -1
  16. package/lib/commands/api/index.js +1 -1
  17. package/lib/commands/api/list.js +1 -1
  18. package/lib/commands/api/pull.js +1 -1
  19. package/lib/commands/api/shared.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/members-list.js +1 -1
  23. package/lib/commands/app/remote-directory.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/kb/create.js +1 -1
  102. package/lib/commands/kb/delete.js +1 -1
  103. package/lib/commands/kb/detail.js +1 -1
  104. package/lib/commands/kb/index.js +1 -1
  105. package/lib/commands/kb/list.js +1 -1
  106. package/lib/commands/kb/shared.js +1 -1
  107. package/lib/commands/kb/update.js +1 -1
  108. package/lib/commands/logs/index.js +1 -1
  109. package/lib/commands/menu/asset-update.js +1 -1
  110. package/lib/commands/menu/delete.js +1 -1
  111. package/lib/commands/menu/external-link-create.js +1 -1
  112. package/lib/commands/menu/external-link-update.js +1 -1
  113. package/lib/commands/menu/group-create.js +1 -1
  114. package/lib/commands/menu/group-update.js +1 -1
  115. package/lib/commands/menu/index.js +1 -1
  116. package/lib/commands/menu/list.js +1 -1
  117. package/lib/commands/menu/move.js +1 -1
  118. package/lib/commands/menu/regroup-start.js +1 -1
  119. package/lib/commands/menu/rename.js +1 -1
  120. package/lib/commands/menu/shared/compare-table.js +1 -1
  121. package/lib/commands/menu/shared/delete-plan.js +1 -1
  122. package/lib/commands/menu/shared/facts.js +1 -1
  123. package/lib/commands/menu/shared/index.js +1 -1
  124. package/lib/commands/menu/shared/inquirer.js +1 -1
  125. package/lib/commands/menu/shared/local-pages.js +1 -1
  126. package/lib/commands/menu/shared/logic.js +1 -1
  127. package/lib/commands/menu/shared/mutations.js +1 -1
  128. package/lib/commands/menu/shared/service.js +1 -1
  129. package/lib/commands/menu/shared/sync-core.js +1 -1
  130. package/lib/commands/menu/shared/update-core.js +1 -1
  131. package/lib/commands/menu/shared/valid-url.js +1 -1
  132. package/lib/commands/menu/sync.js +1 -1
  133. package/lib/commands/notification/config-list.js +1 -1
  134. package/lib/commands/notification/index.js +1 -1
  135. package/lib/commands/ocr/index.js +1 -1
  136. package/lib/commands/page/generate-start.js +1 -1
  137. package/lib/commands/page/generate-status.js +1 -1
  138. package/lib/commands/page/index.js +1 -1
  139. package/lib/commands/page/pull.js +1 -1
  140. package/lib/commands/page/push.js +1 -1
  141. package/lib/commands/page/relation-audit.js +1 -1
  142. package/lib/commands/page/restore.js +1 -1
  143. package/lib/commands/page/shared.js +1 -1
  144. package/lib/commands/page/standard-page-status.js +1 -1
  145. package/lib/commands/page/sync.js +1 -1
  146. package/lib/commands/permit/index.js +1 -1
  147. package/lib/commands/permit/page-get.js +1 -1
  148. package/lib/commands/permit/page-set.js +1 -1
  149. package/lib/commands/permit/role-apis-set.js +1 -1
  150. package/lib/commands/permit/role-menus-set.js +1 -1
  151. package/lib/commands/permit/role-menus.js +1 -1
  152. package/lib/commands/permit/shared.js +1 -1
  153. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  154. package/lib/commands/project/create/format-elapsed.js +1 -1
  155. package/lib/commands/project/create/main.js +1 -1
  156. package/lib/commands/project/create/non-interactive.js +1 -1
  157. package/lib/commands/project/create/project-template-path.js +1 -1
  158. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  159. package/lib/commands/project/create/use-format-code.js +1 -1
  160. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  161. package/lib/commands/project/index.js +1 -1
  162. package/lib/commands/project/upgrade.js +1 -1
  163. package/lib/commands/registry.js +1 -1
  164. package/lib/commands/role/create.js +1 -1
  165. package/lib/commands/role/delete.js +1 -1
  166. package/lib/commands/role/detail.js +1 -1
  167. package/lib/commands/role/index.js +1 -1
  168. package/lib/commands/role/list.js +1 -1
  169. package/lib/commands/role/shared.js +1 -1
  170. package/lib/commands/role/update.js +1 -1
  171. package/lib/commands/role/user-add.js +1 -1
  172. package/lib/commands/role/user-remove.js +1 -1
  173. package/lib/commands/role/user-resolve.js +1 -1
  174. package/lib/commands/run/index.js +1 -1
  175. package/lib/commands/schema.js +1 -1
  176. package/lib/commands/sql/create.js +1 -1
  177. package/lib/commands/sql/delete.js +1 -1
  178. package/lib/commands/sql/detail.js +1 -1
  179. package/lib/commands/sql/exec.js +1 -1
  180. package/lib/commands/sql/index.js +1 -1
  181. package/lib/commands/sql/list.js +1 -1
  182. package/lib/commands/sql/pull.js +1 -1
  183. package/lib/commands/sql/push.js +1 -1
  184. package/lib/commands/sql/shared.js +1 -1
  185. package/lib/commands/sql/status.js +1 -1
  186. package/lib/commands/sql/validate.js +1 -1
  187. package/lib/commands/task/index.js +1 -1
  188. package/lib/commands/task/status.js +1 -1
  189. package/lib/commands/tenant/index.js +1 -1
  190. package/lib/commands/tenant/members-list.js +1 -1
  191. package/lib/commands/tenant/shared.js +1 -1
  192. package/lib/commands/workspace/add.js +1 -1
  193. package/lib/commands/workspace/index.js +1 -1
  194. package/lib/commands/workspace/remove.js +1 -1
  195. package/lib/config/schema.js +1 -1
  196. package/lib/constant/cdn.js +1 -1
  197. package/lib/constant/cli.js +1 -1
  198. package/lib/constant/defaults.js +1 -1
  199. package/lib/constant/domain.js +1 -1
  200. package/lib/constant/env.js +1 -1
  201. package/lib/constant/output.js +1 -1
  202. package/lib/constant/paths.js +1 -1
  203. package/lib/constant/risk.js +1 -1
  204. package/lib/context/app-resolver.js +1 -1
  205. package/lib/context/auth-resolver.js +1 -1
  206. package/lib/context/config-loader.js +1 -1
  207. package/lib/context.js +1 -1
  208. package/lib/core/alias-resolver.js +1 -1
  209. package/lib/core/api-client.js +1 -1
  210. package/lib/core/bff/config.js +1 -1
  211. package/lib/core/bff/file-system.js +1 -1
  212. package/lib/core/bff/hash.js +1 -1
  213. package/lib/core/bff/lock.js +1 -1
  214. package/lib/core/bff/utils.js +1 -1
  215. package/lib/core/db-resolver.js +1 -1
  216. package/lib/core/page/file-system.js +1 -1
  217. package/lib/core/page/hash.js +1 -1
  218. package/lib/core/page/lock.js +1 -1
  219. package/lib/core/sql-index-auditor.js +1 -1
  220. package/lib/core/sql-sync/config.js +1 -1
  221. package/lib/core/sql-sync/file-system.js +1 -1
  222. package/lib/core/sql-sync/hash.js +1 -1
  223. package/lib/core/sql-sync/lock.js +1 -1
  224. package/lib/core/sql-sync/utils.js +1 -1
  225. package/lib/core/sql-validator.js +1 -1
  226. package/lib/errors.js +1 -1
  227. package/lib/framework/build-all-flags.js +1 -1
  228. package/lib/framework/error-output.js +1 -1
  229. package/lib/framework/explicit-yes.js +1 -1
  230. package/lib/framework/flags.js +1 -1
  231. package/lib/framework/help.js +1 -1
  232. package/lib/framework/index.js +1 -1
  233. package/lib/framework/output.js +1 -1
  234. package/lib/framework/response.js +1 -1
  235. package/lib/framework/runner-alias.js +1 -1
  236. package/lib/framework/runner.js +1 -1
  237. package/lib/framework/schema-export.js +1 -1
  238. package/lib/framework/types.js +1 -1
  239. package/lib/generated/build-info.js +1 -1
  240. package/lib/help.js +1 -1
  241. package/lib/skills/main.js +1 -1
  242. package/lib/skills/npx-skills-add.js +1 -1
  243. package/lib/skills/skill-presence.js +1 -1
  244. package/lib/telemetry/cli-command-trace.js +1 -1
  245. package/lib/telemetry/cli-help-trace.js +1 -1
  246. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  247. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  248. package/lib/telemetry/send-cli-trace-log.js +1 -1
  249. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  250. package/lib/utils/ai_config.js +1 -1
  251. package/lib/utils/apply-jq-filter.js +1 -1
  252. package/lib/utils/cdn-config.js +1 -1
  253. package/lib/utils/check-sdk-version.js +1 -1
  254. package/lib/utils/cli-version-check.js +1 -1
  255. package/lib/utils/cli-version-policy.js +1 -1
  256. package/lib/utils/config.js +1 -1
  257. package/lib/utils/copy-directory.js +1 -1
  258. package/lib/utils/entity-with-id.js +1 -1
  259. package/lib/utils/file-utils.js +1 -1
  260. package/lib/utils/guides-cdn.js +1 -1
  261. package/lib/utils/http-client.js +1 -1
  262. package/lib/utils/is-non-interactive.js +1 -1
  263. package/lib/utils/logger.js +1 -1
  264. package/lib/utils/params.js +1 -1
  265. package/lib/utils/platform.js +1 -1
  266. package/lib/utils/rules-cdn.js +1 -1
  267. package/lib/utils/sleep.js +1 -1
  268. package/lib/utils/template-replacer.js +1 -1
  269. package/lib/utils/update-notice.js +1 -1
  270. package/lib/utils/version.js +1 -1
  271. package/lib/utils/with-active-cookie.js +1 -1
  272. package/lib/utils/write-cli-side-channel.js +1 -1
  273. package/package.json +1 -1
  274. package/templates/projects/sub-app-react-demo/CHANGELOG.md +1 -1
  275. package/templates/projects/sub-app-react-demo/README.md +1 -1
  276. package/templates/projects/sub-app-react-demo/docs/quick-start.md +1 -1
  277. package/templates/projects/sub-app-react-demo/src/pages/index.tsx +1 -1
  278. package/lib/commands/project/init.js +0 -1
  279. package/lib/commands/sql/save.js +0 -1
@@ -1 +1 @@
1
- (function(_0x3ae1cb,_0x69a0b8){const _0x39d5da=a159_0x49eb,_0x540e72=_0x3ae1cb();while(!![]){try{const _0x3a58cd=-parseInt(_0x39d5da(0x174))/0x1+-parseInt(_0x39d5da(0x169))/0x2*(-parseInt(_0x39d5da(0x16b))/0x3)+parseInt(_0x39d5da(0x167))/0x4+parseInt(_0x39d5da(0x16d))/0x5+parseInt(_0x39d5da(0x16e))/0x6+parseInt(_0x39d5da(0x168))/0x7+-parseInt(_0x39d5da(0x16c))/0x8;if(_0x3a58cd===_0x69a0b8)break;else _0x540e72['push'](_0x540e72['shift']());}catch(_0x191472){_0x540e72['push'](_0x540e72['shift']());}}}(a159_0x2355,0x3c97e));function a159_0x2355(){const _0x481f43=['install','61359xpjWEH','6833120kuCgCM','1016160zWTfTR','2491764NiAppe','cwd','message','now','success','--registry','158051dTRfOk','https://registry.npmmirror.com','444036uNFNWo','2570554NcMQqt','16BfsKaq'];a159_0x2355=function(){return _0x481f43;};return a159_0x2355();}function a159_0x49eb(_0xfb7f80,_0x3b5d02){_0xfb7f80=_0xfb7f80-0x166;const _0x235560=a159_0x2355();let _0x49ebbf=_0x235560[_0xfb7f80];return _0x49ebbf;}import a159_0x28f150 from'node:path';import{execa}from'execa';import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';import{logger}from'../../../utils/logger.js';import{resolveNpmBin}from'../../../utils/platform.js';export async function installDependencies(_0x337952){const _0x1c7c05=a159_0x49eb,_0x529016=Date['now'](),_0x43a1f3=a159_0x28f150['resolve'](process[_0x1c7c05(0x16f)](),_0x337952);try{logger['info'](_0x1c7c05(0x16a),'开始安装依赖',{'projectCode':_0x337952,'registry':_0x1c7c05(0x166)}),await execa(resolveNpmBin('npm'),['install',_0x1c7c05(0x173),_0x1c7c05(0x166)],{'cwd':_0x43a1f3});const _0x16fc81=Date[_0x1c7c05(0x171)]()-_0x529016;logger[_0x1c7c05(0x172)](_0x1c7c05(0x16a),'依赖安装完成',_0x16fc81,{'projectCode':_0x337952});}catch(_0x458330){const _0x4d706c=Date[_0x1c7c05(0x171)]()-_0x529016;logger['error'](_0x1c7c05(0x16a),'依赖安装失败',{'projectCode':_0x337952,'error':_0x458330 instanceof Error?_0x458330[_0x1c7c05(0x170)]:String(_0x458330),'duration':_0x4d706c});throw _0x458330;}return formatElapsed(_0x529016);}
1
+ function a159_0x4a2c(_0x120b97,_0x264bbf){_0x120b97=_0x120b97-0x14e;const _0x158ea1=a159_0x158e();let _0x4a2cd1=_0x158ea1[_0x120b97];return _0x4a2cd1;}(function(_0x502ce7,_0x3fa33c){const _0x46c640=a159_0x4a2c,_0x5b05c8=_0x502ce7();while(!![]){try{const _0x2e728e=parseInt(_0x46c640(0x155))/0x1+-parseInt(_0x46c640(0x14f))/0x2*(parseInt(_0x46c640(0x162))/0x3)+parseInt(_0x46c640(0x159))/0x4+parseInt(_0x46c640(0x156))/0x5*(-parseInt(_0x46c640(0x15b))/0x6)+-parseInt(_0x46c640(0x157))/0x7*(-parseInt(_0x46c640(0x15d))/0x8)+parseInt(_0x46c640(0x152))/0x9+parseInt(_0x46c640(0x153))/0xa;if(_0x2e728e===_0x3fa33c)break;else _0x5b05c8['push'](_0x5b05c8['shift']());}catch(_0x347d43){_0x5b05c8['push'](_0x5b05c8['shift']());}}}(a159_0x158e,0xa4073));import a159_0x19d611 from'node:path';function a159_0x158e(){const _0x3c1a42=['install','message','resolve','info','297lzNwHp','success','5488cIRLrC','--registry','error','6220638vVktgQ','7275520uDJAAC','https://registry.npmmirror.com','555339ZTyDpU','3244695DzCqwk','581KLKnyS','依赖安装完成','776788CnSuFc','now','12HVNoaM','依赖安装失败','7048HOtLBD'];a159_0x158e=function(){return _0x3c1a42;};return a159_0x158e();}import{execa}from'execa';import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';import{logger}from'../../../utils/logger.js';import{resolveNpmBin}from'../../../utils/platform.js';export async function installDependencies(_0x1d8177){const _0x4f04dc=a159_0x4a2c,_0x200d22=Date[_0x4f04dc(0x15a)](),_0x12cc3f=a159_0x19d611[_0x4f04dc(0x160)](process['cwd'](),_0x1d8177);try{logger[_0x4f04dc(0x161)](_0x4f04dc(0x15e),'开始安装依赖',{'projectCode':_0x1d8177,'registry':_0x4f04dc(0x154)}),await execa(resolveNpmBin('npm'),[_0x4f04dc(0x15e),_0x4f04dc(0x150),'https://registry.npmmirror.com'],{'cwd':_0x12cc3f});const _0x3b481f=Date[_0x4f04dc(0x15a)]()-_0x200d22;logger[_0x4f04dc(0x14e)](_0x4f04dc(0x15e),_0x4f04dc(0x158),_0x3b481f,{'projectCode':_0x1d8177});}catch(_0x41ceb5){const _0x3963a3=Date[_0x4f04dc(0x15a)]()-_0x200d22;logger[_0x4f04dc(0x151)](_0x4f04dc(0x15e),_0x4f04dc(0x15c),{'projectCode':_0x1d8177,'error':_0x41ceb5 instanceof Error?_0x41ceb5[_0x4f04dc(0x15f)]:String(_0x41ceb5),'duration':_0x3963a3});throw _0x41ceb5;}return formatElapsed(_0x200d22);}
@@ -1 +1 @@
1
- const a160_0x5f3130=a160_0x4444;function a160_0x4444(_0x493fa1,_0x3c9087){_0x493fa1=_0x493fa1-0x7b;const _0x1d4115=a160_0x1d41();let _0x4444c9=_0x1d4115[_0x493fa1];return _0x4444c9;}(function(_0x416293,_0x416770){const _0xc17d6e=a160_0x4444,_0x3b6b81=_0x416293();while(!![]){try{const _0x3d5e4e=parseInt(_0xc17d6e(0x86))/0x1+parseInt(_0xc17d6e(0x94))/0x2*(-parseInt(_0xc17d6e(0x9b))/0x3)+-parseInt(_0xc17d6e(0x8d))/0x4*(parseInt(_0xc17d6e(0x97))/0x5)+parseInt(_0xc17d6e(0x85))/0x6*(-parseInt(_0xc17d6e(0x91))/0x7)+parseInt(_0xc17d6e(0x88))/0x8+parseInt(_0xc17d6e(0x87))/0x9*(-parseInt(_0xc17d6e(0x81))/0xa)+parseInt(_0xc17d6e(0x84))/0xb*(parseInt(_0xc17d6e(0x89))/0xc);if(_0x3d5e4e===_0x416770)break;else _0x3b6b81['push'](_0x3b6b81['shift']());}catch(_0x443c76){_0x3b6b81['push'](_0x3b6b81['shift']());}}}(a160_0x1d41,0x77183));import{CliErrors}from'../../errors.js';function a160_0x1d41(){const _0x3a4b20=['Non-interactive\x20mode\x20requires\x20a\x20project\x20name.','Upgrade\x20from\x20lovrabet-cli\x20to\x20rabetbase-cli','string','2026-07','1805490XMItub','appcode','trim','11bDtzsp','654LgpjkB','642809kLJsMH','45PLDZgW','1445760SCazaS','37639176rRSbxS','Usage:\x20','write','validation','908792pnozpG','Project\x20code/name\x20(optional,\x20prompts\x20if\x20omitted)','str','nonInteractive','57393GrmvuD','yes','project-name','63924eKlttq','cookie','boolean','20AbZbVu','../../commands/project/create/main.js','create','upgrade','72iQGlFl','bool','args','App\x20code\x20to\x20bind\x20(skips\x20interactive\x20selection)','env','Create\x20a\x20new\x20project','project','../../commands/project/create/non-interactive.js'];a160_0x1d41=function(){return _0x3a4b20;};return a160_0x1d41();}import{CLI_BIN_NAME}from'../../constant/cli.js';import{initConfig}from'../../commands/project/init.js';import{upgradeApp}from'../../commands/project/upgrade.js';const initFlags=[{'name':a160_0x5f3130(0x82),'type':a160_0x5f3130(0x7f),'description':'App\x20code\x20to\x20initialize'},{'name':'env','type':a160_0x5f3130(0x7f),'description':'Target\x20environment'},{'name':a160_0x5f3130(0x92),'type':a160_0x5f3130(0x96),'description':'Auto-confirm\x20prompts','default':![]}],createFlags=[{'name':'name','type':a160_0x5f3130(0x7f),'description':'Project\x20name'},{'name':a160_0x5f3130(0x9f),'type':a160_0x5f3130(0x7f),'description':'Target\x20environment'},{'name':a160_0x5f3130(0x82),'type':a160_0x5f3130(0x7f),'description':a160_0x5f3130(0x9e)}],upgradeFlags=[{'name':a160_0x5f3130(0x92),'type':a160_0x5f3130(0x96),'description':'Skip\x20confirmation\x20prompt','default':![]}];export const projectDefinitions=[{'service':'project','command':'init','description':'Deprecated:\x20use\x20workspace\x20init\x20to\x20bind\x20the\x20current\x20directory\x20to\x20an\x20app','risk':a160_0x5f3130(0x8b),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'hidden':!![],'deprecated':{'replacement':CLI_BIN_NAME+'\x20workspace\x20init','since':a160_0x5f3130(0x80)},'flags':initFlags,async 'execute'(_0x27dde3){const _0x1af910=a160_0x5f3130;return await initConfig({'appcode':_0x27dde3[_0x1af910(0x8f)]('appcode')||undefined,'env':_0x27dde3[_0x1af910(0x8f)]('env')||undefined,'autoYes':_0x27dde3[_0x1af910(0x9c)](_0x1af910(0x92))}),{'ok':!![]};}},{'service':a160_0x5f3130(0x7b),'command':a160_0x5f3130(0x99),'description':a160_0x5f3130(0xa0),'risk':a160_0x5f3130(0x8b),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a160_0x5f3130(0x93),'description':a160_0x5f3130(0x8e),'required':![]}],'flags':createFlags,async 'execute'(_0x4dec1a){const _0x197078=a160_0x5f3130,{createApp:_0x41a5e1}=await import(_0x197078(0x98)),{createProjectNonInteractive:_0x274c8b}=await import(_0x197078(0x7c)),_0x10b791=_0x4dec1a[_0x197078(0x8f)]('name')[_0x197078(0x83)]()||_0x4dec1a[_0x197078(0x9d)][0x0]?.[_0x197078(0x83)](),_0x3a363c=_0x4dec1a[_0x197078(0x8f)](_0x197078(0x9f))||undefined,_0x289b1b=_0x4dec1a['str'](_0x197078(0x82))||undefined;if(_0x4dec1a[_0x197078(0x90)]){if(!_0x10b791)throw CliErrors[_0x197078(0x8c)](_0x197078(0x7d),_0x197078(0x8a)+CLI_BIN_NAME+'\x20project\x20create\x20<project-name>\x20[--appcode\x20<code>]');await _0x274c8b(_0x10b791,_0x3a363c,_0x289b1b,_0x4dec1a['cookie']);}else await _0x41a5e1({'projectCode':_0x10b791,'appCode':_0x289b1b,'env':_0x3a363c,'cookie':_0x4dec1a[_0x197078(0x95)]});return{'ok':!![]};}},{'service':a160_0x5f3130(0x7b),'command':a160_0x5f3130(0x9a),'description':a160_0x5f3130(0x7e),'risk':a160_0x5f3130(0x8b),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':upgradeFlags,async 'execute'(_0x3e4c29){const _0x2d1061=a160_0x5f3130;return await upgradeApp(_0x3e4c29['nonInteractive'],{'yes':_0x3e4c29[_0x2d1061(0x9c)](_0x2d1061(0x92))}),{'ok':!![]};}}];
1
+ function a160_0x5ba4(_0x25a9ba,_0x4f941d){_0x25a9ba=_0x25a9ba-0x1a2;const _0x57d12e=a160_0x57d1();let _0x5ba415=_0x57d12e[_0x25a9ba];return _0x5ba415;}function a160_0x57d1(){const _0x3856a9=['3438hKMmph','App\x20code\x20to\x20bind\x20(skips\x20interactive\x20selection)','trim','upgrade','Project\x20name','Target\x20environment','1794kESCKk','create','yes','cookie','16HMTqHR','Create\x20a\x20new\x20project','2220655fCWMkv','7377560rhivwN','../../commands/project/create/main.js','args','env','bool','string','21809183JfThtD','name','54850Gzprdx','str','project','12BjfpVD','Usage:\x20','Skip\x20confirmation\x20prompt','1435gXBJla','Upgrade\x20from\x20lovrabet-cli\x20to\x20rabetbase-cli','Project\x20code/name\x20(optional,\x20prompts\x20if\x20omitted)','1591297TPpHhH','appcode','2007EkqbnQ','project-name','2721AOWHUS'];a160_0x57d1=function(){return _0x3856a9;};return a160_0x57d1();}const a160_0x59e7c1=a160_0x5ba4;(function(_0x386f31,_0x1fd620){const _0x2187ac=a160_0x5ba4,_0x3dc2bd=_0x386f31();while(!![]){try{const _0xaad1c0=-parseInt(_0x2187ac(0x1b8))/0x1+parseInt(_0x2187ac(0x1bd))/0x2*(-parseInt(_0x2187ac(0x1bc))/0x3)+-parseInt(_0x2187ac(0x1a4))/0x4*(-parseInt(_0x2187ac(0x1a6))/0x5)+parseInt(_0x2187ac(0x1c3))/0x6*(parseInt(_0x2187ac(0x1b5))/0x7)+-parseInt(_0x2187ac(0x1a7))/0x8+-parseInt(_0x2187ac(0x1ba))/0x9*(-parseInt(_0x2187ac(0x1af))/0xa)+parseInt(_0x2187ac(0x1ad))/0xb*(parseInt(_0x2187ac(0x1b2))/0xc);if(_0xaad1c0===_0x1fd620)break;else _0x3dc2bd['push'](_0x3dc2bd['shift']());}catch(_0x344b86){_0x3dc2bd['push'](_0x3dc2bd['shift']());}}}(a160_0x57d1,0xed0fa));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{upgradeApp}from'../../commands/project/upgrade.js';const createFlags=[{'name':a160_0x59e7c1(0x1ae),'type':a160_0x59e7c1(0x1ac),'description':a160_0x59e7c1(0x1c1)},{'name':a160_0x59e7c1(0x1aa),'type':'string','description':a160_0x59e7c1(0x1c2)},{'name':a160_0x59e7c1(0x1b9),'type':'string','description':a160_0x59e7c1(0x1be)}],upgradeFlags=[{'name':a160_0x59e7c1(0x1a2),'type':'boolean','description':a160_0x59e7c1(0x1b4),'default':![]}];export const projectDefinitions=[{'service':a160_0x59e7c1(0x1b1),'command':a160_0x59e7c1(0x1c4),'description':a160_0x59e7c1(0x1a5),'risk':'write','requiresAuth':!![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a160_0x59e7c1(0x1bb),'description':a160_0x59e7c1(0x1b7),'required':![]}],'flags':createFlags,async 'execute'(_0xa689f6){const _0x1a956d=a160_0x59e7c1,{createApp:_0x226bfc}=await import(_0x1a956d(0x1a8)),{createProjectNonInteractive:_0x3f6993}=await import('../../commands/project/create/non-interactive.js'),_0x16a002=_0xa689f6[_0x1a956d(0x1b0)](_0x1a956d(0x1ae))[_0x1a956d(0x1bf)]()||_0xa689f6[_0x1a956d(0x1a9)][0x0]?.[_0x1a956d(0x1bf)](),_0x1c06a7=_0xa689f6[_0x1a956d(0x1b0)]('env')||undefined,_0x22ad9c=_0xa689f6[_0x1a956d(0x1b0)]('appcode')||undefined;if(_0xa689f6['nonInteractive']){if(!_0x16a002)throw CliErrors['validation']('Non-interactive\x20mode\x20requires\x20a\x20project\x20name.',_0x1a956d(0x1b3)+CLI_BIN_NAME+'\x20project\x20create\x20<project-name>\x20[--appcode\x20<code>]');await _0x3f6993(_0x16a002,_0x1c06a7,_0x22ad9c,_0xa689f6[_0x1a956d(0x1a3)]);}else await _0x226bfc({'projectCode':_0x16a002,'appCode':_0x22ad9c,'env':_0x1c06a7,'cookie':_0xa689f6[_0x1a956d(0x1a3)]});return{'ok':!![]};}},{'service':'project','command':a160_0x59e7c1(0x1c0),'description':a160_0x59e7c1(0x1b6),'risk':'write','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':upgradeFlags,async 'execute'(_0x3d2947){const _0x397858=a160_0x59e7c1;return await upgradeApp(_0x3d2947['nonInteractive'],{'yes':_0x3d2947[_0x397858(0x1ab)](_0x397858(0x1a2))}),{'ok':!![]};}}];
@@ -1 +1 @@
1
- const a162_0x29d5e7=a162_0x5b26;(function(_0x5ad662,_0x42e89f){const _0x2b8692=a162_0x5b26,_0x24a552=_0x5ad662();while(!![]){try{const _0x5df9e3=parseInt(_0x2b8692(0x176))/0x1+parseInt(_0x2b8692(0x182))/0x2+parseInt(_0x2b8692(0x197))/0x3+-parseInt(_0x2b8692(0x1a2))/0x4+parseInt(_0x2b8692(0x1ad))/0x5+-parseInt(_0x2b8692(0x14d))/0x6+-parseInt(_0x2b8692(0x13f))/0x7;if(_0x5df9e3===_0x42e89f)break;else _0x24a552['push'](_0x24a552['shift']());}catch(_0x375c76){_0x24a552['push'](_0x24a552['shift']());}}}(a162_0x207c,0xd6358));import a162_0x247129 from'chalk';import a162_0x4de76 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[a162_0x29d5e7(0x1af)](_0xe1e256=>_0xe1e256!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x205b8b){const _0x1ea0d2=a162_0x29d5e7,_0x594fa3=[];for(const _0x410f8a of Object[_0x1ea0d2(0x194)](CORE_IDE_CONFIGS)){if(_0x410f8a['files'])for(const _0x39f60d of _0x410f8a[_0x1ea0d2(0x199)]){_0x594fa3[_0x1ea0d2(0x165)](resolve(_0x205b8b,_0x39f60d[_0x1ea0d2(0x19e)]));}}return _0x594fa3;}function analyse(_0x557b55){const _0x1b5231=a162_0x29d5e7;let _0x37c44d=null;const _0x1c8b08=resolve(_0x557b55,NEW_CONFIG_NAME),_0x281fc9=existsSync(_0x1c8b08);for(const _0x1d7603 of LEGACY_CONFIG_NAMES){const _0x175d2a=resolve(_0x557b55,_0x1d7603);if(existsSync(_0x175d2a)){const _0x39014e=readConfigFile(_0x175d2a),_0x1a1af2=Object[_0x1b5231(0x18b)](_0x39014e)[_0x1b5231(0x1af)](_0x56271c=>typeof _0x39014e[_0x56271c]!=='undefined');_0x37c44d={'oldPath':_0x175d2a,'hasNewConfig':_0x281fc9,'fields':_0x1a1af2};break;}}const _0x19dbbe=[],_0x1e6926=resolve(_0x557b55,_0x1b5231(0x1b9));if(existsSync(_0x1e6926))_0x19dbbe[_0x1b5231(0x165)](_0x1e6926);const _0x4924fd=resolve(_0x557b55,_0x1b5231(0x18d));if(existsSync(_0x4924fd))_0x19dbbe[_0x1b5231(0x165)](_0x4924fd);const _0x2366c8=resolve(_0x557b55,_0x1b5231(0x147));if(existsSync(_0x2366c8))_0x19dbbe['push'](_0x2366c8);for(const _0x1713ee of collectIdeSkillFiles(_0x557b55)){if(existsSync(_0x1713ee))_0x19dbbe[_0x1b5231(0x165)](_0x1713ee);}let _0x2e3fee=null;const _0x18120f=resolve(_0x557b55,_0x1b5231(0x177));if(existsSync(_0x18120f))try{const _0x5d59d1=JSON['parse'](readFileSync(_0x18120f,'utf8'));if(_0x5d59d1?.[_0x1b5231(0x169)]&&typeof _0x5d59d1['mcpServers']===_0x1b5231(0x155)){const _0x1ad159=[];for(const [_0xbc70b9,_0x2c7136]of Object[_0x1b5231(0x1a9)](_0x5d59d1[_0x1b5231(0x169)])){const _0xacd9f0=_0x2c7136;_0xacd9f0?.[_0x1b5231(0x1b7)]&&Array[_0x1b5231(0x1a1)](_0xacd9f0['args'])&&_0xacd9f0[_0x1b5231(0x1b7)][_0x1b5231(0x186)](_0x3e1cc4=>typeof _0x3e1cc4===_0x1b5231(0x192)&&_0x3e1cc4[_0x1b5231(0x19b)]('@lovrabet/dataset-mcp-server'))&&_0x1ad159[_0x1b5231(0x165)](_0xbc70b9);}_0x1ad159[_0x1b5231(0x15b)]>0x0&&(_0x2e3fee={'path':_0x18120f,'keys':_0x1ad159});}}catch{}const _0x5b0804=_0x19dbbe['length']>0x0||_0x37c44d!==null;let _0x2b53c2=null;const _0x33accf=resolve(_0x557b55,'package.json');if(existsSync(_0x33accf))try{const _0x6b4899=JSON[_0x1b5231(0x17e)](readFileSync(_0x33accf,_0x1b5231(0x145)));for(const _0x536abe of[_0x1b5231(0x14e),_0x1b5231(0x142)]){const _0x59407c=_0x6b4899?.[_0x536abe]?.[_0x1b5231(0x17f)];if(typeof _0x59407c===_0x1b5231(0x192)){_0x59407c!==_0x1b5231(0x15c)&&(_0x2b53c2={'pkgPath':_0x33accf,'currentVersion':_0x59407c,'field':_0x536abe});break;}}}catch{}return{'configMigration':_0x37c44d,'oldArtifacts':_0x19dbbe,'oldMcpConfig':_0x2e3fee,'needsSkillSwap':_0x5b0804,'sdkUpgrade':_0x2b53c2};}function printReport(_0x3a9091){const _0x366f14=a162_0x29d5e7,{configMigration:_0x3fd277,oldArtifacts:_0x5554e5,oldMcpConfig:_0x593267,needsSkillSwap:_0x3de62d}=_0x3a9091;console[_0x366f14(0x1a5)](''),console[_0x366f14(0x1a5)](a162_0x247129[_0x366f14(0x1ac)]('===\x20Upgrade\x20Analysis\x20===')),console[_0x366f14(0x1a5)]('');_0x3fd277?(console[_0x366f14(0x1a5)](a162_0x247129['cyan'](_0x366f14(0x152))+('\x20\x20'+a162_0x247129[_0x366f14(0x189)](_0x3fd277[_0x366f14(0x18c)]))),console['log'](_0x366f14(0x18a)+(_0x3fd277[_0x366f14(0x180)]?a162_0x247129[_0x366f14(0x17c)](_0x366f14(0x1b5)):a162_0x247129[_0x366f14(0x156)](_0x366f14(0x166)))),console['log']('\x20\x20Fields\x20to\x20migrate:\x20'+_0x3fd277[_0x366f14(0x164)][_0x366f14(0x16b)](',\x20')),console[_0x366f14(0x1a5)]('\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak')):console[_0x366f14(0x1a5)](a162_0x247129['cyan'](_0x366f14(0x152))+'\x20\x20'+a162_0x247129[_0x366f14(0x156)]('no\x20legacy\x20config\x20found'));console[_0x366f14(0x1a5)]('');if(_0x5554e5[_0x366f14(0x15b)]>0x0){console[_0x366f14(0x1a5)](a162_0x247129['cyan']('Legacy\x20artifacts:'));for(const _0x2ef09b of _0x5554e5){console[_0x366f14(0x1a5)]('\x20\x20'+a162_0x247129['red'](_0x366f14(0x15a))+'\x20\x20'+_0x2ef09b);}console['log'](_0x366f14(0x167));}else console[_0x366f14(0x1a5)](a162_0x247129['cyan'](_0x366f14(0x196))+'\x20\x20'+a162_0x247129[_0x366f14(0x156)](_0x366f14(0x19d)));console[_0x366f14(0x1a5)]('');_0x593267?(console[_0x366f14(0x1a5)](a162_0x247129['cyan'](_0x366f14(0x1a0))+('\x20\x20'+a162_0x247129[_0x366f14(0x189)](_0x593267['path'])+_0x366f14(0x153)+_0x593267[_0x366f14(0x18b)][_0x366f14(0x16b)](',\x20'))),console[_0x366f14(0x1a5)](_0x366f14(0x163))):console[_0x366f14(0x1a5)](a162_0x247129[_0x366f14(0x178)](_0x366f14(0x1a0))+'\x20\x20'+a162_0x247129[_0x366f14(0x156)](_0x366f14(0x19c)));console[_0x366f14(0x1a5)](''),console[_0x366f14(0x1a5)](a162_0x247129['cyan']('Skill\x20swap:')+('\x20\x20'+(_0x3de62d?a162_0x247129[_0x366f14(0x189)](_0x366f14(0x171)):a162_0x247129[_0x366f14(0x17c)](_0x366f14(0x195)))));_0x3de62d&&console[_0x366f14(0x1a5)]('\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`'+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console[_0x366f14(0x1a5)]('');if(_0x3a9091[_0x366f14(0x143)]){const {currentVersion:_0x4a6a2d,field:_0x470a82,pkgPath:_0x382421}=_0x3a9091[_0x366f14(0x143)];console[_0x366f14(0x1a5)](a162_0x247129[_0x366f14(0x178)](_0x366f14(0x185))+('\x20\x20'+a162_0x247129[_0x366f14(0x189)](_0x382421))),console[_0x366f14(0x1a5)]('\x20\x20Current\x20version\x20in\x20'+_0x470a82+':\x20'+a162_0x247129['yellow'](_0x4a6a2d)+_0x366f14(0x187)+a162_0x247129['green']('latest')),console[_0x366f14(0x1a5)](_0x366f14(0x162));}else console['log'](a162_0x247129[_0x366f14(0x178)]('@lovrabet/sdk:')+'\x20\x20'+a162_0x247129[_0x366f14(0x156)](_0x366f14(0x140)));console[_0x366f14(0x1a5)]('');}function execConfigMigration(_0x3f9f7e,_0xe13377){const _0x91df12=a162_0x29d5e7,{configMigration:_0x335563}=_0x3f9f7e;if(!_0x335563?.[_0x91df12(0x18c)])return{'step':0x1,'label':_0x91df12(0x174),'ok':!![],'detail':_0x91df12(0x18f)};const _0x4558cb=readConfigFile(_0x335563[_0x91df12(0x18c)]),_0x37e475=resolve(_0xe13377,NEW_CONFIG_NAME),_0x2ca1e9=_0x335563[_0x91df12(0x180)]?readConfigFile(_0x37e475):{};for(const [_0x574df0,_0x56881a]of Object[_0x91df12(0x1a9)](_0x4558cb)){!(_0x574df0 in _0x2ca1e9)&&(_0x2ca1e9[_0x574df0]=_0x56881a);}writeConfigFile(_0x37e475,_0x2ca1e9);const _0xc78b2e=_0x335563[_0x91df12(0x18c)]+_0x91df12(0x17a);return renameSync(_0x335563[_0x91df12(0x18c)],_0xc78b2e),{'step':0x1,'label':'Config\x20migration','ok':!![],'detail':_0x335563['oldPath']+_0x91df12(0x187)+_0x37e475+_0x91df12(0x144)+_0xc78b2e+')'};}function execRemoveOldArtifacts(_0x25c2e7){const _0x45f2c4=a162_0x29d5e7,_0x3ff4d9=[];for(const _0x20caf6 of _0x25c2e7){try{if(!existsSync(_0x20caf6))continue;const _0x232e91=tryStat(_0x20caf6);_0x232e91?.[_0x45f2c4(0x175)]()?rmSync(_0x20caf6,{'recursive':!![],'force':!![]}):unlinkSync(_0x20caf6);}catch(_0x34b60e){_0x3ff4d9[_0x45f2c4(0x165)](_0x20caf6+':\x20'+_0x34b60e[_0x45f2c4(0x170)]);}}return{'step':0x3,'label':_0x45f2c4(0x146),'ok':_0x3ff4d9[_0x45f2c4(0x15b)]===0x0,'detail':_0x3ff4d9['length']>0x0?_0x25c2e7[_0x45f2c4(0x15b)]-_0x3ff4d9[_0x45f2c4(0x15b)]+'/'+_0x25c2e7[_0x45f2c4(0x15b)]+_0x45f2c4(0x1b1)+_0x3ff4d9[_0x45f2c4(0x16b)](';\x20')+')':_0x25c2e7[_0x45f2c4(0x15b)]+_0x45f2c4(0x193)};}function a162_0x5b26(_0x47232e,_0x36d29c){_0x47232e=_0x47232e-0x13f;const _0x207c9d=a162_0x207c();let _0x5b2605=_0x207c9d[_0x47232e];return _0x5b2605;}function execCleanMcp(_0xaf181d){const _0x4c69eb=a162_0x29d5e7;if(!_0xaf181d[_0x4c69eb(0x1a3)])return{'step':0x4,'label':_0x4c69eb(0x191),'ok':!![],'detail':_0x4c69eb(0x1b3)};try{const _0x17bdc6=readFileSync(_0xaf181d[_0x4c69eb(0x1a3)][_0x4c69eb(0x19e)],_0x4c69eb(0x145)),_0x1029dc=JSON[_0x4c69eb(0x17e)](_0x17bdc6);if(_0x1029dc?.[_0x4c69eb(0x169)]&&typeof _0x1029dc[_0x4c69eb(0x169)]===_0x4c69eb(0x155)){const _0x5add79=[];for(const [_0x365362,_0x231142]of Object['entries'](_0x1029dc[_0x4c69eb(0x169)])){_0x231142?.[_0x4c69eb(0x1b7)]&&Array['isArray'](_0x231142[_0x4c69eb(0x1b7)])&&_0x231142['args'][_0x4c69eb(0x186)](_0x221774=>typeof _0x221774===_0x4c69eb(0x192)&&_0x221774['includes'](_0x4c69eb(0x188)))&&_0x5add79[_0x4c69eb(0x165)](_0x365362);}for(const _0x9d16b2 of _0x5add79){delete _0x1029dc[_0x4c69eb(0x169)][_0x9d16b2];}return _0x5add79[_0x4c69eb(0x15b)]>0x0&&writeFileSync(_0xaf181d[_0x4c69eb(0x1a3)][_0x4c69eb(0x19e)],JSON[_0x4c69eb(0x14c)](_0x1029dc,null,0x2)+'\x0a',_0x4c69eb(0x145)),{'step':0x4,'label':_0x4c69eb(0x191),'ok':!![],'detail':'removed\x20'+_0x5add79[_0x4c69eb(0x16b)](',\x20')+_0x4c69eb(0x157)+_0xaf181d[_0x4c69eb(0x1a3)][_0x4c69eb(0x19e)]};}return{'step':0x4,'label':'Clean\x20MCP\x20config','ok':!![],'detail':_0x4c69eb(0x16f)};}catch(_0x24bbe2){return{'step':0x4,'label':'Clean\x20MCP\x20config','ok':![],'detail':_0x24bbe2[_0x4c69eb(0x170)]};}}function execSkillsRemove(_0x540b7a,_0x44906e){const _0x42c46f=a162_0x29d5e7,_0x8cb3d2=runNpxSkillsRemove(_0x540b7a,{'stdio':_0x42c46f(0x1ab),'yes':_0x44906e});return{'step':0x5,'label':_0x42c46f(0x1b6),'ok':_0x8cb3d2['ok'],'detail':_0x8cb3d2['ok']?'lovrabet/lovrabet-skill\x20removed':_0x8cb3d2[_0x42c46f(0x16a)]??_0x42c46f(0x158)+_0x8cb3d2[_0x42c46f(0x1b4)]};}function execSkillsAdd(_0xd12536,_0x1d7cc6){const _0x42542a=a162_0x29d5e7,_0x115d12=runNpxSkillsAddGlobal(_0xd12536,_0x42542a(0x184),{'stdio':_0x42542a(0x1ab),'yes':_0x1d7cc6});return{'step':0x6,'label':_0x42542a(0x18e),'ok':_0x115d12['ok'],'detail':_0x115d12['ok']?'lovrabet/rabetbase\x20installed\x20globally':_0x115d12['error']??_0x42542a(0x158)+_0x115d12[_0x42542a(0x1b4)]};}function execUpgradeSdk(_0x493ebf){const _0x3b90fd=a162_0x29d5e7;if(!_0x493ebf[_0x3b90fd(0x143)])return{'step':0x7,'label':_0x3b90fd(0x1b0),'ok':!![],'detail':_0x3b90fd(0x1a7)};const {pkgPath:_0x45eca9,currentVersion:_0x319ac8,field:_0x4d71a5}=_0x493ebf[_0x3b90fd(0x143)];try{const _0x14cb9a=readFileSync(_0x45eca9,_0x3b90fd(0x145)),_0x1624d9=JSON[_0x3b90fd(0x17e)](_0x14cb9a);return _0x1624d9[_0x4d71a5][_0x3b90fd(0x17f)]=_0x3b90fd(0x15c),writeFileSync(_0x45eca9,JSON[_0x3b90fd(0x14c)](_0x1624d9,null,0x2)+'\x0a',_0x3b90fd(0x145)),{'step':0x7,'label':_0x3b90fd(0x1b0),'ok':!![],'detail':_0x4d71a5+_0x3b90fd(0x16c)+_0x319ac8+_0x3b90fd(0x14b)};}catch(_0x52fa64){return{'step':0x7,'label':_0x3b90fd(0x1b0),'ok':![],'detail':_0x52fa64[_0x3b90fd(0x170)]};}}function tryStat(_0x8b7bc8){try{return statSync(_0x8b7bc8);}catch{return undefined;}}function printSummary(_0x2dc181){const _0x50ff93=a162_0x29d5e7;console[_0x50ff93(0x1a5)](''),console[_0x50ff93(0x1a5)](a162_0x247129[_0x50ff93(0x1ac)](_0x50ff93(0x179))),console[_0x50ff93(0x1a5)]('');for(const _0x46eeb9 of _0x2dc181){const _0x46d837=_0x46eeb9['ok']?a162_0x247129[_0x50ff93(0x17c)]('OK'):a162_0x247129[_0x50ff93(0x181)](_0x50ff93(0x16e));console['log']('\x20\x20'+_0x46d837+_0x50ff93(0x1ae)+_0x46eeb9[_0x50ff93(0x19f)]+':\x20'+_0x46eeb9[_0x50ff93(0x160)]);if(_0x46eeb9[_0x50ff93(0x183)])console[_0x50ff93(0x1a5)](_0x50ff93(0x161)+a162_0x247129[_0x50ff93(0x156)](_0x46eeb9[_0x50ff93(0x183)]));}console['log']('');}export async function upgradeApp(_0x2550e3,_0x5ba06c){const _0x1ff033=a162_0x29d5e7,_0x2fbf39=process[_0x1ff033(0x173)](),_0x268536=analyse(_0x2fbf39),_0x1b9ff2=!_0x268536['configMigration']&&_0x268536[_0x1ff033(0x150)]['length']===0x0&&!_0x268536[_0x1ff033(0x1a3)]&&!_0x268536[_0x1ff033(0x198)]&&!_0x268536[_0x1ff033(0x143)];if(_0x1b9ff2){console[_0x1ff033(0x1a5)](a162_0x247129['green']('No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.'));return;}printReport(_0x268536);const _0x4e2ccc=!!(_0x5ba06c[_0x1ff033(0x168)]||_0x5ba06c['Y']||_0x2550e3);if(!_0x4e2ccc)try{const _0x232791=await askConfirm(_0x1ff033(0x1bb));if(!_0x232791){console[_0x1ff033(0x1a5)](a162_0x247129[_0x1ff033(0x156)](_0x1ff033(0x149)));return;}}catch(_0x1b9410){if(_0x1b9410?.[_0x1ff033(0x170)]===_0x1ff033(0x1ba)){console[_0x1ff033(0x1a5)](a162_0x247129[_0x1ff033(0x156)](_0x1ff033(0x149)));return;}throw _0x1b9410;}const _0x1fe1a3=[],_0x37fca7=a162_0x4de76({'text':_0x1ff033(0x1a4),'color':'cyan'})['start'](),_0x45c76=execConfigMigration(_0x268536,_0x2fbf39);_0x1fe1a3['push'](_0x45c76),_0x37fca7[_0x45c76['ok']?_0x1ff033(0x15e):_0x1ff033(0x1b2)](_0x1ff033(0x1b8)+(_0x45c76['detail']??(_0x45c76['ok']?_0x1ff033(0x151):_0x1ff033(0x1a8))));const _0x14361e=resolve(_0x2fbf39,_0x1ff033(0x1b9)),_0x3c9054=a162_0x4de76({'text':'Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','color':_0x1ff033(0x178)})[_0x1ff033(0x17b)]();if(existsSync(_0x14361e))try{rmSync(_0x14361e,{'recursive':!![],'force':!![]}),_0x3c9054[_0x1ff033(0x15e)]('Step\x202/7:\x20.lovrabet/\x20directory\x20removed'),_0x1fe1a3['push']({'step':0x2,'label':_0x1ff033(0x154),'ok':!![]});}catch(_0x19c8b1){_0x3c9054[_0x1ff033(0x1b2)](_0x1ff033(0x14f)+_0x19c8b1[_0x1ff033(0x170)]),_0x1fe1a3[_0x1ff033(0x165)]({'step':0x2,'label':'Remove\x20.lovrabet/','ok':![],'detail':_0x19c8b1[_0x1ff033(0x170)]});}else _0x3c9054[_0x1ff033(0x148)](_0x1ff033(0x19a)),_0x1fe1a3[_0x1ff033(0x165)]({'step':0x2,'label':_0x1ff033(0x154),'ok':!![],'detail':'skipped'});const _0x1ec0a8=a162_0x4de76({'text':'Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','color':_0x1ff033(0x178)})['start'](),_0x17a810=execRemoveOldArtifacts(_0x268536[_0x1ff033(0x150)]);_0x1fe1a3[_0x1ff033(0x165)](_0x17a810),_0x1ec0a8[_0x17a810['ok']?_0x1ff033(0x15e):_0x1ff033(0x1b2)](_0x1ff033(0x1bc)+(_0x17a810[_0x1ff033(0x183)]??(_0x17a810['ok']?'done':_0x1ff033(0x1a8))));const _0x3b77fb=a162_0x4de76({'text':_0x1ff033(0x17d),'color':_0x1ff033(0x178)})[_0x1ff033(0x17b)](),_0x1f8a98=execCleanMcp(_0x268536);_0x1fe1a3[_0x1ff033(0x165)](_0x1f8a98),_0x3b77fb[_0x1f8a98['ok']?_0x1ff033(0x15e):'fail']('Step\x204/7:\x20MCP\x20config\x20—\x20'+(_0x1f8a98[_0x1ff033(0x183)]??(_0x1f8a98['ok']?_0x1ff033(0x151):_0x1ff033(0x1a8))));const _0x3a1917=a162_0x4de76({'text':_0x1ff033(0x1aa),'color':_0x1ff033(0x178)})[_0x1ff033(0x17b)](),_0x4b5d93=execSkillsRemove(_0x2fbf39,_0x4e2ccc);_0x1fe1a3['push'](_0x4b5d93),_0x3a1917[_0x4b5d93['ok']?_0x1ff033(0x15e):'fail']('Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20'+(_0x4b5d93['detail']??(_0x4b5d93['ok']?_0x1ff033(0x151):_0x1ff033(0x1a8))));const _0x16ccd4=a162_0x4de76({'text':_0x1ff033(0x1a6),'color':'cyan'})[_0x1ff033(0x17b)](),_0x131567=execSkillsAdd(_0x2fbf39,_0x4e2ccc);_0x1fe1a3[_0x1ff033(0x165)](_0x131567),_0x16ccd4[_0x131567['ok']?_0x1ff033(0x15e):_0x1ff033(0x1b2)]('Step\x206/7:\x20Install\x20new\x20skill\x20—\x20'+(_0x131567[_0x1ff033(0x183)]??(_0x131567['ok']?_0x1ff033(0x151):_0x1ff033(0x1a8))));const _0x46a452=a162_0x4de76({'text':'Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','color':_0x1ff033(0x178)})['start'](),_0x26147d=execUpgradeSdk(_0x268536);_0x1fe1a3[_0x1ff033(0x165)](_0x26147d),_0x46a452[_0x26147d['ok']?'succeed':_0x1ff033(0x1b2)]('Step\x207/7:\x20@lovrabet/sdk\x20—\x20'+(_0x26147d[_0x1ff033(0x183)]??(_0x26147d['ok']?_0x1ff033(0x151):_0x1ff033(0x1a8)))),printSummary(_0x1fe1a3);const _0xd325ad=_0x1fe1a3[_0x1ff033(0x186)](_0x56057d=>!_0x56057d['ok']);_0xd325ad?console[_0x1ff033(0x1a5)](a162_0x247129[_0x1ff033(0x189)](_0x1ff033(0x15f))):console[_0x1ff033(0x1a5)](a162_0x247129['green'](_0x1ff033(0x190))),_0x26147d['ok']&&_0x268536[_0x1ff033(0x143)]&&(console[_0x1ff033(0x1a5)](''),console[_0x1ff033(0x1a5)](a162_0x247129[_0x1ff033(0x1ac)][_0x1ff033(0x178)](_0x1ff033(0x15d))),console['log'](a162_0x247129[_0x1ff033(0x178)](_0x1ff033(0x14a))),console[_0x1ff033(0x1a5)](''),console[_0x1ff033(0x1a5)](a162_0x247129[_0x1ff033(0x16d)](_0x1ff033(0x172))),console['log'](a162_0x247129['white'](_0x1ff033(0x141))),console[_0x1ff033(0x1a5)](a162_0x247129[_0x1ff033(0x16d)](_0x1ff033(0x159))),console[_0x1ff033(0x1a5)](''));}function a162_0x207c(){const _0x559c4e=['inherit','bold','155495pnpvYa','\x20\x20Step\x20','filter','Upgrade\x20@lovrabet/sdk','\x20removed\x20(','fail','skipped','status','already\x20exists\x20(will\x20merge)','Remove\x20old\x20skill','args','Step\x201/7:\x20Config\x20migration\x20—\x20','.lovrabet','CANCEL','Proceed\x20with\x20upgrade?','Step\x203/7:\x20Legacy\x20artifacts\x20—\x20','16625938IJaQbi','not\x20found\x20or\x20already\x20at\x20latest','\x20\x20#\x20or','devDependencies','sdkUpgrade','\x20(backup:\x20','utf8','Remove\x20legacy\x20artifacts','.claude/skills/lovrabet','info','Upgrade\x20cancelled.','Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','\x20→\x20latest','stringify','341826WPeXxr','dependencies','Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20','oldArtifacts','done','Config\x20file:','\x20→\x20keys:\x20','Remove\x20.lovrabet/','object','gray','\x20from\x20','exit\x20','\x20\x20bun\x20install','FOUND','length','latest','@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.','succeed','Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.','label','\x20\x20\x20\x20\x20\x20\x20','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server','fields','push','not\x20found\x20(will\x20create)','\x20\x20Action:\x20delete','yes','mcpServers','error','join','[\x22@lovrabet/sdk\x22]:\x20','white','FAIL','no\x20matching\x20entry\x20found','message','needed','\x20\x20npm\x20install','cwd','Config\x20migration','isDirectory','1531632GEUpkz','.cursor/mcp.json','cyan','===\x20Upgrade\x20Summary\x20===','.bak','start','green','Step\x204/7:\x20Cleaning\x20MCP\x20config...','parse','@lovrabet/sdk','hasNewConfig','red','1437800yaiOCL','detail','lovrabet/rabetbase','@lovrabet/sdk:','some','\x20→\x20','@lovrabet/dataset-mcp-server','yellow','\x20\x20New\x20config\x20(.rabetbase.json):\x20','keys','oldPath','.cursor/rules/lovrabet_rules.mdc','Install\x20new\x20skill','skipped\x20(no\x20legacy\x20config)','Upgrade\x20completed\x20successfully!','Clean\x20MCP\x20config','string','\x20removed','values','not\x20needed','Legacy\x20artifacts:','4902507xdYHcE','needsSkillSwap','files','Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped','includes','no\x20legacy\x20entry','none\x20found','path','step','MCP\x20config:','isArray','2425180YhvaWW','oldMcpConfig','Step\x201/7:\x20Migrating\x20config...','log','Step\x206/7:\x20Installing\x20new\x20skill...','skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)','failed','entries','Step\x205/7:\x20Removing\x20old\x20skill...'];a162_0x207c=function(){return _0x559c4e;};return a162_0x207c();}
1
+ (function(_0x327969,_0x348e92){const _0x37ed14=a161_0x6f84,_0x4f41ba=_0x327969();while(!![]){try{const _0x3901c4=parseInt(_0x37ed14(0x1fc))/0x1*(-parseInt(_0x37ed14(0x1a2))/0x2)+parseInt(_0x37ed14(0x1ac))/0x3*(parseInt(_0x37ed14(0x1d8))/0x4)+parseInt(_0x37ed14(0x19f))/0x5+parseInt(_0x37ed14(0x1f4))/0x6+parseInt(_0x37ed14(0x213))/0x7+parseInt(_0x37ed14(0x1a1))/0x8*(parseInt(_0x37ed14(0x1f3))/0x9)+parseInt(_0x37ed14(0x1cc))/0xa*(-parseInt(_0x37ed14(0x214))/0xb);if(_0x3901c4===_0x348e92)break;else _0x4f41ba['push'](_0x4f41ba['shift']());}catch(_0x2a1d55){_0x4f41ba['push'](_0x4f41ba['shift']());}}}(a161_0x63d9,0x62ec4));import a161_0xac24f8 from'chalk';import a161_0x4414e5 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';function a161_0x63d9(){const _0x2bdac7=['Step\x203/7:\x20Legacy\x20artifacts\x20—\x20','error','Skill\x20swap:','no\x20legacy\x20config\x20found','\x20\x20Fields\x20to\x20migrate:\x20','fail','message','[\x22@lovrabet/sdk\x22]:\x20','\x20\x20npm\x20install','Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','object','\x20\x20Step\x20','oldMcpConfig','\x20→\x20latest','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','inherit','none\x20found','\x20→\x20','stringify','undefined','skipped','files','1067101EGRswu','99hdFKsD','Config\x20migration','\x20\x20\x20\x20\x20\x20\x20','Step\x202/7:\x20.lovrabet/\x20directory\x20removed','Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','3073180GkaKzI','succeed','904ZWjeQp','182sdYnQO','Legacy\x20artifacts:','done','FAIL','white','.bak','skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)','Remove\x20.lovrabet/','Step\x204/7:\x20MCP\x20config\x20—\x20','string','57927HYUSnO','latest','Step\x205/7:\x20Removing\x20old\x20skill...','sdkUpgrade','Upgrade\x20cancelled.','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','Step\x201/7:\x20Migrating\x20config...','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','oldPath','Clean\x20MCP\x20config','devDependencies','isArray','start','path','length','log','Remove\x20old\x20skill','no\x20legacy\x20entry','keys','\x20\x20#\x20or','Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped','failed','no\x20matching\x20entry\x20found','bold','dependencies','needed','\x20\x20New\x20config\x20(.rabetbase.json):\x20','\x20removed','Upgrade\x20@lovrabet/sdk','cwd','.cursor/mcp.json','info','432750HceoqJ','utf8','mcpServers','@lovrabet/sdk','\x20removed\x20(','MCP\x20config:','FOUND','detail','already\x20exists\x20(will\x20merge)','args','needsSkillSwap','gray','4iBTxzH','entries','fields','Step\x207/7:\x20@lovrabet/sdk\x20—\x20','CANCEL','label','not\x20needed','cyan','Step\x206/7:\x20Installing\x20new\x20skill...','Config\x20file:','\x20→\x20keys:\x20','join','parse','oldArtifacts','\x20\x20bun\x20install','red','@lovrabet/dataset-mcp-server','.lovrabet','push','step','\x20\x20Current\x20version\x20in\x20','exit\x20','yellow','green','hasNewConfig','includes','@lovrabet/sdk:','15885GIeCkw','3510906dvUiTr','isDirectory','\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`','Install\x20new\x20skill','\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak','Upgrade\x20completed\x20successfully!','Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','.claude/skills/lovrabet','8531moyqcw'];a161_0x63d9=function(){return _0x2bdac7;};return a161_0x63d9();}import{askConfirm}from'../../commands/menu/shared/inquirer.js';const LEGACY_CONFIG_NAMES=CONFIG_NAMES['filter'](_0x399470=>_0x399470!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x6fd3d){const _0x11977d=a161_0x6f84,_0x3a0e7d=[];for(const _0x49d0b6 of Object['values'](CORE_IDE_CONFIGS)){if(_0x49d0b6[_0x11977d(0x212)])for(const _0x53049a of _0x49d0b6[_0x11977d(0x212)]){_0x3a0e7d['push'](resolve(_0x6fd3d,_0x53049a[_0x11977d(0x1b9)]));}}return _0x3a0e7d;}function analyse(_0x2f659b){const _0x2616f0=a161_0x6f84;let _0x14dae3=null;const _0x2b0a96=resolve(_0x2f659b,NEW_CONFIG_NAME),_0x4072ab=existsSync(_0x2b0a96);for(const _0x492f4a of LEGACY_CONFIG_NAMES){const _0x591c19=resolve(_0x2f659b,_0x492f4a);if(existsSync(_0x591c19)){const _0x566155=readConfigFile(_0x591c19),_0x53b97e=Object[_0x2616f0(0x1be)](_0x566155)['filter'](_0x4b5bb0=>typeof _0x566155[_0x4b5bb0]!==_0x2616f0(0x210));_0x14dae3={'oldPath':_0x591c19,'hasNewConfig':_0x4072ab,'fields':_0x53b97e};break;}}const _0x54b026=[],_0x2f397c=resolve(_0x2f659b,_0x2616f0(0x1e9));if(existsSync(_0x2f397c))_0x54b026[_0x2616f0(0x1ea)](_0x2f397c);const _0x4b368f=resolve(_0x2f659b,'.cursor/rules/lovrabet_rules.mdc');if(existsSync(_0x4b368f))_0x54b026['push'](_0x4b368f);const _0x16cdac=resolve(_0x2f659b,_0x2616f0(0x1fb));if(existsSync(_0x16cdac))_0x54b026[_0x2616f0(0x1ea)](_0x16cdac);for(const _0x434fbb of collectIdeSkillFiles(_0x2f659b)){if(existsSync(_0x434fbb))_0x54b026['push'](_0x434fbb);}let _0x29fba9=null;const _0x369cb8=resolve(_0x2f659b,_0x2616f0(0x1ca));if(existsSync(_0x369cb8))try{const _0x8cd2a5=JSON[_0x2616f0(0x1e4)](readFileSync(_0x369cb8,'utf8'));if(_0x8cd2a5?.[_0x2616f0(0x1ce)]&&typeof _0x8cd2a5[_0x2616f0(0x1ce)]===_0x2616f0(0x207)){const _0x12d27b=[];for(const [_0x5702a2,_0x20c003]of Object[_0x2616f0(0x1d9)](_0x8cd2a5[_0x2616f0(0x1ce)])){const _0x29fde1=_0x20c003;_0x29fde1?.[_0x2616f0(0x1d5)]&&Array[_0x2616f0(0x1b7)](_0x29fde1[_0x2616f0(0x1d5)])&&_0x29fde1[_0x2616f0(0x1d5)]['some'](_0x266f26=>typeof _0x266f26===_0x2616f0(0x1ab)&&_0x266f26[_0x2616f0(0x1f1)](_0x2616f0(0x1e8)))&&_0x12d27b[_0x2616f0(0x1ea)](_0x5702a2);}_0x12d27b['length']>0x0&&(_0x29fba9={'path':_0x369cb8,'keys':_0x12d27b});}}catch{}const _0x72d114=_0x54b026[_0x2616f0(0x1ba)]>0x0||_0x14dae3!==null;let _0x1373a8=null;const _0x40cbd9=resolve(_0x2f659b,'package.json');if(existsSync(_0x40cbd9))try{const _0x4c0111=JSON[_0x2616f0(0x1e4)](readFileSync(_0x40cbd9,_0x2616f0(0x1cd)));for(const _0x200c3c of[_0x2616f0(0x1c4),_0x2616f0(0x1b6)]){const _0x3940b0=_0x4c0111?.[_0x200c3c]?.[_0x2616f0(0x1cf)];if(typeof _0x3940b0===_0x2616f0(0x1ab)){_0x3940b0!==_0x2616f0(0x1ad)&&(_0x1373a8={'pkgPath':_0x40cbd9,'currentVersion':_0x3940b0,'field':_0x200c3c});break;}}}catch{}return{'configMigration':_0x14dae3,'oldArtifacts':_0x54b026,'oldMcpConfig':_0x29fba9,'needsSkillSwap':_0x72d114,'sdkUpgrade':_0x1373a8};}function printReport(_0x3a1294){const _0x268fed=a161_0x6f84,{configMigration:_0x5489ee,oldArtifacts:_0x548d0b,oldMcpConfig:_0x205023,needsSkillSwap:_0x245ed5}=_0x3a1294;console[_0x268fed(0x1bb)](''),console['log'](a161_0xac24f8[_0x268fed(0x1c3)]('===\x20Upgrade\x20Analysis\x20===')),console[_0x268fed(0x1bb)]('');_0x5489ee?(console[_0x268fed(0x1bb)](a161_0xac24f8[_0x268fed(0x1df)](_0x268fed(0x1e1))+('\x20\x20'+a161_0xac24f8[_0x268fed(0x1ee)](_0x5489ee['oldPath']))),console['log'](_0x268fed(0x1c6)+(_0x5489ee['hasNewConfig']?a161_0xac24f8[_0x268fed(0x1ef)](_0x268fed(0x1d4)):a161_0xac24f8[_0x268fed(0x1d7)]('not\x20found\x20(will\x20create)'))),console[_0x268fed(0x1bb)](_0x268fed(0x201)+_0x5489ee[_0x268fed(0x1da)][_0x268fed(0x1e3)](',\x20')),console[_0x268fed(0x1bb)](_0x268fed(0x1f8))):console['log'](a161_0xac24f8[_0x268fed(0x1df)]('Config\x20file:')+'\x20\x20'+a161_0xac24f8[_0x268fed(0x1d7)](_0x268fed(0x200)));console[_0x268fed(0x1bb)]('');if(_0x548d0b[_0x268fed(0x1ba)]>0x0){console[_0x268fed(0x1bb)](a161_0xac24f8[_0x268fed(0x1df)]('Legacy\x20artifacts:'));for(const _0x1060a7 of _0x548d0b){console['log']('\x20\x20'+a161_0xac24f8['red'](_0x268fed(0x1d2))+'\x20\x20'+_0x1060a7);}console[_0x268fed(0x1bb)]('\x20\x20Action:\x20delete');}else console['log'](a161_0xac24f8[_0x268fed(0x1df)](_0x268fed(0x1a3))+'\x20\x20'+a161_0xac24f8['gray'](_0x268fed(0x20d)));console['log']('');_0x205023?(console['log'](a161_0xac24f8[_0x268fed(0x1df)](_0x268fed(0x1d1))+('\x20\x20'+a161_0xac24f8[_0x268fed(0x1ee)](_0x205023[_0x268fed(0x1b9)])+_0x268fed(0x1e2)+_0x205023[_0x268fed(0x1be)][_0x268fed(0x1e3)](',\x20'))),console['log']('\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server')):console[_0x268fed(0x1bb)](a161_0xac24f8['cyan'](_0x268fed(0x1d1))+'\x20\x20'+a161_0xac24f8[_0x268fed(0x1d7)](_0x268fed(0x1bd)));console[_0x268fed(0x1bb)](''),console[_0x268fed(0x1bb)](a161_0xac24f8[_0x268fed(0x1df)](_0x268fed(0x1ff))+('\x20\x20'+(_0x245ed5?a161_0xac24f8['yellow'](_0x268fed(0x1c5)):a161_0xac24f8[_0x268fed(0x1ef)](_0x268fed(0x1de)))));_0x245ed5&&console['log'](_0x268fed(0x1f6)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console[_0x268fed(0x1bb)]('');if(_0x3a1294[_0x268fed(0x1af)]){const {currentVersion:_0x20fabc,field:_0x48fa5f,pkgPath:_0x166cea}=_0x3a1294[_0x268fed(0x1af)];console[_0x268fed(0x1bb)](a161_0xac24f8[_0x268fed(0x1df)](_0x268fed(0x1f2))+('\x20\x20'+a161_0xac24f8[_0x268fed(0x1ee)](_0x166cea))),console['log'](_0x268fed(0x1ec)+_0x48fa5f+':\x20'+a161_0xac24f8['yellow'](_0x20fabc)+_0x268fed(0x20e)+a161_0xac24f8[_0x268fed(0x1ef)](_0x268fed(0x1ad))),console[_0x268fed(0x1bb)](_0x268fed(0x1b1));}else console[_0x268fed(0x1bb)](a161_0xac24f8[_0x268fed(0x1df)](_0x268fed(0x1f2))+'\x20\x20'+a161_0xac24f8['gray']('not\x20found\x20or\x20already\x20at\x20latest'));console[_0x268fed(0x1bb)]('');}function execConfigMigration(_0x57f886,_0x441c2d){const _0x5418d2=a161_0x6f84,{configMigration:_0x121b7d}=_0x57f886;if(!_0x121b7d?.[_0x5418d2(0x1b4)])return{'step':0x1,'label':_0x5418d2(0x215),'ok':!![],'detail':'skipped\x20(no\x20legacy\x20config)'};const _0xbdf590=readConfigFile(_0x121b7d['oldPath']),_0x19d9b9=resolve(_0x441c2d,NEW_CONFIG_NAME),_0x87be9b=_0x121b7d[_0x5418d2(0x1f0)]?readConfigFile(_0x19d9b9):{};for(const [_0x453681,_0x218fd4]of Object[_0x5418d2(0x1d9)](_0xbdf590)){!(_0x453681 in _0x87be9b)&&(_0x87be9b[_0x453681]=_0x218fd4);}writeConfigFile(_0x19d9b9,_0x87be9b);const _0x1830b7=_0x121b7d[_0x5418d2(0x1b4)]+_0x5418d2(0x1a7);return renameSync(_0x121b7d[_0x5418d2(0x1b4)],_0x1830b7),{'step':0x1,'label':_0x5418d2(0x215),'ok':!![],'detail':_0x121b7d[_0x5418d2(0x1b4)]+_0x5418d2(0x20e)+_0x19d9b9+'\x20(backup:\x20'+_0x1830b7+')'};}function execRemoveOldArtifacts(_0x3cf023){const _0x2aa4e2=a161_0x6f84,_0x4ae6ca=[];for(const _0x2e2a37 of _0x3cf023){try{if(!existsSync(_0x2e2a37))continue;const _0x341541=tryStat(_0x2e2a37);_0x341541?.[_0x2aa4e2(0x1f5)]()?rmSync(_0x2e2a37,{'recursive':!![],'force':!![]}):unlinkSync(_0x2e2a37);}catch(_0xb31ca){_0x4ae6ca[_0x2aa4e2(0x1ea)](_0x2e2a37+':\x20'+_0xb31ca[_0x2aa4e2(0x203)]);}}return{'step':0x3,'label':'Remove\x20legacy\x20artifacts','ok':_0x4ae6ca['length']===0x0,'detail':_0x4ae6ca['length']>0x0?_0x3cf023[_0x2aa4e2(0x1ba)]-_0x4ae6ca[_0x2aa4e2(0x1ba)]+'/'+_0x3cf023[_0x2aa4e2(0x1ba)]+_0x2aa4e2(0x1d0)+_0x4ae6ca[_0x2aa4e2(0x1e3)](';\x20')+')':_0x3cf023[_0x2aa4e2(0x1ba)]+_0x2aa4e2(0x1c7)};}function execCleanMcp(_0xa2bc24){const _0x5b61df=a161_0x6f84;if(!_0xa2bc24[_0x5b61df(0x209)])return{'step':0x4,'label':'Clean\x20MCP\x20config','ok':!![],'detail':_0x5b61df(0x211)};try{const _0x55a701=readFileSync(_0xa2bc24['oldMcpConfig'][_0x5b61df(0x1b9)],_0x5b61df(0x1cd)),_0x165786=JSON['parse'](_0x55a701);if(_0x165786?.[_0x5b61df(0x1ce)]&&typeof _0x165786['mcpServers']==='object'){const _0x10df5d=[];for(const [_0x480036,_0x4af82e]of Object[_0x5b61df(0x1d9)](_0x165786['mcpServers'])){_0x4af82e?.['args']&&Array[_0x5b61df(0x1b7)](_0x4af82e[_0x5b61df(0x1d5)])&&_0x4af82e['args']['some'](_0x55608c=>typeof _0x55608c===_0x5b61df(0x1ab)&&_0x55608c[_0x5b61df(0x1f1)](_0x5b61df(0x1e8)))&&_0x10df5d[_0x5b61df(0x1ea)](_0x480036);}for(const _0x37f5da of _0x10df5d){delete _0x165786[_0x5b61df(0x1ce)][_0x37f5da];}return _0x10df5d[_0x5b61df(0x1ba)]>0x0&&writeFileSync(_0xa2bc24[_0x5b61df(0x209)]['path'],JSON[_0x5b61df(0x20f)](_0x165786,null,0x2)+'\x0a','utf8'),{'step':0x4,'label':'Clean\x20MCP\x20config','ok':!![],'detail':'removed\x20'+_0x10df5d[_0x5b61df(0x1e3)](',\x20')+'\x20from\x20'+_0xa2bc24[_0x5b61df(0x209)][_0x5b61df(0x1b9)]};}return{'step':0x4,'label':_0x5b61df(0x1b5),'ok':!![],'detail':_0x5b61df(0x1c2)};}catch(_0x3239f6){return{'step':0x4,'label':_0x5b61df(0x1b5),'ok':![],'detail':_0x3239f6['message']};}}function execSkillsRemove(_0x45698a,_0x2aff06){const _0xe0e751=a161_0x6f84,_0x4c719a=runNpxSkillsRemove(_0x45698a,{'stdio':_0xe0e751(0x20c),'yes':_0x2aff06});return{'step':0x5,'label':_0xe0e751(0x1bc),'ok':_0x4c719a['ok'],'detail':_0x4c719a['ok']?'lovrabet/lovrabet-skill\x20removed':_0x4c719a[_0xe0e751(0x1fe)]??'exit\x20'+_0x4c719a['status']};}function execSkillsAdd(_0x6ecbb0,_0xb247c9){const _0x5c6f14=a161_0x6f84,_0x15eb84=runNpxSkillsAddGlobal(_0x6ecbb0,'lovrabet/rabetbase',{'stdio':'inherit','yes':_0xb247c9});return{'step':0x6,'label':_0x5c6f14(0x1f7),'ok':_0x15eb84['ok'],'detail':_0x15eb84['ok']?'lovrabet/rabetbase\x20installed\x20globally':_0x15eb84[_0x5c6f14(0x1fe)]??_0x5c6f14(0x1ed)+_0x15eb84['status']};}function execUpgradeSdk(_0x201085){const _0x40ab95=a161_0x6f84;if(!_0x201085['sdkUpgrade'])return{'step':0x7,'label':_0x40ab95(0x1c8),'ok':!![],'detail':_0x40ab95(0x1a8)};const {pkgPath:_0x9302fd,currentVersion:_0x137124,field:_0x2c76a5}=_0x201085[_0x40ab95(0x1af)];try{const _0x5758f8=readFileSync(_0x9302fd,_0x40ab95(0x1cd)),_0x362d3b=JSON['parse'](_0x5758f8);return _0x362d3b[_0x2c76a5][_0x40ab95(0x1cf)]=_0x40ab95(0x1ad),writeFileSync(_0x9302fd,JSON[_0x40ab95(0x20f)](_0x362d3b,null,0x2)+'\x0a',_0x40ab95(0x1cd)),{'step':0x7,'label':_0x40ab95(0x1c8),'ok':!![],'detail':_0x2c76a5+_0x40ab95(0x204)+_0x137124+_0x40ab95(0x20a)};}catch(_0x462642){return{'step':0x7,'label':_0x40ab95(0x1c8),'ok':![],'detail':_0x462642[_0x40ab95(0x203)]};}}function tryStat(_0x17d977){try{return statSync(_0x17d977);}catch{return undefined;}}function printSummary(_0x383683){const _0x1ad0db=a161_0x6f84;console[_0x1ad0db(0x1bb)](''),console[_0x1ad0db(0x1bb)](a161_0xac24f8[_0x1ad0db(0x1c3)]('===\x20Upgrade\x20Summary\x20===')),console[_0x1ad0db(0x1bb)]('');for(const _0x5c0c88 of _0x383683){const _0x3aa382=_0x5c0c88['ok']?a161_0xac24f8[_0x1ad0db(0x1ef)]('OK'):a161_0xac24f8[_0x1ad0db(0x1e7)](_0x1ad0db(0x1a5));console[_0x1ad0db(0x1bb)]('\x20\x20'+_0x3aa382+_0x1ad0db(0x208)+_0x5c0c88[_0x1ad0db(0x1eb)]+':\x20'+_0x5c0c88[_0x1ad0db(0x1dd)]);if(_0x5c0c88[_0x1ad0db(0x1d3)])console[_0x1ad0db(0x1bb)](_0x1ad0db(0x216)+a161_0xac24f8[_0x1ad0db(0x1d7)](_0x5c0c88[_0x1ad0db(0x1d3)]));}console[_0x1ad0db(0x1bb)]('');}function a161_0x6f84(_0x2cc931,_0x50da2b){_0x2cc931=_0x2cc931-0x19e;const _0x63d9b3=a161_0x63d9();let _0x6f84c6=_0x63d9b3[_0x2cc931];return _0x6f84c6;}export async function upgradeApp(_0x1b5e7b,_0x429971){const _0x191de4=a161_0x6f84,_0x31d328=process[_0x191de4(0x1c9)](),_0x3d9aad=analyse(_0x31d328),_0xd6fa22=!_0x3d9aad['configMigration']&&_0x3d9aad['oldArtifacts']['length']===0x0&&!_0x3d9aad['oldMcpConfig']&&!_0x3d9aad[_0x191de4(0x1d6)]&&!_0x3d9aad[_0x191de4(0x1af)];if(_0xd6fa22){console[_0x191de4(0x1bb)](a161_0xac24f8[_0x191de4(0x1ef)]('No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.'));return;}printReport(_0x3d9aad);const _0xde892=!!(_0x429971['yes']||_0x429971['Y']||_0x1b5e7b);if(!_0xde892)try{const _0xcf552a=await askConfirm('Proceed\x20with\x20upgrade?');if(!_0xcf552a){console[_0x191de4(0x1bb)](a161_0xac24f8[_0x191de4(0x1d7)]('Upgrade\x20cancelled.'));return;}}catch(_0x55f1ab){if(_0x55f1ab?.['message']===_0x191de4(0x1dc)){console['log'](a161_0xac24f8[_0x191de4(0x1d7)](_0x191de4(0x1b0)));return;}throw _0x55f1ab;}const _0xdce02=[],_0x13d885=a161_0x4414e5({'text':_0x191de4(0x1b2),'color':_0x191de4(0x1df)})[_0x191de4(0x1b8)](),_0x5b4c79=execConfigMigration(_0x3d9aad,_0x31d328);_0xdce02['push'](_0x5b4c79),_0x13d885[_0x5b4c79['ok']?_0x191de4(0x1a0):_0x191de4(0x202)]('Step\x201/7:\x20Config\x20migration\x20—\x20'+(_0x5b4c79[_0x191de4(0x1d3)]??(_0x5b4c79['ok']?_0x191de4(0x1a4):_0x191de4(0x1c1))));const _0x50af96=resolve(_0x31d328,_0x191de4(0x1e9)),_0x1fd1fc=a161_0x4414e5({'text':_0x191de4(0x206),'color':_0x191de4(0x1df)})[_0x191de4(0x1b8)]();if(existsSync(_0x50af96))try{rmSync(_0x50af96,{'recursive':!![],'force':!![]}),_0x1fd1fc[_0x191de4(0x1a0)](_0x191de4(0x217)),_0xdce02[_0x191de4(0x1ea)]({'step':0x2,'label':'Remove\x20.lovrabet/','ok':!![]});}catch(_0x2ea41b){_0x1fd1fc['fail']('Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20'+_0x2ea41b[_0x191de4(0x203)]),_0xdce02[_0x191de4(0x1ea)]({'step':0x2,'label':_0x191de4(0x1a9),'ok':![],'detail':_0x2ea41b[_0x191de4(0x203)]});}else _0x1fd1fc[_0x191de4(0x1cb)](_0x191de4(0x1c0)),_0xdce02[_0x191de4(0x1ea)]({'step':0x2,'label':_0x191de4(0x1a9),'ok':!![],'detail':_0x191de4(0x211)});const _0x240ef7=a161_0x4414e5({'text':_0x191de4(0x1fa),'color':'cyan'})['start'](),_0x3ed434=execRemoveOldArtifacts(_0x3d9aad[_0x191de4(0x1e5)]);_0xdce02[_0x191de4(0x1ea)](_0x3ed434),_0x240ef7[_0x3ed434['ok']?_0x191de4(0x1a0):'fail'](_0x191de4(0x1fd)+(_0x3ed434['detail']??(_0x3ed434['ok']?_0x191de4(0x1a4):'failed')));const _0x5ccefd=a161_0x4414e5({'text':'Step\x204/7:\x20Cleaning\x20MCP\x20config...','color':'cyan'})[_0x191de4(0x1b8)](),_0x416ce2=execCleanMcp(_0x3d9aad);_0xdce02[_0x191de4(0x1ea)](_0x416ce2),_0x5ccefd[_0x416ce2['ok']?_0x191de4(0x1a0):_0x191de4(0x202)](_0x191de4(0x1aa)+(_0x416ce2[_0x191de4(0x1d3)]??(_0x416ce2['ok']?'done':_0x191de4(0x1c1))));const _0x8239d=a161_0x4414e5({'text':_0x191de4(0x1ae),'color':_0x191de4(0x1df)})[_0x191de4(0x1b8)](),_0x3b7391=execSkillsRemove(_0x31d328,_0xde892);_0xdce02[_0x191de4(0x1ea)](_0x3b7391),_0x8239d[_0x3b7391['ok']?_0x191de4(0x1a0):'fail']('Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20'+(_0x3b7391[_0x191de4(0x1d3)]??(_0x3b7391['ok']?_0x191de4(0x1a4):'failed')));const _0xcce3f9=a161_0x4414e5({'text':_0x191de4(0x1e0),'color':'cyan'})[_0x191de4(0x1b8)](),_0x4efae1=execSkillsAdd(_0x31d328,_0xde892);_0xdce02[_0x191de4(0x1ea)](_0x4efae1),_0xcce3f9[_0x4efae1['ok']?_0x191de4(0x1a0):_0x191de4(0x202)](_0x191de4(0x1b3)+(_0x4efae1[_0x191de4(0x1d3)]??(_0x4efae1['ok']?_0x191de4(0x1a4):_0x191de4(0x1c1))));const _0x10dc48=a161_0x4414e5({'text':_0x191de4(0x20b),'color':_0x191de4(0x1df)})[_0x191de4(0x1b8)](),_0x3431d6=execUpgradeSdk(_0x3d9aad);_0xdce02['push'](_0x3431d6),_0x10dc48[_0x3431d6['ok']?_0x191de4(0x1a0):_0x191de4(0x202)](_0x191de4(0x1db)+(_0x3431d6['detail']??(_0x3431d6['ok']?'done':_0x191de4(0x1c1)))),printSummary(_0xdce02);const _0x57e72d=_0xdce02['some'](_0x3736cc=>!_0x3736cc['ok']);_0x57e72d?console[_0x191de4(0x1bb)](a161_0xac24f8[_0x191de4(0x1ee)]('Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.')):console['log'](a161_0xac24f8[_0x191de4(0x1ef)](_0x191de4(0x1f9))),_0x3431d6['ok']&&_0x3d9aad[_0x191de4(0x1af)]&&(console[_0x191de4(0x1bb)](''),console[_0x191de4(0x1bb)](a161_0xac24f8['bold'][_0x191de4(0x1df)]('@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.')),console[_0x191de4(0x1bb)](a161_0xac24f8['cyan'](_0x191de4(0x19e))),console[_0x191de4(0x1bb)](''),console[_0x191de4(0x1bb)](a161_0xac24f8['white'](_0x191de4(0x205))),console['log'](a161_0xac24f8['white'](_0x191de4(0x1bf))),console['log'](a161_0xac24f8[_0x191de4(0x1a6)](_0x191de4(0x1e6))),console[_0x191de4(0x1bb)](''));}
@@ -1 +1 @@
1
- const a163_0x55ad70=a163_0x18a9;(function(_0x3c4da5,_0x523b53){const _0x49a610=a163_0x18a9,_0x2ade83=_0x3c4da5();while(!![]){try{const _0x5e7a6f=-parseInt(_0x49a610(0xea))/0x1*(parseInt(_0x49a610(0xc2))/0x2)+-parseInt(_0x49a610(0xf4))/0x3+-parseInt(_0x49a610(0x102))/0x4*(-parseInt(_0x49a610(0x10b))/0x5)+-parseInt(_0x49a610(0xf3))/0x6*(parseInt(_0x49a610(0xe6))/0x7)+parseInt(_0x49a610(0xba))/0x8+-parseInt(_0x49a610(0xf8))/0x9+parseInt(_0x49a610(0xc8))/0xa;if(_0x5e7a6f===_0x523b53)break;else _0x2ade83['push'](_0x2ade83['shift']());}catch(_0x2a5c57){_0x2ade83['push'](_0x2ade83['shift']());}}}(a163_0x3f2b,0xc2f08));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{tenantDefinitions}from'../commands/tenant/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{kbDefinitions}from'../commands/kb/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{ocrDefinitions}from'../commands/ocr/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';function a163_0x18a9(_0x535643,_0x495aa4){_0x535643=_0x535643-0xb9;const _0x3f2b30=a163_0x3f2b();let _0x18a971=_0x3f2b30[_0x535643];return _0x18a971;}export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();export const serviceGroups=new Map();function registerDefinitions(_0x394457){const _0x5a32db=a163_0x18a9;for(const _0x5da6d7 of _0x394457){definitions[_0x5a32db(0x104)](_0x5da6d7[_0x5a32db(0xe3)]+':'+_0x5da6d7[_0x5a32db(0xd1)],_0x5da6d7);let _0x54f2a8=serviceGroups[_0x5a32db(0xfc)](_0x5da6d7[_0x5a32db(0xe3)]);!_0x54f2a8&&(_0x54f2a8=[],serviceGroups['set'](_0x5da6d7[_0x5a32db(0xe3)],_0x54f2a8)),_0x54f2a8[_0x5a32db(0x10d)](_0x5da6d7);}}function registerDeclarativeService(_0x5e2e54,_0xf7eb6e,_0x2efb69){const _0x88e6ef=a163_0x18a9;registerDefinitions(_0xf7eb6e);_0x2efb69?.['wildcardDef']&&registerDefinitions([_0x2efb69[_0x88e6ef(0xef)]]);const _0x426b48=_0xd8cbd4=>_0xd8cbd4===_0x88e6ef(0xd7)?'':_0xd8cbd4==='write'?_0x88e6ef(0xda):'\x20\x20[high-risk-write]',_0x5db5c1={'service':_0xf7eb6e[0x0][_0x88e6ef(0xe3)],'label':_0x5e2e54,'commands':_0xf7eb6e[_0x88e6ef(0xe0)](_0x1e5e19=>!_0x1e5e19[_0x88e6ef(0x110)])[_0x88e6ef(0x100)](_0x4e67d5=>({'command':_0x4e67d5[_0x88e6ef(0xd1)],'description':_0x4e67d5[_0x88e6ef(0xc0)],'tag':_0x426b48(_0x4e67d5[_0x88e6ef(0xd0)])})),'declarative':!![],'defaultCommand':_0x2efb69?.[_0x88e6ef(0xc3)]??(_0x2efb69?.['isSingleCommand']?_0xf7eb6e[0x0][_0x88e6ef(0xd1)]:undefined),'wildcardDef':_0x2efb69?.['wildcardDef'],'isSingleCommand':_0x2efb69?.[_0x88e6ef(0xfb)]};serviceRegistry[_0x88e6ef(0x10d)](_0x5db5c1),serviceByName[_0x88e6ef(0x104)](_0x5db5c1['service'],_0x5db5c1);}registerDeclarativeService(a163_0x55ad70(0xbd),initDefinitions,{'defaultCommand':a163_0x55ad70(0xff),'isSingleCommand':!![]}),registerDeclarativeService(a163_0x55ad70(0xdc),projectDefinitions),registerDeclarativeService(a163_0x55ad70(0x109),workspaceDefinitions),registerDeclarativeService(a163_0x55ad70(0xd8),appDefinitions),registerDeclarativeService(a163_0x55ad70(0xde),authDefinitions,{'defaultCommand':a163_0x55ad70(0xcd)}),registerDeclarativeService(a163_0x55ad70(0x111),tenantDefinitions),registerDeclarativeService(a163_0x55ad70(0xe4),datasetDefinitions),registerDeclarativeService(a163_0x55ad70(0x106),pageDefinitions),registerDeclarativeService(a163_0x55ad70(0xf1),apiDefinitions),registerDeclarativeService(a163_0x55ad70(0x10e),dataDefinitions),registerDeclarativeService(a163_0x55ad70(0xfe),bffDefinitions),registerDeclarativeService(a163_0x55ad70(0xb9),notificationDefinitions),registerDeclarativeService(a163_0x55ad70(0xee),sqlDefinitions),registerDeclarativeService(a163_0x55ad70(0xc5),dbDefinitions),registerDeclarativeService(a163_0x55ad70(0xed),menuDefinitions),registerDeclarativeService(a163_0x55ad70(0xf6),taskDefinitions),registerDeclarativeService(a163_0x55ad70(0xc7),roleDefinitions),registerDeclarativeService(a163_0x55ad70(0xbe),permitDefinitions),registerDeclarativeService(a163_0x55ad70(0xbf),appConfigDefinitions),registerDeclarativeService(a163_0x55ad70(0xc6),kbDefinitions),registerDeclarativeService(a163_0x55ad70(0x10c),issueDefinitions),registerDeclarativeService(a163_0x55ad70(0x113),fileDefinitions),registerDeclarativeService(a163_0x55ad70(0xbb),ocrDefinitions),registerDeclarativeService('Code\x20Generation',codegenDefinitions),registerDeclarativeService(a163_0x55ad70(0xfa),configDefinitions),registerDeclarativeService(a163_0x55ad70(0xfd),[doctorDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a163_0x55ad70(0xe8),[schemaDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a163_0x55ad70(0xd5),[updateDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a163_0x55ad70(0xcb),cliSkillDefinitions,{'defaultCommand':'install'}),registerDeclarativeService(a163_0x55ad70(0xd3),logsDefinitions,{'defaultCommand':a163_0x55ad70(0xcf)}),registerDeclarativeService(a163_0x55ad70(0xc1),[runDefinition],{'wildcardDef':runDefinition});{const last=serviceRegistry[serviceRegistry['length']-0x1];last[a163_0x55ad70(0xe9)]=[{'command':a163_0x55ad70(0xe5),'description':a163_0x55ad70(0xe1),'tag':''}];}export const deprecatedAliases={'create':{'service':'project','command':a163_0x55ad70(0xf5)},'start':{'service':a163_0x55ad70(0xff),'command':a163_0x55ad70(0x114)},'build':{'service':a163_0x55ad70(0xff),'command':a163_0x55ad70(0xf2)},'preview':{'service':a163_0x55ad70(0xff),'command':a163_0x55ad70(0xd2)},'logout':{'service':a163_0x55ad70(0xce),'command':a163_0x55ad70(0xd6)}};const CLI_SKILL_INSTALL_REMOVED_HINT=a163_0x55ad70(0x116),APP_REMOTE_REMOVED_HINT=a163_0x55ad70(0x107),APP_USE_REMOVED_HINT=a163_0x55ad70(0xf9),APP_ADD_REMOVED_HINT=a163_0x55ad70(0xcc),APP_REMOVE_REMOVED_HINT=a163_0x55ad70(0xf7),REMOVED_KNOWLEDGE_BASE_COMMANDS=new Set([a163_0x55ad70(0x101),'detail',a163_0x55ad70(0xf5),a163_0x55ad70(0xe2),a163_0x55ad70(0x112)]);export function resolveRemovedCommand(_0x477d7c,_0x56182d){const _0x3e701a=a163_0x55ad70;if(_0x477d7c===_0x3e701a(0x108)){const _0x369452=_0x56182d?'skill\x20'+_0x56182d:_0x3e701a(0x108);return{'command':_0x369452,'message':_0x3e701a(0x103)+_0x369452+_0x3e701a(0xbc),'hint':CLI_SKILL_INSTALL_REMOVED_HINT};}if(_0x477d7c===_0x3e701a(0xe7))return{'command':'skills','message':'`rabetbase\x20skills`\x20has\x20been\x20removed.','hint':CLI_SKILL_INSTALL_REMOVED_HINT};if(_0x477d7c==='app'&&_0x56182d===_0x3e701a(0xd9))return{'command':'app\x20remote','message':_0x3e701a(0x10a),'hint':APP_REMOTE_REMOVED_HINT};if(_0x477d7c===_0x3e701a(0x10f)&&_0x56182d===_0x3e701a(0xf0))return{'command':_0x3e701a(0xc4),'message':'`rabetbase\x20app\x20use`\x20has\x20been\x20removed.','hint':APP_USE_REMOVED_HINT};if(_0x477d7c===_0x3e701a(0x10f)&&_0x56182d===_0x3e701a(0x105))return{'command':'app\x20add','message':_0x3e701a(0xca),'hint':APP_ADD_REMOVED_HINT};if(_0x477d7c===_0x3e701a(0x10f)&&_0x56182d===_0x3e701a(0xec))return{'command':'app\x20remove','message':'`rabetbase\x20app\x20remove`\x20has\x20been\x20removed.','hint':APP_REMOVE_REMOVED_HINT};if(_0x477d7c===_0x3e701a(0xdf)&&_0x56182d&&REMOVED_KNOWLEDGE_BASE_COMMANDS[_0x3e701a(0xdd)](_0x56182d))return{'command':_0x3e701a(0xeb)+_0x56182d,'message':'`rabetbase\x20knowledge-base\x20'+_0x56182d+_0x3e701a(0xbc),'hint':'Use\x20`rabetbase\x20kb\x20'+_0x56182d+_0x3e701a(0xc9)};return undefined;}export const deprecatedSubcommands={'bff':{'new':a163_0x55ad70(0xf5)},'sql':{'new':a163_0x55ad70(0xf5)},'menu':{'update':a163_0x55ad70(0x115)}};export function resolveDeprecatedSubcommand(_0x2b32ce,_0x34350e){return deprecatedSubcommands[_0x2b32ce]?.[_0x34350e];}export function findDefinition(_0x4a2d55,_0x16866d){const _0x2c1c4b=a163_0x55ad70;return definitions[_0x2c1c4b(0xfc)](_0x4a2d55+':'+_0x16866d);}export function isKnownService(_0x1bb561){return serviceByName['has'](_0x1bb561);}export function isDeclarativeService(_0x4397b1){const _0x5f3bb1=a163_0x55ad70;return serviceGroups['has'](_0x4397b1)||serviceByName[_0x5f3bb1(0xfc)](_0x4397b1)?.[_0x5f3bb1(0xef)]!==undefined;}function a163_0x3f2b(){const _0x12690d=['`rabetbase\x20app\x20add`\x20has\x20been\x20removed.','CLI\x20Built-in\x20Skill','Use\x20`rabetbase\x20workspace\x20add\x20<name>\x20--appcode\x20<code>`\x20instead.','login','auth','show','risk','command','preview','Logs','values','Self\x20Update','logout','read','App\x20Management','remote','\x20\x20[write]','from','Project','has','Authentication','knowledge-base','filter','Run\x20any\x20package.json\x20script','update','service','Dataset\x20&\x20Operations','<script>','811503elLcIt','skills','Schema','commands','1060175aFWJjL','knowledge-base\x20','remove','Menu','SQL\x20Queries','wildcardDef','use','API\x20Development','build','42XnZxOG','1552803ZxOCRw','create','Async\x20Tasks','Use\x20`rabetbase\x20workspace\x20remove\x20<name>`\x20instead.','9636066KKltzw','Use\x20`rabetbase\x20workspace\x20use\x20--app\x20<name>`\x20instead.','Configuration','isSingleCommand','get','Diagnostics','BFF\x20Scripts','run','map','list','24EMgCGn','`rabetbase\x20','set','add','Smart\x20List\x20Pages','Use\x20`rabetbase\x20app\x20list\x20--remote`\x20instead.','skill','Workspace','`rabetbase\x20app\x20remote`\x20has\x20been\x20removed.','127805TsAXzE','Platform\x20Issue','push','Instant\x20API','app','hidden','Tenant\x20Members','delete','File','start','asset-update','Use\x20`rabetbase\x20cli-skill\x20install`\x20to\x20refresh\x20the\x20Rabetbase\x20CLI\x20Built-in\x20Skill.\x20To\x20install\x20business\x20Skills,\x20use\x20`lovrabet\x20skill\x20install`.','Notification\x20Configuration','11557824blgjVr','OCR','`\x20has\x20been\x20removed.','Quick\x20Start','Permissions','Runtime\x20App\x20Config\x20Management','description','Run\x20Scripts','2ykjRKW','defaultCommand','app\x20use','Database\x20Connections','Company\x20Knowledge\x20Base','Roles','26603310OYcrez','`\x20instead.'];a163_0x3f2b=function(){return _0x12690d;};return a163_0x3f2b();}export function getServiceEntry(_0x46969b){const _0x48ccf2=a163_0x55ad70;return serviceByName[_0x48ccf2(0xfc)](_0x46969b);}export function getLegacyHandler(_0x344a45,_0x142c6c){return undefined;}export function getAllDefinitions(){const _0x22d2bd=a163_0x55ad70;return Array[_0x22d2bd(0xdb)](definitions[_0x22d2bd(0xd4)]());}
1
+ const a162_0x375c96=a162_0x3aff;(function(_0x2a12dd,_0x4cdd43){const _0x4e2701=a162_0x3aff,_0x1b1760=_0x2a12dd();while(!![]){try{const _0x2e603c=-parseInt(_0x4e2701(0x144))/0x1+parseInt(_0x4e2701(0x182))/0x2*(parseInt(_0x4e2701(0x160))/0x3)+-parseInt(_0x4e2701(0x151))/0x4+-parseInt(_0x4e2701(0x171))/0x5*(parseInt(_0x4e2701(0x162))/0x6)+-parseInt(_0x4e2701(0x15f))/0x7+parseInt(_0x4e2701(0x149))/0x8*(parseInt(_0x4e2701(0x16a))/0x9)+parseInt(_0x4e2701(0x14e))/0xa;if(_0x2e603c===_0x4cdd43)break;else _0x1b1760['push'](_0x1b1760['shift']());}catch(_0x266afb){_0x1b1760['push'](_0x1b1760['shift']());}}}(a162_0x3583,0xb374b));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';function a162_0x3aff(_0x4af2c3,_0x236e8b){_0x4af2c3=_0x4af2c3-0x12b;const _0x358370=a162_0x3583();let _0x3aff9f=_0x358370[_0x4af2c3];return _0x3aff9f;}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{tenantDefinitions}from'../commands/tenant/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{kbDefinitions}from'../commands/kb/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{ocrDefinitions}from'../commands/ocr/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=[];function a162_0x3583(){const _0x9bafbb=['Database\x20Connections','Run\x20any\x20package.json\x20script','app:remote','1054FFqCWa','rabetbase\x20run\x20preview','Use\x20`','menu:update','knowledge-base:update','wildcardDef','Platform\x20Issue','Runtime\x20App\x20Config\x20Management','sql:save','rabetbase\x20kb\x20detail','Smart\x20List\x20Pages','commands','Roles','knowledge-base:list','rabetbase\x20cli-skill\x20install','values','knowledge-base:create','logout','skill:install','install','length','<script>','run','File','CLI\x20Built-in\x20Skill','Diagnostics','app:add','set','command','create','Run\x20Scripts','description','rabetbase\x20run\x20start','Authentication','734221lPaBlk','login','rabetbase\x20menu\x20asset-update','build','skills:','1800LWUrvy','`\x20instead.','rabetbase\x20kb\x20create','hidden','rabetbase\x20workspace\x20add\x20<name>\x20--appcode\x20<code>','19987000yDLWZp','rabetbase\x20auth\x20logout','Permissions','4693712olYgcu','\x20\x20[write]','\x20\x20[high-risk-write]','API\x20Development','defaultCommand','has','app:use','rabetbase\x20bff\x20create','get','project:init','app:remove','Notification\x20Configuration','Tenant\x20Members','`\x20has\x20been\x20removed.','5784408YkBlTB','4218VyfhHX','map','444558MJmLCk','rabetbase\x20kb\x20update','show','App\x20Management','Quick\x20Start','Project','bff:new','service','32139NPVbsv','Instant\x20API','rabetbase\x20sql\x20create\x20--name\x20<name>\x20--db-id\x20<id>\x20--mode\x20sql|mybatisXml','Configuration','rabetbase\x20sql\x20create','rabetbase\x20workspace\x20use\x20--app\x20<name>','read','5BXNTSr','isSingleCommand','rabetbase\x20run\x20build','Workspace','knowledge-base:detail','BFF\x20Scripts','Logs','rabetbase\x20kb\x20delete','skill:','Company\x20Knowledge\x20Base','start','sql:new','Schema','push'];a162_0x3583=function(){return _0x9bafbb;};return a162_0x3583();}const serviceByName=new Map();export const definitions=new Map();export const serviceGroups=new Map();function registerDefinitions(_0x14b854){const _0x916b1a=a162_0x3aff;for(const _0x321338 of _0x14b854){definitions[_0x916b1a(0x13d)](_0x321338['service']+':'+_0x321338[_0x916b1a(0x13e)],_0x321338);let _0x7c9ab0=serviceGroups[_0x916b1a(0x159)](_0x321338[_0x916b1a(0x169)]);!_0x7c9ab0&&(_0x7c9ab0=[],serviceGroups['set'](_0x321338['service'],_0x7c9ab0)),_0x7c9ab0[_0x916b1a(0x17e)](_0x321338);}}function registerDeclarativeService(_0x3d1749,_0x3c772b,_0x119355){const _0xbc8762=a162_0x3aff;registerDefinitions(_0x3c772b);_0x119355?.['wildcardDef']&&registerDefinitions([_0x119355['wildcardDef']]);const _0x5765ba=_0x2e89f7=>_0x2e89f7===_0xbc8762(0x170)?'':_0x2e89f7==='write'?_0xbc8762(0x152):_0xbc8762(0x153),_0x15dad6={'service':_0x3c772b[0x0][_0xbc8762(0x169)],'label':_0x3d1749,'commands':_0x3c772b['filter'](_0x4c2d76=>!_0x4c2d76[_0xbc8762(0x14c)])[_0xbc8762(0x161)](_0x5a2258=>({'command':_0x5a2258[_0xbc8762(0x13e)],'description':_0x5a2258[_0xbc8762(0x141)],'tag':_0x5765ba(_0x5a2258['risk'])})),'declarative':!![],'defaultCommand':_0x119355?.[_0xbc8762(0x155)]??(_0x119355?.[_0xbc8762(0x172)]?_0x3c772b[0x0][_0xbc8762(0x13e)]:undefined),'wildcardDef':_0x119355?.[_0xbc8762(0x187)],'isSingleCommand':_0x119355?.[_0xbc8762(0x172)]};serviceRegistry[_0xbc8762(0x17e)](_0x15dad6),serviceByName['set'](_0x15dad6['service'],_0x15dad6);}registerDeclarativeService(a162_0x375c96(0x166),initDefinitions,{'defaultCommand':a162_0x375c96(0x138),'isSingleCommand':!![]}),registerDeclarativeService(a162_0x375c96(0x167),projectDefinitions),registerDeclarativeService(a162_0x375c96(0x174),workspaceDefinitions),registerDeclarativeService(a162_0x375c96(0x165),appDefinitions),registerDeclarativeService(a162_0x375c96(0x143),authDefinitions,{'defaultCommand':a162_0x375c96(0x145)}),registerDeclarativeService(a162_0x375c96(0x15d),tenantDefinitions),registerDeclarativeService('Dataset\x20&\x20Operations',datasetDefinitions),registerDeclarativeService(a162_0x375c96(0x12c),pageDefinitions),registerDeclarativeService(a162_0x375c96(0x154),apiDefinitions),registerDeclarativeService(a162_0x375c96(0x16b),dataDefinitions),registerDeclarativeService(a162_0x375c96(0x176),bffDefinitions),registerDeclarativeService(a162_0x375c96(0x15c),notificationDefinitions),registerDeclarativeService('SQL\x20Queries',sqlDefinitions),registerDeclarativeService(a162_0x375c96(0x17f),dbDefinitions),registerDeclarativeService('Menu',menuDefinitions),registerDeclarativeService('Async\x20Tasks',taskDefinitions),registerDeclarativeService(a162_0x375c96(0x12e),roleDefinitions),registerDeclarativeService(a162_0x375c96(0x150),permitDefinitions),registerDeclarativeService(a162_0x375c96(0x189),appConfigDefinitions),registerDeclarativeService(a162_0x375c96(0x17a),kbDefinitions),registerDeclarativeService(a162_0x375c96(0x188),issueDefinitions),registerDeclarativeService(a162_0x375c96(0x139),fileDefinitions),registerDeclarativeService('OCR',ocrDefinitions),registerDeclarativeService('Code\x20Generation',codegenDefinitions),registerDeclarativeService(a162_0x375c96(0x16d),configDefinitions),registerDeclarativeService(a162_0x375c96(0x13b),[doctorDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a162_0x375c96(0x17d),[schemaDefinition],{'isSingleCommand':!![]}),registerDeclarativeService('Self\x20Update',[updateDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a162_0x375c96(0x13a),cliSkillDefinitions,{'defaultCommand':a162_0x375c96(0x135)}),registerDeclarativeService(a162_0x375c96(0x177),logsDefinitions,{'defaultCommand':a162_0x375c96(0x164)}),registerDeclarativeService(a162_0x375c96(0x140),[runDefinition],{'wildcardDef':runDefinition});{const last=serviceRegistry[serviceRegistry[a162_0x375c96(0x136)]-0x1];last[a162_0x375c96(0x12d)]=[{'command':a162_0x375c96(0x137),'description':a162_0x375c96(0x180),'tag':''}];}const REMOVED_COMMAND_REPLACEMENTS=new Map([[a162_0x375c96(0x18a),a162_0x375c96(0x16c)],[a162_0x375c96(0x168),a162_0x375c96(0x158)],[a162_0x375c96(0x17c),a162_0x375c96(0x16e)],[a162_0x375c96(0x185),a162_0x375c96(0x146)],[a162_0x375c96(0x15a),'rabetbase\x20workspace\x20init\x20--appcode\x20<code>'],[a162_0x375c96(0x179),a162_0x375c96(0x130)],[a162_0x375c96(0x134),a162_0x375c96(0x130)],[a162_0x375c96(0x148),'rabetbase\x20cli-skill\x20install'],['skills:install',a162_0x375c96(0x130)],[a162_0x375c96(0x181),'rabetbase\x20app\x20list\x20--remote'],[a162_0x375c96(0x157),a162_0x375c96(0x16f)],[a162_0x375c96(0x13c),a162_0x375c96(0x14d)],[a162_0x375c96(0x15b),'rabetbase\x20workspace\x20remove\x20<name>'],[a162_0x375c96(0x12f),'rabetbase\x20kb\x20list'],[a162_0x375c96(0x175),a162_0x375c96(0x12b)],[a162_0x375c96(0x132),a162_0x375c96(0x14b)],[a162_0x375c96(0x186),a162_0x375c96(0x163)],['knowledge-base:delete',a162_0x375c96(0x178)]]),REMOVED_FLAT_COMMAND_REPLACEMENTS=new Map([[a162_0x375c96(0x13f),'rabetbase\x20project\x20create\x20<project-name>'],[a162_0x375c96(0x17b),a162_0x375c96(0x142)],[a162_0x375c96(0x147),a162_0x375c96(0x173)],['preview',a162_0x375c96(0x183)],[a162_0x375c96(0x133),a162_0x375c96(0x14f)]]);export function resolveRemovedCommand(_0x34d28f,_0x3c39ab){const _0x103667=a162_0x375c96;if(!_0x34d28f)return undefined;const _0x13d75d=REMOVED_COMMAND_REPLACEMENTS[_0x103667(0x159)](_0x34d28f+':'+(_0x3c39ab??'')),_0x4b5df5=REMOVED_FLAT_COMMAND_REPLACEMENTS[_0x103667(0x159)](_0x34d28f),_0x1d36d5=_0x13d75d??_0x4b5df5;if(!_0x1d36d5)return undefined;const _0x25b46c=_0x4b5df5?_0x34d28f:_0x3c39ab?_0x34d28f+'\x20'+_0x3c39ab:_0x34d28f;return{'command':_0x25b46c,'message':'`rabetbase\x20'+_0x25b46c+_0x103667(0x15e),'hint':_0x103667(0x184)+_0x1d36d5+_0x103667(0x14a)};}export function findDefinition(_0x5b85dc,_0x55ae5d){const _0x27bdcb=a162_0x375c96;return definitions[_0x27bdcb(0x159)](_0x5b85dc+':'+_0x55ae5d);}export function isKnownService(_0x505391){return serviceByName['has'](_0x505391);}export function isDeclarativeService(_0x54b6b5){const _0x21509e=a162_0x375c96;return serviceGroups[_0x21509e(0x156)](_0x54b6b5)||serviceByName[_0x21509e(0x159)](_0x54b6b5)?.[_0x21509e(0x187)]!==undefined;}export function getServiceEntry(_0x1628ce){const _0x1134c8=a162_0x375c96;return serviceByName[_0x1134c8(0x159)](_0x1628ce);}export function getLegacyHandler(_0x1cca8a,_0x238da4){return undefined;}export function getAllDefinitions(){const _0x2388ae=a162_0x375c96;return Array['from'](definitions[_0x2388ae(0x131)]());}
@@ -1 +1 @@
1
- const a164_0x771507=a164_0x589c;(function(_0x57dff2,_0xd03e5b){const _0x1cb9a8=a164_0x589c,_0x447726=_0x57dff2();while(!![]){try{const _0x121087=-parseInt(_0x1cb9a8(0x9f))/0x1+-parseInt(_0x1cb9a8(0x9c))/0x2*(-parseInt(_0x1cb9a8(0xa2))/0x3)+parseInt(_0x1cb9a8(0xa0))/0x4*(parseInt(_0x1cb9a8(0xb2))/0x5)+parseInt(_0x1cb9a8(0xa4))/0x6*(-parseInt(_0x1cb9a8(0xa5))/0x7)+parseInt(_0x1cb9a8(0xb0))/0x8*(-parseInt(_0x1cb9a8(0xae))/0x9)+parseInt(_0x1cb9a8(0xa6))/0xa+-parseInt(_0x1cb9a8(0x9a))/0xb*(-parseInt(_0x1cb9a8(0xa1))/0xc);if(_0x121087===_0xd03e5b)break;else _0x447726['push'](_0x447726['shift']());}catch(_0x233ab6){_0x447726['push'](_0x447726['shift']());}}}(a164_0x11cb,0x26e8a));import{createAppRole}from'../../core/api-client.js';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=a164_0x771507(0xa3);function readName(_0x17fdb9){const _0x4cfdb2=a164_0x771507,_0x23d727=_0x17fdb9[_0x4cfdb2(0xaa)](_0x4cfdb2(0x9d))[_0x4cfdb2(0xa8)]();if(!_0x23d727)throw CliErrors[_0x4cfdb2(0xb1)](_0x4cfdb2(0x9d),_0x4cfdb2(0xab));if(_0x23d727[_0x4cfdb2(0xa7)]>0x40)throw CliErrors[_0x4cfdb2(0x96)](_0x4cfdb2(0xa9));return _0x23d727;}export const roleCreate={'service':a164_0x771507(0x98),'command':a164_0x771507(0xaf),'description':a164_0x771507(0x9e),'risk':'write','flags':[NAME_FLAG,REMARK_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x446015){readName(_0x446015);},async 'dryRun'(_0xf3a37c){const _0x32d7b4=a164_0x771507,_0x4a9497=readName(_0xf3a37c),_0x445053=_0xf3a37c[_0x32d7b4(0xaa)](_0x32d7b4(0x99))[_0x32d7b4(0xa8)]()||undefined;return asDryRunResult({'operation':_0x32d7b4(0xaf),'selector':{'appCode':_0xf3a37c[_0x32d7b4(0x97)],'roleName':_0x4a9497},'before':null,'after':{'roleName':_0x4a9497,'roleType':_0x32d7b4(0xad),'remark':_0x445053},'dryRun':!![],'backend':{'method':_0x32d7b4(0x9b),'path':CREATE_PATH},'warnings':[]},{'method':'POST','url':CREATE_PATH});},async 'execute'(_0x51cace){const _0x518b2a=a164_0x771507,_0x3ef43c=readName(_0x51cace),_0x2f745b=_0x51cace[_0x518b2a(0xaa)](_0x518b2a(0x99))['trim']()||undefined,_0x151789=await createAppRole({'appCode':_0x51cace['appCode'],'roleName':_0x3ef43c,..._0x2f745b?{'remark':_0x2f745b}:{}});return{'ok':!![],'data':{'operation':_0x518b2a(0xaf),'selector':{'appCode':_0x51cace[_0x518b2a(0x97)],'roleId':_0x151789['id'],'roleName':_0x3ef43c},'before':null,'after':projectRole(_0x151789),'dryRun':![],'backend':{'method':_0x518b2a(0x9b),'path':CREATE_PATH},'warnings':[]},'message':'Created\x20role\x20'+_0x151789[_0x518b2a(0xac)]+'\x20(id='+_0x151789['id']+')'};}};function a164_0x589c(_0x4b0710,_0x2fd351){_0x4b0710=_0x4b0710-0x96;const _0x11cbc7=a164_0x11cb();let _0x589c59=_0x11cbc7[_0x4b0710];return _0x589c59;}function a164_0x11cb(){const _0x56607d=['288873PCSYAN','4JMsAyw','12HozJSL','657453FYUuMx','/smartapi/permit/role/create','6gIHaUD','691838KiuPVw','1067220hBpCWy','length','trim','Role\x20name\x20cannot\x20exceed\x2064\x20characters.','str','Pass\x20--name\x20<roleName>.','roleName','CUSTOM','9tIAoXq','create','1215904xzEDjW','flagMissing','1501205ocSgyb','validation','appCode','role','remark','802461lIrFlY','POST','2CyCjtx','name','Create\x20a\x20CUSTOM\x20user\x20group\x20(role)'];a164_0x11cb=function(){return _0x56607d;};return a164_0x11cb();}
1
+ const a163_0x8d0713=a163_0x5dff;(function(_0x389bbd,_0x17ea73){const _0x57eb00=a163_0x5dff,_0x58c20a=_0x389bbd();while(!![]){try{const _0x77869b=-parseInt(_0x57eb00(0x161))/0x1+parseInt(_0x57eb00(0x173))/0x2*(parseInt(_0x57eb00(0x165))/0x3)+parseInt(_0x57eb00(0x15e))/0x4+parseInt(_0x57eb00(0x167))/0x5*(-parseInt(_0x57eb00(0x15b))/0x6)+-parseInt(_0x57eb00(0x16e))/0x7*(-parseInt(_0x57eb00(0x16c))/0x8)+parseInt(_0x57eb00(0x169))/0x9+parseInt(_0x57eb00(0x15f))/0xa*(-parseInt(_0x57eb00(0x168))/0xb);if(_0x77869b===_0x17ea73)break;else _0x58c20a['push'](_0x58c20a['shift']());}catch(_0x5a8621){_0x58c20a['push'](_0x58c20a['shift']());}}}(a163_0x578f,0xb5100));function a163_0x5dff(_0x3e0bc3,_0x493c83){_0x3e0bc3=_0x3e0bc3-0x15a;const _0x578ff9=a163_0x578f();let _0x5dffe1=_0x578ff9[_0x3e0bc3];return _0x5dffe1;}import{createAppRole}from'../../core/api-client.js';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='/smartapi/permit/role/create';function readName(_0x5aa9e6){const _0x3d5506=a163_0x5dff,_0x54ed21=_0x5aa9e6[_0x3d5506(0x16f)](_0x3d5506(0x15d))[_0x3d5506(0x160)]();if(!_0x54ed21)throw CliErrors[_0x3d5506(0x174)](_0x3d5506(0x15d),_0x3d5506(0x15a));if(_0x54ed21[_0x3d5506(0x16a)]>0x40)throw CliErrors[_0x3d5506(0x16d)](_0x3d5506(0x170));return _0x54ed21;}function a163_0x578f(){const _0x275a71=['appCode','Pass\x20--name\x20<roleName>.','2082kmilui','Create\x20a\x20CUSTOM\x20user\x20group\x20(role)','name','3351244bQGPnX','20517610dqQnUF','trim','738312NojVKp','write','role','roleName','3110274bqMYAe','\x20(id=','4985Wdcstp','11JMmwYL','9721566QDrJLn','length','CUSTOM','184KeSnUX','validation','280889ZMMuJr','str','Role\x20name\x20cannot\x20exceed\x2064\x20characters.','POST','create','2jhwiBU','flagMissing'];a163_0x578f=function(){return _0x275a71;};return a163_0x578f();}export const roleCreate={'service':a163_0x8d0713(0x163),'command':'create','description':a163_0x8d0713(0x15c),'risk':a163_0x8d0713(0x162),'flags':[NAME_FLAG,REMARK_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x58169c){readName(_0x58169c);},async 'dryRun'(_0x1bcba6){const _0x1b35a9=a163_0x8d0713,_0x373f8e=readName(_0x1bcba6),_0x4380fb=_0x1bcba6['str']('remark')['trim']()||undefined;return asDryRunResult({'operation':_0x1b35a9(0x172),'selector':{'appCode':_0x1bcba6[_0x1b35a9(0x175)],'roleName':_0x373f8e},'before':null,'after':{'roleName':_0x373f8e,'roleType':_0x1b35a9(0x16b),'remark':_0x4380fb},'dryRun':!![],'backend':{'method':'POST','path':CREATE_PATH},'warnings':[]},{'method':_0x1b35a9(0x171),'url':CREATE_PATH});},async 'execute'(_0x584bbb){const _0x5ef988=a163_0x8d0713,_0x5b677f=readName(_0x584bbb),_0x59cce8=_0x584bbb[_0x5ef988(0x16f)]('remark')[_0x5ef988(0x160)]()||undefined,_0x4244b5=await createAppRole({'appCode':_0x584bbb[_0x5ef988(0x175)],'roleName':_0x5b677f,..._0x59cce8?{'remark':_0x59cce8}:{}});return{'ok':!![],'data':{'operation':_0x5ef988(0x172),'selector':{'appCode':_0x584bbb[_0x5ef988(0x175)],'roleId':_0x4244b5['id'],'roleName':_0x5b677f},'before':null,'after':projectRole(_0x4244b5),'dryRun':![],'backend':{'method':_0x5ef988(0x171),'path':CREATE_PATH},'warnings':[]},'message':'Created\x20role\x20'+_0x4244b5[_0x5ef988(0x164)]+_0x5ef988(0x166)+_0x4244b5['id']+')'};}};
@@ -1 +1 @@
1
- const a165_0x1b011c=a165_0x1a6e;function a165_0x1a6e(_0x5b189d,_0xd05622){_0x5b189d=_0x5b189d-0x1e5;const _0x37a3ac=a165_0x37a3();let _0x1a6e5d=_0x37a3ac[_0x5b189d];return _0x1a6e5d;}(function(_0x19aa8e,_0x46e34b){const _0x24d74f=a165_0x1a6e,_0x2ad778=_0x19aa8e();while(!![]){try{const _0x1dad72=parseInt(_0x24d74f(0x1f1))/0x1*(parseInt(_0x24d74f(0x1fe))/0x2)+parseInt(_0x24d74f(0x1f4))/0x3*(parseInt(_0x24d74f(0x1f9))/0x4)+parseInt(_0x24d74f(0x1fb))/0x5*(-parseInt(_0x24d74f(0x1ef))/0x6)+-parseInt(_0x24d74f(0x1fa))/0x7+-parseInt(_0x24d74f(0x1ea))/0x8*(-parseInt(_0x24d74f(0x1f6))/0x9)+parseInt(_0x24d74f(0x1f8))/0xa+parseInt(_0x24d74f(0x1e5))/0xb*(-parseInt(_0x24d74f(0x1fc))/0xc);if(_0x1dad72===_0x46e34b)break;else _0x2ad778['push'](_0x2ad778['shift']());}catch(_0x24fa19){_0x2ad778['push'](_0x2ad778['shift']());}}}(a165_0x37a3,0xb207d));import{deleteAppRole}from'../../core/api-client.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{assertCustomRole,getRoleById,projectRole,ROLE_ID_FLAG}from'../../commands/role/shared.js';const DELETE_PATH=a165_0x1b011c(0x1e8);function a165_0x37a3(){const _0x1c2f80=['Delete\x20a\x20CUSTOM\x20role\x20(DEV/ADMIN\x20rejected);\x20requires\x20--yes','1bmEJtn','Deleted\x20role\x20','roleName','39ZLNGNR','role','6432570hrKyHO','\x20member(s);\x20they\x20will\x20lose\x20this\x20group.','5567800Pqzfbs','288836spLanR','6793143fnmEfW','35wbshMr','160092QFNmnb','POST','2366246mXLuJF','891JttEhm','\x20(id=','num','/smartapi/permit/role/delete','userCount','8dFcuwI','appCode','delete','Role\x20still\x20has\x20','high-risk-write','525486hIjmgW'];a165_0x37a3=function(){return _0x1c2f80;};return a165_0x37a3();}export const roleDelete={'service':a165_0x1b011c(0x1f5),'command':a165_0x1b011c(0x1ec),'description':a165_0x1b011c(0x1f0),'risk':a165_0x1b011c(0x1ee),'flags':[ROLE_ID_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x589c2d){const _0x4b53ef=a165_0x1b011c,_0x55b42a=_0x589c2d[_0x4b53ef(0x1e7)]('id'),_0xff8e31=await getRoleById(_0x589c2d[_0x4b53ef(0x1eb)],_0x55b42a);return assertCustomRole(_0xff8e31,_0x4b53ef(0x1ec)),asDryRunResult({'operation':'delete','selector':{'appCode':_0x589c2d[_0x4b53ef(0x1eb)],'roleId':_0x55b42a,'roleName':_0xff8e31[_0x4b53ef(0x1f3)]},'before':projectRole(_0xff8e31),'after':null,'dryRun':!![],'backend':{'method':'POST','path':DELETE_PATH},'warnings':_0xff8e31[_0x4b53ef(0x1e9)]>0x0?[_0x4b53ef(0x1ed)+_0xff8e31['userCount']+_0x4b53ef(0x1f7)]:[]},{'method':_0x4b53ef(0x1fd),'url':DELETE_PATH});},async 'execute'(_0x9f62c8){const _0x5dcd59=a165_0x1b011c,_0x564a83=_0x9f62c8[_0x5dcd59(0x1e7)]('id'),_0x3f2205=await getRoleById(_0x9f62c8[_0x5dcd59(0x1eb)],_0x564a83);return assertCustomRole(_0x3f2205,_0x5dcd59(0x1ec)),await deleteAppRole(_0x564a83),{'ok':!![],'data':{'operation':_0x5dcd59(0x1ec),'selector':{'appCode':_0x9f62c8['appCode'],'roleId':_0x564a83,'roleName':_0x3f2205[_0x5dcd59(0x1f3)]},'before':projectRole(_0x3f2205),'after':null,'dryRun':![],'backend':{'method':_0x5dcd59(0x1fd),'path':DELETE_PATH},'warnings':[]},'message':_0x5dcd59(0x1f2)+_0x3f2205[_0x5dcd59(0x1f3)]+_0x5dcd59(0x1e6)+_0x564a83+')'};}};
1
+ const a164_0x5a4c74=a164_0xe573;function a164_0xe573(_0x174e01,_0x767c90){_0x174e01=_0x174e01-0x93;const _0x18a6b0=a164_0x18a6();let _0xe573cf=_0x18a6b0[_0x174e01];return _0xe573cf;}(function(_0x578552,_0x364578){const _0x2478b7=a164_0xe573,_0xe8d2f2=_0x578552();while(!![]){try{const _0x3bda8f=parseInt(_0x2478b7(0xa7))/0x1+parseInt(_0x2478b7(0x9f))/0x2*(parseInt(_0x2478b7(0x99))/0x3)+-parseInt(_0x2478b7(0x97))/0x4+-parseInt(_0x2478b7(0x9e))/0x5*(parseInt(_0x2478b7(0xa8))/0x6)+parseInt(_0x2478b7(0x9c))/0x7+-parseInt(_0x2478b7(0xa1))/0x8*(-parseInt(_0x2478b7(0xa2))/0x9)+-parseInt(_0x2478b7(0xa9))/0xa;if(_0x3bda8f===_0x364578)break;else _0xe8d2f2['push'](_0xe8d2f2['shift']());}catch(_0x258d55){_0xe8d2f2['push'](_0xe8d2f2['shift']());}}}(a164_0x18a6,0x1aefb));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 a164_0x18a6(){const _0x22a313=['Deleted\x20role\x20','delete','num','206646NRCpoE','12lEYsWJ','1807150ZczWMn','\x20(id=','/smartapi/permit/role/delete','role','userCount','632052MDHDNV','Role\x20still\x20has\x20','97968wYJUbd','POST','roleName','944230TsIgQq','Delete\x20a\x20CUSTOM\x20role\x20(DEV/ADMIN\x20rejected);\x20requires\x20--yes','431275WhKoyJ','10kCuhwa','high-risk-write','133432RgYENX','63InOWeb','appCode'];a164_0x18a6=function(){return _0x22a313;};return a164_0x18a6();}import{assertCustomRole,getRoleById,projectRole,ROLE_ID_FLAG}from'../../commands/role/shared.js';const DELETE_PATH=a164_0x5a4c74(0x94);export const roleDelete={'service':a164_0x5a4c74(0x95),'command':a164_0x5a4c74(0xa5),'description':a164_0x5a4c74(0x9d),'risk':a164_0x5a4c74(0xa0),'flags':[ROLE_ID_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x1b191d){const _0x4496aa=a164_0x5a4c74,_0x3b7841=_0x1b191d['num']('id'),_0x3deac6=await getRoleById(_0x1b191d['appCode'],_0x3b7841);return assertCustomRole(_0x3deac6,_0x4496aa(0xa5)),asDryRunResult({'operation':_0x4496aa(0xa5),'selector':{'appCode':_0x1b191d[_0x4496aa(0xa3)],'roleId':_0x3b7841,'roleName':_0x3deac6[_0x4496aa(0x9b)]},'before':projectRole(_0x3deac6),'after':null,'dryRun':!![],'backend':{'method':'POST','path':DELETE_PATH},'warnings':_0x3deac6[_0x4496aa(0x96)]>0x0?[_0x4496aa(0x98)+_0x3deac6[_0x4496aa(0x96)]+'\x20member(s);\x20they\x20will\x20lose\x20this\x20group.']:[]},{'method':_0x4496aa(0x9a),'url':DELETE_PATH});},async 'execute'(_0x356d85){const _0xf5beff=a164_0x5a4c74,_0x1c747d=_0x356d85[_0xf5beff(0xa6)]('id'),_0x18bb74=await getRoleById(_0x356d85[_0xf5beff(0xa3)],_0x1c747d);return assertCustomRole(_0x18bb74,'delete'),await deleteAppRole(_0x1c747d),{'ok':!![],'data':{'operation':'delete','selector':{'appCode':_0x356d85[_0xf5beff(0xa3)],'roleId':_0x1c747d,'roleName':_0x18bb74['roleName']},'before':projectRole(_0x18bb74),'after':null,'dryRun':![],'backend':{'method':_0xf5beff(0x9a),'path':DELETE_PATH},'warnings':[]},'message':_0xf5beff(0xa4)+_0x18bb74[_0xf5beff(0x9b)]+_0xf5beff(0x93)+_0x1c747d+')'};}};
@@ -1 +1 @@
1
- function a166_0x45a0(){const _0x761708=['read','roleType','258VWOuxg','role','465112cEYqUc','roleName','90nCkIZH','23xFvpys','num','19322MVsqVq','152IfDseC','Role\x20','appCode','5680587BAjYiA','detail','85141UxCNgf','55275WzATiH','27515hygpQS','171729TJtQzI'];a166_0x45a0=function(){return _0x761708;};return a166_0x45a0();}function a166_0x16ae(_0xe74e6b,_0x1b7704){_0xe74e6b=_0xe74e6b-0x12e;const _0x45a008=a166_0x45a0();let _0x16aeca=_0x45a008[_0xe74e6b];return _0x16aeca;}const a166_0x59edf7=a166_0x16ae;(function(_0x30dca3,_0x206e83){const _0x4e8392=a166_0x16ae,_0xde2474=_0x30dca3();while(!![]){try{const _0x350e77=-parseInt(_0x4e8392(0x13f))/0x1*(parseInt(_0x4e8392(0x12e))/0x2)+parseInt(_0x4e8392(0x135))/0x3+parseInt(_0x4e8392(0x13c))/0x4+parseInt(_0x4e8392(0x136))/0x5*(-parseInt(_0x4e8392(0x13a))/0x6)+parseInt(_0x4e8392(0x134))/0x7*(-parseInt(_0x4e8392(0x12f))/0x8)+-parseInt(_0x4e8392(0x137))/0x9*(-parseInt(_0x4e8392(0x13e))/0xa)+parseInt(_0x4e8392(0x132))/0xb;if(_0x350e77===_0x206e83)break;else _0xde2474['push'](_0xde2474['shift']());}catch(_0x4518f8){_0xde2474['push'](_0xde2474['shift']());}}}(a166_0x45a0,0x20738));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{getRoleById,projectRole,ROLE_ID_FLAG}from'../../commands/role/shared.js';export const roleDetail={'service':a166_0x59edf7(0x13b),'command':a166_0x59edf7(0x133),'description':'Show\x20a\x20single\x20role\x27s\x20detail','risk':a166_0x59edf7(0x138),'flags':[ROLE_ID_FLAG,APPCODE_FLAG_OPTIONAL],async 'execute'(_0x2a51e7){const _0x5e33a5=a166_0x59edf7,_0x1cf634=_0x2a51e7[_0x5e33a5(0x140)]('id'),_0x6b907b=await getRoleById(_0x2a51e7[_0x5e33a5(0x131)],_0x1cf634);return{'ok':!![],'data':{'role':projectRole(_0x6b907b)},'message':_0x5e33a5(0x130)+_0x6b907b[_0x5e33a5(0x13d)]+'\x20('+_0x6b907b[_0x5e33a5(0x139)]+')'};}};
1
+ function a165_0x5358(){const _0x5bda50=['roleType','Role\x20','9607130pLxQKZ','roleName','Show\x20a\x20single\x20role\x27s\x20detail','7931ESHPjq','1214964yuDPwy','785YkUajj','547359OzZrbp','detail','role','2974356DEkXRT','1282VdGCKA','num','read','9510EVqsGP','2504JdUdbP','10oBpRRI'];a165_0x5358=function(){return _0x5bda50;};return a165_0x5358();}const a165_0x186778=a165_0x4882;function a165_0x4882(_0x134592,_0x8849c2){_0x134592=_0x134592-0xca;const _0x5358d1=a165_0x5358();let _0x488215=_0x5358d1[_0x134592];return _0x488215;}(function(_0x4cdde4,_0x4f64db){const _0x1f02ee=a165_0x4882,_0x347173=_0x4cdde4();while(!![]){try{const _0x2dc65a=-parseInt(_0x1f02ee(0xd8))/0x1*(-parseInt(_0x1f02ee(0xcb))/0x2)+-parseInt(_0x1f02ee(0xd4))/0x3+-parseInt(_0x1f02ee(0xd2))/0x4+-parseInt(_0x1f02ee(0xd3))/0x5*(parseInt(_0x1f02ee(0xdb))/0x6)+parseInt(_0x1f02ee(0xd1))/0x7*(-parseInt(_0x1f02ee(0xca))/0x8)+parseInt(_0x1f02ee(0xd7))/0x9+parseInt(_0x1f02ee(0xce))/0xa;if(_0x2dc65a===_0x4f64db)break;else _0x347173['push'](_0x347173['shift']());}catch(_0x69bb3a){_0x347173['push'](_0x347173['shift']());}}}(a165_0x5358,0x32c43));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{getRoleById,projectRole,ROLE_ID_FLAG}from'../../commands/role/shared.js';export const roleDetail={'service':a165_0x186778(0xd6),'command':a165_0x186778(0xd5),'description':a165_0x186778(0xd0),'risk':a165_0x186778(0xda),'flags':[ROLE_ID_FLAG,APPCODE_FLAG_OPTIONAL],async 'execute'(_0x3cc80e){const _0x35b53c=a165_0x186778,_0x31f06d=_0x3cc80e[_0x35b53c(0xd9)]('id'),_0x2e5830=await getRoleById(_0x3cc80e['appCode'],_0x31f06d);return{'ok':!![],'data':{'role':projectRole(_0x2e5830)},'message':_0x35b53c(0xcd)+_0x2e5830[_0x35b53c(0xcf)]+'\x20('+_0x2e5830[_0x35b53c(0xcc)]+')'};}};
@@ -1 +1 @@
1
- (function(_0x4a3519,_0x46accd){const _0x30225d=a167_0x5ef0,_0x18ae62=_0x4a3519();while(!![]){try{const _0x424ad4=parseInt(_0x30225d(0x142))/0x1+parseInt(_0x30225d(0x13e))/0x2+-parseInt(_0x30225d(0x13f))/0x3+-parseInt(_0x30225d(0x13d))/0x4+-parseInt(_0x30225d(0x140))/0x5*(parseInt(_0x30225d(0x141))/0x6)+parseInt(_0x30225d(0x13c))/0x7+parseInt(_0x30225d(0x143))/0x8;if(_0x424ad4===_0x46accd)break;else _0x18ae62['push'](_0x18ae62['shift']());}catch(_0x23a79a){_0x18ae62['push'](_0x18ae62['shift']());}}}(a167_0x35cb,0xa36af));import{roleList}from'../../commands/role/list.js';function a167_0x5ef0(_0xbf3a3f,_0x2daf7c){_0xbf3a3f=_0xbf3a3f-0x13c;const _0x35cb12=a167_0x35cb();let _0x5ef089=_0x35cb12[_0xbf3a3f];return _0x5ef089;}import{roleDetail}from'../../commands/role/detail.js';import{roleCreate}from'../../commands/role/create.js';import{roleUpdate}from'../../commands/role/update.js';function a167_0x35cb(){const _0x60b657=['1846676mJaVIK','2443176VeSJoH','2530107lQlyEP','113565SsVLDN','270uyPbDn','1247388uDRbGm','1148872sGBfDN','2687279sSbtXL'];a167_0x35cb=function(){return _0x60b657;};return a167_0x35cb();}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
+ (function(_0xdb472c,_0x4b41f7){const _0xa5ebbf=a166_0x4b92,_0x523113=_0xdb472c();while(!![]){try{const _0x647b78=parseInt(_0xa5ebbf(0xb1))/0x1+-parseInt(_0xa5ebbf(0xaf))/0x2*(parseInt(_0xa5ebbf(0xb3))/0x3)+-parseInt(_0xa5ebbf(0xb6))/0x4+parseInt(_0xa5ebbf(0xb5))/0x5*(-parseInt(_0xa5ebbf(0xb0))/0x6)+-parseInt(_0xa5ebbf(0xb7))/0x7*(parseInt(_0xa5ebbf(0xb2))/0x8)+-parseInt(_0xa5ebbf(0xb8))/0x9+parseInt(_0xa5ebbf(0xb4))/0xa;if(_0x647b78===_0x4b41f7)break;else _0x523113['push'](_0x523113['shift']());}catch(_0x52c9b6){_0x523113['push'](_0x523113['shift']());}}}(a166_0x18cb,0x7be03));function a166_0x4b92(_0xc5d2fb,_0x1b8257){_0xc5d2fb=_0xc5d2fb-0xaf;const _0x18cbef=a166_0x18cb();let _0x4b9204=_0x18cbef[_0xc5d2fb];return _0x4b9204;}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';function a166_0x18cb(){const _0xa0cd33=['212LMJyxn','222774dqcVzs','844276TGapwn','152kwRiIc','21633ZVoQCd','17342150PPdpSE','10DkySST','61636BmdggW','287672xolouj','3926151BZSdXs'];a166_0x18cb=function(){return _0xa0cd33;};return a166_0x18cb();}export const roleDefinitions=[roleList,roleDetail,roleCreate,roleUpdate,roleDelete,roleUserResolve,roleUserAdd,roleUserRemove];
@@ -1 +1 @@
1
- const a168_0x5962ca=a168_0x4fc1;function a168_0x25fe(){const _0x2d785d=['type','pagesize','2784375ThdDXC','List\x20user\x20groups\x20(roles)\x20for\x20the\x20current\x20app','Invalid\x20--type\x20\x22','Filter\x20by\x20role\x20type','validation','\x20role(s)','63KuaKSO','Page\x20index\x20(1-based)','247674ARDSke','USER','Use\x20one\x20of:\x20','list','184848cdiyIU','filter','length','number','CUSTOM','read','1535768ZiLdCp','num','1197540FvMfZy','join','string','Found\x20','appCode','--page\x20must\x20be\x20greater\x20than\x20or\x20equal\x20to\x201.','toUpperCase','roleType','--pagesize\x20must\x20be\x20between\x201\x20and\x20100.','462366DHUAvD','2137088XNFyuj','str','ADMIN','map','page','Page\x20size\x20(1-100)'];a168_0x25fe=function(){return _0x2d785d;};return a168_0x25fe();}(function(_0x5b3186,_0x5d6c68){const _0xa12a79=a168_0x4fc1,_0x47866e=_0x5b3186();while(!![]){try{const _0x2204af=parseInt(_0xa12a79(0x1d7))/0x1+-parseInt(_0xa12a79(0x1e8))/0x2+parseInt(_0xa12a79(0x1df))/0x3+-parseInt(_0xa12a79(0x1dd))/0x4+parseInt(_0xa12a79(0x1cb))/0x5+-parseInt(_0xa12a79(0x1d3))/0x6*(parseInt(_0xa12a79(0x1d1))/0x7)+parseInt(_0xa12a79(0x1c3))/0x8;if(_0x2204af===_0x5d6c68)break;else _0x47866e['push'](_0x47866e['shift']());}catch(_0x4f0711){_0x47866e['push'](_0x47866e['shift']());}}}(a168_0x25fe,0x66e1b));import{listAppRoles}from'../../core/api-client.js';function a168_0x4fc1(_0x2b1e29,_0x23c08a){_0x2b1e29=_0x2b1e29-0x1c3;const _0x25fe67=a168_0x25fe();let _0x4fc1b8=_0x25fe67[_0x2b1e29];return _0x4fc1b8;}import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{projectRole}from'../../commands/role/shared.js';const ROLE_TYPES=[a168_0x5962ca(0x1c5),'DEV',a168_0x5962ca(0x1d4),a168_0x5962ca(0x1db)];export const roleList={'service':'role','command':a168_0x5962ca(0x1d6),'description':a168_0x5962ca(0x1cc),'risk':a168_0x5962ca(0x1dc),'flags':[APPCODE_FLAG_OPTIONAL,{'name':a168_0x5962ca(0x1c9),'type':a168_0x5962ca(0x1e1),'required':![],'description':a168_0x5962ca(0x1ce),'enum':ROLE_TYPES},{'name':a168_0x5962ca(0x1c7),'type':a168_0x5962ca(0x1da),'description':a168_0x5962ca(0x1d2),'default':0x1},{'name':a168_0x5962ca(0x1ca),'type':a168_0x5962ca(0x1da),'description':a168_0x5962ca(0x1c8),'default':0x64}],async 'validate'(_0x40d1d8){const _0x199326=a168_0x5962ca,_0x3b47a8=_0x40d1d8[_0x199326(0x1c4)](_0x199326(0x1c9))['trim']();if(_0x3b47a8&&!ROLE_TYPES['includes'](_0x3b47a8[_0x199326(0x1e5)]()))throw CliErrors[_0x199326(0x1cf)](_0x199326(0x1cd)+_0x3b47a8+'\x22.',_0x199326(0x1d5)+ROLE_TYPES[_0x199326(0x1e0)](',\x20')+'.');const _0x4728c2=_0x40d1d8[_0x199326(0x1de)](_0x199326(0x1c7),0x1),_0x537de4=_0x40d1d8[_0x199326(0x1de)]('pagesize',0x64);if(_0x4728c2<0x1)throw CliErrors[_0x199326(0x1cf)](_0x199326(0x1e4));if(_0x537de4<0x1||_0x537de4>0x64)throw CliErrors['validation'](_0x199326(0x1e7));},async 'execute'(_0x3d669b){const _0x4fefa0=a168_0x5962ca,_0x37469d=_0x3d669b[_0x4fefa0(0x1de)]('page',0x1)||0x1,_0x40c9fb=_0x3d669b[_0x4fefa0(0x1de)](_0x4fefa0(0x1ca),0x64)||0x64,_0x1831de=_0x3d669b[_0x4fefa0(0x1c4)](_0x4fefa0(0x1c9))['trim']()[_0x4fefa0(0x1e5)](),{items:_0x3b9b9b,paging:_0x225480}=await listAppRoles(_0x3d669b[_0x4fefa0(0x1e3)],{'currentPage':_0x37469d,'pageSize':_0x40c9fb}),_0x296e3b=_0x1831de?_0x3b9b9b[_0x4fefa0(0x1d8)](_0x4c1ddd=>_0x4c1ddd[_0x4fefa0(0x1e6)]===_0x1831de):_0x3b9b9b,_0x138fd2=_0x296e3b[_0x4fefa0(0x1c6)](projectRole);return{'ok':!![],'data':{'roles':_0x138fd2,'paging':_0x225480},'message':_0x4fefa0(0x1e2)+_0x138fd2[_0x4fefa0(0x1d9)]+_0x4fefa0(0x1d0)};}};
1
+ const a167_0x17ac67=a167_0x178e;(function(_0x27cd63,_0x13b894){const _0x561064=a167_0x178e,_0x26b64d=_0x27cd63();while(!![]){try{const _0x4608cf=-parseInt(_0x561064(0x155))/0x1*(parseInt(_0x561064(0x14e))/0x2)+-parseInt(_0x561064(0x151))/0x3*(-parseInt(_0x561064(0x145))/0x4)+parseInt(_0x561064(0x15f))/0x5*(parseInt(_0x561064(0x144))/0x6)+-parseInt(_0x561064(0x14c))/0x7*(parseInt(_0x561064(0x162))/0x8)+parseInt(_0x561064(0x148))/0x9*(parseInt(_0x561064(0x146))/0xa)+parseInt(_0x561064(0x149))/0xb*(parseInt(_0x561064(0x165))/0xc)+-parseInt(_0x561064(0x15e))/0xd*(parseInt(_0x561064(0x150))/0xe);if(_0x4608cf===_0x13b894)break;else _0x26b64d['push'](_0x26b64d['shift']());}catch(_0x244a43){_0x26b64d['push'](_0x26b64d['shift']());}}}(a167_0x3ea0,0x896d3));import{listAppRoles}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';function a167_0x178e(_0x27ef19,_0x1ef3c0){_0x27ef19=_0x27ef19-0x143;const _0x3ea051=a167_0x3ea0();let _0x178e11=_0x3ea051[_0x27ef19];return _0x178e11;}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{projectRole}from'../../commands/role/shared.js';function a167_0x3ea0(){const _0x5532a1=['join','ADMIN','78PdkseI','4NdHiAf','10yQOQxg','number','10068372FuEdES','11DTjFEI','filter','includes','49gKSLOU','appCode','15760liBaLJ','Page\x20index\x20(1-based)','126TfObyy','2517615IOMvfO','Invalid\x20--type\x20\x22','Page\x20size\x20(1-100)','Found\x20','2adugsa','List\x20user\x20groups\x20(roles)\x20for\x20the\x20current\x20app','list','validation','Use\x20one\x20of:\x20','trim','type','toUpperCase','roleType','2501915AhHlkr','159665OakrSu','pagesize','role','380136XJdCVW','num','--pagesize\x20must\x20be\x20between\x201\x20and\x20100.','3243972BIbpcM','str','string','USER','page'];a167_0x3ea0=function(){return _0x5532a1;};return a167_0x3ea0();}const ROLE_TYPES=[a167_0x17ac67(0x143),'DEV',a167_0x17ac67(0x168),'CUSTOM'];export const roleList={'service':a167_0x17ac67(0x161),'command':a167_0x17ac67(0x157),'description':a167_0x17ac67(0x156),'risk':'read','flags':[APPCODE_FLAG_OPTIONAL,{'name':a167_0x17ac67(0x15b),'type':a167_0x17ac67(0x167),'required':![],'description':'Filter\x20by\x20role\x20type','enum':ROLE_TYPES},{'name':a167_0x17ac67(0x169),'type':a167_0x17ac67(0x147),'description':a167_0x17ac67(0x14f),'default':0x1},{'name':a167_0x17ac67(0x160),'type':'number','description':a167_0x17ac67(0x153),'default':0x64}],async 'validate'(_0x45c961){const _0x5ab86c=a167_0x17ac67,_0x3d9dc2=_0x45c961['str'](_0x5ab86c(0x15b))[_0x5ab86c(0x15a)]();if(_0x3d9dc2&&!ROLE_TYPES[_0x5ab86c(0x14b)](_0x3d9dc2[_0x5ab86c(0x15c)]()))throw CliErrors[_0x5ab86c(0x158)](_0x5ab86c(0x152)+_0x3d9dc2+'\x22.',_0x5ab86c(0x159)+ROLE_TYPES[_0x5ab86c(0x16a)](',\x20')+'.');const _0x359fd5=_0x45c961[_0x5ab86c(0x163)]('page',0x1),_0x1eb0a2=_0x45c961['num'](_0x5ab86c(0x160),0x64);if(_0x359fd5<0x1)throw CliErrors[_0x5ab86c(0x158)]('--page\x20must\x20be\x20greater\x20than\x20or\x20equal\x20to\x201.');if(_0x1eb0a2<0x1||_0x1eb0a2>0x64)throw CliErrors[_0x5ab86c(0x158)](_0x5ab86c(0x164));},async 'execute'(_0x1516ee){const _0x1ded09=a167_0x17ac67,_0x252751=_0x1516ee[_0x1ded09(0x163)](_0x1ded09(0x169),0x1)||0x1,_0x11acdf=_0x1516ee[_0x1ded09(0x163)](_0x1ded09(0x160),0x64)||0x64,_0x258797=_0x1516ee[_0x1ded09(0x166)]('type')['trim']()[_0x1ded09(0x15c)](),{items:_0x196741,paging:_0x1d43af}=await listAppRoles(_0x1516ee[_0x1ded09(0x14d)],{'currentPage':_0x252751,'pageSize':_0x11acdf}),_0x1698e9=_0x258797?_0x196741[_0x1ded09(0x14a)](_0x19010d=>_0x19010d[_0x1ded09(0x15d)]===_0x258797):_0x196741,_0x2627c5=_0x1698e9['map'](projectRole);return{'ok':!![],'data':{'roles':_0x2627c5,'paging':_0x1d43af},'message':_0x1ded09(0x154)+_0x2627c5['length']+'\x20role(s)'};}};
@@ -1 +1 @@
1
- const a169_0xbbf31b=a169_0x344b;(function(_0x424c6c,_0x23e708){const _0xf61bff=a169_0x344b,_0x251d70=_0x424c6c();while(!![]){try{const _0x355717=-parseInt(_0xf61bff(0x21b))/0x1*(parseInt(_0xf61bff(0x1e8))/0x2)+parseInt(_0xf61bff(0x1d0))/0x3*(-parseInt(_0xf61bff(0x1d4))/0x4)+-parseInt(_0xf61bff(0x1e4))/0x5*(-parseInt(_0xf61bff(0x1cd))/0x6)+-parseInt(_0xf61bff(0x1f7))/0x7*(parseInt(_0xf61bff(0x216))/0x8)+-parseInt(_0xf61bff(0x1f5))/0x9*(-parseInt(_0xf61bff(0x1fc))/0xa)+-parseInt(_0xf61bff(0x204))/0xb*(parseInt(_0xf61bff(0x206))/0xc)+-parseInt(_0xf61bff(0x1f8))/0xd*(-parseInt(_0xf61bff(0x1e6))/0xe);if(_0x355717===_0x23e708)break;else _0x251d70['push'](_0x251d70['shift']());}catch(_0x4ffecb){_0x251d70['push'](_0x251d70['shift']());}}}(a169_0x429e,0x28962));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':a169_0xbbf31b(0x202),'required':!![],'description':a169_0xbbf31b(0x1d5)};export const ROLE_REF_FLAG={'name':a169_0xbbf31b(0x1ef),'type':a169_0xbbf31b(0x1f6),'required':!![],'description':a169_0xbbf31b(0x20c)};export const USER_REF_FLAG={'name':a169_0xbbf31b(0x1eb),'type':a169_0xbbf31b(0x1f6),'required':!![],'description':a169_0xbbf31b(0x1ee)};export const NAME_FLAG={'name':'name','type':a169_0xbbf31b(0x1f6),'required':!![],'description':'Role\x20name'};export const USER_NAME_FLAG={'name':a169_0xbbf31b(0x1f3),'type':a169_0xbbf31b(0x1f6),'required':!![],'description':'Nickname\x20or\x20username\x20to\x20resolve\x20to\x20a\x20userId'};export const REMARK_FLAG={'name':'remark','type':a169_0xbbf31b(0x1f6),'required':![],'description':a169_0xbbf31b(0x207)};function a169_0x344b(_0x5957ed,_0x514316){_0x5957ed=_0x5957ed-0x1cd;const _0x429e03=a169_0x429e();let _0x344b0d=_0x429e03[_0x5957ed];return _0x344b0d;}export const EXPECT_USER_COUNT_FLAG={'name':'expect-user-count','type':a169_0xbbf31b(0x202),'required':![],'description':'Anti-drift\x20guard:\x20fail\x20if\x20the\x20role\x27s\x20current\x20member\x20count\x20differs'};export const BUILTIN_ROLE_TYPES=['ADMIN',a169_0xbbf31b(0x1fe),a169_0xbbf31b(0x217)];export function isBuiltinRole(_0x4c5c0e){const _0x22af3c=a169_0xbbf31b;return BUILTIN_ROLE_TYPES[_0x22af3c(0x20b)](_0x4c5c0e);}export function assertCustomRole(_0xaa7b04,_0x31f85b){const _0x2ea863=a169_0xbbf31b;if(_0xaa7b04[_0x2ea863(0x219)]!==_0x2ea863(0x21a))throw CliErrors[_0x2ea863(0x1f2)]('Cannot\x20'+_0x31f85b+_0x2ea863(0x1dd)+_0xaa7b04[_0x2ea863(0x1d7)]+'\x20('+_0xaa7b04[_0x2ea863(0x219)]+').',_0x2ea863(0x20a));}export function assertPermConfigurable(_0x3e0df6){const _0x4784fe=a169_0xbbf31b;if(_0x3e0df6['roleType']===_0x4784fe(0x1fe)||_0x3e0df6['roleType']==='ADMIN')throw CliErrors[_0x4784fe(0x1f2)](_0x4784fe(0x208)+_0x3e0df6[_0x4784fe(0x1d7)]+'\x20('+_0x3e0df6[_0x4784fe(0x219)]+').',_0x4784fe(0x1f4));}export function projectRole(_0x214200){const _0x2adf15=a169_0xbbf31b;return{'id':_0x214200['id'],'roleName':_0x214200[_0x2adf15(0x1d7)],'roleType':_0x214200[_0x2adf15(0x219)],'remark':_0x214200['remark'],'userCount':_0x214200[_0x2adf15(0x1d9)],'permitCount':_0x214200[_0x2adf15(0x1e3)],'builtin':isBuiltinRole(_0x214200[_0x2adf15(0x219)])};}export async function resolveRoleRef(_0x346ac6,_0x4071ef){const _0x6f2534=a169_0xbbf31b,_0x1a0c8a=_0x4071ef[_0x6f2534(0x211)]();if(!_0x1a0c8a)throw CliErrors['validation'](_0x6f2534(0x1de),_0x6f2534(0x1d8));if(/^\d+$/[_0x6f2534(0x1e0)](_0x1a0c8a))return getRoleById(_0x346ac6,Number(_0x1a0c8a));const _0x3f4feb=await listAllAppRoles(_0x346ac6),_0x11a3ab=_0x3f4feb[_0x6f2534(0x1db)](_0x4a7b99=>_0x4a7b99[_0x6f2534(0x1d7)]===_0x1a0c8a);if(_0x11a3ab[_0x6f2534(0x1ff)]===0x0)throw CliErrors[_0x6f2534(0x1f2)]('Role\x20name\x20\x22'+_0x1a0c8a+_0x6f2534(0x1cf)+_0x346ac6+'.',_0x6f2534(0x200));if(_0x11a3ab[_0x6f2534(0x1ff)]>0x1){const _0x48b43a=_0x11a3ab[_0x6f2534(0x1e7)](_0x55a154=>_0x55a154['id'])[_0x6f2534(0x1f0)](',\x20');throw CliErrors[_0x6f2534(0x1f2)]('Role\x20name\x20\x22'+_0x1a0c8a+_0x6f2534(0x1dc)+_0x48b43a+').','Disambiguate\x20with\x20--role\x20<id>.');}return _0x11a3ab[0x0];}export async function getRoleById(_0x9349fe,_0xbc89ff){const _0x425e1f=a169_0xbbf31b,_0x3d4df7=await getAppRole(_0xbc89ff);if(!_0x3d4df7)throw CliErrors[_0x425e1f(0x1f2)](_0x425e1f(0x1f9)+_0xbc89ff+'\x20not\x20found\x20in\x20app\x20'+_0x9349fe+'.',_0x425e1f(0x20e));return _0x3d4df7;}async function listAllAppRoles(_0x471364){const _0x308bde=a169_0xbbf31b,_0x56882a=0x64,_0x2f386=[];for(let _0x4483e4=0x1;;_0x4483e4+=0x1){const {items:_0x3ffcba,paging:_0x552af8}=await listAppRoles(_0x471364,{'currentPage':_0x4483e4,'pageSize':_0x56882a});_0x2f386[_0x308bde(0x1d6)](..._0x3ffcba);if(_0x3ffcba[_0x308bde(0x1ff)]<_0x56882a||_0x552af8&&_0x2f386[_0x308bde(0x1ff)]>=_0x552af8[_0x308bde(0x203)])return _0x2f386;}}export async function resolveTenantCode(){const _0x330d4f=a169_0xbbf31b,_0x18865e=await getSessionUserInfo(),_0x403e2e=_0x18865e?.['user']?.['tenant']?.[_0x330d4f(0x1d2)];if(!_0x403e2e)throw CliErrors[_0x330d4f(0x1e1)](_0x330d4f(0x1f1));return _0x403e2e;}function matchMember(_0xfd0193,_0x1b0400){const _0x3c5fff=a169_0xbbf31b,_0x2369bc=_0x1b0400[_0x3c5fff(0x211)]()[_0x3c5fff(0x20d)]();return(_0xfd0193[_0x3c5fff(0x213)]??'')['toLowerCase']()===_0x2369bc||(_0xfd0193[_0x3c5fff(0x210)]??'')['toLowerCase']()===_0x2369bc;}export async function resolveUserRef(_0x737e0f){const _0x49430a=a169_0xbbf31b,_0x5bbde4=_0x737e0f[_0x49430a(0x211)]();if(!_0x5bbde4)throw CliErrors[_0x49430a(0x1f2)]('Missing\x20user\x20reference.',_0x49430a(0x1e2));const _0x1a8049=await resolveTenantCode(),_0x2879d2=await getTenantMembers(_0x1a8049);if(/^\d+$/[_0x49430a(0x1e0)](_0x5bbde4)){const _0x48213e=Number(_0x5bbde4),_0x17bd5f=_0x2879d2[_0x49430a(0x1d1)](_0x19b03e=>_0x19b03e[_0x49430a(0x1d3)]===_0x48213e);return{'userId':_0x48213e,'username':_0x17bd5f?.[_0x49430a(0x210)]??String(_0x48213e),'nickname':_0x17bd5f?.[_0x49430a(0x213)],'matchedBy':'id'};}const _0x4fa57f=_0x2879d2['filter'](_0x7030f7=>matchMember(_0x7030f7,_0x5bbde4));if(_0x4fa57f['length']===0x0)throw CliErrors[_0x49430a(0x1f2)]('No\x20tenant\x20member\x20matches\x20\x22'+_0x5bbde4+'\x22.',_0x49430a(0x214));if(_0x4fa57f[_0x49430a(0x1ff)]>0x1){const _0x2c0073=_0x4fa57f[_0x49430a(0x1e7)](_0x4bac24=>(_0x4bac24['nickname']??_0x4bac24['username']??'?')+'('+_0x4bac24['userId']+')')[_0x49430a(0x1f0)](',\x20');throw CliErrors['validation']('Multiple\x20tenant\x20members\x20match\x20\x22'+_0x5bbde4+_0x49430a(0x1da)+_0x2c0073+'.','Disambiguate\x20with\x20--user\x20<id>.');}const _0x41aa50=_0x4fa57f[0x0];return{'userId':_0x41aa50[_0x49430a(0x1d3)],'username':_0x41aa50['username']??String(_0x41aa50[_0x49430a(0x1d3)]),'nickname':_0x41aa50[_0x49430a(0x213)],'matchedBy':'name'};}export const UPDATE_USER_LIST_PATH=a169_0xbbf31b(0x1e9);function userIdsOf(_0x18bdd0){const _0x3d20c5=a169_0xbbf31b;return(_0x18bdd0?.[_0x3d20c5(0x1fb)]??[])['map'](_0x17b0b1=>_0x17b0b1[_0x3d20c5(0x1d3)]);}export function computeRoleUserMutation(_0x3e46da){const _0x1dd247=a169_0xbbf31b,{operation:_0x5b3c8d,appCode:_0xfdf295,roleUsers:_0x497a04,targetRoleId:_0x171c96,user:_0x295e6e}=_0x3e46da,_0x352664=_0x497a04[_0x1dd247(0x1d1)](_0x17639f=>_0x17639f['id']===_0x171c96);if(!_0x352664)throw CliErrors['validation'](_0x1dd247(0x1f9)+_0x171c96+_0x1dd247(0x201),_0x1dd247(0x20e));const _0x3b2508=userIdsOf(_0x352664),_0x5c1574=[];if(_0x3e46da[_0x1dd247(0x1ea)]!==undefined&&_0x3e46da['expectUserCount']!==_0x3b2508[_0x1dd247(0x1ff)])throw CliErrors[_0x1dd247(0x1f2)]('Anti-drift\x20check\x20failed:\x20expected\x20'+_0x3e46da[_0x1dd247(0x1ea)]+_0x1dd247(0x209)+_0x3b2508[_0x1dd247(0x1ff)]+'.',_0x1dd247(0x1fa));const _0x387a91=_0x3b2508['includes'](_0x295e6e['userId']);let _0x1302f8=![];const _0x4267ca=[..._0x352664[_0x1dd247(0x1fb)]];if(_0x5b3c8d===_0x1dd247(0x1fd))_0x387a91?_0x5c1574[_0x1dd247(0x1d6)](_0x1dd247(0x1ce)+_0x295e6e[_0x1dd247(0x1d3)]+_0x1dd247(0x218)+_0x352664[_0x1dd247(0x1d7)]+';\x20no\x20change.'):(_0x4267ca[_0x1dd247(0x1d6)]({'userId':_0x295e6e[_0x1dd247(0x1d3)],'username':_0x295e6e[_0x1dd247(0x210)],..._0x295e6e[_0x1dd247(0x213)]?{'nickname':_0x295e6e[_0x1dd247(0x213)]}:{}}),_0x1302f8=!![]);else{if(!_0x387a91)_0x5c1574['push'](_0x1dd247(0x1ce)+_0x295e6e['userId']+_0x1dd247(0x1df)+_0x352664[_0x1dd247(0x1d7)]+_0x1dd247(0x1ed));else{const _0x529035=_0x4267ca[_0x1dd247(0x215)](_0x417497=>_0x417497[_0x1dd247(0x1d3)]===_0x295e6e['userId']);if(_0x529035>=0x0)_0x4267ca['splice'](_0x529035,0x1);_0x1302f8=!![];}}const _0x2d79ae=_0x497a04['map'](_0x4deafe=>_0x4deafe['id']===_0x171c96?{..._0x4deafe,'userList':_0x4267ca}:_0x4deafe),_0xf69efa=_0x4267ca[_0x1dd247(0x1e7)](_0x3695a5=>_0x3695a5['userId']),_0x334ca4={'operation':_0x5b3c8d,'selector':{'appCode':_0xfdf295,'roleId':_0x171c96,'roleName':_0x352664[_0x1dd247(0x1d7)],'userId':_0x295e6e[_0x1dd247(0x1d3)]},'before':{'userIds':_0x3b2508},'after':{'userIds':_0xf69efa},'dryRun':_0x3e46da[_0x1dd247(0x1ec)],'backend':{'method':_0x1dd247(0x1e5),'path':UPDATE_USER_LIST_PATH},'warnings':_0x5c1574};return{'roleList':_0x2d79ae,'mutation':_0x334ca4,'changed':_0x1302f8};}export async function loadRoleUsers(_0x2ed8c2){return listRoleUsers(_0x2ed8c2);}function a169_0x429e(){const _0x1423c3=['\x20member(s)\x20but\x20role\x20has\x20','Only\x20CUSTOM\x20roles\x20can\x20be\x20modified\x20or\x20deleted.','includes','Role\x20id\x20or\x20role\x20name\x20(CUSTOM\x20roles\x20may\x20be\x20referenced\x20by\x20name)','toLowerCase','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles.','str','username','trim','flagMissing','nickname','Check\x20the\x20nickname/username,\x20or\x20pass\x20--user\x20<id>.','findIndex','8HolDEL','USER','\x20is\x20already\x20a\x20member\x20of\x20role\x20','roleType','CUSTOM','23590uAQLEd','6UIdANQ','User\x20','\x22\x20not\x20found\x20in\x20app\x20','196161SoPuUG','find','tenant_code','userId','4ANhnWO','Role\x20id\x20(from\x20`role\x20list`)','push','roleName','Pass\x20--role\x20<id|name>.','userCount','\x22:\x20','filter','\x22\x20is\x20ambiguous\x20(ids:\x20','\x20built-in\x20role\x20','Missing\x20role\x20reference.','\x20is\x20not\x20a\x20member\x20of\x20role\x20','test','authRequired','Pass\x20--user\x20<id|name>.','permitCount','1407245UgangT','POST','14GLvqBB','map','6WDbLUS','/smartapi/permit/user-role/update-user-list','expectUserCount','user','dryRun',';\x20no\x20change.','User\x20id,\x20username,\x20or\x20nickname\x20to\x20resolve\x20to\x20a\x20userId','role','join','Cannot\x20resolve\x20current\x20tenant.\x20Run\x20`rabetbase\x20auth\x20login`\x20first.','validation','name','DEV\x20/\x20ADMIN\x20keep\x20full\x20access\x20by\x20design;\x20configure\x20a\x20CUSTOM\x20role\x20instead.','890469AOYfJI','string','1869007MzgywF','4584047kMAiuf','Role\x20id\x20','Re-run\x20`role\x20detail`\x20/\x20`role\x20list`\x20and\x20retry\x20with\x20the\x20current\x20count.','userList','10qcbYcJ','user-add','DEV','length','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles,\x20or\x20pass\x20--role\x20<id>.','\x20not\x20found\x20in\x20the\x20user-role\x20list.','number','totalCount','22781TBVvXb','appCode','948scTshJ','Optional\x20role\x20remark/description','Cannot\x20change\x20the\x20permission\x20matrix\x20of\x20built-in\x20role\x20'];a169_0x429e=function(){return _0x1423c3;};return a169_0x429e();}export function readRoleRef(_0x5523f5){const _0x18fb1f=a169_0xbbf31b,_0x5340fc=_0x5523f5[_0x18fb1f(0x20f)](_0x18fb1f(0x1ef))[_0x18fb1f(0x211)]();if(!_0x5340fc)throw CliErrors[_0x18fb1f(0x212)](_0x18fb1f(0x1ef),_0x18fb1f(0x1d8));return _0x5340fc;}export async function prepareUserMutation(_0x525241,_0x1046cf,_0x2a334f){const _0x2bef7e=a169_0xbbf31b,_0x17f71a=readRoleRef(_0x525241),_0xa26c4d=_0x525241[_0x2bef7e(0x20f)]('user')[_0x2bef7e(0x211)]();if(!_0xa26c4d)throw CliErrors[_0x2bef7e(0x212)]('user','Pass\x20--user\x20<id|name>.');const _0x352c54=_0x525241['flag']('expect-user-count'),_0x2fe719=_0x352c54===undefined||_0x352c54===null?undefined:Number(_0x352c54),_0x1ad119=await resolveRoleRef(_0x525241[_0x2bef7e(0x205)],_0x17f71a),_0x5e22ac=await resolveUserRef(_0xa26c4d),_0x6a02e9=await loadRoleUsers(_0x525241[_0x2bef7e(0x205)]);return computeRoleUserMutation({'operation':_0x1046cf,'appCode':_0x525241[_0x2bef7e(0x205)],'roleUsers':_0x6a02e9,'targetRoleId':_0x1ad119['id'],'user':{'userId':_0x5e22ac[_0x2bef7e(0x1d3)],'username':_0x5e22ac[_0x2bef7e(0x210)],'nickname':_0x5e22ac[_0x2bef7e(0x213)]},'dryRun':_0x2a334f,..._0x2fe719!==undefined?{'expectUserCount':_0x2fe719}:{}});}
1
+ const a168_0x46bcac=a168_0x3664;(function(_0x8fb62,_0x169fcf){const _0x148715=a168_0x3664,_0x32745b=_0x8fb62();while(!![]){try{const _0x3be6ba=-parseInt(_0x148715(0x131))/0x1*(parseInt(_0x148715(0x13c))/0x2)+-parseInt(_0x148715(0x139))/0x3+parseInt(_0x148715(0x119))/0x4*(parseInt(_0x148715(0x109))/0x5)+parseInt(_0x148715(0x12e))/0x6+-parseInt(_0x148715(0x125))/0x7+-parseInt(_0x148715(0x12d))/0x8+parseInt(_0x148715(0x102))/0x9;if(_0x3be6ba===_0x169fcf)break;else _0x32745b['push'](_0x32745b['shift']());}catch(_0x57a356){_0x32745b['push'](_0x32745b['shift']());}}}(a168_0x2ea0,0x8de57));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':a168_0x46bcac(0xf3),'required':!![],'description':'Role\x20id\x20(from\x20`role\x20list`)'};export const ROLE_REF_FLAG={'name':a168_0x46bcac(0x136),'type':a168_0x46bcac(0x12c),'required':!![],'description':a168_0x46bcac(0x11d)};export const USER_REF_FLAG={'name':a168_0x46bcac(0x10e),'type':a168_0x46bcac(0x12c),'required':!![],'description':a168_0x46bcac(0x13b)};export const NAME_FLAG={'name':'name','type':a168_0x46bcac(0x12c),'required':!![],'description':a168_0x46bcac(0x135)};export const USER_NAME_FLAG={'name':a168_0x46bcac(0x105),'type':a168_0x46bcac(0x12c),'required':!![],'description':'Nickname\x20or\x20username\x20to\x20resolve\x20to\x20a\x20userId'};export const REMARK_FLAG={'name':a168_0x46bcac(0x12a),'type':a168_0x46bcac(0x12c),'required':![],'description':'Optional\x20role\x20remark/description'};export const EXPECT_USER_COUNT_FLAG={'name':a168_0x46bcac(0xf4),'type':'number','required':![],'description':a168_0x46bcac(0x13a)};export const BUILTIN_ROLE_TYPES=['ADMIN',a168_0x46bcac(0x124),a168_0x46bcac(0xf2)];export function isBuiltinRole(_0x476e10){const _0x598a96=a168_0x46bcac;return BUILTIN_ROLE_TYPES[_0x598a96(0x128)](_0x476e10);}export function assertCustomRole(_0x3a07c2,_0x3f1f1d){const _0x11b1e0=a168_0x46bcac;if(_0x3a07c2[_0x11b1e0(0xf5)]!==_0x11b1e0(0x11b))throw CliErrors[_0x11b1e0(0x12b)](_0x11b1e0(0xff)+_0x3f1f1d+_0x11b1e0(0xef)+_0x3a07c2[_0x11b1e0(0x104)]+'\x20('+_0x3a07c2[_0x11b1e0(0xf5)]+').',_0x11b1e0(0x115));}function a168_0x3664(_0x4b5e0a,_0x5a3c61){_0x4b5e0a=_0x4b5e0a-0xef;const _0x2ea075=a168_0x2ea0();let _0x366442=_0x2ea075[_0x4b5e0a];return _0x366442;}export function assertPermConfigurable(_0x12541f){const _0x22a4dd=a168_0x46bcac;if(_0x12541f['roleType']===_0x22a4dd(0x124)||_0x12541f[_0x22a4dd(0xf5)]===_0x22a4dd(0xfe))throw CliErrors['validation']('Cannot\x20change\x20the\x20permission\x20matrix\x20of\x20built-in\x20role\x20'+_0x12541f['roleName']+'\x20('+_0x12541f[_0x22a4dd(0xf5)]+').',_0x22a4dd(0x10b));}export function projectRole(_0x5ca300){const _0x5df4b5=a168_0x46bcac;return{'id':_0x5ca300['id'],'roleName':_0x5ca300['roleName'],'roleType':_0x5ca300['roleType'],'remark':_0x5ca300[_0x5df4b5(0x12a)],'userCount':_0x5ca300[_0x5df4b5(0x113)],'permitCount':_0x5ca300['permitCount'],'builtin':isBuiltinRole(_0x5ca300[_0x5df4b5(0xf5)])};}export async function resolveRoleRef(_0xa09a3d,_0x42e09d){const _0x1529c2=a168_0x46bcac,_0x277c17=_0x42e09d[_0x1529c2(0x107)]();if(!_0x277c17)throw CliErrors[_0x1529c2(0x12b)]('Missing\x20role\x20reference.',_0x1529c2(0x11c));if(/^\d+$/[_0x1529c2(0x101)](_0x277c17))return getRoleById(_0xa09a3d,Number(_0x277c17));const _0x12e114=await listAllAppRoles(_0xa09a3d),_0x3e3b2d=_0x12e114['filter'](_0x115f79=>_0x115f79[_0x1529c2(0x104)]===_0x277c17);if(_0x3e3b2d[_0x1529c2(0x10c)]===0x0)throw CliErrors[_0x1529c2(0x12b)]('Role\x20name\x20\x22'+_0x277c17+_0x1529c2(0x10a)+_0xa09a3d+'.',_0x1529c2(0xf9));if(_0x3e3b2d[_0x1529c2(0x10c)]>0x1){const _0x1d53d8=_0x3e3b2d['map'](_0x14ce4c=>_0x14ce4c['id'])[_0x1529c2(0xf6)](',\x20');throw CliErrors[_0x1529c2(0x12b)](_0x1529c2(0xf8)+_0x277c17+_0x1529c2(0xfa)+_0x1d53d8+').',_0x1529c2(0xf0));}return _0x3e3b2d[0x0];}export async function getRoleById(_0x3a820f,_0x7b92f9){const _0x5300ba=a168_0x46bcac,_0x5ae609=await getAppRole(_0x7b92f9);if(!_0x5ae609)throw CliErrors[_0x5300ba(0x12b)]('Role\x20id\x20'+_0x7b92f9+_0x5300ba(0x138)+_0x3a820f+'.',_0x5300ba(0xf1));return _0x5ae609;}async function listAllAppRoles(_0xbbd1c2){const _0x27bf60=a168_0x46bcac,_0x2ebe43=0x64,_0x5bedbd=[];for(let _0x3c3315=0x1;;_0x3c3315+=0x1){const {items:_0x4a4925,paging:_0x5b7b36}=await listAppRoles(_0xbbd1c2,{'currentPage':_0x3c3315,'pageSize':_0x2ebe43});_0x5bedbd[_0x27bf60(0x108)](..._0x4a4925);if(_0x4a4925[_0x27bf60(0x10c)]<_0x2ebe43||_0x5b7b36&&_0x5bedbd[_0x27bf60(0x10c)]>=_0x5b7b36[_0x27bf60(0x112)])return _0x5bedbd;}}export async function resolveTenantCode(){const _0x3bc5f0=a168_0x46bcac,_0x4f97d3=await getSessionUserInfo(),_0x135391=_0x4f97d3?.[_0x3bc5f0(0x10e)]?.[_0x3bc5f0(0xfd)]?.['tenant_code'];if(!_0x135391)throw CliErrors['authRequired'](_0x3bc5f0(0x120));return _0x135391;}function matchMember(_0x21e501,_0x1efe1d){const _0x1929a2=a168_0x46bcac,_0x24ae06=_0x1efe1d['trim']()[_0x1929a2(0x10d)]();return(_0x21e501[_0x1929a2(0x114)]??'')['toLowerCase']()===_0x24ae06||(_0x21e501['username']??'')[_0x1929a2(0x10d)]()===_0x24ae06;}export async function resolveUserRef(_0x18a764){const _0x4dfdb0=a168_0x46bcac,_0x2d3d33=_0x18a764[_0x4dfdb0(0x107)]();if(!_0x2d3d33)throw CliErrors['validation'](_0x4dfdb0(0x11a),_0x4dfdb0(0x11f));const _0x2d7b92=await resolveTenantCode(),_0x394511=await getTenantMembers(_0x2d7b92);if(/^\d+$/['test'](_0x2d3d33)){const _0x5dc85e=Number(_0x2d3d33),_0x5a24bc=_0x394511[_0x4dfdb0(0x126)](_0x29376e=>_0x29376e[_0x4dfdb0(0x130)]===_0x5dc85e);return{'userId':_0x5dc85e,'username':_0x5a24bc?.['username']??String(_0x5dc85e),'nickname':_0x5a24bc?.[_0x4dfdb0(0x114)],'matchedBy':'id'};}const _0x21c9b9=_0x394511[_0x4dfdb0(0x134)](_0x35b6b7=>matchMember(_0x35b6b7,_0x2d3d33));if(_0x21c9b9[_0x4dfdb0(0x10c)]===0x0)throw CliErrors[_0x4dfdb0(0x12b)](_0x4dfdb0(0x127)+_0x2d3d33+'\x22.',_0x4dfdb0(0xfc));if(_0x21c9b9['length']>0x1){const _0x4b2339=_0x21c9b9[_0x4dfdb0(0x106)](_0xb2bd33=>(_0xb2bd33[_0x4dfdb0(0x114)]??_0xb2bd33[_0x4dfdb0(0x121)]??'?')+'('+_0xb2bd33[_0x4dfdb0(0x130)]+')')['join'](',\x20');throw CliErrors[_0x4dfdb0(0x12b)](_0x4dfdb0(0x122)+_0x2d3d33+_0x4dfdb0(0xfb)+_0x4b2339+'.','Disambiguate\x20with\x20--user\x20<id>.');}const _0x5579cb=_0x21c9b9[0x0];return{'userId':_0x5579cb[_0x4dfdb0(0x130)],'username':_0x5579cb['username']??String(_0x5579cb['userId']),'nickname':_0x5579cb[_0x4dfdb0(0x114)],'matchedBy':_0x4dfdb0(0x105)};}function a168_0x2ea0(){const _0x1d007d=['Check\x20the\x20nickname/username,\x20or\x20pass\x20--user\x20<id>.','tenant','ADMIN','Cannot\x20','User\x20','test','10698417oWuLzk',';\x20no\x20change.','roleName','name','map','trim','push','505hAqpNU','\x22\x20not\x20found\x20in\x20app\x20','DEV\x20/\x20ADMIN\x20keep\x20full\x20access\x20by\x20design;\x20configure\x20a\x20CUSTOM\x20role\x20instead.','length','toLowerCase','user','Re-run\x20`role\x20detail`\x20/\x20`role\x20list`\x20and\x20retry\x20with\x20the\x20current\x20count.','str','findIndex','totalCount','userCount','nickname','Only\x20CUSTOM\x20roles\x20can\x20be\x20modified\x20or\x20deleted.','flagMissing','Role\x20id\x20','\x20is\x20not\x20a\x20member\x20of\x20role\x20','23704honbgg','Missing\x20user\x20reference.','CUSTOM','Pass\x20--role\x20<id|name>.','Role\x20id\x20or\x20role\x20name\x20(CUSTOM\x20roles\x20may\x20be\x20referenced\x20by\x20name)','\x20is\x20already\x20a\x20member\x20of\x20role\x20','Pass\x20--user\x20<id|name>.','Cannot\x20resolve\x20current\x20tenant.\x20Run\x20`rabetbase\x20auth\x20login`\x20first.','username','Multiple\x20tenant\x20members\x20match\x20\x22','splice','DEV','355355MNfjpA','find','No\x20tenant\x20member\x20matches\x20\x22','includes','expectUserCount','remark','validation','string','998528tQeGod','3005130poMnSC','\x20not\x20found\x20in\x20the\x20user-role\x20list.','userId','1RFPaWx','dryRun','appCode','filter','Role\x20name','role','userList','\x20not\x20found\x20in\x20app\x20','2549205vXGJSe','Anti-drift\x20guard:\x20fail\x20if\x20the\x20role\x27s\x20current\x20member\x20count\x20differs','User\x20id,\x20username,\x20or\x20nickname\x20to\x20resolve\x20to\x20a\x20userId','1363142rQBBtV','\x20built-in\x20role\x20','Disambiguate\x20with\x20--role\x20<id>.','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles.','USER','number','expect-user-count','roleType','join','POST','Role\x20name\x20\x22','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles,\x20or\x20pass\x20--role\x20<id>.','\x22\x20is\x20ambiguous\x20(ids:\x20','\x22:\x20'];a168_0x2ea0=function(){return _0x1d007d;};return a168_0x2ea0();}export const UPDATE_USER_LIST_PATH='/smartapi/permit/user-role/update-user-list';function userIdsOf(_0x34f72b){const _0x2a1c44=a168_0x46bcac;return(_0x34f72b?.[_0x2a1c44(0x137)]??[])[_0x2a1c44(0x106)](_0x22cc5c=>_0x22cc5c[_0x2a1c44(0x130)]);}export function computeRoleUserMutation(_0xe7d0cc){const _0x57fb39=a168_0x46bcac,{operation:_0x14817b,appCode:_0x5af3d7,roleUsers:_0x361742,targetRoleId:_0x246b75,user:_0x5e5467}=_0xe7d0cc,_0x5f7f82=_0x361742[_0x57fb39(0x126)](_0x59d9f6=>_0x59d9f6['id']===_0x246b75);if(!_0x5f7f82)throw CliErrors[_0x57fb39(0x12b)](_0x57fb39(0x117)+_0x246b75+_0x57fb39(0x12f),_0x57fb39(0xf1));const _0x19c299=userIdsOf(_0x5f7f82),_0x3bf8ea=[];if(_0xe7d0cc[_0x57fb39(0x129)]!==undefined&&_0xe7d0cc[_0x57fb39(0x129)]!==_0x19c299[_0x57fb39(0x10c)])throw CliErrors[_0x57fb39(0x12b)]('Anti-drift\x20check\x20failed:\x20expected\x20'+_0xe7d0cc[_0x57fb39(0x129)]+'\x20member(s)\x20but\x20role\x20has\x20'+_0x19c299['length']+'.',_0x57fb39(0x10f));const _0x5c3517=_0x19c299[_0x57fb39(0x128)](_0x5e5467[_0x57fb39(0x130)]);let _0x55d9cb=![];const _0x47d65d=[..._0x5f7f82['userList']];if(_0x14817b==='user-add')_0x5c3517?_0x3bf8ea[_0x57fb39(0x108)]('User\x20'+_0x5e5467[_0x57fb39(0x130)]+_0x57fb39(0x11e)+_0x5f7f82[_0x57fb39(0x104)]+_0x57fb39(0x103)):(_0x47d65d[_0x57fb39(0x108)]({'userId':_0x5e5467[_0x57fb39(0x130)],'username':_0x5e5467[_0x57fb39(0x121)],..._0x5e5467['nickname']?{'nickname':_0x5e5467['nickname']}:{}}),_0x55d9cb=!![]);else{if(!_0x5c3517)_0x3bf8ea[_0x57fb39(0x108)](_0x57fb39(0x100)+_0x5e5467['userId']+_0x57fb39(0x118)+_0x5f7f82[_0x57fb39(0x104)]+_0x57fb39(0x103));else{const _0x3d8eb7=_0x47d65d[_0x57fb39(0x111)](_0x9e1988=>_0x9e1988[_0x57fb39(0x130)]===_0x5e5467['userId']);if(_0x3d8eb7>=0x0)_0x47d65d[_0x57fb39(0x123)](_0x3d8eb7,0x1);_0x55d9cb=!![];}}const _0x2264b2=_0x361742[_0x57fb39(0x106)](_0x4ae3d1=>_0x4ae3d1['id']===_0x246b75?{..._0x4ae3d1,'userList':_0x47d65d}:_0x4ae3d1),_0x3405a8=_0x47d65d[_0x57fb39(0x106)](_0xf2f527=>_0xf2f527['userId']),_0xa8381={'operation':_0x14817b,'selector':{'appCode':_0x5af3d7,'roleId':_0x246b75,'roleName':_0x5f7f82[_0x57fb39(0x104)],'userId':_0x5e5467['userId']},'before':{'userIds':_0x19c299},'after':{'userIds':_0x3405a8},'dryRun':_0xe7d0cc[_0x57fb39(0x132)],'backend':{'method':_0x57fb39(0xf7),'path':UPDATE_USER_LIST_PATH},'warnings':_0x3bf8ea};return{'roleList':_0x2264b2,'mutation':_0xa8381,'changed':_0x55d9cb};}export async function loadRoleUsers(_0x3d3168){return listRoleUsers(_0x3d3168);}export function readRoleRef(_0x40be03){const _0x17f119=a168_0x46bcac,_0x3238eb=_0x40be03[_0x17f119(0x110)]('role')['trim']();if(!_0x3238eb)throw CliErrors['flagMissing'](_0x17f119(0x136),_0x17f119(0x11c));return _0x3238eb;}export async function prepareUserMutation(_0x4d8dda,_0x52a468,_0x4ac1ae){const _0x468248=a168_0x46bcac,_0x1a2bf4=readRoleRef(_0x4d8dda),_0x225215=_0x4d8dda[_0x468248(0x110)]('user')[_0x468248(0x107)]();if(!_0x225215)throw CliErrors[_0x468248(0x116)](_0x468248(0x10e),_0x468248(0x11f));const _0x3fab0e=_0x4d8dda['flag'](_0x468248(0xf4)),_0x3aee2b=_0x3fab0e===undefined||_0x3fab0e===null?undefined:Number(_0x3fab0e),_0xfcc64e=await resolveRoleRef(_0x4d8dda[_0x468248(0x133)],_0x1a2bf4),_0x3b3b01=await resolveUserRef(_0x225215),_0x641cc6=await loadRoleUsers(_0x4d8dda[_0x468248(0x133)]);return computeRoleUserMutation({'operation':_0x52a468,'appCode':_0x4d8dda[_0x468248(0x133)],'roleUsers':_0x641cc6,'targetRoleId':_0xfcc64e['id'],'user':{'userId':_0x3b3b01[_0x468248(0x130)],'username':_0x3b3b01[_0x468248(0x121)],'nickname':_0x3b3b01[_0x468248(0x114)]},'dryRun':_0x4ac1ae,..._0x3aee2b!==undefined?{'expectUserCount':_0x3aee2b}:{}});}
@@ -1 +1 @@
1
- const a170_0x534149=a170_0x9f4b;function a170_0x9f4b(_0x380c91,_0xabb20){_0x380c91=_0x380c91-0xcb;const _0x473207=a170_0x4732();let _0x9f4b56=_0x473207[_0x380c91];return _0x9f4b56;}(function(_0x2f4547,_0x3bb337){const _0x145854=a170_0x9f4b,_0x2b246b=_0x2f4547();while(!![]){try{const _0x261da1=-parseInt(_0x145854(0xde))/0x1*(-parseInt(_0x145854(0xd6))/0x2)+-parseInt(_0x145854(0xe9))/0x3*(parseInt(_0x145854(0xe7))/0x4)+parseInt(_0x145854(0xea))/0x5*(-parseInt(_0x145854(0xd8))/0x6)+-parseInt(_0x145854(0xce))/0x7+parseInt(_0x145854(0xe5))/0x8+parseInt(_0x145854(0xd5))/0x9*(-parseInt(_0x145854(0xcb))/0xa)+parseInt(_0x145854(0xd0))/0xb*(parseInt(_0x145854(0xe6))/0xc);if(_0x261da1===_0x3bb337)break;else _0x2b246b['push'](_0x2b246b['shift']());}catch(_0x2131d1){_0x2b246b['push'](_0x2b246b['shift']());}}}(a170_0x4732,0x6c1e2));import{updateAppRole}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';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(_0x51d408){const _0x1250dd=a170_0x9f4b,_0x2e1595=_0x51d408[_0x1250dd(0xd7)](_0x1250dd(0xd1)),_0x275b1f=_0x51d408[_0x1250dd(0xd7)](_0x1250dd(0xe1)),_0xe1f435={};if(_0x2e1595!==undefined&&_0x2e1595!==null){const _0x4fc593=String(_0x2e1595)[_0x1250dd(0xd4)]();if(!_0x4fc593)throw CliErrors[_0x1250dd(0xdd)](_0x1250dd(0xd2));if(_0x4fc593[_0x1250dd(0xdb)]>0x40)throw CliErrors[_0x1250dd(0xdd)]('Role\x20name\x20cannot\x20exceed\x2064\x20characters.');_0xe1f435[_0x1250dd(0xdc)]=_0x4fc593;}_0x275b1f!==undefined&&_0x275b1f!==null&&(_0xe1f435[_0x1250dd(0xe1)]=String(_0x275b1f));if(_0xe1f435[_0x1250dd(0xdc)]===undefined&&_0xe1f435[_0x1250dd(0xe1)]===undefined)throw CliErrors[_0x1250dd(0xdd)](_0x1250dd(0xe3),_0x1250dd(0xe2));return _0xe1f435;}export const roleUpdate={'service':a170_0x534149(0xd3),'command':a170_0x534149(0xd9),'description':a170_0x534149(0xcf),'risk':a170_0x534149(0xcc),'flags':[ROLE_ID_FLAG,{...REMARK_FLAG},{'name':'name','type':a170_0x534149(0xe8),'required':![],'description':a170_0x534149(0xdf)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x4e55b1){readPatch(_0x4e55b1);},async 'dryRun'(_0x50ef41){const _0x32cfa6=a170_0x534149,_0x2b3718=_0x50ef41[_0x32cfa6(0xe0)]('id'),_0x16e3ab=readPatch(_0x50ef41),_0x2b1ecb=await getRoleById(_0x50ef41[_0x32cfa6(0xcd)],_0x2b3718);return assertCustomRole(_0x2b1ecb,_0x32cfa6(0xd9)),asDryRunResult({'operation':_0x32cfa6(0xd9),'selector':{'appCode':_0x50ef41[_0x32cfa6(0xcd)],'roleId':_0x2b3718,'roleName':_0x2b1ecb[_0x32cfa6(0xdc)]},'before':projectRole(_0x2b1ecb),'after':projectRole({..._0x2b1ecb,..._0x16e3ab[_0x32cfa6(0xdc)]!==undefined?{'roleName':_0x16e3ab['roleName']}:{},..._0x16e3ab[_0x32cfa6(0xe1)]!==undefined?{'remark':_0x16e3ab[_0x32cfa6(0xe1)]}:{}}),'dryRun':!![],'backend':{'method':_0x32cfa6(0xda),'path':UPDATE_PATH},'warnings':[]},{'method':_0x32cfa6(0xda),'url':UPDATE_PATH});},async 'execute'(_0x4df792){const _0x482c8f=a170_0x534149,_0x104807=_0x4df792[_0x482c8f(0xe0)]('id'),_0x5526b1=readPatch(_0x4df792),_0xb10b2=await getRoleById(_0x4df792[_0x482c8f(0xcd)],_0x104807);assertCustomRole(_0xb10b2,_0x482c8f(0xd9)),await updateAppRole({'id':_0x104807,'appCode':_0x4df792[_0x482c8f(0xcd)],..._0x5526b1[_0x482c8f(0xdc)]!==undefined?{'roleName':_0x5526b1[_0x482c8f(0xdc)]}:{},..._0x5526b1['remark']!==undefined?{'remark':_0x5526b1[_0x482c8f(0xe1)]}:{}});const _0x41a27a=await getRoleById(_0x4df792[_0x482c8f(0xcd)],_0x104807);return{'ok':!![],'data':{'operation':_0x482c8f(0xd9),'selector':{'appCode':_0x4df792[_0x482c8f(0xcd)],'roleId':_0x104807,'roleName':_0x41a27a[_0x482c8f(0xdc)]},'before':projectRole(_0xb10b2),'after':projectRole(_0x41a27a),'dryRun':![],'backend':{'method':'POST','path':UPDATE_PATH},'warnings':[]},'message':'Updated\x20role\x20'+_0x41a27a['roleName']+_0x482c8f(0xe4)+_0x104807+')'};}};function a170_0x4732(){const _0x7b04fb=['852eyTZba','5ssCjIQ','560zNWLWu','write','appCode','2131185jBmtNc','Update\x20a\x20CUSTOM\x20role\x27s\x20name/remark\x20(DEV/ADMIN\x20rejected)','1452uLudol','name','--name\x20cannot\x20be\x20empty.','role','trim','119313MmNEef','205586BPWrDc','flag','1853334eUDnkL','update','POST','length','roleName','validation','3oUeTlU','New\x20role\x20name','num','remark','Pass\x20at\x20least\x20one\x20of\x20--name\x20/\x20--remark.','Nothing\x20to\x20update.','\x20(id=','4726808jrUWkW','97896XqLIct','2500KocAKl','string'];a170_0x4732=function(){return _0x7b04fb;};return a170_0x4732();}
1
+ const a169_0x15bf0e=a169_0x5d94;(function(_0x3a778b,_0x548311){const _0x3b4fba=a169_0x5d94,_0x3b959f=_0x3a778b();while(!![]){try{const _0x599e2a=parseInt(_0x3b4fba(0xb1))/0x1+-parseInt(_0x3b4fba(0xb6))/0x2+parseInt(_0x3b4fba(0xc3))/0x3+-parseInt(_0x3b4fba(0xb7))/0x4*(parseInt(_0x3b4fba(0xc6))/0x5)+parseInt(_0x3b4fba(0xb2))/0x6*(parseInt(_0x3b4fba(0xc4))/0x7)+parseInt(_0x3b4fba(0xc8))/0x8+parseInt(_0x3b4fba(0xc0))/0x9*(-parseInt(_0x3b4fba(0xc7))/0xa);if(_0x599e2a===_0x548311)break;else _0x3b959f['push'](_0x3b959f['shift']());}catch(_0x52b393){_0x3b959f['push'](_0x3b959f['shift']());}}}(a169_0x245d,0x4f8e2));function a169_0x5d94(_0x29c25e,_0x192f65){_0x29c25e=_0x29c25e-0xb1;const _0x245d8b=a169_0x245d();let _0x5d9482=_0x245d8b[_0x29c25e];return _0x5d9482;}import{updateAppRole}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';function a169_0x245d(){const _0x51c8f1=['num','write','195164RjkAph','485200bkwHKh','POST','appCode','New\x20role\x20name','/smartapi/permit/role/update','string','\x20(id=','trim','remark','10750977cDSFKu','roleName','length','1547598GPPnXQ','231hzDYYt','--name\x20cannot\x20be\x20empty.','15JqhnTA','10fGmatN','5159512cuDMMl','flag','update','name','195441YgSJua','113754bcvBRJ','Pass\x20at\x20least\x20one\x20of\x20--name\x20/\x20--remark.'];a169_0x245d=function(){return _0x51c8f1;};return a169_0x245d();}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';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=a169_0x15bf0e(0xbb);function readPatch(_0x31970f){const _0x5249da=a169_0x15bf0e,_0x174bb2=_0x31970f[_0x5249da(0xc9)](_0x5249da(0xcb)),_0x3a2334=_0x31970f['flag']('remark'),_0x480601={};if(_0x174bb2!==undefined&&_0x174bb2!==null){const _0x4b8f75=String(_0x174bb2)[_0x5249da(0xbe)]();if(!_0x4b8f75)throw CliErrors['validation'](_0x5249da(0xc5));if(_0x4b8f75[_0x5249da(0xc2)]>0x40)throw CliErrors['validation']('Role\x20name\x20cannot\x20exceed\x2064\x20characters.');_0x480601[_0x5249da(0xc1)]=_0x4b8f75;}_0x3a2334!==undefined&&_0x3a2334!==null&&(_0x480601[_0x5249da(0xbf)]=String(_0x3a2334));if(_0x480601[_0x5249da(0xc1)]===undefined&&_0x480601[_0x5249da(0xbf)]===undefined)throw CliErrors['validation']('Nothing\x20to\x20update.',_0x5249da(0xb3));return _0x480601;}export const roleUpdate={'service':'role','command':a169_0x15bf0e(0xca),'description':'Update\x20a\x20CUSTOM\x20role\x27s\x20name/remark\x20(DEV/ADMIN\x20rejected)','risk':a169_0x15bf0e(0xb5),'flags':[ROLE_ID_FLAG,{...REMARK_FLAG},{'name':a169_0x15bf0e(0xcb),'type':a169_0x15bf0e(0xbc),'required':![],'description':a169_0x15bf0e(0xba)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x111391){readPatch(_0x111391);},async 'dryRun'(_0x26f902){const _0x12db9b=a169_0x15bf0e,_0x2e1761=_0x26f902['num']('id'),_0x3ad545=readPatch(_0x26f902),_0x655e4a=await getRoleById(_0x26f902['appCode'],_0x2e1761);return assertCustomRole(_0x655e4a,'update'),asDryRunResult({'operation':'update','selector':{'appCode':_0x26f902[_0x12db9b(0xb9)],'roleId':_0x2e1761,'roleName':_0x655e4a[_0x12db9b(0xc1)]},'before':projectRole(_0x655e4a),'after':projectRole({..._0x655e4a,..._0x3ad545[_0x12db9b(0xc1)]!==undefined?{'roleName':_0x3ad545[_0x12db9b(0xc1)]}:{},..._0x3ad545[_0x12db9b(0xbf)]!==undefined?{'remark':_0x3ad545['remark']}:{}}),'dryRun':!![],'backend':{'method':_0x12db9b(0xb8),'path':UPDATE_PATH},'warnings':[]},{'method':_0x12db9b(0xb8),'url':UPDATE_PATH});},async 'execute'(_0x40f5cd){const _0x1244a0=a169_0x15bf0e,_0x590a22=_0x40f5cd[_0x1244a0(0xb4)]('id'),_0x112c6b=readPatch(_0x40f5cd),_0x58a903=await getRoleById(_0x40f5cd[_0x1244a0(0xb9)],_0x590a22);assertCustomRole(_0x58a903,_0x1244a0(0xca)),await updateAppRole({'id':_0x590a22,'appCode':_0x40f5cd['appCode'],..._0x112c6b[_0x1244a0(0xc1)]!==undefined?{'roleName':_0x112c6b[_0x1244a0(0xc1)]}:{},..._0x112c6b[_0x1244a0(0xbf)]!==undefined?{'remark':_0x112c6b['remark']}:{}});const _0x304fc1=await getRoleById(_0x40f5cd[_0x1244a0(0xb9)],_0x590a22);return{'ok':!![],'data':{'operation':'update','selector':{'appCode':_0x40f5cd[_0x1244a0(0xb9)],'roleId':_0x590a22,'roleName':_0x304fc1[_0x1244a0(0xc1)]},'before':projectRole(_0x58a903),'after':projectRole(_0x304fc1),'dryRun':![],'backend':{'method':'POST','path':UPDATE_PATH},'warnings':[]},'message':'Updated\x20role\x20'+_0x304fc1[_0x1244a0(0xc1)]+_0x1244a0(0xbd)+_0x590a22+')'};}};
@@ -1 +1 @@
1
- const a171_0x305dea=a171_0xe20b;function a171_0xe20b(_0x3fd3d6,_0x103661){_0x3fd3d6=_0x3fd3d6-0xc8;const _0x501b0d=a171_0x501b();let _0xe20b6f=_0x501b0d[_0x3fd3d6];return _0xe20b6f;}(function(_0x39e57d,_0x483788){const _0x5111a9=a171_0xe20b,_0x21d886=_0x39e57d();while(!![]){try{const _0x2855f4=-parseInt(_0x5111a9(0xd5))/0x1*(-parseInt(_0x5111a9(0xce))/0x2)+parseInt(_0x5111a9(0xd4))/0x3*(-parseInt(_0x5111a9(0xcc))/0x4)+-parseInt(_0x5111a9(0xd1))/0x5*(parseInt(_0x5111a9(0xc8))/0x6)+-parseInt(_0x5111a9(0xda))/0x7*(parseInt(_0x5111a9(0xcb))/0x8)+parseInt(_0x5111a9(0xd9))/0x9+-parseInt(_0x5111a9(0xca))/0xa*(-parseInt(_0x5111a9(0xdd))/0xb)+parseInt(_0x5111a9(0xdb))/0xc;if(_0x2855f4===_0x483788)break;else _0x21d886['push'](_0x21d886['shift']());}catch(_0x557b4a){_0x21d886['push'](_0x21d886['shift']());}}}(a171_0x501b,0xdd112));function a171_0x501b(){const _0xda3991=['high-risk-write','role','6JaZUki','POST','1072310ukBJtk','8040OFkaWZ','7181764DksuPJ','\x20to\x20role\x20','536802QvysHA','user-add','appCode','4508675uOPLDt','Add\x20a\x20user\x20to\x20a\x20role\x20(internal\x20merge\x20+\x20anti-drift);\x20requires\x20--yes','roleName','3yUoFAZ','1oVcPLC','userId','selector','Added\x20user\x20','6632415RPyNpR','5089zNYysI','29641404uPlHYi','\x20already\x20in\x20role\x20','88sXjuqZ'];a171_0x501b=function(){return _0xda3991;};return a171_0x501b();}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 roleUserAdd={'service':a171_0x305dea(0xdf),'command':a171_0x305dea(0xcf),'description':a171_0x305dea(0xd2),'risk':a171_0x305dea(0xde),'flags':[ROLE_REF_FLAG,USER_REF_FLAG,EXPECT_USER_COUNT_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x3606a3){const _0x7f7ceb=a171_0x305dea,{mutation:_0x3a97b7}=await prepareUserMutation(_0x3606a3,'user-add',!![]);return asDryRunResult(_0x3a97b7,{'method':_0x7f7ceb(0xc9),'url':UPDATE_USER_LIST_PATH});},async 'execute'(_0x16d160){const _0x381210=a171_0x305dea,{roleList:_0x298dc0,mutation:_0x272d16,changed:_0x32b493}=await prepareUserMutation(_0x16d160,_0x381210(0xcf),![]);return _0x32b493&&await updateRoleUsers(_0x16d160[_0x381210(0xd0)],_0x298dc0),{'ok':!![],'data':_0x272d16,'message':_0x32b493?_0x381210(0xd8)+_0x272d16[_0x381210(0xd7)]['userId']+_0x381210(0xcd)+_0x272d16[_0x381210(0xd7)][_0x381210(0xd3)]:'No\x20change:\x20user\x20'+_0x272d16[_0x381210(0xd7)][_0x381210(0xd6)]+_0x381210(0xdc)+_0x272d16[_0x381210(0xd7)][_0x381210(0xd3)]};}};
1
+ const a170_0x1fc14c=a170_0x5981;(function(_0x160668,_0x159630){const _0x9a1bc8=a170_0x5981,_0x16efc3=_0x160668();while(!![]){try{const _0x58a723=parseInt(_0x9a1bc8(0x1e5))/0x1*(parseInt(_0x9a1bc8(0x1dd))/0x2)+parseInt(_0x9a1bc8(0x1de))/0x3+-parseInt(_0x9a1bc8(0x1e7))/0x4+-parseInt(_0x9a1bc8(0x1d5))/0x5*(parseInt(_0x9a1bc8(0x1d8))/0x6)+parseInt(_0x9a1bc8(0x1e1))/0x7+-parseInt(_0x9a1bc8(0x1d9))/0x8*(parseInt(_0x9a1bc8(0x1e4))/0x9)+parseInt(_0x9a1bc8(0x1e6))/0xa*(parseInt(_0x9a1bc8(0x1dc))/0xb);if(_0x58a723===_0x159630)break;else _0x16efc3['push'](_0x16efc3['shift']());}catch(_0x3a4870){_0x16efc3['push'](_0x16efc3['shift']());}}}(a170_0xfba3,0xdc50a));import{updateRoleUsers}from'../../core/api-client.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a170_0xfba3(){const _0x21240f=['3823787pPHuZY','109288qpyCPD','2644170AGfXTv','appCode','roleName','8772512Cvjgdv','selector','high-risk-write','6273gCmSwq','20JTywtH','30cstWvH','2060908eZBUep','user-add','userId','445saZybY','role','Add\x20a\x20user\x20to\x20a\x20role\x20(internal\x20merge\x20+\x20anti-drift);\x20requires\x20--yes','120612wULLxf','12208wqpRew','Added\x20user\x20','No\x20change:\x20user\x20'];a170_0xfba3=function(){return _0x21240f;};return a170_0xfba3();}import{asDryRunResult}from'../../commands/common/dry-run.js';function a170_0x5981(_0x5f323a,_0x4212b8){_0x5f323a=_0x5f323a-0x1d3;const _0xfba32c=a170_0xfba3();let _0x598195=_0xfba32c[_0x5f323a];return _0x598195;}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':a170_0x1fc14c(0x1d6),'command':a170_0x1fc14c(0x1d3),'description':a170_0x1fc14c(0x1d7),'risk':a170_0x1fc14c(0x1e3),'flags':[ROLE_REF_FLAG,USER_REF_FLAG,EXPECT_USER_COUNT_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x23c66a){const {mutation:_0x15b5d8}=await prepareUserMutation(_0x23c66a,'user-add',!![]);return asDryRunResult(_0x15b5d8,{'method':'POST','url':UPDATE_USER_LIST_PATH});},async 'execute'(_0x26dbaa){const _0x583b8d=a170_0x1fc14c,{roleList:_0x140d04,mutation:_0x15b48c,changed:_0x5eae34}=await prepareUserMutation(_0x26dbaa,_0x583b8d(0x1d3),![]);return _0x5eae34&&await updateRoleUsers(_0x26dbaa[_0x583b8d(0x1df)],_0x140d04),{'ok':!![],'data':_0x15b48c,'message':_0x5eae34?_0x583b8d(0x1da)+_0x15b48c[_0x583b8d(0x1e2)][_0x583b8d(0x1d4)]+'\x20to\x20role\x20'+_0x15b48c[_0x583b8d(0x1e2)][_0x583b8d(0x1e0)]:_0x583b8d(0x1db)+_0x15b48c['selector'][_0x583b8d(0x1d4)]+'\x20already\x20in\x20role\x20'+_0x15b48c[_0x583b8d(0x1e2)][_0x583b8d(0x1e0)]};}};
@@ -1 +1 @@
1
- function a172_0x54a8(_0x3f3dff,_0x5b339e){_0x3f3dff=_0x3f3dff-0x19a;const _0x22dc66=a172_0x22dc();let _0x54a8b8=_0x22dc66[_0x3f3dff];return _0x54a8b8;}function a172_0x22dc(){const _0x55e18b=['\x20not\x20in\x20role\x20','168558BmoorF','1600299swkjQO','Removed\x20user\x20','128336dyMtWi','6pGSWgB','POST','role','selector','21mOlFBK','3477420aRCBEn','user-remove','628ixJwCy','appCode','roleName','4203Rvqwhm','77149XXexAt','userId','No\x20change:\x20user\x20','5145wTbNFZ'];a172_0x22dc=function(){return _0x55e18b;};return a172_0x22dc();}const a172_0x578a48=a172_0x54a8;(function(_0x205119,_0x28facb){const _0x1d4aa0=a172_0x54a8,_0xebaa87=_0x205119();while(!![]){try{const _0x599341=parseInt(_0x1d4aa0(0x1ad))/0x1+parseInt(_0x1d4aa0(0x1a2))/0x2*(parseInt(_0x1d4aa0(0x1ac))/0x3)+parseInt(_0x1d4aa0(0x1a9))/0x4*(-parseInt(_0x1d4aa0(0x19c))/0x5)+-parseInt(_0x1d4aa0(0x19e))/0x6+parseInt(_0x1d4aa0(0x1a6))/0x7*(parseInt(_0x1d4aa0(0x1a1))/0x8)+-parseInt(_0x1d4aa0(0x19f))/0x9+parseInt(_0x1d4aa0(0x1a7))/0xa;if(_0x599341===_0x28facb)break;else _0xebaa87['push'](_0xebaa87['shift']());}catch(_0x32b5b9){_0xebaa87['push'](_0xebaa87['shift']());}}}(a172_0x22dc,0x1acc3));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':a172_0x578a48(0x1a4),'command':a172_0x578a48(0x1a8),'description':'Remove\x20a\x20user\x20from\x20a\x20role\x20(internal\x20merge\x20+\x20anti-drift);\x20requires\x20--yes','risk':'high-risk-write','flags':[ROLE_REF_FLAG,USER_REF_FLAG,EXPECT_USER_COUNT_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x128716){const _0x2da7a6=a172_0x578a48,{mutation:_0x35674b}=await prepareUserMutation(_0x128716,_0x2da7a6(0x1a8),!![]);return asDryRunResult(_0x35674b,{'method':_0x2da7a6(0x1a3),'url':UPDATE_USER_LIST_PATH});},async 'execute'(_0x85987f){const _0x1443ad=a172_0x578a48,{roleList:_0x3e7c0c,mutation:_0xa00298,changed:_0x2ce4b6}=await prepareUserMutation(_0x85987f,_0x1443ad(0x1a8),![]);return _0x2ce4b6&&await updateRoleUsers(_0x85987f[_0x1443ad(0x1aa)],_0x3e7c0c),{'ok':!![],'data':_0xa00298,'message':_0x2ce4b6?_0x1443ad(0x1a0)+_0xa00298[_0x1443ad(0x1a5)][_0x1443ad(0x19a)]+'\x20from\x20role\x20'+_0xa00298[_0x1443ad(0x1a5)][_0x1443ad(0x1ab)]:_0x1443ad(0x19b)+_0xa00298[_0x1443ad(0x1a5)][_0x1443ad(0x19a)]+_0x1443ad(0x19d)+_0xa00298[_0x1443ad(0x1a5)][_0x1443ad(0x1ab)]};}};
1
+ function a171_0x1aac(){const _0xca9d35=['74348bCdWkk','Removed\x20user\x20','21537HtytdK','POST','760baKQqF','2161092FIQeFc','360185YAAUuC','role','3eRPmhj','user-remove','1350048gsVjFe','\x20from\x20role\x20','33zOcYAx','appCode','roleName','No\x20change:\x20user\x20','910640HDXLQl','Remove\x20a\x20user\x20from\x20a\x20role\x20(internal\x20merge\x20+\x20anti-drift);\x20requires\x20--yes','\x20not\x20in\x20role\x20','5OimMBZ','high-risk-write','2139530yDKXAY','userId','selector'];a171_0x1aac=function(){return _0xca9d35;};return a171_0x1aac();}const a171_0x537bb1=a171_0xe00a;function a171_0xe00a(_0x2586b2,_0x1ecfe6){_0x2586b2=_0x2586b2-0x18d;const _0x1aacd9=a171_0x1aac();let _0xe00a98=_0x1aacd9[_0x2586b2];return _0xe00a98;}(function(_0x1ed0b7,_0x8c6bb){const _0x2b6a08=a171_0xe00a,_0x20d5f7=_0x1ed0b7();while(!![]){try{const _0x50a87d=-parseInt(_0x2b6a08(0x193))/0x1+parseInt(_0x2b6a08(0x18d))/0x2*(parseInt(_0x2b6a08(0x195))/0x3)+-parseInt(_0x2b6a08(0x19d))/0x4*(-parseInt(_0x2b6a08(0x1a0))/0x5)+-parseInt(_0x2b6a08(0x192))/0x6+-parseInt(_0x2b6a08(0x197))/0x7+parseInt(_0x2b6a08(0x191))/0x8*(parseInt(_0x2b6a08(0x18f))/0x9)+-parseInt(_0x2b6a08(0x1a2))/0xa*(-parseInt(_0x2b6a08(0x199))/0xb);if(_0x50a87d===_0x8c6bb)break;else _0x20d5f7['push'](_0x20d5f7['shift']());}catch(_0x5da706){_0x20d5f7['push'](_0x20d5f7['shift']());}}}(a171_0x1aac,0x35e7d));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':a171_0x537bb1(0x194),'command':a171_0x537bb1(0x196),'description':a171_0x537bb1(0x19e),'risk':a171_0x537bb1(0x1a1),'flags':[ROLE_REF_FLAG,USER_REF_FLAG,EXPECT_USER_COUNT_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x5c79a2){const _0x2af312=a171_0x537bb1,{mutation:_0x3753e7}=await prepareUserMutation(_0x5c79a2,'user-remove',!![]);return asDryRunResult(_0x3753e7,{'method':_0x2af312(0x190),'url':UPDATE_USER_LIST_PATH});},async 'execute'(_0x41b744){const _0x2fe50e=a171_0x537bb1,{roleList:_0x1dea99,mutation:_0x5b9d83,changed:_0x3dce50}=await prepareUserMutation(_0x41b744,_0x2fe50e(0x196),![]);return _0x3dce50&&await updateRoleUsers(_0x41b744[_0x2fe50e(0x19a)],_0x1dea99),{'ok':!![],'data':_0x5b9d83,'message':_0x3dce50?_0x2fe50e(0x18e)+_0x5b9d83[_0x2fe50e(0x1a4)][_0x2fe50e(0x1a3)]+_0x2fe50e(0x198)+_0x5b9d83[_0x2fe50e(0x1a4)][_0x2fe50e(0x19b)]:_0x2fe50e(0x19c)+_0x5b9d83['selector']['userId']+_0x2fe50e(0x19f)+_0x5b9d83[_0x2fe50e(0x1a4)][_0x2fe50e(0x19b)]};}};
@@ -1 +1 @@
1
- const a173_0x3fbba1=a173_0x34cc;(function(_0xcbc972,_0x5919ae){const _0x5d5da9=a173_0x34cc,_0x4b4c2f=_0xcbc972();while(!![]){try{const _0x482036=parseInt(_0x5d5da9(0x10e))/0x1+parseInt(_0x5d5da9(0x101))/0x2+-parseInt(_0x5d5da9(0x108))/0x3+parseInt(_0x5d5da9(0x100))/0x4+parseInt(_0x5d5da9(0xff))/0x5*(parseInt(_0x5d5da9(0x114))/0x6)+-parseInt(_0x5d5da9(0x103))/0x7+parseInt(_0x5d5da9(0x10f))/0x8*(-parseInt(_0x5d5da9(0x109))/0x9);if(_0x482036===_0x5919ae)break;else _0x4b4c2f['push'](_0x4b4c2f['shift']());}catch(_0x2de0ea){_0x4b4c2f['push'](_0x4b4c2f['shift']());}}}(a173_0x46bc,0xc37cf));import{CliErrors}from'../../errors.js';function a173_0x34cc(_0x230661,_0x549e22){_0x230661=_0x230661-0xff;const _0x46bcf8=a173_0x46bc();let _0x34cc74=_0x46bcf8[_0x230661];return _0x34cc74;}function a173_0x46bc(){const _0x20b176=['nickname','\x22\x20→\x20userId\x20','userId','name','3368025WmtqFj','55719ejNFyp','user-resolve','Resolved\x20\x22','trim','Pass\x20--name\x20<nickname|username>.','654943RZLHzT','320KktqxB','username','matchedBy','Resolve\x20a\x20nickname/username\x20to\x20a\x20userId\x20(tenant\x20member\x20directory)','str','1104NxvazO','12990lpHpeC','5294768zenPqH','92730aDZGKr','read','2323986ZaZBmP'];a173_0x46bc=function(){return _0x20b176;};return a173_0x46bc();}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{resolveUserRef,USER_NAME_FLAG}from'../../commands/role/shared.js';export const roleUserResolve={'service':'role','command':a173_0x3fbba1(0x10a),'description':a173_0x3fbba1(0x112),'risk':a173_0x3fbba1(0x102),'flags':[USER_NAME_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x44ee56){const _0x22b405=a173_0x3fbba1;if(!_0x44ee56[_0x22b405(0x113)](_0x22b405(0x107))[_0x22b405(0x10c)]())throw CliErrors['flagMissing'](_0x22b405(0x107),_0x22b405(0x10d));},async 'execute'(_0x480d3a){const _0x5cb836=a173_0x3fbba1,_0x3b53f5=_0x480d3a[_0x5cb836(0x113)](_0x5cb836(0x107))[_0x5cb836(0x10c)](),_0x382132=await resolveUserRef(_0x3b53f5);return{'ok':!![],'data':{'user':{'userId':_0x382132[_0x5cb836(0x106)],'username':_0x382132[_0x5cb836(0x110)],'nickname':_0x382132[_0x5cb836(0x104)],'matchedBy':_0x382132[_0x5cb836(0x111)]}},'message':_0x5cb836(0x10b)+_0x3b53f5+_0x5cb836(0x105)+_0x382132[_0x5cb836(0x106)]};}};
1
+ const a172_0x1cbd9d=a172_0x142f;(function(_0x13d754,_0x52f33d){const _0x58794c=a172_0x142f,_0x3f0bd0=_0x13d754();while(!![]){try{const _0xd9d92e=parseInt(_0x58794c(0xc3))/0x1+parseInt(_0x58794c(0xbe))/0x2+-parseInt(_0x58794c(0xc2))/0x3+-parseInt(_0x58794c(0xbc))/0x4+-parseInt(_0x58794c(0xc0))/0x5+parseInt(_0x58794c(0xbd))/0x6*(-parseInt(_0x58794c(0xbf))/0x7)+parseInt(_0x58794c(0xb8))/0x8*(parseInt(_0x58794c(0xc1))/0x9);if(_0xd9d92e===_0x52f33d)break;else _0x3f0bd0['push'](_0x3f0bd0['shift']());}catch(_0x45a392){_0x3f0bd0['push'](_0x3f0bd0['shift']());}}}(a172_0x4b83,0x65630));import{CliErrors}from'../../errors.js';function a172_0x4b83(){const _0x395f62=['user-resolve','username','trim','Resolve\x20a\x20nickname/username\x20to\x20a\x20userId\x20(tenant\x20member\x20directory)','16TxPuPO','Resolved\x20\x22','name','str','798448kbGrOi','368292MrBYPe','1638628OVYrMy','49sHeFWT','3859500WjPFyk','2688039HvXmhE','571743Zdmelj','590391EvQjhN','\x22\x20→\x20userId\x20','flagMissing','matchedBy','Pass\x20--name\x20<nickname|username>.','role','nickname','userId'];a172_0x4b83=function(){return _0x395f62;};return a172_0x4b83();}function a172_0x142f(_0x24c6b3,_0x430838){_0x24c6b3=_0x24c6b3-0xad;const _0x4b836a=a172_0x4b83();let _0x142f66=_0x4b836a[_0x24c6b3];return _0x142f66;}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{resolveUserRef,USER_NAME_FLAG}from'../../commands/role/shared.js';export const roleUserResolve={'service':a172_0x1cbd9d(0xb1),'command':a172_0x1cbd9d(0xb4),'description':a172_0x1cbd9d(0xb7),'risk':'read','flags':[USER_NAME_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x4c74c0){const _0x452885=a172_0x1cbd9d;if(!_0x4c74c0[_0x452885(0xbb)](_0x452885(0xba))[_0x452885(0xb6)]())throw CliErrors[_0x452885(0xae)]('name',_0x452885(0xb0));},async 'execute'(_0x5b9c2f){const _0x4c489f=a172_0x1cbd9d,_0x5844ad=_0x5b9c2f['str'](_0x4c489f(0xba))[_0x4c489f(0xb6)](),_0x3ef9c0=await resolveUserRef(_0x5844ad);return{'ok':!![],'data':{'user':{'userId':_0x3ef9c0[_0x4c489f(0xb3)],'username':_0x3ef9c0[_0x4c489f(0xb5)],'nickname':_0x3ef9c0[_0x4c489f(0xb2)],'matchedBy':_0x3ef9c0[_0x4c489f(0xaf)]}},'message':_0x4c489f(0xb9)+_0x5844ad+_0x4c489f(0xad)+_0x3ef9c0['userId']};}};