@lovrabet/rabetbase-cli 2.5.3-beta.3 → 2.5.3-beta.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 (361) hide show
  1. package/lib/api/api-doc.js +1 -1
  2. package/lib/api/api-group.js +1 -1
  3. package/lib/api/fetch-model-list.js +1 -1
  4. package/lib/api/generate-api-file.js +1 -1
  5. package/lib/api/generate-sdk-config-file.js +1 -1
  6. package/lib/api/legacy-api-file.js +1 -1
  7. package/lib/api/model-registry-file.js +1 -1
  8. package/lib/api/model-registry-scaffold.js +1 -1
  9. package/lib/api/model-source.js +1 -1
  10. package/lib/auth/auth-server-ui.js +1 -1
  11. package/lib/auth/auth-server.js +1 -1
  12. package/lib/auth/constant.js +1 -1
  13. package/lib/auth/get-cookie.js +1 -1
  14. package/lib/auth/get-session-user.js +1 -1
  15. package/lib/auth/is-session-valid.js +1 -1
  16. package/lib/auth/login-success-html.js +1 -1
  17. package/lib/auth/logout.js +1 -1
  18. package/lib/cli-flags.js +1 -1
  19. package/lib/cli.js +1 -1
  20. package/lib/commands/api/generate.js +1 -1
  21. package/lib/commands/api/index.js +1 -1
  22. package/lib/commands/api/list.js +1 -1
  23. package/lib/commands/api/pull.js +1 -1
  24. package/lib/commands/api/shared.js +1 -1
  25. package/lib/commands/app/index.js +1 -1
  26. package/lib/commands/app/list.js +1 -1
  27. package/lib/commands/app/members-list.js +1 -1
  28. package/lib/commands/app/remote-directory.js +1 -1
  29. package/lib/commands/app/shared.js +1 -1
  30. package/lib/commands/app-config/delete.js +1 -1
  31. package/lib/commands/app-config/get.js +1 -1
  32. package/lib/commands/app-config/index.js +1 -1
  33. package/lib/commands/app-config/list.js +1 -1
  34. package/lib/commands/app-config/set.js +1 -1
  35. package/lib/commands/app-config/shared.js +1 -1
  36. package/lib/commands/auth/index.js +1 -1
  37. package/lib/commands/bff/create.js +1 -1
  38. package/lib/commands/bff/delete.js +1 -1
  39. package/lib/commands/bff/detail.js +1 -1
  40. package/lib/commands/bff/index.js +1 -1
  41. package/lib/commands/bff/list.js +1 -1
  42. package/lib/commands/bff/logs.js +1 -1
  43. package/lib/commands/bff/pull.js +1 -1
  44. package/lib/commands/bff/push.js +1 -1
  45. package/lib/commands/bff/status.js +1 -1
  46. package/lib/commands/cli-skill/index.js +1 -1
  47. package/lib/commands/cli-update.js +1 -1
  48. package/lib/commands/codegen/index.js +1 -1
  49. package/lib/commands/codegen/sdk.js +1 -1
  50. package/lib/commands/codegen/sql.js +1 -1
  51. package/lib/commands/common/app-registry.js +1 -1
  52. package/lib/commands/common/app-selector.js +1 -1
  53. package/lib/commands/common/async-task.js +1 -1
  54. package/lib/commands/common/dry-run.js +1 -1
  55. package/lib/commands/common/flags.js +1 -1
  56. package/lib/commands/common/local-file.js +1 -1
  57. package/lib/commands/common/validate.js +1 -1
  58. package/lib/commands/config/delete.js +1 -1
  59. package/lib/commands/config/get.js +1 -1
  60. package/lib/commands/config/index.js +1 -1
  61. package/lib/commands/config/init.js +1 -1
  62. package/lib/commands/config/list.js +1 -1
  63. package/lib/commands/config/set.js +1 -1
  64. package/lib/commands/config/shared.js +1 -1
  65. package/lib/commands/dataset/batch-design.js +1 -1
  66. package/lib/commands/dataset/business-group-update.js +1 -1
  67. package/lib/commands/dataset/business-groups.js +1 -1
  68. package/lib/commands/dataset/capability.js +1 -1
  69. package/lib/commands/dataset/cross-relation-create.js +1 -1
  70. package/lib/commands/dataset/cross-relation-delete.js +1 -1
  71. package/lib/commands/dataset/cross-relation-list.js +1 -1
  72. package/lib/commands/dataset/cross-relation-shared.js +1 -1
  73. package/lib/commands/dataset/cross-relation-update.js +1 -1
  74. package/lib/commands/dataset/delete.js +1 -1
  75. package/lib/commands/dataset/detail.js +1 -1
  76. package/lib/commands/dataset/extend-update.js +1 -1
  77. package/lib/commands/dataset/field-restore.js +1 -1
  78. package/lib/commands/dataset/field-update.js +1 -1
  79. package/lib/commands/dataset/generate.js +1 -1
  80. package/lib/commands/dataset/index.js +1 -1
  81. package/lib/commands/dataset/list.js +1 -1
  82. package/lib/commands/dataset/operations.js +1 -1
  83. package/lib/commands/dataset/relation-audit.js +1 -1
  84. package/lib/commands/dataset/relation-create.js +1 -1
  85. package/lib/commands/dataset/relation-delete.js +1 -1
  86. package/lib/commands/dataset/relation-shared.js +1 -1
  87. package/lib/commands/dataset/relation-update.js +1 -1
  88. package/lib/commands/dataset/relations.js +1 -1
  89. package/lib/commands/dataset/rename.js +1 -1
  90. package/lib/commands/dataset/restore.js +1 -1
  91. package/lib/commands/dataset/user-deleted-field-list.js +1 -1
  92. package/lib/commands/db/analysis-batching.js +1 -1
  93. package/lib/commands/db/analyze-batch-plan.js +1 -1
  94. package/lib/commands/db/analyze-cancel.js +1 -1
  95. package/lib/commands/db/analyze-start.js +1 -1
  96. package/lib/commands/db/analyze-status.js +1 -1
  97. package/lib/commands/db/create.js +1 -1
  98. package/lib/commands/db/delete.js +1 -1
  99. package/lib/commands/db/detail.js +1 -1
  100. package/lib/commands/db/diff-refresh-start.js +1 -1
  101. package/lib/commands/db/diff-refresh-status.js +1 -1
  102. package/lib/commands/db/diff.js +1 -1
  103. package/lib/commands/db/index.js +1 -1
  104. package/lib/commands/db/list.js +1 -1
  105. package/lib/commands/db/shared.js +1 -1
  106. package/lib/commands/db/table-diff-shared.js +1 -1
  107. package/lib/commands/db/tables.js +1 -1
  108. package/lib/commands/db/test.js +1 -1
  109. package/lib/commands/db/update.js +1 -1
  110. package/lib/commands/deployment/index.js +1 -1
  111. package/lib/commands/deployment/sync-all.js +1 -1
  112. package/lib/commands/deployment/sync-jobs.js +1 -1
  113. package/lib/commands/deployment/sync-status.js +1 -1
  114. package/lib/commands/doctor.js +1 -1
  115. package/lib/commands/file/index.js +1 -1
  116. package/lib/commands/flow/create.js +1 -1
  117. package/lib/commands/flow/detail.js +1 -1
  118. package/lib/commands/flow/index.js +1 -1
  119. package/lib/commands/flow/list.js +1 -1
  120. package/lib/commands/flow/publish.js +1 -1
  121. package/lib/commands/flow/runtime-resources-shared.js +1 -1
  122. package/lib/commands/flow/runtime-role-list.js +1 -1
  123. package/lib/commands/flow/runtime-role-user-list.js +1 -1
  124. package/lib/commands/flow/runtime-user-search.js +1 -1
  125. package/lib/commands/flow/shared.js +1 -1
  126. package/lib/commands/flow/update.js +1 -1
  127. package/lib/commands/flow/validate.js +1 -1
  128. package/lib/commands/instant-api-policy/current.js +1 -1
  129. package/lib/commands/instant-api-policy/index.js +1 -1
  130. package/lib/commands/instant-api-policy/init.js +1 -1
  131. package/lib/commands/instant-api-policy/publish.js +1 -1
  132. package/lib/commands/instant-api-policy/pull.js +1 -1
  133. package/lib/commands/instant-api-policy/revision.js +1 -1
  134. package/lib/commands/instant-api-policy/revisions.js +1 -1
  135. package/lib/commands/instant-api-policy/rollback.js +1 -1
  136. package/lib/commands/instant-api-policy/shared.js +1 -1
  137. package/lib/commands/instant-api-policy/validate.js +1 -1
  138. package/lib/commands/issue/index.js +1 -1
  139. package/lib/commands/issue/nudge.js +1 -1
  140. package/lib/commands/issue/report.js +1 -1
  141. package/lib/commands/issue/shared.js +1 -1
  142. package/lib/commands/kb/create.js +1 -1
  143. package/lib/commands/kb/delete.js +1 -1
  144. package/lib/commands/kb/detail.js +1 -1
  145. package/lib/commands/kb/index.js +1 -1
  146. package/lib/commands/kb/list.js +1 -1
  147. package/lib/commands/kb/search.js +1 -1
  148. package/lib/commands/kb/shared.js +1 -1
  149. package/lib/commands/kb/update.js +1 -1
  150. package/lib/commands/logs/index.js +1 -1
  151. package/lib/commands/menu/asset-update.js +1 -1
  152. package/lib/commands/menu/delete.js +1 -1
  153. package/lib/commands/menu/external-link-create.js +1 -1
  154. package/lib/commands/menu/external-link-update.js +1 -1
  155. package/lib/commands/menu/group-create.js +1 -1
  156. package/lib/commands/menu/group-update.js +1 -1
  157. package/lib/commands/menu/index.js +1 -1
  158. package/lib/commands/menu/list.js +1 -1
  159. package/lib/commands/menu/move.js +1 -1
  160. package/lib/commands/menu/regroup-start.js +1 -1
  161. package/lib/commands/menu/rename.js +1 -1
  162. package/lib/commands/menu/shared/compare-table.js +1 -1
  163. package/lib/commands/menu/shared/delete-plan.js +1 -1
  164. package/lib/commands/menu/shared/facts.js +1 -1
  165. package/lib/commands/menu/shared/index.js +1 -1
  166. package/lib/commands/menu/shared/inquirer.js +1 -1
  167. package/lib/commands/menu/shared/local-pages.js +1 -1
  168. package/lib/commands/menu/shared/logic.js +1 -1
  169. package/lib/commands/menu/shared/mutations.js +1 -1
  170. package/lib/commands/menu/shared/service.js +1 -1
  171. package/lib/commands/menu/shared/sync-core.js +1 -1
  172. package/lib/commands/menu/shared/update-core.js +1 -1
  173. package/lib/commands/menu/shared/valid-url.js +1 -1
  174. package/lib/commands/menu/sync.js +1 -1
  175. package/lib/commands/menu/visibility-update.js +1 -1
  176. package/lib/commands/notification/config-create.js +1 -1
  177. package/lib/commands/notification/config-delete.js +1 -1
  178. package/lib/commands/notification/config-list.js +1 -1
  179. package/lib/commands/notification/config-update.js +1 -1
  180. package/lib/commands/notification/index.js +1 -1
  181. package/lib/commands/notification/shared.js +1 -1
  182. package/lib/commands/ocr/index.js +1 -1
  183. package/lib/commands/page/create.js +1 -1
  184. package/lib/commands/page/custom/detail.js +1 -1
  185. package/lib/commands/page/custom/list.js +1 -1
  186. package/lib/commands/page/custom/publish.js +1 -1
  187. package/lib/commands/page/custom/shared.js +1 -1
  188. package/lib/commands/page/custom/syntax.js +1 -1
  189. package/lib/commands/page/custom/update.js +1 -1
  190. package/lib/commands/page/data-list-status.js +1 -1
  191. package/lib/commands/page/generate-start.js +1 -1
  192. package/lib/commands/page/generate-status.js +1 -1
  193. package/lib/commands/page/index.js +1 -1
  194. package/lib/commands/page/pull.js +1 -1
  195. package/lib/commands/page/push.js +1 -1
  196. package/lib/commands/page/relation-audit.js +1 -1
  197. package/lib/commands/page/restore.js +1 -1
  198. package/lib/commands/page/shared.js +1 -1
  199. package/lib/commands/page/sync.js +1 -1
  200. package/lib/commands/project/api-architecture-upgrade.js +1 -1
  201. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  202. package/lib/commands/project/create/format-elapsed.js +1 -1
  203. package/lib/commands/project/create/main.js +1 -1
  204. package/lib/commands/project/create/materialize-project-template.js +1 -1
  205. package/lib/commands/project/create/project-name.js +1 -1
  206. package/lib/commands/project/create/project-template-archive.js +1 -1
  207. package/lib/commands/project/create/project-template-path.js +1 -1
  208. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  209. package/lib/commands/project/create/use-format-code.js +1 -1
  210. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  211. package/lib/commands/project/domain-routing-sync.js +1 -1
  212. package/lib/commands/project/index.js +1 -1
  213. package/lib/commands/project/upgrade.js +1 -1
  214. package/lib/commands/registry.js +1 -1
  215. package/lib/commands/role/delete.js +1 -1
  216. package/lib/commands/role/detail.js +1 -1
  217. package/lib/commands/role/index.js +1 -1
  218. package/lib/commands/role/list.js +1 -1
  219. package/lib/commands/role/shared.js +1 -1
  220. package/lib/commands/role/update.js +1 -1
  221. package/lib/commands/role/user-add.js +1 -1
  222. package/lib/commands/role/user-remove.js +1 -1
  223. package/lib/commands/role/user-resolve.js +1 -1
  224. package/lib/commands/rule/get.js +1 -1
  225. package/lib/commands/rule/index.js +1 -1
  226. package/lib/commands/rule/list.js +1 -1
  227. package/lib/commands/rule/set.js +1 -1
  228. package/lib/commands/rule/shared.js +1 -1
  229. package/lib/commands/run/index.js +1 -1
  230. package/lib/commands/schema.js +1 -1
  231. package/lib/commands/sql/create.js +1 -1
  232. package/lib/commands/sql/delete.js +1 -1
  233. package/lib/commands/sql/detail.js +1 -1
  234. package/lib/commands/sql/exec.js +1 -1
  235. package/lib/commands/sql/index.js +1 -1
  236. package/lib/commands/sql/list.js +1 -1
  237. package/lib/commands/sql/pull.js +1 -1
  238. package/lib/commands/sql/push.js +1 -1
  239. package/lib/commands/sql/shared.js +1 -1
  240. package/lib/commands/sql/status.js +1 -1
  241. package/lib/commands/sql/validate.js +1 -1
  242. package/lib/commands/task/index.js +1 -1
  243. package/lib/commands/task/status.js +1 -1
  244. package/lib/commands/tenant/index.js +1 -1
  245. package/lib/commands/tenant/members-list.js +1 -1
  246. package/lib/commands/tenant/shared.js +1 -1
  247. package/lib/commands/user-account/dingding-sandbox-bind.js +1 -1
  248. package/lib/commands/user-account/index.js +1 -1
  249. package/lib/commands/workspace/add.js +1 -1
  250. package/lib/commands/workspace/index.js +1 -1
  251. package/lib/commands/workspace/remove.js +1 -1
  252. package/lib/config/domain-config.js +1 -1
  253. package/lib/config/project-domain-routing.js +1 -1
  254. package/lib/config/region-config.js +1 -1
  255. package/lib/config/schema.js +1 -1
  256. package/lib/constant/cdn.d.ts +5 -3
  257. package/lib/constant/cdn.js +1 -1
  258. package/lib/constant/cli.js +1 -1
  259. package/lib/constant/defaults.js +1 -1
  260. package/lib/constant/domain.js +1 -1
  261. package/lib/constant/env.js +1 -1
  262. package/lib/constant/output.js +1 -1
  263. package/lib/constant/paths.js +1 -1
  264. package/lib/constant/region.js +1 -1
  265. package/lib/constant/risk.js +1 -1
  266. package/lib/constant/routing-profile.js +1 -1
  267. package/lib/context/app-resolver.js +1 -1
  268. package/lib/context/auth-resolver.js +1 -1
  269. package/lib/context/config-loader.js +1 -1
  270. package/lib/context.js +1 -1
  271. package/lib/core/alias-resolver.js +1 -1
  272. package/lib/core/api-client.js +1 -1
  273. package/lib/core/bff/config.js +1 -1
  274. package/lib/core/bff/file-system.js +1 -1
  275. package/lib/core/bff/hash.js +1 -1
  276. package/lib/core/bff/hook-directory.js +1 -1
  277. package/lib/core/bff/lock.js +1 -1
  278. package/lib/core/bff/utils.js +1 -1
  279. package/lib/core/cross-db-relation.js +1 -1
  280. package/lib/core/db-resolver.js +1 -1
  281. package/lib/core/flow-config.js +1 -1
  282. package/lib/core/instant-api-policy/config.js +1 -1
  283. package/lib/core/kb-search-client.js +1 -1
  284. package/lib/core/page/file-system.js +1 -1
  285. package/lib/core/page/hash.js +1 -1
  286. package/lib/core/page/lock.js +1 -1
  287. package/lib/core/page/lr-smart-jsx.js +1 -1
  288. package/lib/core/sql-index-auditor.js +1 -1
  289. package/lib/core/sql-sync/config.js +1 -1
  290. package/lib/core/sql-sync/file-system.js +1 -1
  291. package/lib/core/sql-sync/hash.js +1 -1
  292. package/lib/core/sql-sync/lock.js +1 -1
  293. package/lib/core/sql-sync/utils.js +1 -1
  294. package/lib/core/sql-validator.js +1 -1
  295. package/lib/errors.js +1 -1
  296. package/lib/framework/build-all-flags.js +1 -1
  297. package/lib/framework/error-output.js +1 -1
  298. package/lib/framework/explicit-yes.js +1 -1
  299. package/lib/framework/flags.js +1 -1
  300. package/lib/framework/help.js +1 -1
  301. package/lib/framework/index.js +1 -1
  302. package/lib/framework/output.js +1 -1
  303. package/lib/framework/response.js +1 -1
  304. package/lib/framework/runner-alias.js +1 -1
  305. package/lib/framework/runner.js +1 -1
  306. package/lib/framework/schema-export.js +1 -1
  307. package/lib/framework/supported-flags.js +1 -1
  308. package/lib/framework/types.js +1 -1
  309. package/lib/generated/build-info.d.ts +4 -4
  310. package/lib/generated/build-info.js +1 -1
  311. package/lib/generated/official-routing.js +1 -1
  312. package/lib/generated/routing-contract.js +1 -1
  313. package/lib/help.js +1 -1
  314. package/lib/postinstall.js +1 -1
  315. package/lib/runtime/confirmation.js +1 -1
  316. package/lib/runtime/event.js +1 -1
  317. package/lib/runtime/index.js +1 -1
  318. package/lib/runtime/queue.js +1 -1
  319. package/lib/runtime/resolve.js +1 -1
  320. package/lib/skills/builtin-skill.js +1 -1
  321. package/lib/skills/main.js +1 -1
  322. package/lib/skills/npx-skills-add.js +1 -1
  323. package/lib/skills/skill-presence.js +1 -1
  324. package/lib/telemetry/cli-command-trace.js +1 -1
  325. package/lib/telemetry/cli-help-trace.js +1 -1
  326. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  327. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  328. package/lib/telemetry/send-cli-trace-log.js +1 -1
  329. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  330. package/lib/utils/ai_config.js +1 -1
  331. package/lib/utils/apply-jq-filter.js +1 -1
  332. package/lib/utils/cdn-config.js +1 -1
  333. package/lib/utils/check-sdk-version.js +1 -1
  334. package/lib/utils/cli-version-check.js +1 -1
  335. package/lib/utils/cli-version-policy.d.ts +7 -0
  336. package/lib/utils/cli-version-policy.js +1 -1
  337. package/lib/utils/config.js +1 -1
  338. package/lib/utils/entity-with-id.js +1 -1
  339. package/lib/utils/file-utils.js +1 -1
  340. package/lib/utils/guides-cdn.js +1 -1
  341. package/lib/utils/http-client.js +1 -1
  342. package/lib/utils/is-non-interactive.js +1 -1
  343. package/lib/utils/logger.js +1 -1
  344. package/lib/utils/params.js +1 -1
  345. package/lib/utils/platform.js +1 -1
  346. package/lib/utils/sleep.js +1 -1
  347. package/lib/utils/template-replacer.js +1 -1
  348. package/lib/utils/update-notice.js +1 -1
  349. package/lib/utils/version.js +1 -1
  350. package/lib/utils/with-active-cookie.js +1 -1
  351. package/lib/utils/write-cli-side-channel.js +1 -1
  352. package/package.json +3 -1
  353. package/skills/rabetbase/SKILL.md +7 -5
  354. package/skills/rabetbase/guides/backend-function.md +5 -1
  355. package/skills/rabetbase/guides/bff-creation-workflow.md +3 -1
  356. package/skills/rabetbase/guides/cross-database-bff.md +70 -0
  357. package/skills/rabetbase/guides/data-api-guidelines.md +35 -33
  358. package/skills/rabetbase/guides/sql-creation-workflow.md +2 -0
  359. package/skills/rabetbase/references/rabetbase-dataset-cross-relations.md +5 -1
  360. package/skills/rabetbase.manifest.json +4 -3
  361. package/templates/README.md +41 -13
@@ -1 +1 @@
1
- (function(_0x18570a,_0x2eca23){const _0xae6c1e=a213_0x197a,_0x43ac79=_0x18570a();while(!![]){try{const _0x1264ed=-parseInt(_0xae6c1e(0x1ea))/0x1+-parseInt(_0xae6c1e(0x1d3))/0x2*(-parseInt(_0xae6c1e(0x1ab))/0x3)+parseInt(_0xae6c1e(0x1bf))/0x4+-parseInt(_0xae6c1e(0x1b3))/0x5+parseInt(_0xae6c1e(0x1d5))/0x6*(-parseInt(_0xae6c1e(0x1e3))/0x7)+-parseInt(_0xae6c1e(0x1a8))/0x8+parseInt(_0xae6c1e(0x1e4))/0x9;if(_0x1264ed===_0x2eca23)break;else _0x43ac79['push'](_0x43ac79['shift']());}catch(_0x408218){_0x43ac79['push'](_0x43ac79['shift']());}}}(a213_0xf1bb,0x70f70));function a213_0xf1bb(){const _0x329da7=['apiArchitecture','Step\x201/2:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','1165656lxzBVh','source\x20structure\x20is\x20current','log','up-to-date','Application\x20source:','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','profiles','Upgrade\x20@lovrabet/sdk','CANCEL','\x20\x20Step\x20','yes','manualMergeRequired','succeed','\x20\x20\x20\x20','Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.','candidate\x20entrypoints\x20written;\x20manual\x20merge\x20required','object','Step\x202/2:\x20Upgrading\x20application\x20source\x20structure...','\x20→\x20','message','1112igJUfs','needed','44532WnaDnf','Upgrade\x20completed\x20successfully!','[\x22@lovrabet/sdk\x22]:\x20','join','path','green','white','candidatePath','\x20\x20Historical\x20ungrouped\x20multi-app\x20directories\x20keep\x20their\x20prefixed\x20API\x20files.','Your\x20project\x20is\x20already\x20up-to-date.','FAIL','string','utf8','\x20\x20npm\x20install','378aBVIge','15270003wPnxaF','cyan','\x20\x20\x20\x20\x20\x20\x20','Upgrade\x20candidates\x20were\x20written,\x20but\x20project-owned\x20source\x20files\x20still\x20require\x20manual\x20merging.','step','fail','224491hBzRgV','red','skippedLegacyDirectories','cwd','failed','gray','devDependencies','Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','\x20\x20Current\x20version\x20in\x20','===\x20Upgrade\x20Analysis\x20===','\x20\x20bun\x20install','groups','bold','done','Upgrade\x20cancelled.','@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.','files','Upgrade\x20application\x20source','apiDir','some','upgrade\x20needed','6941776jqIZbh','@lovrabet/sdk:','\x20→\x20latest','609hPbnSK','label','latest','yellow','sdkUpgrade','push','\x20\x20\x20\x20\x20\x20candidate:\x20','start','726220SNmEDr','detail','stringify','length','===\x20Upgrade\x20Summary\x20===','\x20\x20#\x20or','padEnd','Step\x202/2:\x20Application\x20source\x20—\x20','parse','@lovrabet/sdk'];a213_0xf1bb=function(){return _0x329da7;};return a213_0xf1bb();}import a213_0x26a15c from'chalk';import a213_0xbf568c from'ora';import{existsSync,readFileSync,writeFileSync}from'node:fs';import{resolve}from'node:path';function a213_0x197a(_0x1fd2e1,_0x2a7bdc){_0x1fd2e1=_0x1fd2e1-0x196;const _0xf1bbaf=a213_0xf1bb();let _0x197a52=_0xf1bbaf[_0x1fd2e1];return _0x197a52;}import{askConfirm}from'../../commands/menu/shared/inquirer.js';import{analyzeProjectApiArchitecture,upgradeProjectApiArchitecture}from'../../commands/project/api-architecture-upgrade.js';import{NEW_CONFIG_NAME}from'../../context.js';function readProjectConfig(_0x3b0b2e){const _0x1948eb=a213_0x197a;try{const _0x2d6620=JSON[_0x1948eb(0x1bb)](readFileSync(_0x3b0b2e,_0x1948eb(0x1e1)));return _0x2d6620&&typeof _0x2d6620===_0x1948eb(0x1cf)?_0x2d6620:{};}catch{return{};}}export function analyseProjectUpgrade(_0x17894c){const _0x344593=a213_0x197a;let _0x138497=null;const _0x11831a=resolve(_0x17894c,'package.json');if(existsSync(_0x11831a))try{const _0x15d002=JSON[_0x344593(0x1bb)](readFileSync(_0x11831a,'utf8'));for(const _0x22e17a of['dependencies',_0x344593(0x199)]){const _0x123df9=_0x15d002?.[_0x22e17a]?.['@lovrabet/sdk'];if(typeof _0x123df9===_0x344593(0x1e0)){_0x123df9!==_0x344593(0x1ad)&&(_0x138497={'pkgPath':_0x11831a,'currentVersion':_0x123df9,'field':_0x22e17a});break;}}}catch{}const _0x340930=resolve(_0x17894c,NEW_CONFIG_NAME),_0x2e7c86=existsSync(_0x340930)?readProjectConfig(_0x340930):{},_0x54aa91=analyzeProjectApiArchitecture(_0x17894c,_0x2e7c86);return{'sdkUpgrade':_0x138497,'apiArchitecture':_0x54aa91};}function printReport(_0x50a889){const _0x41683e=a213_0x197a;console[_0x41683e(0x1c1)](''),console['log'](a213_0x26a15c[_0x41683e(0x19f)](_0x41683e(0x19c))),console[_0x41683e(0x1c1)](''),console[_0x41683e(0x1c1)](a213_0x26a15c[_0x41683e(0x1e5)](_0x41683e(0x1c3))+('\x20\x20'+(_0x50a889[_0x41683e(0x1bd)][_0x41683e(0x1d4)]?a213_0x26a15c['yellow'](_0x41683e(0x1a7)):a213_0x26a15c[_0x41683e(0x1da)](_0x41683e(0x1c2)))));for(const _0x442e6c of _0x50a889[_0x41683e(0x1bd)][_0x41683e(0x19e)]){console['log']('\x20\x20'+_0x442e6c[_0x41683e(0x1a5)]+'\x20('+_0x442e6c[_0x41683e(0x1c5)][_0x41683e(0x1d8)](',\x20')+')');for(const _0x41f3de of _0x442e6c[_0x41683e(0x1a3)]){console['log'](_0x41683e(0x1cc)+_0x41f3de['action'][_0x41683e(0x1b9)](0x11)+'\x20'+_0x41f3de[_0x41683e(0x1d9)]),_0x41f3de[_0x41683e(0x1dc)]&&console['log'](_0x41683e(0x1b1)+_0x41f3de[_0x41683e(0x1dc)]);}}_0x50a889[_0x41683e(0x1bd)][_0x41683e(0x1ec)][_0x41683e(0x1b6)]>0x0&&console['log'](_0x41683e(0x1dd));console['log']('');if(_0x50a889[_0x41683e(0x1af)]){const {currentVersion:_0x53df54,field:_0x472494,pkgPath:_0x54a3b3}=_0x50a889['sdkUpgrade'];console[_0x41683e(0x1c1)](a213_0x26a15c[_0x41683e(0x1e5)](_0x41683e(0x1a9))+('\x20\x20'+a213_0x26a15c['yellow'](_0x54a3b3))),console[_0x41683e(0x1c1)](_0x41683e(0x19b)+_0x472494+':\x20'+a213_0x26a15c['yellow'](_0x53df54)+_0x41683e(0x1d1)+a213_0x26a15c[_0x41683e(0x1da)](_0x41683e(0x1ad))),console['log'](_0x41683e(0x1c4));}else console[_0x41683e(0x1c1)](a213_0x26a15c[_0x41683e(0x1e5)]('@lovrabet/sdk:')+'\x20\x20'+a213_0x26a15c['gray']('not\x20found\x20or\x20already\x20at\x20latest'));console[_0x41683e(0x1c1)]('');}function execUpgradeSdk(_0x57b9d0){const _0xa6be91=a213_0x197a;if(!_0x57b9d0[_0xa6be91(0x1af)])return{'step':0x1,'label':_0xa6be91(0x1c6),'ok':!![],'detail':'skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)'};const {pkgPath:_0x4f7113,currentVersion:_0x2c1458,field:_0x4d824d}=_0x57b9d0[_0xa6be91(0x1af)];try{const _0x2af635=readFileSync(_0x4f7113,_0xa6be91(0x1e1)),_0x35a540=JSON[_0xa6be91(0x1bb)](_0x2af635);return _0x35a540[_0x4d824d][_0xa6be91(0x1bc)]=_0xa6be91(0x1ad),writeFileSync(_0x4f7113,JSON[_0xa6be91(0x1b5)](_0x35a540,null,0x2)+'\x0a',_0xa6be91(0x1e1)),{'step':0x1,'label':_0xa6be91(0x1c6),'ok':!![],'detail':_0x4d824d+_0xa6be91(0x1d7)+_0x2c1458+_0xa6be91(0x1aa)};}catch(_0x179606){return{'step':0x1,'label':_0xa6be91(0x1c6),'ok':![],'detail':_0x179606 instanceof Error?_0x179606[_0xa6be91(0x1d2)]:String(_0x179606)};}}function printSummary(_0x5e6f8b){const _0x13bff6=a213_0x197a;console[_0x13bff6(0x1c1)](''),console['log'](a213_0x26a15c['bold'](_0x13bff6(0x1b7))),console[_0x13bff6(0x1c1)]('');for(const _0x178e74 of _0x5e6f8b){const _0x592f10=_0x178e74['ok']?a213_0x26a15c['green']('OK'):a213_0x26a15c[_0x13bff6(0x1eb)](_0x13bff6(0x1df));console['log']('\x20\x20'+_0x592f10+_0x13bff6(0x1c8)+_0x178e74[_0x13bff6(0x1e8)]+':\x20'+_0x178e74[_0x13bff6(0x1ac)]);if(_0x178e74[_0x13bff6(0x1b4)])console[_0x13bff6(0x1c1)](_0x13bff6(0x1e6)+a213_0x26a15c[_0x13bff6(0x198)](_0x178e74[_0x13bff6(0x1b4)]));}console['log']('');}export async function upgradeApp(_0x3da92d,_0x4019ad){const _0x129a3e=a213_0x197a,_0x18cce3=process[_0x129a3e(0x196)](),_0xd37e44=analyseProjectUpgrade(_0x18cce3);if(!_0xd37e44[_0x129a3e(0x1af)]&&!_0xd37e44[_0x129a3e(0x1bd)]['needed'])return console[_0x129a3e(0x1c1)](a213_0x26a15c['green'](_0x129a3e(0x1de))),{'analysis':_0xd37e44,'steps':[],'completed':!![]};printReport(_0xd37e44);const _0x3179ae=!!(_0x4019ad[_0x129a3e(0x1c9)]||_0x4019ad['Y']||_0x3da92d);if(!_0x3179ae)try{const _0x1bb296=await askConfirm('Proceed\x20with\x20upgrade?');if(!_0x1bb296)return console['log'](a213_0x26a15c[_0x129a3e(0x198)](_0x129a3e(0x1a1))),{'analysis':_0xd37e44,'steps':[],'completed':![],'cancelled':!![]};}catch(_0x547269){if(_0x547269?.[_0x129a3e(0x1d2)]===_0x129a3e(0x1c7))return console[_0x129a3e(0x1c1)](a213_0x26a15c[_0x129a3e(0x198)]('Upgrade\x20cancelled.')),{'analysis':_0xd37e44,'steps':[],'completed':![],'cancelled':!![]};throw _0x547269;}const _0x49b812=[],_0x4646ec=a213_0xbf568c({'text':_0x129a3e(0x1be),'color':_0x129a3e(0x1e5)})['start'](),_0xf80539=execUpgradeSdk(_0xd37e44);_0x49b812[_0x129a3e(0x1b0)](_0xf80539),_0x4646ec[_0xf80539['ok']?_0x129a3e(0x1cb):_0x129a3e(0x1e9)]('Step\x201/2:\x20@lovrabet/sdk\x20—\x20'+(_0xf80539['detail']??(_0xf80539['ok']?_0x129a3e(0x1a0):_0x129a3e(0x197))));const _0x251c13=a213_0xbf568c({'text':_0x129a3e(0x1d0),'color':_0x129a3e(0x1e5)})[_0x129a3e(0x1b2)]();let _0x411775;try{_0x411775=await upgradeProjectApiArchitecture(_0x18cce3);const _0x33b4ff=_0x411775[_0x129a3e(0x1ca)]?_0x129a3e(0x1ce):_0x129a3e(0x1c0);_0x251c13[_0x129a3e(0x1cb)](_0x129a3e(0x1ba)+_0x33b4ff),_0x49b812['push']({'step':0x2,'label':_0x129a3e(0x1a4),'ok':!![],'detail':_0x33b4ff});}catch(_0x393db9){const _0x5ad079=_0x393db9 instanceof Error?_0x393db9[_0x129a3e(0x1d2)]:String(_0x393db9);_0x251c13[_0x129a3e(0x1e9)](_0x129a3e(0x1ba)+_0x5ad079),_0x49b812[_0x129a3e(0x1b0)]({'step':0x2,'label':_0x129a3e(0x1a4),'ok':![],'detail':_0x5ad079});}printSummary(_0x49b812);const _0x8b6297=_0x49b812[_0x129a3e(0x1a6)](_0x4d7f00=>!_0x4d7f00['ok']);if(_0x8b6297)console[_0x129a3e(0x1c1)](a213_0x26a15c['yellow'](_0x129a3e(0x1cd)));else _0x411775?.[_0x129a3e(0x1ca)]?console[_0x129a3e(0x1c1)](a213_0x26a15c[_0x129a3e(0x1ae)](_0x129a3e(0x1e7))):console[_0x129a3e(0x1c1)](a213_0x26a15c[_0x129a3e(0x1da)](_0x129a3e(0x1d6)));return _0xf80539['ok']&&_0xd37e44['sdkUpgrade']&&(console[_0x129a3e(0x1c1)](''),console[_0x129a3e(0x1c1)](a213_0x26a15c[_0x129a3e(0x19f)][_0x129a3e(0x1e5)](_0x129a3e(0x1a2))),console[_0x129a3e(0x1c1)](a213_0x26a15c[_0x129a3e(0x1e5)](_0x129a3e(0x19a))),console[_0x129a3e(0x1c1)](''),console[_0x129a3e(0x1c1)](a213_0x26a15c[_0x129a3e(0x1db)](_0x129a3e(0x1e2))),console[_0x129a3e(0x1c1)](a213_0x26a15c[_0x129a3e(0x1db)](_0x129a3e(0x1b8))),console[_0x129a3e(0x1c1)](a213_0x26a15c[_0x129a3e(0x1db)](_0x129a3e(0x19d))),console[_0x129a3e(0x1c1)]('')),{'analysis':_0xd37e44,'steps':_0x49b812,'apiArchitecture':_0x411775,'completed':!_0x8b6297&&!_0x411775?.[_0x129a3e(0x1ca)]};}
1
+ function a213_0x1c38(){const _0x577f4b=['groups','gray','failed','up-to-date','\x20\x20\x20\x20','@lovrabet/sdk:','bold','1012446PAIwpx','21VQmlwU','padEnd','action','join','Upgrade\x20cancelled.','string','yellow','739533NKumsL','Step\x201/2:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','Step\x201/2:\x20@lovrabet/sdk\x20—\x20','push','sdkUpgrade','parse','12MmxbJQ','latest','stringify','Step\x202/2:\x20Upgrading\x20application\x20source\x20structure...','step','\x20\x20Current\x20version\x20in\x20','log','460650QIkXdW','succeed','not\x20found\x20or\x20already\x20at\x20latest','message','green','fail','candidate\x20entrypoints\x20written;\x20manual\x20merge\x20required','\x20\x20bun\x20install','71220iQrmlR','red','\x20\x20Step\x20','profiles','13496132ODRHMF','\x20\x20Historical\x20ungrouped\x20multi-app\x20directories\x20keep\x20their\x20prefixed\x20API\x20files.','16hglvDt','yes','[\x22@lovrabet/sdk\x22]:\x20','apiArchitecture','Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.','@lovrabet/sdk','apiDir','5YlAHZL','files','\x20→\x20','Upgrade\x20completed\x20successfully!','Proceed\x20with\x20upgrade?','source\x20structure\x20is\x20current','detail','@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.','\x20→\x20latest','===\x20Upgrade\x20Analysis\x20===','manualMergeRequired','object','some','dependencies','\x20\x20#\x20or','Application\x20source:','utf8','2xqpeQn','skippedLegacyDirectories','FAIL','path','needed','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','white','Upgrade\x20application\x20source','candidatePath','\x20\x20npm\x20install','Upgrade\x20@lovrabet/sdk','devDependencies','384685KEPAqC','2333192FNuKxU','55qnNWaF','cyan','Step\x202/2:\x20Application\x20source\x20—\x20'];a213_0x1c38=function(){return _0x577f4b;};return a213_0x1c38();}(function(_0x26d575,_0x36ad99){const _0x3fb10d=a213_0x30f8,_0x498fa6=_0x26d575();while(!![]){try{const _0x557944=-parseInt(_0x3fb10d(0x1d6))/0x1+parseInt(_0x3fb10d(0x1ca))/0x2*(-parseInt(_0x3fb10d(0x1ea))/0x3)+parseInt(_0x3fb10d(0x1d7))/0x4*(-parseInt(_0x3fb10d(0x20c))/0x5)+parseInt(_0x3fb10d(0x1f7))/0x6*(parseInt(_0x3fb10d(0x1e3))/0x7)+parseInt(_0x3fb10d(0x205))/0x8*(parseInt(_0x3fb10d(0x1e2))/0x9)+parseInt(_0x3fb10d(0x1ff))/0xa*(parseInt(_0x3fb10d(0x1d8))/0xb)+parseInt(_0x3fb10d(0x1f0))/0xc*(parseInt(_0x3fb10d(0x203))/0xd);if(_0x557944===_0x36ad99)break;else _0x498fa6['push'](_0x498fa6['shift']());}catch(_0x1980d3){_0x498fa6['push'](_0x498fa6['shift']());}}}(a213_0x1c38,0x4cce1));import a213_0xfa9018 from'chalk';import a213_0x16260d from'ora';import{existsSync,readFileSync,writeFileSync}from'node:fs';import{resolve}from'node:path';import{askConfirm}from'../../commands/menu/shared/inquirer.js';function a213_0x30f8(_0x236039,_0x29f57b){_0x236039=_0x236039-0x1c4;const _0x1c3824=a213_0x1c38();let _0x30f8b7=_0x1c3824[_0x236039];return _0x30f8b7;}import{analyzeProjectApiArchitecture,upgradeProjectApiArchitecture}from'../../commands/project/api-architecture-upgrade.js';import{NEW_CONFIG_NAME}from'../../context.js';function readProjectConfig(_0x107348){const _0x2d7db4=a213_0x30f8;try{const _0xf9d055=JSON[_0x2d7db4(0x1ef)](readFileSync(_0x107348,_0x2d7db4(0x1c9)));return _0xf9d055&&typeof _0xf9d055===_0x2d7db4(0x1c4)?_0xf9d055:{};}catch{return{};}}export function analyseProjectUpgrade(_0x5cbe44){const _0x26caea=a213_0x30f8;let _0x234907=null;const _0x146f28=resolve(_0x5cbe44,'package.json');if(existsSync(_0x146f28))try{const _0x5a6509=JSON['parse'](readFileSync(_0x146f28,_0x26caea(0x1c9)));for(const _0x23545c of[_0x26caea(0x1c6),_0x26caea(0x1d5)]){const _0x2fcc=_0x5a6509?.[_0x23545c]?.[_0x26caea(0x20a)];if(typeof _0x2fcc===_0x26caea(0x1e8)){_0x2fcc!==_0x26caea(0x1f1)&&(_0x234907={'pkgPath':_0x146f28,'currentVersion':_0x2fcc,'field':_0x23545c});break;}}}catch{}const _0x5385ef=resolve(_0x5cbe44,NEW_CONFIG_NAME),_0xc3d7b8=existsSync(_0x5385ef)?readProjectConfig(_0x5385ef):{},_0x543cf3=analyzeProjectApiArchitecture(_0x5cbe44,_0xc3d7b8);return{'sdkUpgrade':_0x234907,'apiArchitecture':_0x543cf3};}function printReport(_0x46894f){const _0x286e64=a213_0x30f8;console[_0x286e64(0x1f6)](''),console[_0x286e64(0x1f6)](a213_0xfa9018[_0x286e64(0x1e1)](_0x286e64(0x215))),console[_0x286e64(0x1f6)](''),console[_0x286e64(0x1f6)](a213_0xfa9018[_0x286e64(0x1d9)](_0x286e64(0x1c8))+('\x20\x20'+(_0x46894f[_0x286e64(0x208)][_0x286e64(0x1ce)]?a213_0xfa9018[_0x286e64(0x1e9)]('upgrade\x20needed'):a213_0xfa9018[_0x286e64(0x1fb)](_0x286e64(0x1de)))));for(const _0x43c8bc of _0x46894f['apiArchitecture'][_0x286e64(0x1db)]){console['log']('\x20\x20'+_0x43c8bc[_0x286e64(0x20b)]+'\x20('+_0x43c8bc[_0x286e64(0x202)][_0x286e64(0x1e6)](',\x20')+')');for(const _0x31df0f of _0x43c8bc[_0x286e64(0x20d)]){console[_0x286e64(0x1f6)](_0x286e64(0x1df)+_0x31df0f[_0x286e64(0x1e5)][_0x286e64(0x1e4)](0x11)+'\x20'+_0x31df0f[_0x286e64(0x1cd)]),_0x31df0f[_0x286e64(0x1d2)]&&console[_0x286e64(0x1f6)]('\x20\x20\x20\x20\x20\x20candidate:\x20'+_0x31df0f[_0x286e64(0x1d2)]);}}_0x46894f['apiArchitecture'][_0x286e64(0x1cb)]['length']>0x0&&console[_0x286e64(0x1f6)](_0x286e64(0x204));console['log']('');if(_0x46894f['sdkUpgrade']){const {currentVersion:_0x544453,field:_0x21f850,pkgPath:_0x17d942}=_0x46894f[_0x286e64(0x1ee)];console[_0x286e64(0x1f6)](a213_0xfa9018[_0x286e64(0x1d9)](_0x286e64(0x1e0))+('\x20\x20'+a213_0xfa9018[_0x286e64(0x1e9)](_0x17d942))),console[_0x286e64(0x1f6)](_0x286e64(0x1f5)+_0x21f850+':\x20'+a213_0xfa9018['yellow'](_0x544453)+_0x286e64(0x20e)+a213_0xfa9018['green'](_0x286e64(0x1f1))),console[_0x286e64(0x1f6)](_0x286e64(0x1cf));}else console[_0x286e64(0x1f6)](a213_0xfa9018['cyan']('@lovrabet/sdk:')+'\x20\x20'+a213_0xfa9018[_0x286e64(0x1dc)](_0x286e64(0x1f9)));console[_0x286e64(0x1f6)]('');}function execUpgradeSdk(_0x225b82){const _0x62df58=a213_0x30f8;if(!_0x225b82[_0x62df58(0x1ee)])return{'step':0x1,'label':_0x62df58(0x1d4),'ok':!![],'detail':'skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)'};const {pkgPath:_0x201852,currentVersion:_0x1edb8d,field:_0x465fe8}=_0x225b82[_0x62df58(0x1ee)];try{const _0x56ee2d=readFileSync(_0x201852,_0x62df58(0x1c9)),_0x33c651=JSON['parse'](_0x56ee2d);return _0x33c651[_0x465fe8]['@lovrabet/sdk']=_0x62df58(0x1f1),writeFileSync(_0x201852,JSON[_0x62df58(0x1f2)](_0x33c651,null,0x2)+'\x0a',_0x62df58(0x1c9)),{'step':0x1,'label':_0x62df58(0x1d4),'ok':!![],'detail':_0x465fe8+_0x62df58(0x207)+_0x1edb8d+_0x62df58(0x214)};}catch(_0x4c2afb){return{'step':0x1,'label':'Upgrade\x20@lovrabet/sdk','ok':![],'detail':_0x4c2afb instanceof Error?_0x4c2afb[_0x62df58(0x1fa)]:String(_0x4c2afb)};}}function printSummary(_0x226eeb){const _0x5f3b80=a213_0x30f8;console[_0x5f3b80(0x1f6)](''),console[_0x5f3b80(0x1f6)](a213_0xfa9018['bold']('===\x20Upgrade\x20Summary\x20===')),console[_0x5f3b80(0x1f6)]('');for(const _0x17ab0c of _0x226eeb){const _0x42090a=_0x17ab0c['ok']?a213_0xfa9018['green']('OK'):a213_0xfa9018[_0x5f3b80(0x200)](_0x5f3b80(0x1cc));console[_0x5f3b80(0x1f6)]('\x20\x20'+_0x42090a+_0x5f3b80(0x201)+_0x17ab0c[_0x5f3b80(0x1f4)]+':\x20'+_0x17ab0c['label']);if(_0x17ab0c[_0x5f3b80(0x212)])console[_0x5f3b80(0x1f6)]('\x20\x20\x20\x20\x20\x20\x20'+a213_0xfa9018[_0x5f3b80(0x1dc)](_0x17ab0c[_0x5f3b80(0x212)]));}console['log']('');}export async function upgradeApp(_0x3edd06,_0x31cb41){const _0x279246=a213_0x30f8,_0x4e4209=process['cwd'](),_0x2ed823=analyseProjectUpgrade(_0x4e4209);if(!_0x2ed823[_0x279246(0x1ee)]&&!_0x2ed823[_0x279246(0x208)]['needed'])return console[_0x279246(0x1f6)](a213_0xfa9018[_0x279246(0x1fb)]('Your\x20project\x20is\x20already\x20up-to-date.')),{'analysis':_0x2ed823,'steps':[],'completed':!![]};printReport(_0x2ed823);const _0x1878d0=!!(_0x31cb41[_0x279246(0x206)]||_0x31cb41['Y']||_0x3edd06);if(!_0x1878d0)try{const _0x4ae518=await askConfirm(_0x279246(0x210));if(!_0x4ae518)return console['log'](a213_0xfa9018[_0x279246(0x1dc)](_0x279246(0x1e7))),{'analysis':_0x2ed823,'steps':[],'completed':![],'cancelled':!![]};}catch(_0x32aac0){if(_0x32aac0?.[_0x279246(0x1fa)]==='CANCEL')return console['log'](a213_0xfa9018['gray']('Upgrade\x20cancelled.')),{'analysis':_0x2ed823,'steps':[],'completed':![],'cancelled':!![]};throw _0x32aac0;}const _0x5f0006=[],_0x29e1f7=a213_0x16260d({'text':_0x279246(0x1eb),'color':_0x279246(0x1d9)})['start'](),_0x502824=execUpgradeSdk(_0x2ed823);_0x5f0006[_0x279246(0x1ed)](_0x502824),_0x29e1f7[_0x502824['ok']?'succeed':'fail'](_0x279246(0x1ec)+(_0x502824[_0x279246(0x212)]??(_0x502824['ok']?'done':_0x279246(0x1dd))));const _0x3242c0=a213_0x16260d({'text':_0x279246(0x1f3),'color':_0x279246(0x1d9)})['start']();let _0xde1ae4;try{_0xde1ae4=await upgradeProjectApiArchitecture(_0x4e4209);const _0x45475d=_0xde1ae4['manualMergeRequired']?_0x279246(0x1fd):_0x279246(0x211);_0x3242c0[_0x279246(0x1f8)]('Step\x202/2:\x20Application\x20source\x20—\x20'+_0x45475d),_0x5f0006['push']({'step':0x2,'label':_0x279246(0x1d1),'ok':!![],'detail':_0x45475d});}catch(_0xbb3963){const _0x2856e2=_0xbb3963 instanceof Error?_0xbb3963['message']:String(_0xbb3963);_0x3242c0[_0x279246(0x1fc)](_0x279246(0x1da)+_0x2856e2),_0x5f0006['push']({'step':0x2,'label':_0x279246(0x1d1),'ok':![],'detail':_0x2856e2});}printSummary(_0x5f0006);const _0x567836=_0x5f0006[_0x279246(0x1c5)](_0x59fefb=>!_0x59fefb['ok']);if(_0x567836)console[_0x279246(0x1f6)](a213_0xfa9018['yellow'](_0x279246(0x209)));else _0xde1ae4?.[_0x279246(0x216)]?console[_0x279246(0x1f6)](a213_0xfa9018[_0x279246(0x1e9)]('Upgrade\x20candidates\x20were\x20written,\x20but\x20project-owned\x20source\x20files\x20still\x20require\x20manual\x20merging.')):console['log'](a213_0xfa9018[_0x279246(0x1fb)](_0x279246(0x20f)));return _0x502824['ok']&&_0x2ed823['sdkUpgrade']&&(console[_0x279246(0x1f6)](''),console[_0x279246(0x1f6)](a213_0xfa9018[_0x279246(0x1e1)]['cyan'](_0x279246(0x213))),console[_0x279246(0x1f6)](a213_0xfa9018[_0x279246(0x1d9)]('Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:')),console[_0x279246(0x1f6)](''),console[_0x279246(0x1f6)](a213_0xfa9018['white'](_0x279246(0x1d3))),console[_0x279246(0x1f6)](a213_0xfa9018[_0x279246(0x1d0)](_0x279246(0x1c7))),console['log'](a213_0xfa9018[_0x279246(0x1d0)](_0x279246(0x1fe))),console[_0x279246(0x1f6)]('')),{'analysis':_0x2ed823,'steps':_0x5f0006,'apiArchitecture':_0xde1ae4,'completed':!_0x567836&&!_0xde1ae4?.['manualMergeRequired']};}
@@ -1 +1 @@
1
- const a214_0x381998=a214_0x42f0;(function(_0x11d7e8,_0x5ddca3){const _0x49c4f4=a214_0x42f0,_0x487e72=_0x11d7e8();while(!![]){try{const _0xbf844b=-parseInt(_0x49c4f4(0xca))/0x1*(-parseInt(_0x49c4f4(0x81))/0x2)+parseInt(_0x49c4f4(0xa2))/0x3+parseInt(_0x49c4f4(0xa5))/0x4+-parseInt(_0x49c4f4(0x76))/0x5*(-parseInt(_0x49c4f4(0x82))/0x6)+-parseInt(_0x49c4f4(0xa3))/0x7*(-parseInt(_0x49c4f4(0xdd))/0x8)+parseInt(_0x49c4f4(0x8f))/0x9*(parseInt(_0x49c4f4(0xd3))/0xa)+-parseInt(_0x49c4f4(0xbf))/0xb;if(_0xbf844b===_0x5ddca3)break;else _0x487e72['push'](_0x487e72['shift']());}catch(_0x4320c7){_0x487e72['push'](_0x487e72['shift']());}}}(a214_0x4b89,0x1f068));import{apiDefinitions}from'../commands/api/index.js';import{bffDefinitions}from'../commands/bff/index.js';import{sqlDefinitions}from'../commands/sql/index.js';import{datasetDefinitions}from'../commands/dataset/index.js';import{pageDefinitions}from'../commands/page/index.js';import{dbDefinitions}from'../commands/db/index.js';import{deploymentDefinitions}from'../commands/deployment/index.js';import{codegenDefinitions}from'../commands/codegen/index.js';import{menuDefinitions}from'../commands/menu/index.js';import{taskDefinitions}from'../commands/task/index.js';import{tenantDefinitions}from'../commands/tenant/index.js';import{roleDefinitions}from'../commands/role/index.js';import{appDefinitions}from'../commands/app/index.js';import{appConfigDefinitions}from'../commands/app-config/index.js';import{kbDefinitions}from'../commands/kb/index.js';import{ruleDefinitions}from'../commands/rule/index.js';import{notificationDefinitions}from'../commands/notification/index.js';import{instantApiPolicyDefinitions}from'../commands/instant-api-policy/index.js';import{workspaceDefinitions}from'../commands/workspace/index.js';import{configDefinitions}from'../commands/config/index.js';import{doctorDefinition}from'../commands/doctor.js';import{updateDefinition}from'../commands/cli-update.js';import{schemaDefinition}from'../commands/schema.js';import{issueDefinitions}from'../commands/issue/index.js';import{fileDefinitions}from'../commands/file/index.js';import{ocrDefinitions}from'../commands/ocr/index.js';import{cliSkillDefinitions}from'../commands/cli-skill/index.js';import{userAccountDefinitions}from'../commands/user-account/index.js';import{flowDefinitions}from'../commands/flow/index.js';import{authDefinitions}from'../commands/auth/index.js';import{logsDefinitions}from'../commands/logs/index.js';import{projectDefinitions}from'../commands/project/index.js';import{runDefinition}from'../commands/run/index.js';export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();export const serviceGroups=new Map();function registerDefinitions(_0x458b31){const _0x1e50e9=a214_0x42f0;for(const _0xbece80 of _0x458b31){definitions[_0x1e50e9(0xcb)](_0xbece80[_0x1e50e9(0x8a)]+':'+_0xbece80[_0x1e50e9(0xce)],_0xbece80);let _0x1a8c11=serviceGroups['get'](_0xbece80['service']);!_0x1a8c11&&(_0x1a8c11=[],serviceGroups[_0x1e50e9(0xcb)](_0xbece80[_0x1e50e9(0x8a)],_0x1a8c11)),_0x1a8c11[_0x1e50e9(0x9c)](_0xbece80);}}function registerDeclarativeService(_0x556c30,_0x7273b3,_0x3a1349){const _0x1bee49=a214_0x42f0;registerDefinitions(_0x7273b3);_0x3a1349?.[_0x1bee49(0xa8)]&&registerDefinitions([_0x3a1349[_0x1bee49(0xa8)]]);const _0x2db19d=_0x528791=>_0x528791===_0x1bee49(0x86)?'':_0x528791===_0x1bee49(0x9a)?_0x1bee49(0x84):'\x20\x20[high-risk-write]',_0x5e73b5={'service':_0x7273b3[0x0]['service'],'label':_0x556c30,'commands':_0x7273b3[_0x1bee49(0xe6)](_0x3211c2=>!_0x3211c2[_0x1bee49(0xd4)])[_0x1bee49(0xbd)](_0x42c847=>({'command':_0x42c847[_0x1bee49(0xce)],'description':_0x42c847[_0x1bee49(0xb4)],'tag':_0x2db19d(_0x42c847['risk'])})),'declarative':!![],'defaultCommand':_0x3a1349?.[_0x1bee49(0x7b)]??(_0x3a1349?.[_0x1bee49(0xbb)]?_0x7273b3[0x0][_0x1bee49(0xce)]:undefined),'wildcardDef':_0x3a1349?.[_0x1bee49(0xa8)],'isSingleCommand':_0x3a1349?.[_0x1bee49(0xbb)]};serviceRegistry[_0x1bee49(0x9c)](_0x5e73b5),serviceByName[_0x1bee49(0xcb)](_0x5e73b5[_0x1bee49(0x8a)],_0x5e73b5);}function a214_0x42f0(_0x1a16b8,_0x1dcfd8){_0x1a16b8=_0x1a16b8-0x76;const _0x4b89db=a214_0x4b89();let _0x42f031=_0x4b89db[_0x1a16b8];return _0x42f031;}registerDeclarativeService('Project',projectDefinitions),registerDeclarativeService(a214_0x381998(0x78),workspaceDefinitions),registerDeclarativeService(a214_0x381998(0xb9),appDefinitions),registerDeclarativeService(a214_0x381998(0x8e),authDefinitions,{'defaultCommand':a214_0x381998(0x7a)}),registerDeclarativeService(a214_0x381998(0x8b),tenantDefinitions),registerDeclarativeService(a214_0x381998(0xe0),userAccountDefinitions),registerDeclarativeService('Dataset\x20&\x20Operations',datasetDefinitions),registerDeclarativeService('Data\x20List\x20Pages\x20&\x20Custom\x20Pages',pageDefinitions),registerDeclarativeService(a214_0x381998(0x90),apiDefinitions),registerDeclarativeService(a214_0x381998(0x7f),bffDefinitions),registerDeclarativeService('Instant\x20API\x20Policy',instantApiPolicyDefinitions),registerDeclarativeService(a214_0x381998(0x87),notificationDefinitions),registerDeclarativeService(a214_0x381998(0xdf),sqlDefinitions),registerDeclarativeService(a214_0x381998(0xa4),dbDefinitions),registerDeclarativeService(a214_0x381998(0xa1),deploymentDefinitions),registerDeclarativeService(a214_0x381998(0xd9),menuDefinitions),registerDeclarativeService(a214_0x381998(0xad),taskDefinitions),registerDeclarativeService(a214_0x381998(0x9b),roleDefinitions),registerDeclarativeService('Runtime\x20App\x20Config\x20Management',appConfigDefinitions),registerDeclarativeService(a214_0x381998(0xb2),kbDefinitions),registerDeclarativeService(a214_0x381998(0x83),ruleDefinitions),registerDeclarativeService('Platform\x20Issue',issueDefinitions),registerDeclarativeService(a214_0x381998(0xa9),fileDefinitions),registerDeclarativeService(a214_0x381998(0x79),ocrDefinitions),registerDeclarativeService('Code\x20Generation',codegenDefinitions),registerDeclarativeService(a214_0x381998(0xb0),configDefinitions),registerDeclarativeService(a214_0x381998(0xe5),[doctorDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a214_0x381998(0x98),[schemaDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a214_0x381998(0xc6),[updateDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a214_0x381998(0xbe),cliSkillDefinitions,{'defaultCommand':a214_0x381998(0xd7)}),registerDeclarativeService('Approval\x20Flows',flowDefinitions),registerDeclarativeService(a214_0x381998(0xe1),logsDefinitions,{'defaultCommand':a214_0x381998(0xa6)}),registerDeclarativeService(a214_0x381998(0xb6),[runDefinition],{'wildcardDef':runDefinition});{const last=serviceRegistry[serviceRegistry[a214_0x381998(0x9f)]-0x1];last[a214_0x381998(0xd8)]=[{'command':'<script>','description':'Run\x20any\x20package.json\x20script','tag':'\x20\x20['+runDefinition['risk']+']'}];}const REMOVED_COMMAND_REPLACEMENTS=new Map([['sql:save',a214_0x381998(0x92)],[a214_0x381998(0xc3),a214_0x381998(0xb7)],[a214_0x381998(0x9d),a214_0x381998(0xba)],[a214_0x381998(0x8d),'rabetbase\x20menu\x20asset-update'],[a214_0x381998(0x91),a214_0x381998(0x77)],[a214_0x381998(0xe4),a214_0x381998(0x7c)],[a214_0x381998(0xd2),a214_0x381998(0x7c)],[a214_0x381998(0x93),a214_0x381998(0x7c)],[a214_0x381998(0xaa),'rabetbase\x20cli-skill\x20install'],['app:remote',a214_0x381998(0xb5)],[a214_0x381998(0xc5),'rabetbase\x20workspace\x20use\x20--app\x20<name>'],[a214_0x381998(0xda),a214_0x381998(0x7e)],['app:remove',a214_0x381998(0x95)],[a214_0x381998(0xbc),'rabetbase\x20kb\x20list'],[a214_0x381998(0xb3),a214_0x381998(0xb8)],['knowledge-base:create',a214_0x381998(0xc2)],[a214_0x381998(0xdb),a214_0x381998(0xcc)],[a214_0x381998(0xc4),a214_0x381998(0xc7)],['role:create',a214_0x381998(0xe2)],[a214_0x381998(0x99),'lovrabet\x20data\x20filter\x20--code\x20<datasetCode>\x20--params\x20\x27<json>\x27'],[a214_0x381998(0xe3),a214_0x381998(0x8c)],['page:standard-page-status',a214_0x381998(0xd6)],['page:react-create',a214_0x381998(0xb1)],[a214_0x381998(0xc0),a214_0x381998(0xb1)],[a214_0x381998(0xc9),a214_0x381998(0xa7)],[a214_0x381998(0xa0),'rabetbase\x20page\x20custom-detail'],['page:react-update',a214_0x381998(0xde)],['page:react-publish','rabetbase\x20page\x20custom-publish']]),REMOVED_COMMAND_HINTS=new Map([['flow:enable',a214_0x381998(0x88)],['flow:disable','This\x20lifecycle\x20operation\x20is\x20no\x20longer\x20exposed\x20by\x20Rabetbase\x20CLI;\x20no\x20replacement\x20command\x20is\x20available.'],[a214_0x381998(0xaf),a214_0x381998(0xdc)],[a214_0x381998(0xab),a214_0x381998(0x85)],[a214_0x381998(0x9e),a214_0x381998(0x85)],[a214_0x381998(0x7d),a214_0x381998(0x85)],['permit:role-menus-set',a214_0x381998(0x85)],[a214_0x381998(0xd1),a214_0x381998(0x85)]]),REMOVED_FLAT_COMMAND_REPLACEMENTS=new Map([[a214_0x381998(0xae),a214_0x381998(0x96)],[a214_0x381998(0xcf),a214_0x381998(0x89)],[a214_0x381998(0xd5),a214_0x381998(0xac)],[a214_0x381998(0xe7),'rabetbase\x20run\x20preview'],[a214_0x381998(0x97),'rabetbase\x20auth\x20logout']]);export function resolveRemovedCommand(_0x3c1b74,_0x534ae4){const _0x483b47=a214_0x381998;if(!_0x3c1b74)return undefined;const _0x51e196=REMOVED_COMMAND_REPLACEMENTS['get'](_0x3c1b74+':'+(_0x534ae4??'')),_0x332ca2=REMOVED_FLAT_COMMAND_REPLACEMENTS[_0x483b47(0xcd)](_0x3c1b74),_0x4fc76f=_0x51e196??_0x332ca2,_0x1b3888=REMOVED_COMMAND_HINTS[_0x483b47(0xcd)](_0x3c1b74+':'+(_0x534ae4??''));if(!_0x4fc76f&&!_0x1b3888)return undefined;const _0x168656=_0x332ca2?_0x3c1b74:_0x534ae4?_0x3c1b74+'\x20'+_0x534ae4:_0x3c1b74;return{'command':_0x168656,'message':_0x483b47(0x80)+_0x168656+_0x483b47(0xc1),'hint':_0x1b3888??_0x483b47(0xc8)+_0x4fc76f+'`\x20instead.'};}function a214_0x4b89(){const _0x181425=['Menu','app:add','knowledge-base:update','Resource\x20saves\x20are\x20synchronized\x20automatically\x20by\x20the\x20server;\x20no\x20manual\x20CLI\x20replacement\x20is\x20required.','152qFEEav','rabetbase\x20page\x20custom-update','SQL\x20Queries','User\x20Accounts','Logs','rabetbase\x20role\x20list','data:getOne','skill:','Diagnostics','filter','preview','1675DlRaZq','rabetbase\x20workspace\x20init\x20--appcode\x20<code>','Workspace','OCR','login','defaultCommand','rabetbase\x20cli-skill\x20install','permit:role-menus','rabetbase\x20workspace\x20add\x20<name>\x20--appcode\x20<code>','Backend\x20Function\x20Scripts','`rabetbase\x20','4xwimhS','4062gKwUgQ','Agent\x20Context\x20Rules','\x20\x20[write]','No\x20executable\x20CLI\x20replacement\x20is\x20available\x20under\x20the\x20current\x20server\x20authentication\x20contract.','read','Notification\x20Configuration','This\x20lifecycle\x20operation\x20is\x20no\x20longer\x20exposed\x20by\x20Rabetbase\x20CLI;\x20no\x20replacement\x20command\x20is\x20available.','rabetbase\x20run\x20start','service','Tenant\x20Members','lovrabet\x20data\x20getOne\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22id\x22:123}\x27','menu:update','Authentication','9AjNvIo','API\x20Development','project:init','rabetbase\x20sql\x20create\x20--name\x20<name>\x20--db-id\x20<id>\x20--mode\x20sql|mybatisXml','skills:','values','rabetbase\x20workspace\x20remove\x20<name>','rabetbase\x20project\x20create\x20<project-name>','logout','Schema','data:filter','write','Roles','push','sql:new','permit:page-set','length','page:react-detail','Deployment','76635aSAasD','80129CLtFAq','Database\x20Connections','22224EXkrXm','show','rabetbase\x20page\x20custom-list','wildcardDef','File','skills:install','permit:page-get','rabetbase\x20run\x20build','Async\x20Tasks','create','deployment:sync','Configuration','rabetbase\x20page\x20create\x20--page-pattern\x20BLANK','Company\x20Knowledge\x20Base','knowledge-base:detail','description','rabetbase\x20app\x20list\x20--remote','Run\x20Scripts','rabetbase\x20bff\x20create','rabetbase\x20kb\x20detail','App\x20Management','rabetbase\x20sql\x20create','isSingleCommand','knowledge-base:list','map','CLI\x20Built-in\x20Skill','7614024gJiodw','page:custom-create','`\x20has\x20been\x20removed.','rabetbase\x20kb\x20create','bff:new','knowledge-base:delete','app:use','Self\x20Update','rabetbase\x20kb\x20delete','Use\x20`','page:react-list','70274EYEwAp','set','rabetbase\x20kb\x20update','get','command','start','has','permit:role-apis-set','skill:install','2033270fXNNOP','hidden','build','rabetbase\x20page\x20data-list-status','install','commands'];a214_0x4b89=function(){return _0x181425;};return a214_0x4b89();}export function findDefinition(_0x901e47,_0xcca1f8){const _0x5ed84f=a214_0x381998;return definitions[_0x5ed84f(0xcd)](_0x901e47+':'+_0xcca1f8);}export function isKnownService(_0x2a60e3){const _0x41b5d9=a214_0x381998;return serviceByName[_0x41b5d9(0xd0)](_0x2a60e3);}export function isDeclarativeService(_0xc68f6a){const _0x2db6d6=a214_0x381998;return serviceGroups['has'](_0xc68f6a)||serviceByName[_0x2db6d6(0xcd)](_0xc68f6a)?.[_0x2db6d6(0xa8)]!==undefined;}export function getServiceEntry(_0x38520){const _0x1155af=a214_0x381998;return serviceByName[_0x1155af(0xcd)](_0x38520);}export function getLegacyHandler(_0x3ee2cb,_0xb9c671){return undefined;}export function getAllDefinitions(){const _0x5c957e=a214_0x381998;return Array['from'](definitions[_0x5c957e(0x94)]());}
1
+ const a214_0x19597d=a214_0x1b55;(function(_0x5dcf6a,_0x2c5b9d){const _0xa7f3cd=a214_0x1b55,_0x2b5c0c=_0x5dcf6a();while(!![]){try{const _0x27109d=-parseInt(_0xa7f3cd(0x1a8))/0x1*(-parseInt(_0xa7f3cd(0x18a))/0x2)+-parseInt(_0xa7f3cd(0x170))/0x3+-parseInt(_0xa7f3cd(0x1a9))/0x4+parseInt(_0xa7f3cd(0x188))/0x5*(parseInt(_0xa7f3cd(0x165))/0x6)+parseInt(_0xa7f3cd(0x19e))/0x7+-parseInt(_0xa7f3cd(0x172))/0x8+parseInt(_0xa7f3cd(0x195))/0x9;if(_0x27109d===_0x2c5b9d)break;else _0x2b5c0c['push'](_0x2b5c0c['shift']());}catch(_0x5345d9){_0x2b5c0c['push'](_0x2b5c0c['shift']());}}}(a214_0x3184,0xc8728));import{apiDefinitions}from'../commands/api/index.js';import{bffDefinitions}from'../commands/bff/index.js';import{sqlDefinitions}from'../commands/sql/index.js';import{datasetDefinitions}from'../commands/dataset/index.js';import{pageDefinitions}from'../commands/page/index.js';import{dbDefinitions}from'../commands/db/index.js';import{deploymentDefinitions}from'../commands/deployment/index.js';import{codegenDefinitions}from'../commands/codegen/index.js';import{menuDefinitions}from'../commands/menu/index.js';import{taskDefinitions}from'../commands/task/index.js';import{tenantDefinitions}from'../commands/tenant/index.js';import{roleDefinitions}from'../commands/role/index.js';import{appDefinitions}from'../commands/app/index.js';import{appConfigDefinitions}from'../commands/app-config/index.js';import{kbDefinitions}from'../commands/kb/index.js';import{ruleDefinitions}from'../commands/rule/index.js';import{notificationDefinitions}from'../commands/notification/index.js';import{instantApiPolicyDefinitions}from'../commands/instant-api-policy/index.js';import{workspaceDefinitions}from'../commands/workspace/index.js';import{configDefinitions}from'../commands/config/index.js';import{doctorDefinition}from'../commands/doctor.js';import{updateDefinition}from'../commands/cli-update.js';import{schemaDefinition}from'../commands/schema.js';import{issueDefinitions}from'../commands/issue/index.js';import{fileDefinitions}from'../commands/file/index.js';function a214_0x1b55(_0x4b66db,_0x3fc016){_0x4b66db=_0x4b66db-0x146;const _0x3184e3=a214_0x3184();let _0x1b55b9=_0x3184e3[_0x4b66db];return _0x1b55b9;}import{ocrDefinitions}from'../commands/ocr/index.js';import{cliSkillDefinitions}from'../commands/cli-skill/index.js';import{userAccountDefinitions}from'../commands/user-account/index.js';import{flowDefinitions}from'../commands/flow/index.js';import{authDefinitions}from'../commands/auth/index.js';import{logsDefinitions}from'../commands/logs/index.js';import{projectDefinitions}from'../commands/project/index.js';import{runDefinition}from'../commands/run/index.js';export const serviceRegistry=[];function a214_0x3184(){const _0x50068b=['preview','rabetbase\x20cli-skill\x20install','install','login','Configuration','`\x20has\x20been\x20removed.','rabetbase\x20auth\x20logout','Deployment','Tenant\x20Members','5438qZyYjo','4000808wrRrRq','command','\x20\x20[write]','sql:save','Database\x20Connections','show','Runtime\x20App\x20Config\x20Management','rabetbase\x20page\x20data-list-status','rabetbase\x20workspace\x20use\x20--app\x20<name>','rabetbase\x20page\x20create\x20--page-pattern\x20BLANK','isSingleCommand','Instant\x20API\x20Policy','project:init','rabetbase\x20sql\x20create\x20--name\x20<name>\x20--db-id\x20<id>\x20--mode\x20sql|mybatisXml','CLI\x20Built-in\x20Skill','risk','length','create','skill:','Async\x20Tasks','Approval\x20Flows','knowledge-base:update','Use\x20`','This\x20lifecycle\x20operation\x20is\x20no\x20longer\x20exposed\x20by\x20Rabetbase\x20CLI;\x20no\x20replacement\x20command\x20is\x20available.','role:create','set','from','read','<script>','page:react-detail','Code\x20Generation','knowledge-base:detail','Agent\x20Context\x20Rules','App\x20Management','start','permit:role-menus-set','rabetbase\x20kb\x20update','defaultCommand','`rabetbase\x20','map','Notification\x20Configuration','rabetbase\x20run\x20build','Logs','permit:page-get','API\x20Development','Roles','values','bff:new','rabetbase\x20role\x20list','Workspace','762018PekwXM','get','Schema','File','build','sql:new','filter','page:react-create','Resource\x20saves\x20are\x20synchronized\x20automatically\x20by\x20the\x20server;\x20no\x20manual\x20CLI\x20replacement\x20is\x20required.','description','page:react-publish','501003hwFbTq','Company\x20Knowledge\x20Base','10693768dKyTyZ','\x20\x20[high-risk-write]','wildcardDef','rabetbase\x20sql\x20create','OCR','page:react-update','rabetbase\x20workspace\x20remove\x20<name>','rabetbase\x20workspace\x20add\x20<name>\x20--appcode\x20<code>','SQL\x20Queries','knowledge-base:delete','rabetbase\x20page\x20custom-update','has','lovrabet\x20data\x20filter\x20--code\x20<datasetCode>\x20--params\x20\x27<json>\x27','rabetbase\x20kb\x20create','rabetbase\x20app\x20list\x20--remote','lovrabet\x20data\x20getOne\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22id\x22:123}\x27','app:use','push','Backend\x20Function\x20Scripts','Dataset\x20&\x20Operations','Run\x20Scripts','hidden','5McGrNy','Run\x20any\x20package.json\x20script','64VYoLzE','permit:role-apis-set','Authentication','`\x20instead.','\x20\x20[','rabetbase\x20run\x20preview','logout','rabetbase\x20bff\x20create','page:react-list','page:standard-page-status','service','19125351pvuHMv','skills:install','rabetbase\x20page\x20custom-detail','app:remove','data:filter','Diagnostics','No\x20executable\x20CLI\x20replacement\x20is\x20available\x20under\x20the\x20current\x20server\x20authentication\x20contract.','rabetbase\x20page\x20custom-list','permit:role-menus','6292286tpFOgj'];a214_0x3184=function(){return _0x50068b;};return a214_0x3184();}const serviceByName=new Map();export const definitions=new Map();export const serviceGroups=new Map();function registerDefinitions(_0x5e9820){const _0x5cb9e8=a214_0x1b55;for(const _0x209403 of _0x5e9820){definitions['set'](_0x209403['service']+':'+_0x209403[_0x5cb9e8(0x1aa)],_0x209403);let _0x36ab19=serviceGroups[_0x5cb9e8(0x166)](_0x209403[_0x5cb9e8(0x194)]);!_0x36ab19&&(_0x36ab19=[],serviceGroups['set'](_0x209403['service'],_0x36ab19)),_0x36ab19[_0x5cb9e8(0x183)](_0x209403);}}function registerDeclarativeService(_0x2a2bd5,_0x561a91,_0x128989){const _0x5405b2=a214_0x1b55;registerDefinitions(_0x561a91);_0x128989?.[_0x5405b2(0x174)]&&registerDefinitions([_0x128989[_0x5405b2(0x174)]]);const _0xd561b4=_0x50e17c=>_0x50e17c===_0x5405b2(0x14e)?'':_0x50e17c==='write'?_0x5405b2(0x1ab):_0x5405b2(0x173),_0x48bb36={'service':_0x561a91[0x0][_0x5405b2(0x194)],'label':_0x2a2bd5,'commands':_0x561a91[_0x5405b2(0x16b)](_0x3bc1d4=>!_0x3bc1d4[_0x5405b2(0x187)])[_0x5405b2(0x15a)](_0x222db2=>({'command':_0x222db2[_0x5405b2(0x1aa)],'description':_0x222db2[_0x5405b2(0x16e)],'tag':_0xd561b4(_0x222db2[_0x5405b2(0x1b8)])})),'declarative':!![],'defaultCommand':_0x128989?.[_0x5405b2(0x158)]??(_0x128989?.[_0x5405b2(0x1b3)]?_0x561a91[0x0][_0x5405b2(0x1aa)]:undefined),'wildcardDef':_0x128989?.[_0x5405b2(0x174)],'isSingleCommand':_0x128989?.[_0x5405b2(0x1b3)]};serviceRegistry[_0x5405b2(0x183)](_0x48bb36),serviceByName[_0x5405b2(0x14c)](_0x48bb36[_0x5405b2(0x194)],_0x48bb36);}registerDeclarativeService('Project',projectDefinitions),registerDeclarativeService(a214_0x19597d(0x164),workspaceDefinitions),registerDeclarativeService(a214_0x19597d(0x154),appDefinitions),registerDeclarativeService(a214_0x19597d(0x18c),authDefinitions,{'defaultCommand':a214_0x19597d(0x1a2)}),registerDeclarativeService(a214_0x19597d(0x1a7),tenantDefinitions),registerDeclarativeService('User\x20Accounts',userAccountDefinitions),registerDeclarativeService(a214_0x19597d(0x185),datasetDefinitions),registerDeclarativeService('Data\x20List\x20Pages\x20&\x20Custom\x20Pages',pageDefinitions),registerDeclarativeService(a214_0x19597d(0x15f),apiDefinitions),registerDeclarativeService(a214_0x19597d(0x184),bffDefinitions),registerDeclarativeService(a214_0x19597d(0x1b4),instantApiPolicyDefinitions),registerDeclarativeService(a214_0x19597d(0x15b),notificationDefinitions),registerDeclarativeService(a214_0x19597d(0x17a),sqlDefinitions),registerDeclarativeService(a214_0x19597d(0x1ad),dbDefinitions),registerDeclarativeService(a214_0x19597d(0x1a6),deploymentDefinitions),registerDeclarativeService('Menu',menuDefinitions),registerDeclarativeService(a214_0x19597d(0x146),taskDefinitions),registerDeclarativeService(a214_0x19597d(0x160),roleDefinitions),registerDeclarativeService(a214_0x19597d(0x1af),appConfigDefinitions),registerDeclarativeService(a214_0x19597d(0x171),kbDefinitions),registerDeclarativeService(a214_0x19597d(0x153),ruleDefinitions),registerDeclarativeService('Platform\x20Issue',issueDefinitions),registerDeclarativeService(a214_0x19597d(0x168),fileDefinitions),registerDeclarativeService(a214_0x19597d(0x176),ocrDefinitions),registerDeclarativeService(a214_0x19597d(0x151),codegenDefinitions),registerDeclarativeService(a214_0x19597d(0x1a3),configDefinitions),registerDeclarativeService(a214_0x19597d(0x19a),[doctorDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a214_0x19597d(0x167),[schemaDefinition],{'isSingleCommand':!![]}),registerDeclarativeService('Self\x20Update',[updateDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a214_0x19597d(0x1b7),cliSkillDefinitions,{'defaultCommand':a214_0x19597d(0x1a1)}),registerDeclarativeService(a214_0x19597d(0x147),flowDefinitions),registerDeclarativeService(a214_0x19597d(0x15d),logsDefinitions,{'defaultCommand':a214_0x19597d(0x1ae)}),registerDeclarativeService(a214_0x19597d(0x186),[runDefinition],{'wildcardDef':runDefinition});{const last=serviceRegistry[serviceRegistry[a214_0x19597d(0x1b9)]-0x1];last['commands']=[{'command':a214_0x19597d(0x14f),'description':a214_0x19597d(0x189),'tag':a214_0x19597d(0x18e)+runDefinition[a214_0x19597d(0x1b8)]+']'}];}const REMOVED_COMMAND_REPLACEMENTS=new Map([[a214_0x19597d(0x1ac),a214_0x19597d(0x1b6)],[a214_0x19597d(0x162),a214_0x19597d(0x191)],[a214_0x19597d(0x16a),a214_0x19597d(0x175)],['menu:update','rabetbase\x20menu\x20asset-update'],[a214_0x19597d(0x1b5),'rabetbase\x20workspace\x20init\x20--appcode\x20<code>'],[a214_0x19597d(0x1bb),a214_0x19597d(0x1a0)],['skill:install',a214_0x19597d(0x1a0)],['skills:',a214_0x19597d(0x1a0)],[a214_0x19597d(0x196),a214_0x19597d(0x1a0)],['app:remote',a214_0x19597d(0x180)],[a214_0x19597d(0x182),a214_0x19597d(0x1b1)],['app:add',a214_0x19597d(0x179)],[a214_0x19597d(0x198),a214_0x19597d(0x178)],['knowledge-base:list','rabetbase\x20kb\x20list'],[a214_0x19597d(0x152),'rabetbase\x20kb\x20detail'],['knowledge-base:create',a214_0x19597d(0x17f)],[a214_0x19597d(0x148),a214_0x19597d(0x157)],[a214_0x19597d(0x17b),'rabetbase\x20kb\x20delete'],[a214_0x19597d(0x14b),a214_0x19597d(0x163)],[a214_0x19597d(0x199),a214_0x19597d(0x17e)],['data:getOne',a214_0x19597d(0x181)],[a214_0x19597d(0x193),a214_0x19597d(0x1b0)],[a214_0x19597d(0x16c),a214_0x19597d(0x1b2)],['page:custom-create','rabetbase\x20page\x20create\x20--page-pattern\x20BLANK'],[a214_0x19597d(0x192),a214_0x19597d(0x19c)],[a214_0x19597d(0x150),a214_0x19597d(0x197)],[a214_0x19597d(0x177),a214_0x19597d(0x17c)],[a214_0x19597d(0x16f),'rabetbase\x20page\x20custom-publish']]),REMOVED_COMMAND_HINTS=new Map([['flow:enable','This\x20lifecycle\x20operation\x20is\x20no\x20longer\x20exposed\x20by\x20Rabetbase\x20CLI;\x20no\x20replacement\x20command\x20is\x20available.'],['flow:disable',a214_0x19597d(0x14a)],['deployment:sync',a214_0x19597d(0x16d)],[a214_0x19597d(0x15e),a214_0x19597d(0x19b)],['permit:page-set',a214_0x19597d(0x19b)],[a214_0x19597d(0x19d),a214_0x19597d(0x19b)],[a214_0x19597d(0x156),a214_0x19597d(0x19b)],[a214_0x19597d(0x18b),a214_0x19597d(0x19b)]]),REMOVED_FLAT_COMMAND_REPLACEMENTS=new Map([[a214_0x19597d(0x1ba),'rabetbase\x20project\x20create\x20<project-name>'],[a214_0x19597d(0x155),'rabetbase\x20run\x20start'],[a214_0x19597d(0x169),a214_0x19597d(0x15c)],[a214_0x19597d(0x19f),a214_0x19597d(0x18f)],[a214_0x19597d(0x190),a214_0x19597d(0x1a5)]]);export function resolveRemovedCommand(_0x5241d5,_0x19f2d4){const _0x5c675f=a214_0x19597d;if(!_0x5241d5)return undefined;const _0x1f556f=REMOVED_COMMAND_REPLACEMENTS[_0x5c675f(0x166)](_0x5241d5+':'+(_0x19f2d4??'')),_0x2b7918=REMOVED_FLAT_COMMAND_REPLACEMENTS[_0x5c675f(0x166)](_0x5241d5),_0x556695=_0x1f556f??_0x2b7918,_0x57241a=REMOVED_COMMAND_HINTS[_0x5c675f(0x166)](_0x5241d5+':'+(_0x19f2d4??''));if(!_0x556695&&!_0x57241a)return undefined;const _0xc5a64c=_0x2b7918?_0x5241d5:_0x19f2d4?_0x5241d5+'\x20'+_0x19f2d4:_0x5241d5;return{'command':_0xc5a64c,'message':_0x5c675f(0x159)+_0xc5a64c+_0x5c675f(0x1a4),'hint':_0x57241a??_0x5c675f(0x149)+_0x556695+_0x5c675f(0x18d)};}export function findDefinition(_0x956d50,_0x4aa0e7){const _0x4bfb61=a214_0x19597d;return definitions[_0x4bfb61(0x166)](_0x956d50+':'+_0x4aa0e7);}export function isKnownService(_0x196e78){const _0x5580c3=a214_0x19597d;return serviceByName[_0x5580c3(0x17d)](_0x196e78);}export function isDeclarativeService(_0xc21f41){const _0x29f386=a214_0x19597d;return serviceGroups[_0x29f386(0x17d)](_0xc21f41)||serviceByName['get'](_0xc21f41)?.[_0x29f386(0x174)]!==undefined;}export function getServiceEntry(_0x4ceb8a){const _0x10c7a8=a214_0x19597d;return serviceByName[_0x10c7a8(0x166)](_0x4ceb8a);}export function getLegacyHandler(_0x3a80a6,_0x4d28c3){return undefined;}export function getAllDefinitions(){const _0x53adda=a214_0x19597d;return Array[_0x53adda(0x14d)](definitions[_0x53adda(0x161)]());}
@@ -1 +1 @@
1
- const a215_0x2d9ff5=a215_0x440c;(function(_0x4751ce,_0x4893f3){const _0x45db6c=a215_0x440c,_0x129ab1=_0x4751ce();while(!![]){try{const _0x4e29e3=-parseInt(_0x45db6c(0x123))/0x1+parseInt(_0x45db6c(0x126))/0x2*(-parseInt(_0x45db6c(0x12e))/0x3)+-parseInt(_0x45db6c(0x124))/0x4+parseInt(_0x45db6c(0x11d))/0x5+-parseInt(_0x45db6c(0x11f))/0x6+parseInt(_0x45db6c(0x120))/0x7*(parseInt(_0x45db6c(0x127))/0x8)+parseInt(_0x45db6c(0x12f))/0x9;if(_0x4e29e3===_0x4893f3)break;else _0x129ab1['push'](_0x129ab1['shift']());}catch(_0x39386c){_0x129ab1['push'](_0x129ab1['shift']());}}}(a215_0x42bf,0x2cc5b));import{deleteAppRole}from'../../core/api-client.js';function a215_0x440c(_0x2a815c,_0x2495e9){_0x2a815c=_0x2a815c-0x11d;const _0x42bf2c=a215_0x42bf();let _0x440c56=_0x42bf2c[_0x2a815c];return _0x440c56;}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{assertCustomRole,getRoleById,projectRole,ROLE_ID_FLAG}from'../../commands/role/shared.js';function a215_0x42bf(){const _0x5e6be5=['282948VEcNmt','301gfBxdL','/smartapi/permit/role/delete','Delete\x20a\x20CUSTOM\x20role\x20(built-in\x20roles\x20rejected);\x20requires\x20--yes','53524smjASW','1280804ssynAb','roleName','11960OhMKIE','52088ESlZup','userCount','\x20member(s);\x20they\x20will\x20lose\x20this\x20group.','dev','POST','delete','role','102XODYYj','2153052rPmvzt','\x20(id=','num','appCode','1441945iTDoZc','Deleted\x20role\x20'];a215_0x42bf=function(){return _0x5e6be5;};return a215_0x42bf();}const DELETE_PATH=a215_0x2d9ff5(0x121);export const roleDelete={'service':a215_0x2d9ff5(0x12d),'command':'delete','description':a215_0x2d9ff5(0x122),'risk':'high-risk-write','flags':[ROLE_ID_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x2a9ee4){const _0x4be009=a215_0x2d9ff5,_0x1baf56=_0x2a9ee4[_0x4be009(0x131)]('id'),_0x525cbb=await getRoleById(_0x2a9ee4['appCode'],_0x1baf56);return assertCustomRole(_0x525cbb,_0x4be009(0x12c)),asDryRunResult({'scope':_0x4be009(0x12a),'operation':_0x4be009(0x12c),'selector':{'appCode':_0x2a9ee4[_0x4be009(0x132)],'roleId':_0x1baf56,'roleName':_0x525cbb['roleName']},'before':projectRole(_0x525cbb),'after':null,'dryRun':!![],'backend':{'method':_0x4be009(0x12b),'path':DELETE_PATH},'warnings':_0x525cbb[_0x4be009(0x128)]>0x0?['Role\x20still\x20has\x20'+_0x525cbb[_0x4be009(0x128)]+_0x4be009(0x129)]:[]},{'method':_0x4be009(0x12b),'url':DELETE_PATH});},async 'execute'(_0x1734da){const _0x2f25a7=a215_0x2d9ff5,_0x47a78f=_0x1734da[_0x2f25a7(0x131)]('id'),_0x3b257b=await getRoleById(_0x1734da[_0x2f25a7(0x132)],_0x47a78f);return assertCustomRole(_0x3b257b,_0x2f25a7(0x12c)),await deleteAppRole(_0x47a78f),{'ok':!![],'data':{'scope':_0x2f25a7(0x12a),'operation':_0x2f25a7(0x12c),'selector':{'appCode':_0x1734da[_0x2f25a7(0x132)],'roleId':_0x47a78f,'roleName':_0x3b257b[_0x2f25a7(0x125)]},'before':projectRole(_0x3b257b),'after':null,'dryRun':![],'backend':{'method':_0x2f25a7(0x12b),'path':DELETE_PATH},'warnings':[]},'message':_0x2f25a7(0x11e)+_0x3b257b[_0x2f25a7(0x125)]+_0x2f25a7(0x130)+_0x47a78f+')'};}};
1
+ const a215_0x222ab7=a215_0xc9cc;(function(_0x1a8225,_0x5c9e81){const _0x1d65b7=a215_0xc9cc,_0x8159a1=_0x1a8225();while(!![]){try{const _0x5c271b=-parseInt(_0x1d65b7(0xd5))/0x1+-parseInt(_0x1d65b7(0xc7))/0x2*(parseInt(_0x1d65b7(0xd2))/0x3)+-parseInt(_0x1d65b7(0xc6))/0x4+parseInt(_0x1d65b7(0xd3))/0x5+parseInt(_0x1d65b7(0xc9))/0x6*(parseInt(_0x1d65b7(0xd4))/0x7)+-parseInt(_0x1d65b7(0xcf))/0x8+parseInt(_0x1d65b7(0xc8))/0x9;if(_0x5c271b===_0x5c9e81)break;else _0x8159a1['push'](_0x8159a1['shift']());}catch(_0x24b6e1){_0x8159a1['push'](_0x8159a1['shift']());}}}(a215_0x111a,0xbd4b3));import{deleteAppRole}from'../../core/api-client.js';function a215_0x111a(){const _0xe78186=['1045595jgvwNC','252JQKSDI','387215rHoXQM','userCount','appCode','Delete\x20a\x20CUSTOM\x20role\x20(built-in\x20roles\x20rejected);\x20requires\x20--yes','Deleted\x20role\x20','high-risk-write','POST','2983776guHSZx','2gXFqly','25730154rgNTbP','96120YHIIAT','\x20(id=','Role\x20still\x20has\x20','\x20member(s);\x20they\x20will\x20lose\x20this\x20group.','delete','roleName','2124072BSvdnd','num','dev','4412190cgWhQq'];a215_0x111a=function(){return _0xe78186;};return a215_0x111a();}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';function a215_0xc9cc(_0x4e5037,_0x4c8bab){_0x4e5037=_0x4e5037-0xc0;const _0x111a2f=a215_0x111a();let _0xc9ccec=_0x111a2f[_0x4e5037];return _0xc9ccec;}export const roleDelete={'service':'role','command':a215_0x222ab7(0xcd),'description':a215_0x222ab7(0xc2),'risk':a215_0x222ab7(0xc4),'flags':[ROLE_ID_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x8222c){const _0x75b7bf=a215_0x222ab7,_0x356650=_0x8222c[_0x75b7bf(0xd0)]('id'),_0x14603e=await getRoleById(_0x8222c[_0x75b7bf(0xc1)],_0x356650);return assertCustomRole(_0x14603e,_0x75b7bf(0xcd)),asDryRunResult({'scope':_0x75b7bf(0xd1),'operation':_0x75b7bf(0xcd),'selector':{'appCode':_0x8222c['appCode'],'roleId':_0x356650,'roleName':_0x14603e[_0x75b7bf(0xce)]},'before':projectRole(_0x14603e),'after':null,'dryRun':!![],'backend':{'method':_0x75b7bf(0xc5),'path':DELETE_PATH},'warnings':_0x14603e[_0x75b7bf(0xc0)]>0x0?[_0x75b7bf(0xcb)+_0x14603e[_0x75b7bf(0xc0)]+_0x75b7bf(0xcc)]:[]},{'method':'POST','url':DELETE_PATH});},async 'execute'(_0x17d4d7){const _0x2e9643=a215_0x222ab7,_0x18e570=_0x17d4d7['num']('id'),_0x55c36b=await getRoleById(_0x17d4d7[_0x2e9643(0xc1)],_0x18e570);return assertCustomRole(_0x55c36b,'delete'),await deleteAppRole(_0x18e570),{'ok':!![],'data':{'scope':'dev','operation':_0x2e9643(0xcd),'selector':{'appCode':_0x17d4d7[_0x2e9643(0xc1)],'roleId':_0x18e570,'roleName':_0x55c36b[_0x2e9643(0xce)]},'before':projectRole(_0x55c36b),'after':null,'dryRun':![],'backend':{'method':_0x2e9643(0xc5),'path':DELETE_PATH},'warnings':[]},'message':_0x2e9643(0xc3)+_0x55c36b['roleName']+_0x2e9643(0xca)+_0x18e570+')'};}};
@@ -1 +1 @@
1
- const a216_0x171147=a216_0x2b8a;function a216_0x2b8a(_0x4bf6e9,_0x18c568){_0x4bf6e9=_0x4bf6e9-0x80;const _0x45e69b=a216_0x45e6();let _0x2b8a95=_0x45e69b[_0x4bf6e9];return _0x2b8a95;}function a216_0x45e6(){const _0x6303b9=['5889960PsGxpm','4CBYtks','25AjtZRq','22ExZXbp','roleType','355592BdykMT','role','detail','2614548HFFnjD','Show\x20a\x20single\x20role\x27s\x20detail','7338114ZnSybB','21vNmmhz','1788453bdKQbI','843xRnSjk','502rFpPsi','5436AJPUgM','Role\x20'];a216_0x45e6=function(){return _0x6303b9;};return a216_0x45e6();}(function(_0x1f2037,_0x35abb2){const _0x7f97d=a216_0x2b8a,_0x1ba9e3=_0x1f2037();while(!![]){try{const _0x15857e=-parseInt(_0x7f97d(0x88))/0x1*(-parseInt(_0x7f97d(0x89))/0x2)+-parseInt(_0x7f97d(0x87))/0x3*(-parseInt(_0x7f97d(0x8d))/0x4)+-parseInt(_0x7f97d(0x8e))/0x5*(parseInt(_0x7f97d(0x8a))/0x6)+-parseInt(_0x7f97d(0x86))/0x7*(parseInt(_0x7f97d(0x80))/0x8)+parseInt(_0x7f97d(0x85))/0x9+-parseInt(_0x7f97d(0x8c))/0xa+-parseInt(_0x7f97d(0x8f))/0xb*(parseInt(_0x7f97d(0x83))/0xc);if(_0x15857e===_0x35abb2)break;else _0x1ba9e3['push'](_0x1ba9e3['shift']());}catch(_0x4fabf0){_0x1ba9e3['push'](_0x1ba9e3['shift']());}}}(a216_0x45e6,0x706ab));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{getRoleById,projectRole,ROLE_ID_FLAG}from'../../commands/role/shared.js';export const roleDetail={'service':a216_0x171147(0x81),'command':a216_0x171147(0x82),'description':a216_0x171147(0x84),'risk':'read','flags':[ROLE_ID_FLAG,APPCODE_FLAG_OPTIONAL],async 'execute'(_0x3bdca3){const _0x29ee1c=a216_0x171147,_0x426c02=_0x3bdca3['num']('id'),_0x14bff5=await getRoleById(_0x3bdca3['appCode'],_0x426c02);return{'ok':!![],'data':{'scope':'dev','role':projectRole(_0x14bff5)},'message':_0x29ee1c(0x8b)+_0x14bff5['roleName']+'\x20('+_0x14bff5[_0x29ee1c(0x90)]+')'};}};
1
+ const a216_0x4f2806=a216_0x47d2;function a216_0x47d2(_0x24f3e8,_0x279075){_0x24f3e8=_0x24f3e8-0xfa;const _0x5c2e6c=a216_0x5c2e();let _0x47d243=_0x5c2e6c[_0x24f3e8];return _0x47d243;}(function(_0x43a7f1,_0x5d3985){const _0x3ea951=a216_0x47d2,_0x468192=_0x43a7f1();while(!![]){try{const _0x428377=parseInt(_0x3ea951(0xfb))/0x1*(parseInt(_0x3ea951(0xfe))/0x2)+parseInt(_0x3ea951(0x104))/0x3+parseInt(_0x3ea951(0x106))/0x4*(-parseInt(_0x3ea951(0xfc))/0x5)+parseInt(_0x3ea951(0x101))/0x6*(parseInt(_0x3ea951(0x10a))/0x7)+parseInt(_0x3ea951(0x10b))/0x8*(-parseInt(_0x3ea951(0x10e))/0x9)+parseInt(_0x3ea951(0xff))/0xa*(-parseInt(_0x3ea951(0x10c))/0xb)+parseInt(_0x3ea951(0x108))/0xc*(parseInt(_0x3ea951(0xfd))/0xd);if(_0x428377===_0x5d3985)break;else _0x468192['push'](_0x468192['shift']());}catch(_0x207b4e){_0x468192['push'](_0x468192['shift']());}}}(a216_0x5c2e,0xae1bc));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{getRoleById,projectRole,ROLE_ID_FLAG}from'../../commands/role/shared.js';export const roleDetail={'service':'role','command':a216_0x4f2806(0x105),'description':a216_0x4f2806(0x10d),'risk':a216_0x4f2806(0x107),'flags':[ROLE_ID_FLAG,APPCODE_FLAG_OPTIONAL],async 'execute'(_0x2add67){const _0x21ce38=a216_0x4f2806,_0x568a22=_0x2add67[_0x21ce38(0xfa)]('id'),_0x4da3d2=await getRoleById(_0x2add67['appCode'],_0x568a22);return{'ok':!![],'data':{'scope':_0x21ce38(0x103),'role':projectRole(_0x4da3d2)},'message':_0x21ce38(0x100)+_0x4da3d2[_0x21ce38(0x102)]+'\x20('+_0x4da3d2[_0x21ce38(0x109)]+')'};}};function a216_0x5c2e(){const _0x1f42c4=['5JrEcys','13cEubDu','570302IKyoQi','10tlObWq','Role\x20','1542864VRGqnR','roleName','dev','3214116puBKqy','detail','4943716qzGrjX','read','2507748fuxulA','roleType','21achhVD','20656iikiWX','8349275GKWbwe','Show\x20a\x20single\x20role\x27s\x20detail','2682jmCVNV','num','5wBXmfl'];a216_0x5c2e=function(){return _0x1f42c4;};return a216_0x5c2e();}
@@ -1 +1 @@
1
- (function(_0x37564b,_0x30afac){const _0x317d06=a217_0x386b,_0x1442d8=_0x37564b();while(!![]){try{const _0x2031ce=-parseInt(_0x317d06(0x96))/0x1*(parseInt(_0x317d06(0x94))/0x2)+parseInt(_0x317d06(0x93))/0x3+-parseInt(_0x317d06(0x91))/0x4*(-parseInt(_0x317d06(0x90))/0x5)+parseInt(_0x317d06(0x8e))/0x6+parseInt(_0x317d06(0x92))/0x7+-parseInt(_0x317d06(0x8d))/0x8+parseInt(_0x317d06(0x95))/0x9*(-parseInt(_0x317d06(0x8f))/0xa);if(_0x2031ce===_0x30afac)break;else _0x1442d8['push'](_0x1442d8['shift']());}catch(_0x1f7009){_0x1442d8['push'](_0x1442d8['shift']());}}}(a217_0x9d27,0x72c3f));import{roleList}from'../../commands/role/list.js';function a217_0x386b(_0x1c6238,_0x121c16){_0x1c6238=_0x1c6238-0x8d;const _0x9d278b=a217_0x9d27();let _0x386b06=_0x9d278b[_0x1c6238];return _0x386b06;}import{roleDetail}from'../../commands/role/detail.js';function a217_0x9d27(){const _0x50e19d=['173596AaJlrl','6461812aCbVvV','1435125epZsJw','3778CJTqKV','531iAMLMI','373uPBJsx','327256SqdSdM','3437496MkzAQe','135970QliGKW','5gvPkuZ'];a217_0x9d27=function(){return _0x50e19d;};return a217_0x9d27();}import{roleUpdate}from'../../commands/role/update.js';import{roleDelete}from'../../commands/role/delete.js';import{roleUserResolve}from'../../commands/role/user-resolve.js';import{roleUserAdd}from'../../commands/role/user-add.js';import{roleUserRemove}from'../../commands/role/user-remove.js';export const roleDefinitions=[roleList,roleDetail,roleUpdate,roleDelete,roleUserResolve,roleUserAdd,roleUserRemove];
1
+ function a217_0x3e86(_0x54f396,_0xa54d8e){_0x54f396=_0x54f396-0x1d6;const _0x46f682=a217_0x46f6();let _0x3e86b5=_0x46f682[_0x54f396];return _0x3e86b5;}(function(_0x3f1904,_0xbd65ec){const _0x4a8c6a=a217_0x3e86,_0x572fef=_0x3f1904();while(!![]){try{const _0x54e907=-parseInt(_0x4a8c6a(0x1de))/0x1+parseInt(_0x4a8c6a(0x1dd))/0x2*(parseInt(_0x4a8c6a(0x1d8))/0x3)+-parseInt(_0x4a8c6a(0x1da))/0x4+parseInt(_0x4a8c6a(0x1d7))/0x5*(parseInt(_0x4a8c6a(0x1d9))/0x6)+-parseInt(_0x4a8c6a(0x1e0))/0x7*(parseInt(_0x4a8c6a(0x1dc))/0x8)+parseInt(_0x4a8c6a(0x1d6))/0x9*(parseInt(_0x4a8c6a(0x1df))/0xa)+parseInt(_0x4a8c6a(0x1db))/0xb;if(_0x54e907===_0xbd65ec)break;else _0x572fef['push'](_0x572fef['shift']());}catch(_0x980464){_0x572fef['push'](_0x572fef['shift']());}}}(a217_0x46f6,0x4b31e));import{roleList}from'../../commands/role/list.js';import{roleDetail}from'../../commands/role/detail.js';import{roleUpdate}from'../../commands/role/update.js';import{roleDelete}from'../../commands/role/delete.js';import{roleUserResolve}from'../../commands/role/user-resolve.js';function a217_0x46f6(){const _0x56d1b8=['1108142loDRic','423350RDsXXQ','14180wbYFJV','20699NJCPRL','2682fUduxK','465xbHhkp','3DiWxNW','22494ZkUiPe','2322804RmofRk','3204608EglNFN','824xYwrEc'];a217_0x46f6=function(){return _0x56d1b8;};return a217_0x46f6();}import{roleUserAdd}from'../../commands/role/user-add.js';import{roleUserRemove}from'../../commands/role/user-remove.js';export const roleDefinitions=[roleList,roleDetail,roleUpdate,roleDelete,roleUserResolve,roleUserAdd,roleUserRemove];
@@ -1 +1 @@
1
- const a218_0x31cd80=a218_0xccb8;(function(_0x5e69ae,_0x128491){const _0x5e2bb7=a218_0xccb8,_0x552fd9=_0x5e69ae();while(!![]){try{const _0x206644=-parseInt(_0x5e2bb7(0x1b3))/0x1*(-parseInt(_0x5e2bb7(0x19e))/0x2)+-parseInt(_0x5e2bb7(0x1a0))/0x3*(parseInt(_0x5e2bb7(0x19a))/0x4)+parseInt(_0x5e2bb7(0x1a4))/0x5*(-parseInt(_0x5e2bb7(0x1ad))/0x6)+parseInt(_0x5e2bb7(0x195))/0x7+parseInt(_0x5e2bb7(0x1a5))/0x8*(parseInt(_0x5e2bb7(0x197))/0x9)+parseInt(_0x5e2bb7(0x1b0))/0xa*(-parseInt(_0x5e2bb7(0x1a6))/0xb)+parseInt(_0x5e2bb7(0x1b4))/0xc;if(_0x206644===_0x128491)break;else _0x552fd9['push'](_0x552fd9['shift']());}catch(_0x3c75a5){_0x552fd9['push'](_0x552fd9['shift']());}}}(a218_0x1eee,0xadf2a));import{listAppRoles}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';function a218_0xccb8(_0x3a2d02,_0x5839f3){_0x3a2d02=_0x3a2d02-0x192;const _0x1eee43=a218_0x1eee();let _0xccb8f2=_0x1eee43[_0x3a2d02];return _0xccb8f2;}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{projectRole}from'../../commands/role/shared.js';const ROLE_TYPES=[a218_0x31cd80(0x199),a218_0x31cd80(0x19f),a218_0x31cd80(0x1ac),a218_0x31cd80(0x1a3)];export const roleList={'service':a218_0x31cd80(0x19c),'command':'list','description':a218_0x31cd80(0x198),'risk':a218_0x31cd80(0x1ab),'flags':[APPCODE_FLAG_OPTIONAL,{'name':a218_0x31cd80(0x1a8),'type':a218_0x31cd80(0x1b9),'required':![],'description':a218_0x31cd80(0x19b),'enum':ROLE_TYPES},{'name':a218_0x31cd80(0x1af),'type':'number','description':a218_0x31cd80(0x196),'default':0x1},{'name':a218_0x31cd80(0x1b7),'type':a218_0x31cd80(0x1b6),'description':'Page\x20size\x20(1-100)','default':0x64}],async 'validate'(_0x237fb6){const _0x30ab30=a218_0x31cd80,_0x3de32c=_0x237fb6[_0x30ab30(0x1a7)](_0x30ab30(0x1a8))[_0x30ab30(0x193)]();if(_0x3de32c&&!ROLE_TYPES[_0x30ab30(0x1b5)](_0x3de32c[_0x30ab30(0x192)]()))throw CliErrors[_0x30ab30(0x19d)](_0x30ab30(0x1ae)+_0x3de32c+'\x22.',_0x30ab30(0x1b2)+ROLE_TYPES['join'](',\x20')+'.');const _0x2291e5=_0x237fb6[_0x30ab30(0x1b8)](_0x30ab30(0x1af),0x1),_0x5f276c=_0x237fb6['num'](_0x30ab30(0x1b7),0x64);if(_0x2291e5<0x1)throw CliErrors[_0x30ab30(0x19d)]('--page\x20must\x20be\x20greater\x20than\x20or\x20equal\x20to\x201.');if(_0x5f276c<0x1||_0x5f276c>0x64)throw CliErrors['validation']('--pagesize\x20must\x20be\x20between\x201\x20and\x20100.');},async 'execute'(_0x190db2){const _0xd40a0e=a218_0x31cd80,_0x14bd49=_0x190db2[_0xd40a0e(0x1b8)]('page',0x1)||0x1,_0x526710=_0x190db2[_0xd40a0e(0x1b8)]('pagesize',0x64)||0x64,_0xcc3975=_0x190db2[_0xd40a0e(0x1a7)]('type')[_0xd40a0e(0x193)]()[_0xd40a0e(0x192)](),{items:_0x1b7fcb,paging:_0x3e5053}=await listAppRoles(_0x190db2['appCode'],{'currentPage':_0x14bd49,'pageSize':_0x526710}),_0x3d72ea=_0xcc3975?_0x1b7fcb[_0xd40a0e(0x1a9)](_0x58c5da=>_0x58c5da[_0xd40a0e(0x1aa)]===_0xcc3975):_0x1b7fcb,_0x222ddb=_0x3d72ea[_0xd40a0e(0x1b1)](projectRole);return{'ok':!![],'data':{'scope':_0xd40a0e(0x194),'roles':_0x222ddb,'paging':_0x3e5053},'message':'Found\x20'+_0x222ddb[_0xd40a0e(0x1a1)]+_0xd40a0e(0x1a2)};}};function a218_0x1eee(){const _0x5ec32f=['318451ybJLmC','Page\x20index\x20(1-based)','189yHEuqM','List\x20user\x20groups\x20(roles)\x20for\x20the\x20current\x20app','ADMIN','8XKwIQp','Filter\x20by\x20role\x20type','role','validation','612rcoZZS','DEV','976863miJciP','length','\x20role(s)','CUSTOM','489665lIkGZr','395704FlAaVq','11RPfaux','str','type','filter','roleType','read','OWNER','6HZxwPD','Invalid\x20--type\x20\x22','page','5663010DZNZvr','map','Use\x20one\x20of:\x20','969ZjgZGF','7766832plFHYj','includes','number','pagesize','num','string','toUpperCase','trim','dev'];a218_0x1eee=function(){return _0x5ec32f;};return a218_0x1eee();}
1
+ function a218_0xaea7(_0x29e2a1,_0x3a8427){_0x29e2a1=_0x29e2a1-0x176;const _0x11786f=a218_0x1178();let _0xaea772=_0x11786f[_0x29e2a1];return _0xaea772;}const a218_0x53fb1d=a218_0xaea7;(function(_0x59937f,_0x22a5a9){const _0x3dab44=a218_0xaea7,_0xf0b43a=_0x59937f();while(!![]){try{const _0x132522=-parseInt(_0x3dab44(0x17e))/0x1+parseInt(_0x3dab44(0x194))/0x2*(parseInt(_0x3dab44(0x195))/0x3)+-parseInt(_0x3dab44(0x17a))/0x4*(-parseInt(_0x3dab44(0x18b))/0x5)+parseInt(_0x3dab44(0x19b))/0x6*(-parseInt(_0x3dab44(0x191))/0x7)+parseInt(_0x3dab44(0x18d))/0x8*(-parseInt(_0x3dab44(0x18a))/0x9)+parseInt(_0x3dab44(0x19e))/0xa*(parseInt(_0x3dab44(0x18e))/0xb)+parseInt(_0x3dab44(0x17b))/0xc;if(_0x132522===_0x22a5a9)break;else _0xf0b43a['push'](_0xf0b43a['shift']());}catch(_0x169de4){_0xf0b43a['push'](_0xf0b43a['shift']());}}}(a218_0x1178,0x89415));import{listAppRoles}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{projectRole}from'../../commands/role/shared.js';const ROLE_TYPES=[a218_0x53fb1d(0x19a),'DEV',a218_0x53fb1d(0x176),'CUSTOM'];export const roleList={'service':a218_0x53fb1d(0x185),'command':'list','description':a218_0x53fb1d(0x196),'risk':a218_0x53fb1d(0x17d),'flags':[APPCODE_FLAG_OPTIONAL,{'name':a218_0x53fb1d(0x179),'type':a218_0x53fb1d(0x177),'required':![],'description':a218_0x53fb1d(0x184),'enum':ROLE_TYPES},{'name':a218_0x53fb1d(0x19d),'type':a218_0x53fb1d(0x190),'description':a218_0x53fb1d(0x199),'default':0x1},{'name':a218_0x53fb1d(0x186),'type':'number','description':a218_0x53fb1d(0x18c),'default':0x64}],async 'validate'(_0x187024){const _0x1bd0ad=a218_0x53fb1d,_0x17026a=_0x187024[_0x1bd0ad(0x197)](_0x1bd0ad(0x179))['trim']();if(_0x17026a&&!ROLE_TYPES[_0x1bd0ad(0x192)](_0x17026a[_0x1bd0ad(0x187)]()))throw CliErrors[_0x1bd0ad(0x178)](_0x1bd0ad(0x182)+_0x17026a+'\x22.',_0x1bd0ad(0x189)+ROLE_TYPES[_0x1bd0ad(0x193)](',\x20')+'.');const _0x4a32d1=_0x187024[_0x1bd0ad(0x17f)](_0x1bd0ad(0x19d),0x1),_0x4f6501=_0x187024[_0x1bd0ad(0x17f)](_0x1bd0ad(0x186),0x64);if(_0x4a32d1<0x1)throw CliErrors[_0x1bd0ad(0x178)](_0x1bd0ad(0x18f));if(_0x4f6501<0x1||_0x4f6501>0x64)throw CliErrors['validation'](_0x1bd0ad(0x17c));},async 'execute'(_0x4e0637){const _0x1b6934=a218_0x53fb1d,_0x17318c=_0x4e0637[_0x1b6934(0x17f)](_0x1b6934(0x19d),0x1)||0x1,_0x26050c=_0x4e0637[_0x1b6934(0x17f)](_0x1b6934(0x186),0x64)||0x64,_0x4cbc20=_0x4e0637[_0x1b6934(0x197)](_0x1b6934(0x179))[_0x1b6934(0x188)]()[_0x1b6934(0x187)](),{items:_0x539df6,paging:_0xf008ef}=await listAppRoles(_0x4e0637[_0x1b6934(0x180)],{'currentPage':_0x17318c,'pageSize':_0x26050c}),_0x3ed03f=_0x4cbc20?_0x539df6[_0x1b6934(0x198)](_0x53ced6=>_0x53ced6['roleType']===_0x4cbc20):_0x539df6,_0xda874b=_0x3ed03f[_0x1b6934(0x19c)](projectRole);return{'ok':!![],'data':{'scope':_0x1b6934(0x181),'roles':_0xda874b,'paging':_0xf008ef},'message':'Found\x20'+_0xda874b['length']+_0x1b6934(0x183)};}};function a218_0x1178(){const _0x220a7f=['40WgohgE','Page\x20size\x20(1-100)','8BQfcBA','220FDTwkA','--page\x20must\x20be\x20greater\x20than\x20or\x20equal\x20to\x201.','number','28cSWUFt','includes','join','75090syjdcf','6NxhMhc','List\x20user\x20groups\x20(roles)\x20for\x20the\x20current\x20app','str','filter','Page\x20index\x20(1-based)','ADMIN','1638072zQagIa','map','page','208660sRDZmY','OWNER','string','validation','type','137116BpZcyz','24052524LEZpTu','--pagesize\x20must\x20be\x20between\x201\x20and\x20100.','read','915920DqioZY','num','appCode','dev','Invalid\x20--type\x20\x22','\x20role(s)','Filter\x20by\x20role\x20type','role','pagesize','toUpperCase','trim','Use\x20one\x20of:\x20','1807686TeAcQH'];a218_0x1178=function(){return _0x220a7f;};return a218_0x1178();}
@@ -1 +1 @@
1
- const a219_0x2dd7c0=a219_0x354a;(function(_0x1c65c6,_0x209581){const _0x9de42=a219_0x354a,_0xadf87f=_0x1c65c6();while(!![]){try{const _0xd3d6ef=-parseInt(_0x9de42(0x101))/0x1+parseInt(_0x9de42(0xf7))/0x2*(-parseInt(_0x9de42(0x137))/0x3)+-parseInt(_0x9de42(0x125))/0x4+-parseInt(_0x9de42(0x113))/0x5*(-parseInt(_0x9de42(0x112))/0x6)+-parseInt(_0x9de42(0x12e))/0x7+parseInt(_0x9de42(0xf4))/0x8*(parseInt(_0x9de42(0x141))/0x9)+parseInt(_0x9de42(0x131))/0xa;if(_0xd3d6ef===_0x209581)break;else _0xadf87f['push'](_0xadf87f['shift']());}catch(_0x320a8f){_0xadf87f['push'](_0xadf87f['shift']());}}}(a219_0x1796,0xeaf9a));import{getTenantMembers,listDevUserRoleRelations,listAppRoles}from'../../core/api-client.js';import{getSessionUserInfo}from'../../auth/get-session-user.js';import{CliErrors}from'../../errors.js';export const ROLE_ID_FLAG={'name':'id','type':a219_0x2dd7c0(0x11a),'required':!![],'description':a219_0x2dd7c0(0x13b)};export const ROLE_REF_FLAG={'name':a219_0x2dd7c0(0x135),'type':a219_0x2dd7c0(0xfc),'required':!![],'description':a219_0x2dd7c0(0x11b)};export const USER_REF_FLAG={'name':a219_0x2dd7c0(0x105),'type':a219_0x2dd7c0(0xfc),'required':!![],'description':a219_0x2dd7c0(0xfd)};export const NAME_FLAG={'name':a219_0x2dd7c0(0x107),'type':a219_0x2dd7c0(0xfc),'required':!![],'description':a219_0x2dd7c0(0x122)};export const USER_NAME_FLAG={'name':a219_0x2dd7c0(0x107),'type':a219_0x2dd7c0(0xfc),'required':!![],'description':'Nickname\x20or\x20username\x20to\x20resolve\x20to\x20a\x20userId'};export const REMARK_FLAG={'name':a219_0x2dd7c0(0x10b),'type':a219_0x2dd7c0(0xfc),'required':![],'description':a219_0x2dd7c0(0x142)};export const EXPECT_USER_COUNT_FLAG={'name':a219_0x2dd7c0(0x126),'type':'number','required':![],'description':a219_0x2dd7c0(0x120)};export const BUILTIN_ROLE_TYPES=['ADMIN','DEV',a219_0x2dd7c0(0x128)];export function isBuiltinRole(_0x3ae8c5){return BUILTIN_ROLE_TYPES['includes'](_0x3ae8c5);}export function assertCustomRole(_0x214301,_0x1ef740){const _0x200a24=a219_0x2dd7c0;if(_0x214301[_0x200a24(0xf5)]!=='CUSTOM')throw CliErrors['validation'](_0x200a24(0x12d)+_0x1ef740+_0x200a24(0x13f)+_0x214301['roleName']+'\x20('+_0x214301['roleType']+').',_0x200a24(0x10f));}export function projectRole(_0x49fc49){const _0xe7045e=a219_0x2dd7c0;return{'id':_0x49fc49['id'],'roleName':_0x49fc49['roleName'],'roleType':_0x49fc49[_0xe7045e(0xf5)],'remark':_0x49fc49[_0xe7045e(0x10b)],'userCount':_0x49fc49[_0xe7045e(0x11f)],'permitCount':_0x49fc49[_0xe7045e(0x143)],'builtin':isBuiltinRole(_0x49fc49[_0xe7045e(0xf5)])};}export async function resolveRoleRef(_0x18a1f4,_0x456975){const _0x4fbdb8=a219_0x2dd7c0,_0x2a3af0=_0x456975[_0x4fbdb8(0x10e)]();if(!_0x2a3af0)throw CliErrors['validation'](_0x4fbdb8(0x110),_0x4fbdb8(0xf3));if(/^\d+$/[_0x4fbdb8(0x133)](_0x2a3af0))return getRoleById(_0x18a1f4,Number(_0x2a3af0));const _0x2e2f93=await listAllAppRoles(_0x18a1f4),_0xfcd1b1=_0x2e2f93[_0x4fbdb8(0x111)](_0x4b9b36=>_0x4b9b36[_0x4fbdb8(0xfe)]===_0x2a3af0);if(_0xfcd1b1[_0x4fbdb8(0x136)]===0x0)throw CliErrors[_0x4fbdb8(0x144)](_0x4fbdb8(0x116)+_0x2a3af0+_0x4fbdb8(0x100)+_0x18a1f4+'.',_0x4fbdb8(0x138));if(_0xfcd1b1[_0x4fbdb8(0x136)]>0x1){const _0x5af9d6=_0xfcd1b1['map'](_0x4c1e80=>_0x4c1e80['id'])['join'](',\x20');throw CliErrors[_0x4fbdb8(0x144)](_0x4fbdb8(0x116)+_0x2a3af0+_0x4fbdb8(0xf8)+_0x5af9d6+').',_0x4fbdb8(0x115));}return _0xfcd1b1[0x0];}export async function getRoleById(_0x171aca,_0x435b91){const _0x362eca=a219_0x2dd7c0,_0x20ccd6=await listAllAppRoles(_0x171aca),_0x5a1729=_0x20ccd6[_0x362eca(0x111)](_0x25b41d=>_0x25b41d['id']===_0x435b91&&(!_0x25b41d['appCode']||_0x25b41d[_0x362eca(0x119)]===_0x171aca));if(_0x5a1729[_0x362eca(0x136)]!==0x1)throw CliErrors[_0x362eca(0x144)](_0x362eca(0x12f)+_0x435b91+_0x362eca(0x10a)+_0x171aca+'.','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles.');return _0x5a1729[0x0];}async function listAllAppRoles(_0x3bae43){const _0x464e83=a219_0x2dd7c0,_0x45f4ad=0x64,_0x1a6c52=[];for(let _0x25d255=0x1;;_0x25d255+=0x1){const {items:_0x38a97b,paging:_0x12f7a4}=await listAppRoles(_0x3bae43,{'currentPage':_0x25d255,'pageSize':_0x45f4ad});_0x1a6c52[_0x464e83(0x10c)](..._0x38a97b);if(_0x38a97b[_0x464e83(0x136)]<_0x45f4ad||_0x12f7a4&&_0x1a6c52['length']>=_0x12f7a4[_0x464e83(0x103)])return _0x1a6c52;}}export async function resolveTenantCode(){const _0x3cb929=a219_0x2dd7c0,_0x20654f=await getSessionUserInfo(),_0x3d0dc5=_0x20654f?.[_0x3cb929(0x105)]?.[_0x3cb929(0x13c)]?.[_0x3cb929(0x109)];if(!_0x3d0dc5)throw CliErrors['authRequired']('Cannot\x20resolve\x20current\x20tenant.\x20Run\x20`rabetbase\x20auth\x20login`\x20first.');return _0x3d0dc5;}function matchMember(_0x5017c9,_0x1fce57){const _0x254150=a219_0x2dd7c0,_0x4ba97b=_0x1fce57[_0x254150(0x10e)]()[_0x254150(0x11c)]();return(_0x5017c9[_0x254150(0x10d)]??'')[_0x254150(0x11c)]()===_0x4ba97b||(_0x5017c9[_0x254150(0xf6)]??'')[_0x254150(0x11c)]()===_0x4ba97b;}export async function resolveUserRef(_0x14b11a,_0x1fc267='Pass\x20--user\x20<id>.'){const _0x22ad8d=a219_0x2dd7c0,_0x3c26bd=_0x14b11a[_0x22ad8d(0x10e)]();if(!_0x3c26bd)throw CliErrors[_0x22ad8d(0x144)](_0x22ad8d(0x118),_0x22ad8d(0x121));const _0x1cce2a=await resolveTenantCode(),_0x410183=await getTenantMembers(_0x1cce2a);if(/^\d+$/['test'](_0x3c26bd)){const _0x405d66=Number(_0x3c26bd),_0x4714c1=_0x410183[_0x22ad8d(0xfa)](_0x264341=>_0x264341[_0x22ad8d(0x106)]===_0x405d66);return{'userId':_0x405d66,'username':_0x4714c1?.[_0x22ad8d(0xf6)]??String(_0x405d66),'nickname':_0x4714c1?.[_0x22ad8d(0x10d)],'matchedBy':'id'};}const _0xb5622e=_0x410183[_0x22ad8d(0x111)](_0x455d36=>matchMember(_0x455d36,_0x3c26bd));if(_0xb5622e[_0x22ad8d(0x136)]===0x0)throw CliErrors[_0x22ad8d(0x144)]('No\x20tenant\x20member\x20matches\x20\x22'+_0x3c26bd+'\x22.',_0x22ad8d(0x102)+_0x1fc267);if(_0xb5622e[_0x22ad8d(0x136)]>0x1){const _0x572848=_0xb5622e[_0x22ad8d(0x123)](_0xe0effd=>(_0xe0effd[_0x22ad8d(0x10d)]??_0xe0effd['username']??'?')+'('+_0xe0effd[_0x22ad8d(0x106)]+')')[_0x22ad8d(0x12c)](',\x20');throw CliErrors[_0x22ad8d(0x144)](_0x22ad8d(0x124)+_0x3c26bd+_0x22ad8d(0xf9)+_0x572848+'.',_0x1fc267);}const _0x46e037=_0xb5622e[0x0];return{'userId':_0x46e037[_0x22ad8d(0x106)],'username':_0x46e037[_0x22ad8d(0xf6)]??String(_0x46e037['userId']),'nickname':_0x46e037[_0x22ad8d(0x10d)],'matchedBy':_0x22ad8d(0x107)};}function a219_0x354a(_0x3345c2,_0x340b41){_0x3345c2=_0x3345c2-0xf3;const _0x1796b6=a219_0x1796();let _0x354a11=_0x1796b6[_0x3345c2];return _0x354a11;}export const CREATE_USER_ROLE_PATH=a219_0x2dd7c0(0x134);function a219_0x1796(){const _0x1a1c6d=['\x20members\x20of\x20the\x20OWNER\x20role.','string','User\x20id,\x20username,\x20or\x20nickname\x20to\x20resolve\x20to\x20a\x20userId','roleName','\x20member(s)\x20but\x20role\x20has\x20','\x22\x20not\x20found\x20in\x20app\x20','1176024VCRtov','Check\x20the\x20nickname/username.\x20','totalCount',';\x20no\x20change.','user','userId','name','user-add','tenant_code','\x20not\x20found\x20in\x20app\x20','remark','push','nickname','trim','Only\x20CUSTOM\x20roles\x20can\x20be\x20modified\x20or\x20deleted.','Missing\x20role\x20reference.','filter','18PWYzel','1141765tAvQTS','flagMissing','Disambiguate\x20with\x20--role\x20<id>.','Role\x20name\x20\x22','Re-run\x20`role\x20detail`\x20/\x20`role\x20list`\x20and\x20retry\x20with\x20the\x20current\x20count.','Missing\x20user\x20reference.','appCode','number','Role\x20id\x20or\x20exact\x20role\x20name','toLowerCase','\x20duplicate\x20memberships\x20for\x20user\x20','dryRun','userCount','Anti-drift\x20guard:\x20fail\x20if\x20the\x20role\x27s\x20current\x20member\x20count\x20differs','Pass\x20--user\x20<id|name>.','Role\x20name','map','Multiple\x20tenant\x20members\x20match\x20\x22','6023896xNdcII','expect-user-count','Removed\x20','OWNER','Anti-drift\x20check\x20failed:\x20expected\x20','\x20is\x20not\x20a\x20member\x20of\x20role\x20','includes','join','Cannot\x20','4409391PWLcoC','Role\x20id\x20','User\x20','38784740Euicbv','dev','test','/smartapi/permit/user-role/create','role','length','417nfmDGC','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles,\x20or\x20pass\x20--role\x20<id>.','POST','str','Role\x20id\x20(from\x20`role\x20list`)','tenant','/smartapi/permit/user-role/delete','expectUserCount','\x20built-in\x20role\x20','flag','7777071PpRHJS','Optional\x20role\x20remark/description','permitCount','validation','\x20is\x20already\x20a\x20member\x20of\x20role\x20','Pass\x20--role\x20<id|name>.','8vuWQbD','roleType','username','16594sryDSK','\x22\x20is\x20ambiguous\x20(ids:\x20','\x22:\x20','find'];a219_0x1796=function(){return _0x1a1c6d;};return a219_0x1796();}export const DELETE_USER_ROLE_PATH=a219_0x2dd7c0(0x13d);export function computeRoleUserMutation(_0xe275e){const _0x57c918=a219_0x2dd7c0,{operation:_0x3d9ade,appCode:_0x24ce56,role:_0x1e8231,relations:_0x4b112c,user:_0xeef57b}=_0xe275e,_0x3773f9=[...new Set(_0x4b112c[_0x57c918(0x123)](_0x1961f4=>_0x1961f4[_0x57c918(0x106)]))],_0x48a23a=[];if(_0xe275e[_0x57c918(0x13e)]!==undefined&&_0xe275e[_0x57c918(0x13e)]!==_0x3773f9[_0x57c918(0x136)])throw CliErrors['validation'](_0x57c918(0x129)+_0xe275e[_0x57c918(0x13e)]+_0x57c918(0xff)+_0x3773f9[_0x57c918(0x136)]+'.',_0x57c918(0x117));const _0x2464fa=_0x3773f9[_0x57c918(0x12b)](_0xeef57b['userId']),_0x384388=_0x4b112c['filter'](_0x388467=>_0x388467[_0x57c918(0x106)]===_0xeef57b['userId'])[_0x57c918(0x123)](_0x199319=>_0x199319['id']),_0x3d470d=_0x3d9ade===_0x57c918(0x108)?!_0x2464fa:_0x2464fa;let _0x11636a=_0x3773f9;_0x3d9ade===_0x57c918(0x108)?_0x2464fa?_0x48a23a[_0x57c918(0x10c)](_0x57c918(0x130)+_0xeef57b[_0x57c918(0x106)]+_0x57c918(0x145)+_0x1e8231[_0x57c918(0xfe)]+_0x57c918(0x104)):_0x11636a=[..._0x3773f9,_0xeef57b[_0x57c918(0x106)]]:!_0x2464fa?_0x48a23a[_0x57c918(0x10c)]('User\x20'+_0xeef57b['userId']+_0x57c918(0x12a)+_0x1e8231[_0x57c918(0xfe)]+_0x57c918(0x104)):(_0x11636a=_0x3773f9[_0x57c918(0x111)](_0x586b01=>_0x586b01!==_0xeef57b[_0x57c918(0x106)]),_0x384388[_0x57c918(0x136)]>0x1&&_0x48a23a['push'](_0x57c918(0x127)+_0x384388[_0x57c918(0x136)]+_0x57c918(0x11d)+_0xeef57b[_0x57c918(0x106)]+'.'));const _0x451146={'scope':_0x57c918(0x132),'operation':_0x3d9ade,'selector':{'appCode':_0x24ce56,'roleId':_0x1e8231['id'],'roleName':_0x1e8231[_0x57c918(0xfe)],'userId':_0xeef57b[_0x57c918(0x106)]},'before':{'userIds':_0x3773f9},'after':{'userIds':_0x11636a},'dryRun':_0xe275e[_0x57c918(0x11e)],'backend':{'method':_0x57c918(0x139),'path':_0x3d9ade===_0x57c918(0x108)?CREATE_USER_ROLE_PATH:DELETE_USER_ROLE_PATH},'warnings':_0x48a23a};return{'mutation':_0x451146,'changed':_0x3d470d,'matchingRelationIds':_0x384388};}export async function loadDevRoleRelations(_0x434287,_0x2bdf75){const _0x2485e8=a219_0x2dd7c0,_0xd0ce7d=0x64,_0x5ad91a=[];for(let _0x4fcb8a=0x1;;_0x4fcb8a+=0x1){const {items:_0x4803ec,paging:_0x3575ff}=await listDevUserRoleRelations(_0x434287,{'roleId':_0x2bdf75,'currentPage':_0x4fcb8a,'pageSize':_0xd0ce7d});_0x5ad91a[_0x2485e8(0x10c)](..._0x4803ec);if(_0x4803ec[_0x2485e8(0x136)]<_0xd0ce7d||_0x3575ff&&_0x5ad91a[_0x2485e8(0x136)]>=_0x3575ff[_0x2485e8(0x103)])return _0x5ad91a;}}export function readRoleRef(_0x554a98){const _0x204378=a219_0x2dd7c0,_0x6e4f=_0x554a98['str'](_0x204378(0x135))[_0x204378(0x10e)]();if(!_0x6e4f)throw CliErrors[_0x204378(0x114)]('role','Pass\x20--role\x20<id|name>.');return _0x6e4f;}export async function prepareUserMutation(_0x5588ef,_0x58e66c,_0x1e4882){const _0x3c5de1=a219_0x2dd7c0,_0x31e44f=readRoleRef(_0x5588ef),_0x3a567e=_0x5588ef[_0x3c5de1(0x13a)](_0x3c5de1(0x105))[_0x3c5de1(0x10e)]();if(!_0x3a567e)throw CliErrors[_0x3c5de1(0x114)](_0x3c5de1(0x105),'Pass\x20--user\x20<id|name>.');const _0x183de7=_0x5588ef[_0x3c5de1(0x140)](_0x3c5de1(0x126)),_0x59b077=_0x183de7===undefined||_0x183de7===null?undefined:Number(_0x183de7),_0x20bade=await resolveRoleRef(_0x5588ef[_0x3c5de1(0x119)],_0x31e44f);if(_0x20bade[_0x3c5de1(0xf5)]===_0x3c5de1(0x128))throw CliErrors['validation'](_0x3c5de1(0x12d)+_0x58e66c+_0x3c5de1(0xfb),'Use\x20the\x20platform\x20ownership-transfer\x20workflow\x20to\x20change\x20the\x20application\x20owner.');const _0x453ba7=await resolveUserRef(_0x3a567e),_0x36173a=await loadDevRoleRelations(_0x5588ef[_0x3c5de1(0x119)],_0x20bade['id']);return{...computeRoleUserMutation({'operation':_0x58e66c,'appCode':_0x5588ef['appCode'],'role':_0x20bade,'relations':_0x36173a,'user':{'userId':_0x453ba7[_0x3c5de1(0x106)],'username':_0x453ba7[_0x3c5de1(0xf6)],'nickname':_0x453ba7[_0x3c5de1(0x10d)]},'dryRun':_0x1e4882,..._0x59b077!==undefined?{'expectUserCount':_0x59b077}:{}}),'role':_0x20bade,'user':_0x453ba7};}
1
+ const a219_0x23de44=a219_0x3061;(function(_0x3eeae8,_0x238e84){const _0x3bd047=a219_0x3061,_0x5ba0a0=_0x3eeae8();while(!![]){try{const _0x5381d2=parseInt(_0x3bd047(0x15b))/0x1+parseInt(_0x3bd047(0x15d))/0x2+parseInt(_0x3bd047(0x139))/0x3+parseInt(_0x3bd047(0x133))/0x4+parseInt(_0x3bd047(0x142))/0x5+parseInt(_0x3bd047(0x160))/0x6+-parseInt(_0x3bd047(0x13c))/0x7;if(_0x5381d2===_0x238e84)break;else _0x5ba0a0['push'](_0x5ba0a0['shift']());}catch(_0x3e14b6){_0x5ba0a0['push'](_0x5ba0a0['shift']());}}}(a219_0x311c,0xcc25a));function a219_0x3061(_0x2c92f,_0x3fb5eb){_0x2c92f=_0x2c92f-0x121;const _0x311cb0=a219_0x311c();let _0x3061db=_0x311cb0[_0x2c92f];return _0x3061db;}import{getTenantMembers,listDevUserRoleRelations,listAppRoles}from'../../core/api-client.js';import{getSessionUserInfo}from'../../auth/get-session-user.js';import{CliErrors}from'../../errors.js';export const ROLE_ID_FLAG={'name':'id','type':'number','required':!![],'description':a219_0x23de44(0x169)};export const ROLE_REF_FLAG={'name':a219_0x23de44(0x141),'type':'string','required':!![],'description':'Role\x20id\x20or\x20exact\x20role\x20name'};export const USER_REF_FLAG={'name':a219_0x23de44(0x15f),'type':a219_0x23de44(0x126),'required':!![],'description':a219_0x23de44(0x168)};export const NAME_FLAG={'name':a219_0x23de44(0x162),'type':a219_0x23de44(0x126),'required':!![],'description':'Role\x20name'};export const USER_NAME_FLAG={'name':a219_0x23de44(0x162),'type':a219_0x23de44(0x126),'required':!![],'description':'Nickname\x20or\x20username\x20to\x20resolve\x20to\x20a\x20userId'};export const REMARK_FLAG={'name':a219_0x23de44(0x136),'type':a219_0x23de44(0x126),'required':![],'description':a219_0x23de44(0x159)};export const EXPECT_USER_COUNT_FLAG={'name':'expect-user-count','type':a219_0x23de44(0x12e),'required':![],'description':a219_0x23de44(0x13d)};export const BUILTIN_ROLE_TYPES=[a219_0x23de44(0x128),a219_0x23de44(0x135),a219_0x23de44(0x13e)];export function isBuiltinRole(_0xb68337){const _0x59e06f=a219_0x23de44;return BUILTIN_ROLE_TYPES[_0x59e06f(0x146)](_0xb68337);}export function assertCustomRole(_0x53c338,_0x2197ee){const _0x1b3df9=a219_0x23de44;if(_0x53c338[_0x1b3df9(0x161)]!==_0x1b3df9(0x16d))throw CliErrors['validation'](_0x1b3df9(0x150)+_0x2197ee+'\x20built-in\x20role\x20'+_0x53c338['roleName']+'\x20('+_0x53c338['roleType']+').','Only\x20CUSTOM\x20roles\x20can\x20be\x20modified\x20or\x20deleted.');}export function projectRole(_0x332cc0){const _0x4b48b8=a219_0x23de44;return{'id':_0x332cc0['id'],'roleName':_0x332cc0[_0x4b48b8(0x149)],'roleType':_0x332cc0[_0x4b48b8(0x161)],'remark':_0x332cc0[_0x4b48b8(0x136)],'userCount':_0x332cc0[_0x4b48b8(0x12f)],'permitCount':_0x332cc0['permitCount'],'builtin':isBuiltinRole(_0x332cc0['roleType'])};}export async function resolveRoleRef(_0x27bacf,_0x4ef5e4){const _0x29d7d6=a219_0x23de44,_0x23cc6f=_0x4ef5e4[_0x29d7d6(0x16b)]();if(!_0x23cc6f)throw CliErrors[_0x29d7d6(0x143)](_0x29d7d6(0x14c),_0x29d7d6(0x157));if(/^\d+$/['test'](_0x23cc6f))return getRoleById(_0x27bacf,Number(_0x23cc6f));const _0x575722=await listAllAppRoles(_0x27bacf),_0x53b7e7=_0x575722[_0x29d7d6(0x163)](_0x36db26=>_0x36db26[_0x29d7d6(0x149)]===_0x23cc6f);if(_0x53b7e7['length']===0x0)throw CliErrors[_0x29d7d6(0x143)]('Role\x20name\x20\x22'+_0x23cc6f+_0x29d7d6(0x158)+_0x27bacf+'.',_0x29d7d6(0x166));if(_0x53b7e7['length']>0x1){const _0xce692f=_0x53b7e7[_0x29d7d6(0x167)](_0x548b22=>_0x548b22['id'])[_0x29d7d6(0x165)](',\x20');throw CliErrors['validation'](_0x29d7d6(0x154)+_0x23cc6f+_0x29d7d6(0x153)+_0xce692f+').',_0x29d7d6(0x124));}return _0x53b7e7[0x0];}export async function getRoleById(_0x1e260e,_0x4f94e2){const _0x237e0a=a219_0x23de44,_0x50754a=await listAllAppRoles(_0x1e260e),_0x2b7920=_0x50754a[_0x237e0a(0x163)](_0x413970=>_0x413970['id']===_0x4f94e2&&(!_0x413970[_0x237e0a(0x164)]||_0x413970['appCode']===_0x1e260e));if(_0x2b7920['length']!==0x1)throw CliErrors[_0x237e0a(0x143)](_0x237e0a(0x147)+_0x4f94e2+_0x237e0a(0x123)+_0x1e260e+'.','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles.');return _0x2b7920[0x0];}async function listAllAppRoles(_0x509dae){const _0x15c738=a219_0x23de44,_0x6e6316=0x64,_0x3aac8b=[];for(let _0x1c94bd=0x1;;_0x1c94bd+=0x1){const {items:_0x111157,paging:_0x17191f}=await listAppRoles(_0x509dae,{'currentPage':_0x1c94bd,'pageSize':_0x6e6316});_0x3aac8b[_0x15c738(0x13a)](..._0x111157);if(_0x111157[_0x15c738(0x129)]<_0x6e6316||_0x17191f&&_0x3aac8b[_0x15c738(0x129)]>=_0x17191f[_0x15c738(0x145)])return _0x3aac8b;}}export async function resolveTenantCode(){const _0x5bed9f=a219_0x23de44,_0x19420f=await getSessionUserInfo(),_0x3fef2b=_0x19420f?.[_0x5bed9f(0x15f)]?.[_0x5bed9f(0x121)]?.[_0x5bed9f(0x14d)];if(!_0x3fef2b)throw CliErrors[_0x5bed9f(0x132)](_0x5bed9f(0x13f));return _0x3fef2b;}function a219_0x311c(){const _0x366237=['\x20duplicate\x20memberships\x20for\x20user\x20','2523120rBDFCx','push','Anti-drift\x20check\x20failed:\x20expected\x20','37843526ydYoDN','Anti-drift\x20guard:\x20fail\x20if\x20the\x20role\x27s\x20current\x20member\x20count\x20differs','OWNER','Cannot\x20resolve\x20current\x20tenant.\x20Run\x20`rabetbase\x20auth\x20login`\x20first.','toLowerCase','role','4451835zhkmyz','validation','\x20members\x20of\x20the\x20OWNER\x20role.','totalCount','includes','Role\x20id\x20','POST','roleName','test','username','Missing\x20role\x20reference.','tenant_code','flagMissing','Removed\x20','Cannot\x20','Pass\x20--user\x20<id|name>.','nickname','\x22\x20is\x20ambiguous\x20(ids:\x20','Role\x20name\x20\x22',';\x20no\x20change.','dev','Pass\x20--role\x20<id|name>.','\x22\x20not\x20found\x20in\x20app\x20','Optional\x20role\x20remark/description','User\x20','1225032HMqXTW','Multiple\x20tenant\x20members\x20match\x20\x22','2782076shqIGc','Missing\x20user\x20reference.','user','7285104Qouhyc','roleType','name','filter','appCode','join','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles,\x20or\x20pass\x20--role\x20<id>.','map','User\x20id,\x20username,\x20or\x20nickname\x20to\x20resolve\x20to\x20a\x20userId','Role\x20id\x20(from\x20`role\x20list`)','Check\x20the\x20nickname/username.\x20','trim','Pass\x20--user\x20<id>.','CUSTOM','tenant','/smartapi/permit/user-role/delete','\x20not\x20found\x20in\x20app\x20','Disambiguate\x20with\x20--role\x20<id>.','\x20member(s)\x20but\x20role\x20has\x20','string','userId','ADMIN','length','user-add','dryRun','expectUserCount','find','number','userCount','\x20is\x20already\x20a\x20member\x20of\x20role\x20','flag','authRequired','2722972yZyYRk','\x22:\x20','DEV','remark','/smartapi/permit/user-role/create'];a219_0x311c=function(){return _0x366237;};return a219_0x311c();}function matchMember(_0x3b0b6e,_0x4ee46c){const _0x45ccf7=a219_0x23de44,_0x9b737=_0x4ee46c[_0x45ccf7(0x16b)]()[_0x45ccf7(0x140)]();return(_0x3b0b6e[_0x45ccf7(0x152)]??'')[_0x45ccf7(0x140)]()===_0x9b737||(_0x3b0b6e[_0x45ccf7(0x14b)]??'')[_0x45ccf7(0x140)]()===_0x9b737;}export async function resolveUserRef(_0x236ae4,_0x5e7095=a219_0x23de44(0x16c)){const _0x402ffd=a219_0x23de44,_0x45319c=_0x236ae4['trim']();if(!_0x45319c)throw CliErrors[_0x402ffd(0x143)](_0x402ffd(0x15e),'Pass\x20--user\x20<id|name>.');const _0x2057e9=await resolveTenantCode(),_0x158ffd=await getTenantMembers(_0x2057e9);if(/^\d+$/[_0x402ffd(0x14a)](_0x45319c)){const _0x35ddb9=Number(_0x45319c),_0x229d13=_0x158ffd[_0x402ffd(0x12d)](_0x2fd325=>_0x2fd325[_0x402ffd(0x127)]===_0x35ddb9);return{'userId':_0x35ddb9,'username':_0x229d13?.[_0x402ffd(0x14b)]??String(_0x35ddb9),'nickname':_0x229d13?.['nickname'],'matchedBy':'id'};}const _0x37c7de=_0x158ffd[_0x402ffd(0x163)](_0x43a8cb=>matchMember(_0x43a8cb,_0x45319c));if(_0x37c7de[_0x402ffd(0x129)]===0x0)throw CliErrors['validation']('No\x20tenant\x20member\x20matches\x20\x22'+_0x45319c+'\x22.',_0x402ffd(0x16a)+_0x5e7095);if(_0x37c7de[_0x402ffd(0x129)]>0x1){const _0x56e863=_0x37c7de['map'](_0x404f1e=>(_0x404f1e[_0x402ffd(0x152)]??_0x404f1e[_0x402ffd(0x14b)]??'?')+'('+_0x404f1e[_0x402ffd(0x127)]+')')[_0x402ffd(0x165)](',\x20');throw CliErrors['validation'](_0x402ffd(0x15c)+_0x45319c+_0x402ffd(0x134)+_0x56e863+'.',_0x5e7095);}const _0x3f4967=_0x37c7de[0x0];return{'userId':_0x3f4967['userId'],'username':_0x3f4967[_0x402ffd(0x14b)]??String(_0x3f4967['userId']),'nickname':_0x3f4967['nickname'],'matchedBy':_0x402ffd(0x162)};}export const CREATE_USER_ROLE_PATH=a219_0x23de44(0x137);export const DELETE_USER_ROLE_PATH=a219_0x23de44(0x122);export function computeRoleUserMutation(_0x9bf53f){const _0x51947b=a219_0x23de44,{operation:_0x236748,appCode:_0x14c3b7,role:_0xf1f20a,relations:_0x191741,user:_0x4d09b8}=_0x9bf53f,_0x1d52ff=[...new Set(_0x191741[_0x51947b(0x167)](_0x41c9c4=>_0x41c9c4[_0x51947b(0x127)]))],_0x13f4d1=[];if(_0x9bf53f['expectUserCount']!==undefined&&_0x9bf53f[_0x51947b(0x12c)]!==_0x1d52ff['length'])throw CliErrors[_0x51947b(0x143)](_0x51947b(0x13b)+_0x9bf53f[_0x51947b(0x12c)]+_0x51947b(0x125)+_0x1d52ff[_0x51947b(0x129)]+'.','Re-run\x20`role\x20detail`\x20/\x20`role\x20list`\x20and\x20retry\x20with\x20the\x20current\x20count.');const _0x19d0ba=_0x1d52ff[_0x51947b(0x146)](_0x4d09b8[_0x51947b(0x127)]),_0x2457c1=_0x191741[_0x51947b(0x163)](_0xacceb6=>_0xacceb6[_0x51947b(0x127)]===_0x4d09b8[_0x51947b(0x127)])[_0x51947b(0x167)](_0xbca863=>_0xbca863['id']),_0x4c7161=_0x236748==='user-add'?!_0x19d0ba:_0x19d0ba;let _0x422416=_0x1d52ff;_0x236748===_0x51947b(0x12a)?_0x19d0ba?_0x13f4d1['push'](_0x51947b(0x15a)+_0x4d09b8['userId']+_0x51947b(0x130)+_0xf1f20a[_0x51947b(0x149)]+_0x51947b(0x155)):_0x422416=[..._0x1d52ff,_0x4d09b8[_0x51947b(0x127)]]:!_0x19d0ba?_0x13f4d1[_0x51947b(0x13a)]('User\x20'+_0x4d09b8[_0x51947b(0x127)]+'\x20is\x20not\x20a\x20member\x20of\x20role\x20'+_0xf1f20a[_0x51947b(0x149)]+_0x51947b(0x155)):(_0x422416=_0x1d52ff['filter'](_0x2d8585=>_0x2d8585!==_0x4d09b8['userId']),_0x2457c1[_0x51947b(0x129)]>0x1&&_0x13f4d1[_0x51947b(0x13a)](_0x51947b(0x14f)+_0x2457c1[_0x51947b(0x129)]+_0x51947b(0x138)+_0x4d09b8[_0x51947b(0x127)]+'.'));const _0x28ee75={'scope':_0x51947b(0x156),'operation':_0x236748,'selector':{'appCode':_0x14c3b7,'roleId':_0xf1f20a['id'],'roleName':_0xf1f20a[_0x51947b(0x149)],'userId':_0x4d09b8['userId']},'before':{'userIds':_0x1d52ff},'after':{'userIds':_0x422416},'dryRun':_0x9bf53f[_0x51947b(0x12b)],'backend':{'method':_0x51947b(0x148),'path':_0x236748===_0x51947b(0x12a)?CREATE_USER_ROLE_PATH:DELETE_USER_ROLE_PATH},'warnings':_0x13f4d1};return{'mutation':_0x28ee75,'changed':_0x4c7161,'matchingRelationIds':_0x2457c1};}export async function loadDevRoleRelations(_0x4dcd27,_0x53c012){const _0x157d7b=a219_0x23de44,_0x5e295e=0x64,_0x400d2c=[];for(let _0x44f3d2=0x1;;_0x44f3d2+=0x1){const {items:_0x5f1b49,paging:_0x290d25}=await listDevUserRoleRelations(_0x4dcd27,{'roleId':_0x53c012,'currentPage':_0x44f3d2,'pageSize':_0x5e295e});_0x400d2c[_0x157d7b(0x13a)](..._0x5f1b49);if(_0x5f1b49[_0x157d7b(0x129)]<_0x5e295e||_0x290d25&&_0x400d2c[_0x157d7b(0x129)]>=_0x290d25[_0x157d7b(0x145)])return _0x400d2c;}}export function readRoleRef(_0x210838){const _0x5c3e31=a219_0x23de44,_0x1833b2=_0x210838['str'](_0x5c3e31(0x141))[_0x5c3e31(0x16b)]();if(!_0x1833b2)throw CliErrors[_0x5c3e31(0x14e)](_0x5c3e31(0x141),'Pass\x20--role\x20<id|name>.');return _0x1833b2;}export async function prepareUserMutation(_0x15a82f,_0x166621,_0x327a4b){const _0x105095=a219_0x23de44,_0xe4e54a=readRoleRef(_0x15a82f),_0x2de4d5=_0x15a82f['str']('user')[_0x105095(0x16b)]();if(!_0x2de4d5)throw CliErrors[_0x105095(0x14e)]('user',_0x105095(0x151));const _0x34d0a4=_0x15a82f[_0x105095(0x131)]('expect-user-count'),_0x15e23d=_0x34d0a4===undefined||_0x34d0a4===null?undefined:Number(_0x34d0a4),_0xfbb5b3=await resolveRoleRef(_0x15a82f[_0x105095(0x164)],_0xe4e54a);if(_0xfbb5b3[_0x105095(0x161)]==='OWNER')throw CliErrors['validation'](_0x105095(0x150)+_0x166621+_0x105095(0x144),'Use\x20the\x20platform\x20ownership-transfer\x20workflow\x20to\x20change\x20the\x20application\x20owner.');const _0x48eee9=await resolveUserRef(_0x2de4d5),_0x393b57=await loadDevRoleRelations(_0x15a82f['appCode'],_0xfbb5b3['id']);return{...computeRoleUserMutation({'operation':_0x166621,'appCode':_0x15a82f[_0x105095(0x164)],'role':_0xfbb5b3,'relations':_0x393b57,'user':{'userId':_0x48eee9['userId'],'username':_0x48eee9['username'],'nickname':_0x48eee9[_0x105095(0x152)]},'dryRun':_0x327a4b,..._0x15e23d!==undefined?{'expectUserCount':_0x15e23d}:{}}),'role':_0xfbb5b3,'user':_0x48eee9};}
@@ -1 +1 @@
1
- const a220_0x87e94d=a220_0x356a;(function(_0x4589c2,_0x25d802){const _0x51c79d=a220_0x356a,_0x2844d3=_0x4589c2();while(!![]){try{const _0x2b2cde=-parseInt(_0x51c79d(0x17d))/0x1*(-parseInt(_0x51c79d(0x183))/0x2)+parseInt(_0x51c79d(0x195))/0x3*(parseInt(_0x51c79d(0x18e))/0x4)+parseInt(_0x51c79d(0x194))/0x5+-parseInt(_0x51c79d(0x191))/0x6+-parseInt(_0x51c79d(0x188))/0x7*(parseInt(_0x51c79d(0x17e))/0x8)+-parseInt(_0x51c79d(0x17c))/0x9*(parseInt(_0x51c79d(0x180))/0xa)+parseInt(_0x51c79d(0x18f))/0xb;if(_0x2b2cde===_0x25d802)break;else _0x2844d3['push'](_0x2844d3['shift']());}catch(_0x45b854){_0x2844d3['push'](_0x2844d3['shift']());}}}(a220_0x4f5d,0x57a81));import{updateAppRole}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a220_0x356a(_0x9d91c1,_0x2d5c94){_0x9d91c1=_0x9d91c1-0x17b;const _0x4f5d14=a220_0x4f5d();let _0x356aef=_0x4f5d14[_0x9d91c1];return _0x356aef;}import{asDryRunResult}from'../../commands/common/dry-run.js';import{assertCustomRole,getRoleById,projectRole,REMARK_FLAG,ROLE_ID_FLAG}from'../../commands/role/shared.js';const UPDATE_PATH='/smartapi/permit/role/update';function a220_0x4f5d(){const _0x2fce14=['2700817vMIAyr','POST','Role\x20name\x20cannot\x20exceed\x2064\x20characters.','appCode','Updated\x20role\x20','trim','8CSUQJg','8065024BUiYqW','flag','3495456drXbUD','write','num','1764010bYZmKu','301047gXDest','Pass\x20at\x20least\x20one\x20of\x20--name\x20/\x20--remark.','update','role','\x20(id=','validation','917379EolYNJ','43490uZSvNd','8GWsXwT','remark','60imctPV','New\x20role\x20name','length','30nWeTRs','dev','roleName','name','--name\x20cannot\x20be\x20empty.'];a220_0x4f5d=function(){return _0x2fce14;};return a220_0x4f5d();}function readPatch(_0x4a43b8){const _0x18337c=a220_0x356a,_0x1f1264=_0x4a43b8['flag']('name'),_0x2c9fe5=_0x4a43b8[_0x18337c(0x190)]('remark'),_0xeef030={};if(_0x1f1264!==undefined&&_0x1f1264!==null){const _0x3063b6=String(_0x1f1264)[_0x18337c(0x18d)]();if(!_0x3063b6)throw CliErrors[_0x18337c(0x17b)](_0x18337c(0x187));if(_0x3063b6[_0x18337c(0x182)]>0x40)throw CliErrors[_0x18337c(0x17b)](_0x18337c(0x18a));_0xeef030[_0x18337c(0x185)]=_0x3063b6;}_0x2c9fe5!==undefined&&_0x2c9fe5!==null&&(_0xeef030[_0x18337c(0x17f)]=String(_0x2c9fe5));if(_0xeef030['roleName']===undefined&&_0xeef030[_0x18337c(0x17f)]===undefined)throw CliErrors[_0x18337c(0x17b)]('Nothing\x20to\x20update.',_0x18337c(0x196));return _0xeef030;}export const roleUpdate={'service':a220_0x87e94d(0x198),'command':a220_0x87e94d(0x197),'description':'Update\x20a\x20CUSTOM\x20role\x27s\x20name/remark\x20(built-in\x20roles\x20rejected)','risk':a220_0x87e94d(0x192),'flags':[ROLE_ID_FLAG,{...REMARK_FLAG},{'name':a220_0x87e94d(0x186),'type':'string','required':![],'description':a220_0x87e94d(0x181)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x38a30f){readPatch(_0x38a30f);},async 'dryRun'(_0x2ad681){const _0x36c2aa=a220_0x87e94d,_0x2f6969=_0x2ad681[_0x36c2aa(0x193)]('id'),_0x505417=readPatch(_0x2ad681),_0x1b91d4=await getRoleById(_0x2ad681['appCode'],_0x2f6969);return assertCustomRole(_0x1b91d4,_0x36c2aa(0x197)),asDryRunResult({'scope':_0x36c2aa(0x184),'operation':_0x36c2aa(0x197),'selector':{'appCode':_0x2ad681[_0x36c2aa(0x18b)],'roleId':_0x2f6969,'roleName':_0x1b91d4[_0x36c2aa(0x185)]},'before':projectRole(_0x1b91d4),'after':projectRole({..._0x1b91d4,..._0x505417[_0x36c2aa(0x185)]!==undefined?{'roleName':_0x505417[_0x36c2aa(0x185)]}:{},..._0x505417['remark']!==undefined?{'remark':_0x505417[_0x36c2aa(0x17f)]}:{}}),'dryRun':!![],'backend':{'method':'POST','path':UPDATE_PATH},'warnings':[]},{'method':'POST','url':UPDATE_PATH});},async 'execute'(_0x5a7d8c){const _0x317449=a220_0x87e94d,_0x238c40=_0x5a7d8c['num']('id'),_0x1f20ba=readPatch(_0x5a7d8c),_0x37d177=await getRoleById(_0x5a7d8c['appCode'],_0x238c40);assertCustomRole(_0x37d177,_0x317449(0x197)),await updateAppRole({'id':_0x238c40,'appCode':_0x5a7d8c[_0x317449(0x18b)],..._0x1f20ba[_0x317449(0x185)]!==undefined?{'roleName':_0x1f20ba[_0x317449(0x185)]}:{},..._0x1f20ba[_0x317449(0x17f)]!==undefined?{'remark':_0x1f20ba[_0x317449(0x17f)]}:{}});const _0x5ec058=await getRoleById(_0x5a7d8c[_0x317449(0x18b)],_0x238c40);return{'ok':!![],'data':{'scope':_0x317449(0x184),'operation':_0x317449(0x197),'selector':{'appCode':_0x5a7d8c['appCode'],'roleId':_0x238c40,'roleName':_0x5ec058[_0x317449(0x185)]},'before':projectRole(_0x37d177),'after':projectRole(_0x5ec058),'dryRun':![],'backend':{'method':_0x317449(0x189),'path':UPDATE_PATH},'warnings':[]},'message':_0x317449(0x18c)+_0x5ec058['roleName']+_0x317449(0x199)+_0x238c40+')'};}};
1
+ const a220_0x407dd7=a220_0x1740;(function(_0x4fdc12,_0x3e680e){const _0x549587=a220_0x1740,_0x5f2e14=_0x4fdc12();while(!![]){try{const _0x45cafe=parseInt(_0x549587(0xad))/0x1+parseInt(_0x549587(0xa1))/0x2*(-parseInt(_0x549587(0xaa))/0x3)+-parseInt(_0x549587(0xa0))/0x4+parseInt(_0x549587(0xa8))/0x5+-parseInt(_0x549587(0xb0))/0x6+-parseInt(_0x549587(0xb5))/0x7*(parseInt(_0x549587(0xb1))/0x8)+parseInt(_0x549587(0xaf))/0x9;if(_0x45cafe===_0x3e680e)break;else _0x5f2e14['push'](_0x5f2e14['shift']());}catch(_0x530567){_0x5f2e14['push'](_0x5f2e14['shift']());}}}(a220_0x1718,0x1b271));import{updateAppRole}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';function a220_0x1740(_0x5050a3,_0x493851){_0x5050a3=_0x5050a3-0xa0;const _0x17180b=a220_0x1718();let _0x1740b5=_0x17180b[_0x5050a3];return _0x1740b5;}import{assertCustomRole,getRoleById,projectRole,REMARK_FLAG,ROLE_ID_FLAG}from'../../commands/role/shared.js';const UPDATE_PATH='/smartapi/permit/role/update';function readPatch(_0x26e56f){const _0xe9c750=a220_0x1740,_0x3e084e=_0x26e56f[_0xe9c750(0xba)](_0xe9c750(0xb2)),_0x5b5d69=_0x26e56f['flag'](_0xe9c750(0xb3)),_0x2cdc5d={};if(_0x3e084e!==undefined&&_0x3e084e!==null){const _0x593a22=String(_0x3e084e)[_0xe9c750(0xab)]();if(!_0x593a22)throw CliErrors[_0xe9c750(0xb8)](_0xe9c750(0xac));if(_0x593a22[_0xe9c750(0xa4)]>0x40)throw CliErrors[_0xe9c750(0xb8)](_0xe9c750(0xa2));_0x2cdc5d['roleName']=_0x593a22;}_0x5b5d69!==undefined&&_0x5b5d69!==null&&(_0x2cdc5d[_0xe9c750(0xb3)]=String(_0x5b5d69));if(_0x2cdc5d[_0xe9c750(0xb7)]===undefined&&_0x2cdc5d['remark']===undefined)throw CliErrors[_0xe9c750(0xb8)]('Nothing\x20to\x20update.','Pass\x20at\x20least\x20one\x20of\x20--name\x20/\x20--remark.');return _0x2cdc5d;}function a220_0x1718(){const _0x39acdd=['length','Update\x20a\x20CUSTOM\x20role\x27s\x20name/remark\x20(built-in\x20roles\x20rejected)','POST','Updated\x20role\x20','258420VISkAu','num','68871IeYREy','trim','--name\x20cannot\x20be\x20empty.','147813CRJjHe','dev','3940029bXEcdr','830472wqXcTj','32WjJdrQ','name','remark','\x20(id=','321139jvctTe','update','roleName','validation','role','flag','724736CAyDPC','2bcDIUS','Role\x20name\x20cannot\x20exceed\x2064\x20characters.','appCode'];a220_0x1718=function(){return _0x39acdd;};return a220_0x1718();}export const roleUpdate={'service':a220_0x407dd7(0xb9),'command':'update','description':a220_0x407dd7(0xa5),'risk':'write','flags':[ROLE_ID_FLAG,{...REMARK_FLAG},{'name':a220_0x407dd7(0xb2),'type':'string','required':![],'description':'New\x20role\x20name'},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x350763){readPatch(_0x350763);},async 'dryRun'(_0xc1d7cd){const _0x389c25=a220_0x407dd7,_0x465154=_0xc1d7cd[_0x389c25(0xa9)]('id'),_0x26a4a7=readPatch(_0xc1d7cd),_0x2ce6ca=await getRoleById(_0xc1d7cd[_0x389c25(0xa3)],_0x465154);return assertCustomRole(_0x2ce6ca,'update'),asDryRunResult({'scope':_0x389c25(0xae),'operation':_0x389c25(0xb6),'selector':{'appCode':_0xc1d7cd[_0x389c25(0xa3)],'roleId':_0x465154,'roleName':_0x2ce6ca['roleName']},'before':projectRole(_0x2ce6ca),'after':projectRole({..._0x2ce6ca,..._0x26a4a7[_0x389c25(0xb7)]!==undefined?{'roleName':_0x26a4a7[_0x389c25(0xb7)]}:{},..._0x26a4a7[_0x389c25(0xb3)]!==undefined?{'remark':_0x26a4a7['remark']}:{}}),'dryRun':!![],'backend':{'method':'POST','path':UPDATE_PATH},'warnings':[]},{'method':_0x389c25(0xa6),'url':UPDATE_PATH});},async 'execute'(_0x32d770){const _0x982df6=a220_0x407dd7,_0xcc7393=_0x32d770[_0x982df6(0xa9)]('id'),_0x373817=readPatch(_0x32d770),_0x21e550=await getRoleById(_0x32d770[_0x982df6(0xa3)],_0xcc7393);assertCustomRole(_0x21e550,_0x982df6(0xb6)),await updateAppRole({'id':_0xcc7393,'appCode':_0x32d770[_0x982df6(0xa3)],..._0x373817['roleName']!==undefined?{'roleName':_0x373817[_0x982df6(0xb7)]}:{},..._0x373817[_0x982df6(0xb3)]!==undefined?{'remark':_0x373817['remark']}:{}});const _0x79efb1=await getRoleById(_0x32d770[_0x982df6(0xa3)],_0xcc7393);return{'ok':!![],'data':{'scope':_0x982df6(0xae),'operation':_0x982df6(0xb6),'selector':{'appCode':_0x32d770['appCode'],'roleId':_0xcc7393,'roleName':_0x79efb1[_0x982df6(0xb7)]},'before':projectRole(_0x21e550),'after':projectRole(_0x79efb1),'dryRun':![],'backend':{'method':'POST','path':UPDATE_PATH},'warnings':[]},'message':_0x982df6(0xa7)+_0x79efb1[_0x982df6(0xb7)]+_0x982df6(0xb4)+_0xcc7393+')'};}};
@@ -1 +1 @@
1
- const a221_0x1e2b5f=a221_0x5da7;(function(_0x3f3dad,_0x354706){const _0x32bfd7=a221_0x5da7,_0x40a1a5=_0x3f3dad();while(!![]){try{const _0x59dcd6=parseInt(_0x32bfd7(0x10e))/0x1+-parseInt(_0x32bfd7(0x113))/0x2+parseInt(_0x32bfd7(0x11d))/0x3+parseInt(_0x32bfd7(0x120))/0x4+parseInt(_0x32bfd7(0x119))/0x5*(-parseInt(_0x32bfd7(0x111))/0x6)+parseInt(_0x32bfd7(0x115))/0x7+-parseInt(_0x32bfd7(0x112))/0x8*(parseInt(_0x32bfd7(0x11b))/0x9);if(_0x59dcd6===_0x354706)break;else _0x40a1a5['push'](_0x40a1a5['shift']());}catch(_0x44bfed){_0x40a1a5['push'](_0x40a1a5['shift']());}}}(a221_0xccb4,0xea979));function a221_0x5da7(_0x2b830c,_0x3e9333){_0x2b830c=_0x2b830c-0x10e;const _0xccb4f2=a221_0xccb4();let _0x5da7e6=_0xccb4f2[_0x2b830c];return _0x5da7e6;}import{createDevUserRole}from'../../core/api-client.js';function a221_0xccb4(){const _0x27fd47=['roleName','userId','308310wIJzqT','17174624eHXNCU','1640596vcWqXQ','Added\x20user\x20','8317127WZFVaA','selector','roleType','high-risk-write','85XkqziG','user-add','9AXOLDa','username','3915108INKQBm','role','Add\x20a\x20user\x20to\x20a\x20role\x20(OWNER\x20rejected);\x20requires\x20--yes','2843164SSnYhH','roleId','\x20already\x20in\x20role\x20','1597572alpvnD'];a221_0xccb4=function(){return _0x27fd47;};return a221_0xccb4();}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{EXPECT_USER_COUNT_FLAG,CREATE_USER_ROLE_PATH,prepareUserMutation,ROLE_REF_FLAG,USER_REF_FLAG}from'../../commands/role/shared.js';export const roleUserAdd={'service':a221_0x1e2b5f(0x11e),'command':a221_0x1e2b5f(0x11a),'description':a221_0x1e2b5f(0x11f),'risk':a221_0x1e2b5f(0x118),'flags':[ROLE_REF_FLAG,USER_REF_FLAG,EXPECT_USER_COUNT_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0xd2f127){const {mutation:_0x2911ea}=await prepareUserMutation(_0xd2f127,'user-add',!![]);return asDryRunResult(_0x2911ea,{'method':'POST','url':CREATE_USER_ROLE_PATH});},async 'execute'(_0x1d9665){const _0x5018db=a221_0x1e2b5f,{mutation:_0x580345,changed:_0x3a46e7,role:_0x1ec931,user:_0x306098}=await prepareUserMutation(_0x1d9665,'user-add',![]);return _0x3a46e7&&await createDevUserRole({'appCode':_0x1d9665['appCode'],'userId':_0x306098[_0x5018db(0x110)],'username':_0x306098[_0x5018db(0x11c)],'roleType':_0x1ec931[_0x5018db(0x117)],'roleId':_0x580345[_0x5018db(0x116)][_0x5018db(0x121)]}),{'ok':!![],'data':_0x580345,'message':_0x3a46e7?_0x5018db(0x114)+_0x580345[_0x5018db(0x116)][_0x5018db(0x110)]+'\x20to\x20role\x20'+_0x580345[_0x5018db(0x116)][_0x5018db(0x10f)]:'No\x20change:\x20user\x20'+_0x580345['selector'][_0x5018db(0x110)]+_0x5018db(0x122)+_0x580345[_0x5018db(0x116)][_0x5018db(0x10f)]};}};
1
+ const a221_0x4f1c3c=a221_0x54e7;(function(_0x128182,_0x49035f){const _0x22cbca=a221_0x54e7,_0x232d82=_0x128182();while(!![]){try{const _0x113ed=-parseInt(_0x22cbca(0x203))/0x1*(-parseInt(_0x22cbca(0x1fa))/0x2)+-parseInt(_0x22cbca(0x208))/0x3*(parseInt(_0x22cbca(0x1f1))/0x4)+-parseInt(_0x22cbca(0x1f9))/0x5*(parseInt(_0x22cbca(0x1f5))/0x6)+parseInt(_0x22cbca(0x1f0))/0x7*(-parseInt(_0x22cbca(0x206))/0x8)+parseInt(_0x22cbca(0x1fd))/0x9+-parseInt(_0x22cbca(0x1fc))/0xa*(-parseInt(_0x22cbca(0x1ff))/0xb)+-parseInt(_0x22cbca(0x1f4))/0xc*(-parseInt(_0x22cbca(0x1fe))/0xd);if(_0x113ed===_0x49035f)break;else _0x232d82['push'](_0x232d82['shift']());}catch(_0x43319b){_0x232d82['push'](_0x232d82['shift']());}}}(a221_0x4d77,0xdad0e));import{createDevUserRole}from'../../core/api-client.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a221_0x4d77(){const _0x235fd1=['8141BhcbfV','18532VuVGxa','high-risk-write','roleId','240OrKuDx','1801794oskxUv','user-add','\x20to\x20role\x20','\x20already\x20in\x20role\x20','15NYznZQ','2FIeyBh','POST','10VByRyH','10078695zaxBNu','731874jOfXYO','18583543ALiAup','roleName','username','Added\x20user\x20','57429XCumqn','Add\x20a\x20user\x20to\x20a\x20role\x20(OWNER\x20rejected);\x20requires\x20--yes','appCode','8824vRQUbT','No\x20change:\x20user\x20','591QhsUbS','userId','selector'];a221_0x4d77=function(){return _0x235fd1;};return a221_0x4d77();}import{asDryRunResult}from'../../commands/common/dry-run.js';function a221_0x54e7(_0x6a76c3,_0x5baebe){_0x6a76c3=_0x6a76c3-0x1f0;const _0x4d77cd=a221_0x4d77();let _0x54e7d9=_0x4d77cd[_0x6a76c3];return _0x54e7d9;}import{EXPECT_USER_COUNT_FLAG,CREATE_USER_ROLE_PATH,prepareUserMutation,ROLE_REF_FLAG,USER_REF_FLAG}from'../../commands/role/shared.js';export const roleUserAdd={'service':'role','command':a221_0x4f1c3c(0x1f6),'description':a221_0x4f1c3c(0x204),'risk':a221_0x4f1c3c(0x1f2),'flags':[ROLE_REF_FLAG,USER_REF_FLAG,EXPECT_USER_COUNT_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x1026b1){const _0x5364a9=a221_0x4f1c3c,{mutation:_0x5a6a2f}=await prepareUserMutation(_0x1026b1,'user-add',!![]);return asDryRunResult(_0x5a6a2f,{'method':_0x5364a9(0x1fb),'url':CREATE_USER_ROLE_PATH});},async 'execute'(_0x429358){const _0x2358b6=a221_0x4f1c3c,{mutation:_0x63118,changed:_0x45799b,role:_0x3a67db,user:_0x2e1de7}=await prepareUserMutation(_0x429358,_0x2358b6(0x1f6),![]);return _0x45799b&&await createDevUserRole({'appCode':_0x429358[_0x2358b6(0x205)],'userId':_0x2e1de7[_0x2358b6(0x209)],'username':_0x2e1de7[_0x2358b6(0x201)],'roleType':_0x3a67db['roleType'],'roleId':_0x63118[_0x2358b6(0x20a)][_0x2358b6(0x1f3)]}),{'ok':!![],'data':_0x63118,'message':_0x45799b?_0x2358b6(0x202)+_0x63118[_0x2358b6(0x20a)][_0x2358b6(0x209)]+_0x2358b6(0x1f7)+_0x63118[_0x2358b6(0x20a)][_0x2358b6(0x200)]:_0x2358b6(0x207)+_0x63118[_0x2358b6(0x20a)][_0x2358b6(0x209)]+_0x2358b6(0x1f8)+_0x63118[_0x2358b6(0x20a)][_0x2358b6(0x200)]};}};
@@ -1 +1 @@
1
- const a222_0x1355c9=a222_0x8fec;function a222_0x4420(){const _0xea0a52=['5381808hwmXyJ','Removed\x20user\x20','role','2328312SeAsgZ','Remove\x20a\x20user\x20from\x20a\x20role\x20(OWNER\x20rejected);\x20requires\x20--yes','14228ADOILr','POST','1080940WJzjjo','high-risk-write','376978HHbaYl','roleName','user-remove','4203VeuNdD','15970aFmhCD','4158150dKfcmC','selector','2xAHuTP','userId','No\x20change:\x20user\x20','3YXeSDk'];a222_0x4420=function(){return _0xea0a52;};return a222_0x4420();}function a222_0x8fec(_0x60834,_0x2fb9a0){_0x60834=_0x60834-0xc3;const _0x44200e=a222_0x4420();let _0x8fec24=_0x44200e[_0x60834];return _0x8fec24;}(function(_0x2ccd7d,_0x54359a){const _0x49d2da=a222_0x8fec,_0x1d61fe=_0x2ccd7d();while(!![]){try{const _0x10f08c=parseInt(_0x49d2da(0xcc))/0x1*(-parseInt(_0x49d2da(0xd3))/0x2)+parseInt(_0x49d2da(0xd6))/0x3*(parseInt(_0x49d2da(0xc8))/0x4)+-parseInt(_0x49d2da(0xca))/0x5+parseInt(_0x49d2da(0xd1))/0x6+parseInt(_0x49d2da(0xc6))/0x7+parseInt(_0x49d2da(0xc3))/0x8+-parseInt(_0x49d2da(0xcf))/0x9*(parseInt(_0x49d2da(0xd0))/0xa);if(_0x10f08c===_0x54359a)break;else _0x1d61fe['push'](_0x1d61fe['shift']());}catch(_0x53a72f){_0x1d61fe['push'](_0x1d61fe['shift']());}}}(a222_0x4420,0x589cf));import{deleteDevUserRole}from'../../core/api-client.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{EXPECT_USER_COUNT_FLAG,DELETE_USER_ROLE_PATH,prepareUserMutation,ROLE_REF_FLAG,USER_REF_FLAG}from'../../commands/role/shared.js';export const roleUserRemove={'service':a222_0x1355c9(0xc5),'command':a222_0x1355c9(0xce),'description':a222_0x1355c9(0xc7),'risk':a222_0x1355c9(0xcb),'flags':[ROLE_REF_FLAG,USER_REF_FLAG,EXPECT_USER_COUNT_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x3d9d94){const _0x30eb20=a222_0x1355c9,{mutation:_0x4b8e4a}=await prepareUserMutation(_0x3d9d94,'user-remove',!![]);return asDryRunResult(_0x4b8e4a,{'method':_0x30eb20(0xc9),'url':DELETE_USER_ROLE_PATH});},async 'execute'(_0x4fdbcc){const _0x2bd7a0=a222_0x1355c9,{matchingRelationIds:_0x438ee1,mutation:_0x5c1b53,changed:_0x2afd25}=await prepareUserMutation(_0x4fdbcc,_0x2bd7a0(0xce),![]);if(_0x2afd25)for(const _0xdc2402 of _0x438ee1){await deleteDevUserRole(_0xdc2402);}return{'ok':!![],'data':_0x5c1b53,'message':_0x2afd25?_0x2bd7a0(0xc4)+_0x5c1b53[_0x2bd7a0(0xd2)][_0x2bd7a0(0xd4)]+'\x20from\x20role\x20'+_0x5c1b53[_0x2bd7a0(0xd2)][_0x2bd7a0(0xcd)]:_0x2bd7a0(0xd5)+_0x5c1b53[_0x2bd7a0(0xd2)][_0x2bd7a0(0xd4)]+'\x20not\x20in\x20role\x20'+_0x5c1b53[_0x2bd7a0(0xd2)][_0x2bd7a0(0xcd)]};}};
1
+ const a222_0x4c00a1=a222_0x3885;(function(_0x219a6b,_0x490c42){const _0x1649c1=a222_0x3885,_0xd9fb20=_0x219a6b();while(!![]){try{const _0x121812=-parseInt(_0x1649c1(0x116))/0x1*(-parseInt(_0x1649c1(0x114))/0x2)+-parseInt(_0x1649c1(0x115))/0x3*(-parseInt(_0x1649c1(0x105))/0x4)+parseInt(_0x1649c1(0x108))/0x5*(parseInt(_0x1649c1(0x10f))/0x6)+parseInt(_0x1649c1(0x10c))/0x7*(-parseInt(_0x1649c1(0x10b))/0x8)+-parseInt(_0x1649c1(0x106))/0x9*(-parseInt(_0x1649c1(0x10a))/0xa)+parseInt(_0x1649c1(0x104))/0xb*(-parseInt(_0x1649c1(0x117))/0xc)+parseInt(_0x1649c1(0x119))/0xd*(-parseInt(_0x1649c1(0x11a))/0xe);if(_0x121812===_0x490c42)break;else _0xd9fb20['push'](_0xd9fb20['shift']());}catch(_0x1eab5b){_0xd9fb20['push'](_0xd9fb20['shift']());}}}(a222_0x38b3,0x41ec6));import{deleteDevUserRole}from'../../core/api-client.js';function a222_0x38b3(){const _0x226fb5=['selector','1391GLLFIS','89698wtmAfB','\x20not\x20in\x20role\x20','roleName','1309bUbAJm','2664JiYQIs','171KxqXBS','high-risk-write','25vPyxXC','No\x20change:\x20user\x20','201490XJdCzc','296KgMLlD','98203JQjvch','user-remove','role','601626KEILCN','\x20from\x20role\x20','userId','Remove\x20a\x20user\x20from\x20a\x20role\x20(OWNER\x20rejected);\x20requires\x20--yes','POST','88558MipiJp','2073voCjBU','6gNgARd','13656LVWNMz'];a222_0x38b3=function(){return _0x226fb5;};return a222_0x38b3();}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{EXPECT_USER_COUNT_FLAG,DELETE_USER_ROLE_PATH,prepareUserMutation,ROLE_REF_FLAG,USER_REF_FLAG}from'../../commands/role/shared.js';function a222_0x3885(_0x50927b,_0x20953e){_0x50927b=_0x50927b-0x102;const _0x38b343=a222_0x38b3();let _0x388538=_0x38b343[_0x50927b];return _0x388538;}export const roleUserRemove={'service':a222_0x4c00a1(0x10e),'command':a222_0x4c00a1(0x10d),'description':a222_0x4c00a1(0x112),'risk':a222_0x4c00a1(0x107),'flags':[ROLE_REF_FLAG,USER_REF_FLAG,EXPECT_USER_COUNT_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x495c85){const _0x35a130=a222_0x4c00a1,{mutation:_0x36fe16}=await prepareUserMutation(_0x495c85,_0x35a130(0x10d),!![]);return asDryRunResult(_0x36fe16,{'method':_0x35a130(0x113),'url':DELETE_USER_ROLE_PATH});},async 'execute'(_0x18f600){const _0x56cf6d=a222_0x4c00a1,{matchingRelationIds:_0x2d47de,mutation:_0xa5e897,changed:_0x12959f}=await prepareUserMutation(_0x18f600,_0x56cf6d(0x10d),![]);if(_0x12959f)for(const _0x2dee37 of _0x2d47de){await deleteDevUserRole(_0x2dee37);}return{'ok':!![],'data':_0xa5e897,'message':_0x12959f?'Removed\x20user\x20'+_0xa5e897[_0x56cf6d(0x118)][_0x56cf6d(0x111)]+_0x56cf6d(0x110)+_0xa5e897[_0x56cf6d(0x118)][_0x56cf6d(0x103)]:_0x56cf6d(0x109)+_0xa5e897['selector'][_0x56cf6d(0x111)]+_0x56cf6d(0x102)+_0xa5e897[_0x56cf6d(0x118)]['roleName']};}};
@@ -1 +1 @@
1
- const a223_0x41081a=a223_0x1a15;(function(_0x517ae5,_0x14065c){const _0x242672=a223_0x1a15,_0xe7e8d6=_0x517ae5();while(!![]){try{const _0x145e6a=parseInt(_0x242672(0xc1))/0x1+-parseInt(_0x242672(0xb1))/0x2*(-parseInt(_0x242672(0xc0))/0x3)+-parseInt(_0x242672(0xc2))/0x4+-parseInt(_0x242672(0xbb))/0x5+parseInt(_0x242672(0xb6))/0x6*(parseInt(_0x242672(0xb0))/0x7)+-parseInt(_0x242672(0xc5))/0x8*(parseInt(_0x242672(0xb7))/0x9)+parseInt(_0x242672(0xbd))/0xa*(-parseInt(_0x242672(0xb4))/0xb);if(_0x145e6a===_0x14065c)break;else _0xe7e8d6['push'](_0xe7e8d6['shift']());}catch(_0x390397){_0xe7e8d6['push'](_0xe7e8d6['shift']());}}}(a223_0x5a28,0xec4c0));import{CliErrors}from'../../errors.js';function a223_0x1a15(_0x5a9ea3,_0x550afe){_0x5a9ea3=_0x5a9ea3-0xad;const _0x5a28d4=a223_0x5a28();let _0x1a1502=_0x5a28d4[_0x5a9ea3];return _0x1a1502;}function a223_0x5a28(){const _0x549228=['userId','30myTtPw','role','Pass\x20--name\x20<nickname|username>.','25611YYdNFN','1409228URjzZn','4509932bQLgMo','str','Resolve\x20a\x20nickname/username\x20to\x20a\x20userId\x20(tenant\x20member\x20directory)','22296SKpvlF','nickname','flagMissing','read','35cUyObB','162JFtoPq','\x22\x20→\x20userId\x20','trim','235983iWjsWi','name','1293576aPYHgQ','1008MlYfPJ','username','Select\x20a\x20listed\x20userId,\x20then\x20pass\x20it\x20to\x20`role\x20user-add`\x20or\x20`role\x20user-remove`\x20with\x20--user\x20<id>.','user-resolve','3534235SMaRtT'];a223_0x5a28=function(){return _0x549228;};return a223_0x5a28();}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{resolveUserRef,USER_NAME_FLAG}from'../../commands/role/shared.js';export const roleUserResolve={'service':a223_0x41081a(0xbe),'command':a223_0x41081a(0xba),'description':a223_0x41081a(0xc4),'risk':a223_0x41081a(0xaf),'flags':[USER_NAME_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0xa42bd2){const _0x4ea60f=a223_0x41081a;if(!_0xa42bd2[_0x4ea60f(0xc3)](_0x4ea60f(0xb5))[_0x4ea60f(0xb3)]())throw CliErrors[_0x4ea60f(0xae)](_0x4ea60f(0xb5),_0x4ea60f(0xbf));},async 'execute'(_0x613ae5){const _0x4fb13e=a223_0x41081a,_0x4bed35=_0x613ae5[_0x4fb13e(0xc3)](_0x4fb13e(0xb5))[_0x4fb13e(0xb3)](),_0x5bc275=await resolveUserRef(_0x4bed35,_0x4fb13e(0xb9));return{'ok':!![],'data':{'user':{'userId':_0x5bc275[_0x4fb13e(0xbc)],'username':_0x5bc275[_0x4fb13e(0xb8)],'nickname':_0x5bc275[_0x4fb13e(0xad)],'matchedBy':_0x5bc275['matchedBy']}},'message':'Resolved\x20\x22'+_0x4bed35+_0x4fb13e(0xb2)+_0x5bc275[_0x4fb13e(0xbc)]};}};
1
+ function a223_0x227b(){const _0x227ed1=['Pass\x20--name\x20<nickname|username>.','453FJgPgJ','nickname','Resolved\x20\x22','str','1697MyDebJ','name','427PPBMjK','95168KjFsih','flagMissing','5153814flHgFv','10032651WEpnES','read','1285185vMRJzR','16040SGbVJO','21411450jgRLVP','Resolve\x20a\x20nickname/username\x20to\x20a\x20userId\x20(tenant\x20member\x20directory)','userId','878PXOJEx','Select\x20a\x20listed\x20userId,\x20then\x20pass\x20it\x20to\x20`role\x20user-add`\x20or\x20`role\x20user-remove`\x20with\x20--user\x20<id>.','matchedBy'];a223_0x227b=function(){return _0x227ed1;};return a223_0x227b();}const a223_0x59b75a=a223_0x16ce;(function(_0x448ceb,_0x465539){const _0x5110b9=a223_0x16ce,_0x920a49=_0x448ceb();while(!![]){try{const _0x5a947e=parseInt(_0x5110b9(0x167))/0x1*(-parseInt(_0x5110b9(0x174))/0x2)+parseInt(_0x5110b9(0x178))/0x3*(-parseInt(_0x5110b9(0x170))/0x4)+parseInt(_0x5110b9(0x16f))/0x5+-parseInt(_0x5110b9(0x16c))/0x6+-parseInt(_0x5110b9(0x169))/0x7*(parseInt(_0x5110b9(0x16a))/0x8)+parseInt(_0x5110b9(0x16d))/0x9+parseInt(_0x5110b9(0x171))/0xa;if(_0x5a947e===_0x465539)break;else _0x920a49['push'](_0x920a49['shift']());}catch(_0x359dc8){_0x920a49['push'](_0x920a49['shift']());}}}(a223_0x227b,0x8d10b));import{CliErrors}from'../../errors.js';function a223_0x16ce(_0x3c3a7e,_0x5a602d){_0x3c3a7e=_0x3c3a7e-0x166;const _0x227b28=a223_0x227b();let _0x16ce29=_0x227b28[_0x3c3a7e];return _0x16ce29;}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{resolveUserRef,USER_NAME_FLAG}from'../../commands/role/shared.js';export const roleUserResolve={'service':'role','command':'user-resolve','description':a223_0x59b75a(0x172),'risk':a223_0x59b75a(0x16e),'flags':[USER_NAME_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x53958f){const _0x240569=a223_0x59b75a;if(!_0x53958f['str']('name')['trim']())throw CliErrors[_0x240569(0x16b)](_0x240569(0x168),_0x240569(0x177));},async 'execute'(_0x16ae89){const _0x150e31=a223_0x59b75a,_0x173ed4=_0x16ae89[_0x150e31(0x166)](_0x150e31(0x168))['trim'](),_0x4980c8=await resolveUserRef(_0x173ed4,_0x150e31(0x175));return{'ok':!![],'data':{'user':{'userId':_0x4980c8['userId'],'username':_0x4980c8['username'],'nickname':_0x4980c8[_0x150e31(0x179)],'matchedBy':_0x4980c8[_0x150e31(0x176)]}},'message':_0x150e31(0x17a)+_0x173ed4+'\x22\x20→\x20userId\x20'+_0x4980c8[_0x150e31(0x173)]};}};
@@ -1 +1 @@
1
- const a224_0x2dcf14=a224_0x5a96;function a224_0x3136(){const _0x5c85cb=['\x20for\x20','454372Bdvjin','11FlVFRV','15EkOHHH','16lJxHQE','422972Ipwnjj','412360xZBXRx','6kZTnzy','Get\x20one\x20agent\x20context\x20rule\x20for\x20the\x20resolved\x20app','read','Loaded\x20','1044687qpkVYL','app_rule_not_found','\x20is\x20not\x20configured\x20for\x20app\x20','1067562OYGrjh','1287000zlwtNi','\x20--file\x20<path>\x20--dry-run`.','185118AwcvVX','appCode','rule'];a224_0x3136=function(){return _0x5c85cb;};return a224_0x3136();}function a224_0x5a96(_0x48ee4d,_0x571b76){_0x48ee4d=_0x48ee4d-0x184;const _0x31361e=a224_0x3136();let _0x5a96c7=_0x31361e[_0x48ee4d];return _0x5a96c7;}(function(_0x2a8251,_0x59a734){const _0x744327=a224_0x5a96,_0x4038e7=_0x2a8251();while(!![]){try{const _0x26a350=parseInt(_0x744327(0x185))/0x1+parseInt(_0x744327(0x18d))/0x2+-parseInt(_0x744327(0x18b))/0x3*(parseInt(_0x744327(0x189))/0x4)+parseInt(_0x744327(0x197))/0x5+parseInt(_0x744327(0x18f))/0x6*(parseInt(_0x744327(0x193))/0x7)+-parseInt(_0x744327(0x18c))/0x8*(-parseInt(_0x744327(0x196))/0x9)+parseInt(_0x744327(0x18e))/0xa*(-parseInt(_0x744327(0x18a))/0xb);if(_0x26a350===_0x59a734)break;else _0x4038e7['push'](_0x4038e7['shift']());}catch(_0x1efe0b){_0x4038e7['push'](_0x4038e7['shift']());}}}(a224_0x3136,0x694b0));import{getAppRule}from'../../core/api-client.js';import{APP_RULE_TYPE_FLAG,appRuleError,appRuleFileName,projectAppRule,readAppRuleType}from'../../commands/rule/shared.js';export const ruleGet={'service':a224_0x2dcf14(0x187),'command':'get','description':a224_0x2dcf14(0x190),'risk':a224_0x2dcf14(0x191),'requiresAppCode':!![],'structuredErrors':!![],'flags':[APP_RULE_TYPE_FLAG],async 'validate'(_0x525bbe){readAppRuleType(_0x525bbe);},async 'execute'(_0x3c1706){const _0x310989=a224_0x2dcf14,_0x4d7f99=readAppRuleType(_0x3c1706),_0x1432b9=await getAppRule(_0x3c1706['cookie'],{'appCode':_0x3c1706[_0x310989(0x186)],'type':_0x4d7f99});if(!_0x1432b9)throw appRuleError(_0x310989(0x194),appRuleFileName(_0x4d7f99)+_0x310989(0x195)+_0x3c1706['appCode']+'.','Create\x20it\x20with\x20`rabetbase\x20rule\x20set\x20--type\x20'+_0x4d7f99+_0x310989(0x184));return{'ok':!![],'data':{'rule':{...projectAppRule(_0x4d7f99,_0x1432b9),'content':_0x1432b9['content']}},'message':_0x310989(0x192)+appRuleFileName(_0x4d7f99)+_0x310989(0x188)+_0x3c1706['appCode']};}};
1
+ function a224_0x43be(_0x54cb3a,_0x3cfd68){_0x54cb3a=_0x54cb3a-0x180;const _0x524f0=a224_0x524f();let _0x43beb2=_0x524f0[_0x54cb3a];return _0x43beb2;}const a224_0x1a6803=a224_0x43be;(function(_0x39ab90,_0x5d33d1){const _0x350bae=a224_0x43be,_0x3f64e4=_0x39ab90();while(!![]){try{const _0x4f6e8e=-parseInt(_0x350bae(0x18a))/0x1+-parseInt(_0x350bae(0x184))/0x2*(-parseInt(_0x350bae(0x180))/0x3)+parseInt(_0x350bae(0x186))/0x4+parseInt(_0x350bae(0x18d))/0x5*(-parseInt(_0x350bae(0x18c))/0x6)+-parseInt(_0x350bae(0x182))/0x7+-parseInt(_0x350bae(0x181))/0x8+parseInt(_0x350bae(0x185))/0x9;if(_0x4f6e8e===_0x5d33d1)break;else _0x3f64e4['push'](_0x3f64e4['shift']());}catch(_0x34883e){_0x3f64e4['push'](_0x3f64e4['shift']());}}}(a224_0x524f,0xb8cba));import{getAppRule}from'../../core/api-client.js';function a224_0x524f(){const _0x151fb5=['\x20for\x20','3vQQlcD','8728248rhSJcT','9594340FVLIdr','cookie','145522wkDmnY','35454960sAlWsQ','5926280fFFQAB','\x20is\x20not\x20configured\x20for\x20app\x20','read','Create\x20it\x20with\x20`rabetbase\x20rule\x20set\x20--type\x20','1044509KZazLX','app_rule_not_found','7384134zymfbu','5VULvQh','appCode'];a224_0x524f=function(){return _0x151fb5;};return a224_0x524f();}import{APP_RULE_TYPE_FLAG,appRuleError,appRuleFileName,projectAppRule,readAppRuleType}from'../../commands/rule/shared.js';export const ruleGet={'service':'rule','command':'get','description':'Get\x20one\x20agent\x20context\x20rule\x20for\x20the\x20resolved\x20app','risk':a224_0x1a6803(0x188),'requiresAppCode':!![],'structuredErrors':!![],'flags':[APP_RULE_TYPE_FLAG],async 'validate'(_0x5ae7f7){readAppRuleType(_0x5ae7f7);},async 'execute'(_0x22dede){const _0x4b574b=a224_0x1a6803,_0x16d2e5=readAppRuleType(_0x22dede),_0x31a952=await getAppRule(_0x22dede[_0x4b574b(0x183)],{'appCode':_0x22dede['appCode'],'type':_0x16d2e5});if(!_0x31a952)throw appRuleError(_0x4b574b(0x18b),appRuleFileName(_0x16d2e5)+_0x4b574b(0x187)+_0x22dede[_0x4b574b(0x18e)]+'.',_0x4b574b(0x189)+_0x16d2e5+'\x20--file\x20<path>\x20--dry-run`.');return{'ok':!![],'data':{'rule':{...projectAppRule(_0x16d2e5,_0x31a952),'content':_0x31a952['content']}},'message':'Loaded\x20'+appRuleFileName(_0x16d2e5)+_0x4b574b(0x18f)+_0x22dede['appCode']};}};
@@ -1 +1 @@
1
- function a225_0x591b(){const _0x5635e0=['175607vlPvLw','666120NBbAHT','3461319otkKyS','165pmMNFz','301632iQXGPV','6170XeHDHY','170056tIuHpv','20SXGxgo','165556miPxRP'];a225_0x591b=function(){return _0x5635e0;};return a225_0x591b();}(function(_0x3ff57a,_0x7d8ac6){const _0x208b6f=a225_0x2c7f,_0x4b1ba7=_0x3ff57a();while(!![]){try{const _0x2a94b6=-parseInt(_0x208b6f(0xab))/0x1+parseInt(_0x208b6f(0xa7))/0x2*(-parseInt(_0x208b6f(0xa5))/0x3)+-parseInt(_0x208b6f(0xaa))/0x4+parseInt(_0x208b6f(0xa9))/0x5*(parseInt(_0x208b6f(0xa6))/0x6)+-parseInt(_0x208b6f(0xa3))/0x7+parseInt(_0x208b6f(0xa8))/0x8+parseInt(_0x208b6f(0xa4))/0x9;if(_0x2a94b6===_0x7d8ac6)break;else _0x4b1ba7['push'](_0x4b1ba7['shift']());}catch(_0x5b6ad6){_0x4b1ba7['push'](_0x4b1ba7['shift']());}}}(a225_0x591b,0x1e8b1));import{ruleGet}from'../../commands/rule/get.js';import{ruleList}from'../../commands/rule/list.js';function a225_0x2c7f(_0x16081b,_0x5d3432){_0x16081b=_0x16081b-0xa3;const _0x591ba9=a225_0x591b();let _0x2c7f4a=_0x591ba9[_0x16081b];return _0x2c7f4a;}import{ruleSet}from'../../commands/rule/set.js';export const ruleDefinitions=[ruleList,ruleGet,ruleSet];
1
+ (function(_0x2933fc,_0x30061b){const _0x5c4cc0=a225_0x2bee,_0x2e1937=_0x2933fc();while(!![]){try{const _0x4ea1a4=parseInt(_0x5c4cc0(0x142))/0x1*(-parseInt(_0x5c4cc0(0x145))/0x2)+parseInt(_0x5c4cc0(0x143))/0x3+-parseInt(_0x5c4cc0(0x141))/0x4+parseInt(_0x5c4cc0(0x140))/0x5+-parseInt(_0x5c4cc0(0x13f))/0x6+parseInt(_0x5c4cc0(0x13e))/0x7+-parseInt(_0x5c4cc0(0x144))/0x8*(-parseInt(_0x5c4cc0(0x146))/0x9);if(_0x4ea1a4===_0x30061b)break;else _0x2e1937['push'](_0x2e1937['shift']());}catch(_0x4318dd){_0x2e1937['push'](_0x2e1937['shift']());}}}(a225_0x5c6a,0xe5d9a));import{ruleGet}from'../../commands/rule/get.js';function a225_0x5c6a(){const _0x36f2da=['2569362GHHLDF','8XVUryM','656DSNdbD','13932963gmixBb','3263862QZZAJm','3196056cFtJQz','6029430CASPtQ','3964428WQbPZT','4913DLIxhA'];a225_0x5c6a=function(){return _0x36f2da;};return a225_0x5c6a();}import{ruleList}from'../../commands/rule/list.js';import{ruleSet}from'../../commands/rule/set.js';function a225_0x2bee(_0x857153,_0x22c12e){_0x857153=_0x857153-0x13e;const _0x5c6a21=a225_0x5c6a();let _0x2bee4d=_0x5c6a21[_0x857153];return _0x2bee4d;}export const ruleDefinitions=[ruleList,ruleGet,ruleSet];
@@ -1 +1 @@
1
- const a226_0x5d7e05=a226_0x5300;function a226_0x5300(_0x5d7c7a,_0x4eb179){_0x5d7c7a=_0x5d7c7a-0x64;const _0x2c7772=a226_0x2c77();let _0x530048=_0x2c7772[_0x5d7c7a];return _0x530048;}(function(_0x1fa6a2,_0x2bde31){const _0x4bb90d=a226_0x5300,_0x428e80=_0x1fa6a2();while(!![]){try{const _0x2a9125=parseInt(_0x4bb90d(0x72))/0x1+parseInt(_0x4bb90d(0x64))/0x2+parseInt(_0x4bb90d(0x6b))/0x3*(-parseInt(_0x4bb90d(0x71))/0x4)+-parseInt(_0x4bb90d(0x74))/0x5+parseInt(_0x4bb90d(0x69))/0x6*(parseInt(_0x4bb90d(0x68))/0x7)+parseInt(_0x4bb90d(0x76))/0x8+-parseInt(_0x4bb90d(0x6c))/0x9*(parseInt(_0x4bb90d(0x6d))/0xa);if(_0x2a9125===_0x2bde31)break;else _0x428e80['push'](_0x428e80['shift']());}catch(_0x5bbf62){_0x428e80['push'](_0x428e80['shift']());}}}(a226_0x2c77,0x36c99));function a226_0x2c77(){const _0xe60453=['712234oXFnuJ','List\x20agent\x20context\x20rules\x20for\x20the\x20resolved\x20app','length','cookie','581vOVWjO','17598cpmNjX','list','3UlGkiO','2961JlrdTj','3490wqcEuS','Loaded\x20app\x20rule\x20configuration\x20for\x20','map','appCode','673508ZPWSZv','49583AAaceA','rule','1215715kYiaBi','all','812888VTTwbi','read'];a226_0x2c77=function(){return _0xe60453;};return a226_0x2c77();}import{getAppRule}from'../../core/api-client.js';import{APP_RULE_TYPES,projectAppRule}from'../../commands/rule/shared.js';export const ruleList={'service':a226_0x5d7e05(0x73),'command':a226_0x5d7e05(0x6a),'description':a226_0x5d7e05(0x65),'risk':a226_0x5d7e05(0x77),'requiresAppCode':!![],'structuredErrors':!![],'flags':[],async 'execute'(_0x367539){const _0xa1e912=a226_0x5d7e05,_0xcd8310=await Promise[_0xa1e912(0x75)](APP_RULE_TYPES['map'](_0x50f86a=>getAppRule(_0x367539[_0xa1e912(0x67)],{'appCode':_0x367539[_0xa1e912(0x70)],'type':_0x50f86a}))),_0x3f721f=APP_RULE_TYPES[_0xa1e912(0x6f)]((_0x301ae2,_0x2e9022)=>projectAppRule(_0x301ae2,_0xcd8310[_0x2e9022]??null));return{'ok':!![],'data':{'total':_0x3f721f[_0xa1e912(0x66)],'rules':_0x3f721f},'message':_0xa1e912(0x6e)+_0x367539[_0xa1e912(0x70)]};}};
1
+ const a226_0x363bde=a226_0x21f3;(function(_0x3be019,_0x348075){const _0x2730c0=a226_0x21f3,_0x1494c2=_0x3be019();while(!![]){try{const _0x4a3741=parseInt(_0x2730c0(0x1f0))/0x1+-parseInt(_0x2730c0(0x1f5))/0x2+-parseInt(_0x2730c0(0x1f3))/0x3+-parseInt(_0x2730c0(0x1f4))/0x4*(-parseInt(_0x2730c0(0x1fa))/0x5)+parseInt(_0x2730c0(0x1ec))/0x6+parseInt(_0x2730c0(0x1f2))/0x7*(-parseInt(_0x2730c0(0x1f8))/0x8)+-parseInt(_0x2730c0(0x1ed))/0x9;if(_0x4a3741===_0x348075)break;else _0x1494c2['push'](_0x1494c2['shift']());}catch(_0x779562){_0x1494c2['push'](_0x1494c2['shift']());}}}(a226_0x574d,0xbf4ee));import{getAppRule}from'../../core/api-client.js';function a226_0x574d(){const _0x425452=['5976549DmcHVr','rule','cookie','1506206biDVLz','appCode','126nVEXLE','511422RfhUgh','4RerqjP','699444mBhEEi','all','Loaded\x20app\x20rule\x20configuration\x20for\x20','597712vZVhoh','map','5029685SxLFKH','length','read','4803384lkFuQH'];a226_0x574d=function(){return _0x425452;};return a226_0x574d();}function a226_0x21f3(_0x41f75b,_0x3811c0){_0x41f75b=_0x41f75b-0x1ec;const _0x574d5f=a226_0x574d();let _0x21f3a1=_0x574d5f[_0x41f75b];return _0x21f3a1;}import{APP_RULE_TYPES,projectAppRule}from'../../commands/rule/shared.js';export const ruleList={'service':a226_0x363bde(0x1ee),'command':'list','description':'List\x20agent\x20context\x20rules\x20for\x20the\x20resolved\x20app','risk':a226_0x363bde(0x1fc),'requiresAppCode':!![],'structuredErrors':!![],'flags':[],async 'execute'(_0x16c5ee){const _0x336aed=a226_0x363bde,_0x1a9524=await Promise[_0x336aed(0x1f6)](APP_RULE_TYPES[_0x336aed(0x1f9)](_0x2da62f=>getAppRule(_0x16c5ee[_0x336aed(0x1ef)],{'appCode':_0x16c5ee[_0x336aed(0x1f1)],'type':_0x2da62f}))),_0x2b7754=APP_RULE_TYPES[_0x336aed(0x1f9)]((_0x56a29,_0x16e9f6)=>projectAppRule(_0x56a29,_0x1a9524[_0x16e9f6]??null));return{'ok':!![],'data':{'total':_0x2b7754[_0x336aed(0x1fb)],'rules':_0x2b7754},'message':_0x336aed(0x1f7)+_0x16c5ee[_0x336aed(0x1f1)]};}};
@@ -1 +1 @@
1
- const a227_0x44be98=a227_0x59c6;(function(_0x42c860,_0x52ec92){const _0x527fe7=a227_0x59c6,_0xf989c2=_0x42c860();while(!![]){try{const _0x527f49=parseInt(_0x527fe7(0xaa))/0x1+parseInt(_0x527fe7(0x97))/0x2+-parseInt(_0x527fe7(0x99))/0x3+parseInt(_0x527fe7(0xc2))/0x4+parseInt(_0x527fe7(0xb4))/0x5*(parseInt(_0x527fe7(0x9c))/0x6)+-parseInt(_0x527fe7(0xa0))/0x7*(parseInt(_0x527fe7(0x9b))/0x8)+parseInt(_0x527fe7(0xaf))/0x9;if(_0x527f49===_0x52ec92)break;else _0xf989c2['push'](_0xf989c2['shift']());}catch(_0x13049e){_0xf989c2['push'](_0xf989c2['shift']());}}}(a227_0xa5a9,0xd8a12));import{getAppRule,isPlatformTransportFailure,saveAppRule}from'../../core/api-client.js';function a227_0xa5a9(){const _0x4b5776=['313435fuROap','.\x20Run\x20rule\x20get\x20and\x20review\x20before\x20retrying.','appCode','\x20version\x20changed\x20before\x20write.','app_rule_expected_version_invalid','planned','\x20could\x20not\x20be\x20verified.','replacement','app_rule_version_mismatch','\x20--format\x20compress','write',';\x20current\x20version\x20is\x20','flag','cause','3351264iCkRcY','Set\x20','app_rule_set_outcome_unknown','expectedVersion','input','number','type','\x20for\x20','beforeRecord','The\x20set\x20request\x20was\x20sent,\x20but\x20','push','Set\x20an\x20agent\x20context\x20rule\x20from\x20a\x20UTF-8\x20Markdown\x20file','Inspect\x20it\x20with\x20`rabetbase\x20rule\x20get\x20--type\x20','3128410yuLPFy','file','2130834EvxSbY','contentHash','10260776jqBRai','30VFtIuO','\x20--format\x20compress`;\x20do\x20not\x20resubmit\x20automatically.','--file\x20is\x20required.','unconfigured','7bAuUaC','before','trim','isSafeInteger','app_rule_file_required','app_rule_verification_unavailable','rules','Expected\x20','set','content','96874LTyZbX','Set\x20response\x20was\x20unavailable;\x20verified\x20the\x20exact\x20content\x20readback\x20without\x20resubmitting.','expected-version','rabetbase\x20rule\x20get\x20--type\x20','/smartapi/knowledge-base/save','610731vfRYhC','byteSize','\x20does\x20not\x20prove\x20the\x20requested\x20set\x20state.','cookie','version'];a227_0xa5a9=function(){return _0x4b5776;};return a227_0xa5a9();}import{asDryRunResult}from'../../commands/common/dry-run.js';import{APP_RULE_TYPE_FLAG,appRuleContextScope,appRuleError,appRuleFileName,inspectAppRuleContent,projectAppRule,readAppRuleFile,readAppRuleType}from'../../commands/rule/shared.js';const SAVE_PATH=a227_0x44be98(0xae),NON_ATOMIC_WARNING='--expected-version\x20is\x20a\x20non-atomic\x20read-before-write\x20assertion;\x20the\x20server\x20save\x20contract\x20has\x20no\x20version\x20predicate.';function a227_0x59c6(_0x40d48b,_0x44b52f){_0x40d48b=_0x40d48b-0x97;const _0xa5a9b5=a227_0xa5a9();let _0x59c6e1=_0xa5a9b5[_0x40d48b];return _0x59c6e1;}function readSetInput(_0x15c5a1){const _0x5b1b7d=a227_0x44be98,_0x16a82c=readAppRuleType(_0x15c5a1),_0x7bb0e8=_0x15c5a1['str'](_0x5b1b7d(0x98))[_0x5b1b7d(0xa2)]();if(!_0x7bb0e8)throw appRuleError(_0x5b1b7d(0xa4),_0x5b1b7d(0x9e),'Pass\x20a\x20UTF-8\x20Markdown\x20file.');const _0x529c10=_0x15c5a1[_0x5b1b7d(0xc0)](_0x5b1b7d(0xac));let _0x122fbe;if(_0x529c10!==undefined){_0x122fbe=Number(_0x529c10);if(!Number[_0x5b1b7d(0xa3)](_0x122fbe)||_0x122fbe<0x0)throw appRuleError(_0x5b1b7d(0xb8),'--expected-version\x20must\x20be\x20a\x20non-negative\x20safe\x20integer.');}return{'type':_0x16a82c,'file':_0x7bb0e8,'expectedVersion':_0x122fbe};}async function prepareSet(_0x570e61){const _0x406c89=a227_0x44be98,_0x5bf426=readSetInput(_0x570e61),_0x531484=await readAppRuleFile(_0x5bf426[_0x406c89(0x98)]),_0x2fe02f=await getAppRule(_0x570e61['cookie'],{'appCode':_0x570e61['appCode'],'type':_0x5bf426[_0x406c89(0xc8)]});if(_0x5bf426[_0x406c89(0xc5)]!==undefined&&_0x2fe02f?.[_0x406c89(0xb3)]!==_0x5bf426[_0x406c89(0xc5)])throw appRuleError(_0x406c89(0xbc),appRuleFileName(_0x5bf426[_0x406c89(0xc8)])+_0x406c89(0xb7),_0x406c89(0xa7)+_0x5bf426[_0x406c89(0xc5)]+_0x406c89(0xbf)+(_0x2fe02f?.[_0x406c89(0xb3)]??_0x406c89(0x9f))+_0x406c89(0xb5));return{'input':_0x5bf426,'replacement':_0x531484,'beforeRecord':_0x2fe02f,'before':projectAppRule(_0x5bf426[_0x406c89(0xc8)],_0x2fe02f),'planned':{'type':_0x5bf426['type'],'fileName':appRuleFileName(_0x5bf426[_0x406c89(0xc8)]),'contextScope':appRuleContextScope(_0x5bf426[_0x406c89(0xc8)]),'enabled':!![],'appCode':_0x570e61[_0x406c89(0xb6)],'scope':'rules','contentByteSize':_0x531484[_0x406c89(0xb0)],'contentHash':_0x531484['contentHash']}};}function warningsFor(_0x35d559){return _0x35d559===undefined?[]:[NON_ATOMIC_WARNING];}export const ruleSet={'service':'rule','command':'set','description':a227_0x44be98(0xcd),'risk':a227_0x44be98(0xbe),'requiresAppCode':!![],'structuredErrors':!![],'flags':[APP_RULE_TYPE_FLAG,{'name':'file','type':'string','required':!![],'description':'UTF-8\x20Markdown\x20file\x20(maximum\x205\x20MiB)'},{'name':a227_0x44be98(0xac),'type':a227_0x44be98(0xc7),'required':![],'description':'Non-atomic\x20preflight\x20assertion\x20for\x20the\x20current\x20version'}],async 'validate'(_0x3c2c52){readSetInput(_0x3c2c52);},async 'dryRun'(_0xba2fd1){const _0x19e4b8=a227_0x44be98,_0x74df7b=await prepareSet(_0xba2fd1);return asDryRunResult({'operation':'set','selector':{'appCode':_0xba2fd1['appCode'],'scope':_0x19e4b8(0xa6),'type':_0x74df7b[_0x19e4b8(0xc6)][_0x19e4b8(0xc8)]},'before':_0x74df7b[_0x19e4b8(0xa1)],'after':_0x74df7b[_0x19e4b8(0xb9)],'dryRun':!![],'backend':{'method':'POST','path':SAVE_PATH},'warnings':warningsFor(_0x74df7b['input'][_0x19e4b8(0xc5)]),'verification':{'expectedVersion':_0x74df7b['input'][_0x19e4b8(0xc5)]??null,'atomicCompareAndSet':![],'lookupCommand':_0x19e4b8(0xad)+_0x74df7b[_0x19e4b8(0xc6)][_0x19e4b8(0xc8)]+_0x19e4b8(0xbd)}},{'method':'POST','url':SAVE_PATH});},async 'execute'(_0x352b14){const _0x4bb5ac=a227_0x44be98,_0x42d7f5=await prepareSet(_0x352b14);let _0x108fde=![];try{await saveAppRule(_0x352b14[_0x4bb5ac(0xb2)],{'appCode':_0x352b14['appCode'],'type':_0x42d7f5[_0x4bb5ac(0xc6)]['type'],'content':_0x42d7f5[_0x4bb5ac(0xbb)][_0x4bb5ac(0xa9)]});}catch(_0x412fe4){if(!isPlatformTransportFailure(_0x412fe4))throw _0x412fe4;_0x108fde=!![];}let _0xf4bce2;try{_0xf4bce2=await getAppRule(_0x352b14[_0x4bb5ac(0xb2)],{'appCode':_0x352b14[_0x4bb5ac(0xb6)],'type':_0x42d7f5[_0x4bb5ac(0xc6)]['type']});}catch(_0x515e2e){const _0x258e52=appRuleError(_0x108fde?_0x4bb5ac(0xc4):_0x4bb5ac(0xa5),_0x4bb5ac(0xcb)+appRuleFileName(_0x42d7f5[_0x4bb5ac(0xc6)][_0x4bb5ac(0xc8)])+_0x4bb5ac(0xba),'Do\x20not\x20resubmit\x20automatically.\x20Inspect\x20the\x20exact\x20rule\x20state\x20before\x20retrying.');Object['defineProperty'](_0x258e52,_0x4bb5ac(0xc1),{'value':_0x515e2e,'enumerable':![]});throw _0x258e52;}const _0x26fd61=_0xf4bce2&&inspectAppRuleContent(_0xf4bce2[_0x4bb5ac(0xa9)])[_0x4bb5ac(0x9a)]===_0x42d7f5[_0x4bb5ac(0xbb)][_0x4bb5ac(0x9a)],_0xf2180b=_0xf4bce2&&(_0x42d7f5[_0x4bb5ac(0xca)]===null||_0xf4bce2[_0x4bb5ac(0xb3)]>_0x42d7f5[_0x4bb5ac(0xca)][_0x4bb5ac(0xb3)]);if(!_0xf4bce2||!_0x26fd61||!_0xf2180b)throw appRuleError(_0x108fde?_0x4bb5ac(0xc4):'app_rule_verification_failed',appRuleFileName(_0x42d7f5[_0x4bb5ac(0xc6)][_0x4bb5ac(0xc8)])+_0x4bb5ac(0xb1),_0x4bb5ac(0xce)+_0x42d7f5[_0x4bb5ac(0xc6)]['type']+_0x4bb5ac(0x9d));const _0x5d402f=warningsFor(_0x42d7f5[_0x4bb5ac(0xc6)]['expectedVersion']);_0x108fde&&_0x5d402f[_0x4bb5ac(0xcc)](_0x4bb5ac(0xab));const _0x33c16e=projectAppRule(_0x42d7f5[_0x4bb5ac(0xc6)][_0x4bb5ac(0xc8)],_0xf4bce2);return{'ok':!![],'data':{'operation':_0x4bb5ac(0xa8),'selector':{'appCode':_0x352b14[_0x4bb5ac(0xb6)],'scope':'rules','type':_0x42d7f5['input'][_0x4bb5ac(0xc8)]},'before':_0x42d7f5['before'],'after':_0x33c16e,'dryRun':![],'backend':{'method':'POST','path':SAVE_PATH},'warnings':_0x5d402f,'verification':{'status':'verified','recoveredAfterUnknownResponse':_0x108fde,'expectedVersion':_0x42d7f5[_0x4bb5ac(0xc6)]['expectedVersion']??null,'atomicCompareAndSet':![],'lookupCommand':_0x4bb5ac(0xad)+_0x42d7f5[_0x4bb5ac(0xc6)][_0x4bb5ac(0xc8)]+_0x4bb5ac(0xbd)}},'message':_0x4bb5ac(0xc3)+appRuleFileName(_0x42d7f5[_0x4bb5ac(0xc6)]['type'])+_0x4bb5ac(0xc9)+_0x352b14['appCode']};}};
1
+ const a227_0x23a41f=a227_0x23b6;function a227_0x901d(){const _0x406c6a=['248605JQxdcA','app_rule_set_outcome_unknown','--file\x20is\x20required.','before','130Idlzhc','input','--expected-version\x20must\x20be\x20a\x20non-negative\x20safe\x20integer.','\x20does\x20not\x20prove\x20the\x20requested\x20set\x20state.','expected-version','rabetbase\x20rule\x20get\x20--type\x20','version','app_rule_version_mismatch',';\x20current\x20version\x20is\x20','replacement','beforeRecord','planned','147vqvgjC','POST','isSafeInteger','65288sjkWdl','130qFBSue','Expected\x20','verified','\x20--format\x20compress`;\x20do\x20not\x20resubmit\x20automatically.','file','802830rIJuns','unconfigured','appCode','app_rule_file_required','app_rule_verification_unavailable','72488FtqBgQ','push','Non-atomic\x20preflight\x20assertion\x20for\x20the\x20current\x20version','355545TdvPfZ','rules','Pass\x20a\x20UTF-8\x20Markdown\x20file.','str','set','string','cookie','Inspect\x20it\x20with\x20`rabetbase\x20rule\x20get\x20--type\x20','contentHash','UTF-8\x20Markdown\x20file\x20(maximum\x205\x20MiB)','number','type','Set\x20an\x20agent\x20context\x20rule\x20from\x20a\x20UTF-8\x20Markdown\x20file','/smartapi/knowledge-base/save','812372utEdNs','Set\x20response\x20was\x20unavailable;\x20verified\x20the\x20exact\x20content\x20readback\x20without\x20resubmitting.','.\x20Run\x20rule\x20get\x20and\x20review\x20before\x20retrying.','content','The\x20set\x20request\x20was\x20sent,\x20but\x20','\x20--format\x20compress','rule','\x20for\x20','expectedVersion','2441634CFVNmU','--expected-version\x20is\x20a\x20non-atomic\x20read-before-write\x20assertion;\x20the\x20server\x20save\x20contract\x20has\x20no\x20version\x20predicate.','\x20could\x20not\x20be\x20verified.','Set\x20','trim','2sVAmYP'];a227_0x901d=function(){return _0x406c6a;};return a227_0x901d();}(function(_0x3b0f95,_0x5073fb){const _0x9abcec=a227_0x23b6,_0x31f7da=_0x3b0f95();while(!![]){try{const _0x2763c6=-parseInt(_0x9abcec(0xad))/0x1+-parseInt(_0x9abcec(0xac))/0x2*(-parseInt(_0x9abcec(0xc6))/0x3)+-parseInt(_0x9abcec(0xc0))/0x4*(parseInt(_0x9abcec(0xb1))/0x5)+parseInt(_0x9abcec(0xa7))/0x6+-parseInt(_0x9abcec(0xbd))/0x7*(parseInt(_0x9abcec(0xcb))/0x8)+-parseInt(_0x9abcec(0xce))/0x9*(-parseInt(_0x9abcec(0xc1))/0xa)+parseInt(_0x9abcec(0xdc))/0xb;if(_0x2763c6===_0x5073fb)break;else _0x31f7da['push'](_0x31f7da['shift']());}catch(_0x274c57){_0x31f7da['push'](_0x31f7da['shift']());}}}(a227_0x901d,0x61574));import{getAppRule,isPlatformTransportFailure,saveAppRule}from'../../core/api-client.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{APP_RULE_TYPE_FLAG,appRuleContextScope,appRuleError,appRuleFileName,inspectAppRuleContent,projectAppRule,readAppRuleFile,readAppRuleType}from'../../commands/rule/shared.js';const SAVE_PATH=a227_0x23a41f(0xdb),NON_ATOMIC_WARNING=a227_0x23a41f(0xa8);function a227_0x23b6(_0x69420c,_0x52d622){_0x69420c=_0x69420c-0xa3;const _0x901d17=a227_0x901d();let _0x23b67b=_0x901d17[_0x69420c];return _0x23b67b;}function readSetInput(_0x1f7bc6){const _0x7ec125=a227_0x23a41f,_0x16f725=readAppRuleType(_0x1f7bc6),_0x5f24b2=_0x1f7bc6[_0x7ec125(0xd1)]('file')[_0x7ec125(0xab)]();if(!_0x5f24b2)throw appRuleError(_0x7ec125(0xc9),_0x7ec125(0xaf),_0x7ec125(0xd0));const _0x48c42b=_0x1f7bc6['flag'](_0x7ec125(0xb5));let _0x5cbe53;if(_0x48c42b!==undefined){_0x5cbe53=Number(_0x48c42b);if(!Number[_0x7ec125(0xbf)](_0x5cbe53)||_0x5cbe53<0x0)throw appRuleError('app_rule_expected_version_invalid',_0x7ec125(0xb3));}return{'type':_0x16f725,'file':_0x5f24b2,'expectedVersion':_0x5cbe53};}async function prepareSet(_0x5de53a){const _0x3342e4=a227_0x23a41f,_0x55a87f=readSetInput(_0x5de53a),_0x2f4b06=await readAppRuleFile(_0x55a87f[_0x3342e4(0xc5)]),_0x137e3b=await getAppRule(_0x5de53a[_0x3342e4(0xd4)],{'appCode':_0x5de53a['appCode'],'type':_0x55a87f['type']});if(_0x55a87f[_0x3342e4(0xa6)]!==undefined&&_0x137e3b?.[_0x3342e4(0xb7)]!==_0x55a87f[_0x3342e4(0xa6)])throw appRuleError(_0x3342e4(0xb8),appRuleFileName(_0x55a87f[_0x3342e4(0xd9)])+'\x20version\x20changed\x20before\x20write.',_0x3342e4(0xc2)+_0x55a87f[_0x3342e4(0xa6)]+_0x3342e4(0xb9)+(_0x137e3b?.[_0x3342e4(0xb7)]??_0x3342e4(0xc7))+_0x3342e4(0xde));return{'input':_0x55a87f,'replacement':_0x2f4b06,'beforeRecord':_0x137e3b,'before':projectAppRule(_0x55a87f[_0x3342e4(0xd9)],_0x137e3b),'planned':{'type':_0x55a87f['type'],'fileName':appRuleFileName(_0x55a87f['type']),'contextScope':appRuleContextScope(_0x55a87f[_0x3342e4(0xd9)]),'enabled':!![],'appCode':_0x5de53a['appCode'],'scope':'rules','contentByteSize':_0x2f4b06['byteSize'],'contentHash':_0x2f4b06[_0x3342e4(0xd6)]}};}function warningsFor(_0x444adb){return _0x444adb===undefined?[]:[NON_ATOMIC_WARNING];}export const ruleSet={'service':a227_0x23a41f(0xa4),'command':'set','description':a227_0x23a41f(0xda),'risk':'write','requiresAppCode':!![],'structuredErrors':!![],'flags':[APP_RULE_TYPE_FLAG,{'name':'file','type':a227_0x23a41f(0xd3),'required':!![],'description':a227_0x23a41f(0xd7)},{'name':a227_0x23a41f(0xb5),'type':a227_0x23a41f(0xd8),'required':![],'description':a227_0x23a41f(0xcd)}],async 'validate'(_0x477975){readSetInput(_0x477975);},async 'dryRun'(_0x4e9ebb){const _0x4931d0=a227_0x23a41f,_0xb957a6=await prepareSet(_0x4e9ebb);return asDryRunResult({'operation':_0x4931d0(0xd2),'selector':{'appCode':_0x4e9ebb[_0x4931d0(0xc8)],'scope':'rules','type':_0xb957a6[_0x4931d0(0xb2)]['type']},'before':_0xb957a6['before'],'after':_0xb957a6[_0x4931d0(0xbc)],'dryRun':!![],'backend':{'method':'POST','path':SAVE_PATH},'warnings':warningsFor(_0xb957a6[_0x4931d0(0xb2)][_0x4931d0(0xa6)]),'verification':{'expectedVersion':_0xb957a6[_0x4931d0(0xb2)][_0x4931d0(0xa6)]??null,'atomicCompareAndSet':![],'lookupCommand':_0x4931d0(0xb6)+_0xb957a6[_0x4931d0(0xb2)]['type']+'\x20--format\x20compress'}},{'method':'POST','url':SAVE_PATH});},async 'execute'(_0x5b41a2){const _0x1be008=a227_0x23a41f,_0x49424e=await prepareSet(_0x5b41a2);let _0x403ea6=![];try{await saveAppRule(_0x5b41a2[_0x1be008(0xd4)],{'appCode':_0x5b41a2[_0x1be008(0xc8)],'type':_0x49424e[_0x1be008(0xb2)][_0x1be008(0xd9)],'content':_0x49424e[_0x1be008(0xba)][_0x1be008(0xdf)]});}catch(_0x11df57){if(!isPlatformTransportFailure(_0x11df57))throw _0x11df57;_0x403ea6=!![];}let _0x5dda97;try{_0x5dda97=await getAppRule(_0x5b41a2['cookie'],{'appCode':_0x5b41a2[_0x1be008(0xc8)],'type':_0x49424e[_0x1be008(0xb2)][_0x1be008(0xd9)]});}catch(_0x5d6d62){const _0x426f13=appRuleError(_0x403ea6?_0x1be008(0xae):_0x1be008(0xca),_0x1be008(0xe0)+appRuleFileName(_0x49424e[_0x1be008(0xb2)][_0x1be008(0xd9)])+_0x1be008(0xa9),'Do\x20not\x20resubmit\x20automatically.\x20Inspect\x20the\x20exact\x20rule\x20state\x20before\x20retrying.');Object['defineProperty'](_0x426f13,'cause',{'value':_0x5d6d62,'enumerable':![]});throw _0x426f13;}const _0x2904c4=_0x5dda97&&inspectAppRuleContent(_0x5dda97[_0x1be008(0xdf)])[_0x1be008(0xd6)]===_0x49424e[_0x1be008(0xba)][_0x1be008(0xd6)],_0x55e3a1=_0x5dda97&&(_0x49424e[_0x1be008(0xbb)]===null||_0x5dda97['version']>_0x49424e[_0x1be008(0xbb)][_0x1be008(0xb7)]);if(!_0x5dda97||!_0x2904c4||!_0x55e3a1)throw appRuleError(_0x403ea6?_0x1be008(0xae):'app_rule_verification_failed',appRuleFileName(_0x49424e[_0x1be008(0xb2)][_0x1be008(0xd9)])+_0x1be008(0xb4),_0x1be008(0xd5)+_0x49424e['input'][_0x1be008(0xd9)]+_0x1be008(0xc4));const _0x2ab980=warningsFor(_0x49424e['input']['expectedVersion']);_0x403ea6&&_0x2ab980[_0x1be008(0xcc)](_0x1be008(0xdd));const _0x27016d=projectAppRule(_0x49424e[_0x1be008(0xb2)]['type'],_0x5dda97);return{'ok':!![],'data':{'operation':_0x1be008(0xd2),'selector':{'appCode':_0x5b41a2[_0x1be008(0xc8)],'scope':_0x1be008(0xcf),'type':_0x49424e[_0x1be008(0xb2)][_0x1be008(0xd9)]},'before':_0x49424e[_0x1be008(0xb0)],'after':_0x27016d,'dryRun':![],'backend':{'method':_0x1be008(0xbe),'path':SAVE_PATH},'warnings':_0x2ab980,'verification':{'status':_0x1be008(0xc3),'recoveredAfterUnknownResponse':_0x403ea6,'expectedVersion':_0x49424e['input'][_0x1be008(0xa6)]??null,'atomicCompareAndSet':![],'lookupCommand':'rabetbase\x20rule\x20get\x20--type\x20'+_0x49424e['input'][_0x1be008(0xd9)]+_0x1be008(0xa3)}},'message':_0x1be008(0xaa)+appRuleFileName(_0x49424e[_0x1be008(0xb2)][_0x1be008(0xd9)])+_0x1be008(0xa5)+_0x5b41a2[_0x1be008(0xc8)]};}};