@lovrabet/rabetbase-cli 2.4.2 → 2.4.3

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 (294) 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/index.js +1 -1
  20. package/lib/commands/app/list.js +1 -1
  21. package/lib/commands/app/members-list.js +1 -1
  22. package/lib/commands/app/remote-directory.js +1 -1
  23. package/lib/commands/app/shared.js +1 -1
  24. package/lib/commands/app-config/delete.js +1 -1
  25. package/lib/commands/app-config/get.js +1 -1
  26. package/lib/commands/app-config/index.js +1 -1
  27. package/lib/commands/app-config/list.js +1 -1
  28. package/lib/commands/app-config/set.js +1 -1
  29. package/lib/commands/app-config/shared.js +1 -1
  30. package/lib/commands/auth/index.js +1 -1
  31. package/lib/commands/bff/create.js +1 -1
  32. package/lib/commands/bff/delete.js +1 -1
  33. package/lib/commands/bff/detail.js +1 -1
  34. package/lib/commands/bff/index.js +1 -1
  35. package/lib/commands/bff/list.js +1 -1
  36. package/lib/commands/bff/pull.js +1 -1
  37. package/lib/commands/bff/push.js +1 -1
  38. package/lib/commands/bff/status.js +1 -1
  39. package/lib/commands/cli-skill/index.js +1 -1
  40. package/lib/commands/cli-update.js +1 -1
  41. package/lib/commands/codegen/index.js +1 -1
  42. package/lib/commands/codegen/sdk.js +1 -1
  43. package/lib/commands/codegen/sql.js +1 -1
  44. package/lib/commands/common/app-registry.js +1 -1
  45. package/lib/commands/common/app-selector.js +1 -1
  46. package/lib/commands/common/async-task.js +1 -1
  47. package/lib/commands/common/dry-run.js +1 -1
  48. package/lib/commands/common/flags.js +1 -1
  49. package/lib/commands/common/local-file.js +1 -1
  50. package/lib/commands/common/validate.js +1 -1
  51. package/lib/commands/config/get.js +1 -1
  52. package/lib/commands/config/index.js +1 -1
  53. package/lib/commands/config/list.js +1 -1
  54. package/lib/commands/config/set.js +1 -1
  55. package/lib/commands/config/shared.js +1 -1
  56. package/lib/commands/data/filter.js +1 -1
  57. package/lib/commands/data/getOne.js +1 -1
  58. package/lib/commands/data/index.js +1 -1
  59. package/lib/commands/data/shared.js +1 -1
  60. package/lib/commands/dataset/business-group-update.js +1 -1
  61. package/lib/commands/dataset/capability.js +1 -1
  62. package/lib/commands/dataset/delete.js +1 -1
  63. package/lib/commands/dataset/detail.js +1 -1
  64. package/lib/commands/dataset/extend-update.js +1 -1
  65. package/lib/commands/dataset/field-update.js +1 -1
  66. package/lib/commands/dataset/generate.js +1 -1
  67. package/lib/commands/dataset/index.js +1 -1
  68. package/lib/commands/dataset/list.js +1 -1
  69. package/lib/commands/dataset/operations.js +1 -1
  70. package/lib/commands/dataset/relation-audit.js +1 -1
  71. package/lib/commands/dataset/relation-create.js +1 -1
  72. package/lib/commands/dataset/relation-delete.js +1 -1
  73. package/lib/commands/dataset/relation-shared.js +1 -1
  74. package/lib/commands/dataset/relation-update.js +1 -1
  75. package/lib/commands/dataset/relations.js +1 -1
  76. package/lib/commands/dataset/rename.js +1 -1
  77. package/lib/commands/dataset/restore.js +1 -1
  78. package/lib/commands/db/analysis-batching.js +1 -1
  79. package/lib/commands/db/analyze-batch-plan.js +1 -1
  80. package/lib/commands/db/analyze-cancel.js +1 -1
  81. package/lib/commands/db/analyze-start.js +1 -1
  82. package/lib/commands/db/analyze-status.js +1 -1
  83. package/lib/commands/db/create.js +1 -1
  84. package/lib/commands/db/delete.js +1 -1
  85. package/lib/commands/db/detail.js +1 -1
  86. package/lib/commands/db/diff.js +1 -1
  87. package/lib/commands/db/index.js +1 -1
  88. package/lib/commands/db/list.js +1 -1
  89. package/lib/commands/db/shared.js +1 -1
  90. package/lib/commands/db/tables.js +1 -1
  91. package/lib/commands/db/test.js +1 -1
  92. package/lib/commands/db/update.js +1 -1
  93. package/lib/commands/doctor.js +1 -1
  94. package/lib/commands/file/index.js +1 -1
  95. package/lib/commands/init/index.js +1 -1
  96. package/lib/commands/issue/index.js +1 -1
  97. package/lib/commands/issue/nudge.js +1 -1
  98. package/lib/commands/issue/report.js +1 -1
  99. package/lib/commands/issue/shared.js +1 -1
  100. package/lib/commands/kb/create.js +1 -1
  101. package/lib/commands/kb/delete.js +1 -1
  102. package/lib/commands/kb/detail.js +1 -1
  103. package/lib/commands/kb/index.js +1 -1
  104. package/lib/commands/kb/list.js +1 -1
  105. package/lib/commands/kb/shared.js +1 -1
  106. package/lib/commands/kb/update.js +1 -1
  107. package/lib/commands/logs/index.js +1 -1
  108. package/lib/commands/menu/asset-update.js +1 -1
  109. package/lib/commands/menu/delete.js +1 -1
  110. package/lib/commands/menu/external-link-create.js +1 -1
  111. package/lib/commands/menu/external-link-update.js +1 -1
  112. package/lib/commands/menu/group-create.js +1 -1
  113. package/lib/commands/menu/group-update.js +1 -1
  114. package/lib/commands/menu/index.js +1 -1
  115. package/lib/commands/menu/list.js +1 -1
  116. package/lib/commands/menu/move.js +1 -1
  117. package/lib/commands/menu/regroup-start.js +1 -1
  118. package/lib/commands/menu/rename.js +1 -1
  119. package/lib/commands/menu/shared/compare-table.js +1 -1
  120. package/lib/commands/menu/shared/delete-plan.js +1 -1
  121. package/lib/commands/menu/shared/facts.js +1 -1
  122. package/lib/commands/menu/shared/index.js +1 -1
  123. package/lib/commands/menu/shared/inquirer.js +1 -1
  124. package/lib/commands/menu/shared/local-pages.js +1 -1
  125. package/lib/commands/menu/shared/logic.js +1 -1
  126. package/lib/commands/menu/shared/mutations.js +1 -1
  127. package/lib/commands/menu/shared/service.js +1 -1
  128. package/lib/commands/menu/shared/sync-core.js +1 -1
  129. package/lib/commands/menu/shared/update-core.js +1 -1
  130. package/lib/commands/menu/shared/valid-url.js +1 -1
  131. package/lib/commands/menu/sync.js +1 -1
  132. package/lib/commands/notification/config-list.js +1 -1
  133. package/lib/commands/notification/index.js +1 -1
  134. package/lib/commands/ocr/index.js +1 -1
  135. package/lib/commands/page/generate-start.js +1 -1
  136. package/lib/commands/page/generate-status.js +1 -1
  137. package/lib/commands/page/index.js +1 -1
  138. package/lib/commands/page/pull.js +1 -1
  139. package/lib/commands/page/push.js +1 -1
  140. package/lib/commands/page/react/create.js +1 -1
  141. package/lib/commands/page/react/detail.js +1 -1
  142. package/lib/commands/page/react/list.js +1 -1
  143. package/lib/commands/page/react/publish.js +1 -1
  144. package/lib/commands/page/react/shared.js +1 -1
  145. package/lib/commands/page/react/syntax.js +1 -1
  146. package/lib/commands/page/react/template.js +1 -1
  147. package/lib/commands/page/react/update.js +1 -1
  148. package/lib/commands/page/relation-audit.js +1 -1
  149. package/lib/commands/page/restore.js +1 -1
  150. package/lib/commands/page/shared.js +1 -1
  151. package/lib/commands/page/standard-page-status.js +1 -1
  152. package/lib/commands/page/sync.js +1 -1
  153. package/lib/commands/permit/index.js +1 -1
  154. package/lib/commands/permit/page-get.js +1 -1
  155. package/lib/commands/permit/page-set.js +1 -1
  156. package/lib/commands/permit/role-apis-set.js +1 -1
  157. package/lib/commands/permit/role-menus-set.js +1 -1
  158. package/lib/commands/permit/role-menus.js +1 -1
  159. package/lib/commands/permit/shared.js +1 -1
  160. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  161. package/lib/commands/project/create/format-elapsed.js +1 -1
  162. package/lib/commands/project/create/main.js +1 -1
  163. package/lib/commands/project/create/non-interactive.js +1 -1
  164. package/lib/commands/project/create/project-template-path.js +1 -1
  165. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  166. package/lib/commands/project/create/use-format-code.js +1 -1
  167. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  168. package/lib/commands/project/index.js +1 -1
  169. package/lib/commands/project/upgrade.js +1 -1
  170. package/lib/commands/registry.js +1 -1
  171. package/lib/commands/role/create.js +1 -1
  172. package/lib/commands/role/delete.js +1 -1
  173. package/lib/commands/role/detail.js +1 -1
  174. package/lib/commands/role/index.js +1 -1
  175. package/lib/commands/role/list.js +1 -1
  176. package/lib/commands/role/shared.js +1 -1
  177. package/lib/commands/role/update.js +1 -1
  178. package/lib/commands/role/user-add.js +1 -1
  179. package/lib/commands/role/user-remove.js +1 -1
  180. package/lib/commands/role/user-resolve.js +1 -1
  181. package/lib/commands/run/index.js +1 -1
  182. package/lib/commands/schema.js +1 -1
  183. package/lib/commands/sql/create.js +1 -1
  184. package/lib/commands/sql/delete.js +1 -1
  185. package/lib/commands/sql/detail.js +1 -1
  186. package/lib/commands/sql/exec.js +1 -1
  187. package/lib/commands/sql/index.js +1 -1
  188. package/lib/commands/sql/list.js +1 -1
  189. package/lib/commands/sql/pull.js +1 -1
  190. package/lib/commands/sql/push.js +1 -1
  191. package/lib/commands/sql/shared.js +1 -1
  192. package/lib/commands/sql/status.js +1 -1
  193. package/lib/commands/sql/validate.js +1 -1
  194. package/lib/commands/task/index.js +1 -1
  195. package/lib/commands/task/status.js +1 -1
  196. package/lib/commands/tenant/index.js +1 -1
  197. package/lib/commands/tenant/members-list.js +1 -1
  198. package/lib/commands/tenant/shared.js +1 -1
  199. package/lib/commands/user-account/dingding-sandbox-bind.js +1 -1
  200. package/lib/commands/user-account/index.js +1 -1
  201. package/lib/commands/workspace/add.js +1 -1
  202. package/lib/commands/workspace/index.js +1 -1
  203. package/lib/commands/workspace/remove.js +1 -1
  204. package/lib/config/schema.js +1 -1
  205. package/lib/constant/cdn.js +1 -1
  206. package/lib/constant/cli.js +1 -1
  207. package/lib/constant/defaults.js +1 -1
  208. package/lib/constant/domain.js +1 -1
  209. package/lib/constant/env.js +1 -1
  210. package/lib/constant/output.js +1 -1
  211. package/lib/constant/paths.js +1 -1
  212. package/lib/constant/risk.js +1 -1
  213. package/lib/context/app-resolver.js +1 -1
  214. package/lib/context/auth-resolver.js +1 -1
  215. package/lib/context/config-loader.js +1 -1
  216. package/lib/context.js +1 -1
  217. package/lib/core/alias-resolver.js +1 -1
  218. package/lib/core/api-client.js +1 -1
  219. package/lib/core/bff/config.js +1 -1
  220. package/lib/core/bff/file-system.js +1 -1
  221. package/lib/core/bff/hash.js +1 -1
  222. package/lib/core/bff/lock.js +1 -1
  223. package/lib/core/bff/utils.js +1 -1
  224. package/lib/core/db-resolver.js +1 -1
  225. package/lib/core/page/file-system.js +1 -1
  226. package/lib/core/page/hash.js +1 -1
  227. package/lib/core/page/lock.js +1 -1
  228. package/lib/core/sql-index-auditor.js +1 -1
  229. package/lib/core/sql-sync/config.js +1 -1
  230. package/lib/core/sql-sync/file-system.js +1 -1
  231. package/lib/core/sql-sync/hash.js +1 -1
  232. package/lib/core/sql-sync/lock.js +1 -1
  233. package/lib/core/sql-sync/utils.js +1 -1
  234. package/lib/core/sql-validator.js +1 -1
  235. package/lib/errors.js +1 -1
  236. package/lib/framework/build-all-flags.js +1 -1
  237. package/lib/framework/error-output.js +1 -1
  238. package/lib/framework/explicit-yes.js +1 -1
  239. package/lib/framework/flags.js +1 -1
  240. package/lib/framework/help.js +1 -1
  241. package/lib/framework/index.js +1 -1
  242. package/lib/framework/output.js +1 -1
  243. package/lib/framework/response.js +1 -1
  244. package/lib/framework/runner-alias.js +1 -1
  245. package/lib/framework/runner.js +1 -1
  246. package/lib/framework/schema-export.js +1 -1
  247. package/lib/framework/types.js +1 -1
  248. package/lib/generated/build-info.d.ts +4 -4
  249. package/lib/generated/build-info.js +1 -1
  250. package/lib/help.js +1 -1
  251. package/lib/postinstall.js +1 -1
  252. package/lib/runtime/confirmation.js +1 -1
  253. package/lib/runtime/event.js +1 -1
  254. package/lib/runtime/index.js +1 -1
  255. package/lib/runtime/queue.js +1 -1
  256. package/lib/runtime/resolve.js +1 -1
  257. package/lib/skills/builtin-skill.js +1 -1
  258. package/lib/skills/main.js +1 -1
  259. package/lib/skills/npx-skills-add.js +1 -1
  260. package/lib/skills/skill-presence.js +1 -1
  261. package/lib/telemetry/cli-command-trace.js +1 -1
  262. package/lib/telemetry/cli-help-trace.js +1 -1
  263. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  264. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  265. package/lib/telemetry/send-cli-trace-log.js +1 -1
  266. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  267. package/lib/utils/ai_config.js +1 -1
  268. package/lib/utils/apply-jq-filter.js +1 -1
  269. package/lib/utils/cdn-config.js +1 -1
  270. package/lib/utils/check-sdk-version.js +1 -1
  271. package/lib/utils/cli-version-check.js +1 -1
  272. package/lib/utils/cli-version-policy.js +1 -1
  273. package/lib/utils/config.js +1 -1
  274. package/lib/utils/copy-directory.js +1 -1
  275. package/lib/utils/entity-with-id.js +1 -1
  276. package/lib/utils/file-utils.js +1 -1
  277. package/lib/utils/guides-cdn.js +1 -1
  278. package/lib/utils/http-client.js +1 -1
  279. package/lib/utils/is-non-interactive.js +1 -1
  280. package/lib/utils/logger.js +1 -1
  281. package/lib/utils/params.js +1 -1
  282. package/lib/utils/platform.js +1 -1
  283. package/lib/utils/rules-cdn.js +1 -1
  284. package/lib/utils/sleep.js +1 -1
  285. package/lib/utils/template-replacer.js +1 -1
  286. package/lib/utils/update-notice.js +1 -1
  287. package/lib/utils/version.js +1 -1
  288. package/lib/utils/with-active-cookie.js +1 -1
  289. package/lib/utils/write-cli-side-channel.js +1 -1
  290. package/package.json +8 -4
  291. package/skills/rabetbase/SKILL.md +1 -1
  292. package/skills/rabetbase/guides/react-custom-page-workflow.md +9 -3
  293. package/skills/rabetbase/knowledge/react-page/generation-standards.md +13 -2
  294. package/skills/rabetbase.manifest.json +3 -3
@@ -1 +1 @@
1
- const a169_0x2d3c50=a169_0x2d0c;(function(_0x1cf8cb,_0x3cccb5){const _0x4f720e=a169_0x2d0c,_0xa5d4a0=_0x1cf8cb();while(!![]){try{const _0x193ab9=parseInt(_0x4f720e(0xaa))/0x1+-parseInt(_0x4f720e(0xd9))/0x2+parseInt(_0x4f720e(0xd6))/0x3*(parseInt(_0x4f720e(0x114))/0x4)+parseInt(_0x4f720e(0xb6))/0x5+-parseInt(_0x4f720e(0xab))/0x6+parseInt(_0x4f720e(0xf2))/0x7*(parseInt(_0x4f720e(0xf0))/0x8)+-parseInt(_0x4f720e(0xa2))/0x9*(parseInt(_0x4f720e(0xe6))/0xa);if(_0x193ab9===_0x3cccb5)break;else _0xa5d4a0['push'](_0xa5d4a0['shift']());}catch(_0x261837){_0xa5d4a0['push'](_0xa5d4a0['shift']());}}}(a169_0x1ed6,0x716b2));import a169_0xda8879 from'chalk';function a169_0x1ed6(){const _0x299f92=['@lovrabet/sdk','Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.','step','oldArtifacts','===\x20Upgrade\x20Analysis\x20===','No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.','lovrabet/rabetbase\x20installed\x20globally','\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak','isDirectory','Step\x202/7:\x20.lovrabet/\x20directory\x20removed','\x20\x20\x20\x20\x20\x20\x20','bold','190mkfTLm','.bak','@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.','Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped','red','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','not\x20found\x20or\x20already\x20at\x20latest','Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','oldPath','\x20→\x20latest','1497416WdDPSv','\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`','28msXrjU','start','skipped\x20(no\x20legacy\x20config)','keys','no\x20legacy\x20config\x20found','yes','error','detail','Remove\x20legacy\x20artifacts','Remove\x20old\x20skill','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','succeed','Remove\x20.lovrabet/','green','Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20','not\x20found\x20(will\x20create)','failed','values','@lovrabet/dataset-mcp-server','lovrabet/lovrabet-skill\x20removed','FOUND','\x20\x20New\x20config\x20(.rabetbase.json):\x20','Proceed\x20with\x20upgrade?','needed','object','stringify','Clean\x20MCP\x20config','done','hasNewConfig','gray','includes','Config\x20migration','\x20→\x20','fail','39892skzYpk','Install\x20new\x20skill','files','Step\x201/7:\x20Migrating\x20config...','latest','some','removed\x20','isArray','cyan','cwd','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','utf8','mcpServers','MCP\x20config:','entries','args','oldMcpConfig','Upgrade\x20@lovrabet/sdk','yellow','\x20\x20#\x20or','407529odQSdx','configMigration','Step\x204/7:\x20MCP\x20config\x20—\x20','Step\x201/7:\x20Config\x20migration\x20—\x20','Step\x206/7:\x20Installing\x20new\x20skill...','label','exit\x20','none\x20found','909800xQJjUW','5096562AkPwyD','log','Legacy\x20artifacts:','\x20from\x20','status','Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','dependencies','Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','\x20removed','not\x20needed','Step\x204/7:\x20Cleaning\x20MCP\x20config...','2451105bjDGje','undefined','package.json','string','info','parse','no\x20matching\x20entry\x20found','skipped','length','.cursor/rules/lovrabet_rules.mdc','already\x20exists\x20(will\x20merge)','Config\x20file:','\x20\x20Action:\x20delete','filter','Upgrade\x20cancelled.','Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20','white','@lovrabet/sdk:','\x20\x20Fields\x20to\x20migrate:\x20','\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server','Skill\x20swap:','path','join','push','.lovrabet','\x20removed\x20(','message','Upgrade\x20completed\x20successfully!','\x20→\x20keys:\x20','Step\x203/7:\x20Legacy\x20artifacts\x20—\x20','\x20(backup:\x20','.cursor/mcp.json','9VrpvkS','sdkUpgrade','\x20\x20Current\x20version\x20in\x20','8640SZXCJP'];a169_0x1ed6=function(){return _0x299f92;};return a169_0x1ed6();}import a169_0x4d3d07 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[a169_0x2d3c50(0xc3)](_0x890f1a=>_0x890f1a!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x2b74cd){const _0x20e407=a169_0x2d3c50,_0x40de9e=[];for(const _0x2db570 of Object[_0x20e407(0x103)](CORE_IDE_CONFIGS)){if(_0x2db570[_0x20e407(0x116)])for(const _0x1e8930 of _0x2db570[_0x20e407(0x116)]){_0x40de9e[_0x20e407(0xcd)](resolve(_0x2b74cd,_0x1e8930[_0x20e407(0xcb)]));}}return _0x40de9e;}function a169_0x2d0c(_0x265fb8,_0x23eab6){_0x265fb8=_0x265fb8-0x98;const _0x1ed65e=a169_0x1ed6();let _0x2d0c70=_0x1ed65e[_0x265fb8];return _0x2d0c70;}function analyse(_0x388070){const _0x3abc9f=a169_0x2d3c50;let _0x5c1bb0=null;const _0x2dafb2=resolve(_0x388070,NEW_CONFIG_NAME),_0x4515fe=existsSync(_0x2dafb2);for(const _0x346fb3 of LEGACY_CONFIG_NAMES){const _0x4accb3=resolve(_0x388070,_0x346fb3);if(existsSync(_0x4accb3)){const _0x31eb7a=readConfigFile(_0x4accb3),_0x9cf20e=Object[_0x3abc9f(0xf5)](_0x31eb7a)[_0x3abc9f(0xc3)](_0x15d3a2=>typeof _0x31eb7a[_0x15d3a2]!==_0x3abc9f(0xb7));_0x5c1bb0={'oldPath':_0x4accb3,'hasNewConfig':_0x4515fe,'fields':_0x9cf20e};break;}}const _0x2584bc=[],_0x6d9a63=resolve(_0x388070,_0x3abc9f(0xce));if(existsSync(_0x6d9a63))_0x2584bc[_0x3abc9f(0xcd)](_0x6d9a63);const _0x23a1c3=resolve(_0x388070,_0x3abc9f(0xbf));if(existsSync(_0x23a1c3))_0x2584bc['push'](_0x23a1c3);const _0x1f65d7=resolve(_0x388070,'.claude/skills/lovrabet');if(existsSync(_0x1f65d7))_0x2584bc[_0x3abc9f(0xcd)](_0x1f65d7);for(const _0xd22b3d of collectIdeSkillFiles(_0x388070)){if(existsSync(_0xd22b3d))_0x2584bc[_0x3abc9f(0xcd)](_0xd22b3d);}let _0x379b75=null;const _0x2406be=resolve(_0x388070,_0x3abc9f(0xd5));if(existsSync(_0x2406be))try{const _0x11ca41=JSON[_0x3abc9f(0xbb)](readFileSync(_0x2406be,'utf8'));if(_0x11ca41?.[_0x3abc9f(0x9a)]&&typeof _0x11ca41[_0x3abc9f(0x9a)]==='object'){const _0x174271=[];for(const [_0x45b278,_0x2b2a24]of Object[_0x3abc9f(0x9c)](_0x11ca41[_0x3abc9f(0x9a)])){const _0x19f421=_0x2b2a24;_0x19f421?.[_0x3abc9f(0x9d)]&&Array[_0x3abc9f(0x11b)](_0x19f421[_0x3abc9f(0x9d)])&&_0x19f421[_0x3abc9f(0x9d)][_0x3abc9f(0x119)](_0x3ff515=>typeof _0x3ff515===_0x3abc9f(0xb9)&&_0x3ff515[_0x3abc9f(0x110)](_0x3abc9f(0x104)))&&_0x174271[_0x3abc9f(0xcd)](_0x45b278);}_0x174271[_0x3abc9f(0xbe)]>0x0&&(_0x379b75={'path':_0x2406be,'keys':_0x174271});}}catch{}const _0x395fe2=_0x2584bc[_0x3abc9f(0xbe)]>0x0||_0x5c1bb0!==null;let _0x51a648=null;const _0x1c35c1=resolve(_0x388070,_0x3abc9f(0xb8));if(existsSync(_0x1c35c1))try{const _0x2c985d=JSON[_0x3abc9f(0xbb)](readFileSync(_0x1c35c1,'utf8'));for(const _0x16b077 of[_0x3abc9f(0xb1),'devDependencies']){const _0x5cf413=_0x2c985d?.[_0x16b077]?.[_0x3abc9f(0xda)];if(typeof _0x5cf413==='string'){_0x5cf413!==_0x3abc9f(0x118)&&(_0x51a648={'pkgPath':_0x1c35c1,'currentVersion':_0x5cf413,'field':_0x16b077});break;}}}catch{}return{'configMigration':_0x5c1bb0,'oldArtifacts':_0x2584bc,'oldMcpConfig':_0x379b75,'needsSkillSwap':_0x395fe2,'sdkUpgrade':_0x51a648};}function printReport(_0xd5f8c){const _0x1504f2=a169_0x2d3c50,{configMigration:_0x3fb8d9,oldArtifacts:_0x5f2b4a,oldMcpConfig:_0x64ea47,needsSkillSwap:_0x3a61e7}=_0xd5f8c;console[_0x1504f2(0xac)](''),console[_0x1504f2(0xac)](a169_0xda8879[_0x1504f2(0xe5)](_0x1504f2(0xde))),console[_0x1504f2(0xac)]('');_0x3fb8d9?(console[_0x1504f2(0xac)](a169_0xda8879['cyan']('Config\x20file:')+('\x20\x20'+a169_0xda8879[_0x1504f2(0xa0)](_0x3fb8d9['oldPath']))),console[_0x1504f2(0xac)](_0x1504f2(0x107)+(_0x3fb8d9[_0x1504f2(0x10e)]?a169_0xda8879[_0x1504f2(0xff)](_0x1504f2(0xc0)):a169_0xda8879[_0x1504f2(0x10f)](_0x1504f2(0x101)))),console[_0x1504f2(0xac)](_0x1504f2(0xc8)+_0x3fb8d9['fields'][_0x1504f2(0xcc)](',\x20')),console[_0x1504f2(0xac)](_0x1504f2(0xe1))):console[_0x1504f2(0xac)](a169_0xda8879[_0x1504f2(0x11c)](_0x1504f2(0xc1))+'\x20\x20'+a169_0xda8879[_0x1504f2(0x10f)](_0x1504f2(0xf6)));console['log']('');if(_0x5f2b4a['length']>0x0){console['log'](a169_0xda8879[_0x1504f2(0x11c)](_0x1504f2(0xad)));for(const _0x397465 of _0x5f2b4a){console[_0x1504f2(0xac)]('\x20\x20'+a169_0xda8879['red'](_0x1504f2(0x106))+'\x20\x20'+_0x397465);}console[_0x1504f2(0xac)](_0x1504f2(0xc2));}else console[_0x1504f2(0xac)](a169_0xda8879['cyan'](_0x1504f2(0xad))+'\x20\x20'+a169_0xda8879['gray'](_0x1504f2(0xa9)));console[_0x1504f2(0xac)]('');_0x64ea47?(console[_0x1504f2(0xac)](a169_0xda8879[_0x1504f2(0x11c)](_0x1504f2(0x9b))+('\x20\x20'+a169_0xda8879[_0x1504f2(0xa0)](_0x64ea47[_0x1504f2(0xcb)])+_0x1504f2(0xd2)+_0x64ea47[_0x1504f2(0xf5)][_0x1504f2(0xcc)](',\x20'))),console[_0x1504f2(0xac)](_0x1504f2(0xc9))):console[_0x1504f2(0xac)](a169_0xda8879['cyan'](_0x1504f2(0x9b))+'\x20\x20'+a169_0xda8879['gray']('no\x20legacy\x20entry'));console[_0x1504f2(0xac)](''),console[_0x1504f2(0xac)](a169_0xda8879[_0x1504f2(0x11c)](_0x1504f2(0xca))+('\x20\x20'+(_0x3a61e7?a169_0xda8879['yellow'](_0x1504f2(0x109)):a169_0xda8879[_0x1504f2(0xff)](_0x1504f2(0xb4)))));_0x3a61e7&&console[_0x1504f2(0xac)](_0x1504f2(0xf1)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console['log']('');if(_0xd5f8c[_0x1504f2(0xd7)]){const {currentVersion:_0x55566b,field:_0x510ea5,pkgPath:_0x34b185}=_0xd5f8c[_0x1504f2(0xd7)];console[_0x1504f2(0xac)](a169_0xda8879['cyan'](_0x1504f2(0xc7))+('\x20\x20'+a169_0xda8879[_0x1504f2(0xa0)](_0x34b185))),console['log'](_0x1504f2(0xd8)+_0x510ea5+':\x20'+a169_0xda8879['yellow'](_0x55566b)+_0x1504f2(0x112)+a169_0xda8879[_0x1504f2(0xff)](_0x1504f2(0x118))),console[_0x1504f2(0xac)](_0x1504f2(0xfc));}else console[_0x1504f2(0xac)](a169_0xda8879[_0x1504f2(0x11c)](_0x1504f2(0xc7))+'\x20\x20'+a169_0xda8879[_0x1504f2(0x10f)](_0x1504f2(0xec)));console[_0x1504f2(0xac)]('');}function execConfigMigration(_0xdb7e7d,_0x5acd7a){const _0x260df6=a169_0x2d3c50,{configMigration:_0x416b76}=_0xdb7e7d;if(!_0x416b76?.[_0x260df6(0xee)])return{'step':0x1,'label':_0x260df6(0x111),'ok':!![],'detail':_0x260df6(0xf4)};const _0x207af5=readConfigFile(_0x416b76[_0x260df6(0xee)]),_0x5b0a60=resolve(_0x5acd7a,NEW_CONFIG_NAME),_0x45b054=_0x416b76[_0x260df6(0x10e)]?readConfigFile(_0x5b0a60):{};for(const [_0x20d26b,_0xd0efb6]of Object[_0x260df6(0x9c)](_0x207af5)){!(_0x20d26b in _0x45b054)&&(_0x45b054[_0x20d26b]=_0xd0efb6);}writeConfigFile(_0x5b0a60,_0x45b054);const _0x4aca99=_0x416b76[_0x260df6(0xee)]+_0x260df6(0xe7);return renameSync(_0x416b76[_0x260df6(0xee)],_0x4aca99),{'step':0x1,'label':'Config\x20migration','ok':!![],'detail':_0x416b76[_0x260df6(0xee)]+_0x260df6(0x112)+_0x5b0a60+_0x260df6(0xd4)+_0x4aca99+')'};}function execRemoveOldArtifacts(_0x577636){const _0x291061=a169_0x2d3c50,_0x530760=[];for(const _0xc9cd3d of _0x577636){try{if(!existsSync(_0xc9cd3d))continue;const _0x1d25ae=tryStat(_0xc9cd3d);_0x1d25ae?.[_0x291061(0xe2)]()?rmSync(_0xc9cd3d,{'recursive':!![],'force':!![]}):unlinkSync(_0xc9cd3d);}catch(_0x52face){_0x530760[_0x291061(0xcd)](_0xc9cd3d+':\x20'+_0x52face[_0x291061(0xd0)]);}}return{'step':0x3,'label':_0x291061(0xfa),'ok':_0x530760[_0x291061(0xbe)]===0x0,'detail':_0x530760[_0x291061(0xbe)]>0x0?_0x577636[_0x291061(0xbe)]-_0x530760['length']+'/'+_0x577636[_0x291061(0xbe)]+_0x291061(0xcf)+_0x530760['join'](';\x20')+')':_0x577636[_0x291061(0xbe)]+_0x291061(0xb3)};}function execCleanMcp(_0x2a7ce3){const _0x33de67=a169_0x2d3c50;if(!_0x2a7ce3['oldMcpConfig'])return{'step':0x4,'label':'Clean\x20MCP\x20config','ok':!![],'detail':'skipped'};try{const _0x403374=readFileSync(_0x2a7ce3['oldMcpConfig']['path'],_0x33de67(0x99)),_0x210414=JSON[_0x33de67(0xbb)](_0x403374);if(_0x210414?.[_0x33de67(0x9a)]&&typeof _0x210414[_0x33de67(0x9a)]===_0x33de67(0x10a)){const _0x53e787=[];for(const [_0x285311,_0x53f00c]of Object[_0x33de67(0x9c)](_0x210414['mcpServers'])){_0x53f00c?.[_0x33de67(0x9d)]&&Array[_0x33de67(0x11b)](_0x53f00c[_0x33de67(0x9d)])&&_0x53f00c['args'][_0x33de67(0x119)](_0x3ad408=>typeof _0x3ad408===_0x33de67(0xb9)&&_0x3ad408[_0x33de67(0x110)](_0x33de67(0x104)))&&_0x53e787[_0x33de67(0xcd)](_0x285311);}for(const _0x2dc817 of _0x53e787){delete _0x210414[_0x33de67(0x9a)][_0x2dc817];}return _0x53e787['length']>0x0&&writeFileSync(_0x2a7ce3['oldMcpConfig'][_0x33de67(0xcb)],JSON[_0x33de67(0x10b)](_0x210414,null,0x2)+'\x0a','utf8'),{'step':0x4,'label':_0x33de67(0x10c),'ok':!![],'detail':_0x33de67(0x11a)+_0x53e787[_0x33de67(0xcc)](',\x20')+_0x33de67(0xae)+_0x2a7ce3['oldMcpConfig'][_0x33de67(0xcb)]};}return{'step':0x4,'label':_0x33de67(0x10c),'ok':!![],'detail':_0x33de67(0xbc)};}catch(_0xa7db19){return{'step':0x4,'label':_0x33de67(0x10c),'ok':![],'detail':_0xa7db19[_0x33de67(0xd0)]};}}function execSkillsRemove(_0x596b82,_0x36a16c){const _0xed5900=a169_0x2d3c50,_0x548224=runNpxSkillsRemove(_0x596b82,{'stdio':'inherit','yes':_0x36a16c});return{'step':0x5,'label':_0xed5900(0xfb),'ok':_0x548224['ok'],'detail':_0x548224['ok']?_0xed5900(0x105):_0x548224[_0xed5900(0xf8)]??'exit\x20'+_0x548224[_0xed5900(0xaf)]};}function execSkillsAdd(_0x3f35ed,_0x33f058){const _0x255f64=a169_0x2d3c50,_0xbda368=runNpxSkillsAddGlobal(_0x3f35ed,'lovrabet/rabetbase',{'stdio':'inherit','yes':_0x33f058});return{'step':0x6,'label':_0x255f64(0x115),'ok':_0xbda368['ok'],'detail':_0xbda368['ok']?_0x255f64(0xe0):_0xbda368[_0x255f64(0xf8)]??_0x255f64(0xa8)+_0xbda368[_0x255f64(0xaf)]};}function execUpgradeSdk(_0x4a765f){const _0x515ae4=a169_0x2d3c50;if(!_0x4a765f[_0x515ae4(0xd7)])return{'step':0x7,'label':_0x515ae4(0x9f),'ok':!![],'detail':'skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)'};const {pkgPath:_0x4adb64,currentVersion:_0x1b47b2,field:_0x3341a7}=_0x4a765f['sdkUpgrade'];try{const _0x49bdc5=readFileSync(_0x4adb64,_0x515ae4(0x99)),_0xc884fe=JSON[_0x515ae4(0xbb)](_0x49bdc5);return _0xc884fe[_0x3341a7]['@lovrabet/sdk']=_0x515ae4(0x118),writeFileSync(_0x4adb64,JSON[_0x515ae4(0x10b)](_0xc884fe,null,0x2)+'\x0a',_0x515ae4(0x99)),{'step':0x7,'label':_0x515ae4(0x9f),'ok':!![],'detail':_0x3341a7+'[\x22@lovrabet/sdk\x22]:\x20'+_0x1b47b2+_0x515ae4(0xef)};}catch(_0x4a45f1){return{'step':0x7,'label':_0x515ae4(0x9f),'ok':![],'detail':_0x4a45f1[_0x515ae4(0xd0)]};}}function tryStat(_0x51028b){try{return statSync(_0x51028b);}catch{return undefined;}}function printSummary(_0x239a30){const _0x4bb890=a169_0x2d3c50;console[_0x4bb890(0xac)](''),console['log'](a169_0xda8879['bold']('===\x20Upgrade\x20Summary\x20===')),console[_0x4bb890(0xac)]('');for(const _0x55989f of _0x239a30){const _0x579a6f=_0x55989f['ok']?a169_0xda8879[_0x4bb890(0xff)]('OK'):a169_0xda8879[_0x4bb890(0xea)]('FAIL');console[_0x4bb890(0xac)]('\x20\x20'+_0x579a6f+'\x20\x20Step\x20'+_0x55989f[_0x4bb890(0xdc)]+':\x20'+_0x55989f[_0x4bb890(0xa7)]);if(_0x55989f[_0x4bb890(0xf9)])console['log'](_0x4bb890(0xe4)+a169_0xda8879[_0x4bb890(0x10f)](_0x55989f['detail']));}console['log']('');}export async function upgradeApp(_0x39d260,_0x57df36){const _0x583c19=a169_0x2d3c50,_0x1f3fd8=process[_0x583c19(0x11d)](),_0x12e43a=analyse(_0x1f3fd8),_0x2d60e5=!_0x12e43a[_0x583c19(0xa3)]&&_0x12e43a[_0x583c19(0xdd)][_0x583c19(0xbe)]===0x0&&!_0x12e43a[_0x583c19(0x9e)]&&!_0x12e43a['needsSkillSwap']&&!_0x12e43a[_0x583c19(0xd7)];if(_0x2d60e5){console[_0x583c19(0xac)](a169_0xda8879[_0x583c19(0xff)](_0x583c19(0xdf)));return;}printReport(_0x12e43a);const _0x3e39b9=!!(_0x57df36[_0x583c19(0xf7)]||_0x57df36['Y']||_0x39d260);if(!_0x3e39b9)try{const _0x5cf903=await askConfirm(_0x583c19(0x108));if(!_0x5cf903){console['log'](a169_0xda8879[_0x583c19(0x10f)](_0x583c19(0xc4)));return;}}catch(_0x1efbe8){if(_0x1efbe8?.['message']==='CANCEL'){console[_0x583c19(0xac)](a169_0xda8879[_0x583c19(0x10f)](_0x583c19(0xc4)));return;}throw _0x1efbe8;}const _0xa15eb2=[],_0x30ab81=a169_0x4d3d07({'text':_0x583c19(0x117),'color':_0x583c19(0x11c)})['start'](),_0x2d9ce0=execConfigMigration(_0x12e43a,_0x1f3fd8);_0xa15eb2[_0x583c19(0xcd)](_0x2d9ce0),_0x30ab81[_0x2d9ce0['ok']?_0x583c19(0xfd):'fail'](_0x583c19(0xa5)+(_0x2d9ce0[_0x583c19(0xf9)]??(_0x2d9ce0['ok']?'done':_0x583c19(0x102))));const _0x3691c6=resolve(_0x1f3fd8,'.lovrabet'),_0x486e22=a169_0x4d3d07({'text':_0x583c19(0xb0),'color':_0x583c19(0x11c)})[_0x583c19(0xf3)]();if(existsSync(_0x3691c6))try{rmSync(_0x3691c6,{'recursive':!![],'force':!![]}),_0x486e22[_0x583c19(0xfd)](_0x583c19(0xe3)),_0xa15eb2['push']({'step':0x2,'label':_0x583c19(0xfe),'ok':!![]});}catch(_0x19c430){_0x486e22[_0x583c19(0x113)](_0x583c19(0x100)+_0x19c430[_0x583c19(0xd0)]),_0xa15eb2[_0x583c19(0xcd)]({'step':0x2,'label':'Remove\x20.lovrabet/','ok':![],'detail':_0x19c430['message']});}else _0x486e22[_0x583c19(0xba)](_0x583c19(0xe9)),_0xa15eb2[_0x583c19(0xcd)]({'step':0x2,'label':_0x583c19(0xfe),'ok':!![],'detail':_0x583c19(0xbd)});const _0x83059d=a169_0x4d3d07({'text':_0x583c19(0xb2),'color':_0x583c19(0x11c)})[_0x583c19(0xf3)](),_0x4f1947=execRemoveOldArtifacts(_0x12e43a[_0x583c19(0xdd)]);_0xa15eb2[_0x583c19(0xcd)](_0x4f1947),_0x83059d[_0x4f1947['ok']?'succeed':'fail'](_0x583c19(0xd3)+(_0x4f1947['detail']??(_0x4f1947['ok']?_0x583c19(0x10d):_0x583c19(0x102))));const _0x2a4661=a169_0x4d3d07({'text':_0x583c19(0xb5),'color':_0x583c19(0x11c)})['start'](),_0x1ce3bb=execCleanMcp(_0x12e43a);_0xa15eb2[_0x583c19(0xcd)](_0x1ce3bb),_0x2a4661[_0x1ce3bb['ok']?_0x583c19(0xfd):'fail'](_0x583c19(0xa4)+(_0x1ce3bb[_0x583c19(0xf9)]??(_0x1ce3bb['ok']?'done':'failed')));const _0x29e034=a169_0x4d3d07({'text':'Step\x205/7:\x20Removing\x20old\x20skill...','color':_0x583c19(0x11c)})['start'](),_0x4e8c94=execSkillsRemove(_0x1f3fd8,_0x3e39b9);_0xa15eb2[_0x583c19(0xcd)](_0x4e8c94),_0x29e034[_0x4e8c94['ok']?_0x583c19(0xfd):_0x583c19(0x113)](_0x583c19(0xc5)+(_0x4e8c94[_0x583c19(0xf9)]??(_0x4e8c94['ok']?_0x583c19(0x10d):_0x583c19(0x102))));const _0xc9dab=a169_0x4d3d07({'text':_0x583c19(0xa6),'color':_0x583c19(0x11c)})[_0x583c19(0xf3)](),_0x4f57c1=execSkillsAdd(_0x1f3fd8,_0x3e39b9);_0xa15eb2['push'](_0x4f57c1),_0xc9dab[_0x4f57c1['ok']?_0x583c19(0xfd):'fail'](_0x583c19(0x98)+(_0x4f57c1[_0x583c19(0xf9)]??(_0x4f57c1['ok']?_0x583c19(0x10d):_0x583c19(0x102))));const _0x4e97ec=a169_0x4d3d07({'text':_0x583c19(0xeb),'color':_0x583c19(0x11c)})[_0x583c19(0xf3)](),_0x3bbd93=execUpgradeSdk(_0x12e43a);_0xa15eb2[_0x583c19(0xcd)](_0x3bbd93),_0x4e97ec[_0x3bbd93['ok']?_0x583c19(0xfd):_0x583c19(0x113)]('Step\x207/7:\x20@lovrabet/sdk\x20—\x20'+(_0x3bbd93[_0x583c19(0xf9)]??(_0x3bbd93['ok']?_0x583c19(0x10d):_0x583c19(0x102)))),printSummary(_0xa15eb2);const _0x5d4f5c=_0xa15eb2['some'](_0x3cd3ea=>!_0x3cd3ea['ok']);_0x5d4f5c?console['log'](a169_0xda8879[_0x583c19(0xa0)](_0x583c19(0xdb))):console[_0x583c19(0xac)](a169_0xda8879[_0x583c19(0xff)](_0x583c19(0xd1))),_0x3bbd93['ok']&&_0x12e43a[_0x583c19(0xd7)]&&(console[_0x583c19(0xac)](''),console[_0x583c19(0xac)](a169_0xda8879['bold']['cyan'](_0x583c19(0xe8))),console[_0x583c19(0xac)](a169_0xda8879[_0x583c19(0x11c)](_0x583c19(0xed))),console[_0x583c19(0xac)](''),console[_0x583c19(0xac)](a169_0xda8879[_0x583c19(0xc6)]('\x20\x20npm\x20install')),console['log'](a169_0xda8879[_0x583c19(0xc6)](_0x583c19(0xa1))),console[_0x583c19(0xac)](a169_0xda8879['white']('\x20\x20bun\x20install')),console[_0x583c19(0xac)](''));}
1
+ (function(_0x205dc2,_0x165be3){const _0xe6091c=a169_0x54b0,_0x219b26=_0x205dc2();while(!![]){try{const _0x2f3a5b=-parseInt(_0xe6091c(0x1df))/0x1*(-parseInt(_0xe6091c(0x1e7))/0x2)+-parseInt(_0xe6091c(0x1de))/0x3*(parseInt(_0xe6091c(0x18c))/0x4)+parseInt(_0xe6091c(0x1be))/0x5+parseInt(_0xe6091c(0x1da))/0x6+-parseInt(_0xe6091c(0x183))/0x7*(parseInt(_0xe6091c(0x1ed))/0x8)+parseInt(_0xe6091c(0x1bb))/0x9+-parseInt(_0xe6091c(0x1b1))/0xa;if(_0x2f3a5b===_0x165be3)break;else _0x219b26['push'](_0x219b26['shift']());}catch(_0x32d77e){_0x219b26['push'](_0x219b26['shift']());}}}(a169_0x344b,0xe092a));import a169_0x3dabeb from'chalk';import a169_0x990c21 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';function a169_0x344b(){const _0x442150=['skipped\x20(no\x20legacy\x20config)','succeed','error','10575999PxbeCl','no\x20legacy\x20config\x20found','Upgrade\x20completed\x20successfully!','7659870qiQOoD','entries','removed\x20','\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server','.cursor/rules/lovrabet_rules.mdc','done','red','@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.','args','Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.','hasNewConfig','\x20→\x20latest','Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','Upgrade\x20cancelled.','.cursor/mcp.json','files','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','.lovrabet','object','\x20removed','lovrabet/rabetbase\x20installed\x20globally','isDirectory','oldArtifacts','values','package.json','keys','not\x20found\x20(will\x20create)','exit\x20','10691262HnfADS','MCP\x20config:','yes','Step\x204/7:\x20MCP\x20config\x20—\x20','621LfaVMO','182807knVhJC','bold','Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','fields','\x20\x20Current\x20version\x20in\x20','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','log','some','14xTPUTM','dependencies','info','\x20(backup:\x20','mcpServers','yellow','1136zRmiWK','\x20→\x20','Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20','path','skipped','length','lovrabet/lovrabet-skill\x20removed','Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped','\x20from\x20','no\x20legacy\x20entry','Proceed\x20with\x20upgrade?','\x20\x20npm\x20install','\x20\x20\x20\x20\x20\x20\x20','message','utf8','Clean\x20MCP\x20config','Remove\x20.lovrabet/','\x20\x20Action:\x20delete','Config\x20migration','inherit','fail','string','Install\x20new\x20skill','Upgrade\x20@lovrabet/sdk','oldMcpConfig','9366kwMBFA','[\x22@lovrabet/sdk\x22]:\x20','cyan','@lovrabet/sdk','join','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','lovrabet/rabetbase','none\x20found','not\x20found\x20or\x20already\x20at\x20latest','20092syGETf','devDependencies','Config\x20file:','\x20\x20Step\x20','.claude/skills/lovrabet','green','isArray','cwd','status','Step\x201/7:\x20Config\x20migration\x20—\x20','start','configMigration','stringify','===\x20Upgrade\x20Summary\x20===','Remove\x20old\x20skill','No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.','filter','needsSkillSwap','Remove\x20legacy\x20artifacts','Step\x205/7:\x20Removing\x20old\x20skill...','step','@lovrabet/dataset-mcp-server','parse','includes','===\x20Upgrade\x20Analysis\x20===','sdkUpgrade','@lovrabet/sdk:','latest','needed','.bak','\x20\x20#\x20or','gray','\x20\x20Fields\x20to\x20migrate:\x20','white','detail','push','failed','36190040kXUaDg','oldPath','\x20\x20New\x20config\x20(.rabetbase.json):\x20','no\x20matching\x20entry\x20found','not\x20needed','\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`','Step\x201/7:\x20Migrating\x20config...'];a169_0x344b=function(){return _0x442150;};return a169_0x344b();}import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE,runNpxSkillsAddGlobal,runNpxSkillsRemove}from'../../skills/npx-skills-add.js';function a169_0x54b0(_0x2c7558,_0x4b817f){_0x2c7558=_0x2c7558-0x183;const _0x344bc1=a169_0x344b();let _0x54b0f5=_0x344bc1[_0x2c7558];return _0x54b0f5;}import{askConfirm}from'../../commands/menu/shared/inquirer.js';const LEGACY_CONFIG_NAMES=CONFIG_NAMES['filter'](_0x17a117=>_0x17a117!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x186224){const _0x8d05d3=a169_0x54b0,_0x15e013=[];for(const _0x3847a9 of Object[_0x8d05d3(0x1d5)](CORE_IDE_CONFIGS)){if(_0x3847a9[_0x8d05d3(0x1cd)])for(const _0x3311e6 of _0x3847a9[_0x8d05d3(0x1cd)]){_0x15e013[_0x8d05d3(0x1af)](resolve(_0x186224,_0x3311e6[_0x8d05d3(0x1f0)]));}}return _0x15e013;}function analyse(_0x32ee33){const _0x2828da=a169_0x54b0;let _0x6a179a=null;const _0x2cca27=resolve(_0x32ee33,NEW_CONFIG_NAME),_0x51db73=existsSync(_0x2cca27);for(const _0x4606cf of LEGACY_CONFIG_NAMES){const _0x2f4220=resolve(_0x32ee33,_0x4606cf);if(existsSync(_0x2f4220)){const _0xcdbe9e=readConfigFile(_0x2f4220),_0x1ce061=Object[_0x2828da(0x1d7)](_0xcdbe9e)[_0x2828da(0x19c)](_0x25f086=>typeof _0xcdbe9e[_0x25f086]!=='undefined');_0x6a179a={'oldPath':_0x2f4220,'hasNewConfig':_0x51db73,'fields':_0x1ce061};break;}}const _0x4fb2da=[],_0xaa656a=resolve(_0x32ee33,_0x2828da(0x1cf));if(existsSync(_0xaa656a))_0x4fb2da[_0x2828da(0x1af)](_0xaa656a);const _0x599ebc=resolve(_0x32ee33,_0x2828da(0x1c2));if(existsSync(_0x599ebc))_0x4fb2da[_0x2828da(0x1af)](_0x599ebc);const _0x2518ce=resolve(_0x32ee33,_0x2828da(0x190));if(existsSync(_0x2518ce))_0x4fb2da[_0x2828da(0x1af)](_0x2518ce);for(const _0x160338 of collectIdeSkillFiles(_0x32ee33)){if(existsSync(_0x160338))_0x4fb2da['push'](_0x160338);}let _0x12806c=null;const _0x16adcc=resolve(_0x32ee33,_0x2828da(0x1cc));if(existsSync(_0x16adcc))try{const _0x3aecbf=JSON[_0x2828da(0x1a2)](readFileSync(_0x16adcc,_0x2828da(0x1fb)));if(_0x3aecbf?.[_0x2828da(0x1eb)]&&typeof _0x3aecbf['mcpServers']===_0x2828da(0x1d0)){const _0x548ff6=[];for(const [_0x47b8d8,_0x54812f]of Object[_0x2828da(0x1bf)](_0x3aecbf[_0x2828da(0x1eb)])){const _0x329cab=_0x54812f;_0x329cab?.['args']&&Array[_0x2828da(0x192)](_0x329cab[_0x2828da(0x1c6)])&&_0x329cab[_0x2828da(0x1c6)][_0x2828da(0x1e6)](_0x35311a=>typeof _0x35311a==='string'&&_0x35311a[_0x2828da(0x1a3)](_0x2828da(0x1a1)))&&_0x548ff6[_0x2828da(0x1af)](_0x47b8d8);}_0x548ff6[_0x2828da(0x1f2)]>0x0&&(_0x12806c={'path':_0x16adcc,'keys':_0x548ff6});}}catch{}const _0x59eb8f=_0x4fb2da[_0x2828da(0x1f2)]>0x0||_0x6a179a!==null;let _0x210e04=null;const _0x19343f=resolve(_0x32ee33,_0x2828da(0x1d6));if(existsSync(_0x19343f))try{const _0x4651b1=JSON[_0x2828da(0x1a2)](readFileSync(_0x19343f,_0x2828da(0x1fb)));for(const _0x9ad761 of[_0x2828da(0x1e8),_0x2828da(0x18d)]){const _0x2dd3d5=_0x4651b1?.[_0x9ad761]?.[_0x2828da(0x186)];if(typeof _0x2dd3d5==='string'){_0x2dd3d5!==_0x2828da(0x1a7)&&(_0x210e04={'pkgPath':_0x19343f,'currentVersion':_0x2dd3d5,'field':_0x9ad761});break;}}}catch{}return{'configMigration':_0x6a179a,'oldArtifacts':_0x4fb2da,'oldMcpConfig':_0x12806c,'needsSkillSwap':_0x59eb8f,'sdkUpgrade':_0x210e04};}function printReport(_0x42e4cd){const _0x47ceae=a169_0x54b0,{configMigration:_0x52b35d,oldArtifacts:_0x449246,oldMcpConfig:_0x3a287f,needsSkillSwap:_0x3a07a7}=_0x42e4cd;console['log'](''),console[_0x47ceae(0x1e5)](a169_0x3dabeb[_0x47ceae(0x1e0)](_0x47ceae(0x1a4))),console[_0x47ceae(0x1e5)]('');_0x52b35d?(console['log'](a169_0x3dabeb[_0x47ceae(0x185)](_0x47ceae(0x18e))+('\x20\x20'+a169_0x3dabeb[_0x47ceae(0x1ec)](_0x52b35d[_0x47ceae(0x1b2)]))),console['log'](_0x47ceae(0x1b3)+(_0x52b35d[_0x47ceae(0x1c8)]?a169_0x3dabeb[_0x47ceae(0x191)]('already\x20exists\x20(will\x20merge)'):a169_0x3dabeb[_0x47ceae(0x1ab)](_0x47ceae(0x1d8)))),console[_0x47ceae(0x1e5)](_0x47ceae(0x1ac)+_0x52b35d[_0x47ceae(0x1e2)]['join'](',\x20')),console['log']('\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak')):console[_0x47ceae(0x1e5)](a169_0x3dabeb['cyan'](_0x47ceae(0x18e))+'\x20\x20'+a169_0x3dabeb[_0x47ceae(0x1ab)](_0x47ceae(0x1bc)));console[_0x47ceae(0x1e5)]('');if(_0x449246['length']>0x0){console['log'](a169_0x3dabeb[_0x47ceae(0x185)]('Legacy\x20artifacts:'));for(const _0x3e7699 of _0x449246){console[_0x47ceae(0x1e5)]('\x20\x20'+a169_0x3dabeb[_0x47ceae(0x1c4)]('FOUND')+'\x20\x20'+_0x3e7699);}console[_0x47ceae(0x1e5)](_0x47ceae(0x1fe));}else console['log'](a169_0x3dabeb[_0x47ceae(0x185)]('Legacy\x20artifacts:')+'\x20\x20'+a169_0x3dabeb[_0x47ceae(0x1ab)](_0x47ceae(0x18a)));console['log']('');_0x3a287f?(console[_0x47ceae(0x1e5)](a169_0x3dabeb['cyan'](_0x47ceae(0x1db))+('\x20\x20'+a169_0x3dabeb['yellow'](_0x3a287f['path'])+'\x20→\x20keys:\x20'+_0x3a287f[_0x47ceae(0x1d7)][_0x47ceae(0x187)](',\x20'))),console[_0x47ceae(0x1e5)](_0x47ceae(0x1c1))):console[_0x47ceae(0x1e5)](a169_0x3dabeb[_0x47ceae(0x185)](_0x47ceae(0x1db))+'\x20\x20'+a169_0x3dabeb['gray'](_0x47ceae(0x1f6)));console[_0x47ceae(0x1e5)](''),console[_0x47ceae(0x1e5)](a169_0x3dabeb[_0x47ceae(0x185)]('Skill\x20swap:')+('\x20\x20'+(_0x3a07a7?a169_0x3dabeb['yellow'](_0x47ceae(0x1a8)):a169_0x3dabeb[_0x47ceae(0x191)](_0x47ceae(0x1b5)))));_0x3a07a7&&console[_0x47ceae(0x1e5)](_0x47ceae(0x1b6)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console[_0x47ceae(0x1e5)]('');if(_0x42e4cd[_0x47ceae(0x1a5)]){const {currentVersion:_0x3a6e40,field:_0x4f86a5,pkgPath:_0x175b5b}=_0x42e4cd[_0x47ceae(0x1a5)];console[_0x47ceae(0x1e5)](a169_0x3dabeb['cyan'](_0x47ceae(0x1a6))+('\x20\x20'+a169_0x3dabeb[_0x47ceae(0x1ec)](_0x175b5b))),console['log'](_0x47ceae(0x1e3)+_0x4f86a5+':\x20'+a169_0x3dabeb[_0x47ceae(0x1ec)](_0x3a6e40)+_0x47ceae(0x1ee)+a169_0x3dabeb[_0x47ceae(0x191)](_0x47ceae(0x1a7))),console[_0x47ceae(0x1e5)](_0x47ceae(0x1ce));}else console[_0x47ceae(0x1e5)](a169_0x3dabeb[_0x47ceae(0x185)]('@lovrabet/sdk:')+'\x20\x20'+a169_0x3dabeb['gray'](_0x47ceae(0x18b)));console[_0x47ceae(0x1e5)]('');}function execConfigMigration(_0x43a56f,_0x46f990){const _0x578dff=a169_0x54b0,{configMigration:_0x1507f5}=_0x43a56f;if(!_0x1507f5?.[_0x578dff(0x1b2)])return{'step':0x1,'label':_0x578dff(0x1ff),'ok':!![],'detail':_0x578dff(0x1b8)};const _0x562923=readConfigFile(_0x1507f5[_0x578dff(0x1b2)]),_0x567b69=resolve(_0x46f990,NEW_CONFIG_NAME),_0x119cd7=_0x1507f5['hasNewConfig']?readConfigFile(_0x567b69):{};for(const [_0x3d86eb,_0x2bb01d]of Object['entries'](_0x562923)){!(_0x3d86eb in _0x119cd7)&&(_0x119cd7[_0x3d86eb]=_0x2bb01d);}writeConfigFile(_0x567b69,_0x119cd7);const _0x742dcd=_0x1507f5['oldPath']+_0x578dff(0x1a9);return renameSync(_0x1507f5[_0x578dff(0x1b2)],_0x742dcd),{'step':0x1,'label':_0x578dff(0x1ff),'ok':!![],'detail':_0x1507f5[_0x578dff(0x1b2)]+_0x578dff(0x1ee)+_0x567b69+_0x578dff(0x1ea)+_0x742dcd+')'};}function execRemoveOldArtifacts(_0x43c15a){const _0x171498=a169_0x54b0,_0x4b3d00=[];for(const _0x1af541 of _0x43c15a){try{if(!existsSync(_0x1af541))continue;const _0xe778c6=tryStat(_0x1af541);_0xe778c6?.[_0x171498(0x1d3)]()?rmSync(_0x1af541,{'recursive':!![],'force':!![]}):unlinkSync(_0x1af541);}catch(_0x2888c2){_0x4b3d00[_0x171498(0x1af)](_0x1af541+':\x20'+_0x2888c2[_0x171498(0x1fa)]);}}return{'step':0x3,'label':_0x171498(0x19e),'ok':_0x4b3d00[_0x171498(0x1f2)]===0x0,'detail':_0x4b3d00['length']>0x0?_0x43c15a[_0x171498(0x1f2)]-_0x4b3d00['length']+'/'+_0x43c15a['length']+'\x20removed\x20('+_0x4b3d00[_0x171498(0x187)](';\x20')+')':_0x43c15a[_0x171498(0x1f2)]+_0x171498(0x1d1)};}function execCleanMcp(_0x4edbd6){const _0x322e07=a169_0x54b0;if(!_0x4edbd6[_0x322e07(0x205)])return{'step':0x4,'label':_0x322e07(0x1fc),'ok':!![],'detail':_0x322e07(0x1f1)};try{const _0x75be9c=readFileSync(_0x4edbd6['oldMcpConfig'][_0x322e07(0x1f0)],_0x322e07(0x1fb)),_0x4142bf=JSON[_0x322e07(0x1a2)](_0x75be9c);if(_0x4142bf?.['mcpServers']&&typeof _0x4142bf['mcpServers']===_0x322e07(0x1d0)){const _0x10b83d=[];for(const [_0x5b9cb5,_0x5bd873]of Object[_0x322e07(0x1bf)](_0x4142bf[_0x322e07(0x1eb)])){_0x5bd873?.[_0x322e07(0x1c6)]&&Array[_0x322e07(0x192)](_0x5bd873[_0x322e07(0x1c6)])&&_0x5bd873['args']['some'](_0x345514=>typeof _0x345514===_0x322e07(0x202)&&_0x345514[_0x322e07(0x1a3)](_0x322e07(0x1a1)))&&_0x10b83d['push'](_0x5b9cb5);}for(const _0x34c934 of _0x10b83d){delete _0x4142bf['mcpServers'][_0x34c934];}return _0x10b83d[_0x322e07(0x1f2)]>0x0&&writeFileSync(_0x4edbd6[_0x322e07(0x205)][_0x322e07(0x1f0)],JSON[_0x322e07(0x198)](_0x4142bf,null,0x2)+'\x0a',_0x322e07(0x1fb)),{'step':0x4,'label':_0x322e07(0x1fc),'ok':!![],'detail':_0x322e07(0x1c0)+_0x10b83d[_0x322e07(0x187)](',\x20')+_0x322e07(0x1f5)+_0x4edbd6[_0x322e07(0x205)][_0x322e07(0x1f0)]};}return{'step':0x4,'label':_0x322e07(0x1fc),'ok':!![],'detail':_0x322e07(0x1b4)};}catch(_0x2f9dd5){return{'step':0x4,'label':_0x322e07(0x1fc),'ok':![],'detail':_0x2f9dd5['message']};}}function execSkillsRemove(_0x150652,_0x92cf97){const _0x433ad6=a169_0x54b0,_0xf4f16f=runNpxSkillsRemove(_0x150652,{'stdio':_0x433ad6(0x200),'yes':_0x92cf97});return{'step':0x5,'label':_0x433ad6(0x19a),'ok':_0xf4f16f['ok'],'detail':_0xf4f16f['ok']?_0x433ad6(0x1f3):_0xf4f16f[_0x433ad6(0x1ba)]??_0x433ad6(0x1d9)+_0xf4f16f['status']};}function execSkillsAdd(_0x24ba60,_0x5851d6){const _0x1675d4=a169_0x54b0,_0x2a8ea3=runNpxSkillsAddGlobal(_0x24ba60,_0x1675d4(0x189),{'stdio':_0x1675d4(0x200),'yes':_0x5851d6});return{'step':0x6,'label':_0x1675d4(0x203),'ok':_0x2a8ea3['ok'],'detail':_0x2a8ea3['ok']?_0x1675d4(0x1d2):_0x2a8ea3['error']??_0x1675d4(0x1d9)+_0x2a8ea3[_0x1675d4(0x194)]};}function execUpgradeSdk(_0x1960b3){const _0x24a3cd=a169_0x54b0;if(!_0x1960b3['sdkUpgrade'])return{'step':0x7,'label':_0x24a3cd(0x204),'ok':!![],'detail':'skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)'};const {pkgPath:_0x1196a7,currentVersion:_0x186b54,field:_0xe7d167}=_0x1960b3[_0x24a3cd(0x1a5)];try{const _0x1674cd=readFileSync(_0x1196a7,_0x24a3cd(0x1fb)),_0xb0e79=JSON[_0x24a3cd(0x1a2)](_0x1674cd);return _0xb0e79[_0xe7d167][_0x24a3cd(0x186)]=_0x24a3cd(0x1a7),writeFileSync(_0x1196a7,JSON[_0x24a3cd(0x198)](_0xb0e79,null,0x2)+'\x0a',_0x24a3cd(0x1fb)),{'step':0x7,'label':_0x24a3cd(0x204),'ok':!![],'detail':_0xe7d167+_0x24a3cd(0x184)+_0x186b54+_0x24a3cd(0x1c9)};}catch(_0x542fb0){return{'step':0x7,'label':_0x24a3cd(0x204),'ok':![],'detail':_0x542fb0[_0x24a3cd(0x1fa)]};}}function tryStat(_0x17fb12){try{return statSync(_0x17fb12);}catch{return undefined;}}function printSummary(_0x29da23){const _0x48d44d=a169_0x54b0;console['log'](''),console[_0x48d44d(0x1e5)](a169_0x3dabeb[_0x48d44d(0x1e0)](_0x48d44d(0x199))),console[_0x48d44d(0x1e5)]('');for(const _0x5f1bf6 of _0x29da23){const _0x303f3c=_0x5f1bf6['ok']?a169_0x3dabeb[_0x48d44d(0x191)]('OK'):a169_0x3dabeb[_0x48d44d(0x1c4)]('FAIL');console['log']('\x20\x20'+_0x303f3c+_0x48d44d(0x18f)+_0x5f1bf6[_0x48d44d(0x1a0)]+':\x20'+_0x5f1bf6['label']);if(_0x5f1bf6[_0x48d44d(0x1ae)])console['log'](_0x48d44d(0x1f9)+a169_0x3dabeb[_0x48d44d(0x1ab)](_0x5f1bf6[_0x48d44d(0x1ae)]));}console[_0x48d44d(0x1e5)]('');}export async function upgradeApp(_0x69edea,_0x549d76){const _0xf5966b=a169_0x54b0,_0x542c0e=process[_0xf5966b(0x193)](),_0x201319=analyse(_0x542c0e),_0x249b54=!_0x201319[_0xf5966b(0x197)]&&_0x201319[_0xf5966b(0x1d4)][_0xf5966b(0x1f2)]===0x0&&!_0x201319[_0xf5966b(0x205)]&&!_0x201319[_0xf5966b(0x19d)]&&!_0x201319['sdkUpgrade'];if(_0x249b54){console[_0xf5966b(0x1e5)](a169_0x3dabeb[_0xf5966b(0x191)](_0xf5966b(0x19b)));return;}printReport(_0x201319);const _0x7c53ef=!!(_0x549d76[_0xf5966b(0x1dc)]||_0x549d76['Y']||_0x69edea);if(!_0x7c53ef)try{const _0x1f876e=await askConfirm(_0xf5966b(0x1f7));if(!_0x1f876e){console['log'](a169_0x3dabeb[_0xf5966b(0x1ab)]('Upgrade\x20cancelled.'));return;}}catch(_0x42fea9){if(_0x42fea9?.[_0xf5966b(0x1fa)]==='CANCEL'){console[_0xf5966b(0x1e5)](a169_0x3dabeb[_0xf5966b(0x1ab)](_0xf5966b(0x1cb)));return;}throw _0x42fea9;}const _0x2e65ae=[],_0x3189fc=a169_0x990c21({'text':_0xf5966b(0x1b7),'color':_0xf5966b(0x185)})[_0xf5966b(0x196)](),_0x23117f=execConfigMigration(_0x201319,_0x542c0e);_0x2e65ae[_0xf5966b(0x1af)](_0x23117f),_0x3189fc[_0x23117f['ok']?_0xf5966b(0x1b9):_0xf5966b(0x201)](_0xf5966b(0x195)+(_0x23117f[_0xf5966b(0x1ae)]??(_0x23117f['ok']?_0xf5966b(0x1c3):_0xf5966b(0x1b0))));const _0x233de0=resolve(_0x542c0e,_0xf5966b(0x1cf)),_0x1680ca=a169_0x990c21({'text':_0xf5966b(0x1e1),'color':_0xf5966b(0x185)})['start']();if(existsSync(_0x233de0))try{rmSync(_0x233de0,{'recursive':!![],'force':!![]}),_0x1680ca[_0xf5966b(0x1b9)]('Step\x202/7:\x20.lovrabet/\x20directory\x20removed'),_0x2e65ae['push']({'step':0x2,'label':'Remove\x20.lovrabet/','ok':!![]});}catch(_0xe5625c){_0x1680ca[_0xf5966b(0x201)](_0xf5966b(0x1ef)+_0xe5625c[_0xf5966b(0x1fa)]),_0x2e65ae['push']({'step':0x2,'label':_0xf5966b(0x1fd),'ok':![],'detail':_0xe5625c[_0xf5966b(0x1fa)]});}else _0x1680ca[_0xf5966b(0x1e9)](_0xf5966b(0x1f4)),_0x2e65ae[_0xf5966b(0x1af)]({'step':0x2,'label':_0xf5966b(0x1fd),'ok':!![],'detail':_0xf5966b(0x1f1)});const _0x5ba385=a169_0x990c21({'text':'Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','color':_0xf5966b(0x185)})['start'](),_0xdb94aa=execRemoveOldArtifacts(_0x201319['oldArtifacts']);_0x2e65ae['push'](_0xdb94aa),_0x5ba385[_0xdb94aa['ok']?_0xf5966b(0x1b9):_0xf5966b(0x201)]('Step\x203/7:\x20Legacy\x20artifacts\x20—\x20'+(_0xdb94aa[_0xf5966b(0x1ae)]??(_0xdb94aa['ok']?_0xf5966b(0x1c3):_0xf5966b(0x1b0))));const _0x6e8cb2=a169_0x990c21({'text':'Step\x204/7:\x20Cleaning\x20MCP\x20config...','color':'cyan'})[_0xf5966b(0x196)](),_0x133806=execCleanMcp(_0x201319);_0x2e65ae[_0xf5966b(0x1af)](_0x133806),_0x6e8cb2[_0x133806['ok']?'succeed':_0xf5966b(0x201)](_0xf5966b(0x1dd)+(_0x133806[_0xf5966b(0x1ae)]??(_0x133806['ok']?'done':_0xf5966b(0x1b0))));const _0x117249=a169_0x990c21({'text':_0xf5966b(0x19f),'color':_0xf5966b(0x185)})[_0xf5966b(0x196)](),_0x5ca2a2=execSkillsRemove(_0x542c0e,_0x7c53ef);_0x2e65ae[_0xf5966b(0x1af)](_0x5ca2a2),_0x117249[_0x5ca2a2['ok']?_0xf5966b(0x1b9):_0xf5966b(0x201)]('Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20'+(_0x5ca2a2[_0xf5966b(0x1ae)]??(_0x5ca2a2['ok']?_0xf5966b(0x1c3):'failed')));const _0x415860=a169_0x990c21({'text':'Step\x206/7:\x20Installing\x20new\x20skill...','color':_0xf5966b(0x185)})[_0xf5966b(0x196)](),_0x55c52f=execSkillsAdd(_0x542c0e,_0x7c53ef);_0x2e65ae[_0xf5966b(0x1af)](_0x55c52f),_0x415860[_0x55c52f['ok']?_0xf5966b(0x1b9):_0xf5966b(0x201)](_0xf5966b(0x1e4)+(_0x55c52f[_0xf5966b(0x1ae)]??(_0x55c52f['ok']?_0xf5966b(0x1c3):_0xf5966b(0x1b0))));const _0x521bd8=a169_0x990c21({'text':_0xf5966b(0x188),'color':'cyan'})['start'](),_0xdf110a=execUpgradeSdk(_0x201319);_0x2e65ae[_0xf5966b(0x1af)](_0xdf110a),_0x521bd8[_0xdf110a['ok']?_0xf5966b(0x1b9):_0xf5966b(0x201)]('Step\x207/7:\x20@lovrabet/sdk\x20—\x20'+(_0xdf110a[_0xf5966b(0x1ae)]??(_0xdf110a['ok']?_0xf5966b(0x1c3):'failed'))),printSummary(_0x2e65ae);const _0x22c365=_0x2e65ae['some'](_0x330674=>!_0x330674['ok']);_0x22c365?console[_0xf5966b(0x1e5)](a169_0x3dabeb[_0xf5966b(0x1ec)](_0xf5966b(0x1c7))):console[_0xf5966b(0x1e5)](a169_0x3dabeb['green'](_0xf5966b(0x1bd))),_0xdf110a['ok']&&_0x201319['sdkUpgrade']&&(console['log'](''),console[_0xf5966b(0x1e5)](a169_0x3dabeb[_0xf5966b(0x1e0)][_0xf5966b(0x185)](_0xf5966b(0x1c5))),console[_0xf5966b(0x1e5)](a169_0x3dabeb[_0xf5966b(0x185)](_0xf5966b(0x1ca))),console['log'](''),console[_0xf5966b(0x1e5)](a169_0x3dabeb[_0xf5966b(0x1ad)](_0xf5966b(0x1f8))),console[_0xf5966b(0x1e5)](a169_0x3dabeb[_0xf5966b(0x1ad)](_0xf5966b(0x1aa))),console[_0xf5966b(0x1e5)](a169_0x3dabeb[_0xf5966b(0x1ad)]('\x20\x20bun\x20install')),console[_0xf5966b(0x1e5)](''));}
@@ -1 +1 @@
1
- const a170_0x280a94=a170_0x21b3;(function(_0x28e4fe,_0x587901){const _0x1f0a9b=a170_0x21b3,_0x13497a=_0x28e4fe();while(!![]){try{const _0x570ec4=parseInt(_0x1f0a9b(0xdb))/0x1+-parseInt(_0x1f0a9b(0xb3))/0x2+parseInt(_0x1f0a9b(0xa0))/0x3+parseInt(_0x1f0a9b(0xaf))/0x4+-parseInt(_0x1f0a9b(0xba))/0x5+parseInt(_0x1f0a9b(0xa3))/0x6+parseInt(_0x1f0a9b(0xb1))/0x7*(-parseInt(_0x1f0a9b(0xc6))/0x8);if(_0x570ec4===_0x587901)break;else _0x13497a['push'](_0x13497a['shift']());}catch(_0x106e16){_0x13497a['push'](_0x13497a['shift']());}}}(a170_0x14c2,0x68669));import{apiDefinitions}from'../commands/api/index.js';import{bffDefinitions}from'../commands/bff/index.js';import{sqlDefinitions}from'../commands/sql/index.js';import{datasetDefinitions}from'../commands/dataset/index.js';import{pageDefinitions}from'../commands/page/index.js';import{dataDefinitions}from'../commands/data/index.js';import{dbDefinitions}from'../commands/db/index.js';import{codegenDefinitions}from'../commands/codegen/index.js';function a170_0x14c2(){const _0x5d7151=['Project','rabetbase\x20sql\x20create','build','rabetbase\x20workspace\x20remove\x20<name>','sql:new','24CzdnEW','Code\x20Generation','Tenant\x20Members','Use\x20`','install','Schema','Platform\x20Issue','Quick\x20Start','Instant\x20API','has','rabetbase\x20auth\x20logout','Async\x20Tasks','wildcardDef','Roles','Permissions','User\x20Accounts','rabetbase\x20kb\x20update','rabetbase\x20sql\x20create\x20--name\x20<name>\x20--db-id\x20<id>\x20--mode\x20sql|mybatisXml','BFF\x20Scripts','rabetbase\x20kb\x20delete','knowledge-base:detail','72276ayuarg','knowledge-base:list','\x20\x20[high-risk-write]','rabetbase\x20workspace\x20use\x20--app\x20<name>','show','push','write','app:remote','Company\x20Knowledge\x20Base','CLI\x20Built-in\x20Skill','commands','rabetbase\x20app\x20list\x20--remote','skills:','isSingleCommand','defaultCommand','filter','Dataset\x20&\x20Operations','App\x20Management','project:init','rabetbase\x20cli-skill\x20install','Smart\x20List\x20Pages\x20&\x20React\x20Custom\x20Pages','API\x20Development','get','app:use','\x20\x20[','length','rabetbase\x20run\x20start','skill:install','rabetbase\x20kb\x20detail','Run\x20any\x20package.json\x20script','login','1881372rkbBti','risk','app:add','3331134QkDZcV','rabetbase\x20project\x20create\x20<project-name>','knowledge-base:create','Configuration','service','rabetbase\x20kb\x20create','values','read','rabetbase\x20workspace\x20add\x20<name>\x20--appcode\x20<code>','app:remove','Logs','Menu','126204diEisE','OCR','529403Fvsljc','from','994846zaPHex','rabetbase\x20menu\x20asset-update','Self\x20Update','bff:new','set','logout','Notification\x20Configuration','671025QimUmS','Runtime\x20App\x20Config\x20Management','start','command','create','`\x20instead.','knowledge-base:update'];a170_0x14c2=function(){return _0x5d7151;};return a170_0x14c2();}import{menuDefinitions}from'../commands/menu/index.js';import{taskDefinitions}from'../commands/task/index.js';import{tenantDefinitions}from'../commands/tenant/index.js';import{roleDefinitions}from'../commands/role/index.js';import{permitDefinitions}from'../commands/permit/index.js';import{appDefinitions}from'../commands/app/index.js';import{appConfigDefinitions}from'../commands/app-config/index.js';import{kbDefinitions}from'../commands/kb/index.js';import{notificationDefinitions}from'../commands/notification/index.js';import{workspaceDefinitions}from'../commands/workspace/index.js';import{configDefinitions}from'../commands/config/index.js';function a170_0x21b3(_0x184d13,_0x47b94b){_0x184d13=_0x184d13-0x98;const _0x14c22b=a170_0x14c2();let _0x21b332=_0x14c22b[_0x184d13];return _0x21b332;}import{doctorDefinition}from'../commands/doctor.js';import{updateDefinition}from'../commands/cli-update.js';import{schemaDefinition}from'../commands/schema.js';import{issueDefinitions}from'../commands/issue/index.js';import{fileDefinitions}from'../commands/file/index.js';import{ocrDefinitions}from'../commands/ocr/index.js';import{cliSkillDefinitions}from'../commands/cli-skill/index.js';import{userAccountDefinitions}from'../commands/user-account/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(_0x138904){const _0x97fe08=a170_0x21b3;for(const _0x2551bb of _0x138904){definitions[_0x97fe08(0xb7)](_0x2551bb[_0x97fe08(0xa7)]+':'+_0x2551bb[_0x97fe08(0xbd)],_0x2551bb);let _0x573f2a=serviceGroups[_0x97fe08(0xf1)](_0x2551bb['service']);!_0x573f2a&&(_0x573f2a=[],serviceGroups[_0x97fe08(0xb7)](_0x2551bb[_0x97fe08(0xa7)],_0x573f2a)),_0x573f2a[_0x97fe08(0xe0)](_0x2551bb);}}function registerDeclarativeService(_0x10a235,_0x2dd5e3,_0x1a4480){const _0x6d1320=a170_0x21b3;registerDefinitions(_0x2dd5e3);_0x1a4480?.[_0x6d1320(0xd2)]&&registerDefinitions([_0x1a4480[_0x6d1320(0xd2)]]);const _0x120a11=_0x3b8238=>_0x3b8238===_0x6d1320(0xaa)?'':_0x3b8238===_0x6d1320(0xe1)?'\x20\x20[write]':_0x6d1320(0xdd),_0x44f94e={'service':_0x2dd5e3[0x0][_0x6d1320(0xa7)],'label':_0x10a235,'commands':_0x2dd5e3[_0x6d1320(0xea)](_0x344717=>!_0x344717['hidden'])['map'](_0xa4a0f2=>({'command':_0xa4a0f2[_0x6d1320(0xbd)],'description':_0xa4a0f2['description'],'tag':_0x120a11(_0xa4a0f2[_0x6d1320(0xa1)])})),'declarative':!![],'defaultCommand':_0x1a4480?.[_0x6d1320(0xe9)]??(_0x1a4480?.[_0x6d1320(0xe8)]?_0x2dd5e3[0x0][_0x6d1320(0xbd)]:undefined),'wildcardDef':_0x1a4480?.[_0x6d1320(0xd2)],'isSingleCommand':_0x1a4480?.['isSingleCommand']};serviceRegistry[_0x6d1320(0xe0)](_0x44f94e),serviceByName[_0x6d1320(0xb7)](_0x44f94e[_0x6d1320(0xa7)],_0x44f94e);}registerDeclarativeService(a170_0x280a94(0xcd),initDefinitions,{'defaultCommand':'run','isSingleCommand':!![]}),registerDeclarativeService(a170_0x280a94(0xc1),projectDefinitions),registerDeclarativeService('Workspace',workspaceDefinitions),registerDeclarativeService(a170_0x280a94(0xec),appDefinitions),registerDeclarativeService('Authentication',authDefinitions,{'defaultCommand':a170_0x280a94(0x9f)}),registerDeclarativeService(a170_0x280a94(0xc8),tenantDefinitions),registerDeclarativeService(a170_0x280a94(0xd5),userAccountDefinitions),registerDeclarativeService(a170_0x280a94(0xeb),datasetDefinitions),registerDeclarativeService(a170_0x280a94(0xef),pageDefinitions),registerDeclarativeService(a170_0x280a94(0xf0),apiDefinitions),registerDeclarativeService(a170_0x280a94(0xce),dataDefinitions),registerDeclarativeService(a170_0x280a94(0xd8),bffDefinitions),registerDeclarativeService(a170_0x280a94(0xb9),notificationDefinitions),registerDeclarativeService('SQL\x20Queries',sqlDefinitions),registerDeclarativeService('Database\x20Connections',dbDefinitions),registerDeclarativeService(a170_0x280a94(0xae),menuDefinitions),registerDeclarativeService(a170_0x280a94(0xd1),taskDefinitions),registerDeclarativeService(a170_0x280a94(0xd3),roleDefinitions),registerDeclarativeService(a170_0x280a94(0xd4),permitDefinitions),registerDeclarativeService(a170_0x280a94(0xbb),appConfigDefinitions),registerDeclarativeService(a170_0x280a94(0xe3),kbDefinitions),registerDeclarativeService(a170_0x280a94(0xcc),issueDefinitions),registerDeclarativeService('File',fileDefinitions),registerDeclarativeService(a170_0x280a94(0xb0),ocrDefinitions),registerDeclarativeService(a170_0x280a94(0xc7),codegenDefinitions),registerDeclarativeService(a170_0x280a94(0xa6),configDefinitions),registerDeclarativeService('Diagnostics',[doctorDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a170_0x280a94(0xcb),[schemaDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a170_0x280a94(0xb5),[updateDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a170_0x280a94(0xe4),cliSkillDefinitions,{'defaultCommand':a170_0x280a94(0xca)}),registerDeclarativeService(a170_0x280a94(0xad),logsDefinitions,{'defaultCommand':a170_0x280a94(0xdf)}),registerDeclarativeService('Run\x20Scripts',[runDefinition],{'wildcardDef':runDefinition});{const last=serviceRegistry[serviceRegistry[a170_0x280a94(0x9a)]-0x1];last[a170_0x280a94(0xe5)]=[{'command':'<script>','description':a170_0x280a94(0x9e),'tag':a170_0x280a94(0x99)+runDefinition['risk']+']'}];}const REMOVED_COMMAND_REPLACEMENTS=new Map([['sql:save',a170_0x280a94(0xd7)],[a170_0x280a94(0xb6),'rabetbase\x20bff\x20create'],[a170_0x280a94(0xc5),a170_0x280a94(0xc2)],['menu:update',a170_0x280a94(0xb4)],[a170_0x280a94(0xed),'rabetbase\x20workspace\x20init\x20--appcode\x20<code>'],['skill:',a170_0x280a94(0xee)],[a170_0x280a94(0x9c),a170_0x280a94(0xee)],[a170_0x280a94(0xe7),a170_0x280a94(0xee)],['skills:install',a170_0x280a94(0xee)],[a170_0x280a94(0xe2),a170_0x280a94(0xe6)],[a170_0x280a94(0x98),a170_0x280a94(0xde)],[a170_0x280a94(0xa2),a170_0x280a94(0xab)],[a170_0x280a94(0xac),a170_0x280a94(0xc4)],[a170_0x280a94(0xdc),'rabetbase\x20kb\x20list'],[a170_0x280a94(0xda),a170_0x280a94(0x9d)],[a170_0x280a94(0xa5),a170_0x280a94(0xa8)],[a170_0x280a94(0xc0),a170_0x280a94(0xd6)],['knowledge-base:delete',a170_0x280a94(0xd9)]]),REMOVED_FLAT_COMMAND_REPLACEMENTS=new Map([[a170_0x280a94(0xbe),a170_0x280a94(0xa4)],[a170_0x280a94(0xbc),a170_0x280a94(0x9b)],[a170_0x280a94(0xc3),'rabetbase\x20run\x20build'],['preview','rabetbase\x20run\x20preview'],[a170_0x280a94(0xb8),a170_0x280a94(0xd0)]]);export function resolveRemovedCommand(_0x49c26b,_0x4b1b9c){const _0x3b79ef=a170_0x280a94;if(!_0x49c26b)return undefined;const _0x175709=REMOVED_COMMAND_REPLACEMENTS[_0x3b79ef(0xf1)](_0x49c26b+':'+(_0x4b1b9c??'')),_0x540db0=REMOVED_FLAT_COMMAND_REPLACEMENTS[_0x3b79ef(0xf1)](_0x49c26b),_0x46863e=_0x175709??_0x540db0;if(!_0x46863e)return undefined;const _0x2b9a2f=_0x540db0?_0x49c26b:_0x4b1b9c?_0x49c26b+'\x20'+_0x4b1b9c:_0x49c26b;return{'command':_0x2b9a2f,'message':'`rabetbase\x20'+_0x2b9a2f+'`\x20has\x20been\x20removed.','hint':_0x3b79ef(0xc9)+_0x46863e+_0x3b79ef(0xbf)};}export function findDefinition(_0x30ae22,_0x374b87){return definitions['get'](_0x30ae22+':'+_0x374b87);}export function isKnownService(_0xf8da1c){const _0x40d79d=a170_0x280a94;return serviceByName[_0x40d79d(0xcf)](_0xf8da1c);}export function isDeclarativeService(_0x4e00c6){const _0x4d231d=a170_0x280a94;return serviceGroups[_0x4d231d(0xcf)](_0x4e00c6)||serviceByName[_0x4d231d(0xf1)](_0x4e00c6)?.[_0x4d231d(0xd2)]!==undefined;}export function getServiceEntry(_0x11fdb6){const _0x43a51e=a170_0x280a94;return serviceByName[_0x43a51e(0xf1)](_0x11fdb6);}export function getLegacyHandler(_0x1eb7bc,_0xbe9510){return undefined;}export function getAllDefinitions(){const _0x4a21ed=a170_0x280a94;return Array[_0x4a21ed(0xb2)](definitions[_0x4a21ed(0xa9)]());}
1
+ const a170_0x5bbc69=a170_0x407a;(function(_0x54cfc7,_0x31ed9a){const _0x414004=a170_0x407a,_0x534e80=_0x54cfc7();while(!![]){try{const _0x5991cc=-parseInt(_0x414004(0x8b))/0x1+parseInt(_0x414004(0xaa))/0x2+-parseInt(_0x414004(0x8e))/0x3*(parseInt(_0x414004(0xbd))/0x4)+-parseInt(_0x414004(0x68))/0x5*(-parseInt(_0x414004(0x7b))/0x6)+parseInt(_0x414004(0x85))/0x7+parseInt(_0x414004(0x99))/0x8*(-parseInt(_0x414004(0x8d))/0x9)+-parseInt(_0x414004(0x6d))/0xa;if(_0x5991cc===_0x31ed9a)break;else _0x534e80['push'](_0x534e80['shift']());}catch(_0x29739d){_0x534e80['push'](_0x534e80['shift']());}}}(a170_0x4d4f,0x2ac29));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';function a170_0x4d4f(){const _0x42cb8e=['`\x20instead.','rabetbase\x20kb\x20delete','app:add','Workspace','skill:install','rabetbase\x20run\x20build','map','272034ftDUzH','wildcardDef','rabetbase\x20sql\x20create\x20--name\x20<name>\x20--db-id\x20<id>\x20--mode\x20sql|mybatisXml','Dataset\x20&\x20Operations','rabetbase\x20project\x20create\x20<project-name>','risk','skills:install','rabetbase\x20sql\x20create','filter','bff:new','logout','login','app:remote','rabetbase\x20auth\x20logout','build','Database\x20Connections','Roles','rabetbase\x20bff\x20create','read','32zXvohy','rabetbase\x20kb\x20create','Tenant\x20Members','hidden','Use\x20`','Run\x20any\x20package.json\x20script','\x20\x20[','Runtime\x20App\x20Config\x20Management','rabetbase\x20run\x20preview','\x20\x20[write]','1021315VoSQCt','Async\x20Tasks','write','Platform\x20Issue','sql:save','41770GCDZEa','project:init','rabetbase\x20app\x20list\x20--remote','sql:new','Quick\x20Start','Schema','command','Notification\x20Configuration','Permissions','isSingleCommand','set','create','app:use','BFF\x20Scripts','6VRCxJS','rabetbase\x20workspace\x20add\x20<name>\x20--appcode\x20<code>','Configuration','SQL\x20Queries','values','Diagnostics','rabetbase\x20kb\x20detail','knowledge-base:create','knowledge-base:detail','start','1605170EZmpMj','run','`rabetbase\x20','push','knowledge-base:update','skill:','74137EtShkb','preview','8217ghscNa','38091pHqvxu','knowledge-base:delete','rabetbase\x20cli-skill\x20install','Instant\x20API','has','File','rabetbase\x20workspace\x20init\x20--appcode\x20<code>','Menu','get','app:remove','install','1880tIFXXy','Run\x20Scripts','OCR','commands','Self\x20Update','User\x20Accounts','service','rabetbase\x20workspace\x20remove\x20<name>','Company\x20Knowledge\x20Base','defaultCommand'];a170_0x4d4f=function(){return _0x42cb8e;};return a170_0x4d4f();}import{codegenDefinitions}from'../commands/codegen/index.js';import{menuDefinitions}from'../commands/menu/index.js';import{taskDefinitions}from'../commands/task/index.js';import{tenantDefinitions}from'../commands/tenant/index.js';import{roleDefinitions}from'../commands/role/index.js';import{permitDefinitions}from'../commands/permit/index.js';import{appDefinitions}from'../commands/app/index.js';import{appConfigDefinitions}from'../commands/app-config/index.js';import{kbDefinitions}from'../commands/kb/index.js';import{notificationDefinitions}from'../commands/notification/index.js';import{workspaceDefinitions}from'../commands/workspace/index.js';import{configDefinitions}from'../commands/config/index.js';import{doctorDefinition}from'../commands/doctor.js';import{updateDefinition}from'../commands/cli-update.js';import{schemaDefinition}from'../commands/schema.js';import{issueDefinitions}from'../commands/issue/index.js';function a170_0x407a(_0x7ef521,_0x27e35c){_0x7ef521=_0x7ef521-0x66;const _0x4d4ff1=a170_0x4d4f();let _0x407a9f=_0x4d4ff1[_0x7ef521];return _0x407a9f;}import{fileDefinitions}from'../commands/file/index.js';import{ocrDefinitions}from'../commands/ocr/index.js';import{cliSkillDefinitions}from'../commands/cli-skill/index.js';import{userAccountDefinitions}from'../commands/user-account/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(_0x177cc7){const _0x27b10e=a170_0x407a;for(const _0x5c910a of _0x177cc7){definitions[_0x27b10e(0x77)](_0x5c910a['service']+':'+_0x5c910a[_0x27b10e(0x73)],_0x5c910a);let _0x1b4bc2=serviceGroups[_0x27b10e(0x96)](_0x5c910a[_0x27b10e(0x9f)]);!_0x1b4bc2&&(_0x1b4bc2=[],serviceGroups[_0x27b10e(0x77)](_0x5c910a[_0x27b10e(0x9f)],_0x1b4bc2)),_0x1b4bc2[_0x27b10e(0x88)](_0x5c910a);}}function registerDeclarativeService(_0x398a14,_0x41167f,_0x29f1d7){const _0x408dd9=a170_0x407a;registerDefinitions(_0x41167f);_0x29f1d7?.[_0x408dd9(0xab)]&&registerDefinitions([_0x29f1d7[_0x408dd9(0xab)]]);const _0x52203f=_0x523ce5=>_0x523ce5===_0x408dd9(0xbc)?'':_0x523ce5===_0x408dd9(0x6a)?_0x408dd9(0x67):'\x20\x20[high-risk-write]',_0x45dfcb={'service':_0x41167f[0x0][_0x408dd9(0x9f)],'label':_0x398a14,'commands':_0x41167f[_0x408dd9(0xb2)](_0x3b7fe4=>!_0x3b7fe4[_0x408dd9(0xc0)])[_0x408dd9(0xa9)](_0x49a022=>({'command':_0x49a022[_0x408dd9(0x73)],'description':_0x49a022['description'],'tag':_0x52203f(_0x49a022[_0x408dd9(0xaf)])})),'declarative':!![],'defaultCommand':_0x29f1d7?.[_0x408dd9(0xa2)]??(_0x29f1d7?.[_0x408dd9(0x76)]?_0x41167f[0x0][_0x408dd9(0x73)]:undefined),'wildcardDef':_0x29f1d7?.[_0x408dd9(0xab)],'isSingleCommand':_0x29f1d7?.[_0x408dd9(0x76)]};serviceRegistry[_0x408dd9(0x88)](_0x45dfcb),serviceByName[_0x408dd9(0x77)](_0x45dfcb['service'],_0x45dfcb);}registerDeclarativeService(a170_0x5bbc69(0x71),initDefinitions,{'defaultCommand':a170_0x5bbc69(0x86),'isSingleCommand':!![]}),registerDeclarativeService('Project',projectDefinitions),registerDeclarativeService(a170_0x5bbc69(0xa6),workspaceDefinitions),registerDeclarativeService('App\x20Management',appDefinitions),registerDeclarativeService('Authentication',authDefinitions,{'defaultCommand':a170_0x5bbc69(0xb5)}),registerDeclarativeService(a170_0x5bbc69(0xbf),tenantDefinitions),registerDeclarativeService(a170_0x5bbc69(0x9e),userAccountDefinitions),registerDeclarativeService(a170_0x5bbc69(0xad),datasetDefinitions),registerDeclarativeService('Smart\x20List\x20Pages\x20&\x20React\x20Custom\x20Pages',pageDefinitions),registerDeclarativeService('API\x20Development',apiDefinitions),registerDeclarativeService(a170_0x5bbc69(0x91),dataDefinitions),registerDeclarativeService(a170_0x5bbc69(0x7a),bffDefinitions),registerDeclarativeService(a170_0x5bbc69(0x74),notificationDefinitions),registerDeclarativeService(a170_0x5bbc69(0x7e),sqlDefinitions),registerDeclarativeService(a170_0x5bbc69(0xb9),dbDefinitions),registerDeclarativeService(a170_0x5bbc69(0x95),menuDefinitions),registerDeclarativeService(a170_0x5bbc69(0x69),taskDefinitions),registerDeclarativeService(a170_0x5bbc69(0xba),roleDefinitions),registerDeclarativeService(a170_0x5bbc69(0x75),permitDefinitions),registerDeclarativeService(a170_0x5bbc69(0xc4),appConfigDefinitions),registerDeclarativeService(a170_0x5bbc69(0xa1),kbDefinitions),registerDeclarativeService(a170_0x5bbc69(0x6b),issueDefinitions),registerDeclarativeService(a170_0x5bbc69(0x93),fileDefinitions),registerDeclarativeService(a170_0x5bbc69(0x9b),ocrDefinitions),registerDeclarativeService('Code\x20Generation',codegenDefinitions),registerDeclarativeService(a170_0x5bbc69(0x7d),configDefinitions),registerDeclarativeService(a170_0x5bbc69(0x80),[doctorDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a170_0x5bbc69(0x72),[schemaDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a170_0x5bbc69(0x9d),[updateDefinition],{'isSingleCommand':!![]}),registerDeclarativeService('CLI\x20Built-in\x20Skill',cliSkillDefinitions,{'defaultCommand':a170_0x5bbc69(0x98)}),registerDeclarativeService('Logs',logsDefinitions,{'defaultCommand':'show'}),registerDeclarativeService(a170_0x5bbc69(0x9a),[runDefinition],{'wildcardDef':runDefinition});{const last=serviceRegistry[serviceRegistry['length']-0x1];last[a170_0x5bbc69(0x9c)]=[{'command':'<script>','description':a170_0x5bbc69(0xc2),'tag':a170_0x5bbc69(0xc3)+runDefinition[a170_0x5bbc69(0xaf)]+']'}];}const REMOVED_COMMAND_REPLACEMENTS=new Map([[a170_0x5bbc69(0x6c),a170_0x5bbc69(0xac)],[a170_0x5bbc69(0xb3),a170_0x5bbc69(0xbb)],[a170_0x5bbc69(0x70),a170_0x5bbc69(0xb1)],['menu:update','rabetbase\x20menu\x20asset-update'],[a170_0x5bbc69(0x6e),a170_0x5bbc69(0x94)],[a170_0x5bbc69(0x8a),'rabetbase\x20cli-skill\x20install'],[a170_0x5bbc69(0xa7),a170_0x5bbc69(0x90)],['skills:',a170_0x5bbc69(0x90)],[a170_0x5bbc69(0xb0),a170_0x5bbc69(0x90)],[a170_0x5bbc69(0xb6),a170_0x5bbc69(0x6f)],[a170_0x5bbc69(0x79),'rabetbase\x20workspace\x20use\x20--app\x20<name>'],[a170_0x5bbc69(0xa5),a170_0x5bbc69(0x7c)],[a170_0x5bbc69(0x97),a170_0x5bbc69(0xa0)],['knowledge-base:list','rabetbase\x20kb\x20list'],[a170_0x5bbc69(0x83),a170_0x5bbc69(0x81)],[a170_0x5bbc69(0x82),a170_0x5bbc69(0xbe)],[a170_0x5bbc69(0x89),'rabetbase\x20kb\x20update'],[a170_0x5bbc69(0x8f),a170_0x5bbc69(0xa4)]]),REMOVED_FLAT_COMMAND_REPLACEMENTS=new Map([[a170_0x5bbc69(0x78),a170_0x5bbc69(0xae)],[a170_0x5bbc69(0x84),'rabetbase\x20run\x20start'],[a170_0x5bbc69(0xb8),a170_0x5bbc69(0xa8)],[a170_0x5bbc69(0x8c),a170_0x5bbc69(0x66)],[a170_0x5bbc69(0xb4),a170_0x5bbc69(0xb7)]]);export function resolveRemovedCommand(_0x5d1961,_0x44663d){const _0x124d80=a170_0x5bbc69;if(!_0x5d1961)return undefined;const _0x3d5122=REMOVED_COMMAND_REPLACEMENTS[_0x124d80(0x96)](_0x5d1961+':'+(_0x44663d??'')),_0xa58386=REMOVED_FLAT_COMMAND_REPLACEMENTS['get'](_0x5d1961),_0x137d43=_0x3d5122??_0xa58386;if(!_0x137d43)return undefined;const _0x361d8b=_0xa58386?_0x5d1961:_0x44663d?_0x5d1961+'\x20'+_0x44663d:_0x5d1961;return{'command':_0x361d8b,'message':_0x124d80(0x87)+_0x361d8b+'`\x20has\x20been\x20removed.','hint':_0x124d80(0xc1)+_0x137d43+_0x124d80(0xa3)};}export function findDefinition(_0x2e7281,_0x3d2ebe){const _0x2d0c52=a170_0x5bbc69;return definitions[_0x2d0c52(0x96)](_0x2e7281+':'+_0x3d2ebe);}export function isKnownService(_0x577291){const _0x286679=a170_0x5bbc69;return serviceByName[_0x286679(0x92)](_0x577291);}export function isDeclarativeService(_0x5ce6e7){const _0xcf66d5=a170_0x5bbc69;return serviceGroups[_0xcf66d5(0x92)](_0x5ce6e7)||serviceByName['get'](_0x5ce6e7)?.[_0xcf66d5(0xab)]!==undefined;}export function getServiceEntry(_0x4e5bbc){return serviceByName['get'](_0x4e5bbc);}export function getLegacyHandler(_0x50b838,_0x1b981b){return undefined;}export function getAllDefinitions(){const _0x250fb9=a170_0x5bbc69;return Array['from'](definitions[_0x250fb9(0x7f)]());}
@@ -1 +1 @@
1
- const a171_0x2dd705=a171_0x110d;(function(_0x34fd60,_0x2dc132){const _0x5298d5=a171_0x110d,_0x2c128c=_0x34fd60();while(!![]){try{const _0x20f708=-parseInt(_0x5298d5(0x1fd))/0x1*(parseInt(_0x5298d5(0x207))/0x2)+parseInt(_0x5298d5(0x206))/0x3+parseInt(_0x5298d5(0x203))/0x4+parseInt(_0x5298d5(0x208))/0x5+-parseInt(_0x5298d5(0x209))/0x6+-parseInt(_0x5298d5(0x20e))/0x7*(-parseInt(_0x5298d5(0x202))/0x8)+-parseInt(_0x5298d5(0x20b))/0x9*(parseInt(_0x5298d5(0x1f3))/0xa);if(_0x20f708===_0x2dc132)break;else _0x2c128c['push'](_0x2c128c['shift']());}catch(_0x130b25){_0x2c128c['push'](_0x2c128c['shift']());}}}(a171_0x5f0a,0xd00a7));import{createAppRole}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a171_0x5f0a(){const _0x4bb09d=['str','/smartapi/permit/role/create','9297967zyarMm','236130diSwjl','Created\x20role\x20','role','\x20(id=','create','length','POST','appCode','name','remark','1HVSklA','flagMissing','trim','Role\x20name\x20cannot\x20exceed\x2064\x20characters.','Pass\x20--name\x20<roleName>.','8djVEZT','6241824zmoqLL','CUSTOM','roleName','557670DhSsKX','134716sETvFo','3174655toblIQ','6397896BbOKVM','Create\x20a\x20CUSTOM\x20user\x20group\x20(role)','657HDSUzy'];a171_0x5f0a=function(){return _0x4bb09d;};return a171_0x5f0a();}import{asDryRunResult}from'../../commands/common/dry-run.js';function a171_0x110d(_0x258eab,_0x349cca){_0x258eab=_0x258eab-0x1f3;const _0x5f0a17=a171_0x5f0a();let _0x110d09=_0x5f0a17[_0x258eab];return _0x110d09;}import{NAME_FLAG,REMARK_FLAG,projectRole}from'../../commands/role/shared.js';const CREATE_PATH=a171_0x2dd705(0x20d);function readName(_0x5c0a90){const _0x3a4dc7=a171_0x2dd705,_0x434980=_0x5c0a90[_0x3a4dc7(0x20c)](_0x3a4dc7(0x1fb))['trim']();if(!_0x434980)throw CliErrors[_0x3a4dc7(0x1fe)](_0x3a4dc7(0x1fb),_0x3a4dc7(0x201));if(_0x434980[_0x3a4dc7(0x1f8)]>0x40)throw CliErrors['validation'](_0x3a4dc7(0x200));return _0x434980;}export const roleCreate={'service':a171_0x2dd705(0x1f5),'command':'create','description':a171_0x2dd705(0x20a),'risk':'write','flags':[NAME_FLAG,REMARK_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x454703){readName(_0x454703);},async 'dryRun'(_0x7604b5){const _0x3dd1a9=a171_0x2dd705,_0x4210b2=readName(_0x7604b5),_0x442d98=_0x7604b5[_0x3dd1a9(0x20c)]('remark')[_0x3dd1a9(0x1ff)]()||undefined;return asDryRunResult({'operation':'create','selector':{'appCode':_0x7604b5[_0x3dd1a9(0x1fa)],'roleName':_0x4210b2},'before':null,'after':{'roleName':_0x4210b2,'roleType':_0x3dd1a9(0x204),'remark':_0x442d98},'dryRun':!![],'backend':{'method':'POST','path':CREATE_PATH},'warnings':[]},{'method':_0x3dd1a9(0x1f9),'url':CREATE_PATH});},async 'execute'(_0x576d59){const _0x86fcda=a171_0x2dd705,_0x5da701=readName(_0x576d59),_0x158cd0=_0x576d59[_0x86fcda(0x20c)](_0x86fcda(0x1fc))[_0x86fcda(0x1ff)]()||undefined,_0x10faba=await createAppRole({'appCode':_0x576d59[_0x86fcda(0x1fa)],'roleName':_0x5da701,..._0x158cd0?{'remark':_0x158cd0}:{}});return{'ok':!![],'data':{'operation':_0x86fcda(0x1f7),'selector':{'appCode':_0x576d59[_0x86fcda(0x1fa)],'roleId':_0x10faba['id'],'roleName':_0x5da701},'before':null,'after':projectRole(_0x10faba),'dryRun':![],'backend':{'method':_0x86fcda(0x1f9),'path':CREATE_PATH},'warnings':[]},'message':_0x86fcda(0x1f4)+_0x10faba[_0x86fcda(0x205)]+_0x86fcda(0x1f6)+_0x10faba['id']+')'};}};
1
+ const a171_0x3ae7c=a171_0x2b46;function a171_0xd9ad(){const _0x3fca75=['/smartapi/permit/role/create','Create\x20a\x20CUSTOM\x20user\x20group\x20(role)','23050FuZBXn','Pass\x20--name\x20<roleName>.','trim','str','Created\x20role\x20','8101106EhtxZF','CUSTOM','1KGHFrQ','704NVNReP','POST','18844zpimHb','length','name','remark','59394wMuLKN','4213XVtPLc','create','585CpTBRx','2004HBKyWC','roleName','appCode','2110unhxJJ','\x20(id=','role','8gqHREp','3252dFNuGd','314763oDTvJR'];a171_0xd9ad=function(){return _0x3fca75;};return a171_0xd9ad();}(function(_0x5cc01b,_0x2b60dd){const _0x2bfb8e=a171_0x2b46,_0x4e1d25=_0x5cc01b();while(!![]){try{const _0x4337bf=parseInt(_0x2bfb8e(0x19b))/0x1*(parseInt(_0x2bfb8e(0x1a2))/0x2)+parseInt(_0x2bfb8e(0x191))/0x3*(parseInt(_0x2bfb8e(0x18f))/0x4)+-parseInt(_0x2bfb8e(0x18c))/0x5*(-parseInt(_0x2bfb8e(0x190))/0x6)+parseInt(_0x2bfb8e(0x19e))/0x7*(parseInt(_0x2bfb8e(0x19c))/0x8)+-parseInt(_0x2bfb8e(0x1a5))/0x9*(-parseInt(_0x2bfb8e(0x194))/0xa)+-parseInt(_0x2bfb8e(0x1a3))/0xb*(parseInt(_0x2bfb8e(0x1a6))/0xc)+-parseInt(_0x2bfb8e(0x199))/0xd;if(_0x4337bf===_0x2b60dd)break;else _0x4e1d25['push'](_0x4e1d25['shift']());}catch(_0x35a067){_0x4e1d25['push'](_0x4e1d25['shift']());}}}(a171_0xd9ad,0x28fb5));import{createAppRole}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{NAME_FLAG,REMARK_FLAG,projectRole}from'../../commands/role/shared.js';function a171_0x2b46(_0x3e3d1c,_0x36e9b1){_0x3e3d1c=_0x3e3d1c-0x18a;const _0xd9ad3b=a171_0xd9ad();let _0x2b4618=_0xd9ad3b[_0x3e3d1c];return _0x2b4618;}const CREATE_PATH=a171_0x3ae7c(0x192);function readName(_0x43ef56){const _0x3e191c=a171_0x3ae7c,_0xeccfb2=_0x43ef56['str'](_0x3e191c(0x1a0))[_0x3e191c(0x196)]();if(!_0xeccfb2)throw CliErrors['flagMissing']('name',_0x3e191c(0x195));if(_0xeccfb2[_0x3e191c(0x19f)]>0x40)throw CliErrors['validation']('Role\x20name\x20cannot\x20exceed\x2064\x20characters.');return _0xeccfb2;}export const roleCreate={'service':a171_0x3ae7c(0x18e),'command':a171_0x3ae7c(0x1a4),'description':a171_0x3ae7c(0x193),'risk':'write','flags':[NAME_FLAG,REMARK_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x536b6a){readName(_0x536b6a);},async 'dryRun'(_0x4fb9d6){const _0x1359db=a171_0x3ae7c,_0x56d024=readName(_0x4fb9d6),_0x4fa6c6=_0x4fb9d6[_0x1359db(0x197)](_0x1359db(0x1a1))[_0x1359db(0x196)]()||undefined;return asDryRunResult({'operation':_0x1359db(0x1a4),'selector':{'appCode':_0x4fb9d6[_0x1359db(0x18b)],'roleName':_0x56d024},'before':null,'after':{'roleName':_0x56d024,'roleType':_0x1359db(0x19a),'remark':_0x4fa6c6},'dryRun':!![],'backend':{'method':_0x1359db(0x19d),'path':CREATE_PATH},'warnings':[]},{'method':_0x1359db(0x19d),'url':CREATE_PATH});},async 'execute'(_0xaf57cb){const _0x7a7d77=a171_0x3ae7c,_0xb4de8c=readName(_0xaf57cb),_0x1c6484=_0xaf57cb[_0x7a7d77(0x197)](_0x7a7d77(0x1a1))[_0x7a7d77(0x196)]()||undefined,_0xf80146=await createAppRole({'appCode':_0xaf57cb[_0x7a7d77(0x18b)],'roleName':_0xb4de8c,..._0x1c6484?{'remark':_0x1c6484}:{}});return{'ok':!![],'data':{'operation':_0x7a7d77(0x1a4),'selector':{'appCode':_0xaf57cb[_0x7a7d77(0x18b)],'roleId':_0xf80146['id'],'roleName':_0xb4de8c},'before':null,'after':projectRole(_0xf80146),'dryRun':![],'backend':{'method':_0x7a7d77(0x19d),'path':CREATE_PATH},'warnings':[]},'message':_0x7a7d77(0x198)+_0xf80146[_0x7a7d77(0x18a)]+_0x7a7d77(0x18d)+_0xf80146['id']+')'};}};
@@ -1 +1 @@
1
- const a172_0x2b0ff3=a172_0x1604;(function(_0x4b4d11,_0x124950){const _0x11f2f6=a172_0x1604,_0x4cf02d=_0x4b4d11();while(!![]){try{const _0x84983a=parseInt(_0x11f2f6(0x98))/0x1*(parseInt(_0x11f2f6(0x9e))/0x2)+parseInt(_0x11f2f6(0x9a))/0x3*(-parseInt(_0x11f2f6(0xaa))/0x4)+parseInt(_0x11f2f6(0x93))/0x5+-parseInt(_0x11f2f6(0xa6))/0x6*(parseInt(_0x11f2f6(0xa4))/0x7)+-parseInt(_0x11f2f6(0xa9))/0x8*(parseInt(_0x11f2f6(0xa5))/0x9)+parseInt(_0x11f2f6(0xa0))/0xa*(-parseInt(_0x11f2f6(0x94))/0xb)+parseInt(_0x11f2f6(0xa1))/0xc;if(_0x84983a===_0x124950)break;else _0x4cf02d['push'](_0x4cf02d['shift']());}catch(_0x3e187d){_0x4cf02d['push'](_0x4cf02d['shift']());}}}(a172_0x2247,0xa642a));import{deleteAppRole}from'../../core/api-client.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{assertCustomRole,getRoleById,projectRole,ROLE_ID_FLAG}from'../../commands/role/shared.js';function a172_0x2247(){const _0x47853e=['336290yppgYo','18624816mLOpHP','num','high-risk-write','14mVCYyq','5310261PduhvM','1960362lxlUJs','POST','Delete\x20a\x20CUSTOM\x20role\x20(DEV/ADMIN\x20rejected);\x20requires\x20--yes','8jHPFif','188UKlFFO','2950265uCpPYO','22ZrDwmd','userCount','\x20member(s);\x20they\x20will\x20lose\x20this\x20group.','role','1MCrrUK','appCode','13773xGYoDY','\x20(id=','roleName','Deleted\x20role\x20','130798RFBCwA','delete'];a172_0x2247=function(){return _0x47853e;};return a172_0x2247();}function a172_0x1604(_0x423779,_0x5230f8){_0x423779=_0x423779-0x93;const _0x224750=a172_0x2247();let _0x16042c=_0x224750[_0x423779];return _0x16042c;}const DELETE_PATH='/smartapi/permit/role/delete';export const roleDelete={'service':a172_0x2b0ff3(0x97),'command':a172_0x2b0ff3(0x9f),'description':a172_0x2b0ff3(0xa8),'risk':a172_0x2b0ff3(0xa3),'flags':[ROLE_ID_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x479a6b){const _0x434aae=a172_0x2b0ff3,_0x329a34=_0x479a6b[_0x434aae(0xa2)]('id'),_0x36d7a4=await getRoleById(_0x479a6b['appCode'],_0x329a34);return assertCustomRole(_0x36d7a4,_0x434aae(0x9f)),asDryRunResult({'operation':_0x434aae(0x9f),'selector':{'appCode':_0x479a6b['appCode'],'roleId':_0x329a34,'roleName':_0x36d7a4[_0x434aae(0x9c)]},'before':projectRole(_0x36d7a4),'after':null,'dryRun':!![],'backend':{'method':'POST','path':DELETE_PATH},'warnings':_0x36d7a4['userCount']>0x0?['Role\x20still\x20has\x20'+_0x36d7a4[_0x434aae(0x95)]+_0x434aae(0x96)]:[]},{'method':'POST','url':DELETE_PATH});},async 'execute'(_0xe09d2){const _0xe24e53=a172_0x2b0ff3,_0xdc0c2a=_0xe09d2[_0xe24e53(0xa2)]('id'),_0x55bca6=await getRoleById(_0xe09d2[_0xe24e53(0x99)],_0xdc0c2a);return assertCustomRole(_0x55bca6,_0xe24e53(0x9f)),await deleteAppRole(_0xdc0c2a),{'ok':!![],'data':{'operation':_0xe24e53(0x9f),'selector':{'appCode':_0xe09d2[_0xe24e53(0x99)],'roleId':_0xdc0c2a,'roleName':_0x55bca6[_0xe24e53(0x9c)]},'before':projectRole(_0x55bca6),'after':null,'dryRun':![],'backend':{'method':_0xe24e53(0xa7),'path':DELETE_PATH},'warnings':[]},'message':_0xe24e53(0x9d)+_0x55bca6[_0xe24e53(0x9c)]+_0xe24e53(0x9b)+_0xdc0c2a+')'};}};
1
+ const a172_0x2f5cb5=a172_0x3c85;(function(_0x5bb2ee,_0x555f86){const _0x855723=a172_0x3c85,_0x320601=_0x5bb2ee();while(!![]){try{const _0x4d3ff9=-parseInt(_0x855723(0xe7))/0x1*(-parseInt(_0x855723(0xd0))/0x2)+-parseInt(_0x855723(0xd2))/0x3+-parseInt(_0x855723(0xe0))/0x4*(parseInt(_0x855723(0xdb))/0x5)+-parseInt(_0x855723(0xe1))/0x6*(parseInt(_0x855723(0xe6))/0x7)+-parseInt(_0x855723(0xd8))/0x8+-parseInt(_0x855723(0xd4))/0x9*(-parseInt(_0x855723(0xe4))/0xa)+parseInt(_0x855723(0xd3))/0xb;if(_0x4d3ff9===_0x555f86)break;else _0x320601['push'](_0x320601['shift']());}catch(_0x575fa2){_0x320601['push'](_0x320601['shift']());}}}(a172_0x556e,0x59b39));import{deleteAppRole}from'../../core/api-client.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a172_0x556e(){const _0x29b8bd=['3846264zsIjfc','POST','Delete\x20a\x20CUSTOM\x20role\x20(DEV/ADMIN\x20rejected);\x20requires\x20--yes','515ulakuv','userCount','\x20member(s);\x20they\x20will\x20lose\x20this\x20group.','high-risk-write','Role\x20still\x20has\x20','11348NMCZph','18qynPsC','role','Deleted\x20role\x20','90CFDVnp','appCode','24178MLcyLq','11cwOItD','54246rUAkgh','num','1549935BXlJAO','12696684ZbKGwa','214821JAiYVr','/smartapi/permit/role/delete','roleName','delete'];a172_0x556e=function(){return _0x29b8bd;};return a172_0x556e();}import{asDryRunResult}from'../../commands/common/dry-run.js';function a172_0x3c85(_0x8262ab,_0x4a9f59){_0x8262ab=_0x8262ab-0xd0;const _0x556e8f=a172_0x556e();let _0x3c85f5=_0x556e8f[_0x8262ab];return _0x3c85f5;}import{assertCustomRole,getRoleById,projectRole,ROLE_ID_FLAG}from'../../commands/role/shared.js';const DELETE_PATH=a172_0x2f5cb5(0xd5);export const roleDelete={'service':a172_0x2f5cb5(0xe2),'command':a172_0x2f5cb5(0xd7),'description':a172_0x2f5cb5(0xda),'risk':a172_0x2f5cb5(0xde),'flags':[ROLE_ID_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x59ed42){const _0x4f630a=a172_0x2f5cb5,_0x6d1e5a=_0x59ed42[_0x4f630a(0xd1)]('id'),_0x49a047=await getRoleById(_0x59ed42[_0x4f630a(0xe5)],_0x6d1e5a);return assertCustomRole(_0x49a047,_0x4f630a(0xd7)),asDryRunResult({'operation':'delete','selector':{'appCode':_0x59ed42[_0x4f630a(0xe5)],'roleId':_0x6d1e5a,'roleName':_0x49a047['roleName']},'before':projectRole(_0x49a047),'after':null,'dryRun':!![],'backend':{'method':_0x4f630a(0xd9),'path':DELETE_PATH},'warnings':_0x49a047[_0x4f630a(0xdc)]>0x0?[_0x4f630a(0xdf)+_0x49a047[_0x4f630a(0xdc)]+_0x4f630a(0xdd)]:[]},{'method':_0x4f630a(0xd9),'url':DELETE_PATH});},async 'execute'(_0x2fa95f){const _0x581213=a172_0x2f5cb5,_0x2e53a3=_0x2fa95f[_0x581213(0xd1)]('id'),_0x285f14=await getRoleById(_0x2fa95f['appCode'],_0x2e53a3);return assertCustomRole(_0x285f14,'delete'),await deleteAppRole(_0x2e53a3),{'ok':!![],'data':{'operation':_0x581213(0xd7),'selector':{'appCode':_0x2fa95f[_0x581213(0xe5)],'roleId':_0x2e53a3,'roleName':_0x285f14[_0x581213(0xd6)]},'before':projectRole(_0x285f14),'after':null,'dryRun':![],'backend':{'method':_0x581213(0xd9),'path':DELETE_PATH},'warnings':[]},'message':_0x581213(0xe3)+_0x285f14['roleName']+'\x20(id='+_0x2e53a3+')'};}};
@@ -1 +1 @@
1
- const a173_0x4e4eca=a173_0x505a;function a173_0x505a(_0x1adec0,_0x2f3363){_0x1adec0=_0x1adec0-0xe0;const _0x3dad37=a173_0x3dad();let _0x505a23=_0x3dad37[_0x1adec0];return _0x505a23;}(function(_0x4c2d4f,_0xb8bd62){const _0x48e118=a173_0x505a,_0x3ec3b7=_0x4c2d4f();while(!![]){try{const _0x1a2d9d=parseInt(_0x48e118(0xe3))/0x1*(-parseInt(_0x48e118(0xe1))/0x2)+-parseInt(_0x48e118(0xe9))/0x3+-parseInt(_0x48e118(0xe5))/0x4*(-parseInt(_0x48e118(0xe8))/0x5)+parseInt(_0x48e118(0xef))/0x6*(-parseInt(_0x48e118(0xe6))/0x7)+parseInt(_0x48e118(0xe4))/0x8+-parseInt(_0x48e118(0xee))/0x9+-parseInt(_0x48e118(0xe7))/0xa*(-parseInt(_0x48e118(0xed))/0xb);if(_0x1a2d9d===_0xb8bd62)break;else _0x3ec3b7['push'](_0x3ec3b7['shift']());}catch(_0x1d2232){_0x3ec3b7['push'](_0x3ec3b7['shift']());}}}(a173_0x3dad,0x3cfdc));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{getRoleById,projectRole,ROLE_ID_FLAG}from'../../commands/role/shared.js';function a173_0x3dad(){const _0x2ea6c5=['64722gnvKlb','num','25772HgNeMw','roleName','11qjUhKI','919744ZkoWFI','431668yVOvyy','308WYSLvx','10SlpYqw','5CEhvwf','30327EaZyph','appCode','role','read','8047479TgptNC','703539rvmSQX'];a173_0x3dad=function(){return _0x2ea6c5;};return a173_0x3dad();}export const roleDetail={'service':a173_0x4e4eca(0xeb),'command':'detail','description':'Show\x20a\x20single\x20role\x27s\x20detail','risk':a173_0x4e4eca(0xec),'flags':[ROLE_ID_FLAG,APPCODE_FLAG_OPTIONAL],async 'execute'(_0x59a426){const _0x206096=a173_0x4e4eca,_0x40a096=_0x59a426[_0x206096(0xe0)]('id'),_0x2daa02=await getRoleById(_0x59a426[_0x206096(0xea)],_0x40a096);return{'ok':!![],'data':{'role':projectRole(_0x2daa02)},'message':'Role\x20'+_0x2daa02[_0x206096(0xe2)]+'\x20('+_0x2daa02['roleType']+')'};}};
1
+ const a173_0x3fe5cc=a173_0x30f1;(function(_0x518ff8,_0x157fb5){const _0x480f66=a173_0x30f1,_0x412fa1=_0x518ff8();while(!![]){try{const _0x46db06=-parseInt(_0x480f66(0x1c5))/0x1+parseInt(_0x480f66(0x1d2))/0x2*(-parseInt(_0x480f66(0x1d0))/0x3)+-parseInt(_0x480f66(0x1cf))/0x4*(-parseInt(_0x480f66(0x1cd))/0x5)+parseInt(_0x480f66(0x1d3))/0x6+-parseInt(_0x480f66(0x1c4))/0x7+parseInt(_0x480f66(0x1cb))/0x8+parseInt(_0x480f66(0x1ce))/0x9;if(_0x46db06===_0x157fb5)break;else _0x412fa1['push'](_0x412fa1['shift']());}catch(_0x3f270d){_0x412fa1['push'](_0x412fa1['shift']());}}}(a173_0x4fb0,0xc8000));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a173_0x30f1(_0x39689c,_0x521c8f){_0x39689c=_0x39689c-0x1c4;const _0x4fb0b9=a173_0x4fb0();let _0x30f136=_0x4fb0b9[_0x39689c];return _0x30f136;}function a173_0x4fb0(){const _0x114044=['1103159XAcYYt','Show\x20a\x20single\x20role\x27s\x20detail','Role\x20','roleName','appCode','roleType','8588056RtEYeI','role','2338550JsyxOh','13190589SbCixQ','12gtaCYd','9bMZIKB','detail','807706WolNcV','4597368errLUl','11021976RaxZzc'];a173_0x4fb0=function(){return _0x114044;};return a173_0x4fb0();}import{getRoleById,projectRole,ROLE_ID_FLAG}from'../../commands/role/shared.js';export const roleDetail={'service':a173_0x3fe5cc(0x1cc),'command':a173_0x3fe5cc(0x1d1),'description':a173_0x3fe5cc(0x1c6),'risk':'read','flags':[ROLE_ID_FLAG,APPCODE_FLAG_OPTIONAL],async 'execute'(_0xa9a31){const _0x2fa2b6=a173_0x3fe5cc,_0x595264=_0xa9a31['num']('id'),_0x2e9e13=await getRoleById(_0xa9a31[_0x2fa2b6(0x1c9)],_0x595264);return{'ok':!![],'data':{'role':projectRole(_0x2e9e13)},'message':_0x2fa2b6(0x1c7)+_0x2e9e13[_0x2fa2b6(0x1c8)]+'\x20('+_0x2e9e13[_0x2fa2b6(0x1ca)]+')'};}};
@@ -1 +1 @@
1
- (function(_0x322763,_0x2788d8){const _0x3c0450=a174_0x9e71,_0x38c0a0=_0x322763();while(!![]){try{const _0x15f297=parseInt(_0x3c0450(0x160))/0x1*(parseInt(_0x3c0450(0x162))/0x2)+parseInt(_0x3c0450(0x15b))/0x3*(-parseInt(_0x3c0450(0x161))/0x4)+parseInt(_0x3c0450(0x163))/0x5+-parseInt(_0x3c0450(0x15f))/0x6+-parseInt(_0x3c0450(0x15d))/0x7+parseInt(_0x3c0450(0x15c))/0x8+parseInt(_0x3c0450(0x15e))/0x9;if(_0x15f297===_0x2788d8)break;else _0x38c0a0['push'](_0x38c0a0['shift']());}catch(_0x420ead){_0x38c0a0['push'](_0x38c0a0['shift']());}}}(a174_0x4b3c,0xb7727));function a174_0x4b3c(){const _0x29270a=['21972yScoQg','1545952PwhGGy','9929381qHhnjG','30091095nphJcO','8758974LvYZhr','364031LFWCXY','172cIjzof','2gnBsWy','219565VVIVkz'];a174_0x4b3c=function(){return _0x29270a;};return a174_0x4b3c();}import{roleList}from'../../commands/role/list.js';import{roleDetail}from'../../commands/role/detail.js';import{roleCreate}from'../../commands/role/create.js';function a174_0x9e71(_0x5d5ecc,_0x4fcf6c){_0x5d5ecc=_0x5d5ecc-0x15b;const _0x4b3c1a=a174_0x4b3c();let _0x9e7171=_0x4b3c1a[_0x5d5ecc];return _0x9e7171;}import{roleUpdate}from'../../commands/role/update.js';import{roleDelete}from'../../commands/role/delete.js';import{roleUserResolve}from'../../commands/role/user-resolve.js';import{roleUserAdd}from'../../commands/role/user-add.js';import{roleUserRemove}from'../../commands/role/user-remove.js';export const roleDefinitions=[roleList,roleDetail,roleCreate,roleUpdate,roleDelete,roleUserResolve,roleUserAdd,roleUserRemove];
1
+ (function(_0x5953d6,_0x1caebc){const _0x415685=a174_0x12d6,_0x569889=_0x5953d6();while(!![]){try{const _0x1cbf3d=parseInt(_0x415685(0x17d))/0x1*(parseInt(_0x415685(0x177))/0x2)+parseInt(_0x415685(0x17e))/0x3+-parseInt(_0x415685(0x17a))/0x4+parseInt(_0x415685(0x17c))/0x5*(parseInt(_0x415685(0x175))/0x6)+parseInt(_0x415685(0x179))/0x7+parseInt(_0x415685(0x176))/0x8*(-parseInt(_0x415685(0x17b))/0x9)+-parseInt(_0x415685(0x178))/0xa;if(_0x1cbf3d===_0x1caebc)break;else _0x569889['push'](_0x569889['shift']());}catch(_0x513d8a){_0x569889['push'](_0x569889['shift']());}}}(a174_0x3189,0x32427));import{roleList}from'../../commands/role/list.js';import{roleDetail}from'../../commands/role/detail.js';function a174_0x3189(){const _0x370225=['1421622iheDhz','1782856sKMvah','29262TGTRzZ','63240OIjrtk','218624dkxhwS','992384WEtKKJ','9kDzcab','5IjcRIZ','16cUquWT','542625BMdAOp'];a174_0x3189=function(){return _0x370225;};return a174_0x3189();}function a174_0x12d6(_0x193a66,_0x328e1b){_0x193a66=_0x193a66-0x175;const _0x31898b=a174_0x3189();let _0x12d656=_0x31898b[_0x193a66];return _0x12d656;}import{roleCreate}from'../../commands/role/create.js';import{roleUpdate}from'../../commands/role/update.js';import{roleDelete}from'../../commands/role/delete.js';import{roleUserResolve}from'../../commands/role/user-resolve.js';import{roleUserAdd}from'../../commands/role/user-add.js';import{roleUserRemove}from'../../commands/role/user-remove.js';export const roleDefinitions=[roleList,roleDetail,roleCreate,roleUpdate,roleDelete,roleUserResolve,roleUserAdd,roleUserRemove];
@@ -1 +1 @@
1
- const a175_0x32e975=a175_0x3c74;(function(_0x3e342a,_0x31cd89){const _0x5c10c4=a175_0x3c74,_0x27331a=_0x3e342a();while(!![]){try{const _0x3f1a07=parseInt(_0x5c10c4(0x134))/0x1+parseInt(_0x5c10c4(0x138))/0x2*(-parseInt(_0x5c10c4(0x13a))/0x3)+parseInt(_0x5c10c4(0x129))/0x4*(-parseInt(_0x5c10c4(0x136))/0x5)+-parseInt(_0x5c10c4(0x13e))/0x6+-parseInt(_0x5c10c4(0x12b))/0x7*(parseInt(_0x5c10c4(0x13c))/0x8)+-parseInt(_0x5c10c4(0x12f))/0x9+parseInt(_0x5c10c4(0x132))/0xa;if(_0x3f1a07===_0x31cd89)break;else _0x27331a['push'](_0x27331a['shift']());}catch(_0x4cfd35){_0x27331a['push'](_0x27331a['shift']());}}}(a175_0x3f3f,0x605e6));function a175_0x3c74(_0x352094,_0x458654){_0x352094=_0x352094-0x128;const _0x3f3f55=a175_0x3f3f();let _0x3c7458=_0x3f3f55[_0x352094];return _0x3c7458;}import{listAppRoles}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{projectRole}from'../../commands/role/shared.js';function a175_0x3f3f(){const _0x38105b=['string','ADMIN','Page\x20size\x20(1-100)','number','includes','map','num','40TOXpYq','pagesize','28WDovGt','Page\x20index\x20(1-based)','Found\x20','--page\x20must\x20be\x20greater\x20than\x20or\x20equal\x20to\x201.','1890486EaLCxO','str','\x20role(s)','17758540gCiMRK','filter','205259JBqTFl','validation','13340UZVQaR','page','5102CeRSsj','type','519onbFcG','USER','412432FTTgxL','toUpperCase','4212684ApXcln','List\x20user\x20groups\x20(roles)\x20for\x20the\x20current\x20app','CUSTOM','join','Use\x20one\x20of:\x20','Invalid\x20--type\x20\x22','Filter\x20by\x20role\x20type'];a175_0x3f3f=function(){return _0x38105b;};return a175_0x3f3f();}const ROLE_TYPES=[a175_0x32e975(0x146),'DEV',a175_0x32e975(0x13b),a175_0x32e975(0x140)];export const roleList={'service':'role','command':'list','description':a175_0x32e975(0x13f),'risk':'read','flags':[APPCODE_FLAG_OPTIONAL,{'name':a175_0x32e975(0x139),'type':a175_0x32e975(0x145),'required':![],'description':a175_0x32e975(0x144),'enum':ROLE_TYPES},{'name':a175_0x32e975(0x137),'type':a175_0x32e975(0x148),'description':a175_0x32e975(0x12c),'default':0x1},{'name':a175_0x32e975(0x12a),'type':'number','description':a175_0x32e975(0x147),'default':0x64}],async 'validate'(_0x295f80){const _0x48a0be=a175_0x32e975,_0x465ed5=_0x295f80[_0x48a0be(0x130)](_0x48a0be(0x139))['trim']();if(_0x465ed5&&!ROLE_TYPES[_0x48a0be(0x149)](_0x465ed5['toUpperCase']()))throw CliErrors[_0x48a0be(0x135)](_0x48a0be(0x143)+_0x465ed5+'\x22.',_0x48a0be(0x142)+ROLE_TYPES[_0x48a0be(0x141)](',\x20')+'.');const _0x38d053=_0x295f80[_0x48a0be(0x128)]('page',0x1),_0x4771ff=_0x295f80[_0x48a0be(0x128)](_0x48a0be(0x12a),0x64);if(_0x38d053<0x1)throw CliErrors[_0x48a0be(0x135)](_0x48a0be(0x12e));if(_0x4771ff<0x1||_0x4771ff>0x64)throw CliErrors[_0x48a0be(0x135)]('--pagesize\x20must\x20be\x20between\x201\x20and\x20100.');},async 'execute'(_0x16da12){const _0x582a9d=a175_0x32e975,_0x1a4481=_0x16da12[_0x582a9d(0x128)](_0x582a9d(0x137),0x1)||0x1,_0x58b869=_0x16da12[_0x582a9d(0x128)](_0x582a9d(0x12a),0x64)||0x64,_0x580e3b=_0x16da12[_0x582a9d(0x130)](_0x582a9d(0x139))['trim']()[_0x582a9d(0x13d)](),{items:_0x565d2a,paging:_0x6f685}=await listAppRoles(_0x16da12['appCode'],{'currentPage':_0x1a4481,'pageSize':_0x58b869}),_0x241f8e=_0x580e3b?_0x565d2a[_0x582a9d(0x133)](_0x188172=>_0x188172['roleType']===_0x580e3b):_0x565d2a,_0x454d2c=_0x241f8e[_0x582a9d(0x14a)](projectRole);return{'ok':!![],'data':{'roles':_0x454d2c,'paging':_0x6f685},'message':_0x582a9d(0x12d)+_0x454d2c['length']+_0x582a9d(0x131)};}};
1
+ const a175_0x391f1a=a175_0x4c87;(function(_0x3b2da5,_0x2a47dd){const _0x269bb3=a175_0x4c87,_0x2a4ebe=_0x3b2da5();while(!![]){try{const _0x3f4382=-parseInt(_0x269bb3(0xae))/0x1+parseInt(_0x269bb3(0x9b))/0x2*(parseInt(_0x269bb3(0x99))/0x3)+-parseInt(_0x269bb3(0x9a))/0x4+-parseInt(_0x269bb3(0xb7))/0x5*(-parseInt(_0x269bb3(0x96))/0x6)+-parseInt(_0x269bb3(0x95))/0x7*(parseInt(_0x269bb3(0xac))/0x8)+parseInt(_0x269bb3(0xb1))/0x9*(-parseInt(_0x269bb3(0xa2))/0xa)+parseInt(_0x269bb3(0x9f))/0xb;if(_0x3f4382===_0x2a47dd)break;else _0x2a4ebe['push'](_0x2a4ebe['shift']());}catch(_0x3232af){_0x2a4ebe['push'](_0x2a4ebe['shift']());}}}(a175_0x1783,0x6b7a4));import{listAppRoles}from'../../core/api-client.js';function a175_0x4c87(_0x56f87c,_0x1d355e){_0x56f87c=_0x56f87c-0x93;const _0x178395=a175_0x1783();let _0x4c87c8=_0x178395[_0x56f87c];return _0x4c87c8;}import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{projectRole}from'../../commands/role/shared.js';const ROLE_TYPES=['ADMIN','DEV',a175_0x391f1a(0xa3),'CUSTOM'];export const roleList={'service':a175_0x391f1a(0xb5),'command':a175_0x391f1a(0xa8),'description':a175_0x391f1a(0xa9),'risk':a175_0x391f1a(0x93),'flags':[APPCODE_FLAG_OPTIONAL,{'name':a175_0x391f1a(0xa5),'type':a175_0x391f1a(0xa6),'required':![],'description':a175_0x391f1a(0xb6),'enum':ROLE_TYPES},{'name':a175_0x391f1a(0x9c),'type':a175_0x391f1a(0xa0),'description':'Page\x20index\x20(1-based)','default':0x1},{'name':a175_0x391f1a(0x9d),'type':'number','description':a175_0x391f1a(0x94),'default':0x64}],async 'validate'(_0x3c568d){const _0x28d00d=a175_0x391f1a,_0x3cc532=_0x3c568d[_0x28d00d(0xa4)](_0x28d00d(0xa5))[_0x28d00d(0x9e)]();if(_0x3cc532&&!ROLE_TYPES['includes'](_0x3cc532[_0x28d00d(0xab)]()))throw CliErrors['validation'](_0x28d00d(0xa1)+_0x3cc532+'\x22.',_0x28d00d(0xb2)+ROLE_TYPES[_0x28d00d(0xa7)](',\x20')+'.');const _0x4172e9=_0x3c568d['num'](_0x28d00d(0x9c),0x1),_0x3b4c3a=_0x3c568d[_0x28d00d(0xad)](_0x28d00d(0x9d),0x64);if(_0x4172e9<0x1)throw CliErrors[_0x28d00d(0xaa)](_0x28d00d(0xb4));if(_0x3b4c3a<0x1||_0x3b4c3a>0x64)throw CliErrors['validation'](_0x28d00d(0xaf));},async 'execute'(_0x1f7547){const _0x59bd14=a175_0x391f1a,_0x3cea75=_0x1f7547['num'](_0x59bd14(0x9c),0x1)||0x1,_0x9f463b=_0x1f7547[_0x59bd14(0xad)](_0x59bd14(0x9d),0x64)||0x64,_0x51d4f6=_0x1f7547[_0x59bd14(0xa4)]('type')['trim']()[_0x59bd14(0xab)](),{items:_0x38e9d6,paging:_0x484113}=await listAppRoles(_0x1f7547[_0x59bd14(0x97)],{'currentPage':_0x3cea75,'pageSize':_0x9f463b}),_0x2e52e0=_0x51d4f6?_0x38e9d6[_0x59bd14(0x98)](_0x2c18e3=>_0x2c18e3[_0x59bd14(0xb0)]===_0x51d4f6):_0x38e9d6,_0x5ba328=_0x2e52e0[_0x59bd14(0xb3)](projectRole);return{'ok':!![],'data':{'roles':_0x5ba328,'paging':_0x484113},'message':'Found\x20'+_0x5ba328['length']+'\x20role(s)'};}};function a175_0x1783(){const _0x326ed5=['trim','4199459hmuFYh','number','Invalid\x20--type\x20\x22','20LOjean','USER','str','type','string','join','list','List\x20user\x20groups\x20(roles)\x20for\x20the\x20current\x20app','validation','toUpperCase','5908648TUnIaE','num','66012bnAJho','--pagesize\x20must\x20be\x20between\x201\x20and\x20100.','roleType','1981377nKuWZK','Use\x20one\x20of:\x20','map','--page\x20must\x20be\x20greater\x20than\x20or\x20equal\x20to\x201.','role','Filter\x20by\x20role\x20type','5OzwAeE','read','Page\x20size\x20(1-100)','7btgdWx','4492758wiqUiK','appCode','filter','105VhBQuI','774520TUowCW','42754eILGgW','page','pagesize'];a175_0x1783=function(){return _0x326ed5;};return a175_0x1783();}
@@ -1 +1 @@
1
- const a176_0xd06d85=a176_0x44ba;(function(_0x2796b1,_0x5d2563){const _0x475047=a176_0x44ba,_0x4bea09=_0x2796b1();while(!![]){try{const _0x579068=parseInt(_0x475047(0x187))/0x1*(parseInt(_0x475047(0x1bb))/0x2)+parseInt(_0x475047(0x17a))/0x3+-parseInt(_0x475047(0x1a6))/0x4+-parseInt(_0x475047(0x19f))/0x5+-parseInt(_0x475047(0x17c))/0x6*(parseInt(_0x475047(0x196))/0x7)+parseInt(_0x475047(0x18f))/0x8+-parseInt(_0x475047(0x1af))/0x9;if(_0x579068===_0x5d2563)break;else _0x4bea09['push'](_0x4bea09['shift']());}catch(_0x4171b0){_0x4bea09['push'](_0x4bea09['shift']());}}}(a176_0x2ae7,0xe53a9));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':a176_0xd06d85(0x190),'required':!![],'description':'Role\x20id\x20(from\x20`role\x20list`)'};export const ROLE_REF_FLAG={'name':a176_0xd06d85(0x17e),'type':a176_0xd06d85(0x198),'required':!![],'description':'Role\x20id\x20or\x20role\x20name\x20(CUSTOM\x20roles\x20may\x20be\x20referenced\x20by\x20name)'};export const USER_REF_FLAG={'name':a176_0xd06d85(0x1b2),'type':'string','required':!![],'description':a176_0xd06d85(0x1a1)};export const NAME_FLAG={'name':a176_0xd06d85(0x179),'type':'string','required':!![],'description':'Role\x20name'};export const USER_NAME_FLAG={'name':a176_0xd06d85(0x179),'type':a176_0xd06d85(0x198),'required':!![],'description':a176_0xd06d85(0x195)};export const REMARK_FLAG={'name':a176_0xd06d85(0x1a0),'type':a176_0xd06d85(0x198),'required':![],'description':a176_0xd06d85(0x1b5)};export const EXPECT_USER_COUNT_FLAG={'name':'expect-user-count','type':'number','required':![],'description':a176_0xd06d85(0x1ac)};export const BUILTIN_ROLE_TYPES=[a176_0xd06d85(0x19c),a176_0xd06d85(0x1a8),a176_0xd06d85(0x181)];export function isBuiltinRole(_0x47081b){return BUILTIN_ROLE_TYPES['includes'](_0x47081b);}export function assertCustomRole(_0xed8ca7,_0x4a3f75){const _0x2f9261=a176_0xd06d85;if(_0xed8ca7['roleType']!=='CUSTOM')throw CliErrors[_0x2f9261(0x17b)](_0x2f9261(0x199)+_0x4a3f75+'\x20built-in\x20role\x20'+_0xed8ca7[_0x2f9261(0x1ad)]+'\x20('+_0xed8ca7[_0x2f9261(0x194)]+').',_0x2f9261(0x1a3));}export function assertPermConfigurable(_0x1fdf28){const _0x48d673=a176_0xd06d85;if(_0x1fdf28[_0x48d673(0x194)]===_0x48d673(0x1a8)||_0x1fdf28[_0x48d673(0x194)]===_0x48d673(0x19c))throw CliErrors['validation'](_0x48d673(0x1a7)+_0x1fdf28[_0x48d673(0x1ad)]+'\x20('+_0x1fdf28[_0x48d673(0x194)]+').',_0x48d673(0x191));}export function projectRole(_0x3743dc){const _0x1ddb0a=a176_0xd06d85;return{'id':_0x3743dc['id'],'roleName':_0x3743dc[_0x1ddb0a(0x1ad)],'roleType':_0x3743dc[_0x1ddb0a(0x194)],'remark':_0x3743dc[_0x1ddb0a(0x1a0)],'userCount':_0x3743dc[_0x1ddb0a(0x1c3)],'permitCount':_0x3743dc[_0x1ddb0a(0x1b3)],'builtin':isBuiltinRole(_0x3743dc[_0x1ddb0a(0x194)])};}export async function resolveRoleRef(_0x299460,_0x5df18e){const _0x5eeba3=a176_0xd06d85,_0x555587=_0x5df18e[_0x5eeba3(0x18b)]();if(!_0x555587)throw CliErrors[_0x5eeba3(0x17b)](_0x5eeba3(0x1c4),_0x5eeba3(0x1b9));if(/^\d+$/['test'](_0x555587))return getRoleById(_0x299460,Number(_0x555587));const _0x14b2e1=await listAllAppRoles(_0x299460),_0x271c05=_0x14b2e1[_0x5eeba3(0x1b8)](_0x330e7f=>_0x330e7f['roleName']===_0x555587);if(_0x271c05[_0x5eeba3(0x19a)]===0x0)throw CliErrors[_0x5eeba3(0x17b)]('Role\x20name\x20\x22'+_0x555587+_0x5eeba3(0x19b)+_0x299460+'.',_0x5eeba3(0x1bc));if(_0x271c05['length']>0x1){const _0x5b9771=_0x271c05[_0x5eeba3(0x189)](_0x26a55d=>_0x26a55d['id'])[_0x5eeba3(0x17d)](',\x20');throw CliErrors[_0x5eeba3(0x17b)](_0x5eeba3(0x1a9)+_0x555587+_0x5eeba3(0x18c)+_0x5b9771+').',_0x5eeba3(0x18e));}return _0x271c05[0x0];}export async function getRoleById(_0x123d18,_0x9e784e){const _0x1bf4fe=a176_0xd06d85,_0x295a9a=await getAppRole(_0x9e784e);if(!_0x295a9a)throw CliErrors[_0x1bf4fe(0x17b)](_0x1bf4fe(0x1a5)+_0x9e784e+_0x1bf4fe(0x18d)+_0x123d18+'.',_0x1bf4fe(0x1b7));return _0x295a9a;}async function listAllAppRoles(_0x4fbdd1){const _0x45e93e=a176_0xd06d85,_0x24a70b=0x64,_0x52b4f9=[];for(let _0x49be4a=0x1;;_0x49be4a+=0x1){const {items:_0x2d0e08,paging:_0x5c9a9f}=await listAppRoles(_0x4fbdd1,{'currentPage':_0x49be4a,'pageSize':_0x24a70b});_0x52b4f9['push'](..._0x2d0e08);if(_0x2d0e08[_0x45e93e(0x19a)]<_0x24a70b||_0x5c9a9f&&_0x52b4f9[_0x45e93e(0x19a)]>=_0x5c9a9f['totalCount'])return _0x52b4f9;}}export async function resolveTenantCode(){const _0xc90858=a176_0xd06d85,_0xd57336=await getSessionUserInfo(),_0x417174=_0xd57336?.[_0xc90858(0x1b2)]?.['tenant']?.['tenant_code'];if(!_0x417174)throw CliErrors[_0xc90858(0x186)](_0xc90858(0x19e));return _0x417174;}function matchMember(_0x37f41e,_0x18d6f5){const _0x495739=a176_0xd06d85,_0x36f5d5=_0x18d6f5['trim']()[_0x495739(0x1c0)]();return(_0x37f41e['nickname']??'')['toLowerCase']()===_0x36f5d5||(_0x37f41e['username']??'')['toLowerCase']()===_0x36f5d5;}function a176_0x2ae7(){const _0x2b4fb2=['ADMIN','Check\x20the\x20nickname/username,\x20or\x20pass\x20--user\x20<id>.','Cannot\x20resolve\x20current\x20tenant.\x20Run\x20`rabetbase\x20auth\x20login`\x20first.','289585BWMOIm','remark','User\x20id,\x20username,\x20or\x20nickname\x20to\x20resolve\x20to\x20a\x20userId','expectUserCount','Only\x20CUSTOM\x20roles\x20can\x20be\x20modified\x20or\x20deleted.','appCode','Role\x20id\x20','2062628tsbtBZ','Cannot\x20change\x20the\x20permission\x20matrix\x20of\x20built-in\x20role\x20','DEV','Role\x20name\x20\x22','\x20not\x20found\x20in\x20the\x20user-role\x20list.','splice','Anti-drift\x20guard:\x20fail\x20if\x20the\x20role\x27s\x20current\x20member\x20count\x20differs','roleName','userId','12107178XqQMRF',';\x20no\x20change.','POST','user','permitCount','Multiple\x20tenant\x20members\x20match\x20\x22','Optional\x20role\x20remark/description','username','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles.','filter','Pass\x20--role\x20<id|name>.','\x22:\x20','3406712djxTql','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles,\x20or\x20pass\x20--role\x20<id>.','findIndex','find','push','toLowerCase','flagMissing','includes','userCount','Missing\x20role\x20reference.','expect-user-count','flag','nickname','name','5229378hnYohS','validation','1959618kMURhL','join','role','\x20is\x20already\x20a\x20member\x20of\x20role\x20','No\x20tenant\x20member\x20matches\x20\x22','USER','\x20is\x20not\x20a\x20member\x20of\x20role\x20','Anti-drift\x20check\x20failed:\x20expected\x20','Re-run\x20`role\x20detail`\x20/\x20`role\x20list`\x20and\x20retry\x20with\x20the\x20current\x20count.','User\x20','authRequired','1RXoedA','\x20member(s)\x20but\x20role\x20has\x20','map','userList','trim','\x22\x20is\x20ambiguous\x20(ids:\x20','\x20not\x20found\x20in\x20app\x20','Disambiguate\x20with\x20--role\x20<id>.','3128512FLITxc','number','DEV\x20/\x20ADMIN\x20keep\x20full\x20access\x20by\x20design;\x20configure\x20a\x20CUSTOM\x20role\x20instead.','test','Disambiguate\x20with\x20--user\x20<id>.','roleType','Nickname\x20or\x20username\x20to\x20resolve\x20to\x20a\x20userId','21zPSkGe','Missing\x20user\x20reference.','string','Cannot\x20','length','\x22\x20not\x20found\x20in\x20app\x20'];a176_0x2ae7=function(){return _0x2b4fb2;};return a176_0x2ae7();}export async function resolveUserRef(_0x50344c){const _0x3e3533=a176_0xd06d85,_0x4bb0f6=_0x50344c[_0x3e3533(0x18b)]();if(!_0x4bb0f6)throw CliErrors[_0x3e3533(0x17b)](_0x3e3533(0x197),'Pass\x20--user\x20<id|name>.');const _0x444ad0=await resolveTenantCode(),_0x20bed3=await getTenantMembers(_0x444ad0);if(/^\d+$/[_0x3e3533(0x192)](_0x4bb0f6)){const _0x564b2d=Number(_0x4bb0f6),_0x4550f3=_0x20bed3[_0x3e3533(0x1be)](_0x55f634=>_0x55f634['userId']===_0x564b2d);return{'userId':_0x564b2d,'username':_0x4550f3?.[_0x3e3533(0x1b6)]??String(_0x564b2d),'nickname':_0x4550f3?.[_0x3e3533(0x178)],'matchedBy':'id'};}const _0x18c304=_0x20bed3[_0x3e3533(0x1b8)](_0x41f392=>matchMember(_0x41f392,_0x4bb0f6));if(_0x18c304[_0x3e3533(0x19a)]===0x0)throw CliErrors[_0x3e3533(0x17b)](_0x3e3533(0x180)+_0x4bb0f6+'\x22.',_0x3e3533(0x19d));if(_0x18c304['length']>0x1){const _0x452687=_0x18c304['map'](_0x364a8b=>(_0x364a8b[_0x3e3533(0x178)]??_0x364a8b[_0x3e3533(0x1b6)]??'?')+'('+_0x364a8b['userId']+')')[_0x3e3533(0x17d)](',\x20');throw CliErrors[_0x3e3533(0x17b)](_0x3e3533(0x1b4)+_0x4bb0f6+_0x3e3533(0x1ba)+_0x452687+'.',_0x3e3533(0x193));}const _0x5a1b8a=_0x18c304[0x0];return{'userId':_0x5a1b8a[_0x3e3533(0x1ae)],'username':_0x5a1b8a[_0x3e3533(0x1b6)]??String(_0x5a1b8a['userId']),'nickname':_0x5a1b8a[_0x3e3533(0x178)],'matchedBy':_0x3e3533(0x179)};}export const UPDATE_USER_LIST_PATH='/smartapi/permit/user-role/update-user-list';function userIdsOf(_0x34352a){const _0x37e282=a176_0xd06d85;return(_0x34352a?.[_0x37e282(0x18a)]??[])['map'](_0x13e09d=>_0x13e09d[_0x37e282(0x1ae)]);}export function computeRoleUserMutation(_0x410991){const _0x40af3d=a176_0xd06d85,{operation:_0x53810b,appCode:_0x1d304,roleUsers:_0x34cf2c,targetRoleId:_0x239672,user:_0x2e7bb7}=_0x410991,_0xab6343=_0x34cf2c['find'](_0x18d5b7=>_0x18d5b7['id']===_0x239672);if(!_0xab6343)throw CliErrors['validation'](_0x40af3d(0x1a5)+_0x239672+_0x40af3d(0x1aa),'Run\x20`role\x20list`\x20to\x20see\x20available\x20roles.');const _0x372bb4=userIdsOf(_0xab6343),_0x4a8f37=[];if(_0x410991[_0x40af3d(0x1a2)]!==undefined&&_0x410991[_0x40af3d(0x1a2)]!==_0x372bb4[_0x40af3d(0x19a)])throw CliErrors[_0x40af3d(0x17b)](_0x40af3d(0x183)+_0x410991[_0x40af3d(0x1a2)]+_0x40af3d(0x188)+_0x372bb4[_0x40af3d(0x19a)]+'.',_0x40af3d(0x184));const _0x3ba54b=_0x372bb4[_0x40af3d(0x1c2)](_0x2e7bb7[_0x40af3d(0x1ae)]);let _0x51e7ea=![];const _0x308d80=[..._0xab6343['userList']];if(_0x53810b==='user-add')_0x3ba54b?_0x4a8f37['push'](_0x40af3d(0x185)+_0x2e7bb7[_0x40af3d(0x1ae)]+_0x40af3d(0x17f)+_0xab6343[_0x40af3d(0x1ad)]+_0x40af3d(0x1b0)):(_0x308d80[_0x40af3d(0x1bf)]({'userId':_0x2e7bb7[_0x40af3d(0x1ae)],'username':_0x2e7bb7[_0x40af3d(0x1b6)],..._0x2e7bb7['nickname']?{'nickname':_0x2e7bb7[_0x40af3d(0x178)]}:{}}),_0x51e7ea=!![]);else{if(!_0x3ba54b)_0x4a8f37['push'](_0x40af3d(0x185)+_0x2e7bb7[_0x40af3d(0x1ae)]+_0x40af3d(0x182)+_0xab6343[_0x40af3d(0x1ad)]+';\x20no\x20change.');else{const _0x573dd3=_0x308d80[_0x40af3d(0x1bd)](_0x4f91eb=>_0x4f91eb[_0x40af3d(0x1ae)]===_0x2e7bb7[_0x40af3d(0x1ae)]);if(_0x573dd3>=0x0)_0x308d80[_0x40af3d(0x1ab)](_0x573dd3,0x1);_0x51e7ea=!![];}}const _0x523077=_0x34cf2c[_0x40af3d(0x189)](_0x4c15e3=>_0x4c15e3['id']===_0x239672?{..._0x4c15e3,'userList':_0x308d80}:_0x4c15e3),_0x48123a=_0x308d80[_0x40af3d(0x189)](_0x38df6c=>_0x38df6c[_0x40af3d(0x1ae)]),_0x3b56b3={'operation':_0x53810b,'selector':{'appCode':_0x1d304,'roleId':_0x239672,'roleName':_0xab6343['roleName'],'userId':_0x2e7bb7['userId']},'before':{'userIds':_0x372bb4},'after':{'userIds':_0x48123a},'dryRun':_0x410991['dryRun'],'backend':{'method':_0x40af3d(0x1b1),'path':UPDATE_USER_LIST_PATH},'warnings':_0x4a8f37};return{'roleList':_0x523077,'mutation':_0x3b56b3,'changed':_0x51e7ea};}function a176_0x44ba(_0x152da0,_0x5bcf54){_0x152da0=_0x152da0-0x178;const _0x2ae7d8=a176_0x2ae7();let _0x44ba7b=_0x2ae7d8[_0x152da0];return _0x44ba7b;}export async function loadRoleUsers(_0x557198){return listRoleUsers(_0x557198);}export function readRoleRef(_0x285275){const _0x535d91=a176_0xd06d85,_0x575fa6=_0x285275['str'](_0x535d91(0x17e))[_0x535d91(0x18b)]();if(!_0x575fa6)throw CliErrors[_0x535d91(0x1c1)](_0x535d91(0x17e),_0x535d91(0x1b9));return _0x575fa6;}export async function prepareUserMutation(_0x597743,_0x7c5f43,_0xfc88d2){const _0x265208=a176_0xd06d85,_0x240e3e=readRoleRef(_0x597743),_0x1f57cf=_0x597743['str'](_0x265208(0x1b2))[_0x265208(0x18b)]();if(!_0x1f57cf)throw CliErrors['flagMissing']('user','Pass\x20--user\x20<id|name>.');const _0x238100=_0x597743[_0x265208(0x1c6)](_0x265208(0x1c5)),_0x40eb54=_0x238100===undefined||_0x238100===null?undefined:Number(_0x238100),_0x3fc59d=await resolveRoleRef(_0x597743['appCode'],_0x240e3e),_0x2480c6=await resolveUserRef(_0x1f57cf),_0x6bcebc=await loadRoleUsers(_0x597743['appCode']);return computeRoleUserMutation({'operation':_0x7c5f43,'appCode':_0x597743[_0x265208(0x1a4)],'roleUsers':_0x6bcebc,'targetRoleId':_0x3fc59d['id'],'user':{'userId':_0x2480c6['userId'],'username':_0x2480c6[_0x265208(0x1b6)],'nickname':_0x2480c6[_0x265208(0x178)]},'dryRun':_0xfc88d2,..._0x40eb54!==undefined?{'expectUserCount':_0x40eb54}:{}});}
1
+ const a176_0x3eb014=a176_0x232b;(function(_0xb20362,_0x24e21e){const _0x1221bd=a176_0x232b,_0x874609=_0xb20362();while(!![]){try{const _0x2e6e65=parseInt(_0x1221bd(0x1dd))/0x1+-parseInt(_0x1221bd(0x1bd))/0x2+-parseInt(_0x1221bd(0x1cb))/0x3*(parseInt(_0x1221bd(0x1f3))/0x4)+parseInt(_0x1221bd(0x1c2))/0x5*(-parseInt(_0x1221bd(0x201))/0x6)+parseInt(_0x1221bd(0x1c0))/0x7*(parseInt(_0x1221bd(0x1f9))/0x8)+parseInt(_0x1221bd(0x1f2))/0x9+parseInt(_0x1221bd(0x1cc))/0xa;if(_0x2e6e65===_0x24e21e)break;else _0x874609['push'](_0x874609['shift']());}catch(_0x41fba1){_0x874609['push'](_0x874609['shift']());}}}(a176_0xa569,0x70f5d));import{getAppRole,getTenantMembers,listAppRoles,listRoleUsers}from'../../core/api-client.js';import{getSessionUserInfo}from'../../auth/get-session-user.js';function a176_0x232b(_0x2646e2,_0x4547f7){_0x2646e2=_0x2646e2-0x1b3;const _0xa56939=a176_0xa569();let _0x232b61=_0xa56939[_0x2646e2];return _0x232b61;}import{CliErrors}from'../../errors.js';export const ROLE_ID_FLAG={'name':'id','type':a176_0x3eb014(0x1da),'required':!![],'description':a176_0x3eb014(0x1ca)};export const ROLE_REF_FLAG={'name':a176_0x3eb014(0x1d3),'type':a176_0x3eb014(0x1e0),'required':!![],'description':a176_0x3eb014(0x1bf)};export const USER_REF_FLAG={'name':a176_0x3eb014(0x1f7),'type':'string','required':!![],'description':a176_0x3eb014(0x1b7)};export const NAME_FLAG={'name':'name','type':a176_0x3eb014(0x1e0),'required':!![],'description':a176_0x3eb014(0x1ee)};function a176_0xa569(){const _0x393dac=['Multiple\x20tenant\x20members\x20match\x20\x22','Missing\x20user\x20reference.','flag','Nickname\x20or\x20username\x20to\x20resolve\x20to\x20a\x20userId','\x20built-in\x20role\x20','findIndex','Role\x20name\x20\x22','Role\x20id\x20(from\x20`role\x20list`)','684411tqCFKO','416550WHCExJ','\x20not\x20found\x20in\x20the\x20user-role\x20list.','splice','roleName','validation','userList','POST','role','\x20is\x20already\x20a\x20member\x20of\x20role\x20','authRequired','join','nickname','\x20not\x20found\x20in\x20app\x20','appCode','number','\x22:\x20','tenant_code','744005xLXRGz','toLowerCase','find','string','Check\x20the\x20nickname/username,\x20or\x20pass\x20--user\x20<id>.','map','test','expect-user-count','length','Disambiguate\x20with\x20--user\x20<id>.','trim',';\x20no\x20change.','/smartapi/permit/user-role/update-user-list','USER','includes','DEV','Cannot\x20change\x20the\x20permission\x20matrix\x20of\x20built-in\x20role\x20','Role\x20name','dryRun','name','push','5268699XdRLtv','12heAfEn','expectUserCount','username','Role\x20id\x20','user','flagMissing','24OxqLUn','Disambiguate\x20with\x20--role\x20<id>.','userCount','userId','User\x20','permitCount','\x22\x20is\x20ambiguous\x20(ids:\x20','remark','1608xLcLbv','ADMIN','tenant','roleType','Missing\x20role\x20reference.','User\x20id,\x20username,\x20or\x20nickname\x20to\x20resolve\x20to\x20a\x20userId','Only\x20CUSTOM\x20roles\x20can\x20be\x20modified\x20or\x20deleted.','Pass\x20--role\x20<id|name>.','totalCount','\x20member(s)\x20but\x20role\x20has\x20','str','529266sanaSv','Pass\x20--user\x20<id|name>.','Role\x20id\x20or\x20role\x20name\x20(CUSTOM\x20roles\x20may\x20be\x20referenced\x20by\x20name)','806498yWSoiD','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles.','5690LJXtdG'];a176_0xa569=function(){return _0x393dac;};return a176_0xa569();}export const USER_NAME_FLAG={'name':a176_0x3eb014(0x1f0),'type':a176_0x3eb014(0x1e0),'required':!![],'description':a176_0x3eb014(0x1c6)};export const REMARK_FLAG={'name':'remark','type':a176_0x3eb014(0x1e0),'required':![],'description':'Optional\x20role\x20remark/description'};export const EXPECT_USER_COUNT_FLAG={'name':a176_0x3eb014(0x1e4),'type':a176_0x3eb014(0x1da),'required':![],'description':'Anti-drift\x20guard:\x20fail\x20if\x20the\x20role\x27s\x20current\x20member\x20count\x20differs'};export const BUILTIN_ROLE_TYPES=[a176_0x3eb014(0x1b3),a176_0x3eb014(0x1ec),a176_0x3eb014(0x1ea)];export function isBuiltinRole(_0x38864b){return BUILTIN_ROLE_TYPES['includes'](_0x38864b);}export function assertCustomRole(_0x381a8f,_0x38409d){const _0x5d90bd=a176_0x3eb014;if(_0x381a8f[_0x5d90bd(0x1b5)]!=='CUSTOM')throw CliErrors[_0x5d90bd(0x1d0)]('Cannot\x20'+_0x38409d+_0x5d90bd(0x1c7)+_0x381a8f[_0x5d90bd(0x1cf)]+'\x20('+_0x381a8f[_0x5d90bd(0x1b5)]+').',_0x5d90bd(0x1b8));}export function assertPermConfigurable(_0x36ecff){const _0x43971e=a176_0x3eb014;if(_0x36ecff[_0x43971e(0x1b5)]==='DEV'||_0x36ecff['roleType']===_0x43971e(0x1b3))throw CliErrors['validation'](_0x43971e(0x1ed)+_0x36ecff['roleName']+'\x20('+_0x36ecff[_0x43971e(0x1b5)]+').','DEV\x20/\x20ADMIN\x20keep\x20full\x20access\x20by\x20design;\x20configure\x20a\x20CUSTOM\x20role\x20instead.');}export function projectRole(_0x35af72){const _0x14c5cd=a176_0x3eb014;return{'id':_0x35af72['id'],'roleName':_0x35af72['roleName'],'roleType':_0x35af72[_0x14c5cd(0x1b5)],'remark':_0x35af72[_0x14c5cd(0x200)],'userCount':_0x35af72[_0x14c5cd(0x1fb)],'permitCount':_0x35af72[_0x14c5cd(0x1fe)],'builtin':isBuiltinRole(_0x35af72[_0x14c5cd(0x1b5)])};}export async function resolveRoleRef(_0x2bf2d2,_0x508213){const _0x4018c8=a176_0x3eb014,_0x20e04f=_0x508213[_0x4018c8(0x1e7)]();if(!_0x20e04f)throw CliErrors[_0x4018c8(0x1d0)](_0x4018c8(0x1b6),_0x4018c8(0x1b9));if(/^\d+$/[_0x4018c8(0x1e3)](_0x20e04f))return getRoleById(_0x2bf2d2,Number(_0x20e04f));const _0x11f688=await listAllAppRoles(_0x2bf2d2),_0x291630=_0x11f688['filter'](_0x4dac57=>_0x4dac57['roleName']===_0x20e04f);if(_0x291630[_0x4018c8(0x1e5)]===0x0)throw CliErrors[_0x4018c8(0x1d0)]('Role\x20name\x20\x22'+_0x20e04f+'\x22\x20not\x20found\x20in\x20app\x20'+_0x2bf2d2+'.','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles,\x20or\x20pass\x20--role\x20<id>.');if(_0x291630[_0x4018c8(0x1e5)]>0x1){const _0x5d3e3f=_0x291630['map'](_0x5bad86=>_0x5bad86['id'])['join'](',\x20');throw CliErrors[_0x4018c8(0x1d0)](_0x4018c8(0x1c9)+_0x20e04f+_0x4018c8(0x1ff)+_0x5d3e3f+').',_0x4018c8(0x1fa));}return _0x291630[0x0];}export async function getRoleById(_0xea649c,_0x170b83){const _0x1e4944=a176_0x3eb014,_0x51084f=await getAppRole(_0x170b83);if(!_0x51084f)throw CliErrors[_0x1e4944(0x1d0)](_0x1e4944(0x1f6)+_0x170b83+_0x1e4944(0x1d8)+_0xea649c+'.',_0x1e4944(0x1c1));return _0x51084f;}async function listAllAppRoles(_0x53a31f){const _0x2fc50c=a176_0x3eb014,_0x3cac16=0x64,_0x3111ed=[];for(let _0x164693=0x1;;_0x164693+=0x1){const {items:_0x166c44,paging:_0x40423e}=await listAppRoles(_0x53a31f,{'currentPage':_0x164693,'pageSize':_0x3cac16});_0x3111ed['push'](..._0x166c44);if(_0x166c44['length']<_0x3cac16||_0x40423e&&_0x3111ed['length']>=_0x40423e[_0x2fc50c(0x1ba)])return _0x3111ed;}}export async function resolveTenantCode(){const _0x5f4903=a176_0x3eb014,_0x3c6172=await getSessionUserInfo(),_0x5d6155=_0x3c6172?.[_0x5f4903(0x1f7)]?.[_0x5f4903(0x1b4)]?.[_0x5f4903(0x1dc)];if(!_0x5d6155)throw CliErrors[_0x5f4903(0x1d5)]('Cannot\x20resolve\x20current\x20tenant.\x20Run\x20`rabetbase\x20auth\x20login`\x20first.');return _0x5d6155;}function matchMember(_0xdc1045,_0x5e7e59){const _0x3c6641=a176_0x3eb014,_0x1a85df=_0x5e7e59[_0x3c6641(0x1e7)]()[_0x3c6641(0x1de)]();return(_0xdc1045['nickname']??'')[_0x3c6641(0x1de)]()===_0x1a85df||(_0xdc1045[_0x3c6641(0x1f5)]??'')[_0x3c6641(0x1de)]()===_0x1a85df;}export async function resolveUserRef(_0x574bf2){const _0x3d1b15=a176_0x3eb014,_0x2c86ef=_0x574bf2[_0x3d1b15(0x1e7)]();if(!_0x2c86ef)throw CliErrors[_0x3d1b15(0x1d0)](_0x3d1b15(0x1c4),_0x3d1b15(0x1be));const _0x114286=await resolveTenantCode(),_0x2c6273=await getTenantMembers(_0x114286);if(/^\d+$/[_0x3d1b15(0x1e3)](_0x2c86ef)){const _0x4cf4ef=Number(_0x2c86ef),_0x1fb380=_0x2c6273[_0x3d1b15(0x1df)](_0x36f28c=>_0x36f28c[_0x3d1b15(0x1fc)]===_0x4cf4ef);return{'userId':_0x4cf4ef,'username':_0x1fb380?.['username']??String(_0x4cf4ef),'nickname':_0x1fb380?.[_0x3d1b15(0x1d7)],'matchedBy':'id'};}const _0x21aa2b=_0x2c6273['filter'](_0x23373f=>matchMember(_0x23373f,_0x2c86ef));if(_0x21aa2b[_0x3d1b15(0x1e5)]===0x0)throw CliErrors[_0x3d1b15(0x1d0)]('No\x20tenant\x20member\x20matches\x20\x22'+_0x2c86ef+'\x22.',_0x3d1b15(0x1e1));if(_0x21aa2b[_0x3d1b15(0x1e5)]>0x1){const _0x410dfb=_0x21aa2b['map'](_0x51b1f1=>(_0x51b1f1['nickname']??_0x51b1f1[_0x3d1b15(0x1f5)]??'?')+'('+_0x51b1f1[_0x3d1b15(0x1fc)]+')')[_0x3d1b15(0x1d6)](',\x20');throw CliErrors[_0x3d1b15(0x1d0)](_0x3d1b15(0x1c3)+_0x2c86ef+_0x3d1b15(0x1db)+_0x410dfb+'.',_0x3d1b15(0x1e6));}const _0x26ed60=_0x21aa2b[0x0];return{'userId':_0x26ed60[_0x3d1b15(0x1fc)],'username':_0x26ed60[_0x3d1b15(0x1f5)]??String(_0x26ed60[_0x3d1b15(0x1fc)]),'nickname':_0x26ed60[_0x3d1b15(0x1d7)],'matchedBy':_0x3d1b15(0x1f0)};}export const UPDATE_USER_LIST_PATH=a176_0x3eb014(0x1e9);function userIdsOf(_0x53bc52){const _0x203fa3=a176_0x3eb014;return(_0x53bc52?.[_0x203fa3(0x1d1)]??[])[_0x203fa3(0x1e2)](_0x45c719=>_0x45c719[_0x203fa3(0x1fc)]);}export function computeRoleUserMutation(_0x2245f6){const _0x2f54e3=a176_0x3eb014,{operation:_0x183274,appCode:_0x1fc889,roleUsers:_0x3ab9e4,targetRoleId:_0x574fb3,user:_0x5aaa4d}=_0x2245f6,_0x3b51c3=_0x3ab9e4['find'](_0x3c421c=>_0x3c421c['id']===_0x574fb3);if(!_0x3b51c3)throw CliErrors[_0x2f54e3(0x1d0)](_0x2f54e3(0x1f6)+_0x574fb3+_0x2f54e3(0x1cd),_0x2f54e3(0x1c1));const _0x27be99=userIdsOf(_0x3b51c3),_0x29f25f=[];if(_0x2245f6[_0x2f54e3(0x1f4)]!==undefined&&_0x2245f6[_0x2f54e3(0x1f4)]!==_0x27be99[_0x2f54e3(0x1e5)])throw CliErrors[_0x2f54e3(0x1d0)]('Anti-drift\x20check\x20failed:\x20expected\x20'+_0x2245f6[_0x2f54e3(0x1f4)]+_0x2f54e3(0x1bb)+_0x27be99[_0x2f54e3(0x1e5)]+'.','Re-run\x20`role\x20detail`\x20/\x20`role\x20list`\x20and\x20retry\x20with\x20the\x20current\x20count.');const _0x2a7e14=_0x27be99[_0x2f54e3(0x1eb)](_0x5aaa4d[_0x2f54e3(0x1fc)]);let _0xbeebc6=![];const _0x53e885=[..._0x3b51c3[_0x2f54e3(0x1d1)]];if(_0x183274==='user-add')_0x2a7e14?_0x29f25f[_0x2f54e3(0x1f1)]('User\x20'+_0x5aaa4d[_0x2f54e3(0x1fc)]+_0x2f54e3(0x1d4)+_0x3b51c3['roleName']+';\x20no\x20change.'):(_0x53e885[_0x2f54e3(0x1f1)]({'userId':_0x5aaa4d[_0x2f54e3(0x1fc)],'username':_0x5aaa4d['username'],..._0x5aaa4d['nickname']?{'nickname':_0x5aaa4d[_0x2f54e3(0x1d7)]}:{}}),_0xbeebc6=!![]);else{if(!_0x2a7e14)_0x29f25f['push'](_0x2f54e3(0x1fd)+_0x5aaa4d[_0x2f54e3(0x1fc)]+'\x20is\x20not\x20a\x20member\x20of\x20role\x20'+_0x3b51c3['roleName']+_0x2f54e3(0x1e8));else{const _0x26b2fd=_0x53e885[_0x2f54e3(0x1c8)](_0xff63ac=>_0xff63ac[_0x2f54e3(0x1fc)]===_0x5aaa4d[_0x2f54e3(0x1fc)]);if(_0x26b2fd>=0x0)_0x53e885[_0x2f54e3(0x1ce)](_0x26b2fd,0x1);_0xbeebc6=!![];}}const _0x34566c=_0x3ab9e4[_0x2f54e3(0x1e2)](_0x2a578d=>_0x2a578d['id']===_0x574fb3?{..._0x2a578d,'userList':_0x53e885}:_0x2a578d),_0x10eec8=_0x53e885[_0x2f54e3(0x1e2)](_0x3a7d6c=>_0x3a7d6c['userId']),_0x27f0ad={'operation':_0x183274,'selector':{'appCode':_0x1fc889,'roleId':_0x574fb3,'roleName':_0x3b51c3['roleName'],'userId':_0x5aaa4d[_0x2f54e3(0x1fc)]},'before':{'userIds':_0x27be99},'after':{'userIds':_0x10eec8},'dryRun':_0x2245f6[_0x2f54e3(0x1ef)],'backend':{'method':_0x2f54e3(0x1d2),'path':UPDATE_USER_LIST_PATH},'warnings':_0x29f25f};return{'roleList':_0x34566c,'mutation':_0x27f0ad,'changed':_0xbeebc6};}export async function loadRoleUsers(_0x286a6e){return listRoleUsers(_0x286a6e);}export function readRoleRef(_0xc5f25c){const _0x22edfe=a176_0x3eb014,_0x1c9837=_0xc5f25c[_0x22edfe(0x1bc)]('role')[_0x22edfe(0x1e7)]();if(!_0x1c9837)throw CliErrors[_0x22edfe(0x1f8)](_0x22edfe(0x1d3),_0x22edfe(0x1b9));return _0x1c9837;}export async function prepareUserMutation(_0x108b32,_0x2396ed,_0x3d80ed){const _0x2495b6=a176_0x3eb014,_0x285b85=readRoleRef(_0x108b32),_0x36b1fc=_0x108b32[_0x2495b6(0x1bc)](_0x2495b6(0x1f7))['trim']();if(!_0x36b1fc)throw CliErrors['flagMissing'](_0x2495b6(0x1f7),_0x2495b6(0x1be));const _0x27b7b7=_0x108b32[_0x2495b6(0x1c5)](_0x2495b6(0x1e4)),_0x2267c2=_0x27b7b7===undefined||_0x27b7b7===null?undefined:Number(_0x27b7b7),_0x37abbe=await resolveRoleRef(_0x108b32['appCode'],_0x285b85),_0x35aa47=await resolveUserRef(_0x36b1fc),_0x3709e1=await loadRoleUsers(_0x108b32[_0x2495b6(0x1d9)]);return computeRoleUserMutation({'operation':_0x2396ed,'appCode':_0x108b32['appCode'],'roleUsers':_0x3709e1,'targetRoleId':_0x37abbe['id'],'user':{'userId':_0x35aa47[_0x2495b6(0x1fc)],'username':_0x35aa47[_0x2495b6(0x1f5)],'nickname':_0x35aa47[_0x2495b6(0x1d7)]},'dryRun':_0x3d80ed,..._0x2267c2!==undefined?{'expectUserCount':_0x2267c2}:{}});}
@@ -1 +1 @@
1
- const a177_0x223e97=a177_0x26a1;(function(_0x50b055,_0xe5a894){const _0x436722=a177_0x26a1,_0x520368=_0x50b055();while(!![]){try{const _0x23604f=-parseInt(_0x436722(0x92))/0x1+parseInt(_0x436722(0x96))/0x2+parseInt(_0x436722(0x87))/0x3+-parseInt(_0x436722(0x84))/0x4+-parseInt(_0x436722(0x82))/0x5+-parseInt(_0x436722(0x90))/0x6+parseInt(_0x436722(0x80))/0x7;if(_0x23604f===_0xe5a894)break;else _0x520368['push'](_0x520368['shift']());}catch(_0x57d364){_0x520368['push'](_0x520368['shift']());}}}(a177_0x3f44,0x26d22));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 a177_0x3f44(){const _0x26c69e=['--name\x20cannot\x20be\x20empty.','remark','477462fMdNKs','roleName','127020ZUOkdz','name','Role\x20name\x20cannot\x20exceed\x2064\x20characters.','update','18710MaUhed','validation','length','trim','appCode','POST','1637804FKmfgs','role','531855oZzsbr','write','213852mAEDPR','Nothing\x20to\x20update.','num','846342RdlLxG','Updated\x20role\x20','string','flag','\x20(id=','Pass\x20at\x20least\x20one\x20of\x20--name\x20/\x20--remark.','New\x20role\x20name'];a177_0x3f44=function(){return _0x26c69e;};return a177_0x3f44();}const UPDATE_PATH='/smartapi/permit/role/update';function a177_0x26a1(_0x3ae2ee,_0x4a33cf){_0x3ae2ee=_0x3ae2ee-0x7d;const _0x3f4461=a177_0x3f44();let _0x26a131=_0x3f4461[_0x3ae2ee];return _0x26a131;}function readPatch(_0xc0a451){const _0x4453f1=a177_0x26a1,_0x541f70=_0xc0a451[_0x4453f1(0x8a)](_0x4453f1(0x93)),_0x3e736f=_0xc0a451[_0x4453f1(0x8a)](_0x4453f1(0x8f)),_0x1a8db9={};if(_0x541f70!==undefined&&_0x541f70!==null){const _0x26a647=String(_0x541f70)[_0x4453f1(0x7d)]();if(!_0x26a647)throw CliErrors[_0x4453f1(0x97)](_0x4453f1(0x8e));if(_0x26a647[_0x4453f1(0x98)]>0x40)throw CliErrors['validation'](_0x4453f1(0x94));_0x1a8db9['roleName']=_0x26a647;}_0x3e736f!==undefined&&_0x3e736f!==null&&(_0x1a8db9[_0x4453f1(0x8f)]=String(_0x3e736f));if(_0x1a8db9['roleName']===undefined&&_0x1a8db9[_0x4453f1(0x8f)]===undefined)throw CliErrors['validation'](_0x4453f1(0x85),_0x4453f1(0x8c));return _0x1a8db9;}export const roleUpdate={'service':a177_0x223e97(0x81),'command':a177_0x223e97(0x95),'description':'Update\x20a\x20CUSTOM\x20role\x27s\x20name/remark\x20(DEV/ADMIN\x20rejected)','risk':a177_0x223e97(0x83),'flags':[ROLE_ID_FLAG,{...REMARK_FLAG},{'name':a177_0x223e97(0x93),'type':a177_0x223e97(0x89),'required':![],'description':a177_0x223e97(0x8d)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x4d3200){readPatch(_0x4d3200);},async 'dryRun'(_0x75ecc){const _0x5a2cd5=a177_0x223e97,_0x3923aa=_0x75ecc['num']('id'),_0x3ddeec=readPatch(_0x75ecc),_0x4533ae=await getRoleById(_0x75ecc[_0x5a2cd5(0x7e)],_0x3923aa);return assertCustomRole(_0x4533ae,_0x5a2cd5(0x95)),asDryRunResult({'operation':_0x5a2cd5(0x95),'selector':{'appCode':_0x75ecc[_0x5a2cd5(0x7e)],'roleId':_0x3923aa,'roleName':_0x4533ae[_0x5a2cd5(0x91)]},'before':projectRole(_0x4533ae),'after':projectRole({..._0x4533ae,..._0x3ddeec[_0x5a2cd5(0x91)]!==undefined?{'roleName':_0x3ddeec[_0x5a2cd5(0x91)]}:{},..._0x3ddeec[_0x5a2cd5(0x8f)]!==undefined?{'remark':_0x3ddeec[_0x5a2cd5(0x8f)]}:{}}),'dryRun':!![],'backend':{'method':_0x5a2cd5(0x7f),'path':UPDATE_PATH},'warnings':[]},{'method':_0x5a2cd5(0x7f),'url':UPDATE_PATH});},async 'execute'(_0x7a7f97){const _0x18fab8=a177_0x223e97,_0x56460d=_0x7a7f97[_0x18fab8(0x86)]('id'),_0x13ce94=readPatch(_0x7a7f97),_0x52231d=await getRoleById(_0x7a7f97[_0x18fab8(0x7e)],_0x56460d);assertCustomRole(_0x52231d,_0x18fab8(0x95)),await updateAppRole({'id':_0x56460d,'appCode':_0x7a7f97['appCode'],..._0x13ce94[_0x18fab8(0x91)]!==undefined?{'roleName':_0x13ce94['roleName']}:{},..._0x13ce94[_0x18fab8(0x8f)]!==undefined?{'remark':_0x13ce94['remark']}:{}});const _0x13831d=await getRoleById(_0x7a7f97[_0x18fab8(0x7e)],_0x56460d);return{'ok':!![],'data':{'operation':_0x18fab8(0x95),'selector':{'appCode':_0x7a7f97['appCode'],'roleId':_0x56460d,'roleName':_0x13831d['roleName']},'before':projectRole(_0x52231d),'after':projectRole(_0x13831d),'dryRun':![],'backend':{'method':_0x18fab8(0x7f),'path':UPDATE_PATH},'warnings':[]},'message':_0x18fab8(0x88)+_0x13831d[_0x18fab8(0x91)]+_0x18fab8(0x8b)+_0x56460d+')'};}};
1
+ const a177_0x2b4823=a177_0x1115;(function(_0x5d58b5,_0x6b1f7f){const _0x419912=a177_0x1115,_0x2acfce=_0x5d58b5();while(!![]){try{const _0x218d27=-parseInt(_0x419912(0x14f))/0x1*(parseInt(_0x419912(0x14e))/0x2)+parseInt(_0x419912(0x148))/0x3+parseInt(_0x419912(0x15c))/0x4+-parseInt(_0x419912(0x14c))/0x5+-parseInt(_0x419912(0x159))/0x6+-parseInt(_0x419912(0x15f))/0x7*(parseInt(_0x419912(0x14a))/0x8)+parseInt(_0x419912(0x151))/0x9;if(_0x218d27===_0x6b1f7f)break;else _0x2acfce['push'](_0x2acfce['shift']());}catch(_0x4b62bc){_0x2acfce['push'](_0x2acfce['shift']());}}}(a177_0xc9d9,0xeeee2));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 a177_0xc9d9(){const _0x9dc0e4=['validation','4355265RuHoXh','update','114128urnLzc','3ZuquYV','Update\x20a\x20CUSTOM\x20role\x27s\x20name/remark\x20(DEV/ADMIN\x20rejected)','23781195egySuZ','flag','length','Role\x20name\x20cannot\x20exceed\x2064\x20characters.','string','\x20(id=','POST','remark','6624126IqePAD','num','trim','2942476YesGkb','write','role','10450853nWBsIi','Updated\x20role\x20','Nothing\x20to\x20update.','appCode','roleName','3719787zvsARc','--name\x20cannot\x20be\x20empty.','8NFpVyi'];a177_0xc9d9=function(){return _0x9dc0e4;};return a177_0xc9d9();}const UPDATE_PATH='/smartapi/permit/role/update';function readPatch(_0x31f8ec){const _0x1209bc=a177_0x1115,_0x8f8a2d=_0x31f8ec[_0x1209bc(0x152)]('name'),_0x1d1491=_0x31f8ec[_0x1209bc(0x152)](_0x1209bc(0x158)),_0x3fccca={};if(_0x8f8a2d!==undefined&&_0x8f8a2d!==null){const _0x1d5370=String(_0x8f8a2d)[_0x1209bc(0x15b)]();if(!_0x1d5370)throw CliErrors[_0x1209bc(0x14b)](_0x1209bc(0x149));if(_0x1d5370[_0x1209bc(0x153)]>0x40)throw CliErrors['validation'](_0x1209bc(0x154));_0x3fccca[_0x1209bc(0x147)]=_0x1d5370;}_0x1d1491!==undefined&&_0x1d1491!==null&&(_0x3fccca[_0x1209bc(0x158)]=String(_0x1d1491));if(_0x3fccca[_0x1209bc(0x147)]===undefined&&_0x3fccca[_0x1209bc(0x158)]===undefined)throw CliErrors['validation'](_0x1209bc(0x161),'Pass\x20at\x20least\x20one\x20of\x20--name\x20/\x20--remark.');return _0x3fccca;}function a177_0x1115(_0x4dc58c,_0x4f85ad){_0x4dc58c=_0x4dc58c-0x146;const _0xc9d9aa=a177_0xc9d9();let _0x1115c0=_0xc9d9aa[_0x4dc58c];return _0x1115c0;}export const roleUpdate={'service':a177_0x2b4823(0x15e),'command':a177_0x2b4823(0x14d),'description':a177_0x2b4823(0x150),'risk':a177_0x2b4823(0x15d),'flags':[ROLE_ID_FLAG,{...REMARK_FLAG},{'name':'name','type':a177_0x2b4823(0x155),'required':![],'description':'New\x20role\x20name'},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x47aa62){readPatch(_0x47aa62);},async 'dryRun'(_0x5d6e8a){const _0x5128c2=a177_0x2b4823,_0x26ad5d=_0x5d6e8a[_0x5128c2(0x15a)]('id'),_0xc72c2b=readPatch(_0x5d6e8a),_0x10d021=await getRoleById(_0x5d6e8a['appCode'],_0x26ad5d);return assertCustomRole(_0x10d021,'update'),asDryRunResult({'operation':'update','selector':{'appCode':_0x5d6e8a[_0x5128c2(0x146)],'roleId':_0x26ad5d,'roleName':_0x10d021[_0x5128c2(0x147)]},'before':projectRole(_0x10d021),'after':projectRole({..._0x10d021,..._0xc72c2b[_0x5128c2(0x147)]!==undefined?{'roleName':_0xc72c2b[_0x5128c2(0x147)]}:{},..._0xc72c2b[_0x5128c2(0x158)]!==undefined?{'remark':_0xc72c2b[_0x5128c2(0x158)]}:{}}),'dryRun':!![],'backend':{'method':_0x5128c2(0x157),'path':UPDATE_PATH},'warnings':[]},{'method':_0x5128c2(0x157),'url':UPDATE_PATH});},async 'execute'(_0x202d05){const _0xb87444=a177_0x2b4823,_0x387527=_0x202d05[_0xb87444(0x15a)]('id'),_0x534d15=readPatch(_0x202d05),_0x136804=await getRoleById(_0x202d05[_0xb87444(0x146)],_0x387527);assertCustomRole(_0x136804,'update'),await updateAppRole({'id':_0x387527,'appCode':_0x202d05['appCode'],..._0x534d15[_0xb87444(0x147)]!==undefined?{'roleName':_0x534d15[_0xb87444(0x147)]}:{},..._0x534d15[_0xb87444(0x158)]!==undefined?{'remark':_0x534d15[_0xb87444(0x158)]}:{}});const _0x49cefa=await getRoleById(_0x202d05['appCode'],_0x387527);return{'ok':!![],'data':{'operation':'update','selector':{'appCode':_0x202d05['appCode'],'roleId':_0x387527,'roleName':_0x49cefa['roleName']},'before':projectRole(_0x136804),'after':projectRole(_0x49cefa),'dryRun':![],'backend':{'method':_0xb87444(0x157),'path':UPDATE_PATH},'warnings':[]},'message':_0xb87444(0x160)+_0x49cefa[_0xb87444(0x147)]+_0xb87444(0x156)+_0x387527+')'};}};
@@ -1 +1 @@
1
- const a178_0x310cac=a178_0x1761;(function(_0x4ae709,_0x7cf0c9){const _0x470dc6=a178_0x1761,_0x2c65e9=_0x4ae709();while(!![]){try{const _0x46228e=parseInt(_0x470dc6(0x1d8))/0x1*(parseInt(_0x470dc6(0x1ce))/0x2)+parseInt(_0x470dc6(0x1cc))/0x3+parseInt(_0x470dc6(0x1da))/0x4*(-parseInt(_0x470dc6(0x1d5))/0x5)+-parseInt(_0x470dc6(0x1d3))/0x6*(parseInt(_0x470dc6(0x1c8))/0x7)+parseInt(_0x470dc6(0x1d1))/0x8+-parseInt(_0x470dc6(0x1d7))/0x9*(parseInt(_0x470dc6(0x1cb))/0xa)+-parseInt(_0x470dc6(0x1c9))/0xb*(parseInt(_0x470dc6(0x1d6))/0xc);if(_0x46228e===_0x7cf0c9)break;else _0x2c65e9['push'](_0x2c65e9['shift']());}catch(_0x51e95c){_0x2c65e9['push'](_0x2c65e9['shift']());}}}(a178_0x8424,0x25181));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 a178_0x1761(_0x4ce28c,_0x1f4132){_0x4ce28c=_0x4ce28c-0x1c8;const _0x842457=a178_0x8424();let _0x1761a6=_0x842457[_0x4ce28c];return _0x1761a6;}function a178_0x8424(){const _0x4b3155=['73543KnSFaQ','role','4nvLYkf','selector','Add\x20a\x20user\x20to\x20a\x20role\x20(internal\x20merge\x20+\x20anti-drift);\x20requires\x20--yes','\x20to\x20role\x20','Added\x20user\x20','155302xKtxQl','11FWYQyw','No\x20change:\x20user\x20','30KoXEnL','849267dwvTAG','POST','8FrSZYl','high-risk-write','user-add','1254528KInKbO','roleName','72opkMLN','appCode','217130xMEiVe','3037836GHNFlq','57987QSAbKF'];a178_0x8424=function(){return _0x4b3155;};return a178_0x8424();}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':a178_0x310cac(0x1d9),'command':a178_0x310cac(0x1d0),'description':a178_0x310cac(0x1dc),'risk':a178_0x310cac(0x1cf),'flags':[ROLE_REF_FLAG,USER_REF_FLAG,EXPECT_USER_COUNT_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x488923){const _0x4fd111=a178_0x310cac,{mutation:_0x2bb2e6}=await prepareUserMutation(_0x488923,_0x4fd111(0x1d0),!![]);return asDryRunResult(_0x2bb2e6,{'method':_0x4fd111(0x1cd),'url':UPDATE_USER_LIST_PATH});},async 'execute'(_0x303a0d){const _0x350056=a178_0x310cac,{roleList:_0xc6cfd2,mutation:_0x574c75,changed:_0x2cdad3}=await prepareUserMutation(_0x303a0d,_0x350056(0x1d0),![]);return _0x2cdad3&&await updateRoleUsers(_0x303a0d[_0x350056(0x1d4)],_0xc6cfd2),{'ok':!![],'data':_0x574c75,'message':_0x2cdad3?_0x350056(0x1de)+_0x574c75[_0x350056(0x1db)]['userId']+_0x350056(0x1dd)+_0x574c75[_0x350056(0x1db)][_0x350056(0x1d2)]:_0x350056(0x1ca)+_0x574c75[_0x350056(0x1db)]['userId']+'\x20already\x20in\x20role\x20'+_0x574c75['selector'][_0x350056(0x1d2)]};}};
1
+ const a178_0x711e69=a178_0x5397;(function(_0x1af98f,_0x35e0b3){const _0x44ac56=a178_0x5397,_0x53ecfa=_0x1af98f();while(!![]){try{const _0x4d89d9=parseInt(_0x44ac56(0xad))/0x1*(-parseInt(_0x44ac56(0xb3))/0x2)+parseInt(_0x44ac56(0xa6))/0x3+parseInt(_0x44ac56(0xa4))/0x4*(-parseInt(_0x44ac56(0xa1))/0x5)+parseInt(_0x44ac56(0xaf))/0x6+-parseInt(_0x44ac56(0xa5))/0x7*(parseInt(_0x44ac56(0xb2))/0x8)+parseInt(_0x44ac56(0xac))/0x9+-parseInt(_0x44ac56(0xae))/0xa*(-parseInt(_0x44ac56(0xb0))/0xb);if(_0x4d89d9===_0x35e0b3)break;else _0x53ecfa['push'](_0x53ecfa['shift']());}catch(_0x31d1de){_0x53ecfa['push'](_0x53ecfa['shift']());}}}(a178_0x1539,0xb95d4));import{updateRoleUsers}from'../../core/api-client.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a178_0x5397(_0x3eaca0,_0x56eece){_0x3eaca0=_0x3eaca0-0x9f;const _0x153910=a178_0x1539();let _0x539713=_0x153910[_0x3eaca0];return _0x539713;}import{asDryRunResult}from'../../commands/common/dry-run.js';function a178_0x1539(){const _0x1b252f=['2969526XffwsZ','968DDTqMN','appCode','3688saaOnL','55394PnllSf','\x20to\x20role\x20','roleName','No\x20change:\x20user\x20','selector','10SaifvH','POST','Added\x20user\x20','1810848HDjfGW','4361vYzLJW','3425379ROTgNx','user-add','userId','Add\x20a\x20user\x20to\x20a\x20role\x20(internal\x20merge\x20+\x20anti-drift);\x20requires\x20--yes','\x20already\x20in\x20role\x20','high-risk-write','8256438hYqtGq','33ouomzA','35430tkTxwE'];a178_0x1539=function(){return _0x1b252f;};return a178_0x1539();}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':'role','command':a178_0x711e69(0xa7),'description':a178_0x711e69(0xa9),'risk':a178_0x711e69(0xab),'flags':[ROLE_REF_FLAG,USER_REF_FLAG,EXPECT_USER_COUNT_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x81eb87){const _0x59af5f=a178_0x711e69,{mutation:_0x5b9162}=await prepareUserMutation(_0x81eb87,_0x59af5f(0xa7),!![]);return asDryRunResult(_0x5b9162,{'method':_0x59af5f(0xa2),'url':UPDATE_USER_LIST_PATH});},async 'execute'(_0x114f4d){const _0x54b2ad=a178_0x711e69,{roleList:_0x3b7ad8,mutation:_0x14c74c,changed:_0x5ccc3e}=await prepareUserMutation(_0x114f4d,_0x54b2ad(0xa7),![]);return _0x5ccc3e&&await updateRoleUsers(_0x114f4d[_0x54b2ad(0xb1)],_0x3b7ad8),{'ok':!![],'data':_0x14c74c,'message':_0x5ccc3e?_0x54b2ad(0xa3)+_0x14c74c[_0x54b2ad(0xa0)]['userId']+_0x54b2ad(0xb4)+_0x14c74c[_0x54b2ad(0xa0)][_0x54b2ad(0xb5)]:_0x54b2ad(0x9f)+_0x14c74c[_0x54b2ad(0xa0)][_0x54b2ad(0xa8)]+_0x54b2ad(0xaa)+_0x14c74c[_0x54b2ad(0xa0)]['roleName']};}};
@@ -1 +1 @@
1
- const a179_0xe3090c=a179_0x274b;function a179_0x288f(){const _0x525f6f=['2895732IlyBeE','role','userId','No\x20change:\x20user\x20','470355lHUIPa','user-remove','1090148kYcxGL','1456ZaOHSz','roleName','Remove\x20a\x20user\x20from\x20a\x20role\x20(internal\x20merge\x20+\x20anti-drift);\x20requires\x20--yes','42100aSUjqO','appCode','3705020sLGjlX','\x20not\x20in\x20role\x20','2840001xGmBVC','24344RutyPQ','Removed\x20user\x20','\x20from\x20role\x20','selector'];a179_0x288f=function(){return _0x525f6f;};return a179_0x288f();}(function(_0x5c70d0,_0x4c0ee9){const _0x1f634d=a179_0x274b,_0x35a229=_0x5c70d0();while(!![]){try{const _0x18f1bb=-parseInt(_0x1f634d(0x163))/0x1+-parseInt(_0x1f634d(0x169))/0x2+parseInt(_0x1f634d(0x16d))/0x3+-parseInt(_0x1f634d(0x165))/0x4+-parseInt(_0x1f634d(0x16b))/0x5+parseInt(_0x1f634d(0x15f))/0x6+-parseInt(_0x1f634d(0x166))/0x7*(-parseInt(_0x1f634d(0x16e))/0x8);if(_0x18f1bb===_0x4c0ee9)break;else _0x35a229['push'](_0x35a229['shift']());}catch(_0x4a2f09){_0x35a229['push'](_0x35a229['shift']());}}}(a179_0x288f,0x880e7));import{updateRoleUsers}from'../../core/api-client.js';function a179_0x274b(_0x4de0de,_0x31d626){_0x4de0de=_0x4de0de-0x15f;const _0x288fb6=a179_0x288f();let _0x274bfa=_0x288fb6[_0x4de0de];return _0x274bfa;}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{EXPECT_USER_COUNT_FLAG,prepareUserMutation,ROLE_REF_FLAG,UPDATE_USER_LIST_PATH,USER_REF_FLAG}from'../../commands/role/shared.js';export const roleUserRemove={'service':a179_0xe3090c(0x160),'command':'user-remove','description':a179_0xe3090c(0x168),'risk':'high-risk-write','flags':[ROLE_REF_FLAG,USER_REF_FLAG,EXPECT_USER_COUNT_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x4bb7aa){const _0x1528ae=a179_0xe3090c,{mutation:_0x2c58a3}=await prepareUserMutation(_0x4bb7aa,_0x1528ae(0x164),!![]);return asDryRunResult(_0x2c58a3,{'method':'POST','url':UPDATE_USER_LIST_PATH});},async 'execute'(_0x353108){const _0x57ef2d=a179_0xe3090c,{roleList:_0x36fb0a,mutation:_0x55b4fe,changed:_0x19b4f1}=await prepareUserMutation(_0x353108,_0x57ef2d(0x164),![]);return _0x19b4f1&&await updateRoleUsers(_0x353108[_0x57ef2d(0x16a)],_0x36fb0a),{'ok':!![],'data':_0x55b4fe,'message':_0x19b4f1?_0x57ef2d(0x16f)+_0x55b4fe[_0x57ef2d(0x171)][_0x57ef2d(0x161)]+_0x57ef2d(0x170)+_0x55b4fe['selector'][_0x57ef2d(0x167)]:_0x57ef2d(0x162)+_0x55b4fe[_0x57ef2d(0x171)][_0x57ef2d(0x161)]+_0x57ef2d(0x16c)+_0x55b4fe[_0x57ef2d(0x171)]['roleName']};}};
1
+ const a179_0x107ac7=a179_0x46ac;function a179_0x2634(){const _0xd6e489=['2178687kkzXwR','133LYfEwn','10PvuxHt','2925206zfxItR','4777764TDqOcM','No\x20change:\x20user\x20','role','userId','5SXoJue','6940062Bmaplr','1iTvYid','high-risk-write','434730ETZNMH','user-remove','589784VxdnLr','POST','\x20from\x20role\x20','selector','13717363xrmGmi','roleName','Remove\x20a\x20user\x20from\x20a\x20role\x20(internal\x20merge\x20+\x20anti-drift);\x20requires\x20--yes'];a179_0x2634=function(){return _0xd6e489;};return a179_0x2634();}(function(_0x26f758,_0x1b1a67){const _0x2fde27=a179_0x46ac,_0x11cab4=_0x26f758();while(!![]){try{const _0x4f52b2=parseInt(_0x2fde27(0x1dd))/0x1*(-parseInt(_0x2fde27(0x1d6))/0x2)+-parseInt(_0x2fde27(0x1d3))/0x3+parseInt(_0x2fde27(0x1d7))/0x4+-parseInt(_0x2fde27(0x1db))/0x5*(-parseInt(_0x2fde27(0x1ca))/0x6)+-parseInt(_0x2fde27(0x1d4))/0x7*(-parseInt(_0x2fde27(0x1cc))/0x8)+parseInt(_0x2fde27(0x1dc))/0x9*(-parseInt(_0x2fde27(0x1d5))/0xa)+parseInt(_0x2fde27(0x1d0))/0xb;if(_0x4f52b2===_0x1b1a67)break;else _0x11cab4['push'](_0x11cab4['shift']());}catch(_0x231fc3){_0x11cab4['push'](_0x11cab4['shift']());}}}(a179_0x2634,0xe915c));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 a179_0x46ac(_0xa8cfd,_0x59f418){_0xa8cfd=_0xa8cfd-0x1ca;const _0x263462=a179_0x2634();let _0x46acc0=_0x263462[_0xa8cfd];return _0x46acc0;}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':a179_0x107ac7(0x1d9),'command':a179_0x107ac7(0x1cb),'description':a179_0x107ac7(0x1d2),'risk':a179_0x107ac7(0x1de),'flags':[ROLE_REF_FLAG,USER_REF_FLAG,EXPECT_USER_COUNT_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x476fa2){const _0x3c0c8e=a179_0x107ac7,{mutation:_0x4e1795}=await prepareUserMutation(_0x476fa2,_0x3c0c8e(0x1cb),!![]);return asDryRunResult(_0x4e1795,{'method':_0x3c0c8e(0x1cd),'url':UPDATE_USER_LIST_PATH});},async 'execute'(_0x14389a){const _0x33f36d=a179_0x107ac7,{roleList:_0x1f9a2e,mutation:_0x5eac07,changed:_0x24de20}=await prepareUserMutation(_0x14389a,_0x33f36d(0x1cb),![]);return _0x24de20&&await updateRoleUsers(_0x14389a['appCode'],_0x1f9a2e),{'ok':!![],'data':_0x5eac07,'message':_0x24de20?'Removed\x20user\x20'+_0x5eac07['selector'][_0x33f36d(0x1da)]+_0x33f36d(0x1ce)+_0x5eac07['selector']['roleName']:_0x33f36d(0x1d8)+_0x5eac07[_0x33f36d(0x1cf)][_0x33f36d(0x1da)]+'\x20not\x20in\x20role\x20'+_0x5eac07[_0x33f36d(0x1cf)][_0x33f36d(0x1d1)]};}};
@@ -1 +1 @@
1
- const a180_0x270dad=a180_0x1caa;function a180_0x225d(){const _0x450009=['724190VRDcNw','role','1096825pufOeY','str','name','5656086XMClfw','trim','1536szzaOc','7HOkoxo','flagMissing','162492HvqcNZ','\x22\x20→\x20userId\x20','Resolved\x20\x22','3370FqVOUe','userId','18DbNFqA','6583380kSrYAJ','2397uroMuA','147128CPulkY','username'];a180_0x225d=function(){return _0x450009;};return a180_0x225d();}(function(_0xcb19e1,_0xeda2ed){const _0x8a7956=a180_0x1caa,_0x2265de=_0xcb19e1();while(!![]){try{const _0x26bd38=-parseInt(_0x8a7956(0x147))/0x1+-parseInt(_0x8a7956(0x14e))/0x2*(parseInt(_0x8a7956(0x158))/0x3)+-parseInt(_0x8a7956(0x157))/0x4+-parseInt(_0x8a7956(0x149))/0x5+-parseInt(_0x8a7956(0x14c))/0x6*(parseInt(_0x8a7956(0x14f))/0x7)+parseInt(_0x8a7956(0x159))/0x8*(parseInt(_0x8a7956(0x156))/0x9)+parseInt(_0x8a7956(0x154))/0xa*(parseInt(_0x8a7956(0x151))/0xb);if(_0x26bd38===_0xeda2ed)break;else _0x2265de['push'](_0x2265de['shift']());}catch(_0x5151b7){_0x2265de['push'](_0x2265de['shift']());}}}(a180_0x225d,0xd4371));import{CliErrors}from'../../errors.js';function a180_0x1caa(_0x3b35e0,_0x4adf39){_0x3b35e0=_0x3b35e0-0x147;const _0x225dd8=a180_0x225d();let _0x1caa1a=_0x225dd8[_0x3b35e0];return _0x1caa1a;}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{resolveUserRef,USER_NAME_FLAG}from'../../commands/role/shared.js';export const roleUserResolve={'service':a180_0x270dad(0x148),'command':'user-resolve','description':'Resolve\x20a\x20nickname/username\x20to\x20a\x20userId\x20(tenant\x20member\x20directory)','risk':'read','flags':[USER_NAME_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x475f60){const _0x37a5a3=a180_0x270dad;if(!_0x475f60[_0x37a5a3(0x14a)](_0x37a5a3(0x14b))[_0x37a5a3(0x14d)]())throw CliErrors[_0x37a5a3(0x150)](_0x37a5a3(0x14b),'Pass\x20--name\x20<nickname|username>.');},async 'execute'(_0x25825f){const _0x133b27=a180_0x270dad,_0x1df0e7=_0x25825f[_0x133b27(0x14a)]('name')['trim'](),_0x20ba27=await resolveUserRef(_0x1df0e7);return{'ok':!![],'data':{'user':{'userId':_0x20ba27[_0x133b27(0x155)],'username':_0x20ba27[_0x133b27(0x15a)],'nickname':_0x20ba27['nickname'],'matchedBy':_0x20ba27['matchedBy']}},'message':_0x133b27(0x153)+_0x1df0e7+_0x133b27(0x152)+_0x20ba27[_0x133b27(0x155)]};}};
1
+ const a180_0x4ddc65=a180_0x2963;function a180_0x1a36(){const _0x28188c=['1596gYQtDR','username','527598uoxpwS','name','trim','710902SSnsJV','matchedBy','408080ESBGAk','userId','\x22\x20→\x20userId\x20','str','6402472EEalho','211362gwWXaD','2FiiHxY','Pass\x20--name\x20<nickname|username>.','150gGFEhd','26983mvKstF','338787FIxADe','7UqtvUe','Resolved\x20\x22','user-resolve','35zHvgPp','Resolve\x20a\x20nickname/username\x20to\x20a\x20userId\x20(tenant\x20member\x20directory)','flagMissing','nickname'];a180_0x1a36=function(){return _0x28188c;};return a180_0x1a36();}function a180_0x2963(_0x4de3a4,_0x26c997){_0x4de3a4=_0x4de3a4-0x92;const _0x1a36a9=a180_0x1a36();let _0x2963d2=_0x1a36a9[_0x4de3a4];return _0x2963d2;}(function(_0x2953b5,_0xf525a5){const _0x324bed=a180_0x2963,_0x52d247=_0x2953b5();while(!![]){try{const _0x44374a=-parseInt(_0x324bed(0xa6))/0x1+parseInt(_0x324bed(0x95))/0x2*(-parseInt(_0x324bed(0x94))/0x3)+-parseInt(_0x324bed(0xa8))/0x4*(-parseInt(_0x324bed(0x9d))/0x5)+-parseInt(_0x324bed(0xa3))/0x6*(parseInt(_0x324bed(0x9a))/0x7)+parseInt(_0x324bed(0x93))/0x8+-parseInt(_0x324bed(0x99))/0x9*(parseInt(_0x324bed(0x97))/0xa)+parseInt(_0x324bed(0x98))/0xb*(parseInt(_0x324bed(0xa1))/0xc);if(_0x44374a===_0xf525a5)break;else _0x52d247['push'](_0x52d247['shift']());}catch(_0x1c144f){_0x52d247['push'](_0x52d247['shift']());}}}(a180_0x1a36,0x634ec));import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{resolveUserRef,USER_NAME_FLAG}from'../../commands/role/shared.js';export const roleUserResolve={'service':'role','command':a180_0x4ddc65(0x9c),'description':a180_0x4ddc65(0x9e),'risk':'read','flags':[USER_NAME_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x2a60e6){const _0x2bc23b=a180_0x4ddc65;if(!_0x2a60e6[_0x2bc23b(0x92)](_0x2bc23b(0xa4))[_0x2bc23b(0xa5)]())throw CliErrors[_0x2bc23b(0x9f)](_0x2bc23b(0xa4),_0x2bc23b(0x96));},async 'execute'(_0x1b900a){const _0x594740=a180_0x4ddc65,_0x8a0cf3=_0x1b900a['str'](_0x594740(0xa4))[_0x594740(0xa5)](),_0x59ca40=await resolveUserRef(_0x8a0cf3);return{'ok':!![],'data':{'user':{'userId':_0x59ca40[_0x594740(0xa9)],'username':_0x59ca40[_0x594740(0xa2)],'nickname':_0x59ca40[_0x594740(0xa0)],'matchedBy':_0x59ca40[_0x594740(0xa7)]}},'message':_0x594740(0x9b)+_0x8a0cf3+_0x594740(0xaa)+_0x59ca40[_0x594740(0xa9)]};}};
@@ -1 +1 @@
1
- const a181_0x1db017=a181_0x58ea;(function(_0x4fe036,_0x4d9820){const _0x41e52c=a181_0x58ea,_0x829a12=_0x4fe036();while(!![]){try{const _0x4cda27=-parseInt(_0x41e52c(0x168))/0x1+-parseInt(_0x41e52c(0x16b))/0x2+parseInt(_0x41e52c(0x172))/0x3+parseInt(_0x41e52c(0x14a))/0x4*(parseInt(_0x41e52c(0x154))/0x5)+-parseInt(_0x41e52c(0x136))/0x6*(-parseInt(_0x41e52c(0x14d))/0x7)+parseInt(_0x41e52c(0x16f))/0x8*(-parseInt(_0x41e52c(0x159))/0x9)+parseInt(_0x41e52c(0x14e))/0xa;if(_0x4cda27===_0x4d9820)break;else _0x829a12['push'](_0x829a12['shift']());}catch(_0x1e3d8f){_0x829a12['push'](_0x829a12['shift']());}}}(a181_0x15a4,0x1e7a8));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([a181_0x1db017(0x166),a181_0x1db017(0x14f)]);function readPackageScripts(_0x339a80){const _0x403ace=a181_0x1db017,_0x5715e4=resolve(_0x339a80,_0x403ace(0x148));if(!existsSync(_0x5715e4))return null;try{const _0x32ffee=JSON[_0x403ace(0x15d)](readFileSync(_0x5715e4,_0x403ace(0x170)));return _0x32ffee[_0x403ace(0x137)]??{};}catch{return null;}}function a181_0x15a4(){const _0x71d06e=['keys','start','vite\x20preview\x20exited\x20with\x20code\x20','239522nOMoAq','bun.lockb','\x20\x20\x20\x20','68020vAotmb','close','No\x20package.json\x20found\x20in\x20current\x20directory.','pnpm-lock.yaml','296bcsiDs','utf-8','yarn.lock','662628Tupxfq','No\x20scripts\x20defined\x20in\x20package.json.','Enable\x20watch\x20mode\x20for\x20preview','\x20\x20EXAMPLES','10806sgZurV','scripts','vite','belowMinimum','watch','join','node_modules','\x20run\x20','--watch','inherit','validation','yarn','\x20run\x20<script>\x0a','bun.lock','\x0a\x20\x20Usage:\x20','\x20run\x20start','\x0a\x20\x20Available\x20scripts:\x0a','cwd','package.json','script','125932VtnQPi','Script\x20\x22','(none)','777jbNWul','776040FXGwgT','dev','bun','bool','pnpm','error','10uxotEp','run','high-risk-write','.bin','Script\x20name\x20defined\x20in\x20package.json','39645FCwPZl','log','has','\x20run\x20preview\x20--watch','parse','boolean','needsUpgrade','push','slice','all','preview','build'];a181_0x15a4=function(){return _0x71d06e;};return a181_0x15a4();}function detectPackageManager(_0x45ea8a){const _0x247fb1=a181_0x1db017;if(existsSync(resolve(_0x45ea8a,_0x247fb1(0x169)))||existsSync(resolve(_0x45ea8a,_0x247fb1(0x143))))return _0x247fb1(0x150);if(existsSync(resolve(_0x45ea8a,_0x247fb1(0x16e))))return _0x247fb1(0x152);if(existsSync(resolve(_0x45ea8a,_0x247fb1(0x171))))return _0x247fb1(0x141);return'npm';}async function versionCheck(_0x56a657){const _0x222959=a181_0x1db017,_0x16cb8a=await checkCliVersion();(_0x16cb8a[_0x222959(0x15f)]||_0x16cb8a[_0x222959(0x139)])&&(printCliUpgradeWarning(_0x16cb8a),assertCliVersionSupported(_0x16cb8a));const _0x594800=await checkSdkVersion(_0x56a657);if(_0x594800['needsUpgrade'])printSdkUpgradeWarning(_0x594800);}function a181_0x58ea(_0x2db54e,_0x4f3260){_0x2db54e=_0x2db54e-0x135;const _0x15a4fa=a181_0x15a4();let _0x58eabf=_0x15a4fa[_0x2db54e];return _0x58eabf;}function spawnScript(_0x3a846a,_0x3379e5,_0xe35498,_0x29bee1){return new Promise((_0x5f434a,_0x312df3)=>{const _0x4c3e5c=a181_0x58ea,_0x241254=[_0x4c3e5c(0x155),_0x3379e5,..._0xe35498],_0x282f35=spawn(_0x3a846a,_0x241254,{'cwd':_0x29bee1,'stdio':'inherit','shell':!![],'env':{...process.env,'PATH':''+join(_0x29bee1,_0x4c3e5c(0x13c),_0x4c3e5c(0x157))+delimiter+process.env.PATH}});_0x282f35['on'](_0x4c3e5c(0x16c),_0x8dc3a5=>{const _0x4837a6=_0x4c3e5c;if(_0x8dc3a5===0x0||_0x8dc3a5===null)_0x5f434a();else _0x312df3(new Error(_0x3a846a+_0x4837a6(0x13d)+_0x3379e5+'\x20exited\x20with\x20code\x20'+_0x8dc3a5));}),_0x282f35['on']('error',_0x312df3);});}function spawnViteBuildWatch(_0x30109b){return new Promise((_0x5365f0,_0x1fef69)=>{const _0x505dbe=a181_0x58ea,_0x32ea11=spawn(_0x505dbe(0x138),[_0x505dbe(0x164),_0x505dbe(0x13e)],{'cwd':_0x30109b,'stdio':_0x505dbe(0x13f),'shell':!![],'env':{...process.env,'PATH':''+join(_0x30109b,'node_modules',_0x505dbe(0x157))+delimiter+process.env.PATH}});_0x32ea11['on'](_0x505dbe(0x16c),_0x1acef8=>{if(_0x1acef8===0x0||_0x1acef8===null)_0x5365f0();else _0x1fef69(new Error('vite\x20build\x20--watch\x20exited\x20with\x20code\x20'+_0x1acef8));}),_0x32ea11['on']('error',_0x1fef69);});}function spawnVitePreview(_0x5adf56){return new Promise((_0x421ca3,_0x2d43e2)=>{const _0x2327c9=a181_0x58ea,_0x1fae1c=spawn(_0x2327c9(0x138),['preview'],{'cwd':_0x5adf56,'stdio':_0x2327c9(0x13f),'shell':!![],'env':{...process.env,'PATH':''+join(_0x5adf56,_0x2327c9(0x13c),_0x2327c9(0x157))+delimiter+process.env.PATH}});_0x1fae1c['on'](_0x2327c9(0x16c),_0x3367be=>{const _0x5dc646=_0x2327c9;if(_0x3367be===0x0||_0x3367be===null)_0x421ca3();else _0x2d43e2(new Error(_0x5dc646(0x167)+_0x3367be));}),_0x1fae1c['on'](_0x2327c9(0x153),_0x2d43e2);});}const runFlags=[{'name':a181_0x1db017(0x13a),'type':a181_0x1db017(0x15e),'description':a181_0x1db017(0x174),'default':![]}];export const runDefinition={'service':a181_0x1db017(0x155),'command':'run','description':'Run\x20a\x20package.json\x20script','risk':a181_0x1db017(0x156),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a181_0x1db017(0x149),'description':a181_0x1db017(0x158),'required':![]}],'flags':runFlags,'helpExtra':()=>{const _0x47a172=a181_0x1db017,_0x926c14=[];return _0x926c14[_0x47a172(0x160)](_0x47a172(0x135)),_0x926c14[_0x47a172(0x160)]('\x20\x20\x20\x20'+CLI_BIN_NAME+_0x47a172(0x145)),_0x926c14[_0x47a172(0x160)](_0x47a172(0x16a)+CLI_BIN_NAME+'\x20run\x20build'),_0x926c14[_0x47a172(0x160)](_0x47a172(0x16a)+CLI_BIN_NAME+'\x20run\x20preview'),_0x926c14[_0x47a172(0x160)](_0x47a172(0x16a)+CLI_BIN_NAME+_0x47a172(0x15c)),_0x926c14[_0x47a172(0x13b)]('\x0a');},async 'execute'(_0x2b8169){const _0x478590=a181_0x1db017,_0x54d471=process[_0x478590(0x147)](),_0x33e0ef=_0x2b8169['args'][0x0],_0x4b4d68=_0x2b8169['args'][_0x478590(0x161)](0x1),_0x9f34ba=readPackageScripts(_0x54d471);if(!_0x9f34ba)throw CliErrors[_0x478590(0x140)](_0x478590(0x16d));if(!_0x33e0ef){const _0xc1a62b=Object[_0x478590(0x165)](_0x9f34ba);if(_0xc1a62b['length']===0x0)console[_0x478590(0x15a)](_0x478590(0x173));else{console[_0x478590(0x15a)](_0x478590(0x146));for(const _0x280049 of _0xc1a62b){console[_0x478590(0x15a)]('\x20\x20\x20\x20'+_0x280049);}console['log'](_0x478590(0x144)+CLI_BIN_NAME+_0x478590(0x142));}return{'ok':!![]};}if(!_0x9f34ba[_0x33e0ef])throw CliErrors['validation'](_0x478590(0x14b)+_0x33e0ef+'\x22\x20not\x20found\x20in\x20package.json.','Available:\x20'+(Object['keys'](_0x9f34ba)[_0x478590(0x13b)](',\x20')||_0x478590(0x14c)));const _0x3cc799=detectPackageManager(_0x54d471);VERSION_CHECK_SCRIPTS[_0x478590(0x15b)](_0x33e0ef)&&await versionCheck(_0x54d471);if(_0x33e0ef===_0x478590(0x163)&&_0x2b8169[_0x478590(0x151)](_0x478590(0x13a)))return await Promise[_0x478590(0x162)]([spawnViteBuildWatch(_0x54d471),spawnVitePreview(_0x54d471)]),{'ok':!![]};return await spawnScript(_0x3cc799,_0x33e0ef,_0x4b4d68,_0x54d471),{'ok':!![]};}};
1
+ const a181_0x15f241=a181_0x122a;(function(_0x16e1dd,_0xbe5964){const _0x3ee325=a181_0x122a,_0x2f3f4e=_0x16e1dd();while(!![]){try{const _0x10ba68=parseInt(_0x3ee325(0x93))/0x1+-parseInt(_0x3ee325(0x99))/0x2+-parseInt(_0x3ee325(0x98))/0x3*(-parseInt(_0x3ee325(0xb1))/0x4)+-parseInt(_0x3ee325(0xc5))/0x5+parseInt(_0x3ee325(0xb4))/0x6+parseInt(_0x3ee325(0x96))/0x7+parseInt(_0x3ee325(0x9f))/0x8*(-parseInt(_0x3ee325(0x97))/0x9);if(_0x10ba68===_0xbe5964)break;else _0x2f3f4e['push'](_0x2f3f4e['shift']());}catch(_0x1ac363){_0x2f3f4e['push'](_0x2f3f4e['shift']());}}}(a181_0x1e77,0x3e081));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([a181_0x15f241(0x8b),a181_0x15f241(0xae)]);function readPackageScripts(_0x5b07b6){const _0x29a47f=a181_0x15f241,_0x52e07b=resolve(_0x5b07b6,_0x29a47f(0xb3));if(!existsSync(_0x52e07b))return null;try{const _0x37227f=JSON['parse'](readFileSync(_0x52e07b,'utf-8'));return _0x37227f[_0x29a47f(0xa5)]??{};}catch{return null;}}function detectPackageManager(_0x4f2854){const _0x32eebe=a181_0x15f241;if(existsSync(resolve(_0x4f2854,_0x32eebe(0xaf)))||existsSync(resolve(_0x4f2854,'bun.lock')))return _0x32eebe(0xbc);if(existsSync(resolve(_0x4f2854,_0x32eebe(0xc4))))return'pnpm';if(existsSync(resolve(_0x4f2854,_0x32eebe(0xa6))))return _0x32eebe(0xab);return _0x32eebe(0x9a);}async function versionCheck(_0x4cdc04){const _0x5ed21e=a181_0x15f241,_0xa34d26=await checkCliVersion();(_0xa34d26[_0x5ed21e(0xa4)]||_0xa34d26[_0x5ed21e(0xac)])&&(printCliUpgradeWarning(_0xa34d26),assertCliVersionSupported(_0xa34d26));const _0x5c6e01=await checkSdkVersion(_0x4cdc04);if(_0x5c6e01[_0x5ed21e(0xa4)])printSdkUpgradeWarning(_0x5c6e01);}function a181_0x1e77(){const _0xdeca76=['No\x20scripts\x20defined\x20in\x20package.json.','close','length','40lqDGyv','\x0a\x20\x20Available\x20scripts:\x0a','run','\x20run\x20start','all','needsUpgrade','scripts','yarn.lock','\x0a\x20\x20Usage:\x20','log','\x20run\x20','validation','yarn','belowMinimum','error','dev','bun.lockb','watch','904348rbwhds','--watch','package.json','277620Kmvwsh','has','Enable\x20watch\x20mode\x20for\x20preview','join','push','Script\x20\x22','inherit','vite','bun','args','No\x20package.json\x20found\x20in\x20current\x20directory.','vite\x20build\x20--watch\x20exited\x20with\x20code\x20','\x20\x20EXAMPLES','\x20exited\x20with\x20code\x20','preview','\x20run\x20preview\x20--watch','pnpm-lock.yaml','512160LSBmuu','keys','start','boolean','node_modules','.bin','Available:\x20','script','\x20run\x20preview','slice','267464mHKCEB','Script\x20name\x20defined\x20in\x20package.json','\x20\x20\x20\x20','1352169Qlmcrr','845883CWVvOu','6mEUTNy','265254Mgnuhk','npm','build'];a181_0x1e77=function(){return _0xdeca76;};return a181_0x1e77();}function spawnScript(_0x37c32b,_0xe57311,_0x15917a,_0x448266){return new Promise((_0x936bdc,_0x54a9d4)=>{const _0x6997dd=a181_0x122a,_0x51d3a8=[_0x6997dd(0xa1),_0xe57311,..._0x15917a],_0x3e2907=spawn(_0x37c32b,_0x51d3a8,{'cwd':_0x448266,'stdio':_0x6997dd(0xba),'shell':!![],'env':{...process.env,'PATH':''+join(_0x448266,_0x6997dd(0x8d),_0x6997dd(0x8e))+delimiter+process.env.PATH}});_0x3e2907['on']('close',_0x51df4e=>{const _0x59cbe6=_0x6997dd;if(_0x51df4e===0x0||_0x51df4e===null)_0x936bdc();else _0x54a9d4(new Error(_0x37c32b+_0x59cbe6(0xa9)+_0xe57311+_0x59cbe6(0xc1)+_0x51df4e));}),_0x3e2907['on'](_0x6997dd(0xad),_0x54a9d4);});}function spawnViteBuildWatch(_0x133e26){return new Promise((_0x632bbb,_0xb9914f)=>{const _0x3b9675=a181_0x122a,_0x4e5231=spawn('vite',[_0x3b9675(0x9b),_0x3b9675(0xb2)],{'cwd':_0x133e26,'stdio':_0x3b9675(0xba),'shell':!![],'env':{...process.env,'PATH':''+join(_0x133e26,_0x3b9675(0x8d),'.bin')+delimiter+process.env.PATH}});_0x4e5231['on'](_0x3b9675(0x9d),_0x4b13ba=>{const _0x27c373=_0x3b9675;if(_0x4b13ba===0x0||_0x4b13ba===null)_0x632bbb();else _0xb9914f(new Error(_0x27c373(0xbf)+_0x4b13ba));}),_0x4e5231['on']('error',_0xb9914f);});}function a181_0x122a(_0x1ae7e1,_0x2b5cc6){_0x1ae7e1=_0x1ae7e1-0x8b;const _0x1e772c=a181_0x1e77();let _0x122a8d=_0x1e772c[_0x1ae7e1];return _0x122a8d;}function spawnVitePreview(_0x5127c1){return new Promise((_0x3972eb,_0x4b9f4e)=>{const _0x433cb4=a181_0x122a,_0x4e120d=spawn(_0x433cb4(0xbb),[_0x433cb4(0xc2)],{'cwd':_0x5127c1,'stdio':_0x433cb4(0xba),'shell':!![],'env':{...process.env,'PATH':''+join(_0x5127c1,_0x433cb4(0x8d),_0x433cb4(0x8e))+delimiter+process.env.PATH}});_0x4e120d['on'](_0x433cb4(0x9d),_0x176f5e=>{if(_0x176f5e===0x0||_0x176f5e===null)_0x3972eb();else _0x4b9f4e(new Error('vite\x20preview\x20exited\x20with\x20code\x20'+_0x176f5e));}),_0x4e120d['on']('error',_0x4b9f4e);});}const runFlags=[{'name':a181_0x15f241(0xb0),'type':a181_0x15f241(0x8c),'description':a181_0x15f241(0xb6),'default':![]}];export const runDefinition={'service':a181_0x15f241(0xa1),'command':a181_0x15f241(0xa1),'description':'Run\x20a\x20package.json\x20script','risk':'high-risk-write','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a181_0x15f241(0x90),'description':a181_0x15f241(0x94),'required':![]}],'flags':runFlags,'helpExtra':()=>{const _0x21bff1=a181_0x15f241,_0x3d6bd5=[];return _0x3d6bd5[_0x21bff1(0xb8)](_0x21bff1(0xc0)),_0x3d6bd5[_0x21bff1(0xb8)](_0x21bff1(0x95)+CLI_BIN_NAME+_0x21bff1(0xa2)),_0x3d6bd5[_0x21bff1(0xb8)](_0x21bff1(0x95)+CLI_BIN_NAME+'\x20run\x20build'),_0x3d6bd5['push'](_0x21bff1(0x95)+CLI_BIN_NAME+_0x21bff1(0x91)),_0x3d6bd5[_0x21bff1(0xb8)](_0x21bff1(0x95)+CLI_BIN_NAME+_0x21bff1(0xc3)),_0x3d6bd5[_0x21bff1(0xb7)]('\x0a');},async 'execute'(_0x2f1c6d){const _0x11344e=a181_0x15f241,_0x573c9c=process['cwd'](),_0x1bc164=_0x2f1c6d[_0x11344e(0xbd)][0x0],_0x2dff6a=_0x2f1c6d[_0x11344e(0xbd)][_0x11344e(0x92)](0x1),_0x49bb3e=readPackageScripts(_0x573c9c);if(!_0x49bb3e)throw CliErrors['validation'](_0x11344e(0xbe));if(!_0x1bc164){const _0x22f098=Object['keys'](_0x49bb3e);if(_0x22f098[_0x11344e(0x9e)]===0x0)console['log'](_0x11344e(0x9c));else{console['log'](_0x11344e(0xa0));for(const _0x52dfa8 of _0x22f098){console[_0x11344e(0xa8)](_0x11344e(0x95)+_0x52dfa8);}console['log'](_0x11344e(0xa7)+CLI_BIN_NAME+'\x20run\x20<script>\x0a');}return{'ok':!![]};}if(!_0x49bb3e[_0x1bc164])throw CliErrors[_0x11344e(0xaa)](_0x11344e(0xb9)+_0x1bc164+'\x22\x20not\x20found\x20in\x20package.json.',_0x11344e(0x8f)+(Object[_0x11344e(0xc6)](_0x49bb3e)[_0x11344e(0xb7)](',\x20')||'(none)'));const _0x51e978=detectPackageManager(_0x573c9c);VERSION_CHECK_SCRIPTS[_0x11344e(0xb5)](_0x1bc164)&&await versionCheck(_0x573c9c);if(_0x1bc164===_0x11344e(0xc2)&&_0x2f1c6d['bool'](_0x11344e(0xb0)))return await Promise[_0x11344e(0xa3)]([spawnViteBuildWatch(_0x573c9c),spawnVitePreview(_0x573c9c)]),{'ok':!![]};return await spawnScript(_0x51e978,_0x1bc164,_0x2dff6a,_0x573c9c),{'ok':!![]};}};
@@ -1 +1 @@
1
- const a182_0x250eb8=a182_0x3f0a;(function(_0x18c4e4,_0x22ffff){const _0x7495d9=a182_0x3f0a,_0xc290ee=_0x18c4e4();while(!![]){try{const _0x42329d=parseInt(_0x7495d9(0xdc))/0x1+parseInt(_0x7495d9(0xde))/0x2*(-parseInt(_0x7495d9(0xda))/0x3)+-parseInt(_0x7495d9(0xd6))/0x4+-parseInt(_0x7495d9(0xdb))/0x5+-parseInt(_0x7495d9(0xd9))/0x6*(parseInt(_0x7495d9(0xd8))/0x7)+parseInt(_0x7495d9(0xe1))/0x8+-parseInt(_0x7495d9(0xe0))/0x9*(-parseInt(_0x7495d9(0xdd))/0xa);if(_0x42329d===_0x22ffff)break;else _0xc290ee['push'](_0xc290ee['shift']());}catch(_0x1005e4){_0xc290ee['push'](_0xc290ee['shift']());}}}(a182_0x2fdb,0x2a6d1));import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x4a5789){const _0x33bdbf=await buildSchemaPayload();return{'ok':!![],'data':_0x33bdbf};}export const schemaDefinition={'service':'schema','command':a182_0x250eb8(0xd5),'description':a182_0x250eb8(0xdf),'risk':a182_0x250eb8(0xe2),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':a182_0x250eb8(0xd7),'flags':[],'execute':execute};function a182_0x3f0a(_0x35d8ef,_0x5cb478){_0x35d8ef=_0x35d8ef-0xd5;const _0x2fdb21=a182_0x2fdb();let _0x3f0af2=_0x2fdb21[_0x35d8ef];return _0x3f0af2;}function a182_0x2fdb(){const _0x2f33a5=['1282680zgiZbX','read','export','1273736WdFnPr','json','14bTfdXh','571674hDdmrk','1030482UKmaoj','583030uKnIjX','82859OsRIGA','70VBuSIv','2tDlkta','Export\x20machine-readable\x20command\x20schema\x20(JSON)','1156725eQiUNB'];a182_0x2fdb=function(){return _0x2f33a5;};return a182_0x2fdb();}
1
+ function a182_0x3886(){const _0x3326db=['1019DjgUfx','3418nEHKbs','82210ZtvnDz','4125775fkfgwu','export','Export\x20machine-readable\x20command\x20schema\x20(JSON)','4jugZWD','json','52440267gmYicy','7307622ZjERmm','1422rPfoXO','12353832ldUmCb','schema','7FimOOt','2839314UYgCkm'];a182_0x3886=function(){return _0x3326db;};return a182_0x3886();}function a182_0xcf41(_0x5f3f0f,_0x2afb9b){_0x5f3f0f=_0x5f3f0f-0x10b;const _0x38868d=a182_0x3886();let _0xcf4105=_0x38868d[_0x5f3f0f];return _0xcf4105;}const a182_0x18ac41=a182_0xcf41;(function(_0x55273f,_0x4ae414){const _0x1a3004=a182_0xcf41,_0x4cea4d=_0x55273f();while(!![]){try{const _0x103427=-parseInt(_0x1a3004(0x112))/0x1*(-parseInt(_0x1a3004(0x113))/0x2)+-parseInt(_0x1a3004(0x111))/0x3+parseInt(_0x1a3004(0x118))/0x4*(parseInt(_0x1a3004(0x115))/0x5)+parseInt(_0x1a3004(0x10c))/0x6*(parseInt(_0x1a3004(0x110))/0x7)+parseInt(_0x1a3004(0x10e))/0x8+-parseInt(_0x1a3004(0x10d))/0x9*(-parseInt(_0x1a3004(0x114))/0xa)+-parseInt(_0x1a3004(0x10b))/0xb;if(_0x103427===_0x4ae414)break;else _0x4cea4d['push'](_0x4cea4d['shift']());}catch(_0x1865b4){_0x4cea4d['push'](_0x4cea4d['shift']());}}}(a182_0x3886,0xdf237));import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x2dc530){const _0x49d61f=await buildSchemaPayload();return{'ok':!![],'data':_0x49d61f};}export const schemaDefinition={'service':a182_0x18ac41(0x10f),'command':a182_0x18ac41(0x116),'description':a182_0x18ac41(0x117),'risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':a182_0x18ac41(0x119),'flags':[],'execute':execute};