@lovrabet/rabetbase-cli 2.5.0 → 2.5.1-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (332) 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/api/generate-sdk-config-file.js +1 -1
  5. package/lib/auth/auth-server-ui.js +1 -1
  6. package/lib/auth/auth-server.d.ts +7 -0
  7. package/lib/auth/auth-server.js +1 -1
  8. package/lib/auth/constant.js +1 -1
  9. package/lib/auth/get-cookie.js +1 -1
  10. package/lib/auth/get-session-user.js +1 -1
  11. package/lib/auth/is-session-valid.js +1 -1
  12. package/lib/auth/login-success-html.js +1 -1
  13. package/lib/auth/logout.js +1 -1
  14. package/lib/cli-flags.js +1 -1
  15. package/lib/cli.js +1 -1
  16. package/lib/commands/api/generate.js +1 -1
  17. package/lib/commands/api/index.js +1 -1
  18. package/lib/commands/api/list.js +1 -1
  19. package/lib/commands/api/pull.js +1 -1
  20. package/lib/commands/api/shared.js +1 -1
  21. package/lib/commands/app/index.js +1 -1
  22. package/lib/commands/app/list.js +1 -1
  23. package/lib/commands/app/members-list.js +1 -1
  24. package/lib/commands/app/remote-directory.js +1 -1
  25. package/lib/commands/app/shared.js +1 -1
  26. package/lib/commands/app-config/delete.js +1 -1
  27. package/lib/commands/app-config/get.js +1 -1
  28. package/lib/commands/app-config/index.js +1 -1
  29. package/lib/commands/app-config/list.js +1 -1
  30. package/lib/commands/app-config/set.js +1 -1
  31. package/lib/commands/app-config/shared.js +1 -1
  32. package/lib/commands/auth/index.js +1 -1
  33. package/lib/commands/bff/create.js +1 -1
  34. package/lib/commands/bff/delete.js +1 -1
  35. package/lib/commands/bff/detail.js +1 -1
  36. package/lib/commands/bff/index.js +1 -1
  37. package/lib/commands/bff/list.js +1 -1
  38. package/lib/commands/bff/pull.js +1 -1
  39. package/lib/commands/bff/push.js +1 -1
  40. package/lib/commands/bff/status.js +1 -1
  41. package/lib/commands/cli-skill/index.js +1 -1
  42. package/lib/commands/cli-update.js +1 -1
  43. package/lib/commands/codegen/index.js +1 -1
  44. package/lib/commands/codegen/sdk.js +1 -1
  45. package/lib/commands/codegen/sql.js +1 -1
  46. package/lib/commands/common/app-registry.js +1 -1
  47. package/lib/commands/common/app-selector.js +1 -1
  48. package/lib/commands/common/async-task.js +1 -1
  49. package/lib/commands/common/dry-run.js +1 -1
  50. package/lib/commands/common/flags.js +1 -1
  51. package/lib/commands/common/local-file.js +1 -1
  52. package/lib/commands/common/validate.js +1 -1
  53. package/lib/commands/config/delete.js +1 -1
  54. package/lib/commands/config/get.js +1 -1
  55. package/lib/commands/config/index.js +1 -1
  56. package/lib/commands/config/init.d.ts +1 -1
  57. package/lib/commands/config/init.js +1 -1
  58. package/lib/commands/config/list.js +1 -1
  59. package/lib/commands/config/set.js +1 -1
  60. package/lib/commands/config/shared.js +1 -1
  61. package/lib/commands/dataset/business-group-update.js +1 -1
  62. package/lib/commands/dataset/business-groups.js +1 -1
  63. package/lib/commands/dataset/capability.js +1 -1
  64. package/lib/commands/dataset/delete.js +1 -1
  65. package/lib/commands/dataset/detail.js +1 -1
  66. package/lib/commands/dataset/extend-update.js +1 -1
  67. package/lib/commands/dataset/field-restore.d.ts +107 -0
  68. package/lib/commands/dataset/field-restore.js +1 -0
  69. package/lib/commands/dataset/field-update.js +1 -1
  70. package/lib/commands/dataset/generate.js +1 -1
  71. package/lib/commands/dataset/index.js +1 -1
  72. package/lib/commands/dataset/list.js +1 -1
  73. package/lib/commands/dataset/operations.js +1 -1
  74. package/lib/commands/dataset/relation-audit.js +1 -1
  75. package/lib/commands/dataset/relation-create.js +1 -1
  76. package/lib/commands/dataset/relation-delete.js +1 -1
  77. package/lib/commands/dataset/relation-shared.js +1 -1
  78. package/lib/commands/dataset/relation-update.js +1 -1
  79. package/lib/commands/dataset/relations.js +1 -1
  80. package/lib/commands/dataset/rename.js +1 -1
  81. package/lib/commands/dataset/restore.js +1 -1
  82. package/lib/commands/dataset/user-deleted-field-list.d.ts +36 -0
  83. package/lib/commands/dataset/user-deleted-field-list.js +1 -0
  84. package/lib/commands/db/analysis-batching.js +1 -1
  85. package/lib/commands/db/analyze-batch-plan.js +1 -1
  86. package/lib/commands/db/analyze-cancel.js +1 -1
  87. package/lib/commands/db/analyze-start.js +1 -1
  88. package/lib/commands/db/analyze-status.js +1 -1
  89. package/lib/commands/db/create.js +1 -1
  90. package/lib/commands/db/delete.js +1 -1
  91. package/lib/commands/db/detail.js +1 -1
  92. package/lib/commands/db/diff-refresh-start.js +1 -1
  93. package/lib/commands/db/diff-refresh-status.js +1 -1
  94. package/lib/commands/db/diff.js +1 -1
  95. package/lib/commands/db/index.js +1 -1
  96. package/lib/commands/db/list.js +1 -1
  97. package/lib/commands/db/shared.js +1 -1
  98. package/lib/commands/db/table-diff-shared.js +1 -1
  99. package/lib/commands/db/tables.js +1 -1
  100. package/lib/commands/db/test.js +1 -1
  101. package/lib/commands/db/update.js +1 -1
  102. package/lib/commands/deployment/auto-sync.d.ts +28 -0
  103. package/lib/commands/deployment/auto-sync.js +1 -0
  104. package/lib/commands/deployment/index.d.ts +2 -0
  105. package/lib/commands/deployment/index.js +1 -0
  106. package/lib/commands/deployment/sync.d.ts +2 -0
  107. package/lib/commands/deployment/sync.js +1 -0
  108. package/lib/commands/doctor.js +1 -1
  109. package/lib/commands/file/index.js +1 -1
  110. package/lib/commands/issue/index.js +1 -1
  111. package/lib/commands/issue/nudge.js +1 -1
  112. package/lib/commands/issue/report.js +1 -1
  113. package/lib/commands/issue/shared.js +1 -1
  114. package/lib/commands/kb/create.js +1 -1
  115. package/lib/commands/kb/delete.js +1 -1
  116. package/lib/commands/kb/detail.js +1 -1
  117. package/lib/commands/kb/index.js +1 -1
  118. package/lib/commands/kb/list.js +1 -1
  119. package/lib/commands/kb/search.js +1 -1
  120. package/lib/commands/kb/shared.js +1 -1
  121. package/lib/commands/kb/update.js +1 -1
  122. package/lib/commands/logs/index.js +1 -1
  123. package/lib/commands/menu/asset-update.js +1 -1
  124. package/lib/commands/menu/delete.js +1 -1
  125. package/lib/commands/menu/external-link-create.js +1 -1
  126. package/lib/commands/menu/external-link-update.js +1 -1
  127. package/lib/commands/menu/group-create.js +1 -1
  128. package/lib/commands/menu/group-update.js +1 -1
  129. package/lib/commands/menu/index.js +1 -1
  130. package/lib/commands/menu/list.js +1 -1
  131. package/lib/commands/menu/move.js +1 -1
  132. package/lib/commands/menu/regroup-start.js +1 -1
  133. package/lib/commands/menu/rename.js +1 -1
  134. package/lib/commands/menu/shared/compare-table.js +1 -1
  135. package/lib/commands/menu/shared/delete-plan.js +1 -1
  136. package/lib/commands/menu/shared/facts.js +1 -1
  137. package/lib/commands/menu/shared/index.js +1 -1
  138. package/lib/commands/menu/shared/inquirer.js +1 -1
  139. package/lib/commands/menu/shared/local-pages.js +1 -1
  140. package/lib/commands/menu/shared/logic.js +1 -1
  141. package/lib/commands/menu/shared/mutations.js +1 -1
  142. package/lib/commands/menu/shared/service.js +1 -1
  143. package/lib/commands/menu/shared/sync-core.js +1 -1
  144. package/lib/commands/menu/shared/update-core.js +1 -1
  145. package/lib/commands/menu/shared/valid-url.js +1 -1
  146. package/lib/commands/menu/sync.js +1 -1
  147. package/lib/commands/menu/visibility-update.js +1 -1
  148. package/lib/commands/notification/config-create.js +1 -1
  149. package/lib/commands/notification/config-delete.js +1 -1
  150. package/lib/commands/notification/config-list.js +1 -1
  151. package/lib/commands/notification/config-update.js +1 -1
  152. package/lib/commands/notification/index.js +1 -1
  153. package/lib/commands/notification/shared.js +1 -1
  154. package/lib/commands/ocr/index.js +1 -1
  155. package/lib/commands/page/create.js +1 -1
  156. package/lib/commands/page/custom/detail.js +1 -1
  157. package/lib/commands/page/custom/list.js +1 -1
  158. package/lib/commands/page/custom/publish.js +1 -1
  159. package/lib/commands/page/custom/shared.js +1 -1
  160. package/lib/commands/page/custom/syntax.js +1 -1
  161. package/lib/commands/page/custom/template.js +1 -1
  162. package/lib/commands/page/custom/update.js +1 -1
  163. package/lib/commands/page/data-list-status.js +1 -1
  164. package/lib/commands/page/generate-start.js +1 -1
  165. package/lib/commands/page/generate-status.js +1 -1
  166. package/lib/commands/page/index.js +1 -1
  167. package/lib/commands/page/pull.js +1 -1
  168. package/lib/commands/page/push.js +1 -1
  169. package/lib/commands/page/relation-audit.js +1 -1
  170. package/lib/commands/page/restore.js +1 -1
  171. package/lib/commands/page/shared.js +1 -1
  172. package/lib/commands/page/sync.js +1 -1
  173. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  174. package/lib/commands/project/create/format-elapsed.js +1 -1
  175. package/lib/commands/project/create/main.js +1 -1
  176. package/lib/commands/project/create/materialize-project-template.js +1 -1
  177. package/lib/commands/project/create/project-name.js +1 -1
  178. package/lib/commands/project/create/project-template-archive.js +1 -1
  179. package/lib/commands/project/create/project-template-path.js +1 -1
  180. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  181. package/lib/commands/project/create/use-format-code.js +1 -1
  182. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  183. package/lib/commands/project/index.js +1 -1
  184. package/lib/commands/project/upgrade.js +1 -1
  185. package/lib/commands/registry.js +1 -1
  186. package/lib/commands/role/delete.js +1 -1
  187. package/lib/commands/role/detail.js +1 -1
  188. package/lib/commands/role/index.js +1 -1
  189. package/lib/commands/role/list.js +1 -1
  190. package/lib/commands/role/shared.js +1 -1
  191. package/lib/commands/role/update.js +1 -1
  192. package/lib/commands/role/user-add.js +1 -1
  193. package/lib/commands/role/user-remove.js +1 -1
  194. package/lib/commands/role/user-resolve.js +1 -1
  195. package/lib/commands/run/index.js +1 -1
  196. package/lib/commands/schema.js +1 -1
  197. package/lib/commands/sql/create.js +1 -1
  198. package/lib/commands/sql/delete.js +1 -1
  199. package/lib/commands/sql/detail.js +1 -1
  200. package/lib/commands/sql/exec.js +1 -1
  201. package/lib/commands/sql/index.js +1 -1
  202. package/lib/commands/sql/list.js +1 -1
  203. package/lib/commands/sql/pull.js +1 -1
  204. package/lib/commands/sql/push.js +1 -1
  205. package/lib/commands/sql/shared.js +1 -1
  206. package/lib/commands/sql/status.js +1 -1
  207. package/lib/commands/sql/validate.js +1 -1
  208. package/lib/commands/task/index.js +1 -1
  209. package/lib/commands/task/status.js +1 -1
  210. package/lib/commands/tenant/index.js +1 -1
  211. package/lib/commands/tenant/members-list.js +1 -1
  212. package/lib/commands/tenant/shared.js +1 -1
  213. package/lib/commands/user-account/dingding-sandbox-bind.js +1 -1
  214. package/lib/commands/user-account/index.js +1 -1
  215. package/lib/commands/workspace/add.js +1 -1
  216. package/lib/commands/workspace/index.js +1 -1
  217. package/lib/commands/workspace/remove.js +1 -1
  218. package/lib/config/deployment-sync.d.ts +10 -0
  219. package/lib/config/deployment-sync.js +1 -0
  220. package/lib/config/domain-config.d.ts +1 -1
  221. package/lib/config/domain-config.js +1 -1
  222. package/lib/config/project-routing.d.ts +30 -0
  223. package/lib/config/project-routing.js +1 -0
  224. package/lib/config/schema.d.ts +1 -1
  225. package/lib/config/schema.js +1 -1
  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.d.ts +7 -2
  230. package/lib/constant/domain.js +1 -1
  231. package/lib/constant/env.js +1 -1
  232. package/lib/constant/output.js +1 -1
  233. package/lib/constant/paths.js +1 -1
  234. package/lib/constant/region.d.ts +2 -2
  235. package/lib/constant/region.js +1 -1
  236. package/lib/constant/risk.js +1 -1
  237. package/lib/constant/routing-profile.d.ts +115 -0
  238. package/lib/constant/routing-profile.js +1 -0
  239. package/lib/context/app-resolver.d.ts +2 -0
  240. package/lib/context/app-resolver.js +1 -1
  241. package/lib/context/auth-resolver.js +1 -1
  242. package/lib/context/config-loader.js +1 -1
  243. package/lib/context.js +1 -1
  244. package/lib/core/alias-resolver.js +1 -1
  245. package/lib/core/api-client.d.ts +35 -0
  246. package/lib/core/api-client.js +1 -1
  247. package/lib/core/bff/config.js +1 -1
  248. package/lib/core/bff/file-system.js +1 -1
  249. package/lib/core/bff/hash.js +1 -1
  250. package/lib/core/bff/lock.js +1 -1
  251. package/lib/core/bff/utils.js +1 -1
  252. package/lib/core/db-resolver.js +1 -1
  253. package/lib/core/page/file-system.js +1 -1
  254. package/lib/core/page/hash.js +1 -1
  255. package/lib/core/page/lock.js +1 -1
  256. package/lib/core/sql-index-auditor.js +1 -1
  257. package/lib/core/sql-sync/config.js +1 -1
  258. package/lib/core/sql-sync/file-system.js +1 -1
  259. package/lib/core/sql-sync/hash.js +1 -1
  260. package/lib/core/sql-sync/lock.js +1 -1
  261. package/lib/core/sql-sync/utils.js +1 -1
  262. package/lib/core/sql-validator.js +1 -1
  263. package/lib/errors.js +1 -1
  264. package/lib/framework/build-all-flags.js +1 -1
  265. package/lib/framework/error-output.js +1 -1
  266. package/lib/framework/explicit-yes.js +1 -1
  267. package/lib/framework/flags.js +1 -1
  268. package/lib/framework/help.js +1 -1
  269. package/lib/framework/index.js +1 -1
  270. package/lib/framework/output.js +1 -1
  271. package/lib/framework/response.js +1 -1
  272. package/lib/framework/runner-alias.js +1 -1
  273. package/lib/framework/runner.js +1 -1
  274. package/lib/framework/schema-export.js +1 -1
  275. package/lib/framework/types.d.ts +4 -0
  276. package/lib/framework/types.js +1 -1
  277. package/lib/generated/build-info.d.ts +4 -4
  278. package/lib/generated/build-info.js +1 -1
  279. package/lib/help.js +1 -1
  280. package/lib/postinstall.js +1 -1
  281. package/lib/runtime/confirmation.js +1 -1
  282. package/lib/runtime/event.js +1 -1
  283. package/lib/runtime/index.js +1 -1
  284. package/lib/runtime/queue.js +1 -1
  285. package/lib/runtime/resolve.js +1 -1
  286. package/lib/skills/builtin-skill.js +1 -1
  287. package/lib/skills/main.js +1 -1
  288. package/lib/skills/npx-skills-add.js +1 -1
  289. package/lib/skills/skill-presence.js +1 -1
  290. package/lib/telemetry/cli-command-trace.js +1 -1
  291. package/lib/telemetry/cli-help-trace.js +1 -1
  292. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  293. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  294. package/lib/telemetry/send-cli-trace-log.js +1 -1
  295. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  296. package/lib/utils/ai_config.js +1 -1
  297. package/lib/utils/apply-jq-filter.js +1 -1
  298. package/lib/utils/cdn-config.js +1 -1
  299. package/lib/utils/check-sdk-version.js +1 -1
  300. package/lib/utils/cli-version-check.js +1 -1
  301. package/lib/utils/cli-version-policy.js +1 -1
  302. package/lib/utils/config.js +1 -1
  303. package/lib/utils/entity-with-id.js +1 -1
  304. package/lib/utils/file-utils.js +1 -1
  305. package/lib/utils/guides-cdn.js +1 -1
  306. package/lib/utils/http-client.js +1 -1
  307. package/lib/utils/is-non-interactive.js +1 -1
  308. package/lib/utils/logger.js +1 -1
  309. package/lib/utils/params.js +1 -1
  310. package/lib/utils/platform.js +1 -1
  311. package/lib/utils/sleep.js +1 -1
  312. package/lib/utils/template-replacer.js +1 -1
  313. package/lib/utils/update-notice.js +1 -1
  314. package/lib/utils/version.js +1 -1
  315. package/lib/utils/with-active-cookie.js +1 -1
  316. package/lib/utils/write-cli-side-channel.js +1 -1
  317. package/package.json +1 -2
  318. package/skills/rabetbase/SKILL.md +20 -9
  319. package/skills/rabetbase/guides/frontend-development.md +2 -0
  320. package/skills/rabetbase/guides/sdk-client-generation.md +3 -2
  321. package/skills/rabetbase/guides/typescript-sdk.md +42 -0
  322. package/skills/rabetbase/references/rabetbase-api-pull.md +5 -3
  323. package/skills/rabetbase/references/rabetbase-config.md +9 -5
  324. package/skills/rabetbase/references/rabetbase-dataset-business-group-update.md +9 -9
  325. package/skills/rabetbase/references/rabetbase-dataset-business-groups.md +1 -1
  326. package/skills/rabetbase/references/rabetbase-dataset-field-restore.md +59 -0
  327. package/skills/rabetbase/references/rabetbase-dataset-user-deleted-field-list.md +47 -0
  328. package/skills/rabetbase/references/rabetbase-deployment-sync.md +92 -0
  329. package/skills/rabetbase/references/rabetbase-init.md +11 -5
  330. package/skills/rabetbase/references/rabetbase-project-create.md +6 -5
  331. package/skills/rabetbase.manifest.json +6 -3
  332. package/templates/README.md +13 -17
@@ -1 +1 @@
1
- const a172_0x5b27eb=a172_0x1ead;(function(_0x1a973b,_0x10a7cb){const _0xeca0a8=a172_0x1ead,_0xa3ed5a=_0x1a973b();while(!![]){try{const _0x30c029=parseInt(_0xeca0a8(0x1a7))/0x1+-parseInt(_0xeca0a8(0x1b4))/0x2+-parseInt(_0xeca0a8(0x1c4))/0x3+-parseInt(_0xeca0a8(0x161))/0x4*(parseInt(_0xeca0a8(0x1c3))/0x5)+-parseInt(_0xeca0a8(0x197))/0x6*(-parseInt(_0xeca0a8(0x18d))/0x7)+-parseInt(_0xeca0a8(0x157))/0x8+parseInt(_0xeca0a8(0x1bf))/0x9;if(_0x30c029===_0x10a7cb)break;else _0xa3ed5a['push'](_0xa3ed5a['shift']());}catch(_0x2ca578){_0xa3ed5a['push'](_0xa3ed5a['shift']());}}}(a172_0x50e3,0x20430));import a172_0x3e572b from'chalk';import a172_0x4c6810 from'ora';import{existsSync,readFileSync,renameSync,rmSync,statSync,unlinkSync,writeFileSync}from'node:fs';import{resolve}from'node:path';import{NEW_CONFIG_NAME,readConfigFile,writeConfigFile}from'../../context.js';import{CORE_IDE_CONFIGS}from'../../utils/ai_config.js';import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE,runNpxSkillsAddGlobal,runNpxSkillsRemove}from'../../skills/npx-skills-add.js';import{askConfirm}from'../../commands/menu/shared/inquirer.js';const LEGACY_CONFIG_NAMES=['.lovrabet.json',a172_0x5b27eb(0x1b2)];function collectIdeSkillFiles(_0x43b14c){const _0x5edec5=a172_0x5b27eb,_0x2f8e62=[];for(const _0x2decb8 of Object[_0x5edec5(0x14f)](CORE_IDE_CONFIGS)){if(_0x2decb8[_0x5edec5(0x19f)])for(const _0x11968b of _0x2decb8['files']){_0x2f8e62['push'](resolve(_0x43b14c,_0x11968b[_0x5edec5(0x1cd)]));}}return _0x2f8e62;}function analyse(_0x5c5283){const _0x320cd8=a172_0x5b27eb;let _0x1327f6=null;const _0x360a2b=resolve(_0x5c5283,NEW_CONFIG_NAME),_0x2c46ae=existsSync(_0x360a2b);for(const _0x200bde of LEGACY_CONFIG_NAMES){const _0x837ea3=resolve(_0x5c5283,_0x200bde);if(existsSync(_0x837ea3)){const _0x884a01=readConfigFile(_0x837ea3),_0x169e55=Object['keys'](_0x884a01)[_0x320cd8(0x181)](_0x342efe=>typeof _0x884a01[_0x342efe]!==_0x320cd8(0x182));_0x1327f6={'oldPath':_0x837ea3,'hasNewConfig':_0x2c46ae,'fields':_0x169e55};break;}}const _0xe584c2=[],_0x1d1375=resolve(_0x5c5283,_0x320cd8(0x193));if(existsSync(_0x1d1375))_0xe584c2[_0x320cd8(0x1a0)](_0x1d1375);const _0x18ba9e=resolve(_0x5c5283,_0x320cd8(0x1aa));if(existsSync(_0x18ba9e))_0xe584c2[_0x320cd8(0x1a0)](_0x18ba9e);const _0x3b1380=resolve(_0x5c5283,_0x320cd8(0x184));if(existsSync(_0x3b1380))_0xe584c2[_0x320cd8(0x1a0)](_0x3b1380);for(const _0x4a7e20 of collectIdeSkillFiles(_0x5c5283)){if(existsSync(_0x4a7e20))_0xe584c2[_0x320cd8(0x1a0)](_0x4a7e20);}let _0x3c7817=null;const _0x5c87f3=resolve(_0x5c5283,_0x320cd8(0x1d0));if(existsSync(_0x5c87f3))try{const _0x5af6a6=JSON[_0x320cd8(0x15f)](readFileSync(_0x5c87f3,'utf8'));if(_0x5af6a6?.['mcpServers']&&typeof _0x5af6a6['mcpServers']==='object'){const _0x33baa8=[];for(const [_0x166aab,_0x583baa]of Object[_0x320cd8(0x154)](_0x5af6a6[_0x320cd8(0x1a9)])){const _0x29c2cd=_0x583baa;_0x29c2cd?.[_0x320cd8(0x177)]&&Array[_0x320cd8(0x195)](_0x29c2cd[_0x320cd8(0x177)])&&_0x29c2cd['args'][_0x320cd8(0x1c8)](_0x4c8405=>typeof _0x4c8405==='string'&&_0x4c8405[_0x320cd8(0x1ab)](_0x320cd8(0x169)))&&_0x33baa8[_0x320cd8(0x1a0)](_0x166aab);}_0x33baa8[_0x320cd8(0x19c)]>0x0&&(_0x3c7817={'path':_0x5c87f3,'keys':_0x33baa8});}}catch{}const _0x5d0b9f=_0xe584c2[_0x320cd8(0x19c)]>0x0||_0x1327f6!==null;let _0x102e9a=null;const _0x398ab2=resolve(_0x5c5283,_0x320cd8(0x163));if(existsSync(_0x398ab2))try{const _0x496118=JSON[_0x320cd8(0x15f)](readFileSync(_0x398ab2,_0x320cd8(0x155)));for(const _0x277a5a of[_0x320cd8(0x1ca),_0x320cd8(0x158)]){const _0x4db4ab=_0x496118?.[_0x277a5a]?.['@lovrabet/sdk'];if(typeof _0x4db4ab===_0x320cd8(0x190)){_0x4db4ab!==_0x320cd8(0x1bc)&&(_0x102e9a={'pkgPath':_0x398ab2,'currentVersion':_0x4db4ab,'field':_0x277a5a});break;}}}catch{}return{'configMigration':_0x1327f6,'oldArtifacts':_0xe584c2,'oldMcpConfig':_0x3c7817,'needsSkillSwap':_0x5d0b9f,'sdkUpgrade':_0x102e9a};}function a172_0x1ead(_0x3591e6,_0x1aedfc){_0x3591e6=_0x3591e6-0x14f;const _0x50e37b=a172_0x50e3();let _0x1ead21=_0x50e37b[_0x3591e6];return _0x1ead21;}function a172_0x50e3(){const _0x385c4d=['.lovrabetrc','needsSkillSwap','375960wNXIwe','lovrabet/rabetbase\x20installed\x20globally','lovrabet/lovrabet-skill\x20removed','log','cyan','white','Remove\x20old\x20skill','cwd','latest','@lovrabet/sdk:','\x20→\x20keys:\x20','4653315bdQwGT','Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20','MCP\x20config:','.bak','95605VqXeaI','416274VbxLxk','inherit','hasNewConfig','skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)','some','exit\x20','dependencies','\x20\x20bun\x20install','oldArtifacts','path','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server','.cursor/mcp.json','label','Config\x20migration','values','not\x20found\x20or\x20already\x20at\x20latest','join','oldPath','skipped\x20(no\x20legacy\x20config)','entries','utf8','not\x20needed','1508896JofBvV','devDependencies','start','Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20','Step\x204/7:\x20Cleaning\x20MCP\x20config...','\x20from\x20','===\x20Upgrade\x20Summary\x20===','@lovrabet/sdk','parse','already\x20exists\x20(will\x20merge)','24UkZCkQ','\x20\x20Fields\x20to\x20migrate:\x20','package.json','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','Upgrade\x20completed\x20successfully!','removed\x20','bold','\x20→\x20','@lovrabet/dataset-mcp-server','\x20→\x20latest','detail','Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.','Step\x202/7:\x20.lovrabet/\x20directory\x20removed','fields','Step\x203/7:\x20Legacy\x20artifacts\x20—\x20','failed','info','skipped','No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.','\x20removed\x20(','Upgrade\x20@lovrabet/sdk','args','Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','stringify','Legacy\x20artifacts:','no\x20legacy\x20entry','error','gray','Install\x20new\x20skill','status','done','filter','undefined','red','.claude/skills/lovrabet','sdkUpgrade','[\x22@lovrabet/sdk\x22]:\x20','\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`','lovrabet/rabetbase','\x20\x20\x20\x20\x20\x20\x20','Step\x201/7:\x20Config\x20migration\x20—\x20','oldMcpConfig','\x20\x20New\x20config\x20(.rabetbase.json):\x20','7cZUTLS','\x20removed','\x20\x20#\x20or','string','Remove\x20legacy\x20artifacts','Remove\x20.lovrabet/','.lovrabet','Step\x204/7:\x20MCP\x20config\x20—\x20','isArray','Clean\x20MCP\x20config','176886SzeTSN','no\x20legacy\x20config\x20found','not\x20found\x20(will\x20create)','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','succeed','length','\x20\x20Action:\x20delete','Step\x206/7:\x20Installing\x20new\x20skill...','files','push','Upgrade\x20cancelled.','yes','keys','message','no\x20matching\x20entry\x20found','\x20\x20Step\x20','215704eQbmRL','yellow','mcpServers','.cursor/rules/lovrabet_rules.mdc','includes','Step\x201/7:\x20Migrating\x20config...','Skill\x20swap:','Config\x20file:','fail','green','Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.'];a172_0x50e3=function(){return _0x385c4d;};return a172_0x50e3();}function printReport(_0x14bbb4){const _0x1c3b87=a172_0x5b27eb,{configMigration:_0x15ffd0,oldArtifacts:_0x4608a1,oldMcpConfig:_0x2e3581,needsSkillSwap:_0x46e829}=_0x14bbb4;console[_0x1c3b87(0x1b7)](''),console[_0x1c3b87(0x1b7)](a172_0x3e572b[_0x1c3b87(0x167)]('===\x20Upgrade\x20Analysis\x20===')),console[_0x1c3b87(0x1b7)]('');_0x15ffd0?(console['log'](a172_0x3e572b[_0x1c3b87(0x1b8)](_0x1c3b87(0x1ae))+('\x20\x20'+a172_0x3e572b[_0x1c3b87(0x1a8)](_0x15ffd0['oldPath']))),console[_0x1c3b87(0x1b7)](_0x1c3b87(0x18c)+(_0x15ffd0[_0x1c3b87(0x1c6)]?a172_0x3e572b['green'](_0x1c3b87(0x160)):a172_0x3e572b[_0x1c3b87(0x17d)](_0x1c3b87(0x199)))),console[_0x1c3b87(0x1b7)](_0x1c3b87(0x162)+_0x15ffd0[_0x1c3b87(0x16f)][_0x1c3b87(0x151)](',\x20')),console[_0x1c3b87(0x1b7)]('\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak')):console[_0x1c3b87(0x1b7)](a172_0x3e572b[_0x1c3b87(0x1b8)]('Config\x20file:')+'\x20\x20'+a172_0x3e572b['gray'](_0x1c3b87(0x198)));console[_0x1c3b87(0x1b7)]('');if(_0x4608a1[_0x1c3b87(0x19c)]>0x0){console['log'](a172_0x3e572b[_0x1c3b87(0x1b8)](_0x1c3b87(0x17a)));for(const _0x556026 of _0x4608a1){console[_0x1c3b87(0x1b7)]('\x20\x20'+a172_0x3e572b['red']('FOUND')+'\x20\x20'+_0x556026);}console[_0x1c3b87(0x1b7)](_0x1c3b87(0x19d));}else console['log'](a172_0x3e572b[_0x1c3b87(0x1b8)]('Legacy\x20artifacts:')+'\x20\x20'+a172_0x3e572b[_0x1c3b87(0x17d)]('none\x20found'));console[_0x1c3b87(0x1b7)]('');_0x2e3581?(console[_0x1c3b87(0x1b7)](a172_0x3e572b[_0x1c3b87(0x1b8)](_0x1c3b87(0x1c1))+('\x20\x20'+a172_0x3e572b[_0x1c3b87(0x1a8)](_0x2e3581[_0x1c3b87(0x1cd)])+_0x1c3b87(0x1be)+_0x2e3581[_0x1c3b87(0x1a3)]['join'](',\x20'))),console[_0x1c3b87(0x1b7)](_0x1c3b87(0x1cf))):console[_0x1c3b87(0x1b7)](a172_0x3e572b[_0x1c3b87(0x1b8)](_0x1c3b87(0x1c1))+'\x20\x20'+a172_0x3e572b[_0x1c3b87(0x17d)](_0x1c3b87(0x17b)));console[_0x1c3b87(0x1b7)](''),console[_0x1c3b87(0x1b7)](a172_0x3e572b[_0x1c3b87(0x1b8)](_0x1c3b87(0x1ad))+('\x20\x20'+(_0x46e829?a172_0x3e572b['yellow']('needed'):a172_0x3e572b[_0x1c3b87(0x1b0)](_0x1c3b87(0x156)))));_0x46e829&&console[_0x1c3b87(0x1b7)](_0x1c3b87(0x187)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console[_0x1c3b87(0x1b7)]('');if(_0x14bbb4[_0x1c3b87(0x185)]){const {currentVersion:_0x260aac,field:_0x10a57c,pkgPath:_0x24508c}=_0x14bbb4[_0x1c3b87(0x185)];console['log'](a172_0x3e572b['cyan'](_0x1c3b87(0x1bd))+('\x20\x20'+a172_0x3e572b[_0x1c3b87(0x1a8)](_0x24508c))),console[_0x1c3b87(0x1b7)]('\x20\x20Current\x20version\x20in\x20'+_0x10a57c+':\x20'+a172_0x3e572b['yellow'](_0x260aac)+_0x1c3b87(0x168)+a172_0x3e572b['green']('latest')),console[_0x1c3b87(0x1b7)](_0x1c3b87(0x1ce));}else console[_0x1c3b87(0x1b7)](a172_0x3e572b[_0x1c3b87(0x1b8)](_0x1c3b87(0x1bd))+'\x20\x20'+a172_0x3e572b['gray'](_0x1c3b87(0x150)));console['log']('');}function execConfigMigration(_0x320244,_0x5684ba){const _0x214ae1=a172_0x5b27eb,{configMigration:_0x36bbd3}=_0x320244;if(!_0x36bbd3?.[_0x214ae1(0x152)])return{'step':0x1,'label':_0x214ae1(0x1d2),'ok':!![],'detail':_0x214ae1(0x153)};const _0x4815f3=readConfigFile(_0x36bbd3['oldPath']),_0x386dd8=resolve(_0x5684ba,NEW_CONFIG_NAME),_0x59fed5=_0x36bbd3[_0x214ae1(0x1c6)]?readConfigFile(_0x386dd8):{};for(const [_0x20c122,_0x2fd6af]of Object[_0x214ae1(0x154)](_0x4815f3)){!(_0x20c122 in _0x59fed5)&&(_0x59fed5[_0x20c122]=_0x2fd6af);}writeConfigFile(_0x386dd8,_0x59fed5);const _0x32d92b=_0x36bbd3[_0x214ae1(0x152)]+_0x214ae1(0x1c2);return renameSync(_0x36bbd3[_0x214ae1(0x152)],_0x32d92b),{'step':0x1,'label':_0x214ae1(0x1d2),'ok':!![],'detail':_0x36bbd3[_0x214ae1(0x152)]+_0x214ae1(0x168)+_0x386dd8+'\x20(backup:\x20'+_0x32d92b+')'};}function execRemoveOldArtifacts(_0x1da0a1){const _0x5f4279=a172_0x5b27eb,_0x500bd1=[];for(const _0x32ee59 of _0x1da0a1){try{if(!existsSync(_0x32ee59))continue;const _0x3c8baf=tryStat(_0x32ee59);_0x3c8baf?.['isDirectory']()?rmSync(_0x32ee59,{'recursive':!![],'force':!![]}):unlinkSync(_0x32ee59);}catch(_0x4ab076){_0x500bd1[_0x5f4279(0x1a0)](_0x32ee59+':\x20'+_0x4ab076[_0x5f4279(0x1a4)]);}}return{'step':0x3,'label':_0x5f4279(0x191),'ok':_0x500bd1[_0x5f4279(0x19c)]===0x0,'detail':_0x500bd1[_0x5f4279(0x19c)]>0x0?_0x1da0a1['length']-_0x500bd1[_0x5f4279(0x19c)]+'/'+_0x1da0a1[_0x5f4279(0x19c)]+_0x5f4279(0x175)+_0x500bd1[_0x5f4279(0x151)](';\x20')+')':_0x1da0a1[_0x5f4279(0x19c)]+_0x5f4279(0x18e)};}function execCleanMcp(_0x3c92b7){const _0x1ed925=a172_0x5b27eb;if(!_0x3c92b7['oldMcpConfig'])return{'step':0x4,'label':_0x1ed925(0x196),'ok':!![],'detail':_0x1ed925(0x173)};try{const _0x22f3bd=readFileSync(_0x3c92b7[_0x1ed925(0x18b)]['path'],_0x1ed925(0x155)),_0x477117=JSON['parse'](_0x22f3bd);if(_0x477117?.['mcpServers']&&typeof _0x477117[_0x1ed925(0x1a9)]==='object'){const _0x1f2d95=[];for(const [_0x1fb5b3,_0x2d0dd7]of Object[_0x1ed925(0x154)](_0x477117['mcpServers'])){_0x2d0dd7?.[_0x1ed925(0x177)]&&Array['isArray'](_0x2d0dd7[_0x1ed925(0x177)])&&_0x2d0dd7[_0x1ed925(0x177)]['some'](_0x1c1c43=>typeof _0x1c1c43===_0x1ed925(0x190)&&_0x1c1c43[_0x1ed925(0x1ab)](_0x1ed925(0x169)))&&_0x1f2d95['push'](_0x1fb5b3);}for(const _0x211dad of _0x1f2d95){delete _0x477117[_0x1ed925(0x1a9)][_0x211dad];}return _0x1f2d95[_0x1ed925(0x19c)]>0x0&&writeFileSync(_0x3c92b7[_0x1ed925(0x18b)]['path'],JSON[_0x1ed925(0x179)](_0x477117,null,0x2)+'\x0a',_0x1ed925(0x155)),{'step':0x4,'label':'Clean\x20MCP\x20config','ok':!![],'detail':_0x1ed925(0x166)+_0x1f2d95[_0x1ed925(0x151)](',\x20')+_0x1ed925(0x15c)+_0x3c92b7[_0x1ed925(0x18b)]['path']};}return{'step':0x4,'label':_0x1ed925(0x196),'ok':!![],'detail':_0x1ed925(0x1a5)};}catch(_0x23bb60){return{'step':0x4,'label':_0x1ed925(0x196),'ok':![],'detail':_0x23bb60[_0x1ed925(0x1a4)]};}}function execSkillsRemove(_0x4afed3,_0x1bf901){const _0x14edd3=a172_0x5b27eb,_0x4e0e66=runNpxSkillsRemove(_0x4afed3,{'stdio':_0x14edd3(0x1c5),'yes':_0x1bf901});return{'step':0x5,'label':_0x14edd3(0x1ba),'ok':_0x4e0e66['ok'],'detail':_0x4e0e66['ok']?_0x14edd3(0x1b6):_0x4e0e66[_0x14edd3(0x17c)]??'exit\x20'+_0x4e0e66[_0x14edd3(0x17f)]};}function execSkillsAdd(_0x3d1d49,_0x26ad6c){const _0x21cd1d=a172_0x5b27eb,_0x3b36a5=runNpxSkillsAddGlobal(_0x3d1d49,_0x21cd1d(0x188),{'stdio':_0x21cd1d(0x1c5),'yes':_0x26ad6c});return{'step':0x6,'label':_0x21cd1d(0x17e),'ok':_0x3b36a5['ok'],'detail':_0x3b36a5['ok']?_0x21cd1d(0x1b5):_0x3b36a5[_0x21cd1d(0x17c)]??_0x21cd1d(0x1c9)+_0x3b36a5[_0x21cd1d(0x17f)]};}function execUpgradeSdk(_0x907769){const _0x5deb6c=a172_0x5b27eb;if(!_0x907769[_0x5deb6c(0x185)])return{'step':0x7,'label':_0x5deb6c(0x176),'ok':!![],'detail':_0x5deb6c(0x1c7)};const {pkgPath:_0x1f9024,currentVersion:_0x32bdad,field:_0x4add06}=_0x907769[_0x5deb6c(0x185)];try{const _0x4ef823=readFileSync(_0x1f9024,_0x5deb6c(0x155)),_0x492923=JSON[_0x5deb6c(0x15f)](_0x4ef823);return _0x492923[_0x4add06][_0x5deb6c(0x15e)]='latest',writeFileSync(_0x1f9024,JSON[_0x5deb6c(0x179)](_0x492923,null,0x2)+'\x0a','utf8'),{'step':0x7,'label':_0x5deb6c(0x176),'ok':!![],'detail':_0x4add06+_0x5deb6c(0x186)+_0x32bdad+_0x5deb6c(0x16a)};}catch(_0x14062c){return{'step':0x7,'label':_0x5deb6c(0x176),'ok':![],'detail':_0x14062c[_0x5deb6c(0x1a4)]};}}function tryStat(_0x287132){try{return statSync(_0x287132);}catch{return undefined;}}function printSummary(_0x4ff7fa){const _0x3fa729=a172_0x5b27eb;console[_0x3fa729(0x1b7)](''),console[_0x3fa729(0x1b7)](a172_0x3e572b[_0x3fa729(0x167)](_0x3fa729(0x15d))),console[_0x3fa729(0x1b7)]('');for(const _0x3c6d30 of _0x4ff7fa){const _0xc2b6cb=_0x3c6d30['ok']?a172_0x3e572b[_0x3fa729(0x1b0)]('OK'):a172_0x3e572b[_0x3fa729(0x183)]('FAIL');console['log']('\x20\x20'+_0xc2b6cb+_0x3fa729(0x1a6)+_0x3c6d30['step']+':\x20'+_0x3c6d30[_0x3fa729(0x1d1)]);if(_0x3c6d30[_0x3fa729(0x16b)])console[_0x3fa729(0x1b7)](_0x3fa729(0x189)+a172_0x3e572b[_0x3fa729(0x17d)](_0x3c6d30[_0x3fa729(0x16b)]));}console[_0x3fa729(0x1b7)]('');}export async function upgradeApp(_0x55915a,_0x2653a5){const _0xe3d76e=a172_0x5b27eb,_0x303719=process[_0xe3d76e(0x1bb)](),_0x41578d=analyse(_0x303719),_0x5845f5=!_0x41578d['configMigration']&&_0x41578d[_0xe3d76e(0x1cc)]['length']===0x0&&!_0x41578d['oldMcpConfig']&&!_0x41578d[_0xe3d76e(0x1b3)]&&!_0x41578d[_0xe3d76e(0x185)];if(_0x5845f5){console[_0xe3d76e(0x1b7)](a172_0x3e572b[_0xe3d76e(0x1b0)](_0xe3d76e(0x174)));return;}printReport(_0x41578d);const _0x8cda81=!!(_0x2653a5[_0xe3d76e(0x1a2)]||_0x2653a5['Y']||_0x55915a);if(!_0x8cda81)try{const _0xbefc8e=await askConfirm('Proceed\x20with\x20upgrade?');if(!_0xbefc8e){console['log'](a172_0x3e572b[_0xe3d76e(0x17d)](_0xe3d76e(0x1a1)));return;}}catch(_0x4d0474){if(_0x4d0474?.['message']==='CANCEL'){console[_0xe3d76e(0x1b7)](a172_0x3e572b[_0xe3d76e(0x17d)]('Upgrade\x20cancelled.'));return;}throw _0x4d0474;}const _0x1bcafa=[],_0x1e92dc=a172_0x4c6810({'text':_0xe3d76e(0x1ac),'color':'cyan'})[_0xe3d76e(0x159)](),_0x2ce51f=execConfigMigration(_0x41578d,_0x303719);_0x1bcafa['push'](_0x2ce51f),_0x1e92dc[_0x2ce51f['ok']?_0xe3d76e(0x19b):_0xe3d76e(0x1af)](_0xe3d76e(0x18a)+(_0x2ce51f[_0xe3d76e(0x16b)]??(_0x2ce51f['ok']?_0xe3d76e(0x180):'failed')));const _0x1c0893=resolve(_0x303719,'.lovrabet'),_0x2fca04=a172_0x4c6810({'text':'Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','color':_0xe3d76e(0x1b8)})[_0xe3d76e(0x159)]();if(existsSync(_0x1c0893))try{rmSync(_0x1c0893,{'recursive':!![],'force':!![]}),_0x2fca04[_0xe3d76e(0x19b)](_0xe3d76e(0x16e)),_0x1bcafa['push']({'step':0x2,'label':_0xe3d76e(0x192),'ok':!![]});}catch(_0x903aa7){_0x2fca04[_0xe3d76e(0x1af)](_0xe3d76e(0x15a)+_0x903aa7[_0xe3d76e(0x1a4)]),_0x1bcafa['push']({'step':0x2,'label':_0xe3d76e(0x192),'ok':![],'detail':_0x903aa7[_0xe3d76e(0x1a4)]});}else _0x2fca04[_0xe3d76e(0x172)]('Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped'),_0x1bcafa['push']({'step':0x2,'label':_0xe3d76e(0x192),'ok':!![],'detail':_0xe3d76e(0x173)});const _0x5f42e4=a172_0x4c6810({'text':_0xe3d76e(0x16c),'color':_0xe3d76e(0x1b8)})[_0xe3d76e(0x159)](),_0x25f082=execRemoveOldArtifacts(_0x41578d[_0xe3d76e(0x1cc)]);_0x1bcafa[_0xe3d76e(0x1a0)](_0x25f082),_0x5f42e4[_0x25f082['ok']?_0xe3d76e(0x19b):_0xe3d76e(0x1af)](_0xe3d76e(0x170)+(_0x25f082[_0xe3d76e(0x16b)]??(_0x25f082['ok']?_0xe3d76e(0x180):_0xe3d76e(0x171))));const _0x21aa67=a172_0x4c6810({'text':_0xe3d76e(0x15b),'color':_0xe3d76e(0x1b8)})[_0xe3d76e(0x159)](),_0x441f44=execCleanMcp(_0x41578d);_0x1bcafa['push'](_0x441f44),_0x21aa67[_0x441f44['ok']?_0xe3d76e(0x19b):_0xe3d76e(0x1af)](_0xe3d76e(0x194)+(_0x441f44[_0xe3d76e(0x16b)]??(_0x441f44['ok']?_0xe3d76e(0x180):'failed')));const _0x44f637=a172_0x4c6810({'text':'Step\x205/7:\x20Removing\x20old\x20skill...','color':'cyan'})[_0xe3d76e(0x159)](),_0x28842d=execSkillsRemove(_0x303719,_0x8cda81);_0x1bcafa[_0xe3d76e(0x1a0)](_0x28842d),_0x44f637[_0x28842d['ok']?_0xe3d76e(0x19b):_0xe3d76e(0x1af)](_0xe3d76e(0x1c0)+(_0x28842d['detail']??(_0x28842d['ok']?_0xe3d76e(0x180):'failed')));const _0x1f174a=a172_0x4c6810({'text':_0xe3d76e(0x19e),'color':_0xe3d76e(0x1b8)})['start'](),_0x33d7e9=execSkillsAdd(_0x303719,_0x8cda81);_0x1bcafa['push'](_0x33d7e9),_0x1f174a[_0x33d7e9['ok']?_0xe3d76e(0x19b):'fail'](_0xe3d76e(0x19a)+(_0x33d7e9[_0xe3d76e(0x16b)]??(_0x33d7e9['ok']?_0xe3d76e(0x180):_0xe3d76e(0x171))));const _0x34612c=a172_0x4c6810({'text':_0xe3d76e(0x164),'color':_0xe3d76e(0x1b8)})['start'](),_0x42d753=execUpgradeSdk(_0x41578d);_0x1bcafa[_0xe3d76e(0x1a0)](_0x42d753),_0x34612c[_0x42d753['ok']?_0xe3d76e(0x19b):'fail']('Step\x207/7:\x20@lovrabet/sdk\x20—\x20'+(_0x42d753['detail']??(_0x42d753['ok']?_0xe3d76e(0x180):'failed'))),printSummary(_0x1bcafa);const _0x24814b=_0x1bcafa[_0xe3d76e(0x1c8)](_0x3950f9=>!_0x3950f9['ok']);_0x24814b?console[_0xe3d76e(0x1b7)](a172_0x3e572b[_0xe3d76e(0x1a8)](_0xe3d76e(0x1b1))):console[_0xe3d76e(0x1b7)](a172_0x3e572b['green'](_0xe3d76e(0x165))),_0x42d753['ok']&&_0x41578d[_0xe3d76e(0x185)]&&(console[_0xe3d76e(0x1b7)](''),console['log'](a172_0x3e572b[_0xe3d76e(0x167)]['cyan'](_0xe3d76e(0x16d))),console[_0xe3d76e(0x1b7)](a172_0x3e572b[_0xe3d76e(0x1b8)](_0xe3d76e(0x178))),console['log'](''),console['log'](a172_0x3e572b[_0xe3d76e(0x1b9)]('\x20\x20npm\x20install')),console[_0xe3d76e(0x1b7)](a172_0x3e572b['white'](_0xe3d76e(0x18f))),console[_0xe3d76e(0x1b7)](a172_0x3e572b[_0xe3d76e(0x1b9)](_0xe3d76e(0x1cb))),console[_0xe3d76e(0x1b7)](''));}
1
+ const a177_0x56b8d7=a177_0x547a;(function(_0x45619b,_0x5c62ab){const _0x4f6c70=a177_0x547a,_0x4f4db4=_0x45619b();while(!![]){try{const _0x4f23b8=parseInt(_0x4f6c70(0x11f))/0x1*(parseInt(_0x4f6c70(0x161))/0x2)+parseInt(_0x4f6c70(0x12a))/0x3*(parseInt(_0x4f6c70(0xf9))/0x4)+parseInt(_0x4f6c70(0x121))/0x5+parseInt(_0x4f6c70(0x109))/0x6*(-parseInt(_0x4f6c70(0x149))/0x7)+parseInt(_0x4f6c70(0x128))/0x8+parseInt(_0x4f6c70(0xfa))/0x9*(parseInt(_0x4f6c70(0x171))/0xa)+-parseInt(_0x4f6c70(0x104))/0xb;if(_0x4f23b8===_0x5c62ab)break;else _0x4f4db4['push'](_0x4f4db4['shift']());}catch(_0x3f6926){_0x4f4db4['push'](_0x4f4db4['shift']());}}}(a177_0xa052,0x8ee96));function a177_0x547a(_0x3daf8b,_0x12fd4c){_0x3daf8b=_0x3daf8b-0xec;const _0xa05212=a177_0xa052();let _0x547a83=_0xa05212[_0x3daf8b];return _0x547a83;}import a177_0x41aefe from'chalk';import a177_0x5b82b8 from'ora';import{existsSync,readFileSync,renameSync,rmSync,statSync,unlinkSync,writeFileSync}from'node:fs';import{resolve}from'node:path';import{NEW_CONFIG_NAME,readConfigFile,writeConfigFile}from'../../context.js';import{CORE_IDE_CONFIGS}from'../../utils/ai_config.js';import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE,runNpxSkillsAddGlobal,runNpxSkillsRemove}from'../../skills/npx-skills-add.js';import{askConfirm}from'../../commands/menu/shared/inquirer.js';const LEGACY_CONFIG_NAMES=[a177_0x56b8d7(0xed),a177_0x56b8d7(0x16e)];function collectIdeSkillFiles(_0x30e8f5){const _0x3142df=a177_0x56b8d7,_0x43c2cf=[];for(const _0x4c2369 of Object['values'](CORE_IDE_CONFIGS)){if(_0x4c2369[_0x3142df(0xf6)])for(const _0x195317 of _0x4c2369[_0x3142df(0xf6)]){_0x43c2cf[_0x3142df(0x136)](resolve(_0x30e8f5,_0x195317['path']));}}return _0x43c2cf;}function analyse(_0x34ce8d){const _0x37767b=a177_0x56b8d7;let _0x2a0835=null;const _0x23a28b=resolve(_0x34ce8d,NEW_CONFIG_NAME),_0x457af6=existsSync(_0x23a28b);for(const _0x9056a3 of LEGACY_CONFIG_NAMES){const _0x25942b=resolve(_0x34ce8d,_0x9056a3);if(existsSync(_0x25942b)){const _0x126e87=readConfigFile(_0x25942b),_0x439ec8=Object[_0x37767b(0xfc)](_0x126e87)[_0x37767b(0x162)](_0x342594=>typeof _0x126e87[_0x342594]!==_0x37767b(0x142));_0x2a0835={'oldPath':_0x25942b,'hasNewConfig':_0x457af6,'fields':_0x439ec8};break;}}const _0x3a1ea0=[],_0x28182c=resolve(_0x34ce8d,_0x37767b(0x151));if(existsSync(_0x28182c))_0x3a1ea0['push'](_0x28182c);const _0x557fb2=resolve(_0x34ce8d,_0x37767b(0x12f));if(existsSync(_0x557fb2))_0x3a1ea0[_0x37767b(0x136)](_0x557fb2);const _0x9b9887=resolve(_0x34ce8d,_0x37767b(0x14e));if(existsSync(_0x9b9887))_0x3a1ea0[_0x37767b(0x136)](_0x9b9887);for(const _0x22196b of collectIdeSkillFiles(_0x34ce8d)){if(existsSync(_0x22196b))_0x3a1ea0[_0x37767b(0x136)](_0x22196b);}let _0x5bd50b=null;const _0x378303=resolve(_0x34ce8d,_0x37767b(0xfb));if(existsSync(_0x378303))try{const _0x416bdc=JSON[_0x37767b(0x156)](readFileSync(_0x378303,_0x37767b(0x113)));if(_0x416bdc?.['mcpServers']&&typeof _0x416bdc[_0x37767b(0x16d)]==='object'){const _0x36ee48=[];for(const [_0x147451,_0x2efd7e]of Object[_0x37767b(0x147)](_0x416bdc[_0x37767b(0x16d)])){const _0x205e39=_0x2efd7e;_0x205e39?.[_0x37767b(0x158)]&&Array[_0x37767b(0x124)](_0x205e39[_0x37767b(0x158)])&&_0x205e39[_0x37767b(0x158)][_0x37767b(0x120)](_0x471519=>typeof _0x471519===_0x37767b(0xef)&&_0x471519['includes'](_0x37767b(0x138)))&&_0x36ee48[_0x37767b(0x136)](_0x147451);}_0x36ee48[_0x37767b(0x13f)]>0x0&&(_0x5bd50b={'path':_0x378303,'keys':_0x36ee48});}}catch{}const _0x4107c6=_0x3a1ea0[_0x37767b(0x13f)]>0x0||_0x2a0835!==null;let _0x591625=null;const _0x3e7b09=resolve(_0x34ce8d,'package.json');if(existsSync(_0x3e7b09))try{const _0x3b954=JSON['parse'](readFileSync(_0x3e7b09,_0x37767b(0x113)));for(const _0x2ad216 of[_0x37767b(0x11e),_0x37767b(0x13b)]){const _0x318a62=_0x3b954?.[_0x2ad216]?.['@lovrabet/sdk'];if(typeof _0x318a62===_0x37767b(0xef)){_0x318a62!==_0x37767b(0x107)&&(_0x591625={'pkgPath':_0x3e7b09,'currentVersion':_0x318a62,'field':_0x2ad216});break;}}}catch{}return{'configMigration':_0x2a0835,'oldArtifacts':_0x3a1ea0,'oldMcpConfig':_0x5bd50b,'needsSkillSwap':_0x4107c6,'sdkUpgrade':_0x591625};}function printReport(_0x20fcf7){const _0x199baa=a177_0x56b8d7,{configMigration:_0x45c663,oldArtifacts:_0x565482,oldMcpConfig:_0x45054e,needsSkillSwap:_0x32a278}=_0x20fcf7;console[_0x199baa(0x155)](''),console['log'](a177_0x41aefe[_0x199baa(0x14f)](_0x199baa(0x137))),console[_0x199baa(0x155)]('');_0x45c663?(console['log'](a177_0x41aefe[_0x199baa(0x10d)](_0x199baa(0x108))+('\x20\x20'+a177_0x41aefe[_0x199baa(0xff)](_0x45c663[_0x199baa(0x118)]))),console[_0x199baa(0x155)]('\x20\x20New\x20config\x20(.rabetbase.json):\x20'+(_0x45c663[_0x199baa(0x148)]?a177_0x41aefe['green'](_0x199baa(0x139)):a177_0x41aefe[_0x199baa(0x111)](_0x199baa(0x106)))),console['log']('\x20\x20Fields\x20to\x20migrate:\x20'+_0x45c663[_0x199baa(0xf2)][_0x199baa(0x145)](',\x20')),console[_0x199baa(0x155)](_0x199baa(0x10f))):console[_0x199baa(0x155)](a177_0x41aefe[_0x199baa(0x10d)](_0x199baa(0x108))+'\x20\x20'+a177_0x41aefe['gray'](_0x199baa(0x10a)));console['log']('');if(_0x565482[_0x199baa(0x13f)]>0x0){console[_0x199baa(0x155)](a177_0x41aefe[_0x199baa(0x10d)]('Legacy\x20artifacts:'));for(const _0x393c25 of _0x565482){console[_0x199baa(0x155)]('\x20\x20'+a177_0x41aefe[_0x199baa(0x169)](_0x199baa(0x167))+'\x20\x20'+_0x393c25);}console['log']('\x20\x20Action:\x20delete');}else console['log'](a177_0x41aefe[_0x199baa(0x10d)](_0x199baa(0xf3))+'\x20\x20'+a177_0x41aefe['gray'](_0x199baa(0x100)));console['log']('');_0x45054e?(console[_0x199baa(0x155)](a177_0x41aefe[_0x199baa(0x10d)](_0x199baa(0xf4))+('\x20\x20'+a177_0x41aefe[_0x199baa(0xff)](_0x45054e[_0x199baa(0x123)])+_0x199baa(0x15e)+_0x45054e[_0x199baa(0xfc)]['join'](',\x20'))),console[_0x199baa(0x155)](_0x199baa(0x166))):console[_0x199baa(0x155)](a177_0x41aefe[_0x199baa(0x10d)](_0x199baa(0xf4))+'\x20\x20'+a177_0x41aefe[_0x199baa(0x111)]('no\x20legacy\x20entry'));console[_0x199baa(0x155)](''),console['log'](a177_0x41aefe['cyan'](_0x199baa(0x170))+('\x20\x20'+(_0x32a278?a177_0x41aefe['yellow']('needed'):a177_0x41aefe[_0x199baa(0x130)](_0x199baa(0x133)))));_0x32a278&&console[_0x199baa(0x155)]('\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`'+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console[_0x199baa(0x155)]('');if(_0x20fcf7[_0x199baa(0x119)]){const {currentVersion:_0x23f0c3,field:_0x5ac817,pkgPath:_0x93bfd9}=_0x20fcf7[_0x199baa(0x119)];console[_0x199baa(0x155)](a177_0x41aefe['cyan'](_0x199baa(0x16f))+('\x20\x20'+a177_0x41aefe[_0x199baa(0xff)](_0x93bfd9))),console[_0x199baa(0x155)](_0x199baa(0x12b)+_0x5ac817+':\x20'+a177_0x41aefe[_0x199baa(0xff)](_0x23f0c3)+'\x20→\x20'+a177_0x41aefe[_0x199baa(0x130)](_0x199baa(0x107))),console['log'](_0x199baa(0x160));}else console[_0x199baa(0x155)](a177_0x41aefe[_0x199baa(0x10d)]('@lovrabet/sdk:')+'\x20\x20'+a177_0x41aefe[_0x199baa(0x111)](_0x199baa(0x129)));console[_0x199baa(0x155)]('');}function execConfigMigration(_0x1df987,_0x44dd12){const _0x415b51=a177_0x56b8d7,{configMigration:_0x3f2a28}=_0x1df987;if(!_0x3f2a28?.[_0x415b51(0x118)])return{'step':0x1,'label':_0x415b51(0x131),'ok':!![],'detail':'skipped\x20(no\x20legacy\x20config)'};const _0x4d616b=readConfigFile(_0x3f2a28[_0x415b51(0x118)]),_0xc6d82c=resolve(_0x44dd12,NEW_CONFIG_NAME),_0x17f8ec=_0x3f2a28[_0x415b51(0x148)]?readConfigFile(_0xc6d82c):{};for(const [_0x44316d,_0x75fb93]of Object[_0x415b51(0x147)](_0x4d616b)){!(_0x44316d in _0x17f8ec)&&(_0x17f8ec[_0x44316d]=_0x75fb93);}writeConfigFile(_0xc6d82c,_0x17f8ec);const _0x775feb=_0x3f2a28[_0x415b51(0x118)]+_0x415b51(0x125);return renameSync(_0x3f2a28['oldPath'],_0x775feb),{'step':0x1,'label':_0x415b51(0x131),'ok':!![],'detail':_0x3f2a28[_0x415b51(0x118)]+_0x415b51(0x13a)+_0xc6d82c+'\x20(backup:\x20'+_0x775feb+')'};}function execRemoveOldArtifacts(_0x57721d){const _0x2f5f66=a177_0x56b8d7,_0x479bff=[];for(const _0x3f8a63 of _0x57721d){try{if(!existsSync(_0x3f8a63))continue;const _0x46599e=tryStat(_0x3f8a63);_0x46599e?.['isDirectory']()?rmSync(_0x3f8a63,{'recursive':!![],'force':!![]}):unlinkSync(_0x3f8a63);}catch(_0x32b37e){_0x479bff[_0x2f5f66(0x136)](_0x3f8a63+':\x20'+_0x32b37e[_0x2f5f66(0x14b)]);}}return{'step':0x3,'label':_0x2f5f66(0xf7),'ok':_0x479bff[_0x2f5f66(0x13f)]===0x0,'detail':_0x479bff['length']>0x0?_0x57721d[_0x2f5f66(0x13f)]-_0x479bff['length']+'/'+_0x57721d[_0x2f5f66(0x13f)]+_0x2f5f66(0x15c)+_0x479bff[_0x2f5f66(0x145)](';\x20')+')':_0x57721d[_0x2f5f66(0x13f)]+_0x2f5f66(0xf1)};}function execCleanMcp(_0x14922a){const _0xf51d8b=a177_0x56b8d7;if(!_0x14922a['oldMcpConfig'])return{'step':0x4,'label':_0xf51d8b(0x127),'ok':!![],'detail':_0xf51d8b(0xee)};try{const _0x4b9518=readFileSync(_0x14922a[_0xf51d8b(0x132)]['path'],_0xf51d8b(0x113)),_0x39b7e5=JSON[_0xf51d8b(0x156)](_0x4b9518);if(_0x39b7e5?.[_0xf51d8b(0x16d)]&&typeof _0x39b7e5[_0xf51d8b(0x16d)]===_0xf51d8b(0x110)){const _0x1d7690=[];for(const [_0xfe3b3f,_0x23a4e5]of Object['entries'](_0x39b7e5[_0xf51d8b(0x16d)])){_0x23a4e5?.['args']&&Array[_0xf51d8b(0x124)](_0x23a4e5['args'])&&_0x23a4e5[_0xf51d8b(0x158)][_0xf51d8b(0x120)](_0x3d15d0=>typeof _0x3d15d0===_0xf51d8b(0xef)&&_0x3d15d0[_0xf51d8b(0x163)]('@lovrabet/dataset-mcp-server'))&&_0x1d7690['push'](_0xfe3b3f);}for(const _0x12ca16 of _0x1d7690){delete _0x39b7e5[_0xf51d8b(0x16d)][_0x12ca16];}return _0x1d7690[_0xf51d8b(0x13f)]>0x0&&writeFileSync(_0x14922a[_0xf51d8b(0x132)][_0xf51d8b(0x123)],JSON[_0xf51d8b(0x14c)](_0x39b7e5,null,0x2)+'\x0a','utf8'),{'step':0x4,'label':_0xf51d8b(0x127),'ok':!![],'detail':_0xf51d8b(0x157)+_0x1d7690[_0xf51d8b(0x145)](',\x20')+_0xf51d8b(0x16a)+_0x14922a['oldMcpConfig'][_0xf51d8b(0x123)]};}return{'step':0x4,'label':'Clean\x20MCP\x20config','ok':!![],'detail':_0xf51d8b(0x12c)};}catch(_0x4f7a01){return{'step':0x4,'label':'Clean\x20MCP\x20config','ok':![],'detail':_0x4f7a01['message']};}}function execSkillsRemove(_0x164813,_0x39488c){const _0x8a13a7=a177_0x56b8d7,_0x9bd62d=runNpxSkillsRemove(_0x164813,{'stdio':_0x8a13a7(0xfe),'yes':_0x39488c});return{'step':0x5,'label':_0x8a13a7(0xf0),'ok':_0x9bd62d['ok'],'detail':_0x9bd62d['ok']?_0x8a13a7(0x140):_0x9bd62d[_0x8a13a7(0x168)]??_0x8a13a7(0x13c)+_0x9bd62d[_0x8a13a7(0x10e)]};}function execSkillsAdd(_0x5882da,_0x28c92b){const _0x24d176=a177_0x56b8d7,_0x3b296b=runNpxSkillsAddGlobal(_0x5882da,_0x24d176(0x116),{'stdio':_0x24d176(0xfe),'yes':_0x28c92b});return{'step':0x6,'label':_0x24d176(0xf8),'ok':_0x3b296b['ok'],'detail':_0x3b296b['ok']?'lovrabet/rabetbase\x20installed\x20globally':_0x3b296b['error']??_0x24d176(0x13c)+_0x3b296b[_0x24d176(0x10e)]};}function a177_0xa052(){const _0xf077c=['lovrabet/lovrabet-skill\x20removed','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','undefined','failed','Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20','join','Step\x206/7:\x20Installing\x20new\x20skill...','entries','hasNewConfig','16681fdqTBX','Upgrade\x20cancelled.','message','stringify','Step\x204/7:\x20Cleaning\x20MCP\x20config...','.claude/skills/lovrabet','bold','succeed','.lovrabet','@lovrabet/sdk','cwd','Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.','log','parse','removed\x20','args','\x20→\x20latest','done','Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20','\x20removed\x20(','Step\x205/7:\x20Removing\x20old\x20skill...','\x20→\x20keys:\x20','Proceed\x20with\x20upgrade?','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','14LLtxvF','filter','includes','needsSkillSwap','Remove\x20.lovrabet/','\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server','FOUND','error','red','\x20from\x20','\x20\x20bun\x20install','Upgrade\x20@lovrabet/sdk','mcpServers','.lovrabetrc','@lovrabet/sdk:','Skill\x20swap:','2930DxUsJh','Step\x201/7:\x20Config\x20migration\x20—\x20','.lovrabet.json','skipped','string','Remove\x20old\x20skill','\x20removed','fields','Legacy\x20artifacts:','MCP\x20config:','label','files','Remove\x20legacy\x20artifacts','Install\x20new\x20skill','284656qjQHOt','17649LkOPDb','.cursor/mcp.json','keys','[\x22@lovrabet/sdk\x22]:\x20','inherit','yellow','none\x20found','Step\x201/7:\x20Migrating\x20config...','Step\x204/7:\x20MCP\x20config\x20—\x20','Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','16871217cAkGBY','\x20\x20npm\x20install','not\x20found\x20(will\x20create)','latest','Config\x20file:','1002ZvxmNe','no\x20legacy\x20config\x20found','yes','\x20\x20Step\x20','cyan','status','\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak','object','gray','fail','utf8','Step\x202/7:\x20.lovrabet/\x20directory\x20removed','No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.','lovrabet/rabetbase','info','oldPath','sdkUpgrade','oldArtifacts','detail','start','Step\x203/7:\x20Legacy\x20artifacts\x20—\x20','dependencies','133813PTePhG','some','3648080JNrFRw','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','path','isArray','.bak','white','Clean\x20MCP\x20config','501616lUUdpn','not\x20found\x20or\x20already\x20at\x20latest','9sAzjPy','\x20\x20Current\x20version\x20in\x20','no\x20matching\x20entry\x20found','\x20\x20\x20\x20\x20\x20\x20','Upgrade\x20completed\x20successfully!','.cursor/rules/lovrabet_rules.mdc','green','Config\x20migration','oldMcpConfig','not\x20needed','CANCEL','Step\x207/7:\x20@lovrabet/sdk\x20—\x20','push','===\x20Upgrade\x20Analysis\x20===','@lovrabet/dataset-mcp-server','already\x20exists\x20(will\x20merge)','\x20→\x20','devDependencies','exit\x20','FAIL','Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped','length'];a177_0xa052=function(){return _0xf077c;};return a177_0xa052();}function execUpgradeSdk(_0x19a3e0){const _0x20a57c=a177_0x56b8d7;if(!_0x19a3e0[_0x20a57c(0x119)])return{'step':0x7,'label':'Upgrade\x20@lovrabet/sdk','ok':!![],'detail':'skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)'};const {pkgPath:_0xb4a10a,currentVersion:_0x454979,field:_0x2543a7}=_0x19a3e0[_0x20a57c(0x119)];try{const _0x2322fc=readFileSync(_0xb4a10a,'utf8'),_0x2a67d3=JSON['parse'](_0x2322fc);return _0x2a67d3[_0x2543a7][_0x20a57c(0x152)]=_0x20a57c(0x107),writeFileSync(_0xb4a10a,JSON[_0x20a57c(0x14c)](_0x2a67d3,null,0x2)+'\x0a',_0x20a57c(0x113)),{'step':0x7,'label':'Upgrade\x20@lovrabet/sdk','ok':!![],'detail':_0x2543a7+_0x20a57c(0xfd)+_0x454979+_0x20a57c(0x159)};}catch(_0x29be2d){return{'step':0x7,'label':_0x20a57c(0x16c),'ok':![],'detail':_0x29be2d[_0x20a57c(0x14b)]};}}function tryStat(_0x1c1054){try{return statSync(_0x1c1054);}catch{return undefined;}}function printSummary(_0xab7481){const _0x587f86=a177_0x56b8d7;console[_0x587f86(0x155)](''),console[_0x587f86(0x155)](a177_0x41aefe[_0x587f86(0x14f)]('===\x20Upgrade\x20Summary\x20===')),console[_0x587f86(0x155)]('');for(const _0x39063b of _0xab7481){const _0x25c9d0=_0x39063b['ok']?a177_0x41aefe[_0x587f86(0x130)]('OK'):a177_0x41aefe[_0x587f86(0x169)](_0x587f86(0x13d));console['log']('\x20\x20'+_0x25c9d0+_0x587f86(0x10c)+_0x39063b['step']+':\x20'+_0x39063b[_0x587f86(0xf5)]);if(_0x39063b[_0x587f86(0x11b)])console[_0x587f86(0x155)](_0x587f86(0x12d)+a177_0x41aefe[_0x587f86(0x111)](_0x39063b[_0x587f86(0x11b)]));}console[_0x587f86(0x155)]('');}export async function upgradeApp(_0x100ad3,_0x3ce145){const _0x5e5fcb=a177_0x56b8d7,_0x1ee9d0=process[_0x5e5fcb(0x153)](),_0x508cd2=analyse(_0x1ee9d0),_0x2a2860=!_0x508cd2['configMigration']&&_0x508cd2[_0x5e5fcb(0x11a)]['length']===0x0&&!_0x508cd2[_0x5e5fcb(0x132)]&&!_0x508cd2[_0x5e5fcb(0x164)]&&!_0x508cd2[_0x5e5fcb(0x119)];if(_0x2a2860){console[_0x5e5fcb(0x155)](a177_0x41aefe[_0x5e5fcb(0x130)](_0x5e5fcb(0x115)));return;}printReport(_0x508cd2);const _0xa9706b=!!(_0x3ce145[_0x5e5fcb(0x10b)]||_0x3ce145['Y']||_0x100ad3);if(!_0xa9706b)try{const _0x548446=await askConfirm(_0x5e5fcb(0x15f));if(!_0x548446){console[_0x5e5fcb(0x155)](a177_0x41aefe[_0x5e5fcb(0x111)]('Upgrade\x20cancelled.'));return;}}catch(_0x1a178d){if(_0x1a178d?.[_0x5e5fcb(0x14b)]===_0x5e5fcb(0x134)){console['log'](a177_0x41aefe[_0x5e5fcb(0x111)](_0x5e5fcb(0x14a)));return;}throw _0x1a178d;}const _0x4e4507=[],_0x525b18=a177_0x5b82b8({'text':_0x5e5fcb(0x101),'color':'cyan'})['start'](),_0x28c8a9=execConfigMigration(_0x508cd2,_0x1ee9d0);_0x4e4507['push'](_0x28c8a9),_0x525b18[_0x28c8a9['ok']?_0x5e5fcb(0x150):_0x5e5fcb(0x112)](_0x5e5fcb(0xec)+(_0x28c8a9[_0x5e5fcb(0x11b)]??(_0x28c8a9['ok']?_0x5e5fcb(0x15a):_0x5e5fcb(0x143))));const _0x471974=resolve(_0x1ee9d0,_0x5e5fcb(0x151)),_0x5ab628=a177_0x5b82b8({'text':'Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','color':_0x5e5fcb(0x10d)})[_0x5e5fcb(0x11c)]();if(existsSync(_0x471974))try{rmSync(_0x471974,{'recursive':!![],'force':!![]}),_0x5ab628[_0x5e5fcb(0x150)](_0x5e5fcb(0x114)),_0x4e4507[_0x5e5fcb(0x136)]({'step':0x2,'label':_0x5e5fcb(0x165),'ok':!![]});}catch(_0x233256){_0x5ab628[_0x5e5fcb(0x112)](_0x5e5fcb(0x15b)+_0x233256[_0x5e5fcb(0x14b)]),_0x4e4507[_0x5e5fcb(0x136)]({'step':0x2,'label':'Remove\x20.lovrabet/','ok':![],'detail':_0x233256[_0x5e5fcb(0x14b)]});}else _0x5ab628[_0x5e5fcb(0x117)](_0x5e5fcb(0x13e)),_0x4e4507['push']({'step':0x2,'label':_0x5e5fcb(0x165),'ok':!![],'detail':'skipped'});const _0x283fb7=a177_0x5b82b8({'text':'Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','color':_0x5e5fcb(0x10d)})['start'](),_0x39f9a5=execRemoveOldArtifacts(_0x508cd2[_0x5e5fcb(0x11a)]);_0x4e4507['push'](_0x39f9a5),_0x283fb7[_0x39f9a5['ok']?'succeed':_0x5e5fcb(0x112)](_0x5e5fcb(0x11d)+(_0x39f9a5[_0x5e5fcb(0x11b)]??(_0x39f9a5['ok']?_0x5e5fcb(0x15a):_0x5e5fcb(0x143))));const _0x5f483a=a177_0x5b82b8({'text':_0x5e5fcb(0x14d),'color':'cyan'})[_0x5e5fcb(0x11c)](),_0x4de4fa=execCleanMcp(_0x508cd2);_0x4e4507[_0x5e5fcb(0x136)](_0x4de4fa),_0x5f483a[_0x4de4fa['ok']?'succeed':'fail'](_0x5e5fcb(0x102)+(_0x4de4fa['detail']??(_0x4de4fa['ok']?_0x5e5fcb(0x15a):_0x5e5fcb(0x143))));const _0x58de04=a177_0x5b82b8({'text':_0x5e5fcb(0x15d),'color':_0x5e5fcb(0x10d)})[_0x5e5fcb(0x11c)](),_0x3e4996=execSkillsRemove(_0x1ee9d0,_0xa9706b);_0x4e4507['push'](_0x3e4996),_0x58de04[_0x3e4996['ok']?_0x5e5fcb(0x150):_0x5e5fcb(0x112)](_0x5e5fcb(0x144)+(_0x3e4996[_0x5e5fcb(0x11b)]??(_0x3e4996['ok']?'done':_0x5e5fcb(0x143))));const _0x223fb8=a177_0x5b82b8({'text':_0x5e5fcb(0x146),'color':'cyan'})[_0x5e5fcb(0x11c)](),_0x4980a2=execSkillsAdd(_0x1ee9d0,_0xa9706b);_0x4e4507[_0x5e5fcb(0x136)](_0x4980a2),_0x223fb8[_0x4980a2['ok']?_0x5e5fcb(0x150):'fail'](_0x5e5fcb(0x122)+(_0x4980a2[_0x5e5fcb(0x11b)]??(_0x4980a2['ok']?_0x5e5fcb(0x15a):_0x5e5fcb(0x143))));const _0x430e24=a177_0x5b82b8({'text':_0x5e5fcb(0x141),'color':_0x5e5fcb(0x10d)})[_0x5e5fcb(0x11c)](),_0x2693af=execUpgradeSdk(_0x508cd2);_0x4e4507[_0x5e5fcb(0x136)](_0x2693af),_0x430e24[_0x2693af['ok']?_0x5e5fcb(0x150):'fail'](_0x5e5fcb(0x135)+(_0x2693af['detail']??(_0x2693af['ok']?_0x5e5fcb(0x15a):_0x5e5fcb(0x143)))),printSummary(_0x4e4507);const _0x473703=_0x4e4507[_0x5e5fcb(0x120)](_0x29c6bc=>!_0x29c6bc['ok']);_0x473703?console[_0x5e5fcb(0x155)](a177_0x41aefe[_0x5e5fcb(0xff)](_0x5e5fcb(0x154))):console[_0x5e5fcb(0x155)](a177_0x41aefe[_0x5e5fcb(0x130)](_0x5e5fcb(0x12e))),_0x2693af['ok']&&_0x508cd2[_0x5e5fcb(0x119)]&&(console['log'](''),console[_0x5e5fcb(0x155)](a177_0x41aefe['bold'][_0x5e5fcb(0x10d)]('@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.')),console['log'](a177_0x41aefe[_0x5e5fcb(0x10d)](_0x5e5fcb(0x103))),console['log'](''),console[_0x5e5fcb(0x155)](a177_0x41aefe[_0x5e5fcb(0x126)](_0x5e5fcb(0x105))),console[_0x5e5fcb(0x155)](a177_0x41aefe[_0x5e5fcb(0x126)]('\x20\x20#\x20or')),console[_0x5e5fcb(0x155)](a177_0x41aefe[_0x5e5fcb(0x126)](_0x5e5fcb(0x16b))),console[_0x5e5fcb(0x155)](''));}
@@ -1 +1 @@
1
- const a173_0xe72ef0=a173_0x4514;(function(_0x264eda,_0x223d5e){const _0x7f75ab=a173_0x4514,_0x397df3=_0x264eda();while(!![]){try{const _0x2a408f=-parseInt(_0x7f75ab(0xe2))/0x1+parseInt(_0x7f75ab(0x12b))/0x2+parseInt(_0x7f75ab(0x12e))/0x3+-parseInt(_0x7f75ab(0x10e))/0x4+-parseInt(_0x7f75ab(0xe7))/0x5+-parseInt(_0x7f75ab(0x144))/0x6*(parseInt(_0x7f75ab(0x139))/0x7)+parseInt(_0x7f75ab(0x109))/0x8*(parseInt(_0x7f75ab(0xf5))/0x9);if(_0x2a408f===_0x223d5e)break;else _0x397df3['push'](_0x397df3['shift']());}catch(_0x4c01c9){_0x397df3['push'](_0x397df3['shift']());}}}(a173_0x2a07,0x9fd43));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{dbDefinitions}from'../commands/db/index.js';import{codegenDefinitions}from'../commands/codegen/index.js';import{menuDefinitions}from'../commands/menu/index.js';import{taskDefinitions}from'../commands/task/index.js';import{tenantDefinitions}from'../commands/tenant/index.js';import{roleDefinitions}from'../commands/role/index.js';import{appDefinitions}from'../commands/app/index.js';function a173_0x2a07(){const _0x5e88be=['rabetbase\x20project\x20create\x20<project-name>','`\x20has\x20been\x20removed.','bff:new','Configuration','API\x20Development','Schema','service','permit:page-get','install','Notification\x20Configuration','build','description','page:react-detail','OCR','rabetbase\x20sql\x20create\x20--name\x20<name>\x20--db-id\x20<id>\x20--mode\x20sql|mybatisXml','Database\x20Connections','lovrabet\x20data\x20getOne\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22id\x22:123}\x27','skills:','701036ODaExf','Run\x20any\x20package.json\x20script','knowledge-base:create','887229PgXdhQ','rabetbase\x20run\x20preview','Project','rabetbase\x20sql\x20create','skill:','rabetbase\x20workspace\x20use\x20--app\x20<name>','\x20\x20[','values','role:create','CLI\x20Built-in\x20Skill','set','56AQiLKL','rabetbase\x20auth\x20logout','User\x20Accounts','rabetbase\x20kb\x20update','hidden','app:remote','Async\x20Tasks','rabetbase\x20run\x20start','rabetbase\x20page\x20custom-detail','has','start','533982QBpQeH','knowledge-base:delete','Workspace','isSingleCommand','get','rabetbase\x20cli-skill\x20install','Authentication','knowledge-base:detail','sql:save','read','Diagnostics','create','rabetbase\x20workspace\x20remove\x20<name>','defaultCommand','398641rbJQxs','knowledge-base:update','rabetbase\x20kb\x20delete','permit:role-apis-set','permit:page-set','4608960YxAPei','rabetbase\x20run\x20build','rabetbase\x20menu\x20asset-update','Data\x20List\x20Pages\x20&\x20Custom\x20Pages','SQL\x20Queries','app:use','Company\x20Knowledge\x20Base','rabetbase\x20page\x20custom-update','from','rabetbase\x20app\x20list\x20--remote','data:filter','No\x20executable\x20CLI\x20replacement\x20is\x20available\x20under\x20the\x20current\x20server\x20authentication\x20contract.','Backend\x20Function\x20Scripts','skill:install','99FlEQIU','risk','page:react-create','Platform\x20Issue','Menu','page:react-update','Self\x20Update','Run\x20Scripts','`rabetbase\x20','<script>','permit:role-menus','menu:update','commands','rabetbase\x20kb\x20create','Code\x20Generation','permit:role-menus-set','show','lovrabet\x20data\x20filter\x20--code\x20<datasetCode>\x20--params\x20\x27<json>\x27','app:add','page:custom-create','2103208KUgjpE','Tenant\x20Members','skills:install','rabetbase\x20bff\x20create','\x20\x20[high-risk-write]','3404416BPXXSD','project:init','command','write','page:standard-page-status','Logs','app:remove','wildcardDef','rabetbase\x20page\x20create\x20--page-pattern\x20BLANK','App\x20Management','File'];a173_0x2a07=function(){return _0x5e88be;};return a173_0x2a07();}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{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(_0x1cb05b){const _0x253217=a173_0x4514;for(const _0x42894d of _0x1cb05b){definitions['set'](_0x42894d[_0x253217(0x11f)]+':'+_0x42894d[_0x253217(0x110)],_0x42894d);let _0x2af7a7=serviceGroups[_0x253217(0x148)](_0x42894d['service']);!_0x2af7a7&&(_0x2af7a7=[],serviceGroups[_0x253217(0x138)](_0x42894d['service'],_0x2af7a7)),_0x2af7a7['push'](_0x42894d);}}function registerDeclarativeService(_0x4b2f73,_0x3263de,_0x5c000e){const _0x477fad=a173_0x4514;registerDefinitions(_0x3263de);_0x5c000e?.[_0x477fad(0x115)]&&registerDefinitions([_0x5c000e[_0x477fad(0x115)]]);const _0x249dcc=_0x3faea7=>_0x3faea7===_0x477fad(0x14d)?'':_0x3faea7===_0x477fad(0x111)?'\x20\x20[write]':_0x477fad(0x10d),_0x407285={'service':_0x3263de[0x0][_0x477fad(0x11f)],'label':_0x4b2f73,'commands':_0x3263de['filter'](_0x3ac56f=>!_0x3ac56f[_0x477fad(0x13d)])['map'](_0x271fe8=>({'command':_0x271fe8[_0x477fad(0x110)],'description':_0x271fe8[_0x477fad(0x124)],'tag':_0x249dcc(_0x271fe8[_0x477fad(0xf6)])})),'declarative':!![],'defaultCommand':_0x5c000e?.[_0x477fad(0xe1)]??(_0x5c000e?.[_0x477fad(0x147)]?_0x3263de[0x0][_0x477fad(0x110)]:undefined),'wildcardDef':_0x5c000e?.[_0x477fad(0x115)],'isSingleCommand':_0x5c000e?.[_0x477fad(0x147)]};serviceRegistry['push'](_0x407285),serviceByName[_0x477fad(0x138)](_0x407285['service'],_0x407285);}registerDeclarativeService(a173_0xe72ef0(0x130),projectDefinitions),registerDeclarativeService(a173_0xe72ef0(0x146),workspaceDefinitions),registerDeclarativeService(a173_0xe72ef0(0x117),appDefinitions),registerDeclarativeService(a173_0xe72ef0(0x14a),authDefinitions,{'defaultCommand':'login'}),registerDeclarativeService(a173_0xe72ef0(0x10a),tenantDefinitions),registerDeclarativeService(a173_0xe72ef0(0x13b),userAccountDefinitions),registerDeclarativeService('Dataset\x20&\x20Operations',datasetDefinitions),registerDeclarativeService(a173_0xe72ef0(0xea),pageDefinitions),registerDeclarativeService(a173_0xe72ef0(0x11d),apiDefinitions),registerDeclarativeService(a173_0xe72ef0(0xf3),bffDefinitions),registerDeclarativeService(a173_0xe72ef0(0x122),notificationDefinitions),registerDeclarativeService(a173_0xe72ef0(0xeb),sqlDefinitions),registerDeclarativeService(a173_0xe72ef0(0x128),dbDefinitions),registerDeclarativeService(a173_0xe72ef0(0xf9),menuDefinitions),registerDeclarativeService(a173_0xe72ef0(0x13f),taskDefinitions),registerDeclarativeService('Roles',roleDefinitions),registerDeclarativeService('Runtime\x20App\x20Config\x20Management',appConfigDefinitions),registerDeclarativeService(a173_0xe72ef0(0xed),kbDefinitions),registerDeclarativeService(a173_0xe72ef0(0xf8),issueDefinitions),registerDeclarativeService(a173_0xe72ef0(0x118),fileDefinitions),registerDeclarativeService(a173_0xe72ef0(0x126),ocrDefinitions),registerDeclarativeService(a173_0xe72ef0(0x103),codegenDefinitions),registerDeclarativeService(a173_0xe72ef0(0x11c),configDefinitions),registerDeclarativeService(a173_0xe72ef0(0xde),[doctorDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a173_0xe72ef0(0x11e),[schemaDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a173_0xe72ef0(0xfb),[updateDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a173_0xe72ef0(0x137),cliSkillDefinitions,{'defaultCommand':a173_0xe72ef0(0x121)}),registerDeclarativeService(a173_0xe72ef0(0x113),logsDefinitions,{'defaultCommand':a173_0xe72ef0(0x105)}),registerDeclarativeService(a173_0xe72ef0(0xfc),[runDefinition],{'wildcardDef':runDefinition});{const last=serviceRegistry[serviceRegistry['length']-0x1];last[a173_0xe72ef0(0x101)]=[{'command':a173_0xe72ef0(0xfe),'description':a173_0xe72ef0(0x12c),'tag':a173_0xe72ef0(0x134)+runDefinition[a173_0xe72ef0(0xf6)]+']'}];}const REMOVED_COMMAND_REPLACEMENTS=new Map([[a173_0xe72ef0(0x14c),a173_0xe72ef0(0x127)],[a173_0xe72ef0(0x11b),a173_0xe72ef0(0x10c)],['sql:new',a173_0xe72ef0(0x131)],[a173_0xe72ef0(0x100),a173_0xe72ef0(0xe9)],[a173_0xe72ef0(0x10f),'rabetbase\x20workspace\x20init\x20--appcode\x20<code>'],[a173_0xe72ef0(0x132),a173_0xe72ef0(0x149)],[a173_0xe72ef0(0xf4),a173_0xe72ef0(0x149)],[a173_0xe72ef0(0x12a),a173_0xe72ef0(0x149)],[a173_0xe72ef0(0x10b),a173_0xe72ef0(0x149)],[a173_0xe72ef0(0x13e),a173_0xe72ef0(0xf0)],[a173_0xe72ef0(0xec),a173_0xe72ef0(0x133)],[a173_0xe72ef0(0x107),'rabetbase\x20workspace\x20add\x20<name>\x20--appcode\x20<code>'],[a173_0xe72ef0(0x114),a173_0xe72ef0(0xe0)],['knowledge-base:list','rabetbase\x20kb\x20list'],[a173_0xe72ef0(0x14b),'rabetbase\x20kb\x20detail'],[a173_0xe72ef0(0x12d),a173_0xe72ef0(0x102)],[a173_0xe72ef0(0xe3),a173_0xe72ef0(0x13c)],[a173_0xe72ef0(0x145),a173_0xe72ef0(0xe4)],[a173_0xe72ef0(0x136),'rabetbase\x20role\x20list'],[a173_0xe72ef0(0xf1),a173_0xe72ef0(0x106)],['data:getOne',a173_0xe72ef0(0x129)],[a173_0xe72ef0(0x112),'rabetbase\x20page\x20data-list-status'],[a173_0xe72ef0(0xf7),a173_0xe72ef0(0x116)],[a173_0xe72ef0(0x108),a173_0xe72ef0(0x116)],['page:react-list','rabetbase\x20page\x20custom-list'],[a173_0xe72ef0(0x125),a173_0xe72ef0(0x141)],[a173_0xe72ef0(0xfa),a173_0xe72ef0(0xee)],['page:react-publish','rabetbase\x20page\x20custom-publish']]),REMOVED_COMMAND_HINTS=new Map([[a173_0xe72ef0(0x120),a173_0xe72ef0(0xf2)],[a173_0xe72ef0(0xe6),'No\x20executable\x20CLI\x20replacement\x20is\x20available\x20under\x20the\x20current\x20server\x20authentication\x20contract.'],[a173_0xe72ef0(0xff),a173_0xe72ef0(0xf2)],[a173_0xe72ef0(0x104),a173_0xe72ef0(0xf2)],[a173_0xe72ef0(0xe5),a173_0xe72ef0(0xf2)]]),REMOVED_FLAT_COMMAND_REPLACEMENTS=new Map([[a173_0xe72ef0(0xdf),a173_0xe72ef0(0x119)],[a173_0xe72ef0(0x143),a173_0xe72ef0(0x140)],[a173_0xe72ef0(0x123),a173_0xe72ef0(0xe8)],['preview',a173_0xe72ef0(0x12f)],['logout',a173_0xe72ef0(0x13a)]]);export function resolveRemovedCommand(_0x38b348,_0x316760){const _0x3cb094=a173_0xe72ef0;if(!_0x38b348)return undefined;const _0x337c38=REMOVED_COMMAND_REPLACEMENTS['get'](_0x38b348+':'+(_0x316760??'')),_0xe6c2c7=REMOVED_FLAT_COMMAND_REPLACEMENTS[_0x3cb094(0x148)](_0x38b348),_0x3a87c2=_0x337c38??_0xe6c2c7,_0x379f2c=REMOVED_COMMAND_HINTS[_0x3cb094(0x148)](_0x38b348+':'+(_0x316760??''));if(!_0x3a87c2&&!_0x379f2c)return undefined;const _0x28bca3=_0xe6c2c7?_0x38b348:_0x316760?_0x38b348+'\x20'+_0x316760:_0x38b348;return{'command':_0x28bca3,'message':_0x3cb094(0xfd)+_0x28bca3+_0x3cb094(0x11a),'hint':_0x379f2c??'Use\x20`'+_0x3a87c2+'`\x20instead.'};}function a173_0x4514(_0x1736d8,_0x2c2f0c){_0x1736d8=_0x1736d8-0xde;const _0x2a07e1=a173_0x2a07();let _0x4514b3=_0x2a07e1[_0x1736d8];return _0x4514b3;}export function findDefinition(_0x504ce9,_0x458be5){const _0x3f7d49=a173_0xe72ef0;return definitions[_0x3f7d49(0x148)](_0x504ce9+':'+_0x458be5);}export function isKnownService(_0x5a6ac9){const _0x200adc=a173_0xe72ef0;return serviceByName[_0x200adc(0x142)](_0x5a6ac9);}export function isDeclarativeService(_0x98b630){const _0x4b1303=a173_0xe72ef0;return serviceGroups[_0x4b1303(0x142)](_0x98b630)||serviceByName[_0x4b1303(0x148)](_0x98b630)?.['wildcardDef']!==undefined;}export function getServiceEntry(_0x311490){return serviceByName['get'](_0x311490);}export function getLegacyHandler(_0x42c343,_0xf07dc2){return undefined;}export function getAllDefinitions(){const _0x4a5056=a173_0xe72ef0;return Array[_0x4a5056(0xef)](definitions[_0x4a5056(0x135)]());}
1
+ const a178_0x13b4d9=a178_0x5088;(function(_0x1ad2f1,_0x2a8f45){const _0x5653e0=a178_0x5088,_0x24d6bd=_0x1ad2f1();while(!![]){try{const _0x116bfe=-parseInt(_0x5653e0(0x17b))/0x1*(-parseInt(_0x5653e0(0x16c))/0x2)+-parseInt(_0x5653e0(0x153))/0x3+parseInt(_0x5653e0(0x162))/0x4+parseInt(_0x5653e0(0x15b))/0x5+-parseInt(_0x5653e0(0x184))/0x6*(-parseInt(_0x5653e0(0x17c))/0x7)+-parseInt(_0x5653e0(0x160))/0x8*(parseInt(_0x5653e0(0x165))/0x9)+-parseInt(_0x5653e0(0x166))/0xa;if(_0x116bfe===_0x2a8f45)break;else _0x24d6bd['push'](_0x24d6bd['shift']());}catch(_0x357907){_0x24d6bd['push'](_0x24d6bd['shift']());}}}(a178_0x200a,0x6a9de));import{apiDefinitions}from'../commands/api/index.js';import{bffDefinitions}from'../commands/bff/index.js';function a178_0x5088(_0x171245,_0x40bd0b){_0x171245=_0x171245-0x138;const _0x200aba=a178_0x200a();let _0x5088ff=_0x200aba[_0x171245];return _0x5088ff;}import{sqlDefinitions}from'../commands/sql/index.js';import{datasetDefinitions}from'../commands/dataset/index.js';import{pageDefinitions}from'../commands/page/index.js';import{dbDefinitions}from'../commands/db/index.js';import{deploymentDefinitions}from'../commands/deployment/index.js';import{codegenDefinitions}from'../commands/codegen/index.js';import{menuDefinitions}from'../commands/menu/index.js';import{taskDefinitions}from'../commands/task/index.js';import{tenantDefinitions}from'../commands/tenant/index.js';import{roleDefinitions}from'../commands/role/index.js';import{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{runDefinition}from'../commands/run/index.js';export const serviceRegistry=[];const serviceByName=new Map();function a178_0x200a(){const _0x31dadc=['start','Platform\x20Issue','rabetbase\x20bff\x20create','Use\x20`','API\x20Development','Schema','rabetbase\x20workspace\x20use\x20--app\x20<name>','preview','Self\x20Update','commands','User\x20Accounts','page:react-publish','Authentication','service','rabetbase\x20page\x20data-list-status','page:custom-create','\x20\x20[write]','page:react-list','Run\x20Scripts','risk','defaultCommand','rabetbase\x20kb\x20update','<script>','Workspace','sql:new','description','knowledge-base:create','lovrabet\x20data\x20getOne\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22id\x22:123}\x27','rabetbase\x20page\x20custom-update','`\x20instead.','Project','rabetbase\x20kb\x20create','388080TKdmwW','logout','rabetbase\x20kb\x20detail','permit:role-apis-set','rabetbase\x20app\x20list\x20--remote','menu:update','skills:install','rabetbase\x20cli-skill\x20install','3385745aANvqu','Notification\x20Configuration','permit:page-set','command','rabetbase\x20workspace\x20remove\x20<name>','1154960ZSGgmA','install','2697396RrLUEE','No\x20executable\x20CLI\x20replacement\x20is\x20available\x20under\x20the\x20current\x20server\x20authentication\x20contract.','get','9OJaJEc','15768140MhtRJJ','build','Diagnostics','isSingleCommand','`rabetbase\x20','rabetbase\x20kb\x20list','2580LTZsag','Dataset\x20&\x20Operations','show','permit:role-menus','rabetbase\x20menu\x20asset-update','app:add','rabetbase\x20project\x20create\x20<project-name>','Deployment','knowledge-base:update','knowledge-base:list','Company\x20Knowledge\x20Base','page:standard-page-status','wildcardDef','Runtime\x20App\x20Config\x20Management','Backend\x20Function\x20Scripts','134diJwxa','890036kbhfDz','knowledge-base:delete','rabetbase\x20sql\x20create','Run\x20any\x20package.json\x20script','page:react-update','Tenant\x20Members','App\x20Management','File','36EpKtIZ','Async\x20Tasks','has','app:use','skill:','push','bff:new','rabetbase\x20workspace\x20init\x20--appcode\x20<code>','write','app:remove','Menu','Database\x20Connections','rabetbase\x20sql\x20create\x20--name\x20<name>\x20--db-id\x20<id>\x20--mode\x20sql|mybatisXml','rabetbase\x20page\x20create\x20--page-pattern\x20BLANK','`\x20has\x20been\x20removed.','read','rabetbase\x20page\x20custom-detail','set','data:getOne','lovrabet\x20data\x20filter\x20--code\x20<datasetCode>\x20--params\x20\x27<json>\x27','from','rabetbase\x20workspace\x20add\x20<name>\x20--appcode\x20<code>','Data\x20List\x20Pages\x20&\x20Custom\x20Pages','page:react-create','length','map','permit:page-get','values','CLI\x20Built-in\x20Skill','Configuration'];a178_0x200a=function(){return _0x31dadc;};return a178_0x200a();}export const definitions=new Map();export const serviceGroups=new Map();function registerDefinitions(_0x382a29){const _0x11400d=a178_0x5088;for(const _0x3ff978 of _0x382a29){definitions[_0x11400d(0x195)](_0x3ff978[_0x11400d(0x140)]+':'+_0x3ff978[_0x11400d(0x15e)],_0x3ff978);let _0x3c508c=serviceGroups['get'](_0x3ff978[_0x11400d(0x140)]);!_0x3c508c&&(_0x3c508c=[],serviceGroups[_0x11400d(0x195)](_0x3ff978[_0x11400d(0x140)],_0x3c508c)),_0x3c508c[_0x11400d(0x189)](_0x3ff978);}}function registerDeclarativeService(_0x3dc38c,_0x2ce073,_0x2cf569){const _0xeb6e45=a178_0x5088;registerDefinitions(_0x2ce073);_0x2cf569?.[_0xeb6e45(0x178)]&&registerDefinitions([_0x2cf569[_0xeb6e45(0x178)]]);const _0x500879=_0x2c7704=>_0x2c7704===_0xeb6e45(0x193)?'':_0x2c7704===_0xeb6e45(0x18c)?_0xeb6e45(0x143):'\x20\x20[high-risk-write]',_0x422629={'service':_0x2ce073[0x0]['service'],'label':_0x3dc38c,'commands':_0x2ce073['filter'](_0x3b31f4=>!_0x3b31f4['hidden'])[_0xeb6e45(0x19d)](_0x1d3a13=>({'command':_0x1d3a13['command'],'description':_0x1d3a13[_0xeb6e45(0x14c)],'tag':_0x500879(_0x1d3a13[_0xeb6e45(0x146)])})),'declarative':!![],'defaultCommand':_0x2cf569?.[_0xeb6e45(0x147)]??(_0x2cf569?.[_0xeb6e45(0x169)]?_0x2ce073[0x0][_0xeb6e45(0x15e)]:undefined),'wildcardDef':_0x2cf569?.['wildcardDef'],'isSingleCommand':_0x2cf569?.[_0xeb6e45(0x169)]};serviceRegistry['push'](_0x422629),serviceByName[_0xeb6e45(0x195)](_0x422629[_0xeb6e45(0x140)],_0x422629);}registerDeclarativeService(a178_0x13b4d9(0x151),projectDefinitions),registerDeclarativeService(a178_0x13b4d9(0x14a),workspaceDefinitions),registerDeclarativeService(a178_0x13b4d9(0x182),appDefinitions),registerDeclarativeService(a178_0x13b4d9(0x13f),authDefinitions,{'defaultCommand':'login'}),registerDeclarativeService(a178_0x13b4d9(0x181),tenantDefinitions),registerDeclarativeService(a178_0x13b4d9(0x13d),userAccountDefinitions),registerDeclarativeService(a178_0x13b4d9(0x16d),datasetDefinitions),registerDeclarativeService(a178_0x13b4d9(0x19a),pageDefinitions),registerDeclarativeService(a178_0x13b4d9(0x1a6),apiDefinitions),registerDeclarativeService(a178_0x13b4d9(0x17a),bffDefinitions),registerDeclarativeService(a178_0x13b4d9(0x15c),notificationDefinitions),registerDeclarativeService('SQL\x20Queries',sqlDefinitions),registerDeclarativeService(a178_0x13b4d9(0x18f),dbDefinitions),registerDeclarativeService(a178_0x13b4d9(0x173),deploymentDefinitions),registerDeclarativeService(a178_0x13b4d9(0x18e),menuDefinitions),registerDeclarativeService(a178_0x13b4d9(0x185),taskDefinitions),registerDeclarativeService('Roles',roleDefinitions),registerDeclarativeService(a178_0x13b4d9(0x179),appConfigDefinitions),registerDeclarativeService(a178_0x13b4d9(0x176),kbDefinitions),registerDeclarativeService(a178_0x13b4d9(0x1a3),issueDefinitions),registerDeclarativeService(a178_0x13b4d9(0x183),fileDefinitions),registerDeclarativeService('OCR',ocrDefinitions),registerDeclarativeService('Code\x20Generation',codegenDefinitions),registerDeclarativeService(a178_0x13b4d9(0x1a1),configDefinitions),registerDeclarativeService(a178_0x13b4d9(0x168),[doctorDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a178_0x13b4d9(0x138),[schemaDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a178_0x13b4d9(0x13b),[updateDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a178_0x13b4d9(0x1a0),cliSkillDefinitions,{'defaultCommand':a178_0x13b4d9(0x161)}),registerDeclarativeService('Logs',logsDefinitions,{'defaultCommand':a178_0x13b4d9(0x16e)}),registerDeclarativeService(a178_0x13b4d9(0x145),[runDefinition],{'wildcardDef':runDefinition});{const last=serviceRegistry[serviceRegistry[a178_0x13b4d9(0x19c)]-0x1];last[a178_0x13b4d9(0x13c)]=[{'command':a178_0x13b4d9(0x149),'description':a178_0x13b4d9(0x17f),'tag':'\x20\x20['+runDefinition[a178_0x13b4d9(0x146)]+']'}];}const REMOVED_COMMAND_REPLACEMENTS=new Map([['sql:save',a178_0x13b4d9(0x190)],[a178_0x13b4d9(0x18a),a178_0x13b4d9(0x1a4)],[a178_0x13b4d9(0x14b),a178_0x13b4d9(0x17e)],[a178_0x13b4d9(0x158),a178_0x13b4d9(0x170)],['project:init',a178_0x13b4d9(0x18b)],[a178_0x13b4d9(0x188),a178_0x13b4d9(0x15a)],['skill:install','rabetbase\x20cli-skill\x20install'],['skills:',a178_0x13b4d9(0x15a)],[a178_0x13b4d9(0x159),a178_0x13b4d9(0x15a)],['app:remote',a178_0x13b4d9(0x157)],[a178_0x13b4d9(0x187),a178_0x13b4d9(0x139)],[a178_0x13b4d9(0x171),a178_0x13b4d9(0x199)],[a178_0x13b4d9(0x18d),a178_0x13b4d9(0x15f)],[a178_0x13b4d9(0x175),a178_0x13b4d9(0x16b)],['knowledge-base:detail',a178_0x13b4d9(0x155)],[a178_0x13b4d9(0x14d),a178_0x13b4d9(0x152)],[a178_0x13b4d9(0x174),a178_0x13b4d9(0x148)],[a178_0x13b4d9(0x17d),'rabetbase\x20kb\x20delete'],['role:create','rabetbase\x20role\x20list'],['data:filter',a178_0x13b4d9(0x197)],[a178_0x13b4d9(0x196),a178_0x13b4d9(0x14e)],[a178_0x13b4d9(0x177),a178_0x13b4d9(0x141)],[a178_0x13b4d9(0x19b),a178_0x13b4d9(0x191)],[a178_0x13b4d9(0x142),a178_0x13b4d9(0x191)],[a178_0x13b4d9(0x144),'rabetbase\x20page\x20custom-list'],['page:react-detail',a178_0x13b4d9(0x194)],[a178_0x13b4d9(0x180),a178_0x13b4d9(0x14f)],[a178_0x13b4d9(0x13e),'rabetbase\x20page\x20custom-publish']]),REMOVED_COMMAND_HINTS=new Map([[a178_0x13b4d9(0x19e),'No\x20executable\x20CLI\x20replacement\x20is\x20available\x20under\x20the\x20current\x20server\x20authentication\x20contract.'],[a178_0x13b4d9(0x15d),a178_0x13b4d9(0x163)],[a178_0x13b4d9(0x16f),a178_0x13b4d9(0x163)],['permit:role-menus-set',a178_0x13b4d9(0x163)],[a178_0x13b4d9(0x156),a178_0x13b4d9(0x163)]]),REMOVED_FLAT_COMMAND_REPLACEMENTS=new Map([['create',a178_0x13b4d9(0x172)],[a178_0x13b4d9(0x1a2),'rabetbase\x20run\x20start'],[a178_0x13b4d9(0x167),'rabetbase\x20run\x20build'],[a178_0x13b4d9(0x13a),'rabetbase\x20run\x20preview'],[a178_0x13b4d9(0x154),'rabetbase\x20auth\x20logout']]);export function resolveRemovedCommand(_0x1aeb05,_0x3b8397){const _0x1b94cb=a178_0x13b4d9;if(!_0x1aeb05)return undefined;const _0x5af7ae=REMOVED_COMMAND_REPLACEMENTS['get'](_0x1aeb05+':'+(_0x3b8397??'')),_0x344a0b=REMOVED_FLAT_COMMAND_REPLACEMENTS[_0x1b94cb(0x164)](_0x1aeb05),_0x3cbba0=_0x5af7ae??_0x344a0b,_0x692ff=REMOVED_COMMAND_HINTS[_0x1b94cb(0x164)](_0x1aeb05+':'+(_0x3b8397??''));if(!_0x3cbba0&&!_0x692ff)return undefined;const _0x130712=_0x344a0b?_0x1aeb05:_0x3b8397?_0x1aeb05+'\x20'+_0x3b8397:_0x1aeb05;return{'command':_0x130712,'message':_0x1b94cb(0x16a)+_0x130712+_0x1b94cb(0x192),'hint':_0x692ff??_0x1b94cb(0x1a5)+_0x3cbba0+_0x1b94cb(0x150)};}export function findDefinition(_0x15ace3,_0x4e6599){const _0x481316=a178_0x13b4d9;return definitions[_0x481316(0x164)](_0x15ace3+':'+_0x4e6599);}export function isKnownService(_0x3e9f06){const _0xa828a1=a178_0x13b4d9;return serviceByName[_0xa828a1(0x186)](_0x3e9f06);}export function isDeclarativeService(_0x174bdb){const _0x377383=a178_0x13b4d9;return serviceGroups['has'](_0x174bdb)||serviceByName[_0x377383(0x164)](_0x174bdb)?.['wildcardDef']!==undefined;}export function getServiceEntry(_0x462544){const _0x1740d7=a178_0x13b4d9;return serviceByName[_0x1740d7(0x164)](_0x462544);}export function getLegacyHandler(_0x517389,_0x97fea8){return undefined;}export function getAllDefinitions(){const _0xf830ac=a178_0x13b4d9;return Array[_0xf830ac(0x198)](definitions[_0xf830ac(0x19f)]());}
@@ -1 +1 @@
1
- const a174_0x5c0367=a174_0x39a5;(function(_0x2ce8dd,_0x1d6504){const _0x5399a8=a174_0x39a5,_0x39bd14=_0x2ce8dd();while(!![]){try{const _0x4ceb82=-parseInt(_0x5399a8(0x16a))/0x1*(-parseInt(_0x5399a8(0x164))/0x2)+-parseInt(_0x5399a8(0x166))/0x3*(-parseInt(_0x5399a8(0x15f))/0x4)+parseInt(_0x5399a8(0x167))/0x5*(-parseInt(_0x5399a8(0x15c))/0x6)+parseInt(_0x5399a8(0x16c))/0x7+-parseInt(_0x5399a8(0x16e))/0x8+-parseInt(_0x5399a8(0x163))/0x9*(parseInt(_0x5399a8(0x15b))/0xa)+parseInt(_0x5399a8(0x15e))/0xb;if(_0x4ceb82===_0x1d6504)break;else _0x39bd14['push'](_0x39bd14['shift']());}catch(_0x5ae98c){_0x39bd14['push'](_0x39bd14['shift']());}}}(a174_0x39c2,0x22c92));import{deleteAppRole}from'../../core/api-client.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{assertCustomRole,getRoleById,projectRole,ROLE_ID_FLAG}from'../../commands/role/shared.js';const DELETE_PATH=a174_0x5c0367(0x16b);function a174_0x39c2(){const _0x23056f=['28fiurRp','num','3EXMHUQ','16045gcCYTv','appCode','Role\x20still\x20has\x20','7013fKEvwB','/smartapi/permit/role/delete','1630167CjQHlx','Delete\x20a\x20CUSTOM\x20role\x20(built-in\x20roles\x20rejected);\x20requires\x20--yes','2274296dOfvZr','Deleted\x20role\x20','userCount','170PXygOU','366opEfsD','dev','4772603xSXNfp','163436qdRLnC','roleName','delete','\x20(id=','97029LOoKfn'];a174_0x39c2=function(){return _0x23056f;};return a174_0x39c2();}function a174_0x39a5(_0x24eb89,_0x197932){_0x24eb89=_0x24eb89-0x15b;const _0x39c2e9=a174_0x39c2();let _0x39a53b=_0x39c2e9[_0x24eb89];return _0x39a53b;}export const roleDelete={'service':'role','command':'delete','description':a174_0x5c0367(0x16d),'risk':'high-risk-write','flags':[ROLE_ID_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x363763){const _0x3f98e1=a174_0x5c0367,_0x312437=_0x363763[_0x3f98e1(0x165)]('id'),_0x4c5a62=await getRoleById(_0x363763[_0x3f98e1(0x168)],_0x312437);return assertCustomRole(_0x4c5a62,'delete'),asDryRunResult({'scope':_0x3f98e1(0x15d),'operation':_0x3f98e1(0x161),'selector':{'appCode':_0x363763['appCode'],'roleId':_0x312437,'roleName':_0x4c5a62[_0x3f98e1(0x160)]},'before':projectRole(_0x4c5a62),'after':null,'dryRun':!![],'backend':{'method':'POST','path':DELETE_PATH},'warnings':_0x4c5a62[_0x3f98e1(0x170)]>0x0?[_0x3f98e1(0x169)+_0x4c5a62[_0x3f98e1(0x170)]+'\x20member(s);\x20they\x20will\x20lose\x20this\x20group.']:[]},{'method':'POST','url':DELETE_PATH});},async 'execute'(_0x54013e){const _0x2a7afa=a174_0x5c0367,_0x51edbb=_0x54013e['num']('id'),_0x368e87=await getRoleById(_0x54013e[_0x2a7afa(0x168)],_0x51edbb);return assertCustomRole(_0x368e87,_0x2a7afa(0x161)),await deleteAppRole(_0x51edbb),{'ok':!![],'data':{'scope':_0x2a7afa(0x15d),'operation':'delete','selector':{'appCode':_0x54013e[_0x2a7afa(0x168)],'roleId':_0x51edbb,'roleName':_0x368e87['roleName']},'before':projectRole(_0x368e87),'after':null,'dryRun':![],'backend':{'method':'POST','path':DELETE_PATH},'warnings':[]},'message':_0x2a7afa(0x16f)+_0x368e87[_0x2a7afa(0x160)]+_0x2a7afa(0x162)+_0x51edbb+')'};}};
1
+ const a179_0x4744b2=a179_0x1236;function a179_0x1d24(){const _0x52cae8=['\x20(id=','delete','userCount','8wiwAPc','1286870VJUJLo','POST','565097TihkWt','3360644IJhJkC','Deleted\x20role\x20','role','Role\x20still\x20has\x20','high-risk-write','dev','Delete\x20a\x20CUSTOM\x20role\x20(built-in\x20roles\x20rejected);\x20requires\x20--yes','appCode','621507okyLEc','596JxAHHi','7146351yErwPY','17230PURfKA','num','roleName','1730472SVBkRW'];a179_0x1d24=function(){return _0x52cae8;};return a179_0x1d24();}function a179_0x1236(_0x31e0f9,_0xdf737c){_0x31e0f9=_0x31e0f9-0x6a;const _0x1d24f5=a179_0x1d24();let _0x12361e=_0x1d24f5[_0x31e0f9];return _0x12361e;}(function(_0x42e8bb,_0x2b57ea){const _0x27cef0=a179_0x1236,_0x370cf3=_0x42e8bb();while(!![]){try{const _0x3a8237=-parseInt(_0x27cef0(0x75))/0x1+parseInt(_0x27cef0(0x73))/0x2+-parseInt(_0x27cef0(0x7e))/0x3+-parseInt(_0x27cef0(0x7f))/0x4*(parseInt(_0x27cef0(0x6b))/0x5)+-parseInt(_0x27cef0(0x6e))/0x6+parseInt(_0x27cef0(0x76))/0x7+-parseInt(_0x27cef0(0x72))/0x8*(-parseInt(_0x27cef0(0x6a))/0x9);if(_0x3a8237===_0x2b57ea)break;else _0x370cf3['push'](_0x370cf3['shift']());}catch(_0x271c09){_0x370cf3['push'](_0x370cf3['shift']());}}}(a179_0x1d24,0x53d8a));import{deleteAppRole}from'../../core/api-client.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{assertCustomRole,getRoleById,projectRole,ROLE_ID_FLAG}from'../../commands/role/shared.js';const DELETE_PATH='/smartapi/permit/role/delete';export const roleDelete={'service':a179_0x4744b2(0x78),'command':'delete','description':a179_0x4744b2(0x7c),'risk':a179_0x4744b2(0x7a),'flags':[ROLE_ID_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x21cd5c){const _0x2a5fd8=a179_0x4744b2,_0x3c02ad=_0x21cd5c[_0x2a5fd8(0x6c)]('id'),_0x207fbf=await getRoleById(_0x21cd5c[_0x2a5fd8(0x7d)],_0x3c02ad);return assertCustomRole(_0x207fbf,'delete'),asDryRunResult({'scope':_0x2a5fd8(0x7b),'operation':_0x2a5fd8(0x70),'selector':{'appCode':_0x21cd5c[_0x2a5fd8(0x7d)],'roleId':_0x3c02ad,'roleName':_0x207fbf[_0x2a5fd8(0x6d)]},'before':projectRole(_0x207fbf),'after':null,'dryRun':!![],'backend':{'method':_0x2a5fd8(0x74),'path':DELETE_PATH},'warnings':_0x207fbf['userCount']>0x0?[_0x2a5fd8(0x79)+_0x207fbf[_0x2a5fd8(0x71)]+'\x20member(s);\x20they\x20will\x20lose\x20this\x20group.']:[]},{'method':_0x2a5fd8(0x74),'url':DELETE_PATH});},async 'execute'(_0x4ad069){const _0x5d4a00=a179_0x4744b2,_0x4d3479=_0x4ad069[_0x5d4a00(0x6c)]('id'),_0x31f0c5=await getRoleById(_0x4ad069[_0x5d4a00(0x7d)],_0x4d3479);return assertCustomRole(_0x31f0c5,'delete'),await deleteAppRole(_0x4d3479),{'ok':!![],'data':{'scope':_0x5d4a00(0x7b),'operation':_0x5d4a00(0x70),'selector':{'appCode':_0x4ad069[_0x5d4a00(0x7d)],'roleId':_0x4d3479,'roleName':_0x31f0c5[_0x5d4a00(0x6d)]},'before':projectRole(_0x31f0c5),'after':null,'dryRun':![],'backend':{'method':'POST','path':DELETE_PATH},'warnings':[]},'message':_0x5d4a00(0x77)+_0x31f0c5['roleName']+_0x5d4a00(0x6f)+_0x4d3479+')'};}};
@@ -1 +1 @@
1
- function a175_0x429f(_0x291a0f,_0x221601){_0x291a0f=_0x291a0f-0x183;const _0x3d2827=a175_0x3d28();let _0x429fa2=_0x3d2827[_0x291a0f];return _0x429fa2;}const a175_0x44c5a2=a175_0x429f;function a175_0x3d28(){const _0x462676=['read','dev','Role\x20','roleName','1035505RIdzkP','detail','appCode','4769862kZSdIj','12BeJKgq','num','35AmvgcH','1199737lNTYdg','4hcXfzq','36600DQucvK','2196280BshPdk','role','18MPWwOv','107530BgvQvI','4jrAlLX','2967318TCQevV'];a175_0x3d28=function(){return _0x462676;};return a175_0x3d28();}(function(_0xf6d1a0,_0x23c0ca){const _0x1c9a8f=a175_0x429f,_0x30baa1=_0xf6d1a0();while(!![]){try{const _0xafbd60=parseInt(_0x1c9a8f(0x18e))/0x1*(-parseInt(_0x1c9a8f(0x189))/0x2)+parseInt(_0x1c9a8f(0x190))/0x3+parseInt(_0x1c9a8f(0x18f))/0x4*(parseInt(_0x1c9a8f(0x195))/0x5)+-parseInt(_0x1c9a8f(0x184))/0x6+-parseInt(_0x1c9a8f(0x187))/0x7*(-parseInt(_0x1c9a8f(0x18a))/0x8)+parseInt(_0x1c9a8f(0x18d))/0x9*(parseInt(_0x1c9a8f(0x18b))/0xa)+-parseInt(_0x1c9a8f(0x188))/0xb*(parseInt(_0x1c9a8f(0x185))/0xc);if(_0xafbd60===_0x23c0ca)break;else _0x30baa1['push'](_0x30baa1['shift']());}catch(_0x487f13){_0x30baa1['push'](_0x30baa1['shift']());}}}(a175_0x3d28,0x83a62));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{getRoleById,projectRole,ROLE_ID_FLAG}from'../../commands/role/shared.js';export const roleDetail={'service':a175_0x44c5a2(0x18c),'command':a175_0x44c5a2(0x196),'description':'Show\x20a\x20single\x20role\x27s\x20detail','risk':a175_0x44c5a2(0x191),'flags':[ROLE_ID_FLAG,APPCODE_FLAG_OPTIONAL],async 'execute'(_0x6130d3){const _0x4654a3=a175_0x44c5a2,_0x3a353d=_0x6130d3[_0x4654a3(0x186)]('id'),_0x387e26=await getRoleById(_0x6130d3[_0x4654a3(0x183)],_0x3a353d);return{'ok':!![],'data':{'scope':_0x4654a3(0x192),'role':projectRole(_0x387e26)},'message':_0x4654a3(0x193)+_0x387e26[_0x4654a3(0x194)]+'\x20('+_0x387e26['roleType']+')'};}};
1
+ const a180_0x2679b6=a180_0x31a1;function a180_0x31a1(_0x58dcd3,_0x5a6637){_0x58dcd3=_0x58dcd3-0x177;const _0x3e7eab=a180_0x3e7e();let _0x31a11c=_0x3e7eab[_0x58dcd3];return _0x31a11c;}function a180_0x3e7e(){const _0x731f46=['87HwpqoV','124748iRemOQ','6uoZrce','873351pKDrwR','5841544gUIsWq','6ySTZRf','num','3218677zbYICy','read','11QqXlmP','role','appCode','127207BniiRF','90eBuaLn','1062350glKALg','roleType','Show\x20a\x20single\x20role\x27s\x20detail','16968012WsZMzi'];a180_0x3e7e=function(){return _0x731f46;};return a180_0x3e7e();}(function(_0x19b2ad,_0x55d6c1){const _0x4c58f5=a180_0x31a1,_0x4053c6=_0x19b2ad();while(!![]){try{const _0x4f51c4=-parseInt(_0x4c58f5(0x187))/0x1*(parseInt(_0x4c58f5(0x17d))/0x2)+-parseInt(_0x4c58f5(0x17b))/0x3*(-parseInt(_0x4c58f5(0x17c))/0x4)+parseInt(_0x4c58f5(0x177))/0x5+-parseInt(_0x4c58f5(0x180))/0x6*(parseInt(_0x4c58f5(0x182))/0x7)+parseInt(_0x4c58f5(0x17f))/0x8+-parseInt(_0x4c58f5(0x17e))/0x9*(-parseInt(_0x4c58f5(0x188))/0xa)+parseInt(_0x4c58f5(0x184))/0xb*(-parseInt(_0x4c58f5(0x17a))/0xc);if(_0x4f51c4===_0x55d6c1)break;else _0x4053c6['push'](_0x4053c6['shift']());}catch(_0x22259f){_0x4053c6['push'](_0x4053c6['shift']());}}}(a180_0x3e7e,0x7186c));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{getRoleById,projectRole,ROLE_ID_FLAG}from'../../commands/role/shared.js';export const roleDetail={'service':a180_0x2679b6(0x185),'command':'detail','description':a180_0x2679b6(0x179),'risk':a180_0x2679b6(0x183),'flags':[ROLE_ID_FLAG,APPCODE_FLAG_OPTIONAL],async 'execute'(_0x418260){const _0x488ee0=a180_0x2679b6,_0x25f160=_0x418260[_0x488ee0(0x181)]('id'),_0x4e4576=await getRoleById(_0x418260[_0x488ee0(0x186)],_0x25f160);return{'ok':!![],'data':{'scope':'dev','role':projectRole(_0x4e4576)},'message':'Role\x20'+_0x4e4576['roleName']+'\x20('+_0x4e4576[_0x488ee0(0x178)]+')'};}};
@@ -1 +1 @@
1
- (function(_0x406e1d,_0x3fcc3c){const _0x476d57=a176_0x3a4e,_0x54fb7f=_0x406e1d();while(!![]){try{const _0x25c97c=parseInt(_0x476d57(0x1f8))/0x1*(-parseInt(_0x476d57(0x1f3))/0x2)+-parseInt(_0x476d57(0x1f6))/0x3+-parseInt(_0x476d57(0x1f0))/0x4*(parseInt(_0x476d57(0x1f5))/0x5)+parseInt(_0x476d57(0x1f7))/0x6+-parseInt(_0x476d57(0x1f4))/0x7*(-parseInt(_0x476d57(0x1f1))/0x8)+-parseInt(_0x476d57(0x1f9))/0x9+parseInt(_0x476d57(0x1f2))/0xa;if(_0x25c97c===_0x3fcc3c)break;else _0x54fb7f['push'](_0x54fb7f['shift']());}catch(_0x2a85d1){_0x54fb7f['push'](_0x54fb7f['shift']());}}}(a176_0x462f,0x9d1a7));import{roleList}from'../../commands/role/list.js';import{roleDetail}from'../../commands/role/detail.js';import{roleUpdate}from'../../commands/role/update.js';function a176_0x462f(){const _0x2ca440=['20eNdXtA','225424TMGHFZ','16224350gLYNlq','8DYzQQz','203SpGPhm','803915pbJguO','2083593iYRWGv','5703534nMJIWk','180429BFvgMd','4738761DITfQh'];a176_0x462f=function(){return _0x2ca440;};return a176_0x462f();}function a176_0x3a4e(_0xf2f9bf,_0xf9430e){_0xf2f9bf=_0xf2f9bf-0x1f0;const _0x462f35=a176_0x462f();let _0x3a4e5c=_0x462f35[_0xf2f9bf];return _0x3a4e5c;}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,roleUpdate,roleDelete,roleUserResolve,roleUserAdd,roleUserRemove];
1
+ (function(_0x32a8a3,_0x3e7cd0){const _0x3f7ad3=a181_0xd669,_0x2e27fc=_0x32a8a3();while(!![]){try{const _0x3676c4=parseInt(_0x3f7ad3(0x104))/0x1+parseInt(_0x3f7ad3(0x101))/0x2+parseInt(_0x3f7ad3(0x100))/0x3+-parseInt(_0x3f7ad3(0x102))/0x4*(parseInt(_0x3f7ad3(0xff))/0x5)+parseInt(_0x3f7ad3(0x106))/0x6*(-parseInt(_0x3f7ad3(0x103))/0x7)+parseInt(_0x3f7ad3(0xfe))/0x8+parseInt(_0x3f7ad3(0x105))/0x9;if(_0x3676c4===_0x3e7cd0)break;else _0x2e27fc['push'](_0x2e27fc['shift']());}catch(_0x20c60c){_0x2e27fc['push'](_0x2e27fc['shift']());}}}(a181_0x21ad,0x69d56));import{roleList}from'../../commands/role/list.js';import{roleDetail}from'../../commands/role/detail.js';import{roleUpdate}from'../../commands/role/update.js';import{roleDelete}from'../../commands/role/delete.js';function a181_0x21ad(){const _0x207176=['55TGSyQu','1555545GHbjip','336476jaQJSm','261628YlATqY','7DaXwTV','239197cCAffd','5497794WaCUrk','2984532lPQJDI','908616XkmcHv'];a181_0x21ad=function(){return _0x207176;};return a181_0x21ad();}import{roleUserResolve}from'../../commands/role/user-resolve.js';import{roleUserAdd}from'../../commands/role/user-add.js';import{roleUserRemove}from'../../commands/role/user-remove.js';function a181_0xd669(_0x8587e8,_0x566d1e){_0x8587e8=_0x8587e8-0xfe;const _0x21adbc=a181_0x21ad();let _0xd669e1=_0x21adbc[_0x8587e8];return _0xd669e1;}export const roleDefinitions=[roleList,roleDetail,roleUpdate,roleDelete,roleUserResolve,roleUserAdd,roleUserRemove];
@@ -1 +1 @@
1
- const a177_0x3a2e43=a177_0x478a;function a177_0x478a(_0xa0c3fd,_0x4d8b1d){_0xa0c3fd=_0xa0c3fd-0x89;const _0x1c4b95=a177_0x1c4b();let _0x478a55=_0x1c4b95[_0xa0c3fd];return _0x478a55;}(function(_0x380c74,_0x3b2d26){const _0x3c7387=a177_0x478a,_0x385dda=_0x380c74();while(!![]){try{const _0x40bb5d=parseInt(_0x3c7387(0x9e))/0x1+-parseInt(_0x3c7387(0xa2))/0x2*(-parseInt(_0x3c7387(0x8d))/0x3)+-parseInt(_0x3c7387(0xa4))/0x4+parseInt(_0x3c7387(0x9f))/0x5*(parseInt(_0x3c7387(0x9d))/0x6)+parseInt(_0x3c7387(0x8e))/0x7*(-parseInt(_0x3c7387(0x94))/0x8)+-parseInt(_0x3c7387(0xa6))/0x9+parseInt(_0x3c7387(0x99))/0xa;if(_0x40bb5d===_0x3b2d26)break;else _0x385dda['push'](_0x385dda['shift']());}catch(_0x2ea52a){_0x385dda['push'](_0x385dda['shift']());}}}(a177_0x1c4b,0xc3869));import{listAppRoles}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a177_0x1c4b(){const _0x14e0a0=['trim','validation','role','54zWxCRv','348603JiBAfO','610455eNxmGa','length','pagesize','186182plGXXF','DEV','2648676wzegiJ','CUSTOM','1121229CTFylF','Filter\x20by\x20role\x20type','str','read','number','type','dev','num','--pagesize\x20must\x20be\x20between\x201\x20and\x20100.','Use\x20one\x20of:\x20','Page\x20index\x20(1-based)','roleType','6AnNEQd','994wxhuDe','toUpperCase','join','Invalid\x20--type\x20\x22','Found\x20','map','39448GcdYJy','OWNER','page','--page\x20must\x20be\x20greater\x20than\x20or\x20equal\x20to\x201.','ADMIN','6542210TZVyLV'];a177_0x1c4b=function(){return _0x14e0a0;};return a177_0x1c4b();}import{projectRole}from'../../commands/role/shared.js';const ROLE_TYPES=[a177_0x3a2e43(0x98),a177_0x3a2e43(0xa3),a177_0x3a2e43(0x95),a177_0x3a2e43(0xa5)];export const roleList={'service':a177_0x3a2e43(0x9c),'command':'list','description':'List\x20user\x20groups\x20(roles)\x20for\x20the\x20current\x20app','risk':a177_0x3a2e43(0xa9),'flags':[APPCODE_FLAG_OPTIONAL,{'name':'type','type':'string','required':![],'description':a177_0x3a2e43(0xa7),'enum':ROLE_TYPES},{'name':a177_0x3a2e43(0x96),'type':'number','description':a177_0x3a2e43(0x8b),'default':0x1},{'name':'pagesize','type':a177_0x3a2e43(0xaa),'description':'Page\x20size\x20(1-100)','default':0x64}],async 'validate'(_0x2b4dcf){const _0x358d3e=a177_0x3a2e43,_0x1c5004=_0x2b4dcf[_0x358d3e(0xa8)](_0x358d3e(0xab))[_0x358d3e(0x9a)]();if(_0x1c5004&&!ROLE_TYPES['includes'](_0x1c5004['toUpperCase']()))throw CliErrors['validation'](_0x358d3e(0x91)+_0x1c5004+'\x22.',_0x358d3e(0x8a)+ROLE_TYPES[_0x358d3e(0x90)](',\x20')+'.');const _0x39fb3a=_0x2b4dcf[_0x358d3e(0xad)](_0x358d3e(0x96),0x1),_0x2e67e5=_0x2b4dcf[_0x358d3e(0xad)](_0x358d3e(0xa1),0x64);if(_0x39fb3a<0x1)throw CliErrors[_0x358d3e(0x9b)](_0x358d3e(0x97));if(_0x2e67e5<0x1||_0x2e67e5>0x64)throw CliErrors[_0x358d3e(0x9b)](_0x358d3e(0x89));},async 'execute'(_0x2cb053){const _0x2a3a6d=a177_0x3a2e43,_0x4e7c00=_0x2cb053[_0x2a3a6d(0xad)]('page',0x1)||0x1,_0x452ceb=_0x2cb053[_0x2a3a6d(0xad)]('pagesize',0x64)||0x64,_0x53799a=_0x2cb053[_0x2a3a6d(0xa8)](_0x2a3a6d(0xab))[_0x2a3a6d(0x9a)]()[_0x2a3a6d(0x8f)](),{items:_0x5ca0cd,paging:_0x5a7998}=await listAppRoles(_0x2cb053['appCode'],{'currentPage':_0x4e7c00,'pageSize':_0x452ceb}),_0xce67cf=_0x53799a?_0x5ca0cd['filter'](_0x352d5b=>_0x352d5b[_0x2a3a6d(0x8c)]===_0x53799a):_0x5ca0cd,_0xdac75b=_0xce67cf[_0x2a3a6d(0x93)](projectRole);return{'ok':!![],'data':{'scope':_0x2a3a6d(0xac),'roles':_0xdac75b,'paging':_0x5a7998},'message':_0x2a3a6d(0x92)+_0xdac75b[_0x2a3a6d(0xa0)]+'\x20role(s)'};}};
1
+ const a182_0x514ebe=a182_0x4268;function a182_0x4268(_0x2ffc3c,_0x158736){_0x2ffc3c=_0x2ffc3c-0x164;const _0x3b2e2c=a182_0x3b2e();let _0x426899=_0x3b2e2c[_0x2ffc3c];return _0x426899;}(function(_0x5e2ddb,_0x1c790f){const _0x52119b=a182_0x4268,_0x314413=_0x5e2ddb();while(!![]){try{const _0x20e46f=-parseInt(_0x52119b(0x188))/0x1*(parseInt(_0x52119b(0x16b))/0x2)+parseInt(_0x52119b(0x176))/0x3+parseInt(_0x52119b(0x16c))/0x4+-parseInt(_0x52119b(0x166))/0x5*(parseInt(_0x52119b(0x174))/0x6)+parseInt(_0x52119b(0x16a))/0x7+parseInt(_0x52119b(0x177))/0x8+parseInt(_0x52119b(0x173))/0x9*(-parseInt(_0x52119b(0x17d))/0xa);if(_0x20e46f===_0x1c790f)break;else _0x314413['push'](_0x314413['shift']());}catch(_0x350175){_0x314413['push'](_0x314413['shift']());}}}(a182_0x3b2e,0x5d795));import{listAppRoles}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{projectRole}from'../../commands/role/shared.js';const ROLE_TYPES=['ADMIN','DEV',a182_0x514ebe(0x184),a182_0x514ebe(0x16e)];function a182_0x3b2e(){const _0x412c0e=['map','478455hwVUlh','3703480DVOEIx','number','Invalid\x20--type\x20\x22','includes','list','page','10XkjFuu','Page\x20index\x20(1-based)','List\x20user\x20groups\x20(roles)\x20for\x20the\x20current\x20app','toUpperCase','filter','roleType','--page\x20must\x20be\x20greater\x20than\x20or\x20equal\x20to\x201.','OWNER','Found\x20','Use\x20one\x20of:\x20','pagesize','499879fvGTiK','validation','type','read','5HcgIrI','\x20role(s)','string','Filter\x20by\x20role\x20type','4214105tvMzER','2SSwDdF','475160cCrLmh','Page\x20size\x20(1-100)','CUSTOM','trim','str','num','join','15084QQhcej','2752806TWmXwZ'];a182_0x3b2e=function(){return _0x412c0e;};return a182_0x3b2e();}export const roleList={'service':'role','command':a182_0x514ebe(0x17b),'description':a182_0x514ebe(0x17f),'risk':a182_0x514ebe(0x165),'flags':[APPCODE_FLAG_OPTIONAL,{'name':'type','type':a182_0x514ebe(0x168),'required':![],'description':a182_0x514ebe(0x169),'enum':ROLE_TYPES},{'name':a182_0x514ebe(0x17c),'type':a182_0x514ebe(0x178),'description':a182_0x514ebe(0x17e),'default':0x1},{'name':'pagesize','type':a182_0x514ebe(0x178),'description':a182_0x514ebe(0x16d),'default':0x64}],async 'validate'(_0x37f84c){const _0x13b47c=a182_0x514ebe,_0x25fb79=_0x37f84c['str'](_0x13b47c(0x164))['trim']();if(_0x25fb79&&!ROLE_TYPES[_0x13b47c(0x17a)](_0x25fb79['toUpperCase']()))throw CliErrors[_0x13b47c(0x189)](_0x13b47c(0x179)+_0x25fb79+'\x22.',_0x13b47c(0x186)+ROLE_TYPES[_0x13b47c(0x172)](',\x20')+'.');const _0x1f1ada=_0x37f84c[_0x13b47c(0x171)]('page',0x1),_0x4065ec=_0x37f84c[_0x13b47c(0x171)]('pagesize',0x64);if(_0x1f1ada<0x1)throw CliErrors[_0x13b47c(0x189)](_0x13b47c(0x183));if(_0x4065ec<0x1||_0x4065ec>0x64)throw CliErrors[_0x13b47c(0x189)]('--pagesize\x20must\x20be\x20between\x201\x20and\x20100.');},async 'execute'(_0x58e72){const _0x171414=a182_0x514ebe,_0x30d632=_0x58e72[_0x171414(0x171)](_0x171414(0x17c),0x1)||0x1,_0x1b889c=_0x58e72[_0x171414(0x171)](_0x171414(0x187),0x64)||0x64,_0x40579d=_0x58e72[_0x171414(0x170)]('type')[_0x171414(0x16f)]()[_0x171414(0x180)](),{items:_0x6fc5c,paging:_0x19840f}=await listAppRoles(_0x58e72['appCode'],{'currentPage':_0x30d632,'pageSize':_0x1b889c}),_0x4d3ed0=_0x40579d?_0x6fc5c[_0x171414(0x181)](_0x3b7552=>_0x3b7552[_0x171414(0x182)]===_0x40579d):_0x6fc5c,_0x2aed3a=_0x4d3ed0[_0x171414(0x175)](projectRole);return{'ok':!![],'data':{'scope':'dev','roles':_0x2aed3a,'paging':_0x19840f},'message':_0x171414(0x185)+_0x2aed3a['length']+_0x171414(0x167)};}};
@@ -1 +1 @@
1
- const a178_0x1bf84c=a178_0x1c5d;(function(_0x555d14,_0x3e5b74){const _0x4f744b=a178_0x1c5d,_0x377e63=_0x555d14();while(!![]){try{const _0x30da00=parseInt(_0x4f744b(0x188))/0x1*(-parseInt(_0x4f744b(0x160))/0x2)+parseInt(_0x4f744b(0x185))/0x3+parseInt(_0x4f744b(0x17d))/0x4+parseInt(_0x4f744b(0x15c))/0x5*(parseInt(_0x4f744b(0x16b))/0x6)+parseInt(_0x4f744b(0x157))/0x7+parseInt(_0x4f744b(0x167))/0x8+-parseInt(_0x4f744b(0x178))/0x9;if(_0x30da00===_0x3e5b74)break;else _0x377e63['push'](_0x377e63['shift']());}catch(_0x4afdd0){_0x377e63['push'](_0x377e63['shift']());}}}(a178_0x5236,0xde3dd));import{getTenantMembers,listDevUserRoleRelations,listAppRoles}from'../../core/api-client.js';import{getSessionUserInfo}from'../../auth/get-session-user.js';import{CliErrors}from'../../errors.js';function a178_0x5236(){const _0x155656=['Role\x20id\x20','\x20members\x20of\x20the\x20OWNER\x20role.','Optional\x20role\x20remark/description','flagMissing','User\x20','number','Missing\x20role\x20reference.','Anti-drift\x20check\x20failed:\x20expected\x20','str','trim','\x20is\x20already\x20a\x20member\x20of\x20role\x20','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles,\x20or\x20pass\x20--role\x20<id>.','totalCount',';\x20no\x20change.','filter','\x20is\x20not\x20a\x20member\x20of\x20role\x20','592172SbRnjs','\x20not\x20found\x20in\x20app\x20','\x22\x20is\x20ambiguous\x20(ids:\x20','toLowerCase','expect-user-count','4110515JJQOgP','validation','nickname','CUSTOM','1532956meFUTj','Missing\x20user\x20reference.','find','Check\x20the\x20nickname/username.\x20','user-add','Anti-drift\x20guard:\x20fail\x20if\x20the\x20role\x27s\x20current\x20member\x20count\x20differs','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles.','13785584DGDUIL','ADMIN','roleType','\x20duplicate\x20memberships\x20for\x20user\x20','12mRqyGf','name','push','Cannot\x20','Disambiguate\x20with\x20--role\x20<id>.','tenant_code','Role\x20id\x20(from\x20`role\x20list`)','\x20member(s)\x20but\x20role\x20has\x20','string','role','/smartapi/permit/user-role/create','permitCount','Pass\x20--role\x20<id|name>.','24434721yTHXBb','expectUserCount','Role\x20id\x20or\x20exact\x20role\x20name','userId','Pass\x20--user\x20<id|name>.','3660656JYqbsU','authRequired','user','OWNER','includes','dryRun','map','flag','2373186SVgcgr','Nickname\x20or\x20username\x20to\x20resolve\x20to\x20a\x20userId','Pass\x20--user\x20<id>.','2DHrQNC','userCount','tenant','username','appCode','Only\x20CUSTOM\x20roles\x20can\x20be\x20modified\x20or\x20deleted.','Role\x20name\x20\x22','roleName','remark','test','length','/smartapi/permit/user-role/delete'];a178_0x5236=function(){return _0x155656;};return a178_0x5236();}export const ROLE_ID_FLAG={'name':'id','type':a178_0x1bf84c(0x14c),'required':!![],'description':a178_0x1bf84c(0x171)};export const ROLE_REF_FLAG={'name':'role','type':'string','required':!![],'description':a178_0x1bf84c(0x17a)};export const USER_REF_FLAG={'name':'user','type':'string','required':!![],'description':'User\x20id,\x20username,\x20or\x20nickname\x20to\x20resolve\x20to\x20a\x20userId'};export const NAME_FLAG={'name':a178_0x1bf84c(0x16c),'type':a178_0x1bf84c(0x173),'required':!![],'description':'Role\x20name'};export const USER_NAME_FLAG={'name':a178_0x1bf84c(0x16c),'type':a178_0x1bf84c(0x173),'required':!![],'description':a178_0x1bf84c(0x186)};export const REMARK_FLAG={'name':a178_0x1bf84c(0x143),'type':'string','required':![],'description':a178_0x1bf84c(0x149)};export const EXPECT_USER_COUNT_FLAG={'name':'expect-user-count','type':a178_0x1bf84c(0x14c),'required':![],'description':a178_0x1bf84c(0x165)};export const BUILTIN_ROLE_TYPES=[a178_0x1bf84c(0x168),'DEV','OWNER'];export function isBuiltinRole(_0x3d5fe2){const _0x516e9b=a178_0x1bf84c;return BUILTIN_ROLE_TYPES[_0x516e9b(0x181)](_0x3d5fe2);}export function assertCustomRole(_0x749aa7,_0x2c2b29){const _0xcf551f=a178_0x1bf84c;if(_0x749aa7[_0xcf551f(0x169)]!==_0xcf551f(0x15f))throw CliErrors[_0xcf551f(0x15d)]('Cannot\x20'+_0x2c2b29+'\x20built-in\x20role\x20'+_0x749aa7['roleName']+'\x20('+_0x749aa7['roleType']+').',_0xcf551f(0x18d));}export function projectRole(_0x1b0b34){const _0x3f5373=a178_0x1bf84c;return{'id':_0x1b0b34['id'],'roleName':_0x1b0b34[_0x3f5373(0x142)],'roleType':_0x1b0b34['roleType'],'remark':_0x1b0b34[_0x3f5373(0x143)],'userCount':_0x1b0b34[_0x3f5373(0x189)],'permitCount':_0x1b0b34[_0x3f5373(0x176)],'builtin':isBuiltinRole(_0x1b0b34[_0x3f5373(0x169)])};}export async function resolveRoleRef(_0x348cd8,_0x51190b){const _0x1f613a=a178_0x1bf84c,_0xeb4715=_0x51190b[_0x1f613a(0x150)]();if(!_0xeb4715)throw CliErrors['validation'](_0x1f613a(0x14d),_0x1f613a(0x177));if(/^\d+$/[_0x1f613a(0x144)](_0xeb4715))return getRoleById(_0x348cd8,Number(_0xeb4715));const _0x3ec2d7=await listAllAppRoles(_0x348cd8),_0x1086fb=_0x3ec2d7[_0x1f613a(0x155)](_0x5196d2=>_0x5196d2[_0x1f613a(0x142)]===_0xeb4715);if(_0x1086fb['length']===0x0)throw CliErrors[_0x1f613a(0x15d)](_0x1f613a(0x141)+_0xeb4715+'\x22\x20not\x20found\x20in\x20app\x20'+_0x348cd8+'.',_0x1f613a(0x152));if(_0x1086fb[_0x1f613a(0x145)]>0x1){const _0x10af14=_0x1086fb[_0x1f613a(0x183)](_0x2f8573=>_0x2f8573['id'])['join'](',\x20');throw CliErrors[_0x1f613a(0x15d)]('Role\x20name\x20\x22'+_0xeb4715+_0x1f613a(0x159)+_0x10af14+').',_0x1f613a(0x16f));}return _0x1086fb[0x0];}export async function getRoleById(_0x4704ac,_0x4ef812){const _0x49c92a=a178_0x1bf84c,_0x1b94bd=await listAllAppRoles(_0x4704ac),_0x1d9128=_0x1b94bd['filter'](_0xcd5507=>_0xcd5507['id']===_0x4ef812&&(!_0xcd5507[_0x49c92a(0x18c)]||_0xcd5507[_0x49c92a(0x18c)]===_0x4704ac));if(_0x1d9128[_0x49c92a(0x145)]!==0x1)throw CliErrors[_0x49c92a(0x15d)](_0x49c92a(0x147)+_0x4ef812+_0x49c92a(0x158)+_0x4704ac+'.',_0x49c92a(0x166));return _0x1d9128[0x0];}async function listAllAppRoles(_0x57151f){const _0x3deaf6=a178_0x1bf84c,_0x2bfc2e=0x64,_0x2b667f=[];for(let _0x9f84fb=0x1;;_0x9f84fb+=0x1){const {items:_0x5d1af2,paging:_0x5924a2}=await listAppRoles(_0x57151f,{'currentPage':_0x9f84fb,'pageSize':_0x2bfc2e});_0x2b667f[_0x3deaf6(0x16d)](..._0x5d1af2);if(_0x5d1af2[_0x3deaf6(0x145)]<_0x2bfc2e||_0x5924a2&&_0x2b667f[_0x3deaf6(0x145)]>=_0x5924a2[_0x3deaf6(0x153)])return _0x2b667f;}}export async function resolveTenantCode(){const _0x2c9566=a178_0x1bf84c,_0x38e360=await getSessionUserInfo(),_0x443903=_0x38e360?.[_0x2c9566(0x17f)]?.[_0x2c9566(0x18a)]?.[_0x2c9566(0x170)];if(!_0x443903)throw CliErrors[_0x2c9566(0x17e)]('Cannot\x20resolve\x20current\x20tenant.\x20Run\x20`rabetbase\x20auth\x20login`\x20first.');return _0x443903;}function a178_0x1c5d(_0x497bd2,_0x6f48fe){_0x497bd2=_0x497bd2-0x141;const _0x5236cc=a178_0x5236();let _0x1c5db1=_0x5236cc[_0x497bd2];return _0x1c5db1;}function matchMember(_0x4e176c,_0x300b28){const _0x41e5ba=a178_0x1bf84c,_0x7c3098=_0x300b28['trim']()[_0x41e5ba(0x15a)]();return(_0x4e176c[_0x41e5ba(0x15e)]??'')[_0x41e5ba(0x15a)]()===_0x7c3098||(_0x4e176c[_0x41e5ba(0x18b)]??'')['toLowerCase']()===_0x7c3098;}export async function resolveUserRef(_0x2eab44,_0x3474c5=a178_0x1bf84c(0x187)){const _0x1eb35b=a178_0x1bf84c,_0x1bfd4f=_0x2eab44['trim']();if(!_0x1bfd4f)throw CliErrors['validation'](_0x1eb35b(0x161),'Pass\x20--user\x20<id|name>.');const _0x3a0ee4=await resolveTenantCode(),_0x2272c6=await getTenantMembers(_0x3a0ee4);if(/^\d+$/[_0x1eb35b(0x144)](_0x1bfd4f)){const _0x36d6b5=Number(_0x1bfd4f),_0x1d05a7=_0x2272c6[_0x1eb35b(0x162)](_0x15ae4b=>_0x15ae4b[_0x1eb35b(0x17b)]===_0x36d6b5);return{'userId':_0x36d6b5,'username':_0x1d05a7?.[_0x1eb35b(0x18b)]??String(_0x36d6b5),'nickname':_0x1d05a7?.[_0x1eb35b(0x15e)],'matchedBy':'id'};}const _0x1357eb=_0x2272c6[_0x1eb35b(0x155)](_0x2333b2=>matchMember(_0x2333b2,_0x1bfd4f));if(_0x1357eb[_0x1eb35b(0x145)]===0x0)throw CliErrors[_0x1eb35b(0x15d)]('No\x20tenant\x20member\x20matches\x20\x22'+_0x1bfd4f+'\x22.',_0x1eb35b(0x163)+_0x3474c5);if(_0x1357eb[_0x1eb35b(0x145)]>0x1){const _0x26d64e=_0x1357eb[_0x1eb35b(0x183)](_0x388ef1=>(_0x388ef1[_0x1eb35b(0x15e)]??_0x388ef1[_0x1eb35b(0x18b)]??'?')+'('+_0x388ef1['userId']+')')['join'](',\x20');throw CliErrors[_0x1eb35b(0x15d)]('Multiple\x20tenant\x20members\x20match\x20\x22'+_0x1bfd4f+'\x22:\x20'+_0x26d64e+'.',_0x3474c5);}const _0x216489=_0x1357eb[0x0];return{'userId':_0x216489['userId'],'username':_0x216489[_0x1eb35b(0x18b)]??String(_0x216489[_0x1eb35b(0x17b)]),'nickname':_0x216489[_0x1eb35b(0x15e)],'matchedBy':_0x1eb35b(0x16c)};}export const CREATE_USER_ROLE_PATH=a178_0x1bf84c(0x175);export const DELETE_USER_ROLE_PATH=a178_0x1bf84c(0x146);export function computeRoleUserMutation(_0x3300ed){const _0x1d090b=a178_0x1bf84c,{operation:_0x4d977b,appCode:_0x2d6b92,role:_0x112f95,relations:_0x237d4b,user:_0x2c697a}=_0x3300ed,_0x4598c5=[...new Set(_0x237d4b[_0x1d090b(0x183)](_0x419afe=>_0x419afe[_0x1d090b(0x17b)]))],_0x36192d=[];if(_0x3300ed[_0x1d090b(0x179)]!==undefined&&_0x3300ed[_0x1d090b(0x179)]!==_0x4598c5['length'])throw CliErrors[_0x1d090b(0x15d)](_0x1d090b(0x14e)+_0x3300ed[_0x1d090b(0x179)]+_0x1d090b(0x172)+_0x4598c5[_0x1d090b(0x145)]+'.','Re-run\x20`role\x20detail`\x20/\x20`role\x20list`\x20and\x20retry\x20with\x20the\x20current\x20count.');const _0x9cbea=_0x4598c5[_0x1d090b(0x181)](_0x2c697a[_0x1d090b(0x17b)]),_0x3b7c75=_0x237d4b[_0x1d090b(0x155)](_0x3992c9=>_0x3992c9[_0x1d090b(0x17b)]===_0x2c697a[_0x1d090b(0x17b)])['map'](_0xea21f3=>_0xea21f3['id']),_0x5b2ee0=_0x4d977b===_0x1d090b(0x164)?!_0x9cbea:_0x9cbea;let _0x164d4c=_0x4598c5;_0x4d977b===_0x1d090b(0x164)?_0x9cbea?_0x36192d[_0x1d090b(0x16d)]('User\x20'+_0x2c697a['userId']+_0x1d090b(0x151)+_0x112f95[_0x1d090b(0x142)]+_0x1d090b(0x154)):_0x164d4c=[..._0x4598c5,_0x2c697a[_0x1d090b(0x17b)]]:!_0x9cbea?_0x36192d[_0x1d090b(0x16d)](_0x1d090b(0x14b)+_0x2c697a[_0x1d090b(0x17b)]+_0x1d090b(0x156)+_0x112f95[_0x1d090b(0x142)]+_0x1d090b(0x154)):(_0x164d4c=_0x4598c5['filter'](_0x41b886=>_0x41b886!==_0x2c697a[_0x1d090b(0x17b)]),_0x3b7c75[_0x1d090b(0x145)]>0x1&&_0x36192d[_0x1d090b(0x16d)]('Removed\x20'+_0x3b7c75[_0x1d090b(0x145)]+_0x1d090b(0x16a)+_0x2c697a['userId']+'.'));const _0x5436ef={'scope':'dev','operation':_0x4d977b,'selector':{'appCode':_0x2d6b92,'roleId':_0x112f95['id'],'roleName':_0x112f95['roleName'],'userId':_0x2c697a[_0x1d090b(0x17b)]},'before':{'userIds':_0x4598c5},'after':{'userIds':_0x164d4c},'dryRun':_0x3300ed[_0x1d090b(0x182)],'backend':{'method':'POST','path':_0x4d977b===_0x1d090b(0x164)?CREATE_USER_ROLE_PATH:DELETE_USER_ROLE_PATH},'warnings':_0x36192d};return{'mutation':_0x5436ef,'changed':_0x5b2ee0,'matchingRelationIds':_0x3b7c75};}export async function loadDevRoleRelations(_0x4af39a,_0x549706){const _0x48696b=a178_0x1bf84c,_0x523797=0x64,_0x25c6ed=[];for(let _0x648f0e=0x1;;_0x648f0e+=0x1){const {items:_0x1df40b,paging:_0x537c45}=await listDevUserRoleRelations(_0x4af39a,{'roleId':_0x549706,'currentPage':_0x648f0e,'pageSize':_0x523797});_0x25c6ed[_0x48696b(0x16d)](..._0x1df40b);if(_0x1df40b[_0x48696b(0x145)]<_0x523797||_0x537c45&&_0x25c6ed['length']>=_0x537c45[_0x48696b(0x153)])return _0x25c6ed;}}export function readRoleRef(_0x683bcb){const _0x556505=a178_0x1bf84c,_0x847bfe=_0x683bcb[_0x556505(0x14f)](_0x556505(0x174))[_0x556505(0x150)]();if(!_0x847bfe)throw CliErrors[_0x556505(0x14a)](_0x556505(0x174),_0x556505(0x177));return _0x847bfe;}export async function prepareUserMutation(_0x292442,_0x261321,_0x26f083){const _0x53bf73=a178_0x1bf84c,_0x474bad=readRoleRef(_0x292442),_0x1c8d70=_0x292442[_0x53bf73(0x14f)](_0x53bf73(0x17f))[_0x53bf73(0x150)]();if(!_0x1c8d70)throw CliErrors[_0x53bf73(0x14a)]('user',_0x53bf73(0x17c));const _0x1d4645=_0x292442[_0x53bf73(0x184)](_0x53bf73(0x15b)),_0xf2d283=_0x1d4645===undefined||_0x1d4645===null?undefined:Number(_0x1d4645),_0x132f81=await resolveRoleRef(_0x292442[_0x53bf73(0x18c)],_0x474bad);if(_0x132f81['roleType']===_0x53bf73(0x180))throw CliErrors[_0x53bf73(0x15d)](_0x53bf73(0x16e)+_0x261321+_0x53bf73(0x148),'Use\x20the\x20platform\x20ownership-transfer\x20workflow\x20to\x20change\x20the\x20application\x20owner.');const _0x4df3c2=await resolveUserRef(_0x1c8d70),_0x4569d1=await loadDevRoleRelations(_0x292442[_0x53bf73(0x18c)],_0x132f81['id']);return{...computeRoleUserMutation({'operation':_0x261321,'appCode':_0x292442[_0x53bf73(0x18c)],'role':_0x132f81,'relations':_0x4569d1,'user':{'userId':_0x4df3c2['userId'],'username':_0x4df3c2[_0x53bf73(0x18b)],'nickname':_0x4df3c2[_0x53bf73(0x15e)]},'dryRun':_0x26f083,..._0xf2d283!==undefined?{'expectUserCount':_0xf2d283}:{}}),'role':_0x132f81,'user':_0x4df3c2};}
1
+ const a183_0x2451d0=a183_0x8262;(function(_0x5d95be,_0x287b39){const _0x1e630a=a183_0x8262,_0x48752e=_0x5d95be();while(!![]){try{const _0x26e2a9=parseInt(_0x1e630a(0xc0))/0x1+parseInt(_0x1e630a(0xbf))/0x2+parseInt(_0x1e630a(0xa7))/0x3*(-parseInt(_0x1e630a(0x90))/0x4)+-parseInt(_0x1e630a(0x8a))/0x5*(parseInt(_0x1e630a(0xad))/0x6)+-parseInt(_0x1e630a(0xc4))/0x7*(parseInt(_0x1e630a(0xa4))/0x8)+parseInt(_0x1e630a(0xce))/0x9*(-parseInt(_0x1e630a(0x86))/0xa)+parseInt(_0x1e630a(0x83))/0xb;if(_0x26e2a9===_0x287b39)break;else _0x48752e['push'](_0x48752e['shift']());}catch(_0x5c1255){_0x48752e['push'](_0x48752e['shift']());}}}(a183_0x246c,0x88fae));import{getTenantMembers,listDevUserRoleRelations,listAppRoles}from'../../core/api-client.js';import{getSessionUserInfo}from'../../auth/get-session-user.js';import{CliErrors}from'../../errors.js';export const ROLE_ID_FLAG={'name':'id','type':a183_0x2451d0(0xb3),'required':!![],'description':a183_0x2451d0(0x98)};export const ROLE_REF_FLAG={'name':a183_0x2451d0(0xcb),'type':a183_0x2451d0(0xb8),'required':!![],'description':a183_0x2451d0(0x82)};export const USER_REF_FLAG={'name':a183_0x2451d0(0x8d),'type':'string','required':!![],'description':'User\x20id,\x20username,\x20or\x20nickname\x20to\x20resolve\x20to\x20a\x20userId'};export const NAME_FLAG={'name':'name','type':a183_0x2451d0(0xb8),'required':!![],'description':a183_0x2451d0(0xb1)};export const USER_NAME_FLAG={'name':a183_0x2451d0(0xbd),'type':'string','required':!![],'description':a183_0x2451d0(0xaf)};function a183_0x8262(_0x342ac1,_0x59115c){_0x342ac1=_0x342ac1-0x82;const _0x246c4b=a183_0x246c();let _0x826231=_0x246c4b[_0x342ac1];return _0x826231;}export const REMARK_FLAG={'name':a183_0x2451d0(0xb4),'type':a183_0x2451d0(0xb8),'required':![],'description':a183_0x2451d0(0x92)};export const EXPECT_USER_COUNT_FLAG={'name':a183_0x2451d0(0xa6),'type':'number','required':![],'description':a183_0x2451d0(0xa8)};function a183_0x246c(){const _0x4f40d0=['Role\x20id\x20(from\x20`role\x20list`)','tenant','nickname','\x20duplicate\x20memberships\x20for\x20user\x20','No\x20tenant\x20member\x20matches\x20\x22','includes','find','\x20not\x20found\x20in\x20app\x20','Use\x20the\x20platform\x20ownership-transfer\x20workflow\x20to\x20change\x20the\x20application\x20owner.','User\x20','validation','tenant_code','7789048pTLSlc','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles,\x20or\x20pass\x20--role\x20<id>.','expect-user-count','578268DTgzYA','Anti-drift\x20guard:\x20fail\x20if\x20the\x20role\x27s\x20current\x20member\x20count\x20differs','userId','/smartapi/permit/user-role/delete','permitCount','Missing\x20user\x20reference.','126dBHpjx','authRequired','Nickname\x20or\x20username\x20to\x20resolve\x20to\x20a\x20userId','Pass\x20--user\x20<id|name>.','Role\x20name','Missing\x20role\x20reference.','number','remark','\x20built-in\x20role\x20','roleName','POST','string','OWNER','appCode','filter','totalCount','name','Re-run\x20`role\x20detail`\x20/\x20`role\x20list`\x20and\x20retry\x20with\x20the\x20current\x20count.','1413980ehiwEG','228775dPtpGd','length','CUSTOM','Cannot\x20','7otJoPz','push','/smartapi/permit/user-role/create','username','map','Anti-drift\x20check\x20failed:\x20expected\x20','Multiple\x20tenant\x20members\x20match\x20\x22','role','Check\x20the\x20nickname/username.\x20',';\x20no\x20change.','9963144QzafAr','str','Role\x20id\x20or\x20exact\x20role\x20name','22688743pGByrN','expectUserCount','Pass\x20--role\x20<id|name>.','10BgGlcw','join','test','Role\x20name\x20\x22','39025yEWGVQ','\x20member(s)\x20but\x20role\x20has\x20','Pass\x20--user\x20<id>.','user','toLowerCase','flagMissing','4JCmYIF','ADMIN','Optional\x20role\x20remark/description','roleType','\x20members\x20of\x20the\x20OWNER\x20role.','trim','userCount','\x20is\x20already\x20a\x20member\x20of\x20role\x20'];a183_0x246c=function(){return _0x4f40d0;};return a183_0x246c();}export const BUILTIN_ROLE_TYPES=[a183_0x2451d0(0x91),'DEV',a183_0x2451d0(0xb9)];export function isBuiltinRole(_0x242769){return BUILTIN_ROLE_TYPES['includes'](_0x242769);}export function assertCustomRole(_0x55bcac,_0x3442f0){const _0x195357=a183_0x2451d0;if(_0x55bcac[_0x195357(0x93)]!==_0x195357(0xc2))throw CliErrors[_0x195357(0xa2)](_0x195357(0xc3)+_0x3442f0+_0x195357(0xb5)+_0x55bcac['roleName']+'\x20('+_0x55bcac[_0x195357(0x93)]+').','Only\x20CUSTOM\x20roles\x20can\x20be\x20modified\x20or\x20deleted.');}export function projectRole(_0x5d479c){const _0x2d0192=a183_0x2451d0;return{'id':_0x5d479c['id'],'roleName':_0x5d479c[_0x2d0192(0xb6)],'roleType':_0x5d479c[_0x2d0192(0x93)],'remark':_0x5d479c[_0x2d0192(0xb4)],'userCount':_0x5d479c[_0x2d0192(0x96)],'permitCount':_0x5d479c[_0x2d0192(0xab)],'builtin':isBuiltinRole(_0x5d479c[_0x2d0192(0x93)])};}export async function resolveRoleRef(_0x254b38,_0x58ce03){const _0x2a6e78=a183_0x2451d0,_0x31db6b=_0x58ce03[_0x2a6e78(0x95)]();if(!_0x31db6b)throw CliErrors[_0x2a6e78(0xa2)](_0x2a6e78(0xb2),_0x2a6e78(0x85));if(/^\d+$/[_0x2a6e78(0x88)](_0x31db6b))return getRoleById(_0x254b38,Number(_0x31db6b));const _0x2d6efb=await listAllAppRoles(_0x254b38),_0x5973dd=_0x2d6efb[_0x2a6e78(0xbb)](_0x2f2117=>_0x2f2117[_0x2a6e78(0xb6)]===_0x31db6b);if(_0x5973dd['length']===0x0)throw CliErrors['validation'](_0x2a6e78(0x89)+_0x31db6b+'\x22\x20not\x20found\x20in\x20app\x20'+_0x254b38+'.',_0x2a6e78(0xa5));if(_0x5973dd['length']>0x1){const _0x530900=_0x5973dd[_0x2a6e78(0xc8)](_0x3465d0=>_0x3465d0['id'])[_0x2a6e78(0x87)](',\x20');throw CliErrors[_0x2a6e78(0xa2)]('Role\x20name\x20\x22'+_0x31db6b+'\x22\x20is\x20ambiguous\x20(ids:\x20'+_0x530900+').','Disambiguate\x20with\x20--role\x20<id>.');}return _0x5973dd[0x0];}export async function getRoleById(_0x1d30c1,_0xc6f3e8){const _0x56daa5=a183_0x2451d0,_0x57e643=await listAllAppRoles(_0x1d30c1),_0x5661a1=_0x57e643[_0x56daa5(0xbb)](_0xf37dd1=>_0xf37dd1['id']===_0xc6f3e8&&(!_0xf37dd1['appCode']||_0xf37dd1[_0x56daa5(0xba)]===_0x1d30c1));if(_0x5661a1[_0x56daa5(0xc1)]!==0x1)throw CliErrors['validation']('Role\x20id\x20'+_0xc6f3e8+_0x56daa5(0x9f)+_0x1d30c1+'.','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles.');return _0x5661a1[0x0];}async function listAllAppRoles(_0xf86274){const _0x575287=a183_0x2451d0,_0x565610=0x64,_0x58ee79=[];for(let _0x384dfd=0x1;;_0x384dfd+=0x1){const {items:_0x163194,paging:_0xcfe13a}=await listAppRoles(_0xf86274,{'currentPage':_0x384dfd,'pageSize':_0x565610});_0x58ee79[_0x575287(0xc5)](..._0x163194);if(_0x163194[_0x575287(0xc1)]<_0x565610||_0xcfe13a&&_0x58ee79[_0x575287(0xc1)]>=_0xcfe13a[_0x575287(0xbc)])return _0x58ee79;}}export async function resolveTenantCode(){const _0x1864f7=a183_0x2451d0,_0x258f94=await getSessionUserInfo(),_0x419fe8=_0x258f94?.[_0x1864f7(0x8d)]?.[_0x1864f7(0x99)]?.[_0x1864f7(0xa3)];if(!_0x419fe8)throw CliErrors[_0x1864f7(0xae)]('Cannot\x20resolve\x20current\x20tenant.\x20Run\x20`rabetbase\x20auth\x20login`\x20first.');return _0x419fe8;}function matchMember(_0x2b94a8,_0x9f8978){const _0x41f7ab=a183_0x2451d0,_0x45b44f=_0x9f8978[_0x41f7ab(0x95)]()[_0x41f7ab(0x8e)]();return(_0x2b94a8[_0x41f7ab(0x9a)]??'')['toLowerCase']()===_0x45b44f||(_0x2b94a8[_0x41f7ab(0xc7)]??'')[_0x41f7ab(0x8e)]()===_0x45b44f;}export async function resolveUserRef(_0x378c64,_0x11b8d9=a183_0x2451d0(0x8c)){const _0x473738=a183_0x2451d0,_0x47a530=_0x378c64['trim']();if(!_0x47a530)throw CliErrors[_0x473738(0xa2)](_0x473738(0xac),'Pass\x20--user\x20<id|name>.');const _0x20f783=await resolveTenantCode(),_0x47e8dc=await getTenantMembers(_0x20f783);if(/^\d+$/[_0x473738(0x88)](_0x47a530)){const _0x27a557=Number(_0x47a530),_0x28a90b=_0x47e8dc[_0x473738(0x9e)](_0x3c2af4=>_0x3c2af4[_0x473738(0xa9)]===_0x27a557);return{'userId':_0x27a557,'username':_0x28a90b?.[_0x473738(0xc7)]??String(_0x27a557),'nickname':_0x28a90b?.[_0x473738(0x9a)],'matchedBy':'id'};}const _0x3cbec0=_0x47e8dc[_0x473738(0xbb)](_0x40e49b=>matchMember(_0x40e49b,_0x47a530));if(_0x3cbec0[_0x473738(0xc1)]===0x0)throw CliErrors[_0x473738(0xa2)](_0x473738(0x9c)+_0x47a530+'\x22.',_0x473738(0xcc)+_0x11b8d9);if(_0x3cbec0[_0x473738(0xc1)]>0x1){const _0x4d2413=_0x3cbec0[_0x473738(0xc8)](_0x2a08ff=>(_0x2a08ff[_0x473738(0x9a)]??_0x2a08ff[_0x473738(0xc7)]??'?')+'('+_0x2a08ff['userId']+')')['join'](',\x20');throw CliErrors[_0x473738(0xa2)](_0x473738(0xca)+_0x47a530+'\x22:\x20'+_0x4d2413+'.',_0x11b8d9);}const _0x596b8d=_0x3cbec0[0x0];return{'userId':_0x596b8d[_0x473738(0xa9)],'username':_0x596b8d[_0x473738(0xc7)]??String(_0x596b8d[_0x473738(0xa9)]),'nickname':_0x596b8d['nickname'],'matchedBy':'name'};}export const CREATE_USER_ROLE_PATH=a183_0x2451d0(0xc6);export const DELETE_USER_ROLE_PATH=a183_0x2451d0(0xaa);export function computeRoleUserMutation(_0x152c38){const _0x308a68=a183_0x2451d0,{operation:_0x2e8c80,appCode:_0x3e49bf,role:_0x1cec48,relations:_0x926f94,user:_0x17c684}=_0x152c38,_0x200238=[...new Set(_0x926f94[_0x308a68(0xc8)](_0x4280cf=>_0x4280cf[_0x308a68(0xa9)]))],_0x322f19=[];if(_0x152c38[_0x308a68(0x84)]!==undefined&&_0x152c38[_0x308a68(0x84)]!==_0x200238[_0x308a68(0xc1)])throw CliErrors[_0x308a68(0xa2)](_0x308a68(0xc9)+_0x152c38['expectUserCount']+_0x308a68(0x8b)+_0x200238[_0x308a68(0xc1)]+'.',_0x308a68(0xbe));const _0x223812=_0x200238[_0x308a68(0x9d)](_0x17c684['userId']),_0x4851ca=_0x926f94[_0x308a68(0xbb)](_0x4861bc=>_0x4861bc[_0x308a68(0xa9)]===_0x17c684[_0x308a68(0xa9)])['map'](_0x380917=>_0x380917['id']),_0x2e31df=_0x2e8c80==='user-add'?!_0x223812:_0x223812;let _0x1d0529=_0x200238;_0x2e8c80==='user-add'?_0x223812?_0x322f19[_0x308a68(0xc5)](_0x308a68(0xa1)+_0x17c684[_0x308a68(0xa9)]+_0x308a68(0x97)+_0x1cec48[_0x308a68(0xb6)]+';\x20no\x20change.'):_0x1d0529=[..._0x200238,_0x17c684['userId']]:!_0x223812?_0x322f19[_0x308a68(0xc5)]('User\x20'+_0x17c684['userId']+'\x20is\x20not\x20a\x20member\x20of\x20role\x20'+_0x1cec48['roleName']+_0x308a68(0xcd)):(_0x1d0529=_0x200238[_0x308a68(0xbb)](_0x352690=>_0x352690!==_0x17c684[_0x308a68(0xa9)]),_0x4851ca[_0x308a68(0xc1)]>0x1&&_0x322f19['push']('Removed\x20'+_0x4851ca[_0x308a68(0xc1)]+_0x308a68(0x9b)+_0x17c684['userId']+'.'));const _0x1ce71c={'scope':'dev','operation':_0x2e8c80,'selector':{'appCode':_0x3e49bf,'roleId':_0x1cec48['id'],'roleName':_0x1cec48[_0x308a68(0xb6)],'userId':_0x17c684[_0x308a68(0xa9)]},'before':{'userIds':_0x200238},'after':{'userIds':_0x1d0529},'dryRun':_0x152c38['dryRun'],'backend':{'method':_0x308a68(0xb7),'path':_0x2e8c80==='user-add'?CREATE_USER_ROLE_PATH:DELETE_USER_ROLE_PATH},'warnings':_0x322f19};return{'mutation':_0x1ce71c,'changed':_0x2e31df,'matchingRelationIds':_0x4851ca};}export async function loadDevRoleRelations(_0x2ab50b,_0x5d21fb){const _0x9fc468=a183_0x2451d0,_0x128e27=0x64,_0x23ee10=[];for(let _0x5f9d5a=0x1;;_0x5f9d5a+=0x1){const {items:_0x39b197,paging:_0x3b65b4}=await listDevUserRoleRelations(_0x2ab50b,{'roleId':_0x5d21fb,'currentPage':_0x5f9d5a,'pageSize':_0x128e27});_0x23ee10['push'](..._0x39b197);if(_0x39b197['length']<_0x128e27||_0x3b65b4&&_0x23ee10[_0x9fc468(0xc1)]>=_0x3b65b4[_0x9fc468(0xbc)])return _0x23ee10;}}export function readRoleRef(_0xc1b68){const _0xd1835f=a183_0x2451d0,_0x79a855=_0xc1b68[_0xd1835f(0xcf)](_0xd1835f(0xcb))[_0xd1835f(0x95)]();if(!_0x79a855)throw CliErrors['flagMissing'](_0xd1835f(0xcb),_0xd1835f(0x85));return _0x79a855;}export async function prepareUserMutation(_0x237b90,_0x2aab57,_0x3c994b){const _0x5ad3d5=a183_0x2451d0,_0x35b1a9=readRoleRef(_0x237b90),_0x143869=_0x237b90[_0x5ad3d5(0xcf)](_0x5ad3d5(0x8d))['trim']();if(!_0x143869)throw CliErrors[_0x5ad3d5(0x8f)](_0x5ad3d5(0x8d),_0x5ad3d5(0xb0));const _0x228b21=_0x237b90['flag']('expect-user-count'),_0x1a3b03=_0x228b21===undefined||_0x228b21===null?undefined:Number(_0x228b21),_0x549399=await resolveRoleRef(_0x237b90[_0x5ad3d5(0xba)],_0x35b1a9);if(_0x549399['roleType']===_0x5ad3d5(0xb9))throw CliErrors[_0x5ad3d5(0xa2)](_0x5ad3d5(0xc3)+_0x2aab57+_0x5ad3d5(0x94),_0x5ad3d5(0xa0));const _0x499bfb=await resolveUserRef(_0x143869),_0xe33048=await loadDevRoleRelations(_0x237b90[_0x5ad3d5(0xba)],_0x549399['id']);return{...computeRoleUserMutation({'operation':_0x2aab57,'appCode':_0x237b90[_0x5ad3d5(0xba)],'role':_0x549399,'relations':_0xe33048,'user':{'userId':_0x499bfb[_0x5ad3d5(0xa9)],'username':_0x499bfb['username'],'nickname':_0x499bfb[_0x5ad3d5(0x9a)]},'dryRun':_0x3c994b,..._0x1a3b03!==undefined?{'expectUserCount':_0x1a3b03}:{}}),'role':_0x549399,'user':_0x499bfb};}
@@ -1 +1 @@
1
- const a179_0x5abfc8=a179_0x1919;(function(_0x122ebd,_0xbc74d9){const _0x357a24=a179_0x1919,_0x13d3ed=_0x122ebd();while(!![]){try{const _0x14dc03=-parseInt(_0x357a24(0xbb))/0x1+parseInt(_0x357a24(0xc5))/0x2+-parseInt(_0x357a24(0xc6))/0x3*(-parseInt(_0x357a24(0xc1))/0x4)+parseInt(_0x357a24(0xbe))/0x5*(-parseInt(_0x357a24(0xb0))/0x6)+parseInt(_0x357a24(0xc9))/0x7+-parseInt(_0x357a24(0xbc))/0x8*(-parseInt(_0x357a24(0xb2))/0x9)+-parseInt(_0x357a24(0xba))/0xa;if(_0x14dc03===_0xbc74d9)break;else _0x13d3ed['push'](_0x13d3ed['shift']());}catch(_0x5a7015){_0x13d3ed['push'](_0x13d3ed['shift']());}}}(a179_0x2eab,0xd912f));import{updateAppRole}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';function a179_0x2eab(){const _0x51674d=['validation','2718420LrGJlk','1454591hVaHss','168648PCiFVO','Update\x20a\x20CUSTOM\x20role\x27s\x20name/remark\x20(built-in\x20roles\x20rejected)','266945ZNjeYI','update','appCode','609624KloLtI','dev','Updated\x20role\x20','Role\x20name\x20cannot\x20exceed\x2064\x20characters.','3282206KDuHKh','21rKzeZK','trim','New\x20role\x20name','8253735BtKZPh','flag','name','150DIwcKy','roleName','27qjgKdi','num','--name\x20cannot\x20be\x20empty.','string','length','POST','remark'];a179_0x2eab=function(){return _0x51674d;};return a179_0x2eab();}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{assertCustomRole,getRoleById,projectRole,REMARK_FLAG,ROLE_ID_FLAG}from'../../commands/role/shared.js';const UPDATE_PATH='/smartapi/permit/role/update';function a179_0x1919(_0x122b74,_0x1b5b2d){_0x122b74=_0x122b74-0xae;const _0x2eab75=a179_0x2eab();let _0x1919ad=_0x2eab75[_0x122b74];return _0x1919ad;}function readPatch(_0x5929cb){const _0x235f06=a179_0x1919,_0x1c0a12=_0x5929cb[_0x235f06(0xae)](_0x235f06(0xaf)),_0x3d5a30=_0x5929cb['flag'](_0x235f06(0xb8)),_0x16c551={};if(_0x1c0a12!==undefined&&_0x1c0a12!==null){const _0x30b982=String(_0x1c0a12)[_0x235f06(0xc7)]();if(!_0x30b982)throw CliErrors[_0x235f06(0xb9)](_0x235f06(0xb4));if(_0x30b982[_0x235f06(0xb6)]>0x40)throw CliErrors[_0x235f06(0xb9)](_0x235f06(0xc4));_0x16c551[_0x235f06(0xb1)]=_0x30b982;}_0x3d5a30!==undefined&&_0x3d5a30!==null&&(_0x16c551['remark']=String(_0x3d5a30));if(_0x16c551[_0x235f06(0xb1)]===undefined&&_0x16c551[_0x235f06(0xb8)]===undefined)throw CliErrors['validation']('Nothing\x20to\x20update.','Pass\x20at\x20least\x20one\x20of\x20--name\x20/\x20--remark.');return _0x16c551;}export const roleUpdate={'service':'role','command':'update','description':a179_0x5abfc8(0xbd),'risk':'write','flags':[ROLE_ID_FLAG,{...REMARK_FLAG},{'name':'name','type':a179_0x5abfc8(0xb5),'required':![],'description':a179_0x5abfc8(0xc8)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x2053ed){readPatch(_0x2053ed);},async 'dryRun'(_0xaf197f){const _0x1bfd7a=a179_0x5abfc8,_0x5f370b=_0xaf197f['num']('id'),_0x2cad7b=readPatch(_0xaf197f),_0x502f6e=await getRoleById(_0xaf197f['appCode'],_0x5f370b);return assertCustomRole(_0x502f6e,'update'),asDryRunResult({'scope':'dev','operation':_0x1bfd7a(0xbf),'selector':{'appCode':_0xaf197f[_0x1bfd7a(0xc0)],'roleId':_0x5f370b,'roleName':_0x502f6e['roleName']},'before':projectRole(_0x502f6e),'after':projectRole({..._0x502f6e,..._0x2cad7b[_0x1bfd7a(0xb1)]!==undefined?{'roleName':_0x2cad7b[_0x1bfd7a(0xb1)]}:{},..._0x2cad7b[_0x1bfd7a(0xb8)]!==undefined?{'remark':_0x2cad7b[_0x1bfd7a(0xb8)]}:{}}),'dryRun':!![],'backend':{'method':'POST','path':UPDATE_PATH},'warnings':[]},{'method':_0x1bfd7a(0xb7),'url':UPDATE_PATH});},async 'execute'(_0x24834f){const _0x529b91=a179_0x5abfc8,_0x21466b=_0x24834f[_0x529b91(0xb3)]('id'),_0x1b9798=readPatch(_0x24834f),_0x58a891=await getRoleById(_0x24834f['appCode'],_0x21466b);assertCustomRole(_0x58a891,'update'),await updateAppRole({'id':_0x21466b,'appCode':_0x24834f[_0x529b91(0xc0)],..._0x1b9798[_0x529b91(0xb1)]!==undefined?{'roleName':_0x1b9798['roleName']}:{},..._0x1b9798[_0x529b91(0xb8)]!==undefined?{'remark':_0x1b9798[_0x529b91(0xb8)]}:{}});const _0x453ef3=await getRoleById(_0x24834f[_0x529b91(0xc0)],_0x21466b);return{'ok':!![],'data':{'scope':_0x529b91(0xc2),'operation':_0x529b91(0xbf),'selector':{'appCode':_0x24834f[_0x529b91(0xc0)],'roleId':_0x21466b,'roleName':_0x453ef3[_0x529b91(0xb1)]},'before':projectRole(_0x58a891),'after':projectRole(_0x453ef3),'dryRun':![],'backend':{'method':_0x529b91(0xb7),'path':UPDATE_PATH},'warnings':[]},'message':_0x529b91(0xc3)+_0x453ef3[_0x529b91(0xb1)]+'\x20(id='+_0x21466b+')'};}};
1
+ function a184_0x3799(){const _0x34c4ed=['Role\x20name\x20cannot\x20exceed\x2064\x20characters.','17139280CcuveZ','5060315hRlYlv','New\x20role\x20name','name','update','POST','roleName','dev','validation','remark','3750076RVlRli','6563547fpowZv','126daowSL','3034008KSKTRr','string','flag','\x20(id=','Nothing\x20to\x20update.','1Sdzpts','215425gOhBTz','3yNgKsa','appCode','1004474MsDCss','/smartapi/permit/role/update','num'];a184_0x3799=function(){return _0x34c4ed;};return a184_0x3799();}const a184_0x2e61ab=a184_0xf998;(function(_0x205403,_0x441081){const _0x5be66a=a184_0xf998,_0x52700a=_0x205403();while(!![]){try{const _0x1af1b5=-parseInt(_0x5be66a(0x131))/0x1*(-parseInt(_0x5be66a(0x135))/0x2)+parseInt(_0x5be66a(0x133))/0x3*(-parseInt(_0x5be66a(0x129))/0x4)+-parseInt(_0x5be66a(0x120))/0x5+-parseInt(_0x5be66a(0x12b))/0x6*(-parseInt(_0x5be66a(0x132))/0x7)+parseInt(_0x5be66a(0x12c))/0x8+-parseInt(_0x5be66a(0x12a))/0x9+parseInt(_0x5be66a(0x11f))/0xa;if(_0x1af1b5===_0x441081)break;else _0x52700a['push'](_0x52700a['shift']());}catch(_0x5eda81){_0x52700a['push'](_0x52700a['shift']());}}}(a184_0x3799,0x8968a));function a184_0xf998(_0x485df3,_0x1bf112){_0x485df3=_0x485df3-0x11d;const _0x37993e=a184_0x3799();let _0xf998a=_0x37993e[_0x485df3];return _0xf998a;}import{updateAppRole}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{assertCustomRole,getRoleById,projectRole,REMARK_FLAG,ROLE_ID_FLAG}from'../../commands/role/shared.js';const UPDATE_PATH=a184_0x2e61ab(0x136);function readPatch(_0x2c224b){const _0x25e6ae=a184_0x2e61ab,_0x13ccc4=_0x2c224b['flag']('name'),_0x2e65a6=_0x2c224b[_0x25e6ae(0x12e)](_0x25e6ae(0x128)),_0x56b4a9={};if(_0x13ccc4!==undefined&&_0x13ccc4!==null){const _0x19ce5f=String(_0x13ccc4)['trim']();if(!_0x19ce5f)throw CliErrors['validation']('--name\x20cannot\x20be\x20empty.');if(_0x19ce5f['length']>0x40)throw CliErrors[_0x25e6ae(0x127)](_0x25e6ae(0x11e));_0x56b4a9['roleName']=_0x19ce5f;}_0x2e65a6!==undefined&&_0x2e65a6!==null&&(_0x56b4a9[_0x25e6ae(0x128)]=String(_0x2e65a6));if(_0x56b4a9[_0x25e6ae(0x125)]===undefined&&_0x56b4a9[_0x25e6ae(0x128)]===undefined)throw CliErrors[_0x25e6ae(0x127)](_0x25e6ae(0x130),'Pass\x20at\x20least\x20one\x20of\x20--name\x20/\x20--remark.');return _0x56b4a9;}export const roleUpdate={'service':'role','command':'update','description':'Update\x20a\x20CUSTOM\x20role\x27s\x20name/remark\x20(built-in\x20roles\x20rejected)','risk':'write','flags':[ROLE_ID_FLAG,{...REMARK_FLAG},{'name':a184_0x2e61ab(0x122),'type':a184_0x2e61ab(0x12d),'required':![],'description':a184_0x2e61ab(0x121)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0xdbbae4){readPatch(_0xdbbae4);},async 'dryRun'(_0x4af5e3){const _0x5e55b5=a184_0x2e61ab,_0x33ee22=_0x4af5e3[_0x5e55b5(0x11d)]('id'),_0x5d25f2=readPatch(_0x4af5e3),_0x1e5899=await getRoleById(_0x4af5e3[_0x5e55b5(0x134)],_0x33ee22);return assertCustomRole(_0x1e5899,_0x5e55b5(0x123)),asDryRunResult({'scope':_0x5e55b5(0x126),'operation':'update','selector':{'appCode':_0x4af5e3[_0x5e55b5(0x134)],'roleId':_0x33ee22,'roleName':_0x1e5899[_0x5e55b5(0x125)]},'before':projectRole(_0x1e5899),'after':projectRole({..._0x1e5899,..._0x5d25f2['roleName']!==undefined?{'roleName':_0x5d25f2[_0x5e55b5(0x125)]}:{},..._0x5d25f2[_0x5e55b5(0x128)]!==undefined?{'remark':_0x5d25f2[_0x5e55b5(0x128)]}:{}}),'dryRun':!![],'backend':{'method':_0x5e55b5(0x124),'path':UPDATE_PATH},'warnings':[]},{'method':_0x5e55b5(0x124),'url':UPDATE_PATH});},async 'execute'(_0x37d0d7){const _0x1990c6=a184_0x2e61ab,_0x118b59=_0x37d0d7[_0x1990c6(0x11d)]('id'),_0x3d9397=readPatch(_0x37d0d7),_0x4cbd51=await getRoleById(_0x37d0d7['appCode'],_0x118b59);assertCustomRole(_0x4cbd51,_0x1990c6(0x123)),await updateAppRole({'id':_0x118b59,'appCode':_0x37d0d7[_0x1990c6(0x134)],..._0x3d9397['roleName']!==undefined?{'roleName':_0x3d9397[_0x1990c6(0x125)]}:{},..._0x3d9397[_0x1990c6(0x128)]!==undefined?{'remark':_0x3d9397[_0x1990c6(0x128)]}:{}});const _0x56c14f=await getRoleById(_0x37d0d7[_0x1990c6(0x134)],_0x118b59);return{'ok':!![],'data':{'scope':'dev','operation':_0x1990c6(0x123),'selector':{'appCode':_0x37d0d7[_0x1990c6(0x134)],'roleId':_0x118b59,'roleName':_0x56c14f[_0x1990c6(0x125)]},'before':projectRole(_0x4cbd51),'after':projectRole(_0x56c14f),'dryRun':![],'backend':{'method':_0x1990c6(0x124),'path':UPDATE_PATH},'warnings':[]},'message':'Updated\x20role\x20'+_0x56c14f[_0x1990c6(0x125)]+_0x1990c6(0x12f)+_0x118b59+')'};}};
@@ -1 +1 @@
1
- const a180_0x9a0b79=a180_0x5699;(function(_0x2da9c3,_0x51d79a){const _0x2871ca=a180_0x5699,_0x5a3aba=_0x2da9c3();while(!![]){try{const _0x34923d=-parseInt(_0x2871ca(0xe0))/0x1*(-parseInt(_0x2871ca(0xd5))/0x2)+-parseInt(_0x2871ca(0xdb))/0x3+parseInt(_0x2871ca(0xd8))/0x4+parseInt(_0x2871ca(0xd7))/0x5+parseInt(_0x2871ca(0xe6))/0x6*(-parseInt(_0x2871ca(0xec))/0x7)+parseInt(_0x2871ca(0xe4))/0x8*(parseInt(_0x2871ca(0xdf))/0x9)+-parseInt(_0x2871ca(0xda))/0xa*(parseInt(_0x2871ca(0xe9))/0xb);if(_0x34923d===_0x51d79a)break;else _0x5a3aba['push'](_0x5a3aba['shift']());}catch(_0xcb90a0){_0x5a3aba['push'](_0x5a3aba['shift']());}}}(a180_0x3076,0x26975));import{createDevUserRole}from'../../core/api-client.js';function a180_0x5699(_0x2ad421,_0x514419){_0x2ad421=_0x2ad421-0xd4;const _0x307689=a180_0x3076();let _0x569984=_0x307689[_0x2ad421];return _0x569984;}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{EXPECT_USER_COUNT_FLAG,CREATE_USER_ROLE_PATH,prepareUserMutation,ROLE_REF_FLAG,USER_REF_FLAG}from'../../commands/role/shared.js';function a180_0x3076(){const _0x1ea2d7=['userId','Added\x20user\x20','14zqxikM','appCode','91538UEfZqT','username','1306175EjyICI','1147760OghNdE','roleType','270YNvjXp','537774aoMXWC','POST','\x20already\x20in\x20role\x20','user-add','4302xidWJZ','4HdJDCS','roleId','role','No\x20change:\x20user\x20','232hOJdEs','high-risk-write','529026NNGdRE','selector','roleName','94292HydGvr'];a180_0x3076=function(){return _0x1ea2d7;};return a180_0x3076();}export const roleUserAdd={'service':a180_0x9a0b79(0xe2),'command':a180_0x9a0b79(0xde),'description':'Add\x20a\x20user\x20to\x20a\x20role\x20(OWNER\x20rejected);\x20requires\x20--yes','risk':a180_0x9a0b79(0xe5),'flags':[ROLE_REF_FLAG,USER_REF_FLAG,EXPECT_USER_COUNT_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x5de45d){const _0x471952=a180_0x9a0b79,{mutation:_0x20a101}=await prepareUserMutation(_0x5de45d,'user-add',!![]);return asDryRunResult(_0x20a101,{'method':_0x471952(0xdc),'url':CREATE_USER_ROLE_PATH});},async 'execute'(_0x3af5d5){const _0x2041a5=a180_0x9a0b79,{mutation:_0x408350,changed:_0x3c3257,role:_0x4c7e6b,user:_0x5269ab}=await prepareUserMutation(_0x3af5d5,_0x2041a5(0xde),![]);return _0x3c3257&&await createDevUserRole({'appCode':_0x3af5d5[_0x2041a5(0xd4)],'userId':_0x5269ab[_0x2041a5(0xea)],'username':_0x5269ab[_0x2041a5(0xd6)],'roleType':_0x4c7e6b[_0x2041a5(0xd9)],'roleId':_0x408350[_0x2041a5(0xe7)][_0x2041a5(0xe1)]}),{'ok':!![],'data':_0x408350,'message':_0x3c3257?_0x2041a5(0xeb)+_0x408350[_0x2041a5(0xe7)][_0x2041a5(0xea)]+'\x20to\x20role\x20'+_0x408350[_0x2041a5(0xe7)]['roleName']:_0x2041a5(0xe3)+_0x408350[_0x2041a5(0xe7)]['userId']+_0x2041a5(0xdd)+_0x408350[_0x2041a5(0xe7)][_0x2041a5(0xe8)]};}};
1
+ const a185_0x3a2496=a185_0x2bf5;(function(_0x54df9f,_0x2eb83d){const _0x4fd32d=a185_0x2bf5,_0x34eb9b=_0x54df9f();while(!![]){try{const _0x3905df=parseInt(_0x4fd32d(0xba))/0x1+parseInt(_0x4fd32d(0xcb))/0x2+parseInt(_0x4fd32d(0xd0))/0x3+parseInt(_0x4fd32d(0xc2))/0x4*(-parseInt(_0x4fd32d(0xbb))/0x5)+parseInt(_0x4fd32d(0xc7))/0x6+-parseInt(_0x4fd32d(0xc5))/0x7+parseInt(_0x4fd32d(0xce))/0x8;if(_0x3905df===_0x2eb83d)break;else _0x34eb9b['push'](_0x34eb9b['shift']());}catch(_0xe03bf6){_0x34eb9b['push'](_0x34eb9b['shift']());}}}(a185_0x838d,0x55d2f));import{createDevUserRole}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,CREATE_USER_ROLE_PATH,prepareUserMutation,ROLE_REF_FLAG,USER_REF_FLAG}from'../../commands/role/shared.js';function a185_0x2bf5(_0xf45ee9,_0x51a3f7){_0xf45ee9=_0xf45ee9-0xba;const _0x838db3=a185_0x838d();let _0x2bf545=_0x838db3[_0xf45ee9];return _0x2bf545;}export const roleUserAdd={'service':a185_0x3a2496(0xc6),'command':a185_0x3a2496(0xbf),'description':a185_0x3a2496(0xc0),'risk':a185_0x3a2496(0xbe),'flags':[ROLE_REF_FLAG,USER_REF_FLAG,EXPECT_USER_COUNT_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0xb8d5d9){const _0x5dcded=a185_0x3a2496,{mutation:_0x30e6d2}=await prepareUserMutation(_0xb8d5d9,_0x5dcded(0xbf),!![]);return asDryRunResult(_0x30e6d2,{'method':_0x5dcded(0xbc),'url':CREATE_USER_ROLE_PATH});},async 'execute'(_0x13977c){const _0x48eb5f=a185_0x3a2496,{mutation:_0x550021,changed:_0x4d1493,role:_0x507478,user:_0x85897f}=await prepareUserMutation(_0x13977c,_0x48eb5f(0xbf),![]);return _0x4d1493&&await createDevUserRole({'appCode':_0x13977c[_0x48eb5f(0xc3)],'userId':_0x85897f[_0x48eb5f(0xc8)],'username':_0x85897f[_0x48eb5f(0xc1)],'roleType':_0x507478[_0x48eb5f(0xcd)],'roleId':_0x550021[_0x48eb5f(0xbd)][_0x48eb5f(0xcf)]}),{'ok':!![],'data':_0x550021,'message':_0x4d1493?_0x48eb5f(0xcc)+_0x550021[_0x48eb5f(0xbd)]['userId']+'\x20to\x20role\x20'+_0x550021['selector'][_0x48eb5f(0xc4)]:_0x48eb5f(0xca)+_0x550021[_0x48eb5f(0xbd)]['userId']+_0x48eb5f(0xc9)+_0x550021[_0x48eb5f(0xbd)][_0x48eb5f(0xc4)]};}};function a185_0x838d(){const _0x5539a2=['635NDhlZA','POST','selector','high-risk-write','user-add','Add\x20a\x20user\x20to\x20a\x20role\x20(OWNER\x20rejected);\x20requires\x20--yes','username','4196najSbS','appCode','roleName','2919784oLlQpW','role','2001936bKvPhE','userId','\x20already\x20in\x20role\x20','No\x20change:\x20user\x20','488024TzZukk','Added\x20user\x20','roleType','350560mMLSgt','roleId','491355sfLDXY','116597WJoxzj'];a185_0x838d=function(){return _0x5539a2;};return a185_0x838d();}
@@ -1 +1 @@
1
- const a181_0x2db40e=a181_0x1713;(function(_0x3fa9ad,_0x123e52){const _0x190c77=a181_0x1713,_0x5a986e=_0x3fa9ad();while(!![]){try{const _0x3ae059=parseInt(_0x190c77(0x188))/0x1+-parseInt(_0x190c77(0x181))/0x2+parseInt(_0x190c77(0x180))/0x3*(parseInt(_0x190c77(0x187))/0x4)+parseInt(_0x190c77(0x17f))/0x5*(parseInt(_0x190c77(0x184))/0x6)+parseInt(_0x190c77(0x18a))/0x7+-parseInt(_0x190c77(0x18c))/0x8*(parseInt(_0x190c77(0x189))/0x9)+-parseInt(_0x190c77(0x182))/0xa;if(_0x3ae059===_0x123e52)break;else _0x5a986e['push'](_0x5a986e['shift']());}catch(_0x4ae341){_0x5a986e['push'](_0x5a986e['shift']());}}}(a181_0x5c3e,0x2ef2a));function a181_0x5c3e(){const _0x1602ec=['No\x20change:\x20user\x20','selector','roleName','65SEjdSd','57bImvVZ','305094DwstPk','621410slroVK','POST','136002qjmmwx','user-remove','Remove\x20a\x20user\x20from\x20a\x20role\x20(OWNER\x20rejected);\x20requires\x20--yes','27932FbktSt','160945ZoRGSU','2873241gyExsm','965594ZHRBLg','Removed\x20user\x20','8eTkhXT'];a181_0x5c3e=function(){return _0x1602ec;};return a181_0x5c3e();}import{deleteDevUserRole}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,DELETE_USER_ROLE_PATH,prepareUserMutation,ROLE_REF_FLAG,USER_REF_FLAG}from'../../commands/role/shared.js';function a181_0x1713(_0x18b4f8,_0x6516ff){_0x18b4f8=_0x18b4f8-0x17d;const _0x5c3ef6=a181_0x5c3e();let _0x171369=_0x5c3ef6[_0x18b4f8];return _0x171369;}export const roleUserRemove={'service':'role','command':'user-remove','description':a181_0x2db40e(0x186),'risk':'high-risk-write','flags':[ROLE_REF_FLAG,USER_REF_FLAG,EXPECT_USER_COUNT_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x411ec8){const _0x119035=a181_0x2db40e,{mutation:_0x14a978}=await prepareUserMutation(_0x411ec8,_0x119035(0x185),!![]);return asDryRunResult(_0x14a978,{'method':_0x119035(0x183),'url':DELETE_USER_ROLE_PATH});},async 'execute'(_0x16f8da){const _0x328b2b=a181_0x2db40e,{matchingRelationIds:_0x187f71,mutation:_0x388dd5,changed:_0x32be71}=await prepareUserMutation(_0x16f8da,'user-remove',![]);if(_0x32be71)for(const _0x2023a5 of _0x187f71){await deleteDevUserRole(_0x2023a5);}return{'ok':!![],'data':_0x388dd5,'message':_0x32be71?_0x328b2b(0x18b)+_0x388dd5[_0x328b2b(0x17d)]['userId']+'\x20from\x20role\x20'+_0x388dd5[_0x328b2b(0x17d)][_0x328b2b(0x17e)]:_0x328b2b(0x18d)+_0x388dd5[_0x328b2b(0x17d)]['userId']+'\x20not\x20in\x20role\x20'+_0x388dd5[_0x328b2b(0x17d)][_0x328b2b(0x17e)]};}};
1
+ const a186_0x29b0ed=a186_0x18b6;(function(_0x7b3d05,_0x546574){const _0x51d9dc=a186_0x18b6,_0x32d966=_0x7b3d05();while(!![]){try{const _0x32a741=-parseInt(_0x51d9dc(0x18d))/0x1*(-parseInt(_0x51d9dc(0x184))/0x2)+parseInt(_0x51d9dc(0x18c))/0x3+parseInt(_0x51d9dc(0x191))/0x4+-parseInt(_0x51d9dc(0x190))/0x5*(parseInt(_0x51d9dc(0x18e))/0x6)+parseInt(_0x51d9dc(0x182))/0x7+-parseInt(_0x51d9dc(0x18b))/0x8+parseInt(_0x51d9dc(0x188))/0x9;if(_0x32a741===_0x546574)break;else _0x32d966['push'](_0x32d966['shift']());}catch(_0x23e503){_0x32d966['push'](_0x32d966['shift']());}}}(a186_0x48b9,0x93831));import{deleteDevUserRole}from'../../core/api-client.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a186_0x18b6(_0x5cf395,_0x32e05b){_0x5cf395=_0x5cf395-0x180;const _0x48b952=a186_0x48b9();let _0x18b675=_0x48b952[_0x5cf395];return _0x18b675;}import{asDryRunResult}from'../../commands/common/dry-run.js';function a186_0x48b9(){const _0x49954b=['795714BvnWkp','POST','30RnTuXD','368724mpRIPt','userId','Removed\x20user\x20','510713zdhRhq','No\x20change:\x20user\x20','21062UBnWBz','selector','\x20not\x20in\x20role\x20','role','7359966igeWQG','roleName','\x20from\x20role\x20','908672JCbCkn','296466HVWjLY','41KVgceY'];a186_0x48b9=function(){return _0x49954b;};return a186_0x48b9();}import{EXPECT_USER_COUNT_FLAG,DELETE_USER_ROLE_PATH,prepareUserMutation,ROLE_REF_FLAG,USER_REF_FLAG}from'../../commands/role/shared.js';export const roleUserRemove={'service':a186_0x29b0ed(0x187),'command':'user-remove','description':'Remove\x20a\x20user\x20from\x20a\x20role\x20(OWNER\x20rejected);\x20requires\x20--yes','risk':'high-risk-write','flags':[ROLE_REF_FLAG,USER_REF_FLAG,EXPECT_USER_COUNT_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x40f60e){const _0x255b71=a186_0x29b0ed,{mutation:_0x3b782b}=await prepareUserMutation(_0x40f60e,'user-remove',!![]);return asDryRunResult(_0x3b782b,{'method':_0x255b71(0x18f),'url':DELETE_USER_ROLE_PATH});},async 'execute'(_0x4daa82){const _0x21c4d1=a186_0x29b0ed,{matchingRelationIds:_0x488a5d,mutation:_0x46c558,changed:_0x53c052}=await prepareUserMutation(_0x4daa82,'user-remove',![]);if(_0x53c052)for(const _0xdf0357 of _0x488a5d){await deleteDevUserRole(_0xdf0357);}return{'ok':!![],'data':_0x46c558,'message':_0x53c052?_0x21c4d1(0x181)+_0x46c558[_0x21c4d1(0x185)][_0x21c4d1(0x180)]+_0x21c4d1(0x18a)+_0x46c558[_0x21c4d1(0x185)]['roleName']:_0x21c4d1(0x183)+_0x46c558[_0x21c4d1(0x185)]['userId']+_0x21c4d1(0x186)+_0x46c558[_0x21c4d1(0x185)][_0x21c4d1(0x189)]};}};
@@ -1 +1 @@
1
- const a182_0x21e074=a182_0x5a7e;(function(_0xef7313,_0x1ff7a8){const _0x2081ce=a182_0x5a7e,_0x50859d=_0xef7313();while(!![]){try{const _0x15b0d=-parseInt(_0x2081ce(0xf4))/0x1*(parseInt(_0x2081ce(0xe7))/0x2)+-parseInt(_0x2081ce(0xfc))/0x3*(parseInt(_0x2081ce(0xfb))/0x4)+parseInt(_0x2081ce(0xf0))/0x5*(parseInt(_0x2081ce(0xee))/0x6)+-parseInt(_0x2081ce(0xf6))/0x7*(-parseInt(_0x2081ce(0xf2))/0x8)+parseInt(_0x2081ce(0xe8))/0x9+-parseInt(_0x2081ce(0xe9))/0xa*(-parseInt(_0x2081ce(0xfd))/0xb)+parseInt(_0x2081ce(0xea))/0xc*(-parseInt(_0x2081ce(0xe5))/0xd);if(_0x15b0d===_0x1ff7a8)break;else _0x50859d['push'](_0x50859d['shift']());}catch(_0x14e9bd){_0x50859d['push'](_0x50859d['shift']());}}}(a182_0x4fed,0xb0334));import{CliErrors}from'../../errors.js';function a182_0x4fed(){const _0x54431a=['6vIipqG','role','6377780yUltTe','user-resolve','16pzBCfH','userId','5mCoGEW','Pass\x20--name\x20<nickname|username>.','2179387UbhmVi','nickname','trim','flagMissing','matchedBy','303528hBxQuB','3ppJJze','234652YuWVbY','13ulNVdg','str','445196PNqlIk','10098495GVATyM','340JywvaW','22019916ZpoXwA','read','username','name'];a182_0x4fed=function(){return _0x54431a;};return a182_0x4fed();}function a182_0x5a7e(_0xc15b27,_0x4a7bf6){_0xc15b27=_0xc15b27-0xe5;const _0x4fed62=a182_0x4fed();let _0x5a7e94=_0x4fed62[_0xc15b27];return _0x5a7e94;}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{resolveUserRef,USER_NAME_FLAG}from'../../commands/role/shared.js';export const roleUserResolve={'service':a182_0x21e074(0xef),'command':a182_0x21e074(0xf1),'description':'Resolve\x20a\x20nickname/username\x20to\x20a\x20userId\x20(tenant\x20member\x20directory)','risk':a182_0x21e074(0xeb),'flags':[USER_NAME_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x2c8f46){const _0x5e4490=a182_0x21e074;if(!_0x2c8f46[_0x5e4490(0xe6)](_0x5e4490(0xed))[_0x5e4490(0xf8)]())throw CliErrors[_0x5e4490(0xf9)]('name',_0x5e4490(0xf5));},async 'execute'(_0x1f1f0b){const _0x458afb=a182_0x21e074,_0x4682fd=_0x1f1f0b[_0x458afb(0xe6)](_0x458afb(0xed))[_0x458afb(0xf8)](),_0x3e480c=await resolveUserRef(_0x4682fd,'Select\x20a\x20listed\x20userId,\x20then\x20pass\x20it\x20to\x20`role\x20user-add`\x20or\x20`role\x20user-remove`\x20with\x20--user\x20<id>.');return{'ok':!![],'data':{'user':{'userId':_0x3e480c[_0x458afb(0xf3)],'username':_0x3e480c[_0x458afb(0xec)],'nickname':_0x3e480c[_0x458afb(0xf7)],'matchedBy':_0x3e480c[_0x458afb(0xfa)]}},'message':'Resolved\x20\x22'+_0x4682fd+'\x22\x20→\x20userId\x20'+_0x3e480c[_0x458afb(0xf3)]};}};
1
+ function a187_0x1429(_0x484fc5,_0x59b128){_0x484fc5=_0x484fc5-0x6a;const _0x54b1d5=a187_0x54b1();let _0x142909=_0x54b1d5[_0x484fc5];return _0x142909;}const a187_0x1002fc=a187_0x1429;(function(_0x15fa20,_0x5c251e){const _0x18917e=a187_0x1429,_0x1e48de=_0x15fa20();while(!![]){try{const _0x26ac6e=-parseInt(_0x18917e(0x78))/0x1+-parseInt(_0x18917e(0x7b))/0x2+-parseInt(_0x18917e(0x6d))/0x3+-parseInt(_0x18917e(0x6c))/0x4*(-parseInt(_0x18917e(0x7c))/0x5)+-parseInt(_0x18917e(0x70))/0x6+-parseInt(_0x18917e(0x74))/0x7+parseInt(_0x18917e(0x6a))/0x8;if(_0x26ac6e===_0x5c251e)break;else _0x1e48de['push'](_0x1e48de['shift']());}catch(_0x31a5ec){_0x1e48de['push'](_0x1e48de['shift']());}}}(a187_0x54b1,0x4168b));import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{resolveUserRef,USER_NAME_FLAG}from'../../commands/role/shared.js';export const roleUserResolve={'service':a187_0x1002fc(0x6b),'command':'user-resolve','description':a187_0x1002fc(0x72),'risk':a187_0x1002fc(0x75),'flags':[USER_NAME_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x26cd54){const _0x31696e=a187_0x1002fc;if(!_0x26cd54[_0x31696e(0x6e)](_0x31696e(0x77))[_0x31696e(0x71)]())throw CliErrors[_0x31696e(0x6f)](_0x31696e(0x77),'Pass\x20--name\x20<nickname|username>.');},async 'execute'(_0x46b87b){const _0x115337=a187_0x1002fc,_0x3a90ef=_0x46b87b[_0x115337(0x6e)]('name')[_0x115337(0x71)](),_0x4b320f=await resolveUserRef(_0x3a90ef,_0x115337(0x7e));return{'ok':!![],'data':{'user':{'userId':_0x4b320f['userId'],'username':_0x4b320f[_0x115337(0x76)],'nickname':_0x4b320f[_0x115337(0x79)],'matchedBy':_0x4b320f[_0x115337(0x7a)]}},'message':'Resolved\x20\x22'+_0x3a90ef+_0x115337(0x73)+_0x4b320f[_0x115337(0x7d)]};}};function a187_0x54b1(){const _0x4cd44f=['515379nIAHlL','nickname','matchedBy','352184NTNXZc','1585OkyvfC','userId','Select\x20a\x20listed\x20userId,\x20then\x20pass\x20it\x20to\x20`role\x20user-add`\x20or\x20`role\x20user-remove`\x20with\x20--user\x20<id>.','11641960UsioOW','role','5284pNJoYc','1397358ZzARmv','str','flagMissing','2174070upyuls','trim','Resolve\x20a\x20nickname/username\x20to\x20a\x20userId\x20(tenant\x20member\x20directory)','\x22\x20→\x20userId\x20','605395tOYEdQ','read','username','name'];a187_0x54b1=function(){return _0x4cd44f;};return a187_0x54b1();}
@@ -1 +1 @@
1
- const a183_0x5b0922=a183_0x16d9;function a183_0x4092(){const _0x26011c=['start','Enable\x20watch\x20mode\x20for\x20preview','80952uOwWek','9EzLSFW','close','vite\x20build\x20--watch\x20exited\x20with\x20code\x20','boolean','\x20run\x20start','join','Script\x20name\x20defined\x20in\x20package.json','\x20run\x20preview','\x20run\x20preview\x20--watch','pnpm-lock.yaml','21642VzIoPd','\x22\x20not\x20found\x20in\x20package.json.','belowMinimum','\x20\x20EXAMPLES','bun.lockb','args','inherit','Available:\x20','length','node_modules','package.json','33VHszWS','--watch','8790310NxdHEV','error','36NebpUJ','35ELiKdU','\x20run\x20<script>\x0a','push','needsUpgrade','keys','.bin','scripts','No\x20scripts\x20defined\x20in\x20package.json.','yarn','preview','vite','9067408RXwUAz','parse','validation','watch','slice','542040ssNOIH','log','write','dev','Script\x20\x22','312780VVhAfv','all','\x20\x20\x20\x20','2114qXtKVs','bool','22518108ebuWwF','build','run'];a183_0x4092=function(){return _0x26011c;};return a183_0x4092();}(function(_0x1f61b3,_0xfe3456){const _0x26c9bf=a183_0x16d9,_0x1f46fe=_0x1f61b3();while(!![]){try{const _0x5b84c6=-parseInt(_0x26c9bf(0x134))/0x1+parseInt(_0x26c9bf(0x13e))/0x2*(-parseInt(_0x26c9bf(0x158))/0x3)+-parseInt(_0x26c9bf(0x169))/0x4*(parseInt(_0x26c9bf(0x159))/0x5)+parseInt(_0x26c9bf(0x149))/0x6*(-parseInt(_0x26c9bf(0x137))/0x7)+-parseInt(_0x26c9bf(0x164))/0x8+-parseInt(_0x26c9bf(0x13f))/0x9*(parseInt(_0x26c9bf(0x156))/0xa)+-parseInt(_0x26c9bf(0x154))/0xb*(-parseInt(_0x26c9bf(0x139))/0xc);if(_0x5b84c6===_0xfe3456)break;else _0x1f46fe['push'](_0x1f46fe['shift']());}catch(_0x3217a8){_0x1f46fe['push'](_0x1f46fe['shift']());}}}(a183_0x4092,0xbe996));import{readFileSync,existsSync}from'node:fs';import{CLI_BIN_NAME}from'../../constant/cli.js';function a183_0x16d9(_0x3005e3,_0x5588e0){_0x3005e3=_0x3005e3-0x131;const _0x4092d2=a183_0x4092();let _0x16d92a=_0x4092d2[_0x3005e3];return _0x16d92a;}import{resolve,delimiter,join}from'node:path';import{spawn}from'node:child_process';import{CliErrors}from'../../errors.js';import{checkSdkVersion,printSdkUpgradeWarning}from'../../utils/check-sdk-version.js';import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../utils/cli-version-check.js';const VERSION_CHECK_SCRIPTS=new Set([a183_0x5b0922(0x13c),a183_0x5b0922(0x132)]);function readPackageScripts(_0x129057){const _0x449e71=a183_0x5b0922,_0xa403f4=resolve(_0x129057,_0x449e71(0x153));if(!existsSync(_0xa403f4))return null;try{const _0x3af487=JSON[_0x449e71(0x165)](readFileSync(_0xa403f4,'utf-8'));return _0x3af487[_0x449e71(0x15f)]??{};}catch{return null;}}function detectPackageManager(_0x28ef96){const _0x2a58d3=a183_0x5b0922;if(existsSync(resolve(_0x28ef96,_0x2a58d3(0x14d)))||existsSync(resolve(_0x28ef96,'bun.lock')))return'bun';if(existsSync(resolve(_0x28ef96,_0x2a58d3(0x148))))return'pnpm';if(existsSync(resolve(_0x28ef96,'yarn.lock')))return _0x2a58d3(0x161);return'npm';}async function versionCheck(_0x67ed69){const _0x379569=a183_0x5b0922,_0x3998bb=await checkCliVersion();(_0x3998bb['needsUpgrade']||_0x3998bb[_0x379569(0x14b)])&&(printCliUpgradeWarning(_0x3998bb),assertCliVersionSupported(_0x3998bb));const _0x5ee6e5=await checkSdkVersion(_0x67ed69);if(_0x5ee6e5[_0x379569(0x15c)])printSdkUpgradeWarning(_0x5ee6e5);}function spawnScript(_0x518afd,_0x45ebca,_0x510253,_0x4a03ae){return new Promise((_0x1c1450,_0x2279fa)=>{const _0x28cf7f=a183_0x16d9,_0x2ea4c3=['run',_0x45ebca,..._0x510253],_0x4060d3=spawn(_0x518afd,_0x2ea4c3,{'cwd':_0x4a03ae,'stdio':_0x28cf7f(0x14f),'shell':!![],'env':{...process.env,'PATH':''+join(_0x4a03ae,_0x28cf7f(0x152),_0x28cf7f(0x15e))+delimiter+process.env.PATH}});_0x4060d3['on']('close',_0xaf50c3=>{if(_0xaf50c3===0x0||_0xaf50c3===null)_0x1c1450();else _0x2279fa(new Error(_0x518afd+'\x20run\x20'+_0x45ebca+'\x20exited\x20with\x20code\x20'+_0xaf50c3));}),_0x4060d3['on'](_0x28cf7f(0x157),_0x2279fa);});}function spawnViteBuildWatch(_0x321896){return new Promise((_0x3a7832,_0x109df4)=>{const _0x2d93eb=a183_0x16d9,_0xf03ade=spawn(_0x2d93eb(0x163),[_0x2d93eb(0x13a),_0x2d93eb(0x155)],{'cwd':_0x321896,'stdio':'inherit','shell':!![],'env':{...process.env,'PATH':''+join(_0x321896,'node_modules',_0x2d93eb(0x15e))+delimiter+process.env.PATH}});_0xf03ade['on'](_0x2d93eb(0x140),_0x156772=>{const _0x3a6367=_0x2d93eb;if(_0x156772===0x0||_0x156772===null)_0x3a7832();else _0x109df4(new Error(_0x3a6367(0x141)+_0x156772));}),_0xf03ade['on']('error',_0x109df4);});}function spawnVitePreview(_0x59c2a6){return new Promise((_0x43a1fa,_0xc84201)=>{const _0x27e491=a183_0x16d9,_0x3794c4=spawn(_0x27e491(0x163),[_0x27e491(0x162)],{'cwd':_0x59c2a6,'stdio':_0x27e491(0x14f),'shell':!![],'env':{...process.env,'PATH':''+join(_0x59c2a6,_0x27e491(0x152),'.bin')+delimiter+process.env.PATH}});_0x3794c4['on'](_0x27e491(0x140),_0xe7a640=>{if(_0xe7a640===0x0||_0xe7a640===null)_0x43a1fa();else _0xc84201(new Error('vite\x20preview\x20exited\x20with\x20code\x20'+_0xe7a640));}),_0x3794c4['on']('error',_0xc84201);});}const runFlags=[{'name':'watch','type':a183_0x5b0922(0x142),'description':a183_0x5b0922(0x13d),'default':![]}];export const runDefinition={'service':a183_0x5b0922(0x13b),'command':a183_0x5b0922(0x13b),'description':'Run\x20a\x20package.json\x20script','risk':a183_0x5b0922(0x131),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':'script','description':a183_0x5b0922(0x145),'required':![]}],'flags':runFlags,'helpExtra':()=>{const _0x5a7e51=a183_0x5b0922,_0x218bec=[];return _0x218bec['push'](_0x5a7e51(0x14c)),_0x218bec['push'](_0x5a7e51(0x136)+CLI_BIN_NAME+_0x5a7e51(0x143)),_0x218bec['push'](_0x5a7e51(0x136)+CLI_BIN_NAME+'\x20run\x20build'),_0x218bec[_0x5a7e51(0x15b)]('\x20\x20\x20\x20'+CLI_BIN_NAME+_0x5a7e51(0x146)),_0x218bec['push'](_0x5a7e51(0x136)+CLI_BIN_NAME+_0x5a7e51(0x147)),_0x218bec[_0x5a7e51(0x144)]('\x0a');},async 'execute'(_0x4f24ae){const _0x15473a=a183_0x5b0922,_0x23001c=process['cwd'](),_0x6ee3e1=_0x4f24ae[_0x15473a(0x14e)][0x0],_0x3bc851=_0x4f24ae[_0x15473a(0x14e)][_0x15473a(0x168)](0x1),_0x535a31=readPackageScripts(_0x23001c);if(!_0x535a31)throw CliErrors['validation']('No\x20package.json\x20found\x20in\x20current\x20directory.');if(!_0x6ee3e1){const _0x1d5000=Object[_0x15473a(0x15d)](_0x535a31);if(_0x1d5000[_0x15473a(0x151)]===0x0)console[_0x15473a(0x16a)](_0x15473a(0x160));else{console[_0x15473a(0x16a)]('\x0a\x20\x20Available\x20scripts:\x0a');for(const _0x4f8ea9 of _0x1d5000){console['log'](_0x15473a(0x136)+_0x4f8ea9);}console['log']('\x0a\x20\x20Usage:\x20'+CLI_BIN_NAME+_0x15473a(0x15a));}return{'ok':!![]};}if(!_0x535a31[_0x6ee3e1])throw CliErrors[_0x15473a(0x166)](_0x15473a(0x133)+_0x6ee3e1+_0x15473a(0x14a),_0x15473a(0x150)+(Object['keys'](_0x535a31)[_0x15473a(0x144)](',\x20')||'(none)'));const _0x132b67=detectPackageManager(_0x23001c);VERSION_CHECK_SCRIPTS['has'](_0x6ee3e1)&&await versionCheck(_0x23001c);if(_0x6ee3e1===_0x15473a(0x162)&&_0x4f24ae[_0x15473a(0x138)](_0x15473a(0x167)))return await Promise[_0x15473a(0x135)]([spawnViteBuildWatch(_0x23001c),spawnVitePreview(_0x23001c)]),{'ok':!![]};return await spawnScript(_0x132b67,_0x6ee3e1,_0x3bc851,_0x23001c),{'ok':!![]};}};
1
+ const a188_0x43dce2=a188_0x2c83;(function(_0x4b38c9,_0x42a9da){const _0x21a911=a188_0x2c83,_0x6eb57e=_0x4b38c9();while(!![]){try{const _0x3f6907=parseInt(_0x21a911(0x1b2))/0x1+-parseInt(_0x21a911(0x1d5))/0x2*(-parseInt(_0x21a911(0x1c2))/0x3)+parseInt(_0x21a911(0x19c))/0x4+parseInt(_0x21a911(0x1bb))/0x5*(parseInt(_0x21a911(0x1c0))/0x6)+parseInt(_0x21a911(0x1a1))/0x7+parseInt(_0x21a911(0x194))/0x8*(parseInt(_0x21a911(0x196))/0x9)+parseInt(_0x21a911(0x1b5))/0xa*(-parseInt(_0x21a911(0x1a0))/0xb);if(_0x3f6907===_0x42a9da)break;else _0x6eb57e['push'](_0x6eb57e['shift']());}catch(_0x319047){_0x6eb57e['push'](_0x6eb57e['shift']());}}}(a188_0x570a,0x4d13d));import{readFileSync,existsSync}from'node:fs';import{CLI_BIN_NAME}from'../../constant/cli.js';import{resolve,delimiter,join}from'node:path';import{spawn}from'node:child_process';import{CliErrors}from'../../errors.js';import{checkSdkVersion,printSdkUpgradeWarning}from'../../utils/check-sdk-version.js';import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../utils/cli-version-check.js';const VERSION_CHECK_SCRIPTS=new Set([a188_0x43dce2(0x1a2),a188_0x43dce2(0x1af)]);function readPackageScripts(_0x4cb385){const _0x38b605=a188_0x43dce2,_0x325c62=resolve(_0x4cb385,_0x38b605(0x1b1));if(!existsSync(_0x325c62))return null;try{const _0x3e0da2=JSON['parse'](readFileSync(_0x325c62,'utf-8'));return _0x3e0da2[_0x38b605(0x1a8)]??{};}catch{return null;}}function detectPackageManager(_0x400c07){const _0x52cae3=a188_0x43dce2;if(existsSync(resolve(_0x400c07,_0x52cae3(0x1a5)))||existsSync(resolve(_0x400c07,_0x52cae3(0x1c9))))return _0x52cae3(0x1bc);if(existsSync(resolve(_0x400c07,_0x52cae3(0x1c7))))return _0x52cae3(0x1a4);if(existsSync(resolve(_0x400c07,_0x52cae3(0x19e))))return _0x52cae3(0x1b4);return _0x52cae3(0x198);}async function versionCheck(_0x1cfd99){const _0x3d8ebe=a188_0x43dce2,_0x380102=await checkCliVersion();(_0x380102[_0x3d8ebe(0x1c1)]||_0x380102[_0x3d8ebe(0x1ba)])&&(printCliUpgradeWarning(_0x380102),assertCliVersionSupported(_0x380102));const _0x3e9c6b=await checkSdkVersion(_0x1cfd99);if(_0x3e9c6b[_0x3d8ebe(0x1c1)])printSdkUpgradeWarning(_0x3e9c6b);}function spawnScript(_0x27cc9b,_0x326b21,_0xbb0788,_0x38b5f3){return new Promise((_0x16bc2a,_0x370324)=>{const _0x4c06f3=a188_0x2c83,_0xb935c0=[_0x4c06f3(0x19f),_0x326b21,..._0xbb0788],_0xb8e736=spawn(_0x27cc9b,_0xb935c0,{'cwd':_0x38b5f3,'stdio':_0x4c06f3(0x1c6),'shell':!![],'env':{...process.env,'PATH':''+join(_0x38b5f3,'node_modules',_0x4c06f3(0x1cc))+delimiter+process.env.PATH}});_0xb8e736['on']('close',_0x19d53f=>{const _0x3f46bb=_0x4c06f3;if(_0x19d53f===0x0||_0x19d53f===null)_0x16bc2a();else _0x370324(new Error(_0x27cc9b+'\x20run\x20'+_0x326b21+_0x3f46bb(0x1b9)+_0x19d53f));}),_0xb8e736['on'](_0x4c06f3(0x1d0),_0x370324);});}function spawnViteBuildWatch(_0x1a5c87){return new Promise((_0x5d062b,_0x3e24c1)=>{const _0x27fbf9=a188_0x2c83,_0x3a09f7=spawn(_0x27fbf9(0x1cd),[_0x27fbf9(0x1ca),_0x27fbf9(0x1bf)],{'cwd':_0x1a5c87,'stdio':_0x27fbf9(0x1c6),'shell':!![],'env':{...process.env,'PATH':''+join(_0x1a5c87,'node_modules',_0x27fbf9(0x1cc))+delimiter+process.env.PATH}});_0x3a09f7['on']('close',_0x19fa30=>{const _0x47da14=_0x27fbf9;if(_0x19fa30===0x0||_0x19fa30===null)_0x5d062b();else _0x3e24c1(new Error(_0x47da14(0x1d2)+_0x19fa30));}),_0x3a09f7['on'](_0x27fbf9(0x1d0),_0x3e24c1);});}function spawnVitePreview(_0x26cb42){return new Promise((_0x195014,_0x3943d8)=>{const _0x34d6fd=a188_0x2c83,_0x3fba23=spawn('vite',['preview'],{'cwd':_0x26cb42,'stdio':'inherit','shell':!![],'env':{...process.env,'PATH':''+join(_0x26cb42,_0x34d6fd(0x19a),_0x34d6fd(0x1cc))+delimiter+process.env.PATH}});_0x3fba23['on'](_0x34d6fd(0x1b7),_0x2a6c75=>{const _0x16c17f=_0x34d6fd;if(_0x2a6c75===0x0||_0x2a6c75===null)_0x195014();else _0x3943d8(new Error(_0x16c17f(0x1bd)+_0x2a6c75));}),_0x3fba23['on'](_0x34d6fd(0x1d0),_0x3943d8);});}const runFlags=[{'name':'watch','type':a188_0x43dce2(0x1d3),'description':'Enable\x20watch\x20mode\x20for\x20preview','default':![]}];function a188_0x2c83(_0x2b0152,_0x4cab9c){_0x2b0152=_0x2b0152-0x191;const _0x570aa8=a188_0x570a();let _0x2c83ad=_0x570aa8[_0x2b0152];return _0x2c83ad;}export const runDefinition={'service':a188_0x43dce2(0x19f),'command':'run','description':a188_0x43dce2(0x192),'risk':a188_0x43dce2(0x195),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a188_0x43dce2(0x1c5),'description':a188_0x43dce2(0x1ad),'required':![]}],'flags':runFlags,'helpExtra':()=>{const _0x3d22e5=a188_0x43dce2,_0x546741=[];return _0x546741['push'](_0x3d22e5(0x191)),_0x546741[_0x3d22e5(0x1c8)](_0x3d22e5(0x1d4)+CLI_BIN_NAME+_0x3d22e5(0x1cf)),_0x546741[_0x3d22e5(0x1c8)]('\x20\x20\x20\x20'+CLI_BIN_NAME+_0x3d22e5(0x1b0)),_0x546741['push'](_0x3d22e5(0x1d4)+CLI_BIN_NAME+_0x3d22e5(0x1ce)),_0x546741[_0x3d22e5(0x1c8)](_0x3d22e5(0x1d4)+CLI_BIN_NAME+_0x3d22e5(0x1c4)),_0x546741[_0x3d22e5(0x1d1)]('\x0a');},async 'execute'(_0x2fb6b5){const _0x1de6c6=a188_0x43dce2,_0x3371e1=process[_0x1de6c6(0x1be)](),_0x21f5c9=_0x2fb6b5['args'][0x0],_0xeb6ac0=_0x2fb6b5[_0x1de6c6(0x19d)][_0x1de6c6(0x1b8)](0x1),_0x247388=readPackageScripts(_0x3371e1);if(!_0x247388)throw CliErrors['validation'](_0x1de6c6(0x1ac));if(!_0x21f5c9){const _0x1295f5=Object['keys'](_0x247388);if(_0x1295f5[_0x1de6c6(0x197)]===0x0)console[_0x1de6c6(0x1a9)](_0x1de6c6(0x1a6));else{console[_0x1de6c6(0x1a9)](_0x1de6c6(0x1aa));for(const _0x3f66ff of _0x1295f5){console['log'](_0x1de6c6(0x1d4)+_0x3f66ff);}console[_0x1de6c6(0x1a9)]('\x0a\x20\x20Usage:\x20'+CLI_BIN_NAME+_0x1de6c6(0x1b6));}return{'ok':!![]};}if(!_0x247388[_0x21f5c9])throw CliErrors[_0x1de6c6(0x1ab)](_0x1de6c6(0x1c3)+_0x21f5c9+_0x1de6c6(0x193),'Available:\x20'+(Object[_0x1de6c6(0x1ae)](_0x247388)[_0x1de6c6(0x1d1)](',\x20')||_0x1de6c6(0x1a3)));const _0x143107=detectPackageManager(_0x3371e1);VERSION_CHECK_SCRIPTS[_0x1de6c6(0x1a7)](_0x21f5c9)&&await versionCheck(_0x3371e1);if(_0x21f5c9===_0x1de6c6(0x19b)&&_0x2fb6b5[_0x1de6c6(0x1cb)](_0x1de6c6(0x199)))return await Promise[_0x1de6c6(0x1b3)]([spawnViteBuildWatch(_0x3371e1),spawnVitePreview(_0x3371e1)]),{'ok':!![]};return await spawnScript(_0x143107,_0x21f5c9,_0xeb6ac0,_0x3371e1),{'ok':!![]};}};function a188_0x570a(){const _0x43e201=['1348239QHvLfF','Script\x20\x22','\x20run\x20preview\x20--watch','script','inherit','pnpm-lock.yaml','push','bun.lock','build','bool','.bin','vite','\x20run\x20preview','\x20run\x20start','error','join','vite\x20build\x20--watch\x20exited\x20with\x20code\x20','boolean','\x20\x20\x20\x20','2RZHrTa','\x20\x20EXAMPLES','Run\x20a\x20package.json\x20script','\x22\x20not\x20found\x20in\x20package.json.','1134800xXVIFZ','write','18vlttxR','length','npm','watch','node_modules','preview','1601244azNsDU','args','yarn.lock','run','88NzvaHE','4066979bmAmyk','start','(none)','pnpm','bun.lockb','No\x20scripts\x20defined\x20in\x20package.json.','has','scripts','log','\x0a\x20\x20Available\x20scripts:\x0a','validation','No\x20package.json\x20found\x20in\x20current\x20directory.','Script\x20name\x20defined\x20in\x20package.json','keys','dev','\x20run\x20build','package.json','580300GVXoSc','all','yarn','3049210TzVmqD','\x20run\x20<script>\x0a','close','slice','\x20exited\x20with\x20code\x20','belowMinimum','845zCHkfh','bun','vite\x20preview\x20exited\x20with\x20code\x20','cwd','--watch','16344MMvaeI','needsUpgrade'];a188_0x570a=function(){return _0x43e201;};return a188_0x570a();}
@@ -1 +1 @@
1
- const a184_0x596b61=a184_0x4f0a;(function(_0x2c2047,_0x226434){const _0x4e4e82=a184_0x4f0a,_0x193200=_0x2c2047();while(!![]){try{const _0x40c10d=-parseInt(_0x4e4e82(0x170))/0x1*(parseInt(_0x4e4e82(0x174))/0x2)+parseInt(_0x4e4e82(0x16b))/0x3+-parseInt(_0x4e4e82(0x16f))/0x4*(parseInt(_0x4e4e82(0x175))/0x5)+parseInt(_0x4e4e82(0x173))/0x6*(parseInt(_0x4e4e82(0x167))/0x7)+parseInt(_0x4e4e82(0x16a))/0x8*(parseInt(_0x4e4e82(0x176))/0x9)+-parseInt(_0x4e4e82(0x16c))/0xa+parseInt(_0x4e4e82(0x169))/0xb;if(_0x40c10d===_0x226434)break;else _0x193200['push'](_0x193200['shift']());}catch(_0x586e03){_0x193200['push'](_0x193200['shift']());}}}(a184_0x502f,0xa96e4));function a184_0x4f0a(_0x593dc2,_0xc6d344){_0x593dc2=_0x593dc2-0x167;const _0x502fb6=a184_0x502f();let _0x4f0ad3=_0x502fb6[_0x593dc2];return _0x4f0ad3;}import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x5a3230){const _0x37e86a=await buildSchemaPayload();return{'ok':!![],'data':_0x37e86a};}export const schemaDefinition={'service':a184_0x596b61(0x168),'command':a184_0x596b61(0x171),'description':a184_0x596b61(0x16e),'risk':a184_0x596b61(0x16d),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':a184_0x596b61(0x172),'flags':[],'execute':execute};function a184_0x502f(){const _0x185f58=['3429339ZxyAFA','8209590dLoxpd','read','Export\x20machine-readable\x20command\x20schema\x20(JSON)','8060QtamXW','1091863RCPjKI','export','json','6OhYemh','2sgwIVn','2165XEMCgH','248463fRyqtV','3565982HjJlTy','schema','13413532xQpMPK','176jRwENK'];a184_0x502f=function(){return _0x185f58;};return a184_0x502f();}
1
+ const a189_0x4ff165=a189_0x76ff;function a189_0x76ff(_0x28b6b5,_0x57bd22){_0x28b6b5=_0x28b6b5-0x187;const _0xe517ab=a189_0xe517();let _0x76ff31=_0xe517ab[_0x28b6b5];return _0x76ff31;}(function(_0x882d78,_0x34fea1){const _0x360c46=a189_0x76ff,_0x52dbe9=_0x882d78();while(!![]){try{const _0x425d9c=parseInt(_0x360c46(0x193))/0x1+-parseInt(_0x360c46(0x18c))/0x2*(-parseInt(_0x360c46(0x194))/0x3)+-parseInt(_0x360c46(0x18a))/0x4+parseInt(_0x360c46(0x190))/0x5*(-parseInt(_0x360c46(0x188))/0x6)+-parseInt(_0x360c46(0x187))/0x7*(-parseInt(_0x360c46(0x192))/0x8)+-parseInt(_0x360c46(0x18d))/0x9*(-parseInt(_0x360c46(0x191))/0xa)+parseInt(_0x360c46(0x18b))/0xb;if(_0x425d9c===_0x34fea1)break;else _0x52dbe9['push'](_0x52dbe9['shift']());}catch(_0x497403){_0x52dbe9['push'](_0x52dbe9['shift']());}}}(a189_0xe517,0xa080d));import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x5a60c7){const _0x1c3a6f=await buildSchemaPayload();return{'ok':!![],'data':_0x1c3a6f};}export const schemaDefinition={'service':'schema','command':a189_0x4ff165(0x18f),'description':a189_0x4ff165(0x189),'risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':a189_0x4ff165(0x18e),'flags':[],'execute':execute};function a189_0xe517(){const _0x26764b=['4056180TpsYkS','7188302WMrdvD','8NLcNBC','117TYuTBg','json','export','20xGlwdR','530830LgKtjK','7571168VvENkP','52105IeiSWk','18345DACeuH','7MmLhxV','1042584dXjhsS','Export\x20machine-readable\x20command\x20schema\x20(JSON)'];a189_0xe517=function(){return _0x26764b;};return a189_0xe517();}