@lovrabet/rabetbase-cli 2.3.10-beta.1 → 2.3.10

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 (259) hide show
  1. package/lib/api/api-doc.js +1 -1
  2. package/lib/api/fetch-model-list.js +1 -1
  3. package/lib/api/generate-api-file.js +1 -1
  4. package/lib/auth/auth-server-ui.js +1 -1
  5. package/lib/auth/auth-server.js +1 -1
  6. package/lib/auth/constant.js +1 -1
  7. package/lib/auth/get-cookie.js +1 -1
  8. package/lib/auth/get-session-user.js +1 -1
  9. package/lib/auth/is-session-valid.js +1 -1
  10. package/lib/auth/login-success-html.js +1 -1
  11. package/lib/auth/logout.js +1 -1
  12. package/lib/cli-flags.js +1 -1
  13. package/lib/cli.js +1 -1
  14. package/lib/commands/api/generate.js +1 -1
  15. package/lib/commands/api/index.js +1 -1
  16. package/lib/commands/api/list.js +1 -1
  17. package/lib/commands/api/pull.js +1 -1
  18. package/lib/commands/api/shared.js +1 -1
  19. package/lib/commands/app/add.js +1 -1
  20. package/lib/commands/app/index.js +1 -1
  21. package/lib/commands/app/list.js +1 -1
  22. package/lib/commands/app/remote-directory.js +1 -1
  23. package/lib/commands/app/remove.js +1 -1
  24. package/lib/commands/app/shared.js +1 -1
  25. package/lib/commands/app-config/delete.js +1 -1
  26. package/lib/commands/app-config/get.js +1 -1
  27. package/lib/commands/app-config/index.js +1 -1
  28. package/lib/commands/app-config/list.js +1 -1
  29. package/lib/commands/app-config/set.js +1 -1
  30. package/lib/commands/app-config/shared.js +1 -1
  31. package/lib/commands/auth/index.js +1 -1
  32. package/lib/commands/bff/create.js +1 -1
  33. package/lib/commands/bff/delete.js +1 -1
  34. package/lib/commands/bff/detail.js +1 -1
  35. package/lib/commands/bff/index.js +1 -1
  36. package/lib/commands/bff/list.js +1 -1
  37. package/lib/commands/bff/pull.js +1 -1
  38. package/lib/commands/bff/push.js +1 -1
  39. package/lib/commands/bff/status.js +1 -1
  40. package/lib/commands/cli-skill/index.js +1 -1
  41. package/lib/commands/cli-update.js +1 -1
  42. package/lib/commands/codegen/index.js +1 -1
  43. package/lib/commands/codegen/sdk.js +1 -1
  44. package/lib/commands/codegen/sql.js +1 -1
  45. package/lib/commands/common/app-registry.js +1 -1
  46. package/lib/commands/common/app-selector.js +1 -1
  47. package/lib/commands/common/async-task.js +1 -1
  48. package/lib/commands/common/dry-run.js +1 -1
  49. package/lib/commands/common/flags.js +1 -1
  50. package/lib/commands/common/local-file.js +1 -1
  51. package/lib/commands/common/validate.js +1 -1
  52. package/lib/commands/config/get.js +1 -1
  53. package/lib/commands/config/index.js +1 -1
  54. package/lib/commands/config/list.js +1 -1
  55. package/lib/commands/config/set.js +1 -1
  56. package/lib/commands/config/shared.js +1 -1
  57. package/lib/commands/data/filter.js +1 -1
  58. package/lib/commands/data/getOne.js +1 -1
  59. package/lib/commands/data/index.js +1 -1
  60. package/lib/commands/data/shared.js +1 -1
  61. package/lib/commands/dataset/business-group-update.js +1 -1
  62. package/lib/commands/dataset/capability.js +1 -1
  63. package/lib/commands/dataset/delete.js +1 -1
  64. package/lib/commands/dataset/detail.js +1 -1
  65. package/lib/commands/dataset/extend-update.js +1 -1
  66. package/lib/commands/dataset/field-update.js +1 -1
  67. package/lib/commands/dataset/generate.js +1 -1
  68. package/lib/commands/dataset/index.js +1 -1
  69. package/lib/commands/dataset/list.js +1 -1
  70. package/lib/commands/dataset/operations.js +1 -1
  71. package/lib/commands/dataset/relation-audit.js +1 -1
  72. package/lib/commands/dataset/relation-create.js +1 -1
  73. package/lib/commands/dataset/relation-delete.js +1 -1
  74. package/lib/commands/dataset/relation-shared.js +1 -1
  75. package/lib/commands/dataset/relation-update.js +1 -1
  76. package/lib/commands/dataset/relations.js +1 -1
  77. package/lib/commands/dataset/rename.js +1 -1
  78. package/lib/commands/dataset/restore.js +1 -1
  79. package/lib/commands/db/analysis-batching.js +1 -1
  80. package/lib/commands/db/analyze-batch-plan.js +1 -1
  81. package/lib/commands/db/analyze-cancel.js +1 -1
  82. package/lib/commands/db/analyze-start.js +1 -1
  83. package/lib/commands/db/analyze-status.js +1 -1
  84. package/lib/commands/db/create.js +1 -1
  85. package/lib/commands/db/delete.js +1 -1
  86. package/lib/commands/db/detail.js +1 -1
  87. package/lib/commands/db/diff.js +1 -1
  88. package/lib/commands/db/index.js +1 -1
  89. package/lib/commands/db/list.js +1 -1
  90. package/lib/commands/db/shared.js +1 -1
  91. package/lib/commands/db/tables.js +1 -1
  92. package/lib/commands/db/test.js +1 -1
  93. package/lib/commands/db/update.js +1 -1
  94. package/lib/commands/doctor.js +1 -1
  95. package/lib/commands/file/index.js +1 -1
  96. package/lib/commands/init/index.js +1 -1
  97. package/lib/commands/issue/index.js +1 -1
  98. package/lib/commands/issue/nudge.js +1 -1
  99. package/lib/commands/issue/report.js +1 -1
  100. package/lib/commands/issue/shared.js +1 -1
  101. package/lib/commands/logs/index.js +1 -1
  102. package/lib/commands/menu/delete.js +1 -1
  103. package/lib/commands/menu/external-link-create.js +1 -0
  104. package/lib/commands/menu/group-create.js +1 -1
  105. package/lib/commands/menu/group-update.js +1 -1
  106. package/lib/commands/menu/index.js +1 -1
  107. package/lib/commands/menu/list.js +1 -1
  108. package/lib/commands/menu/regroup-start.js +1 -1
  109. package/lib/commands/menu/shared/compare-table.js +1 -1
  110. package/lib/commands/menu/shared/delete-plan.js +1 -1
  111. package/lib/commands/menu/shared/facts.js +1 -1
  112. package/lib/commands/menu/shared/index.js +1 -1
  113. package/lib/commands/menu/shared/inquirer.js +1 -1
  114. package/lib/commands/menu/shared/local-pages.js +1 -1
  115. package/lib/commands/menu/shared/logic.js +1 -1
  116. package/lib/commands/menu/shared/mutations.js +1 -1
  117. package/lib/commands/menu/shared/service.js +1 -1
  118. package/lib/commands/menu/shared/sync-core.js +1 -1
  119. package/lib/commands/menu/shared/update-core.js +1 -1
  120. package/lib/commands/menu/shared/valid-url.js +1 -1
  121. package/lib/commands/menu/sync.js +1 -1
  122. package/lib/commands/menu/update.js +1 -1
  123. package/lib/commands/notification/config-list.js +1 -1
  124. package/lib/commands/notification/index.js +1 -1
  125. package/lib/commands/page/generate-start.js +1 -1
  126. package/lib/commands/page/generate-status.js +1 -1
  127. package/lib/commands/page/index.js +1 -1
  128. package/lib/commands/page/pull.js +1 -1
  129. package/lib/commands/page/push.js +1 -1
  130. package/lib/commands/page/relation-audit.js +1 -1
  131. package/lib/commands/page/shared.js +1 -1
  132. package/lib/commands/page/standard-page-status.js +1 -1
  133. package/lib/commands/page/sync.js +1 -1
  134. package/lib/commands/permit/index.js +1 -1
  135. package/lib/commands/permit/page-get.js +1 -1
  136. package/lib/commands/permit/page-set.js +1 -1
  137. package/lib/commands/permit/role-apis-set.js +1 -1
  138. package/lib/commands/permit/role-menus-set.js +1 -1
  139. package/lib/commands/permit/role-menus.js +1 -1
  140. package/lib/commands/permit/shared.js +1 -1
  141. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  142. package/lib/commands/project/create/format-elapsed.js +1 -1
  143. package/lib/commands/project/create/main.js +1 -1
  144. package/lib/commands/project/create/non-interactive.js +1 -1
  145. package/lib/commands/project/create/project-template-path.js +1 -1
  146. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  147. package/lib/commands/project/create/use-format-code.js +1 -1
  148. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  149. package/lib/commands/project/index.js +1 -1
  150. package/lib/commands/project/init.js +1 -1
  151. package/lib/commands/project/upgrade.js +1 -1
  152. package/lib/commands/registry.js +1 -1
  153. package/lib/commands/role/create.js +1 -1
  154. package/lib/commands/role/delete.js +1 -1
  155. package/lib/commands/role/detail.js +1 -1
  156. package/lib/commands/role/index.js +1 -1
  157. package/lib/commands/role/list.js +1 -1
  158. package/lib/commands/role/shared.js +1 -1
  159. package/lib/commands/role/update.js +1 -1
  160. package/lib/commands/role/user-add.js +1 -1
  161. package/lib/commands/role/user-remove.js +1 -1
  162. package/lib/commands/role/user-resolve.js +1 -1
  163. package/lib/commands/run/index.js +1 -1
  164. package/lib/commands/schema.js +1 -1
  165. package/lib/commands/sql/create.js +1 -1
  166. package/lib/commands/sql/delete.js +1 -1
  167. package/lib/commands/sql/detail.js +1 -1
  168. package/lib/commands/sql/exec.js +1 -1
  169. package/lib/commands/sql/index.js +1 -1
  170. package/lib/commands/sql/list.js +1 -1
  171. package/lib/commands/sql/pull.js +1 -1
  172. package/lib/commands/sql/push.js +1 -1
  173. package/lib/commands/sql/save.js +1 -1
  174. package/lib/commands/sql/shared.js +1 -1
  175. package/lib/commands/sql/status.js +1 -1
  176. package/lib/commands/sql/validate.js +1 -1
  177. package/lib/commands/task/index.js +1 -1
  178. package/lib/commands/task/status.js +1 -1
  179. package/lib/commands/workspace/add.js +1 -1
  180. package/lib/commands/workspace/index.js +1 -1
  181. package/lib/commands/workspace/remove.js +1 -1
  182. package/lib/config/schema.js +1 -1
  183. package/lib/constant/cdn.js +1 -1
  184. package/lib/constant/cli.js +1 -1
  185. package/lib/constant/defaults.js +1 -1
  186. package/lib/constant/domain.js +1 -1
  187. package/lib/constant/env.js +1 -1
  188. package/lib/constant/output.js +1 -1
  189. package/lib/constant/paths.js +1 -1
  190. package/lib/constant/risk.js +1 -1
  191. package/lib/context/app-resolver.js +1 -1
  192. package/lib/context/auth-resolver.js +1 -1
  193. package/lib/context/config-loader.js +1 -1
  194. package/lib/context.js +1 -1
  195. package/lib/core/alias-resolver.js +1 -1
  196. package/lib/core/api-client.js +1 -1
  197. package/lib/core/bff/config.js +1 -1
  198. package/lib/core/bff/file-system.js +1 -1
  199. package/lib/core/bff/hash.js +1 -1
  200. package/lib/core/bff/lock.js +1 -1
  201. package/lib/core/bff/utils.js +1 -1
  202. package/lib/core/db-resolver.js +1 -1
  203. package/lib/core/page/file-system.js +1 -1
  204. package/lib/core/page/hash.js +1 -1
  205. package/lib/core/page/lock.js +1 -1
  206. package/lib/core/sql-index-auditor.js +1 -1
  207. package/lib/core/sql-sync/config.js +1 -1
  208. package/lib/core/sql-sync/file-system.js +1 -1
  209. package/lib/core/sql-sync/hash.js +1 -1
  210. package/lib/core/sql-sync/lock.js +1 -1
  211. package/lib/core/sql-sync/utils.js +1 -1
  212. package/lib/core/sql-validator.js +1 -1
  213. package/lib/errors.js +1 -1
  214. package/lib/framework/build-all-flags.js +1 -1
  215. package/lib/framework/error-output.js +1 -1
  216. package/lib/framework/explicit-yes.js +1 -1
  217. package/lib/framework/flags.js +1 -1
  218. package/lib/framework/help.js +1 -1
  219. package/lib/framework/index.js +1 -1
  220. package/lib/framework/output.js +1 -1
  221. package/lib/framework/response.js +1 -1
  222. package/lib/framework/runner-alias.js +1 -1
  223. package/lib/framework/runner.js +1 -1
  224. package/lib/framework/schema-export.js +1 -1
  225. package/lib/framework/types.js +1 -1
  226. package/lib/generated/build-info.js +1 -1
  227. package/lib/help.js +1 -1
  228. package/lib/skills/main.js +1 -1
  229. package/lib/skills/npx-skills-add.js +1 -1
  230. package/lib/telemetry/cli-command-trace.js +1 -1
  231. package/lib/telemetry/cli-help-trace.js +1 -1
  232. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  233. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  234. package/lib/telemetry/send-cli-trace-log.js +1 -1
  235. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  236. package/lib/utils/ai_config.js +1 -1
  237. package/lib/utils/apply-jq-filter.js +1 -1
  238. package/lib/utils/cdn-config.js +1 -1
  239. package/lib/utils/check-sdk-version.js +1 -1
  240. package/lib/utils/cli-version-check.js +1 -1
  241. package/lib/utils/cli-version-policy.js +1 -1
  242. package/lib/utils/config.js +1 -1
  243. package/lib/utils/copy-directory.js +1 -1
  244. package/lib/utils/entity-with-id.js +1 -1
  245. package/lib/utils/file-utils.js +1 -1
  246. package/lib/utils/guides-cdn.js +1 -1
  247. package/lib/utils/http-client.js +1 -1
  248. package/lib/utils/is-non-interactive.js +1 -1
  249. package/lib/utils/logger.js +1 -1
  250. package/lib/utils/params.js +1 -1
  251. package/lib/utils/platform.js +1 -1
  252. package/lib/utils/rules-cdn.js +1 -1
  253. package/lib/utils/sleep.js +1 -1
  254. package/lib/utils/template-replacer.js +1 -1
  255. package/lib/utils/update-notice.js +1 -1
  256. package/lib/utils/version.js +1 -1
  257. package/lib/utils/with-active-cookie.js +1 -1
  258. package/lib/utils/write-cli-side-channel.js +1 -1
  259. package/package.json +1 -1
@@ -1 +1 @@
1
- const a150_0x53b6e9=a150_0x14db;(function(_0x4d7f3e,_0x1c3039){const _0x481342=a150_0x14db,_0x478c74=_0x4d7f3e();while(!![]){try{const _0x56b5b1=parseInt(_0x481342(0x1fe))/0x1*(-parseInt(_0x481342(0x202))/0x2)+parseInt(_0x481342(0x205))/0x3+-parseInt(_0x481342(0x22d))/0x4+-parseInt(_0x481342(0x20a))/0x5*(-parseInt(_0x481342(0x222))/0x6)+-parseInt(_0x481342(0x225))/0x7*(-parseInt(_0x481342(0x1ed))/0x8)+-parseInt(_0x481342(0x245))/0x9+parseInt(_0x481342(0x218))/0xa*(parseInt(_0x481342(0x20b))/0xb);if(_0x56b5b1===_0x1c3039)break;else _0x478c74['push'](_0x478c74['shift']());}catch(_0x2e5ee8){_0x478c74['push'](_0x478c74['shift']());}}}(a150_0x4b68,0xd138a));import a150_0x5a140d from'chalk';import a150_0x432132 from'ora';import{existsSync,readFileSync,renameSync,rmSync,statSync,unlinkSync,writeFileSync}from'node:fs';function a150_0x4b68(){const _0x2f062a=['detail','not\x20found\x20or\x20already\x20at\x20latest','green','none\x20found','.bak','includes','no\x20matching\x20entry\x20found','\x20\x20New\x20config\x20(.rabetbase.json):\x20','mcpServers','[\x22@lovrabet/sdk\x22]:\x20','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','\x20\x20Step\x20','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','stringify','Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','4723880aOytpy','Upgrade\x20cancelled.','Clean\x20MCP\x20config','bold','no\x20legacy\x20entry','object','@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.','No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.','not\x20needed','yellow','files','Proceed\x20with\x20upgrade?','step','dependencies','some','fail','lovrabet/rabetbase\x20installed\x20globally','83542nzdYcS','push','Step\x203/7:\x20Legacy\x20artifacts\x20—\x20','keys','2fEtvCq','Step\x201/7:\x20Config\x20migration\x20—\x20','Step\x204/7:\x20MCP\x20config\x20—\x20','1293645VvBJEs','\x20\x20#\x20or','exit\x20','info','oldMcpConfig','88360gtUIkq','1243IptTil','\x20→\x20','.cursor/rules/lovrabet_rules.mdc','Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','\x20→\x20latest','Remove\x20old\x20skill','gray','Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20','entries','Install\x20new\x20skill','error','Step\x202/7:\x20.lovrabet/\x20directory\x20removed','log','72530zArWqU','Remove\x20legacy\x20artifacts','Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped','\x20→\x20keys:\x20','path','lovrabet/lovrabet-skill\x20removed','failed','no\x20legacy\x20config\x20found','.cursor/mcp.json','status','372YnoeUR','removed\x20','isDirectory','7ETMdBq','oldArtifacts','already\x20exists\x20(will\x20merge)','.claude/skills/lovrabet','succeed','values','join','Legacy\x20artifacts:','3126688SDQYLZ','cyan','===\x20Upgrade\x20Analysis\x20===','sdkUpgrade','\x20from\x20','Step\x205/7:\x20Removing\x20old\x20skill...','@lovrabet/sdk:','Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.','\x20\x20Action:\x20delete','message','\x20\x20npm\x20install','Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20','MCP\x20config:','@lovrabet/dataset-mcp-server','\x20removed\x20(','Config\x20file:','Upgrade\x20@lovrabet/sdk','\x20\x20Current\x20version\x20in\x20','not\x20found\x20(will\x20create)','\x20\x20bun\x20install','parse','FOUND','inherit','red','10932921OBUiMQ','string','FAIL','fields','Step\x206/7:\x20Installing\x20new\x20skill...','utf8','filter','hasNewConfig','start','cwd','args','done','latest','skipped','length','oldPath','Step\x201/7:\x20Migrating\x20config...','white','\x20(backup:\x20','\x20\x20\x20\x20\x20\x20\x20','Remove\x20.lovrabet/'];a150_0x4b68=function(){return _0x2f062a;};return a150_0x4b68();}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[a150_0x53b6e9(0x1cf)](_0xd429be=>_0xd429be!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x2bed85){const _0x2bf476=a150_0x53b6e9,_0x4d06e1=[];for(const _0x3a411e of Object[_0x2bf476(0x22a)](CORE_IDE_CONFIGS)){if(_0x3a411e[_0x2bf476(0x1f7)])for(const _0xb07fde of _0x3a411e['files']){_0x4d06e1[_0x2bf476(0x1ff)](resolve(_0x2bed85,_0xb07fde['path']));}}return _0x4d06e1;}function analyse(_0x515310){const _0x15e167=a150_0x53b6e9;let _0x1a2829=null;const _0x3a1588=resolve(_0x515310,NEW_CONFIG_NAME),_0x29b9b3=existsSync(_0x3a1588);for(const _0x5da0c2 of LEGACY_CONFIG_NAMES){const _0x3bb99a=resolve(_0x515310,_0x5da0c2);if(existsSync(_0x3bb99a)){const _0x484258=readConfigFile(_0x3bb99a),_0x3a062d=Object[_0x15e167(0x201)](_0x484258)[_0x15e167(0x1cf)](_0x3efab9=>typeof _0x484258[_0x3efab9]!=='undefined');_0x1a2829={'oldPath':_0x3bb99a,'hasNewConfig':_0x29b9b3,'fields':_0x3a062d};break;}}const _0x393653=[],_0x8b4d7b=resolve(_0x515310,'.lovrabet');if(existsSync(_0x8b4d7b))_0x393653['push'](_0x8b4d7b);const _0x291f7c=resolve(_0x515310,_0x15e167(0x20d));if(existsSync(_0x291f7c))_0x393653[_0x15e167(0x1ff)](_0x291f7c);const _0xe63a55=resolve(_0x515310,_0x15e167(0x228));if(existsSync(_0xe63a55))_0x393653[_0x15e167(0x1ff)](_0xe63a55);for(const _0x56db71 of collectIdeSkillFiles(_0x515310)){if(existsSync(_0x56db71))_0x393653['push'](_0x56db71);}let _0x250768=null;const _0x5c2f24=resolve(_0x515310,_0x15e167(0x220));if(existsSync(_0x5c2f24))try{const _0x3bdb62=JSON[_0x15e167(0x241)](readFileSync(_0x5c2f24,_0x15e167(0x1ce)));if(_0x3bdb62?.[_0x15e167(0x1e6)]&&typeof _0x3bdb62[_0x15e167(0x1e6)]===_0x15e167(0x1f2)){const _0xbe0a05=[];for(const [_0x4173fe,_0x40e554]of Object[_0x15e167(0x213)](_0x3bdb62[_0x15e167(0x1e6)])){const _0x3d54f7=_0x40e554;_0x3d54f7?.[_0x15e167(0x1d3)]&&Array['isArray'](_0x3d54f7['args'])&&_0x3d54f7[_0x15e167(0x1d3)][_0x15e167(0x1fb)](_0x25eee8=>typeof _0x25eee8===_0x15e167(0x246)&&_0x25eee8[_0x15e167(0x1e3)](_0x15e167(0x23a)))&&_0xbe0a05[_0x15e167(0x1ff)](_0x4173fe);}_0xbe0a05[_0x15e167(0x1d7)]>0x0&&(_0x250768={'path':_0x5c2f24,'keys':_0xbe0a05});}}catch{}const _0x40af0b=_0x393653[_0x15e167(0x1d7)]>0x0||_0x1a2829!==null;let _0x58c3d8=null;const _0x45658d=resolve(_0x515310,'package.json');if(existsSync(_0x45658d))try{const _0x2337ea=JSON[_0x15e167(0x241)](readFileSync(_0x45658d,_0x15e167(0x1ce)));for(const _0x19e9be of[_0x15e167(0x1fa),'devDependencies']){const _0x43ecb1=_0x2337ea?.[_0x19e9be]?.['@lovrabet/sdk'];if(typeof _0x43ecb1===_0x15e167(0x246)){_0x43ecb1!=='latest'&&(_0x58c3d8={'pkgPath':_0x45658d,'currentVersion':_0x43ecb1,'field':_0x19e9be});break;}}}catch{}return{'configMigration':_0x1a2829,'oldArtifacts':_0x393653,'oldMcpConfig':_0x250768,'needsSkillSwap':_0x40af0b,'sdkUpgrade':_0x58c3d8};}function printReport(_0x37d9ac){const _0x41e098=a150_0x53b6e9,{configMigration:_0xc26cfb,oldArtifacts:_0x2e5d6c,oldMcpConfig:_0x3371bb,needsSkillSwap:_0x36655d}=_0x37d9ac;console[_0x41e098(0x217)](''),console[_0x41e098(0x217)](a150_0x5a140d[_0x41e098(0x1f0)](_0x41e098(0x22f))),console[_0x41e098(0x217)]('');_0xc26cfb?(console[_0x41e098(0x217)](a150_0x5a140d[_0x41e098(0x22e)](_0x41e098(0x23c))+('\x20\x20'+a150_0x5a140d[_0x41e098(0x1f6)](_0xc26cfb[_0x41e098(0x1d8)]))),console[_0x41e098(0x217)](_0x41e098(0x1e5)+(_0xc26cfb[_0x41e098(0x1d0)]?a150_0x5a140d[_0x41e098(0x1e0)](_0x41e098(0x227)):a150_0x5a140d['gray'](_0x41e098(0x23f)))),console[_0x41e098(0x217)]('\x20\x20Fields\x20to\x20migrate:\x20'+_0xc26cfb[_0x41e098(0x248)][_0x41e098(0x22b)](',\x20')),console[_0x41e098(0x217)]('\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak')):console[_0x41e098(0x217)](a150_0x5a140d[_0x41e098(0x22e)](_0x41e098(0x23c))+'\x20\x20'+a150_0x5a140d['gray'](_0x41e098(0x21f)));console['log']('');if(_0x2e5d6c[_0x41e098(0x1d7)]>0x0){console[_0x41e098(0x217)](a150_0x5a140d[_0x41e098(0x22e)]('Legacy\x20artifacts:'));for(const _0x261231 of _0x2e5d6c){console[_0x41e098(0x217)]('\x20\x20'+a150_0x5a140d['red'](_0x41e098(0x242))+'\x20\x20'+_0x261231);}console[_0x41e098(0x217)](_0x41e098(0x235));}else console['log'](a150_0x5a140d[_0x41e098(0x22e)](_0x41e098(0x22c))+'\x20\x20'+a150_0x5a140d[_0x41e098(0x211)](_0x41e098(0x1e1)));console[_0x41e098(0x217)]('');_0x3371bb?(console[_0x41e098(0x217)](a150_0x5a140d[_0x41e098(0x22e)](_0x41e098(0x239))+('\x20\x20'+a150_0x5a140d[_0x41e098(0x1f6)](_0x3371bb[_0x41e098(0x21c)])+_0x41e098(0x21b)+_0x3371bb[_0x41e098(0x201)]['join'](',\x20'))),console[_0x41e098(0x217)]('\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server')):console[_0x41e098(0x217)](a150_0x5a140d['cyan']('MCP\x20config:')+'\x20\x20'+a150_0x5a140d['gray'](_0x41e098(0x1f1)));console[_0x41e098(0x217)](''),console['log'](a150_0x5a140d[_0x41e098(0x22e)]('Skill\x20swap:')+('\x20\x20'+(_0x36655d?a150_0x5a140d[_0x41e098(0x1f6)]('needed'):a150_0x5a140d[_0x41e098(0x1e0)](_0x41e098(0x1f5)))));_0x36655d&&console[_0x41e098(0x217)]('\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`'+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console[_0x41e098(0x217)]('');if(_0x37d9ac[_0x41e098(0x230)]){const {currentVersion:_0x34ce0d,field:_0x287512,pkgPath:_0x485777}=_0x37d9ac[_0x41e098(0x230)];console[_0x41e098(0x217)](a150_0x5a140d['cyan'](_0x41e098(0x233))+('\x20\x20'+a150_0x5a140d[_0x41e098(0x1f6)](_0x485777))),console[_0x41e098(0x217)](_0x41e098(0x23e)+_0x287512+':\x20'+a150_0x5a140d[_0x41e098(0x1f6)](_0x34ce0d)+_0x41e098(0x20c)+a150_0x5a140d[_0x41e098(0x1e0)](_0x41e098(0x1d5))),console[_0x41e098(0x217)]('\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)');}else console['log'](a150_0x5a140d[_0x41e098(0x22e)](_0x41e098(0x233))+'\x20\x20'+a150_0x5a140d[_0x41e098(0x211)](_0x41e098(0x1df)));console[_0x41e098(0x217)]('');}function execConfigMigration(_0x3699da,_0x3f50ec){const _0x363478=a150_0x53b6e9,{configMigration:_0x5bb7bc}=_0x3699da;if(!_0x5bb7bc?.[_0x363478(0x1d8)])return{'step':0x1,'label':'Config\x20migration','ok':!![],'detail':'skipped\x20(no\x20legacy\x20config)'};const _0x5226a4=readConfigFile(_0x5bb7bc[_0x363478(0x1d8)]),_0x710abc=resolve(_0x3f50ec,NEW_CONFIG_NAME),_0x308499=_0x5bb7bc[_0x363478(0x1d0)]?readConfigFile(_0x710abc):{};for(const [_0x4d8203,_0xa75ca2]of Object[_0x363478(0x213)](_0x5226a4)){!(_0x4d8203 in _0x308499)&&(_0x308499[_0x4d8203]=_0xa75ca2);}writeConfigFile(_0x710abc,_0x308499);const _0x4dce4e=_0x5bb7bc[_0x363478(0x1d8)]+_0x363478(0x1e2);return renameSync(_0x5bb7bc[_0x363478(0x1d8)],_0x4dce4e),{'step':0x1,'label':'Config\x20migration','ok':!![],'detail':_0x5bb7bc[_0x363478(0x1d8)]+_0x363478(0x20c)+_0x710abc+_0x363478(0x1db)+_0x4dce4e+')'};}function execRemoveOldArtifacts(_0x533ff5){const _0x18126a=a150_0x53b6e9,_0x23eb34=[];for(const _0x4124c0 of _0x533ff5){try{if(!existsSync(_0x4124c0))continue;const _0x1be606=tryStat(_0x4124c0);_0x1be606?.[_0x18126a(0x224)]()?rmSync(_0x4124c0,{'recursive':!![],'force':!![]}):unlinkSync(_0x4124c0);}catch(_0x141e55){_0x23eb34[_0x18126a(0x1ff)](_0x4124c0+':\x20'+_0x141e55['message']);}}return{'step':0x3,'label':_0x18126a(0x219),'ok':_0x23eb34[_0x18126a(0x1d7)]===0x0,'detail':_0x23eb34['length']>0x0?_0x533ff5[_0x18126a(0x1d7)]-_0x23eb34[_0x18126a(0x1d7)]+'/'+_0x533ff5[_0x18126a(0x1d7)]+_0x18126a(0x23b)+_0x23eb34[_0x18126a(0x22b)](';\x20')+')':_0x533ff5[_0x18126a(0x1d7)]+'\x20removed'};}function execCleanMcp(_0x473cc4){const _0x81ff0=a150_0x53b6e9;if(!_0x473cc4[_0x81ff0(0x209)])return{'step':0x4,'label':_0x81ff0(0x1ef),'ok':!![],'detail':'skipped'};try{const _0x3c8ea8=readFileSync(_0x473cc4['oldMcpConfig'][_0x81ff0(0x21c)],_0x81ff0(0x1ce)),_0xa3e391=JSON[_0x81ff0(0x241)](_0x3c8ea8);if(_0xa3e391?.[_0x81ff0(0x1e6)]&&typeof _0xa3e391['mcpServers']===_0x81ff0(0x1f2)){const _0x4e7312=[];for(const [_0x56ed68,_0x5214e5]of Object[_0x81ff0(0x213)](_0xa3e391[_0x81ff0(0x1e6)])){_0x5214e5?.[_0x81ff0(0x1d3)]&&Array['isArray'](_0x5214e5[_0x81ff0(0x1d3)])&&_0x5214e5['args'][_0x81ff0(0x1fb)](_0x5de01e=>typeof _0x5de01e===_0x81ff0(0x246)&&_0x5de01e['includes'](_0x81ff0(0x23a)))&&_0x4e7312[_0x81ff0(0x1ff)](_0x56ed68);}for(const _0x233719 of _0x4e7312){delete _0xa3e391[_0x81ff0(0x1e6)][_0x233719];}return _0x4e7312[_0x81ff0(0x1d7)]>0x0&&writeFileSync(_0x473cc4[_0x81ff0(0x209)][_0x81ff0(0x21c)],JSON[_0x81ff0(0x1eb)](_0xa3e391,null,0x2)+'\x0a',_0x81ff0(0x1ce)),{'step':0x4,'label':_0x81ff0(0x1ef),'ok':!![],'detail':_0x81ff0(0x223)+_0x4e7312['join'](',\x20')+_0x81ff0(0x231)+_0x473cc4[_0x81ff0(0x209)][_0x81ff0(0x21c)]};}return{'step':0x4,'label':'Clean\x20MCP\x20config','ok':!![],'detail':_0x81ff0(0x1e4)};}catch(_0x56b0ad){return{'step':0x4,'label':_0x81ff0(0x1ef),'ok':![],'detail':_0x56b0ad[_0x81ff0(0x236)]};}}function execSkillsRemove(_0x4d560a,_0x26ff51){const _0x269992=a150_0x53b6e9,_0x307a47=runNpxSkillsRemove(_0x4d560a,{'stdio':_0x269992(0x243),'yes':_0x26ff51});return{'step':0x5,'label':_0x269992(0x210),'ok':_0x307a47['ok'],'detail':_0x307a47['ok']?_0x269992(0x21d):_0x307a47[_0x269992(0x215)]??_0x269992(0x207)+_0x307a47['status']};}function execSkillsAdd(_0x4225ca,_0x56de14){const _0x45e421=a150_0x53b6e9,_0x228404=runNpxSkillsAddGlobal(_0x4225ca,'lovrabet/rabetbase',{'stdio':'inherit','yes':_0x56de14});return{'step':0x6,'label':_0x45e421(0x214),'ok':_0x228404['ok'],'detail':_0x228404['ok']?_0x45e421(0x1fd):_0x228404[_0x45e421(0x215)]??_0x45e421(0x207)+_0x228404[_0x45e421(0x221)]};}function execUpgradeSdk(_0x4242b9){const _0x17cf34=a150_0x53b6e9;if(!_0x4242b9[_0x17cf34(0x230)])return{'step':0x7,'label':_0x17cf34(0x23d),'ok':!![],'detail':'skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)'};const {pkgPath:_0x2eca57,currentVersion:_0x3baef3,field:_0x5ff687}=_0x4242b9['sdkUpgrade'];try{const _0x4aa95a=readFileSync(_0x2eca57,_0x17cf34(0x1ce)),_0x348f86=JSON[_0x17cf34(0x241)](_0x4aa95a);return _0x348f86[_0x5ff687]['@lovrabet/sdk']=_0x17cf34(0x1d5),writeFileSync(_0x2eca57,JSON['stringify'](_0x348f86,null,0x2)+'\x0a',_0x17cf34(0x1ce)),{'step':0x7,'label':_0x17cf34(0x23d),'ok':!![],'detail':_0x5ff687+_0x17cf34(0x1e7)+_0x3baef3+_0x17cf34(0x20f)};}catch(_0x555f13){return{'step':0x7,'label':'Upgrade\x20@lovrabet/sdk','ok':![],'detail':_0x555f13[_0x17cf34(0x236)]};}}function a150_0x14db(_0x5977ff,_0x2308f3){_0x5977ff=_0x5977ff-0x1cd;const _0x4b68a7=a150_0x4b68();let _0x14db71=_0x4b68a7[_0x5977ff];return _0x14db71;}function tryStat(_0x4c5551){try{return statSync(_0x4c5551);}catch{return undefined;}}function printSummary(_0x2344b3){const _0x551b5d=a150_0x53b6e9;console[_0x551b5d(0x217)](''),console[_0x551b5d(0x217)](a150_0x5a140d[_0x551b5d(0x1f0)]('===\x20Upgrade\x20Summary\x20===')),console[_0x551b5d(0x217)]('');for(const _0x2a3770 of _0x2344b3){const _0x82da54=_0x2a3770['ok']?a150_0x5a140d[_0x551b5d(0x1e0)]('OK'):a150_0x5a140d[_0x551b5d(0x244)](_0x551b5d(0x247));console[_0x551b5d(0x217)]('\x20\x20'+_0x82da54+_0x551b5d(0x1e9)+_0x2a3770[_0x551b5d(0x1f9)]+':\x20'+_0x2a3770['label']);if(_0x2a3770[_0x551b5d(0x1de)])console[_0x551b5d(0x217)](_0x551b5d(0x1dc)+a150_0x5a140d[_0x551b5d(0x211)](_0x2a3770['detail']));}console['log']('');}export async function upgradeApp(_0x3eb684,_0x3d96b1){const _0x41350c=a150_0x53b6e9,_0x9b1b21=process[_0x41350c(0x1d2)](),_0x10b7b8=analyse(_0x9b1b21),_0x1a94da=!_0x10b7b8['configMigration']&&_0x10b7b8[_0x41350c(0x226)][_0x41350c(0x1d7)]===0x0&&!_0x10b7b8[_0x41350c(0x209)]&&!_0x10b7b8['needsSkillSwap']&&!_0x10b7b8['sdkUpgrade'];if(_0x1a94da){console[_0x41350c(0x217)](a150_0x5a140d[_0x41350c(0x1e0)](_0x41350c(0x1f4)));return;}printReport(_0x10b7b8);const _0x4b2a25=!!(_0x3d96b1['yes']||_0x3d96b1['Y']||_0x3eb684);if(!_0x4b2a25)try{const _0x150eb9=await askConfirm(_0x41350c(0x1f8));if(!_0x150eb9){console['log'](a150_0x5a140d[_0x41350c(0x211)](_0x41350c(0x1ee)));return;}}catch(_0x1b5ce3){if(_0x1b5ce3?.['message']==='CANCEL'){console['log'](a150_0x5a140d[_0x41350c(0x211)](_0x41350c(0x1ee)));return;}throw _0x1b5ce3;}const _0x1cf6db=[],_0x2fa416=a150_0x432132({'text':_0x41350c(0x1d9),'color':'cyan'})[_0x41350c(0x1d1)](),_0x14d0dc=execConfigMigration(_0x10b7b8,_0x9b1b21);_0x1cf6db[_0x41350c(0x1ff)](_0x14d0dc),_0x2fa416[_0x14d0dc['ok']?_0x41350c(0x229):_0x41350c(0x1fc)](_0x41350c(0x203)+(_0x14d0dc[_0x41350c(0x1de)]??(_0x14d0dc['ok']?_0x41350c(0x1d4):_0x41350c(0x21e))));const _0x33d304=resolve(_0x9b1b21,'.lovrabet'),_0x74a8ec=a150_0x432132({'text':_0x41350c(0x20e),'color':_0x41350c(0x22e)})[_0x41350c(0x1d1)]();if(existsSync(_0x33d304))try{rmSync(_0x33d304,{'recursive':!![],'force':!![]}),_0x74a8ec[_0x41350c(0x229)](_0x41350c(0x216)),_0x1cf6db['push']({'step':0x2,'label':_0x41350c(0x1dd),'ok':!![]});}catch(_0x471dca){_0x74a8ec['fail'](_0x41350c(0x238)+_0x471dca['message']),_0x1cf6db[_0x41350c(0x1ff)]({'step':0x2,'label':_0x41350c(0x1dd),'ok':![],'detail':_0x471dca['message']});}else _0x74a8ec[_0x41350c(0x208)](_0x41350c(0x21a)),_0x1cf6db[_0x41350c(0x1ff)]({'step':0x2,'label':_0x41350c(0x1dd),'ok':!![],'detail':_0x41350c(0x1d6)});const _0x27a6eb=a150_0x432132({'text':_0x41350c(0x1ec),'color':_0x41350c(0x22e)})['start'](),_0x54f86d=execRemoveOldArtifacts(_0x10b7b8[_0x41350c(0x226)]);_0x1cf6db[_0x41350c(0x1ff)](_0x54f86d),_0x27a6eb[_0x54f86d['ok']?_0x41350c(0x229):'fail'](_0x41350c(0x200)+(_0x54f86d[_0x41350c(0x1de)]??(_0x54f86d['ok']?_0x41350c(0x1d4):_0x41350c(0x21e))));const _0x5e79d7=a150_0x432132({'text':'Step\x204/7:\x20Cleaning\x20MCP\x20config...','color':_0x41350c(0x22e)})[_0x41350c(0x1d1)](),_0x1c7e13=execCleanMcp(_0x10b7b8);_0x1cf6db[_0x41350c(0x1ff)](_0x1c7e13),_0x5e79d7[_0x1c7e13['ok']?_0x41350c(0x229):_0x41350c(0x1fc)](_0x41350c(0x204)+(_0x1c7e13[_0x41350c(0x1de)]??(_0x1c7e13['ok']?_0x41350c(0x1d4):_0x41350c(0x21e))));const _0x153e11=a150_0x432132({'text':_0x41350c(0x232),'color':_0x41350c(0x22e)})[_0x41350c(0x1d1)](),_0x5961ce=execSkillsRemove(_0x9b1b21,_0x4b2a25);_0x1cf6db['push'](_0x5961ce),_0x153e11[_0x5961ce['ok']?'succeed':_0x41350c(0x1fc)](_0x41350c(0x212)+(_0x5961ce[_0x41350c(0x1de)]??(_0x5961ce['ok']?_0x41350c(0x1d4):_0x41350c(0x21e))));const _0x232ac1=a150_0x432132({'text':_0x41350c(0x1cd),'color':'cyan'})[_0x41350c(0x1d1)](),_0x463b3d=execSkillsAdd(_0x9b1b21,_0x4b2a25);_0x1cf6db[_0x41350c(0x1ff)](_0x463b3d),_0x232ac1[_0x463b3d['ok']?_0x41350c(0x229):_0x41350c(0x1fc)](_0x41350c(0x1ea)+(_0x463b3d[_0x41350c(0x1de)]??(_0x463b3d['ok']?_0x41350c(0x1d4):_0x41350c(0x21e))));const _0x589b4f=a150_0x432132({'text':_0x41350c(0x1e8),'color':_0x41350c(0x22e)})[_0x41350c(0x1d1)](),_0x35736b=execUpgradeSdk(_0x10b7b8);_0x1cf6db['push'](_0x35736b),_0x589b4f[_0x35736b['ok']?'succeed':'fail']('Step\x207/7:\x20@lovrabet/sdk\x20—\x20'+(_0x35736b['detail']??(_0x35736b['ok']?_0x41350c(0x1d4):_0x41350c(0x21e)))),printSummary(_0x1cf6db);const _0x294f9f=_0x1cf6db['some'](_0x5e9763=>!_0x5e9763['ok']);_0x294f9f?console[_0x41350c(0x217)](a150_0x5a140d[_0x41350c(0x1f6)](_0x41350c(0x234))):console[_0x41350c(0x217)](a150_0x5a140d['green']('Upgrade\x20completed\x20successfully!')),_0x35736b['ok']&&_0x10b7b8[_0x41350c(0x230)]&&(console[_0x41350c(0x217)](''),console[_0x41350c(0x217)](a150_0x5a140d['bold'][_0x41350c(0x22e)](_0x41350c(0x1f3))),console[_0x41350c(0x217)](a150_0x5a140d[_0x41350c(0x22e)]('Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:')),console[_0x41350c(0x217)](''),console[_0x41350c(0x217)](a150_0x5a140d[_0x41350c(0x1da)](_0x41350c(0x237))),console[_0x41350c(0x217)](a150_0x5a140d[_0x41350c(0x1da)](_0x41350c(0x206))),console[_0x41350c(0x217)](a150_0x5a140d[_0x41350c(0x1da)](_0x41350c(0x240))),console[_0x41350c(0x217)](''));}
1
+ (function(_0x20de5e,_0x452392){const _0x5476e7=a151_0x2b86,_0x1c4b87=_0x20de5e();while(!![]){try{const _0x2837d0=parseInt(_0x5476e7(0x1b3))/0x1+parseInt(_0x5476e7(0x1a5))/0x2+parseInt(_0x5476e7(0x1cd))/0x3+parseInt(_0x5476e7(0x187))/0x4*(parseInt(_0x5476e7(0x1e1))/0x5)+parseInt(_0x5476e7(0x1fc))/0x6*(-parseInt(_0x5476e7(0x189))/0x7)+-parseInt(_0x5476e7(0x1dc))/0x8+parseInt(_0x5476e7(0x1ca))/0x9;if(_0x2837d0===_0x452392)break;else _0x1c4b87['push'](_0x1c4b87['shift']());}catch(_0x1dc3d0){_0x1c4b87['push'](_0x1c4b87['shift']());}}}(a151_0x2c88,0x6180d));import a151_0x5e5f3f from'chalk';import a151_0x583159 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['filter'](_0x2f475b=>_0x2f475b!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x3ba21e){const _0x7ef930=a151_0x2b86,_0x36d41a=[];for(const _0xcaa5b4 of Object[_0x7ef930(0x1f4)](CORE_IDE_CONFIGS)){if(_0xcaa5b4[_0x7ef930(0x1db)])for(const _0x27b805 of _0xcaa5b4[_0x7ef930(0x1db)]){_0x36d41a[_0x7ef930(0x1f6)](resolve(_0x3ba21e,_0x27b805[_0x7ef930(0x196)]));}}return _0x36d41a;}function analyse(_0x442a5b){const _0x25baee=a151_0x2b86;let _0x1d1db2=null;const _0x34c92e=resolve(_0x442a5b,NEW_CONFIG_NAME),_0x3b12d1=existsSync(_0x34c92e);for(const _0x171cc6 of LEGACY_CONFIG_NAMES){const _0x46a87e=resolve(_0x442a5b,_0x171cc6);if(existsSync(_0x46a87e)){const _0x330bb5=readConfigFile(_0x46a87e),_0x187e0e=Object[_0x25baee(0x1a7)](_0x330bb5)[_0x25baee(0x186)](_0x4cab0b=>typeof _0x330bb5[_0x4cab0b]!=='undefined');_0x1d1db2={'oldPath':_0x46a87e,'hasNewConfig':_0x3b12d1,'fields':_0x187e0e};break;}}const _0x1ffacb=[],_0x526d6b=resolve(_0x442a5b,'.lovrabet');if(existsSync(_0x526d6b))_0x1ffacb[_0x25baee(0x1f6)](_0x526d6b);const _0x2f9a2d=resolve(_0x442a5b,'.cursor/rules/lovrabet_rules.mdc');if(existsSync(_0x2f9a2d))_0x1ffacb[_0x25baee(0x1f6)](_0x2f9a2d);const _0x2ec19d=resolve(_0x442a5b,_0x25baee(0x1df));if(existsSync(_0x2ec19d))_0x1ffacb[_0x25baee(0x1f6)](_0x2ec19d);for(const _0x555da9 of collectIdeSkillFiles(_0x442a5b)){if(existsSync(_0x555da9))_0x1ffacb[_0x25baee(0x1f6)](_0x555da9);}let _0x515a46=null;const _0x44be61=resolve(_0x442a5b,'.cursor/mcp.json');if(existsSync(_0x44be61))try{const _0x16a214=JSON[_0x25baee(0x1c2)](readFileSync(_0x44be61,'utf8'));if(_0x16a214?.[_0x25baee(0x1bd)]&&typeof _0x16a214[_0x25baee(0x1bd)]===_0x25baee(0x1b6)){const _0x40a4b6=[];for(const [_0x33fea3,_0x148772]of Object[_0x25baee(0x1ec)](_0x16a214[_0x25baee(0x1bd)])){const _0x12de74=_0x148772;_0x12de74?.[_0x25baee(0x1e4)]&&Array['isArray'](_0x12de74[_0x25baee(0x1e4)])&&_0x12de74[_0x25baee(0x1e4)][_0x25baee(0x18c)](_0x1aeb42=>typeof _0x1aeb42==='string'&&_0x1aeb42[_0x25baee(0x1f2)]('@lovrabet/dataset-mcp-server'))&&_0x40a4b6[_0x25baee(0x1f6)](_0x33fea3);}_0x40a4b6[_0x25baee(0x1cb)]>0x0&&(_0x515a46={'path':_0x44be61,'keys':_0x40a4b6});}}catch{}const _0x343a34=_0x1ffacb[_0x25baee(0x1cb)]>0x0||_0x1d1db2!==null;let _0x3314e7=null;const _0x471497=resolve(_0x442a5b,_0x25baee(0x1c7));if(existsSync(_0x471497))try{const _0x2b62b7=JSON['parse'](readFileSync(_0x471497,'utf8'));for(const _0x3c969e of[_0x25baee(0x1d5),_0x25baee(0x1b2)]){const _0x4ab8cc=_0x2b62b7?.[_0x3c969e]?.[_0x25baee(0x19a)];if(typeof _0x4ab8cc===_0x25baee(0x1fa)){_0x4ab8cc!==_0x25baee(0x1e5)&&(_0x3314e7={'pkgPath':_0x471497,'currentVersion':_0x4ab8cc,'field':_0x3c969e});break;}}}catch{}return{'configMigration':_0x1d1db2,'oldArtifacts':_0x1ffacb,'oldMcpConfig':_0x515a46,'needsSkillSwap':_0x343a34,'sdkUpgrade':_0x3314e7};}function printReport(_0x4279b5){const _0x2c9872=a151_0x2b86,{configMigration:_0x15a0ff,oldArtifacts:_0x20faec,oldMcpConfig:_0x2dcf76,needsSkillSwap:_0x1f12b9}=_0x4279b5;console[_0x2c9872(0x1ac)](''),console[_0x2c9872(0x1ac)](a151_0x5e5f3f[_0x2c9872(0x1dd)]('===\x20Upgrade\x20Analysis\x20===')),console[_0x2c9872(0x1ac)]('');_0x15a0ff?(console[_0x2c9872(0x1ac)](a151_0x5e5f3f[_0x2c9872(0x188)](_0x2c9872(0x1c3))+('\x20\x20'+a151_0x5e5f3f[_0x2c9872(0x1e3)](_0x15a0ff[_0x2c9872(0x1a8)]))),console[_0x2c9872(0x1ac)](_0x2c9872(0x1d1)+(_0x15a0ff[_0x2c9872(0x193)]?a151_0x5e5f3f[_0x2c9872(0x1af)](_0x2c9872(0x1e6)):a151_0x5e5f3f[_0x2c9872(0x1f9)](_0x2c9872(0x1b7)))),console['log']('\x20\x20Fields\x20to\x20migrate:\x20'+_0x15a0ff[_0x2c9872(0x1c5)]['join'](',\x20')),console[_0x2c9872(0x1ac)](_0x2c9872(0x1bb))):console[_0x2c9872(0x1ac)](a151_0x5e5f3f[_0x2c9872(0x188)](_0x2c9872(0x1c3))+'\x20\x20'+a151_0x5e5f3f[_0x2c9872(0x1f9)]('no\x20legacy\x20config\x20found'));console[_0x2c9872(0x1ac)]('');if(_0x20faec['length']>0x0){console[_0x2c9872(0x1ac)](a151_0x5e5f3f[_0x2c9872(0x188)](_0x2c9872(0x18b)));for(const _0x43ab53 of _0x20faec){console[_0x2c9872(0x1ac)]('\x20\x20'+a151_0x5e5f3f['red'](_0x2c9872(0x197))+'\x20\x20'+_0x43ab53);}console[_0x2c9872(0x1ac)](_0x2c9872(0x1e7));}else console[_0x2c9872(0x1ac)](a151_0x5e5f3f[_0x2c9872(0x188)](_0x2c9872(0x18b))+'\x20\x20'+a151_0x5e5f3f['gray'](_0x2c9872(0x1ea)));console['log']('');_0x2dcf76?(console[_0x2c9872(0x1ac)](a151_0x5e5f3f[_0x2c9872(0x188)](_0x2c9872(0x19b))+('\x20\x20'+a151_0x5e5f3f[_0x2c9872(0x1e3)](_0x2dcf76[_0x2c9872(0x196)])+'\x20→\x20keys:\x20'+_0x2dcf76[_0x2c9872(0x1a7)][_0x2c9872(0x1ce)](',\x20'))),console[_0x2c9872(0x1ac)](_0x2c9872(0x1e0))):console[_0x2c9872(0x1ac)](a151_0x5e5f3f[_0x2c9872(0x188)](_0x2c9872(0x19b))+'\x20\x20'+a151_0x5e5f3f['gray']('no\x20legacy\x20entry'));console[_0x2c9872(0x1ac)](''),console[_0x2c9872(0x1ac)](a151_0x5e5f3f[_0x2c9872(0x188)]('Skill\x20swap:')+('\x20\x20'+(_0x1f12b9?a151_0x5e5f3f['yellow'](_0x2c9872(0x1e9)):a151_0x5e5f3f['green']('not\x20needed'))));_0x1f12b9&&console[_0x2c9872(0x1ac)](_0x2c9872(0x1eb)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console[_0x2c9872(0x1ac)]('');if(_0x4279b5[_0x2c9872(0x191)]){const {currentVersion:_0x34f5c5,field:_0x5680ae,pkgPath:_0xc91be1}=_0x4279b5['sdkUpgrade'];console['log'](a151_0x5e5f3f[_0x2c9872(0x188)](_0x2c9872(0x1a1))+('\x20\x20'+a151_0x5e5f3f[_0x2c9872(0x1e3)](_0xc91be1))),console[_0x2c9872(0x1ac)](_0x2c9872(0x1b1)+_0x5680ae+':\x20'+a151_0x5e5f3f[_0x2c9872(0x1e3)](_0x34f5c5)+_0x2c9872(0x1b0)+a151_0x5e5f3f['green'](_0x2c9872(0x1e5))),console[_0x2c9872(0x1ac)](_0x2c9872(0x1fd));}else console['log'](a151_0x5e5f3f[_0x2c9872(0x188)](_0x2c9872(0x1a1))+'\x20\x20'+a151_0x5e5f3f[_0x2c9872(0x1f9)]('not\x20found\x20or\x20already\x20at\x20latest'));console[_0x2c9872(0x1ac)]('');}function execConfigMigration(_0x360bb4,_0x31ea6d){const _0x13387a=a151_0x2b86,{configMigration:_0x336b6c}=_0x360bb4;if(!_0x336b6c?.[_0x13387a(0x1a8)])return{'step':0x1,'label':_0x13387a(0x195),'ok':!![],'detail':'skipped\x20(no\x20legacy\x20config)'};const _0x2d179e=readConfigFile(_0x336b6c[_0x13387a(0x1a8)]),_0x2c54df=resolve(_0x31ea6d,NEW_CONFIG_NAME),_0x533bcd=_0x336b6c[_0x13387a(0x193)]?readConfigFile(_0x2c54df):{};for(const [_0x200fad,_0x13cd11]of Object[_0x13387a(0x1ec)](_0x2d179e)){!(_0x200fad in _0x533bcd)&&(_0x533bcd[_0x200fad]=_0x13cd11);}writeConfigFile(_0x2c54df,_0x533bcd);const _0x25886f=_0x336b6c[_0x13387a(0x1a8)]+'.bak';return renameSync(_0x336b6c['oldPath'],_0x25886f),{'step':0x1,'label':_0x13387a(0x195),'ok':!![],'detail':_0x336b6c[_0x13387a(0x1a8)]+_0x13387a(0x1b0)+_0x2c54df+'\x20(backup:\x20'+_0x25886f+')'};}function execRemoveOldArtifacts(_0x438a01){const _0x428de9=a151_0x2b86,_0x442fd3=[];for(const _0x52b3b0 of _0x438a01){try{if(!existsSync(_0x52b3b0))continue;const _0x74679c=tryStat(_0x52b3b0);_0x74679c?.[_0x428de9(0x1ba)]()?rmSync(_0x52b3b0,{'recursive':!![],'force':!![]}):unlinkSync(_0x52b3b0);}catch(_0x3c053d){_0x442fd3[_0x428de9(0x1f6)](_0x52b3b0+':\x20'+_0x3c053d[_0x428de9(0x1f1)]);}}return{'step':0x3,'label':'Remove\x20legacy\x20artifacts','ok':_0x442fd3['length']===0x0,'detail':_0x442fd3['length']>0x0?_0x438a01['length']-_0x442fd3[_0x428de9(0x1cb)]+'/'+_0x438a01[_0x428de9(0x1cb)]+_0x428de9(0x1ab)+_0x442fd3[_0x428de9(0x1ce)](';\x20')+')':_0x438a01['length']+_0x428de9(0x1c1)};}function execCleanMcp(_0x256684){const _0x44439f=a151_0x2b86;if(!_0x256684[_0x44439f(0x1b9)])return{'step':0x4,'label':_0x44439f(0x1ad),'ok':!![],'detail':_0x44439f(0x1fe)};try{const _0xb3fa47=readFileSync(_0x256684[_0x44439f(0x1b9)][_0x44439f(0x196)],_0x44439f(0x1cf)),_0x530379=JSON[_0x44439f(0x1c2)](_0xb3fa47);if(_0x530379?.[_0x44439f(0x1bd)]&&typeof _0x530379[_0x44439f(0x1bd)]===_0x44439f(0x1b6)){const _0x19a249=[];for(const [_0x169cc7,_0x55c8c3]of Object[_0x44439f(0x1ec)](_0x530379[_0x44439f(0x1bd)])){_0x55c8c3?.['args']&&Array[_0x44439f(0x1bc)](_0x55c8c3[_0x44439f(0x1e4)])&&_0x55c8c3[_0x44439f(0x1e4)]['some'](_0x9c5eb3=>typeof _0x9c5eb3===_0x44439f(0x1fa)&&_0x9c5eb3[_0x44439f(0x1f2)](_0x44439f(0x1e2)))&&_0x19a249['push'](_0x169cc7);}for(const _0x534045 of _0x19a249){delete _0x530379['mcpServers'][_0x534045];}return _0x19a249[_0x44439f(0x1cb)]>0x0&&writeFileSync(_0x256684[_0x44439f(0x1b9)][_0x44439f(0x196)],JSON['stringify'](_0x530379,null,0x2)+'\x0a',_0x44439f(0x1cf)),{'step':0x4,'label':'Clean\x20MCP\x20config','ok':!![],'detail':'removed\x20'+_0x19a249[_0x44439f(0x1ce)](',\x20')+_0x44439f(0x1f8)+_0x256684[_0x44439f(0x1b9)][_0x44439f(0x196)]};}return{'step':0x4,'label':_0x44439f(0x1ad),'ok':!![],'detail':_0x44439f(0x1f5)};}catch(_0x34a139){return{'step':0x4,'label':_0x44439f(0x1ad),'ok':![],'detail':_0x34a139[_0x44439f(0x1f1)]};}}function execSkillsRemove(_0x481329,_0x5e61de){const _0xe7151=a151_0x2b86,_0x593ae0=runNpxSkillsRemove(_0x481329,{'stdio':_0xe7151(0x1ef),'yes':_0x5e61de});return{'step':0x5,'label':'Remove\x20old\x20skill','ok':_0x593ae0['ok'],'detail':_0x593ae0['ok']?_0xe7151(0x19d):_0x593ae0[_0xe7151(0x1bf)]??_0xe7151(0x1d3)+_0x593ae0[_0xe7151(0x1c4)]};}function execSkillsAdd(_0x586d33,_0x4d1efb){const _0x12439d=a151_0x2b86,_0x5c18b6=runNpxSkillsAddGlobal(_0x586d33,_0x12439d(0x19f),{'stdio':_0x12439d(0x1ef),'yes':_0x4d1efb});return{'step':0x6,'label':_0x12439d(0x1b4),'ok':_0x5c18b6['ok'],'detail':_0x5c18b6['ok']?_0x12439d(0x19c):_0x5c18b6[_0x12439d(0x1bf)]??_0x12439d(0x1d3)+_0x5c18b6[_0x12439d(0x1c4)]};}function execUpgradeSdk(_0x2eaa9b){const _0xd3d3a7=a151_0x2b86;if(!_0x2eaa9b[_0xd3d3a7(0x191)])return{'step':0x7,'label':_0xd3d3a7(0x18d),'ok':!![],'detail':_0xd3d3a7(0x1d6)};const {pkgPath:_0x4edb75,currentVersion:_0x35b4fa,field:_0x3952e8}=_0x2eaa9b[_0xd3d3a7(0x191)];try{const _0x18fc71=readFileSync(_0x4edb75,'utf8'),_0x50f6a8=JSON[_0xd3d3a7(0x1c2)](_0x18fc71);return _0x50f6a8[_0x3952e8][_0xd3d3a7(0x19a)]=_0xd3d3a7(0x1e5),writeFileSync(_0x4edb75,JSON[_0xd3d3a7(0x190)](_0x50f6a8,null,0x2)+'\x0a',_0xd3d3a7(0x1cf)),{'step':0x7,'label':_0xd3d3a7(0x18d),'ok':!![],'detail':_0x3952e8+_0xd3d3a7(0x1d2)+_0x35b4fa+'\x20→\x20latest'};}catch(_0x2295f6){return{'step':0x7,'label':_0xd3d3a7(0x18d),'ok':![],'detail':_0x2295f6[_0xd3d3a7(0x1f1)]};}}function tryStat(_0x945a6b){try{return statSync(_0x945a6b);}catch{return undefined;}}function a151_0x2b86(_0x630fa1,_0x133eaf){_0x630fa1=_0x630fa1-0x186;const _0x2c88af=a151_0x2c88();let _0x2b865f=_0x2c88af[_0x630fa1];return _0x2b865f;}function printSummary(_0x49f792){const _0x582423=a151_0x2b86;console[_0x582423(0x1ac)](''),console[_0x582423(0x1ac)](a151_0x5e5f3f[_0x582423(0x1dd)](_0x582423(0x1a4))),console[_0x582423(0x1ac)]('');for(const _0x42c96 of _0x49f792){const _0x502f0a=_0x42c96['ok']?a151_0x5e5f3f[_0x582423(0x1af)]('OK'):a151_0x5e5f3f[_0x582423(0x1cc)](_0x582423(0x1aa));console['log']('\x20\x20'+_0x502f0a+_0x582423(0x1ae)+_0x42c96['step']+':\x20'+_0x42c96[_0x582423(0x1d0)]);if(_0x42c96[_0x582423(0x18a)])console[_0x582423(0x1ac)](_0x582423(0x1c8)+a151_0x5e5f3f[_0x582423(0x1f9)](_0x42c96[_0x582423(0x18a)]));}console[_0x582423(0x1ac)]('');}export async function upgradeApp(_0x5aa046,_0x4f8243){const _0x1500d6=a151_0x2b86,_0x2bb805=process[_0x1500d6(0x1f0)](),_0x201f44=analyse(_0x2bb805),_0x374e23=!_0x201f44[_0x1500d6(0x18e)]&&_0x201f44[_0x1500d6(0x1a0)][_0x1500d6(0x1cb)]===0x0&&!_0x201f44['oldMcpConfig']&&!_0x201f44['needsSkillSwap']&&!_0x201f44[_0x1500d6(0x191)];if(_0x374e23){console[_0x1500d6(0x1ac)](a151_0x5e5f3f[_0x1500d6(0x1af)](_0x1500d6(0x1a6)));return;}printReport(_0x201f44);const _0x5564d0=!!(_0x4f8243[_0x1500d6(0x1d9)]||_0x4f8243['Y']||_0x5aa046);if(!_0x5564d0)try{const _0x45edd5=await askConfirm(_0x1500d6(0x1d4));if(!_0x45edd5){console[_0x1500d6(0x1ac)](a151_0x5e5f3f['gray']('Upgrade\x20cancelled.'));return;}}catch(_0x1ea618){if(_0x1ea618?.[_0x1500d6(0x1f1)]===_0x1500d6(0x192)){console[_0x1500d6(0x1ac)](a151_0x5e5f3f['gray'](_0x1500d6(0x1f7)));return;}throw _0x1ea618;}const _0x41061b=[],_0x292956=a151_0x583159({'text':_0x1500d6(0x1d7),'color':_0x1500d6(0x188)})['start'](),_0x98d800=execConfigMigration(_0x201f44,_0x2bb805);_0x41061b[_0x1500d6(0x1f6)](_0x98d800),_0x292956[_0x98d800['ok']?_0x1500d6(0x1de):'fail'](_0x1500d6(0x1ff)+(_0x98d800[_0x1500d6(0x18a)]??(_0x98d800['ok']?_0x1500d6(0x1a2):'failed')));const _0x267815=resolve(_0x2bb805,'.lovrabet'),_0x28482a=a151_0x583159({'text':_0x1500d6(0x1a9),'color':_0x1500d6(0x188)})[_0x1500d6(0x1d8)]();if(existsSync(_0x267815))try{rmSync(_0x267815,{'recursive':!![],'force':!![]}),_0x28482a[_0x1500d6(0x1de)](_0x1500d6(0x1c0)),_0x41061b[_0x1500d6(0x1f6)]({'step':0x2,'label':_0x1500d6(0x1f3),'ok':!![]});}catch(_0x181fc6){_0x28482a[_0x1500d6(0x200)]('Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20'+_0x181fc6['message']),_0x41061b[_0x1500d6(0x1f6)]({'step':0x2,'label':'Remove\x20.lovrabet/','ok':![],'detail':_0x181fc6[_0x1500d6(0x1f1)]});}else _0x28482a['info'](_0x1500d6(0x18f)),_0x41061b[_0x1500d6(0x1f6)]({'step':0x2,'label':_0x1500d6(0x1f3),'ok':!![],'detail':_0x1500d6(0x1fe)});const _0x511a6f=a151_0x583159({'text':'Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','color':_0x1500d6(0x188)})[_0x1500d6(0x1d8)](),_0x32b0f6=execRemoveOldArtifacts(_0x201f44['oldArtifacts']);_0x41061b['push'](_0x32b0f6),_0x511a6f[_0x32b0f6['ok']?_0x1500d6(0x1de):_0x1500d6(0x200)](_0x1500d6(0x1da)+(_0x32b0f6['detail']??(_0x32b0f6['ok']?_0x1500d6(0x1a2):'failed')));const _0xfef491=a151_0x583159({'text':_0x1500d6(0x1ed),'color':_0x1500d6(0x188)})[_0x1500d6(0x1d8)](),_0x1b179f=execCleanMcp(_0x201f44);_0x41061b[_0x1500d6(0x1f6)](_0x1b179f),_0xfef491[_0x1b179f['ok']?'succeed':'fail'](_0x1500d6(0x19e)+(_0x1b179f[_0x1500d6(0x18a)]??(_0x1b179f['ok']?'done':_0x1500d6(0x1fb))));const _0x4ba804=a151_0x583159({'text':_0x1500d6(0x1b8),'color':_0x1500d6(0x188)})[_0x1500d6(0x1d8)](),_0x44c26d=execSkillsRemove(_0x2bb805,_0x5564d0);_0x41061b[_0x1500d6(0x1f6)](_0x44c26d),_0x4ba804[_0x44c26d['ok']?_0x1500d6(0x1de):_0x1500d6(0x200)](_0x1500d6(0x198)+(_0x44c26d['detail']??(_0x44c26d['ok']?_0x1500d6(0x1a2):_0x1500d6(0x1fb))));const _0x46b964=a151_0x583159({'text':_0x1500d6(0x1ee),'color':_0x1500d6(0x188)})['start'](),_0x1a1c36=execSkillsAdd(_0x2bb805,_0x5564d0);_0x41061b['push'](_0x1a1c36),_0x46b964[_0x1a1c36['ok']?_0x1500d6(0x1de):_0x1500d6(0x200)](_0x1500d6(0x1a3)+(_0x1a1c36[_0x1500d6(0x18a)]??(_0x1a1c36['ok']?_0x1500d6(0x1a2):'failed')));const _0x9ef819=a151_0x583159({'text':'Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','color':_0x1500d6(0x188)})['start'](),_0x3f28df=execUpgradeSdk(_0x201f44);_0x41061b['push'](_0x3f28df),_0x9ef819[_0x3f28df['ok']?_0x1500d6(0x1de):_0x1500d6(0x200)]('Step\x207/7:\x20@lovrabet/sdk\x20—\x20'+(_0x3f28df['detail']??(_0x3f28df['ok']?_0x1500d6(0x1a2):_0x1500d6(0x1fb)))),printSummary(_0x41061b);const _0x3ef786=_0x41061b['some'](_0x59ae85=>!_0x59ae85['ok']);_0x3ef786?console[_0x1500d6(0x1ac)](a151_0x5e5f3f[_0x1500d6(0x1e3)](_0x1500d6(0x1c6))):console[_0x1500d6(0x1ac)](a151_0x5e5f3f[_0x1500d6(0x1af)](_0x1500d6(0x1e8))),_0x3f28df['ok']&&_0x201f44[_0x1500d6(0x191)]&&(console[_0x1500d6(0x1ac)](''),console[_0x1500d6(0x1ac)](a151_0x5e5f3f[_0x1500d6(0x1dd)][_0x1500d6(0x188)](_0x1500d6(0x1b5))),console[_0x1500d6(0x1ac)](a151_0x5e5f3f[_0x1500d6(0x188)](_0x1500d6(0x199))),console[_0x1500d6(0x1ac)](''),console[_0x1500d6(0x1ac)](a151_0x5e5f3f[_0x1500d6(0x1c9)](_0x1500d6(0x194))),console[_0x1500d6(0x1ac)](a151_0x5e5f3f['white']('\x20\x20#\x20or')),console[_0x1500d6(0x1ac)](a151_0x5e5f3f[_0x1500d6(0x1c9)](_0x1500d6(0x1be))),console['log'](''));}function a151_0x2c88(){const _0x1ff135=['cyan','282212MzAMeS','detail','Legacy\x20artifacts:','some','Upgrade\x20@lovrabet/sdk','configMigration','Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped','stringify','sdkUpgrade','CANCEL','hasNewConfig','\x20\x20npm\x20install','Config\x20migration','path','FOUND','Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20','Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','@lovrabet/sdk','MCP\x20config:','lovrabet/rabetbase\x20installed\x20globally','lovrabet/lovrabet-skill\x20removed','Step\x204/7:\x20MCP\x20config\x20—\x20','lovrabet/rabetbase','oldArtifacts','@lovrabet/sdk:','done','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','===\x20Upgrade\x20Summary\x20===','270304NbGAtT','No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.','keys','oldPath','Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','FAIL','\x20removed\x20(','log','Clean\x20MCP\x20config','\x20\x20Step\x20','green','\x20→\x20','\x20\x20Current\x20version\x20in\x20','devDependencies','491570WxVxXz','Install\x20new\x20skill','@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.','object','not\x20found\x20(will\x20create)','Step\x205/7:\x20Removing\x20old\x20skill...','oldMcpConfig','isDirectory','\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak','isArray','mcpServers','\x20\x20bun\x20install','error','Step\x202/7:\x20.lovrabet/\x20directory\x20removed','\x20removed','parse','Config\x20file:','status','fields','Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.','package.json','\x20\x20\x20\x20\x20\x20\x20','white','2327787HAOGxf','length','red','957591hgSFqG','join','utf8','label','\x20\x20New\x20config\x20(.rabetbase.json):\x20','[\x22@lovrabet/sdk\x22]:\x20','exit\x20','Proceed\x20with\x20upgrade?','dependencies','skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)','Step\x201/7:\x20Migrating\x20config...','start','yes','Step\x203/7:\x20Legacy\x20artifacts\x20—\x20','files','5787464mshMrz','bold','succeed','.claude/skills/lovrabet','\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server','220nxKIFE','@lovrabet/dataset-mcp-server','yellow','args','latest','already\x20exists\x20(will\x20merge)','\x20\x20Action:\x20delete','Upgrade\x20completed\x20successfully!','needed','none\x20found','\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`','entries','Step\x204/7:\x20Cleaning\x20MCP\x20config...','Step\x206/7:\x20Installing\x20new\x20skill...','inherit','cwd','message','includes','Remove\x20.lovrabet/','values','no\x20matching\x20entry\x20found','push','Upgrade\x20cancelled.','\x20from\x20','gray','string','failed','24txnHkU','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','skipped','Step\x201/7:\x20Config\x20migration\x20—\x20','fail','filter','7228klchTL'];a151_0x2c88=function(){return _0x1ff135;};return a151_0x2c88();}
@@ -1 +1 @@
1
- const a151_0x46e4f7=a151_0x330b;(function(_0x38df48,_0x2c30ba){const _0x309bcb=a151_0x330b,_0x116861=_0x38df48();while(!![]){try{const _0x187a2a=parseInt(_0x309bcb(0x8e))/0x1+parseInt(_0x309bcb(0xbb))/0x2*(-parseInt(_0x309bcb(0x93))/0x3)+-parseInt(_0x309bcb(0x8a))/0x4+parseInt(_0x309bcb(0x8b))/0x5*(parseInt(_0x309bcb(0xc6))/0x6)+parseInt(_0x309bcb(0xa2))/0x7+parseInt(_0x309bcb(0xbf))/0x8*(-parseInt(_0x309bcb(0x99))/0x9)+-parseInt(_0x309bcb(0xca))/0xa;if(_0x187a2a===_0x2c30ba)break;else _0x116861['push'](_0x116861['shift']());}catch(_0x3b3441){_0x116861['push'](_0x116861['shift']());}}}(a151_0x2eb4,0xea0a0));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';function a151_0x330b(_0x24c3e6,_0x13bf47){_0x24c3e6=_0x24c3e6-0x86;const _0x2eb4f9=a151_0x2eb4();let _0x330ba7=_0x2eb4f9[_0x24c3e6];return _0x330ba7;}import{taskDefinitions}from'../commands/task/index.js';import{roleDefinitions}from'../commands/role/index.js';import{permitDefinitions}from'../commands/permit/index.js';import{appDefinitions}from'../commands/app/index.js';import{appConfigDefinitions}from'../commands/app-config/index.js';import{notificationDefinitions}from'../commands/notification/index.js';import{workspaceDefinitions}from'../commands/workspace/index.js';import{configDefinitions}from'../commands/config/index.js';import{doctorDefinition}from'../commands/doctor.js';import{updateDefinition}from'../commands/cli-update.js';import{schemaDefinition}from'../commands/schema.js';import{issueDefinitions}from'../commands/issue/index.js';import{fileDefinitions}from'../commands/file/index.js';import{cliSkillDefinitions}from'../commands/cli-skill/index.js';import{authDefinitions}from'../commands/auth/index.js';import{logsDefinitions}from'../commands/logs/index.js';import{projectDefinitions}from'../commands/project/index.js';import{initDefinitions}from'../commands/init/index.js';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(_0x230396){const _0x5d1eb7=a151_0x330b;for(const _0x54837a of _0x230396){definitions[_0x5d1eb7(0xc0)](_0x54837a[_0x5d1eb7(0x8d)]+':'+_0x54837a[_0x5d1eb7(0xbe)],_0x54837a);let _0x4ed916=serviceGroups[_0x5d1eb7(0xa6)](_0x54837a['service']);!_0x4ed916&&(_0x4ed916=[],serviceGroups['set'](_0x54837a[_0x5d1eb7(0x8d)],_0x4ed916)),_0x4ed916[_0x5d1eb7(0x9b)](_0x54837a);}}function registerDeclarativeService(_0x1158c7,_0x4e2e66,_0x390081){const _0x429acc=a151_0x330b;registerDefinitions(_0x4e2e66);_0x390081?.[_0x429acc(0xa9)]&&registerDefinitions([_0x390081[_0x429acc(0xa9)]]);const _0x217135=_0x1aeffe=>_0x1aeffe===_0x429acc(0x9e)?'':_0x1aeffe===_0x429acc(0xb0)?_0x429acc(0xbc):_0x429acc(0xc9),_0xc6a7b8={'service':_0x4e2e66[0x0][_0x429acc(0x8d)],'label':_0x1158c7,'commands':_0x4e2e66[_0x429acc(0xab)](_0x2afda2=>!_0x2afda2[_0x429acc(0xd1)])[_0x429acc(0x91)](_0x340573=>({'command':_0x340573['command'],'description':_0x340573[_0x429acc(0xa7)],'tag':_0x217135(_0x340573[_0x429acc(0x94)])})),'declarative':!![],'defaultCommand':_0x390081?.[_0x429acc(0x95)]??(_0x390081?.[_0x429acc(0xcd)]?_0x4e2e66[0x0][_0x429acc(0xbe)]:undefined),'wildcardDef':_0x390081?.[_0x429acc(0xa9)],'isSingleCommand':_0x390081?.[_0x429acc(0xcd)]};serviceRegistry['push'](_0xc6a7b8),serviceByName[_0x429acc(0xc0)](_0xc6a7b8[_0x429acc(0x8d)],_0xc6a7b8);}registerDeclarativeService('Quick\x20Start',initDefinitions,{'defaultCommand':a151_0x46e4f7(0x96),'isSingleCommand':!![]}),registerDeclarativeService(a151_0x46e4f7(0xc2),projectDefinitions),registerDeclarativeService(a151_0x46e4f7(0x92),workspaceDefinitions),registerDeclarativeService(a151_0x46e4f7(0xad),appDefinitions),registerDeclarativeService(a151_0x46e4f7(0xaa),authDefinitions,{'defaultCommand':a151_0x46e4f7(0x97)}),registerDeclarativeService(a151_0x46e4f7(0xa8),datasetDefinitions),registerDeclarativeService(a151_0x46e4f7(0xae),pageDefinitions),registerDeclarativeService('API\x20Development',apiDefinitions),registerDeclarativeService(a151_0x46e4f7(0xa3),dataDefinitions),registerDeclarativeService(a151_0x46e4f7(0x9a),bffDefinitions),registerDeclarativeService(a151_0x46e4f7(0xb9),notificationDefinitions),registerDeclarativeService(a151_0x46e4f7(0xcc),sqlDefinitions),registerDeclarativeService(a151_0x46e4f7(0x8f),dbDefinitions),registerDeclarativeService(a151_0x46e4f7(0xc5),menuDefinitions),registerDeclarativeService(a151_0x46e4f7(0xa5),taskDefinitions),registerDeclarativeService(a151_0x46e4f7(0xc1),roleDefinitions),registerDeclarativeService('Permissions',permitDefinitions),registerDeclarativeService(a151_0x46e4f7(0xb5),appConfigDefinitions),registerDeclarativeService(a151_0x46e4f7(0xb4),issueDefinitions),registerDeclarativeService(a151_0x46e4f7(0x9c),fileDefinitions),registerDeclarativeService(a151_0x46e4f7(0xba),codegenDefinitions),registerDeclarativeService(a151_0x46e4f7(0xc4),configDefinitions),registerDeclarativeService(a151_0x46e4f7(0xbd),[doctorDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a151_0x46e4f7(0x9d),[schemaDefinition],{'isSingleCommand':!![]}),registerDeclarativeService('Self\x20Update',[updateDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a151_0x46e4f7(0xa4),cliSkillDefinitions,{'defaultCommand':a151_0x46e4f7(0x98)}),registerDeclarativeService(a151_0x46e4f7(0x89),logsDefinitions,{'defaultCommand':'show'}),registerDeclarativeService('Run\x20Scripts',[runDefinition],{'wildcardDef':runDefinition});{const last=serviceRegistry[serviceRegistry['length']-0x1];last['commands']=[{'command':a151_0x46e4f7(0xd0),'description':a151_0x46e4f7(0xb2),'tag':''}];}export const deprecatedAliases={'create':{'service':a151_0x46e4f7(0xb7),'command':a151_0x46e4f7(0x87)},'start':{'service':a151_0x46e4f7(0x96),'command':a151_0x46e4f7(0x90)},'build':{'service':a151_0x46e4f7(0x96),'command':'build'},'preview':{'service':a151_0x46e4f7(0x96),'command':a151_0x46e4f7(0xc7)},'logout':{'service':a151_0x46e4f7(0xb8),'command':a151_0x46e4f7(0xb3)}};const CLI_SKILL_INSTALL_REMOVED_HINT='Use\x20`rabetbase\x20cli-skill\x20install`\x20to\x20refresh\x20the\x20Rabetbase\x20CLI\x20Built-in\x20Skill.\x20To\x20install\x20business\x20Skills,\x20use\x20`lovrabet\x20skill\x20install`.',APP_REMOTE_REMOVED_HINT=a151_0x46e4f7(0x8c),APP_USE_REMOVED_HINT='Use\x20`rabetbase\x20workspace\x20use\x20--app\x20<name>`\x20instead.';export function resolveRemovedCommand(_0x384cd7,_0x2500ce){const _0x500010=a151_0x46e4f7;if(_0x384cd7===_0x500010(0xc3)){const _0x4ba9bc=_0x2500ce?'skill\x20'+_0x2500ce:_0x500010(0xc3);return{'command':_0x4ba9bc,'message':_0x500010(0xa0)+_0x4ba9bc+_0x500010(0xaf),'hint':CLI_SKILL_INSTALL_REMOVED_HINT};}if(_0x384cd7===_0x500010(0xcb))return{'command':_0x500010(0xcb),'message':_0x500010(0xac),'hint':CLI_SKILL_INSTALL_REMOVED_HINT};if(_0x384cd7===_0x500010(0x88)&&_0x2500ce===_0x500010(0xb6))return{'command':_0x500010(0xa1),'message':'`rabetbase\x20app\x20remote`\x20has\x20been\x20removed.','hint':APP_REMOTE_REMOVED_HINT};if(_0x384cd7==='app'&&_0x2500ce===_0x500010(0xb1))return{'command':_0x500010(0x9f),'message':_0x500010(0x86),'hint':APP_USE_REMOVED_HINT};return undefined;}export const deprecatedSubcommands={'bff':{'new':'create'},'sql':{'new':a151_0x46e4f7(0x87)}};export function resolveDeprecatedSubcommand(_0x591241,_0x452025){return deprecatedSubcommands[_0x591241]?.[_0x452025];}function a151_0x2eb4(){const _0x108cc4=['Schema','read','app\x20use','`rabetbase\x20','app\x20remote','10510556wtQvhk','Instant\x20API','CLI\x20Built-in\x20Skill','Async\x20Tasks','get','description','Dataset\x20&\x20Operations','wildcardDef','Authentication','filter','`rabetbase\x20skills`\x20has\x20been\x20removed.','App\x20Management','Smart\x20List\x20Pages','`\x20has\x20been\x20removed.','write','use','Run\x20any\x20package.json\x20script','logout','Platform\x20Issue','Runtime\x20App\x20Config\x20Management','remote','project','auth','Notification\x20Configuration','Code\x20Generation','250586xMRybq','\x20\x20[write]','Diagnostics','command','8185816XsQcOc','set','Roles','Project','skill','Configuration','Menu','10931574FDSsgx','preview','values','\x20\x20[high-risk-write]','13212870IaNARz','skills','SQL\x20Queries','isSingleCommand','has','from','<script>','hidden','`rabetbase\x20app\x20use`\x20has\x20been\x20removed.','create','app','Logs','5187752nQtDjH','5cWJjgt','Use\x20`rabetbase\x20app\x20list\x20--remote`\x20instead.','service','1401932cmQJKv','Database\x20Connections','start','map','Workspace','3ogVdiF','risk','defaultCommand','run','login','install','9AymJsS','BFF\x20Scripts','push','File'];a151_0x2eb4=function(){return _0x108cc4;};return a151_0x2eb4();}export function findDefinition(_0x6b87ad,_0x2599d7){const _0x148525=a151_0x46e4f7;return definitions[_0x148525(0xa6)](_0x6b87ad+':'+_0x2599d7);}export function isKnownService(_0xcde6b6){const _0x39eb8a=a151_0x46e4f7;return serviceByName[_0x39eb8a(0xce)](_0xcde6b6);}export function isDeclarativeService(_0x150bd5){const _0x570d44=a151_0x46e4f7;return serviceGroups['has'](_0x150bd5)||serviceByName[_0x570d44(0xa6)](_0x150bd5)?.[_0x570d44(0xa9)]!==undefined;}export function getServiceEntry(_0x44f226){return serviceByName['get'](_0x44f226);}export function getLegacyHandler(_0x5c391f,_0x4e5500){return undefined;}export function getAllDefinitions(){const _0x30430e=a151_0x46e4f7;return Array[_0x30430e(0xcf)](definitions[_0x30430e(0xc8)]());}
1
+ const a152_0x9bbd11=a152_0x4ea7;(function(_0xd462f6,_0x139995){const _0x2fd447=a152_0x4ea7,_0x58c815=_0xd462f6();while(!![]){try{const _0x403875=-parseInt(_0x2fd447(0x15a))/0x1+parseInt(_0x2fd447(0x166))/0x2*(parseInt(_0x2fd447(0x169))/0x3)+-parseInt(_0x2fd447(0x13e))/0x4*(parseInt(_0x2fd447(0x148))/0x5)+parseInt(_0x2fd447(0x127))/0x6+-parseInt(_0x2fd447(0x155))/0x7+parseInt(_0x2fd447(0x15d))/0x8*(parseInt(_0x2fd447(0x129))/0x9)+parseInt(_0x2fd447(0x14b))/0xa;if(_0x403875===_0x139995)break;else _0x58c815['push'](_0x58c815['shift']());}catch(_0x579b51){_0x58c815['push'](_0x58c815['shift']());}}}(a152_0x1882,0x84108));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';function a152_0x1882(){const _0x38cdfd=['`\x20has\x20been\x20removed.','values','Diagnostics','26588nejTQW','Roles','Async\x20Tasks','SQL\x20Queries','app\x20remote','start','app','Code\x20Generation','wildcardDef','Runtime\x20App\x20Config\x20Management','655soDoTy','skill\x20','Project','6725800npVYRi','auth','push','filter','Smart\x20List\x20Pages','read','command','build','get','project','3555342ptTjqx','Use\x20`rabetbase\x20app\x20list\x20--remote`\x20instead.','Use\x20`rabetbase\x20cli-skill\x20install`\x20to\x20refresh\x20the\x20Rabetbase\x20CLI\x20Built-in\x20Skill.\x20To\x20install\x20business\x20Skills,\x20use\x20`lovrabet\x20skill\x20install`.','Self\x20Update','\x20\x20[high-risk-write]','952361LcCRjr','map','login','8166336umXlKQ','Authentication','Schema','Configuration','description','create','commands','logout','Run\x20Scripts','22lwxlsn','service','use','125859VnixFV','show','app\x20use','`rabetbase\x20skills`\x20has\x20been\x20removed.','4302630kGsfPd','`rabetbase\x20app\x20use`\x20has\x20been\x20removed.','9owFXCD','Database\x20Connections','run','Permissions','Dataset\x20&\x20Operations','set','Notification\x20Configuration','install','Logs','Run\x20any\x20package.json\x20script','`rabetbase\x20','defaultCommand','BFF\x20Scripts','CLI\x20Built-in\x20Skill','length','hidden','`rabetbase\x20app\x20remote`\x20has\x20been\x20removed.','File'];a152_0x1882=function(){return _0x38cdfd;};return a152_0x1882();}import{dbDefinitions}from'../commands/db/index.js';import{codegenDefinitions}from'../commands/codegen/index.js';import{menuDefinitions}from'../commands/menu/index.js';import{taskDefinitions}from'../commands/task/index.js';import{roleDefinitions}from'../commands/role/index.js';import{permitDefinitions}from'../commands/permit/index.js';import{appDefinitions}from'../commands/app/index.js';import{appConfigDefinitions}from'../commands/app-config/index.js';import{notificationDefinitions}from'../commands/notification/index.js';import{workspaceDefinitions}from'../commands/workspace/index.js';import{configDefinitions}from'../commands/config/index.js';function a152_0x4ea7(_0xd1c32d,_0x2306a0){_0xd1c32d=_0xd1c32d-0x124;const _0x1882fe=a152_0x1882();let _0x4ea770=_0x1882fe[_0xd1c32d];return _0x4ea770;}import{doctorDefinition}from'../commands/doctor.js';import{updateDefinition}from'../commands/cli-update.js';import{schemaDefinition}from'../commands/schema.js';import{issueDefinitions}from'../commands/issue/index.js';import{fileDefinitions}from'../commands/file/index.js';import{cliSkillDefinitions}from'../commands/cli-skill/index.js';import{authDefinitions}from'../commands/auth/index.js';import{logsDefinitions}from'../commands/logs/index.js';import{projectDefinitions}from'../commands/project/index.js';import{initDefinitions}from'../commands/init/index.js';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(_0x556dbe){const _0x19a348=a152_0x4ea7;for(const _0x2f81b2 of _0x556dbe){definitions[_0x19a348(0x12e)](_0x2f81b2[_0x19a348(0x167)]+':'+_0x2f81b2['command'],_0x2f81b2);let _0x4aaae8=serviceGroups['get'](_0x2f81b2['service']);!_0x4aaae8&&(_0x4aaae8=[],serviceGroups['set'](_0x2f81b2[_0x19a348(0x167)],_0x4aaae8)),_0x4aaae8[_0x19a348(0x14d)](_0x2f81b2);}}function registerDeclarativeService(_0x15306b,_0x3478e7,_0x183ab6){const _0x1cb273=a152_0x4ea7;registerDefinitions(_0x3478e7);_0x183ab6?.['wildcardDef']&&registerDefinitions([_0x183ab6[_0x1cb273(0x146)]]);const _0x252d49=_0x59f236=>_0x59f236===_0x1cb273(0x150)?'':_0x59f236==='write'?'\x20\x20[write]':_0x1cb273(0x159),_0xf55ff5={'service':_0x3478e7[0x0][_0x1cb273(0x167)],'label':_0x15306b,'commands':_0x3478e7[_0x1cb273(0x14e)](_0x3b2c04=>!_0x3b2c04[_0x1cb273(0x138)])[_0x1cb273(0x15b)](_0x593ce9=>({'command':_0x593ce9[_0x1cb273(0x151)],'description':_0x593ce9[_0x1cb273(0x161)],'tag':_0x252d49(_0x593ce9['risk'])})),'declarative':!![],'defaultCommand':_0x183ab6?.[_0x1cb273(0x134)]??(_0x183ab6?.['isSingleCommand']?_0x3478e7[0x0]['command']:undefined),'wildcardDef':_0x183ab6?.[_0x1cb273(0x146)],'isSingleCommand':_0x183ab6?.['isSingleCommand']};serviceRegistry[_0x1cb273(0x14d)](_0xf55ff5),serviceByName['set'](_0xf55ff5[_0x1cb273(0x167)],_0xf55ff5);}registerDeclarativeService('Quick\x20Start',initDefinitions,{'defaultCommand':a152_0x9bbd11(0x12b),'isSingleCommand':!![]}),registerDeclarativeService(a152_0x9bbd11(0x14a),projectDefinitions),registerDeclarativeService('Workspace',workspaceDefinitions),registerDeclarativeService('App\x20Management',appDefinitions),registerDeclarativeService(a152_0x9bbd11(0x15e),authDefinitions,{'defaultCommand':a152_0x9bbd11(0x15c)}),registerDeclarativeService(a152_0x9bbd11(0x12d),datasetDefinitions),registerDeclarativeService(a152_0x9bbd11(0x14f),pageDefinitions),registerDeclarativeService('API\x20Development',apiDefinitions),registerDeclarativeService('Instant\x20API',dataDefinitions),registerDeclarativeService(a152_0x9bbd11(0x135),bffDefinitions),registerDeclarativeService(a152_0x9bbd11(0x12f),notificationDefinitions),registerDeclarativeService(a152_0x9bbd11(0x141),sqlDefinitions),registerDeclarativeService(a152_0x9bbd11(0x12a),dbDefinitions),registerDeclarativeService('Menu',menuDefinitions),registerDeclarativeService(a152_0x9bbd11(0x140),taskDefinitions),registerDeclarativeService(a152_0x9bbd11(0x13f),roleDefinitions),registerDeclarativeService(a152_0x9bbd11(0x12c),permitDefinitions),registerDeclarativeService(a152_0x9bbd11(0x147),appConfigDefinitions),registerDeclarativeService('Platform\x20Issue',issueDefinitions),registerDeclarativeService(a152_0x9bbd11(0x13a),fileDefinitions),registerDeclarativeService(a152_0x9bbd11(0x145),codegenDefinitions),registerDeclarativeService(a152_0x9bbd11(0x160),configDefinitions),registerDeclarativeService(a152_0x9bbd11(0x13d),[doctorDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a152_0x9bbd11(0x15f),[schemaDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a152_0x9bbd11(0x158),[updateDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a152_0x9bbd11(0x136),cliSkillDefinitions,{'defaultCommand':a152_0x9bbd11(0x130)}),registerDeclarativeService(a152_0x9bbd11(0x131),logsDefinitions,{'defaultCommand':a152_0x9bbd11(0x124)}),registerDeclarativeService(a152_0x9bbd11(0x165),[runDefinition],{'wildcardDef':runDefinition});{const last=serviceRegistry[serviceRegistry[a152_0x9bbd11(0x137)]-0x1];last[a152_0x9bbd11(0x163)]=[{'command':'<script>','description':a152_0x9bbd11(0x132),'tag':''}];}export const deprecatedAliases={'create':{'service':a152_0x9bbd11(0x154),'command':a152_0x9bbd11(0x162)},'start':{'service':a152_0x9bbd11(0x12b),'command':a152_0x9bbd11(0x143)},'build':{'service':a152_0x9bbd11(0x12b),'command':a152_0x9bbd11(0x152)},'preview':{'service':a152_0x9bbd11(0x12b),'command':'preview'},'logout':{'service':a152_0x9bbd11(0x14c),'command':a152_0x9bbd11(0x164)}};const CLI_SKILL_INSTALL_REMOVED_HINT=a152_0x9bbd11(0x157),APP_REMOTE_REMOVED_HINT=a152_0x9bbd11(0x156),APP_USE_REMOVED_HINT='Use\x20`rabetbase\x20workspace\x20use\x20--app\x20<name>`\x20instead.';export function resolveRemovedCommand(_0x35648c,_0x407ec9){const _0x161788=a152_0x9bbd11;if(_0x35648c==='skill'){const _0x485803=_0x407ec9?_0x161788(0x149)+_0x407ec9:'skill';return{'command':_0x485803,'message':_0x161788(0x133)+_0x485803+_0x161788(0x13b),'hint':CLI_SKILL_INSTALL_REMOVED_HINT};}if(_0x35648c==='skills')return{'command':'skills','message':_0x161788(0x126),'hint':CLI_SKILL_INSTALL_REMOVED_HINT};if(_0x35648c===_0x161788(0x144)&&_0x407ec9==='remote')return{'command':_0x161788(0x142),'message':_0x161788(0x139),'hint':APP_REMOTE_REMOVED_HINT};if(_0x35648c===_0x161788(0x144)&&_0x407ec9===_0x161788(0x168))return{'command':_0x161788(0x125),'message':_0x161788(0x128),'hint':APP_USE_REMOVED_HINT};return undefined;}export const deprecatedSubcommands={'bff':{'new':'create'},'sql':{'new':a152_0x9bbd11(0x162)}};export function resolveDeprecatedSubcommand(_0x5349ce,_0x975aa1){return deprecatedSubcommands[_0x5349ce]?.[_0x975aa1];}export function findDefinition(_0x9a9c65,_0x4fa3a6){const _0x1339bc=a152_0x9bbd11;return definitions[_0x1339bc(0x153)](_0x9a9c65+':'+_0x4fa3a6);}export function isKnownService(_0x4b31bf){return serviceByName['has'](_0x4b31bf);}export function isDeclarativeService(_0xc3bf45){const _0x2bcca7=a152_0x9bbd11;return serviceGroups['has'](_0xc3bf45)||serviceByName['get'](_0xc3bf45)?.[_0x2bcca7(0x146)]!==undefined;}export function getServiceEntry(_0x1ad3a9){const _0x502293=a152_0x9bbd11;return serviceByName[_0x502293(0x153)](_0x1ad3a9);}export function getLegacyHandler(_0x12e391,_0x57deb0){return undefined;}export function getAllDefinitions(){const _0x47c9ee=a152_0x9bbd11;return Array['from'](definitions[_0x47c9ee(0x13c)]());}
@@ -1 +1 @@
1
- const a152_0x143bab=a152_0xba8f;(function(_0x16791c,_0x3a1de6){const _0x3613df=a152_0xba8f,_0x206f12=_0x16791c();while(!![]){try{const _0x57f19c=parseInt(_0x3613df(0x1ea))/0x1*(parseInt(_0x3613df(0x1fd))/0x2)+-parseInt(_0x3613df(0x1fa))/0x3+parseInt(_0x3613df(0x1f6))/0x4+parseInt(_0x3613df(0x1ee))/0x5*(parseInt(_0x3613df(0x1f1))/0x6)+-parseInt(_0x3613df(0x1fc))/0x7+parseInt(_0x3613df(0x1f4))/0x8+parseInt(_0x3613df(0x1f2))/0x9*(parseInt(_0x3613df(0x202))/0xa);if(_0x57f19c===_0x3a1de6)break;else _0x206f12['push'](_0x206f12['shift']());}catch(_0x5318c4){_0x206f12['push'](_0x206f12['shift']());}}}(a152_0xd462,0xd3b4d));import{createAppRole}from'../../core/api-client.js';function a152_0xba8f(_0x54a304,_0x1f82d6){_0x54a304=_0x54a304-0x1ea;const _0xd46205=a152_0xd462();let _0xba8f75=_0xd46205[_0x54a304];return _0xba8f75;}function a152_0xd462(){const _0x44d110=['8458496TFkFSB','POST','1730012yKLeXU','Created\x20role\x20','CUSTOM','write','3256464LNkEay','flagMissing','11490913fOaTqF','142018yHvfTN','Role\x20name\x20cannot\x20exceed\x2064\x20characters.','validation','Create\x20a\x20CUSTOM\x20user\x20group\x20(role)','roleName','3624430ORNdXO','role','create','9kjzbEB','str','name','remark','10osFGNy','trim','length','2221242yCtGws','18BmfKeg','appCode'];a152_0xd462=function(){return _0x44d110;};return a152_0xd462();}import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{NAME_FLAG,REMARK_FLAG,projectRole}from'../../commands/role/shared.js';const CREATE_PATH='/smartapi/permit/role/create';function readName(_0x3c747c){const _0x9c6dd8=a152_0xba8f,_0x302660=_0x3c747c[_0x9c6dd8(0x1eb)](_0x9c6dd8(0x1ec))[_0x9c6dd8(0x1ef)]();if(!_0x302660)throw CliErrors[_0x9c6dd8(0x1fb)]('name','Pass\x20--name\x20<roleName>.');if(_0x302660[_0x9c6dd8(0x1f0)]>0x40)throw CliErrors[_0x9c6dd8(0x1ff)](_0x9c6dd8(0x1fe));return _0x302660;}export const roleCreate={'service':a152_0x143bab(0x203),'command':'create','description':a152_0x143bab(0x200),'risk':a152_0x143bab(0x1f9),'flags':[NAME_FLAG,REMARK_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x26a829){readName(_0x26a829);},async 'dryRun'(_0x333dd8){const _0xb702c8=a152_0x143bab,_0x5a2d32=readName(_0x333dd8),_0x480ff2=_0x333dd8[_0xb702c8(0x1eb)](_0xb702c8(0x1ed))[_0xb702c8(0x1ef)]()||undefined;return asDryRunResult({'operation':_0xb702c8(0x204),'selector':{'appCode':_0x333dd8['appCode'],'roleName':_0x5a2d32},'before':null,'after':{'roleName':_0x5a2d32,'roleType':_0xb702c8(0x1f8),'remark':_0x480ff2},'dryRun':!![],'backend':{'method':_0xb702c8(0x1f5),'path':CREATE_PATH},'warnings':[]},{'method':_0xb702c8(0x1f5),'url':CREATE_PATH});},async 'execute'(_0x4d9593){const _0x22819b=a152_0x143bab,_0x33aa7d=readName(_0x4d9593),_0x2f881d=_0x4d9593[_0x22819b(0x1eb)]('remark')[_0x22819b(0x1ef)]()||undefined,_0x2948cb=await createAppRole({'appCode':_0x4d9593[_0x22819b(0x1f3)],'roleName':_0x33aa7d,..._0x2f881d?{'remark':_0x2f881d}:{}});return{'ok':!![],'data':{'operation':_0x22819b(0x204),'selector':{'appCode':_0x4d9593['appCode'],'roleId':_0x2948cb['id'],'roleName':_0x33aa7d},'before':null,'after':projectRole(_0x2948cb),'dryRun':![],'backend':{'method':_0x22819b(0x1f5),'path':CREATE_PATH},'warnings':[]},'message':_0x22819b(0x1f7)+_0x2948cb[_0x22819b(0x201)]+'\x20(id='+_0x2948cb['id']+')'};}};
1
+ const a153_0x1fe630=a153_0x1bd7;(function(_0x516999,_0x53d6ee){const _0x48aa24=a153_0x1bd7,_0x39dc55=_0x516999();while(!![]){try{const _0x577034=parseInt(_0x48aa24(0x194))/0x1*(-parseInt(_0x48aa24(0x18d))/0x2)+parseInt(_0x48aa24(0x188))/0x3*(parseInt(_0x48aa24(0x185))/0x4)+parseInt(_0x48aa24(0x193))/0x5+parseInt(_0x48aa24(0x181))/0x6+-parseInt(_0x48aa24(0x17e))/0x7+-parseInt(_0x48aa24(0x197))/0x8*(parseInt(_0x48aa24(0x186))/0x9)+parseInt(_0x48aa24(0x18a))/0xa*(-parseInt(_0x48aa24(0x18b))/0xb);if(_0x577034===_0x53d6ee)break;else _0x39dc55['push'](_0x39dc55['shift']());}catch(_0x6bc5f2){_0x39dc55['push'](_0x39dc55['shift']());}}}(a153_0x5c29,0xc66a7));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';function a153_0x1bd7(_0x34862b,_0xf4f32f){_0x34862b=_0x34862b-0x17c;const _0x5c298f=a153_0x5c29();let _0x1bd7d1=_0x5c298f[_0x34862b];return _0x1bd7d1;}import{NAME_FLAG,REMARK_FLAG,projectRole}from'../../commands/role/shared.js';const CREATE_PATH=a153_0x1fe630(0x17d);function readName(_0xd87060){const _0x5557fc=a153_0x1fe630,_0x1fbbf0=_0xd87060[_0x5557fc(0x180)]('name')['trim']();if(!_0x1fbbf0)throw CliErrors[_0x5557fc(0x182)](_0x5557fc(0x191),'Pass\x20--name\x20<roleName>.');if(_0x1fbbf0[_0x5557fc(0x183)]>0x40)throw CliErrors[_0x5557fc(0x187)](_0x5557fc(0x18c));return _0x1fbbf0;}function a153_0x5c29(){const _0x1a9928=['6yYDGwE','write','3786390pjkyUI','44opFeYl','Role\x20name\x20cannot\x20exceed\x2064\x20characters.','11912SHkIMw','appCode','create','role','name','remark','6418605JUGifm','163aueCGo','trim','Create\x20a\x20CUSTOM\x20user\x20group\x20(role)','41704ZuQnzO','\x20(id=','/smartapi/permit/role/create','1256570tcEgpe','POST','str','7371234cDgjyw','flagMissing','length','Created\x20role\x20','2775196GWtrzj','729ZIxdZC','validation'];a153_0x5c29=function(){return _0x1a9928;};return a153_0x5c29();}export const roleCreate={'service':a153_0x1fe630(0x190),'command':a153_0x1fe630(0x18f),'description':a153_0x1fe630(0x196),'risk':a153_0x1fe630(0x189),'flags':[NAME_FLAG,REMARK_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x3edbbf){readName(_0x3edbbf);},async 'dryRun'(_0x468ab0){const _0x35c4c5=a153_0x1fe630,_0x1572c6=readName(_0x468ab0),_0x3602ee=_0x468ab0[_0x35c4c5(0x180)]('remark')['trim']()||undefined;return asDryRunResult({'operation':'create','selector':{'appCode':_0x468ab0[_0x35c4c5(0x18e)],'roleName':_0x1572c6},'before':null,'after':{'roleName':_0x1572c6,'roleType':'CUSTOM','remark':_0x3602ee},'dryRun':!![],'backend':{'method':_0x35c4c5(0x17f),'path':CREATE_PATH},'warnings':[]},{'method':'POST','url':CREATE_PATH});},async 'execute'(_0x5373fc){const _0x4afd0c=a153_0x1fe630,_0x6f710b=readName(_0x5373fc),_0x516655=_0x5373fc[_0x4afd0c(0x180)](_0x4afd0c(0x192))[_0x4afd0c(0x195)]()||undefined,_0x4811c9=await createAppRole({'appCode':_0x5373fc['appCode'],'roleName':_0x6f710b,..._0x516655?{'remark':_0x516655}:{}});return{'ok':!![],'data':{'operation':_0x4afd0c(0x18f),'selector':{'appCode':_0x5373fc[_0x4afd0c(0x18e)],'roleId':_0x4811c9['id'],'roleName':_0x6f710b},'before':null,'after':projectRole(_0x4811c9),'dryRun':![],'backend':{'method':_0x4afd0c(0x17f),'path':CREATE_PATH},'warnings':[]},'message':_0x4afd0c(0x184)+_0x4811c9['roleName']+_0x4afd0c(0x17c)+_0x4811c9['id']+')'};}};
@@ -1 +1 @@
1
- const a153_0x5c3b11=a153_0x3e76;(function(_0x284702,_0x1398b3){const _0x3c92ed=a153_0x3e76,_0x386a43=_0x284702();while(!![]){try{const _0x1ab8cc=-parseInt(_0x3c92ed(0x123))/0x1+-parseInt(_0x3c92ed(0x133))/0x2*(parseInt(_0x3c92ed(0x125))/0x3)+-parseInt(_0x3c92ed(0x131))/0x4*(-parseInt(_0x3c92ed(0x12c))/0x5)+-parseInt(_0x3c92ed(0x12d))/0x6*(parseInt(_0x3c92ed(0x124))/0x7)+-parseInt(_0x3c92ed(0x134))/0x8*(parseInt(_0x3c92ed(0x12b))/0x9)+-parseInt(_0x3c92ed(0x121))/0xa+parseInt(_0x3c92ed(0x12a))/0xb;if(_0x1ab8cc===_0x1398b3)break;else _0x386a43['push'](_0x386a43['shift']());}catch(_0x5db3e3){_0x386a43['push'](_0x386a43['shift']());}}}(a153_0x16f4,0x99c2f));import{deleteAppRole}from'../../core/api-client.js';function a153_0x16f4(){const _0x525229=['2295738gippYK','10LRMSAT','6WzvUWc','num','high-risk-write','\x20(id=','1627228kQgmVC','\x20member(s);\x20they\x20will\x20lose\x20this\x20group.','758882HdzjmB','32OoNtKI','POST','roleName','Deleted\x20role\x20','/smartapi/permit/role/delete','12221460RDeHvo','userCount','743810odCdjL','1381394nkNSCS','3uuuqyK','delete','Role\x20still\x20has\x20','role','appCode','37171860CBtxCq'];a153_0x16f4=function(){return _0x525229;};return a153_0x16f4();}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';function a153_0x3e76(_0x2d55df,_0x240b9f){_0x2d55df=_0x2d55df-0x11e;const _0x16f494=a153_0x16f4();let _0x3e7642=_0x16f494[_0x2d55df];return _0x3e7642;}import{assertCustomRole,getRoleById,projectRole,ROLE_ID_FLAG}from'../../commands/role/shared.js';const DELETE_PATH=a153_0x5c3b11(0x120);export const roleDelete={'service':a153_0x5c3b11(0x128),'command':a153_0x5c3b11(0x126),'description':'Delete\x20a\x20CUSTOM\x20role\x20(DEV/ADMIN\x20rejected);\x20requires\x20--yes','risk':a153_0x5c3b11(0x12f),'flags':[ROLE_ID_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x19153b){const _0x1b92f7=a153_0x5c3b11,_0x5d4115=_0x19153b[_0x1b92f7(0x12e)]('id'),_0x7daaf=await getRoleById(_0x19153b[_0x1b92f7(0x129)],_0x5d4115);return assertCustomRole(_0x7daaf,_0x1b92f7(0x126)),asDryRunResult({'operation':_0x1b92f7(0x126),'selector':{'appCode':_0x19153b[_0x1b92f7(0x129)],'roleId':_0x5d4115,'roleName':_0x7daaf[_0x1b92f7(0x11e)]},'before':projectRole(_0x7daaf),'after':null,'dryRun':!![],'backend':{'method':_0x1b92f7(0x135),'path':DELETE_PATH},'warnings':_0x7daaf[_0x1b92f7(0x122)]>0x0?[_0x1b92f7(0x127)+_0x7daaf[_0x1b92f7(0x122)]+_0x1b92f7(0x132)]:[]},{'method':_0x1b92f7(0x135),'url':DELETE_PATH});},async 'execute'(_0x500551){const _0x5d6d04=a153_0x5c3b11,_0xcc5072=_0x500551['num']('id'),_0x4d169d=await getRoleById(_0x500551[_0x5d6d04(0x129)],_0xcc5072);return assertCustomRole(_0x4d169d,_0x5d6d04(0x126)),await deleteAppRole(_0xcc5072),{'ok':!![],'data':{'operation':_0x5d6d04(0x126),'selector':{'appCode':_0x500551[_0x5d6d04(0x129)],'roleId':_0xcc5072,'roleName':_0x4d169d['roleName']},'before':projectRole(_0x4d169d),'after':null,'dryRun':![],'backend':{'method':_0x5d6d04(0x135),'path':DELETE_PATH},'warnings':[]},'message':_0x5d6d04(0x11f)+_0x4d169d[_0x5d6d04(0x11e)]+_0x5d6d04(0x130)+_0xcc5072+')'};}};
1
+ const a154_0x376283=a154_0x1c6f;(function(_0x40f34c,_0x2313e6){const _0x5b6d3e=a154_0x1c6f,_0x1d2b02=_0x40f34c();while(!![]){try{const _0x6d3d07=parseInt(_0x5b6d3e(0x178))/0x1*(-parseInt(_0x5b6d3e(0x184))/0x2)+parseInt(_0x5b6d3e(0x18a))/0x3*(parseInt(_0x5b6d3e(0x17f))/0x4)+-parseInt(_0x5b6d3e(0x174))/0x5*(parseInt(_0x5b6d3e(0x187))/0x6)+parseInt(_0x5b6d3e(0x175))/0x7*(parseInt(_0x5b6d3e(0x17d))/0x8)+-parseInt(_0x5b6d3e(0x183))/0x9+parseInt(_0x5b6d3e(0x179))/0xa*(parseInt(_0x5b6d3e(0x181))/0xb)+parseInt(_0x5b6d3e(0x182))/0xc;if(_0x6d3d07===_0x2313e6)break;else _0x1d2b02['push'](_0x1d2b02['shift']());}catch(_0x4bad0d){_0x1d2b02['push'](_0x1d2b02['shift']());}}}(a154_0x2afc,0xd8c04));import{deleteAppRole}from'../../core/api-client.js';function a154_0x1c6f(_0x4a4b51,_0x52ccc5){_0x4a4b51=_0x4a4b51-0x174;const _0x2afc36=a154_0x2afc();let _0x1c6f38=_0x2afc36[_0x4a4b51];return _0x1c6f38;}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';function a154_0x2afc(){const _0x107ea3=['8GKWmKJ','\x20member(s);\x20they\x20will\x20lose\x20this\x20group.','2596LWLhya','26801244NvMMQy','3352914vCZUdZ','14KSvaVc','appCode','roleName','1502778rBsGiu','/smartapi/permit/role/delete','Role\x20still\x20has\x20','1813698cIKxsB','high-risk-write','35BRcpYn','196007tYRwHs','POST','delete','233009BxubHW','26020rCgTuB','role','num','Delete\x20a\x20CUSTOM\x20role\x20(DEV/ADMIN\x20rejected);\x20requires\x20--yes','168eUKFyQ','userCount'];a154_0x2afc=function(){return _0x107ea3;};return a154_0x2afc();}const DELETE_PATH=a154_0x376283(0x188);export const roleDelete={'service':a154_0x376283(0x17a),'command':a154_0x376283(0x177),'description':a154_0x376283(0x17c),'risk':a154_0x376283(0x18b),'flags':[ROLE_ID_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x349316){const _0x869d6e=a154_0x376283,_0x2c2b59=_0x349316[_0x869d6e(0x17b)]('id'),_0x3f99c2=await getRoleById(_0x349316[_0x869d6e(0x185)],_0x2c2b59);return assertCustomRole(_0x3f99c2,'delete'),asDryRunResult({'operation':_0x869d6e(0x177),'selector':{'appCode':_0x349316[_0x869d6e(0x185)],'roleId':_0x2c2b59,'roleName':_0x3f99c2['roleName']},'before':projectRole(_0x3f99c2),'after':null,'dryRun':!![],'backend':{'method':_0x869d6e(0x176),'path':DELETE_PATH},'warnings':_0x3f99c2[_0x869d6e(0x17e)]>0x0?[_0x869d6e(0x189)+_0x3f99c2[_0x869d6e(0x17e)]+_0x869d6e(0x180)]:[]},{'method':_0x869d6e(0x176),'url':DELETE_PATH});},async 'execute'(_0x271bb3){const _0x1eb0d4=a154_0x376283,_0x1a05aa=_0x271bb3[_0x1eb0d4(0x17b)]('id'),_0x1e826a=await getRoleById(_0x271bb3[_0x1eb0d4(0x185)],_0x1a05aa);return assertCustomRole(_0x1e826a,_0x1eb0d4(0x177)),await deleteAppRole(_0x1a05aa),{'ok':!![],'data':{'operation':_0x1eb0d4(0x177),'selector':{'appCode':_0x271bb3['appCode'],'roleId':_0x1a05aa,'roleName':_0x1e826a[_0x1eb0d4(0x186)]},'before':projectRole(_0x1e826a),'after':null,'dryRun':![],'backend':{'method':'POST','path':DELETE_PATH},'warnings':[]},'message':'Deleted\x20role\x20'+_0x1e826a[_0x1eb0d4(0x186)]+'\x20(id='+_0x1a05aa+')'};}};
@@ -1 +1 @@
1
- function a154_0x5f2c(){const _0xb60ca3=['Role\x20','appCode','roleType','224216PIWXIv','43756wIghmT','roleName','357024jAuVCf','77xgOlgR','read','79146VXfIym','23768MVuDTd','175aoMWDo','role','99ndCtDD','456310eLjHVG','num','38511juxejD'];a154_0x5f2c=function(){return _0xb60ca3;};return a154_0x5f2c();}function a154_0x43e5(_0x216814,_0x9902ef){_0x216814=_0x216814-0x14a;const _0x5f2c03=a154_0x5f2c();let _0x43e561=_0x5f2c03[_0x216814];return _0x43e561;}const a154_0x4a0e77=a154_0x43e5;(function(_0x285908,_0x28eca9){const _0x5eb8b3=a154_0x43e5,_0x1feb6f=_0x285908();while(!![]){try{const _0x399400=parseInt(_0x5eb8b3(0x14d))/0x1+parseInt(_0x5eb8b3(0x150))/0x2+parseInt(_0x5eb8b3(0x15a))/0x3+-parseInt(_0x5eb8b3(0x14e))/0x4*(-parseInt(_0x5eb8b3(0x155))/0x5)+parseInt(_0x5eb8b3(0x153))/0x6+-parseInt(_0x5eb8b3(0x151))/0x7*(parseInt(_0x5eb8b3(0x154))/0x8)+parseInt(_0x5eb8b3(0x157))/0x9*(-parseInt(_0x5eb8b3(0x158))/0xa);if(_0x399400===_0x28eca9)break;else _0x1feb6f['push'](_0x1feb6f['shift']());}catch(_0x53bf2c){_0x1feb6f['push'](_0x1feb6f['shift']());}}}(a154_0x5f2c,0x43a07));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{getRoleById,projectRole,ROLE_ID_FLAG}from'../../commands/role/shared.js';export const roleDetail={'service':a154_0x4a0e77(0x156),'command':'detail','description':'Show\x20a\x20single\x20role\x27s\x20detail','risk':a154_0x4a0e77(0x152),'flags':[ROLE_ID_FLAG,APPCODE_FLAG_OPTIONAL],async 'execute'(_0x45fb62){const _0x589a91=a154_0x4a0e77,_0xe0b568=_0x45fb62[_0x589a91(0x159)]('id'),_0x1f50a1=await getRoleById(_0x45fb62[_0x589a91(0x14b)],_0xe0b568);return{'ok':!![],'data':{'role':projectRole(_0x1f50a1)},'message':_0x589a91(0x14a)+_0x1f50a1[_0x589a91(0x14f)]+'\x20('+_0x1f50a1[_0x589a91(0x14c)]+')'};}};
1
+ const a155_0x502e00=a155_0x1bd9;(function(_0x51c5bc,_0x552a40){const _0x33c51d=a155_0x1bd9,_0x5a7371=_0x51c5bc();while(!![]){try{const _0x91ef09=-parseInt(_0x33c51d(0x1d0))/0x1+parseInt(_0x33c51d(0x1c8))/0x2*(parseInt(_0x33c51d(0x1c3))/0x3)+-parseInt(_0x33c51d(0x1cd))/0x4+parseInt(_0x33c51d(0x1c6))/0x5*(parseInt(_0x33c51d(0x1ce))/0x6)+-parseInt(_0x33c51d(0x1ca))/0x7+parseInt(_0x33c51d(0x1c4))/0x8*(-parseInt(_0x33c51d(0x1c7))/0x9)+parseInt(_0x33c51d(0x1d2))/0xa;if(_0x91ef09===_0x552a40)break;else _0x5a7371['push'](_0x5a7371['shift']());}catch(_0x35d696){_0x5a7371['push'](_0x5a7371['shift']());}}}(a155_0x17d4,0x5182e));function a155_0x1bd9(_0xe71bb6,_0x553204){_0xe71bb6=_0xe71bb6-0x1c3;const _0x17d493=a155_0x17d4();let _0x1bd965=_0x17d493[_0xe71bb6];return _0x1bd965;}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{getRoleById,projectRole,ROLE_ID_FLAG}from'../../commands/role/shared.js';export const roleDetail={'service':a155_0x502e00(0x1cb),'command':'detail','description':a155_0x502e00(0x1c5),'risk':a155_0x502e00(0x1d3),'flags':[ROLE_ID_FLAG,APPCODE_FLAG_OPTIONAL],async 'execute'(_0x4cf3c6){const _0x50c320=a155_0x502e00,_0x402726=_0x4cf3c6[_0x50c320(0x1cf)]('id'),_0xba8840=await getRoleById(_0x4cf3c6[_0x50c320(0x1d1)],_0x402726);return{'ok':!![],'data':{'role':projectRole(_0xba8840)},'message':'Role\x20'+_0xba8840[_0x50c320(0x1c9)]+'\x20('+_0xba8840[_0x50c320(0x1cc)]+')'};}};function a155_0x17d4(){const _0x2be75f=['3140893tNmbRB','role','roleType','1883356WIVYlG','6bMkfqF','num','194109wMpuPs','appCode','11606450jgJXBB','read','12513ZwVZEO','3646584mXrzhh','Show\x20a\x20single\x20role\x27s\x20detail','1753105muzrJJ','9yBCToW','188XxOlLo','roleName'];a155_0x17d4=function(){return _0x2be75f;};return a155_0x17d4();}
@@ -1 +1 @@
1
- (function(_0x33e2d8,_0x41e13e){const _0x48b84c=a155_0x57f4,_0x4e1457=_0x33e2d8();while(!![]){try{const _0x20dea6=-parseInt(_0x48b84c(0x1c1))/0x1*(parseInt(_0x48b84c(0x1c6))/0x2)+-parseInt(_0x48b84c(0x1c2))/0x3+-parseInt(_0x48b84c(0x1c8))/0x4*(-parseInt(_0x48b84c(0x1be))/0x5)+-parseInt(_0x48b84c(0x1c7))/0x6+parseInt(_0x48b84c(0x1c3))/0x7*(-parseInt(_0x48b84c(0x1bf))/0x8)+-parseInt(_0x48b84c(0x1c0))/0x9+parseInt(_0x48b84c(0x1c5))/0xa*(parseInt(_0x48b84c(0x1c4))/0xb);if(_0x20dea6===_0x41e13e)break;else _0x4e1457['push'](_0x4e1457['shift']());}catch(_0x211657){_0x4e1457['push'](_0x4e1457['shift']());}}}(a155_0x8b82,0x606e5));import{roleList}from'../../commands/role/list.js';import{roleDetail}from'../../commands/role/detail.js';function a155_0x57f4(_0x2fc5c3,_0xc1d3a7){_0x2fc5c3=_0x2fc5c3-0x1be;const _0x8b8261=a155_0x8b82();let _0x57f465=_0x8b8261[_0x2fc5c3];return _0x57f465;}import{roleCreate}from'../../commands/role/create.js';import{roleUpdate}from'../../commands/role/update.js';import{roleDelete}from'../../commands/role/delete.js';import{roleUserResolve}from'../../commands/role/user-resolve.js';function a155_0x8b82(){const _0x152b02=['5051736WOwNqu','1TdYXDe','2146785tiueLH','21vXlBHL','55jkvXPB','5704990QverdK','1185044XCOTBk','4224960hJFFtY','120HWqLIN','98500DtPeCX','1266488ZzkcwR'];a155_0x8b82=function(){return _0x152b02;};return a155_0x8b82();}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(_0x4c755b,_0x5aebb9){const _0x3eb444=a156_0x4370,_0x4752d3=_0x4c755b();while(!![]){try{const _0x178176=parseInt(_0x3eb444(0x1d6))/0x1*(parseInt(_0x3eb444(0x1d8))/0x2)+parseInt(_0x3eb444(0x1d3))/0x3+parseInt(_0x3eb444(0x1d1))/0x4*(-parseInt(_0x3eb444(0x1d7))/0x5)+-parseInt(_0x3eb444(0x1d4))/0x6+parseInt(_0x3eb444(0x1d5))/0x7+-parseInt(_0x3eb444(0x1d2))/0x8*(parseInt(_0x3eb444(0x1cf))/0x9)+parseInt(_0x3eb444(0x1d0))/0xa*(parseInt(_0x3eb444(0x1ce))/0xb);if(_0x178176===_0x5aebb9)break;else _0x4752d3['push'](_0x4752d3['shift']());}catch(_0xf0fc66){_0x4752d3['push'](_0x4752d3['shift']());}}}(a156_0x372b,0x49075));import{roleList}from'../../commands/role/list.js';import{roleDetail}from'../../commands/role/detail.js';import{roleCreate}from'../../commands/role/create.js';function a156_0x4370(_0x5143e0,_0x464d86){_0x5143e0=_0x5143e0-0x1ce;const _0x372b8f=a156_0x372b();let _0x437030=_0x372b8f[_0x5143e0];return _0x437030;}import{roleUpdate}from'../../commands/role/update.js';import{roleDelete}from'../../commands/role/delete.js';import{roleUserResolve}from'../../commands/role/user-resolve.js';function a156_0x372b(){const _0xe2b0ac=['6bFrEyY','902638qIUiKC','117pGSNvL','40rOmsSf','145648ZnuktQ','168616CzZksE','690534YmNEjx','1459398pJbDDn','204974Zswrtt','100497pszuVd','10fBECsR'];a156_0x372b=function(){return _0xe2b0ac;};return a156_0x372b();}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
- const a156_0x26a59a=a156_0x3cf1;(function(_0x1013d0,_0x40d7e1){const _0x336c6f=a156_0x3cf1,_0x2382c2=_0x1013d0();while(!![]){try{const _0x1812ca=parseInt(_0x336c6f(0x165))/0x1*(parseInt(_0x336c6f(0x173))/0x2)+parseInt(_0x336c6f(0x16a))/0x3+-parseInt(_0x336c6f(0x17b))/0x4*(parseInt(_0x336c6f(0x183))/0x5)+-parseInt(_0x336c6f(0x161))/0x6*(parseInt(_0x336c6f(0x162))/0x7)+-parseInt(_0x336c6f(0x180))/0x8+-parseInt(_0x336c6f(0x16d))/0x9+parseInt(_0x336c6f(0x17f))/0xa;if(_0x1812ca===_0x40d7e1)break;else _0x2382c2['push'](_0x2382c2['shift']());}catch(_0x5c57d6){_0x2382c2['push'](_0x2382c2['shift']());}}}(a156_0x5e0a,0x73371));import{listAppRoles}from'../../core/api-client.js';function a156_0x5e0a(){const _0x5ca767=['81355VgYJXP','12QTxEEy','1629943zNcQwt','--pagesize\x20must\x20be\x20between\x201\x20and\x20100.','length','1LZImKt','USER','trim','CUSTOM','pagesize','869817TBStAv','number','ADMIN','696132UjIOOP','str','DEV','validation','Use\x20one\x20of:\x20','string','48302YujRxC','filter','Page\x20size\x20(1-100)','join','roleType','toUpperCase','page','Found\x20','172xlOZiG','Filter\x20by\x20role\x20type','appCode','type','17547500ynfkGe','2833760vvpfgM','list','num'];a156_0x5e0a=function(){return _0x5ca767;};return a156_0x5e0a();}function a156_0x3cf1(_0x1fb961,_0x1d1c1b){_0x1fb961=_0x1fb961-0x161;const _0x5e0a14=a156_0x5e0a();let _0x3cf124=_0x5e0a14[_0x1fb961];return _0x3cf124;}import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{projectRole}from'../../commands/role/shared.js';const ROLE_TYPES=[a156_0x26a59a(0x16c),a156_0x26a59a(0x16f),a156_0x26a59a(0x166),a156_0x26a59a(0x168)];export const roleList={'service':'role','command':a156_0x26a59a(0x181),'description':'List\x20user\x20groups\x20(roles)\x20for\x20the\x20current\x20app','risk':'read','flags':[APPCODE_FLAG_OPTIONAL,{'name':a156_0x26a59a(0x17e),'type':a156_0x26a59a(0x172),'required':![],'description':a156_0x26a59a(0x17c),'enum':ROLE_TYPES},{'name':a156_0x26a59a(0x179),'type':a156_0x26a59a(0x16b),'description':'Page\x20index\x20(1-based)','default':0x1},{'name':a156_0x26a59a(0x169),'type':a156_0x26a59a(0x16b),'description':a156_0x26a59a(0x175),'default':0x64}],async 'validate'(_0x1365a3){const _0x1c931b=a156_0x26a59a,_0xd1c16a=_0x1365a3[_0x1c931b(0x16e)](_0x1c931b(0x17e))[_0x1c931b(0x167)]();if(_0xd1c16a&&!ROLE_TYPES['includes'](_0xd1c16a[_0x1c931b(0x178)]()))throw CliErrors[_0x1c931b(0x170)]('Invalid\x20--type\x20\x22'+_0xd1c16a+'\x22.',_0x1c931b(0x171)+ROLE_TYPES[_0x1c931b(0x176)](',\x20')+'.');const _0x589bc0=_0x1365a3[_0x1c931b(0x182)](_0x1c931b(0x179),0x1),_0xb6bbe8=_0x1365a3[_0x1c931b(0x182)](_0x1c931b(0x169),0x64);if(_0x589bc0<0x1)throw CliErrors[_0x1c931b(0x170)]('--page\x20must\x20be\x20greater\x20than\x20or\x20equal\x20to\x201.');if(_0xb6bbe8<0x1||_0xb6bbe8>0x64)throw CliErrors['validation'](_0x1c931b(0x163));},async 'execute'(_0x5ce750){const _0x16eeac=a156_0x26a59a,_0x169e08=_0x5ce750[_0x16eeac(0x182)](_0x16eeac(0x179),0x1)||0x1,_0x42a90d=_0x5ce750[_0x16eeac(0x182)]('pagesize',0x64)||0x64,_0x2869ad=_0x5ce750['str'](_0x16eeac(0x17e))['trim']()[_0x16eeac(0x178)](),{items:_0x1a59de,paging:_0x178106}=await listAppRoles(_0x5ce750[_0x16eeac(0x17d)],{'currentPage':_0x169e08,'pageSize':_0x42a90d}),_0xfd94db=_0x2869ad?_0x1a59de[_0x16eeac(0x174)](_0x5a0f5a=>_0x5a0f5a[_0x16eeac(0x177)]===_0x2869ad):_0x1a59de,_0x3fda81=_0xfd94db['map'](projectRole);return{'ok':!![],'data':{'roles':_0x3fda81,'paging':_0x178106},'message':_0x16eeac(0x17a)+_0x3fda81[_0x16eeac(0x164)]+'\x20role(s)'};}};
1
+ const a157_0x56b413=a157_0x4290;(function(_0x10e5d6,_0x1f5901){const _0x324922=a157_0x4290,_0x18c4cf=_0x10e5d6();while(!![]){try{const _0x39efe6=parseInt(_0x324922(0xd3))/0x1*(parseInt(_0x324922(0xc6))/0x2)+parseInt(_0x324922(0xcc))/0x3*(parseInt(_0x324922(0xd8))/0x4)+-parseInt(_0x324922(0xc4))/0x5+parseInt(_0x324922(0xcd))/0x6+-parseInt(_0x324922(0xc5))/0x7+-parseInt(_0x324922(0xb9))/0x8*(parseInt(_0x324922(0xd0))/0x9)+-parseInt(_0x324922(0xc2))/0xa;if(_0x39efe6===_0x1f5901)break;else _0x18c4cf['push'](_0x18c4cf['shift']());}catch(_0x538a13){_0x18c4cf['push'](_0x18c4cf['shift']());}}}(a157_0x25a5,0xcd0db));import{listAppRoles}from'../../core/api-client.js';function a157_0x25a5(){const _0x40fe7a=['map','roleType','--page\x20must\x20be\x20greater\x20than\x20or\x20equal\x20to\x201.','\x20role(s)','Filter\x20by\x20role\x20type','Invalid\x20--type\x20\x22','Use\x20one\x20of:\x20','13693900jLqUIN','CUSTOM','3471515JNOkHm','2645258apVPSp','2950586BwHLap','role','string','read','page','num','4654539QXEEDu','9917430sLJjcf','DEV','appCode','225FxXhrM','ADMIN','trim','1JcgYUm','pagesize','toUpperCase','validation','type','4UttcqF','447432yHdXsR','str'];a157_0x25a5=function(){return _0x40fe7a;};return a157_0x25a5();}import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{projectRole}from'../../commands/role/shared.js';const ROLE_TYPES=[a157_0x56b413(0xd1),a157_0x56b413(0xce),'USER',a157_0x56b413(0xc3)];function a157_0x4290(_0x291d3b,_0x22c091){_0x291d3b=_0x291d3b-0xb9;const _0x25a5fc=a157_0x25a5();let _0x4290ba=_0x25a5fc[_0x291d3b];return _0x4290ba;}export const roleList={'service':a157_0x56b413(0xc7),'command':'list','description':'List\x20user\x20groups\x20(roles)\x20for\x20the\x20current\x20app','risk':a157_0x56b413(0xc9),'flags':[APPCODE_FLAG_OPTIONAL,{'name':a157_0x56b413(0xd7),'type':a157_0x56b413(0xc8),'required':![],'description':a157_0x56b413(0xbf),'enum':ROLE_TYPES},{'name':'page','type':'number','description':'Page\x20index\x20(1-based)','default':0x1},{'name':a157_0x56b413(0xd4),'type':'number','description':'Page\x20size\x20(1-100)','default':0x64}],async 'validate'(_0xe15798){const _0x3e70ec=a157_0x56b413,_0x5cd0b0=_0xe15798['str'](_0x3e70ec(0xd7))['trim']();if(_0x5cd0b0&&!ROLE_TYPES['includes'](_0x5cd0b0[_0x3e70ec(0xd5)]()))throw CliErrors[_0x3e70ec(0xd6)](_0x3e70ec(0xc0)+_0x5cd0b0+'\x22.',_0x3e70ec(0xc1)+ROLE_TYPES['join'](',\x20')+'.');const _0x157342=_0xe15798[_0x3e70ec(0xcb)](_0x3e70ec(0xca),0x1),_0x30efbe=_0xe15798['num'](_0x3e70ec(0xd4),0x64);if(_0x157342<0x1)throw CliErrors[_0x3e70ec(0xd6)](_0x3e70ec(0xbd));if(_0x30efbe<0x1||_0x30efbe>0x64)throw CliErrors['validation']('--pagesize\x20must\x20be\x20between\x201\x20and\x20100.');},async 'execute'(_0x4b41d6){const _0x19901f=a157_0x56b413,_0x3da904=_0x4b41d6[_0x19901f(0xcb)](_0x19901f(0xca),0x1)||0x1,_0x2ff4ed=_0x4b41d6[_0x19901f(0xcb)]('pagesize',0x64)||0x64,_0x5487be=_0x4b41d6[_0x19901f(0xba)]('type')[_0x19901f(0xd2)]()[_0x19901f(0xd5)](),{items:_0x50bb44,paging:_0xc9df2a}=await listAppRoles(_0x4b41d6[_0x19901f(0xcf)],{'currentPage':_0x3da904,'pageSize':_0x2ff4ed}),_0x140ded=_0x5487be?_0x50bb44['filter'](_0x4f77e8=>_0x4f77e8[_0x19901f(0xbc)]===_0x5487be):_0x50bb44,_0x501f6b=_0x140ded[_0x19901f(0xbb)](projectRole);return{'ok':!![],'data':{'roles':_0x501f6b,'paging':_0xc9df2a},'message':'Found\x20'+_0x501f6b['length']+_0x19901f(0xbe)};}};
@@ -1 +1 @@
1
- const a157_0x559311=a157_0x4a51;(function(_0x3d8846,_0x11f055){const _0x23695c=a157_0x4a51,_0xa4df02=_0x3d8846();while(!![]){try{const _0x5487f9=-parseInt(_0x23695c(0x187))/0x1*(parseInt(_0x23695c(0x1d0))/0x2)+parseInt(_0x23695c(0x18a))/0x3*(-parseInt(_0x23695c(0x19c))/0x4)+parseInt(_0x23695c(0x1a5))/0x5*(parseInt(_0x23695c(0x1a6))/0x6)+-parseInt(_0x23695c(0x198))/0x7+parseInt(_0x23695c(0x1ae))/0x8*(parseInt(_0x23695c(0x1d2))/0x9)+parseInt(_0x23695c(0x197))/0xa*(parseInt(_0x23695c(0x1c6))/0xb)+parseInt(_0x23695c(0x1bb))/0xc;if(_0x5487f9===_0x11f055)break;else _0xa4df02['push'](_0xa4df02['shift']());}catch(_0x2d37a1){_0xa4df02['push'](_0xa4df02['shift']());}}}(a157_0x4c2e,0xaf51f));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':a157_0x559311(0x1b2),'required':!![],'description':a157_0x559311(0x1b4)};export const ROLE_REF_FLAG={'name':a157_0x559311(0x1b5),'type':a157_0x559311(0x18f),'required':!![],'description':a157_0x559311(0x193)};export const USER_REF_FLAG={'name':a157_0x559311(0x1ab),'type':a157_0x559311(0x18f),'required':!![],'description':a157_0x559311(0x195)};export const NAME_FLAG={'name':a157_0x559311(0x1ad),'type':a157_0x559311(0x18f),'required':!![],'description':'Role\x20name'};export const USER_NAME_FLAG={'name':a157_0x559311(0x1ad),'type':a157_0x559311(0x18f),'required':!![],'description':'Nickname\x20or\x20username\x20to\x20resolve\x20to\x20a\x20userId'};export const REMARK_FLAG={'name':a157_0x559311(0x1b6),'type':a157_0x559311(0x18f),'required':![],'description':a157_0x559311(0x1d3)};export const EXPECT_USER_COUNT_FLAG={'name':a157_0x559311(0x1cc),'type':a157_0x559311(0x1b2),'required':![],'description':'Anti-drift\x20guard:\x20fail\x20if\x20the\x20role\x27s\x20current\x20member\x20count\x20differs'};export const BUILTIN_ROLE_TYPES=[a157_0x559311(0x186),a157_0x559311(0x1b7),a157_0x559311(0x1bc)];export function isBuiltinRole(_0x59a6d2){const _0x4373cb=a157_0x559311;return BUILTIN_ROLE_TYPES[_0x4373cb(0x1c5)](_0x59a6d2);}export function assertCustomRole(_0x4f991b,_0x3b7bbc){const _0x45e5ab=a157_0x559311;if(_0x4f991b[_0x45e5ab(0x1cb)]!=='CUSTOM')throw CliErrors[_0x45e5ab(0x1b3)]('Cannot\x20'+_0x3b7bbc+_0x45e5ab(0x18d)+_0x4f991b[_0x45e5ab(0x183)]+'\x20('+_0x4f991b[_0x45e5ab(0x1cb)]+').',_0x45e5ab(0x184));}export function assertPermConfigurable(_0x177bf4){const _0x1644e9=a157_0x559311;if(_0x177bf4['roleType']==='DEV'||_0x177bf4[_0x1644e9(0x1cb)]==='ADMIN')throw CliErrors[_0x1644e9(0x1b3)](_0x1644e9(0x1b0)+_0x177bf4[_0x1644e9(0x183)]+'\x20('+_0x177bf4[_0x1644e9(0x1cb)]+').',_0x1644e9(0x1c4));}export function projectRole(_0x2d6552){const _0x596f18=a157_0x559311;return{'id':_0x2d6552['id'],'roleName':_0x2d6552[_0x596f18(0x183)],'roleType':_0x2d6552[_0x596f18(0x1cb)],'remark':_0x2d6552[_0x596f18(0x1b6)],'userCount':_0x2d6552[_0x596f18(0x19e)],'permitCount':_0x2d6552[_0x596f18(0x189)],'builtin':isBuiltinRole(_0x2d6552[_0x596f18(0x1cb)])};}export async function resolveRoleRef(_0x1a25d0,_0x2fac47){const _0x1e8e31=a157_0x559311,_0x182d0d=_0x2fac47[_0x1e8e31(0x1bf)]();if(!_0x182d0d)throw CliErrors[_0x1e8e31(0x1b3)]('Missing\x20role\x20reference.',_0x1e8e31(0x194));if(/^\d+$/[_0x1e8e31(0x1ca)](_0x182d0d))return getRoleById(_0x1a25d0,Number(_0x182d0d));const _0x2c0814=await listAllAppRoles(_0x1a25d0),_0x101234=_0x2c0814[_0x1e8e31(0x1a2)](_0x26dcae=>_0x26dcae[_0x1e8e31(0x183)]===_0x182d0d);if(_0x101234['length']===0x0)throw CliErrors[_0x1e8e31(0x1b3)](_0x1e8e31(0x18e)+_0x182d0d+'\x22\x20not\x20found\x20in\x20app\x20'+_0x1a25d0+'.',_0x1e8e31(0x1a4));if(_0x101234[_0x1e8e31(0x19b)]>0x1){const _0x3c1ecb=_0x101234[_0x1e8e31(0x1c8)](_0x3ce1d0=>_0x3ce1d0['id'])[_0x1e8e31(0x199)](',\x20');throw CliErrors[_0x1e8e31(0x1b3)](_0x1e8e31(0x18e)+_0x182d0d+'\x22\x20is\x20ambiguous\x20(ids:\x20'+_0x3c1ecb+').',_0x1e8e31(0x1af));}return _0x101234[0x0];}export async function getRoleById(_0x20cf2b,_0x272c74){const _0x4cc440=a157_0x559311,_0x59a676=await getAppRole(_0x272c74);if(!_0x59a676)throw CliErrors[_0x4cc440(0x1b3)](_0x4cc440(0x190)+_0x272c74+_0x4cc440(0x1b1)+_0x20cf2b+'.',_0x4cc440(0x1c3));return _0x59a676;}async function listAllAppRoles(_0x3e607b){const _0x282e70=a157_0x559311,_0x5e0e0e=0x64,_0x5306e8=[];for(let _0x203bf3=0x1;;_0x203bf3+=0x1){const {items:_0x31c27e,paging:_0x2c729b}=await listAppRoles(_0x3e607b,{'currentPage':_0x203bf3,'pageSize':_0x5e0e0e});_0x5306e8[_0x282e70(0x1a3)](..._0x31c27e);if(_0x31c27e['length']<_0x5e0e0e||_0x2c729b&&_0x5306e8[_0x282e70(0x19b)]>=_0x2c729b[_0x282e70(0x1a8)])return _0x5306e8;}}function a157_0x4c2e(){const _0x58459e=['6636126jagNKW','userId','totalCount','findIndex','\x20is\x20already\x20a\x20member\x20of\x20role\x20','user','Check\x20the\x20nickname/username,\x20or\x20pass\x20--user\x20<id>.','name','9048uUiPhy','Disambiguate\x20with\x20--role\x20<id>.','Cannot\x20change\x20the\x20permission\x20matrix\x20of\x20built-in\x20role\x20','\x20not\x20found\x20in\x20app\x20','number','validation','Role\x20id\x20(from\x20`role\x20list`)','role','remark','DEV','flagMissing','authRequired','dryRun','19216032zFtzsQ','USER','expectUserCount','Missing\x20user\x20reference.','trim','\x20member(s)\x20but\x20role\x20has\x20',';\x20no\x20change.','Disambiguate\x20with\x20--user\x20<id>.','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles.','DEV\x20/\x20ADMIN\x20keep\x20full\x20access\x20by\x20design;\x20configure\x20a\x20CUSTOM\x20role\x20instead.','includes','44YobDAf','No\x20tenant\x20member\x20matches\x20\x22','map','toLowerCase','test','roleType','expect-user-count','/smartapi/permit/user-role/update-user-list','Pass\x20--user\x20<id|name>.','splice','2wFtPZR','nickname','1017TdUULy','Optional\x20role\x20remark/description','username','roleName','Only\x20CUSTOM\x20roles\x20can\x20be\x20modified\x20or\x20deleted.','str','ADMIN','926531JuYWMq','POST','permitCount','277422oFtOYa','Multiple\x20tenant\x20members\x20match\x20\x22','flag','\x20built-in\x20role\x20','Role\x20name\x20\x22','string','Role\x20id\x20','user-add','User\x20','Role\x20id\x20or\x20role\x20name\x20(CUSTOM\x20roles\x20may\x20be\x20referenced\x20by\x20name)','Pass\x20--role\x20<id|name>.','User\x20id,\x20username,\x20or\x20nickname\x20to\x20resolve\x20to\x20a\x20userId','tenant','1391680OYNXyV','4462514osqrYs','join','Re-run\x20`role\x20detail`\x20/\x20`role\x20list`\x20and\x20retry\x20with\x20the\x20current\x20count.','length','48ahiHZe','userList','userCount','appCode','find','\x22:\x20','filter','push','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles,\x20or\x20pass\x20--role\x20<id>.','5ODReiZ'];a157_0x4c2e=function(){return _0x58459e;};return a157_0x4c2e();}export async function resolveTenantCode(){const _0x5a2751=a157_0x559311,_0x3e9c40=await getSessionUserInfo(),_0x55a966=_0x3e9c40?.['user']?.[_0x5a2751(0x196)]?.['tenant_code'];if(!_0x55a966)throw CliErrors[_0x5a2751(0x1b9)]('Cannot\x20resolve\x20current\x20tenant.\x20Run\x20`rabetbase\x20auth\x20login`\x20first.');return _0x55a966;}function a157_0x4a51(_0x25ef1d,_0x4a060e){_0x25ef1d=_0x25ef1d-0x183;const _0x4c2e24=a157_0x4c2e();let _0x4a51f4=_0x4c2e24[_0x25ef1d];return _0x4a51f4;}function matchMember(_0x568842,_0x5b4464){const _0x13ae4f=a157_0x559311,_0x44bb66=_0x5b4464[_0x13ae4f(0x1bf)]()[_0x13ae4f(0x1c9)]();return(_0x568842['nickname']??'')[_0x13ae4f(0x1c9)]()===_0x44bb66||(_0x568842[_0x13ae4f(0x1d4)]??'')['toLowerCase']()===_0x44bb66;}export async function resolveUserRef(_0x86ee8f){const _0x1155e3=a157_0x559311,_0xbac35b=_0x86ee8f[_0x1155e3(0x1bf)]();if(!_0xbac35b)throw CliErrors[_0x1155e3(0x1b3)](_0x1155e3(0x1be),'Pass\x20--user\x20<id|name>.');const _0x3a0773=await resolveTenantCode(),_0x2fae41=await getTenantMembers(_0x3a0773);if(/^\d+$/[_0x1155e3(0x1ca)](_0xbac35b)){const _0x5bf274=Number(_0xbac35b),_0x25a606=_0x2fae41[_0x1155e3(0x1a0)](_0x1b0226=>_0x1b0226[_0x1155e3(0x1a7)]===_0x5bf274);return{'userId':_0x5bf274,'username':_0x25a606?.['username']??String(_0x5bf274),'nickname':_0x25a606?.[_0x1155e3(0x1d1)],'matchedBy':'id'};}const _0x3a65e8=_0x2fae41[_0x1155e3(0x1a2)](_0x1c719b=>matchMember(_0x1c719b,_0xbac35b));if(_0x3a65e8[_0x1155e3(0x19b)]===0x0)throw CliErrors[_0x1155e3(0x1b3)](_0x1155e3(0x1c7)+_0xbac35b+'\x22.',_0x1155e3(0x1ac));if(_0x3a65e8[_0x1155e3(0x19b)]>0x1){const _0xa61708=_0x3a65e8['map'](_0xab2d51=>(_0xab2d51[_0x1155e3(0x1d1)]??_0xab2d51['username']??'?')+'('+_0xab2d51['userId']+')')[_0x1155e3(0x199)](',\x20');throw CliErrors[_0x1155e3(0x1b3)](_0x1155e3(0x18b)+_0xbac35b+_0x1155e3(0x1a1)+_0xa61708+'.',_0x1155e3(0x1c2));}const _0x53f1de=_0x3a65e8[0x0];return{'userId':_0x53f1de[_0x1155e3(0x1a7)],'username':_0x53f1de[_0x1155e3(0x1d4)]??String(_0x53f1de[_0x1155e3(0x1a7)]),'nickname':_0x53f1de['nickname'],'matchedBy':_0x1155e3(0x1ad)};}export const UPDATE_USER_LIST_PATH=a157_0x559311(0x1cd);function userIdsOf(_0x17f4b9){const _0x5eabc8=a157_0x559311;return(_0x17f4b9?.[_0x5eabc8(0x19d)]??[])['map'](_0x2f58b3=>_0x2f58b3[_0x5eabc8(0x1a7)]);}export function computeRoleUserMutation(_0x7ebd3a){const _0x5e087b=a157_0x559311,{operation:_0x5069b4,appCode:_0x4aa053,roleUsers:_0x57b51f,targetRoleId:_0x285342,user:_0x66a382}=_0x7ebd3a,_0x1c364b=_0x57b51f[_0x5e087b(0x1a0)](_0x4fb4df=>_0x4fb4df['id']===_0x285342);if(!_0x1c364b)throw CliErrors[_0x5e087b(0x1b3)](_0x5e087b(0x190)+_0x285342+'\x20not\x20found\x20in\x20the\x20user-role\x20list.','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles.');const _0x37aa99=userIdsOf(_0x1c364b),_0x50ab50=[];if(_0x7ebd3a['expectUserCount']!==undefined&&_0x7ebd3a[_0x5e087b(0x1bd)]!==_0x37aa99['length'])throw CliErrors['validation']('Anti-drift\x20check\x20failed:\x20expected\x20'+_0x7ebd3a[_0x5e087b(0x1bd)]+_0x5e087b(0x1c0)+_0x37aa99[_0x5e087b(0x19b)]+'.',_0x5e087b(0x19a));const _0x7601d7=_0x37aa99['includes'](_0x66a382[_0x5e087b(0x1a7)]);let _0x124ef4=![];const _0xadd49d=[..._0x1c364b[_0x5e087b(0x19d)]];if(_0x5069b4===_0x5e087b(0x191))_0x7601d7?_0x50ab50[_0x5e087b(0x1a3)](_0x5e087b(0x192)+_0x66a382[_0x5e087b(0x1a7)]+_0x5e087b(0x1aa)+_0x1c364b[_0x5e087b(0x183)]+_0x5e087b(0x1c1)):(_0xadd49d[_0x5e087b(0x1a3)]({'userId':_0x66a382[_0x5e087b(0x1a7)],'username':_0x66a382[_0x5e087b(0x1d4)],..._0x66a382['nickname']?{'nickname':_0x66a382[_0x5e087b(0x1d1)]}:{}}),_0x124ef4=!![]);else{if(!_0x7601d7)_0x50ab50[_0x5e087b(0x1a3)](_0x5e087b(0x192)+_0x66a382['userId']+'\x20is\x20not\x20a\x20member\x20of\x20role\x20'+_0x1c364b[_0x5e087b(0x183)]+_0x5e087b(0x1c1));else{const _0x33f715=_0xadd49d[_0x5e087b(0x1a9)](_0x17afed=>_0x17afed[_0x5e087b(0x1a7)]===_0x66a382[_0x5e087b(0x1a7)]);if(_0x33f715>=0x0)_0xadd49d[_0x5e087b(0x1cf)](_0x33f715,0x1);_0x124ef4=!![];}}const _0x234111=_0x57b51f[_0x5e087b(0x1c8)](_0x142653=>_0x142653['id']===_0x285342?{..._0x142653,'userList':_0xadd49d}:_0x142653),_0x197fcf=_0xadd49d[_0x5e087b(0x1c8)](_0x5a792b=>_0x5a792b['userId']),_0x3220ff={'operation':_0x5069b4,'selector':{'appCode':_0x4aa053,'roleId':_0x285342,'roleName':_0x1c364b['roleName'],'userId':_0x66a382[_0x5e087b(0x1a7)]},'before':{'userIds':_0x37aa99},'after':{'userIds':_0x197fcf},'dryRun':_0x7ebd3a[_0x5e087b(0x1ba)],'backend':{'method':_0x5e087b(0x188),'path':UPDATE_USER_LIST_PATH},'warnings':_0x50ab50};return{'roleList':_0x234111,'mutation':_0x3220ff,'changed':_0x124ef4};}export async function loadRoleUsers(_0x4bbb59){return listRoleUsers(_0x4bbb59);}export function readRoleRef(_0x4fb169){const _0x24a97d=a157_0x559311,_0x22b73a=_0x4fb169[_0x24a97d(0x185)](_0x24a97d(0x1b5))[_0x24a97d(0x1bf)]();if(!_0x22b73a)throw CliErrors[_0x24a97d(0x1b8)](_0x24a97d(0x1b5),_0x24a97d(0x194));return _0x22b73a;}export async function prepareUserMutation(_0x4b6343,_0x117fb3,_0x49efae){const _0x51e00f=a157_0x559311,_0x514564=readRoleRef(_0x4b6343),_0x2a4ec9=_0x4b6343['str'](_0x51e00f(0x1ab))[_0x51e00f(0x1bf)]();if(!_0x2a4ec9)throw CliErrors[_0x51e00f(0x1b8)](_0x51e00f(0x1ab),_0x51e00f(0x1ce));const _0x1588e8=_0x4b6343[_0x51e00f(0x18c)]('expect-user-count'),_0x3e7fc9=_0x1588e8===undefined||_0x1588e8===null?undefined:Number(_0x1588e8),_0x76542c=await resolveRoleRef(_0x4b6343[_0x51e00f(0x19f)],_0x514564),_0x52d2ff=await resolveUserRef(_0x2a4ec9),_0x3f2862=await loadRoleUsers(_0x4b6343[_0x51e00f(0x19f)]);return computeRoleUserMutation({'operation':_0x117fb3,'appCode':_0x4b6343[_0x51e00f(0x19f)],'roleUsers':_0x3f2862,'targetRoleId':_0x76542c['id'],'user':{'userId':_0x52d2ff[_0x51e00f(0x1a7)],'username':_0x52d2ff[_0x51e00f(0x1d4)],'nickname':_0x52d2ff[_0x51e00f(0x1d1)]},'dryRun':_0x49efae,..._0x3e7fc9!==undefined?{'expectUserCount':_0x3e7fc9}:{}});}
1
+ const a158_0x5842ea=a158_0x570f;(function(_0x3eb83e,_0x4f25ad){const _0x3e46c4=a158_0x570f,_0x431c99=_0x3eb83e();while(!![]){try{const _0xb0019b=parseInt(_0x3e46c4(0x15e))/0x1+parseInt(_0x3e46c4(0x137))/0x2*(-parseInt(_0x3e46c4(0x163))/0x3)+-parseInt(_0x3e46c4(0x14c))/0x4+parseInt(_0x3e46c4(0x152))/0x5+parseInt(_0x3e46c4(0x161))/0x6*(parseInt(_0x3e46c4(0x138))/0x7)+-parseInt(_0x3e46c4(0x169))/0x8*(parseInt(_0x3e46c4(0x13d))/0x9)+-parseInt(_0x3e46c4(0x12d))/0xa;if(_0xb0019b===_0x4f25ad)break;else _0x431c99['push'](_0x431c99['shift']());}catch(_0x3e144f){_0x431c99['push'](_0x431c99['shift']());}}}(a158_0x4dea,0x6e4ee));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':a158_0x5842ea(0x16d),'required':!![],'description':a158_0x5842ea(0x159)};export const ROLE_REF_FLAG={'name':a158_0x5842ea(0x16b),'type':a158_0x5842ea(0x12f),'required':!![],'description':'Role\x20id\x20or\x20role\x20name\x20(CUSTOM\x20roles\x20may\x20be\x20referenced\x20by\x20name)'};export const USER_REF_FLAG={'name':a158_0x5842ea(0x140),'type':a158_0x5842ea(0x12f),'required':!![],'description':a158_0x5842ea(0x173)};export const NAME_FLAG={'name':a158_0x5842ea(0x141),'type':a158_0x5842ea(0x12f),'required':!![],'description':'Role\x20name'};function a158_0x570f(_0x4d8618,_0x10c43d){_0x4d8618=_0x4d8618-0x12c;const _0x4deaae=a158_0x4dea();let _0x570f20=_0x4deaae[_0x4d8618];return _0x570f20;}export const USER_NAME_FLAG={'name':a158_0x5842ea(0x141),'type':a158_0x5842ea(0x12f),'required':!![],'description':a158_0x5842ea(0x145)};export const REMARK_FLAG={'name':a158_0x5842ea(0x155),'type':a158_0x5842ea(0x12f),'required':![],'description':'Optional\x20role\x20remark/description'};export const EXPECT_USER_COUNT_FLAG={'name':a158_0x5842ea(0x164),'type':a158_0x5842ea(0x16d),'required':![],'description':'Anti-drift\x20guard:\x20fail\x20if\x20the\x20role\x27s\x20current\x20member\x20count\x20differs'};export const BUILTIN_ROLE_TYPES=[a158_0x5842ea(0x167),'DEV',a158_0x5842ea(0x177)];export function isBuiltinRole(_0x503fa7){return BUILTIN_ROLE_TYPES['includes'](_0x503fa7);}export function assertCustomRole(_0x3b437f,_0x167626){const _0x4aa3cb=a158_0x5842ea;if(_0x3b437f[_0x4aa3cb(0x133)]!=='CUSTOM')throw CliErrors['validation'](_0x4aa3cb(0x14f)+_0x167626+'\x20built-in\x20role\x20'+_0x3b437f['roleName']+'\x20('+_0x3b437f[_0x4aa3cb(0x133)]+').','Only\x20CUSTOM\x20roles\x20can\x20be\x20modified\x20or\x20deleted.');}function a158_0x4dea(){const _0x3350c6=['splice','355606yRiqVj','2367085pzsbLR','flagMissing','\x20member(s)\x20but\x20role\x20has\x20','Role\x20id\x20','test','23373TsEVtF','DEV','Multiple\x20tenant\x20members\x20match\x20\x22','user','name','user-add','totalCount','findIndex','Nickname\x20or\x20username\x20to\x20resolve\x20to\x20a\x20userId','toLowerCase','POST','expectUserCount','dryRun','map','User\x20','1168324cWRGiU','Role\x20name\x20\x22','roleName','Cannot\x20','length','appCode','3261255kSVfjh','authRequired','nickname','remark','userCount','userList','trim','Role\x20id\x20(from\x20`role\x20list`)','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles,\x20or\x20pass\x20--role\x20<id>.','Re-run\x20`role\x20detail`\x20/\x20`role\x20list`\x20and\x20retry\x20with\x20the\x20current\x20count.','find','push','815604ZOdFFX','Pass\x20--role\x20<id|name>.','validation','6TOwoFO','\x22\x20is\x20ambiguous\x20(ids:\x20','6PBXmeV','expect-user-count','tenant','\x22\x20not\x20found\x20in\x20app\x20','ADMIN','permitCount','1048NhCmqZ','str','role','Check\x20the\x20nickname/username,\x20or\x20pass\x20--user\x20<id>.','number','filter','tenant_code','Disambiguate\x20with\x20--role\x20<id>.','/smartapi/permit/user-role/update-user-list','Cannot\x20change\x20the\x20permission\x20matrix\x20of\x20built-in\x20role\x20','User\x20id,\x20username,\x20or\x20nickname\x20to\x20resolve\x20to\x20a\x20userId','\x20not\x20found\x20in\x20app\x20','username','flag','USER','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles.','Disambiguate\x20with\x20--user\x20<id>.','3662940hGMnqQ','Pass\x20--user\x20<id|name>.','string','No\x20tenant\x20member\x20matches\x20\x22','\x20is\x20already\x20a\x20member\x20of\x20role\x20','DEV\x20/\x20ADMIN\x20keep\x20full\x20access\x20by\x20design;\x20configure\x20a\x20CUSTOM\x20role\x20instead.','roleType','\x20not\x20found\x20in\x20the\x20user-role\x20list.','userId'];a158_0x4dea=function(){return _0x3350c6;};return a158_0x4dea();}export function assertPermConfigurable(_0x257266){const _0x2daf26=a158_0x5842ea;if(_0x257266['roleType']===_0x2daf26(0x13e)||_0x257266[_0x2daf26(0x133)]===_0x2daf26(0x167))throw CliErrors['validation'](_0x2daf26(0x172)+_0x257266['roleName']+'\x20('+_0x257266[_0x2daf26(0x133)]+').',_0x2daf26(0x132));}export function projectRole(_0x57e767){const _0x263aa4=a158_0x5842ea;return{'id':_0x57e767['id'],'roleName':_0x57e767['roleName'],'roleType':_0x57e767[_0x263aa4(0x133)],'remark':_0x57e767[_0x263aa4(0x155)],'userCount':_0x57e767[_0x263aa4(0x156)],'permitCount':_0x57e767[_0x263aa4(0x168)],'builtin':isBuiltinRole(_0x57e767[_0x263aa4(0x133)])};}export async function resolveRoleRef(_0x30e551,_0x172ab1){const _0x138c02=a158_0x5842ea,_0x8c6fe5=_0x172ab1[_0x138c02(0x158)]();if(!_0x8c6fe5)throw CliErrors[_0x138c02(0x160)]('Missing\x20role\x20reference.','Pass\x20--role\x20<id|name>.');if(/^\d+$/[_0x138c02(0x13c)](_0x8c6fe5))return getRoleById(_0x30e551,Number(_0x8c6fe5));const _0x78583b=await listAllAppRoles(_0x30e551),_0x27701f=_0x78583b[_0x138c02(0x16e)](_0x174294=>_0x174294[_0x138c02(0x14e)]===_0x8c6fe5);if(_0x27701f[_0x138c02(0x150)]===0x0)throw CliErrors[_0x138c02(0x160)]('Role\x20name\x20\x22'+_0x8c6fe5+_0x138c02(0x166)+_0x30e551+'.',_0x138c02(0x15a));if(_0x27701f[_0x138c02(0x150)]>0x1){const _0x3b8d23=_0x27701f[_0x138c02(0x14a)](_0x2b62c7=>_0x2b62c7['id'])['join'](',\x20');throw CliErrors[_0x138c02(0x160)](_0x138c02(0x14d)+_0x8c6fe5+_0x138c02(0x162)+_0x3b8d23+').',_0x138c02(0x170));}return _0x27701f[0x0];}export async function getRoleById(_0x104e28,_0xb00f3b){const _0x2822aa=a158_0x5842ea,_0x3f26b6=await getAppRole(_0xb00f3b);if(!_0x3f26b6)throw CliErrors[_0x2822aa(0x160)]('Role\x20id\x20'+_0xb00f3b+_0x2822aa(0x174)+_0x104e28+'.',_0x2822aa(0x178));return _0x3f26b6;}async function listAllAppRoles(_0xc0348){const _0x218922=a158_0x5842ea,_0x5dfab9=0x64,_0x48867e=[];for(let _0x1daefc=0x1;;_0x1daefc+=0x1){const {items:_0x17816a,paging:_0x166d75}=await listAppRoles(_0xc0348,{'currentPage':_0x1daefc,'pageSize':_0x5dfab9});_0x48867e[_0x218922(0x15d)](..._0x17816a);if(_0x17816a[_0x218922(0x150)]<_0x5dfab9||_0x166d75&&_0x48867e[_0x218922(0x150)]>=_0x166d75[_0x218922(0x143)])return _0x48867e;}}export async function resolveTenantCode(){const _0xa2b9ca=a158_0x5842ea,_0x18beb8=await getSessionUserInfo(),_0x64afc0=_0x18beb8?.[_0xa2b9ca(0x140)]?.[_0xa2b9ca(0x165)]?.[_0xa2b9ca(0x16f)];if(!_0x64afc0)throw CliErrors[_0xa2b9ca(0x153)]('Cannot\x20resolve\x20current\x20tenant.\x20Run\x20`rabetbase\x20auth\x20login`\x20first.');return _0x64afc0;}function matchMember(_0x412451,_0x305f8b){const _0x2904e3=a158_0x5842ea,_0x5752f2=_0x305f8b['trim']()[_0x2904e3(0x146)]();return(_0x412451['nickname']??'')[_0x2904e3(0x146)]()===_0x5752f2||(_0x412451[_0x2904e3(0x175)]??'')[_0x2904e3(0x146)]()===_0x5752f2;}export async function resolveUserRef(_0xcc38bf){const _0x34eafd=a158_0x5842ea,_0x3eefa7=_0xcc38bf[_0x34eafd(0x158)]();if(!_0x3eefa7)throw CliErrors['validation']('Missing\x20user\x20reference.','Pass\x20--user\x20<id|name>.');const _0x4a4793=await resolveTenantCode(),_0x86dfef=await getTenantMembers(_0x4a4793);if(/^\d+$/[_0x34eafd(0x13c)](_0x3eefa7)){const _0x5bb81f=Number(_0x3eefa7),_0x3c36b6=_0x86dfef[_0x34eafd(0x15c)](_0x3ee1a4=>_0x3ee1a4[_0x34eafd(0x135)]===_0x5bb81f);return{'userId':_0x5bb81f,'username':_0x3c36b6?.['username']??String(_0x5bb81f),'nickname':_0x3c36b6?.[_0x34eafd(0x154)],'matchedBy':'id'};}const _0x2af304=_0x86dfef[_0x34eafd(0x16e)](_0x4392db=>matchMember(_0x4392db,_0x3eefa7));if(_0x2af304[_0x34eafd(0x150)]===0x0)throw CliErrors[_0x34eafd(0x160)](_0x34eafd(0x130)+_0x3eefa7+'\x22.',_0x34eafd(0x16c));if(_0x2af304['length']>0x1){const _0x11a36b=_0x2af304[_0x34eafd(0x14a)](_0xc3d18b=>(_0xc3d18b['nickname']??_0xc3d18b[_0x34eafd(0x175)]??'?')+'('+_0xc3d18b['userId']+')')['join'](',\x20');throw CliErrors[_0x34eafd(0x160)](_0x34eafd(0x13f)+_0x3eefa7+'\x22:\x20'+_0x11a36b+'.',_0x34eafd(0x12c));}const _0x3e33a2=_0x2af304[0x0];return{'userId':_0x3e33a2['userId'],'username':_0x3e33a2[_0x34eafd(0x175)]??String(_0x3e33a2['userId']),'nickname':_0x3e33a2[_0x34eafd(0x154)],'matchedBy':_0x34eafd(0x141)};}export const UPDATE_USER_LIST_PATH=a158_0x5842ea(0x171);function userIdsOf(_0xba0bc7){const _0x27f756=a158_0x5842ea;return(_0xba0bc7?.[_0x27f756(0x157)]??[])['map'](_0x391d0e=>_0x391d0e[_0x27f756(0x135)]);}export function computeRoleUserMutation(_0x8f638a){const _0xef893b=a158_0x5842ea,{operation:_0x32bd89,appCode:_0x1d734b,roleUsers:_0x68acaa,targetRoleId:_0x4c2f79,user:_0x3c21cd}=_0x8f638a,_0x531578=_0x68acaa[_0xef893b(0x15c)](_0xace78d=>_0xace78d['id']===_0x4c2f79);if(!_0x531578)throw CliErrors[_0xef893b(0x160)](_0xef893b(0x13b)+_0x4c2f79+_0xef893b(0x134),'Run\x20`role\x20list`\x20to\x20see\x20available\x20roles.');const _0x343872=userIdsOf(_0x531578),_0x1e5288=[];if(_0x8f638a[_0xef893b(0x148)]!==undefined&&_0x8f638a[_0xef893b(0x148)]!==_0x343872['length'])throw CliErrors[_0xef893b(0x160)]('Anti-drift\x20check\x20failed:\x20expected\x20'+_0x8f638a[_0xef893b(0x148)]+_0xef893b(0x13a)+_0x343872[_0xef893b(0x150)]+'.',_0xef893b(0x15b));const _0xf1cbe2=_0x343872['includes'](_0x3c21cd['userId']);let _0x27e1c3=![];const _0x369e3c=[..._0x531578[_0xef893b(0x157)]];if(_0x32bd89===_0xef893b(0x142))_0xf1cbe2?_0x1e5288[_0xef893b(0x15d)]('User\x20'+_0x3c21cd[_0xef893b(0x135)]+_0xef893b(0x131)+_0x531578[_0xef893b(0x14e)]+';\x20no\x20change.'):(_0x369e3c[_0xef893b(0x15d)]({'userId':_0x3c21cd['userId'],'username':_0x3c21cd['username'],..._0x3c21cd[_0xef893b(0x154)]?{'nickname':_0x3c21cd[_0xef893b(0x154)]}:{}}),_0x27e1c3=!![]);else{if(!_0xf1cbe2)_0x1e5288['push'](_0xef893b(0x14b)+_0x3c21cd[_0xef893b(0x135)]+'\x20is\x20not\x20a\x20member\x20of\x20role\x20'+_0x531578[_0xef893b(0x14e)]+';\x20no\x20change.');else{const _0x525982=_0x369e3c[_0xef893b(0x144)](_0x4d1556=>_0x4d1556[_0xef893b(0x135)]===_0x3c21cd[_0xef893b(0x135)]);if(_0x525982>=0x0)_0x369e3c[_0xef893b(0x136)](_0x525982,0x1);_0x27e1c3=!![];}}const _0x21f1a5=_0x68acaa[_0xef893b(0x14a)](_0x2e39b1=>_0x2e39b1['id']===_0x4c2f79?{..._0x2e39b1,'userList':_0x369e3c}:_0x2e39b1),_0x5994c1=_0x369e3c[_0xef893b(0x14a)](_0x25d2ce=>_0x25d2ce[_0xef893b(0x135)]),_0x266bed={'operation':_0x32bd89,'selector':{'appCode':_0x1d734b,'roleId':_0x4c2f79,'roleName':_0x531578['roleName'],'userId':_0x3c21cd[_0xef893b(0x135)]},'before':{'userIds':_0x343872},'after':{'userIds':_0x5994c1},'dryRun':_0x8f638a[_0xef893b(0x149)],'backend':{'method':_0xef893b(0x147),'path':UPDATE_USER_LIST_PATH},'warnings':_0x1e5288};return{'roleList':_0x21f1a5,'mutation':_0x266bed,'changed':_0x27e1c3};}export async function loadRoleUsers(_0x246eec){return listRoleUsers(_0x246eec);}export function readRoleRef(_0x16c7b7){const _0x2061b1=a158_0x5842ea,_0x1089c9=_0x16c7b7[_0x2061b1(0x16a)](_0x2061b1(0x16b))[_0x2061b1(0x158)]();if(!_0x1089c9)throw CliErrors[_0x2061b1(0x139)](_0x2061b1(0x16b),_0x2061b1(0x15f));return _0x1089c9;}export async function prepareUserMutation(_0x1f8704,_0x269fbc,_0x171eba){const _0x2f6ecc=a158_0x5842ea,_0x54a0eb=readRoleRef(_0x1f8704),_0x32af4a=_0x1f8704['str'](_0x2f6ecc(0x140))[_0x2f6ecc(0x158)]();if(!_0x32af4a)throw CliErrors[_0x2f6ecc(0x139)](_0x2f6ecc(0x140),_0x2f6ecc(0x12e));const _0x4c71a3=_0x1f8704[_0x2f6ecc(0x176)](_0x2f6ecc(0x164)),_0x41a458=_0x4c71a3===undefined||_0x4c71a3===null?undefined:Number(_0x4c71a3),_0x39937a=await resolveRoleRef(_0x1f8704[_0x2f6ecc(0x151)],_0x54a0eb),_0x480dd9=await resolveUserRef(_0x32af4a),_0x3ab1ba=await loadRoleUsers(_0x1f8704[_0x2f6ecc(0x151)]);return computeRoleUserMutation({'operation':_0x269fbc,'appCode':_0x1f8704[_0x2f6ecc(0x151)],'roleUsers':_0x3ab1ba,'targetRoleId':_0x39937a['id'],'user':{'userId':_0x480dd9[_0x2f6ecc(0x135)],'username':_0x480dd9[_0x2f6ecc(0x175)],'nickname':_0x480dd9[_0x2f6ecc(0x154)]},'dryRun':_0x171eba,..._0x41a458!==undefined?{'expectUserCount':_0x41a458}:{}});}
@@ -1 +1 @@
1
- const a158_0x5f3d2d=a158_0x2480;(function(_0x3231ee,_0x41658f){const _0x28d008=a158_0x2480,_0x5da9d3=_0x3231ee();while(!![]){try{const _0x23f8a2=parseInt(_0x28d008(0x1c6))/0x1*(-parseInt(_0x28d008(0x1cb))/0x2)+parseInt(_0x28d008(0x1dd))/0x3+parseInt(_0x28d008(0x1d6))/0x4+parseInt(_0x28d008(0x1ca))/0x5+-parseInt(_0x28d008(0x1c8))/0x6*(parseInt(_0x28d008(0x1de))/0x7)+parseInt(_0x28d008(0x1c9))/0x8+-parseInt(_0x28d008(0x1c0))/0x9;if(_0x23f8a2===_0x41658f)break;else _0x5da9d3['push'](_0x5da9d3['shift']());}catch(_0x3d2af1){_0x5da9d3['push'](_0x5da9d3['shift']());}}}(a158_0x9310,0xc0fd1));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';function a158_0x2480(_0x10e80e,_0x20d5fb){_0x10e80e=_0x10e80e-0x1bf;const _0x9310da=a158_0x9310();let _0x24801d=_0x9310da[_0x10e80e];return _0x24801d;}function a158_0x9310(){const _0x269cd5=['roleName','Pass\x20at\x20least\x20one\x20of\x20--name\x20/\x20--remark.','trim','Role\x20name\x20cannot\x20exceed\x2064\x20characters.','appCode','--name\x20cannot\x20be\x20empty.','/smartapi/permit/role/update','update','name','\x20(id=','2333348fSsfGO','Updated\x20role\x20','flag','New\x20role\x20name','validation','string','remark','2092098qpFILf','21WQhzuI','POST','8869743BJbNnH','write','Nothing\x20to\x20update.','Update\x20a\x20CUSTOM\x20role\x27s\x20name/remark\x20(DEV/ADMIN\x20rejected)','role','length','310659VAWuTS','num','869622nXNzKe','3836568ZqyusE','5359315YwXpwJ','4zGcefb'];a158_0x9310=function(){return _0x269cd5;};return a158_0x9310();}const UPDATE_PATH=a158_0x5f3d2d(0x1d2);function readPatch(_0x11387c){const _0x227f15=a158_0x5f3d2d,_0x2e893f=_0x11387c[_0x227f15(0x1d8)](_0x227f15(0x1d4)),_0x1cc968=_0x11387c[_0x227f15(0x1d8)](_0x227f15(0x1dc)),_0x508c8c={};if(_0x2e893f!==undefined&&_0x2e893f!==null){const _0x130235=String(_0x2e893f)[_0x227f15(0x1ce)]();if(!_0x130235)throw CliErrors[_0x227f15(0x1da)](_0x227f15(0x1d1));if(_0x130235[_0x227f15(0x1c5)]>0x40)throw CliErrors['validation'](_0x227f15(0x1cf));_0x508c8c[_0x227f15(0x1cc)]=_0x130235;}_0x1cc968!==undefined&&_0x1cc968!==null&&(_0x508c8c[_0x227f15(0x1dc)]=String(_0x1cc968));if(_0x508c8c[_0x227f15(0x1cc)]===undefined&&_0x508c8c[_0x227f15(0x1dc)]===undefined)throw CliErrors[_0x227f15(0x1da)](_0x227f15(0x1c2),_0x227f15(0x1cd));return _0x508c8c;}export const roleUpdate={'service':a158_0x5f3d2d(0x1c4),'command':'update','description':a158_0x5f3d2d(0x1c3),'risk':a158_0x5f3d2d(0x1c1),'flags':[ROLE_ID_FLAG,{...REMARK_FLAG},{'name':a158_0x5f3d2d(0x1d4),'type':a158_0x5f3d2d(0x1db),'required':![],'description':a158_0x5f3d2d(0x1d9)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x111491){readPatch(_0x111491);},async 'dryRun'(_0x103a1f){const _0x1cb627=a158_0x5f3d2d,_0x274fa4=_0x103a1f[_0x1cb627(0x1c7)]('id'),_0xf7b5e0=readPatch(_0x103a1f),_0x18e3df=await getRoleById(_0x103a1f[_0x1cb627(0x1d0)],_0x274fa4);return assertCustomRole(_0x18e3df,_0x1cb627(0x1d3)),asDryRunResult({'operation':_0x1cb627(0x1d3),'selector':{'appCode':_0x103a1f[_0x1cb627(0x1d0)],'roleId':_0x274fa4,'roleName':_0x18e3df[_0x1cb627(0x1cc)]},'before':projectRole(_0x18e3df),'after':projectRole({..._0x18e3df,..._0xf7b5e0[_0x1cb627(0x1cc)]!==undefined?{'roleName':_0xf7b5e0[_0x1cb627(0x1cc)]}:{},..._0xf7b5e0['remark']!==undefined?{'remark':_0xf7b5e0[_0x1cb627(0x1dc)]}:{}}),'dryRun':!![],'backend':{'method':'POST','path':UPDATE_PATH},'warnings':[]},{'method':_0x1cb627(0x1bf),'url':UPDATE_PATH});},async 'execute'(_0x3d0c50){const _0x434dc2=a158_0x5f3d2d,_0x93cd40=_0x3d0c50[_0x434dc2(0x1c7)]('id'),_0x3150d1=readPatch(_0x3d0c50),_0x4c9079=await getRoleById(_0x3d0c50[_0x434dc2(0x1d0)],_0x93cd40);assertCustomRole(_0x4c9079,'update'),await updateAppRole({'id':_0x93cd40,'appCode':_0x3d0c50['appCode'],..._0x3150d1[_0x434dc2(0x1cc)]!==undefined?{'roleName':_0x3150d1[_0x434dc2(0x1cc)]}:{},..._0x3150d1[_0x434dc2(0x1dc)]!==undefined?{'remark':_0x3150d1[_0x434dc2(0x1dc)]}:{}});const _0x46bcda=await getRoleById(_0x3d0c50[_0x434dc2(0x1d0)],_0x93cd40);return{'ok':!![],'data':{'operation':_0x434dc2(0x1d3),'selector':{'appCode':_0x3d0c50['appCode'],'roleId':_0x93cd40,'roleName':_0x46bcda[_0x434dc2(0x1cc)]},'before':projectRole(_0x4c9079),'after':projectRole(_0x46bcda),'dryRun':![],'backend':{'method':'POST','path':UPDATE_PATH},'warnings':[]},'message':_0x434dc2(0x1d7)+_0x46bcda['roleName']+_0x434dc2(0x1d5)+_0x93cd40+')'};}};
1
+ const a159_0xee5aad=a159_0x14f2;(function(_0xb21753,_0x25bfbf){const _0x48d708=a159_0x14f2,_0x36afa5=_0xb21753();while(!![]){try{const _0x243d6a=-parseInt(_0x48d708(0x11b))/0x1*(-parseInt(_0x48d708(0x122))/0x2)+parseInt(_0x48d708(0x120))/0x3*(-parseInt(_0x48d708(0x125))/0x4)+parseInt(_0x48d708(0x12a))/0x5+-parseInt(_0x48d708(0x12b))/0x6+parseInt(_0x48d708(0x118))/0x7+-parseInt(_0x48d708(0x11a))/0x8*(parseInt(_0x48d708(0x111))/0x9)+-parseInt(_0x48d708(0x127))/0xa;if(_0x243d6a===_0x25bfbf)break;else _0x36afa5['push'](_0x36afa5['shift']());}catch(_0x5a5631){_0x36afa5['push'](_0x36afa5['shift']());}}}(a159_0x5aaf,0xc9e06));import{updateAppRole}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';function a159_0x14f2(_0x2adb9b,_0x2e79a4){_0x2adb9b=_0x2adb9b-0x111;const _0x5aaf71=a159_0x5aaf();let _0x14f232=_0x5aaf71[_0x2adb9b];return _0x14f232;}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=a159_0xee5aad(0x11f);function readPatch(_0x20554b){const _0x41b276=a159_0xee5aad,_0x5c4e0a=_0x20554b[_0x41b276(0x121)]('name'),_0x1fe6a9=_0x20554b[_0x41b276(0x121)](_0x41b276(0x11e)),_0x2b1c93={};if(_0x5c4e0a!==undefined&&_0x5c4e0a!==null){const _0x391812=String(_0x5c4e0a)['trim']();if(!_0x391812)throw CliErrors[_0x41b276(0x117)](_0x41b276(0x112));if(_0x391812['length']>0x40)throw CliErrors[_0x41b276(0x117)]('Role\x20name\x20cannot\x20exceed\x2064\x20characters.');_0x2b1c93['roleName']=_0x391812;}_0x1fe6a9!==undefined&&_0x1fe6a9!==null&&(_0x2b1c93[_0x41b276(0x11e)]=String(_0x1fe6a9));if(_0x2b1c93['roleName']===undefined&&_0x2b1c93[_0x41b276(0x11e)]===undefined)throw CliErrors[_0x41b276(0x117)]('Nothing\x20to\x20update.',_0x41b276(0x114));return _0x2b1c93;}export const roleUpdate={'service':'role','command':'update','description':a159_0xee5aad(0x128),'risk':a159_0xee5aad(0x115),'flags':[ROLE_ID_FLAG,{...REMARK_FLAG},{'name':a159_0xee5aad(0x11d),'type':a159_0xee5aad(0x11c),'required':![],'description':a159_0xee5aad(0x126)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x13cb65){readPatch(_0x13cb65);},async 'dryRun'(_0x25d90a){const _0x2ebf36=a159_0xee5aad,_0x3b96a9=_0x25d90a[_0x2ebf36(0x129)]('id'),_0x4fe657=readPatch(_0x25d90a),_0x52994e=await getRoleById(_0x25d90a['appCode'],_0x3b96a9);return assertCustomRole(_0x52994e,_0x2ebf36(0x116)),asDryRunResult({'operation':_0x2ebf36(0x116),'selector':{'appCode':_0x25d90a[_0x2ebf36(0x113)],'roleId':_0x3b96a9,'roleName':_0x52994e[_0x2ebf36(0x123)]},'before':projectRole(_0x52994e),'after':projectRole({..._0x52994e,..._0x4fe657[_0x2ebf36(0x123)]!==undefined?{'roleName':_0x4fe657[_0x2ebf36(0x123)]}:{},..._0x4fe657[_0x2ebf36(0x11e)]!==undefined?{'remark':_0x4fe657['remark']}:{}}),'dryRun':!![],'backend':{'method':_0x2ebf36(0x124),'path':UPDATE_PATH},'warnings':[]},{'method':_0x2ebf36(0x124),'url':UPDATE_PATH});},async 'execute'(_0x36374b){const _0x33b779=a159_0xee5aad,_0x20fe7b=_0x36374b[_0x33b779(0x129)]('id'),_0x5495d7=readPatch(_0x36374b),_0x4221dd=await getRoleById(_0x36374b['appCode'],_0x20fe7b);assertCustomRole(_0x4221dd,_0x33b779(0x116)),await updateAppRole({'id':_0x20fe7b,'appCode':_0x36374b[_0x33b779(0x113)],..._0x5495d7[_0x33b779(0x123)]!==undefined?{'roleName':_0x5495d7[_0x33b779(0x123)]}:{},..._0x5495d7[_0x33b779(0x11e)]!==undefined?{'remark':_0x5495d7[_0x33b779(0x11e)]}:{}});const _0x5291ca=await getRoleById(_0x36374b[_0x33b779(0x113)],_0x20fe7b);return{'ok':!![],'data':{'operation':'update','selector':{'appCode':_0x36374b[_0x33b779(0x113)],'roleId':_0x20fe7b,'roleName':_0x5291ca[_0x33b779(0x123)]},'before':projectRole(_0x4221dd),'after':projectRole(_0x5291ca),'dryRun':![],'backend':{'method':_0x33b779(0x124),'path':UPDATE_PATH},'warnings':[]},'message':'Updated\x20role\x20'+_0x5291ca[_0x33b779(0x123)]+_0x33b779(0x119)+_0x20fe7b+')'};}};function a159_0x5aaf(){const _0x541477=['2643085KVWtyT','768234TMhNwh','72NDFZjs','--name\x20cannot\x20be\x20empty.','appCode','Pass\x20at\x20least\x20one\x20of\x20--name\x20/\x20--remark.','write','update','validation','10989475trEYWG','\x20(id=','187640BnJJIp','6253mjQCMP','string','name','remark','/smartapi/permit/role/update','3oxPzbm','flag','448GIRQNd','roleName','POST','473644iQkvOa','New\x20role\x20name','22382380gnSNXm','Update\x20a\x20CUSTOM\x20role\x27s\x20name/remark\x20(DEV/ADMIN\x20rejected)','num'];a159_0x5aaf=function(){return _0x541477;};return a159_0x5aaf();}
@@ -1 +1 @@
1
- const a159_0x1f929c=a159_0x4493;function a159_0x4493(_0x3cd316,_0xdf649){_0x3cd316=_0x3cd316-0x189;const _0x268ff3=a159_0x268f();let _0x4493f2=_0x268ff3[_0x3cd316];return _0x4493f2;}(function(_0x4b9f44,_0x1da483){const _0x40f5e6=a159_0x4493,_0x813a42=_0x4b9f44();while(!![]){try{const _0x31727e=-parseInt(_0x40f5e6(0x19e))/0x1+-parseInt(_0x40f5e6(0x19d))/0x2*(parseInt(_0x40f5e6(0x199))/0x3)+-parseInt(_0x40f5e6(0x18c))/0x4*(-parseInt(_0x40f5e6(0x18d))/0x5)+parseInt(_0x40f5e6(0x19b))/0x6*(-parseInt(_0x40f5e6(0x195))/0x7)+-parseInt(_0x40f5e6(0x193))/0x8*(parseInt(_0x40f5e6(0x18b))/0x9)+parseInt(_0x40f5e6(0x19c))/0xa+parseInt(_0x40f5e6(0x189))/0xb;if(_0x31727e===_0x1da483)break;else _0x813a42['push'](_0x813a42['shift']());}catch(_0x9a0505){_0x813a42['push'](_0x813a42['shift']());}}}(a159_0x268f,0xa3853));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 a159_0x268f(){const _0x225d2b=['10767040cHhosX','118KxOXht','283102SYAQqn','appCode','11570339pkRgxt','selector','459lmCmKT','9316JxUsIA','1630RbRRyn','role','\x20already\x20in\x20role\x20','Added\x20user\x20','POST','userId','111272MeojpS','user-add','49XDyZUC','roleName','\x20to\x20role\x20','high-risk-write','43386uxNzJy','No\x20change:\x20user\x20','319122DPPvpy'];a159_0x268f=function(){return _0x225d2b;};return a159_0x268f();}export const roleUserAdd={'service':a159_0x1f929c(0x18e),'command':a159_0x1f929c(0x194),'description':'Add\x20a\x20user\x20to\x20a\x20role\x20(internal\x20merge\x20+\x20anti-drift);\x20requires\x20--yes','risk':a159_0x1f929c(0x198),'flags':[ROLE_REF_FLAG,USER_REF_FLAG,EXPECT_USER_COUNT_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x4397dc){const _0x5a327a=a159_0x1f929c,{mutation:_0x597cec}=await prepareUserMutation(_0x4397dc,_0x5a327a(0x194),!![]);return asDryRunResult(_0x597cec,{'method':_0x5a327a(0x191),'url':UPDATE_USER_LIST_PATH});},async 'execute'(_0x5c29a8){const _0x493eaa=a159_0x1f929c,{roleList:_0x3fa3bc,mutation:_0x810a3f,changed:_0x8661a8}=await prepareUserMutation(_0x5c29a8,'user-add',![]);return _0x8661a8&&await updateRoleUsers(_0x5c29a8[_0x493eaa(0x19f)],_0x3fa3bc),{'ok':!![],'data':_0x810a3f,'message':_0x8661a8?_0x493eaa(0x190)+_0x810a3f['selector'][_0x493eaa(0x192)]+_0x493eaa(0x197)+_0x810a3f[_0x493eaa(0x18a)][_0x493eaa(0x196)]:_0x493eaa(0x19a)+_0x810a3f[_0x493eaa(0x18a)][_0x493eaa(0x192)]+_0x493eaa(0x18f)+_0x810a3f['selector'][_0x493eaa(0x196)]};}};
1
+ const a160_0x39eaac=a160_0x2cda;(function(_0x1c9cc5,_0x2cb4d5){const _0x28b633=a160_0x2cda,_0x3773b1=_0x1c9cc5();while(!![]){try{const _0x42f961=-parseInt(_0x28b633(0xf6))/0x1+-parseInt(_0x28b633(0xf2))/0x2+-parseInt(_0x28b633(0xfb))/0x3*(-parseInt(_0x28b633(0xf8))/0x4)+-parseInt(_0x28b633(0xf5))/0x5+-parseInt(_0x28b633(0xf1))/0x6*(parseInt(_0x28b633(0xee))/0x7)+parseInt(_0x28b633(0xeb))/0x8+parseInt(_0x28b633(0xf4))/0x9;if(_0x42f961===_0x2cb4d5)break;else _0x3773b1['push'](_0x3773b1['shift']());}catch(_0x4afdc7){_0x3773b1['push'](_0x3773b1['shift']());}}}(a160_0x4b3e,0x5d2aa));function a160_0x2cda(_0x3fe608,_0x20ca6b){_0x3fe608=_0x3fe608-0xea;const _0x4b3ec7=a160_0x4b3e();let _0x2cda67=_0x4b3ec7[_0x3fe608];return _0x2cda67;}import{updateRoleUsers}from'../../core/api-client.js';function a160_0x4b3e(){const _0x3bd862=['485856PdqRDq','userId','role','1106InAiXH','user-add','No\x20change:\x20user\x20','7224xogUxL','1488746NKsBSq','roleName','8141067kFcIaQ','243540dYPbOx','96002tHVlFU','POST','60NgGJaf','high-risk-write','Add\x20a\x20user\x20to\x20a\x20role\x20(internal\x20merge\x20+\x20anti-drift);\x20requires\x20--yes','99126gfWnQR','selector','\x20already\x20in\x20role\x20'];a160_0x4b3e=function(){return _0x3bd862;};return a160_0x4b3e();}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':a160_0x39eaac(0xed),'command':a160_0x39eaac(0xef),'description':a160_0x39eaac(0xfa),'risk':a160_0x39eaac(0xf9),'flags':[ROLE_REF_FLAG,USER_REF_FLAG,EXPECT_USER_COUNT_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x1f7482){const _0x133489=a160_0x39eaac,{mutation:_0x398509}=await prepareUserMutation(_0x1f7482,_0x133489(0xef),!![]);return asDryRunResult(_0x398509,{'method':_0x133489(0xf7),'url':UPDATE_USER_LIST_PATH});},async 'execute'(_0x2d0a6f){const _0x2bd15a=a160_0x39eaac,{roleList:_0x10b81b,mutation:_0x1412f6,changed:_0x5e7d66}=await prepareUserMutation(_0x2d0a6f,_0x2bd15a(0xef),![]);return _0x5e7d66&&await updateRoleUsers(_0x2d0a6f['appCode'],_0x10b81b),{'ok':!![],'data':_0x1412f6,'message':_0x5e7d66?'Added\x20user\x20'+_0x1412f6['selector']['userId']+'\x20to\x20role\x20'+_0x1412f6['selector'][_0x2bd15a(0xf3)]:_0x2bd15a(0xf0)+_0x1412f6[_0x2bd15a(0xfc)][_0x2bd15a(0xec)]+_0x2bd15a(0xea)+_0x1412f6[_0x2bd15a(0xfc)][_0x2bd15a(0xf3)]};}};
@@ -1 +1 @@
1
- const a160_0x220751=a160_0x1195;(function(_0x12112e,_0x19a859){const _0x4ddc13=a160_0x1195,_0x33e653=_0x12112e();while(!![]){try{const _0x2bca9d=parseInt(_0x4ddc13(0x146))/0x1*(parseInt(_0x4ddc13(0x13f))/0x2)+parseInt(_0x4ddc13(0x14a))/0x3*(-parseInt(_0x4ddc13(0x13c))/0x4)+-parseInt(_0x4ddc13(0x14d))/0x5*(parseInt(_0x4ddc13(0x140))/0x6)+-parseInt(_0x4ddc13(0x147))/0x7+parseInt(_0x4ddc13(0x142))/0x8+parseInt(_0x4ddc13(0x14c))/0x9+-parseInt(_0x4ddc13(0x144))/0xa;if(_0x2bca9d===_0x19a859)break;else _0x33e653['push'](_0x33e653['shift']());}catch(_0x3461c2){_0x33e653['push'](_0x33e653['shift']());}}}(a160_0x59cc,0xddef9));import{updateRoleUsers}from'../../core/api-client.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a160_0x1195(_0x7af55f,_0x327019){_0x7af55f=_0x7af55f-0x13c;const _0x59ccc9=a160_0x59cc();let _0x1195ff=_0x59ccc9[_0x7af55f];return _0x1195ff;}function a160_0x59cc(){const _0x5c52e0=['Remove\x20a\x20user\x20from\x20a\x20role\x20(internal\x20merge\x20+\x20anti-drift);\x20requires\x20--yes','21520tBYAvT','roleName','1BdPmqO','10539200FYlsdl','POST','user-remove','33vjfbez','Removed\x20user\x20','9848817RlQZQb','5sMfHIC','\x20from\x20role\x20','\x20not\x20in\x20role\x20','userId','369956wNgoOm','role','high-risk-write','2716122QRpUQQ','1915098TPRfCw','selector','10407912ObDUmt'];a160_0x59cc=function(){return _0x5c52e0;};return a160_0x59cc();}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':a160_0x220751(0x13d),'command':a160_0x220751(0x149),'description':a160_0x220751(0x143),'risk':a160_0x220751(0x13e),'flags':[ROLE_REF_FLAG,USER_REF_FLAG,EXPECT_USER_COUNT_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x19de15){const _0x4737f5=a160_0x220751,{mutation:_0x3f0204}=await prepareUserMutation(_0x19de15,_0x4737f5(0x149),!![]);return asDryRunResult(_0x3f0204,{'method':_0x4737f5(0x148),'url':UPDATE_USER_LIST_PATH});},async 'execute'(_0x3588b7){const _0x118fb7=a160_0x220751,{roleList:_0x46222c,mutation:_0x34389e,changed:_0xfbafe5}=await prepareUserMutation(_0x3588b7,'user-remove',![]);return _0xfbafe5&&await updateRoleUsers(_0x3588b7['appCode'],_0x46222c),{'ok':!![],'data':_0x34389e,'message':_0xfbafe5?_0x118fb7(0x14b)+_0x34389e[_0x118fb7(0x141)]['userId']+_0x118fb7(0x14e)+_0x34389e[_0x118fb7(0x141)][_0x118fb7(0x145)]:'No\x20change:\x20user\x20'+_0x34389e[_0x118fb7(0x141)][_0x118fb7(0x150)]+_0x118fb7(0x14f)+_0x34389e[_0x118fb7(0x141)][_0x118fb7(0x145)]};}};
1
+ const a161_0xecc0fc=a161_0x4adf;(function(_0x1c24cc,_0x8cdfcb){const _0x20feba=a161_0x4adf,_0x119f7f=_0x1c24cc();while(!![]){try{const _0x2b2379=-parseInt(_0x20feba(0xce))/0x1+-parseInt(_0x20feba(0xbf))/0x2*(-parseInt(_0x20feba(0xcf))/0x3)+parseInt(_0x20feba(0xc7))/0x4+parseInt(_0x20feba(0xbe))/0x5*(parseInt(_0x20feba(0xc5))/0x6)+-parseInt(_0x20feba(0xbc))/0x7+parseInt(_0x20feba(0xc3))/0x8*(-parseInt(_0x20feba(0xcb))/0x9)+-parseInt(_0x20feba(0xcd))/0xa;if(_0x2b2379===_0x8cdfcb)break;else _0x119f7f['push'](_0x119f7f['shift']());}catch(_0x4c413b){_0x119f7f['push'](_0x119f7f['shift']());}}}(a161_0x475a,0x88929));import{updateRoleUsers}from'../../core/api-client.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';function a161_0x4adf(_0x2b8da3,_0x38ad18){_0x2b8da3=_0x2b8da3-0xba;const _0x475aca=a161_0x475a();let _0x4adf0a=_0x475aca[_0x2b8da3];return _0x4adf0a;}import{EXPECT_USER_COUNT_FLAG,prepareUserMutation,ROLE_REF_FLAG,UPDATE_USER_LIST_PATH,USER_REF_FLAG}from'../../commands/role/shared.js';function a161_0x475a(){const _0x58f1e9=['1149lzSmgA','POST','No\x20change:\x20user\x20','Remove\x20a\x20user\x20from\x20a\x20role\x20(internal\x20merge\x20+\x20anti-drift);\x20requires\x20--yes','1258152ViAFAz','high-risk-write','2275265PhxQsR','4842FKVJXB','role','appCode','Removed\x20user\x20','31152xIcAvD','selector','6NAxafZ','user-remove','4196320ClpUIS','\x20not\x20in\x20role\x20','roleName','userId','1962xyJzPh','\x20from\x20role\x20','7488690lUQFJV','94478uGABaJ'];a161_0x475a=function(){return _0x58f1e9;};return a161_0x475a();}export const roleUserRemove={'service':a161_0xecc0fc(0xc0),'command':a161_0xecc0fc(0xc6),'description':a161_0xecc0fc(0xbb),'risk':a161_0xecc0fc(0xbd),'flags':[ROLE_REF_FLAG,USER_REF_FLAG,EXPECT_USER_COUNT_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x762282){const _0x25d339=a161_0xecc0fc,{mutation:_0x3df757}=await prepareUserMutation(_0x762282,_0x25d339(0xc6),!![]);return asDryRunResult(_0x3df757,{'method':_0x25d339(0xd0),'url':UPDATE_USER_LIST_PATH});},async 'execute'(_0x1dcc30){const _0x4034e0=a161_0xecc0fc,{roleList:_0x2eb26c,mutation:_0x4fec7f,changed:_0x3eec4e}=await prepareUserMutation(_0x1dcc30,_0x4034e0(0xc6),![]);return _0x3eec4e&&await updateRoleUsers(_0x1dcc30[_0x4034e0(0xc1)],_0x2eb26c),{'ok':!![],'data':_0x4fec7f,'message':_0x3eec4e?_0x4034e0(0xc2)+_0x4fec7f[_0x4034e0(0xc4)]['userId']+_0x4034e0(0xcc)+_0x4fec7f[_0x4034e0(0xc4)][_0x4034e0(0xc9)]:_0x4034e0(0xba)+_0x4fec7f['selector'][_0x4034e0(0xca)]+_0x4034e0(0xc8)+_0x4fec7f['selector'][_0x4034e0(0xc9)]};}};
@@ -1 +1 @@
1
- const a161_0x4c89e2=a161_0x59e7;(function(_0x2144eb,_0x1a9a42){const _0x3f886f=a161_0x59e7,_0x25462f=_0x2144eb();while(!![]){try{const _0x219572=-parseInt(_0x3f886f(0x1ca))/0x1*(-parseInt(_0x3f886f(0x1c7))/0x2)+parseInt(_0x3f886f(0x1c2))/0x3+parseInt(_0x3f886f(0x1b8))/0x4*(parseInt(_0x3f886f(0x1bd))/0x5)+parseInt(_0x3f886f(0x1b6))/0x6+-parseInt(_0x3f886f(0x1c8))/0x7+parseInt(_0x3f886f(0x1b9))/0x8+-parseInt(_0x3f886f(0x1c1))/0x9*(parseInt(_0x3f886f(0x1be))/0xa);if(_0x219572===_0x1a9a42)break;else _0x25462f['push'](_0x25462f['shift']());}catch(_0x1d1f34){_0x25462f['push'](_0x25462f['shift']());}}}(a161_0x4924,0xa2cb5));function a161_0x4924(){const _0x3ee02c=['3651949SABNpB','trim','687955uGtFAF','\x22\x20→\x20userId\x20','Pass\x20--name\x20<nickname|username>.','flagMissing','1018734IELigN','matchedBy','488352KkxlFR','7346152uqwJCA','Resolve\x20a\x20nickname/username\x20to\x20a\x20userId\x20(tenant\x20member\x20directory)','str','username','25qjRoda','1170lHOKYF','user-resolve','read','169047rSlFnB','2999010HOzNQZ','name','role','Resolved\x20\x22','nickname','2GlHxVy'];a161_0x4924=function(){return _0x3ee02c;};return a161_0x4924();}import{CliErrors}from'../../errors.js';function a161_0x59e7(_0xdbac75,_0x2fc92f){_0xdbac75=_0xdbac75-0x1b3;const _0x4924bf=a161_0x4924();let _0x59e72e=_0x4924bf[_0xdbac75];return _0x59e72e;}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{resolveUserRef,USER_NAME_FLAG}from'../../commands/role/shared.js';export const roleUserResolve={'service':a161_0x4c89e2(0x1c4),'command':a161_0x4c89e2(0x1bf),'description':a161_0x4c89e2(0x1ba),'risk':a161_0x4c89e2(0x1c0),'flags':[USER_NAME_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x393c7e){const _0x247f16=a161_0x4c89e2;if(!_0x393c7e['str'](_0x247f16(0x1c3))[_0x247f16(0x1c9)]())throw CliErrors[_0x247f16(0x1b5)]('name',_0x247f16(0x1b4));},async 'execute'(_0x23b1a8){const _0x275747=a161_0x4c89e2,_0x5708ef=_0x23b1a8[_0x275747(0x1bb)](_0x275747(0x1c3))[_0x275747(0x1c9)](),_0x2dae55=await resolveUserRef(_0x5708ef);return{'ok':!![],'data':{'user':{'userId':_0x2dae55['userId'],'username':_0x2dae55[_0x275747(0x1bc)],'nickname':_0x2dae55[_0x275747(0x1c6)],'matchedBy':_0x2dae55[_0x275747(0x1b7)]}},'message':_0x275747(0x1c5)+_0x5708ef+_0x275747(0x1b3)+_0x2dae55['userId']};}};
1
+ const a162_0x59b7b1=a162_0x7d19;(function(_0xef55a8,_0x552855){const _0x352ce0=a162_0x7d19,_0x269a1d=_0xef55a8();while(!![]){try{const _0x5086e3=parseInt(_0x352ce0(0x6a))/0x1*(parseInt(_0x352ce0(0x74))/0x2)+-parseInt(_0x352ce0(0x75))/0x3*(-parseInt(_0x352ce0(0x6c))/0x4)+parseInt(_0x352ce0(0x72))/0x5+-parseInt(_0x352ce0(0x70))/0x6+-parseInt(_0x352ce0(0x68))/0x7*(-parseInt(_0x352ce0(0x6d))/0x8)+-parseInt(_0x352ce0(0x7a))/0x9+-parseInt(_0x352ce0(0x78))/0xa;if(_0x5086e3===_0x552855)break;else _0x269a1d['push'](_0x269a1d['shift']());}catch(_0x185798){_0x269a1d['push'](_0x269a1d['shift']());}}}(a162_0x4782,0x6ef30));import{CliErrors}from'../../errors.js';function a162_0x7d19(_0x3f6682,_0x13582b){_0x3f6682=_0x3f6682-0x68;const _0x478226=a162_0x4782();let _0x7d1928=_0x478226[_0x3f6682];return _0x7d1928;}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':'user-resolve','description':'Resolve\x20a\x20nickname/username\x20to\x20a\x20userId\x20(tenant\x20member\x20directory)','risk':a162_0x59b7b1(0x69),'flags':[USER_NAME_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x540acf){const _0x32d304=a162_0x59b7b1;if(!_0x540acf[_0x32d304(0x76)]('name')[_0x32d304(0x73)]())throw CliErrors[_0x32d304(0x6f)](_0x32d304(0x7d),_0x32d304(0x6e));},async 'execute'(_0x49e8fc){const _0xd5eefb=a162_0x59b7b1,_0x4d665d=_0x49e8fc[_0xd5eefb(0x76)](_0xd5eefb(0x7d))[_0xd5eefb(0x73)](),_0x973285=await resolveUserRef(_0x4d665d);return{'ok':!![],'data':{'user':{'userId':_0x973285[_0xd5eefb(0x7c)],'username':_0x973285[_0xd5eefb(0x77)],'nickname':_0x973285[_0xd5eefb(0x71)],'matchedBy':_0x973285[_0xd5eefb(0x79)]}},'message':_0xd5eefb(0x7b)+_0x4d665d+_0xd5eefb(0x6b)+_0x973285['userId']};}};function a162_0x4782(){const _0x56c5b3=['flagMissing','1835364DiYdIp','nickname','2586245ZuBTif','trim','3224EntcvQ','274233cZwGRx','str','username','14045880zrjNeH','matchedBy','1508724aXcJcI','Resolved\x20\x22','userId','name','5634111tHSNbe','read','400oNXFdX','\x22\x20→\x20userId\x20','16xTzDIr','8jRcTeI','Pass\x20--name\x20<nickname|username>.'];a162_0x4782=function(){return _0x56c5b3;};return a162_0x4782();}
@@ -1 +1 @@
1
- const a162_0x73eeeb=a162_0x136c;(function(_0xb4a620,_0x4963a2){const _0x2db335=a162_0x136c,_0xb4dff4=_0xb4a620();while(!![]){try{const _0x237b8e=-parseInt(_0x2db335(0x157))/0x1*(parseInt(_0x2db335(0x14d))/0x2)+-parseInt(_0x2db335(0x16b))/0x3*(parseInt(_0x2db335(0x171))/0x4)+-parseInt(_0x2db335(0x163))/0x5*(parseInt(_0x2db335(0x15b))/0x6)+-parseInt(_0x2db335(0x175))/0x7+parseInt(_0x2db335(0x14c))/0x8*(-parseInt(_0x2db335(0x167))/0x9)+-parseInt(_0x2db335(0x149))/0xa+parseInt(_0x2db335(0x17b))/0xb*(parseInt(_0x2db335(0x140))/0xc);if(_0x237b8e===_0x4963a2)break;else _0xb4dff4['push'](_0xb4dff4['shift']());}catch(_0xb6dd3b){_0xb4dff4['push'](_0xb4dff4['shift']());}}}(a162_0x261c,0x72afa));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([a162_0x73eeeb(0x16a),a162_0x73eeeb(0x164)]);function readPackageScripts(_0x2fb808){const _0xe12604=a162_0x73eeeb,_0x4e291d=resolve(_0x2fb808,'package.json');if(!existsSync(_0x4e291d))return null;try{const _0x166829=JSON[_0xe12604(0x17e)](readFileSync(_0x4e291d,_0xe12604(0x141)));return _0x166829['scripts']??{};}catch{return null;}}function detectPackageManager(_0x146413){const _0x33f941=a162_0x73eeeb;if(existsSync(resolve(_0x146413,_0x33f941(0x159)))||existsSync(resolve(_0x146413,'bun.lock')))return _0x33f941(0x151);if(existsSync(resolve(_0x146413,_0x33f941(0x142))))return _0x33f941(0x148);if(existsSync(resolve(_0x146413,_0x33f941(0x15a))))return _0x33f941(0x14e);return'npm';}function a162_0x136c(_0x4a8d2d,_0x25a34f){_0x4a8d2d=_0x4a8d2d-0x140;const _0x261cf4=a162_0x261c();let _0x136cb4=_0x261cf4[_0x4a8d2d];return _0x136cb4;}async function versionCheck(_0x4d19f0){const _0x165a52=a162_0x73eeeb,_0x454fe8=await checkCliVersion();(_0x454fe8[_0x165a52(0x174)]||_0x454fe8[_0x165a52(0x160)])&&(printCliUpgradeWarning(_0x454fe8),assertCliVersionSupported(_0x454fe8));const _0x50da0a=await checkSdkVersion(_0x4d19f0);if(_0x50da0a[_0x165a52(0x174)])printSdkUpgradeWarning(_0x50da0a);}function spawnScript(_0x57b495,_0x38bf6d,_0x1c387b,_0x1e8c31){return new Promise((_0x445c83,_0x85e18e)=>{const _0x4581f3=a162_0x136c,_0x139cc6=[_0x4581f3(0x15c),_0x38bf6d,..._0x1c387b],_0x5548f1=spawn(_0x57b495,_0x139cc6,{'cwd':_0x1e8c31,'stdio':_0x4581f3(0x153),'shell':!![],'env':{...process.env,'PATH':''+join(_0x1e8c31,_0x4581f3(0x16d),_0x4581f3(0x179))+delimiter+process.env.PATH}});_0x5548f1['on'](_0x4581f3(0x143),_0x3e0d12=>{const _0x3d1c89=_0x4581f3;if(_0x3e0d12===0x0||_0x3e0d12===null)_0x445c83();else _0x85e18e(new Error(_0x57b495+_0x3d1c89(0x173)+_0x38bf6d+_0x3d1c89(0x152)+_0x3e0d12));}),_0x5548f1['on'](_0x4581f3(0x14b),_0x85e18e);});}function spawnViteBuildWatch(_0x1cf76a){return new Promise((_0x204202,_0x47480d)=>{const _0x198ee5=a162_0x136c,_0x2a00ef=spawn('vite',['build',_0x198ee5(0x170)],{'cwd':_0x1cf76a,'stdio':_0x198ee5(0x153),'shell':!![],'env':{...process.env,'PATH':''+join(_0x1cf76a,'node_modules',_0x198ee5(0x179))+delimiter+process.env.PATH}});_0x2a00ef['on']('close',_0x49e58e=>{const _0x507044=_0x198ee5;if(_0x49e58e===0x0||_0x49e58e===null)_0x204202();else _0x47480d(new Error(_0x507044(0x168)+_0x49e58e));}),_0x2a00ef['on'](_0x198ee5(0x14b),_0x47480d);});}function spawnVitePreview(_0x1b6474){return new Promise((_0xcc32ea,_0x291469)=>{const _0x1df550=a162_0x136c,_0x9e7e9f=spawn('vite',[_0x1df550(0x16c)],{'cwd':_0x1b6474,'stdio':_0x1df550(0x153),'shell':!![],'env':{...process.env,'PATH':''+join(_0x1b6474,_0x1df550(0x16d),_0x1df550(0x179))+delimiter+process.env.PATH}});_0x9e7e9f['on'](_0x1df550(0x143),_0xc24cf6=>{const _0x1cc84e=_0x1df550;if(_0xc24cf6===0x0||_0xc24cf6===null)_0xcc32ea();else _0x291469(new Error(_0x1cc84e(0x155)+_0xc24cf6));}),_0x9e7e9f['on'](_0x1df550(0x14b),_0x291469);});}const runFlags=[{'name':a162_0x73eeeb(0x17a),'type':'boolean','description':a162_0x73eeeb(0x146),'default':![]}];export const runDefinition={'service':a162_0x73eeeb(0x15c),'command':a162_0x73eeeb(0x15c),'description':a162_0x73eeeb(0x16f),'risk':a162_0x73eeeb(0x147),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a162_0x73eeeb(0x161),'description':a162_0x73eeeb(0x17c),'required':![]}],'flags':runFlags,'helpExtra':()=>{const _0x5b5a08=a162_0x73eeeb,_0x25c3cc=[];return _0x25c3cc[_0x5b5a08(0x14a)]('\x20\x20EXAMPLES'),_0x25c3cc[_0x5b5a08(0x14a)](_0x5b5a08(0x17f)+CLI_BIN_NAME+_0x5b5a08(0x169)),_0x25c3cc[_0x5b5a08(0x14a)](_0x5b5a08(0x17f)+CLI_BIN_NAME+_0x5b5a08(0x15d)),_0x25c3cc[_0x5b5a08(0x14a)](_0x5b5a08(0x17f)+CLI_BIN_NAME+_0x5b5a08(0x166)),_0x25c3cc[_0x5b5a08(0x14a)](_0x5b5a08(0x17f)+CLI_BIN_NAME+_0x5b5a08(0x145)),_0x25c3cc[_0x5b5a08(0x16e)]('\x0a');},async 'execute'(_0x2583a8){const _0x124b88=a162_0x73eeeb,_0x13a7a7=process[_0x124b88(0x156)](),_0x1d0c94=_0x2583a8[_0x124b88(0x165)][0x0],_0x341d4f=_0x2583a8[_0x124b88(0x165)][_0x124b88(0x178)](0x1),_0x5b404c=readPackageScripts(_0x13a7a7);if(!_0x5b404c)throw CliErrors[_0x124b88(0x15e)](_0x124b88(0x17d));if(!_0x1d0c94){const _0x33e67=Object[_0x124b88(0x177)](_0x5b404c);if(_0x33e67[_0x124b88(0x150)]===0x0)console[_0x124b88(0x15f)](_0x124b88(0x176));else{console[_0x124b88(0x15f)](_0x124b88(0x172));for(const _0x4599ac of _0x33e67){console[_0x124b88(0x15f)](_0x124b88(0x17f)+_0x4599ac);}console[_0x124b88(0x15f)](_0x124b88(0x180)+CLI_BIN_NAME+_0x124b88(0x162));}return{'ok':!![]};}if(!_0x5b404c[_0x1d0c94])throw CliErrors['validation'](_0x124b88(0x14f)+_0x1d0c94+'\x22\x20not\x20found\x20in\x20package.json.','Available:\x20'+(Object['keys'](_0x5b404c)[_0x124b88(0x16e)](',\x20')||_0x124b88(0x154)));const _0x1fa3ec=detectPackageManager(_0x13a7a7);VERSION_CHECK_SCRIPTS[_0x124b88(0x144)](_0x1d0c94)&&await versionCheck(_0x13a7a7);if(_0x1d0c94===_0x124b88(0x16c)&&_0x2583a8[_0x124b88(0x181)](_0x124b88(0x17a)))return await Promise[_0x124b88(0x158)]([spawnViteBuildWatch(_0x13a7a7),spawnVitePreview(_0x13a7a7)]),{'ok':!![]};return await spawnScript(_0x1fa3ec,_0x1d0c94,_0x341d4f,_0x13a7a7),{'ok':!![]};}};function a162_0x261c(){const _0x3354dd=['vite\x20build\x20--watch\x20exited\x20with\x20code\x20','\x20run\x20start','start','109719jQjcIk','preview','node_modules','join','Run\x20a\x20package.json\x20script','--watch','80BinWTZ','\x0a\x20\x20Available\x20scripts:\x0a','\x20run\x20','needsUpgrade','2890195QWpHuG','No\x20scripts\x20defined\x20in\x20package.json.','keys','slice','.bin','watch','22mKLinM','Script\x20name\x20defined\x20in\x20package.json','No\x20package.json\x20found\x20in\x20current\x20directory.','parse','\x20\x20\x20\x20','\x0a\x20\x20Usage:\x20','bool','21460164oftmED','utf-8','pnpm-lock.yaml','close','has','\x20run\x20preview\x20--watch','Enable\x20watch\x20mode\x20for\x20preview','read','pnpm','6426760hceiwq','push','error','16KVhezM','4UPFGZA','yarn','Script\x20\x22','length','bun','\x20exited\x20with\x20code\x20','inherit','(none)','vite\x20preview\x20exited\x20with\x20code\x20','cwd','223577HxLbDp','all','bun.lockb','yarn.lock','25266MukiCB','run','\x20run\x20build','validation','log','belowMinimum','script','\x20run\x20<script>\x0a','905TcpJFK','dev','args','\x20run\x20preview','497583dYFTeW'];a162_0x261c=function(){return _0x3354dd;};return a162_0x261c();}
1
+ const a163_0x18016e=a163_0x5419;function a163_0x5419(_0x3d0a2d,_0x3c8845){_0x3d0a2d=_0x3d0a2d-0x1ee;const _0x3e970f=a163_0x3e97();let _0x541916=_0x3e970f[_0x3d0a2d];return _0x541916;}(function(_0x5785af,_0x2a43a5){const _0x5d1620=a163_0x5419,_0x3afb98=_0x5785af();while(!![]){try{const _0x21b147=-parseInt(_0x5d1620(0x22a))/0x1+-parseInt(_0x5d1620(0x213))/0x2*(parseInt(_0x5d1620(0x22c))/0x3)+-parseInt(_0x5d1620(0x207))/0x4+-parseInt(_0x5d1620(0x208))/0x5*(parseInt(_0x5d1620(0x203))/0x6)+parseInt(_0x5d1620(0x20c))/0x7*(parseInt(_0x5d1620(0x216))/0x8)+-parseInt(_0x5d1620(0x209))/0x9*(-parseInt(_0x5d1620(0x21a))/0xa)+parseInt(_0x5d1620(0x21f))/0xb*(parseInt(_0x5d1620(0x224))/0xc);if(_0x21b147===_0x2a43a5)break;else _0x3afb98['push'](_0x3afb98['shift']());}catch(_0x385e1c){_0x3afb98['push'](_0x3afb98['shift']());}}}(a163_0x3e97,0x5a201));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 a163_0x3e97(){const _0x43c042=['utf-8','\x20run\x20start','belowMinimum','Enable\x20watch\x20mode\x20for\x20preview','all','455598AVUevW','length','9PSMxtR','Script\x20\x22','\x20\x20EXAMPLES','needsUpgrade','inherit','args','package.json','script','error','vite\x20preview\x20exited\x20with\x20code\x20','\x22\x20not\x20found\x20in\x20package.json.','\x20run\x20','boolean','vite\x20build\x20--watch\x20exited\x20with\x20code\x20','close','\x20run\x20<script>\x0a','bun.lockb','read','watch','\x20exited\x20with\x20code\x20','\x0a\x20\x20Usage:\x20','\x20\x20\x20\x20','node_modules','--watch','6tcvItQ','keys','run','yarn','103496RBaTre','2397265PGBqAk','1971Mdfrsn','build','\x0a\x20\x20Available\x20scripts:\x0a','734629qyjtOk','No\x20package.json\x20found\x20in\x20current\x20directory.','(none)','\x20run\x20preview\x20--watch','Available:\x20','push','join','435028wxQGKI','No\x20scripts\x20defined\x20in\x20package.json.','bool','24ynELXJ','\x20run\x20preview','cwd','preview','22040gbAxuw','.bin','has','bun.lock','pnpm-lock.yaml','11EgVbGU','log','validation','dev','bun','14221236WJhSCF'];a163_0x3e97=function(){return _0x43c042;};return a163_0x3e97();}const VERSION_CHECK_SCRIPTS=new Set(['start',a163_0x18016e(0x222)]);function readPackageScripts(_0xf2f4aa){const _0x27e84d=a163_0x18016e,_0x2339b1=resolve(_0xf2f4aa,_0x27e84d(0x1f1));if(!existsSync(_0x2339b1))return null;try{const _0x43d673=JSON['parse'](readFileSync(_0x2339b1,_0x27e84d(0x225)));return _0x43d673['scripts']??{};}catch{return null;}}function detectPackageManager(_0x568ffd){const _0x15c064=a163_0x18016e;if(existsSync(resolve(_0x568ffd,_0x15c064(0x1fb)))||existsSync(resolve(_0x568ffd,_0x15c064(0x21d))))return _0x15c064(0x223);if(existsSync(resolve(_0x568ffd,_0x15c064(0x21e))))return'pnpm';if(existsSync(resolve(_0x568ffd,'yarn.lock')))return _0x15c064(0x206);return'npm';}async function versionCheck(_0x215f26){const _0x4b22d8=a163_0x18016e,_0x901eec=await checkCliVersion();(_0x901eec[_0x4b22d8(0x1ee)]||_0x901eec[_0x4b22d8(0x227)])&&(printCliUpgradeWarning(_0x901eec),assertCliVersionSupported(_0x901eec));const _0x20db39=await checkSdkVersion(_0x215f26);if(_0x20db39[_0x4b22d8(0x1ee)])printSdkUpgradeWarning(_0x20db39);}function spawnScript(_0x75e1c8,_0x11b085,_0x588b92,_0x56b9b6){return new Promise((_0x43507a,_0x3ff79e)=>{const _0x5bc7be=a163_0x5419,_0xfbdb95=['run',_0x11b085,..._0x588b92],_0x5c4350=spawn(_0x75e1c8,_0xfbdb95,{'cwd':_0x56b9b6,'stdio':_0x5bc7be(0x1ef),'shell':!![],'env':{...process.env,'PATH':''+join(_0x56b9b6,_0x5bc7be(0x201),_0x5bc7be(0x21b))+delimiter+process.env.PATH}});_0x5c4350['on'](_0x5bc7be(0x1f9),_0x7305ca=>{const _0x281d62=_0x5bc7be;if(_0x7305ca===0x0||_0x7305ca===null)_0x43507a();else _0x3ff79e(new Error(_0x75e1c8+_0x281d62(0x1f6)+_0x11b085+_0x281d62(0x1fe)+_0x7305ca));}),_0x5c4350['on'](_0x5bc7be(0x1f3),_0x3ff79e);});}function spawnViteBuildWatch(_0x47ee75){return new Promise((_0x3555e3,_0x24597d)=>{const _0x4f5590=a163_0x5419,_0x23cc8f=spawn('vite',[_0x4f5590(0x20a),_0x4f5590(0x202)],{'cwd':_0x47ee75,'stdio':_0x4f5590(0x1ef),'shell':!![],'env':{...process.env,'PATH':''+join(_0x47ee75,_0x4f5590(0x201),_0x4f5590(0x21b))+delimiter+process.env.PATH}});_0x23cc8f['on'](_0x4f5590(0x1f9),_0x18a157=>{const _0x2794d2=_0x4f5590;if(_0x18a157===0x0||_0x18a157===null)_0x3555e3();else _0x24597d(new Error(_0x2794d2(0x1f8)+_0x18a157));}),_0x23cc8f['on'](_0x4f5590(0x1f3),_0x24597d);});}function spawnVitePreview(_0x57a18d){return new Promise((_0x25ee0a,_0x4b635b)=>{const _0x391683=a163_0x5419,_0x3e755a=spawn('vite',[_0x391683(0x219)],{'cwd':_0x57a18d,'stdio':_0x391683(0x1ef),'shell':!![],'env':{...process.env,'PATH':''+join(_0x57a18d,_0x391683(0x201),_0x391683(0x21b))+delimiter+process.env.PATH}});_0x3e755a['on'](_0x391683(0x1f9),_0x23a25e=>{const _0x5928ae=_0x391683;if(_0x23a25e===0x0||_0x23a25e===null)_0x25ee0a();else _0x4b635b(new Error(_0x5928ae(0x1f4)+_0x23a25e));}),_0x3e755a['on']('error',_0x4b635b);});}const runFlags=[{'name':'watch','type':a163_0x18016e(0x1f7),'description':a163_0x18016e(0x228),'default':![]}];export const runDefinition={'service':a163_0x18016e(0x205),'command':a163_0x18016e(0x205),'description':'Run\x20a\x20package.json\x20script','risk':a163_0x18016e(0x1fc),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a163_0x18016e(0x1f2),'description':'Script\x20name\x20defined\x20in\x20package.json','required':![]}],'flags':runFlags,'helpExtra':()=>{const _0x47cc65=a163_0x18016e,_0x16ba76=[];return _0x16ba76[_0x47cc65(0x211)](_0x47cc65(0x22e)),_0x16ba76[_0x47cc65(0x211)](_0x47cc65(0x200)+CLI_BIN_NAME+_0x47cc65(0x226)),_0x16ba76[_0x47cc65(0x211)](_0x47cc65(0x200)+CLI_BIN_NAME+'\x20run\x20build'),_0x16ba76[_0x47cc65(0x211)](_0x47cc65(0x200)+CLI_BIN_NAME+_0x47cc65(0x217)),_0x16ba76['push'](_0x47cc65(0x200)+CLI_BIN_NAME+_0x47cc65(0x20f)),_0x16ba76[_0x47cc65(0x212)]('\x0a');},async 'execute'(_0x4f5a08){const _0x3d4d25=a163_0x18016e,_0x39377c=process[_0x3d4d25(0x218)](),_0x496a68=_0x4f5a08[_0x3d4d25(0x1f0)][0x0],_0x2ff955=_0x4f5a08['args']['slice'](0x1),_0x25761c=readPackageScripts(_0x39377c);if(!_0x25761c)throw CliErrors[_0x3d4d25(0x221)](_0x3d4d25(0x20d));if(!_0x496a68){const _0x2180eb=Object[_0x3d4d25(0x204)](_0x25761c);if(_0x2180eb[_0x3d4d25(0x22b)]===0x0)console[_0x3d4d25(0x220)](_0x3d4d25(0x214));else{console[_0x3d4d25(0x220)](_0x3d4d25(0x20b));for(const _0x434886 of _0x2180eb){console[_0x3d4d25(0x220)](_0x3d4d25(0x200)+_0x434886);}console[_0x3d4d25(0x220)](_0x3d4d25(0x1ff)+CLI_BIN_NAME+_0x3d4d25(0x1fa));}return{'ok':!![]};}if(!_0x25761c[_0x496a68])throw CliErrors[_0x3d4d25(0x221)](_0x3d4d25(0x22d)+_0x496a68+_0x3d4d25(0x1f5),_0x3d4d25(0x210)+(Object[_0x3d4d25(0x204)](_0x25761c)[_0x3d4d25(0x212)](',\x20')||_0x3d4d25(0x20e)));const _0x737142=detectPackageManager(_0x39377c);VERSION_CHECK_SCRIPTS[_0x3d4d25(0x21c)](_0x496a68)&&await versionCheck(_0x39377c);if(_0x496a68===_0x3d4d25(0x219)&&_0x4f5a08[_0x3d4d25(0x215)](_0x3d4d25(0x1fd)))return await Promise[_0x3d4d25(0x229)]([spawnViteBuildWatch(_0x39377c),spawnVitePreview(_0x39377c)]),{'ok':!![]};return await spawnScript(_0x737142,_0x496a68,_0x2ff955,_0x39377c),{'ok':!![]};}};
@@ -1 +1 @@
1
- const a163_0xdc77b7=a163_0x3822;(function(_0x54f659,_0x1b77c1){const _0x3efe46=a163_0x3822,_0x45f972=_0x54f659();while(!![]){try{const _0x3672e2=parseInt(_0x3efe46(0x127))/0x1+-parseInt(_0x3efe46(0x11a))/0x2*(parseInt(_0x3efe46(0x125))/0x3)+-parseInt(_0x3efe46(0x11d))/0x4*(-parseInt(_0x3efe46(0x121))/0x5)+parseInt(_0x3efe46(0x11e))/0x6*(parseInt(_0x3efe46(0x129))/0x7)+parseInt(_0x3efe46(0x11b))/0x8*(-parseInt(_0x3efe46(0x123))/0x9)+parseInt(_0x3efe46(0x119))/0xa*(-parseInt(_0x3efe46(0x11f))/0xb)+-parseInt(_0x3efe46(0x126))/0xc*(parseInt(_0x3efe46(0x122))/0xd);if(_0x3672e2===_0x1b77c1)break;else _0x45f972['push'](_0x45f972['shift']());}catch(_0x3260e2){_0x45f972['push'](_0x45f972['shift']());}}}(a163_0x1b8a,0x319aa));function a163_0x1b8a(){const _0x2e2077=['Export\x20machine-readable\x20command\x20schema\x20(JSON)','1370204TreMuW','6LYyvwU','2301046GignrQ','read','5HWBLTN','61217hqjPim','713799LNHTCb','export','466881AZwtOd','60RxuifZ','188788TMvNHh','schema','976556XDdikz','10pSUBLz','2MaVPza','8pGmIeg'];a163_0x1b8a=function(){return _0x2e2077;};return a163_0x1b8a();}function a163_0x3822(_0x3b0c96,_0x252317){_0x3b0c96=_0x3b0c96-0x119;const _0x1b8a99=a163_0x1b8a();let _0x38224f=_0x1b8a99[_0x3b0c96];return _0x38224f;}import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x924fbb){const _0x172860=await buildSchemaPayload();return{'ok':!![],'data':_0x172860};}export const schemaDefinition={'service':a163_0xdc77b7(0x128),'command':a163_0xdc77b7(0x124),'description':a163_0xdc77b7(0x11c),'risk':a163_0xdc77b7(0x120),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':'json','flags':[],'execute':execute};
1
+ function a164_0x2b16(){const _0x40640f=['2xtiJmx','262103BHgcIh','2175PXvOeG','json','read','16hcPKfa','27243yqYaWC','schema','6936589DJKJpu','49JGjMHO','2851641Edwnwq','206072fEtWlP','4625100WBbCIg','2304nlfapu'];a164_0x2b16=function(){return _0x40640f;};return a164_0x2b16();}function a164_0x42e4(_0x2a4c5f,_0x1f5c04){_0x2a4c5f=_0x2a4c5f-0x101;const _0x2b16e6=a164_0x2b16();let _0x42e473=_0x2b16e6[_0x2a4c5f];return _0x42e473;}const a164_0x15b9e5=a164_0x42e4;(function(_0x5050c4,_0x431574){const _0xf03f2f=a164_0x42e4,_0x58fefa=_0x5050c4();while(!![]){try{const _0x2b6bf1=parseInt(_0xf03f2f(0x105))/0x1*(parseInt(_0xf03f2f(0x104))/0x2)+-parseInt(_0xf03f2f(0x10a))/0x3*(-parseInt(_0xf03f2f(0x109))/0x4)+parseInt(_0xf03f2f(0x106))/0x5*(parseInt(_0xf03f2f(0x103))/0x6)+-parseInt(_0xf03f2f(0x10d))/0x7*(parseInt(_0xf03f2f(0x101))/0x8)+parseInt(_0xf03f2f(0x10e))/0x9+parseInt(_0xf03f2f(0x102))/0xa+-parseInt(_0xf03f2f(0x10c))/0xb;if(_0x2b6bf1===_0x431574)break;else _0x58fefa['push'](_0x58fefa['shift']());}catch(_0x3e87f1){_0x58fefa['push'](_0x58fefa['shift']());}}}(a164_0x2b16,0x69efa));import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x101906){const _0xbe8f07=await buildSchemaPayload();return{'ok':!![],'data':_0xbe8f07};}export const schemaDefinition={'service':a164_0x15b9e5(0x10b),'command':'export','description':'Export\x20machine-readable\x20command\x20schema\x20(JSON)','risk':a164_0x15b9e5(0x108),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':a164_0x15b9e5(0x107),'flags':[],'execute':execute};