@lovrabet/rabetbase-cli 2.3.4-beta.3 → 2.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (240) hide show
  1. package/lib/api/api-doc.js +1 -1
  2. package/lib/api/fetch-model-list.js +1 -1
  3. package/lib/api/generate-api-file.js +1 -1
  4. package/lib/auth/auth-server-ui.js +1 -1
  5. package/lib/auth/auth-server.js +1 -1
  6. package/lib/auth/constant.js +1 -1
  7. package/lib/auth/get-cookie.js +1 -1
  8. package/lib/auth/get-session-user.js +1 -1
  9. package/lib/auth/is-session-valid.js +1 -1
  10. package/lib/auth/login-success-html.js +1 -1
  11. package/lib/auth/logout.js +1 -1
  12. package/lib/cli-flags.js +1 -1
  13. package/lib/cli.js +1 -1
  14. package/lib/commands/api/generate.js +1 -1
  15. package/lib/commands/api/index.js +1 -1
  16. package/lib/commands/api/list.js +1 -1
  17. package/lib/commands/api/pull.js +1 -1
  18. package/lib/commands/api/shared.js +1 -1
  19. package/lib/commands/app/add.js +1 -1
  20. package/lib/commands/app/index.js +1 -1
  21. package/lib/commands/app/list.js +1 -1
  22. package/lib/commands/app/remote-directory.js +1 -0
  23. package/lib/commands/app/remove.js +1 -1
  24. package/lib/commands/app/shared.js +1 -1
  25. package/lib/commands/app-config/delete.js +1 -1
  26. package/lib/commands/app-config/get.js +1 -1
  27. package/lib/commands/app-config/index.js +1 -1
  28. package/lib/commands/app-config/list.js +1 -1
  29. package/lib/commands/app-config/set.js +1 -1
  30. package/lib/commands/app-config/shared.js +1 -1
  31. package/lib/commands/auth/index.js +1 -1
  32. package/lib/commands/bff/create.js +1 -1
  33. package/lib/commands/bff/delete.js +1 -1
  34. package/lib/commands/bff/detail.js +1 -1
  35. package/lib/commands/bff/index.js +1 -1
  36. package/lib/commands/bff/list.js +1 -1
  37. package/lib/commands/bff/pull.js +1 -1
  38. package/lib/commands/bff/push.js +1 -1
  39. package/lib/commands/bff/status.js +1 -1
  40. package/lib/commands/cli-skill/index.js +1 -1
  41. package/lib/commands/cli-update.js +1 -1
  42. package/lib/commands/codegen/index.js +1 -1
  43. package/lib/commands/codegen/sdk.js +1 -1
  44. package/lib/commands/codegen/sql.js +1 -1
  45. package/lib/commands/common/app-registry.js +1 -0
  46. package/lib/commands/common/app-selector.js +1 -1
  47. package/lib/commands/common/dry-run.js +1 -0
  48. package/lib/commands/common/flags.js +1 -1
  49. package/lib/commands/common/validate.js +1 -1
  50. package/lib/commands/config/get.js +1 -1
  51. package/lib/commands/config/index.js +1 -1
  52. package/lib/commands/config/list.js +1 -1
  53. package/lib/commands/config/set.js +1 -1
  54. package/lib/commands/config/shared.js +1 -1
  55. package/lib/commands/data/filter.js +1 -1
  56. package/lib/commands/data/getOne.js +1 -1
  57. package/lib/commands/data/index.js +1 -1
  58. package/lib/commands/data/shared.js +1 -1
  59. package/lib/commands/dataset/business-group-update.js +1 -1
  60. package/lib/commands/dataset/capability.js +1 -1
  61. package/lib/commands/dataset/delete.js +1 -1
  62. package/lib/commands/dataset/detail.js +1 -1
  63. package/lib/commands/dataset/extend-update.js +1 -1
  64. package/lib/commands/dataset/field-update.js +1 -1
  65. package/lib/commands/dataset/generate.js +1 -1
  66. package/lib/commands/dataset/index.js +1 -1
  67. package/lib/commands/dataset/list.js +1 -1
  68. package/lib/commands/dataset/operations.js +1 -1
  69. package/lib/commands/dataset/relation-audit.js +1 -1
  70. package/lib/commands/dataset/relation-create.js +1 -1
  71. package/lib/commands/dataset/relation-delete.js +1 -1
  72. package/lib/commands/dataset/relation-shared.js +1 -1
  73. package/lib/commands/dataset/relation-update.js +1 -1
  74. package/lib/commands/dataset/relations.js +1 -1
  75. package/lib/commands/dataset/rename.js +1 -1
  76. package/lib/commands/dataset/restore.js +1 -1
  77. package/lib/commands/db/analyze-cancel.js +1 -1
  78. package/lib/commands/db/analyze-start.js +1 -1
  79. package/lib/commands/db/analyze-status.js +1 -1
  80. package/lib/commands/db/create.js +1 -1
  81. package/lib/commands/db/delete.js +1 -1
  82. package/lib/commands/db/detail.js +1 -1
  83. package/lib/commands/db/diff.js +1 -1
  84. package/lib/commands/db/index.js +1 -1
  85. package/lib/commands/db/list.js +1 -1
  86. package/lib/commands/db/shared.js +1 -1
  87. package/lib/commands/db/tables.js +1 -1
  88. package/lib/commands/db/test.js +1 -1
  89. package/lib/commands/db/update.js +1 -1
  90. package/lib/commands/doctor.js +1 -1
  91. package/lib/commands/init/index.js +1 -1
  92. package/lib/commands/issue/index.js +1 -1
  93. package/lib/commands/issue/nudge.js +1 -1
  94. package/lib/commands/issue/report.js +1 -1
  95. package/lib/commands/issue/shared.js +1 -1
  96. package/lib/commands/logs/index.js +1 -1
  97. package/lib/commands/menu/index.js +1 -1
  98. package/lib/commands/menu/list.js +1 -1
  99. package/lib/commands/menu/shared/compare-table.js +1 -1
  100. package/lib/commands/menu/shared/index.js +1 -1
  101. package/lib/commands/menu/shared/inquirer.js +1 -1
  102. package/lib/commands/menu/shared/local-pages.js +1 -1
  103. package/lib/commands/menu/shared/logic.js +1 -1
  104. package/lib/commands/menu/shared/service.js +1 -1
  105. package/lib/commands/menu/shared/sync-core.js +1 -1
  106. package/lib/commands/menu/shared/update-core.js +1 -1
  107. package/lib/commands/menu/shared/valid-url.js +1 -1
  108. package/lib/commands/menu/sync.js +1 -1
  109. package/lib/commands/menu/update.js +1 -1
  110. package/lib/commands/page/generate-start.js +1 -1
  111. package/lib/commands/page/generate-status.js +1 -1
  112. package/lib/commands/page/index.js +1 -1
  113. package/lib/commands/page/pull.js +1 -1
  114. package/lib/commands/page/push.js +1 -1
  115. package/lib/commands/page/relation-audit.js +1 -1
  116. package/lib/commands/page/shared.js +1 -1
  117. package/lib/commands/page/standard-page-status.js +1 -1
  118. package/lib/commands/page/sync.js +1 -1
  119. package/lib/commands/permit/index.js +1 -0
  120. package/lib/commands/permit/page-get.js +1 -0
  121. package/lib/commands/permit/page-set.js +1 -0
  122. package/lib/commands/permit/role-apis-set.js +1 -0
  123. package/lib/commands/permit/role-menus-set.js +1 -0
  124. package/lib/commands/permit/role-menus.js +1 -0
  125. package/lib/commands/permit/shared.js +1 -0
  126. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  127. package/lib/commands/project/create/format-elapsed.js +1 -1
  128. package/lib/commands/project/create/main.js +1 -1
  129. package/lib/commands/project/create/non-interactive.js +1 -1
  130. package/lib/commands/project/create/project-template-path.js +1 -1
  131. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  132. package/lib/commands/project/create/use-format-code.js +1 -1
  133. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  134. package/lib/commands/project/index.js +1 -1
  135. package/lib/commands/project/init.js +1 -1
  136. package/lib/commands/project/upgrade.js +1 -1
  137. package/lib/commands/registry.js +1 -1
  138. package/lib/commands/role/create.js +1 -0
  139. package/lib/commands/role/delete.js +1 -0
  140. package/lib/commands/role/detail.js +1 -0
  141. package/lib/commands/role/index.js +1 -0
  142. package/lib/commands/role/list.js +1 -0
  143. package/lib/commands/role/shared.js +1 -0
  144. package/lib/commands/role/update.js +1 -0
  145. package/lib/commands/role/user-add.js +1 -0
  146. package/lib/commands/role/user-remove.js +1 -0
  147. package/lib/commands/role/user-resolve.js +1 -0
  148. package/lib/commands/run/index.js +1 -1
  149. package/lib/commands/schema.js +1 -1
  150. package/lib/commands/sql/create.js +1 -1
  151. package/lib/commands/sql/delete.js +1 -1
  152. package/lib/commands/sql/detail.js +1 -1
  153. package/lib/commands/sql/exec.js +1 -1
  154. package/lib/commands/sql/index.js +1 -1
  155. package/lib/commands/sql/list.js +1 -1
  156. package/lib/commands/sql/pull.js +1 -1
  157. package/lib/commands/sql/push.js +1 -1
  158. package/lib/commands/sql/save.js +1 -1
  159. package/lib/commands/sql/shared.js +1 -1
  160. package/lib/commands/sql/status.js +1 -1
  161. package/lib/commands/sql/validate.js +1 -1
  162. package/lib/commands/workspace/add.js +1 -0
  163. package/lib/commands/workspace/index.js +1 -1
  164. package/lib/commands/workspace/remove.js +1 -0
  165. package/lib/config/schema.js +1 -1
  166. package/lib/constant/cdn.js +1 -1
  167. package/lib/constant/cli.js +1 -1
  168. package/lib/constant/defaults.js +1 -1
  169. package/lib/constant/domain.js +1 -1
  170. package/lib/constant/env.js +1 -1
  171. package/lib/constant/output.js +1 -1
  172. package/lib/constant/paths.js +1 -1
  173. package/lib/constant/risk.js +1 -1
  174. package/lib/context/app-resolver.js +1 -1
  175. package/lib/context/auth-resolver.js +1 -1
  176. package/lib/context/config-loader.js +1 -1
  177. package/lib/context.js +1 -1
  178. package/lib/core/alias-resolver.js +1 -1
  179. package/lib/core/api-client.js +1 -1
  180. package/lib/core/bff/config.js +1 -1
  181. package/lib/core/bff/file-system.js +1 -1
  182. package/lib/core/bff/hash.js +1 -1
  183. package/lib/core/bff/lock.js +1 -1
  184. package/lib/core/bff/utils.js +1 -1
  185. package/lib/core/db-resolver.js +1 -1
  186. package/lib/core/page/file-system.js +1 -1
  187. package/lib/core/page/hash.js +1 -1
  188. package/lib/core/page/lock.js +1 -1
  189. package/lib/core/sql-sync/config.js +1 -1
  190. package/lib/core/sql-sync/file-system.js +1 -1
  191. package/lib/core/sql-sync/hash.js +1 -1
  192. package/lib/core/sql-sync/lock.js +1 -1
  193. package/lib/core/sql-sync/utils.js +1 -1
  194. package/lib/core/sql-validator.js +1 -1
  195. package/lib/errors.js +1 -1
  196. package/lib/framework/build-all-flags.js +1 -1
  197. package/lib/framework/flags.js +1 -1
  198. package/lib/framework/help.js +1 -1
  199. package/lib/framework/index.js +1 -1
  200. package/lib/framework/output.js +1 -1
  201. package/lib/framework/response.js +1 -1
  202. package/lib/framework/runner-alias.js +1 -1
  203. package/lib/framework/runner.js +1 -1
  204. package/lib/framework/schema-export.js +1 -1
  205. package/lib/framework/types.js +1 -1
  206. package/lib/generated/build-info.js +1 -1
  207. package/lib/help.js +1 -1
  208. package/lib/skills/main.js +1 -1
  209. package/lib/skills/npx-skills-add.js +1 -1
  210. package/lib/telemetry/cli-command-trace.js +1 -1
  211. package/lib/telemetry/cli-help-trace.js +1 -1
  212. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  213. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  214. package/lib/telemetry/send-cli-trace-log.js +1 -1
  215. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  216. package/lib/utils/ai_config.js +1 -1
  217. package/lib/utils/apply-jq-filter.js +1 -1
  218. package/lib/utils/cdn-config.js +1 -1
  219. package/lib/utils/check-sdk-version.js +1 -1
  220. package/lib/utils/cli-version-check.js +1 -1
  221. package/lib/utils/cli-version-policy.js +1 -1
  222. package/lib/utils/config.js +1 -1
  223. package/lib/utils/copy-directory.js +1 -1
  224. package/lib/utils/entity-with-id.js +1 -1
  225. package/lib/utils/file-utils.js +1 -1
  226. package/lib/utils/guides-cdn.js +1 -1
  227. package/lib/utils/http-client.js +1 -1
  228. package/lib/utils/is-non-interactive.js +1 -1
  229. package/lib/utils/logger.js +1 -1
  230. package/lib/utils/params.js +1 -1
  231. package/lib/utils/platform.js +1 -1
  232. package/lib/utils/rules-cdn.js +1 -1
  233. package/lib/utils/sleep.js +1 -1
  234. package/lib/utils/template-replacer.js +1 -1
  235. package/lib/utils/update-notice.js +1 -1
  236. package/lib/utils/version.js +1 -1
  237. package/lib/utils/with-active-cookie.js +1 -1
  238. package/lib/utils/write-cli-side-channel.js +1 -1
  239. package/package.json +2 -2
  240. package/lib/commands/app/discover.js +0 -1
@@ -1 +1 @@
1
- const a125_0xcb1b3=a125_0x1f08;function a125_0x1f08(_0x3b75a5,_0x4a4ba7){_0x3b75a5=_0x3b75a5-0x159;const _0x50f77b=a125_0x50f7();let _0x1f080c=_0x50f77b[_0x3b75a5];return _0x1f080c;}(function(_0x271321,_0x2e9fbe){const _0x58a39f=a125_0x1f08,_0xef2ed8=_0x271321();while(!![]){try{const _0x246a82=-parseInt(_0x58a39f(0x163))/0x1+-parseInt(_0x58a39f(0x16e))/0x2*(parseInt(_0x58a39f(0x173))/0x3)+parseInt(_0x58a39f(0x15f))/0x4*(-parseInt(_0x58a39f(0x175))/0x5)+-parseInt(_0x58a39f(0x170))/0x6+-parseInt(_0x58a39f(0x159))/0x7+-parseInt(_0x58a39f(0x17c))/0x8*(parseInt(_0x58a39f(0x166))/0x9)+-parseInt(_0x58a39f(0x162))/0xa*(-parseInt(_0x58a39f(0x176))/0xb);if(_0x246a82===_0x2e9fbe)break;else _0xef2ed8['push'](_0xef2ed8['shift']());}catch(_0x50d2c5){_0xef2ed8['push'](_0xef2ed8['shift']());}}}(a125_0x50f7,0x702d9));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{initConfig}from'../../commands/project/init.js';import{upgradeApp}from'../../commands/project/upgrade.js';const initFlags=[{'name':a125_0xcb1b3(0x167),'type':a125_0xcb1b3(0x168),'description':a125_0xcb1b3(0x16d)},{'name':a125_0xcb1b3(0x178),'type':a125_0xcb1b3(0x168),'description':a125_0xcb1b3(0x179)},{'name':a125_0xcb1b3(0x160),'type':a125_0xcb1b3(0x174),'description':a125_0xcb1b3(0x16b),'default':![]}],createFlags=[{'name':a125_0xcb1b3(0x17e),'type':'string','description':a125_0xcb1b3(0x17b)},{'name':a125_0xcb1b3(0x178),'type':'string','description':a125_0xcb1b3(0x179)},{'name':a125_0xcb1b3(0x167),'type':a125_0xcb1b3(0x168),'description':'App\x20code\x20to\x20bind\x20(skips\x20interactive\x20selection)'}],upgradeFlags=[{'name':a125_0xcb1b3(0x160),'type':a125_0xcb1b3(0x174),'description':a125_0xcb1b3(0x17a),'default':![]}];function a125_0x50f7(){const _0x208923=['trim','init','24IVXRhp','yes','Initialize\x20.rabetbase.json\x20config\x20in\x20existing\x20project','650490KzHtWc','303797azfcvK','write','cookie','11565tnMevW','appcode','string','create','Project\x20code/name\x20(optional,\x20prompts\x20if\x20omitted)','Auto-confirm\x20prompts','../../commands/project/create/non-interactive.js','App\x20code\x20to\x20initialize','126886hjLUXz','project-name','1126962GCzHGO','Usage:\x20','\x20project\x20create\x20<project-name>\x20[--appcode\x20<code>]','24ZlhSCw','boolean','154570xhPPnH','451mNBtKR','Upgrade\x20from\x20lovrabet-cli\x20to\x20rabetbase-cli','env','Target\x20environment','Skip\x20confirmation\x20prompt','Project\x20name','4904LjaZto','project','name','upgrade','nonInteractive','1646197zOwOsW','str','Create\x20a\x20new\x20project','validation'];a125_0x50f7=function(){return _0x208923;};return a125_0x50f7();}export const projectDefinitions=[{'service':a125_0xcb1b3(0x17d),'command':a125_0xcb1b3(0x15e),'description':a125_0xcb1b3(0x161),'risk':a125_0xcb1b3(0x164),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':initFlags,async 'execute'(_0x51208f){const _0x64a20f=a125_0xcb1b3;return await initConfig({'appcode':_0x51208f[_0x64a20f(0x15a)](_0x64a20f(0x167))||undefined,'env':_0x51208f['str'](_0x64a20f(0x178))||undefined,'autoYes':_0x51208f['bool']('yes')}),{'ok':!![]};}},{'service':a125_0xcb1b3(0x17d),'command':a125_0xcb1b3(0x169),'description':a125_0xcb1b3(0x15b),'risk':'write','requiresAuth':!![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a125_0xcb1b3(0x16f),'description':a125_0xcb1b3(0x16a),'required':![]}],'flags':createFlags,async 'execute'(_0x4c90f1){const _0xe84293=a125_0xcb1b3,{createApp:_0x30ed46}=await import('../../commands/project/create/main.js'),{createProjectNonInteractive:_0x3d1c58}=await import(_0xe84293(0x16c)),_0x1eddd4=_0x4c90f1['str'](_0xe84293(0x17e))[_0xe84293(0x15d)]()||_0x4c90f1['args'][0x0]?.[_0xe84293(0x15d)](),_0x72435d=_0x4c90f1[_0xe84293(0x15a)](_0xe84293(0x178))||undefined,_0x1d0b9e=_0x4c90f1[_0xe84293(0x15a)](_0xe84293(0x167))||undefined;if(_0x4c90f1['nonInteractive']){if(!_0x1eddd4)throw CliErrors[_0xe84293(0x15c)]('Non-interactive\x20mode\x20requires\x20a\x20project\x20name.',_0xe84293(0x171)+CLI_BIN_NAME+_0xe84293(0x172));await _0x3d1c58(_0x1eddd4,_0x72435d,_0x1d0b9e,_0x4c90f1[_0xe84293(0x165)]);}else await _0x30ed46({'projectCode':_0x1eddd4,'appCode':_0x1d0b9e,'env':_0x72435d,'cookie':_0x4c90f1[_0xe84293(0x165)]});return{'ok':!![]};}},{'service':a125_0xcb1b3(0x17d),'command':a125_0xcb1b3(0x17f),'description':a125_0xcb1b3(0x177),'risk':a125_0xcb1b3(0x164),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':upgradeFlags,async 'execute'(_0x3c38ca){const _0x488076=a125_0xcb1b3;return await upgradeApp(_0x3c38ca[_0x488076(0x180)],{'yes':_0x3c38ca['bool'](_0x488076(0x160))}),{'ok':!![]};}}];
1
+ function a134_0x57c6(_0x10e27d,_0x453b94){_0x10e27d=_0x10e27d-0x11a;const _0x457ff4=a134_0x457f();let _0x57c653=_0x457ff4[_0x10e27d];return _0x57c653;}function a134_0x457f(){const _0x438a42=['Auto-confirm\x20prompts','4003048DgBBjD','name','5342988bubhCp','Deprecated:\x20use\x20workspace\x20init\x20to\x20bind\x20the\x20current\x20directory\x20to\x20an\x20app','env','6871132jTJrHF','str','App\x20code\x20to\x20initialize','create','validation','Usage:\x20','../../commands/project/create/non-interactive.js','Skip\x20confirmation\x20prompt','Target\x20environment','upgrade','Create\x20a\x20new\x20project','5Zpvjat','init','9648174suemRv','Upgrade\x20from\x20lovrabet-cli\x20to\x20rabetbase-cli','trim','args','string','Non-interactive\x20mode\x20requires\x20a\x20project\x20name.','boolean','nonInteractive','App\x20code\x20to\x20bind\x20(skips\x20interactive\x20selection)','1840815YdVPdE','cookie','565067FXKMgV','\x20workspace\x20init','16DSCjhs','2549108GoToiL','2026-07','bool','write','appcode','project','yes'];a134_0x457f=function(){return _0x438a42;};return a134_0x457f();}const a134_0x484a1d=a134_0x57c6;(function(_0x10e446,_0x1d61fc){const _0x5a52e5=a134_0x57c6,_0x20242a=_0x10e446();while(!![]){try{const _0xe4b733=-parseInt(_0x5a52e5(0x13d))/0x1+parseInt(_0x5a52e5(0x140))/0x2+-parseInt(_0x5a52e5(0x122))/0x3+parseInt(_0x5a52e5(0x125))/0x4+parseInt(_0x5a52e5(0x130))/0x5*(parseInt(_0x5a52e5(0x132))/0x6)+parseInt(_0x5a52e5(0x120))/0x7*(-parseInt(_0x5a52e5(0x13f))/0x8)+-parseInt(_0x5a52e5(0x13b))/0x9;if(_0xe4b733===_0x1d61fc)break;else _0x20242a['push'](_0x20242a['shift']());}catch(_0x40c6e8){_0x20242a['push'](_0x20242a['shift']());}}}(a134_0x457f,0xdd338));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{initConfig}from'../../commands/project/init.js';import{upgradeApp}from'../../commands/project/upgrade.js';const initFlags=[{'name':a134_0x484a1d(0x11c),'type':'string','description':a134_0x484a1d(0x127)},{'name':a134_0x484a1d(0x124),'type':a134_0x484a1d(0x136),'description':'Target\x20environment'},{'name':a134_0x484a1d(0x11e),'type':a134_0x484a1d(0x138),'description':a134_0x484a1d(0x11f),'default':![]}],createFlags=[{'name':a134_0x484a1d(0x121),'type':a134_0x484a1d(0x136),'description':'Project\x20name'},{'name':a134_0x484a1d(0x124),'type':a134_0x484a1d(0x136),'description':a134_0x484a1d(0x12d)},{'name':a134_0x484a1d(0x11c),'type':'string','description':a134_0x484a1d(0x13a)}],upgradeFlags=[{'name':'yes','type':a134_0x484a1d(0x138),'description':a134_0x484a1d(0x12c),'default':![]}];export const projectDefinitions=[{'service':a134_0x484a1d(0x11d),'command':a134_0x484a1d(0x131),'description':a134_0x484a1d(0x123),'risk':a134_0x484a1d(0x11b),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'hidden':!![],'deprecated':{'replacement':CLI_BIN_NAME+a134_0x484a1d(0x13e),'since':a134_0x484a1d(0x141)},'flags':initFlags,async 'execute'(_0x496385){const _0x6b0e42=a134_0x484a1d;return await initConfig({'appcode':_0x496385[_0x6b0e42(0x126)](_0x6b0e42(0x11c))||undefined,'env':_0x496385['str'](_0x6b0e42(0x124))||undefined,'autoYes':_0x496385['bool'](_0x6b0e42(0x11e))}),{'ok':!![]};}},{'service':'project','command':a134_0x484a1d(0x128),'description':a134_0x484a1d(0x12f),'risk':a134_0x484a1d(0x11b),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':'project-name','description':'Project\x20code/name\x20(optional,\x20prompts\x20if\x20omitted)','required':![]}],'flags':createFlags,async 'execute'(_0x40ce34){const _0x2934ce=a134_0x484a1d,{createApp:_0x3e042f}=await import('../../commands/project/create/main.js'),{createProjectNonInteractive:_0x2d575e}=await import(_0x2934ce(0x12b)),_0x16768f=_0x40ce34['str'](_0x2934ce(0x121))[_0x2934ce(0x134)]()||_0x40ce34[_0x2934ce(0x135)][0x0]?.[_0x2934ce(0x134)](),_0xed0e80=_0x40ce34['str'](_0x2934ce(0x124))||undefined,_0x182b49=_0x40ce34[_0x2934ce(0x126)](_0x2934ce(0x11c))||undefined;if(_0x40ce34[_0x2934ce(0x139)]){if(!_0x16768f)throw CliErrors[_0x2934ce(0x129)](_0x2934ce(0x137),_0x2934ce(0x12a)+CLI_BIN_NAME+'\x20project\x20create\x20<project-name>\x20[--appcode\x20<code>]');await _0x2d575e(_0x16768f,_0xed0e80,_0x182b49,_0x40ce34[_0x2934ce(0x13c)]);}else await _0x3e042f({'projectCode':_0x16768f,'appCode':_0x182b49,'env':_0xed0e80,'cookie':_0x40ce34[_0x2934ce(0x13c)]});return{'ok':!![]};}},{'service':a134_0x484a1d(0x11d),'command':a134_0x484a1d(0x12e),'description':a134_0x484a1d(0x133),'risk':a134_0x484a1d(0x11b),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':upgradeFlags,async 'execute'(_0x7a1fa1){const _0xcd5f81=a134_0x484a1d;return await upgradeApp(_0x7a1fa1[_0xcd5f81(0x139)],{'yes':_0x7a1fa1[_0xcd5f81(0x11a)](_0xcd5f81(0x11e))}),{'ok':!![]};}}];
@@ -1 +1 @@
1
- (function(_0xca145e,_0x33db1b){const _0x15a8b6=a126_0x2997,_0x4bf941=_0xca145e();while(!![]){try{const _0x4465e4=-parseInt(_0x15a8b6(0xba))/0x1*(parseInt(_0x15a8b6(0xe0))/0x2)+parseInt(_0x15a8b6(0xec))/0x3*(parseInt(_0x15a8b6(0xd5))/0x4)+-parseInt(_0x15a8b6(0xdf))/0x5*(-parseInt(_0x15a8b6(0xe4))/0x6)+parseInt(_0x15a8b6(0xbc))/0x7*(parseInt(_0x15a8b6(0xe5))/0x8)+parseInt(_0x15a8b6(0xb8))/0x9+-parseInt(_0x15a8b6(0xd7))/0xa*(parseInt(_0x15a8b6(0xbb))/0xb)+-parseInt(_0x15a8b6(0xe8))/0xc;if(_0x4465e4===_0x33db1b)break;else _0x4bf941['push'](_0x4bf941['shift']());}catch(_0x8923f0){_0x4bf941['push'](_0x4bf941['shift']());}}}(a126_0x4700,0x9cacc));import{readFileSync,existsSync,renameSync}from'node:fs';import{resolve,dirname,basename}from'node:path';import{fileURLToPath}from'node:url';import a126_0x40d8b7 from'chalk';import{input,confirm}from'@inquirer/prompts';import{CLI_BIN_NAME}from'../../constant/cli.js';function a126_0x4700(){const _0x13ae33=['string','bold','初始化项目配置文件成功','4LAxtQG','Migration\x20cancelled.\x20Run\x20`','998390xxHSAp','keys','log','toLocaleString','\x20\x20Apps:\x20','../..','production','.bak','1380wVzyDh','1802NmyPLk','version','setLogPath','✓\x20Upgraded\x20','23208NicBaQ','4014856mbAqjH','cyan','Upgrade\x20it\x20to\x20','11757864HUeTFE','\x20api\x20pull\x27','\x20\x20Default:\x20','\x20\x20appcode:\x20','228849sXQpZO','apps','?\x20(Old\x20file\x20→\x20*.bak)','8595621TBbhud','package.json','976PPsbLk','11fHUXlE','7gWcZVP','appcode','\x20project\x20init`\x20to\x20start\x20fresh.','app','⚠\x20Found\x20legacy\x20configuration\x20file:\x20','init','defaultApp','join','✓\x20Successfully\x20initialized\x20.rabetbase.json\x20in\x20current\x20directory','trim','gray','\x20api\x20generate\x27\x20and\x20\x27','\x20→\x20.rabetbase.json','从旧配置文件升级成功','parse','\x20\x20Old\x20file\x20backed\x20up\x20as\x20','.rabetbase.json\x20already\x20exists\x20in\x20current\x20directory.\x20Nothing\x20to\x20do.','cwd','.rabetbase.json','env','App\x20Code\x20cannot\x20be\x20empty','utf8'];a126_0x4700=function(){return _0x13ae33;};return a126_0x4700();}import{logger}from'../../utils/logger.js';import{readRawConfig,getProjectConfigPath,writeConfigFile,NEW_CONFIG_NAME,LEGACY_CONFIG_NAMES}from'../../context.js';import{validateAppcode}from'../../commands/common/validate.js';import{buildCanonicalProjectConfig}from'../../config/schema.js';function a126_0x2997(_0x2cf017,_0x319237){_0x2cf017=_0x2cf017-0xb6;const _0x4700ce=a126_0x4700();let _0x299755=_0x4700ce[_0x2cf017];return _0x299755;}export async function initConfig(_0x2c8d19){const _0x500828=a126_0x2997,{appcode:_0x2caab1,env:_0x563247,autoYes:_0x2985b8}=_0x2c8d19,_0x593cf1=process[_0x500828(0xcd)]();if(getProjectConfigPath())throw new Error(_0x500828(0xcc));let _0x56d93c;for(const _0x3715bd of LEGACY_CONFIG_NAMES){const _0x31a1c1=resolve(_0x593cf1,_0x3715bd);if(existsSync(_0x31a1c1)){_0x56d93c=_0x31a1c1;break;}}if(_0x56d93c){let _0x4a1c73={};try{_0x4a1c73=JSON[_0x500828(0xca)](readFileSync(_0x56d93c,_0x500828(0xd1)));}catch{}const _0x6e426c=basename(_0x56d93c),_0x12e5bc=_0x4a1c73?.[_0x500828(0xbd)]||_0x4a1c73?.[_0x500828(0xbf)];let _0x1e7453=_0x2985b8;!_0x2985b8&&(console['log'](a126_0x40d8b7['yellow'](_0x500828(0xc0)+a126_0x40d8b7[_0x500828(0xd3)](_0x6e426c))),_0x12e5bc&&console[_0x500828(0xd9)](a126_0x40d8b7[_0x500828(0xe6)](_0x500828(0xeb)+_0x12e5bc)),_0x1e7453=await confirm({'message':_0x500828(0xe7)+a126_0x40d8b7[_0x500828(0xd3)](_0x500828(0xce))+_0x500828(0xb7),'default':!![]}));if(!_0x1e7453){console[_0x500828(0xd9)](_0x500828(0xd6)+CLI_BIN_NAME+_0x500828(0xbe));return;}const _0x1f699c=resolve(_0x593cf1,NEW_CONFIG_NAME),_0xd05372=getCliVersionFromPkg(),_0x1c1bcf=readRawConfig(),_0x1ffbad=_0x2caab1||(typeof _0x4a1c73?.[_0x500828(0xbd)]===_0x500828(0xd2)?_0x4a1c73[_0x500828(0xbd)]:undefined)||(typeof _0x4a1c73?.[_0x500828(0xbf)]==='string'?_0x4a1c73[_0x500828(0xbf)]:undefined)||await askAppcode(),_0x147d07=typeof _0x4a1c73?.['env']===_0x500828(0xd2)?_0x4a1c73[_0x500828(0xcf)]:typeof _0x1c1bcf[_0x500828(0xcf)]===_0x500828(0xd2)?_0x1c1bcf[_0x500828(0xcf)]:_0x500828(0xdd),_0x3194a7=buildCanonicalProjectConfig({..._0x1c1bcf,..._0x4a1c73},{'appCodes':[_0x1ffbad],'env':_0x147d07,'metadata':{'version':_0xd05372,'migratedAt':new Date()['toLocaleString'](),'migratedFrom':_0x56d93c}});writeConfigFile(_0x1f699c,_0x3194a7);const _0x894120=_0x56d93c+_0x500828(0xde);renameSync(_0x56d93c,_0x894120),logger[_0x500828(0xe2)](_0x593cf1),logger['info'](_0x500828(0xc1),_0x500828(0xc9),{'from':_0x56d93c,'to':_0x1f699c,'appcode':_0x1ffbad,'env':_0x3194a7['env']}),console[_0x500828(0xd9)](a126_0x40d8b7['green'](_0x500828(0xe3)+_0x6e426c+_0x500828(0xc8))),console[_0x500828(0xd9)](a126_0x40d8b7[_0x500828(0xe6)](_0x500828(0xdb)+Object['keys'](_0x3194a7[_0x500828(0xb6)]||{})[_0x500828(0xc3)](',\x20'))),console[_0x500828(0xd9)](a126_0x40d8b7[_0x500828(0xe6)](_0x500828(0xea)+_0x3194a7[_0x500828(0xc2)])),console[_0x500828(0xd9)](a126_0x40d8b7[_0x500828(0xc6)](_0x500828(0xcb)+_0x6e426c+_0x500828(0xde)));return;}const _0x51da74=_0x2caab1||await askAppcode(),_0x5155f0=resolve(_0x593cf1,NEW_CONFIG_NAME),_0x29816a=getCliVersionFromPkg(),_0x25763d=readRawConfig(),_0x2a04fb=typeof _0x25763d[_0x500828(0xcf)]===_0x500828(0xd2)?_0x25763d[_0x500828(0xcf)]:undefined,_0x1f600f=buildCanonicalProjectConfig({},{'appCodes':[_0x51da74],'env':_0x563247||_0x2a04fb||_0x500828(0xdd),'metadata':{'version':_0x29816a,'createdAt':new Date()[_0x500828(0xda)]()}});writeConfigFile(_0x5155f0,_0x1f600f),logger[_0x500828(0xe2)](_0x593cf1),logger['info'](_0x500828(0xc1),_0x500828(0xd4),{'appcode':_0x51da74,'env':_0x1f600f[_0x500828(0xcf)],'version':_0x1f600f[_0x500828(0xe1)],'configPath':_0x5155f0}),console[_0x500828(0xd9)](a126_0x40d8b7['green'](_0x500828(0xc4))),console[_0x500828(0xd9)](a126_0x40d8b7[_0x500828(0xe6)](_0x500828(0xdb)+Object[_0x500828(0xd8)](_0x1f600f['apps']||{})[_0x500828(0xc3)](',\x20'))),console['log'](a126_0x40d8b7['cyan'](_0x500828(0xea)+_0x1f600f['defaultApp'])),console[_0x500828(0xd9)]('\x20\x20You\x20can\x20now\x20use\x20commands\x20like\x20\x27'+CLI_BIN_NAME+_0x500828(0xc7)+CLI_BIN_NAME+_0x500828(0xe9));}function askAppcode(){return input({'message':'Please\x20enter\x20App\x20Code:','validate':_0x4f4524=>{const _0x388c9d=a126_0x2997;if(!_0x4f4524[_0x388c9d(0xc5)]())return _0x388c9d(0xd0);const {valid:_0x466fad,message:_0x28050c}=validateAppcode(_0x4f4524[_0x388c9d(0xc5)]());return _0x466fad||_0x28050c||'Invalid\x20App\x20Code';}});}function getCliVersionFromPkg(){const _0x283d32=a126_0x2997;try{const _0x15faa9=fileURLToPath(import.meta.url),_0x33f8a3=resolve(dirname(_0x15faa9),_0x283d32(0xdc)),_0x446ea1=JSON[_0x283d32(0xca)](readFileSync(resolve(_0x33f8a3,_0x283d32(0xb9)),_0x283d32(0xd1)));return _0x446ea1['version']||'1.0.0';}catch{return'1.0.0';}}
1
+ (function(_0x24edb3,_0x302882){const _0x240750=a135_0x4030,_0x479380=_0x24edb3();while(!![]){try{const _0x2a874f=parseInt(_0x240750(0xca))/0x1+-parseInt(_0x240750(0xd9))/0x2+parseInt(_0x240750(0xc7))/0x3*(-parseInt(_0x240750(0xd5))/0x4)+-parseInt(_0x240750(0xce))/0x5*(-parseInt(_0x240750(0xc4))/0x6)+-parseInt(_0x240750(0xe2))/0x7+-parseInt(_0x240750(0xd3))/0x8+-parseInt(_0x240750(0xcd))/0x9*(-parseInt(_0x240750(0xdb))/0xa);if(_0x2a874f===_0x302882)break;else _0x479380['push'](_0x479380['shift']());}catch(_0x3eea61){_0x479380['push'](_0x479380['shift']());}}}(a135_0x40e4,0x8d3da));import{readFileSync,existsSync,renameSync}from'node:fs';import{resolve,dirname,basename}from'node:path';import{fileURLToPath}from'node:url';import a135_0xc8e08a from'chalk';import{input,confirm}from'@inquirer/prompts';import{CLI_BIN_NAME}from'../../constant/cli.js';function a135_0x40e4(){const _0x791b60=['string','\x20\x20Default:\x20','App\x20Code\x20cannot\x20be\x20empty','Please\x20enter\x20App\x20Code:','keys','初始化项目配置文件成功','utf8','parse','.rabetbase.json','756kPRCsS','info','app','942jIABEw','✓\x20Successfully\x20initialized\x20.rabetbase.json\x20in\x20current\x20directory','Migration\x20cancelled.\x20Run\x20`','13884gtPevM','\x20api\x20generate\x27\x20and\x20\x27','env','36KFsOFH','2795ASVkBT','production','cwd','cyan','Invalid\x20App\x20Code','5232224rAIzqm','\x20\x20Apps:\x20','9304fDWXrw','.rabetbase.json\x20already\x20exists\x20in\x20current\x20directory.\x20Nothing\x20to\x20do.','gray','\x20\x20appcode:\x20','1239536IfvYIT','log','6766690InLcXa','defaultApp','version','Upgrade\x20it\x20to\x20','⚠\x20Found\x20legacy\x20configuration\x20file:\x20','apps','package.json','1458184wDAahQ','trim','setLogPath','从旧配置文件升级成功','\x20\x20You\x20can\x20now\x20use\x20commands\x20like\x20\x27','bold','../..','init','join','.bak','appcode','green','1.0.0'];a135_0x40e4=function(){return _0x791b60;};return a135_0x40e4();}import{logger}from'../../utils/logger.js';import{readRawConfig,getProjectConfigPath,writeConfigFile,NEW_CONFIG_NAME,LEGACY_CONFIG_NAMES}from'../../context.js';function a135_0x4030(_0x45f5db,_0x583f09){_0x45f5db=_0x45f5db-0xb0;const _0x40e411=a135_0x40e4();let _0x4030b2=_0x40e411[_0x45f5db];return _0x4030b2;}import{validateAppcode}from'../../commands/common/validate.js';import{buildCanonicalProjectConfig}from'../../config/schema.js';export async function initConfig(_0x3227ee){const _0x1c6443=a135_0x4030,{appcode:_0x61de9,env:_0x477c0d,autoYes:_0x548555}=_0x3227ee,_0x356f50=process[_0x1c6443(0xd0)]();if(getProjectConfigPath())throw new Error(_0x1c6443(0xd6));let _0x438cbd;for(const _0x2424a1 of LEGACY_CONFIG_NAMES){const _0xd6641c=resolve(_0x356f50,_0x2424a1);if(existsSync(_0xd6641c)){_0x438cbd=_0xd6641c;break;}}if(_0x438cbd){let _0x578ac6={};try{_0x578ac6=JSON['parse'](readFileSync(_0x438cbd,'utf8'));}catch{}const _0x21d409=basename(_0x438cbd),_0x449b19=_0x578ac6?.['appcode']||_0x578ac6?.[_0x1c6443(0xc6)];let _0x345cc8=_0x548555;!_0x548555&&(console['log'](a135_0xc8e08a['yellow'](_0x1c6443(0xdf)+a135_0xc8e08a[_0x1c6443(0xb3)](_0x21d409))),_0x449b19&&console[_0x1c6443(0xda)](a135_0xc8e08a[_0x1c6443(0xd1)](_0x1c6443(0xd8)+_0x449b19)),_0x345cc8=await confirm({'message':_0x1c6443(0xde)+a135_0xc8e08a[_0x1c6443(0xb3)](_0x1c6443(0xc3))+'?\x20(Old\x20file\x20→\x20*.bak)','default':!![]}));if(!_0x345cc8){console[_0x1c6443(0xda)](_0x1c6443(0xc9)+CLI_BIN_NAME+'\x20workspace\x20init`\x20to\x20start\x20fresh.');return;}const _0x1205cd=resolve(_0x356f50,NEW_CONFIG_NAME),_0x193187=getCliVersionFromPkg(),_0x5669f0=readRawConfig(),_0x3c2d55=_0x61de9||(typeof _0x578ac6?.[_0x1c6443(0xb8)]===_0x1c6443(0xbb)?_0x578ac6['appcode']:undefined)||(typeof _0x578ac6?.['app']===_0x1c6443(0xbb)?_0x578ac6[_0x1c6443(0xc6)]:undefined)||await askAppcode(),_0xb030c4=typeof _0x578ac6?.[_0x1c6443(0xcc)]==='string'?_0x578ac6['env']:typeof _0x5669f0[_0x1c6443(0xcc)]===_0x1c6443(0xbb)?_0x5669f0[_0x1c6443(0xcc)]:_0x1c6443(0xcf),_0x2c3f99=buildCanonicalProjectConfig({..._0x5669f0,..._0x578ac6},{'appCodes':[_0x3c2d55],'env':_0xb030c4,'metadata':{'version':_0x193187,'migratedAt':new Date()['toLocaleString'](),'migratedFrom':_0x438cbd}});writeConfigFile(_0x1205cd,_0x2c3f99);const _0x14ba2f=_0x438cbd+'.bak';renameSync(_0x438cbd,_0x14ba2f),logger[_0x1c6443(0xb0)](_0x356f50),logger[_0x1c6443(0xc5)](_0x1c6443(0xb5),_0x1c6443(0xb1),{'from':_0x438cbd,'to':_0x1205cd,'appcode':_0x3c2d55,'env':_0x2c3f99[_0x1c6443(0xcc)]}),console[_0x1c6443(0xda)](a135_0xc8e08a['green']('✓\x20Upgraded\x20'+_0x21d409+'\x20→\x20.rabetbase.json')),console[_0x1c6443(0xda)](a135_0xc8e08a[_0x1c6443(0xd1)](_0x1c6443(0xd4)+Object[_0x1c6443(0xbf)](_0x2c3f99[_0x1c6443(0xe0)]||{})[_0x1c6443(0xb6)](',\x20'))),console['log'](a135_0xc8e08a[_0x1c6443(0xd1)](_0x1c6443(0xbc)+_0x2c3f99['defaultApp'])),console[_0x1c6443(0xda)](a135_0xc8e08a[_0x1c6443(0xd7)]('\x20\x20Old\x20file\x20backed\x20up\x20as\x20'+_0x21d409+_0x1c6443(0xb7)));return;}const _0xc64175=_0x61de9||await askAppcode(),_0x753d92=resolve(_0x356f50,NEW_CONFIG_NAME),_0xcc41ca=getCliVersionFromPkg(),_0x58991b=readRawConfig(),_0x1393fd=typeof _0x58991b[_0x1c6443(0xcc)]==='string'?_0x58991b[_0x1c6443(0xcc)]:undefined,_0x3bf321=buildCanonicalProjectConfig({},{'appCodes':[_0xc64175],'env':_0x477c0d||_0x1393fd||_0x1c6443(0xcf),'metadata':{'version':_0xcc41ca,'createdAt':new Date()['toLocaleString']()}});writeConfigFile(_0x753d92,_0x3bf321),logger[_0x1c6443(0xb0)](_0x356f50),logger[_0x1c6443(0xc5)](_0x1c6443(0xb5),_0x1c6443(0xc0),{'appcode':_0xc64175,'env':_0x3bf321[_0x1c6443(0xcc)],'version':_0x3bf321[_0x1c6443(0xdd)],'configPath':_0x753d92}),console[_0x1c6443(0xda)](a135_0xc8e08a[_0x1c6443(0xb9)](_0x1c6443(0xc8))),console[_0x1c6443(0xda)](a135_0xc8e08a['cyan'](_0x1c6443(0xd4)+Object[_0x1c6443(0xbf)](_0x3bf321[_0x1c6443(0xe0)]||{})[_0x1c6443(0xb6)](',\x20'))),console[_0x1c6443(0xda)](a135_0xc8e08a['cyan'](_0x1c6443(0xbc)+_0x3bf321[_0x1c6443(0xdc)])),console['log'](_0x1c6443(0xb2)+CLI_BIN_NAME+_0x1c6443(0xcb)+CLI_BIN_NAME+'\x20api\x20pull\x27');}function askAppcode(){const _0x3eb89b=a135_0x4030;return input({'message':_0x3eb89b(0xbe),'validate':_0x5b7760=>{const _0x571d33=_0x3eb89b;if(!_0x5b7760[_0x571d33(0xe3)]())return _0x571d33(0xbd);const {valid:_0x14af3f,message:_0x495f83}=validateAppcode(_0x5b7760[_0x571d33(0xe3)]());return _0x14af3f||_0x495f83||_0x571d33(0xd2);}});}function getCliVersionFromPkg(){const _0x47b5f0=a135_0x4030;try{const _0x4b68dd=fileURLToPath(import.meta.url),_0x2e6db0=resolve(dirname(_0x4b68dd),_0x47b5f0(0xb4)),_0x4c417b=JSON[_0x47b5f0(0xc2)](readFileSync(resolve(_0x2e6db0,_0x47b5f0(0xe1)),_0x47b5f0(0xc1)));return _0x4c417b['version']||_0x47b5f0(0xba);}catch{return _0x47b5f0(0xba);}}
@@ -1 +1 @@
1
- (function(_0x5dc57c,_0x5e03ee){const _0x1c793f=a127_0xd7a9,_0x422d47=_0x5dc57c();while(!![]){try{const _0x466a9d=-parseInt(_0x1c793f(0x21f))/0x1+-parseInt(_0x1c793f(0x1bd))/0x2+parseInt(_0x1c793f(0x1ab))/0x3+parseInt(_0x1c793f(0x1cb))/0x4+-parseInt(_0x1c793f(0x209))/0x5+parseInt(_0x1c793f(0x1b4))/0x6+parseInt(_0x1c793f(0x1ef))/0x7;if(_0x466a9d===_0x5e03ee)break;else _0x422d47['push'](_0x422d47['shift']());}catch(_0x1e425e){_0x422d47['push'](_0x422d47['shift']());}}}(a127_0x6544,0x553e1));import a127_0x429f9e from'chalk';import a127_0x27f616 from'ora';import{existsSync,readFileSync,renameSync,rmSync,statSync,unlinkSync,writeFileSync}from'node:fs';import{resolve}from'node:path';import{CONFIG_NAMES,NEW_CONFIG_NAME,readConfigFile,writeConfigFile}from'../../context.js';import{CORE_IDE_CONFIGS}from'../../utils/ai_config.js';import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE,runNpxSkillsAddGlobal,runNpxSkillsRemove}from'../../skills/npx-skills-add.js';import{askConfirm}from'../../commands/menu/shared/inquirer.js';const LEGACY_CONFIG_NAMES=CONFIG_NAMES['filter'](_0x46da4f=>_0x46da4f!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x5bcfd5){const _0x1d9c70=a127_0xd7a9,_0x2c6fe3=[];for(const _0x5f5dba of Object[_0x1d9c70(0x1e4)](CORE_IDE_CONFIGS)){if(_0x5f5dba[_0x1d9c70(0x1e8)])for(const _0x3661a5 of _0x5f5dba['files']){_0x2c6fe3[_0x1d9c70(0x1a4)](resolve(_0x5bcfd5,_0x3661a5[_0x1d9c70(0x210)]));}}return _0x2c6fe3;}function analyse(_0x25756c){const _0x5d1b6e=a127_0xd7a9;let _0x41598b=null;const _0x547e51=resolve(_0x25756c,NEW_CONFIG_NAME),_0x3d8ab8=existsSync(_0x547e51);for(const _0x29f364 of LEGACY_CONFIG_NAMES){const _0x36afd3=resolve(_0x25756c,_0x29f364);if(existsSync(_0x36afd3)){const _0x215b4d=readConfigFile(_0x36afd3),_0x5b5a0d=Object[_0x5d1b6e(0x1d0)](_0x215b4d)['filter'](_0x11fb48=>typeof _0x215b4d[_0x11fb48]!==_0x5d1b6e(0x1a8));_0x41598b={'oldPath':_0x36afd3,'hasNewConfig':_0x3d8ab8,'fields':_0x5b5a0d};break;}}const _0x1f909a=[],_0x3b8ba7=resolve(_0x25756c,_0x5d1b6e(0x1a3));if(existsSync(_0x3b8ba7))_0x1f909a[_0x5d1b6e(0x1a4)](_0x3b8ba7);const _0x4a5273=resolve(_0x25756c,_0x5d1b6e(0x21b));if(existsSync(_0x4a5273))_0x1f909a['push'](_0x4a5273);const _0x72f934=resolve(_0x25756c,_0x5d1b6e(0x1b5));if(existsSync(_0x72f934))_0x1f909a[_0x5d1b6e(0x1a4)](_0x72f934);for(const _0x22d88b of collectIdeSkillFiles(_0x25756c)){if(existsSync(_0x22d88b))_0x1f909a[_0x5d1b6e(0x1a4)](_0x22d88b);}let _0x4a118a=null;const _0x868435=resolve(_0x25756c,_0x5d1b6e(0x19f));if(existsSync(_0x868435))try{const _0x1c7247=JSON['parse'](readFileSync(_0x868435,'utf8'));if(_0x1c7247?.[_0x5d1b6e(0x1f7)]&&typeof _0x1c7247[_0x5d1b6e(0x1f7)]===_0x5d1b6e(0x1e5)){const _0x42466e=[];for(const [_0x24f974,_0x4130e2]of Object[_0x5d1b6e(0x1c0)](_0x1c7247[_0x5d1b6e(0x1f7)])){const _0x33765b=_0x4130e2;_0x33765b?.[_0x5d1b6e(0x1ee)]&&Array[_0x5d1b6e(0x1da)](_0x33765b[_0x5d1b6e(0x1ee)])&&_0x33765b[_0x5d1b6e(0x1ee)][_0x5d1b6e(0x1d5)](_0x502018=>typeof _0x502018===_0x5d1b6e(0x1bc)&&_0x502018[_0x5d1b6e(0x1c7)](_0x5d1b6e(0x1db)))&&_0x42466e[_0x5d1b6e(0x1a4)](_0x24f974);}_0x42466e['length']>0x0&&(_0x4a118a={'path':_0x868435,'keys':_0x42466e});}}catch{}const _0x1b0067=_0x1f909a[_0x5d1b6e(0x1a1)]>0x0||_0x41598b!==null;let _0x324893=null;const _0x2773c6=resolve(_0x25756c,_0x5d1b6e(0x1df));if(existsSync(_0x2773c6))try{const _0x2e1238=JSON[_0x5d1b6e(0x1ff)](readFileSync(_0x2773c6,_0x5d1b6e(0x1f0)));for(const _0x26e576 of[_0x5d1b6e(0x20b),'devDependencies']){const _0x38cedb=_0x2e1238?.[_0x26e576]?.[_0x5d1b6e(0x217)];if(typeof _0x38cedb===_0x5d1b6e(0x1bc)){_0x38cedb!==_0x5d1b6e(0x1fe)&&(_0x324893={'pkgPath':_0x2773c6,'currentVersion':_0x38cedb,'field':_0x26e576});break;}}}catch{}return{'configMigration':_0x41598b,'oldArtifacts':_0x1f909a,'oldMcpConfig':_0x4a118a,'needsSkillSwap':_0x1b0067,'sdkUpgrade':_0x324893};}function printReport(_0x517e6e){const _0x11f1da=a127_0xd7a9,{configMigration:_0x581705,oldArtifacts:_0x2cc13a,oldMcpConfig:_0x5602b4,needsSkillSwap:_0x2f46b9}=_0x517e6e;console['log'](''),console[_0x11f1da(0x1cd)](a127_0x429f9e[_0x11f1da(0x1bf)](_0x11f1da(0x1ba))),console['log']('');_0x581705?(console[_0x11f1da(0x1cd)](a127_0x429f9e['cyan'](_0x11f1da(0x1e3))+('\x20\x20'+a127_0x429f9e[_0x11f1da(0x216)](_0x581705[_0x11f1da(0x207)]))),console[_0x11f1da(0x1cd)](_0x11f1da(0x1a7)+(_0x581705[_0x11f1da(0x1ac)]?a127_0x429f9e[_0x11f1da(0x20f)]('already\x20exists\x20(will\x20merge)'):a127_0x429f9e['gray']('not\x20found\x20(will\x20create)'))),console[_0x11f1da(0x1cd)]('\x20\x20Fields\x20to\x20migrate:\x20'+_0x581705[_0x11f1da(0x219)][_0x11f1da(0x1fb)](',\x20')),console[_0x11f1da(0x1cd)](_0x11f1da(0x1c8))):console[_0x11f1da(0x1cd)](a127_0x429f9e[_0x11f1da(0x1d4)](_0x11f1da(0x1e3))+'\x20\x20'+a127_0x429f9e['gray'](_0x11f1da(0x1ed)));console['log']('');if(_0x2cc13a[_0x11f1da(0x1a1)]>0x0){console[_0x11f1da(0x1cd)](a127_0x429f9e[_0x11f1da(0x1d4)](_0x11f1da(0x1c5)));for(const _0x1fabcb of _0x2cc13a){console['log']('\x20\x20'+a127_0x429f9e[_0x11f1da(0x1a0)](_0x11f1da(0x203))+'\x20\x20'+_0x1fabcb);}console[_0x11f1da(0x1cd)](_0x11f1da(0x1f6));}else console[_0x11f1da(0x1cd)](a127_0x429f9e[_0x11f1da(0x1d4)](_0x11f1da(0x1c5))+'\x20\x20'+a127_0x429f9e[_0x11f1da(0x1f3)]('none\x20found'));console['log']('');_0x5602b4?(console[_0x11f1da(0x1cd)](a127_0x429f9e['cyan'](_0x11f1da(0x1e0))+('\x20\x20'+a127_0x429f9e[_0x11f1da(0x216)](_0x5602b4[_0x11f1da(0x210)])+_0x11f1da(0x1aa)+_0x5602b4[_0x11f1da(0x1d0)][_0x11f1da(0x1fb)](',\x20'))),console['log'](_0x11f1da(0x1f4))):console['log'](a127_0x429f9e[_0x11f1da(0x1d4)](_0x11f1da(0x1e0))+'\x20\x20'+a127_0x429f9e[_0x11f1da(0x1f3)](_0x11f1da(0x1b3)));console[_0x11f1da(0x1cd)](''),console[_0x11f1da(0x1cd)](a127_0x429f9e[_0x11f1da(0x1d4)](_0x11f1da(0x201))+('\x20\x20'+(_0x2f46b9?a127_0x429f9e['yellow']('needed'):a127_0x429f9e[_0x11f1da(0x20f)](_0x11f1da(0x1fa)))));_0x2f46b9&&console[_0x11f1da(0x1cd)](_0x11f1da(0x206)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console[_0x11f1da(0x1cd)]('');if(_0x517e6e[_0x11f1da(0x202)]){const {currentVersion:_0x3f1950,field:_0x444b4d,pkgPath:_0x341547}=_0x517e6e[_0x11f1da(0x202)];console[_0x11f1da(0x1cd)](a127_0x429f9e[_0x11f1da(0x1d4)]('@lovrabet/sdk:')+('\x20\x20'+a127_0x429f9e[_0x11f1da(0x216)](_0x341547))),console[_0x11f1da(0x1cd)](_0x11f1da(0x1cc)+_0x444b4d+':\x20'+a127_0x429f9e['yellow'](_0x3f1950)+'\x20→\x20'+a127_0x429f9e[_0x11f1da(0x20f)](_0x11f1da(0x1fe))),console[_0x11f1da(0x1cd)](_0x11f1da(0x1c4));}else console[_0x11f1da(0x1cd)](a127_0x429f9e['cyan'](_0x11f1da(0x1ec))+'\x20\x20'+a127_0x429f9e[_0x11f1da(0x1f3)]('not\x20found\x20or\x20already\x20at\x20latest'));console[_0x11f1da(0x1cd)]('');}function execConfigMigration(_0x296d61,_0x4d26e4){const _0x1d66a4=a127_0xd7a9,{configMigration:_0x1a69f3}=_0x296d61;if(!_0x1a69f3?.[_0x1d66a4(0x207)])return{'step':0x1,'label':_0x1d66a4(0x1ad),'ok':!![],'detail':_0x1d66a4(0x200)};const _0x2585c8=readConfigFile(_0x1a69f3[_0x1d66a4(0x207)]),_0x5ed08d=resolve(_0x4d26e4,NEW_CONFIG_NAME),_0x14ccf0=_0x1a69f3[_0x1d66a4(0x1ac)]?readConfigFile(_0x5ed08d):{};for(const [_0x10a578,_0x65eaf9]of Object[_0x1d66a4(0x1c0)](_0x2585c8)){!(_0x10a578 in _0x14ccf0)&&(_0x14ccf0[_0x10a578]=_0x65eaf9);}writeConfigFile(_0x5ed08d,_0x14ccf0);const _0x552f82=_0x1a69f3['oldPath']+_0x1d66a4(0x1c2);return renameSync(_0x1a69f3[_0x1d66a4(0x207)],_0x552f82),{'step':0x1,'label':_0x1d66a4(0x1ad),'ok':!![],'detail':_0x1a69f3[_0x1d66a4(0x207)]+_0x1d66a4(0x1c6)+_0x5ed08d+'\x20(backup:\x20'+_0x552f82+')'};}function a127_0xd7a9(_0x52e1b9,_0x4f87d5){_0x52e1b9=_0x52e1b9-0x19e;const _0x654452=a127_0x6544();let _0xd7a99f=_0x654452[_0x52e1b9];return _0xd7a99f;}function execRemoveOldArtifacts(_0xcd56fe){const _0x6ee5c1=a127_0xd7a9,_0x3d35b9=[];for(const _0x2d8574 of _0xcd56fe){try{if(!existsSync(_0x2d8574))continue;const _0x33bc18=tryStat(_0x2d8574);_0x33bc18?.[_0x6ee5c1(0x21c)]()?rmSync(_0x2d8574,{'recursive':!![],'force':!![]}):unlinkSync(_0x2d8574);}catch(_0x539d55){_0x3d35b9[_0x6ee5c1(0x1a4)](_0x2d8574+':\x20'+_0x539d55[_0x6ee5c1(0x218)]);}}return{'step':0x3,'label':_0x6ee5c1(0x1b7),'ok':_0x3d35b9['length']===0x0,'detail':_0x3d35b9['length']>0x0?_0xcd56fe[_0x6ee5c1(0x1a1)]-_0x3d35b9['length']+'/'+_0xcd56fe[_0x6ee5c1(0x1a1)]+_0x6ee5c1(0x215)+_0x3d35b9['join'](';\x20')+')':_0xcd56fe['length']+_0x6ee5c1(0x208)};}function a127_0x6544(){const _0x1c3795=['[\x22@lovrabet/sdk\x22]:\x20','@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.','package.json','MCP\x20config:','fail','Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20','Config\x20file:','values','object','status','white','files','oldArtifacts','lovrabet/rabetbase\x20installed\x20globally','Step\x207/7:\x20@lovrabet/sdk\x20—\x20','@lovrabet/sdk:','no\x20legacy\x20config\x20found','args','1030974GqJnXM','utf8','removed\x20','lovrabet/rabetbase','gray','\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server','No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.','\x20\x20Action:\x20delete','mcpServers','failed','start','not\x20needed','join','detail','done','latest','parse','skipped\x20(no\x20legacy\x20config)','Skill\x20swap:','sdkUpgrade','FOUND','FAIL','\x20\x20Step\x20','\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`','oldPath','\x20removed','1815545PqzbFv','step','dependencies','\x20→\x20latest','cwd','info','green','path','lovrabet/lovrabet-skill\x20removed','Upgrade\x20cancelled.','CANCEL','Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20','\x20removed\x20(','yellow','@lovrabet/sdk','message','fields','Step\x202/7:\x20.lovrabet/\x20directory\x20removed','.cursor/rules/lovrabet_rules.mdc','isDirectory','Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped','3517vQxblP','Step\x203/7:\x20Legacy\x20artifacts\x20—\x20','.cursor/mcp.json','red','length','exit\x20','.lovrabet','push','\x20\x20bun\x20install','Upgrade\x20completed\x20successfully!','\x20\x20New\x20config\x20(.rabetbase.json):\x20','undefined','oldMcpConfig','\x20→\x20keys:\x20','580176TaxqfR','hasNewConfig','Config\x20migration','Clean\x20MCP\x20config','succeed','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','Step\x206/7:\x20Installing\x20new\x20skill...','label','no\x20legacy\x20entry','2073336dfWPTC','.claude/skills/lovrabet','Step\x205/7:\x20Removing\x20old\x20skill...','Remove\x20legacy\x20artifacts','skipped','\x20\x20npm\x20install','===\x20Upgrade\x20Analysis\x20===','stringify','string','1332888xIqjXk','inherit','bold','entries','no\x20matching\x20entry\x20found','.bak','\x20\x20#\x20or','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','Legacy\x20artifacts:','\x20→\x20','includes','\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak','Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','error','2783972oCtxkR','\x20\x20Current\x20version\x20in\x20','log','\x20\x20\x20\x20\x20\x20\x20','needsSkillSwap','keys','Proceed\x20with\x20upgrade?','\x20from\x20','Remove\x20old\x20skill','cyan','some','yes','Remove\x20.lovrabet/','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','Upgrade\x20@lovrabet/sdk','isArray','@lovrabet/dataset-mcp-server','Step\x201/7:\x20Config\x20migration\x20—\x20'];a127_0x6544=function(){return _0x1c3795;};return a127_0x6544();}function execCleanMcp(_0x2acc38){const _0xff5a0=a127_0xd7a9;if(!_0x2acc38[_0xff5a0(0x1a9)])return{'step':0x4,'label':_0xff5a0(0x1ae),'ok':!![],'detail':_0xff5a0(0x1b8)};try{const _0x1becb6=readFileSync(_0x2acc38['oldMcpConfig'][_0xff5a0(0x210)],_0xff5a0(0x1f0)),_0x1666ef=JSON[_0xff5a0(0x1ff)](_0x1becb6);if(_0x1666ef?.[_0xff5a0(0x1f7)]&&typeof _0x1666ef[_0xff5a0(0x1f7)]===_0xff5a0(0x1e5)){const _0x482d22=[];for(const [_0x368434,_0x349220]of Object[_0xff5a0(0x1c0)](_0x1666ef[_0xff5a0(0x1f7)])){_0x349220?.[_0xff5a0(0x1ee)]&&Array[_0xff5a0(0x1da)](_0x349220[_0xff5a0(0x1ee)])&&_0x349220[_0xff5a0(0x1ee)][_0xff5a0(0x1d5)](_0x3445d3=>typeof _0x3445d3===_0xff5a0(0x1bc)&&_0x3445d3[_0xff5a0(0x1c7)](_0xff5a0(0x1db)))&&_0x482d22[_0xff5a0(0x1a4)](_0x368434);}for(const _0x5eae36 of _0x482d22){delete _0x1666ef['mcpServers'][_0x5eae36];}return _0x482d22[_0xff5a0(0x1a1)]>0x0&&writeFileSync(_0x2acc38[_0xff5a0(0x1a9)][_0xff5a0(0x210)],JSON[_0xff5a0(0x1bb)](_0x1666ef,null,0x2)+'\x0a',_0xff5a0(0x1f0)),{'step':0x4,'label':'Clean\x20MCP\x20config','ok':!![],'detail':_0xff5a0(0x1f1)+_0x482d22[_0xff5a0(0x1fb)](',\x20')+_0xff5a0(0x1d2)+_0x2acc38[_0xff5a0(0x1a9)][_0xff5a0(0x210)]};}return{'step':0x4,'label':_0xff5a0(0x1ae),'ok':!![],'detail':_0xff5a0(0x1c1)};}catch(_0x49f0e7){return{'step':0x4,'label':'Clean\x20MCP\x20config','ok':![],'detail':_0x49f0e7[_0xff5a0(0x218)]};}}function execSkillsRemove(_0x2a95a8,_0x34c5db){const _0x157c49=a127_0xd7a9,_0x3aff05=runNpxSkillsRemove(_0x2a95a8,{'stdio':_0x157c49(0x1be),'yes':_0x34c5db});return{'step':0x5,'label':_0x157c49(0x1d3),'ok':_0x3aff05['ok'],'detail':_0x3aff05['ok']?_0x157c49(0x211):_0x3aff05['error']??'exit\x20'+_0x3aff05[_0x157c49(0x1e6)]};}function execSkillsAdd(_0x12fd38,_0x40323e){const _0x2c953b=a127_0xd7a9,_0x3ab11b=runNpxSkillsAddGlobal(_0x12fd38,_0x2c953b(0x1f2),{'stdio':_0x2c953b(0x1be),'yes':_0x40323e});return{'step':0x6,'label':'Install\x20new\x20skill','ok':_0x3ab11b['ok'],'detail':_0x3ab11b['ok']?_0x2c953b(0x1ea):_0x3ab11b[_0x2c953b(0x1ca)]??_0x2c953b(0x1a2)+_0x3ab11b[_0x2c953b(0x1e6)]};}function execUpgradeSdk(_0x16ca55){const _0x54985b=a127_0xd7a9;if(!_0x16ca55['sdkUpgrade'])return{'step':0x7,'label':_0x54985b(0x1d9),'ok':!![],'detail':'skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)'};const {pkgPath:_0x4dc4f9,currentVersion:_0x3c2003,field:_0x23fdf3}=_0x16ca55['sdkUpgrade'];try{const _0x27df68=readFileSync(_0x4dc4f9,_0x54985b(0x1f0)),_0x3cdc18=JSON['parse'](_0x27df68);return _0x3cdc18[_0x23fdf3][_0x54985b(0x217)]=_0x54985b(0x1fe),writeFileSync(_0x4dc4f9,JSON[_0x54985b(0x1bb)](_0x3cdc18,null,0x2)+'\x0a',_0x54985b(0x1f0)),{'step':0x7,'label':'Upgrade\x20@lovrabet/sdk','ok':!![],'detail':_0x23fdf3+_0x54985b(0x1dd)+_0x3c2003+_0x54985b(0x20c)};}catch(_0x20dd66){return{'step':0x7,'label':_0x54985b(0x1d9),'ok':![],'detail':_0x20dd66['message']};}}function tryStat(_0xe83b92){try{return statSync(_0xe83b92);}catch{return undefined;}}function printSummary(_0xe0d85){const _0x988d57=a127_0xd7a9;console[_0x988d57(0x1cd)](''),console[_0x988d57(0x1cd)](a127_0x429f9e[_0x988d57(0x1bf)]('===\x20Upgrade\x20Summary\x20===')),console[_0x988d57(0x1cd)]('');for(const _0x46adf3 of _0xe0d85){const _0x13505a=_0x46adf3['ok']?a127_0x429f9e['green']('OK'):a127_0x429f9e[_0x988d57(0x1a0)](_0x988d57(0x204));console[_0x988d57(0x1cd)]('\x20\x20'+_0x13505a+_0x988d57(0x205)+_0x46adf3[_0x988d57(0x20a)]+':\x20'+_0x46adf3[_0x988d57(0x1b2)]);if(_0x46adf3[_0x988d57(0x1fc)])console[_0x988d57(0x1cd)](_0x988d57(0x1ce)+a127_0x429f9e[_0x988d57(0x1f3)](_0x46adf3[_0x988d57(0x1fc)]));}console[_0x988d57(0x1cd)]('');}export async function upgradeApp(_0x41e12a,_0x15a3fc){const _0x58cc5a=a127_0xd7a9,_0x1fa0a7=process[_0x58cc5a(0x20d)](),_0x598368=analyse(_0x1fa0a7),_0x1c843d=!_0x598368['configMigration']&&_0x598368[_0x58cc5a(0x1e9)][_0x58cc5a(0x1a1)]===0x0&&!_0x598368[_0x58cc5a(0x1a9)]&&!_0x598368[_0x58cc5a(0x1cf)]&&!_0x598368[_0x58cc5a(0x202)];if(_0x1c843d){console[_0x58cc5a(0x1cd)](a127_0x429f9e[_0x58cc5a(0x20f)](_0x58cc5a(0x1f5)));return;}printReport(_0x598368);const _0x16c471=!!(_0x15a3fc[_0x58cc5a(0x1d6)]||_0x15a3fc['Y']||_0x41e12a);if(!_0x16c471)try{const _0x3c858f=await askConfirm(_0x58cc5a(0x1d1));if(!_0x3c858f){console[_0x58cc5a(0x1cd)](a127_0x429f9e[_0x58cc5a(0x1f3)](_0x58cc5a(0x212)));return;}}catch(_0x36f082){if(_0x36f082?.['message']===_0x58cc5a(0x213)){console['log'](a127_0x429f9e[_0x58cc5a(0x1f3)](_0x58cc5a(0x212)));return;}throw _0x36f082;}const _0x39d0a8=[],_0x4e3efc=a127_0x27f616({'text':'Step\x201/7:\x20Migrating\x20config...','color':_0x58cc5a(0x1d4)})[_0x58cc5a(0x1f9)](),_0x3532da=execConfigMigration(_0x598368,_0x1fa0a7);_0x39d0a8[_0x58cc5a(0x1a4)](_0x3532da),_0x4e3efc[_0x3532da['ok']?_0x58cc5a(0x1af):_0x58cc5a(0x1e1)](_0x58cc5a(0x1dc)+(_0x3532da[_0x58cc5a(0x1fc)]??(_0x3532da['ok']?_0x58cc5a(0x1fd):_0x58cc5a(0x1f8))));const _0x435290=resolve(_0x1fa0a7,_0x58cc5a(0x1a3)),_0x5322ff=a127_0x27f616({'text':_0x58cc5a(0x21d),'color':_0x58cc5a(0x1d4)})[_0x58cc5a(0x1f9)]();if(existsSync(_0x435290))try{rmSync(_0x435290,{'recursive':!![],'force':!![]}),_0x5322ff[_0x58cc5a(0x1af)](_0x58cc5a(0x21a)),_0x39d0a8[_0x58cc5a(0x1a4)]({'step':0x2,'label':'Remove\x20.lovrabet/','ok':!![]});}catch(_0x37d7e8){_0x5322ff[_0x58cc5a(0x1e1)](_0x58cc5a(0x214)+_0x37d7e8['message']),_0x39d0a8[_0x58cc5a(0x1a4)]({'step':0x2,'label':_0x58cc5a(0x1d7),'ok':![],'detail':_0x37d7e8[_0x58cc5a(0x218)]});}else _0x5322ff[_0x58cc5a(0x20e)](_0x58cc5a(0x21e)),_0x39d0a8[_0x58cc5a(0x1a4)]({'step':0x2,'label':_0x58cc5a(0x1d7),'ok':!![],'detail':'skipped'});const _0x48dbae=a127_0x27f616({'text':'Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','color':_0x58cc5a(0x1d4)})['start'](),_0x31163d=execRemoveOldArtifacts(_0x598368['oldArtifacts']);_0x39d0a8[_0x58cc5a(0x1a4)](_0x31163d),_0x48dbae[_0x31163d['ok']?_0x58cc5a(0x1af):_0x58cc5a(0x1e1)](_0x58cc5a(0x19e)+(_0x31163d['detail']??(_0x31163d['ok']?_0x58cc5a(0x1fd):_0x58cc5a(0x1f8))));const _0xe382e8=a127_0x27f616({'text':'Step\x204/7:\x20Cleaning\x20MCP\x20config...','color':_0x58cc5a(0x1d4)})[_0x58cc5a(0x1f9)](),_0x486a9a=execCleanMcp(_0x598368);_0x39d0a8[_0x58cc5a(0x1a4)](_0x486a9a),_0xe382e8[_0x486a9a['ok']?_0x58cc5a(0x1af):_0x58cc5a(0x1e1)]('Step\x204/7:\x20MCP\x20config\x20—\x20'+(_0x486a9a[_0x58cc5a(0x1fc)]??(_0x486a9a['ok']?_0x58cc5a(0x1fd):'failed')));const _0x33c798=a127_0x27f616({'text':_0x58cc5a(0x1b6),'color':_0x58cc5a(0x1d4)})[_0x58cc5a(0x1f9)](),_0xdc3a29=execSkillsRemove(_0x1fa0a7,_0x16c471);_0x39d0a8[_0x58cc5a(0x1a4)](_0xdc3a29),_0x33c798[_0xdc3a29['ok']?'succeed':_0x58cc5a(0x1e1)](_0x58cc5a(0x1e2)+(_0xdc3a29[_0x58cc5a(0x1fc)]??(_0xdc3a29['ok']?_0x58cc5a(0x1fd):'failed')));const _0x18cdbc=a127_0x27f616({'text':_0x58cc5a(0x1b1),'color':_0x58cc5a(0x1d4)})['start'](),_0x279967=execSkillsAdd(_0x1fa0a7,_0x16c471);_0x39d0a8[_0x58cc5a(0x1a4)](_0x279967),_0x18cdbc[_0x279967['ok']?_0x58cc5a(0x1af):_0x58cc5a(0x1e1)](_0x58cc5a(0x1d8)+(_0x279967[_0x58cc5a(0x1fc)]??(_0x279967['ok']?'done':'failed')));const _0x2e0188=a127_0x27f616({'text':_0x58cc5a(0x1b0),'color':_0x58cc5a(0x1d4)})[_0x58cc5a(0x1f9)](),_0x10341e=execUpgradeSdk(_0x598368);_0x39d0a8[_0x58cc5a(0x1a4)](_0x10341e),_0x2e0188[_0x10341e['ok']?_0x58cc5a(0x1af):'fail'](_0x58cc5a(0x1eb)+(_0x10341e[_0x58cc5a(0x1fc)]??(_0x10341e['ok']?'done':_0x58cc5a(0x1f8)))),printSummary(_0x39d0a8);const _0x4bfd8f=_0x39d0a8['some'](_0x3d00fd=>!_0x3d00fd['ok']);_0x4bfd8f?console['log'](a127_0x429f9e[_0x58cc5a(0x216)]('Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.')):console[_0x58cc5a(0x1cd)](a127_0x429f9e[_0x58cc5a(0x20f)](_0x58cc5a(0x1a6))),_0x10341e['ok']&&_0x598368[_0x58cc5a(0x202)]&&(console['log'](''),console[_0x58cc5a(0x1cd)](a127_0x429f9e[_0x58cc5a(0x1bf)]['cyan'](_0x58cc5a(0x1de))),console['log'](a127_0x429f9e[_0x58cc5a(0x1d4)](_0x58cc5a(0x1c9))),console[_0x58cc5a(0x1cd)](''),console[_0x58cc5a(0x1cd)](a127_0x429f9e[_0x58cc5a(0x1e7)](_0x58cc5a(0x1b9))),console['log'](a127_0x429f9e[_0x58cc5a(0x1e7)](_0x58cc5a(0x1c3))),console[_0x58cc5a(0x1cd)](a127_0x429f9e[_0x58cc5a(0x1e7)](_0x58cc5a(0x1a5))),console[_0x58cc5a(0x1cd)](''));}
1
+ const a136_0x36a9b3=a136_0x313b;(function(_0x59ed69,_0x154ff7){const _0x1c9fad=a136_0x313b,_0x24834b=_0x59ed69();while(!![]){try{const _0x9559fa=parseInt(_0x1c9fad(0x139))/0x1+-parseInt(_0x1c9fad(0x196))/0x2*(parseInt(_0x1c9fad(0x177))/0x3)+parseInt(_0x1c9fad(0x129))/0x4*(parseInt(_0x1c9fad(0x153))/0x5)+parseInt(_0x1c9fad(0x18c))/0x6*(parseInt(_0x1c9fad(0x163))/0x7)+parseInt(_0x1c9fad(0x185))/0x8+-parseInt(_0x1c9fad(0x13e))/0x9*(-parseInt(_0x1c9fad(0x160))/0xa)+-parseInt(_0x1c9fad(0x17c))/0xb;if(_0x9559fa===_0x154ff7)break;else _0x24834b['push'](_0x24834b['shift']());}catch(_0x275c6e){_0x24834b['push'](_0x24834b['shift']());}}}(a136_0xbde8,0xe2068));import a136_0x38dbad from'chalk';import a136_0x3ca242 from'ora';import{existsSync,readFileSync,renameSync,rmSync,statSync,unlinkSync,writeFileSync}from'node:fs';import{resolve}from'node:path';import{CONFIG_NAMES,NEW_CONFIG_NAME,readConfigFile,writeConfigFile}from'../../context.js';import{CORE_IDE_CONFIGS}from'../../utils/ai_config.js';import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE,runNpxSkillsAddGlobal,runNpxSkillsRemove}from'../../skills/npx-skills-add.js';import{askConfirm}from'../../commands/menu/shared/inquirer.js';const LEGACY_CONFIG_NAMES=CONFIG_NAMES[a136_0x36a9b3(0x191)](_0x25d122=>_0x25d122!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x47b102){const _0x6b39b9=a136_0x36a9b3,_0x39d48d=[];for(const _0x56af17 of Object['values'](CORE_IDE_CONFIGS)){if(_0x56af17[_0x6b39b9(0x167)])for(const _0x3cc53d of _0x56af17[_0x6b39b9(0x167)]){_0x39d48d['push'](resolve(_0x47b102,_0x3cc53d['path']));}}return _0x39d48d;}function analyse(_0x2829d9){const _0x4d4fbd=a136_0x36a9b3;let _0x4dec5f=null;const _0xac11f5=resolve(_0x2829d9,NEW_CONFIG_NAME),_0x5a2ea0=existsSync(_0xac11f5);for(const _0x5e06ca of LEGACY_CONFIG_NAMES){const _0x2b9e69=resolve(_0x2829d9,_0x5e06ca);if(existsSync(_0x2b9e69)){const _0x3880e6=readConfigFile(_0x2b9e69),_0x11721d=Object[_0x4d4fbd(0x144)](_0x3880e6)['filter'](_0x570975=>typeof _0x3880e6[_0x570975]!==_0x4d4fbd(0x14a));_0x4dec5f={'oldPath':_0x2b9e69,'hasNewConfig':_0x5a2ea0,'fields':_0x11721d};break;}}const _0x35fb1e=[],_0x24fad1=resolve(_0x2829d9,_0x4d4fbd(0x169));if(existsSync(_0x24fad1))_0x35fb1e[_0x4d4fbd(0x14d)](_0x24fad1);const _0x1c2a39=resolve(_0x2829d9,'.cursor/rules/lovrabet_rules.mdc');if(existsSync(_0x1c2a39))_0x35fb1e[_0x4d4fbd(0x14d)](_0x1c2a39);const _0x120759=resolve(_0x2829d9,_0x4d4fbd(0x175));if(existsSync(_0x120759))_0x35fb1e[_0x4d4fbd(0x14d)](_0x120759);for(const _0x186bae of collectIdeSkillFiles(_0x2829d9)){if(existsSync(_0x186bae))_0x35fb1e['push'](_0x186bae);}let _0x483777=null;const _0x176731=resolve(_0x2829d9,'.cursor/mcp.json');if(existsSync(_0x176731))try{const _0x4eb5fb=JSON[_0x4d4fbd(0x181)](readFileSync(_0x176731,_0x4d4fbd(0x150)));if(_0x4eb5fb?.['mcpServers']&&typeof _0x4eb5fb['mcpServers']===_0x4d4fbd(0x166)){const _0xc172ac=[];for(const [_0x23d20a,_0x487c71]of Object[_0x4d4fbd(0x197)](_0x4eb5fb[_0x4d4fbd(0x18d)])){const _0x35b092=_0x487c71;_0x35b092?.[_0x4d4fbd(0x17b)]&&Array[_0x4d4fbd(0x146)](_0x35b092['args'])&&_0x35b092[_0x4d4fbd(0x17b)][_0x4d4fbd(0x17f)](_0x35c3bf=>typeof _0x35c3bf===_0x4d4fbd(0x17a)&&_0x35c3bf[_0x4d4fbd(0x15b)](_0x4d4fbd(0x148)))&&_0xc172ac['push'](_0x23d20a);}_0xc172ac[_0x4d4fbd(0x162)]>0x0&&(_0x483777={'path':_0x176731,'keys':_0xc172ac});}}catch{}const _0x34d903=_0x35fb1e[_0x4d4fbd(0x162)]>0x0||_0x4dec5f!==null;let _0x4817fd=null;const _0x39d8bd=resolve(_0x2829d9,_0x4d4fbd(0x12d));if(existsSync(_0x39d8bd))try{const _0x1f0659=JSON[_0x4d4fbd(0x181)](readFileSync(_0x39d8bd,_0x4d4fbd(0x150)));for(const _0x5488 of[_0x4d4fbd(0x132),'devDependencies']){const _0x1e4668=_0x1f0659?.[_0x5488]?.['@lovrabet/sdk'];if(typeof _0x1e4668==='string'){_0x1e4668!==_0x4d4fbd(0x159)&&(_0x4817fd={'pkgPath':_0x39d8bd,'currentVersion':_0x1e4668,'field':_0x5488});break;}}}catch{}return{'configMigration':_0x4dec5f,'oldArtifacts':_0x35fb1e,'oldMcpConfig':_0x483777,'needsSkillSwap':_0x34d903,'sdkUpgrade':_0x4817fd};}function a136_0xbde8(){const _0x2d9842=['none\x20found','latest','status','includes','\x20removed','No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.','[\x22@lovrabet/sdk\x22]:\x20','not\x20found\x20or\x20already\x20at\x20latest','827880sMHqKu','failed','length','1099TxxGRH','\x20→\x20','hasNewConfig','object','files','MCP\x20config:','.lovrabet','\x20\x20bun\x20install','\x20\x20Current\x20version\x20in\x20','needed','bold','Step\x204/7:\x20MCP\x20config\x20—\x20','no\x20matching\x20entry\x20found','Remove\x20.lovrabet/','Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','===\x20Upgrade\x20Summary\x20===','Install\x20new\x20skill','@lovrabet/sdk:','.claude/skills/lovrabet','green','3TeLOCm','detail','Step\x206/7:\x20Installing\x20new\x20skill...','string','args','51127197APMqXu','oldPath','path','some','oldArtifacts','parse','Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20','join','sdkUpgrade','12848344pBgGhe','\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`','Skill\x20swap:','Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.','Step\x201/7:\x20Migrating\x20config...','\x20→\x20keys:\x20','configMigration','17814NbNgfm','mcpServers','\x20→\x20latest','Legacy\x20artifacts:','oldMcpConfig','filter','Clean\x20MCP\x20config','Step\x201/7:\x20Config\x20migration\x20—\x20','skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)','not\x20found\x20(will\x20create)','766046MKbUbb','entries','Step\x205/7:\x20Removing\x20old\x20skill...','CANCEL','message','cyan','no\x20legacy\x20entry','FOUND','===\x20Upgrade\x20Analysis\x20===','\x20\x20New\x20config\x20(.rabetbase.json):\x20','Config\x20file:','Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20','\x20removed\x20(','Upgrade\x20@lovrabet/sdk','fields','skipped\x20(no\x20legacy\x20config)','done','Remove\x20legacy\x20artifacts','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','358612LXvYEH','inherit','Proceed\x20with\x20upgrade?','step','package.json','.bak','Upgrade\x20completed\x20successfully!','fail','log','dependencies','start','not\x20needed','succeed','label','Step\x207/7:\x20@lovrabet/sdk\x20—\x20','\x20\x20\x20\x20\x20\x20\x20','780636mGoaAT','yellow','red','exit\x20','Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','162rEenGd','Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','Config\x20migration','stringify','white','Upgrade\x20cancelled.','keys','needsSkillSwap','isArray','cwd','@lovrabet/dataset-mcp-server','\x20from\x20','undefined','lovrabet/rabetbase\x20installed\x20globally','\x20\x20npm\x20install','push','gray','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','utf8','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','\x20\x20Step\x20','90IOrBTj','Step\x202/7:\x20.lovrabet/\x20directory\x20removed','\x20(backup:\x20','error','already\x20exists\x20(will\x20merge)'];a136_0xbde8=function(){return _0x2d9842;};return a136_0xbde8();}function printReport(_0x52cbb7){const _0x2f3e27=a136_0x36a9b3,{configMigration:_0x39b025,oldArtifacts:_0xea8618,oldMcpConfig:_0x42fb12,needsSkillSwap:_0x30ad69}=_0x52cbb7;console[_0x2f3e27(0x131)](''),console['log'](a136_0x38dbad['bold'](_0x2f3e27(0x11e))),console[_0x2f3e27(0x131)]('');_0x39b025?(console[_0x2f3e27(0x131)](a136_0x38dbad[_0x2f3e27(0x19b)](_0x2f3e27(0x120))+('\x20\x20'+a136_0x38dbad[_0x2f3e27(0x13a)](_0x39b025['oldPath']))),console['log'](_0x2f3e27(0x11f)+(_0x39b025[_0x2f3e27(0x165)]?a136_0x38dbad['green'](_0x2f3e27(0x157)):a136_0x38dbad['gray'](_0x2f3e27(0x195)))),console[_0x2f3e27(0x131)]('\x20\x20Fields\x20to\x20migrate:\x20'+_0x39b025[_0x2f3e27(0x124)][_0x2f3e27(0x183)](',\x20')),console[_0x2f3e27(0x131)]('\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak')):console[_0x2f3e27(0x131)](a136_0x38dbad[_0x2f3e27(0x19b)](_0x2f3e27(0x120))+'\x20\x20'+a136_0x38dbad['gray']('no\x20legacy\x20config\x20found'));console[_0x2f3e27(0x131)]('');if(_0xea8618[_0x2f3e27(0x162)]>0x0){console['log'](a136_0x38dbad[_0x2f3e27(0x19b)]('Legacy\x20artifacts:'));for(const _0x1043a2 of _0xea8618){console['log']('\x20\x20'+a136_0x38dbad['red'](_0x2f3e27(0x11d))+'\x20\x20'+_0x1043a2);}console[_0x2f3e27(0x131)]('\x20\x20Action:\x20delete');}else console['log'](a136_0x38dbad['cyan'](_0x2f3e27(0x18f))+'\x20\x20'+a136_0x38dbad['gray'](_0x2f3e27(0x158)));console[_0x2f3e27(0x131)]('');_0x42fb12?(console[_0x2f3e27(0x131)](a136_0x38dbad[_0x2f3e27(0x19b)](_0x2f3e27(0x168))+('\x20\x20'+a136_0x38dbad[_0x2f3e27(0x13a)](_0x42fb12['path'])+_0x2f3e27(0x18a)+_0x42fb12[_0x2f3e27(0x144)][_0x2f3e27(0x183)](',\x20'))),console[_0x2f3e27(0x131)]('\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server')):console[_0x2f3e27(0x131)](a136_0x38dbad[_0x2f3e27(0x19b)](_0x2f3e27(0x168))+'\x20\x20'+a136_0x38dbad[_0x2f3e27(0x14e)](_0x2f3e27(0x11c)));console[_0x2f3e27(0x131)](''),console['log'](a136_0x38dbad[_0x2f3e27(0x19b)](_0x2f3e27(0x187))+('\x20\x20'+(_0x30ad69?a136_0x38dbad['yellow'](_0x2f3e27(0x16c)):a136_0x38dbad[_0x2f3e27(0x176)](_0x2f3e27(0x134)))));_0x30ad69&&console[_0x2f3e27(0x131)](_0x2f3e27(0x186)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console[_0x2f3e27(0x131)]('');if(_0x52cbb7[_0x2f3e27(0x184)]){const {currentVersion:_0xec3454,field:_0x138d48,pkgPath:_0x48a91e}=_0x52cbb7[_0x2f3e27(0x184)];console['log'](a136_0x38dbad[_0x2f3e27(0x19b)](_0x2f3e27(0x174))+('\x20\x20'+a136_0x38dbad['yellow'](_0x48a91e))),console['log'](_0x2f3e27(0x16b)+_0x138d48+':\x20'+a136_0x38dbad[_0x2f3e27(0x13a)](_0xec3454)+_0x2f3e27(0x164)+a136_0x38dbad[_0x2f3e27(0x176)](_0x2f3e27(0x159))),console[_0x2f3e27(0x131)](_0x2f3e27(0x14f));}else console[_0x2f3e27(0x131)](a136_0x38dbad[_0x2f3e27(0x19b)](_0x2f3e27(0x174))+'\x20\x20'+a136_0x38dbad[_0x2f3e27(0x14e)](_0x2f3e27(0x15f)));console[_0x2f3e27(0x131)]('');}function execConfigMigration(_0x231f5b,_0x45bef8){const _0x164376=a136_0x36a9b3,{configMigration:_0x2a2574}=_0x231f5b;if(!_0x2a2574?.['oldPath'])return{'step':0x1,'label':'Config\x20migration','ok':!![],'detail':_0x164376(0x125)};const _0x113287=readConfigFile(_0x2a2574[_0x164376(0x17d)]),_0x18c799=resolve(_0x45bef8,NEW_CONFIG_NAME),_0x3b9d5a=_0x2a2574['hasNewConfig']?readConfigFile(_0x18c799):{};for(const [_0x13a5a1,_0x394174]of Object[_0x164376(0x197)](_0x113287)){!(_0x13a5a1 in _0x3b9d5a)&&(_0x3b9d5a[_0x13a5a1]=_0x394174);}writeConfigFile(_0x18c799,_0x3b9d5a);const _0x234cdb=_0x2a2574[_0x164376(0x17d)]+_0x164376(0x12e);return renameSync(_0x2a2574[_0x164376(0x17d)],_0x234cdb),{'step':0x1,'label':_0x164376(0x140),'ok':!![],'detail':_0x2a2574[_0x164376(0x17d)]+'\x20→\x20'+_0x18c799+_0x164376(0x155)+_0x234cdb+')'};}function execRemoveOldArtifacts(_0x22590a){const _0x30f6c9=a136_0x36a9b3,_0x4ad911=[];for(const _0x3fe5f8 of _0x22590a){try{if(!existsSync(_0x3fe5f8))continue;const _0x34d2dd=tryStat(_0x3fe5f8);_0x34d2dd?.['isDirectory']()?rmSync(_0x3fe5f8,{'recursive':!![],'force':!![]}):unlinkSync(_0x3fe5f8);}catch(_0x32ef54){_0x4ad911[_0x30f6c9(0x14d)](_0x3fe5f8+':\x20'+_0x32ef54[_0x30f6c9(0x19a)]);}}return{'step':0x3,'label':_0x30f6c9(0x127),'ok':_0x4ad911[_0x30f6c9(0x162)]===0x0,'detail':_0x4ad911[_0x30f6c9(0x162)]>0x0?_0x22590a[_0x30f6c9(0x162)]-_0x4ad911[_0x30f6c9(0x162)]+'/'+_0x22590a[_0x30f6c9(0x162)]+_0x30f6c9(0x122)+_0x4ad911[_0x30f6c9(0x183)](';\x20')+')':_0x22590a[_0x30f6c9(0x162)]+_0x30f6c9(0x15c)};}function execCleanMcp(_0x29b95e){const _0x54268c=a136_0x36a9b3;if(!_0x29b95e[_0x54268c(0x190)])return{'step':0x4,'label':_0x54268c(0x192),'ok':!![],'detail':'skipped'};try{const _0x2d12e6=readFileSync(_0x29b95e[_0x54268c(0x190)]['path'],_0x54268c(0x150)),_0x267f43=JSON[_0x54268c(0x181)](_0x2d12e6);if(_0x267f43?.[_0x54268c(0x18d)]&&typeof _0x267f43['mcpServers']===_0x54268c(0x166)){const _0x548b49=[];for(const [_0x2f4f7c,_0x1653ff]of Object[_0x54268c(0x197)](_0x267f43['mcpServers'])){_0x1653ff?.[_0x54268c(0x17b)]&&Array[_0x54268c(0x146)](_0x1653ff['args'])&&_0x1653ff[_0x54268c(0x17b)][_0x54268c(0x17f)](_0x906b72=>typeof _0x906b72===_0x54268c(0x17a)&&_0x906b72[_0x54268c(0x15b)](_0x54268c(0x148)))&&_0x548b49[_0x54268c(0x14d)](_0x2f4f7c);}for(const _0x138501 of _0x548b49){delete _0x267f43[_0x54268c(0x18d)][_0x138501];}return _0x548b49[_0x54268c(0x162)]>0x0&&writeFileSync(_0x29b95e[_0x54268c(0x190)]['path'],JSON[_0x54268c(0x141)](_0x267f43,null,0x2)+'\x0a',_0x54268c(0x150)),{'step':0x4,'label':_0x54268c(0x192),'ok':!![],'detail':'removed\x20'+_0x548b49[_0x54268c(0x183)](',\x20')+_0x54268c(0x149)+_0x29b95e[_0x54268c(0x190)][_0x54268c(0x17e)]};}return{'step':0x4,'label':_0x54268c(0x192),'ok':!![],'detail':_0x54268c(0x16f)};}catch(_0x5b80d9){return{'step':0x4,'label':_0x54268c(0x192),'ok':![],'detail':_0x5b80d9[_0x54268c(0x19a)]};}}function execSkillsRemove(_0x1d81ce,_0x248e3c){const _0x1ae33c=a136_0x36a9b3,_0x4d71e4=runNpxSkillsRemove(_0x1d81ce,{'stdio':_0x1ae33c(0x12a),'yes':_0x248e3c});return{'step':0x5,'label':'Remove\x20old\x20skill','ok':_0x4d71e4['ok'],'detail':_0x4d71e4['ok']?'lovrabet/lovrabet-skill\x20removed':_0x4d71e4['error']??_0x1ae33c(0x13c)+_0x4d71e4[_0x1ae33c(0x15a)]};}function execSkillsAdd(_0x27988e,_0x362eae){const _0x1472c6=a136_0x36a9b3,_0x1c0f02=runNpxSkillsAddGlobal(_0x27988e,'lovrabet/rabetbase',{'stdio':'inherit','yes':_0x362eae});return{'step':0x6,'label':_0x1472c6(0x173),'ok':_0x1c0f02['ok'],'detail':_0x1c0f02['ok']?_0x1472c6(0x14b):_0x1c0f02[_0x1472c6(0x156)]??'exit\x20'+_0x1c0f02['status']};}function execUpgradeSdk(_0x1318e2){const _0x4f1d31=a136_0x36a9b3;if(!_0x1318e2[_0x4f1d31(0x184)])return{'step':0x7,'label':_0x4f1d31(0x123),'ok':!![],'detail':_0x4f1d31(0x194)};const {pkgPath:_0x5db9c3,currentVersion:_0x58ce74,field:_0x545b5a}=_0x1318e2[_0x4f1d31(0x184)];try{const _0x1280f=readFileSync(_0x5db9c3,_0x4f1d31(0x150)),_0x2dc18b=JSON[_0x4f1d31(0x181)](_0x1280f);return _0x2dc18b[_0x545b5a]['@lovrabet/sdk']='latest',writeFileSync(_0x5db9c3,JSON[_0x4f1d31(0x141)](_0x2dc18b,null,0x2)+'\x0a',_0x4f1d31(0x150)),{'step':0x7,'label':_0x4f1d31(0x123),'ok':!![],'detail':_0x545b5a+_0x4f1d31(0x15e)+_0x58ce74+_0x4f1d31(0x18e)};}catch(_0x5a699d){return{'step':0x7,'label':_0x4f1d31(0x123),'ok':![],'detail':_0x5a699d['message']};}}function tryStat(_0x32616c){try{return statSync(_0x32616c);}catch{return undefined;}}function a136_0x313b(_0x3441b6,_0x51e480){_0x3441b6=_0x3441b6-0x11c;const _0xbde80c=a136_0xbde8();let _0x313b5c=_0xbde80c[_0x3441b6];return _0x313b5c;}function printSummary(_0x567217){const _0x475fda=a136_0x36a9b3;console[_0x475fda(0x131)](''),console['log'](a136_0x38dbad[_0x475fda(0x16d)](_0x475fda(0x172))),console['log']('');for(const _0x5bfdd7 of _0x567217){const _0x22038f=_0x5bfdd7['ok']?a136_0x38dbad['green']('OK'):a136_0x38dbad[_0x475fda(0x13b)]('FAIL');console['log']('\x20\x20'+_0x22038f+_0x475fda(0x152)+_0x5bfdd7[_0x475fda(0x12c)]+':\x20'+_0x5bfdd7[_0x475fda(0x136)]);if(_0x5bfdd7[_0x475fda(0x178)])console[_0x475fda(0x131)](_0x475fda(0x138)+a136_0x38dbad[_0x475fda(0x14e)](_0x5bfdd7[_0x475fda(0x178)]));}console[_0x475fda(0x131)]('');}export async function upgradeApp(_0x3514c8,_0x50a05c){const _0x1c9b16=a136_0x36a9b3,_0x3ad044=process[_0x1c9b16(0x147)](),_0xdc4984=analyse(_0x3ad044),_0x2f93ab=!_0xdc4984[_0x1c9b16(0x18b)]&&_0xdc4984[_0x1c9b16(0x180)][_0x1c9b16(0x162)]===0x0&&!_0xdc4984[_0x1c9b16(0x190)]&&!_0xdc4984[_0x1c9b16(0x145)]&&!_0xdc4984[_0x1c9b16(0x184)];if(_0x2f93ab){console[_0x1c9b16(0x131)](a136_0x38dbad['green'](_0x1c9b16(0x15d)));return;}printReport(_0xdc4984);const _0x43ea3e=!!(_0x50a05c['yes']||_0x50a05c['Y']||_0x3514c8);if(!_0x43ea3e)try{const _0x20458c=await askConfirm(_0x1c9b16(0x12b));if(!_0x20458c){console[_0x1c9b16(0x131)](a136_0x38dbad[_0x1c9b16(0x14e)](_0x1c9b16(0x143)));return;}}catch(_0x223632){if(_0x223632?.['message']===_0x1c9b16(0x199)){console[_0x1c9b16(0x131)](a136_0x38dbad['gray'](_0x1c9b16(0x143)));return;}throw _0x223632;}const _0x4addcc=[],_0x3aea6f=a136_0x3ca242({'text':_0x1c9b16(0x189),'color':_0x1c9b16(0x19b)})[_0x1c9b16(0x133)](),_0x4f6f8a=execConfigMigration(_0xdc4984,_0x3ad044);_0x4addcc[_0x1c9b16(0x14d)](_0x4f6f8a),_0x3aea6f[_0x4f6f8a['ok']?'succeed':'fail'](_0x1c9b16(0x193)+(_0x4f6f8a[_0x1c9b16(0x178)]??(_0x4f6f8a['ok']?'done':_0x1c9b16(0x161))));const _0x3d734c=resolve(_0x3ad044,_0x1c9b16(0x169)),_0x2b9b50=a136_0x3ca242({'text':_0x1c9b16(0x13d),'color':_0x1c9b16(0x19b)})[_0x1c9b16(0x133)]();if(existsSync(_0x3d734c))try{rmSync(_0x3d734c,{'recursive':!![],'force':!![]}),_0x2b9b50[_0x1c9b16(0x135)](_0x1c9b16(0x154)),_0x4addcc[_0x1c9b16(0x14d)]({'step':0x2,'label':_0x1c9b16(0x170),'ok':!![]});}catch(_0xceace7){_0x2b9b50['fail'](_0x1c9b16(0x121)+_0xceace7['message']),_0x4addcc[_0x1c9b16(0x14d)]({'step':0x2,'label':_0x1c9b16(0x170),'ok':![],'detail':_0xceace7['message']});}else _0x2b9b50['info']('Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped'),_0x4addcc['push']({'step':0x2,'label':_0x1c9b16(0x170),'ok':!![],'detail':'skipped'});const _0x2f530b=a136_0x3ca242({'text':_0x1c9b16(0x13f),'color':_0x1c9b16(0x19b)})[_0x1c9b16(0x133)](),_0x3a0c31=execRemoveOldArtifacts(_0xdc4984[_0x1c9b16(0x180)]);_0x4addcc[_0x1c9b16(0x14d)](_0x3a0c31),_0x2f530b[_0x3a0c31['ok']?_0x1c9b16(0x135):'fail']('Step\x203/7:\x20Legacy\x20artifacts\x20—\x20'+(_0x3a0c31[_0x1c9b16(0x178)]??(_0x3a0c31['ok']?'done':_0x1c9b16(0x161))));const _0x500c30=a136_0x3ca242({'text':'Step\x204/7:\x20Cleaning\x20MCP\x20config...','color':_0x1c9b16(0x19b)})[_0x1c9b16(0x133)](),_0x47187b=execCleanMcp(_0xdc4984);_0x4addcc['push'](_0x47187b),_0x500c30[_0x47187b['ok']?_0x1c9b16(0x135):_0x1c9b16(0x130)](_0x1c9b16(0x16e)+(_0x47187b[_0x1c9b16(0x178)]??(_0x47187b['ok']?_0x1c9b16(0x126):_0x1c9b16(0x161))));const _0x2e7fdc=a136_0x3ca242({'text':_0x1c9b16(0x198),'color':_0x1c9b16(0x19b)})[_0x1c9b16(0x133)](),_0x1e93da=execSkillsRemove(_0x3ad044,_0x43ea3e);_0x4addcc[_0x1c9b16(0x14d)](_0x1e93da),_0x2e7fdc[_0x1e93da['ok']?'succeed':_0x1c9b16(0x130)](_0x1c9b16(0x182)+(_0x1e93da[_0x1c9b16(0x178)]??(_0x1e93da['ok']?_0x1c9b16(0x126):'failed')));const _0x40aceb=a136_0x3ca242({'text':_0x1c9b16(0x179),'color':_0x1c9b16(0x19b)})['start'](),_0x3906da=execSkillsAdd(_0x3ad044,_0x43ea3e);_0x4addcc[_0x1c9b16(0x14d)](_0x3906da),_0x40aceb[_0x3906da['ok']?_0x1c9b16(0x135):_0x1c9b16(0x130)](_0x1c9b16(0x151)+(_0x3906da[_0x1c9b16(0x178)]??(_0x3906da['ok']?_0x1c9b16(0x126):'failed')));const _0x42f12b=a136_0x3ca242({'text':_0x1c9b16(0x128),'color':_0x1c9b16(0x19b)})['start'](),_0x2acbcf=execUpgradeSdk(_0xdc4984);_0x4addcc[_0x1c9b16(0x14d)](_0x2acbcf),_0x42f12b[_0x2acbcf['ok']?'succeed':_0x1c9b16(0x130)](_0x1c9b16(0x137)+(_0x2acbcf['detail']??(_0x2acbcf['ok']?_0x1c9b16(0x126):'failed'))),printSummary(_0x4addcc);const _0x240bcc=_0x4addcc['some'](_0x177f8b=>!_0x177f8b['ok']);_0x240bcc?console['log'](a136_0x38dbad[_0x1c9b16(0x13a)](_0x1c9b16(0x188))):console['log'](a136_0x38dbad[_0x1c9b16(0x176)](_0x1c9b16(0x12f))),_0x2acbcf['ok']&&_0xdc4984[_0x1c9b16(0x184)]&&(console[_0x1c9b16(0x131)](''),console['log'](a136_0x38dbad[_0x1c9b16(0x16d)][_0x1c9b16(0x19b)]('@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.')),console['log'](a136_0x38dbad[_0x1c9b16(0x19b)](_0x1c9b16(0x171))),console['log'](''),console[_0x1c9b16(0x131)](a136_0x38dbad[_0x1c9b16(0x142)](_0x1c9b16(0x14c))),console[_0x1c9b16(0x131)](a136_0x38dbad[_0x1c9b16(0x142)]('\x20\x20#\x20or')),console['log'](a136_0x38dbad[_0x1c9b16(0x142)](_0x1c9b16(0x16a))),console[_0x1c9b16(0x131)](''));}
@@ -1 +1 @@
1
- const a128_0x38643d=a128_0x2ca2;(function(_0x3e1f46,_0x255fee){const _0x4bc15f=a128_0x2ca2,_0x337d2f=_0x3e1f46();while(!![]){try{const _0x2b228a=parseInt(_0x4bc15f(0x153))/0x1*(parseInt(_0x4bc15f(0x15a))/0x2)+-parseInt(_0x4bc15f(0x14e))/0x3*(parseInt(_0x4bc15f(0x146))/0x4)+-parseInt(_0x4bc15f(0x143))/0x5+-parseInt(_0x4bc15f(0x166))/0x6+parseInt(_0x4bc15f(0x16d))/0x7*(parseInt(_0x4bc15f(0x14b))/0x8)+-parseInt(_0x4bc15f(0x152))/0x9*(parseInt(_0x4bc15f(0x151))/0xa)+parseInt(_0x4bc15f(0x167))/0xb;if(_0x2b228a===_0x255fee)break;else _0x337d2f['push'](_0x337d2f['shift']());}catch(_0x4908f7){_0x337d2f['push'](_0x337d2f['shift']());}}}(a128_0x5999,0xbd0a0));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';function a128_0x5999(){const _0x4b3fc0=['15111877jaWdPs','CLI\x20Built-in\x20Skill','map','skill','Self\x20Update','Run\x20Scripts','21eoYRyl','Run\x20any\x20package.json\x20script','<script>','skills','read','Code\x20Generation','use','SQL\x20Queries','create','auth','`rabetbase\x20app\x20use`\x20has\x20been\x20removed.','install','start','description','API\x20Development','get','Use\x20`rabetbase\x20workspace\x20use\x20--app\x20<name>`\x20instead.','Database\x20Connections','commands','Platform\x20Issue','from','Project','defaultCommand','Runtime\x20App\x20Config\x20Management','risk','`rabetbase\x20app\x20remote`\x20has\x20been\x20removed.','Use\x20`rabetbase\x20cli-skill\x20install`\x20to\x20refresh\x20the\x20Rabetbase\x20CLI\x20Built-in\x20Skill.\x20To\x20install\x20business\x20Skills,\x20use\x20`lovrabet\x20skill\x20install`.','791245lhYJLi','login','set','4SIhCOl','Dataset\x20&\x20Operations','app\x20use','write','app','1083584NhjxvC','isSingleCommand','service','142257oedjZt','command','Smart\x20List\x20Pages','10RkyRep','13451166icsPfI','206616AKVEsL','Menu','Schema','app\x20remote','push','Authentication','`\x20has\x20been\x20removed.','8SWCaBV','skill\x20','`rabetbase\x20skills`\x20has\x20been\x20removed.','run','length','Logs','project','build','wildcardDef','has','BFF\x20Scripts','values','792414ecGCqO'];a128_0x5999=function(){return _0x4b3fc0;};return a128_0x5999();}import{pageDefinitions}from'../commands/page/index.js';import{dataDefinitions}from'../commands/data/index.js';import{dbDefinitions}from'../commands/db/index.js';import{codegenDefinitions}from'../commands/codegen/index.js';import{menuDefinitions}from'../commands/menu/index.js';function a128_0x2ca2(_0x1a53d3,_0x37accf){_0x1a53d3=_0x1a53d3-0x129;const _0x599913=a128_0x5999();let _0x2ca26e=_0x599913[_0x1a53d3];return _0x2ca26e;}import{appDefinitions}from'../commands/app/index.js';import{appConfigDefinitions}from'../commands/app-config/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{cliSkillDefinitions}from'../commands/cli-skill/index.js';import{authDefinitions}from'../commands/auth/index.js';import{logsDefinitions}from'../commands/logs/index.js';import{projectDefinitions}from'../commands/project/index.js';import{initDefinitions}from'../commands/init/index.js';import{runDefinition}from'../commands/run/index.js';export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();export const serviceGroups=new Map();function registerDefinitions(_0x5ca97e){const _0xcb5663=a128_0x2ca2;for(const _0x44043d of _0x5ca97e){definitions[_0xcb5663(0x145)](_0x44043d[_0xcb5663(0x14d)]+':'+_0x44043d[_0xcb5663(0x14f)],_0x44043d);let _0x3b7197=serviceGroups[_0xcb5663(0x137)](_0x44043d['service']);!_0x3b7197&&(_0x3b7197=[],serviceGroups[_0xcb5663(0x145)](_0x44043d['service'],_0x3b7197)),_0x3b7197[_0xcb5663(0x157)](_0x44043d);}}function registerDeclarativeService(_0x3a9009,_0x13300a,_0x5b5180){const _0x17e362=a128_0x2ca2;registerDefinitions(_0x13300a);_0x5b5180?.['wildcardDef']&&registerDefinitions([_0x5b5180[_0x17e362(0x162)]]);const _0x1edb0c=_0x16675f=>_0x16675f===_0x17e362(0x12c)?'':_0x16675f===_0x17e362(0x149)?'\x20\x20[write]':'\x20\x20[high-risk-write]',_0x2cb695={'service':_0x13300a[0x0][_0x17e362(0x14d)],'label':_0x3a9009,'commands':_0x13300a[_0x17e362(0x169)](_0x57b0f0=>({'command':_0x57b0f0[_0x17e362(0x14f)],'description':_0x57b0f0[_0x17e362(0x135)],'tag':_0x1edb0c(_0x57b0f0[_0x17e362(0x140)])})),'declarative':!![],'defaultCommand':_0x5b5180?.[_0x17e362(0x13e)]??(_0x5b5180?.[_0x17e362(0x14c)]?_0x13300a[0x0][_0x17e362(0x14f)]:undefined),'wildcardDef':_0x5b5180?.[_0x17e362(0x162)],'isSingleCommand':_0x5b5180?.[_0x17e362(0x14c)]};serviceRegistry[_0x17e362(0x157)](_0x2cb695),serviceByName[_0x17e362(0x145)](_0x2cb695['service'],_0x2cb695);}registerDeclarativeService('Quick\x20Start',initDefinitions,{'defaultCommand':'run','isSingleCommand':!![]}),registerDeclarativeService(a128_0x38643d(0x13d),projectDefinitions),registerDeclarativeService('Workspace',workspaceDefinitions),registerDeclarativeService('App\x20Management',appDefinitions),registerDeclarativeService(a128_0x38643d(0x158),authDefinitions,{'defaultCommand':a128_0x38643d(0x144)}),registerDeclarativeService(a128_0x38643d(0x147),datasetDefinitions),registerDeclarativeService(a128_0x38643d(0x150),pageDefinitions),registerDeclarativeService(a128_0x38643d(0x136),apiDefinitions),registerDeclarativeService('Instant\x20API',dataDefinitions),registerDeclarativeService(a128_0x38643d(0x164),bffDefinitions),registerDeclarativeService(a128_0x38643d(0x12f),sqlDefinitions),registerDeclarativeService(a128_0x38643d(0x139),dbDefinitions),registerDeclarativeService(a128_0x38643d(0x154),menuDefinitions),registerDeclarativeService(a128_0x38643d(0x13f),appConfigDefinitions),registerDeclarativeService(a128_0x38643d(0x13b),issueDefinitions),registerDeclarativeService(a128_0x38643d(0x12d),codegenDefinitions),registerDeclarativeService('Configuration',configDefinitions),registerDeclarativeService('Diagnostics',[doctorDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a128_0x38643d(0x155),[schemaDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a128_0x38643d(0x16b),[updateDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a128_0x38643d(0x168),cliSkillDefinitions,{'defaultCommand':a128_0x38643d(0x133)}),registerDeclarativeService(a128_0x38643d(0x15f),logsDefinitions,{'defaultCommand':'show'}),registerDeclarativeService(a128_0x38643d(0x16c),[runDefinition],{'wildcardDef':runDefinition});{const last=serviceRegistry[serviceRegistry[a128_0x38643d(0x15e)]-0x1];last[a128_0x38643d(0x13a)]=[{'command':a128_0x38643d(0x12a),'description':a128_0x38643d(0x129),'tag':''}];}export const deprecatedAliases={'create':{'service':a128_0x38643d(0x160),'command':a128_0x38643d(0x130)},'start':{'service':a128_0x38643d(0x15d),'command':a128_0x38643d(0x134)},'build':{'service':a128_0x38643d(0x15d),'command':a128_0x38643d(0x161)},'preview':{'service':a128_0x38643d(0x15d),'command':'preview'},'logout':{'service':a128_0x38643d(0x131),'command':'logout'}};const CLI_SKILL_INSTALL_REMOVED_HINT=a128_0x38643d(0x142),APP_REMOTE_REMOVED_HINT='Use\x20`rabetbase\x20app\x20list\x20--remote`\x20instead.',APP_USE_REMOVED_HINT=a128_0x38643d(0x138);export function resolveRemovedCommand(_0xec4854,_0x3915e0){const _0x3ab021=a128_0x38643d;if(_0xec4854===_0x3ab021(0x16a)){const _0x1a4249=_0x3915e0?_0x3ab021(0x15b)+_0x3915e0:_0x3ab021(0x16a);return{'command':_0x1a4249,'message':'`rabetbase\x20'+_0x1a4249+_0x3ab021(0x159),'hint':CLI_SKILL_INSTALL_REMOVED_HINT};}if(_0xec4854===_0x3ab021(0x12b))return{'command':'skills','message':_0x3ab021(0x15c),'hint':CLI_SKILL_INSTALL_REMOVED_HINT};if(_0xec4854===_0x3ab021(0x14a)&&_0x3915e0==='remote')return{'command':_0x3ab021(0x156),'message':_0x3ab021(0x141),'hint':APP_REMOTE_REMOVED_HINT};if(_0xec4854===_0x3ab021(0x14a)&&_0x3915e0===_0x3ab021(0x12e))return{'command':_0x3ab021(0x148),'message':_0x3ab021(0x132),'hint':APP_USE_REMOVED_HINT};return undefined;}export const deprecatedSubcommands={'bff':{'new':a128_0x38643d(0x130)},'sql':{'new':'create'}};export function resolveDeprecatedSubcommand(_0xd62d7a,_0x5c6aaf){return deprecatedSubcommands[_0xd62d7a]?.[_0x5c6aaf];}export function findDefinition(_0x6e2a9d,_0x45c114){const _0x5af896=a128_0x38643d;return definitions[_0x5af896(0x137)](_0x6e2a9d+':'+_0x45c114);}export function isKnownService(_0x2e0377){const _0x26bb23=a128_0x38643d;return serviceByName[_0x26bb23(0x163)](_0x2e0377);}export function isDeclarativeService(_0x44fbca){const _0x1d01f3=a128_0x38643d;return serviceGroups['has'](_0x44fbca)||serviceByName[_0x1d01f3(0x137)](_0x44fbca)?.['wildcardDef']!==undefined;}export function getServiceEntry(_0x314803){const _0x229a96=a128_0x38643d;return serviceByName[_0x229a96(0x137)](_0x314803);}export function getLegacyHandler(_0x34532e,_0x40a341){return undefined;}export function getAllDefinitions(){const _0x3e82d5=a128_0x38643d;return Array[_0x3e82d5(0x13c)](definitions[_0x3e82d5(0x165)]());}
1
+ const a137_0x38748f=a137_0x576b;(function(_0x57298b,_0x44517a){const _0x5b467a=a137_0x576b,_0x1c6df3=_0x57298b();while(!![]){try{const _0x5120df=parseInt(_0x5b467a(0xb2))/0x1*(-parseInt(_0x5b467a(0x94))/0x2)+parseInt(_0x5b467a(0x96))/0x3+parseInt(_0x5b467a(0x87))/0x4*(parseInt(_0x5b467a(0xab))/0x5)+parseInt(_0x5b467a(0xb9))/0x6*(-parseInt(_0x5b467a(0x92))/0x7)+-parseInt(_0x5b467a(0xb5))/0x8+-parseInt(_0x5b467a(0xae))/0x9*(-parseInt(_0x5b467a(0x9b))/0xa)+-parseInt(_0x5b467a(0x9a))/0xb;if(_0x5120df===_0x44517a)break;else _0x1c6df3['push'](_0x1c6df3['shift']());}catch(_0x1dd017){_0x1c6df3['push'](_0x1c6df3['shift']());}}}(a137_0x472e,0x589ba));import{apiDefinitions}from'../commands/api/index.js';import{bffDefinitions}from'../commands/bff/index.js';import{sqlDefinitions}from'../commands/sql/index.js';import{datasetDefinitions}from'../commands/dataset/index.js';import{pageDefinitions}from'../commands/page/index.js';import{dataDefinitions}from'../commands/data/index.js';import{dbDefinitions}from'../commands/db/index.js';import{codegenDefinitions}from'../commands/codegen/index.js';import{menuDefinitions}from'../commands/menu/index.js';import{roleDefinitions}from'../commands/role/index.js';import{permitDefinitions}from'../commands/permit/index.js';import{appDefinitions}from'../commands/app/index.js';import{appConfigDefinitions}from'../commands/app-config/index.js';import{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{cliSkillDefinitions}from'../commands/cli-skill/index.js';import{authDefinitions}from'../commands/auth/index.js';import{logsDefinitions}from'../commands/logs/index.js';import{projectDefinitions}from'../commands/project/index.js';import{initDefinitions}from'../commands/init/index.js';import{runDefinition}from'../commands/run/index.js';export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();export const serviceGroups=new Map();function a137_0x576b(_0x11b59c,_0x415089){_0x11b59c=_0x11b59c-0x78;const _0x472ea0=a137_0x472e();let _0x576bb1=_0x472ea0[_0x11b59c];return _0x576bb1;}function registerDefinitions(_0x1a5e57){const _0x521a97=a137_0x576b;for(const _0x512769 of _0x1a5e57){definitions[_0x521a97(0x97)](_0x512769[_0x521a97(0xba)]+':'+_0x512769[_0x521a97(0x80)],_0x512769);let _0x5c3c00=serviceGroups['get'](_0x512769[_0x521a97(0xba)]);!_0x5c3c00&&(_0x5c3c00=[],serviceGroups[_0x521a97(0x97)](_0x512769['service'],_0x5c3c00)),_0x5c3c00[_0x521a97(0xa9)](_0x512769);}}function registerDeclarativeService(_0x12b42a,_0x1dd033,_0x402339){const _0x124d63=a137_0x576b;registerDefinitions(_0x1dd033);_0x402339?.[_0x124d63(0x8b)]&&registerDefinitions([_0x402339[_0x124d63(0x8b)]]);const _0x5599db=_0x5344f5=>_0x5344f5==='read'?'':_0x5344f5===_0x124d63(0xbb)?'\x20\x20[write]':_0x124d63(0x9e),_0x48f006={'service':_0x1dd033[0x0][_0x124d63(0xba)],'label':_0x12b42a,'commands':_0x1dd033[_0x124d63(0x9c)](_0x514c9d=>!_0x514c9d[_0x124d63(0x8f)])['map'](_0x9a05bd=>({'command':_0x9a05bd[_0x124d63(0x80)],'description':_0x9a05bd[_0x124d63(0x8d)],'tag':_0x5599db(_0x9a05bd[_0x124d63(0xb6)])})),'declarative':!![],'defaultCommand':_0x402339?.[_0x124d63(0x85)]??(_0x402339?.[_0x124d63(0x79)]?_0x1dd033[0x0]['command']:undefined),'wildcardDef':_0x402339?.[_0x124d63(0x8b)],'isSingleCommand':_0x402339?.[_0x124d63(0x79)]};serviceRegistry[_0x124d63(0xa9)](_0x48f006),serviceByName[_0x124d63(0x97)](_0x48f006[_0x124d63(0xba)],_0x48f006);}registerDeclarativeService(a137_0x38748f(0xa4),initDefinitions,{'defaultCommand':'run','isSingleCommand':!![]}),registerDeclarativeService('Project',projectDefinitions),registerDeclarativeService(a137_0x38748f(0xad),workspaceDefinitions),registerDeclarativeService(a137_0x38748f(0x88),appDefinitions),registerDeclarativeService('Authentication',authDefinitions,{'defaultCommand':a137_0x38748f(0x7b)}),registerDeclarativeService('Dataset\x20&\x20Operations',datasetDefinitions),registerDeclarativeService('Smart\x20List\x20Pages',pageDefinitions),registerDeclarativeService(a137_0x38748f(0xb7),apiDefinitions),registerDeclarativeService(a137_0x38748f(0xb4),dataDefinitions),registerDeclarativeService('BFF\x20Scripts',bffDefinitions),registerDeclarativeService(a137_0x38748f(0x8a),sqlDefinitions),registerDeclarativeService(a137_0x38748f(0x90),dbDefinitions),registerDeclarativeService('Menu',menuDefinitions),registerDeclarativeService('Roles',roleDefinitions),registerDeclarativeService(a137_0x38748f(0x98),permitDefinitions),registerDeclarativeService(a137_0x38748f(0x82),appConfigDefinitions),registerDeclarativeService(a137_0x38748f(0xa7),issueDefinitions),registerDeclarativeService('Code\x20Generation',codegenDefinitions),registerDeclarativeService('Configuration',configDefinitions),registerDeclarativeService('Diagnostics',[doctorDefinition],{'isSingleCommand':!![]}),registerDeclarativeService('Schema',[schemaDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a137_0x38748f(0xb3),[updateDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a137_0x38748f(0x93),cliSkillDefinitions,{'defaultCommand':a137_0x38748f(0x7e)}),registerDeclarativeService(a137_0x38748f(0x86),logsDefinitions,{'defaultCommand':'show'}),registerDeclarativeService(a137_0x38748f(0x84),[runDefinition],{'wildcardDef':runDefinition});{const last=serviceRegistry[serviceRegistry['length']-0x1];last[a137_0x38748f(0xaa)]=[{'command':'<script>','description':a137_0x38748f(0x81),'tag':''}];}export const deprecatedAliases={'create':{'service':a137_0x38748f(0x8e),'command':a137_0x38748f(0x9d)},'start':{'service':a137_0x38748f(0xb8),'command':a137_0x38748f(0x7f)},'build':{'service':a137_0x38748f(0xb8),'command':a137_0x38748f(0x7a)},'preview':{'service':a137_0x38748f(0xb8),'command':a137_0x38748f(0xa0)},'logout':{'service':'auth','command':a137_0x38748f(0x83)}};const CLI_SKILL_INSTALL_REMOVED_HINT=a137_0x38748f(0x89),APP_REMOTE_REMOVED_HINT=a137_0x38748f(0xb1),APP_USE_REMOVED_HINT=a137_0x38748f(0x8c);export function resolveRemovedCommand(_0x1e291a,_0x4b431c){const _0x1a803f=a137_0x38748f;if(_0x1e291a===_0x1a803f(0x99)){const _0x260c38=_0x4b431c?_0x1a803f(0x95)+_0x4b431c:_0x1a803f(0x99);return{'command':_0x260c38,'message':_0x1a803f(0xa3)+_0x260c38+_0x1a803f(0xa5),'hint':CLI_SKILL_INSTALL_REMOVED_HINT};}if(_0x1e291a===_0x1a803f(0xaf))return{'command':_0x1a803f(0xaf),'message':'`rabetbase\x20skills`\x20has\x20been\x20removed.','hint':CLI_SKILL_INSTALL_REMOVED_HINT};if(_0x1e291a==='app'&&_0x4b431c===_0x1a803f(0x78))return{'command':_0x1a803f(0xa8),'message':_0x1a803f(0xa2),'hint':APP_REMOTE_REMOVED_HINT};if(_0x1e291a===_0x1a803f(0x7d)&&_0x4b431c===_0x1a803f(0xb0))return{'command':_0x1a803f(0xa1),'message':_0x1a803f(0xa6),'hint':APP_USE_REMOVED_HINT};return undefined;}export const deprecatedSubcommands={'bff':{'new':a137_0x38748f(0x9d)},'sql':{'new':a137_0x38748f(0x9d)}};export function resolveDeprecatedSubcommand(_0x3af839,_0x509cda){return deprecatedSubcommands[_0x3af839]?.[_0x509cda];}function a137_0x472e(){const _0x189bec=['Logs','32xvpmcl','App\x20Management','Use\x20`rabetbase\x20cli-skill\x20install`\x20to\x20refresh\x20the\x20Rabetbase\x20CLI\x20Built-in\x20Skill.\x20To\x20install\x20business\x20Skills,\x20use\x20`lovrabet\x20skill\x20install`.','SQL\x20Queries','wildcardDef','Use\x20`rabetbase\x20workspace\x20use\x20--app\x20<name>`\x20instead.','description','project','hidden','Database\x20Connections','get','14NupRHU','CLI\x20Built-in\x20Skill','170IgfISm','skill\x20','1678656dZfsGC','set','Permissions','skill','6058481yFsPzj','104110lLYkUK','filter','create','\x20\x20[high-risk-write]','from','preview','app\x20use','`rabetbase\x20app\x20remote`\x20has\x20been\x20removed.','`rabetbase\x20','Quick\x20Start','`\x20has\x20been\x20removed.','`rabetbase\x20app\x20use`\x20has\x20been\x20removed.','Platform\x20Issue','app\x20remote','push','commands','354620eQoVjC','has','Workspace','423DGeozf','skills','use','Use\x20`rabetbase\x20app\x20list\x20--remote`\x20instead.','6127LkagpL','Self\x20Update','Instant\x20API','443512vTHKEj','risk','API\x20Development','run','378954ZwcmGq','service','write','remote','isSingleCommand','build','login','values','app','install','start','command','Run\x20any\x20package.json\x20script','Runtime\x20App\x20Config\x20Management','logout','Run\x20Scripts','defaultCommand'];a137_0x472e=function(){return _0x189bec;};return a137_0x472e();}export function findDefinition(_0x30792b,_0x2fec08){const _0x20ea95=a137_0x38748f;return definitions[_0x20ea95(0x91)](_0x30792b+':'+_0x2fec08);}export function isKnownService(_0x381c35){const _0x187381=a137_0x38748f;return serviceByName[_0x187381(0xac)](_0x381c35);}export function isDeclarativeService(_0x43ee06){const _0x1ca742=a137_0x38748f;return serviceGroups[_0x1ca742(0xac)](_0x43ee06)||serviceByName[_0x1ca742(0x91)](_0x43ee06)?.['wildcardDef']!==undefined;}export function getServiceEntry(_0x4d560e){const _0x22c89a=a137_0x38748f;return serviceByName[_0x22c89a(0x91)](_0x4d560e);}export function getLegacyHandler(_0x497472,_0x245d79){return undefined;}export function getAllDefinitions(){const _0x1abd80=a137_0x38748f;return Array[_0x1abd80(0x9f)](definitions[_0x1abd80(0x7c)]());}
@@ -0,0 +1 @@
1
+ const a138_0x172531=a138_0x3743;function a138_0x3743(_0x4c63bb,_0x45db7b){_0x4c63bb=_0x4c63bb-0x1e3;const _0x2c8a7f=a138_0x2c8a();let _0x374319=_0x2c8a7f[_0x4c63bb];return _0x374319;}(function(_0xc8b7c4,_0x26ea04){const _0x396d9d=a138_0x3743,_0x1292b0=_0xc8b7c4();while(!![]){try{const _0x27a3dd=parseInt(_0x396d9d(0x1ec))/0x1+-parseInt(_0x396d9d(0x1ef))/0x2*(parseInt(_0x396d9d(0x1f0))/0x3)+parseInt(_0x396d9d(0x1f8))/0x4*(parseInt(_0x396d9d(0x1f6))/0x5)+-parseInt(_0x396d9d(0x1f5))/0x6*(-parseInt(_0x396d9d(0x1e9))/0x7)+-parseInt(_0x396d9d(0x1e6))/0x8*(-parseInt(_0x396d9d(0x1e7))/0x9)+-parseInt(_0x396d9d(0x1fa))/0xa*(parseInt(_0x396d9d(0x1f1))/0xb)+-parseInt(_0x396d9d(0x1e4))/0xc;if(_0x27a3dd===_0x26ea04)break;else _0x1292b0['push'](_0x1292b0['shift']());}catch(_0x3dfd85){_0x1292b0['push'](_0x1292b0['shift']());}}}(a138_0x2c8a,0xb96dc));import{createAppRole}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{NAME_FLAG,REMARK_FLAG,projectRole}from'../../commands/role/shared.js';const CREATE_PATH='/smartapi/permit/role/create';function readName(_0x4e91f6){const _0x2630be=a138_0x3743,_0x1d7d8d=_0x4e91f6[_0x2630be(0x1f7)]('name')[_0x2630be(0x1ee)]();if(!_0x1d7d8d)throw CliErrors[_0x2630be(0x1ea)]('name',_0x2630be(0x1eb));if(_0x1d7d8d[_0x2630be(0x1f2)]>0x40)throw CliErrors['validation']('Role\x20name\x20cannot\x20exceed\x2064\x20characters.');return _0x1d7d8d;}function a138_0x2c8a(){const _0x1c318e=['appCode','8159610XOtBVA','5HJdkvo','str','4475468pPPvsF','remark','10oplZeV','POST','34039932KmqGpb','Create\x20a\x20CUSTOM\x20user\x20group\x20(role)','24rOTZMC','2305683iBPmsw','roleName','7oKRqcl','flagMissing','Pass\x20--name\x20<roleName>.','1407784fFMPjJ','create','trim','2gJWazK','1390506cRPmJy','6550148MiyPdM','length','role'];a138_0x2c8a=function(){return _0x1c318e;};return a138_0x2c8a();}export const roleCreate={'service':a138_0x172531(0x1f3),'command':a138_0x172531(0x1ed),'description':a138_0x172531(0x1e5),'risk':'write','flags':[NAME_FLAG,REMARK_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x22b4fb){readName(_0x22b4fb);},async 'dryRun'(_0x22064b){const _0x808744=a138_0x172531,_0x478944=readName(_0x22064b),_0x893c2c=_0x22064b[_0x808744(0x1f7)]('remark')[_0x808744(0x1ee)]()||undefined;return asDryRunResult({'operation':_0x808744(0x1ed),'selector':{'appCode':_0x22064b[_0x808744(0x1f4)],'roleName':_0x478944},'before':null,'after':{'roleName':_0x478944,'roleType':'CUSTOM','remark':_0x893c2c},'dryRun':!![],'backend':{'method':'POST','path':CREATE_PATH},'warnings':[]},{'method':_0x808744(0x1e3),'url':CREATE_PATH});},async 'execute'(_0x3f3801){const _0x5d8bc9=a138_0x172531,_0x18bf6a=readName(_0x3f3801),_0x39cfc9=_0x3f3801['str'](_0x5d8bc9(0x1f9))[_0x5d8bc9(0x1ee)]()||undefined,_0x401de3=await createAppRole({'appCode':_0x3f3801[_0x5d8bc9(0x1f4)],'roleName':_0x18bf6a,..._0x39cfc9?{'remark':_0x39cfc9}:{}});return{'ok':!![],'data':{'operation':'create','selector':{'appCode':_0x3f3801[_0x5d8bc9(0x1f4)],'roleId':_0x401de3['id'],'roleName':_0x18bf6a},'before':null,'after':projectRole(_0x401de3),'dryRun':![],'backend':{'method':_0x5d8bc9(0x1e3),'path':CREATE_PATH},'warnings':[]},'message':'Created\x20role\x20'+_0x401de3[_0x5d8bc9(0x1e8)]+'\x20(id='+_0x401de3['id']+')'};}};
@@ -0,0 +1 @@
1
+ const a139_0x3c28f5=a139_0xea33;(function(_0x14693c,_0xe35f3e){const _0x49a769=a139_0xea33,_0x30e6c2=_0x14693c();while(!![]){try{const _0x127aab=parseInt(_0x49a769(0xa3))/0x1*(-parseInt(_0x49a769(0x9b))/0x2)+-parseInt(_0x49a769(0x94))/0x3+-parseInt(_0x49a769(0x9d))/0x4+-parseInt(_0x49a769(0xa4))/0x5*(-parseInt(_0x49a769(0x9c))/0x6)+-parseInt(_0x49a769(0x95))/0x7+parseInt(_0x49a769(0x9f))/0x8+parseInt(_0x49a769(0x99))/0x9;if(_0x127aab===_0xe35f3e)break;else _0x30e6c2['push'](_0x30e6c2['shift']());}catch(_0x47d093){_0x30e6c2['push'](_0x30e6c2['shift']());}}}(a139_0x2ab9,0xcd7c6));function a139_0xea33(_0x40bf8b,_0x436673){_0x40bf8b=_0x40bf8b-0x92;const _0x2ab9ef=a139_0x2ab9();let _0xea337d=_0x2ab9ef[_0x40bf8b];return _0xea337d;}function a139_0x2ab9(){const _0x3c4f90=['Delete\x20a\x20CUSTOM\x20role\x20(DEV/ADMIN\x20rejected);\x20requires\x20--yes','1yUrDJQ','7505705FNMkDp','appCode','POST','num','1496301pkZjYp','3730916VfMDJq','roleName','Role\x20still\x20has\x20','\x20member(s);\x20they\x20will\x20lose\x20this\x20group.','10008162xWUuOu','delete','503578AVLtSi','6gseMcy','3979116yiudXl','userCount','4054672amQslg','Deleted\x20role\x20','high-risk-write'];a139_0x2ab9=function(){return _0x3c4f90;};return a139_0x2ab9();}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':'role','command':a139_0x3c28f5(0x9a),'description':a139_0x3c28f5(0xa2),'risk':a139_0x3c28f5(0xa1),'flags':[ROLE_ID_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x115509){const _0x3e7b5a=a139_0x3c28f5,_0x3dc47a=_0x115509['num']('id'),_0x4e6857=await getRoleById(_0x115509[_0x3e7b5a(0xa5)],_0x3dc47a);return assertCustomRole(_0x4e6857,'delete'),asDryRunResult({'operation':_0x3e7b5a(0x9a),'selector':{'appCode':_0x115509['appCode'],'roleId':_0x3dc47a,'roleName':_0x4e6857[_0x3e7b5a(0x96)]},'before':projectRole(_0x4e6857),'after':null,'dryRun':!![],'backend':{'method':_0x3e7b5a(0x92),'path':DELETE_PATH},'warnings':_0x4e6857[_0x3e7b5a(0x9e)]>0x0?[_0x3e7b5a(0x97)+_0x4e6857['userCount']+_0x3e7b5a(0x98)]:[]},{'method':_0x3e7b5a(0x92),'url':DELETE_PATH});},async 'execute'(_0xfda67e){const _0x10ddef=a139_0x3c28f5,_0xc9b3cd=_0xfda67e[_0x10ddef(0x93)]('id'),_0x1b1c6a=await getRoleById(_0xfda67e[_0x10ddef(0xa5)],_0xc9b3cd);return assertCustomRole(_0x1b1c6a,_0x10ddef(0x9a)),await deleteAppRole(_0xc9b3cd),{'ok':!![],'data':{'operation':'delete','selector':{'appCode':_0xfda67e['appCode'],'roleId':_0xc9b3cd,'roleName':_0x1b1c6a[_0x10ddef(0x96)]},'before':projectRole(_0x1b1c6a),'after':null,'dryRun':![],'backend':{'method':'POST','path':DELETE_PATH},'warnings':[]},'message':_0x10ddef(0xa0)+_0x1b1c6a[_0x10ddef(0x96)]+'\x20(id='+_0xc9b3cd+')'};}};
@@ -0,0 +1 @@
1
+ const a140_0x5981c9=a140_0x2762;(function(_0x2201dd,_0x25812d){const _0x379486=a140_0x2762,_0x4eb952=_0x2201dd();while(!![]){try{const _0x3172e9=-parseInt(_0x379486(0x7e))/0x1+-parseInt(_0x379486(0x7b))/0x2+parseInt(_0x379486(0x7f))/0x3*(-parseInt(_0x379486(0x79))/0x4)+-parseInt(_0x379486(0x81))/0x5+-parseInt(_0x379486(0x85))/0x6*(-parseInt(_0x379486(0x7c))/0x7)+parseInt(_0x379486(0x84))/0x8*(parseInt(_0x379486(0x80))/0x9)+-parseInt(_0x379486(0x88))/0xa*(-parseInt(_0x379486(0x7a))/0xb);if(_0x3172e9===_0x25812d)break;else _0x4eb952['push'](_0x4eb952['shift']());}catch(_0x4fe29e){_0x4eb952['push'](_0x4eb952['shift']());}}}(a140_0x4327,0x2bed1));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a140_0x2762(_0x3e6d57,_0xd63879){_0x3e6d57=_0x3e6d57-0x79;const _0x43279b=a140_0x4327();let _0x2762c1=_0x43279b[_0x3e6d57];return _0x2762c1;}import{getRoleById,projectRole,ROLE_ID_FLAG}from'../../commands/role/shared.js';export const roleDetail={'service':a140_0x5981c9(0x7d),'command':a140_0x5981c9(0x82),'description':a140_0x5981c9(0x89),'risk':a140_0x5981c9(0x8a),'flags':[ROLE_ID_FLAG,APPCODE_FLAG_OPTIONAL],async 'execute'(_0x42543a){const _0xb91d9d=a140_0x5981c9,_0x1973c4=_0x42543a[_0xb91d9d(0x87)]('id'),_0x20baea=await getRoleById(_0x42543a[_0xb91d9d(0x83)],_0x1973c4);return{'ok':!![],'data':{'role':projectRole(_0x20baea)},'message':'Role\x20'+_0x20baea['roleName']+'\x20('+_0x20baea[_0xb91d9d(0x86)]+')'};}};function a140_0x4327(){const _0x59f1c1=['356210zlribg','14084ZxVIAC','role','132864TQCVfu','335109RUwBia','63czKKyZ','651925qZBCQG','detail','appCode','197488udJwih','1056Bxnhan','roleType','num','670uVthBG','Show\x20a\x20single\x20role\x27s\x20detail','read','12dnatlb','70510NPNKoX'];a140_0x4327=function(){return _0x59f1c1;};return a140_0x4327();}
@@ -0,0 +1 @@
1
+ (function(_0xfd883,_0x5d891c){const _0x42fd5b=a141_0x4d64,_0x3de24c=_0xfd883();while(!![]){try{const _0x36c977=-parseInt(_0x42fd5b(0x85))/0x1+-parseInt(_0x42fd5b(0x86))/0x2*(-parseInt(_0x42fd5b(0x8a))/0x3)+parseInt(_0x42fd5b(0x84))/0x4+-parseInt(_0x42fd5b(0x88))/0x5+parseInt(_0x42fd5b(0x8d))/0x6*(-parseInt(_0x42fd5b(0x8c))/0x7)+-parseInt(_0x42fd5b(0x87))/0x8+parseInt(_0x42fd5b(0x89))/0x9*(parseInt(_0x42fd5b(0x8b))/0xa);if(_0x36c977===_0x5d891c)break;else _0x3de24c['push'](_0x3de24c['shift']());}catch(_0x2287cc){_0x3de24c['push'](_0x3de24c['shift']());}}}(a141_0xceef,0xb9183));import{roleList}from'../../commands/role/list.js';import{roleDetail}from'../../commands/role/detail.js';function a141_0x4d64(_0xc38797,_0x49f04d){_0xc38797=_0xc38797-0x84;const _0xceef1=a141_0xceef();let _0x4d6431=_0xceef1[_0xc38797];return _0x4d6431;}import{roleCreate}from'../../commands/role/create.js';import{roleUpdate}from'../../commands/role/update.js';import{roleDelete}from'../../commands/role/delete.js';import{roleUserResolve}from'../../commands/role/user-resolve.js';import{roleUserAdd}from'../../commands/role/user-add.js';function a141_0xceef(){const _0xd13716=['278472JTtaug','1395352VNcWYA','839370bfCozt','4RHUrbO','11809448GrFWYJ','5309560TawDfh','9ukxvQX','277050bEdkLD','38341320iqFUSo','35GYzdCn'];a141_0xceef=function(){return _0xd13716;};return a141_0xceef();}import{roleUserRemove}from'../../commands/role/user-remove.js';export const roleDefinitions=[roleList,roleDetail,roleCreate,roleUpdate,roleDelete,roleUserResolve,roleUserAdd,roleUserRemove];
@@ -0,0 +1 @@
1
+ const a142_0x5db59a=a142_0x32e8;(function(_0x1c3976,_0x3af28a){const _0x422f2f=a142_0x32e8,_0x3ea127=_0x1c3976();while(!![]){try{const _0xb48c30=-parseInt(_0x422f2f(0x1a7))/0x1+parseInt(_0x422f2f(0x1b5))/0x2*(parseInt(_0x422f2f(0x1ad))/0x3)+parseInt(_0x422f2f(0x1bb))/0x4*(-parseInt(_0x422f2f(0x1bf))/0x5)+parseInt(_0x422f2f(0x1a5))/0x6*(-parseInt(_0x422f2f(0x1a0))/0x7)+parseInt(_0x422f2f(0x1ba))/0x8*(-parseInt(_0x422f2f(0x1ae))/0x9)+-parseInt(_0x422f2f(0x1b4))/0xa+parseInt(_0x422f2f(0x1a9))/0xb;if(_0xb48c30===_0x3af28a)break;else _0x3ea127['push'](_0x3ea127['shift']());}catch(_0x23a4a9){_0x3ea127['push'](_0x3ea127['shift']());}}}(a142_0x1594,0x21217));function a142_0x32e8(_0x24d08e,_0x1e4da1){_0x24d08e=_0x24d08e-0x19e;const _0x159438=a142_0x1594();let _0x32e812=_0x159438[_0x24d08e];return _0x32e812;}import{listAppRoles}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{projectRole}from'../../commands/role/shared.js';function a142_0x1594(){const _0xcd5cdf=['302482RQBMBc','trim','str','Invalid\x20--type\x20\x22','Page\x20index\x20(1-based)','109784LGCIkD','4WMKHXG','role','number','num','522615FqnbRT','CUSTOM','--page\x20must\x20be\x20greater\x20than\x20or\x20equal\x20to\x201.','toUpperCase','string','DEV','7wqZnTX','Filter\x20by\x20role\x20type','Use\x20one\x20of:\x20','\x20role(s)','page','1361256VLoXej','validation','102288tXgQnI','includes','7857696nIUQZL','roleType','ADMIN','type','3galkvM','63xDQZBW','filter','read','length','--pagesize\x20must\x20be\x20between\x201\x20and\x20100.','List\x20user\x20groups\x20(roles)\x20for\x20the\x20current\x20app','2001260ysrMaU'];a142_0x1594=function(){return _0xcd5cdf;};return a142_0x1594();}const ROLE_TYPES=[a142_0x5db59a(0x1ab),a142_0x5db59a(0x19f),'USER',a142_0x5db59a(0x1c0)];export const roleList={'service':a142_0x5db59a(0x1bc),'command':'list','description':a142_0x5db59a(0x1b3),'risk':a142_0x5db59a(0x1b0),'flags':[APPCODE_FLAG_OPTIONAL,{'name':'type','type':a142_0x5db59a(0x19e),'required':![],'description':a142_0x5db59a(0x1a1),'enum':ROLE_TYPES},{'name':'page','type':a142_0x5db59a(0x1bd),'description':a142_0x5db59a(0x1b9),'default':0x1},{'name':'pagesize','type':a142_0x5db59a(0x1bd),'description':'Page\x20size\x20(1-100)','default':0x64}],async 'validate'(_0x48d772){const _0x558d48=a142_0x5db59a,_0x37419d=_0x48d772['str'](_0x558d48(0x1ac))['trim']();if(_0x37419d&&!ROLE_TYPES[_0x558d48(0x1a8)](_0x37419d['toUpperCase']()))throw CliErrors[_0x558d48(0x1a6)](_0x558d48(0x1b8)+_0x37419d+'\x22.',_0x558d48(0x1a2)+ROLE_TYPES['join'](',\x20')+'.');const _0x148522=_0x48d772[_0x558d48(0x1be)](_0x558d48(0x1a4),0x1),_0x513ccb=_0x48d772[_0x558d48(0x1be)]('pagesize',0x64);if(_0x148522<0x1)throw CliErrors['validation'](_0x558d48(0x1c1));if(_0x513ccb<0x1||_0x513ccb>0x64)throw CliErrors['validation'](_0x558d48(0x1b2));},async 'execute'(_0x26648e){const _0x32cc39=a142_0x5db59a,_0x378927=_0x26648e[_0x32cc39(0x1be)](_0x32cc39(0x1a4),0x1)||0x1,_0x54f861=_0x26648e[_0x32cc39(0x1be)]('pagesize',0x64)||0x64,_0x401938=_0x26648e[_0x32cc39(0x1b7)](_0x32cc39(0x1ac))[_0x32cc39(0x1b6)]()[_0x32cc39(0x1c2)](),{items:_0x2c93ea,paging:_0x1dc617}=await listAppRoles(_0x26648e['appCode'],{'currentPage':_0x378927,'pageSize':_0x54f861}),_0x133fe8=_0x401938?_0x2c93ea[_0x32cc39(0x1af)](_0x3fdfa1=>_0x3fdfa1[_0x32cc39(0x1aa)]===_0x401938):_0x2c93ea,_0x55511c=_0x133fe8['map'](projectRole);return{'ok':!![],'data':{'roles':_0x55511c,'paging':_0x1dc617},'message':'Found\x20'+_0x55511c[_0x32cc39(0x1b1)]+_0x32cc39(0x1a3)};}};
@@ -0,0 +1 @@
1
+ const a143_0x3f82b4=a143_0x5ae1;function a143_0x38cf(){const _0x829ab1=['tenant_code','55zAaquc','validation','Re-run\x20`role\x20detail`\x20/\x20`role\x20list`\x20and\x20retry\x20with\x20the\x20current\x20count.','\x20not\x20found\x20in\x20app\x20','Only\x20CUSTOM\x20roles\x20can\x20be\x20modified\x20or\x20deleted.','Nickname\x20or\x20username\x20to\x20resolve\x20to\x20a\x20userId','string','roleName','userCount','\x22:\x20','107792NOqVTm','name','userId','push','appCode','authRequired','Multiple\x20tenant\x20members\x20match\x20\x22','remark','userList','splice','toLowerCase','flagMissing','Disambiguate\x20with\x20--user\x20<id>.','Pass\x20--user\x20<id|name>.','Cannot\x20','username','user-add','trim','371FxJwDQ','Optional\x20role\x20remark/description','28092CxsWyZ','nickname','role','DEV','ADMIN','filter','roleType','totalCount','str','76680ScnSdg','expectUserCount','Missing\x20user\x20reference.','904278pLacac','610kWiXWR','length','POST','CUSTOM','user','Cannot\x20change\x20the\x20permission\x20matrix\x20of\x20built-in\x20role\x20','Pass\x20--role\x20<id|name>.','138235dqdXco','test','Missing\x20role\x20reference.','includes','Anti-drift\x20check\x20failed:\x20expected\x20','\x20is\x20already\x20a\x20member\x20of\x20role\x20','number','tenant','4xOBSrT','find','Role\x20name\x20\x22','DEV\x20/\x20ADMIN\x20keep\x20full\x20access\x20by\x20design;\x20configure\x20a\x20CUSTOM\x20role\x20instead.','dryRun','join','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles.','Role\x20id\x20','Role\x20name','2141532DPJvqB',';\x20no\x20change.','Role\x20id\x20or\x20role\x20name\x20(CUSTOM\x20roles\x20may\x20be\x20referenced\x20by\x20name)','199140lSSYVX','Cannot\x20resolve\x20current\x20tenant.\x20Run\x20`rabetbase\x20auth\x20login`\x20first.','map','expect-user-count','Role\x20id\x20(from\x20`role\x20list`)','User\x20'];a143_0x38cf=function(){return _0x829ab1;};return a143_0x38cf();}(function(_0x23b12b,_0x199274){const _0x42195b=a143_0x5ae1,_0x24f29a=_0x23b12b();while(!![]){try{const _0x578812=parseInt(_0x42195b(0x147))/0x1+-parseInt(_0x42195b(0x14f))/0x2*(-parseInt(_0x42195b(0x13f))/0x3)+parseInt(_0x42195b(0x10e))/0x4+parseInt(_0x42195b(0x140))/0x5*(parseInt(_0x42195b(0x133))/0x6)+parseInt(_0x42195b(0x131))/0x7*(-parseInt(_0x42195b(0x11f))/0x8)+-parseInt(_0x42195b(0x10b))/0x9+-parseInt(_0x42195b(0x13c))/0xa*(parseInt(_0x42195b(0x115))/0xb);if(_0x578812===_0x199274)break;else _0x24f29a['push'](_0x24f29a['shift']());}catch(_0x30f0d6){_0x24f29a['push'](_0x24f29a['shift']());}}}(a143_0x38cf,0x5abd2));function a143_0x5ae1(_0x416ac7,_0x283f34){_0x416ac7=_0x416ac7-0x10b;const _0x38cf27=a143_0x38cf();let _0x5ae16b=_0x38cf27[_0x416ac7];return _0x5ae16b;}import{getAppRole,getTenantMembers,listAppRoles,listRoleUsers}from'../../core/api-client.js';import{getSessionUserInfo}from'../../auth/get-session-user.js';import{CliErrors}from'../../errors.js';export const ROLE_ID_FLAG={'name':'id','type':a143_0x3f82b4(0x14d),'required':!![],'description':a143_0x3f82b4(0x112)};export const ROLE_REF_FLAG={'name':a143_0x3f82b4(0x135),'type':a143_0x3f82b4(0x11b),'required':!![],'description':a143_0x3f82b4(0x10d)};export const USER_REF_FLAG={'name':a143_0x3f82b4(0x144),'type':a143_0x3f82b4(0x11b),'required':!![],'description':'User\x20id,\x20username,\x20or\x20nickname\x20to\x20resolve\x20to\x20a\x20userId'};export const NAME_FLAG={'name':a143_0x3f82b4(0x120),'type':a143_0x3f82b4(0x11b),'required':!![],'description':a143_0x3f82b4(0x157)};export const USER_NAME_FLAG={'name':a143_0x3f82b4(0x120),'type':a143_0x3f82b4(0x11b),'required':!![],'description':a143_0x3f82b4(0x11a)};export const REMARK_FLAG={'name':a143_0x3f82b4(0x126),'type':a143_0x3f82b4(0x11b),'required':![],'description':a143_0x3f82b4(0x132)};export const EXPECT_USER_COUNT_FLAG={'name':'expect-user-count','type':a143_0x3f82b4(0x14d),'required':![],'description':'Anti-drift\x20guard:\x20fail\x20if\x20the\x20role\x27s\x20current\x20member\x20count\x20differs'};export const BUILTIN_ROLE_TYPES=[a143_0x3f82b4(0x137),a143_0x3f82b4(0x136),'USER'];export function isBuiltinRole(_0x2a2f89){return BUILTIN_ROLE_TYPES['includes'](_0x2a2f89);}export function assertCustomRole(_0x18afff,_0x312d29){const _0x5d9946=a143_0x3f82b4;if(_0x18afff[_0x5d9946(0x139)]!==_0x5d9946(0x143))throw CliErrors[_0x5d9946(0x116)](_0x5d9946(0x12d)+_0x312d29+'\x20built-in\x20role\x20'+_0x18afff[_0x5d9946(0x11c)]+'\x20('+_0x18afff[_0x5d9946(0x139)]+').',_0x5d9946(0x119));}export function assertPermConfigurable(_0x7be575){const _0x1eeed8=a143_0x3f82b4;if(_0x7be575[_0x1eeed8(0x139)]===_0x1eeed8(0x136)||_0x7be575[_0x1eeed8(0x139)]===_0x1eeed8(0x137))throw CliErrors[_0x1eeed8(0x116)](_0x1eeed8(0x145)+_0x7be575[_0x1eeed8(0x11c)]+'\x20('+_0x7be575[_0x1eeed8(0x139)]+').',_0x1eeed8(0x152));}export function projectRole(_0x4592dc){const _0x201407=a143_0x3f82b4;return{'id':_0x4592dc['id'],'roleName':_0x4592dc[_0x201407(0x11c)],'roleType':_0x4592dc[_0x201407(0x139)],'remark':_0x4592dc[_0x201407(0x126)],'userCount':_0x4592dc[_0x201407(0x11d)],'permitCount':_0x4592dc['permitCount'],'builtin':isBuiltinRole(_0x4592dc[_0x201407(0x139)])};}export async function resolveRoleRef(_0x59fa4b,_0x3161c9){const _0x1dce8e=a143_0x3f82b4,_0x1164bd=_0x3161c9[_0x1dce8e(0x130)]();if(!_0x1164bd)throw CliErrors[_0x1dce8e(0x116)](_0x1dce8e(0x149),_0x1dce8e(0x146));if(/^\d+$/[_0x1dce8e(0x148)](_0x1164bd))return getRoleById(_0x59fa4b,Number(_0x1164bd));const _0xb8ec19=await listAllAppRoles(_0x59fa4b),_0x2257c7=_0xb8ec19[_0x1dce8e(0x138)](_0x524183=>_0x524183[_0x1dce8e(0x11c)]===_0x1164bd);if(_0x2257c7[_0x1dce8e(0x141)]===0x0)throw CliErrors['validation']('Role\x20name\x20\x22'+_0x1164bd+'\x22\x20not\x20found\x20in\x20app\x20'+_0x59fa4b+'.','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles,\x20or\x20pass\x20--role\x20<id>.');if(_0x2257c7[_0x1dce8e(0x141)]>0x1){const _0x36fd92=_0x2257c7[_0x1dce8e(0x110)](_0x37732e=>_0x37732e['id'])[_0x1dce8e(0x154)](',\x20');throw CliErrors[_0x1dce8e(0x116)](_0x1dce8e(0x151)+_0x1164bd+'\x22\x20is\x20ambiguous\x20(ids:\x20'+_0x36fd92+').','Disambiguate\x20with\x20--role\x20<id>.');}return _0x2257c7[0x0];}export async function getRoleById(_0x35a1ca,_0x3261b4){const _0x3c1744=a143_0x3f82b4,_0x156c99=await getAppRole(_0x3261b4);if(!_0x156c99)throw CliErrors[_0x3c1744(0x116)](_0x3c1744(0x156)+_0x3261b4+_0x3c1744(0x118)+_0x35a1ca+'.','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles.');return _0x156c99;}async function listAllAppRoles(_0xbb69fd){const _0x24857c=a143_0x3f82b4,_0x10cbe5=0x64,_0x1545ed=[];for(let _0x1fdaae=0x1;;_0x1fdaae+=0x1){const {items:_0x41ce32,paging:_0x48eda8}=await listAppRoles(_0xbb69fd,{'currentPage':_0x1fdaae,'pageSize':_0x10cbe5});_0x1545ed[_0x24857c(0x122)](..._0x41ce32);if(_0x41ce32[_0x24857c(0x141)]<_0x10cbe5||_0x48eda8&&_0x1545ed['length']>=_0x48eda8[_0x24857c(0x13a)])return _0x1545ed;}}export async function resolveTenantCode(){const _0x394e65=a143_0x3f82b4,_0x1b6312=await getSessionUserInfo(),_0x48e184=_0x1b6312?.['user']?.[_0x394e65(0x14e)]?.[_0x394e65(0x114)];if(!_0x48e184)throw CliErrors[_0x394e65(0x124)](_0x394e65(0x10f));return _0x48e184;}function matchMember(_0x10f849,_0x4ba624){const _0x502752=a143_0x3f82b4,_0x15daea=_0x4ba624[_0x502752(0x130)]()[_0x502752(0x129)]();return(_0x10f849[_0x502752(0x134)]??'')[_0x502752(0x129)]()===_0x15daea||(_0x10f849[_0x502752(0x12e)]??'')[_0x502752(0x129)]()===_0x15daea;}export async function resolveUserRef(_0x1fb038){const _0x258a8c=a143_0x3f82b4,_0x3cbdfe=_0x1fb038[_0x258a8c(0x130)]();if(!_0x3cbdfe)throw CliErrors[_0x258a8c(0x116)](_0x258a8c(0x13e),_0x258a8c(0x12c));const _0x50f95e=await resolveTenantCode(),_0x370b5d=await getTenantMembers(_0x50f95e);if(/^\d+$/[_0x258a8c(0x148)](_0x3cbdfe)){const _0x5dd8c5=Number(_0x3cbdfe),_0x25f6df=_0x370b5d[_0x258a8c(0x150)](_0x20e3fc=>_0x20e3fc[_0x258a8c(0x121)]===_0x5dd8c5);return{'userId':_0x5dd8c5,'username':_0x25f6df?.[_0x258a8c(0x12e)]??String(_0x5dd8c5),'nickname':_0x25f6df?.['nickname'],'matchedBy':'id'};}const _0xcda70b=_0x370b5d[_0x258a8c(0x138)](_0x44e5b8=>matchMember(_0x44e5b8,_0x3cbdfe));if(_0xcda70b[_0x258a8c(0x141)]===0x0)throw CliErrors[_0x258a8c(0x116)]('No\x20tenant\x20member\x20matches\x20\x22'+_0x3cbdfe+'\x22.','Check\x20the\x20nickname/username,\x20or\x20pass\x20--user\x20<id>.');if(_0xcda70b['length']>0x1){const _0x44fafa=_0xcda70b[_0x258a8c(0x110)](_0x431e42=>(_0x431e42[_0x258a8c(0x134)]??_0x431e42[_0x258a8c(0x12e)]??'?')+'('+_0x431e42[_0x258a8c(0x121)]+')')[_0x258a8c(0x154)](',\x20');throw CliErrors[_0x258a8c(0x116)](_0x258a8c(0x125)+_0x3cbdfe+_0x258a8c(0x11e)+_0x44fafa+'.',_0x258a8c(0x12b));}const _0x3f0848=_0xcda70b[0x0];return{'userId':_0x3f0848['userId'],'username':_0x3f0848['username']??String(_0x3f0848[_0x258a8c(0x121)]),'nickname':_0x3f0848[_0x258a8c(0x134)],'matchedBy':_0x258a8c(0x120)};}export const UPDATE_USER_LIST_PATH='/smartapi/permit/user-role/update-user-list';function userIdsOf(_0x560ac5){const _0x35b36a=a143_0x3f82b4;return(_0x560ac5?.[_0x35b36a(0x127)]??[])['map'](_0x5a172f=>_0x5a172f[_0x35b36a(0x121)]);}export function computeRoleUserMutation(_0xb58aeb){const _0x190d5d=a143_0x3f82b4,{operation:_0x49206a,appCode:_0x82395c,roleUsers:_0x4facbd,targetRoleId:_0x28a350,user:_0x4bc07f}=_0xb58aeb,_0xfc82d7=_0x4facbd[_0x190d5d(0x150)](_0x1108c2=>_0x1108c2['id']===_0x28a350);if(!_0xfc82d7)throw CliErrors['validation'](_0x190d5d(0x156)+_0x28a350+'\x20not\x20found\x20in\x20the\x20user-role\x20list.',_0x190d5d(0x155));const _0x114135=userIdsOf(_0xfc82d7),_0x46ca6a=[];if(_0xb58aeb[_0x190d5d(0x13d)]!==undefined&&_0xb58aeb[_0x190d5d(0x13d)]!==_0x114135[_0x190d5d(0x141)])throw CliErrors[_0x190d5d(0x116)](_0x190d5d(0x14b)+_0xb58aeb[_0x190d5d(0x13d)]+'\x20member(s)\x20but\x20role\x20has\x20'+_0x114135[_0x190d5d(0x141)]+'.',_0x190d5d(0x117));const _0x221d9e=_0x114135[_0x190d5d(0x14a)](_0x4bc07f['userId']);let _0x377b40=![];const _0x503773=[..._0xfc82d7[_0x190d5d(0x127)]];if(_0x49206a===_0x190d5d(0x12f))_0x221d9e?_0x46ca6a[_0x190d5d(0x122)]('User\x20'+_0x4bc07f[_0x190d5d(0x121)]+_0x190d5d(0x14c)+_0xfc82d7[_0x190d5d(0x11c)]+_0x190d5d(0x10c)):(_0x503773[_0x190d5d(0x122)]({'userId':_0x4bc07f['userId'],'username':_0x4bc07f['username'],..._0x4bc07f['nickname']?{'nickname':_0x4bc07f[_0x190d5d(0x134)]}:{}}),_0x377b40=!![]);else{if(!_0x221d9e)_0x46ca6a['push'](_0x190d5d(0x113)+_0x4bc07f[_0x190d5d(0x121)]+'\x20is\x20not\x20a\x20member\x20of\x20role\x20'+_0xfc82d7[_0x190d5d(0x11c)]+_0x190d5d(0x10c));else{const _0x5d91f9=_0x503773['findIndex'](_0xeb9d0c=>_0xeb9d0c[_0x190d5d(0x121)]===_0x4bc07f[_0x190d5d(0x121)]);if(_0x5d91f9>=0x0)_0x503773[_0x190d5d(0x128)](_0x5d91f9,0x1);_0x377b40=!![];}}const _0x78b78=_0x4facbd[_0x190d5d(0x110)](_0x2ac738=>_0x2ac738['id']===_0x28a350?{..._0x2ac738,'userList':_0x503773}:_0x2ac738),_0x10cd80=_0x503773[_0x190d5d(0x110)](_0x241066=>_0x241066[_0x190d5d(0x121)]),_0x1d4122={'operation':_0x49206a,'selector':{'appCode':_0x82395c,'roleId':_0x28a350,'roleName':_0xfc82d7[_0x190d5d(0x11c)],'userId':_0x4bc07f[_0x190d5d(0x121)]},'before':{'userIds':_0x114135},'after':{'userIds':_0x10cd80},'dryRun':_0xb58aeb[_0x190d5d(0x153)],'backend':{'method':_0x190d5d(0x142),'path':UPDATE_USER_LIST_PATH},'warnings':_0x46ca6a};return{'roleList':_0x78b78,'mutation':_0x1d4122,'changed':_0x377b40};}export async function loadRoleUsers(_0x53c913){return listRoleUsers(_0x53c913);}export function readRoleRef(_0x1e496b){const _0x3ba628=a143_0x3f82b4,_0x446afa=_0x1e496b[_0x3ba628(0x13b)](_0x3ba628(0x135))['trim']();if(!_0x446afa)throw CliErrors[_0x3ba628(0x12a)](_0x3ba628(0x135),_0x3ba628(0x146));return _0x446afa;}export async function prepareUserMutation(_0x42578c,_0x10ee84,_0x4498ea){const _0x2ff5b2=a143_0x3f82b4,_0x514e6b=readRoleRef(_0x42578c),_0x49145d=_0x42578c['str']('user')[_0x2ff5b2(0x130)]();if(!_0x49145d)throw CliErrors[_0x2ff5b2(0x12a)]('user',_0x2ff5b2(0x12c));const _0x318177=_0x42578c['flag'](_0x2ff5b2(0x111)),_0x4866f9=_0x318177===undefined||_0x318177===null?undefined:Number(_0x318177),_0x270066=await resolveRoleRef(_0x42578c[_0x2ff5b2(0x123)],_0x514e6b),_0x4fefe1=await resolveUserRef(_0x49145d),_0x158601=await loadRoleUsers(_0x42578c[_0x2ff5b2(0x123)]);return computeRoleUserMutation({'operation':_0x10ee84,'appCode':_0x42578c[_0x2ff5b2(0x123)],'roleUsers':_0x158601,'targetRoleId':_0x270066['id'],'user':{'userId':_0x4fefe1[_0x2ff5b2(0x121)],'username':_0x4fefe1[_0x2ff5b2(0x12e)],'nickname':_0x4fefe1['nickname']},'dryRun':_0x4498ea,..._0x4866f9!==undefined?{'expectUserCount':_0x4866f9}:{}});}
@@ -0,0 +1 @@
1
+ const a144_0x5d1ff0=a144_0x25fb;(function(_0x55504d,_0x8d1ae6){const _0x3186e4=a144_0x25fb,_0x2f9913=_0x55504d();while(!![]){try{const _0x34188c=parseInt(_0x3186e4(0xcc))/0x1*(parseInt(_0x3186e4(0xb9))/0x2)+parseInt(_0x3186e4(0xcb))/0x3*(-parseInt(_0x3186e4(0xc0))/0x4)+-parseInt(_0x3186e4(0xc3))/0x5*(-parseInt(_0x3186e4(0xd1))/0x6)+-parseInt(_0x3186e4(0xb6))/0x7*(-parseInt(_0x3186e4(0xba))/0x8)+parseInt(_0x3186e4(0xd0))/0x9+parseInt(_0x3186e4(0xb8))/0xa+parseInt(_0x3186e4(0xbf))/0xb*(-parseInt(_0x3186e4(0xbe))/0xc);if(_0x34188c===_0x8d1ae6)break;else _0x2f9913['push'](_0x2f9913['shift']());}catch(_0x2d243b){_0x2f9913['push'](_0x2f9913['shift']());}}}(a144_0x5cb2,0x470cd));import{updateAppRole}from'../../core/api-client.js';function a144_0x5cb2(){const _0x26eb80=['/smartapi/permit/role/update','appCode','POST','num','Role\x20name\x20cannot\x20exceed\x2064\x20characters.','Nothing\x20to\x20update.','Updated\x20role\x20','3OGMpBG','557815OuACYl','roleName','update','remark','103707YwnUiH','1910850sTnFMM','--name\x20cannot\x20be\x20empty.','Pass\x20at\x20least\x20one\x20of\x20--name\x20/\x20--remark.','validation','2517109vVejJg','write','3535630VTFwml','2AysyYb','8FuMhCP','role','\x20(id=','flag','1761816kfJHkp','88UWFLoP','541592JAFNwC','length','name','5URrLmK'];a144_0x5cb2=function(){return _0x26eb80;};return a144_0x5cb2();}function a144_0x25fb(_0x3d4d78,_0x33e486){_0x3d4d78=_0x3d4d78-0xb3;const _0x5cb224=a144_0x5cb2();let _0x25fb75=_0x5cb224[_0x3d4d78];return _0x25fb75;}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=a144_0x5d1ff0(0xc4);function readPatch(_0x3958d4){const _0x3fe531=a144_0x5d1ff0,_0x474a24=_0x3958d4['flag'](_0x3fe531(0xc2)),_0x4b6224=_0x3958d4[_0x3fe531(0xbd)]('remark'),_0xa042ae={};if(_0x474a24!==undefined&&_0x474a24!==null){const _0x16a5b9=String(_0x474a24)['trim']();if(!_0x16a5b9)throw CliErrors[_0x3fe531(0xb5)](_0x3fe531(0xb3));if(_0x16a5b9[_0x3fe531(0xc1)]>0x40)throw CliErrors['validation'](_0x3fe531(0xc8));_0xa042ae[_0x3fe531(0xcd)]=_0x16a5b9;}_0x4b6224!==undefined&&_0x4b6224!==null&&(_0xa042ae[_0x3fe531(0xcf)]=String(_0x4b6224));if(_0xa042ae[_0x3fe531(0xcd)]===undefined&&_0xa042ae[_0x3fe531(0xcf)]===undefined)throw CliErrors[_0x3fe531(0xb5)](_0x3fe531(0xc9),_0x3fe531(0xb4));return _0xa042ae;}export const roleUpdate={'service':a144_0x5d1ff0(0xbb),'command':a144_0x5d1ff0(0xce),'description':'Update\x20a\x20CUSTOM\x20role\x27s\x20name/remark\x20(DEV/ADMIN\x20rejected)','risk':a144_0x5d1ff0(0xb7),'flags':[ROLE_ID_FLAG,{...REMARK_FLAG},{'name':a144_0x5d1ff0(0xc2),'type':'string','required':![],'description':'New\x20role\x20name'},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x8aba31){readPatch(_0x8aba31);},async 'dryRun'(_0x2f07e2){const _0x5a09be=a144_0x5d1ff0,_0x1fd2a6=_0x2f07e2[_0x5a09be(0xc7)]('id'),_0x5ce9d7=readPatch(_0x2f07e2),_0x571da9=await getRoleById(_0x2f07e2[_0x5a09be(0xc5)],_0x1fd2a6);return assertCustomRole(_0x571da9,'update'),asDryRunResult({'operation':_0x5a09be(0xce),'selector':{'appCode':_0x2f07e2[_0x5a09be(0xc5)],'roleId':_0x1fd2a6,'roleName':_0x571da9['roleName']},'before':projectRole(_0x571da9),'after':projectRole({..._0x571da9,..._0x5ce9d7[_0x5a09be(0xcd)]!==undefined?{'roleName':_0x5ce9d7[_0x5a09be(0xcd)]}:{},..._0x5ce9d7[_0x5a09be(0xcf)]!==undefined?{'remark':_0x5ce9d7[_0x5a09be(0xcf)]}:{}}),'dryRun':!![],'backend':{'method':_0x5a09be(0xc6),'path':UPDATE_PATH},'warnings':[]},{'method':_0x5a09be(0xc6),'url':UPDATE_PATH});},async 'execute'(_0x514044){const _0x5b62ba=a144_0x5d1ff0,_0x2b6749=_0x514044['num']('id'),_0x4d7919=readPatch(_0x514044),_0x527c20=await getRoleById(_0x514044['appCode'],_0x2b6749);assertCustomRole(_0x527c20,_0x5b62ba(0xce)),await updateAppRole({'id':_0x2b6749,'appCode':_0x514044[_0x5b62ba(0xc5)],..._0x4d7919['roleName']!==undefined?{'roleName':_0x4d7919['roleName']}:{},..._0x4d7919[_0x5b62ba(0xcf)]!==undefined?{'remark':_0x4d7919[_0x5b62ba(0xcf)]}:{}});const _0xc9d827=await getRoleById(_0x514044['appCode'],_0x2b6749);return{'ok':!![],'data':{'operation':_0x5b62ba(0xce),'selector':{'appCode':_0x514044['appCode'],'roleId':_0x2b6749,'roleName':_0xc9d827[_0x5b62ba(0xcd)]},'before':projectRole(_0x527c20),'after':projectRole(_0xc9d827),'dryRun':![],'backend':{'method':_0x5b62ba(0xc6),'path':UPDATE_PATH},'warnings':[]},'message':_0x5b62ba(0xca)+_0xc9d827[_0x5b62ba(0xcd)]+_0x5b62ba(0xbc)+_0x2b6749+')'};}};
@@ -0,0 +1 @@
1
+ const a145_0x23e15e=a145_0x4ba9;function a145_0x4ba9(_0x10298e,_0xbdd8f9){_0x10298e=_0x10298e-0x141;const _0xf4f5c5=a145_0xf4f5();let _0x4ba948=_0xf4f5c5[_0x10298e];return _0x4ba948;}(function(_0x3f4a4c,_0x241f6c){const _0x3b9b81=a145_0x4ba9,_0x482131=_0x3f4a4c();while(!![]){try{const _0x3deffd=-parseInt(_0x3b9b81(0x14d))/0x1*(parseInt(_0x3b9b81(0x147))/0x2)+-parseInt(_0x3b9b81(0x143))/0x3+parseInt(_0x3b9b81(0x153))/0x4*(-parseInt(_0x3b9b81(0x142))/0x5)+-parseInt(_0x3b9b81(0x14c))/0x6*(parseInt(_0x3b9b81(0x14a))/0x7)+-parseInt(_0x3b9b81(0x154))/0x8+-parseInt(_0x3b9b81(0x152))/0x9+parseInt(_0x3b9b81(0x155))/0xa*(parseInt(_0x3b9b81(0x144))/0xb);if(_0x3deffd===_0x241f6c)break;else _0x482131['push'](_0x482131['shift']());}catch(_0xa52ddc){_0x482131['push'](_0x482131['shift']());}}}(a145_0xf4f5,0xc6a44));import{updateRoleUsers}from'../../core/api-client.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';function a145_0xf4f5(){const _0x157b99=['No\x20change:\x20user\x20','userId','selector','\x20to\x20role\x20','231462iOUpHN','1224708HCBVpI','6563512NYvjxy','1240bCEPeH','user-add','25DgtUWy','871980tBWNNp','427746rTnQgm','\x20already\x20in\x20role\x20','high-risk-write','520mEDFpR','role','roleName','721MCRbQV','appCode','77892qHQKaa','13ZITQML'];a145_0xf4f5=function(){return _0x157b99;};return a145_0xf4f5();}import{EXPECT_USER_COUNT_FLAG,prepareUserMutation,ROLE_REF_FLAG,UPDATE_USER_LIST_PATH,USER_REF_FLAG}from'../../commands/role/shared.js';export const roleUserAdd={'service':a145_0x23e15e(0x148),'command':a145_0x23e15e(0x141),'description':'Add\x20a\x20user\x20to\x20a\x20role\x20(internal\x20merge\x20+\x20anti-drift);\x20requires\x20--yes','risk':a145_0x23e15e(0x146),'flags':[ROLE_REF_FLAG,USER_REF_FLAG,EXPECT_USER_COUNT_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x2723a0){const _0x4d3da2=a145_0x23e15e,{mutation:_0x5f3f1f}=await prepareUserMutation(_0x2723a0,_0x4d3da2(0x141),!![]);return asDryRunResult(_0x5f3f1f,{'method':'POST','url':UPDATE_USER_LIST_PATH});},async 'execute'(_0x1bb520){const _0xdb0dc7=a145_0x23e15e,{roleList:_0x52aca9,mutation:_0x33c521,changed:_0x40afef}=await prepareUserMutation(_0x1bb520,_0xdb0dc7(0x141),![]);return _0x40afef&&await updateRoleUsers(_0x1bb520[_0xdb0dc7(0x14b)],_0x52aca9),{'ok':!![],'data':_0x33c521,'message':_0x40afef?'Added\x20user\x20'+_0x33c521[_0xdb0dc7(0x150)][_0xdb0dc7(0x14f)]+_0xdb0dc7(0x151)+_0x33c521['selector'][_0xdb0dc7(0x149)]:_0xdb0dc7(0x14e)+_0x33c521[_0xdb0dc7(0x150)][_0xdb0dc7(0x14f)]+_0xdb0dc7(0x145)+_0x33c521[_0xdb0dc7(0x150)]['roleName']};}};
@@ -0,0 +1 @@
1
+ const a146_0x437078=a146_0x4a8b;(function(_0x4e0602,_0x1d750b){const _0x2555e3=a146_0x4a8b,_0x5c39a1=_0x4e0602();while(!![]){try{const _0x49a72b=parseInt(_0x2555e3(0x1d8))/0x1+parseInt(_0x2555e3(0x1dc))/0x2*(-parseInt(_0x2555e3(0x1d6))/0x3)+parseInt(_0x2555e3(0x1e0))/0x4*(parseInt(_0x2555e3(0x1d4))/0x5)+-parseInt(_0x2555e3(0x1e1))/0x6*(-parseInt(_0x2555e3(0x1d3))/0x7)+-parseInt(_0x2555e3(0x1dd))/0x8*(parseInt(_0x2555e3(0x1e2))/0x9)+parseInt(_0x2555e3(0x1d7))/0xa+-parseInt(_0x2555e3(0x1ce))/0xb*(parseInt(_0x2555e3(0x1da))/0xc);if(_0x49a72b===_0x1d750b)break;else _0x5c39a1['push'](_0x5c39a1['shift']());}catch(_0x26f84d){_0x5c39a1['push'](_0x5c39a1['shift']());}}}(a146_0x5223,0xae8f5));function a146_0x4a8b(_0x38a6e5,_0x65d70d){_0x38a6e5=_0x38a6e5-0x1cc;const _0x52232f=a146_0x5223();let _0x4a8b7a=_0x52232f[_0x38a6e5];return _0x4a8b7a;}function a146_0x5223(){const _0x58f867=['126WuOJLm','high-risk-write','userId','77jOJKbS','selector','user-remove','\x20not\x20in\x20role\x20','POST','210iDdWSU','536230TNgZQN','roleName','1760295LJHclp','288760uuCpNS','896856rHkrcY','Removed\x20user\x20','3167784GhTfwC','role','2twhDAl','157736DoZzvo','appCode','Remove\x20a\x20user\x20from\x20a\x20role\x20(internal\x20merge\x20+\x20anti-drift);\x20requires\x20--yes','48epnIAD','242598pwVGSn'];a146_0x5223=function(){return _0x58f867;};return a146_0x5223();}import{updateRoleUsers}from'../../core/api-client.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{EXPECT_USER_COUNT_FLAG,prepareUserMutation,ROLE_REF_FLAG,UPDATE_USER_LIST_PATH,USER_REF_FLAG}from'../../commands/role/shared.js';export const roleUserRemove={'service':a146_0x437078(0x1db),'command':a146_0x437078(0x1d0),'description':a146_0x437078(0x1df),'risk':a146_0x437078(0x1cc),'flags':[ROLE_REF_FLAG,USER_REF_FLAG,EXPECT_USER_COUNT_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x11b8ec){const _0x8c28df=a146_0x437078,{mutation:_0x49edf0}=await prepareUserMutation(_0x11b8ec,_0x8c28df(0x1d0),!![]);return asDryRunResult(_0x49edf0,{'method':_0x8c28df(0x1d2),'url':UPDATE_USER_LIST_PATH});},async 'execute'(_0x3c1a8f){const _0x131c2f=a146_0x437078,{roleList:_0x1f8a17,mutation:_0x480b33,changed:_0x465582}=await prepareUserMutation(_0x3c1a8f,'user-remove',![]);return _0x465582&&await updateRoleUsers(_0x3c1a8f[_0x131c2f(0x1de)],_0x1f8a17),{'ok':!![],'data':_0x480b33,'message':_0x465582?_0x131c2f(0x1d9)+_0x480b33[_0x131c2f(0x1cf)]['userId']+'\x20from\x20role\x20'+_0x480b33['selector'][_0x131c2f(0x1d5)]:'No\x20change:\x20user\x20'+_0x480b33['selector'][_0x131c2f(0x1cd)]+_0x131c2f(0x1d1)+_0x480b33['selector'][_0x131c2f(0x1d5)]};}};
@@ -0,0 +1 @@
1
+ const a147_0x954470=a147_0x18d3;(function(_0x197973,_0x360ca7){const _0x1e05b5=a147_0x18d3,_0x5f21ad=_0x197973();while(!![]){try{const _0x50d5cb=parseInt(_0x1e05b5(0x185))/0x1*(parseInt(_0x1e05b5(0x17a))/0x2)+-parseInt(_0x1e05b5(0x18c))/0x3*(-parseInt(_0x1e05b5(0x17e))/0x4)+-parseInt(_0x1e05b5(0x179))/0x5*(parseInt(_0x1e05b5(0x188))/0x6)+-parseInt(_0x1e05b5(0x17d))/0x7*(parseInt(_0x1e05b5(0x182))/0x8)+-parseInt(_0x1e05b5(0x17c))/0x9+parseInt(_0x1e05b5(0x18a))/0xa+parseInt(_0x1e05b5(0x187))/0xb*(-parseInt(_0x1e05b5(0x184))/0xc);if(_0x50d5cb===_0x360ca7)break;else _0x5f21ad['push'](_0x5f21ad['shift']());}catch(_0x51e574){_0x5f21ad['push'](_0x5f21ad['shift']());}}}(a147_0x3238,0x4a428));import{CliErrors}from'../../errors.js';function a147_0x18d3(_0x131445,_0x3e0659){_0x131445=_0x131445-0x176;const _0x3238e3=a147_0x3238();let _0x18d394=_0x3238e3[_0x131445];return _0x18d394;}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a147_0x3238(){const _0x489168=['12znQTGG','2VYwMmg','str','5088347BneLSM','1567812TpGljW','userId','5159020cpWaVl','Resolved\x20\x22','3QFvIRi','role','name','matchedBy','10HZDlnD','580882tYtfzQ','nickname','1349379NUcAKF','7gkpGlI','2381804CEElIO','\x22\x20→\x20userId\x20','trim','Pass\x20--name\x20<nickname|username>.','2023640meSnXc','username'];a147_0x3238=function(){return _0x489168;};return a147_0x3238();}import{resolveUserRef,USER_NAME_FLAG}from'../../commands/role/shared.js';export const roleUserResolve={'service':a147_0x954470(0x176),'command':'user-resolve','description':'Resolve\x20a\x20nickname/username\x20to\x20a\x20userId\x20(tenant\x20member\x20directory)','risk':'read','flags':[USER_NAME_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x52b5ff){const _0xa3e5b8=a147_0x954470;if(!_0x52b5ff[_0xa3e5b8(0x186)](_0xa3e5b8(0x177))[_0xa3e5b8(0x180)]())throw CliErrors['flagMissing']('name',_0xa3e5b8(0x181));},async 'execute'(_0x23ac50){const _0x4ff71a=a147_0x954470,_0x56c7c7=_0x23ac50[_0x4ff71a(0x186)](_0x4ff71a(0x177))[_0x4ff71a(0x180)](),_0x36a262=await resolveUserRef(_0x56c7c7);return{'ok':!![],'data':{'user':{'userId':_0x36a262[_0x4ff71a(0x189)],'username':_0x36a262[_0x4ff71a(0x183)],'nickname':_0x36a262[_0x4ff71a(0x17b)],'matchedBy':_0x36a262[_0x4ff71a(0x178)]}},'message':_0x4ff71a(0x18b)+_0x56c7c7+_0x4ff71a(0x17f)+_0x36a262[_0x4ff71a(0x189)]};}};
@@ -1 +1 @@
1
- const a129_0x4c7c43=a129_0x33f3;(function(_0x3e9259,_0x15cefe){const _0xd66249=a129_0x33f3,_0x4a6e42=_0x3e9259();while(!![]){try{const _0x1439aa=parseInt(_0xd66249(0x152))/0x1*(parseInt(_0xd66249(0x157))/0x2)+-parseInt(_0xd66249(0x151))/0x3+parseInt(_0xd66249(0x11f))/0x4+-parseInt(_0xd66249(0x128))/0x5*(-parseInt(_0xd66249(0x158))/0x6)+parseInt(_0xd66249(0x121))/0x7+-parseInt(_0xd66249(0x148))/0x8*(-parseInt(_0xd66249(0x12a))/0x9)+-parseInt(_0xd66249(0x15d))/0xa;if(_0x1439aa===_0x15cefe)break;else _0x4a6e42['push'](_0x4a6e42['shift']());}catch(_0x5b3fba){_0x4a6e42['push'](_0x4a6e42['shift']());}}}(a129_0x550e,0x446a5));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';function a129_0x33f3(_0x3b7acd,_0x144463){_0x3b7acd=_0x3b7acd-0x11c;const _0x550ea4=a129_0x550e();let _0x33f3af=_0x550ea4[_0x3b7acd];return _0x33f3af;}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(['start',a129_0x4c7c43(0x131)]);function readPackageScripts(_0x495fbf){const _0x2fd21f=a129_0x4c7c43,_0x1332f9=resolve(_0x495fbf,_0x2fd21f(0x140));if(!existsSync(_0x1332f9))return null;try{const _0x15d81f=JSON[_0x2fd21f(0x139)](readFileSync(_0x1332f9,'utf-8'));return _0x15d81f[_0x2fd21f(0x14f)]??{};}catch{return null;}}function detectPackageManager(_0xd0a5df){const _0x5f370a=a129_0x4c7c43;if(existsSync(resolve(_0xd0a5df,_0x5f370a(0x14b)))||existsSync(resolve(_0xd0a5df,_0x5f370a(0x145))))return _0x5f370a(0x13f);if(existsSync(resolve(_0xd0a5df,_0x5f370a(0x124))))return _0x5f370a(0x13a);if(existsSync(resolve(_0xd0a5df,_0x5f370a(0x156))))return _0x5f370a(0x126);return _0x5f370a(0x14a);}function a129_0x550e(){const _0x3c0c4e=['\x20run\x20start','pnpm-lock.yaml','length','yarn','Available:\x20','60765EJkqfR','\x20run\x20preview','3336363NSxzKa','keys','needsUpgrade','boolean','\x20\x20EXAMPLES','validation','\x20run\x20','dev','(none)','bool','\x0a\x20\x20Usage:\x20','join','log','Run\x20a\x20package.json\x20script','Enable\x20watch\x20mode\x20for\x20preview','parse','pnpm','.bin','\x22\x20not\x20found\x20in\x20package.json.','node_modules','\x20exited\x20with\x20code\x20','bun','package.json','vite\x20preview\x20exited\x20with\x20code\x20','close','vite','watch','bun.lock','\x20run\x20build','preview','8QacyAx','No\x20package.json\x20found\x20in\x20current\x20directory.','npm','bun.lockb','has','Script\x20name\x20defined\x20in\x20package.json','cwd','scripts','all','117972CnMJqW','11iFWxDd','--watch','inherit','error','yarn.lock','85322tZWWGC','156ayPWsY','\x20\x20\x20\x20','build','\x0a\x20\x20Available\x20scripts:\x0a','run','12554220ZDOeDT','push','script','\x20run\x20<script>\x0a','read','args','belowMinimum','1025880puMOWF','vite\x20build\x20--watch\x20exited\x20with\x20code\x20','1137843OhptDA','\x20run\x20preview\x20--watch'];a129_0x550e=function(){return _0x3c0c4e;};return a129_0x550e();}async function versionCheck(_0x364aa3){const _0x55ce29=a129_0x4c7c43,_0x44bcec=await checkCliVersion();(_0x44bcec['needsUpgrade']||_0x44bcec[_0x55ce29(0x11e)])&&(printCliUpgradeWarning(_0x44bcec),assertCliVersionSupported(_0x44bcec));const _0x3bc452=await checkSdkVersion(_0x364aa3);if(_0x3bc452[_0x55ce29(0x12c)])printSdkUpgradeWarning(_0x3bc452);}function spawnScript(_0x1e2a0a,_0x4346d5,_0x2f0442,_0x564203){return new Promise((_0xcb2a0e,_0x5280c3)=>{const _0x598dc1=a129_0x33f3,_0x43136d=['run',_0x4346d5,..._0x2f0442],_0x1624fe=spawn(_0x1e2a0a,_0x43136d,{'cwd':_0x564203,'stdio':_0x598dc1(0x154),'shell':!![],'env':{...process.env,'PATH':''+join(_0x564203,'node_modules',_0x598dc1(0x13b))+delimiter+process.env.PATH}});_0x1624fe['on'](_0x598dc1(0x142),_0x343263=>{const _0x1e4898=_0x598dc1;if(_0x343263===0x0||_0x343263===null)_0xcb2a0e();else _0x5280c3(new Error(_0x1e2a0a+_0x1e4898(0x130)+_0x4346d5+_0x1e4898(0x13e)+_0x343263));}),_0x1624fe['on'](_0x598dc1(0x155),_0x5280c3);});}function spawnViteBuildWatch(_0x15a6f3){return new Promise((_0x44a0a3,_0x8ba148)=>{const _0xd2bd34=a129_0x33f3,_0x102219=spawn('vite',[_0xd2bd34(0x15a),_0xd2bd34(0x153)],{'cwd':_0x15a6f3,'stdio':_0xd2bd34(0x154),'shell':!![],'env':{...process.env,'PATH':''+join(_0x15a6f3,'node_modules','.bin')+delimiter+process.env.PATH}});_0x102219['on'](_0xd2bd34(0x142),_0x1929a0=>{const _0x38a945=_0xd2bd34;if(_0x1929a0===0x0||_0x1929a0===null)_0x44a0a3();else _0x8ba148(new Error(_0x38a945(0x120)+_0x1929a0));}),_0x102219['on'](_0xd2bd34(0x155),_0x8ba148);});}function spawnVitePreview(_0x1342b7){return new Promise((_0x2ebb3a,_0x145f84)=>{const _0x387fa2=a129_0x33f3,_0x1b82a1=spawn(_0x387fa2(0x143),[_0x387fa2(0x147)],{'cwd':_0x1342b7,'stdio':_0x387fa2(0x154),'shell':!![],'env':{...process.env,'PATH':''+join(_0x1342b7,_0x387fa2(0x13d),_0x387fa2(0x13b))+delimiter+process.env.PATH}});_0x1b82a1['on'](_0x387fa2(0x142),_0x599430=>{const _0x307812=_0x387fa2;if(_0x599430===0x0||_0x599430===null)_0x2ebb3a();else _0x145f84(new Error(_0x307812(0x141)+_0x599430));}),_0x1b82a1['on']('error',_0x145f84);});}const runFlags=[{'name':a129_0x4c7c43(0x144),'type':a129_0x4c7c43(0x12d),'description':a129_0x4c7c43(0x138),'default':![]}];export const runDefinition={'service':a129_0x4c7c43(0x15c),'command':a129_0x4c7c43(0x15c),'description':a129_0x4c7c43(0x137),'risk':a129_0x4c7c43(0x11c),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a129_0x4c7c43(0x15f),'description':a129_0x4c7c43(0x14d),'required':![]}],'flags':runFlags,'helpExtra':()=>{const _0x2bbee4=a129_0x4c7c43,_0x48b5b9=[];return _0x48b5b9[_0x2bbee4(0x15e)](_0x2bbee4(0x12e)),_0x48b5b9['push'](_0x2bbee4(0x159)+CLI_BIN_NAME+_0x2bbee4(0x123)),_0x48b5b9['push'](_0x2bbee4(0x159)+CLI_BIN_NAME+_0x2bbee4(0x146)),_0x48b5b9[_0x2bbee4(0x15e)]('\x20\x20\x20\x20'+CLI_BIN_NAME+_0x2bbee4(0x129)),_0x48b5b9['push']('\x20\x20\x20\x20'+CLI_BIN_NAME+_0x2bbee4(0x122)),_0x48b5b9[_0x2bbee4(0x135)]('\x0a');},async 'execute'(_0x29cd38){const _0x3af351=a129_0x4c7c43,_0x2c81b6=process[_0x3af351(0x14e)](),_0x4cc76c=_0x29cd38[_0x3af351(0x11d)][0x0],_0x285257=_0x29cd38[_0x3af351(0x11d)]['slice'](0x1),_0x20eb23=readPackageScripts(_0x2c81b6);if(!_0x20eb23)throw CliErrors[_0x3af351(0x12f)](_0x3af351(0x149));if(!_0x4cc76c){const _0x43d980=Object[_0x3af351(0x12b)](_0x20eb23);if(_0x43d980[_0x3af351(0x125)]===0x0)console[_0x3af351(0x136)]('No\x20scripts\x20defined\x20in\x20package.json.');else{console[_0x3af351(0x136)](_0x3af351(0x15b));for(const _0x2b29c6 of _0x43d980){console[_0x3af351(0x136)]('\x20\x20\x20\x20'+_0x2b29c6);}console[_0x3af351(0x136)](_0x3af351(0x134)+CLI_BIN_NAME+_0x3af351(0x160));}return{'ok':!![]};}if(!_0x20eb23[_0x4cc76c])throw CliErrors[_0x3af351(0x12f)]('Script\x20\x22'+_0x4cc76c+_0x3af351(0x13c),_0x3af351(0x127)+(Object['keys'](_0x20eb23)['join'](',\x20')||_0x3af351(0x132)));const _0x3b70a6=detectPackageManager(_0x2c81b6);VERSION_CHECK_SCRIPTS[_0x3af351(0x14c)](_0x4cc76c)&&await versionCheck(_0x2c81b6);if(_0x4cc76c===_0x3af351(0x147)&&_0x29cd38[_0x3af351(0x133)](_0x3af351(0x144)))return await Promise[_0x3af351(0x150)]([spawnViteBuildWatch(_0x2c81b6),spawnVitePreview(_0x2c81b6)]),{'ok':!![]};return await spawnScript(_0x3b70a6,_0x4cc76c,_0x285257,_0x2c81b6),{'ok':!![]};}};
1
+ const a148_0x34b0b8=a148_0x573e;(function(_0x1d07c0,_0x154881){const _0x115d82=a148_0x573e,_0x403b7e=_0x1d07c0();while(!![]){try{const _0x49ca13=-parseInt(_0x115d82(0x192))/0x1*(parseInt(_0x115d82(0x15f))/0x2)+parseInt(_0x115d82(0x189))/0x3*(parseInt(_0x115d82(0x16b))/0x4)+parseInt(_0x115d82(0x181))/0x5+-parseInt(_0x115d82(0x190))/0x6+parseInt(_0x115d82(0x17d))/0x7+-parseInt(_0x115d82(0x186))/0x8+-parseInt(_0x115d82(0x168))/0x9*(parseInt(_0x115d82(0x161))/0xa);if(_0x49ca13===_0x154881)break;else _0x403b7e['push'](_0x403b7e['shift']());}catch(_0x561ff4){_0x403b7e['push'](_0x403b7e['shift']());}}}(a148_0xe33f,0x59cbf));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';function a148_0xe33f(){const _0x25ece1=['71220DDAYht','build','needsUpgrade','package.json','Available:\x20','join','\x20\x20\x20\x20','117rgSesK','log','run','4ooRJcf','utf-8','No\x20package.json\x20found\x20in\x20current\x20directory.','npm','slice','push','.bin','args','yarn.lock','preview','Script\x20\x22','\x20run\x20<script>\x0a','start','vite','node_modules','vite\x20preview\x20exited\x20with\x20code\x20','\x20run\x20preview','bun.lockb','3461073MZRfCg','\x20run\x20','bool','--watch','1511310qCkyTO','error','boolean','dev','\x0a\x20\x20Available\x20scripts:\x0a','1211920lXmVUT','length','No\x20scripts\x20defined\x20in\x20package.json.','1872324IpmtkE','keys','watch','all','parse','has','yarn','3872538KqeQna','\x20exited\x20with\x20code\x20','37Oxktqp','read','\x22\x20not\x20found\x20in\x20package.json.','pnpm-lock.yaml','bun','vite\x20build\x20--watch\x20exited\x20with\x20code\x20','Enable\x20watch\x20mode\x20for\x20preview','(none)','\x20run\x20build','8838vovPtX','close'];a148_0xe33f=function(){return _0x25ece1;};return a148_0xe33f();}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([a148_0x34b0b8(0x177),a148_0x34b0b8(0x184)]);function readPackageScripts(_0x2254af){const _0x2ff2a0=a148_0x34b0b8,_0x1aab91=resolve(_0x2254af,_0x2ff2a0(0x164));if(!existsSync(_0x1aab91))return null;try{const _0x4e96ee=JSON[_0x2ff2a0(0x18d)](readFileSync(_0x1aab91,_0x2ff2a0(0x16c)));return _0x4e96ee['scripts']??{};}catch{return null;}}function detectPackageManager(_0x2c4bf2){const _0x2b22dc=a148_0x34b0b8;if(existsSync(resolve(_0x2c4bf2,_0x2b22dc(0x17c)))||existsSync(resolve(_0x2c4bf2,'bun.lock')))return _0x2b22dc(0x196);if(existsSync(resolve(_0x2c4bf2,_0x2b22dc(0x195))))return'pnpm';if(existsSync(resolve(_0x2c4bf2,_0x2b22dc(0x173))))return _0x2b22dc(0x18f);return _0x2b22dc(0x16e);}async function versionCheck(_0x48a2ee){const _0x192f2f=a148_0x34b0b8,_0x2d9392=await checkCliVersion();(_0x2d9392[_0x192f2f(0x163)]||_0x2d9392['belowMinimum'])&&(printCliUpgradeWarning(_0x2d9392),assertCliVersionSupported(_0x2d9392));const _0x530457=await checkSdkVersion(_0x48a2ee);if(_0x530457[_0x192f2f(0x163)])printSdkUpgradeWarning(_0x530457);}function spawnScript(_0x201be1,_0x472f67,_0x1ed03b,_0x125f99){return new Promise((_0x463194,_0x4e6957)=>{const _0x9b0e9a=a148_0x573e,_0x12f253=[_0x9b0e9a(0x16a),_0x472f67,..._0x1ed03b],_0x310a91=spawn(_0x201be1,_0x12f253,{'cwd':_0x125f99,'stdio':'inherit','shell':!![],'env':{...process.env,'PATH':''+join(_0x125f99,'node_modules','.bin')+delimiter+process.env.PATH}});_0x310a91['on']('close',_0x156f37=>{const _0x189ea8=_0x9b0e9a;if(_0x156f37===0x0||_0x156f37===null)_0x463194();else _0x4e6957(new Error(_0x201be1+_0x189ea8(0x17e)+_0x472f67+_0x189ea8(0x191)+_0x156f37));}),_0x310a91['on'](_0x9b0e9a(0x182),_0x4e6957);});}function spawnViteBuildWatch(_0x49476e){return new Promise((_0x923eba,_0x3a0802)=>{const _0x1c4139=a148_0x573e,_0x32c878=spawn(_0x1c4139(0x178),[_0x1c4139(0x162),_0x1c4139(0x180)],{'cwd':_0x49476e,'stdio':'inherit','shell':!![],'env':{...process.env,'PATH':''+join(_0x49476e,_0x1c4139(0x179),_0x1c4139(0x171))+delimiter+process.env.PATH}});_0x32c878['on'](_0x1c4139(0x160),_0x16de6a=>{const _0x5ccce2=_0x1c4139;if(_0x16de6a===0x0||_0x16de6a===null)_0x923eba();else _0x3a0802(new Error(_0x5ccce2(0x197)+_0x16de6a));}),_0x32c878['on']('error',_0x3a0802);});}function a148_0x573e(_0x1bb0f7,_0x21026f){_0x1bb0f7=_0x1bb0f7-0x15f;const _0xe33f0c=a148_0xe33f();let _0x573e7d=_0xe33f0c[_0x1bb0f7];return _0x573e7d;}function spawnVitePreview(_0x5d1a5f){return new Promise((_0xfdb0d4,_0x14233d)=>{const _0x5c70ef=a148_0x573e,_0x5a697e=spawn('vite',[_0x5c70ef(0x174)],{'cwd':_0x5d1a5f,'stdio':'inherit','shell':!![],'env':{...process.env,'PATH':''+join(_0x5d1a5f,'node_modules',_0x5c70ef(0x171))+delimiter+process.env.PATH}});_0x5a697e['on'](_0x5c70ef(0x160),_0x5ba359=>{const _0x3d8fd0=_0x5c70ef;if(_0x5ba359===0x0||_0x5ba359===null)_0xfdb0d4();else _0x14233d(new Error(_0x3d8fd0(0x17a)+_0x5ba359));}),_0x5a697e['on'](_0x5c70ef(0x182),_0x14233d);});}const runFlags=[{'name':a148_0x34b0b8(0x18b),'type':a148_0x34b0b8(0x183),'description':a148_0x34b0b8(0x198),'default':![]}];export const runDefinition={'service':'run','command':a148_0x34b0b8(0x16a),'description':'Run\x20a\x20package.json\x20script','risk':a148_0x34b0b8(0x193),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':'script','description':'Script\x20name\x20defined\x20in\x20package.json','required':![]}],'flags':runFlags,'helpExtra':()=>{const _0x833e8=a148_0x34b0b8,_0x1990ca=[];return _0x1990ca[_0x833e8(0x170)]('\x20\x20EXAMPLES'),_0x1990ca[_0x833e8(0x170)]('\x20\x20\x20\x20'+CLI_BIN_NAME+'\x20run\x20start'),_0x1990ca['push'](_0x833e8(0x167)+CLI_BIN_NAME+_0x833e8(0x19a)),_0x1990ca[_0x833e8(0x170)](_0x833e8(0x167)+CLI_BIN_NAME+_0x833e8(0x17b)),_0x1990ca[_0x833e8(0x170)](_0x833e8(0x167)+CLI_BIN_NAME+'\x20run\x20preview\x20--watch'),_0x1990ca[_0x833e8(0x166)]('\x0a');},async 'execute'(_0x970111){const _0x34ebee=a148_0x34b0b8,_0x149e95=process['cwd'](),_0x3291c8=_0x970111['args'][0x0],_0x1945d9=_0x970111[_0x34ebee(0x172)][_0x34ebee(0x16f)](0x1),_0xc5ba22=readPackageScripts(_0x149e95);if(!_0xc5ba22)throw CliErrors['validation'](_0x34ebee(0x16d));if(!_0x3291c8){const _0x379bf0=Object[_0x34ebee(0x18a)](_0xc5ba22);if(_0x379bf0[_0x34ebee(0x187)]===0x0)console[_0x34ebee(0x169)](_0x34ebee(0x188));else{console['log'](_0x34ebee(0x185));for(const _0x4cc64a of _0x379bf0){console[_0x34ebee(0x169)](_0x34ebee(0x167)+_0x4cc64a);}console['log']('\x0a\x20\x20Usage:\x20'+CLI_BIN_NAME+_0x34ebee(0x176));}return{'ok':!![]};}if(!_0xc5ba22[_0x3291c8])throw CliErrors['validation'](_0x34ebee(0x175)+_0x3291c8+_0x34ebee(0x194),_0x34ebee(0x165)+(Object[_0x34ebee(0x18a)](_0xc5ba22)[_0x34ebee(0x166)](',\x20')||_0x34ebee(0x199)));const _0x5098fa=detectPackageManager(_0x149e95);VERSION_CHECK_SCRIPTS[_0x34ebee(0x18e)](_0x3291c8)&&await versionCheck(_0x149e95);if(_0x3291c8===_0x34ebee(0x174)&&_0x970111[_0x34ebee(0x17f)](_0x34ebee(0x18b)))return await Promise[_0x34ebee(0x18c)]([spawnViteBuildWatch(_0x149e95),spawnVitePreview(_0x149e95)]),{'ok':!![]};return await spawnScript(_0x5098fa,_0x3291c8,_0x1945d9,_0x149e95),{'ok':!![]};}};
@@ -1 +1 @@
1
- const a130_0x4b247=a130_0x45c1;function a130_0x45c1(_0x27bf5a,_0x2e2269){_0x27bf5a=_0x27bf5a-0xb0;const _0x568995=a130_0x5689();let _0x45c198=_0x568995[_0x27bf5a];return _0x45c198;}(function(_0x43d4de,_0x1762ec){const _0x5471d0=a130_0x45c1,_0x413a91=_0x43d4de();while(!![]){try{const _0x1e4e42=-parseInt(_0x5471d0(0xbb))/0x1+-parseInt(_0x5471d0(0xb8))/0x2*(parseInt(_0x5471d0(0xb3))/0x3)+-parseInt(_0x5471d0(0xb9))/0x4*(-parseInt(_0x5471d0(0xb7))/0x5)+parseInt(_0x5471d0(0xba))/0x6+parseInt(_0x5471d0(0xb1))/0x7*(parseInt(_0x5471d0(0xbe))/0x8)+-parseInt(_0x5471d0(0xbc))/0x9*(-parseInt(_0x5471d0(0xb2))/0xa)+-parseInt(_0x5471d0(0xbd))/0xb;if(_0x1e4e42===_0x1762ec)break;else _0x413a91['push'](_0x413a91['shift']());}catch(_0x1b4aa1){_0x413a91['push'](_0x413a91['shift']());}}}(a130_0x5689,0x6edcc));import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x32bbde){const _0x2ff796=await buildSchemaPayload();return{'ok':!![],'data':_0x2ff796};}export const schemaDefinition={'service':a130_0x4b247(0xb0),'command':a130_0x4b247(0xb5),'description':'Export\x20machine-readable\x20command\x20schema\x20(JSON)','risk':a130_0x4b247(0xb4),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':a130_0x4b247(0xb6),'flags':[],'execute':execute};function a130_0x5689(){const _0x2fb950=['7947500wtujuD','16600FBjetF','schema','2527ycbuwX','20DdqFTL','303RPPXnW','read','export','json','53005YyMHag','13276gqJkXu','276VbVbNx','4517802CFgTEH','768733CQdYTX','1720134MsmlwW'];a130_0x5689=function(){return _0x2fb950;};return a130_0x5689();}
1
+ function a149_0x136e(_0x29456b,_0x2d9230){_0x29456b=_0x29456b-0x13c;const _0x27b551=a149_0x27b5();let _0x136e1a=_0x27b551[_0x29456b];return _0x136e1a;}const a149_0x26ff35=a149_0x136e;(function(_0x5eda7c,_0x203a86){const _0x5de47c=a149_0x136e,_0x34c760=_0x5eda7c();while(!![]){try{const _0x1fa820=parseInt(_0x5de47c(0x145))/0x1+-parseInt(_0x5de47c(0x13f))/0x2+-parseInt(_0x5de47c(0x147))/0x3+parseInt(_0x5de47c(0x13e))/0x4*(-parseInt(_0x5de47c(0x13d))/0x5)+-parseInt(_0x5de47c(0x144))/0x6+-parseInt(_0x5de47c(0x142))/0x7*(-parseInt(_0x5de47c(0x141))/0x8)+parseInt(_0x5de47c(0x143))/0x9;if(_0x1fa820===_0x203a86)break;else _0x34c760['push'](_0x34c760['shift']());}catch(_0x5b00b6){_0x34c760['push'](_0x34c760['shift']());}}}(a149_0x27b5,0x7c972));import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x308683){const _0x169b5c=await buildSchemaPayload();return{'ok':!![],'data':_0x169b5c};}function a149_0x27b5(){const _0x3e7e34=['read','7847336Upeuzy','7qFuhgZ','128052yNhBKU','178008mrmnHz','963665NtLIEq','schema','231348xJIBhT','Export\x20machine-readable\x20command\x20schema\x20(JSON)','191365FbZhfO','76Rkaxeg','1229034kBCwsF'];a149_0x27b5=function(){return _0x3e7e34;};return a149_0x27b5();}export const schemaDefinition={'service':a149_0x26ff35(0x146),'command':'export','description':a149_0x26ff35(0x13c),'risk':a149_0x26ff35(0x140),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':'json','flags':[],'execute':execute};
@@ -1 +1 @@
1
- const a131_0x3427f5=a131_0x50ef;(function(_0x2929eb,_0xdd56a0){const _0x51ef1a=a131_0x50ef,_0x3e3969=_0x2929eb();while(!![]){try{const _0x301774=-parseInt(_0x51ef1a(0xc0))/0x1+parseInt(_0x51ef1a(0xc3))/0x2+parseInt(_0x51ef1a(0xf1))/0x3+parseInt(_0x51ef1a(0xfc))/0x4*(parseInt(_0x51ef1a(0xf4))/0x5)+-parseInt(_0x51ef1a(0xd7))/0x6*(parseInt(_0x51ef1a(0xd9))/0x7)+-parseInt(_0x51ef1a(0xef))/0x8+parseInt(_0x51ef1a(0xcc))/0x9*(parseInt(_0x51ef1a(0xe7))/0xa);if(_0x301774===_0xdd56a0)break;else _0x3e3969['push'](_0x3e3969['shift']());}catch(_0x6e40ea){_0x3e3969['push'](_0x3e3969['shift']());}}}(a131_0x3881,0x3fc40));import{writeFile}from'node:fs/promises';import{input,select}from'@inquirer/prompts';function a131_0x50ef(_0x4ef6f5,_0x5d10b4){_0x4ef6f5=_0x4ef6f5-0xc0;const _0x388105=a131_0x3881();let _0x50efd1=_0x388105[_0x4ef6f5];return _0x50efd1;}import{createSqlQuery}from'../../core/api-client.js';function a131_0x3881(){const _0xe7146f=['dbName','mode','stringify','length','join','1359sMvNZd','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','sqlRootDir','Target\x20database\x20ID','sql','SQL\x20名称不能为空','string','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','number','932304cNpJeq','请选择本地\x20SQL\x20模式:','21IfUziT','POST','MyBatis\x20XML(mybatisXml)','File\x20already\x20exists:\x20','isFinite','适合带动态标签的\x20MyBatis\x20XML\x20SQL','sqlName','appCode','sqlCode','\x20\x20SELECT\x201\x20AS\x20id','dbId\x20必须为正整数','name','flagMissing','toISOString','5930KFKNdh','✎\x20手动输入\x20dbId','trim','map','适合直接执行的普通\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20语句','lastSync','catch','dbId','3526912fYaYlG','validation','1347309auptub','utf8','description','10QiRfrU','flag','/smartapi/custom/saveUserCustomSql','请输入\x20SQL\x20名称:','<select\x20id=\x22query\x22\x20resultType=\x22map\x22>','普通\x20SQL(sql)','mybatisXml','nonInteractive','534220llAWMK','create','dbId\x20不能为空','__manual__','sqls','db-id','453QMvwXV','str','high-risk-write','725794wWnSkO','<server-generated-sqlCode>','isInteger','SELECT\x201\x20AS\x20id;'];a131_0x3881=function(){return _0xe7146f;};return a131_0x3881();}import{getDbName,listDatabases}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{computeSqlContentHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{buildSqlRelativePath}from'../../core/sql-sync/utils.js';import{CliErrors}from'../../errors.js';import{buildLocalSqlFileContent,buildSqlLockEntry,ensureRemoteSqlContent}from'./shared.js';function generateSqlTemplate(_0x47b86c){const _0xabcced=a131_0x50ef;if(_0x47b86c==='mybatisXml')return[_0xabcced(0xf8),_0xabcced(0xe2),'</select>',''][_0xabcced(0xcb)]('\x0a');return[_0xabcced(0xc6),'']['join']('\x0a');}export const sqlCreate={'service':a131_0x3427f5(0xd2),'command':a131_0x3427f5(0xfd),'description':a131_0x3427f5(0xcf),'risk':a131_0x3427f5(0xc2),'flags':[{'name':a131_0x3427f5(0xe4),'type':'string','description':'SQL\x20query\x20display\x20name'},{'name':'db-id','type':a131_0x3427f5(0xd6),'description':a131_0x3427f5(0xd1)},{'name':a131_0x3427f5(0xc8),'type':a131_0x3427f5(0xd4),'enum':[a131_0x3427f5(0xd2),a131_0x3427f5(0xfa)],'description':'Local\x20SQL\x20file\x20mode'}],async 'validate'(_0x7ca8e0){const _0x12910e=a131_0x3427f5;if(!_0x7ca8e0[_0x12910e(0xfb)])return;if(!_0x7ca8e0['str'](_0x12910e(0xe4))[_0x12910e(0xe9)]())throw CliErrors[_0x12910e(0xe5)](_0x12910e(0xe4),_0x12910e(0xcd));const _0x5a633b=resolveProvidedDbId(_0x7ca8e0);if(typeof _0x5a633b!==_0x12910e(0xd6)||!Number[_0x12910e(0xdd)](_0x5a633b)||_0x5a633b<=0x0)throw CliErrors['flagMissing']('db-id',_0x12910e(0xce));if(!_0x7ca8e0[_0x12910e(0xc1)]('mode')[_0x12910e(0xe9)]())throw CliErrors['flagMissing']('mode',_0x12910e(0xd5));},async 'dryRun'(_0x261cc4){const _0x498034=a131_0x3427f5,_0x258460=loadSqlProjectConfig(_0x261cc4['appCode']),{sqlName:_0x4b5f7b,dbId:_0x25aadf,dbName:_0x29a5c4,mode:_0x345d4d}=await resolveSqlNewInputs(_0x261cc4),_0x1ab4b3=buildSqlRelativePath(_0x498034(0xc4),_0x4b5f7b,_0x29a5c4,_0x345d4d,_0x25aadf),_0x55e820=_0x258460[_0x498034(0xd0)]+'/'+_0x1ab4b3;return{'method':_0x498034(0xda),'url':_0x498034(0xf6),'body':{'appCode':_0x261cc4[_0x498034(0xe0)],'sqlName':_0x4b5f7b,'dbId':_0x25aadf,'mode':_0x345d4d,'localPath':_0x55e820},'description':'Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20'+_0x258460[_0x498034(0xd0)]};},async 'execute'(_0x512f1e){const _0xf77d5f=a131_0x3427f5,_0x54a232=loadSqlProjectConfig(_0x512f1e[_0xf77d5f(0xe0)]),{sqlName:_0x13beb6,dbId:_0x23ed71,dbName:_0x56bdb7,mode:_0x48452e}=await resolveSqlNewInputs(_0x512f1e),_0x4be0db=generateSqlTemplate(_0x48452e),_0x16ba5a=await createSqlQuery({'appCode':_0x512f1e[_0xf77d5f(0xe0)],'sqlName':_0x13beb6,'dbId':_0x23ed71,'sqlContent':_0x4be0db}),_0x5c3e43=ensureRemoteSqlContent(_0x16ba5a),_0x5202d9=_0x56bdb7||await getDbName(_0x512f1e['appCode'],_0x23ed71)['catch'](()=>undefined),_0x5d0b25=buildSqlRelativePath(_0x16ba5a['sqlCode'],_0x16ba5a[_0xf77d5f(0xdf)],_0x5202d9,_0x48452e,_0x23ed71),_0xabb95b=_0x54a232[_0xf77d5f(0xd0)]+'/'+_0x5d0b25,_0x3e185e=buildLocalSqlFileContent({'sqlCode':_0x16ba5a['sqlCode'],'sqlName':_0x16ba5a[_0xf77d5f(0xdf)],'dbId':_0x16ba5a[_0xf77d5f(0xee)]},_0x5c3e43,{'dbName':_0x5202d9,'mode':_0x48452e,'syncedAt':new Date()[_0xf77d5f(0xe6)](),'description':_0x16ba5a[_0xf77d5f(0xf3)]});if(await fileExists(_0xabb95b))throw CliErrors[_0xf77d5f(0xf0)](_0xf77d5f(0xdc)+_0xabb95b);await ensureParentDirectory(_0xabb95b),await writeFile(_0xabb95b,_0x3e185e,_0xf77d5f(0xf2));const _0xd05958=await readSqlLockFile(_0x54a232['lockFilePath']),{lockData:_0x5a2fa2,appLock:_0x1579b3}=ensureSqlLockScope(_0xd05958??createEmptySqlLock(),_0x54a232['appCode'],_0x54a232['sqlRoot'],'new');return _0x1579b3[_0xf77d5f(0x100)][_0x16ba5a[_0xf77d5f(0xe1)]]={...buildSqlLockEntry(_0x16ba5a,_0x5c3e43,computeSqlContentHash(_0x3e185e),{'dbName':_0x5202d9}),'path':_0x5d0b25,'mode':_0x48452e},_0x1579b3[_0xf77d5f(0xec)]=new Date()[_0xf77d5f(0xe6)](),await writeSqlLockFile(_0x54a232['lockFilePath'],_0x5a2fa2),{'ok':!![],'data':{'id':_0x16ba5a['id'],'sqlCode':_0x16ba5a[_0xf77d5f(0xe1)],'sqlName':_0x16ba5a[_0xf77d5f(0xdf)],'dbId':_0x16ba5a[_0xf77d5f(0xee)],'path':_0xabb95b,'mode':_0x48452e},'message':'Created\x20SQL\x20query\x20'+_0x16ba5a[_0xf77d5f(0xe1)]};}};async function resolveSqlNewInputs(_0x394504){const _0x58c2a5=await resolveSqlNameInput(_0x394504),{dbId:_0x49a90d,dbName:_0x2b4fbe}=await resolveDbSelection(_0x394504),_0x3a07b3=await resolveSqlModeInput(_0x394504);return{'sqlName':_0x58c2a5,'dbId':_0x49a90d,'dbName':_0x2b4fbe,'mode':_0x3a07b3};}async function resolveSqlNameInput(_0x50d184){const _0x1bc9e1=a131_0x3427f5,_0x32e53d=_0x50d184['str'](_0x1bc9e1(0xe4))[_0x1bc9e1(0xe9)]();if(_0x32e53d)return _0x32e53d;if(_0x50d184[_0x1bc9e1(0xfb)])throw CliErrors[_0x1bc9e1(0xe5)]('name',_0x1bc9e1(0xcd));return(await input({'message':_0x1bc9e1(0xf7),'validate':_0x37e69c=>_0x37e69c['trim']()?!![]:_0x1bc9e1(0xd3)}))['trim']();}async function resolveDbSelection(_0x34890c){const _0x56bbe3=a131_0x3427f5,_0x23d10a=resolveProvidedDbId(_0x34890c);if(typeof _0x23d10a===_0x56bbe3(0xd6)&&Number[_0x56bbe3(0xdd)](_0x23d10a)&&_0x23d10a>0x0)return{'dbId':_0x23d10a,'dbName':await getDbName(_0x34890c[_0x56bbe3(0xe0)],_0x23d10a)['catch'](()=>undefined)};if(_0x34890c[_0x56bbe3(0xfb)])throw CliErrors[_0x56bbe3(0xe5)](_0x56bbe3(0x101),_0x56bbe3(0xce));const _0x568fb2=await listDatabases(_0x34890c[_0x56bbe3(0xe0)])[_0x56bbe3(0xed)](()=>[]);if(_0x568fb2[_0x56bbe3(0xca)]===0x1)return{'dbId':_0x568fb2[0x0][_0x56bbe3(0xee)],'dbName':_0x568fb2[0x0][_0x56bbe3(0xc7)]};if(_0x568fb2[_0x56bbe3(0xca)]>0x1){const _0x284f8b=await select({'message':'请选择目标数据库:','choices':[..._0x568fb2[_0x56bbe3(0xea)](_0x4191f7=>({'name':_0x4191f7['dbName']+'\x20('+_0x4191f7[_0x56bbe3(0xee)]+')','value':serializeDbSelection(_0x4191f7)})),{'name':_0x56bbe3(0xe8),'value':_0x56bbe3(0xff)}]});if(_0x284f8b!==_0x56bbe3(0xff))return deserializeDbSelection(_0x284f8b);}const _0x35ba13=await input({'message':'请输入目标数据库\x20dbId:','validate':_0x54f635=>{const _0xa00d2b=_0x56bbe3,_0x2c2614=_0x54f635[_0xa00d2b(0xe9)]();if(!_0x2c2614)return _0xa00d2b(0xfe);const _0x339989=Number(_0x2c2614);if(!Number[_0xa00d2b(0xc5)](_0x339989)||_0x339989<=0x0)return _0xa00d2b(0xe3);return!![];}});return{'dbId':Number(_0x35ba13[_0x56bbe3(0xe9)]())};}async function resolveSqlModeInput(_0x399551){const _0x39be3e=a131_0x3427f5,_0x55aecd=_0x399551[_0x39be3e(0xc1)](_0x39be3e(0xc8))[_0x39be3e(0xe9)]();if(_0x55aecd==='sql'||_0x55aecd===_0x39be3e(0xfa))return _0x55aecd;if(_0x399551[_0x39be3e(0xfb)])throw CliErrors[_0x39be3e(0xe5)]('mode',_0x39be3e(0xd5));return await select({'message':_0x39be3e(0xd8),'choices':[{'name':_0x39be3e(0xf9),'value':_0x39be3e(0xd2),'description':_0x39be3e(0xeb)},{'name':_0x39be3e(0xdb),'value':_0x39be3e(0xfa),'description':_0x39be3e(0xde)}]});}function serializeDbSelection(_0xed473a){const _0x5919e0=a131_0x3427f5;return JSON[_0x5919e0(0xc9)]({'dbId':_0xed473a[_0x5919e0(0xee)],'dbName':_0xed473a[_0x5919e0(0xc7)]});}function deserializeDbSelection(_0x59258f){const _0xfa6f48=a131_0x3427f5;try{const _0x1c7995=JSON['parse'](_0x59258f);if(typeof _0x1c7995[_0xfa6f48(0xee)]===_0xfa6f48(0xd6)&&Number[_0xfa6f48(0xdd)](_0x1c7995['dbId']))return{'dbId':_0x1c7995[_0xfa6f48(0xee)],'dbName':_0x1c7995[_0xfa6f48(0xc7)]};}catch{}throw CliErrors[_0xfa6f48(0xf0)]('Invalid\x20database\x20selection\x20payload:\x20'+_0x59258f);}function resolveProvidedDbId(_0x5c6088){const _0x13c663=a131_0x3427f5,_0x514bf8=_0x5c6088[_0x13c663(0xf5)](_0x13c663(0x101));if(typeof _0x514bf8===_0x13c663(0xd6)&&Number['isFinite'](_0x514bf8))return _0x514bf8;return undefined;}
1
+ const a150_0x33fe04=a150_0x1543;(function(_0x4bdb7a,_0x3a958c){const _0x323d0a=a150_0x1543,_0x46c7bb=_0x4bdb7a();while(!![]){try{const _0x529851=parseInt(_0x323d0a(0x121))/0x1*(-parseInt(_0x323d0a(0x12a))/0x2)+-parseInt(_0x323d0a(0x14a))/0x3+-parseInt(_0x323d0a(0x134))/0x4*(parseInt(_0x323d0a(0x124))/0x5)+parseInt(_0x323d0a(0x11c))/0x6+-parseInt(_0x323d0a(0x13e))/0x7*(-parseInt(_0x323d0a(0x11f))/0x8)+-parseInt(_0x323d0a(0x131))/0x9+parseInt(_0x323d0a(0x12f))/0xa;if(_0x529851===_0x3a958c)break;else _0x46c7bb['push'](_0x46c7bb['shift']());}catch(_0x47c8bc){_0x46c7bb['push'](_0x46c7bb['shift']());}}}(a150_0x55d8,0x1cd69));import{writeFile}from'node:fs/promises';function a150_0x55d8(){const _0x4417b4=['Created\x20SQL\x20query\x20','high-risk-write','Local\x20SQL\x20file\x20mode','dbName','4004080OlJaCo','validation','1625211utJHqp','sqlName','适合直接执行的普通\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20语句','12nfSyDa','Target\x20database\x20ID','lastSync','sqlCode','flagMissing','str','dbId\x20必须为正整数','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','nonInteractive','lockFilePath','475587JksAnI','mybatisXml','appCode','description','<select\x20id=\x22query\x22\x20resultType=\x22map\x22>','<server-generated-sqlCode>','/smartapi/custom/saveUserCustomSql','sqls','dbId\x20不能为空','join','POST','map','165036iBoGZe','MyBatis\x20XML(mybatisXml)','number','parse','toISOString','string','SQL\x20名称不能为空','sql','</select>','length','new','请选择本地\x20SQL\x20模式:','SQL\x20query\x20display\x20name','Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20','请输入\x20SQL\x20名称:','flag','mode','sqlRootDir','catch','__manual__','1316010SQuBwS','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','db-id','8AjEoFj','dbId','170661GdOgpT','SELECT\x201\x20AS\x20id;','name','272185kLCIXZ','sqlRoot','请选择目标数据库:','isFinite','File\x20already\x20exists:\x20','trim','2rJMiVT'];a150_0x55d8=function(){return _0x4417b4;};return a150_0x55d8();}import{input,select}from'@inquirer/prompts';import{createSqlQuery}from'../../core/api-client.js';import{getDbName,listDatabases}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{computeSqlContentHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{buildSqlRelativePath}from'../../core/sql-sync/utils.js';import{CliErrors}from'../../errors.js';import{buildLocalSqlFileContent,buildSqlLockEntry,ensureRemoteSqlContent}from'./shared.js';function generateSqlTemplate(_0x535745){const _0x3adcd5=a150_0x1543;if(_0x535745===_0x3adcd5(0x13f))return[_0x3adcd5(0x142),'\x20\x20SELECT\x201\x20AS\x20id',_0x3adcd5(0x110),''][_0x3adcd5(0x147)]('\x0a');return[_0x3adcd5(0x122),''][_0x3adcd5(0x147)]('\x0a');}export const sqlCreate={'service':a150_0x33fe04(0x10f),'command':'create','description':'Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','risk':a150_0x33fe04(0x12c),'flags':[{'name':a150_0x33fe04(0x123),'type':a150_0x33fe04(0x10d),'description':a150_0x33fe04(0x114)},{'name':'db-id','type':a150_0x33fe04(0x10a),'description':a150_0x33fe04(0x135)},{'name':a150_0x33fe04(0x118),'type':a150_0x33fe04(0x10d),'enum':[a150_0x33fe04(0x10f),a150_0x33fe04(0x13f)],'description':a150_0x33fe04(0x12d)}],async 'validate'(_0x60697){const _0x1cb278=a150_0x33fe04;if(!_0x60697[_0x1cb278(0x13c)])return;if(!_0x60697[_0x1cb278(0x139)](_0x1cb278(0x123))['trim']())throw CliErrors[_0x1cb278(0x138)](_0x1cb278(0x123),'--name\x20is\x20required\x20in\x20non-interactive\x20mode.');const _0x42e3c3=resolveProvidedDbId(_0x60697);if(typeof _0x42e3c3!==_0x1cb278(0x10a)||!Number[_0x1cb278(0x127)](_0x42e3c3)||_0x42e3c3<=0x0)throw CliErrors[_0x1cb278(0x138)](_0x1cb278(0x11e),_0x1cb278(0x13b));if(!_0x60697['str'](_0x1cb278(0x118))[_0x1cb278(0x129)]())throw CliErrors['flagMissing'](_0x1cb278(0x118),_0x1cb278(0x11d));},async 'dryRun'(_0x4bfcbc){const _0x569c6c=a150_0x33fe04,_0x216756=loadSqlProjectConfig(_0x4bfcbc['appCode']),{sqlName:_0x20598a,dbId:_0x24ce52,dbName:_0x1541a5,mode:_0x4b9a84}=await resolveSqlNewInputs(_0x4bfcbc),_0x305367=buildSqlRelativePath(_0x569c6c(0x143),_0x20598a,_0x1541a5,_0x4b9a84,_0x24ce52),_0x2da3df=_0x216756[_0x569c6c(0x119)]+'/'+_0x305367;return{'method':_0x569c6c(0x148),'url':_0x569c6c(0x144),'body':{'appCode':_0x4bfcbc[_0x569c6c(0x140)],'sqlName':_0x20598a,'dbId':_0x24ce52,'mode':_0x4b9a84,'localPath':_0x2da3df},'description':_0x569c6c(0x115)+_0x216756[_0x569c6c(0x119)]};},async 'execute'(_0x3acf7e){const _0x3a74cf=a150_0x33fe04,_0x391fd5=loadSqlProjectConfig(_0x3acf7e[_0x3a74cf(0x140)]),{sqlName:_0x244db6,dbId:_0x28761d,dbName:_0x46382c,mode:_0x33ff85}=await resolveSqlNewInputs(_0x3acf7e),_0x552578=generateSqlTemplate(_0x33ff85),_0x553065=await createSqlQuery({'appCode':_0x3acf7e['appCode'],'sqlName':_0x244db6,'dbId':_0x28761d,'sqlContent':_0x552578}),_0x4df0cc=ensureRemoteSqlContent(_0x553065),_0x43ba4b=_0x46382c||await getDbName(_0x3acf7e['appCode'],_0x28761d)[_0x3a74cf(0x11a)](()=>undefined),_0x4f7f05=buildSqlRelativePath(_0x553065['sqlCode'],_0x553065[_0x3a74cf(0x132)],_0x43ba4b,_0x33ff85,_0x28761d),_0x37e996=_0x391fd5[_0x3a74cf(0x119)]+'/'+_0x4f7f05,_0x2a05b0=buildLocalSqlFileContent({'sqlCode':_0x553065[_0x3a74cf(0x137)],'sqlName':_0x553065['sqlName'],'dbId':_0x553065[_0x3a74cf(0x120)]},_0x4df0cc,{'dbName':_0x43ba4b,'mode':_0x33ff85,'syncedAt':new Date()['toISOString'](),'description':_0x553065[_0x3a74cf(0x141)]});if(await fileExists(_0x37e996))throw CliErrors[_0x3a74cf(0x130)](_0x3a74cf(0x128)+_0x37e996);await ensureParentDirectory(_0x37e996),await writeFile(_0x37e996,_0x2a05b0,'utf8');const _0x10af88=await readSqlLockFile(_0x391fd5[_0x3a74cf(0x13d)]),{lockData:_0x134f49,appLock:_0x873a55}=ensureSqlLockScope(_0x10af88??createEmptySqlLock(),_0x391fd5['appCode'],_0x391fd5[_0x3a74cf(0x125)],_0x3a74cf(0x112));return _0x873a55[_0x3a74cf(0x145)][_0x553065[_0x3a74cf(0x137)]]={...buildSqlLockEntry(_0x553065,_0x4df0cc,computeSqlContentHash(_0x2a05b0),{'dbName':_0x43ba4b}),'path':_0x4f7f05,'mode':_0x33ff85},_0x873a55[_0x3a74cf(0x136)]=new Date()[_0x3a74cf(0x10c)](),await writeSqlLockFile(_0x391fd5[_0x3a74cf(0x13d)],_0x134f49),{'ok':!![],'data':{'id':_0x553065['id'],'sqlCode':_0x553065['sqlCode'],'sqlName':_0x553065[_0x3a74cf(0x132)],'dbId':_0x553065[_0x3a74cf(0x120)],'path':_0x37e996,'mode':_0x33ff85},'message':_0x3a74cf(0x12b)+_0x553065[_0x3a74cf(0x137)]};}};async function resolveSqlNewInputs(_0x452f1b){const _0x1d6505=await resolveSqlNameInput(_0x452f1b),{dbId:_0x295e43,dbName:_0x48d49b}=await resolveDbSelection(_0x452f1b),_0x41cdbf=await resolveSqlModeInput(_0x452f1b);return{'sqlName':_0x1d6505,'dbId':_0x295e43,'dbName':_0x48d49b,'mode':_0x41cdbf};}async function resolveSqlNameInput(_0x242f27){const _0x54950d=a150_0x33fe04,_0x57b0b2=_0x242f27[_0x54950d(0x139)]('name')[_0x54950d(0x129)]();if(_0x57b0b2)return _0x57b0b2;if(_0x242f27[_0x54950d(0x13c)])throw CliErrors[_0x54950d(0x138)](_0x54950d(0x123),'--name\x20is\x20required\x20in\x20non-interactive\x20mode.');return(await input({'message':_0x54950d(0x116),'validate':_0x31deff=>_0x31deff[_0x54950d(0x129)]()?!![]:_0x54950d(0x10e)}))[_0x54950d(0x129)]();}async function resolveDbSelection(_0x23e716){const _0x2958aa=a150_0x33fe04,_0x3ff1fa=resolveProvidedDbId(_0x23e716);if(typeof _0x3ff1fa===_0x2958aa(0x10a)&&Number[_0x2958aa(0x127)](_0x3ff1fa)&&_0x3ff1fa>0x0)return{'dbId':_0x3ff1fa,'dbName':await getDbName(_0x23e716[_0x2958aa(0x140)],_0x3ff1fa)['catch'](()=>undefined)};if(_0x23e716[_0x2958aa(0x13c)])throw CliErrors[_0x2958aa(0x138)]('db-id',_0x2958aa(0x13b));const _0x5e312e=await listDatabases(_0x23e716[_0x2958aa(0x140)])[_0x2958aa(0x11a)](()=>[]);if(_0x5e312e[_0x2958aa(0x111)]===0x1)return{'dbId':_0x5e312e[0x0][_0x2958aa(0x120)],'dbName':_0x5e312e[0x0]['dbName']};if(_0x5e312e[_0x2958aa(0x111)]>0x1){const _0x55577f=await select({'message':_0x2958aa(0x126),'choices':[..._0x5e312e[_0x2958aa(0x149)](_0x1f0991=>({'name':_0x1f0991['dbName']+'\x20('+_0x1f0991[_0x2958aa(0x120)]+')','value':serializeDbSelection(_0x1f0991)})),{'name':'✎\x20手动输入\x20dbId','value':'__manual__'}]});if(_0x55577f!==_0x2958aa(0x11b))return deserializeDbSelection(_0x55577f);}const _0x5ed04f=await input({'message':'请输入目标数据库\x20dbId:','validate':_0x40b798=>{const _0x253052=_0x2958aa,_0x38f329=_0x40b798[_0x253052(0x129)]();if(!_0x38f329)return _0x253052(0x146);const _0x557ad8=Number(_0x38f329);if(!Number['isInteger'](_0x557ad8)||_0x557ad8<=0x0)return _0x253052(0x13a);return!![];}});return{'dbId':Number(_0x5ed04f['trim']())};}function a150_0x1543(_0x4a5358,_0x35569b){_0x4a5358=_0x4a5358-0x10a;const _0x55d8dd=a150_0x55d8();let _0x1543f8=_0x55d8dd[_0x4a5358];return _0x1543f8;}async function resolveSqlModeInput(_0x2b8f65){const _0x4f524c=a150_0x33fe04,_0x14de6f=_0x2b8f65[_0x4f524c(0x139)](_0x4f524c(0x118))[_0x4f524c(0x129)]();if(_0x14de6f===_0x4f524c(0x10f)||_0x14de6f===_0x4f524c(0x13f))return _0x14de6f;if(_0x2b8f65[_0x4f524c(0x13c)])throw CliErrors[_0x4f524c(0x138)](_0x4f524c(0x118),_0x4f524c(0x11d));return await select({'message':_0x4f524c(0x113),'choices':[{'name':'普通\x20SQL(sql)','value':_0x4f524c(0x10f),'description':_0x4f524c(0x133)},{'name':_0x4f524c(0x14b),'value':_0x4f524c(0x13f),'description':'适合带动态标签的\x20MyBatis\x20XML\x20SQL'}]});}function serializeDbSelection(_0x48f1d9){const _0x4e68c2=a150_0x33fe04;return JSON['stringify']({'dbId':_0x48f1d9[_0x4e68c2(0x120)],'dbName':_0x48f1d9[_0x4e68c2(0x12e)]});}function deserializeDbSelection(_0x272332){const _0x44bd2b=a150_0x33fe04;try{const _0xada654=JSON[_0x44bd2b(0x10b)](_0x272332);if(typeof _0xada654['dbId']==='number'&&Number[_0x44bd2b(0x127)](_0xada654[_0x44bd2b(0x120)]))return{'dbId':_0xada654['dbId'],'dbName':_0xada654[_0x44bd2b(0x12e)]};}catch{}throw CliErrors[_0x44bd2b(0x130)]('Invalid\x20database\x20selection\x20payload:\x20'+_0x272332);}function resolveProvidedDbId(_0x2894a2){const _0x5ba3e0=a150_0x33fe04,_0xaaf422=_0x2894a2[_0x5ba3e0(0x117)]('db-id');if(typeof _0xaaf422===_0x5ba3e0(0x10a)&&Number['isFinite'](_0xaaf422))return _0xaaf422;return undefined;}