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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (277) hide show
  1. package/README.md +8 -3
  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 -0
  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 -0
  102. package/lib/commands/kb/delete.js +1 -0
  103. package/lib/commands/kb/detail.js +1 -0
  104. package/lib/commands/kb/index.js +1 -0
  105. package/lib/commands/kb/list.js +1 -0
  106. package/lib/commands/kb/shared.js +1 -0
  107. package/lib/commands/kb/update.js +1 -0
  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/init.js +1 -1
  163. package/lib/commands/project/upgrade.js +1 -1
  164. package/lib/commands/registry.js +1 -1
  165. package/lib/commands/role/create.js +1 -1
  166. package/lib/commands/role/delete.js +1 -1
  167. package/lib/commands/role/detail.js +1 -1
  168. package/lib/commands/role/index.js +1 -1
  169. package/lib/commands/role/list.js +1 -1
  170. package/lib/commands/role/shared.js +1 -1
  171. package/lib/commands/role/update.js +1 -1
  172. package/lib/commands/role/user-add.js +1 -1
  173. package/lib/commands/role/user-remove.js +1 -1
  174. package/lib/commands/role/user-resolve.js +1 -1
  175. package/lib/commands/run/index.js +1 -1
  176. package/lib/commands/schema.js +1 -1
  177. package/lib/commands/sql/create.js +1 -1
  178. package/lib/commands/sql/delete.js +1 -1
  179. package/lib/commands/sql/detail.js +1 -1
  180. package/lib/commands/sql/exec.js +1 -1
  181. package/lib/commands/sql/index.js +1 -1
  182. package/lib/commands/sql/list.js +1 -1
  183. package/lib/commands/sql/pull.js +1 -1
  184. package/lib/commands/sql/push.js +1 -1
  185. package/lib/commands/sql/save.js +1 -1
  186. package/lib/commands/sql/shared.js +1 -1
  187. package/lib/commands/sql/status.js +1 -1
  188. package/lib/commands/sql/validate.js +1 -1
  189. package/lib/commands/task/index.js +1 -1
  190. package/lib/commands/task/status.js +1 -1
  191. package/lib/commands/tenant/index.js +1 -0
  192. package/lib/commands/tenant/members-list.js +1 -0
  193. package/lib/commands/tenant/shared.js +1 -0
  194. package/lib/commands/workspace/add.js +1 -1
  195. package/lib/commands/workspace/index.js +1 -1
  196. package/lib/commands/workspace/remove.js +1 -1
  197. package/lib/config/schema.js +1 -1
  198. package/lib/constant/cdn.js +1 -1
  199. package/lib/constant/cli.js +1 -1
  200. package/lib/constant/defaults.js +1 -1
  201. package/lib/constant/domain.js +1 -1
  202. package/lib/constant/env.js +1 -1
  203. package/lib/constant/output.js +1 -1
  204. package/lib/constant/paths.js +1 -1
  205. package/lib/constant/risk.js +1 -1
  206. package/lib/context/app-resolver.js +1 -1
  207. package/lib/context/auth-resolver.js +1 -1
  208. package/lib/context/config-loader.js +1 -1
  209. package/lib/context.js +1 -1
  210. package/lib/core/alias-resolver.js +1 -1
  211. package/lib/core/api-client.js +1 -1
  212. package/lib/core/bff/config.js +1 -1
  213. package/lib/core/bff/file-system.js +1 -1
  214. package/lib/core/bff/hash.js +1 -1
  215. package/lib/core/bff/lock.js +1 -1
  216. package/lib/core/bff/utils.js +1 -1
  217. package/lib/core/db-resolver.js +1 -1
  218. package/lib/core/page/file-system.js +1 -1
  219. package/lib/core/page/hash.js +1 -1
  220. package/lib/core/page/lock.js +1 -1
  221. package/lib/core/sql-index-auditor.js +1 -1
  222. package/lib/core/sql-sync/config.js +1 -1
  223. package/lib/core/sql-sync/file-system.js +1 -1
  224. package/lib/core/sql-sync/hash.js +1 -1
  225. package/lib/core/sql-sync/lock.js +1 -1
  226. package/lib/core/sql-sync/utils.js +1 -1
  227. package/lib/core/sql-validator.js +1 -1
  228. package/lib/errors.js +1 -1
  229. package/lib/framework/build-all-flags.js +1 -1
  230. package/lib/framework/error-output.js +1 -1
  231. package/lib/framework/explicit-yes.js +1 -1
  232. package/lib/framework/flags.js +1 -1
  233. package/lib/framework/help.js +1 -1
  234. package/lib/framework/index.js +1 -1
  235. package/lib/framework/output.js +1 -1
  236. package/lib/framework/response.js +1 -1
  237. package/lib/framework/runner-alias.js +1 -1
  238. package/lib/framework/runner.js +1 -1
  239. package/lib/framework/schema-export.js +1 -1
  240. package/lib/framework/types.js +1 -1
  241. package/lib/generated/build-info.js +1 -1
  242. package/lib/help.js +1 -1
  243. package/lib/skills/main.js +1 -1
  244. package/lib/skills/npx-skills-add.js +1 -1
  245. package/lib/skills/skill-presence.js +1 -0
  246. package/lib/telemetry/cli-command-trace.js +1 -1
  247. package/lib/telemetry/cli-help-trace.js +1 -1
  248. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  249. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  250. package/lib/telemetry/send-cli-trace-log.js +1 -1
  251. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  252. package/lib/utils/ai_config.js +1 -1
  253. package/lib/utils/apply-jq-filter.js +1 -1
  254. package/lib/utils/cdn-config.js +1 -1
  255. package/lib/utils/check-sdk-version.js +1 -1
  256. package/lib/utils/cli-version-check.js +1 -1
  257. package/lib/utils/cli-version-policy.js +1 -1
  258. package/lib/utils/config.js +1 -1
  259. package/lib/utils/copy-directory.js +1 -1
  260. package/lib/utils/entity-with-id.js +1 -1
  261. package/lib/utils/file-utils.js +1 -1
  262. package/lib/utils/guides-cdn.js +1 -1
  263. package/lib/utils/http-client.js +1 -1
  264. package/lib/utils/is-non-interactive.js +1 -1
  265. package/lib/utils/logger.js +1 -1
  266. package/lib/utils/params.js +1 -1
  267. package/lib/utils/platform.js +1 -1
  268. package/lib/utils/rules-cdn.js +1 -1
  269. package/lib/utils/sleep.js +1 -1
  270. package/lib/utils/template-replacer.js +1 -1
  271. package/lib/utils/update-notice.js +1 -1
  272. package/lib/utils/version.js +1 -1
  273. package/lib/utils/with-active-cookie.js +1 -1
  274. package/lib/utils/write-cli-side-channel.js +1 -1
  275. package/package.json +2 -2
  276. package/lib/commands/app/add.js +0 -1
  277. package/lib/commands/app/remove.js +0 -1
@@ -1 +1 @@
1
- const a156_0x3f57d2=a156_0x3f5b;(function(_0x5d9e1a,_0x3b6fb2){const _0x52b687=a156_0x3f5b,_0x277d7b=_0x5d9e1a();while(!![]){try{const _0x5605ff=parseInt(_0x52b687(0x163))/0x1*(-parseInt(_0x52b687(0x164))/0x2)+parseInt(_0x52b687(0x19e))/0x3+parseInt(_0x52b687(0x16a))/0x4+-parseInt(_0x52b687(0x1be))/0x5*(-parseInt(_0x52b687(0x157))/0x6)+-parseInt(_0x52b687(0x15d))/0x7*(parseInt(_0x52b687(0x1b6))/0x8)+-parseInt(_0x52b687(0x1b5))/0x9*(-parseInt(_0x52b687(0x177))/0xa)+parseInt(_0x52b687(0x1cc))/0xb*(-parseInt(_0x52b687(0x16b))/0xc);if(_0x5605ff===_0x3b6fb2)break;else _0x277d7b['push'](_0x277d7b['shift']());}catch(_0x105e8c){_0x277d7b['push'](_0x277d7b['shift']());}}}(a156_0x2e5e,0x95bbc));import a156_0xc020fa from'chalk';import a156_0x3db68e 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[a156_0x3f57d2(0x1d2)](_0x5544a1=>_0x5544a1!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x5ddc11){const _0x393582=a156_0x3f57d2,_0x3881ce=[];for(const _0x4f7fb8 of Object[_0x393582(0x19c)](CORE_IDE_CONFIGS)){if(_0x4f7fb8[_0x393582(0x159)])for(const _0x1a271a of _0x4f7fb8['files']){_0x3881ce['push'](resolve(_0x5ddc11,_0x1a271a[_0x393582(0x195)]));}}return _0x3881ce;}function analyse(_0x39dff0){const _0x28b98d=a156_0x3f57d2;let _0x56fcd9=null;const _0x468d15=resolve(_0x39dff0,NEW_CONFIG_NAME),_0x307773=existsSync(_0x468d15);for(const _0x3b60b9 of LEGACY_CONFIG_NAMES){const _0x488b47=resolve(_0x39dff0,_0x3b60b9);if(existsSync(_0x488b47)){const _0x738cb2=readConfigFile(_0x488b47),_0x175c05=Object[_0x28b98d(0x184)](_0x738cb2)[_0x28b98d(0x1d2)](_0x68e81c=>typeof _0x738cb2[_0x68e81c]!==_0x28b98d(0x1bf));_0x56fcd9={'oldPath':_0x488b47,'hasNewConfig':_0x307773,'fields':_0x175c05};break;}}const _0x591952=[],_0x303056=resolve(_0x39dff0,_0x28b98d(0x170));if(existsSync(_0x303056))_0x591952['push'](_0x303056);const _0x4793c5=resolve(_0x39dff0,_0x28b98d(0x1b1));if(existsSync(_0x4793c5))_0x591952[_0x28b98d(0x1b4)](_0x4793c5);const _0x48b203=resolve(_0x39dff0,_0x28b98d(0x15c));if(existsSync(_0x48b203))_0x591952['push'](_0x48b203);for(const _0x3c6b00 of collectIdeSkillFiles(_0x39dff0)){if(existsSync(_0x3c6b00))_0x591952[_0x28b98d(0x1b4)](_0x3c6b00);}let _0x5db8ee=null;const _0x1fa32e=resolve(_0x39dff0,_0x28b98d(0x1a9));if(existsSync(_0x1fa32e))try{const _0xba6a57=JSON[_0x28b98d(0x186)](readFileSync(_0x1fa32e,'utf8'));if(_0xba6a57?.[_0x28b98d(0x188)]&&typeof _0xba6a57[_0x28b98d(0x188)]===_0x28b98d(0x173)){const _0x29a800=[];for(const [_0x4b1942,_0xf7e945]of Object['entries'](_0xba6a57[_0x28b98d(0x188)])){const _0x23938f=_0xf7e945;_0x23938f?.[_0x28b98d(0x189)]&&Array[_0x28b98d(0x1aa)](_0x23938f[_0x28b98d(0x189)])&&_0x23938f[_0x28b98d(0x189)][_0x28b98d(0x171)](_0x1b9890=>typeof _0x1b9890===_0x28b98d(0x1b3)&&_0x1b9890['includes'](_0x28b98d(0x194)))&&_0x29a800['push'](_0x4b1942);}_0x29a800['length']>0x0&&(_0x5db8ee={'path':_0x1fa32e,'keys':_0x29a800});}}catch{}const _0x5e60c9=_0x591952[_0x28b98d(0x15b)]>0x0||_0x56fcd9!==null;let _0x597bcd=null;const _0x2befb4=resolve(_0x39dff0,'package.json');if(existsSync(_0x2befb4))try{const _0x4e71a3=JSON[_0x28b98d(0x186)](readFileSync(_0x2befb4,_0x28b98d(0x1de)));for(const _0x571813 of['dependencies',_0x28b98d(0x1cf)]){const _0xe9d49=_0x4e71a3?.[_0x571813]?.[_0x28b98d(0x174)];if(typeof _0xe9d49===_0x28b98d(0x1b3)){_0xe9d49!==_0x28b98d(0x1bd)&&(_0x597bcd={'pkgPath':_0x2befb4,'currentVersion':_0xe9d49,'field':_0x571813});break;}}}catch{}return{'configMigration':_0x56fcd9,'oldArtifacts':_0x591952,'oldMcpConfig':_0x5db8ee,'needsSkillSwap':_0x5e60c9,'sdkUpgrade':_0x597bcd};}function printReport(_0x2fd213){const _0x2640b9=a156_0x3f57d2,{configMigration:_0x50cbf6,oldArtifacts:_0x14074e,oldMcpConfig:_0x3b8c24,needsSkillSwap:_0x326c0b}=_0x2fd213;console[_0x2640b9(0x1c5)](''),console[_0x2640b9(0x1c5)](a156_0xc020fa['bold'](_0x2640b9(0x1dc))),console[_0x2640b9(0x1c5)]('');_0x50cbf6?(console[_0x2640b9(0x1c5)](a156_0xc020fa[_0x2640b9(0x1ba)]('Config\x20file:')+('\x20\x20'+a156_0xc020fa[_0x2640b9(0x167)](_0x50cbf6[_0x2640b9(0x172)]))),console[_0x2640b9(0x1c5)](_0x2640b9(0x15e)+(_0x50cbf6[_0x2640b9(0x1da)]?a156_0xc020fa[_0x2640b9(0x1af)](_0x2640b9(0x18c)):a156_0xc020fa[_0x2640b9(0x199)](_0x2640b9(0x169)))),console[_0x2640b9(0x1c5)](_0x2640b9(0x1a1)+_0x50cbf6[_0x2640b9(0x1a4)][_0x2640b9(0x1c1)](',\x20')),console['log'](_0x2640b9(0x1a5))):console['log'](a156_0xc020fa[_0x2640b9(0x1ba)]('Config\x20file:')+'\x20\x20'+a156_0xc020fa[_0x2640b9(0x199)](_0x2640b9(0x1a0)));console['log']('');if(_0x14074e['length']>0x0){console['log'](a156_0xc020fa[_0x2640b9(0x1ba)](_0x2640b9(0x1c8)));for(const _0x47e4d4 of _0x14074e){console[_0x2640b9(0x1c5)]('\x20\x20'+a156_0xc020fa[_0x2640b9(0x158)]('FOUND')+'\x20\x20'+_0x47e4d4);}console[_0x2640b9(0x1c5)]('\x20\x20Action:\x20delete');}else console[_0x2640b9(0x1c5)](a156_0xc020fa[_0x2640b9(0x1ba)](_0x2640b9(0x1c8))+'\x20\x20'+a156_0xc020fa[_0x2640b9(0x199)](_0x2640b9(0x1d7)));console[_0x2640b9(0x1c5)]('');_0x3b8c24?(console[_0x2640b9(0x1c5)](a156_0xc020fa[_0x2640b9(0x1ba)](_0x2640b9(0x192))+('\x20\x20'+a156_0xc020fa[_0x2640b9(0x167)](_0x3b8c24['path'])+_0x2640b9(0x1c4)+_0x3b8c24[_0x2640b9(0x184)][_0x2640b9(0x1c1)](',\x20'))),console[_0x2640b9(0x1c5)](_0x2640b9(0x1ab))):console[_0x2640b9(0x1c5)](a156_0xc020fa[_0x2640b9(0x1ba)](_0x2640b9(0x192))+'\x20\x20'+a156_0xc020fa[_0x2640b9(0x199)](_0x2640b9(0x193)));console[_0x2640b9(0x1c5)](''),console['log'](a156_0xc020fa[_0x2640b9(0x1ba)]('Skill\x20swap:')+('\x20\x20'+(_0x326c0b?a156_0xc020fa[_0x2640b9(0x167)](_0x2640b9(0x162)):a156_0xc020fa[_0x2640b9(0x1af)](_0x2640b9(0x1cd)))));_0x326c0b&&console[_0x2640b9(0x1c5)](_0x2640b9(0x1a6)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console[_0x2640b9(0x1c5)]('');if(_0x2fd213[_0x2640b9(0x1a8)]){const {currentVersion:_0x222580,field:_0x430aa6,pkgPath:_0x300aa0}=_0x2fd213[_0x2640b9(0x1a8)];console['log'](a156_0xc020fa[_0x2640b9(0x1ba)](_0x2640b9(0x1c6))+('\x20\x20'+a156_0xc020fa[_0x2640b9(0x167)](_0x300aa0))),console['log'](_0x2640b9(0x161)+_0x430aa6+':\x20'+a156_0xc020fa['yellow'](_0x222580)+'\x20→\x20'+a156_0xc020fa['green']('latest')),console[_0x2640b9(0x1c5)](_0x2640b9(0x178));}else console[_0x2640b9(0x1c5)](a156_0xc020fa['cyan'](_0x2640b9(0x1c6))+'\x20\x20'+a156_0xc020fa[_0x2640b9(0x199)](_0x2640b9(0x180)));console[_0x2640b9(0x1c5)]('');}function execConfigMigration(_0x4ff54d,_0x488872){const _0x3bdb08=a156_0x3f57d2,{configMigration:_0x547dc3}=_0x4ff54d;if(!_0x547dc3?.[_0x3bdb08(0x172)])return{'step':0x1,'label':_0x3bdb08(0x1a2),'ok':!![],'detail':_0x3bdb08(0x191)};const _0x41eb12=readConfigFile(_0x547dc3[_0x3bdb08(0x172)]),_0x88f372=resolve(_0x488872,NEW_CONFIG_NAME),_0x1a6da3=_0x547dc3['hasNewConfig']?readConfigFile(_0x88f372):{};for(const [_0x2721de,_0x23ffe8]of Object[_0x3bdb08(0x187)](_0x41eb12)){!(_0x2721de in _0x1a6da3)&&(_0x1a6da3[_0x2721de]=_0x23ffe8);}writeConfigFile(_0x88f372,_0x1a6da3);const _0x1a6fa4=_0x547dc3[_0x3bdb08(0x172)]+_0x3bdb08(0x1b0);return renameSync(_0x547dc3[_0x3bdb08(0x172)],_0x1a6fa4),{'step':0x1,'label':_0x3bdb08(0x1a2),'ok':!![],'detail':_0x547dc3['oldPath']+_0x3bdb08(0x19b)+_0x88f372+_0x3bdb08(0x17a)+_0x1a6fa4+')'};}function a156_0x2e5e(){const _0x24b65c=['No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.','stringify','CANCEL','gray','oldMcpConfig','\x20→\x20','values','isDirectory','999921wMgkLJ','oldArtifacts','no\x20legacy\x20config\x20found','\x20\x20Fields\x20to\x20migrate:\x20','Config\x20migration','Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.','fields','\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak','\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`','Step\x204/7:\x20Cleaning\x20MCP\x20config...','sdkUpgrade','.cursor/mcp.json','isArray','\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server','yes','\x20\x20#\x20or','done','green','.bak','.cursor/rules/lovrabet_rules.mdc','inherit','string','push','9MiBVVa','464AkNLlL','\x20\x20bun\x20install','Step\x203/7:\x20Legacy\x20artifacts\x20—\x20','Remove\x20old\x20skill','cyan','lovrabet/rabetbase\x20installed\x20globally','Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','latest','5xFzqJX','undefined','white','join','Upgrade\x20completed\x20successfully!','lovrabet/rabetbase','\x20→\x20keys:\x20','log','@lovrabet/sdk:','\x20removed','Legacy\x20artifacts:','\x20→\x20latest','\x20\x20\x20\x20\x20\x20\x20','no\x20matching\x20entry\x20found','11QFIiDV','not\x20needed','===\x20Upgrade\x20Summary\x20===','devDependencies','detail','Step\x207/7:\x20@lovrabet/sdk\x20—\x20','filter','start','\x20removed\x20(','\x20from\x20','error','none\x20found','status','Remove\x20.lovrabet/','hasNewConfig','skipped','===\x20Upgrade\x20Analysis\x20===','includes','utf8','5088522fwJSqC','red','files','Clean\x20MCP\x20config','length','.claude/skills/lovrabet','46564ELkhbq','\x20\x20New\x20config\x20(.rabetbase.json):\x20','Upgrade\x20cancelled.','message','\x20\x20Current\x20version\x20in\x20','needed','255770ESxxHv','6LxTkdN','fail','Step\x205/7:\x20Removing\x20old\x20skill...','yellow','exit\x20','not\x20found\x20(will\x20create)','983668raYPsp','5978436wtvRXy','succeed','Step\x206/7:\x20Installing\x20new\x20skill...','Upgrade\x20@lovrabet/sdk','Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','.lovrabet','some','oldPath','object','@lovrabet/sdk','Step\x201/7:\x20Migrating\x20config...','FAIL','8373260fPHuml','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','failed','\x20(backup:\x20','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','[\x22@lovrabet/sdk\x22]:\x20','Proceed\x20with\x20upgrade?','label','Install\x20new\x20skill','not\x20found\x20or\x20already\x20at\x20latest','bold','Step\x204/7:\x20MCP\x20config\x20—\x20','Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20','keys','step','parse','entries','mcpServers','args','needsSkillSwap','Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20','already\x20exists\x20(will\x20merge)','Step\x201/7:\x20Config\x20migration\x20—\x20','skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)','@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.','configMigration','skipped\x20(no\x20legacy\x20config)','MCP\x20config:','no\x20legacy\x20entry','@lovrabet/dataset-mcp-server','path'];a156_0x2e5e=function(){return _0x24b65c;};return a156_0x2e5e();}function execRemoveOldArtifacts(_0x2b3201){const _0x10bd53=a156_0x3f57d2,_0x9fe870=[];for(const _0x40e9f3 of _0x2b3201){try{if(!existsSync(_0x40e9f3))continue;const _0x1b978b=tryStat(_0x40e9f3);_0x1b978b?.[_0x10bd53(0x19d)]()?rmSync(_0x40e9f3,{'recursive':!![],'force':!![]}):unlinkSync(_0x40e9f3);}catch(_0x18f857){_0x9fe870[_0x10bd53(0x1b4)](_0x40e9f3+':\x20'+_0x18f857[_0x10bd53(0x160)]);}}return{'step':0x3,'label':'Remove\x20legacy\x20artifacts','ok':_0x9fe870[_0x10bd53(0x15b)]===0x0,'detail':_0x9fe870['length']>0x0?_0x2b3201[_0x10bd53(0x15b)]-_0x9fe870[_0x10bd53(0x15b)]+'/'+_0x2b3201[_0x10bd53(0x15b)]+_0x10bd53(0x1d4)+_0x9fe870[_0x10bd53(0x1c1)](';\x20')+')':_0x2b3201['length']+_0x10bd53(0x1c7)};}function execCleanMcp(_0x334ae3){const _0x59c11b=a156_0x3f57d2;if(!_0x334ae3['oldMcpConfig'])return{'step':0x4,'label':_0x59c11b(0x15a),'ok':!![],'detail':'skipped'};try{const _0x1effdf=readFileSync(_0x334ae3[_0x59c11b(0x19a)][_0x59c11b(0x195)],_0x59c11b(0x1de)),_0x1de3ce=JSON[_0x59c11b(0x186)](_0x1effdf);if(_0x1de3ce?.[_0x59c11b(0x188)]&&typeof _0x1de3ce[_0x59c11b(0x188)]===_0x59c11b(0x173)){const _0x591985=[];for(const [_0x169c97,_0x4b0ee5]of Object['entries'](_0x1de3ce['mcpServers'])){_0x4b0ee5?.[_0x59c11b(0x189)]&&Array[_0x59c11b(0x1aa)](_0x4b0ee5[_0x59c11b(0x189)])&&_0x4b0ee5[_0x59c11b(0x189)]['some'](_0x40017a=>typeof _0x40017a===_0x59c11b(0x1b3)&&_0x40017a[_0x59c11b(0x1dd)](_0x59c11b(0x194)))&&_0x591985[_0x59c11b(0x1b4)](_0x169c97);}for(const _0x4e4e45 of _0x591985){delete _0x1de3ce['mcpServers'][_0x4e4e45];}return _0x591985[_0x59c11b(0x15b)]>0x0&&writeFileSync(_0x334ae3['oldMcpConfig'][_0x59c11b(0x195)],JSON[_0x59c11b(0x197)](_0x1de3ce,null,0x2)+'\x0a',_0x59c11b(0x1de)),{'step':0x4,'label':_0x59c11b(0x15a),'ok':!![],'detail':'removed\x20'+_0x591985[_0x59c11b(0x1c1)](',\x20')+_0x59c11b(0x1d5)+_0x334ae3[_0x59c11b(0x19a)][_0x59c11b(0x195)]};}return{'step':0x4,'label':'Clean\x20MCP\x20config','ok':!![],'detail':_0x59c11b(0x1cb)};}catch(_0x2f366a){return{'step':0x4,'label':_0x59c11b(0x15a),'ok':![],'detail':_0x2f366a[_0x59c11b(0x160)]};}}function execSkillsRemove(_0x1ac766,_0x3a75a3){const _0x2033a0=a156_0x3f57d2,_0x2a57de=runNpxSkillsRemove(_0x1ac766,{'stdio':_0x2033a0(0x1b2),'yes':_0x3a75a3});return{'step':0x5,'label':_0x2033a0(0x1b9),'ok':_0x2a57de['ok'],'detail':_0x2a57de['ok']?'lovrabet/lovrabet-skill\x20removed':_0x2a57de[_0x2033a0(0x1d6)]??_0x2033a0(0x168)+_0x2a57de[_0x2033a0(0x1d8)]};}function execSkillsAdd(_0x260e83,_0x4f5336){const _0x260487=a156_0x3f57d2,_0x3ecaae=runNpxSkillsAddGlobal(_0x260e83,_0x260487(0x1c3),{'stdio':'inherit','yes':_0x4f5336});return{'step':0x6,'label':_0x260487(0x17f),'ok':_0x3ecaae['ok'],'detail':_0x3ecaae['ok']?_0x260487(0x1bb):_0x3ecaae[_0x260487(0x1d6)]??'exit\x20'+_0x3ecaae[_0x260487(0x1d8)]};}function a156_0x3f5b(_0x1c5f3a,_0x217c47){_0x1c5f3a=_0x1c5f3a-0x157;const _0x2e5e30=a156_0x2e5e();let _0x3f5b1b=_0x2e5e30[_0x1c5f3a];return _0x3f5b1b;}function execUpgradeSdk(_0x192583){const _0x2acc65=a156_0x3f57d2;if(!_0x192583[_0x2acc65(0x1a8)])return{'step':0x7,'label':_0x2acc65(0x16e),'ok':!![],'detail':_0x2acc65(0x18e)};const {pkgPath:_0x273d77,currentVersion:_0x5505a5,field:_0xbf7bf1}=_0x192583['sdkUpgrade'];try{const _0x181eff=readFileSync(_0x273d77,'utf8'),_0x9fd791=JSON[_0x2acc65(0x186)](_0x181eff);return _0x9fd791[_0xbf7bf1][_0x2acc65(0x174)]=_0x2acc65(0x1bd),writeFileSync(_0x273d77,JSON[_0x2acc65(0x197)](_0x9fd791,null,0x2)+'\x0a',_0x2acc65(0x1de)),{'step':0x7,'label':'Upgrade\x20@lovrabet/sdk','ok':!![],'detail':_0xbf7bf1+_0x2acc65(0x17c)+_0x5505a5+_0x2acc65(0x1c9)};}catch(_0x513afb){return{'step':0x7,'label':_0x2acc65(0x16e),'ok':![],'detail':_0x513afb[_0x2acc65(0x160)]};}}function tryStat(_0x29188e){try{return statSync(_0x29188e);}catch{return undefined;}}function printSummary(_0x3a769b){const _0x27a836=a156_0x3f57d2;console['log'](''),console[_0x27a836(0x1c5)](a156_0xc020fa[_0x27a836(0x181)](_0x27a836(0x1ce))),console[_0x27a836(0x1c5)]('');for(const _0x3531a1 of _0x3a769b){const _0x59c03f=_0x3531a1['ok']?a156_0xc020fa[_0x27a836(0x1af)]('OK'):a156_0xc020fa[_0x27a836(0x158)](_0x27a836(0x176));console['log']('\x20\x20'+_0x59c03f+'\x20\x20Step\x20'+_0x3531a1[_0x27a836(0x185)]+':\x20'+_0x3531a1[_0x27a836(0x17e)]);if(_0x3531a1[_0x27a836(0x1d0)])console['log'](_0x27a836(0x1ca)+a156_0xc020fa[_0x27a836(0x199)](_0x3531a1[_0x27a836(0x1d0)]));}console[_0x27a836(0x1c5)]('');}export async function upgradeApp(_0x1fb839,_0x4b75d3){const _0x5b17fa=a156_0x3f57d2,_0x50b859=process['cwd'](),_0x5d290d=analyse(_0x50b859),_0x3ab4dc=!_0x5d290d[_0x5b17fa(0x190)]&&_0x5d290d[_0x5b17fa(0x19f)]['length']===0x0&&!_0x5d290d[_0x5b17fa(0x19a)]&&!_0x5d290d[_0x5b17fa(0x18a)]&&!_0x5d290d['sdkUpgrade'];if(_0x3ab4dc){console[_0x5b17fa(0x1c5)](a156_0xc020fa[_0x5b17fa(0x1af)](_0x5b17fa(0x196)));return;}printReport(_0x5d290d);const _0x11dfc0=!!(_0x4b75d3[_0x5b17fa(0x1ac)]||_0x4b75d3['Y']||_0x1fb839);if(!_0x11dfc0)try{const _0x3e0eed=await askConfirm(_0x5b17fa(0x17d));if(!_0x3e0eed){console[_0x5b17fa(0x1c5)](a156_0xc020fa[_0x5b17fa(0x199)](_0x5b17fa(0x15f)));return;}}catch(_0x4d291b){if(_0x4d291b?.[_0x5b17fa(0x160)]===_0x5b17fa(0x198)){console[_0x5b17fa(0x1c5)](a156_0xc020fa[_0x5b17fa(0x199)](_0x5b17fa(0x15f)));return;}throw _0x4d291b;}const _0x420368=[],_0x1c9f96=a156_0x3db68e({'text':_0x5b17fa(0x175),'color':_0x5b17fa(0x1ba)})[_0x5b17fa(0x1d3)](),_0x40ac17=execConfigMigration(_0x5d290d,_0x50b859);_0x420368[_0x5b17fa(0x1b4)](_0x40ac17),_0x1c9f96[_0x40ac17['ok']?_0x5b17fa(0x16c):_0x5b17fa(0x165)](_0x5b17fa(0x18d)+(_0x40ac17[_0x5b17fa(0x1d0)]??(_0x40ac17['ok']?_0x5b17fa(0x1ae):_0x5b17fa(0x179))));const _0x3ab631=resolve(_0x50b859,_0x5b17fa(0x170)),_0x19546c=a156_0x3db68e({'text':_0x5b17fa(0x16f),'color':'cyan'})[_0x5b17fa(0x1d3)]();if(existsSync(_0x3ab631))try{rmSync(_0x3ab631,{'recursive':!![],'force':!![]}),_0x19546c[_0x5b17fa(0x16c)]('Step\x202/7:\x20.lovrabet/\x20directory\x20removed'),_0x420368[_0x5b17fa(0x1b4)]({'step':0x2,'label':_0x5b17fa(0x1d9),'ok':!![]});}catch(_0x8a2b58){_0x19546c[_0x5b17fa(0x165)](_0x5b17fa(0x183)+_0x8a2b58[_0x5b17fa(0x160)]),_0x420368['push']({'step':0x2,'label':_0x5b17fa(0x1d9),'ok':![],'detail':_0x8a2b58[_0x5b17fa(0x160)]});}else _0x19546c['info']('Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped'),_0x420368[_0x5b17fa(0x1b4)]({'step':0x2,'label':'Remove\x20.lovrabet/','ok':!![],'detail':_0x5b17fa(0x1db)});const _0x85483a=a156_0x3db68e({'text':'Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','color':_0x5b17fa(0x1ba)})['start'](),_0x2bc713=execRemoveOldArtifacts(_0x5d290d[_0x5b17fa(0x19f)]);_0x420368['push'](_0x2bc713),_0x85483a[_0x2bc713['ok']?_0x5b17fa(0x16c):'fail'](_0x5b17fa(0x1b8)+(_0x2bc713[_0x5b17fa(0x1d0)]??(_0x2bc713['ok']?'done':'failed')));const _0x2e2b7c=a156_0x3db68e({'text':_0x5b17fa(0x1a7),'color':_0x5b17fa(0x1ba)})[_0x5b17fa(0x1d3)](),_0x47184b=execCleanMcp(_0x5d290d);_0x420368[_0x5b17fa(0x1b4)](_0x47184b),_0x2e2b7c[_0x47184b['ok']?'succeed':_0x5b17fa(0x165)](_0x5b17fa(0x182)+(_0x47184b[_0x5b17fa(0x1d0)]??(_0x47184b['ok']?_0x5b17fa(0x1ae):_0x5b17fa(0x179))));const _0x4e4a51=a156_0x3db68e({'text':_0x5b17fa(0x166),'color':_0x5b17fa(0x1ba)})[_0x5b17fa(0x1d3)](),_0x53f237=execSkillsRemove(_0x50b859,_0x11dfc0);_0x420368[_0x5b17fa(0x1b4)](_0x53f237),_0x4e4a51[_0x53f237['ok']?_0x5b17fa(0x16c):'fail'](_0x5b17fa(0x18b)+(_0x53f237['detail']??(_0x53f237['ok']?_0x5b17fa(0x1ae):'failed')));const _0x748ca=a156_0x3db68e({'text':_0x5b17fa(0x16d),'color':_0x5b17fa(0x1ba)})[_0x5b17fa(0x1d3)](),_0x1cc22c=execSkillsAdd(_0x50b859,_0x11dfc0);_0x420368['push'](_0x1cc22c),_0x748ca[_0x1cc22c['ok']?_0x5b17fa(0x16c):'fail']('Step\x206/7:\x20Install\x20new\x20skill\x20—\x20'+(_0x1cc22c[_0x5b17fa(0x1d0)]??(_0x1cc22c['ok']?_0x5b17fa(0x1ae):'failed')));const _0x3c3fd1=a156_0x3db68e({'text':_0x5b17fa(0x17b),'color':'cyan'})[_0x5b17fa(0x1d3)](),_0x24bcb3=execUpgradeSdk(_0x5d290d);_0x420368[_0x5b17fa(0x1b4)](_0x24bcb3),_0x3c3fd1[_0x24bcb3['ok']?_0x5b17fa(0x16c):'fail'](_0x5b17fa(0x1d1)+(_0x24bcb3[_0x5b17fa(0x1d0)]??(_0x24bcb3['ok']?'done':'failed'))),printSummary(_0x420368);const _0x5f153b=_0x420368[_0x5b17fa(0x171)](_0x2205bf=>!_0x2205bf['ok']);_0x5f153b?console[_0x5b17fa(0x1c5)](a156_0xc020fa[_0x5b17fa(0x167)](_0x5b17fa(0x1a3))):console[_0x5b17fa(0x1c5)](a156_0xc020fa['green'](_0x5b17fa(0x1c2))),_0x24bcb3['ok']&&_0x5d290d[_0x5b17fa(0x1a8)]&&(console[_0x5b17fa(0x1c5)](''),console[_0x5b17fa(0x1c5)](a156_0xc020fa[_0x5b17fa(0x181)][_0x5b17fa(0x1ba)](_0x5b17fa(0x18f))),console[_0x5b17fa(0x1c5)](a156_0xc020fa[_0x5b17fa(0x1ba)](_0x5b17fa(0x1bc))),console[_0x5b17fa(0x1c5)](''),console[_0x5b17fa(0x1c5)](a156_0xc020fa['white']('\x20\x20npm\x20install')),console['log'](a156_0xc020fa[_0x5b17fa(0x1c0)](_0x5b17fa(0x1ad))),console[_0x5b17fa(0x1c5)](a156_0xc020fa['white'](_0x5b17fa(0x1b7))),console[_0x5b17fa(0x1c5)](''));}
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 +1 @@
1
- const a157_0x50d7e3=a157_0x5218;(function(_0x3ab67a,_0x14efdb){const _0xf5572f=a157_0x5218,_0xd9f6f5=_0x3ab67a();while(!![]){try{const _0x25ce59=parseInt(_0xf5572f(0x197))/0x1*(-parseInt(_0xf5572f(0x19d))/0x2)+parseInt(_0xf5572f(0x19e))/0x3*(parseInt(_0xf5572f(0x172))/0x4)+-parseInt(_0xf5572f(0x199))/0x5+-parseInt(_0xf5572f(0x17a))/0x6*(parseInt(_0xf5572f(0x156))/0x7)+-parseInt(_0xf5572f(0x15b))/0x8+-parseInt(_0xf5572f(0x17f))/0x9*(-parseInt(_0xf5572f(0x198))/0xa)+parseInt(_0xf5572f(0x176))/0xb*(parseInt(_0xf5572f(0x173))/0xc);if(_0x25ce59===_0x14efdb)break;else _0xd9f6f5['push'](_0xd9f6f5['shift']());}catch(_0x2c842a){_0xd9f6f5['push'](_0xd9f6f5['shift']());}}}(a157_0x113a,0x5c90b));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';function a157_0x113a(){const _0x18c322=['commands','4wHcdQo','7260804wFElhK','Project','service','11SGcJhC','`rabetbase\x20app\x20remote`\x20has\x20been\x20removed.','`rabetbase\x20skills`\x20has\x20been\x20removed.','preview','6tDrFGV','Async\x20Tasks','filter','skills','<script>','252KWQnvN','defaultCommand','login','read','Self\x20Update','App\x20Management','get','has','Use\x20`rabetbase\x20app\x20list\x20--remote`\x20instead.','length','install','Menu','start','Database\x20Connections','show','Instant\x20API','\x20\x20[write]','Logs','Diagnostics','hidden','risk','map','Use\x20`rabetbase\x20cli-skill\x20install`\x20to\x20refresh\x20the\x20Rabetbase\x20CLI\x20Built-in\x20Skill.\x20To\x20install\x20business\x20Skills,\x20use\x20`lovrabet\x20skill\x20install`.','Run\x20any\x20package.json\x20script','1xXsgFJ','235010PiYVNC','1445040harYPr','run','Run\x20Scripts','API\x20Development','412642ZphhyB','413529LhetFZ','Smart\x20List\x20Pages','Permissions','wildcardDef','use','3538101gySJZm','\x20\x20[high-risk-write]','BFF\x20Scripts','build','`\x20has\x20been\x20removed.','168152tlnPoH','set','`rabetbase\x20app\x20use`\x20has\x20been\x20removed.','Workspace','app\x20use','write','isSingleCommand','skill','create','Use\x20`rabetbase\x20workspace\x20use\x20--app\x20<name>`\x20instead.','`rabetbase\x20','SQL\x20Queries','Dataset\x20&\x20Operations','command','OCR','app','Quick\x20Start','File','Notification\x20Configuration','push','app\x20remote','remote'];a157_0x113a=function(){return _0x18c322;};return a157_0x113a();}import{menuDefinitions}from'../commands/menu/index.js';import{taskDefinitions}from'../commands/task/index.js';import{roleDefinitions}from'../commands/role/index.js';import{permitDefinitions}from'../commands/permit/index.js';import{appDefinitions}from'../commands/app/index.js';import{appConfigDefinitions}from'../commands/app-config/index.js';import{notificationDefinitions}from'../commands/notification/index.js';import{workspaceDefinitions}from'../commands/workspace/index.js';import{configDefinitions}from'../commands/config/index.js';import{doctorDefinition}from'../commands/doctor.js';import{updateDefinition}from'../commands/cli-update.js';import{schemaDefinition}from'../commands/schema.js';import{issueDefinitions}from'../commands/issue/index.js';import{fileDefinitions}from'../commands/file/index.js';import{ocrDefinitions}from'../commands/ocr/index.js';import{cliSkillDefinitions}from'../commands/cli-skill/index.js';import{authDefinitions}from'../commands/auth/index.js';function a157_0x5218(_0x2c9c67,_0x51fd4f){_0x2c9c67=_0x2c9c67-0x156;const _0x113a7c=a157_0x113a();let _0x5218e0=_0x113a7c[_0x2c9c67];return _0x5218e0;}import{logsDefinitions}from'../commands/logs/index.js';import{projectDefinitions}from'../commands/project/index.js';import{initDefinitions}from'../commands/init/index.js';import{runDefinition}from'../commands/run/index.js';export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();export const serviceGroups=new Map();function registerDefinitions(_0x2f4f42){const _0x288df9=a157_0x5218;for(const _0x233a43 of _0x2f4f42){definitions[_0x288df9(0x15c)](_0x233a43[_0x288df9(0x175)]+':'+_0x233a43['command'],_0x233a43);let _0x24c424=serviceGroups[_0x288df9(0x185)](_0x233a43['service']);!_0x24c424&&(_0x24c424=[],serviceGroups['set'](_0x233a43[_0x288df9(0x175)],_0x24c424)),_0x24c424[_0x288df9(0x16e)](_0x233a43);}}function registerDeclarativeService(_0x345886,_0x347fe7,_0x4edd4a){const _0x51ff6b=a157_0x5218;registerDefinitions(_0x347fe7);_0x4edd4a?.['wildcardDef']&&registerDefinitions([_0x4edd4a[_0x51ff6b(0x1a1)]]);const _0x48eca9=_0x45c08f=>_0x45c08f===_0x51ff6b(0x182)?'':_0x45c08f===_0x51ff6b(0x160)?_0x51ff6b(0x18f):_0x51ff6b(0x157),_0x4bc766={'service':_0x347fe7[0x0][_0x51ff6b(0x175)],'label':_0x345886,'commands':_0x347fe7[_0x51ff6b(0x17c)](_0x4f06e9=>!_0x4f06e9[_0x51ff6b(0x192)])[_0x51ff6b(0x194)](_0x47d946=>({'command':_0x47d946['command'],'description':_0x47d946['description'],'tag':_0x48eca9(_0x47d946[_0x51ff6b(0x193)])})),'declarative':!![],'defaultCommand':_0x4edd4a?.[_0x51ff6b(0x180)]??(_0x4edd4a?.[_0x51ff6b(0x161)]?_0x347fe7[0x0][_0x51ff6b(0x168)]:undefined),'wildcardDef':_0x4edd4a?.[_0x51ff6b(0x1a1)],'isSingleCommand':_0x4edd4a?.[_0x51ff6b(0x161)]};serviceRegistry[_0x51ff6b(0x16e)](_0x4bc766),serviceByName[_0x51ff6b(0x15c)](_0x4bc766[_0x51ff6b(0x175)],_0x4bc766);}registerDeclarativeService(a157_0x50d7e3(0x16b),initDefinitions,{'defaultCommand':a157_0x50d7e3(0x19a),'isSingleCommand':!![]}),registerDeclarativeService(a157_0x50d7e3(0x174),projectDefinitions),registerDeclarativeService(a157_0x50d7e3(0x15e),workspaceDefinitions),registerDeclarativeService(a157_0x50d7e3(0x184),appDefinitions),registerDeclarativeService('Authentication',authDefinitions,{'defaultCommand':a157_0x50d7e3(0x181)}),registerDeclarativeService(a157_0x50d7e3(0x167),datasetDefinitions),registerDeclarativeService(a157_0x50d7e3(0x19f),pageDefinitions),registerDeclarativeService(a157_0x50d7e3(0x19c),apiDefinitions),registerDeclarativeService(a157_0x50d7e3(0x18e),dataDefinitions),registerDeclarativeService(a157_0x50d7e3(0x158),bffDefinitions),registerDeclarativeService(a157_0x50d7e3(0x16d),notificationDefinitions),registerDeclarativeService(a157_0x50d7e3(0x166),sqlDefinitions),registerDeclarativeService(a157_0x50d7e3(0x18c),dbDefinitions),registerDeclarativeService(a157_0x50d7e3(0x18a),menuDefinitions),registerDeclarativeService(a157_0x50d7e3(0x17b),taskDefinitions),registerDeclarativeService('Roles',roleDefinitions),registerDeclarativeService(a157_0x50d7e3(0x1a0),permitDefinitions),registerDeclarativeService('Runtime\x20App\x20Config\x20Management',appConfigDefinitions),registerDeclarativeService('Platform\x20Issue',issueDefinitions),registerDeclarativeService(a157_0x50d7e3(0x16c),fileDefinitions),registerDeclarativeService(a157_0x50d7e3(0x169),ocrDefinitions),registerDeclarativeService('Code\x20Generation',codegenDefinitions),registerDeclarativeService('Configuration',configDefinitions),registerDeclarativeService(a157_0x50d7e3(0x191),[doctorDefinition],{'isSingleCommand':!![]}),registerDeclarativeService('Schema',[schemaDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a157_0x50d7e3(0x183),[updateDefinition],{'isSingleCommand':!![]}),registerDeclarativeService('CLI\x20Built-in\x20Skill',cliSkillDefinitions,{'defaultCommand':a157_0x50d7e3(0x189)}),registerDeclarativeService(a157_0x50d7e3(0x190),logsDefinitions,{'defaultCommand':a157_0x50d7e3(0x18d)}),registerDeclarativeService(a157_0x50d7e3(0x19b),[runDefinition],{'wildcardDef':runDefinition});{const last=serviceRegistry[serviceRegistry[a157_0x50d7e3(0x188)]-0x1];last[a157_0x50d7e3(0x171)]=[{'command':a157_0x50d7e3(0x17e),'description':a157_0x50d7e3(0x196),'tag':''}];}export const deprecatedAliases={'create':{'service':'project','command':a157_0x50d7e3(0x163)},'start':{'service':a157_0x50d7e3(0x19a),'command':a157_0x50d7e3(0x18b)},'build':{'service':a157_0x50d7e3(0x19a),'command':a157_0x50d7e3(0x159)},'preview':{'service':a157_0x50d7e3(0x19a),'command':a157_0x50d7e3(0x179)},'logout':{'service':'auth','command':'logout'}};const CLI_SKILL_INSTALL_REMOVED_HINT=a157_0x50d7e3(0x195),APP_REMOTE_REMOVED_HINT=a157_0x50d7e3(0x187),APP_USE_REMOVED_HINT=a157_0x50d7e3(0x164);export function resolveRemovedCommand(_0x3b7f72,_0x2863d2){const _0x26b9f5=a157_0x50d7e3;if(_0x3b7f72==='skill'){const _0x1058ba=_0x2863d2?'skill\x20'+_0x2863d2:_0x26b9f5(0x162);return{'command':_0x1058ba,'message':_0x26b9f5(0x165)+_0x1058ba+_0x26b9f5(0x15a),'hint':CLI_SKILL_INSTALL_REMOVED_HINT};}if(_0x3b7f72===_0x26b9f5(0x17d))return{'command':_0x26b9f5(0x17d),'message':_0x26b9f5(0x178),'hint':CLI_SKILL_INSTALL_REMOVED_HINT};if(_0x3b7f72===_0x26b9f5(0x16a)&&_0x2863d2===_0x26b9f5(0x170))return{'command':_0x26b9f5(0x16f),'message':_0x26b9f5(0x177),'hint':APP_REMOTE_REMOVED_HINT};if(_0x3b7f72==='app'&&_0x2863d2===_0x26b9f5(0x1a2))return{'command':_0x26b9f5(0x15f),'message':_0x26b9f5(0x15d),'hint':APP_USE_REMOVED_HINT};return undefined;}export const deprecatedSubcommands={'bff':{'new':'create'},'sql':{'new':a157_0x50d7e3(0x163)},'menu':{'update':'asset-update'}};export function resolveDeprecatedSubcommand(_0x91c12d,_0x2a8f06){return deprecatedSubcommands[_0x91c12d]?.[_0x2a8f06];}export function findDefinition(_0x346aa4,_0x197d3e){const _0x39f942=a157_0x50d7e3;return definitions[_0x39f942(0x185)](_0x346aa4+':'+_0x197d3e);}export function isKnownService(_0x1ac987){const _0x1a90eb=a157_0x50d7e3;return serviceByName[_0x1a90eb(0x186)](_0x1ac987);}export function isDeclarativeService(_0x207253){const _0x5b5892=a157_0x50d7e3;return serviceGroups[_0x5b5892(0x186)](_0x207253)||serviceByName[_0x5b5892(0x185)](_0x207253)?.['wildcardDef']!==undefined;}export function getServiceEntry(_0x19565f){const _0xfa9e87=a157_0x50d7e3;return serviceByName[_0xfa9e87(0x185)](_0x19565f);}export function getLegacyHandler(_0x45ebc9,_0x77ee1a){return undefined;}export function getAllDefinitions(){return Array['from'](definitions['values']());}
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 +1 @@
1
- const a158_0x2ed7a1=a158_0x4aa0;(function(_0x406d50,_0x505c2f){const _0x26a497=a158_0x4aa0,_0x2adbc9=_0x406d50();while(!![]){try{const _0x4d6590=-parseInt(_0x26a497(0x1aa))/0x1*(-parseInt(_0x26a497(0x1a4))/0x2)+-parseInt(_0x26a497(0x1b5))/0x3+-parseInt(_0x26a497(0x1ae))/0x4*(parseInt(_0x26a497(0x1b3))/0x5)+parseInt(_0x26a497(0x1b6))/0x6*(parseInt(_0x26a497(0x1b2))/0x7)+parseInt(_0x26a497(0x1b1))/0x8+parseInt(_0x26a497(0x1ac))/0x9*(parseInt(_0x26a497(0x1ab))/0xa)+-parseInt(_0x26a497(0x1a7))/0xb*(-parseInt(_0x26a497(0x1a1))/0xc);if(_0x4d6590===_0x505c2f)break;else _0x2adbc9['push'](_0x2adbc9['shift']());}catch(_0x1353a6){_0x2adbc9['push'](_0x2adbc9['shift']());}}}(a158_0x2bb3,0x34be7));function a158_0x2bb3(){const _0x11ad3c=['6VfTaHT','POST','appCode','create','\x20(id=','roleName','trim','2483436SfYsxx','str','validation','112ChgixA','remark','role','22jlMQtO','Create\x20a\x20CUSTOM\x20user\x20group\x20(role)','length','2081DRGcOV','10JfPsLB','2383515pPVuOB','Created\x20role\x20','3204QdJzxn','/smartapi/permit/role/create','name','571936YbCkSP','1041523LfCdHP','2495dIfvbb','flagMissing','1199460pyKjjl'];a158_0x2bb3=function(){return _0x11ad3c;};return a158_0x2bb3();}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=a158_0x2ed7a1(0x1af);function a158_0x4aa0(_0x2b89bd,_0x16767b){_0x2b89bd=_0x2b89bd-0x19d;const _0x2bb371=a158_0x2bb3();let _0x4aa06f=_0x2bb371[_0x2b89bd];return _0x4aa06f;}function readName(_0x58d016){const _0x2e7568=a158_0x2ed7a1,_0xabfb99=_0x58d016[_0x2e7568(0x1a2)](_0x2e7568(0x1b0))['trim']();if(!_0xabfb99)throw CliErrors[_0x2e7568(0x1b4)](_0x2e7568(0x1b0),'Pass\x20--name\x20<roleName>.');if(_0xabfb99[_0x2e7568(0x1a9)]>0x40)throw CliErrors[_0x2e7568(0x1a3)]('Role\x20name\x20cannot\x20exceed\x2064\x20characters.');return _0xabfb99;}export const roleCreate={'service':a158_0x2ed7a1(0x1a6),'command':'create','description':a158_0x2ed7a1(0x1a8),'risk':'write','flags':[NAME_FLAG,REMARK_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x1b6053){readName(_0x1b6053);},async 'dryRun'(_0x510505){const _0x28c255=a158_0x2ed7a1,_0xfe542a=readName(_0x510505),_0x38820e=_0x510505[_0x28c255(0x1a2)](_0x28c255(0x1a5))[_0x28c255(0x1a0)]()||undefined;return asDryRunResult({'operation':_0x28c255(0x19d),'selector':{'appCode':_0x510505[_0x28c255(0x1b8)],'roleName':_0xfe542a},'before':null,'after':{'roleName':_0xfe542a,'roleType':'CUSTOM','remark':_0x38820e},'dryRun':!![],'backend':{'method':_0x28c255(0x1b7),'path':CREATE_PATH},'warnings':[]},{'method':'POST','url':CREATE_PATH});},async 'execute'(_0x20c920){const _0x48cdca=a158_0x2ed7a1,_0xf4b3a0=readName(_0x20c920),_0x3055b7=_0x20c920[_0x48cdca(0x1a2)](_0x48cdca(0x1a5))['trim']()||undefined,_0x521165=await createAppRole({'appCode':_0x20c920[_0x48cdca(0x1b8)],'roleName':_0xf4b3a0,..._0x3055b7?{'remark':_0x3055b7}:{}});return{'ok':!![],'data':{'operation':_0x48cdca(0x19d),'selector':{'appCode':_0x20c920[_0x48cdca(0x1b8)],'roleId':_0x521165['id'],'roleName':_0xf4b3a0},'before':null,'after':projectRole(_0x521165),'dryRun':![],'backend':{'method':_0x48cdca(0x1b7),'path':CREATE_PATH},'warnings':[]},'message':_0x48cdca(0x1ad)+_0x521165[_0x48cdca(0x19f)]+_0x48cdca(0x19e)+_0x521165['id']+')'};}};
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 +1 @@
1
- const a159_0x393e8f=a159_0x3700;function a159_0x3700(_0x21a503,_0x313e5c){_0x21a503=_0x21a503-0x1a4;const _0x32ee74=a159_0x32ee();let _0x370061=_0x32ee74[_0x21a503];return _0x370061;}(function(_0x31173d,_0x429b36){const _0x59c90b=a159_0x3700,_0x16a4da=_0x31173d();while(!![]){try{const _0x4c153f=-parseInt(_0x59c90b(0x1a8))/0x1*(parseInt(_0x59c90b(0x1a5))/0x2)+-parseInt(_0x59c90b(0x1b5))/0x3+parseInt(_0x59c90b(0x1a6))/0x4+-parseInt(_0x59c90b(0x1a4))/0x5+-parseInt(_0x59c90b(0x1b1))/0x6+parseInt(_0x59c90b(0x1a9))/0x7+parseInt(_0x59c90b(0x1aa))/0x8;if(_0x4c153f===_0x429b36)break;else _0x16a4da['push'](_0x16a4da['shift']());}catch(_0x1a15af){_0x16a4da['push'](_0x16a4da['shift']());}}}(a159_0x32ee,0x90b55));function a159_0x32ee(){const _0x1f3fa5=['/smartapi/permit/role/delete','userCount','2348124Tyqifd','528410CPjWfI','2582oyvcBf','560108BNnvkk','Delete\x20a\x20CUSTOM\x20role\x20(DEV/ADMIN\x20rejected);\x20requires\x20--yes','361GVfVbo','3157658Vugldv','14433088pGsYKq','role','appCode','Role\x20still\x20has\x20','POST','delete','roleName','2688546ApDvjH','\x20member(s);\x20they\x20will\x20lose\x20this\x20group.'];a159_0x32ee=function(){return _0x1f3fa5;};return a159_0x32ee();}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=a159_0x393e8f(0x1b3);export const roleDelete={'service':a159_0x393e8f(0x1ab),'command':a159_0x393e8f(0x1af),'description':a159_0x393e8f(0x1a7),'risk':'high-risk-write','flags':[ROLE_ID_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x1d09c6){const _0x843c35=a159_0x393e8f,_0x26a165=_0x1d09c6['num']('id'),_0x2d9d03=await getRoleById(_0x1d09c6[_0x843c35(0x1ac)],_0x26a165);return assertCustomRole(_0x2d9d03,_0x843c35(0x1af)),asDryRunResult({'operation':_0x843c35(0x1af),'selector':{'appCode':_0x1d09c6['appCode'],'roleId':_0x26a165,'roleName':_0x2d9d03['roleName']},'before':projectRole(_0x2d9d03),'after':null,'dryRun':!![],'backend':{'method':_0x843c35(0x1ae),'path':DELETE_PATH},'warnings':_0x2d9d03['userCount']>0x0?[_0x843c35(0x1ad)+_0x2d9d03[_0x843c35(0x1b4)]+_0x843c35(0x1b2)]:[]},{'method':_0x843c35(0x1ae),'url':DELETE_PATH});},async 'execute'(_0x165cda){const _0x4264de=a159_0x393e8f,_0x1cd4cb=_0x165cda['num']('id'),_0xd51d35=await getRoleById(_0x165cda['appCode'],_0x1cd4cb);return assertCustomRole(_0xd51d35,_0x4264de(0x1af)),await deleteAppRole(_0x1cd4cb),{'ok':!![],'data':{'operation':'delete','selector':{'appCode':_0x165cda[_0x4264de(0x1ac)],'roleId':_0x1cd4cb,'roleName':_0xd51d35[_0x4264de(0x1b0)]},'before':projectRole(_0xd51d35),'after':null,'dryRun':![],'backend':{'method':'POST','path':DELETE_PATH},'warnings':[]},'message':'Deleted\x20role\x20'+_0xd51d35[_0x4264de(0x1b0)]+'\x20(id='+_0x1cd4cb+')'};}};
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 +1 @@
1
- const a160_0x1a9ef6=a160_0x34c8;function a160_0x34c8(_0x8230f3,_0xb9c1a6){_0x8230f3=_0x8230f3-0xf6;const _0xe03f1d=a160_0xe03f();let _0x34c867=_0xe03f1d[_0x8230f3];return _0x34c867;}(function(_0x396dff,_0x29675f){const _0x71beb9=a160_0x34c8,_0x1fa15e=_0x396dff();while(!![]){try{const _0x4620ca=-parseInt(_0x71beb9(0xf6))/0x1*(-parseInt(_0x71beb9(0x103))/0x2)+parseInt(_0x71beb9(0xfa))/0x3+-parseInt(_0x71beb9(0xfe))/0x4+-parseInt(_0x71beb9(0x104))/0x5+-parseInt(_0x71beb9(0x101))/0x6*(parseInt(_0x71beb9(0x102))/0x7)+parseInt(_0x71beb9(0xf7))/0x8*(-parseInt(_0x71beb9(0xf9))/0x9)+parseInt(_0x71beb9(0xff))/0xa*(parseInt(_0x71beb9(0x100))/0xb);if(_0x4620ca===_0x29675f)break;else _0x1fa15e['push'](_0x1fa15e['shift']());}catch(_0x1fb46f){_0x1fa15e['push'](_0x1fa15e['shift']());}}}(a160_0xe03f,0x2277e));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{getRoleById,projectRole,ROLE_ID_FLAG}from'../../commands/role/shared.js';function a160_0xe03f(){const _0x1d4b45=['48CGNXHW','17563VMebii','2SLIyun','877750nrREwZ','153967ktpbhj','8ZTCiuT','appCode','2459745fcaQDf','651999KtkipQ','role','num','roleType','443520WOnGel','1230qLJQSt','31273qwwzCd'];a160_0xe03f=function(){return _0x1d4b45;};return a160_0xe03f();}export const roleDetail={'service':a160_0x1a9ef6(0xfb),'command':'detail','description':'Show\x20a\x20single\x20role\x27s\x20detail','risk':'read','flags':[ROLE_ID_FLAG,APPCODE_FLAG_OPTIONAL],async 'execute'(_0xc85295){const _0x186463=a160_0x1a9ef6,_0x285d8f=_0xc85295[_0x186463(0xfc)]('id'),_0x51917e=await getRoleById(_0xc85295[_0x186463(0xf8)],_0x285d8f);return{'ok':!![],'data':{'role':projectRole(_0x51917e)},'message':'Role\x20'+_0x51917e['roleName']+'\x20('+_0x51917e[_0x186463(0xfd)]+')'};}};
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 +1 @@
1
- (function(_0x30bdeb,_0x5e287d){const _0x296a66=a161_0x1367,_0x3e6f7e=_0x30bdeb();while(!![]){try{const _0x24f076=parseInt(_0x296a66(0x1ab))/0x1+-parseInt(_0x296a66(0x1a6))/0x2*(parseInt(_0x296a66(0x1a1))/0x3)+parseInt(_0x296a66(0x1a7))/0x4*(parseInt(_0x296a66(0x1a9))/0x5)+-parseInt(_0x296a66(0x1a3))/0x6*(parseInt(_0x296a66(0x1a4))/0x7)+parseInt(_0x296a66(0x1a8))/0x8*(-parseInt(_0x296a66(0x1a5))/0x9)+parseInt(_0x296a66(0x1a2))/0xa+parseInt(_0x296a66(0x1aa))/0xb;if(_0x24f076===_0x5e287d)break;else _0x3e6f7e['push'](_0x3e6f7e['shift']());}catch(_0x135b65){_0x3e6f7e['push'](_0x3e6f7e['shift']());}}}(a161_0x10f7,0xbff07));function a161_0x10f7(){const _0x90bc62=['36wMJPvO','2015802sbfbvC','44UqECIO','3139784vsHCsq','645215FnoNGI','23675124wuoKYi','816475IzhKnm','3zSrpuv','4122060hNyhiR','6KweHXN','10055234KyyJgr'];a161_0x10f7=function(){return _0x90bc62;};return a161_0x10f7();}import{roleList}from'../../commands/role/list.js';import{roleDetail}from'../../commands/role/detail.js';import{roleCreate}from'../../commands/role/create.js';import{roleUpdate}from'../../commands/role/update.js';function a161_0x1367(_0x3f9faf,_0x1b6954){_0x3f9faf=_0x3f9faf-0x1a1;const _0x10f78c=a161_0x10f7();let _0x136758=_0x10f78c[_0x3f9faf];return _0x136758;}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(_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 +1 @@
1
- function a162_0x2cde(_0x41f0dc,_0x435b15){_0x41f0dc=_0x41f0dc-0x14a;const _0xacd012=a162_0xacd0();let _0x2cded6=_0xacd012[_0x41f0dc];return _0x2cded6;}const a162_0x577c61=a162_0x2cde;(function(_0xafdff9,_0x370e1e){const _0x47865d=a162_0x2cde,_0x3f61ba=_0xafdff9();while(!![]){try{const _0x351e20=parseInt(_0x47865d(0x16a))/0x1+parseInt(_0x47865d(0x158))/0x2*(parseInt(_0x47865d(0x14f))/0x3)+-parseInt(_0x47865d(0x16f))/0x4+parseInt(_0x47865d(0x163))/0x5+parseInt(_0x47865d(0x165))/0x6*(parseInt(_0x47865d(0x150))/0x7)+parseInt(_0x47865d(0x170))/0x8*(parseInt(_0x47865d(0x16b))/0x9)+-parseInt(_0x47865d(0x14c))/0xa*(parseInt(_0x47865d(0x16c))/0xb);if(_0x351e20===_0x370e1e)break;else _0x3f61ba['push'](_0x3f61ba['shift']());}catch(_0x268095){_0x3f61ba['push'](_0x3f61ba['shift']());}}}(a162_0xacd0,0x55ecb));import{listAppRoles}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';function a162_0xacd0(){const _0x4036b1=['\x20role(s)','--pagesize\x20must\x20be\x20between\x201\x20and\x20100.','2750485BVkYOC','Filter\x20by\x20role\x20type','12NZsJlS','CUSTOM','length','page','str','104216iyJZgH','2113974ArrYFB','11cFaAyW','roleType','join','78944maxgBN','8iDbtkV','trim','List\x20user\x20groups\x20(roles)\x20for\x20the\x20current\x20app','14335580pDyGOd','ADMIN','Use\x20one\x20of:\x20','273201ReeoCD','1931209YsTRtS','pagesize','type','list','includes','read','toUpperCase','DEV','8nukcrX','number','Invalid\x20--type\x20\x22','Page\x20size\x20(1-100)','map','validation','num','USER','filter'];a162_0xacd0=function(){return _0x4036b1;};return a162_0xacd0();}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{projectRole}from'../../commands/role/shared.js';const ROLE_TYPES=[a162_0x577c61(0x14d),a162_0x577c61(0x157),a162_0x577c61(0x15f),a162_0x577c61(0x166)];export const roleList={'service':'role','command':a162_0x577c61(0x153),'description':a162_0x577c61(0x14b),'risk':a162_0x577c61(0x155),'flags':[APPCODE_FLAG_OPTIONAL,{'name':'type','type':'string','required':![],'description':a162_0x577c61(0x164),'enum':ROLE_TYPES},{'name':a162_0x577c61(0x168),'type':a162_0x577c61(0x159),'description':'Page\x20index\x20(1-based)','default':0x1},{'name':a162_0x577c61(0x151),'type':'number','description':a162_0x577c61(0x15b),'default':0x64}],async 'validate'(_0x4eef65){const _0x2ea670=a162_0x577c61,_0x46ce35=_0x4eef65[_0x2ea670(0x169)](_0x2ea670(0x152))[_0x2ea670(0x14a)]();if(_0x46ce35&&!ROLE_TYPES[_0x2ea670(0x154)](_0x46ce35['toUpperCase']()))throw CliErrors[_0x2ea670(0x15d)](_0x2ea670(0x15a)+_0x46ce35+'\x22.',_0x2ea670(0x14e)+ROLE_TYPES[_0x2ea670(0x16e)](',\x20')+'.');const _0x585ec0=_0x4eef65['num'](_0x2ea670(0x168),0x1),_0x8f718a=_0x4eef65[_0x2ea670(0x15e)](_0x2ea670(0x151),0x64);if(_0x585ec0<0x1)throw CliErrors[_0x2ea670(0x15d)]('--page\x20must\x20be\x20greater\x20than\x20or\x20equal\x20to\x201.');if(_0x8f718a<0x1||_0x8f718a>0x64)throw CliErrors[_0x2ea670(0x15d)](_0x2ea670(0x162));},async 'execute'(_0x545f08){const _0x411154=a162_0x577c61,_0x18ad7f=_0x545f08[_0x411154(0x15e)](_0x411154(0x168),0x1)||0x1,_0x2404c6=_0x545f08[_0x411154(0x15e)]('pagesize',0x64)||0x64,_0x2ea38a=_0x545f08['str'](_0x411154(0x152))['trim']()[_0x411154(0x156)](),{items:_0x20a45c,paging:_0x1c5d7c}=await listAppRoles(_0x545f08['appCode'],{'currentPage':_0x18ad7f,'pageSize':_0x2404c6}),_0x1aa08e=_0x2ea38a?_0x20a45c[_0x411154(0x160)](_0x19e69e=>_0x19e69e[_0x411154(0x16d)]===_0x2ea38a):_0x20a45c,_0x5a27c6=_0x1aa08e[_0x411154(0x15c)](projectRole);return{'ok':!![],'data':{'roles':_0x5a27c6,'paging':_0x1c5d7c},'message':'Found\x20'+_0x5a27c6[_0x411154(0x167)]+_0x411154(0x161)};}};
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 +1 @@
1
- const a163_0x3ac524=a163_0x537b;(function(_0x5e700e,_0x59b544){const _0x313ade=a163_0x537b,_0x8b95ff=_0x5e700e();while(!![]){try{const _0x4573a8=parseInt(_0x313ade(0xeb))/0x1+parseInt(_0x313ade(0x10c))/0x2+-parseInt(_0x313ade(0x109))/0x3*(parseInt(_0x313ade(0xf9))/0x4)+-parseInt(_0x313ade(0xfe))/0x5+-parseInt(_0x313ade(0xe1))/0x6*(-parseInt(_0x313ade(0xe7))/0x7)+-parseInt(_0x313ade(0xdf))/0x8+parseInt(_0x313ade(0xfd))/0x9;if(_0x4573a8===_0x59b544)break;else _0x8b95ff['push'](_0x8b95ff['shift']());}catch(_0x5dcca0){_0x8b95ff['push'](_0x8b95ff['shift']());}}}(a163_0xb0b2,0x9e92d));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':a163_0x3ac524(0xfa),'required':!![],'description':a163_0x3ac524(0x112)};export const ROLE_REF_FLAG={'name':a163_0x3ac524(0x11b),'type':'string','required':!![],'description':a163_0x3ac524(0xe2)};export const USER_REF_FLAG={'name':'user','type':a163_0x3ac524(0x117),'required':!![],'description':a163_0x3ac524(0xef)};export const NAME_FLAG={'name':a163_0x3ac524(0xea),'type':a163_0x3ac524(0x117),'required':!![],'description':a163_0x3ac524(0xe9)};export const USER_NAME_FLAG={'name':a163_0x3ac524(0xea),'type':a163_0x3ac524(0x117),'required':!![],'description':a163_0x3ac524(0x114)};export const REMARK_FLAG={'name':'remark','type':a163_0x3ac524(0x117),'required':![],'description':'Optional\x20role\x20remark/description'};export const EXPECT_USER_COUNT_FLAG={'name':a163_0x3ac524(0x111),'type':a163_0x3ac524(0xfa),'required':![],'description':a163_0x3ac524(0xe6)};export const BUILTIN_ROLE_TYPES=[a163_0x3ac524(0x102),'DEV','USER'];export function isBuiltinRole(_0xe5fb7f){return BUILTIN_ROLE_TYPES['includes'](_0xe5fb7f);}export function assertCustomRole(_0x39507e,_0x3b3623){const _0x527ac9=a163_0x3ac524;if(_0x39507e[_0x527ac9(0xfc)]!==_0x527ac9(0xe8))throw CliErrors[_0x527ac9(0xec)](_0x527ac9(0x113)+_0x3b3623+_0x527ac9(0x10b)+_0x39507e['roleName']+'\x20('+_0x39507e[_0x527ac9(0xfc)]+').',_0x527ac9(0xf4));}export function assertPermConfigurable(_0x37b727){const _0x419de1=a163_0x3ac524;if(_0x37b727[_0x419de1(0xfc)]==='DEV'||_0x37b727[_0x419de1(0xfc)]==='ADMIN')throw CliErrors['validation'](_0x419de1(0xe4)+_0x37b727['roleName']+'\x20('+_0x37b727['roleType']+').',_0x419de1(0x108));}export function projectRole(_0x183f76){const _0x107009=a163_0x3ac524;return{'id':_0x183f76['id'],'roleName':_0x183f76[_0x107009(0x116)],'roleType':_0x183f76[_0x107009(0xfc)],'remark':_0x183f76[_0x107009(0xee)],'userCount':_0x183f76[_0x107009(0xf7)],'permitCount':_0x183f76[_0x107009(0xe5)],'builtin':isBuiltinRole(_0x183f76['roleType'])};}export async function resolveRoleRef(_0x4e0f2a,_0x4c5295){const _0x3d7276=a163_0x3ac524,_0x3b48e2=_0x4c5295[_0x3d7276(0x11f)]();if(!_0x3b48e2)throw CliErrors[_0x3d7276(0xec)]('Missing\x20role\x20reference.',_0x3d7276(0xed));if(/^\d+$/[_0x3d7276(0xdb)](_0x3b48e2))return getRoleById(_0x4e0f2a,Number(_0x3b48e2));const _0x1f8bee=await listAllAppRoles(_0x4e0f2a),_0x33bb81=_0x1f8bee['filter'](_0x18858=>_0x18858['roleName']===_0x3b48e2);if(_0x33bb81['length']===0x0)throw CliErrors['validation'](_0x3d7276(0xdd)+_0x3b48e2+_0x3d7276(0xf3)+_0x4e0f2a+'.','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles,\x20or\x20pass\x20--role\x20<id>.');if(_0x33bb81['length']>0x1){const _0x10654c=_0x33bb81[_0x3d7276(0x11a)](_0x29015a=>_0x29015a['id'])['join'](',\x20');throw CliErrors[_0x3d7276(0xec)](_0x3d7276(0xdd)+_0x3b48e2+_0x3d7276(0x106)+_0x10654c+').',_0x3d7276(0xf8));}return _0x33bb81[0x0];}export async function getRoleById(_0x218a57,_0x47a662){const _0x11ebac=a163_0x3ac524,_0x3f6997=await getAppRole(_0x47a662);if(!_0x3f6997)throw CliErrors[_0x11ebac(0xec)](_0x11ebac(0xf0)+_0x47a662+'\x20not\x20found\x20in\x20app\x20'+_0x218a57+'.','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles.');return _0x3f6997;}function a163_0xb0b2(){const _0x3a31cd=['/smartapi/permit/user-role/update-user-list','7687432mMEgKw','join','711366Jkhpqt','Role\x20id\x20or\x20role\x20name\x20(CUSTOM\x20roles\x20may\x20be\x20referenced\x20by\x20name)','tenant_code','Cannot\x20change\x20the\x20permission\x20matrix\x20of\x20built-in\x20role\x20','permitCount','Anti-drift\x20guard:\x20fail\x20if\x20the\x20role\x27s\x20current\x20member\x20count\x20differs','42TysTAD','CUSTOM','Role\x20name','name','358566RTskqn','validation','Pass\x20--role\x20<id|name>.','remark','User\x20id,\x20username,\x20or\x20nickname\x20to\x20resolve\x20to\x20a\x20userId','Role\x20id\x20','splice','toLowerCase','\x22\x20not\x20found\x20in\x20app\x20','Only\x20CUSTOM\x20roles\x20can\x20be\x20modified\x20or\x20deleted.','dryRun','POST','userCount','Disambiguate\x20with\x20--role\x20<id>.','900572qykzHr','number','nickname','roleType','12784149cnLggX','3845020qIwArX','user','str','appCode','ADMIN','Pass\x20--user\x20<id|name>.','userList','authRequired','\x22\x20is\x20ambiguous\x20(ids:\x20','Multiple\x20tenant\x20members\x20match\x20\x22','DEV\x20/\x20ADMIN\x20keep\x20full\x20access\x20by\x20design;\x20configure\x20a\x20CUSTOM\x20role\x20instead.','15rswAIE','username','\x20built-in\x20role\x20','2029544SePSNJ','Missing\x20user\x20reference.','userId','\x22:\x20','includes','expect-user-count','Role\x20id\x20(from\x20`role\x20list`)','Cannot\x20','Nickname\x20or\x20username\x20to\x20resolve\x20to\x20a\x20userId','\x20is\x20not\x20a\x20member\x20of\x20role\x20','roleName','string','flag','Re-run\x20`role\x20detail`\x20/\x20`role\x20list`\x20and\x20retry\x20with\x20the\x20current\x20count.','map','role','expectUserCount','user-add','find','trim','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles.','User\x20','push',';\x20no\x20change.','flagMissing','\x20is\x20already\x20a\x20member\x20of\x20role\x20','No\x20tenant\x20member\x20matches\x20\x22','length','test','Anti-drift\x20check\x20failed:\x20expected\x20','Role\x20name\x20\x22'];a163_0xb0b2=function(){return _0x3a31cd;};return a163_0xb0b2();}async function listAllAppRoles(_0x30c365){const _0x52fbfe=a163_0x3ac524,_0x5da16d=0x64,_0x3278fe=[];for(let _0x5984c0=0x1;;_0x5984c0+=0x1){const {items:_0x33130e,paging:_0x4908ab}=await listAppRoles(_0x30c365,{'currentPage':_0x5984c0,'pageSize':_0x5da16d});_0x3278fe[_0x52fbfe(0xd5)](..._0x33130e);if(_0x33130e['length']<_0x5da16d||_0x4908ab&&_0x3278fe[_0x52fbfe(0xda)]>=_0x4908ab['totalCount'])return _0x3278fe;}}export async function resolveTenantCode(){const _0x42a21f=a163_0x3ac524,_0xbc0a1f=await getSessionUserInfo(),_0x4a637e=_0xbc0a1f?.[_0x42a21f(0xff)]?.['tenant']?.[_0x42a21f(0xe3)];if(!_0x4a637e)throw CliErrors[_0x42a21f(0x105)]('Cannot\x20resolve\x20current\x20tenant.\x20Run\x20`rabetbase\x20auth\x20login`\x20first.');return _0x4a637e;}function matchMember(_0x44617b,_0x3e8486){const _0x5c264a=a163_0x3ac524,_0x5d92b4=_0x3e8486[_0x5c264a(0x11f)]()['toLowerCase']();return(_0x44617b[_0x5c264a(0xfb)]??'')[_0x5c264a(0xf2)]()===_0x5d92b4||(_0x44617b['username']??'')[_0x5c264a(0xf2)]()===_0x5d92b4;}export async function resolveUserRef(_0xdd49ab){const _0x4f0256=a163_0x3ac524,_0x3e7ea7=_0xdd49ab[_0x4f0256(0x11f)]();if(!_0x3e7ea7)throw CliErrors[_0x4f0256(0xec)](_0x4f0256(0x10d),_0x4f0256(0x103));const _0xbf0f1f=await resolveTenantCode(),_0x1f8513=await getTenantMembers(_0xbf0f1f);if(/^\d+$/[_0x4f0256(0xdb)](_0x3e7ea7)){const _0x858e7e=Number(_0x3e7ea7),_0x1698a5=_0x1f8513[_0x4f0256(0x11e)](_0x2759d1=>_0x2759d1[_0x4f0256(0x10e)]===_0x858e7e);return{'userId':_0x858e7e,'username':_0x1698a5?.[_0x4f0256(0x10a)]??String(_0x858e7e),'nickname':_0x1698a5?.[_0x4f0256(0xfb)],'matchedBy':'id'};}const _0xca651=_0x1f8513['filter'](_0x5a4ebb=>matchMember(_0x5a4ebb,_0x3e7ea7));if(_0xca651[_0x4f0256(0xda)]===0x0)throw CliErrors[_0x4f0256(0xec)](_0x4f0256(0xd9)+_0x3e7ea7+'\x22.','Check\x20the\x20nickname/username,\x20or\x20pass\x20--user\x20<id>.');if(_0xca651['length']>0x1){const _0x599ede=_0xca651[_0x4f0256(0x11a)](_0x43d3c9=>(_0x43d3c9[_0x4f0256(0xfb)]??_0x43d3c9[_0x4f0256(0x10a)]??'?')+'('+_0x43d3c9[_0x4f0256(0x10e)]+')')[_0x4f0256(0xe0)](',\x20');throw CliErrors[_0x4f0256(0xec)](_0x4f0256(0x107)+_0x3e7ea7+_0x4f0256(0x10f)+_0x599ede+'.','Disambiguate\x20with\x20--user\x20<id>.');}const _0x45a72c=_0xca651[0x0];return{'userId':_0x45a72c[_0x4f0256(0x10e)],'username':_0x45a72c['username']??String(_0x45a72c[_0x4f0256(0x10e)]),'nickname':_0x45a72c[_0x4f0256(0xfb)],'matchedBy':_0x4f0256(0xea)};}export const UPDATE_USER_LIST_PATH=a163_0x3ac524(0xde);function a163_0x537b(_0x10505e,_0x4c86fe){_0x10505e=_0x10505e-0xd4;const _0xb0b21a=a163_0xb0b2();let _0x537ba7=_0xb0b21a[_0x10505e];return _0x537ba7;}function userIdsOf(_0x391955){const _0x43e2a5=a163_0x3ac524;return(_0x391955?.[_0x43e2a5(0x104)]??[])[_0x43e2a5(0x11a)](_0x251c10=>_0x251c10[_0x43e2a5(0x10e)]);}export function computeRoleUserMutation(_0x4866ee){const _0x4fb76c=a163_0x3ac524,{operation:_0x49d3aa,appCode:_0x180757,roleUsers:_0x33844d,targetRoleId:_0x9e6be0,user:_0x3440b8}=_0x4866ee,_0x3a185b=_0x33844d[_0x4fb76c(0x11e)](_0x34a644=>_0x34a644['id']===_0x9e6be0);if(!_0x3a185b)throw CliErrors[_0x4fb76c(0xec)]('Role\x20id\x20'+_0x9e6be0+'\x20not\x20found\x20in\x20the\x20user-role\x20list.',_0x4fb76c(0x120));const _0x14305b=userIdsOf(_0x3a185b),_0x2cb22b=[];if(_0x4866ee[_0x4fb76c(0x11c)]!==undefined&&_0x4866ee[_0x4fb76c(0x11c)]!==_0x14305b['length'])throw CliErrors['validation'](_0x4fb76c(0xdc)+_0x4866ee['expectUserCount']+'\x20member(s)\x20but\x20role\x20has\x20'+_0x14305b[_0x4fb76c(0xda)]+'.',_0x4fb76c(0x119));const _0x1191cc=_0x14305b[_0x4fb76c(0x110)](_0x3440b8[_0x4fb76c(0x10e)]);let _0x42d464=![];const _0x301aa8=[..._0x3a185b[_0x4fb76c(0x104)]];if(_0x49d3aa===_0x4fb76c(0x11d))_0x1191cc?_0x2cb22b['push']('User\x20'+_0x3440b8[_0x4fb76c(0x10e)]+_0x4fb76c(0xd8)+_0x3a185b[_0x4fb76c(0x116)]+_0x4fb76c(0xd6)):(_0x301aa8[_0x4fb76c(0xd5)]({'userId':_0x3440b8[_0x4fb76c(0x10e)],'username':_0x3440b8[_0x4fb76c(0x10a)],..._0x3440b8[_0x4fb76c(0xfb)]?{'nickname':_0x3440b8[_0x4fb76c(0xfb)]}:{}}),_0x42d464=!![]);else{if(!_0x1191cc)_0x2cb22b['push'](_0x4fb76c(0xd4)+_0x3440b8[_0x4fb76c(0x10e)]+_0x4fb76c(0x115)+_0x3a185b[_0x4fb76c(0x116)]+_0x4fb76c(0xd6));else{const _0x35f336=_0x301aa8['findIndex'](_0x1112bb=>_0x1112bb[_0x4fb76c(0x10e)]===_0x3440b8['userId']);if(_0x35f336>=0x0)_0x301aa8[_0x4fb76c(0xf1)](_0x35f336,0x1);_0x42d464=!![];}}const _0x9d9f0e=_0x33844d[_0x4fb76c(0x11a)](_0x40c66a=>_0x40c66a['id']===_0x9e6be0?{..._0x40c66a,'userList':_0x301aa8}:_0x40c66a),_0x2ddb5f=_0x301aa8['map'](_0x3d5ac0=>_0x3d5ac0[_0x4fb76c(0x10e)]),_0x155f9b={'operation':_0x49d3aa,'selector':{'appCode':_0x180757,'roleId':_0x9e6be0,'roleName':_0x3a185b['roleName'],'userId':_0x3440b8[_0x4fb76c(0x10e)]},'before':{'userIds':_0x14305b},'after':{'userIds':_0x2ddb5f},'dryRun':_0x4866ee[_0x4fb76c(0xf5)],'backend':{'method':_0x4fb76c(0xf6),'path':UPDATE_USER_LIST_PATH},'warnings':_0x2cb22b};return{'roleList':_0x9d9f0e,'mutation':_0x155f9b,'changed':_0x42d464};}export async function loadRoleUsers(_0x553b5e){return listRoleUsers(_0x553b5e);}export function readRoleRef(_0x3fd66b){const _0x7dde9=a163_0x3ac524,_0x57eb70=_0x3fd66b[_0x7dde9(0x100)]('role')[_0x7dde9(0x11f)]();if(!_0x57eb70)throw CliErrors[_0x7dde9(0xd7)](_0x7dde9(0x11b),_0x7dde9(0xed));return _0x57eb70;}export async function prepareUserMutation(_0x1c16ee,_0x4354cf,_0x46846d){const _0x2a08b9=a163_0x3ac524,_0x282529=readRoleRef(_0x1c16ee),_0x575723=_0x1c16ee['str'](_0x2a08b9(0xff))['trim']();if(!_0x575723)throw CliErrors['flagMissing'](_0x2a08b9(0xff),'Pass\x20--user\x20<id|name>.');const _0x14e385=_0x1c16ee[_0x2a08b9(0x118)]('expect-user-count'),_0x131655=_0x14e385===undefined||_0x14e385===null?undefined:Number(_0x14e385),_0x6bf5b5=await resolveRoleRef(_0x1c16ee[_0x2a08b9(0x101)],_0x282529),_0x3dc6fc=await resolveUserRef(_0x575723),_0x250cfc=await loadRoleUsers(_0x1c16ee[_0x2a08b9(0x101)]);return computeRoleUserMutation({'operation':_0x4354cf,'appCode':_0x1c16ee['appCode'],'roleUsers':_0x250cfc,'targetRoleId':_0x6bf5b5['id'],'user':{'userId':_0x3dc6fc[_0x2a08b9(0x10e)],'username':_0x3dc6fc['username'],'nickname':_0x3dc6fc[_0x2a08b9(0xfb)]},'dryRun':_0x46846d,..._0x131655!==undefined?{'expectUserCount':_0x131655}:{}});}
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 +1 @@
1
- const a164_0x307149=a164_0x16f9;(function(_0x410ed8,_0x310c59){const _0x51f04b=a164_0x16f9,_0x49085e=_0x410ed8();while(!![]){try{const _0x3a8c35=parseInt(_0x51f04b(0x206))/0x1+parseInt(_0x51f04b(0x202))/0x2+-parseInt(_0x51f04b(0x1f7))/0x3*(-parseInt(_0x51f04b(0x20a))/0x4)+-parseInt(_0x51f04b(0x1f9))/0x5*(parseInt(_0x51f04b(0x203))/0x6)+-parseInt(_0x51f04b(0x1f0))/0x7+parseInt(_0x51f04b(0x1ff))/0x8*(parseInt(_0x51f04b(0x1f6))/0x9)+-parseInt(_0x51f04b(0x200))/0xa*(-parseInt(_0x51f04b(0x204))/0xb);if(_0x3a8c35===_0x310c59)break;else _0x49085e['push'](_0x49085e['shift']());}catch(_0x42b49d){_0x49085e['push'](_0x49085e['shift']());}}}(a164_0xd856,0xe2a4e));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 a164_0x16f9(_0x55655b,_0x12f254){_0x55655b=_0x55655b-0x1f0;const _0xd856f8=a164_0xd856();let _0x16f9f7=_0xd856f8[_0x55655b];return _0x16f9f7;}function readPatch(_0x8edc1b){const _0x1fa022=a164_0x16f9,_0x2cfed6=_0x8edc1b[_0x1fa022(0x1f8)](_0x1fa022(0x1f3)),_0x12b143=_0x8edc1b[_0x1fa022(0x1f8)](_0x1fa022(0x1fc)),_0x2c4f38={};if(_0x2cfed6!==undefined&&_0x2cfed6!==null){const _0x4124cc=String(_0x2cfed6)[_0x1fa022(0x1f2)]();if(!_0x4124cc)throw CliErrors[_0x1fa022(0x207)](_0x1fa022(0x209));if(_0x4124cc['length']>0x40)throw CliErrors[_0x1fa022(0x207)](_0x1fa022(0x1fb));_0x2c4f38['roleName']=_0x4124cc;}_0x12b143!==undefined&&_0x12b143!==null&&(_0x2c4f38[_0x1fa022(0x1fc)]=String(_0x12b143));if(_0x2c4f38[_0x1fa022(0x1fe)]===undefined&&_0x2c4f38['remark']===undefined)throw CliErrors['validation']('Nothing\x20to\x20update.','Pass\x20at\x20least\x20one\x20of\x20--name\x20/\x20--remark.');return _0x2c4f38;}function a164_0xd856(){const _0x17d7d1=['Role\x20name\x20cannot\x20exceed\x2064\x20characters.','remark','appCode','roleName','603416YNXMbW','10OwBjjY','\x20(id=','1461138AcfJwk','1632aseVZQ','15710541BCqkzq','Update\x20a\x20CUSTOM\x20role\x27s\x20name/remark\x20(DEV/ADMIN\x20rejected)','118592bJGyyj','validation','update','--name\x20cannot\x20be\x20empty.','28AbsQTi','4491088kzCIPj','string','trim','name','POST','role','45IheCaw','298827vVEzrG','flag','32755lGWGMy','Updated\x20role\x20'];a164_0xd856=function(){return _0x17d7d1;};return a164_0xd856();}export const roleUpdate={'service':a164_0x307149(0x1f5),'command':a164_0x307149(0x208),'description':a164_0x307149(0x205),'risk':'write','flags':[ROLE_ID_FLAG,{...REMARK_FLAG},{'name':'name','type':a164_0x307149(0x1f1),'required':![],'description':'New\x20role\x20name'},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x4870a8){readPatch(_0x4870a8);},async 'dryRun'(_0x5e8ad0){const _0x37677e=a164_0x307149,_0x3fa776=_0x5e8ad0['num']('id'),_0x133188=readPatch(_0x5e8ad0),_0x17e8a9=await getRoleById(_0x5e8ad0[_0x37677e(0x1fd)],_0x3fa776);return assertCustomRole(_0x17e8a9,_0x37677e(0x208)),asDryRunResult({'operation':_0x37677e(0x208),'selector':{'appCode':_0x5e8ad0['appCode'],'roleId':_0x3fa776,'roleName':_0x17e8a9[_0x37677e(0x1fe)]},'before':projectRole(_0x17e8a9),'after':projectRole({..._0x17e8a9,..._0x133188[_0x37677e(0x1fe)]!==undefined?{'roleName':_0x133188['roleName']}:{},..._0x133188['remark']!==undefined?{'remark':_0x133188[_0x37677e(0x1fc)]}:{}}),'dryRun':!![],'backend':{'method':_0x37677e(0x1f4),'path':UPDATE_PATH},'warnings':[]},{'method':_0x37677e(0x1f4),'url':UPDATE_PATH});},async 'execute'(_0x3fa4bb){const _0x4bb447=a164_0x307149,_0x2878b8=_0x3fa4bb['num']('id'),_0x2009f0=readPatch(_0x3fa4bb),_0x1586c6=await getRoleById(_0x3fa4bb[_0x4bb447(0x1fd)],_0x2878b8);assertCustomRole(_0x1586c6,_0x4bb447(0x208)),await updateAppRole({'id':_0x2878b8,'appCode':_0x3fa4bb[_0x4bb447(0x1fd)],..._0x2009f0['roleName']!==undefined?{'roleName':_0x2009f0[_0x4bb447(0x1fe)]}:{},..._0x2009f0[_0x4bb447(0x1fc)]!==undefined?{'remark':_0x2009f0[_0x4bb447(0x1fc)]}:{}});const _0x398586=await getRoleById(_0x3fa4bb[_0x4bb447(0x1fd)],_0x2878b8);return{'ok':!![],'data':{'operation':_0x4bb447(0x208),'selector':{'appCode':_0x3fa4bb[_0x4bb447(0x1fd)],'roleId':_0x2878b8,'roleName':_0x398586[_0x4bb447(0x1fe)]},'before':projectRole(_0x1586c6),'after':projectRole(_0x398586),'dryRun':![],'backend':{'method':_0x4bb447(0x1f4),'path':UPDATE_PATH},'warnings':[]},'message':_0x4bb447(0x1fa)+_0x398586[_0x4bb447(0x1fe)]+_0x4bb447(0x201)+_0x2878b8+')'};}};
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 +1 @@
1
- const a165_0x197348=a165_0x2e00;function a165_0x2e00(_0x4132c4,_0x3cbe82){_0x4132c4=_0x4132c4-0xab;const _0x4fb4c2=a165_0x4fb4();let _0x2e00eb=_0x4fb4c2[_0x4132c4];return _0x2e00eb;}(function(_0x34e2ac,_0x34f8da){const _0x29fb5f=a165_0x2e00,_0x376711=_0x34e2ac();while(!![]){try{const _0x52103e=-parseInt(_0x29fb5f(0xb8))/0x1+parseInt(_0x29fb5f(0xb3))/0x2*(parseInt(_0x29fb5f(0xba))/0x3)+parseInt(_0x29fb5f(0xac))/0x4*(-parseInt(_0x29fb5f(0xaf))/0x5)+-parseInt(_0x29fb5f(0xb1))/0x6+parseInt(_0x29fb5f(0xae))/0x7*(-parseInt(_0x29fb5f(0xbc))/0x8)+-parseInt(_0x29fb5f(0xbd))/0x9+parseInt(_0x29fb5f(0xb4))/0xa*(parseInt(_0x29fb5f(0xbb))/0xb);if(_0x52103e===_0x34f8da)break;else _0x376711['push'](_0x376711['shift']());}catch(_0x178845){_0x376711['push'](_0x376711['shift']());}}}(a165_0x4fb4,0x3a243));import{updateRoleUsers}from'../../core/api-client.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{EXPECT_USER_COUNT_FLAG,prepareUserMutation,ROLE_REF_FLAG,UPDATE_USER_LIST_PATH,USER_REF_FLAG}from'../../commands/role/shared.js';function a165_0x4fb4(){const _0x45be4a=['4zkomAy','\x20already\x20in\x20role\x20','7GBepPO','2271470ilrzBd','No\x20change:\x20user\x20','406896eJfFBB','roleName','895946xxVJyq','29180lpCknl','\x20to\x20role\x20','userId','POST','369849PHzwcZ','user-add','3DaAaQs','4631cLFVYr','1942176eyJQgU','2732157NKTmEO','selector'];a165_0x4fb4=function(){return _0x45be4a;};return a165_0x4fb4();}export const roleUserAdd={'service':'role','command':a165_0x197348(0xb9),'description':'Add\x20a\x20user\x20to\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'(_0x56963f){const _0x3c3f30=a165_0x197348,{mutation:_0x35de15}=await prepareUserMutation(_0x56963f,_0x3c3f30(0xb9),!![]);return asDryRunResult(_0x35de15,{'method':_0x3c3f30(0xb7),'url':UPDATE_USER_LIST_PATH});},async 'execute'(_0x10d9fb){const _0x30a53d=a165_0x197348,{roleList:_0x304a67,mutation:_0x3f3d89,changed:_0x55433a}=await prepareUserMutation(_0x10d9fb,'user-add',![]);return _0x55433a&&await updateRoleUsers(_0x10d9fb['appCode'],_0x304a67),{'ok':!![],'data':_0x3f3d89,'message':_0x55433a?'Added\x20user\x20'+_0x3f3d89[_0x30a53d(0xab)]['userId']+_0x30a53d(0xb5)+_0x3f3d89[_0x30a53d(0xab)][_0x30a53d(0xb2)]:_0x30a53d(0xb0)+_0x3f3d89[_0x30a53d(0xab)][_0x30a53d(0xb6)]+_0x30a53d(0xad)+_0x3f3d89['selector'][_0x30a53d(0xb2)]};}};
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 +1 @@
1
- const a166_0x199cbb=a166_0x5b6f;(function(_0x3b6d32,_0x31067a){const _0x45cc19=a166_0x5b6f,_0x59dbab=_0x3b6d32();while(!![]){try{const _0x4a7f2d=parseInt(_0x45cc19(0x193))/0x1+parseInt(_0x45cc19(0x19d))/0x2+parseInt(_0x45cc19(0x18d))/0x3*(parseInt(_0x45cc19(0x1a0))/0x4)+-parseInt(_0x45cc19(0x191))/0x5+parseInt(_0x45cc19(0x19a))/0x6*(-parseInt(_0x45cc19(0x195))/0x7)+parseInt(_0x45cc19(0x19b))/0x8*(-parseInt(_0x45cc19(0x197))/0x9)+-parseInt(_0x45cc19(0x196))/0xa*(-parseInt(_0x45cc19(0x198))/0xb);if(_0x4a7f2d===_0x31067a)break;else _0x59dbab['push'](_0x59dbab['shift']());}catch(_0x37dbec){_0x59dbab['push'](_0x59dbab['shift']());}}}(a166_0xce77,0xab282));function a166_0xce77(){const _0x2437ae=['\x20from\x20role\x20','\x20not\x20in\x20role\x20','3436yNZGro','selector','Remove\x20a\x20user\x20from\x20a\x20role\x20(internal\x20merge\x20+\x20anti-drift);\x20requires\x20--yes','high-risk-write','3372bHIqto','No\x20change:\x20user\x20','POST','roleName','4295740qxQKUs','userId','1013243SjJtoN','role','840kKmJKK','30MlyIVC','9tJxuBa','1236224moioMq','Removed\x20user\x20','50028eSabJD','6323064ykRWSf','user-remove','2070476PzReZY'];a166_0xce77=function(){return _0x2437ae;};return a166_0xce77();}import{updateRoleUsers}from'../../core/api-client.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a166_0x5b6f(_0x2c4451,_0x4b678d){_0x2c4451=_0x2c4451-0x18d;const _0xce775e=a166_0xce77();let _0x5b6f32=_0xce775e[_0x2c4451];return _0x5b6f32;}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':a166_0x199cbb(0x194),'command':'user-remove','description':a166_0x199cbb(0x1a2),'risk':a166_0x199cbb(0x1a3),'flags':[ROLE_REF_FLAG,USER_REF_FLAG,EXPECT_USER_COUNT_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x97f13){const _0x3a217a=a166_0x199cbb,{mutation:_0x4200f4}=await prepareUserMutation(_0x97f13,_0x3a217a(0x19c),!![]);return asDryRunResult(_0x4200f4,{'method':_0x3a217a(0x18f),'url':UPDATE_USER_LIST_PATH});},async 'execute'(_0x2293b2){const _0x17a4fe=a166_0x199cbb,{roleList:_0x5628bf,mutation:_0x36ed64,changed:_0x2be532}=await prepareUserMutation(_0x2293b2,_0x17a4fe(0x19c),![]);return _0x2be532&&await updateRoleUsers(_0x2293b2['appCode'],_0x5628bf),{'ok':!![],'data':_0x36ed64,'message':_0x2be532?_0x17a4fe(0x199)+_0x36ed64[_0x17a4fe(0x1a1)][_0x17a4fe(0x192)]+_0x17a4fe(0x19e)+_0x36ed64[_0x17a4fe(0x1a1)][_0x17a4fe(0x190)]:_0x17a4fe(0x18e)+_0x36ed64[_0x17a4fe(0x1a1)]['userId']+_0x17a4fe(0x19f)+_0x36ed64[_0x17a4fe(0x1a1)]['roleName']};}};
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 +1 @@
1
- const a167_0x3333ca=a167_0x508b;function a167_0x30bf(){const _0x5d2186=['matchedBy','15117NamBaj','name','2309209Queotu','8WeQJwf','2253018yTjmcY','role','nickname','1397214sVPTTR','trim','user-resolve','read','username','518572haHCJL','5634765WBKhte','Resolved\x20\x22','Resolve\x20a\x20nickname/username\x20to\x20a\x20userId\x20(tenant\x20member\x20directory)','Pass\x20--name\x20<nickname|username>.','70OhTBvy','5kFCvVQ','flagMissing','12506980phqfCU'];a167_0x30bf=function(){return _0x5d2186;};return a167_0x30bf();}(function(_0x58a5b3,_0x552f31){const _0x287c4b=a167_0x508b,_0x31c186=_0x58a5b3();while(!![]){try{const _0xed7c5d=parseInt(_0x287c4b(0x104))/0x1*(parseInt(_0x287c4b(0xff))/0x2)+parseInt(_0x287c4b(0xf2))/0x3+parseInt(_0x287c4b(0xfa))/0x4*(-parseInt(_0x287c4b(0x100))/0x5)+parseInt(_0x287c4b(0xf5))/0x6+-parseInt(_0x287c4b(0xf0))/0x7*(parseInt(_0x287c4b(0xf1))/0x8)+parseInt(_0x287c4b(0xfb))/0x9+-parseInt(_0x287c4b(0x102))/0xa;if(_0xed7c5d===_0x552f31)break;else _0x31c186['push'](_0x31c186['shift']());}catch(_0x3c3e46){_0x31c186['push'](_0x31c186['shift']());}}}(a167_0x30bf,0x68b1b));import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a167_0x508b(_0x419a7f,_0x335090){_0x419a7f=_0x419a7f-0xf0;const _0x30bf60=a167_0x30bf();let _0x508bac=_0x30bf60[_0x419a7f];return _0x508bac;}import{resolveUserRef,USER_NAME_FLAG}from'../../commands/role/shared.js';export const roleUserResolve={'service':a167_0x3333ca(0xf3),'command':a167_0x3333ca(0xf7),'description':a167_0x3333ca(0xfd),'risk':a167_0x3333ca(0xf8),'flags':[USER_NAME_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x38b408){const _0xee5fdb=a167_0x3333ca;if(!_0x38b408['str'](_0xee5fdb(0x105))[_0xee5fdb(0xf6)]())throw CliErrors[_0xee5fdb(0x101)]('name',_0xee5fdb(0xfe));},async 'execute'(_0x133e92){const _0x128c45=a167_0x3333ca,_0x456c13=_0x133e92['str'](_0x128c45(0x105))['trim'](),_0x4f8b82=await resolveUserRef(_0x456c13);return{'ok':!![],'data':{'user':{'userId':_0x4f8b82['userId'],'username':_0x4f8b82[_0x128c45(0xf9)],'nickname':_0x4f8b82[_0x128c45(0xf4)],'matchedBy':_0x4f8b82[_0x128c45(0x103)]}},'message':_0x128c45(0xfc)+_0x456c13+'\x22\x20→\x20userId\x20'+_0x4f8b82['userId']};}};
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 +1 @@
1
- const a168_0x44d9f3=a168_0x164c;(function(_0x371924,_0x25a6dd){const _0x49099a=a168_0x164c,_0x2048d9=_0x371924();while(!![]){try{const _0x1211f2=parseInt(_0x49099a(0xff))/0x1+-parseInt(_0x49099a(0x130))/0x2*(-parseInt(_0x49099a(0x126))/0x3)+parseInt(_0x49099a(0x102))/0x4+parseInt(_0x49099a(0x107))/0x5+parseInt(_0x49099a(0x115))/0x6+-parseInt(_0x49099a(0x12f))/0x7+parseInt(_0x49099a(0x10e))/0x8*(-parseInt(_0x49099a(0x123))/0x9);if(_0x1211f2===_0x25a6dd)break;else _0x2048d9['push'](_0x2048d9['shift']());}catch(_0x134720){_0x2048d9['push'](_0x2048d9['shift']());}}}(a168_0x39da,0xb565c));import{readFileSync,existsSync}from'node:fs';import{CLI_BIN_NAME}from'../../constant/cli.js';import{resolve,delimiter,join}from'node:path';import{spawn}from'node:child_process';import{CliErrors}from'../../errors.js';import{checkSdkVersion,printSdkUpgradeWarning}from'../../utils/check-sdk-version.js';import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../utils/cli-version-check.js';function a168_0x164c(_0x2194d8,_0x7056de){_0x2194d8=_0x2194d8-0xf8;const _0x39da60=a168_0x39da();let _0x164c47=_0x39da60[_0x2194d8];return _0x164c47;}const VERSION_CHECK_SCRIPTS=new Set([a168_0x44d9f3(0xf8),a168_0x44d9f3(0xf9)]);function readPackageScripts(_0x37357d){const _0x59ccbb=a168_0x44d9f3,_0x4942a5=resolve(_0x37357d,_0x59ccbb(0x12e));if(!existsSync(_0x4942a5))return null;try{const _0x1646ae=JSON[_0x59ccbb(0x132)](readFileSync(_0x4942a5,_0x59ccbb(0x10a)));return _0x1646ae[_0x59ccbb(0x105)]??{};}catch{return null;}}function detectPackageManager(_0x40ed04){const _0x26e68b=a168_0x44d9f3;if(existsSync(resolve(_0x40ed04,_0x26e68b(0x10f)))||existsSync(resolve(_0x40ed04,_0x26e68b(0x122))))return'bun';if(existsSync(resolve(_0x40ed04,'pnpm-lock.yaml')))return _0x26e68b(0x131);if(existsSync(resolve(_0x40ed04,_0x26e68b(0x12a))))return _0x26e68b(0x11f);return _0x26e68b(0x124);}function a168_0x39da(){const _0x3e4e95=['\x22\x20not\x20found\x20in\x20package.json.','scripts','\x20run\x20','715200WUfOxT','read','all','utf-8','args','watch','belowMinimum','27311224npoPjX','bun.lockb','\x20exited\x20with\x20code\x20','has','\x0a\x20\x20Usage:\x20','(none)','node_modules','7052694ydUBrs','\x20\x20\x20\x20','No\x20scripts\x20defined\x20in\x20package.json.','keys','needsUpgrade','Run\x20a\x20package.json\x20script','inherit','\x20run\x20preview','push','validation','yarn','Script\x20name\x20defined\x20in\x20package.json','preview','bun.lock','9SMBnfe','npm','Enable\x20watch\x20mode\x20for\x20preview','12TBndeo','Available:\x20','vite\x20build\x20--watch\x20exited\x20with\x20code\x20','join','yarn.lock','cwd','\x20\x20EXAMPLES','error','package.json','1300628QGrphD','567172JDCYia','pnpm','parse','vite\x20preview\x20exited\x20with\x20code\x20','.bin','run','\x20run\x20start','start','dev','Script\x20\x22','log','slice','\x20run\x20build','No\x20package.json\x20found\x20in\x20current\x20directory.','940227dXpLVy','\x20run\x20<script>\x0a','bool','3798604btzTNn','close'];a168_0x39da=function(){return _0x3e4e95;};return a168_0x39da();}async function versionCheck(_0x468034){const _0x451cff=a168_0x44d9f3,_0x438a16=await checkCliVersion();(_0x438a16[_0x451cff(0x119)]||_0x438a16[_0x451cff(0x10d)])&&(printCliUpgradeWarning(_0x438a16),assertCliVersionSupported(_0x438a16));const _0x5477b1=await checkSdkVersion(_0x468034);if(_0x5477b1[_0x451cff(0x119)])printSdkUpgradeWarning(_0x5477b1);}function spawnScript(_0x4cded8,_0xbcd94c,_0x35be4a,_0xb25ed9){return new Promise((_0x550d21,_0x392481)=>{const _0x5bac57=a168_0x164c,_0x1be665=[_0x5bac57(0x135),_0xbcd94c,..._0x35be4a],_0x42e3b9=spawn(_0x4cded8,_0x1be665,{'cwd':_0xb25ed9,'stdio':_0x5bac57(0x11b),'shell':!![],'env':{...process.env,'PATH':''+join(_0xb25ed9,_0x5bac57(0x114),_0x5bac57(0x134))+delimiter+process.env.PATH}});_0x42e3b9['on'](_0x5bac57(0x103),_0x2b6bd0=>{const _0x30d0a3=_0x5bac57;if(_0x2b6bd0===0x0||_0x2b6bd0===null)_0x550d21();else _0x392481(new Error(_0x4cded8+_0x30d0a3(0x106)+_0xbcd94c+_0x30d0a3(0x110)+_0x2b6bd0));}),_0x42e3b9['on'](_0x5bac57(0x12d),_0x392481);});}function spawnViteBuildWatch(_0x5d6eae){return new Promise((_0x5670b4,_0x5e423b)=>{const _0x3e9db0=a168_0x164c,_0x367e9b=spawn('vite',['build','--watch'],{'cwd':_0x5d6eae,'stdio':_0x3e9db0(0x11b),'shell':!![],'env':{...process.env,'PATH':''+join(_0x5d6eae,'node_modules',_0x3e9db0(0x134))+delimiter+process.env.PATH}});_0x367e9b['on']('close',_0x3f9fdd=>{const _0x390a31=_0x3e9db0;if(_0x3f9fdd===0x0||_0x3f9fdd===null)_0x5670b4();else _0x5e423b(new Error(_0x390a31(0x128)+_0x3f9fdd));}),_0x367e9b['on'](_0x3e9db0(0x12d),_0x5e423b);});}function spawnVitePreview(_0xb05874){return new Promise((_0x217e6b,_0x490a85)=>{const _0x1c6479=a168_0x164c,_0x19399f=spawn('vite',[_0x1c6479(0x121)],{'cwd':_0xb05874,'stdio':'inherit','shell':!![],'env':{...process.env,'PATH':''+join(_0xb05874,_0x1c6479(0x114),_0x1c6479(0x134))+delimiter+process.env.PATH}});_0x19399f['on'](_0x1c6479(0x103),_0xa03136=>{const _0x26112f=_0x1c6479;if(_0xa03136===0x0||_0xa03136===null)_0x217e6b();else _0x490a85(new Error(_0x26112f(0x133)+_0xa03136));}),_0x19399f['on'](_0x1c6479(0x12d),_0x490a85);});}const runFlags=[{'name':a168_0x44d9f3(0x10c),'type':'boolean','description':a168_0x44d9f3(0x125),'default':![]}];export const runDefinition={'service':a168_0x44d9f3(0x135),'command':a168_0x44d9f3(0x135),'description':a168_0x44d9f3(0x11a),'risk':a168_0x44d9f3(0x108),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':'script','description':a168_0x44d9f3(0x120),'required':![]}],'flags':runFlags,'helpExtra':()=>{const _0x421bea=a168_0x44d9f3,_0x2f6a78=[];return _0x2f6a78['push'](_0x421bea(0x12c)),_0x2f6a78[_0x421bea(0x11d)]('\x20\x20\x20\x20'+CLI_BIN_NAME+_0x421bea(0x136)),_0x2f6a78[_0x421bea(0x11d)](_0x421bea(0x116)+CLI_BIN_NAME+_0x421bea(0xfd)),_0x2f6a78[_0x421bea(0x11d)]('\x20\x20\x20\x20'+CLI_BIN_NAME+_0x421bea(0x11c)),_0x2f6a78[_0x421bea(0x11d)]('\x20\x20\x20\x20'+CLI_BIN_NAME+'\x20run\x20preview\x20--watch'),_0x2f6a78[_0x421bea(0x129)]('\x0a');},async 'execute'(_0x1f48f4){const _0x1da6e4=a168_0x44d9f3,_0x3dcc7c=process[_0x1da6e4(0x12b)](),_0x53f69e=_0x1f48f4[_0x1da6e4(0x10b)][0x0],_0x5a5043=_0x1f48f4[_0x1da6e4(0x10b)][_0x1da6e4(0xfc)](0x1),_0x4b7ed8=readPackageScripts(_0x3dcc7c);if(!_0x4b7ed8)throw CliErrors[_0x1da6e4(0x11e)](_0x1da6e4(0xfe));if(!_0x53f69e){const _0x55cca6=Object[_0x1da6e4(0x118)](_0x4b7ed8);if(_0x55cca6['length']===0x0)console['log'](_0x1da6e4(0x117));else{console[_0x1da6e4(0xfb)]('\x0a\x20\x20Available\x20scripts:\x0a');for(const _0x343693 of _0x55cca6){console['log']('\x20\x20\x20\x20'+_0x343693);}console['log'](_0x1da6e4(0x112)+CLI_BIN_NAME+_0x1da6e4(0x100));}return{'ok':!![]};}if(!_0x4b7ed8[_0x53f69e])throw CliErrors[_0x1da6e4(0x11e)](_0x1da6e4(0xfa)+_0x53f69e+_0x1da6e4(0x104),_0x1da6e4(0x127)+(Object[_0x1da6e4(0x118)](_0x4b7ed8)[_0x1da6e4(0x129)](',\x20')||_0x1da6e4(0x113)));const _0x47d2ca=detectPackageManager(_0x3dcc7c);VERSION_CHECK_SCRIPTS[_0x1da6e4(0x111)](_0x53f69e)&&await versionCheck(_0x3dcc7c);if(_0x53f69e===_0x1da6e4(0x121)&&_0x1f48f4[_0x1da6e4(0x101)](_0x1da6e4(0x10c)))return await Promise[_0x1da6e4(0x109)]([spawnViteBuildWatch(_0x3dcc7c),spawnVitePreview(_0x3dcc7c)]),{'ok':!![]};return await spawnScript(_0x47d2ca,_0x53f69e,_0x5a5043,_0x3dcc7c),{'ok':!![]};}};
1
+ const a174_0x3b7545=a174_0x1125;(function(_0x3a9d8b,_0x2444f1){const _0x4209a7=a174_0x1125,_0x4cbf86=_0x3a9d8b();while(!![]){try{const _0x129b3f=parseInt(_0x4209a7(0x126))/0x1+parseInt(_0x4209a7(0x104))/0x2+parseInt(_0x4209a7(0x125))/0x3+parseInt(_0x4209a7(0x138))/0x4+parseInt(_0x4209a7(0x105))/0x5*(parseInt(_0x4209a7(0x10c))/0x6)+parseInt(_0x4209a7(0x12b))/0x7*(-parseInt(_0x4209a7(0x11f))/0x8)+-parseInt(_0x4209a7(0x129))/0x9*(parseInt(_0x4209a7(0x107))/0xa);if(_0x129b3f===_0x2444f1)break;else _0x4cbf86['push'](_0x4cbf86['shift']());}catch(_0x36a6b9){_0x4cbf86['push'](_0x4cbf86['shift']());}}}(a174_0x4c05,0x1901f));import{readFileSync,existsSync}from'node:fs';import{CLI_BIN_NAME}from'../../constant/cli.js';import{resolve,delimiter,join}from'node:path';import{spawn}from'node:child_process';import{CliErrors}from'../../errors.js';import{checkSdkVersion,printSdkUpgradeWarning}from'../../utils/check-sdk-version.js';import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../utils/cli-version-check.js';const VERSION_CHECK_SCRIPTS=new Set([a174_0x3b7545(0x10e),a174_0x3b7545(0x127)]);function readPackageScripts(_0xfb4d7a){const _0x8b9a11=a174_0x3b7545,_0x40b07c=resolve(_0xfb4d7a,_0x8b9a11(0x10d));if(!existsSync(_0x40b07c))return null;try{const _0x36c3eb=JSON[_0x8b9a11(0x119)](readFileSync(_0x40b07c,_0x8b9a11(0x114)));return _0x36c3eb['scripts']??{};}catch{return null;}}function detectPackageManager(_0x4b82d4){const _0x95adfa=a174_0x3b7545;if(existsSync(resolve(_0x4b82d4,_0x95adfa(0x132)))||existsSync(resolve(_0x4b82d4,'bun.lock')))return'bun';if(existsSync(resolve(_0x4b82d4,_0x95adfa(0x111))))return'pnpm';if(existsSync(resolve(_0x4b82d4,'yarn.lock')))return _0x95adfa(0x10b);return _0x95adfa(0x106);}async function versionCheck(_0x2a7f44){const _0xac2d76=a174_0x3b7545,_0x57caa3=await checkCliVersion();(_0x57caa3['needsUpgrade']||_0x57caa3[_0xac2d76(0x11d)])&&(printCliUpgradeWarning(_0x57caa3),assertCliVersionSupported(_0x57caa3));const _0x5df83c=await checkSdkVersion(_0x2a7f44);if(_0x5df83c[_0xac2d76(0x121)])printSdkUpgradeWarning(_0x5df83c);}function spawnScript(_0x1b766b,_0x341f06,_0x5ea19f,_0x263804){return new Promise((_0x48ef19,_0x4994ba)=>{const _0x51c891=a174_0x1125,_0x82a34e=[_0x51c891(0x10a),_0x341f06,..._0x5ea19f],_0x388f2f=spawn(_0x1b766b,_0x82a34e,{'cwd':_0x263804,'stdio':_0x51c891(0x11b),'shell':!![],'env':{...process.env,'PATH':''+join(_0x263804,_0x51c891(0x116),_0x51c891(0x135))+delimiter+process.env.PATH}});_0x388f2f['on'](_0x51c891(0x136),_0x55426a=>{const _0x3ca4b8=_0x51c891;if(_0x55426a===0x0||_0x55426a===null)_0x48ef19();else _0x4994ba(new Error(_0x1b766b+_0x3ca4b8(0x112)+_0x341f06+_0x3ca4b8(0x117)+_0x55426a));}),_0x388f2f['on']('error',_0x4994ba);});}function spawnViteBuildWatch(_0x33a984){return new Promise((_0x399429,_0xa90142)=>{const _0x429c7a=a174_0x1125,_0x547b5f=spawn('vite',['build',_0x429c7a(0x11e)],{'cwd':_0x33a984,'stdio':_0x429c7a(0x11b),'shell':!![],'env':{...process.env,'PATH':''+join(_0x33a984,_0x429c7a(0x116),_0x429c7a(0x135))+delimiter+process.env.PATH}});_0x547b5f['on'](_0x429c7a(0x136),_0x2eab86=>{if(_0x2eab86===0x0||_0x2eab86===null)_0x399429();else _0xa90142(new Error('vite\x20build\x20--watch\x20exited\x20with\x20code\x20'+_0x2eab86));}),_0x547b5f['on'](_0x429c7a(0x139),_0xa90142);});}function spawnVitePreview(_0x20899b){return new Promise((_0x56ce72,_0xd0dfa0)=>{const _0xa9be7b=a174_0x1125,_0x51dd73=spawn(_0xa9be7b(0x13d),[_0xa9be7b(0x109)],{'cwd':_0x20899b,'stdio':_0xa9be7b(0x11b),'shell':!![],'env':{...process.env,'PATH':''+join(_0x20899b,'node_modules',_0xa9be7b(0x135))+delimiter+process.env.PATH}});_0x51dd73['on'](_0xa9be7b(0x136),_0x59d447=>{const _0x545af0=_0xa9be7b;if(_0x59d447===0x0||_0x59d447===null)_0x56ce72();else _0xd0dfa0(new Error(_0x545af0(0x12f)+_0x59d447));}),_0x51dd73['on']('error',_0xd0dfa0);});}function a174_0x4c05(){const _0x474a15=['needsUpgrade','\x20run\x20preview','\x20run\x20start','\x20\x20\x20\x20','92721yqhAuW','24174DxdEtR','dev','No\x20package.json\x20found\x20in\x20current\x20directory.','11862uzFUxv','has','1393553XwszXv','log','push','Run\x20a\x20package.json\x20script','vite\x20preview\x20exited\x20with\x20code\x20','read','No\x20scripts\x20defined\x20in\x20package.json.','bun.lockb','watch','\x22\x20not\x20found\x20in\x20package.json.','.bin','close','all','736452BhEQmG','error','Available:\x20','validation','\x20run\x20<script>\x0a','vite','228834cPuSbJ','205MSqvHc','npm','940uYMsji','join','preview','run','yarn','10506DhbsdQ','package.json','start','args','script','pnpm-lock.yaml','\x20run\x20','Enable\x20watch\x20mode\x20for\x20preview','utf-8','\x20\x20EXAMPLES','node_modules','\x20exited\x20with\x20code\x20','boolean','parse','keys','inherit','\x0a\x20\x20Usage:\x20','belowMinimum','--watch','8LPeDmU','\x20run\x20build'];a174_0x4c05=function(){return _0x474a15;};return a174_0x4c05();}const runFlags=[{'name':a174_0x3b7545(0x133),'type':a174_0x3b7545(0x118),'description':a174_0x3b7545(0x113),'default':![]}];function a174_0x1125(_0x469241,_0x17128b){_0x469241=_0x469241-0x104;const _0x4c05aa=a174_0x4c05();let _0x112508=_0x4c05aa[_0x469241];return _0x112508;}export const runDefinition={'service':a174_0x3b7545(0x10a),'command':a174_0x3b7545(0x10a),'description':a174_0x3b7545(0x12e),'risk':a174_0x3b7545(0x130),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a174_0x3b7545(0x110),'description':'Script\x20name\x20defined\x20in\x20package.json','required':![]}],'flags':runFlags,'helpExtra':()=>{const _0x5961ea=a174_0x3b7545,_0x4afa9c=[];return _0x4afa9c[_0x5961ea(0x12d)](_0x5961ea(0x115)),_0x4afa9c[_0x5961ea(0x12d)](_0x5961ea(0x124)+CLI_BIN_NAME+_0x5961ea(0x123)),_0x4afa9c[_0x5961ea(0x12d)](_0x5961ea(0x124)+CLI_BIN_NAME+_0x5961ea(0x120)),_0x4afa9c['push'](_0x5961ea(0x124)+CLI_BIN_NAME+_0x5961ea(0x122)),_0x4afa9c[_0x5961ea(0x12d)]('\x20\x20\x20\x20'+CLI_BIN_NAME+'\x20run\x20preview\x20--watch'),_0x4afa9c['join']('\x0a');},async 'execute'(_0x85caa9){const _0x2299fe=a174_0x3b7545,_0x4ad380=process['cwd'](),_0x541a93=_0x85caa9[_0x2299fe(0x10f)][0x0],_0x5d0366=_0x85caa9[_0x2299fe(0x10f)]['slice'](0x1),_0x474220=readPackageScripts(_0x4ad380);if(!_0x474220)throw CliErrors[_0x2299fe(0x13b)](_0x2299fe(0x128));if(!_0x541a93){const _0x5bb4c2=Object['keys'](_0x474220);if(_0x5bb4c2['length']===0x0)console[_0x2299fe(0x12c)](_0x2299fe(0x131));else{console['log']('\x0a\x20\x20Available\x20scripts:\x0a');for(const _0x116d72 of _0x5bb4c2){console['log'](_0x2299fe(0x124)+_0x116d72);}console[_0x2299fe(0x12c)](_0x2299fe(0x11c)+CLI_BIN_NAME+_0x2299fe(0x13c));}return{'ok':!![]};}if(!_0x474220[_0x541a93])throw CliErrors[_0x2299fe(0x13b)]('Script\x20\x22'+_0x541a93+_0x2299fe(0x134),_0x2299fe(0x13a)+(Object[_0x2299fe(0x11a)](_0x474220)[_0x2299fe(0x108)](',\x20')||'(none)'));const _0x53b698=detectPackageManager(_0x4ad380);VERSION_CHECK_SCRIPTS[_0x2299fe(0x12a)](_0x541a93)&&await versionCheck(_0x4ad380);if(_0x541a93==='preview'&&_0x85caa9['bool'](_0x2299fe(0x133)))return await Promise[_0x2299fe(0x137)]([spawnViteBuildWatch(_0x4ad380),spawnVitePreview(_0x4ad380)]),{'ok':!![]};return await spawnScript(_0x53b698,_0x541a93,_0x5d0366,_0x4ad380),{'ok':!![]};}};
@@ -1 +1 @@
1
- const a169_0x2d8d3d=a169_0x2221;(function(_0x2aa52f,_0xfdad71){const _0x6a910a=a169_0x2221,_0x4615d5=_0x2aa52f();while(!![]){try{const _0x1368a6=-parseInt(_0x6a910a(0x16f))/0x1+-parseInt(_0x6a910a(0x174))/0x2*(parseInt(_0x6a910a(0x17b))/0x3)+-parseInt(_0x6a910a(0x175))/0x4+-parseInt(_0x6a910a(0x173))/0x5+parseInt(_0x6a910a(0x178))/0x6+parseInt(_0x6a910a(0x170))/0x7*(parseInt(_0x6a910a(0x179))/0x8)+parseInt(_0x6a910a(0x176))/0x9;if(_0x1368a6===_0xfdad71)break;else _0x4615d5['push'](_0x4615d5['shift']());}catch(_0x320ca0){_0x4615d5['push'](_0x4615d5['shift']());}}}(a169_0x2f39,0x5a651));import{buildSchemaPayload}from'../framework/schema-export.js';function a169_0x2221(_0x55a533,_0x44249c){_0x55a533=_0x55a533-0x16e;const _0x2f39fb=a169_0x2f39();let _0x22213b=_0x2f39fb[_0x55a533];return _0x22213b;}async function execute(_0x38e7bc){const _0x13341a=await buildSchemaPayload();return{'ok':!![],'data':_0x13341a};}function a169_0x2f39(){const _0x37cd09=['237308PDVaRi','21iohCae','Export\x20machine-readable\x20command\x20schema\x20(JSON)','json','567235RMKlgB','234538BxSzjV','1547444JADCly','4264389xMMpNu','read','837852OSsdJB','1631144qsMhvL','export','3SsTLEQ','schema'];a169_0x2f39=function(){return _0x37cd09;};return a169_0x2f39();}export const schemaDefinition={'service':a169_0x2d8d3d(0x16e),'command':a169_0x2d8d3d(0x17a),'description':a169_0x2d8d3d(0x171),'risk':a169_0x2d8d3d(0x177),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':a169_0x2d8d3d(0x172),'flags':[],'execute':execute};
1
+ const a175_0x8f7ac7=a175_0x1d05;function a175_0x1973(){const _0x10ce1c=['json','schema','1915827jsJuPd','read','1084DJKZdK','export','Export\x20machine-readable\x20command\x20schema\x20(JSON)','911028LRBXuC','4711294lctXhr','2159208yDXUxx','18230mskUnP','1194348VeWrSP','189907oDJExK'];a175_0x1973=function(){return _0x10ce1c;};return a175_0x1973();}(function(_0x8fcbcb,_0x4503db){const _0x2c638f=a175_0x1d05,_0x476ff5=_0x8fcbcb();while(!![]){try{const _0x27de1f=parseInt(_0x2c638f(0x142))/0x1+parseInt(_0x2c638f(0x14a))/0x2+parseInt(_0x2c638f(0x145))/0x3+-parseInt(_0x2c638f(0x147))/0x4*(parseInt(_0x2c638f(0x140))/0x5)+-parseInt(_0x2c638f(0x141))/0x6+parseInt(_0x2c638f(0x14b))/0x7+-parseInt(_0x2c638f(0x14c))/0x8;if(_0x27de1f===_0x4503db)break;else _0x476ff5['push'](_0x476ff5['shift']());}catch(_0x2ced38){_0x476ff5['push'](_0x476ff5['shift']());}}}(a175_0x1973,0x7a14f));function a175_0x1d05(_0x448f6a,_0x288fad){_0x448f6a=_0x448f6a-0x140;const _0x197393=a175_0x1973();let _0x1d05e2=_0x197393[_0x448f6a];return _0x1d05e2;}import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x4916a3){const _0xbf4287=await buildSchemaPayload();return{'ok':!![],'data':_0xbf4287};}export const schemaDefinition={'service':a175_0x8f7ac7(0x144),'command':a175_0x8f7ac7(0x148),'description':a175_0x8f7ac7(0x149),'risk':a175_0x8f7ac7(0x146),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':a175_0x8f7ac7(0x143),'flags':[],'execute':execute};