@lovrabet/rabetbase-cli 2.4.3 → 2.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (381) 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-refresh-start.d.ts +2 -0
  87. package/lib/commands/db/diff-refresh-start.js +1 -0
  88. package/lib/commands/db/diff-refresh-status.d.ts +2 -0
  89. package/lib/commands/db/diff-refresh-status.js +1 -0
  90. package/lib/commands/db/diff.js +1 -1
  91. package/lib/commands/db/index.js +1 -1
  92. package/lib/commands/db/list.js +1 -1
  93. package/lib/commands/db/shared.js +1 -1
  94. package/lib/commands/db/tables.js +1 -1
  95. package/lib/commands/db/test.js +1 -1
  96. package/lib/commands/db/update.js +1 -1
  97. package/lib/commands/doctor.js +1 -1
  98. package/lib/commands/file/index.js +1 -1
  99. package/lib/commands/init/index.js +1 -1
  100. package/lib/commands/issue/index.js +1 -1
  101. package/lib/commands/issue/nudge.js +1 -1
  102. package/lib/commands/issue/report.js +1 -1
  103. package/lib/commands/issue/shared.js +1 -1
  104. package/lib/commands/kb/create.js +1 -1
  105. package/lib/commands/kb/delete.js +1 -1
  106. package/lib/commands/kb/detail.js +1 -1
  107. package/lib/commands/kb/index.js +1 -1
  108. package/lib/commands/kb/list.js +1 -1
  109. package/lib/commands/kb/shared.js +1 -1
  110. package/lib/commands/kb/update.js +1 -1
  111. package/lib/commands/logs/index.js +1 -1
  112. package/lib/commands/menu/asset-update.js +1 -1
  113. package/lib/commands/menu/delete.js +1 -1
  114. package/lib/commands/menu/external-link-create.js +1 -1
  115. package/lib/commands/menu/external-link-update.js +1 -1
  116. package/lib/commands/menu/group-create.js +1 -1
  117. package/lib/commands/menu/group-update.js +1 -1
  118. package/lib/commands/menu/index.js +1 -1
  119. package/lib/commands/menu/list.js +1 -1
  120. package/lib/commands/menu/move.js +1 -1
  121. package/lib/commands/menu/regroup-start.js +1 -1
  122. package/lib/commands/menu/rename.js +1 -1
  123. package/lib/commands/menu/shared/compare-table.js +1 -1
  124. package/lib/commands/menu/shared/delete-plan.js +1 -1
  125. package/lib/commands/menu/shared/facts.js +1 -1
  126. package/lib/commands/menu/shared/index.js +1 -1
  127. package/lib/commands/menu/shared/inquirer.js +1 -1
  128. package/lib/commands/menu/shared/local-pages.js +1 -1
  129. package/lib/commands/menu/shared/logic.js +1 -1
  130. package/lib/commands/menu/shared/mutations.js +1 -1
  131. package/lib/commands/menu/shared/service.js +1 -1
  132. package/lib/commands/menu/shared/sync-core.js +1 -1
  133. package/lib/commands/menu/shared/update-core.js +1 -1
  134. package/lib/commands/menu/shared/valid-url.js +1 -1
  135. package/lib/commands/menu/sync.js +1 -1
  136. package/lib/commands/notification/config-create.d.ts +2 -0
  137. package/lib/commands/notification/config-create.js +1 -0
  138. package/lib/commands/notification/config-delete.d.ts +2 -0
  139. package/lib/commands/notification/config-delete.js +1 -0
  140. package/lib/commands/notification/config-list.js +1 -1
  141. package/lib/commands/notification/config-update.d.ts +2 -0
  142. package/lib/commands/notification/config-update.js +1 -0
  143. package/lib/commands/notification/index.js +1 -1
  144. package/lib/commands/notification/shared.d.ts +97 -0
  145. package/lib/commands/notification/shared.js +1 -0
  146. package/lib/commands/ocr/index.js +1 -1
  147. package/lib/commands/page/generate-start.js +1 -1
  148. package/lib/commands/page/generate-status.js +1 -1
  149. package/lib/commands/page/index.js +1 -1
  150. package/lib/commands/page/pull.js +1 -1
  151. package/lib/commands/page/push.js +1 -1
  152. package/lib/commands/page/react/create.js +1 -1
  153. package/lib/commands/page/react/detail.js +1 -1
  154. package/lib/commands/page/react/list.js +1 -1
  155. package/lib/commands/page/react/publish.js +1 -1
  156. package/lib/commands/page/react/shared.js +1 -1
  157. package/lib/commands/page/react/syntax.js +1 -1
  158. package/lib/commands/page/react/template.js +1 -1
  159. package/lib/commands/page/react/update.js +1 -1
  160. package/lib/commands/page/relation-audit.js +1 -1
  161. package/lib/commands/page/restore.js +1 -1
  162. package/lib/commands/page/shared.js +1 -1
  163. package/lib/commands/page/standard-page-status.js +1 -1
  164. package/lib/commands/page/sync.js +1 -1
  165. package/lib/commands/permit/index.js +1 -1
  166. package/lib/commands/permit/page-get.js +1 -1
  167. package/lib/commands/permit/page-set.js +1 -1
  168. package/lib/commands/permit/role-apis-set.js +1 -1
  169. package/lib/commands/permit/role-menus-set.js +1 -1
  170. package/lib/commands/permit/role-menus.js +1 -1
  171. package/lib/commands/permit/shared.js +1 -1
  172. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  173. package/lib/commands/project/create/format-elapsed.js +1 -1
  174. package/lib/commands/project/create/main.d.ts +1 -0
  175. package/lib/commands/project/create/main.js +1 -1
  176. package/lib/commands/project/create/materialize-project-template.d.ts +11 -0
  177. package/lib/commands/project/create/materialize-project-template.js +1 -0
  178. package/lib/commands/project/create/project-name.d.ts +2 -0
  179. package/lib/commands/project/create/project-name.js +1 -0
  180. package/lib/commands/project/create/project-template-archive.d.ts +6 -0
  181. package/lib/commands/project/create/project-template-archive.js +1 -0
  182. package/lib/commands/project/create/project-template-path.d.ts +1 -3
  183. package/lib/commands/project/create/project-template-path.js +1 -1
  184. package/lib/commands/project/create/use-copy-project-template.d.ts +2 -1
  185. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  186. package/lib/commands/project/create/use-format-code.js +1 -1
  187. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  188. package/lib/commands/project/index.js +1 -1
  189. package/lib/commands/project/upgrade.js +1 -1
  190. package/lib/commands/registry.js +1 -1
  191. package/lib/commands/role/create.js +1 -1
  192. package/lib/commands/role/delete.js +1 -1
  193. package/lib/commands/role/detail.js +1 -1
  194. package/lib/commands/role/index.js +1 -1
  195. package/lib/commands/role/list.js +1 -1
  196. package/lib/commands/role/shared.js +1 -1
  197. package/lib/commands/role/update.js +1 -1
  198. package/lib/commands/role/user-add.js +1 -1
  199. package/lib/commands/role/user-remove.js +1 -1
  200. package/lib/commands/role/user-resolve.js +1 -1
  201. package/lib/commands/run/index.js +1 -1
  202. package/lib/commands/schema.js +1 -1
  203. package/lib/commands/sql/create.js +1 -1
  204. package/lib/commands/sql/delete.js +1 -1
  205. package/lib/commands/sql/detail.js +1 -1
  206. package/lib/commands/sql/exec.js +1 -1
  207. package/lib/commands/sql/index.js +1 -1
  208. package/lib/commands/sql/list.js +1 -1
  209. package/lib/commands/sql/pull.js +1 -1
  210. package/lib/commands/sql/push.js +1 -1
  211. package/lib/commands/sql/shared.js +1 -1
  212. package/lib/commands/sql/status.js +1 -1
  213. package/lib/commands/sql/validate.js +1 -1
  214. package/lib/commands/task/index.js +1 -1
  215. package/lib/commands/task/status.js +1 -1
  216. package/lib/commands/tenant/index.js +1 -1
  217. package/lib/commands/tenant/members-list.js +1 -1
  218. package/lib/commands/tenant/shared.js +1 -1
  219. package/lib/commands/user-account/dingding-sandbox-bind.js +1 -1
  220. package/lib/commands/user-account/index.js +1 -1
  221. package/lib/commands/workspace/add.js +1 -1
  222. package/lib/commands/workspace/index.js +1 -1
  223. package/lib/commands/workspace/remove.js +1 -1
  224. package/lib/config/schema.js +1 -1
  225. package/lib/constant/cdn.d.ts +2 -0
  226. package/lib/constant/cdn.js +1 -1
  227. package/lib/constant/cli.js +1 -1
  228. package/lib/constant/defaults.js +1 -1
  229. package/lib/constant/domain.js +1 -1
  230. package/lib/constant/env.js +1 -1
  231. package/lib/constant/output.js +1 -1
  232. package/lib/constant/paths.js +1 -1
  233. package/lib/constant/risk.js +1 -1
  234. package/lib/context/app-resolver.js +1 -1
  235. package/lib/context/auth-resolver.js +1 -1
  236. package/lib/context/config-loader.js +1 -1
  237. package/lib/context.d.ts +1 -1
  238. package/lib/context.js +1 -1
  239. package/lib/core/alias-resolver.js +1 -1
  240. package/lib/core/api-client.d.ts +29 -2
  241. package/lib/core/api-client.js +1 -1
  242. package/lib/core/bff/config.js +1 -1
  243. package/lib/core/bff/file-system.js +1 -1
  244. package/lib/core/bff/hash.js +1 -1
  245. package/lib/core/bff/lock.js +1 -1
  246. package/lib/core/bff/utils.js +1 -1
  247. package/lib/core/db-resolver.js +1 -1
  248. package/lib/core/page/file-system.js +1 -1
  249. package/lib/core/page/hash.js +1 -1
  250. package/lib/core/page/lock.js +1 -1
  251. package/lib/core/sql-index-auditor.js +1 -1
  252. package/lib/core/sql-sync/config.js +1 -1
  253. package/lib/core/sql-sync/file-system.js +1 -1
  254. package/lib/core/sql-sync/hash.js +1 -1
  255. package/lib/core/sql-sync/lock.js +1 -1
  256. package/lib/core/sql-sync/utils.js +1 -1
  257. package/lib/core/sql-validator.js +1 -1
  258. package/lib/errors.js +1 -1
  259. package/lib/framework/build-all-flags.js +1 -1
  260. package/lib/framework/error-output.js +1 -1
  261. package/lib/framework/explicit-yes.js +1 -1
  262. package/lib/framework/flags.js +1 -1
  263. package/lib/framework/help.js +1 -1
  264. package/lib/framework/index.js +1 -1
  265. package/lib/framework/output.js +1 -1
  266. package/lib/framework/response.js +1 -1
  267. package/lib/framework/runner-alias.js +1 -1
  268. package/lib/framework/runner.js +1 -1
  269. package/lib/framework/schema-export.js +1 -1
  270. package/lib/framework/types.js +1 -1
  271. package/lib/generated/build-info.d.ts +4 -4
  272. package/lib/generated/build-info.js +1 -1
  273. package/lib/help.js +1 -1
  274. package/lib/postinstall.js +1 -1
  275. package/lib/runtime/confirmation.js +1 -1
  276. package/lib/runtime/event.js +1 -1
  277. package/lib/runtime/index.js +1 -1
  278. package/lib/runtime/queue.js +1 -1
  279. package/lib/runtime/resolve.js +1 -1
  280. package/lib/skills/builtin-skill.js +1 -1
  281. package/lib/skills/main.js +1 -1
  282. package/lib/skills/npx-skills-add.js +1 -1
  283. package/lib/skills/skill-presence.js +1 -1
  284. package/lib/telemetry/cli-command-trace.js +1 -1
  285. package/lib/telemetry/cli-help-trace.js +1 -1
  286. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  287. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  288. package/lib/telemetry/send-cli-trace-log.js +1 -1
  289. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  290. package/lib/utils/ai_config.js +1 -1
  291. package/lib/utils/apply-jq-filter.js +1 -1
  292. package/lib/utils/cdn-config.js +1 -1
  293. package/lib/utils/check-sdk-version.js +1 -1
  294. package/lib/utils/cli-version-check.js +1 -1
  295. package/lib/utils/cli-version-policy.d.ts +13 -0
  296. package/lib/utils/cli-version-policy.js +1 -1
  297. package/lib/utils/config.js +1 -1
  298. package/lib/utils/entity-with-id.js +1 -1
  299. package/lib/utils/file-utils.js +1 -1
  300. package/lib/utils/guides-cdn.js +1 -1
  301. package/lib/utils/http-client.js +1 -1
  302. package/lib/utils/is-non-interactive.js +1 -1
  303. package/lib/utils/logger.js +1 -1
  304. package/lib/utils/params.js +1 -1
  305. package/lib/utils/platform.js +1 -1
  306. package/lib/utils/rules-cdn.js +1 -1
  307. package/lib/utils/sleep.js +1 -1
  308. package/lib/utils/template-replacer.js +1 -1
  309. package/lib/utils/update-notice.js +1 -1
  310. package/lib/utils/version.js +1 -1
  311. package/lib/utils/with-active-cookie.js +1 -1
  312. package/lib/utils/write-cli-side-channel.js +1 -1
  313. package/package.json +9 -4
  314. package/skills/rabetbase/SKILL.md +33 -22
  315. package/skills/rabetbase/guides/backend-function.md +5 -3
  316. package/skills/rabetbase/guides/bff-creation-workflow.md +2 -2
  317. package/skills/rabetbase/guides/conflict-detection.md +2 -2
  318. package/skills/rabetbase/guides/database-connection-workflow.md +39 -5
  319. package/skills/rabetbase/guides/react-custom-page-workflow.md +16 -4
  320. package/skills/rabetbase/guides/sql-creation-workflow.md +4 -2
  321. package/skills/rabetbase/guides/sql-mybatis.md +2 -2
  322. package/skills/rabetbase/knowledge/page-schema/YtPage.md +3 -37
  323. package/skills/rabetbase/knowledge/react-page/generation-standards.md +14 -3
  324. package/skills/rabetbase/references/rabetbase-app-config.md +2 -2
  325. package/skills/rabetbase/references/rabetbase-bff-push.md +4 -5
  326. package/skills/rabetbase/references/rabetbase-bff-save.md +3 -3
  327. package/skills/rabetbase/references/rabetbase-config.md +2 -2
  328. package/skills/rabetbase/references/rabetbase-db-analyze.md +2 -2
  329. package/skills/rabetbase/references/rabetbase-db-detail.md +3 -0
  330. package/skills/rabetbase/references/rabetbase-db-diff-refresh.md +53 -0
  331. package/skills/rabetbase/references/rabetbase-db-diff.md +40 -21
  332. package/skills/rabetbase/references/rabetbase-db-list.md +1 -1
  333. package/skills/rabetbase/references/rabetbase-kb.md +5 -3
  334. package/skills/rabetbase/references/rabetbase-menu-asset-update.md +9 -10
  335. package/skills/rabetbase/references/rabetbase-menu-external-link-update.md +1 -3
  336. package/skills/rabetbase/references/rabetbase-menu-regroup-start.md +2 -3
  337. package/skills/rabetbase/references/rabetbase-notification-config-list.md +2 -2
  338. package/skills/rabetbase/references/rabetbase-notification-config-mutations.md +56 -0
  339. package/skills/rabetbase/references/rabetbase-page-react-detail.md +1 -1
  340. package/skills/rabetbase/references/rabetbase-page-react-list.md +1 -1
  341. package/skills/rabetbase/references/rabetbase-page-react-publish.md +2 -2
  342. package/skills/rabetbase/references/rabetbase-project-create.md +3 -0
  343. package/skills/rabetbase/references/rabetbase-run.md +1 -1
  344. package/skills/rabetbase/references/rabetbase-sql-create.md +1 -1
  345. package/skills/rabetbase/references/rabetbase-sql-push.md +3 -4
  346. package/skills/rabetbase/references/rabetbase-user-account.md +0 -1
  347. package/skills/rabetbase.manifest.json +5 -5
  348. package/templates/README.md +14 -2
  349. package/lib/commands/project/create/non-interactive.d.ts +0 -9
  350. package/lib/commands/project/create/non-interactive.js +0 -1
  351. package/lib/utils/copy-directory.d.ts +0 -1
  352. package/lib/utils/copy-directory.js +0 -1
  353. package/skills/rabetbase/knowledge/page-schema/LrSmartEcharts.md +0 -291
  354. package/skills/rabetbase/knowledge/page-schema/LrSmartStatistic.md +0 -223
  355. package/templates/projects/sub-app-react-demo/.prettierrc +0 -1
  356. package/templates/projects/sub-app-react-demo/CHANGELOG.md +0 -67
  357. package/templates/projects/sub-app-react-demo/README.md +0 -246
  358. package/templates/projects/sub-app-react-demo/docs/quick-start.md +0 -245
  359. package/templates/projects/sub-app-react-demo/index.html +0 -27
  360. package/templates/projects/sub-app-react-demo/package.json +0 -34
  361. package/templates/projects/sub-app-react-demo/public/logo.svg +0 -1
  362. package/templates/projects/sub-app-react-demo/public/vite.svg +0 -1
  363. package/templates/projects/sub-app-react-demo/src/api/api.ts +0 -26
  364. package/templates/projects/sub-app-react-demo/src/api/client.ts +0 -32
  365. package/templates/projects/sub-app-react-demo/src/components/demo-page-container/DemoPageContainer.module.css +0 -28
  366. package/templates/projects/sub-app-react-demo/src/components/demo-page-container/DemoPageContainer.tsx +0 -55
  367. package/templates/projects/sub-app-react-demo/src/layouts/MainLayout.tsx +0 -308
  368. package/templates/projects/sub-app-react-demo/src/main.tsx +0 -52
  369. package/templates/projects/sub-app-react-demo/src/pages/dashboard/index.tsx +0 -570
  370. package/templates/projects/sub-app-react-demo/src/pages/data-screen/index.tsx +0 -531
  371. package/templates/projects/sub-app-react-demo/src/pages/index.module.css +0 -500
  372. package/templates/projects/sub-app-react-demo/src/pages/index.tsx +0 -641
  373. package/templates/projects/sub-app-react-demo/src/pages/sdk-demo/index.tsx +0 -536
  374. package/templates/projects/sub-app-react-demo/src/pages/workbench/index.module.css +0 -295
  375. package/templates/projects/sub-app-react-demo/src/pages/workbench/index.tsx +0 -242
  376. package/templates/projects/sub-app-react-demo/src/router/index.tsx +0 -30
  377. package/templates/projects/sub-app-react-demo/src/style.css +0 -108
  378. package/templates/projects/sub-app-react-demo/src/utils/api.ts +0 -12
  379. package/templates/projects/sub-app-react-demo/src/vite-env.d.ts +0 -2
  380. package/templates/projects/sub-app-react-demo/tsconfig.json +0 -26
  381. package/templates/projects/sub-app-react-demo/vite.config.ts +0 -111
@@ -1 +1 @@
1
- (function(_0x6b490f,_0x4282f2){const _0x2becbd=a165_0x154f,_0x287926=_0x6b490f();while(!![]){try{const _0x38c99e=-parseInt(_0x2becbd(0x1a2))/0x1*(-parseInt(_0x2becbd(0x197))/0x2)+-parseInt(_0x2becbd(0x1a4))/0x3+parseInt(_0x2becbd(0x19b))/0x4+parseInt(_0x2becbd(0x198))/0x5+parseInt(_0x2becbd(0x1a0))/0x6+parseInt(_0x2becbd(0x19f))/0x7*(parseInt(_0x2becbd(0x1a5))/0x8)+parseInt(_0x2becbd(0x19d))/0x9*(-parseInt(_0x2becbd(0x1a9))/0xa);if(_0x38c99e===_0x4282f2)break;else _0x287926['push'](_0x287926['shift']());}catch(_0x30c643){_0x287926['push'](_0x287926['shift']());}}}(a165_0x2e41,0xe7dde));import a165_0x240746 from'node:path';import{copyDirectory}from'../../../utils/copy-directory.js';function a165_0x154f(_0x327e79,_0x403e9d){_0x327e79=_0x327e79-0x196;const _0x2e4197=a165_0x2e41();let _0x154fc8=_0x2e4197[_0x327e79];return _0x154fc8;}import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';import{logger}from'../../../utils/logger.js';import{getSubAppReactDemoTemplateDir}from'../../../commands/project/create/project-template-path.js';const templateDir=getSubAppReactDemoTemplateDir();function a165_0x2e41(){const _0x11f387=['resolve','18dzGlos','error','11406297OiiqDu','9341964GyTtNi','项目模板复制失败','16349iKoCsh','copy','3541515vRlzdl','8CcOSfz','success','now','message','19958280ZkDnsE','info','cwd','14RuDITb','7371230XRElRi','开始复制项目模板','项目模板复制完成','5386932xLdQup'];a165_0x2e41=function(){return _0x11f387;};return a165_0x2e41();}export async function copyProjectTemplate(_0x1b2980){const _0x316613=a165_0x154f,_0x45bb51=Date[_0x316613(0x1a7)](),_0x572073=a165_0x240746[_0x316613(0x19c)](process[_0x316613(0x196)](),_0x1b2980);try{logger[_0x316613(0x1aa)](_0x316613(0x1a3),_0x316613(0x199),{'projectCode':_0x1b2980,'templateDir':templateDir}),await copyDirectory(templateDir,_0x572073);const _0x131564=Date[_0x316613(0x1a7)]()-_0x45bb51;logger[_0x316613(0x1a6)](_0x316613(0x1a3),_0x316613(0x19a),_0x131564,{'projectCode':_0x1b2980});}catch(_0x2c2a8b){const _0x143fed=Date['now']()-_0x45bb51;logger[_0x316613(0x19e)](_0x316613(0x1a3),_0x316613(0x1a1),{'projectCode':_0x1b2980,'error':_0x2c2a8b instanceof Error?_0x2c2a8b[_0x316613(0x1a8)]:String(_0x2c2a8b),'duration':_0x143fed});throw _0x2c2a8b;}return formatElapsed(_0x45bb51);}
1
+ (function(_0x57c659,_0x1bb603){const _0x4e23b2=a173_0x5814,_0x2d22c2=_0x57c659();while(!![]){try{const _0x2c2f72=parseInt(_0x4e23b2(0x1dd))/0x1*(-parseInt(_0x4e23b2(0x1e9))/0x2)+-parseInt(_0x4e23b2(0x1e6))/0x3*(parseInt(_0x4e23b2(0x1ec))/0x4)+-parseInt(_0x4e23b2(0x1f0))/0x5*(parseInt(_0x4e23b2(0x1e2))/0x6)+parseInt(_0x4e23b2(0x1de))/0x7*(parseInt(_0x4e23b2(0x1ea))/0x8)+-parseInt(_0x4e23b2(0x1f1))/0x9*(parseInt(_0x4e23b2(0x1e7))/0xa)+parseInt(_0x4e23b2(0x1e3))/0xb+parseInt(_0x4e23b2(0x1ed))/0xc*(parseInt(_0x4e23b2(0x1f2))/0xd);if(_0x2c2f72===_0x1bb603)break;else _0x2d22c2['push'](_0x2d22c2['shift']());}catch(_0x14d937){_0x2d22c2['push'](_0x2d22c2['shift']());}}}(a173_0x10cb,0xba69c));import a173_0x290436 from'node:path';function a173_0x5814(_0x25974a,_0x42d032){_0x25974a=_0x25974a-0x1dc;const _0x10cb33=a173_0x10cb();let _0x58141d=_0x10cb33[_0x25974a];return _0x58141d;}function a173_0x10cb(){const _0x2bf6e1=['5361dYLmwZ','14123020QNrwzn','项目模板创建完成','199724LYlhSl','969896cgLGzf','success','2316RiJEKZ','22104WlFVpU','copy','resolve','260855azVcBX','9GhUMNL','18317waUbgW','now','1jkWxHP','49KCEaDw','source','项目模板复制失败','info','102jbHgtS','8285805OPGbWX','version','开始创建项目模板'];a173_0x10cb=function(){return _0x2bf6e1;};return a173_0x10cb();}import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';import{logger}from'../../../utils/logger.js';import{materializeProjectTemplate}from'../../../commands/project/create/materialize-project-template.js';export async function copyProjectTemplate(_0xaeb44d,_0x51e2ab){const _0x183f5c=a173_0x5814,_0xade008=Date[_0x183f5c(0x1dc)](),_0x2f88c8=a173_0x290436[_0x183f5c(0x1ef)](process['cwd'](),_0xaeb44d);try{logger[_0x183f5c(0x1e1)](_0x183f5c(0x1ee),_0x183f5c(0x1e5),{'projectCode':_0xaeb44d});const _0xfba7e9=await materializeProjectTemplate(_0x2f88c8,_0x51e2ab),_0x1b3a1e=Date[_0x183f5c(0x1dc)]()-_0xade008;logger[_0x183f5c(0x1eb)]('copy',_0x183f5c(0x1e8),_0x1b3a1e,{'projectCode':_0xaeb44d,'templateSource':_0xfba7e9[_0x183f5c(0x1df)],'templateVersion':_0xfba7e9[_0x183f5c(0x1e4)]});}catch(_0x3c9c56){const _0x54ecd4=Date['now']()-_0xade008;logger['error']('copy',_0x183f5c(0x1e0),{'projectCode':_0xaeb44d,'error':_0x3c9c56 instanceof Error?_0x3c9c56['message']:String(_0x3c9c56),'duration':_0x54ecd4});throw _0x3c9c56;}return formatElapsed(_0xade008);}
@@ -1 +1 @@
1
- (function(_0xe31e3d,_0x4caf57){const _0x28466b=a166_0x39fa,_0x274cc4=_0xe31e3d();while(!![]){try{const _0x5505ee=parseInt(_0x28466b(0x131))/0x1+-parseInt(_0x28466b(0x142))/0x2*(-parseInt(_0x28466b(0x13e))/0x3)+parseInt(_0x28466b(0x139))/0x4+-parseInt(_0x28466b(0x13a))/0x5*(parseInt(_0x28466b(0x134))/0x6)+-parseInt(_0x28466b(0x141))/0x7*(-parseInt(_0x28466b(0x132))/0x8)+parseInt(_0x28466b(0x13c))/0x9+-parseInt(_0x28466b(0x136))/0xa*(parseInt(_0x28466b(0x133))/0xb);if(_0x5505ee===_0x4caf57)break;else _0x274cc4['push'](_0x274cc4['shift']());}catch(_0x2f2a16){_0x274cc4['push'](_0x274cc4['shift']());}}}(a166_0x1bfb,0xd7466));import a166_0x202a7b from'node:path';function a166_0x1bfb(){const _0x42c391=['1172ZwROnd','error','resolve','686783qgxfdJ','136760RZDWaw','11VfoEGl','24kxtuQP','format','12727240ZfltTm','message','代码格式化失败','305032hrGjLn','1360715fVAsXp','开始格式化代码','6444558gkZnGD','prettier','3867VxcOJE','now','success','413fswyey'];a166_0x1bfb=function(){return _0x42c391;};return a166_0x1bfb();}import{execa}from'execa';import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';import{logger}from'../../../utils/logger.js';function a166_0x39fa(_0x5bbadf,_0x5301aa){_0x5bbadf=_0x5bbadf-0x12f;const _0x1bfbc3=a166_0x1bfb();let _0x39faef=_0x1bfbc3[_0x5bbadf];return _0x39faef;}import{resolveNpmBin}from'../../../utils/platform.js';export async function formatProjectCode(_0x8c5d52){const _0x322bfe=a166_0x39fa,_0x549dd5=Date['now'](),_0x3e084e=a166_0x202a7b[_0x322bfe(0x130)](process['cwd'](),_0x8c5d52);try{logger['info']('format',_0x322bfe(0x13b),{'projectCode':_0x8c5d52}),await execa(resolveNpmBin('npx'),[_0x322bfe(0x13d),'--write','.'],{'cwd':_0x3e084e});const _0x55e741=Date[_0x322bfe(0x13f)]()-_0x549dd5;logger[_0x322bfe(0x140)](_0x322bfe(0x135),'代码格式化完成',_0x55e741,{'projectCode':_0x8c5d52});}catch(_0x2eba31){const _0x470c85=Date[_0x322bfe(0x13f)]()-_0x549dd5;logger[_0x322bfe(0x12f)](_0x322bfe(0x135),_0x322bfe(0x138),{'projectCode':_0x8c5d52,'error':_0x2eba31 instanceof Error?_0x2eba31[_0x322bfe(0x137)]:String(_0x2eba31),'duration':_0x470c85});throw _0x2eba31;}return formatElapsed(_0x549dd5);}
1
+ function a174_0xf2f1(_0x3c8376,_0x27f2c3){_0x3c8376=_0x3c8376-0x124;const _0x4d31c5=a174_0x4d31();let _0xf2f144=_0x4d31c5[_0x3c8376];return _0xf2f144;}(function(_0x4ae6f9,_0x161f81){const _0x3589af=a174_0xf2f1,_0x5139d3=_0x4ae6f9();while(!![]){try{const _0x49a551=parseInt(_0x3589af(0x129))/0x1*(parseInt(_0x3589af(0x12e))/0x2)+-parseInt(_0x3589af(0x127))/0x3+-parseInt(_0x3589af(0x131))/0x4*(parseInt(_0x3589af(0x132))/0x5)+-parseInt(_0x3589af(0x130))/0x6+-parseInt(_0x3589af(0x135))/0x7*(parseInt(_0x3589af(0x133))/0x8)+parseInt(_0x3589af(0x12a))/0x9+parseInt(_0x3589af(0x136))/0xa*(parseInt(_0x3589af(0x139))/0xb);if(_0x49a551===_0x161f81)break;else _0x5139d3['push'](_0x5139d3['shift']());}catch(_0x9e9579){_0x5139d3['push'](_0x5139d3['shift']());}}}(a174_0x4d31,0xe53cf));import a174_0x2d571b from'node:path';import{execa}from'execa';import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';import{logger}from'../../../utils/logger.js';import{resolveNpmBin}from'../../../utils/platform.js';function a174_0x4d31(){const _0x2e3bac=['2KDwjSI','resolve','7780146ILmmtk','20HsvoBx','1328060VZbHzM','120304AAwGii','开始格式化代码','28pJXtLN','6726060FMOvJi','message','--write','33ZaPXpI','error','prettier','info','5396403ruRdzw','npx','1832969RqYpvi','14146884ceciUZ','代码格式化失败','now','format'];a174_0x4d31=function(){return _0x2e3bac;};return a174_0x4d31();}export async function formatProjectCode(_0x14c607){const _0x2c13ae=a174_0xf2f1,_0x3112d1=Date[_0x2c13ae(0x12c)](),_0x5a9a0d=a174_0x2d571b[_0x2c13ae(0x12f)](process['cwd'](),_0x14c607);try{logger[_0x2c13ae(0x126)](_0x2c13ae(0x12d),_0x2c13ae(0x134),{'projectCode':_0x14c607}),await execa(resolveNpmBin(_0x2c13ae(0x128)),[_0x2c13ae(0x125),_0x2c13ae(0x138),'.'],{'cwd':_0x5a9a0d});const _0x561f9d=Date[_0x2c13ae(0x12c)]()-_0x3112d1;logger['success'](_0x2c13ae(0x12d),'代码格式化完成',_0x561f9d,{'projectCode':_0x14c607});}catch(_0x1aff54){const _0xa1284d=Date[_0x2c13ae(0x12c)]()-_0x3112d1;logger[_0x2c13ae(0x124)]('format',_0x2c13ae(0x12b),{'projectCode':_0x14c607,'error':_0x1aff54 instanceof Error?_0x1aff54[_0x2c13ae(0x137)]:String(_0x1aff54),'duration':_0xa1284d});throw _0x1aff54;}return formatElapsed(_0x3112d1);}
@@ -1 +1 @@
1
- (function(_0x2907ce,_0x433585){const _0x94337f=a167_0x4196,_0x2f8473=_0x2907ce();while(!![]){try{const _0x422913=parseInt(_0x94337f(0xab))/0x1+parseInt(_0x94337f(0xbd))/0x2*(-parseInt(_0x94337f(0xac))/0x3)+-parseInt(_0x94337f(0xb4))/0x4+-parseInt(_0x94337f(0xb7))/0x5*(parseInt(_0x94337f(0xad))/0x6)+parseInt(_0x94337f(0xae))/0x7*(parseInt(_0x94337f(0xbb))/0x8)+parseInt(_0x94337f(0xb9))/0x9+parseInt(_0x94337f(0xb8))/0xa;if(_0x422913===_0x433585)break;else _0x2f8473['push'](_0x2f8473['shift']());}catch(_0x4c4cb2){_0x2f8473['push'](_0x2f8473['shift']());}}}(a167_0x9cd5,0x7b971));import a167_0x3dbf80 from'node:path';import{execa}from'execa';import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';function a167_0x4196(_0x5fbf87,_0x4cd888){_0x5fbf87=_0x5fbf87-0xab;const _0x9cd5cb=a167_0x9cd5();let _0x4196f4=_0x9cd5cb[_0x5fbf87];return _0x4196f4;}import{logger}from'../../../utils/logger.js';import{resolveNpmBin}from'../../../utils/platform.js';function a167_0x9cd5(){const _0x2bad43=['4941144GxbRnx','依赖安装完成','88ZXdhXN','message','8ViKZrZ','install','440811VtkCWo','660957ghsxdk','102OihNOX','428561rncVvP','now','success','cwd','https://registry.npmmirror.com','开始安装依赖','595444bUatJG','--registry','info','182935eLXCIk','4950610poytty'];a167_0x9cd5=function(){return _0x2bad43;};return a167_0x9cd5();}export async function installDependencies(_0x264a3f){const _0x332017=a167_0x4196,_0x47825b=Date[_0x332017(0xaf)](),_0x52c948=a167_0x3dbf80['resolve'](process[_0x332017(0xb1)](),_0x264a3f);try{logger[_0x332017(0xb6)](_0x332017(0xbe),_0x332017(0xb3),{'projectCode':_0x264a3f,'registry':_0x332017(0xb2)}),await execa(resolveNpmBin('npm'),[_0x332017(0xbe),_0x332017(0xb5),_0x332017(0xb2)],{'cwd':_0x52c948});const _0x2bc12b=Date[_0x332017(0xaf)]()-_0x47825b;logger[_0x332017(0xb0)]('install',_0x332017(0xba),_0x2bc12b,{'projectCode':_0x264a3f});}catch(_0x3de4e3){const _0x2115ca=Date[_0x332017(0xaf)]()-_0x47825b;logger['error'](_0x332017(0xbe),'依赖安装失败',{'projectCode':_0x264a3f,'error':_0x3de4e3 instanceof Error?_0x3de4e3[_0x332017(0xbc)]:String(_0x3de4e3),'duration':_0x2115ca});throw _0x3de4e3;}return formatElapsed(_0x47825b);}
1
+ (function(_0x284af9,_0x4b2322){const _0x26281b=a175_0x29bf,_0x4ba4fe=_0x284af9();while(!![]){try{const _0x503f2f=-parseInt(_0x26281b(0x12f))/0x1*(parseInt(_0x26281b(0x126))/0x2)+parseInt(_0x26281b(0x120))/0x3+parseInt(_0x26281b(0x127))/0x4*(parseInt(_0x26281b(0x11c))/0x5)+parseInt(_0x26281b(0x121))/0x6+parseInt(_0x26281b(0x123))/0x7+-parseInt(_0x26281b(0x12c))/0x8+-parseInt(_0x26281b(0x12e))/0x9*(parseInt(_0x26281b(0x12b))/0xa);if(_0x503f2f===_0x4b2322)break;else _0x4ba4fe['push'](_0x4ba4fe['shift']());}catch(_0x5cc714){_0x4ba4fe['push'](_0x4ba4fe['shift']());}}}(a175_0x1d42,0x9ad4e));import a175_0x16bae8 from'node:path';import{execa}from'execa';function a175_0x29bf(_0x24bfb4,_0x388fa3){_0x24bfb4=_0x24bfb4-0x119;const _0x1d42a5=a175_0x1d42();let _0x29bfa9=_0x1d42a5[_0x24bfb4];return _0x29bfa9;}import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';function a175_0x1d42(){const _0x2bacc1=['message','79572ehIZEE','4272912sXTbya','依赖安装失败','4821229tOSHVO','cwd','info','6aEjrMK','228ROBUlt','https://registry.npmmirror.com','now','install','12700QVBhcD','3649648rUmAiX','--registry','3951JqEuWh','15590iMYBNq','依赖安装完成','error','npm','success','23445piuZmw','resolve','开始安装依赖'];a175_0x1d42=function(){return _0x2bacc1;};return a175_0x1d42();}import{logger}from'../../../utils/logger.js';import{resolveNpmBin}from'../../../utils/platform.js';export async function installDependencies(_0x5728f4){const _0x219e92=a175_0x29bf,_0x4bcae8=Date[_0x219e92(0x129)](),_0x246b28=a175_0x16bae8[_0x219e92(0x11d)](process[_0x219e92(0x124)](),_0x5728f4);try{logger[_0x219e92(0x125)](_0x219e92(0x12a),_0x219e92(0x11e),{'projectCode':_0x5728f4,'registry':_0x219e92(0x128)}),await execa(resolveNpmBin(_0x219e92(0x11a)),[_0x219e92(0x12a),_0x219e92(0x12d),_0x219e92(0x128)],{'cwd':_0x246b28});const _0x524e58=Date[_0x219e92(0x129)]()-_0x4bcae8;logger[_0x219e92(0x11b)](_0x219e92(0x12a),_0x219e92(0x130),_0x524e58,{'projectCode':_0x5728f4});}catch(_0x561232){const _0x540c2a=Date[_0x219e92(0x129)]()-_0x4bcae8;logger[_0x219e92(0x119)](_0x219e92(0x12a),_0x219e92(0x122),{'projectCode':_0x5728f4,'error':_0x561232 instanceof Error?_0x561232[_0x219e92(0x11f)]:String(_0x561232),'duration':_0x540c2a});throw _0x561232;}return formatElapsed(_0x4bcae8);}
@@ -1 +1 @@
1
- const a168_0x4da4cc=a168_0x5798;(function(_0x478a19,_0x133689){const _0x410e7e=a168_0x5798,_0x1f9c04=_0x478a19();while(!![]){try{const _0x4967b7=parseInt(_0x410e7e(0x193))/0x1*(parseInt(_0x410e7e(0x185))/0x2)+-parseInt(_0x410e7e(0x18f))/0x3+-parseInt(_0x410e7e(0x182))/0x4*(-parseInt(_0x410e7e(0x18d))/0x5)+parseInt(_0x410e7e(0x199))/0x6*(-parseInt(_0x410e7e(0x19e))/0x7)+-parseInt(_0x410e7e(0x1a0))/0x8+-parseInt(_0x410e7e(0x186))/0x9*(parseInt(_0x410e7e(0x19c))/0xa)+parseInt(_0x410e7e(0x197))/0xb*(parseInt(_0x410e7e(0x19b))/0xc);if(_0x4967b7===_0x133689)break;else _0x1f9c04['push'](_0x1f9c04['shift']());}catch(_0xa7adc6){_0x1f9c04['push'](_0x1f9c04['shift']());}}}(a168_0x5b94,0x2a6e2));function a168_0x5798(_0x43b1ec,_0x5c5662){_0x43b1ec=_0x43b1ec-0x17f;const _0x5b94c1=a168_0x5b94();let _0x579829=_0x5b94c1[_0x43b1ec];return _0x579829;}import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{upgradeApp}from'../../commands/project/upgrade.js';const createFlags=[{'name':a168_0x4da4cc(0x188),'type':'string','description':a168_0x4da4cc(0x191)},{'name':'env','type':'string','description':a168_0x4da4cc(0x17f)},{'name':a168_0x4da4cc(0x196),'type':a168_0x4da4cc(0x19f),'description':'App\x20code\x20to\x20bind\x20(skips\x20interactive\x20selection)'}],upgradeFlags=[{'name':'yes','type':a168_0x4da4cc(0x189),'description':'Skip\x20confirmation\x20prompt','default':![]}];export const projectDefinitions=[{'service':'project','command':'create','description':a168_0x4da4cc(0x18e),'risk':a168_0x4da4cc(0x18b),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':'project-name','description':a168_0x4da4cc(0x19d),'required':![]}],'flags':createFlags,async 'execute'(_0x137ebe){const _0x56641b=a168_0x4da4cc,{createApp:_0x5225ce}=await import(_0x56641b(0x192)),{createProjectNonInteractive:_0x40ee0e}=await import(_0x56641b(0x183)),_0x449d87=_0x137ebe['str'](_0x56641b(0x188))[_0x56641b(0x19a)]()||_0x137ebe['args'][0x0]?.[_0x56641b(0x19a)](),_0xfe287f=_0x137ebe[_0x56641b(0x18a)]('env')||undefined,_0x2c9a8d=_0x137ebe['str'](_0x56641b(0x196))||undefined;if(_0x137ebe[_0x56641b(0x190)]){if(!_0x449d87)throw CliErrors[_0x56641b(0x195)](_0x56641b(0x187),_0x56641b(0x194)+CLI_BIN_NAME+_0x56641b(0x18c));await _0x40ee0e(_0x449d87,_0xfe287f,_0x2c9a8d,_0x137ebe['cookie']);}else await _0x5225ce({'projectCode':_0x449d87,'appCode':_0x2c9a8d,'env':_0xfe287f,'cookie':_0x137ebe[_0x56641b(0x181)]});return{'ok':!![]};}},{'service':a168_0x4da4cc(0x184),'command':a168_0x4da4cc(0x1a1),'description':'Upgrade\x20from\x20lovrabet-cli\x20to\x20rabetbase-cli','risk':a168_0x4da4cc(0x18b),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':upgradeFlags,async 'execute'(_0x2df9a7){const _0x5d2bb9=a168_0x4da4cc;return await upgradeApp(_0x2df9a7[_0x5d2bb9(0x190)],{'yes':_0x2df9a7[_0x5d2bb9(0x198)](_0x5d2bb9(0x180))}),{'ok':!![]};}}];function a168_0x5b94(){const _0x3fe8f7=['5047rkPWnD','string','123552SvcDGj','upgrade','Target\x20environment','yes','cookie','212CdRwoy','../../commands/project/create/non-interactive.js','project','76FXEQkz','47340WkHeWv','Non-interactive\x20mode\x20requires\x20a\x20project\x20name.','name','boolean','str','write','\x20project\x20create\x20<project-name>\x20[--appcode\x20<code>]','30255xIjZzR','Create\x20a\x20new\x20project','178809UrsauE','nonInteractive','Project\x20name','../../commands/project/create/main.js','5838fZiFil','Usage:\x20','validation','appcode','11LznLUk','bool','2226CyynRb','trim','64140LkDqNg','60RbJFRi','Project\x20code/name\x20(optional,\x20prompts\x20if\x20omitted)'];a168_0x5b94=function(){return _0x3fe8f7;};return a168_0x5b94();}
1
+ function a176_0x1c6d(_0x5ca797,_0x2e15f5){_0x5ca797=_0x5ca797-0xb4;const _0x5d1d1c=a176_0x5d1d();let _0x1c6d29=_0x5d1d1c[_0x5ca797];return _0x1c6d29;}const a176_0x345e7e=a176_0x1c6d;(function(_0x5de2cb,_0x132721){const _0x2c5c01=a176_0x1c6d,_0x5c2fb0=_0x5de2cb();while(!![]){try{const _0x579162=parseInt(_0x2c5c01(0xd3))/0x1*(-parseInt(_0x2c5c01(0xbd))/0x2)+parseInt(_0x2c5c01(0xbb))/0x3*(parseInt(_0x2c5c01(0xd6))/0x4)+-parseInt(_0x2c5c01(0xd5))/0x5+-parseInt(_0x2c5c01(0xb6))/0x6+-parseInt(_0x2c5c01(0xbf))/0x7+-parseInt(_0x2c5c01(0xc1))/0x8*(-parseInt(_0x2c5c01(0xc8))/0x9)+parseInt(_0x2c5c01(0xc2))/0xa;if(_0x579162===_0x132721)break;else _0x5c2fb0['push'](_0x5c2fb0['shift']());}catch(_0x13c4b6){_0x5c2fb0['push'](_0x5c2fb0['shift']());}}}(a176_0x5d1d,0x35071));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{upgradeApp}from'../../commands/project/upgrade.js';const createFlags=[{'name':a176_0x345e7e(0xc0),'type':a176_0x345e7e(0xd1),'description':a176_0x345e7e(0xbe)},{'name':a176_0x345e7e(0xd4),'type':a176_0x345e7e(0xd1),'description':a176_0x345e7e(0xba)},{'name':a176_0x345e7e(0xb5),'type':a176_0x345e7e(0xd1),'description':a176_0x345e7e(0xc4)}],upgradeFlags=[{'name':a176_0x345e7e(0xb9),'type':a176_0x345e7e(0xb8),'description':a176_0x345e7e(0xcf),'default':![]}];function a176_0x5d1d(){const _0x58044d=['Project\x20code/name\x20(optional,\x20prompts\x20if\x20omitted)','Upgrade\x20from\x20lovrabet-cli\x20to\x20rabetbase-cli','create','args','upgrade','Skip\x20confirmation\x20prompt','trim','string','\x20project\x20create\x20<project-name>\x20[--appcode\x20<code>]','372182PudmfK','env','662250zvtgam','175540BjxwCZ','Create\x20a\x20new\x20project','appcode','1017720wdqOYx','project','boolean','yes','Target\x20environment','21GVELNw','str','2peOaKI','Project\x20name','2195228zGAQqX','name','376ujBzrX','5895890rVIpUK','nonInteractive','App\x20code\x20to\x20bind\x20(skips\x20interactive\x20selection)','../../commands/project/create/main.js','write','cookie','59031mQcaAZ','Non-interactive\x20mode\x20requires\x20a\x20project\x20name.'];a176_0x5d1d=function(){return _0x58044d;};return a176_0x5d1d();}export const projectDefinitions=[{'service':a176_0x345e7e(0xb7),'command':a176_0x345e7e(0xcc),'description':a176_0x345e7e(0xb4),'risk':a176_0x345e7e(0xc6),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':'project-name','description':a176_0x345e7e(0xca),'required':![]}],'flags':createFlags,async 'execute'(_0x2ab17a){const _0x98cfa5=a176_0x345e7e,{createApp:_0x25a32c}=await import(_0x98cfa5(0xc5)),_0xa2d164=_0x2ab17a[_0x98cfa5(0xbc)]('name')[_0x98cfa5(0xd0)]()||_0x2ab17a[_0x98cfa5(0xcd)][0x0]?.['trim'](),_0x2990b0=_0x2ab17a[_0x98cfa5(0xbc)](_0x98cfa5(0xd4))||undefined,_0xb262fd=_0x2ab17a[_0x98cfa5(0xbc)]('appcode')||undefined;if(_0x2ab17a[_0x98cfa5(0xc3)]){if(!_0xa2d164)throw CliErrors['validation'](_0x98cfa5(0xc9),'Usage:\x20'+CLI_BIN_NAME+_0x98cfa5(0xd2));await _0x25a32c({'projectCode':_0xa2d164,'appCode':_0xb262fd,'env':_0x2990b0,'cookie':_0x2ab17a[_0x98cfa5(0xc7)],'nonInteractive':!![]});}else await _0x25a32c({'projectCode':_0xa2d164,'appCode':_0xb262fd,'env':_0x2990b0,'cookie':_0x2ab17a[_0x98cfa5(0xc7)]});return{'ok':!![]};}},{'service':'project','command':a176_0x345e7e(0xce),'description':a176_0x345e7e(0xcb),'risk':a176_0x345e7e(0xc6),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':upgradeFlags,async 'execute'(_0x3cf88e){const _0xce9ffd=a176_0x345e7e;return await upgradeApp(_0x3cf88e[_0xce9ffd(0xc3)],{'yes':_0x3cf88e['bool']('yes')}),{'ok':!![]};}}];
@@ -1 +1 @@
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
+ const a177_0x210f1e=a177_0x294f;(function(_0x2a7220,_0x49114c){const _0x182b27=a177_0x294f,_0x41d8f9=_0x2a7220();while(!![]){try{const _0x55229e=-parseInt(_0x182b27(0x104))/0x1+parseInt(_0x182b27(0xc8))/0x2*(-parseInt(_0x182b27(0xab))/0x3)+-parseInt(_0x182b27(0xea))/0x4*(-parseInt(_0x182b27(0xf1))/0x5)+parseInt(_0x182b27(0xd0))/0x6+parseInt(_0x182b27(0xdb))/0x7+parseInt(_0x182b27(0xe8))/0x8+parseInt(_0x182b27(0xed))/0x9*(-parseInt(_0x182b27(0x123))/0xa);if(_0x55229e===_0x49114c)break;else _0x41d8f9['push'](_0x41d8f9['shift']());}catch(_0x31a680){_0x41d8f9['push'](_0x41d8f9['shift']());}}}(a177_0x5506,0x25728));import a177_0x1cf5f8 from'chalk';import a177_0xcdf33e 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 a177_0x5506(){const _0x132d7c=['Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','utf8','1840336IXrWpN','Step\x204/7:\x20Cleaning\x20MCP\x20config...','883944vflsca','Config\x20migration','package.json','50616pqvpli','lovrabet/rabetbase\x20installed\x20globally','Step\x201/7:\x20Migrating\x20config...','Step\x204/7:\x20MCP\x20config\x20—\x20','5LAvWar','fail','status','\x20→\x20keys:\x20','\x20removed\x20(','join','dependencies','FAIL','Legacy\x20artifacts:','mcpServers','needsSkillSwap','oldMcpConfig','@lovrabet/dataset-mcp-server','hasNewConfig','Proceed\x20with\x20upgrade?','gray','removed\x20','Install\x20new\x20skill','keys','235086fIDgeu','===\x20Upgrade\x20Summary\x20===','isArray','.claude/skills/lovrabet','Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20','@lovrabet/sdk:','Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20','exit\x20','log','\x20(backup:\x20','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','filter','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','Step\x206/7:\x20Installing\x20new\x20skill...','Step\x202/7:\x20.lovrabet/\x20directory\x20removed','Remove\x20old\x20skill','latest','\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak','no\x20matching\x20entry\x20found','message','parse','yes','\x20removed','undefined','Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','Remove\x20legacy\x20artifacts','configMigration','bold','.bak','oldPath','label','260eJDurc','entries','detail','yellow','sdkUpgrade','Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.','@lovrabet/sdk','12zeLeoL','MCP\x20config:','\x20from\x20','Clean\x20MCP\x20config','Upgrade\x20@lovrabet/sdk','\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`','path','@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.','\x20\x20Current\x20version\x20in\x20','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','.cursor/mcp.json','cyan','length','error','Upgrade\x20completed\x20successfully!','skipped','Config\x20file:','skipped\x20(no\x20legacy\x20config)','devDependencies','includes','not\x20needed','green','Step\x205/7:\x20Removing\x20old\x20skill...','start','step','failed','\x20\x20Fields\x20to\x20migrate:\x20','no\x20legacy\x20config\x20found','red','97222zAIATH','.lovrabet','Remove\x20.lovrabet/','\x20\x20\x20\x20\x20\x20\x20','values','some','Upgrade\x20cancelled.','stringify','146280ytNhBO','\x20\x20Step\x20','done','CANCEL','fields','inherit','no\x20legacy\x20entry','succeed','FOUND','\x20\x20npm\x20install','args','1776110XqDvBQ','\x20→\x20latest','string','Step\x203/7:\x20Legacy\x20artifacts\x20—\x20','[\x22@lovrabet/sdk\x22]:\x20','.cursor/rules/lovrabet_rules.mdc','\x20\x20#\x20or','\x20→\x20','white','lovrabet/rabetbase','push'];a177_0x5506=function(){return _0x132d7c;};return a177_0x5506();}import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE,runNpxSkillsAddGlobal,runNpxSkillsRemove}from'../../skills/npx-skills-add.js';function a177_0x294f(_0x4496ea,_0x17b7a4){_0x4496ea=_0x4496ea-0xa6;const _0x550696=a177_0x5506();let _0x294f94=_0x550696[_0x4496ea];return _0x294f94;}import{askConfirm}from'../../commands/menu/shared/inquirer.js';const LEGACY_CONFIG_NAMES=CONFIG_NAMES[a177_0x210f1e(0x10f)](_0x490c1d=>_0x490c1d!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x323e3a){const _0x2785e8=a177_0x210f1e,_0x36d041=[];for(const _0x178d52 of Object[_0x2785e8(0xcc)](CORE_IDE_CONFIGS)){if(_0x178d52['files'])for(const _0x3c53d8 of _0x178d52['files']){_0x36d041['push'](resolve(_0x323e3a,_0x3c53d8[_0x2785e8(0xb1)]));}}return _0x36d041;}function analyse(_0x3fe793){const _0x4182ee=a177_0x210f1e;let _0x5c3d27=null;const _0x2ed53a=resolve(_0x3fe793,NEW_CONFIG_NAME),_0x538721=existsSync(_0x2ed53a);for(const _0x179005 of LEGACY_CONFIG_NAMES){const _0x3a30c0=resolve(_0x3fe793,_0x179005);if(existsSync(_0x3a30c0)){const _0x588489=readConfigFile(_0x3a30c0),_0x92a2c=Object[_0x4182ee(0x103)](_0x588489)['filter'](_0x536f17=>typeof _0x588489[_0x536f17]!==_0x4182ee(0x11b));_0x5c3d27={'oldPath':_0x3a30c0,'hasNewConfig':_0x538721,'fields':_0x92a2c};break;}}const _0x16fe14=[],_0x3a1690=resolve(_0x3fe793,_0x4182ee(0xc9));if(existsSync(_0x3a1690))_0x16fe14[_0x4182ee(0xe5)](_0x3a1690);const _0x28435a=resolve(_0x3fe793,_0x4182ee(0xe0));if(existsSync(_0x28435a))_0x16fe14['push'](_0x28435a);const _0x33cd25=resolve(_0x3fe793,_0x4182ee(0x107));if(existsSync(_0x33cd25))_0x16fe14[_0x4182ee(0xe5)](_0x33cd25);for(const _0x2c7a8f of collectIdeSkillFiles(_0x3fe793)){if(existsSync(_0x2c7a8f))_0x16fe14['push'](_0x2c7a8f);}let _0x2ebd54=null;const _0xf55190=resolve(_0x3fe793,_0x4182ee(0xb5));if(existsSync(_0xf55190))try{const _0x22e2ef=JSON[_0x4182ee(0x118)](readFileSync(_0xf55190,_0x4182ee(0xe7)));if(_0x22e2ef?.[_0x4182ee(0xfa)]&&typeof _0x22e2ef['mcpServers']==='object'){const _0x49ccec=[];for(const [_0x326fc2,_0x2f195]of Object[_0x4182ee(0x124)](_0x22e2ef[_0x4182ee(0xfa)])){const _0x5dbca8=_0x2f195;_0x5dbca8?.[_0x4182ee(0xda)]&&Array[_0x4182ee(0x106)](_0x5dbca8['args'])&&_0x5dbca8[_0x4182ee(0xda)][_0x4182ee(0xcd)](_0x4f3d54=>typeof _0x4f3d54===_0x4182ee(0xdd)&&_0x4f3d54[_0x4182ee(0xbe)](_0x4182ee(0xfd)))&&_0x49ccec[_0x4182ee(0xe5)](_0x326fc2);}_0x49ccec[_0x4182ee(0xb7)]>0x0&&(_0x2ebd54={'path':_0xf55190,'keys':_0x49ccec});}}catch{}const _0x1854eb=_0x16fe14['length']>0x0||_0x5c3d27!==null;let _0x58f084=null;const _0x46c53e=resolve(_0x3fe793,_0x4182ee(0xec));if(existsSync(_0x46c53e))try{const _0x4cd2b1=JSON['parse'](readFileSync(_0x46c53e,_0x4182ee(0xe7)));for(const _0x2c5680 of[_0x4182ee(0xf7),_0x4182ee(0xbd)]){const _0x5e6ac0=_0x4cd2b1?.[_0x2c5680]?.[_0x4182ee(0xaa)];if(typeof _0x5e6ac0===_0x4182ee(0xdd)){_0x5e6ac0!==_0x4182ee(0x114)&&(_0x58f084={'pkgPath':_0x46c53e,'currentVersion':_0x5e6ac0,'field':_0x2c5680});break;}}}catch{}return{'configMigration':_0x5c3d27,'oldArtifacts':_0x16fe14,'oldMcpConfig':_0x2ebd54,'needsSkillSwap':_0x1854eb,'sdkUpgrade':_0x58f084};}function printReport(_0x17ea35){const _0x4365d5=a177_0x210f1e,{configMigration:_0x4c5083,oldArtifacts:_0x594053,oldMcpConfig:_0x3516db,needsSkillSwap:_0x21af25}=_0x17ea35;console[_0x4365d5(0x10c)](''),console[_0x4365d5(0x10c)](a177_0x1cf5f8['bold']('===\x20Upgrade\x20Analysis\x20===')),console[_0x4365d5(0x10c)]('');_0x4c5083?(console[_0x4365d5(0x10c)](a177_0x1cf5f8[_0x4365d5(0xb6)](_0x4365d5(0xbb))+('\x20\x20'+a177_0x1cf5f8[_0x4365d5(0xa7)](_0x4c5083[_0x4365d5(0x121)]))),console[_0x4365d5(0x10c)]('\x20\x20New\x20config\x20(.rabetbase.json):\x20'+(_0x4c5083['hasNewConfig']?a177_0x1cf5f8['green']('already\x20exists\x20(will\x20merge)'):a177_0x1cf5f8[_0x4365d5(0x100)]('not\x20found\x20(will\x20create)'))),console[_0x4365d5(0x10c)](_0x4365d5(0xc5)+_0x4c5083[_0x4365d5(0xd4)][_0x4365d5(0xf6)](',\x20')),console[_0x4365d5(0x10c)](_0x4365d5(0x115))):console[_0x4365d5(0x10c)](a177_0x1cf5f8[_0x4365d5(0xb6)](_0x4365d5(0xbb))+'\x20\x20'+a177_0x1cf5f8[_0x4365d5(0x100)](_0x4365d5(0xc6)));console['log']('');if(_0x594053['length']>0x0){console['log'](a177_0x1cf5f8[_0x4365d5(0xb6)]('Legacy\x20artifacts:'));for(const _0x548470 of _0x594053){console['log']('\x20\x20'+a177_0x1cf5f8[_0x4365d5(0xc7)](_0x4365d5(0xd8))+'\x20\x20'+_0x548470);}console[_0x4365d5(0x10c)]('\x20\x20Action:\x20delete');}else console[_0x4365d5(0x10c)](a177_0x1cf5f8[_0x4365d5(0xb6)](_0x4365d5(0xf9))+'\x20\x20'+a177_0x1cf5f8[_0x4365d5(0x100)]('none\x20found'));console[_0x4365d5(0x10c)]('');_0x3516db?(console[_0x4365d5(0x10c)](a177_0x1cf5f8['cyan'](_0x4365d5(0xac))+('\x20\x20'+a177_0x1cf5f8[_0x4365d5(0xa7)](_0x3516db[_0x4365d5(0xb1)])+_0x4365d5(0xf4)+_0x3516db[_0x4365d5(0x103)][_0x4365d5(0xf6)](',\x20'))),console[_0x4365d5(0x10c)]('\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server')):console[_0x4365d5(0x10c)](a177_0x1cf5f8[_0x4365d5(0xb6)](_0x4365d5(0xac))+'\x20\x20'+a177_0x1cf5f8[_0x4365d5(0x100)](_0x4365d5(0xd6)));console[_0x4365d5(0x10c)](''),console[_0x4365d5(0x10c)](a177_0x1cf5f8[_0x4365d5(0xb6)]('Skill\x20swap:')+('\x20\x20'+(_0x21af25?a177_0x1cf5f8['yellow']('needed'):a177_0x1cf5f8[_0x4365d5(0xc0)](_0x4365d5(0xbf)))));_0x21af25&&console[_0x4365d5(0x10c)](_0x4365d5(0xb0)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console[_0x4365d5(0x10c)]('');if(_0x17ea35[_0x4365d5(0xa8)]){const {currentVersion:_0x52f824,field:_0x3be1ef,pkgPath:_0x36c01b}=_0x17ea35[_0x4365d5(0xa8)];console[_0x4365d5(0x10c)](a177_0x1cf5f8[_0x4365d5(0xb6)](_0x4365d5(0x109))+('\x20\x20'+a177_0x1cf5f8[_0x4365d5(0xa7)](_0x36c01b))),console['log'](_0x4365d5(0xb3)+_0x3be1ef+':\x20'+a177_0x1cf5f8[_0x4365d5(0xa7)](_0x52f824)+_0x4365d5(0xe2)+a177_0x1cf5f8[_0x4365d5(0xc0)]('latest')),console[_0x4365d5(0x10c)](_0x4365d5(0x10e));}else console[_0x4365d5(0x10c)](a177_0x1cf5f8['cyan'](_0x4365d5(0x109))+'\x20\x20'+a177_0x1cf5f8[_0x4365d5(0x100)]('not\x20found\x20or\x20already\x20at\x20latest'));console['log']('');}function execConfigMigration(_0x54e5a6,_0xa15095){const _0x19a46e=a177_0x210f1e,{configMigration:_0x1a6453}=_0x54e5a6;if(!_0x1a6453?.[_0x19a46e(0x121)])return{'step':0x1,'label':_0x19a46e(0xeb),'ok':!![],'detail':_0x19a46e(0xbc)};const _0x313169=readConfigFile(_0x1a6453[_0x19a46e(0x121)]),_0x1ac4e2=resolve(_0xa15095,NEW_CONFIG_NAME),_0x15538a=_0x1a6453[_0x19a46e(0xfe)]?readConfigFile(_0x1ac4e2):{};for(const [_0x204aee,_0x2d5eb7]of Object[_0x19a46e(0x124)](_0x313169)){!(_0x204aee in _0x15538a)&&(_0x15538a[_0x204aee]=_0x2d5eb7);}writeConfigFile(_0x1ac4e2,_0x15538a);const _0xb3aaa1=_0x1a6453['oldPath']+_0x19a46e(0x120);return renameSync(_0x1a6453[_0x19a46e(0x121)],_0xb3aaa1),{'step':0x1,'label':_0x19a46e(0xeb),'ok':!![],'detail':_0x1a6453['oldPath']+_0x19a46e(0xe2)+_0x1ac4e2+_0x19a46e(0x10d)+_0xb3aaa1+')'};}function execRemoveOldArtifacts(_0x176672){const _0x30949f=a177_0x210f1e,_0x3dacc7=[];for(const _0x3d214f of _0x176672){try{if(!existsSync(_0x3d214f))continue;const _0x140be6=tryStat(_0x3d214f);_0x140be6?.['isDirectory']()?rmSync(_0x3d214f,{'recursive':!![],'force':!![]}):unlinkSync(_0x3d214f);}catch(_0x32726b){_0x3dacc7[_0x30949f(0xe5)](_0x3d214f+':\x20'+_0x32726b[_0x30949f(0x117)]);}}return{'step':0x3,'label':_0x30949f(0x11d),'ok':_0x3dacc7[_0x30949f(0xb7)]===0x0,'detail':_0x3dacc7['length']>0x0?_0x176672[_0x30949f(0xb7)]-_0x3dacc7[_0x30949f(0xb7)]+'/'+_0x176672[_0x30949f(0xb7)]+_0x30949f(0xf5)+_0x3dacc7[_0x30949f(0xf6)](';\x20')+')':_0x176672[_0x30949f(0xb7)]+_0x30949f(0x11a)};}function execCleanMcp(_0x259f29){const _0x29b27e=a177_0x210f1e;if(!_0x259f29['oldMcpConfig'])return{'step':0x4,'label':_0x29b27e(0xae),'ok':!![],'detail':_0x29b27e(0xba)};try{const _0x74cf92=readFileSync(_0x259f29[_0x29b27e(0xfc)]['path'],'utf8'),_0x19a0cf=JSON[_0x29b27e(0x118)](_0x74cf92);if(_0x19a0cf?.['mcpServers']&&typeof _0x19a0cf[_0x29b27e(0xfa)]==='object'){const _0x203e00=[];for(const [_0x490a26,_0x26ab34]of Object[_0x29b27e(0x124)](_0x19a0cf['mcpServers'])){_0x26ab34?.[_0x29b27e(0xda)]&&Array[_0x29b27e(0x106)](_0x26ab34[_0x29b27e(0xda)])&&_0x26ab34[_0x29b27e(0xda)][_0x29b27e(0xcd)](_0x5d89ac=>typeof _0x5d89ac===_0x29b27e(0xdd)&&_0x5d89ac[_0x29b27e(0xbe)](_0x29b27e(0xfd)))&&_0x203e00[_0x29b27e(0xe5)](_0x490a26);}for(const _0x25baf5 of _0x203e00){delete _0x19a0cf['mcpServers'][_0x25baf5];}return _0x203e00[_0x29b27e(0xb7)]>0x0&&writeFileSync(_0x259f29[_0x29b27e(0xfc)][_0x29b27e(0xb1)],JSON[_0x29b27e(0xcf)](_0x19a0cf,null,0x2)+'\x0a',_0x29b27e(0xe7)),{'step':0x4,'label':_0x29b27e(0xae),'ok':!![],'detail':_0x29b27e(0x101)+_0x203e00[_0x29b27e(0xf6)](',\x20')+_0x29b27e(0xad)+_0x259f29[_0x29b27e(0xfc)][_0x29b27e(0xb1)]};}return{'step':0x4,'label':_0x29b27e(0xae),'ok':!![],'detail':_0x29b27e(0x116)};}catch(_0x2911e7){return{'step':0x4,'label':_0x29b27e(0xae),'ok':![],'detail':_0x2911e7[_0x29b27e(0x117)]};}}function execSkillsRemove(_0x312b3d,_0x2a866b){const _0xe3c98c=a177_0x210f1e,_0x4ce8b9=runNpxSkillsRemove(_0x312b3d,{'stdio':_0xe3c98c(0xd5),'yes':_0x2a866b});return{'step':0x5,'label':_0xe3c98c(0x113),'ok':_0x4ce8b9['ok'],'detail':_0x4ce8b9['ok']?'lovrabet/lovrabet-skill\x20removed':_0x4ce8b9[_0xe3c98c(0xb8)]??_0xe3c98c(0x10b)+_0x4ce8b9[_0xe3c98c(0xf3)]};}function execSkillsAdd(_0x3a4318,_0xcd4a13){const _0x3b579d=a177_0x210f1e,_0x1787b1=runNpxSkillsAddGlobal(_0x3a4318,_0x3b579d(0xe4),{'stdio':_0x3b579d(0xd5),'yes':_0xcd4a13});return{'step':0x6,'label':_0x3b579d(0x102),'ok':_0x1787b1['ok'],'detail':_0x1787b1['ok']?_0x3b579d(0xee):_0x1787b1[_0x3b579d(0xb8)]??'exit\x20'+_0x1787b1[_0x3b579d(0xf3)]};}function execUpgradeSdk(_0x5a5e76){const _0xb92b5b=a177_0x210f1e;if(!_0x5a5e76['sdkUpgrade'])return{'step':0x7,'label':'Upgrade\x20@lovrabet/sdk','ok':!![],'detail':'skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)'};const {pkgPath:_0x921eef,currentVersion:_0x15188b,field:_0x15aa24}=_0x5a5e76[_0xb92b5b(0xa8)];try{const _0x58fa32=readFileSync(_0x921eef,_0xb92b5b(0xe7)),_0x4b2fed=JSON[_0xb92b5b(0x118)](_0x58fa32);return _0x4b2fed[_0x15aa24]['@lovrabet/sdk']=_0xb92b5b(0x114),writeFileSync(_0x921eef,JSON['stringify'](_0x4b2fed,null,0x2)+'\x0a',_0xb92b5b(0xe7)),{'step':0x7,'label':_0xb92b5b(0xaf),'ok':!![],'detail':_0x15aa24+_0xb92b5b(0xdf)+_0x15188b+_0xb92b5b(0xdc)};}catch(_0x5526fc){return{'step':0x7,'label':_0xb92b5b(0xaf),'ok':![],'detail':_0x5526fc[_0xb92b5b(0x117)]};}}function tryStat(_0x4140b7){try{return statSync(_0x4140b7);}catch{return undefined;}}function printSummary(_0x29083e){const _0x3d9d29=a177_0x210f1e;console[_0x3d9d29(0x10c)](''),console[_0x3d9d29(0x10c)](a177_0x1cf5f8[_0x3d9d29(0x11f)](_0x3d9d29(0x105))),console[_0x3d9d29(0x10c)]('');for(const _0x33a73a of _0x29083e){const _0x4693ca=_0x33a73a['ok']?a177_0x1cf5f8[_0x3d9d29(0xc0)]('OK'):a177_0x1cf5f8[_0x3d9d29(0xc7)](_0x3d9d29(0xf8));console[_0x3d9d29(0x10c)]('\x20\x20'+_0x4693ca+_0x3d9d29(0xd1)+_0x33a73a[_0x3d9d29(0xc3)]+':\x20'+_0x33a73a[_0x3d9d29(0x122)]);if(_0x33a73a[_0x3d9d29(0xa6)])console[_0x3d9d29(0x10c)](_0x3d9d29(0xcb)+a177_0x1cf5f8[_0x3d9d29(0x100)](_0x33a73a[_0x3d9d29(0xa6)]));}console['log']('');}export async function upgradeApp(_0x29a7c3,_0x521604){const _0xbd42ed=a177_0x210f1e,_0x4f16c6=process['cwd'](),_0x1a4a1e=analyse(_0x4f16c6),_0x255c70=!_0x1a4a1e[_0xbd42ed(0x11e)]&&_0x1a4a1e['oldArtifacts'][_0xbd42ed(0xb7)]===0x0&&!_0x1a4a1e[_0xbd42ed(0xfc)]&&!_0x1a4a1e[_0xbd42ed(0xfb)]&&!_0x1a4a1e[_0xbd42ed(0xa8)];if(_0x255c70){console['log'](a177_0x1cf5f8[_0xbd42ed(0xc0)]('No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.'));return;}printReport(_0x1a4a1e);const _0xf142f6=!!(_0x521604[_0xbd42ed(0x119)]||_0x521604['Y']||_0x29a7c3);if(!_0xf142f6)try{const _0x471455=await askConfirm(_0xbd42ed(0xff));if(!_0x471455){console[_0xbd42ed(0x10c)](a177_0x1cf5f8[_0xbd42ed(0x100)]('Upgrade\x20cancelled.'));return;}}catch(_0x18e92d){if(_0x18e92d?.['message']===_0xbd42ed(0xd3)){console[_0xbd42ed(0x10c)](a177_0x1cf5f8['gray'](_0xbd42ed(0xce)));return;}throw _0x18e92d;}const _0x3a01e5=[],_0xa8d3ba=a177_0xcdf33e({'text':_0xbd42ed(0xef),'color':_0xbd42ed(0xb6)})['start'](),_0xfc0893=execConfigMigration(_0x1a4a1e,_0x4f16c6);_0x3a01e5[_0xbd42ed(0xe5)](_0xfc0893),_0xa8d3ba[_0xfc0893['ok']?_0xbd42ed(0xd7):_0xbd42ed(0xf2)]('Step\x201/7:\x20Config\x20migration\x20—\x20'+(_0xfc0893['detail']??(_0xfc0893['ok']?_0xbd42ed(0xd2):_0xbd42ed(0xc4))));const _0x2f8e23=resolve(_0x4f16c6,'.lovrabet'),_0x5c8279=a177_0xcdf33e({'text':_0xbd42ed(0x11c),'color':'cyan'})[_0xbd42ed(0xc2)]();if(existsSync(_0x2f8e23))try{rmSync(_0x2f8e23,{'recursive':!![],'force':!![]}),_0x5c8279[_0xbd42ed(0xd7)](_0xbd42ed(0x112)),_0x3a01e5['push']({'step':0x2,'label':'Remove\x20.lovrabet/','ok':!![]});}catch(_0x2fd8e3){_0x5c8279['fail'](_0xbd42ed(0x108)+_0x2fd8e3['message']),_0x3a01e5[_0xbd42ed(0xe5)]({'step':0x2,'label':_0xbd42ed(0xca),'ok':![],'detail':_0x2fd8e3[_0xbd42ed(0x117)]});}else _0x5c8279['info']('Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped'),_0x3a01e5[_0xbd42ed(0xe5)]({'step':0x2,'label':_0xbd42ed(0xca),'ok':!![],'detail':_0xbd42ed(0xba)});const _0x4059aa=a177_0xcdf33e({'text':_0xbd42ed(0xe6),'color':'cyan'})[_0xbd42ed(0xc2)](),_0xa657b8=execRemoveOldArtifacts(_0x1a4a1e['oldArtifacts']);_0x3a01e5[_0xbd42ed(0xe5)](_0xa657b8),_0x4059aa[_0xa657b8['ok']?_0xbd42ed(0xd7):_0xbd42ed(0xf2)](_0xbd42ed(0xde)+(_0xa657b8['detail']??(_0xa657b8['ok']?_0xbd42ed(0xd2):_0xbd42ed(0xc4))));const _0x16051a=a177_0xcdf33e({'text':_0xbd42ed(0xe9),'color':'cyan'})[_0xbd42ed(0xc2)](),_0x1b3e10=execCleanMcp(_0x1a4a1e);_0x3a01e5[_0xbd42ed(0xe5)](_0x1b3e10),_0x16051a[_0x1b3e10['ok']?'succeed':_0xbd42ed(0xf2)](_0xbd42ed(0xf0)+(_0x1b3e10[_0xbd42ed(0xa6)]??(_0x1b3e10['ok']?'done':_0xbd42ed(0xc4))));const _0x515c71=a177_0xcdf33e({'text':_0xbd42ed(0xc1),'color':_0xbd42ed(0xb6)})['start'](),_0x4801d5=execSkillsRemove(_0x4f16c6,_0xf142f6);_0x3a01e5[_0xbd42ed(0xe5)](_0x4801d5),_0x515c71[_0x4801d5['ok']?_0xbd42ed(0xd7):_0xbd42ed(0xf2)](_0xbd42ed(0x10a)+(_0x4801d5[_0xbd42ed(0xa6)]??(_0x4801d5['ok']?_0xbd42ed(0xd2):_0xbd42ed(0xc4))));const _0x7d375=a177_0xcdf33e({'text':_0xbd42ed(0x111),'color':_0xbd42ed(0xb6)})['start'](),_0x48dfbb=execSkillsAdd(_0x4f16c6,_0xf142f6);_0x3a01e5['push'](_0x48dfbb),_0x7d375[_0x48dfbb['ok']?_0xbd42ed(0xd7):_0xbd42ed(0xf2)](_0xbd42ed(0xb4)+(_0x48dfbb[_0xbd42ed(0xa6)]??(_0x48dfbb['ok']?'done':_0xbd42ed(0xc4))));const _0x23043c=a177_0xcdf33e({'text':_0xbd42ed(0x110),'color':_0xbd42ed(0xb6)})[_0xbd42ed(0xc2)](),_0x35775e=execUpgradeSdk(_0x1a4a1e);_0x3a01e5[_0xbd42ed(0xe5)](_0x35775e),_0x23043c[_0x35775e['ok']?_0xbd42ed(0xd7):_0xbd42ed(0xf2)]('Step\x207/7:\x20@lovrabet/sdk\x20—\x20'+(_0x35775e[_0xbd42ed(0xa6)]??(_0x35775e['ok']?'done':_0xbd42ed(0xc4)))),printSummary(_0x3a01e5);const _0x2cc89e=_0x3a01e5[_0xbd42ed(0xcd)](_0x592122=>!_0x592122['ok']);_0x2cc89e?console[_0xbd42ed(0x10c)](a177_0x1cf5f8[_0xbd42ed(0xa7)](_0xbd42ed(0xa9))):console[_0xbd42ed(0x10c)](a177_0x1cf5f8[_0xbd42ed(0xc0)](_0xbd42ed(0xb9))),_0x35775e['ok']&&_0x1a4a1e[_0xbd42ed(0xa8)]&&(console[_0xbd42ed(0x10c)](''),console['log'](a177_0x1cf5f8[_0xbd42ed(0x11f)][_0xbd42ed(0xb6)](_0xbd42ed(0xb2))),console[_0xbd42ed(0x10c)](a177_0x1cf5f8[_0xbd42ed(0xb6)]('Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:')),console['log'](''),console[_0xbd42ed(0x10c)](a177_0x1cf5f8['white'](_0xbd42ed(0xd9))),console['log'](a177_0x1cf5f8['white'](_0xbd42ed(0xe1))),console[_0xbd42ed(0x10c)](a177_0x1cf5f8[_0xbd42ed(0xe3)]('\x20\x20bun\x20install')),console[_0xbd42ed(0x10c)](''));}
@@ -1 +1 @@
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
+ const a178_0x54d279=a178_0x567f;(function(_0x3b441f,_0x318c0e){const _0x2b8559=a178_0x567f,_0x1d53b3=_0x3b441f();while(!![]){try{const _0x12671d=-parseInt(_0x2b8559(0x1ae))/0x1*(-parseInt(_0x2b8559(0x1b8))/0x2)+-parseInt(_0x2b8559(0x1b9))/0x3+-parseInt(_0x2b8559(0x1c8))/0x4*(parseInt(_0x2b8559(0x1b0))/0x5)+-parseInt(_0x2b8559(0x1f7))/0x6+-parseInt(_0x2b8559(0x1f4))/0x7*(parseInt(_0x2b8559(0x1d4))/0x8)+-parseInt(_0x2b8559(0x1c7))/0x9+-parseInt(_0x2b8559(0x1fb))/0xa*(-parseInt(_0x2b8559(0x1fd))/0xb);if(_0x12671d===_0x318c0e)break;else _0x1d53b3['push'](_0x1d53b3['shift']());}catch(_0x2a16b6){_0x1d53b3['push'](_0x1d53b3['shift']());}}}(a178_0x5abe,0x8c9bf));import{apiDefinitions}from'../commands/api/index.js';import{bffDefinitions}from'../commands/bff/index.js';import{sqlDefinitions}from'../commands/sql/index.js';import{datasetDefinitions}from'../commands/dataset/index.js';import{pageDefinitions}from'../commands/page/index.js';import{dataDefinitions}from'../commands/data/index.js';import{dbDefinitions}from'../commands/db/index.js';import{codegenDefinitions}from'../commands/codegen/index.js';import{menuDefinitions}from'../commands/menu/index.js';function a178_0x567f(_0x4b17c2,_0x570f61){_0x4b17c2=_0x4b17c2-0x1a2;const _0x5abe87=a178_0x5abe();let _0x567f4a=_0x5abe87[_0x4b17c2];return _0x567f4a;}import{taskDefinitions}from'../commands/task/index.js';import{tenantDefinitions}from'../commands/tenant/index.js';import{roleDefinitions}from'../commands/role/index.js';function a178_0x5abe(){const _0x595214=['\x20\x20[write]','120qbeWuo','rabetbase\x20cli-skill\x20install','2225377SZCoCb','rabetbase\x20kb\x20detail','\x20\x20[','Schema','SQL\x20Queries','rabetbase\x20kb\x20delete','sql:new','rabetbase\x20sql\x20create','preview','Company\x20Knowledge\x20Base','rabetbase\x20bff\x20create','command','Platform\x20Issue','knowledge-base:create','skills:install','5668SOalga','API\x20Development','119905mqudKT','filter','build','`\x20has\x20been\x20removed.','login','App\x20Management','app:add','logout','208JXkeco','171333CNWCvs','rabetbase\x20workspace\x20remove\x20<name>','`rabetbase\x20','set','app:remove','knowledge-base:detail','Notification\x20Configuration','map','skill:','rabetbase\x20workspace\x20use\x20--app\x20<name>','from','skills:','push','CLI\x20Built-in\x20Skill','9324684ArlHfi','4fszmtW','defaultCommand','hidden','description','get','rabetbase\x20sql\x20create\x20--name\x20<name>\x20--db-id\x20<id>\x20--mode\x20sql|mybatisXml','sql:save','knowledge-base:list','Diagnostics','values','Run\x20any\x20package.json\x20script','Async\x20Tasks','8nngIja','Tenant\x20Members','length','start','bff:new','`\x20instead.','install','create','rabetbase\x20kb\x20update','rabetbase\x20run\x20build','BFF\x20Scripts','\x20\x20[high-risk-write]','Workspace','Runtime\x20App\x20Config\x20Management','wildcardDef','Run\x20Scripts','commands','isSingleCommand','risk','rabetbase\x20run\x20start','rabetbase\x20auth\x20logout','service','project:init','rabetbase\x20app\x20list\x20--remote','Self\x20Update','Permissions','has','Quick\x20Start','skill:install','rabetbase\x20run\x20preview','Authentication','OCR','7279447xnODgw','Configuration','<script>','1704792LVXSnO','Smart\x20List\x20Pages\x20&\x20React\x20Custom\x20Pages','Instant\x20API'];a178_0x5abe=function(){return _0x595214;};return a178_0x5abe();}import{permitDefinitions}from'../commands/permit/index.js';import{appDefinitions}from'../commands/app/index.js';import{appConfigDefinitions}from'../commands/app-config/index.js';import{kbDefinitions}from'../commands/kb/index.js';import{notificationDefinitions}from'../commands/notification/index.js';import{workspaceDefinitions}from'../commands/workspace/index.js';import{configDefinitions}from'../commands/config/index.js';import{doctorDefinition}from'../commands/doctor.js';import{updateDefinition}from'../commands/cli-update.js';import{schemaDefinition}from'../commands/schema.js';import{issueDefinitions}from'../commands/issue/index.js';import{fileDefinitions}from'../commands/file/index.js';import{ocrDefinitions}from'../commands/ocr/index.js';import{cliSkillDefinitions}from'../commands/cli-skill/index.js';import{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(_0xbc7995){const _0xf040e1=a178_0x567f;for(const _0x36837b of _0xbc7995){definitions[_0xf040e1(0x1bc)](_0x36837b['service']+':'+_0x36837b[_0xf040e1(0x1aa)],_0x36837b);let _0x112fe1=serviceGroups[_0xf040e1(0x1cc)](_0x36837b[_0xf040e1(0x1e9)]);!_0x112fe1&&(_0x112fe1=[],serviceGroups[_0xf040e1(0x1bc)](_0x36837b[_0xf040e1(0x1e9)],_0x112fe1)),_0x112fe1[_0xf040e1(0x1c5)](_0x36837b);}}function registerDeclarativeService(_0xfe6dfe,_0x41591c,_0x32d42a){const _0x34dec0=a178_0x567f;registerDefinitions(_0x41591c);_0x32d42a?.[_0x34dec0(0x1e2)]&&registerDefinitions([_0x32d42a[_0x34dec0(0x1e2)]]);const _0x3a5ee8=_0x9b48c7=>_0x9b48c7==='read'?'':_0x9b48c7==='write'?_0x34dec0(0x1fa):_0x34dec0(0x1df),_0x2dc02f={'service':_0x41591c[0x0][_0x34dec0(0x1e9)],'label':_0xfe6dfe,'commands':_0x41591c[_0x34dec0(0x1b1)](_0x232633=>!_0x232633[_0x34dec0(0x1ca)])[_0x34dec0(0x1c0)](_0x2b9760=>({'command':_0x2b9760[_0x34dec0(0x1aa)],'description':_0x2b9760[_0x34dec0(0x1cb)],'tag':_0x3a5ee8(_0x2b9760[_0x34dec0(0x1e6)])})),'declarative':!![],'defaultCommand':_0x32d42a?.[_0x34dec0(0x1c9)]??(_0x32d42a?.[_0x34dec0(0x1e5)]?_0x41591c[0x0]['command']:undefined),'wildcardDef':_0x32d42a?.['wildcardDef'],'isSingleCommand':_0x32d42a?.[_0x34dec0(0x1e5)]};serviceRegistry[_0x34dec0(0x1c5)](_0x2dc02f),serviceByName['set'](_0x2dc02f[_0x34dec0(0x1e9)],_0x2dc02f);}registerDeclarativeService(a178_0x54d279(0x1ef),initDefinitions,{'defaultCommand':'run','isSingleCommand':!![]}),registerDeclarativeService('Project',projectDefinitions),registerDeclarativeService(a178_0x54d279(0x1e0),workspaceDefinitions),registerDeclarativeService(a178_0x54d279(0x1b5),appDefinitions),registerDeclarativeService(a178_0x54d279(0x1f2),authDefinitions,{'defaultCommand':a178_0x54d279(0x1b4)}),registerDeclarativeService(a178_0x54d279(0x1d5),tenantDefinitions),registerDeclarativeService('User\x20Accounts',userAccountDefinitions),registerDeclarativeService('Dataset\x20&\x20Operations',datasetDefinitions),registerDeclarativeService(a178_0x54d279(0x1f8),pageDefinitions),registerDeclarativeService(a178_0x54d279(0x1af),apiDefinitions),registerDeclarativeService(a178_0x54d279(0x1f9),dataDefinitions),registerDeclarativeService(a178_0x54d279(0x1de),bffDefinitions),registerDeclarativeService(a178_0x54d279(0x1bf),notificationDefinitions),registerDeclarativeService(a178_0x54d279(0x1a3),sqlDefinitions),registerDeclarativeService('Database\x20Connections',dbDefinitions),registerDeclarativeService('Menu',menuDefinitions),registerDeclarativeService(a178_0x54d279(0x1d3),taskDefinitions),registerDeclarativeService('Roles',roleDefinitions),registerDeclarativeService(a178_0x54d279(0x1ed),permitDefinitions),registerDeclarativeService(a178_0x54d279(0x1e1),appConfigDefinitions),registerDeclarativeService(a178_0x54d279(0x1a8),kbDefinitions),registerDeclarativeService(a178_0x54d279(0x1ab),issueDefinitions),registerDeclarativeService('File',fileDefinitions),registerDeclarativeService(a178_0x54d279(0x1f3),ocrDefinitions),registerDeclarativeService('Code\x20Generation',codegenDefinitions),registerDeclarativeService(a178_0x54d279(0x1f5),configDefinitions),registerDeclarativeService(a178_0x54d279(0x1d0),[doctorDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a178_0x54d279(0x1a2),[schemaDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a178_0x54d279(0x1ec),[updateDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a178_0x54d279(0x1c6),cliSkillDefinitions,{'defaultCommand':a178_0x54d279(0x1da)}),registerDeclarativeService('Logs',logsDefinitions,{'defaultCommand':'show'}),registerDeclarativeService(a178_0x54d279(0x1e3),[runDefinition],{'wildcardDef':runDefinition});{const last=serviceRegistry[serviceRegistry[a178_0x54d279(0x1d6)]-0x1];last[a178_0x54d279(0x1e4)]=[{'command':a178_0x54d279(0x1f6),'description':a178_0x54d279(0x1d2),'tag':a178_0x54d279(0x1ff)+runDefinition['risk']+']'}];}const REMOVED_COMMAND_REPLACEMENTS=new Map([[a178_0x54d279(0x1ce),a178_0x54d279(0x1cd)],[a178_0x54d279(0x1d8),a178_0x54d279(0x1a9)],[a178_0x54d279(0x1a5),a178_0x54d279(0x1a6)],['menu:update','rabetbase\x20menu\x20asset-update'],[a178_0x54d279(0x1ea),'rabetbase\x20workspace\x20init\x20--appcode\x20<code>'],[a178_0x54d279(0x1c1),'rabetbase\x20cli-skill\x20install'],[a178_0x54d279(0x1f0),a178_0x54d279(0x1fc)],[a178_0x54d279(0x1c4),a178_0x54d279(0x1fc)],[a178_0x54d279(0x1ad),a178_0x54d279(0x1fc)],['app:remote',a178_0x54d279(0x1eb)],['app:use',a178_0x54d279(0x1c2)],[a178_0x54d279(0x1b6),'rabetbase\x20workspace\x20add\x20<name>\x20--appcode\x20<code>'],[a178_0x54d279(0x1bd),a178_0x54d279(0x1ba)],[a178_0x54d279(0x1cf),'rabetbase\x20kb\x20list'],[a178_0x54d279(0x1be),a178_0x54d279(0x1fe)],[a178_0x54d279(0x1ac),'rabetbase\x20kb\x20create'],['knowledge-base:update',a178_0x54d279(0x1dc)],['knowledge-base:delete',a178_0x54d279(0x1a4)]]),REMOVED_FLAT_COMMAND_REPLACEMENTS=new Map([[a178_0x54d279(0x1db),'rabetbase\x20project\x20create\x20<project-name>'],[a178_0x54d279(0x1d7),a178_0x54d279(0x1e7)],[a178_0x54d279(0x1b2),a178_0x54d279(0x1dd)],[a178_0x54d279(0x1a7),a178_0x54d279(0x1f1)],[a178_0x54d279(0x1b7),a178_0x54d279(0x1e8)]]);export function resolveRemovedCommand(_0x584068,_0x56b2d3){const _0x10c69d=a178_0x54d279;if(!_0x584068)return undefined;const _0x3c22d5=REMOVED_COMMAND_REPLACEMENTS[_0x10c69d(0x1cc)](_0x584068+':'+(_0x56b2d3??'')),_0x1c8afb=REMOVED_FLAT_COMMAND_REPLACEMENTS[_0x10c69d(0x1cc)](_0x584068),_0x1572f1=_0x3c22d5??_0x1c8afb;if(!_0x1572f1)return undefined;const _0x2a7307=_0x1c8afb?_0x584068:_0x56b2d3?_0x584068+'\x20'+_0x56b2d3:_0x584068;return{'command':_0x2a7307,'message':_0x10c69d(0x1bb)+_0x2a7307+_0x10c69d(0x1b3),'hint':'Use\x20`'+_0x1572f1+_0x10c69d(0x1d9)};}export function findDefinition(_0x316c13,_0x1ebe80){return definitions['get'](_0x316c13+':'+_0x1ebe80);}export function isKnownService(_0x26514f){const _0x1a2434=a178_0x54d279;return serviceByName[_0x1a2434(0x1ee)](_0x26514f);}export function isDeclarativeService(_0x6df09c){const _0x598532=a178_0x54d279;return serviceGroups['has'](_0x6df09c)||serviceByName[_0x598532(0x1cc)](_0x6df09c)?.['wildcardDef']!==undefined;}export function getServiceEntry(_0x4f024d){return serviceByName['get'](_0x4f024d);}export function getLegacyHandler(_0x380f3e,_0x4084d2){return undefined;}export function getAllDefinitions(){const _0x6b8f30=a178_0x54d279;return Array[_0x6b8f30(0x1c3)](definitions[_0x6b8f30(0x1d1)]());}
@@ -1 +1 @@
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
+ const a179_0x3ae712=a179_0x1263;(function(_0x6a9ef4,_0x2d5a0c){const _0x5ba573=a179_0x1263,_0x5d02ac=_0x6a9ef4();while(!![]){try{const _0x5db42d=parseInt(_0x5ba573(0x19f))/0x1+-parseInt(_0x5ba573(0x193))/0x2*(-parseInt(_0x5ba573(0x189))/0x3)+-parseInt(_0x5ba573(0x18e))/0x4+parseInt(_0x5ba573(0x1a2))/0x5*(-parseInt(_0x5ba573(0x18c))/0x6)+-parseInt(_0x5ba573(0x18f))/0x7*(parseInt(_0x5ba573(0x18d))/0x8)+-parseInt(_0x5ba573(0x19a))/0x9+parseInt(_0x5ba573(0x195))/0xa;if(_0x5db42d===_0x2d5a0c)break;else _0x5d02ac['push'](_0x5d02ac['shift']());}catch(_0x2e3008){_0x5d02ac['push'](_0x5d02ac['shift']());}}}(a179_0xf736,0x8b56d));import{createAppRole}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';function a179_0xf736(){const _0x513434=['4256432wgCJyw','147tVvLsB','validation','/smartapi/permit/role/create','remark','2YrBTTP','POST','34502240fExxDN','Created\x20role\x20','length','flagMissing','appCode','9530550jqQPfy','write','name','Create\x20a\x20CUSTOM\x20user\x20group\x20(role)','create','295884KQyLgi','trim','roleName','125UKyWyP','CUSTOM','Role\x20name\x20cannot\x20exceed\x2064\x20characters.','948963wvKfhv','str','role','242274lgbzBy','136824ncLORo'];a179_0xf736=function(){return _0x513434;};return a179_0xf736();}function a179_0x1263(_0x5d783c,_0x25d064){_0x5d783c=_0x5d783c-0x187;const _0xf73656=a179_0xf736();let _0x126387=_0xf73656[_0x5d783c];return _0x126387;}import{NAME_FLAG,REMARK_FLAG,projectRole}from'../../commands/role/shared.js';const CREATE_PATH=a179_0x3ae712(0x191);function readName(_0x4ad8e0){const _0x3052d3=a179_0x3ae712,_0x1388c3=_0x4ad8e0[_0x3052d3(0x18a)](_0x3052d3(0x19c))[_0x3052d3(0x1a0)]();if(!_0x1388c3)throw CliErrors[_0x3052d3(0x198)]('name','Pass\x20--name\x20<roleName>.');if(_0x1388c3[_0x3052d3(0x197)]>0x40)throw CliErrors[_0x3052d3(0x190)](_0x3052d3(0x188));return _0x1388c3;}export const roleCreate={'service':a179_0x3ae712(0x18b),'command':a179_0x3ae712(0x19e),'description':a179_0x3ae712(0x19d),'risk':a179_0x3ae712(0x19b),'flags':[NAME_FLAG,REMARK_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x3e179c){readName(_0x3e179c);},async 'dryRun'(_0x58a10d){const _0x2e5368=a179_0x3ae712,_0x28ca9f=readName(_0x58a10d),_0x35ac93=_0x58a10d['str'](_0x2e5368(0x192))[_0x2e5368(0x1a0)]()||undefined;return asDryRunResult({'operation':_0x2e5368(0x19e),'selector':{'appCode':_0x58a10d[_0x2e5368(0x199)],'roleName':_0x28ca9f},'before':null,'after':{'roleName':_0x28ca9f,'roleType':_0x2e5368(0x187),'remark':_0x35ac93},'dryRun':!![],'backend':{'method':_0x2e5368(0x194),'path':CREATE_PATH},'warnings':[]},{'method':'POST','url':CREATE_PATH});},async 'execute'(_0xa7a3c){const _0x40fb6d=a179_0x3ae712,_0x339723=readName(_0xa7a3c),_0x52ff9a=_0xa7a3c[_0x40fb6d(0x18a)](_0x40fb6d(0x192))[_0x40fb6d(0x1a0)]()||undefined,_0x325d38=await createAppRole({'appCode':_0xa7a3c[_0x40fb6d(0x199)],'roleName':_0x339723,..._0x52ff9a?{'remark':_0x52ff9a}:{}});return{'ok':!![],'data':{'operation':_0x40fb6d(0x19e),'selector':{'appCode':_0xa7a3c['appCode'],'roleId':_0x325d38['id'],'roleName':_0x339723},'before':null,'after':projectRole(_0x325d38),'dryRun':![],'backend':{'method':_0x40fb6d(0x194),'path':CREATE_PATH},'warnings':[]},'message':_0x40fb6d(0x196)+_0x325d38[_0x40fb6d(0x1a1)]+'\x20(id='+_0x325d38['id']+')'};}};
@@ -1 +1 @@
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
+ const a180_0x198189=a180_0x432d;(function(_0x20e11e,_0x51100e){const _0x4e4e24=a180_0x432d,_0x5f38d0=_0x20e11e();while(!![]){try{const _0x3ec9b3=-parseInt(_0x4e4e24(0x94))/0x1*(-parseInt(_0x4e4e24(0x98))/0x2)+parseInt(_0x4e4e24(0x97))/0x3*(-parseInt(_0x4e4e24(0x8f))/0x4)+-parseInt(_0x4e4e24(0x8c))/0x5*(parseInt(_0x4e4e24(0x87))/0x6)+parseInt(_0x4e4e24(0x8d))/0x7+-parseInt(_0x4e4e24(0x9a))/0x8+-parseInt(_0x4e4e24(0x8e))/0x9+-parseInt(_0x4e4e24(0x88))/0xa*(-parseInt(_0x4e4e24(0x96))/0xb);if(_0x3ec9b3===_0x51100e)break;else _0x5f38d0['push'](_0x5f38d0['shift']());}catch(_0x5e6045){_0x5f38d0['push'](_0x5f38d0['shift']());}}}(a180_0x5eaf,0xd6f4e));import{deleteAppRole}from'../../core/api-client.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a180_0x5eaf(){const _0x43ec83=['9448873JJTyyN','13031559IQzeil','113776KfDEmT','roleName','num','high-risk-write','Deleted\x20role\x20','1261196EFCWHN','Role\x20still\x20has\x20','12332573quaPOg','69bvygCz','2gnQwQY','role','5588600eHOXEl','\x20member(s);\x20they\x20will\x20lose\x20this\x20group.','userCount','delete','305868mQcjhP','10rayYKR','POST','\x20(id=','appCode','5JkstLA'];a180_0x5eaf=function(){return _0x43ec83;};return a180_0x5eaf();}import{asDryRunResult}from'../../commands/common/dry-run.js';function a180_0x432d(_0x260229,_0x49cb3c){_0x260229=_0x260229-0x86;const _0x5eaf41=a180_0x5eaf();let _0x432dc4=_0x5eaf41[_0x260229];return _0x432dc4;}import{assertCustomRole,getRoleById,projectRole,ROLE_ID_FLAG}from'../../commands/role/shared.js';const DELETE_PATH='/smartapi/permit/role/delete';export const roleDelete={'service':a180_0x198189(0x99),'command':'delete','description':'Delete\x20a\x20CUSTOM\x20role\x20(DEV/ADMIN\x20rejected);\x20requires\x20--yes','risk':a180_0x198189(0x92),'flags':[ROLE_ID_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0xccbe3b){const _0x391ab7=a180_0x198189,_0x1cc770=_0xccbe3b[_0x391ab7(0x91)]('id'),_0xfebec8=await getRoleById(_0xccbe3b[_0x391ab7(0x8b)],_0x1cc770);return assertCustomRole(_0xfebec8,_0x391ab7(0x86)),asDryRunResult({'operation':'delete','selector':{'appCode':_0xccbe3b[_0x391ab7(0x8b)],'roleId':_0x1cc770,'roleName':_0xfebec8[_0x391ab7(0x90)]},'before':projectRole(_0xfebec8),'after':null,'dryRun':!![],'backend':{'method':_0x391ab7(0x89),'path':DELETE_PATH},'warnings':_0xfebec8[_0x391ab7(0x9c)]>0x0?[_0x391ab7(0x95)+_0xfebec8[_0x391ab7(0x9c)]+_0x391ab7(0x9b)]:[]},{'method':_0x391ab7(0x89),'url':DELETE_PATH});},async 'execute'(_0x42e1ed){const _0x4be5d5=a180_0x198189,_0x9cab01=_0x42e1ed[_0x4be5d5(0x91)]('id'),_0x13e95e=await getRoleById(_0x42e1ed[_0x4be5d5(0x8b)],_0x9cab01);return assertCustomRole(_0x13e95e,'delete'),await deleteAppRole(_0x9cab01),{'ok':!![],'data':{'operation':_0x4be5d5(0x86),'selector':{'appCode':_0x42e1ed['appCode'],'roleId':_0x9cab01,'roleName':_0x13e95e[_0x4be5d5(0x90)]},'before':projectRole(_0x13e95e),'after':null,'dryRun':![],'backend':{'method':_0x4be5d5(0x89),'path':DELETE_PATH},'warnings':[]},'message':_0x4be5d5(0x93)+_0x13e95e['roleName']+_0x4be5d5(0x8a)+_0x9cab01+')'};}};
@@ -1 +1 @@
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
+ const a181_0x4966f0=a181_0x4089;(function(_0x5e48aa,_0xffb219){const _0x1883e3=a181_0x4089,_0x276f74=_0x5e48aa();while(!![]){try{const _0x223e4e=parseInt(_0x1883e3(0x16c))/0x1*(parseInt(_0x1883e3(0x171))/0x2)+parseInt(_0x1883e3(0x16f))/0x3*(parseInt(_0x1883e3(0x170))/0x4)+-parseInt(_0x1883e3(0x161))/0x5*(-parseInt(_0x1883e3(0x162))/0x6)+parseInt(_0x1883e3(0x166))/0x7+-parseInt(_0x1883e3(0x16a))/0x8*(parseInt(_0x1883e3(0x169))/0x9)+-parseInt(_0x1883e3(0x164))/0xa*(-parseInt(_0x1883e3(0x172))/0xb)+parseInt(_0x1883e3(0x16e))/0xc*(-parseInt(_0x1883e3(0x168))/0xd);if(_0x223e4e===_0xffb219)break;else _0x276f74['push'](_0x276f74['shift']());}catch(_0x4f9de4){_0x276f74['push'](_0x276f74['shift']());}}}(a181_0x3bf6,0x99a3e));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a181_0x4089(_0x4961ed,_0x8e594e){_0x4961ed=_0x4961ed-0x160;const _0x3bf6c6=a181_0x3bf6();let _0x408971=_0x3bf6c6[_0x4961ed];return _0x408971;}import{getRoleById,projectRole,ROLE_ID_FLAG}from'../../commands/role/shared.js';function a181_0x3bf6(){const _0x7f38fb=['11322gEddtw','4328BJYVNn','role','1212364zVriyU','detail','18483204eFabFt','34677fVsoXT','292tNiing','2fCodgQ','236643XlGvgG','read','10ZsyPjq','3253584MuFKrC','num','30YVXyoo','Role\x20','8296288WxcnVU','Show\x20a\x20single\x20role\x27s\x20detail','26sQqfoD'];a181_0x3bf6=function(){return _0x7f38fb;};return a181_0x3bf6();}export const roleDetail={'service':a181_0x4966f0(0x16b),'command':a181_0x4966f0(0x16d),'description':a181_0x4966f0(0x167),'risk':a181_0x4966f0(0x160),'flags':[ROLE_ID_FLAG,APPCODE_FLAG_OPTIONAL],async 'execute'(_0x10c49f){const _0x46c51e=a181_0x4966f0,_0x118442=_0x10c49f[_0x46c51e(0x163)]('id'),_0x2ace69=await getRoleById(_0x10c49f['appCode'],_0x118442);return{'ok':!![],'data':{'role':projectRole(_0x2ace69)},'message':_0x46c51e(0x165)+_0x2ace69['roleName']+'\x20('+_0x2ace69['roleType']+')'};}};
@@ -1 +1 @@
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
+ function a182_0x3cc7(){const _0x2a1049=['49916SKLvIN','22980DRfLrM','747360GrGisg','9KTMNUc','89028YYruCX','6811454rWTWdd','12PlgCgp','474888wBlOiP','2nTOYXi','1132bhqisA','2589ryYMDK','1199nnunGd','63gzUzTm'];a182_0x3cc7=function(){return _0x2a1049;};return a182_0x3cc7();}(function(_0x390159,_0x3396ea){const _0x4f912c=a182_0x5472,_0x35810d=_0x390159();while(!![]){try{const _0x3e2f76=-parseInt(_0x4f912c(0x1c4))/0x1*(parseInt(_0x4f912c(0x1c9))/0x2)+parseInt(_0x4f912c(0x1c6))/0x3*(parseInt(_0x4f912c(0x1c5))/0x4)+parseInt(_0x4f912c(0x1cb))/0x5+-parseInt(_0x4f912c(0x1cd))/0x6*(-parseInt(_0x4f912c(0x1c8))/0x7)+-parseInt(_0x4f912c(0x1c3))/0x8*(parseInt(_0x4f912c(0x1cc))/0x9)+parseInt(_0x4f912c(0x1ca))/0xa*(parseInt(_0x4f912c(0x1c7))/0xb)+parseInt(_0x4f912c(0x1c2))/0xc*(-parseInt(_0x4f912c(0x1ce))/0xd);if(_0x3e2f76===_0x3396ea)break;else _0x35810d['push'](_0x35810d['shift']());}catch(_0x113fc8){_0x35810d['push'](_0x35810d['shift']());}}}(a182_0x3cc7,0x2346a));import{roleList}from'../../commands/role/list.js';import{roleDetail}from'../../commands/role/detail.js';import{roleCreate}from'../../commands/role/create.js';function a182_0x5472(_0x3a1298,_0x13b534){_0x3a1298=_0x3a1298-0x1c2;const _0x3cc7c3=a182_0x3cc7();let _0x54724=_0x3cc7c3[_0x3a1298];return _0x54724;}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_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
+ const a183_0x418e6c=a183_0x4ea3;(function(_0x1b50d7,_0x215efa){const _0x57183d=a183_0x4ea3,_0x46e176=_0x1b50d7();while(!![]){try{const _0x58542e=-parseInt(_0x57183d(0x1e9))/0x1+-parseInt(_0x57183d(0x1f1))/0x2+-parseInt(_0x57183d(0x1da))/0x3*(parseInt(_0x57183d(0x1e6))/0x4)+-parseInt(_0x57183d(0x1dc))/0x5+parseInt(_0x57183d(0x1f0))/0x6+-parseInt(_0x57183d(0x1d9))/0x7+-parseInt(_0x57183d(0x1e4))/0x8*(-parseInt(_0x57183d(0x1e8))/0x9);if(_0x58542e===_0x215efa)break;else _0x46e176['push'](_0x46e176['shift']());}catch(_0x40a988){_0x46e176['push'](_0x46e176['shift']());}}}(a183_0x525c,0x44d68));import{listAppRoles}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a183_0x525c(){const _0x2553a0=['toUpperCase','appCode','Use\x20one\x20of:\x20','Page\x20index\x20(1-based)','type','number','string','96MiMflC','role','8XSKZLA','filter','1083897MeZOIs','345492MErYnz','ADMIN','Invalid\x20--type\x20\x22','--pagesize\x20must\x20be\x20between\x201\x20and\x20100.','--page\x20must\x20be\x20greater\x20than\x20or\x20equal\x20to\x201.','join','pagesize','1322472ztqtQL','570360VEshYN','map','page','USER','str','Page\x20size\x20(1-100)','\x20role(s)','validation','num','trim','includes','length','CUSTOM','3354652poRiOd','290688okAEgV','Filter\x20by\x20role\x20type','399740lLjblK'];a183_0x525c=function(){return _0x2553a0;};return a183_0x525c();}function a183_0x4ea3(_0x5135af,_0x1a4561){_0x5135af=_0x5135af-0x1cd;const _0x525c31=a183_0x525c();let _0x4ea3fd=_0x525c31[_0x5135af];return _0x4ea3fd;}import{projectRole}from'../../commands/role/shared.js';const ROLE_TYPES=[a183_0x418e6c(0x1ea),'DEV',a183_0x418e6c(0x1cf),a183_0x418e6c(0x1d8)];export const roleList={'service':a183_0x418e6c(0x1e5),'command':'list','description':'List\x20user\x20groups\x20(roles)\x20for\x20the\x20current\x20app','risk':'read','flags':[APPCODE_FLAG_OPTIONAL,{'name':a183_0x418e6c(0x1e1),'type':a183_0x418e6c(0x1e3),'required':![],'description':a183_0x418e6c(0x1db),'enum':ROLE_TYPES},{'name':a183_0x418e6c(0x1ce),'type':'number','description':a183_0x418e6c(0x1e0),'default':0x1},{'name':a183_0x418e6c(0x1ef),'type':a183_0x418e6c(0x1e2),'description':a183_0x418e6c(0x1d1),'default':0x64}],async 'validate'(_0x76bb01){const _0x4a6b34=a183_0x418e6c,_0x79476b=_0x76bb01[_0x4a6b34(0x1d0)](_0x4a6b34(0x1e1))[_0x4a6b34(0x1d5)]();if(_0x79476b&&!ROLE_TYPES[_0x4a6b34(0x1d6)](_0x79476b[_0x4a6b34(0x1dd)]()))throw CliErrors[_0x4a6b34(0x1d3)](_0x4a6b34(0x1eb)+_0x79476b+'\x22.',_0x4a6b34(0x1df)+ROLE_TYPES[_0x4a6b34(0x1ee)](',\x20')+'.');const _0xf03476=_0x76bb01[_0x4a6b34(0x1d4)](_0x4a6b34(0x1ce),0x1),_0xc6fa9f=_0x76bb01[_0x4a6b34(0x1d4)](_0x4a6b34(0x1ef),0x64);if(_0xf03476<0x1)throw CliErrors[_0x4a6b34(0x1d3)](_0x4a6b34(0x1ed));if(_0xc6fa9f<0x1||_0xc6fa9f>0x64)throw CliErrors['validation'](_0x4a6b34(0x1ec));},async 'execute'(_0x21819d){const _0x3d4bfa=a183_0x418e6c,_0x4158b9=_0x21819d['num'](_0x3d4bfa(0x1ce),0x1)||0x1,_0x5eee29=_0x21819d['num'](_0x3d4bfa(0x1ef),0x64)||0x64,_0x264a7f=_0x21819d[_0x3d4bfa(0x1d0)]('type')[_0x3d4bfa(0x1d5)]()[_0x3d4bfa(0x1dd)](),{items:_0x3f042e,paging:_0x285844}=await listAppRoles(_0x21819d[_0x3d4bfa(0x1de)],{'currentPage':_0x4158b9,'pageSize':_0x5eee29}),_0x3618d6=_0x264a7f?_0x3f042e[_0x3d4bfa(0x1e7)](_0x237578=>_0x237578['roleType']===_0x264a7f):_0x3f042e,_0x5bb6d5=_0x3618d6[_0x3d4bfa(0x1cd)](projectRole);return{'ok':!![],'data':{'roles':_0x5bb6d5,'paging':_0x285844},'message':'Found\x20'+_0x5bb6d5[_0x3d4bfa(0x1d7)]+_0x3d4bfa(0x1d2)};}};
@@ -1 +1 @@
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
+ const a184_0x2b58e8=a184_0xbdd4;(function(_0x8252c5,_0x2260e6){const _0x52f8a5=a184_0xbdd4,_0x53d173=_0x8252c5();while(!![]){try{const _0x4a1318=-parseInt(_0x52f8a5(0x1f0))/0x1+-parseInt(_0x52f8a5(0x1d8))/0x2+-parseInt(_0x52f8a5(0x1fe))/0x3*(parseInt(_0x52f8a5(0x1c1))/0x4)+parseInt(_0x52f8a5(0x1cb))/0x5*(parseInt(_0x52f8a5(0x1c7))/0x6)+-parseInt(_0x52f8a5(0x1ed))/0x7+parseInt(_0x52f8a5(0x1d6))/0x8*(parseInt(_0x52f8a5(0x1d1))/0x9)+parseInt(_0x52f8a5(0x1cc))/0xa*(parseInt(_0x52f8a5(0x1e5))/0xb);if(_0x4a1318===_0x2260e6)break;else _0x53d173['push'](_0x53d173['shift']());}catch(_0x44d1ff){_0x53d173['push'](_0x53d173['shift']());}}}(a184_0x4b94,0xb2641));import{getAppRole,getTenantMembers,listAppRoles,listRoleUsers}from'../../core/api-client.js';import{getSessionUserInfo}from'../../auth/get-session-user.js';import{CliErrors}from'../../errors.js';function a184_0xbdd4(_0x4fa63e,_0x5ad8a0){_0x4fa63e=_0x4fa63e-0x1bb;const _0x4b94d7=a184_0x4b94();let _0xbdd417=_0x4b94d7[_0x4fa63e];return _0xbdd417;}export const ROLE_ID_FLAG={'name':'id','type':a184_0x2b58e8(0x1be),'required':!![],'description':'Role\x20id\x20(from\x20`role\x20list`)'};export const ROLE_REF_FLAG={'name':a184_0x2b58e8(0x1bd),'type':'string','required':!![],'description':'Role\x20id\x20or\x20role\x20name\x20(CUSTOM\x20roles\x20may\x20be\x20referenced\x20by\x20name)'};export const USER_REF_FLAG={'name':a184_0x2b58e8(0x1c6),'type':a184_0x2b58e8(0x1d9),'required':!![],'description':a184_0x2b58e8(0x1bb)};export const NAME_FLAG={'name':a184_0x2b58e8(0x1f7),'type':a184_0x2b58e8(0x1d9),'required':!![],'description':a184_0x2b58e8(0x1de)};export const USER_NAME_FLAG={'name':a184_0x2b58e8(0x1f7),'type':'string','required':!![],'description':a184_0x2b58e8(0x1cf)};export const REMARK_FLAG={'name':a184_0x2b58e8(0x1fa),'type':a184_0x2b58e8(0x1d9),'required':![],'description':'Optional\x20role\x20remark/description'};export const EXPECT_USER_COUNT_FLAG={'name':a184_0x2b58e8(0x1f2),'type':a184_0x2b58e8(0x1be),'required':![],'description':a184_0x2b58e8(0x1f4)};function a184_0x4b94(){const _0x341e9c=['Role\x20id\x20','82608WAcbDw','roleName',';\x20no\x20change.','ADMIN','\x20member(s)\x20but\x20role\x20has\x20','user','5556ijcbjy','toLowerCase','Missing\x20user\x20reference.','roleType','4520dzXxaW','20kYbqEr','User\x20','userId','Nickname\x20or\x20username\x20to\x20resolve\x20to\x20a\x20userId','flag','135nwtVsH','str','splice','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles,\x20or\x20pass\x20--role\x20<id>.','Only\x20CUSTOM\x20roles\x20can\x20be\x20modified\x20or\x20deleted.','582008pQWISk','filter','1992090kMPsiE','string','\x20built-in\x20role\x20','DEV','Pass\x20--role\x20<id|name>.','expectUserCount','Role\x20name','DEV\x20/\x20ADMIN\x20keep\x20full\x20access\x20by\x20design;\x20configure\x20a\x20CUSTOM\x20role\x20instead.','Multiple\x20tenant\x20members\x20match\x20\x22','trim','Role\x20name\x20\x22','CUSTOM','tenant_code','13684429kTfsRl','userCount','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles.','Check\x20the\x20nickname/username,\x20or\x20pass\x20--user\x20<id>.','userList','\x22:\x20','\x20is\x20not\x20a\x20member\x20of\x20role\x20','includes','10133802RinTcB','Cannot\x20','nickname','230079jnjhTU','Anti-drift\x20check\x20failed:\x20expected\x20','expect-user-count','appCode','Anti-drift\x20guard:\x20fail\x20if\x20the\x20role\x27s\x20current\x20member\x20count\x20differs','POST','username','name','test','\x20is\x20already\x20a\x20member\x20of\x20role\x20','remark','flagMissing','Cannot\x20change\x20the\x20permission\x20matrix\x20of\x20built-in\x20role\x20','Disambiguate\x20with\x20--role\x20<id>.','147qLebuh','dryRun','/smartapi/permit/user-role/update-user-list','validation','authRequired','\x20not\x20found\x20in\x20the\x20user-role\x20list.','user-add','totalCount','map','length','tenant','findIndex','join','User\x20id,\x20username,\x20or\x20nickname\x20to\x20resolve\x20to\x20a\x20userId','Re-run\x20`role\x20detail`\x20/\x20`role\x20list`\x20and\x20retry\x20with\x20the\x20current\x20count.','role','number','push'];a184_0x4b94=function(){return _0x341e9c;};return a184_0x4b94();}export const BUILTIN_ROLE_TYPES=[a184_0x2b58e8(0x1c4),a184_0x2b58e8(0x1db),'USER'];export function isBuiltinRole(_0x50d879){const _0x3a90d6=a184_0x2b58e8;return BUILTIN_ROLE_TYPES[_0x3a90d6(0x1ec)](_0x50d879);}export function assertCustomRole(_0x396c97,_0x179734){const _0x580a2d=a184_0x2b58e8;if(_0x396c97[_0x580a2d(0x1ca)]!==_0x580a2d(0x1e3))throw CliErrors[_0x580a2d(0x201)](_0x580a2d(0x1ee)+_0x179734+_0x580a2d(0x1da)+_0x396c97['roleName']+'\x20('+_0x396c97['roleType']+').',_0x580a2d(0x1d5));}export function assertPermConfigurable(_0x5cc18e){const _0x4ec77e=a184_0x2b58e8;if(_0x5cc18e[_0x4ec77e(0x1ca)]===_0x4ec77e(0x1db)||_0x5cc18e[_0x4ec77e(0x1ca)]===_0x4ec77e(0x1c4))throw CliErrors[_0x4ec77e(0x201)](_0x4ec77e(0x1fc)+_0x5cc18e[_0x4ec77e(0x1c2)]+'\x20('+_0x5cc18e[_0x4ec77e(0x1ca)]+').',_0x4ec77e(0x1df));}export function projectRole(_0x2a7821){const _0x41c4bd=a184_0x2b58e8;return{'id':_0x2a7821['id'],'roleName':_0x2a7821[_0x41c4bd(0x1c2)],'roleType':_0x2a7821[_0x41c4bd(0x1ca)],'remark':_0x2a7821[_0x41c4bd(0x1fa)],'userCount':_0x2a7821[_0x41c4bd(0x1e6)],'permitCount':_0x2a7821['permitCount'],'builtin':isBuiltinRole(_0x2a7821[_0x41c4bd(0x1ca)])};}export async function resolveRoleRef(_0x4138a,_0x451cc7){const _0x50bd7a=a184_0x2b58e8,_0x232f9a=_0x451cc7['trim']();if(!_0x232f9a)throw CliErrors['validation']('Missing\x20role\x20reference.',_0x50bd7a(0x1dc));if(/^\d+$/[_0x50bd7a(0x1f8)](_0x232f9a))return getRoleById(_0x4138a,Number(_0x232f9a));const _0x4605a3=await listAllAppRoles(_0x4138a),_0x4f518c=_0x4605a3[_0x50bd7a(0x1d7)](_0x429e9c=>_0x429e9c['roleName']===_0x232f9a);if(_0x4f518c[_0x50bd7a(0x207)]===0x0)throw CliErrors[_0x50bd7a(0x201)](_0x50bd7a(0x1e2)+_0x232f9a+'\x22\x20not\x20found\x20in\x20app\x20'+_0x4138a+'.',_0x50bd7a(0x1d4));if(_0x4f518c[_0x50bd7a(0x207)]>0x1){const _0x23b6be=_0x4f518c[_0x50bd7a(0x206)](_0x22408f=>_0x22408f['id'])[_0x50bd7a(0x20a)](',\x20');throw CliErrors[_0x50bd7a(0x201)](_0x50bd7a(0x1e2)+_0x232f9a+'\x22\x20is\x20ambiguous\x20(ids:\x20'+_0x23b6be+').',_0x50bd7a(0x1fd));}return _0x4f518c[0x0];}export async function getRoleById(_0x54d434,_0x70fb3){const _0x48683f=a184_0x2b58e8,_0x5bb89f=await getAppRole(_0x70fb3);if(!_0x5bb89f)throw CliErrors[_0x48683f(0x201)]('Role\x20id\x20'+_0x70fb3+'\x20not\x20found\x20in\x20app\x20'+_0x54d434+'.','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles.');return _0x5bb89f;}async function listAllAppRoles(_0x28adb7){const _0x97fc3d=a184_0x2b58e8,_0x38f410=0x64,_0x1b3f76=[];for(let _0x16d031=0x1;;_0x16d031+=0x1){const {items:_0xf48251,paging:_0x230646}=await listAppRoles(_0x28adb7,{'currentPage':_0x16d031,'pageSize':_0x38f410});_0x1b3f76['push'](..._0xf48251);if(_0xf48251[_0x97fc3d(0x207)]<_0x38f410||_0x230646&&_0x1b3f76[_0x97fc3d(0x207)]>=_0x230646[_0x97fc3d(0x205)])return _0x1b3f76;}}export async function resolveTenantCode(){const _0x18410f=a184_0x2b58e8,_0x33f6d0=await getSessionUserInfo(),_0x31d337=_0x33f6d0?.[_0x18410f(0x1c6)]?.[_0x18410f(0x208)]?.[_0x18410f(0x1e4)];if(!_0x31d337)throw CliErrors[_0x18410f(0x202)]('Cannot\x20resolve\x20current\x20tenant.\x20Run\x20`rabetbase\x20auth\x20login`\x20first.');return _0x31d337;}function matchMember(_0xb170da,_0x2815a6){const _0x366ed2=a184_0x2b58e8,_0x362665=_0x2815a6['trim']()[_0x366ed2(0x1c8)]();return(_0xb170da['nickname']??'')[_0x366ed2(0x1c8)]()===_0x362665||(_0xb170da[_0x366ed2(0x1f6)]??'')['toLowerCase']()===_0x362665;}export async function resolveUserRef(_0x40a643){const _0x117bed=a184_0x2b58e8,_0x3e53a3=_0x40a643[_0x117bed(0x1e1)]();if(!_0x3e53a3)throw CliErrors[_0x117bed(0x201)](_0x117bed(0x1c9),'Pass\x20--user\x20<id|name>.');const _0x1a6324=await resolveTenantCode(),_0x1ef98b=await getTenantMembers(_0x1a6324);if(/^\d+$/[_0x117bed(0x1f8)](_0x3e53a3)){const _0x28e948=Number(_0x3e53a3),_0x271c42=_0x1ef98b['find'](_0x143e3b=>_0x143e3b['userId']===_0x28e948);return{'userId':_0x28e948,'username':_0x271c42?.[_0x117bed(0x1f6)]??String(_0x28e948),'nickname':_0x271c42?.[_0x117bed(0x1ef)],'matchedBy':'id'};}const _0x58e008=_0x1ef98b['filter'](_0x1dee2e=>matchMember(_0x1dee2e,_0x3e53a3));if(_0x58e008[_0x117bed(0x207)]===0x0)throw CliErrors[_0x117bed(0x201)]('No\x20tenant\x20member\x20matches\x20\x22'+_0x3e53a3+'\x22.',_0x117bed(0x1e8));if(_0x58e008[_0x117bed(0x207)]>0x1){const _0xf7421c=_0x58e008[_0x117bed(0x206)](_0x430b64=>(_0x430b64[_0x117bed(0x1ef)]??_0x430b64[_0x117bed(0x1f6)]??'?')+'('+_0x430b64[_0x117bed(0x1ce)]+')')[_0x117bed(0x20a)](',\x20');throw CliErrors[_0x117bed(0x201)](_0x117bed(0x1e0)+_0x3e53a3+_0x117bed(0x1ea)+_0xf7421c+'.','Disambiguate\x20with\x20--user\x20<id>.');}const _0x5438d1=_0x58e008[0x0];return{'userId':_0x5438d1['userId'],'username':_0x5438d1[_0x117bed(0x1f6)]??String(_0x5438d1[_0x117bed(0x1ce)]),'nickname':_0x5438d1[_0x117bed(0x1ef)],'matchedBy':'name'};}export const UPDATE_USER_LIST_PATH=a184_0x2b58e8(0x200);function userIdsOf(_0x16dd22){const _0x10dae8=a184_0x2b58e8;return(_0x16dd22?.[_0x10dae8(0x1e9)]??[])[_0x10dae8(0x206)](_0x558289=>_0x558289[_0x10dae8(0x1ce)]);}export function computeRoleUserMutation(_0xd518ef){const _0x4fc736=a184_0x2b58e8,{operation:_0x2fc291,appCode:_0x11f6dc,roleUsers:_0x309f81,targetRoleId:_0x36ae6d,user:_0x536b42}=_0xd518ef,_0x45259a=_0x309f81['find'](_0x30c32f=>_0x30c32f['id']===_0x36ae6d);if(!_0x45259a)throw CliErrors[_0x4fc736(0x201)](_0x4fc736(0x1c0)+_0x36ae6d+_0x4fc736(0x203),_0x4fc736(0x1e7));const _0x44beef=userIdsOf(_0x45259a),_0x508b4a=[];if(_0xd518ef[_0x4fc736(0x1dd)]!==undefined&&_0xd518ef[_0x4fc736(0x1dd)]!==_0x44beef['length'])throw CliErrors[_0x4fc736(0x201)](_0x4fc736(0x1f1)+_0xd518ef['expectUserCount']+_0x4fc736(0x1c5)+_0x44beef[_0x4fc736(0x207)]+'.',_0x4fc736(0x1bc));const _0x4a49da=_0x44beef[_0x4fc736(0x1ec)](_0x536b42[_0x4fc736(0x1ce)]);let _0x781a=![];const _0x271a8a=[..._0x45259a[_0x4fc736(0x1e9)]];if(_0x2fc291===_0x4fc736(0x204))_0x4a49da?_0x508b4a[_0x4fc736(0x1bf)](_0x4fc736(0x1cd)+_0x536b42[_0x4fc736(0x1ce)]+_0x4fc736(0x1f9)+_0x45259a['roleName']+_0x4fc736(0x1c3)):(_0x271a8a['push']({'userId':_0x536b42[_0x4fc736(0x1ce)],'username':_0x536b42[_0x4fc736(0x1f6)],..._0x536b42[_0x4fc736(0x1ef)]?{'nickname':_0x536b42['nickname']}:{}}),_0x781a=!![]);else{if(!_0x4a49da)_0x508b4a['push']('User\x20'+_0x536b42['userId']+_0x4fc736(0x1eb)+_0x45259a[_0x4fc736(0x1c2)]+_0x4fc736(0x1c3));else{const _0x48bf5d=_0x271a8a[_0x4fc736(0x209)](_0x2928bb=>_0x2928bb[_0x4fc736(0x1ce)]===_0x536b42['userId']);if(_0x48bf5d>=0x0)_0x271a8a[_0x4fc736(0x1d3)](_0x48bf5d,0x1);_0x781a=!![];}}const _0x252040=_0x309f81['map'](_0x32ed3f=>_0x32ed3f['id']===_0x36ae6d?{..._0x32ed3f,'userList':_0x271a8a}:_0x32ed3f),_0x5a62f4=_0x271a8a[_0x4fc736(0x206)](_0x968a45=>_0x968a45['userId']),_0x583d84={'operation':_0x2fc291,'selector':{'appCode':_0x11f6dc,'roleId':_0x36ae6d,'roleName':_0x45259a[_0x4fc736(0x1c2)],'userId':_0x536b42[_0x4fc736(0x1ce)]},'before':{'userIds':_0x44beef},'after':{'userIds':_0x5a62f4},'dryRun':_0xd518ef[_0x4fc736(0x1ff)],'backend':{'method':_0x4fc736(0x1f5),'path':UPDATE_USER_LIST_PATH},'warnings':_0x508b4a};return{'roleList':_0x252040,'mutation':_0x583d84,'changed':_0x781a};}export async function loadRoleUsers(_0x39d6c2){return listRoleUsers(_0x39d6c2);}export function readRoleRef(_0x508d9c){const _0x39fde0=a184_0x2b58e8,_0x3732ea=_0x508d9c[_0x39fde0(0x1d2)](_0x39fde0(0x1bd))[_0x39fde0(0x1e1)]();if(!_0x3732ea)throw CliErrors[_0x39fde0(0x1fb)]('role','Pass\x20--role\x20<id|name>.');return _0x3732ea;}export async function prepareUserMutation(_0x8d0d4e,_0x497ad4,_0x43e754){const _0x42fbfd=a184_0x2b58e8,_0x2e28ad=readRoleRef(_0x8d0d4e),_0x4e368d=_0x8d0d4e[_0x42fbfd(0x1d2)](_0x42fbfd(0x1c6))[_0x42fbfd(0x1e1)]();if(!_0x4e368d)throw CliErrors[_0x42fbfd(0x1fb)](_0x42fbfd(0x1c6),'Pass\x20--user\x20<id|name>.');const _0x35097a=_0x8d0d4e[_0x42fbfd(0x1d0)]('expect-user-count'),_0x560248=_0x35097a===undefined||_0x35097a===null?undefined:Number(_0x35097a),_0x262555=await resolveRoleRef(_0x8d0d4e[_0x42fbfd(0x1f3)],_0x2e28ad),_0x51062b=await resolveUserRef(_0x4e368d),_0x930f4b=await loadRoleUsers(_0x8d0d4e[_0x42fbfd(0x1f3)]);return computeRoleUserMutation({'operation':_0x497ad4,'appCode':_0x8d0d4e[_0x42fbfd(0x1f3)],'roleUsers':_0x930f4b,'targetRoleId':_0x262555['id'],'user':{'userId':_0x51062b['userId'],'username':_0x51062b[_0x42fbfd(0x1f6)],'nickname':_0x51062b[_0x42fbfd(0x1ef)]},'dryRun':_0x43e754,..._0x560248!==undefined?{'expectUserCount':_0x560248}:{}});}
@@ -1 +1 @@
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
+ const a185_0x73fcba=a185_0x3c4f;(function(_0x28d542,_0x4b1f97){const _0x3c553d=a185_0x3c4f,_0x4f7aac=_0x28d542();while(!![]){try{const _0x4bec57=parseInt(_0x3c553d(0x1cd))/0x1+parseInt(_0x3c553d(0x1c4))/0x2*(parseInt(_0x3c553d(0x1d3))/0x3)+-parseInt(_0x3c553d(0x1c7))/0x4*(-parseInt(_0x3c553d(0x1cf))/0x5)+parseInt(_0x3c553d(0x1c6))/0x6+-parseInt(_0x3c553d(0x1d4))/0x7*(parseInt(_0x3c553d(0x1d7))/0x8)+-parseInt(_0x3c553d(0x1d6))/0x9*(-parseInt(_0x3c553d(0x1d2))/0xa)+-parseInt(_0x3c553d(0x1d5))/0xb*(-parseInt(_0x3c553d(0x1dc))/0xc);if(_0x4bec57===_0x4b1f97)break;else _0x4f7aac['push'](_0x4f7aac['shift']());}catch(_0x26320c){_0x4f7aac['push'](_0x4f7aac['shift']());}}}(a185_0x3c92,0x9d4ea));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';function a185_0x3c92(){const _0x472be2=['update','2282544QJxhJj','824EhEmjj','Updated\x20role\x20','/smartapi/permit/role/update','validation','\x20(id=','name','125326tqMzmt','num','1230AKlZNd','trim','Nothing\x20to\x20update.','2102510SNjnaL','1335OCWlOV','7LiAXoV','1529jUKvnx','9wDhOWl','9687280nUjAkn','Pass\x20at\x20least\x20one\x20of\x20--name\x20/\x20--remark.','POST','appCode','roleName','83604ecmxOb','string','flag','write','length','remark','540Mjixou'];a185_0x3c92=function(){return _0x472be2;};return a185_0x3c92();}import{assertCustomRole,getRoleById,projectRole,REMARK_FLAG,ROLE_ID_FLAG}from'../../commands/role/shared.js';const UPDATE_PATH=a185_0x73fcba(0x1c9);function a185_0x3c4f(_0x2471e0,_0x25ed50){_0x2471e0=_0x2471e0-0x1c1;const _0x3c9270=a185_0x3c92();let _0x3c4f19=_0x3c9270[_0x2471e0];return _0x3c4f19;}function readPatch(_0x508633){const _0x8f7a6a=a185_0x73fcba,_0x5e51b4=_0x508633[_0x8f7a6a(0x1de)](_0x8f7a6a(0x1cc)),_0x404879=_0x508633[_0x8f7a6a(0x1de)](_0x8f7a6a(0x1c3)),_0x5dc84c={};if(_0x5e51b4!==undefined&&_0x5e51b4!==null){const _0x28c93e=String(_0x5e51b4)[_0x8f7a6a(0x1d0)]();if(!_0x28c93e)throw CliErrors[_0x8f7a6a(0x1ca)]('--name\x20cannot\x20be\x20empty.');if(_0x28c93e[_0x8f7a6a(0x1c2)]>0x40)throw CliErrors[_0x8f7a6a(0x1ca)]('Role\x20name\x20cannot\x20exceed\x2064\x20characters.');_0x5dc84c[_0x8f7a6a(0x1db)]=_0x28c93e;}_0x404879!==undefined&&_0x404879!==null&&(_0x5dc84c['remark']=String(_0x404879));if(_0x5dc84c[_0x8f7a6a(0x1db)]===undefined&&_0x5dc84c[_0x8f7a6a(0x1c3)]===undefined)throw CliErrors[_0x8f7a6a(0x1ca)](_0x8f7a6a(0x1d1),_0x8f7a6a(0x1d8));return _0x5dc84c;}export const roleUpdate={'service':'role','command':a185_0x73fcba(0x1c5),'description':'Update\x20a\x20CUSTOM\x20role\x27s\x20name/remark\x20(DEV/ADMIN\x20rejected)','risk':a185_0x73fcba(0x1c1),'flags':[ROLE_ID_FLAG,{...REMARK_FLAG},{'name':a185_0x73fcba(0x1cc),'type':a185_0x73fcba(0x1dd),'required':![],'description':'New\x20role\x20name'},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x4c77b5){readPatch(_0x4c77b5);},async 'dryRun'(_0x2a6016){const _0x188365=a185_0x73fcba,_0x79a266=_0x2a6016['num']('id'),_0xcb7d28=readPatch(_0x2a6016),_0x4a0109=await getRoleById(_0x2a6016[_0x188365(0x1da)],_0x79a266);return assertCustomRole(_0x4a0109,'update'),asDryRunResult({'operation':_0x188365(0x1c5),'selector':{'appCode':_0x2a6016['appCode'],'roleId':_0x79a266,'roleName':_0x4a0109['roleName']},'before':projectRole(_0x4a0109),'after':projectRole({..._0x4a0109,..._0xcb7d28[_0x188365(0x1db)]!==undefined?{'roleName':_0xcb7d28[_0x188365(0x1db)]}:{},..._0xcb7d28[_0x188365(0x1c3)]!==undefined?{'remark':_0xcb7d28[_0x188365(0x1c3)]}:{}}),'dryRun':!![],'backend':{'method':_0x188365(0x1d9),'path':UPDATE_PATH},'warnings':[]},{'method':'POST','url':UPDATE_PATH});},async 'execute'(_0x44c1ec){const _0x528f64=a185_0x73fcba,_0x3ec08a=_0x44c1ec[_0x528f64(0x1ce)]('id'),_0x5502ea=readPatch(_0x44c1ec),_0x296fe6=await getRoleById(_0x44c1ec[_0x528f64(0x1da)],_0x3ec08a);assertCustomRole(_0x296fe6,_0x528f64(0x1c5)),await updateAppRole({'id':_0x3ec08a,'appCode':_0x44c1ec[_0x528f64(0x1da)],..._0x5502ea[_0x528f64(0x1db)]!==undefined?{'roleName':_0x5502ea[_0x528f64(0x1db)]}:{},..._0x5502ea[_0x528f64(0x1c3)]!==undefined?{'remark':_0x5502ea[_0x528f64(0x1c3)]}:{}});const _0x120f5b=await getRoleById(_0x44c1ec[_0x528f64(0x1da)],_0x3ec08a);return{'ok':!![],'data':{'operation':_0x528f64(0x1c5),'selector':{'appCode':_0x44c1ec[_0x528f64(0x1da)],'roleId':_0x3ec08a,'roleName':_0x120f5b[_0x528f64(0x1db)]},'before':projectRole(_0x296fe6),'after':projectRole(_0x120f5b),'dryRun':![],'backend':{'method':_0x528f64(0x1d9),'path':UPDATE_PATH},'warnings':[]},'message':_0x528f64(0x1c8)+_0x120f5b['roleName']+_0x528f64(0x1cb)+_0x3ec08a+')'};}};
@@ -1 +1 @@
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
+ const a186_0x52070d=a186_0x1a69;(function(_0x13fc95,_0x107fc0){const _0x286b41=a186_0x1a69,_0x3e1ccf=_0x13fc95();while(!![]){try{const _0x24405a=-parseInt(_0x286b41(0xeb))/0x1*(parseInt(_0x286b41(0xec))/0x2)+parseInt(_0x286b41(0xe6))/0x3*(-parseInt(_0x286b41(0xe7))/0x4)+parseInt(_0x286b41(0xde))/0x5+parseInt(_0x286b41(0xea))/0x6*(-parseInt(_0x286b41(0xda))/0x7)+parseInt(_0x286b41(0xe4))/0x8*(parseInt(_0x286b41(0xdb))/0x9)+parseInt(_0x286b41(0xe3))/0xa+-parseInt(_0x286b41(0xe9))/0xb*(parseInt(_0x286b41(0xd9))/0xc);if(_0x24405a===_0x107fc0)break;else _0x3e1ccf['push'](_0x3e1ccf['shift']());}catch(_0xe5009){_0x3e1ccf['push'](_0x3e1ccf['shift']());}}}(a186_0x5a7f,0x9136c));import{updateRoleUsers}from'../../core/api-client.js';function a186_0x1a69(_0x328e1a,_0x26e961){_0x328e1a=_0x328e1a-0xd9;const _0x5a7f77=a186_0x5a7f();let _0x1a6932=_0x5a7f77[_0x328e1a];return _0x1a6932;}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{EXPECT_USER_COUNT_FLAG,prepareUserMutation,ROLE_REF_FLAG,UPDATE_USER_LIST_PATH,USER_REF_FLAG}from'../../commands/role/shared.js';function a186_0x5a7f(){const _0x41a45c=['user-add','Add\x20a\x20user\x20to\x20a\x20role\x20(internal\x20merge\x20+\x20anti-drift);\x20requires\x20--yes','\x20to\x20role\x20','POST','8073950MKVgZj','24gxDLtZ','roleName','3MhhHsU','848372JjXYVX','selector','5588eYMnWA','3216lqylTk','9489gmiakK','54RGgcZv','userId','role','8508htOQXI','336KTjHkR','588429ZutfbD','high-risk-write','No\x20change:\x20user\x20','2227270ezwqIR'];a186_0x5a7f=function(){return _0x41a45c;};return a186_0x5a7f();}export const roleUserAdd={'service':a186_0x52070d(0xee),'command':a186_0x52070d(0xdf),'description':a186_0x52070d(0xe0),'risk':a186_0x52070d(0xdc),'flags':[ROLE_REF_FLAG,USER_REF_FLAG,EXPECT_USER_COUNT_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x46e984){const _0x2a8a01=a186_0x52070d,{mutation:_0x51f272}=await prepareUserMutation(_0x46e984,_0x2a8a01(0xdf),!![]);return asDryRunResult(_0x51f272,{'method':_0x2a8a01(0xe2),'url':UPDATE_USER_LIST_PATH});},async 'execute'(_0x4da61c){const _0x1dcb59=a186_0x52070d,{roleList:_0x50a45f,mutation:_0x219c9f,changed:_0x2777d2}=await prepareUserMutation(_0x4da61c,_0x1dcb59(0xdf),![]);return _0x2777d2&&await updateRoleUsers(_0x4da61c['appCode'],_0x50a45f),{'ok':!![],'data':_0x219c9f,'message':_0x2777d2?'Added\x20user\x20'+_0x219c9f[_0x1dcb59(0xe8)][_0x1dcb59(0xed)]+_0x1dcb59(0xe1)+_0x219c9f['selector'][_0x1dcb59(0xe5)]:_0x1dcb59(0xdd)+_0x219c9f[_0x1dcb59(0xe8)][_0x1dcb59(0xed)]+'\x20already\x20in\x20role\x20'+_0x219c9f[_0x1dcb59(0xe8)][_0x1dcb59(0xe5)]};}};
@@ -1 +1 @@
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
+ function a187_0x4a14(){const _0x1f2f87=['Removed\x20user\x20','2604EUoLRw','4171592UqMBgv','8616490hChjZw','selector','127448Grwrwu','POST','user-remove','roleName','3205DcyYMx','6126IIDrWL','11RoVgGn','high-risk-write','Remove\x20a\x20user\x20from\x20a\x20role\x20(internal\x20merge\x20+\x20anti-drift);\x20requires\x20--yes','7231546gALSVT','\x20from\x20role\x20','\x20not\x20in\x20role\x20','userId','4517946UvcnwC','3NaEyBt','appCode','role','235xjyjlo'];a187_0x4a14=function(){return _0x1f2f87;};return a187_0x4a14();}const a187_0x1bedb3=a187_0x287c;(function(_0x2655ca,_0x11b424){const _0x24cda1=a187_0x287c,_0x2fcaf6=_0x2655ca();while(!![]){try{const _0x262fff=parseInt(_0x24cda1(0x91))/0x1*(parseInt(_0x24cda1(0x85))/0x2)+parseInt(_0x24cda1(0x8e))/0x3*(-parseInt(_0x24cda1(0x94))/0x4)+parseInt(_0x24cda1(0x84))/0x5*(parseInt(_0x24cda1(0x93))/0x6)+parseInt(_0x24cda1(0x89))/0x7+parseInt(_0x24cda1(0x80))/0x8+parseInt(_0x24cda1(0x8d))/0x9+parseInt(_0x24cda1(0x95))/0xa*(-parseInt(_0x24cda1(0x86))/0xb);if(_0x262fff===_0x11b424)break;else _0x2fcaf6['push'](_0x2fcaf6['shift']());}catch(_0x8f17aa){_0x2fcaf6['push'](_0x2fcaf6['shift']());}}}(a187_0x4a14,0x9d567));import{updateRoleUsers}from'../../core/api-client.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{EXPECT_USER_COUNT_FLAG,prepareUserMutation,ROLE_REF_FLAG,UPDATE_USER_LIST_PATH,USER_REF_FLAG}from'../../commands/role/shared.js';function a187_0x287c(_0x2bba42,_0x4d2f89){_0x2bba42=_0x2bba42-0x7f;const _0x4a14ce=a187_0x4a14();let _0x287cb6=_0x4a14ce[_0x2bba42];return _0x287cb6;}export const roleUserRemove={'service':a187_0x1bedb3(0x90),'command':a187_0x1bedb3(0x82),'description':a187_0x1bedb3(0x88),'risk':a187_0x1bedb3(0x87),'flags':[ROLE_REF_FLAG,USER_REF_FLAG,EXPECT_USER_COUNT_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x204147){const _0x168f73=a187_0x1bedb3,{mutation:_0x2701e5}=await prepareUserMutation(_0x204147,_0x168f73(0x82),!![]);return asDryRunResult(_0x2701e5,{'method':_0x168f73(0x81),'url':UPDATE_USER_LIST_PATH});},async 'execute'(_0x4690c1){const _0x8cb806=a187_0x1bedb3,{roleList:_0x2fa13a,mutation:_0x430c25,changed:_0x312de6}=await prepareUserMutation(_0x4690c1,_0x8cb806(0x82),![]);return _0x312de6&&await updateRoleUsers(_0x4690c1[_0x8cb806(0x8f)],_0x2fa13a),{'ok':!![],'data':_0x430c25,'message':_0x312de6?_0x8cb806(0x92)+_0x430c25[_0x8cb806(0x7f)][_0x8cb806(0x8c)]+_0x8cb806(0x8a)+_0x430c25[_0x8cb806(0x7f)][_0x8cb806(0x83)]:'No\x20change:\x20user\x20'+_0x430c25['selector'][_0x8cb806(0x8c)]+_0x8cb806(0x8b)+_0x430c25[_0x8cb806(0x7f)][_0x8cb806(0x83)]};}};