@lovrabet/rabetbase-cli 2.5.5-beta.1 → 2.5.5-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (363) 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/detail.js +1 -1
  26. package/lib/commands/app/index.js +1 -1
  27. package/lib/commands/app/list.js +1 -1
  28. package/lib/commands/app/members-list.js +1 -1
  29. package/lib/commands/app/remote-directory.js +1 -1
  30. package/lib/commands/app/shared.js +1 -1
  31. package/lib/commands/app-config/delete.js +1 -1
  32. package/lib/commands/app-config/get.js +1 -1
  33. package/lib/commands/app-config/index.js +1 -1
  34. package/lib/commands/app-config/list.js +1 -1
  35. package/lib/commands/app-config/set.js +1 -1
  36. package/lib/commands/app-config/shared.js +1 -1
  37. package/lib/commands/auth/index.js +1 -1
  38. package/lib/commands/bff/create.js +1 -1
  39. package/lib/commands/bff/delete.js +1 -1
  40. package/lib/commands/bff/detail.js +1 -1
  41. package/lib/commands/bff/index.js +1 -1
  42. package/lib/commands/bff/list.js +1 -1
  43. package/lib/commands/bff/logs.js +1 -1
  44. package/lib/commands/bff/pull.js +1 -1
  45. package/lib/commands/bff/push.js +1 -1
  46. package/lib/commands/bff/status.js +1 -1
  47. package/lib/commands/cli-skill/index.js +1 -1
  48. package/lib/commands/cli-update.js +1 -1
  49. package/lib/commands/codegen/index.js +1 -1
  50. package/lib/commands/codegen/sdk.js +1 -1
  51. package/lib/commands/codegen/sql.js +1 -1
  52. package/lib/commands/common/app-registry.js +1 -1
  53. package/lib/commands/common/app-selector.js +1 -1
  54. package/lib/commands/common/async-task.js +1 -1
  55. package/lib/commands/common/dry-run.js +1 -1
  56. package/lib/commands/common/flags.js +1 -1
  57. package/lib/commands/common/local-file.js +1 -1
  58. package/lib/commands/common/validate.js +1 -1
  59. package/lib/commands/config/delete.js +1 -1
  60. package/lib/commands/config/get.js +1 -1
  61. package/lib/commands/config/index.js +1 -1
  62. package/lib/commands/config/init.js +1 -1
  63. package/lib/commands/config/list.js +1 -1
  64. package/lib/commands/config/set.js +1 -1
  65. package/lib/commands/config/shared.js +1 -1
  66. package/lib/commands/dataset/batch-design.js +1 -1
  67. package/lib/commands/dataset/business-group-update.js +1 -1
  68. package/lib/commands/dataset/business-groups.js +1 -1
  69. package/lib/commands/dataset/capability.js +1 -1
  70. package/lib/commands/dataset/cross-relation-create.js +1 -1
  71. package/lib/commands/dataset/cross-relation-delete.js +1 -1
  72. package/lib/commands/dataset/cross-relation-list.js +1 -1
  73. package/lib/commands/dataset/cross-relation-shared.js +1 -1
  74. package/lib/commands/dataset/cross-relation-update.js +1 -1
  75. package/lib/commands/dataset/delete.js +1 -1
  76. package/lib/commands/dataset/detail.js +1 -1
  77. package/lib/commands/dataset/extend-update.js +1 -1
  78. package/lib/commands/dataset/field-restore.js +1 -1
  79. package/lib/commands/dataset/field-update.js +1 -1
  80. package/lib/commands/dataset/generate.js +1 -1
  81. package/lib/commands/dataset/index.js +1 -1
  82. package/lib/commands/dataset/list.js +1 -1
  83. package/lib/commands/dataset/operations.js +1 -1
  84. package/lib/commands/dataset/relation-audit.js +1 -1
  85. package/lib/commands/dataset/relation-create.js +1 -1
  86. package/lib/commands/dataset/relation-delete.js +1 -1
  87. package/lib/commands/dataset/relation-shared.js +1 -1
  88. package/lib/commands/dataset/relation-update.js +1 -1
  89. package/lib/commands/dataset/relations.js +1 -1
  90. package/lib/commands/dataset/rename.js +1 -1
  91. package/lib/commands/dataset/restore.js +1 -1
  92. package/lib/commands/dataset/user-deleted-field-list.js +1 -1
  93. package/lib/commands/db/analysis-batching.js +1 -1
  94. package/lib/commands/db/analyze-batch-plan.js +1 -1
  95. package/lib/commands/db/analyze-cancel.js +1 -1
  96. package/lib/commands/db/analyze-start.js +1 -1
  97. package/lib/commands/db/analyze-status.js +1 -1
  98. package/lib/commands/db/create.js +1 -1
  99. package/lib/commands/db/delete.js +1 -1
  100. package/lib/commands/db/detail.js +1 -1
  101. package/lib/commands/db/diff-refresh-start.js +1 -1
  102. package/lib/commands/db/diff-refresh-status.js +1 -1
  103. package/lib/commands/db/diff.js +1 -1
  104. package/lib/commands/db/index.js +1 -1
  105. package/lib/commands/db/list.js +1 -1
  106. package/lib/commands/db/shared.js +1 -1
  107. package/lib/commands/db/table-diff-shared.js +1 -1
  108. package/lib/commands/db/tables.js +1 -1
  109. package/lib/commands/db/test.js +1 -1
  110. package/lib/commands/db/update.js +1 -1
  111. package/lib/commands/deployment/index.js +1 -1
  112. package/lib/commands/deployment/sync-all.js +1 -1
  113. package/lib/commands/deployment/sync-jobs.js +1 -1
  114. package/lib/commands/deployment/sync-status.js +1 -1
  115. package/lib/commands/doctor.js +1 -1
  116. package/lib/commands/file/index.js +1 -1
  117. package/lib/commands/flow/create.js +1 -1
  118. package/lib/commands/flow/detail.js +1 -1
  119. package/lib/commands/flow/index.js +1 -1
  120. package/lib/commands/flow/list.js +1 -1
  121. package/lib/commands/flow/publish.js +1 -1
  122. package/lib/commands/flow/runtime-resources-shared.js +1 -1
  123. package/lib/commands/flow/runtime-role-list.js +1 -1
  124. package/lib/commands/flow/runtime-role-user-list.js +1 -1
  125. package/lib/commands/flow/runtime-user-search.js +1 -1
  126. package/lib/commands/flow/shared.js +1 -1
  127. package/lib/commands/flow/update.js +1 -1
  128. package/lib/commands/flow/validate.js +1 -1
  129. package/lib/commands/instant-api-policy/current.js +1 -1
  130. package/lib/commands/instant-api-policy/index.js +1 -1
  131. package/lib/commands/instant-api-policy/init.js +1 -1
  132. package/lib/commands/instant-api-policy/publish.js +1 -1
  133. package/lib/commands/instant-api-policy/pull.js +1 -1
  134. package/lib/commands/instant-api-policy/revision.js +1 -1
  135. package/lib/commands/instant-api-policy/revisions.js +1 -1
  136. package/lib/commands/instant-api-policy/rollback.js +1 -1
  137. package/lib/commands/instant-api-policy/shared.js +1 -1
  138. package/lib/commands/instant-api-policy/validate.js +1 -1
  139. package/lib/commands/issue/index.js +1 -1
  140. package/lib/commands/issue/nudge.js +1 -1
  141. package/lib/commands/issue/report.js +1 -1
  142. package/lib/commands/issue/shared.js +1 -1
  143. package/lib/commands/kb/create.js +1 -1
  144. package/lib/commands/kb/delete.js +1 -1
  145. package/lib/commands/kb/detail.js +1 -1
  146. package/lib/commands/kb/index.js +1 -1
  147. package/lib/commands/kb/list.js +1 -1
  148. package/lib/commands/kb/search.js +1 -1
  149. package/lib/commands/kb/shared.js +1 -1
  150. package/lib/commands/kb/update.js +1 -1
  151. package/lib/commands/logs/index.js +1 -1
  152. package/lib/commands/menu/asset-update.js +1 -1
  153. package/lib/commands/menu/delete.js +1 -1
  154. package/lib/commands/menu/external-link-create.js +1 -1
  155. package/lib/commands/menu/external-link-update.js +1 -1
  156. package/lib/commands/menu/group-create.js +1 -1
  157. package/lib/commands/menu/group-update.js +1 -1
  158. package/lib/commands/menu/index.js +1 -1
  159. package/lib/commands/menu/list.js +1 -1
  160. package/lib/commands/menu/move.js +1 -1
  161. package/lib/commands/menu/regroup-start.js +1 -1
  162. package/lib/commands/menu/rename.js +1 -1
  163. package/lib/commands/menu/shared/compare-table.js +1 -1
  164. package/lib/commands/menu/shared/delete-plan.js +1 -1
  165. package/lib/commands/menu/shared/facts.js +1 -1
  166. package/lib/commands/menu/shared/index.js +1 -1
  167. package/lib/commands/menu/shared/inquirer.js +1 -1
  168. package/lib/commands/menu/shared/local-pages.js +1 -1
  169. package/lib/commands/menu/shared/logic.js +1 -1
  170. package/lib/commands/menu/shared/mutations.js +1 -1
  171. package/lib/commands/menu/shared/path.js +1 -1
  172. package/lib/commands/menu/shared/service.js +1 -1
  173. package/lib/commands/menu/shared/subapp-assets.js +1 -1
  174. package/lib/commands/menu/shared/sync-core.js +1 -1
  175. package/lib/commands/menu/shared/update-core.js +1 -1
  176. package/lib/commands/menu/shared/valid-url.js +1 -1
  177. package/lib/commands/menu/subapp-assets-status.js +1 -1
  178. package/lib/commands/menu/subapp-assets-update.js +1 -1
  179. package/lib/commands/menu/sync.js +1 -1
  180. package/lib/commands/menu/visibility-update.js +1 -1
  181. package/lib/commands/notification/config-create.js +1 -1
  182. package/lib/commands/notification/config-delete.js +1 -1
  183. package/lib/commands/notification/config-list.js +1 -1
  184. package/lib/commands/notification/config-update.js +1 -1
  185. package/lib/commands/notification/index.js +1 -1
  186. package/lib/commands/notification/shared.js +1 -1
  187. package/lib/commands/ocr/index.js +1 -1
  188. package/lib/commands/page/create.js +1 -1
  189. package/lib/commands/page/custom/detail.js +1 -1
  190. package/lib/commands/page/custom/list.js +1 -1
  191. package/lib/commands/page/custom/publish.js +1 -1
  192. package/lib/commands/page/custom/shared.js +1 -1
  193. package/lib/commands/page/custom/syntax.js +1 -1
  194. package/lib/commands/page/custom/update.js +1 -1
  195. package/lib/commands/page/data-list-status.js +1 -1
  196. package/lib/commands/page/generate-start.js +1 -1
  197. package/lib/commands/page/generate-status.js +1 -1
  198. package/lib/commands/page/index.js +1 -1
  199. package/lib/commands/page/pull.js +1 -1
  200. package/lib/commands/page/push.js +1 -1
  201. package/lib/commands/page/relation-audit.js +1 -1
  202. package/lib/commands/page/restore.js +1 -1
  203. package/lib/commands/page/shared.js +1 -1
  204. package/lib/commands/page/sync.js +1 -1
  205. package/lib/commands/project/api-architecture-upgrade.js +1 -1
  206. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  207. package/lib/commands/project/create/format-elapsed.js +1 -1
  208. package/lib/commands/project/create/main.js +1 -1
  209. package/lib/commands/project/create/materialize-project-template.js +1 -1
  210. package/lib/commands/project/create/project-name.js +1 -1
  211. package/lib/commands/project/create/project-template-archive.js +1 -1
  212. package/lib/commands/project/create/project-template-path.js +1 -1
  213. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  214. package/lib/commands/project/create/use-format-code.js +1 -1
  215. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  216. package/lib/commands/project/domain-routing-sync.js +1 -1
  217. package/lib/commands/project/index.js +1 -1
  218. package/lib/commands/project/upgrade.js +1 -1
  219. package/lib/commands/registry.js +1 -1
  220. package/lib/commands/role/delete.js +1 -1
  221. package/lib/commands/role/detail.js +1 -1
  222. package/lib/commands/role/index.js +1 -1
  223. package/lib/commands/role/list.js +1 -1
  224. package/lib/commands/role/shared.js +1 -1
  225. package/lib/commands/role/update.js +1 -1
  226. package/lib/commands/role/user-add.js +1 -1
  227. package/lib/commands/role/user-remove.js +1 -1
  228. package/lib/commands/role/user-resolve.js +1 -1
  229. package/lib/commands/rule/get.js +1 -1
  230. package/lib/commands/rule/index.js +1 -1
  231. package/lib/commands/rule/list.js +1 -1
  232. package/lib/commands/rule/set.js +1 -1
  233. package/lib/commands/rule/shared.js +1 -1
  234. package/lib/commands/run/index.js +1 -1
  235. package/lib/commands/schema.js +1 -1
  236. package/lib/commands/sql/create.js +1 -1
  237. package/lib/commands/sql/delete.js +1 -1
  238. package/lib/commands/sql/detail.js +1 -1
  239. package/lib/commands/sql/exec.js +1 -1
  240. package/lib/commands/sql/index.js +1 -1
  241. package/lib/commands/sql/list.js +1 -1
  242. package/lib/commands/sql/pull.js +1 -1
  243. package/lib/commands/sql/push.js +1 -1
  244. package/lib/commands/sql/shared.js +1 -1
  245. package/lib/commands/sql/status.js +1 -1
  246. package/lib/commands/sql/validate.js +1 -1
  247. package/lib/commands/task/index.js +1 -1
  248. package/lib/commands/task/status.js +1 -1
  249. package/lib/commands/tenant/index.js +1 -1
  250. package/lib/commands/tenant/members-list.js +1 -1
  251. package/lib/commands/tenant/shared.js +1 -1
  252. package/lib/commands/user-account/dingding-sandbox-bind.js +1 -1
  253. package/lib/commands/user-account/feishu-bind.js +1 -1
  254. package/lib/commands/user-account/index.js +1 -1
  255. package/lib/commands/workspace/add.js +1 -1
  256. package/lib/commands/workspace/index.js +1 -1
  257. package/lib/commands/workspace/remove.js +1 -1
  258. package/lib/config/domain-config.js +1 -1
  259. package/lib/config/project-domain-routing.js +1 -1
  260. package/lib/config/region-config.js +1 -1
  261. package/lib/config/schema.js +1 -1
  262. package/lib/constant/cdn.js +1 -1
  263. package/lib/constant/cli.js +1 -1
  264. package/lib/constant/defaults.js +1 -1
  265. package/lib/constant/domain.js +1 -1
  266. package/lib/constant/env.js +1 -1
  267. package/lib/constant/output.js +1 -1
  268. package/lib/constant/paths.js +1 -1
  269. package/lib/constant/region.js +1 -1
  270. package/lib/constant/risk.js +1 -1
  271. package/lib/constant/routing-profile.js +1 -1
  272. package/lib/context/app-resolver.js +1 -1
  273. package/lib/context/auth-resolver.js +1 -1
  274. package/lib/context/config-loader.js +1 -1
  275. package/lib/context.js +1 -1
  276. package/lib/core/alias-resolver.js +1 -1
  277. package/lib/core/api-client.js +1 -1
  278. package/lib/core/bff/config.js +1 -1
  279. package/lib/core/bff/file-system.js +1 -1
  280. package/lib/core/bff/hash.js +1 -1
  281. package/lib/core/bff/hook-directory.js +1 -1
  282. package/lib/core/bff/lock.js +1 -1
  283. package/lib/core/bff/utils.js +1 -1
  284. package/lib/core/cross-db-relation.js +1 -1
  285. package/lib/core/db-resolver.js +1 -1
  286. package/lib/core/flow-config.js +1 -1
  287. package/lib/core/instant-api-policy/config.js +1 -1
  288. package/lib/core/kb-search-client.js +1 -1
  289. package/lib/core/page/file-system.js +1 -1
  290. package/lib/core/page/hash.js +1 -1
  291. package/lib/core/page/lock.js +1 -1
  292. package/lib/core/page/lr-smart-jsx.js +1 -1
  293. package/lib/core/sql-index-auditor.js +1 -1
  294. package/lib/core/sql-sync/config.js +1 -1
  295. package/lib/core/sql-sync/file-system.js +1 -1
  296. package/lib/core/sql-sync/hash.js +1 -1
  297. package/lib/core/sql-sync/lock.js +1 -1
  298. package/lib/core/sql-sync/utils.js +1 -1
  299. package/lib/core/sql-validator.js +1 -1
  300. package/lib/errors.js +1 -1
  301. package/lib/framework/build-all-flags.js +1 -1
  302. package/lib/framework/error-output.js +1 -1
  303. package/lib/framework/explicit-yes.js +1 -1
  304. package/lib/framework/flags.js +1 -1
  305. package/lib/framework/help.js +1 -1
  306. package/lib/framework/index.js +1 -1
  307. package/lib/framework/output.js +1 -1
  308. package/lib/framework/response.js +1 -1
  309. package/lib/framework/runner-alias.js +1 -1
  310. package/lib/framework/runner.js +1 -1
  311. package/lib/framework/schema-export.js +1 -1
  312. package/lib/framework/supported-flags.js +1 -1
  313. package/lib/framework/types.js +1 -1
  314. package/lib/generated/build-info.d.ts +4 -4
  315. package/lib/generated/build-info.js +1 -1
  316. package/lib/generated/official-routing.js +1 -1
  317. package/lib/generated/routing-contract.js +1 -1
  318. package/lib/help.js +1 -1
  319. package/lib/postinstall.js +1 -1
  320. package/lib/runtime/confirmation.js +1 -1
  321. package/lib/runtime/event.js +1 -1
  322. package/lib/runtime/index.js +1 -1
  323. package/lib/runtime/queue.js +1 -1
  324. package/lib/runtime/resolve.js +1 -1
  325. package/lib/skills/builtin-skill.js +1 -1
  326. package/lib/skills/main.js +1 -1
  327. package/lib/skills/npx-skills-add.js +1 -1
  328. package/lib/skills/skill-presence.js +1 -1
  329. package/lib/telemetry/cli-command-trace.js +1 -1
  330. package/lib/telemetry/cli-help-trace.js +1 -1
  331. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  332. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  333. package/lib/telemetry/send-cli-trace-log.js +1 -1
  334. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  335. package/lib/utils/ai_config.js +1 -1
  336. package/lib/utils/apply-jq-filter.js +1 -1
  337. package/lib/utils/cdn-config.js +1 -1
  338. package/lib/utils/check-sdk-version.js +1 -1
  339. package/lib/utils/cli-version-check.js +1 -1
  340. package/lib/utils/cli-version-policy.js +1 -1
  341. package/lib/utils/config.js +1 -1
  342. package/lib/utils/entity-with-id.js +1 -1
  343. package/lib/utils/file-utils.js +1 -1
  344. package/lib/utils/guides-cdn.js +1 -1
  345. package/lib/utils/http-client.js +1 -1
  346. package/lib/utils/is-non-interactive.js +1 -1
  347. package/lib/utils/logger.js +1 -1
  348. package/lib/utils/params.js +1 -1
  349. package/lib/utils/platform.js +1 -1
  350. package/lib/utils/sleep.js +1 -1
  351. package/lib/utils/template-replacer.js +1 -1
  352. package/lib/utils/update-notice.js +1 -1
  353. package/lib/utils/version.js +1 -1
  354. package/lib/utils/with-active-cookie.js +1 -1
  355. package/lib/utils/write-cli-side-channel.js +1 -1
  356. package/package.json +1 -1
  357. package/skills/rabetbase/SKILL.md +1 -1
  358. package/skills/rabetbase-page-generation/SKILL.md +13 -9
  359. package/skills/rabetbase-page-generation/references/component-baseline.md +2 -2
  360. package/skills/rabetbase-page-generation/references/generation.md +64 -15
  361. package/skills/rabetbase-page-generation/templates/onepage/build.mjs +39 -54
  362. package/skills/rabetbase-page-generation/templates/onepage/list/index.jsx +6 -2
  363. package/skills/rabetbase.manifest.json +3 -3
@@ -1 +1 @@
1
- const a224_0xe63d8b=a224_0x2ff9;(function(_0x3043d7,_0x16e255){const _0x16198e=a224_0x2ff9,_0x20997e=_0x3043d7();while(!![]){try{const _0x225867=parseInt(_0x16198e(0x1e3))/0x1+-parseInt(_0x16198e(0x208))/0x2*(parseInt(_0x16198e(0x20d))/0x3)+parseInt(_0x16198e(0x218))/0x4+-parseInt(_0x16198e(0x212))/0x5*(-parseInt(_0x16198e(0x1ea))/0x6)+parseInt(_0x16198e(0x219))/0x7*(-parseInt(_0x16198e(0x1e2))/0x8)+-parseInt(_0x16198e(0x1fb))/0x9*(-parseInt(_0x16198e(0x207))/0xa)+-parseInt(_0x16198e(0x1f7))/0xb*(parseInt(_0x16198e(0x1dc))/0xc);if(_0x225867===_0x16e255)break;else _0x20997e['push'](_0x20997e['shift']());}catch(_0x45d4ed){_0x20997e['push'](_0x20997e['shift']());}}}(a224_0x4ccf,0xc9ed0));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':a224_0xe63d8b(0x1e6),'required':!![],'description':'Role\x20id\x20(from\x20`role\x20list`)'};export const ROLE_REF_FLAG={'name':a224_0xe63d8b(0x1eb),'type':a224_0xe63d8b(0x205),'required':!![],'description':a224_0xe63d8b(0x20c)};export const USER_REF_FLAG={'name':a224_0xe63d8b(0x1cf),'type':a224_0xe63d8b(0x205),'required':!![],'description':a224_0xe63d8b(0x1d9)};export const NAME_FLAG={'name':a224_0xe63d8b(0x1e8),'type':a224_0xe63d8b(0x205),'required':!![],'description':a224_0xe63d8b(0x213)};export const USER_NAME_FLAG={'name':'name','type':a224_0xe63d8b(0x205),'required':!![],'description':a224_0xe63d8b(0x1e5)};export const REMARK_FLAG={'name':'remark','type':a224_0xe63d8b(0x205),'required':![],'description':a224_0xe63d8b(0x1f0)};export const EXPECT_USER_COUNT_FLAG={'name':a224_0xe63d8b(0x1df),'type':a224_0xe63d8b(0x1e6),'required':![],'description':a224_0xe63d8b(0x214)};export const BUILTIN_ROLE_TYPES=['ADMIN',a224_0xe63d8b(0x1d8),a224_0xe63d8b(0x1ff)];export function isBuiltinRole(_0x5282ff){const _0x54db7b=a224_0xe63d8b;return BUILTIN_ROLE_TYPES[_0x54db7b(0x1ec)](_0x5282ff);}export function assertCustomRole(_0xd237f7,_0x4d9a32){const _0x8935cb=a224_0xe63d8b;if(_0xd237f7[_0x8935cb(0x1e9)]!==_0x8935cb(0x1fa))throw CliErrors[_0x8935cb(0x21a)](_0x8935cb(0x1f8)+_0x4d9a32+_0x8935cb(0x1f2)+_0xd237f7[_0x8935cb(0x1d5)]+'\x20('+_0xd237f7[_0x8935cb(0x1e9)]+').',_0x8935cb(0x204));}export function projectRole(_0x329267){const _0x1ebd6e=a224_0xe63d8b;return{'id':_0x329267['id'],'roleName':_0x329267[_0x1ebd6e(0x1d5)],'roleType':_0x329267[_0x1ebd6e(0x1e9)],'remark':_0x329267[_0x1ebd6e(0x1e1)],'userCount':_0x329267[_0x1ebd6e(0x210)],'permitCount':_0x329267['permitCount'],'builtin':isBuiltinRole(_0x329267[_0x1ebd6e(0x1e9)])};}export async function resolveRoleRef(_0x105bca,_0x47818a){const _0x1078ec=a224_0xe63d8b,_0x27e385=_0x47818a[_0x1078ec(0x1f4)]();if(!_0x27e385)throw CliErrors['validation']('Missing\x20role\x20reference.','Pass\x20--role\x20<id|name>.');if(/^\d+$/[_0x1078ec(0x1cb)](_0x27e385))return getRoleById(_0x105bca,Number(_0x27e385));const _0x2ed0d2=await listAllAppRoles(_0x105bca),_0x7d7034=_0x2ed0d2[_0x1078ec(0x217)](_0x39dd41=>_0x39dd41['roleName']===_0x27e385);if(_0x7d7034[_0x1078ec(0x1cc)]===0x0)throw CliErrors[_0x1078ec(0x21a)](_0x1078ec(0x1f1)+_0x27e385+_0x1078ec(0x1ee)+_0x105bca+'.','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles,\x20or\x20pass\x20--role\x20<id>.');if(_0x7d7034[_0x1078ec(0x1cc)]>0x1){const _0x1ed56b=_0x7d7034['map'](_0x472640=>_0x472640['id'])[_0x1078ec(0x206)](',\x20');throw CliErrors['validation'](_0x1078ec(0x1f1)+_0x27e385+_0x1078ec(0x1e0)+_0x1ed56b+').','Disambiguate\x20with\x20--role\x20<id>.');}return _0x7d7034[0x0];}function a224_0x4ccf(){const _0x508dc6=['186QVfxqC','role','includes','username','\x22\x20not\x20found\x20in\x20app\x20','tenant_code','Optional\x20role\x20remark/description','Role\x20name\x20\x22','\x20built-in\x20role\x20','\x20duplicate\x20memberships\x20for\x20user\x20','trim','\x20not\x20found\x20in\x20app\x20','push','633941nbySKV','Cannot\x20','dev','CUSTOM','33633GdhZvC','totalCount','flagMissing','expectUserCount','OWNER','Removed\x20','\x22:\x20','Missing\x20user\x20reference.','Re-run\x20`role\x20detail`\x20/\x20`role\x20list`\x20and\x20retry\x20with\x20the\x20current\x20count.','Only\x20CUSTOM\x20roles\x20can\x20be\x20modified\x20or\x20deleted.','string','join','4110VlHaSE','3194566wBoGcV','user-add','nickname','userId','Role\x20id\x20or\x20exact\x20role\x20name','3iHUvxQ','\x20members\x20of\x20the\x20OWNER\x20role.','\x20is\x20already\x20a\x20member\x20of\x20role\x20','userCount','Role\x20id\x20','167065UQNeLZ','Role\x20name','Anti-drift\x20guard:\x20fail\x20if\x20the\x20role\x27s\x20current\x20member\x20count\x20differs','Use\x20the\x20platform\x20ownership-transfer\x20workflow\x20to\x20change\x20the\x20application\x20owner.','authRequired','filter','6249812wKEnCX','82467BBMdhs','validation','\x20member(s)\x20but\x20role\x20has\x20','test','length','toLowerCase','\x20is\x20not\x20a\x20member\x20of\x20role\x20','user',';\x20no\x20change.','map','flag','/smartapi/permit/user-role/create','Check\x20the\x20nickname/username.\x20','roleName','User\x20','str','DEV','User\x20id,\x20username,\x20or\x20nickname\x20to\x20resolve\x20to\x20a\x20userId','appCode','Pass\x20--user\x20<id|name>.','552ozJqgs','Anti-drift\x20check\x20failed:\x20expected\x20','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles.','expect-user-count','\x22\x20is\x20ambiguous\x20(ids:\x20','remark','24xjbZDb','976577HGIFlw','tenant','Nickname\x20or\x20username\x20to\x20resolve\x20to\x20a\x20userId','number','find','name','roleType'];a224_0x4ccf=function(){return _0x508dc6;};return a224_0x4ccf();}export async function getRoleById(_0x5a0837,_0x5e5e4c){const _0x559b12=a224_0xe63d8b,_0x1195a3=await listAllAppRoles(_0x5a0837),_0x569f5b=_0x1195a3[_0x559b12(0x217)](_0x3247c5=>_0x3247c5['id']===_0x5e5e4c&&(!_0x3247c5[_0x559b12(0x1da)]||_0x3247c5[_0x559b12(0x1da)]===_0x5a0837));if(_0x569f5b[_0x559b12(0x1cc)]!==0x1)throw CliErrors[_0x559b12(0x21a)](_0x559b12(0x211)+_0x5e5e4c+_0x559b12(0x1f5)+_0x5a0837+'.',_0x559b12(0x1de));return _0x569f5b[0x0];}async function listAllAppRoles(_0x110da4){const _0x1e0d3f=a224_0xe63d8b,_0x2256b5=0x64,_0x4ca534=[];for(let _0xcc907e=0x1;;_0xcc907e+=0x1){const {items:_0x2d3a0b,paging:_0x14f67d}=await listAppRoles(_0x110da4,{'currentPage':_0xcc907e,'pageSize':_0x2256b5});_0x4ca534[_0x1e0d3f(0x1f6)](..._0x2d3a0b);if(_0x2d3a0b[_0x1e0d3f(0x1cc)]<_0x2256b5||_0x14f67d&&_0x4ca534[_0x1e0d3f(0x1cc)]>=_0x14f67d['totalCount'])return _0x4ca534;}}export async function resolveTenantCode(){const _0x1888ba=a224_0xe63d8b,_0x2c3a5f=await getSessionUserInfo(),_0x272948=_0x2c3a5f?.[_0x1888ba(0x1cf)]?.[_0x1888ba(0x1e4)]?.[_0x1888ba(0x1ef)];if(!_0x272948)throw CliErrors[_0x1888ba(0x216)]('Cannot\x20resolve\x20current\x20tenant.\x20Run\x20`rabetbase\x20auth\x20login`\x20first.');return _0x272948;}function matchMember(_0x24e435,_0xfd3bb1){const _0x137d3c=a224_0xe63d8b,_0x227803=_0xfd3bb1[_0x137d3c(0x1f4)]()[_0x137d3c(0x1cd)]();return(_0x24e435[_0x137d3c(0x20a)]??'')[_0x137d3c(0x1cd)]()===_0x227803||(_0x24e435[_0x137d3c(0x1ed)]??'')['toLowerCase']()===_0x227803;}export async function resolveUserRef(_0x47f7cb,_0x46c672='Pass\x20--user\x20<id>.'){const _0x2aa30b=a224_0xe63d8b,_0x196f91=_0x47f7cb[_0x2aa30b(0x1f4)]();if(!_0x196f91)throw CliErrors[_0x2aa30b(0x21a)](_0x2aa30b(0x202),_0x2aa30b(0x1db));const _0x53731c=await resolveTenantCode(),_0x1e69a3=await getTenantMembers(_0x53731c);if(/^\d+$/['test'](_0x196f91)){const _0x1d02fc=Number(_0x196f91),_0x4b26c9=_0x1e69a3[_0x2aa30b(0x1e7)](_0x1da114=>_0x1da114[_0x2aa30b(0x20b)]===_0x1d02fc);return{'userId':_0x1d02fc,'username':_0x4b26c9?.[_0x2aa30b(0x1ed)]??String(_0x1d02fc),'nickname':_0x4b26c9?.['nickname'],'matchedBy':'id'};}const _0x5a2c91=_0x1e69a3['filter'](_0x3efb1d=>matchMember(_0x3efb1d,_0x196f91));if(_0x5a2c91[_0x2aa30b(0x1cc)]===0x0)throw CliErrors['validation']('No\x20tenant\x20member\x20matches\x20\x22'+_0x196f91+'\x22.',_0x2aa30b(0x1d4)+_0x46c672);if(_0x5a2c91[_0x2aa30b(0x1cc)]>0x1){const _0x4844d3=_0x5a2c91[_0x2aa30b(0x1d1)](_0x59587d=>(_0x59587d[_0x2aa30b(0x20a)]??_0x59587d[_0x2aa30b(0x1ed)]??'?')+'('+_0x59587d[_0x2aa30b(0x20b)]+')')[_0x2aa30b(0x206)](',\x20');throw CliErrors[_0x2aa30b(0x21a)]('Multiple\x20tenant\x20members\x20match\x20\x22'+_0x196f91+_0x2aa30b(0x201)+_0x4844d3+'.',_0x46c672);}const _0x14d127=_0x5a2c91[0x0];return{'userId':_0x14d127['userId'],'username':_0x14d127['username']??String(_0x14d127[_0x2aa30b(0x20b)]),'nickname':_0x14d127[_0x2aa30b(0x20a)],'matchedBy':'name'};}function a224_0x2ff9(_0x20860d,_0x70a63a){_0x20860d=_0x20860d-0x1cb;const _0x4ccfe0=a224_0x4ccf();let _0x2ff9e7=_0x4ccfe0[_0x20860d];return _0x2ff9e7;}export const CREATE_USER_ROLE_PATH=a224_0xe63d8b(0x1d3);export const DELETE_USER_ROLE_PATH='/smartapi/permit/user-role/delete';export function computeRoleUserMutation(_0x5629fb){const _0x4b3ea1=a224_0xe63d8b,{operation:_0x4007dc,appCode:_0x164d5b,role:_0x107023,relations:_0x57c513,user:_0x201483}=_0x5629fb,_0x2682d=[...new Set(_0x57c513[_0x4b3ea1(0x1d1)](_0x8b8d1c=>_0x8b8d1c[_0x4b3ea1(0x20b)]))],_0x2b4dcd=[];if(_0x5629fb[_0x4b3ea1(0x1fe)]!==undefined&&_0x5629fb[_0x4b3ea1(0x1fe)]!==_0x2682d[_0x4b3ea1(0x1cc)])throw CliErrors[_0x4b3ea1(0x21a)](_0x4b3ea1(0x1dd)+_0x5629fb[_0x4b3ea1(0x1fe)]+_0x4b3ea1(0x21b)+_0x2682d[_0x4b3ea1(0x1cc)]+'.',_0x4b3ea1(0x203));const _0x1149f3=_0x2682d[_0x4b3ea1(0x1ec)](_0x201483['userId']),_0xdd23ff=_0x57c513[_0x4b3ea1(0x217)](_0x2419f2=>_0x2419f2['userId']===_0x201483[_0x4b3ea1(0x20b)])['map'](_0x212778=>_0x212778['id']),_0xdfe9c=_0x4007dc==='user-add'?!_0x1149f3:_0x1149f3;let _0x3e6823=_0x2682d;_0x4007dc===_0x4b3ea1(0x209)?_0x1149f3?_0x2b4dcd[_0x4b3ea1(0x1f6)](_0x4b3ea1(0x1d6)+_0x201483[_0x4b3ea1(0x20b)]+_0x4b3ea1(0x20f)+_0x107023[_0x4b3ea1(0x1d5)]+_0x4b3ea1(0x1d0)):_0x3e6823=[..._0x2682d,_0x201483[_0x4b3ea1(0x20b)]]:!_0x1149f3?_0x2b4dcd[_0x4b3ea1(0x1f6)]('User\x20'+_0x201483[_0x4b3ea1(0x20b)]+_0x4b3ea1(0x1ce)+_0x107023['roleName']+';\x20no\x20change.'):(_0x3e6823=_0x2682d[_0x4b3ea1(0x217)](_0xd35c8b=>_0xd35c8b!==_0x201483['userId']),_0xdd23ff[_0x4b3ea1(0x1cc)]>0x1&&_0x2b4dcd[_0x4b3ea1(0x1f6)](_0x4b3ea1(0x200)+_0xdd23ff[_0x4b3ea1(0x1cc)]+_0x4b3ea1(0x1f3)+_0x201483['userId']+'.'));const _0x3a0dff={'scope':_0x4b3ea1(0x1f9),'operation':_0x4007dc,'selector':{'appCode':_0x164d5b,'roleId':_0x107023['id'],'roleName':_0x107023[_0x4b3ea1(0x1d5)],'userId':_0x201483[_0x4b3ea1(0x20b)]},'before':{'userIds':_0x2682d},'after':{'userIds':_0x3e6823},'dryRun':_0x5629fb['dryRun'],'backend':{'method':'POST','path':_0x4007dc===_0x4b3ea1(0x209)?CREATE_USER_ROLE_PATH:DELETE_USER_ROLE_PATH},'warnings':_0x2b4dcd};return{'mutation':_0x3a0dff,'changed':_0xdfe9c,'matchingRelationIds':_0xdd23ff};}export async function loadDevRoleRelations(_0x5c7cf9,_0x4249f0){const _0x45a4ff=a224_0xe63d8b,_0x411d86=0x64,_0x2a32e8=[];for(let _0x22af83=0x1;;_0x22af83+=0x1){const {items:_0x1d4acd,paging:_0x4d3fb9}=await listDevUserRoleRelations(_0x5c7cf9,{'roleId':_0x4249f0,'currentPage':_0x22af83,'pageSize':_0x411d86});_0x2a32e8[_0x45a4ff(0x1f6)](..._0x1d4acd);if(_0x1d4acd['length']<_0x411d86||_0x4d3fb9&&_0x2a32e8[_0x45a4ff(0x1cc)]>=_0x4d3fb9[_0x45a4ff(0x1fc)])return _0x2a32e8;}}export function readRoleRef(_0x84966b){const _0x250d99=a224_0xe63d8b,_0x35c1a3=_0x84966b[_0x250d99(0x1d7)](_0x250d99(0x1eb))[_0x250d99(0x1f4)]();if(!_0x35c1a3)throw CliErrors['flagMissing'](_0x250d99(0x1eb),'Pass\x20--role\x20<id|name>.');return _0x35c1a3;}export async function prepareUserMutation(_0x26d485,_0x12f7d7,_0x49f6d0){const _0x478a77=a224_0xe63d8b,_0xbe0eac=readRoleRef(_0x26d485),_0x2a16c7=_0x26d485['str']('user')[_0x478a77(0x1f4)]();if(!_0x2a16c7)throw CliErrors[_0x478a77(0x1fd)]('user',_0x478a77(0x1db));const _0x42446d=_0x26d485[_0x478a77(0x1d2)](_0x478a77(0x1df)),_0x41e1fb=_0x42446d===undefined||_0x42446d===null?undefined:Number(_0x42446d),_0x4354be=await resolveRoleRef(_0x26d485[_0x478a77(0x1da)],_0xbe0eac);if(_0x4354be[_0x478a77(0x1e9)]===_0x478a77(0x1ff))throw CliErrors['validation'](_0x478a77(0x1f8)+_0x12f7d7+_0x478a77(0x20e),_0x478a77(0x215));const _0x312c1a=await resolveUserRef(_0x2a16c7),_0x141717=await loadDevRoleRelations(_0x26d485[_0x478a77(0x1da)],_0x4354be['id']);return{...computeRoleUserMutation({'operation':_0x12f7d7,'appCode':_0x26d485[_0x478a77(0x1da)],'role':_0x4354be,'relations':_0x141717,'user':{'userId':_0x312c1a['userId'],'username':_0x312c1a[_0x478a77(0x1ed)],'nickname':_0x312c1a[_0x478a77(0x20a)]},'dryRun':_0x49f6d0,..._0x41e1fb!==undefined?{'expectUserCount':_0x41e1fb}:{}}),'role':_0x4354be,'user':_0x312c1a};}
1
+ const a224_0x50c7b6=a224_0x19d9;(function(_0x3b37b4,_0x55986a){const _0x4f3e7f=a224_0x19d9,_0x431276=_0x3b37b4();while(!![]){try{const _0x11eac2=-parseInt(_0x4f3e7f(0xce))/0x1+parseInt(_0x4f3e7f(0xf9))/0x2*(-parseInt(_0x4f3e7f(0xd4))/0x3)+parseInt(_0x4f3e7f(0xcd))/0x4*(parseInt(_0x4f3e7f(0xfb))/0x5)+parseInt(_0x4f3e7f(0xf3))/0x6+parseInt(_0x4f3e7f(0xdd))/0x7+-parseInt(_0x4f3e7f(0xb1))/0x8+parseInt(_0x4f3e7f(0xf1))/0x9*(parseInt(_0x4f3e7f(0xdb))/0xa);if(_0x11eac2===_0x55986a)break;else _0x431276['push'](_0x431276['shift']());}catch(_0x42d487){_0x431276['push'](_0x431276['shift']());}}}(a224_0x446f,0x9c87e));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':a224_0x50c7b6(0xf8),'required':!![],'description':a224_0x50c7b6(0xf7)};export const ROLE_REF_FLAG={'name':a224_0x50c7b6(0xbb),'type':a224_0x50c7b6(0xd1),'required':!![],'description':a224_0x50c7b6(0xf6)};export const USER_REF_FLAG={'name':a224_0x50c7b6(0xd3),'type':'string','required':!![],'description':a224_0x50c7b6(0xf5)};function a224_0x19d9(_0x2d8918,_0x3de1de){_0x2d8918=_0x2d8918-0xb1;const _0x446f79=a224_0x446f();let _0x19d9ec=_0x446f79[_0x2d8918];return _0x19d9ec;}export const NAME_FLAG={'name':a224_0x50c7b6(0xc8),'type':a224_0x50c7b6(0xd1),'required':!![],'description':'Role\x20name'};export const USER_NAME_FLAG={'name':a224_0x50c7b6(0xc8),'type':a224_0x50c7b6(0xd1),'required':!![],'description':a224_0x50c7b6(0xc0)};export const REMARK_FLAG={'name':a224_0x50c7b6(0xed),'type':a224_0x50c7b6(0xd1),'required':![],'description':a224_0x50c7b6(0xd5)};export const EXPECT_USER_COUNT_FLAG={'name':a224_0x50c7b6(0xb7),'type':a224_0x50c7b6(0xf8),'required':![],'description':a224_0x50c7b6(0xfa)};export const BUILTIN_ROLE_TYPES=[a224_0x50c7b6(0xfd),'DEV',a224_0x50c7b6(0xe2)];export function isBuiltinRole(_0x1a379c){return BUILTIN_ROLE_TYPES['includes'](_0x1a379c);}export function assertCustomRole(_0x2c488e,_0x42b27e){const _0x4c5258=a224_0x50c7b6;if(_0x2c488e['roleType']!=='CUSTOM')throw CliErrors[_0x4c5258(0xe5)](_0x4c5258(0xdc)+_0x42b27e+_0x4c5258(0xd9)+_0x2c488e[_0x4c5258(0xb3)]+'\x20('+_0x2c488e['roleType']+').','Only\x20CUSTOM\x20roles\x20can\x20be\x20modified\x20or\x20deleted.');}export function projectRole(_0x22f2a2){const _0x3dbd60=a224_0x50c7b6;return{'id':_0x22f2a2['id'],'roleName':_0x22f2a2['roleName'],'roleType':_0x22f2a2[_0x3dbd60(0xea)],'remark':_0x22f2a2[_0x3dbd60(0xed)],'userCount':_0x22f2a2['userCount'],'permitCount':_0x22f2a2[_0x3dbd60(0xc2)],'builtin':isBuiltinRole(_0x22f2a2[_0x3dbd60(0xea)])};}export async function resolveRoleRef(_0x241567,_0x473bfa){const _0x4077b6=a224_0x50c7b6,_0xdcaf59=_0x473bfa[_0x4077b6(0xc5)]();if(!_0xdcaf59)throw CliErrors[_0x4077b6(0xe5)]('Missing\x20role\x20reference.',_0x4077b6(0xf4));if(/^\d+$/[_0x4077b6(0xd8)](_0xdcaf59))return getRoleById(_0x241567,Number(_0xdcaf59));const _0x512a37=await listAllAppRoles(_0x241567),_0x2f906e=_0x512a37['filter'](_0x8be6aa=>_0x8be6aa['roleName']===_0xdcaf59);if(_0x2f906e[_0x4077b6(0xbc)]===0x0)throw CliErrors[_0x4077b6(0xe5)](_0x4077b6(0xe7)+_0xdcaf59+_0x4077b6(0xee)+_0x241567+'.',_0x4077b6(0xb4));if(_0x2f906e[_0x4077b6(0xbc)]>0x1){const _0x438f09=_0x2f906e[_0x4077b6(0xdf)](_0x7fc79f=>_0x7fc79f['id'])[_0x4077b6(0xf2)](',\x20');throw CliErrors['validation'](_0x4077b6(0xe7)+_0xdcaf59+'\x22\x20is\x20ambiguous\x20(ids:\x20'+_0x438f09+').',_0x4077b6(0xcc));}return _0x2f906e[0x0];}export async function getRoleById(_0x36c622,_0x3a4961){const _0x507605=a224_0x50c7b6,_0x2dd75c=await listAllAppRoles(_0x36c622),_0x27f641=_0x2dd75c[_0x507605(0xef)](_0x3039ce=>_0x3039ce['id']===_0x3a4961&&(!_0x3039ce[_0x507605(0xda)]||_0x3039ce['appCode']===_0x36c622));if(_0x27f641[_0x507605(0xbc)]!==0x1)throw CliErrors['validation']('Role\x20id\x20'+_0x3a4961+_0x507605(0xd0)+_0x36c622+'.',_0x507605(0xe1));return _0x27f641[0x0];}async function listAllAppRoles(_0x54da40){const _0x5ee92d=a224_0x50c7b6,_0x1c78ac=0x64,_0x171c98=[];for(let _0x686489=0x1;;_0x686489+=0x1){const {items:_0x2f761c,paging:_0x548ede}=await listAppRoles(_0x54da40,{'currentPage':_0x686489,'pageSize':_0x1c78ac});_0x171c98[_0x5ee92d(0xf0)](..._0x2f761c);if(_0x2f761c[_0x5ee92d(0xbc)]<_0x1c78ac||_0x548ede&&_0x171c98['length']>=_0x548ede[_0x5ee92d(0xc4)])return _0x171c98;}}export async function resolveTenantCode(){const _0x43faed=a224_0x50c7b6,_0x25362e=await getSessionUserInfo(),_0xec094b=_0x25362e?.['user']?.['tenant']?.[_0x43faed(0xb6)];if(!_0xec094b)throw CliErrors[_0x43faed(0xbf)]('Cannot\x20resolve\x20current\x20tenant.\x20Run\x20`rabetbase\x20auth\x20login`\x20first.');return _0xec094b;}function matchMember(_0x2fcde6,_0x394b89){const _0x5ba77b=a224_0x50c7b6,_0x5d20bd=_0x394b89[_0x5ba77b(0xc5)]()[_0x5ba77b(0xe6)]();return(_0x2fcde6[_0x5ba77b(0xb9)]??'')['toLowerCase']()===_0x5d20bd||(_0x2fcde6[_0x5ba77b(0xc3)]??'')[_0x5ba77b(0xe6)]()===_0x5d20bd;}export async function resolveUserRef(_0x2cd59d,_0x58a366=a224_0x50c7b6(0xe8)){const _0x254365=a224_0x50c7b6,_0xd8fcd6=_0x2cd59d['trim']();if(!_0xd8fcd6)throw CliErrors[_0x254365(0xe5)]('Missing\x20user\x20reference.',_0x254365(0xba));const _0x5f121b=await resolveTenantCode(),_0x514b01=await getTenantMembers(_0x5f121b);if(/^\d+$/[_0x254365(0xd8)](_0xd8fcd6)){const _0x31439b=Number(_0xd8fcd6),_0x54acea=_0x514b01[_0x254365(0xde)](_0xb3d89e=>_0xb3d89e[_0x254365(0xfe)]===_0x31439b);return{'userId':_0x31439b,'username':_0x54acea?.[_0x254365(0xc3)]??String(_0x31439b),'nickname':_0x54acea?.['nickname'],'matchedBy':'id'};}const _0x2c115f=_0x514b01[_0x254365(0xef)](_0x5e680c=>matchMember(_0x5e680c,_0xd8fcd6));if(_0x2c115f[_0x254365(0xbc)]===0x0)throw CliErrors[_0x254365(0xe5)](_0x254365(0xe9)+_0xd8fcd6+'\x22.',_0x254365(0xb8)+_0x58a366);if(_0x2c115f['length']>0x1){const _0x148a32=_0x2c115f['map'](_0x16bb50=>(_0x16bb50[_0x254365(0xb9)]??_0x16bb50[_0x254365(0xc3)]??'?')+'('+_0x16bb50[_0x254365(0xfe)]+')')[_0x254365(0xf2)](',\x20');throw CliErrors[_0x254365(0xe5)](_0x254365(0xe4)+_0xd8fcd6+_0x254365(0xbe)+_0x148a32+'.',_0x58a366);}const _0x74d0a4=_0x2c115f[0x0];return{'userId':_0x74d0a4[_0x254365(0xfe)],'username':_0x74d0a4[_0x254365(0xc3)]??String(_0x74d0a4[_0x254365(0xfe)]),'nickname':_0x74d0a4[_0x254365(0xb9)],'matchedBy':_0x254365(0xc8)};}export const CREATE_USER_ROLE_PATH=a224_0x50c7b6(0xc6);export const DELETE_USER_ROLE_PATH=a224_0x50c7b6(0xc7);export function computeRoleUserMutation(_0x4e074f){const _0x2458c9=a224_0x50c7b6,{operation:_0x9eb2df,appCode:_0x178813,role:_0x4598f6,relations:_0x860bf7,user:_0x5c7db3}=_0x4e074f,_0x261115=[...new Set(_0x860bf7['map'](_0x3516b4=>_0x3516b4[_0x2458c9(0xfe)]))],_0x248813=[];if(_0x4e074f[_0x2458c9(0xe0)]!==undefined&&_0x4e074f['expectUserCount']!==_0x261115[_0x2458c9(0xbc)])throw CliErrors[_0x2458c9(0xe5)](_0x2458c9(0xd6)+_0x4e074f['expectUserCount']+_0x2458c9(0xcb)+_0x261115['length']+'.',_0x2458c9(0xcf));const _0x278e08=_0x261115[_0x2458c9(0xff)](_0x5c7db3[_0x2458c9(0xfe)]),_0x33aafe=_0x860bf7[_0x2458c9(0xef)](_0x5dc532=>_0x5dc532[_0x2458c9(0xfe)]===_0x5c7db3[_0x2458c9(0xfe)])[_0x2458c9(0xdf)](_0x1d67c5=>_0x1d67c5['id']),_0x1a0af2=_0x9eb2df===_0x2458c9(0xec)?!_0x278e08:_0x278e08;let _0x3be15e=_0x261115;_0x9eb2df===_0x2458c9(0xec)?_0x278e08?_0x248813[_0x2458c9(0xf0)](_0x2458c9(0xeb)+_0x5c7db3[_0x2458c9(0xfe)]+_0x2458c9(0xb5)+_0x4598f6[_0x2458c9(0xb3)]+_0x2458c9(0xfc)):_0x3be15e=[..._0x261115,_0x5c7db3['userId']]:!_0x278e08?_0x248813[_0x2458c9(0xf0)](_0x2458c9(0xeb)+_0x5c7db3[_0x2458c9(0xfe)]+_0x2458c9(0xd2)+_0x4598f6[_0x2458c9(0xb3)]+_0x2458c9(0xfc)):(_0x3be15e=_0x261115[_0x2458c9(0xef)](_0x3abd36=>_0x3abd36!==_0x5c7db3[_0x2458c9(0xfe)]),_0x33aafe['length']>0x1&&_0x248813[_0x2458c9(0xf0)](_0x2458c9(0xc1)+_0x33aafe['length']+_0x2458c9(0xb2)+_0x5c7db3[_0x2458c9(0xfe)]+'.'));const _0x299897={'scope':_0x2458c9(0xca),'operation':_0x9eb2df,'selector':{'appCode':_0x178813,'roleId':_0x4598f6['id'],'roleName':_0x4598f6[_0x2458c9(0xb3)],'userId':_0x5c7db3[_0x2458c9(0xfe)]},'before':{'userIds':_0x261115},'after':{'userIds':_0x3be15e},'dryRun':_0x4e074f['dryRun'],'backend':{'method':'POST','path':_0x9eb2df===_0x2458c9(0xec)?CREATE_USER_ROLE_PATH:DELETE_USER_ROLE_PATH},'warnings':_0x248813};return{'mutation':_0x299897,'changed':_0x1a0af2,'matchingRelationIds':_0x33aafe};}export async function loadDevRoleRelations(_0x1e8db5,_0x16c89a){const _0x1f31e1=a224_0x50c7b6,_0x155fbc=0x64,_0x579678=[];for(let _0x3ad49d=0x1;;_0x3ad49d+=0x1){const {items:_0x371ff7,paging:_0x2c9be5}=await listDevUserRoleRelations(_0x1e8db5,{'roleId':_0x16c89a,'currentPage':_0x3ad49d,'pageSize':_0x155fbc});_0x579678['push'](..._0x371ff7);if(_0x371ff7[_0x1f31e1(0xbc)]<_0x155fbc||_0x2c9be5&&_0x579678[_0x1f31e1(0xbc)]>=_0x2c9be5[_0x1f31e1(0xc4)])return _0x579678;}}export function readRoleRef(_0x547f5f){const _0xbf1ed=a224_0x50c7b6,_0x535b0d=_0x547f5f['str'](_0xbf1ed(0xbb))['trim']();if(!_0x535b0d)throw CliErrors[_0xbf1ed(0xc9)](_0xbf1ed(0xbb),_0xbf1ed(0xf4));return _0x535b0d;}export async function prepareUserMutation(_0x1613bb,_0x50b3ad,_0x175534){const _0x4640b7=a224_0x50c7b6,_0x302f6a=readRoleRef(_0x1613bb),_0x50c945=_0x1613bb[_0x4640b7(0xbd)](_0x4640b7(0xd3))[_0x4640b7(0xc5)]();if(!_0x50c945)throw CliErrors[_0x4640b7(0xc9)]('user',_0x4640b7(0xba));const _0x20e083=_0x1613bb[_0x4640b7(0xe3)](_0x4640b7(0xb7)),_0x16bbdb=_0x20e083===undefined||_0x20e083===null?undefined:Number(_0x20e083),_0x616991=await resolveRoleRef(_0x1613bb[_0x4640b7(0xda)],_0x302f6a);if(_0x616991['roleType']==='OWNER')throw CliErrors['validation'](_0x4640b7(0xdc)+_0x50b3ad+_0x4640b7(0xd7),'Use\x20the\x20platform\x20ownership-transfer\x20workflow\x20to\x20change\x20the\x20application\x20owner.');const _0x572cf3=await resolveUserRef(_0x50c945),_0x3acc53=await loadDevRoleRelations(_0x1613bb[_0x4640b7(0xda)],_0x616991['id']);return{...computeRoleUserMutation({'operation':_0x50b3ad,'appCode':_0x1613bb['appCode'],'role':_0x616991,'relations':_0x3acc53,'user':{'userId':_0x572cf3['userId'],'username':_0x572cf3[_0x4640b7(0xc3)],'nickname':_0x572cf3[_0x4640b7(0xb9)]},'dryRun':_0x175534,..._0x16bbdb!==undefined?{'expectUserCount':_0x16bbdb}:{}}),'role':_0x616991,'user':_0x572cf3};}function a224_0x446f(){const _0x4debe4=['nickname','Pass\x20--user\x20<id|name>.','role','length','str','\x22:\x20','authRequired','Nickname\x20or\x20username\x20to\x20resolve\x20to\x20a\x20userId','Removed\x20','permitCount','username','totalCount','trim','/smartapi/permit/user-role/create','/smartapi/permit/user-role/delete','name','flagMissing','dev','\x20member(s)\x20but\x20role\x20has\x20','Disambiguate\x20with\x20--role\x20<id>.','14756JXFpuS','349327DtOTJt','Re-run\x20`role\x20detail`\x20/\x20`role\x20list`\x20and\x20retry\x20with\x20the\x20current\x20count.','\x20not\x20found\x20in\x20app\x20','string','\x20is\x20not\x20a\x20member\x20of\x20role\x20','user','3807267MURSrd','Optional\x20role\x20remark/description','Anti-drift\x20check\x20failed:\x20expected\x20','\x20members\x20of\x20the\x20OWNER\x20role.','test','\x20built-in\x20role\x20','appCode','13862170KwgHdQ','Cannot\x20','3619658KXTzXj','find','map','expectUserCount','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles.','OWNER','flag','Multiple\x20tenant\x20members\x20match\x20\x22','validation','toLowerCase','Role\x20name\x20\x22','Pass\x20--user\x20<id>.','No\x20tenant\x20member\x20matches\x20\x22','roleType','User\x20','user-add','remark','\x22\x20not\x20found\x20in\x20app\x20','filter','push','9cFBykf','join','377262fLRKwY','Pass\x20--role\x20<id|name>.','User\x20id,\x20username,\x20or\x20nickname\x20to\x20resolve\x20to\x20a\x20userId','Role\x20id\x20or\x20exact\x20role\x20name','Role\x20id\x20(from\x20`role\x20list`)','number','2kKwnUd','Anti-drift\x20guard:\x20fail\x20if\x20the\x20role\x27s\x20current\x20member\x20count\x20differs','1270SbFNwR',';\x20no\x20change.','ADMIN','userId','includes','5149024hEdqzH','\x20duplicate\x20memberships\x20for\x20user\x20','roleName','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles,\x20or\x20pass\x20--role\x20<id>.','\x20is\x20already\x20a\x20member\x20of\x20role\x20','tenant_code','expect-user-count','Check\x20the\x20nickname/username.\x20'];a224_0x446f=function(){return _0x4debe4;};return a224_0x446f();}
@@ -1 +1 @@
1
- function a225_0x4185(_0x520636,_0x27b4fb){_0x520636=_0x520636-0x92;const _0x21e85d=a225_0x21e8();let _0x4185d4=_0x21e85d[_0x520636];return _0x4185d4;}const a225_0x5ab77b=a225_0x4185;(function(_0x37ee38,_0x295e9e){const _0x1e4925=a225_0x4185,_0x1b6191=_0x37ee38();while(!![]){try{const _0x4751d6=parseInt(_0x1e4925(0x9b))/0x1*(parseInt(_0x1e4925(0x97))/0x2)+-parseInt(_0x1e4925(0xab))/0x3+-parseInt(_0x1e4925(0x92))/0x4*(-parseInt(_0x1e4925(0xb0))/0x5)+-parseInt(_0x1e4925(0x93))/0x6*(parseInt(_0x1e4925(0xac))/0x7)+parseInt(_0x1e4925(0xa3))/0x8*(parseInt(_0x1e4925(0xa2))/0x9)+parseInt(_0x1e4925(0xa5))/0xa*(parseInt(_0x1e4925(0x98))/0xb)+parseInt(_0x1e4925(0x99))/0xc*(-parseInt(_0x1e4925(0xa4))/0xd);if(_0x4751d6===_0x295e9e)break;else _0x1b6191['push'](_0x1b6191['shift']());}catch(_0x24f005){_0x1b6191['push'](_0x1b6191['shift']());}}}(a225_0x21e8,0xa04c5));import{updateAppRole}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{assertCustomRole,getRoleById,projectRole,REMARK_FLAG,ROLE_ID_FLAG}from'../../commands/role/shared.js';function a225_0x21e8(){const _0x327939=['dev','Role\x20name\x20cannot\x20exceed\x2064\x20characters.','153900TCPvFx','240wZKhvY','39dtcqWZ','1943500FBMeOv','roleName','role','validation','name','trim','297951fRSfQP','7cCBrDR','Pass\x20at\x20least\x20one\x20of\x20--name\x20/\x20--remark.','\x20(id=','remark','10gqYYuw','/smartapi/permit/role/update','num','1169204XbjsbF','7198890JBKKYA','write','POST','update','1923692DyXhYD','55kULjIu','4301940qpslla','Update\x20a\x20CUSTOM\x20role\x27s\x20name/remark\x20(built-in\x20roles\x20rejected)','1JrwCHa','Nothing\x20to\x20update.','New\x20role\x20name','appCode','Updated\x20role\x20'];a225_0x21e8=function(){return _0x327939;};return a225_0x21e8();}const UPDATE_PATH=a225_0x5ab77b(0xb1);function readPatch(_0xce9cd1){const _0x477840=a225_0x5ab77b,_0x5ea24f=_0xce9cd1['flag'](_0x477840(0xa9)),_0x11297f=_0xce9cd1['flag'](_0x477840(0xaf)),_0x1275f9={};if(_0x5ea24f!==undefined&&_0x5ea24f!==null){const _0x3b5003=String(_0x5ea24f)[_0x477840(0xaa)]();if(!_0x3b5003)throw CliErrors[_0x477840(0xa8)]('--name\x20cannot\x20be\x20empty.');if(_0x3b5003['length']>0x40)throw CliErrors[_0x477840(0xa8)](_0x477840(0xa1));_0x1275f9[_0x477840(0xa6)]=_0x3b5003;}_0x11297f!==undefined&&_0x11297f!==null&&(_0x1275f9[_0x477840(0xaf)]=String(_0x11297f));if(_0x1275f9[_0x477840(0xa6)]===undefined&&_0x1275f9[_0x477840(0xaf)]===undefined)throw CliErrors[_0x477840(0xa8)](_0x477840(0x9c),_0x477840(0xad));return _0x1275f9;}export const roleUpdate={'service':a225_0x5ab77b(0xa7),'command':a225_0x5ab77b(0x96),'description':a225_0x5ab77b(0x9a),'risk':a225_0x5ab77b(0x94),'flags':[ROLE_ID_FLAG,{...REMARK_FLAG},{'name':a225_0x5ab77b(0xa9),'type':'string','required':![],'description':a225_0x5ab77b(0x9d)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x23436d){readPatch(_0x23436d);},async 'dryRun'(_0x4d8485){const _0x5018fa=a225_0x5ab77b,_0x4cc250=_0x4d8485[_0x5018fa(0xb2)]('id'),_0x4b8ad5=readPatch(_0x4d8485),_0x52d178=await getRoleById(_0x4d8485[_0x5018fa(0x9e)],_0x4cc250);return assertCustomRole(_0x52d178,_0x5018fa(0x96)),asDryRunResult({'scope':_0x5018fa(0xa0),'operation':_0x5018fa(0x96),'selector':{'appCode':_0x4d8485[_0x5018fa(0x9e)],'roleId':_0x4cc250,'roleName':_0x52d178[_0x5018fa(0xa6)]},'before':projectRole(_0x52d178),'after':projectRole({..._0x52d178,..._0x4b8ad5[_0x5018fa(0xa6)]!==undefined?{'roleName':_0x4b8ad5[_0x5018fa(0xa6)]}:{},..._0x4b8ad5[_0x5018fa(0xaf)]!==undefined?{'remark':_0x4b8ad5[_0x5018fa(0xaf)]}:{}}),'dryRun':!![],'backend':{'method':'POST','path':UPDATE_PATH},'warnings':[]},{'method':_0x5018fa(0x95),'url':UPDATE_PATH});},async 'execute'(_0x33fd21){const _0x582c76=a225_0x5ab77b,_0x54d1c8=_0x33fd21['num']('id'),_0x39f558=readPatch(_0x33fd21),_0x513095=await getRoleById(_0x33fd21[_0x582c76(0x9e)],_0x54d1c8);assertCustomRole(_0x513095,_0x582c76(0x96)),await updateAppRole({'id':_0x54d1c8,'appCode':_0x33fd21[_0x582c76(0x9e)],..._0x39f558[_0x582c76(0xa6)]!==undefined?{'roleName':_0x39f558['roleName']}:{},..._0x39f558[_0x582c76(0xaf)]!==undefined?{'remark':_0x39f558[_0x582c76(0xaf)]}:{}});const _0x406aa3=await getRoleById(_0x33fd21[_0x582c76(0x9e)],_0x54d1c8);return{'ok':!![],'data':{'scope':'dev','operation':_0x582c76(0x96),'selector':{'appCode':_0x33fd21[_0x582c76(0x9e)],'roleId':_0x54d1c8,'roleName':_0x406aa3[_0x582c76(0xa6)]},'before':projectRole(_0x513095),'after':projectRole(_0x406aa3),'dryRun':![],'backend':{'method':'POST','path':UPDATE_PATH},'warnings':[]},'message':_0x582c76(0x9f)+_0x406aa3[_0x582c76(0xa6)]+_0x582c76(0xae)+_0x54d1c8+')'};}};
1
+ const a225_0x3c695b=a225_0x357c;(function(_0x5eaec8,_0xf3583f){const _0x4dcc57=a225_0x357c,_0x2719c1=_0x5eaec8();while(!![]){try{const _0x4b16bc=-parseInt(_0x4dcc57(0xeb))/0x1*(parseInt(_0x4dcc57(0xef))/0x2)+-parseInt(_0x4dcc57(0xe4))/0x3*(parseInt(_0x4dcc57(0xe8))/0x4)+parseInt(_0x4dcc57(0xe6))/0x5*(parseInt(_0x4dcc57(0xf4))/0x6)+-parseInt(_0x4dcc57(0xf1))/0x7+-parseInt(_0x4dcc57(0xea))/0x8+parseInt(_0x4dcc57(0xee))/0x9+parseInt(_0x4dcc57(0xdd))/0xa;if(_0x4b16bc===_0xf3583f)break;else _0x2719c1['push'](_0x2719c1['shift']());}catch(_0x3f4a08){_0x2719c1['push'](_0x2719c1['shift']());}}}(a225_0x4793,0xb35b4));import{updateAppRole}from'../../core/api-client.js';function a225_0x4793(){const _0x324fef=['New\x20role\x20name','dev','1139973JJbNpn','num','537545cynnKu','string','12xMMtPw','/smartapi/permit/role/update','6391424kIBAZf','87898HSfwVo','write','POST','6762807VFBAIt','26AqlCOH','trim','10091361bKwadn','Role\x20name\x20cannot\x20exceed\x2064\x20characters.','name','30AHrEZX','remark','Pass\x20at\x20least\x20one\x20of\x20--name\x20/\x20--remark.','validation','update','flag','39688740zZwDgE','roleName','Update\x20a\x20CUSTOM\x20role\x27s\x20name/remark\x20(built-in\x20roles\x20rejected)','appCode','length'];a225_0x4793=function(){return _0x324fef;};return a225_0x4793();}import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{assertCustomRole,getRoleById,projectRole,REMARK_FLAG,ROLE_ID_FLAG}from'../../commands/role/shared.js';const UPDATE_PATH=a225_0x3c695b(0xe9);function a225_0x357c(_0x51c109,_0x513f25){_0x51c109=_0x51c109-0xda;const _0x4793f2=a225_0x4793();let _0x357cab=_0x4793f2[_0x51c109];return _0x357cab;}function readPatch(_0x52439f){const _0x27600f=a225_0x3c695b,_0x157f6e=_0x52439f[_0x27600f(0xdc)](_0x27600f(0xf3)),_0x54684a=_0x52439f[_0x27600f(0xdc)](_0x27600f(0xf5)),_0x55a031={};if(_0x157f6e!==undefined&&_0x157f6e!==null){const _0x5d3727=String(_0x157f6e)[_0x27600f(0xf0)]();if(!_0x5d3727)throw CliErrors[_0x27600f(0xda)]('--name\x20cannot\x20be\x20empty.');if(_0x5d3727[_0x27600f(0xe1)]>0x40)throw CliErrors[_0x27600f(0xda)](_0x27600f(0xf2));_0x55a031['roleName']=_0x5d3727;}_0x54684a!==undefined&&_0x54684a!==null&&(_0x55a031[_0x27600f(0xf5)]=String(_0x54684a));if(_0x55a031['roleName']===undefined&&_0x55a031[_0x27600f(0xf5)]===undefined)throw CliErrors['validation']('Nothing\x20to\x20update.',_0x27600f(0xf6));return _0x55a031;}export const roleUpdate={'service':'role','command':'update','description':a225_0x3c695b(0xdf),'risk':a225_0x3c695b(0xec),'flags':[ROLE_ID_FLAG,{...REMARK_FLAG},{'name':'name','type':a225_0x3c695b(0xe7),'required':![],'description':a225_0x3c695b(0xe2)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x310930){readPatch(_0x310930);},async 'dryRun'(_0x1a8463){const _0x5c6717=a225_0x3c695b,_0x4c81cd=_0x1a8463[_0x5c6717(0xe5)]('id'),_0x5dac2e=readPatch(_0x1a8463),_0x2df0a8=await getRoleById(_0x1a8463['appCode'],_0x4c81cd);return assertCustomRole(_0x2df0a8,_0x5c6717(0xdb)),asDryRunResult({'scope':_0x5c6717(0xe3),'operation':_0x5c6717(0xdb),'selector':{'appCode':_0x1a8463[_0x5c6717(0xe0)],'roleId':_0x4c81cd,'roleName':_0x2df0a8[_0x5c6717(0xde)]},'before':projectRole(_0x2df0a8),'after':projectRole({..._0x2df0a8,..._0x5dac2e[_0x5c6717(0xde)]!==undefined?{'roleName':_0x5dac2e[_0x5c6717(0xde)]}:{},..._0x5dac2e[_0x5c6717(0xf5)]!==undefined?{'remark':_0x5dac2e['remark']}:{}}),'dryRun':!![],'backend':{'method':_0x5c6717(0xed),'path':UPDATE_PATH},'warnings':[]},{'method':_0x5c6717(0xed),'url':UPDATE_PATH});},async 'execute'(_0x4cf630){const _0x184020=a225_0x3c695b,_0x372afc=_0x4cf630[_0x184020(0xe5)]('id'),_0x4a2347=readPatch(_0x4cf630),_0x4108ce=await getRoleById(_0x4cf630[_0x184020(0xe0)],_0x372afc);assertCustomRole(_0x4108ce,_0x184020(0xdb)),await updateAppRole({'id':_0x372afc,'appCode':_0x4cf630[_0x184020(0xe0)],..._0x4a2347[_0x184020(0xde)]!==undefined?{'roleName':_0x4a2347[_0x184020(0xde)]}:{},..._0x4a2347['remark']!==undefined?{'remark':_0x4a2347[_0x184020(0xf5)]}:{}});const _0x24f88f=await getRoleById(_0x4cf630[_0x184020(0xe0)],_0x372afc);return{'ok':!![],'data':{'scope':_0x184020(0xe3),'operation':_0x184020(0xdb),'selector':{'appCode':_0x4cf630['appCode'],'roleId':_0x372afc,'roleName':_0x24f88f[_0x184020(0xde)]},'before':projectRole(_0x4108ce),'after':projectRole(_0x24f88f),'dryRun':![],'backend':{'method':_0x184020(0xed),'path':UPDATE_PATH},'warnings':[]},'message':'Updated\x20role\x20'+_0x24f88f['roleName']+'\x20(id='+_0x372afc+')'};}};
@@ -1 +1 @@
1
- const a226_0xef7d19=a226_0x174a;(function(_0x469f95,_0xc63ac){const _0x322594=a226_0x174a,_0x4a26c0=_0x469f95();while(!![]){try{const _0x3555db=parseInt(_0x322594(0x1ef))/0x1+-parseInt(_0x322594(0x1f4))/0x2+-parseInt(_0x322594(0x1f9))/0x3+-parseInt(_0x322594(0x1fd))/0x4+-parseInt(_0x322594(0x1ed))/0x5+parseInt(_0x322594(0x1fe))/0x6*(-parseInt(_0x322594(0x1f8))/0x7)+-parseInt(_0x322594(0x1fb))/0x8*(-parseInt(_0x322594(0x1f2))/0x9);if(_0x3555db===_0xc63ac)break;else _0x4a26c0['push'](_0x4a26c0['shift']());}catch(_0x305e71){_0x4a26c0['push'](_0x4a26c0['shift']());}}}(a226_0x5a66,0xd0596));import{createDevUserRole}from'../../core/api-client.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a226_0x5a66(){const _0x2be456=['96945JlIULV','roleType','userId','8741889KyXUzc','POST','1093654fncvvB','user-add','roleId','\x20to\x20role\x20','427pqHcps','1622097tGNqkt','high-risk-write','40hFaRbX','No\x20change:\x20user\x20','6792424kXUNMX','23934ygoZVN','selector','roleName','Added\x20user\x20','5355955mdlFgP','Add\x20a\x20user\x20to\x20a\x20role\x20(OWNER\x20rejected);\x20requires\x20--yes'];a226_0x5a66=function(){return _0x2be456;};return a226_0x5a66();}function a226_0x174a(_0x2baa4d,_0x8f9bb0){_0x2baa4d=_0x2baa4d-0x1ec;const _0x5a668e=a226_0x5a66();let _0x174af1=_0x5a668e[_0x2baa4d];return _0x174af1;}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':'role','command':a226_0xef7d19(0x1f5),'description':a226_0xef7d19(0x1ee),'risk':a226_0xef7d19(0x1fa),'flags':[ROLE_REF_FLAG,USER_REF_FLAG,EXPECT_USER_COUNT_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0xc075a6){const _0x482d18=a226_0xef7d19,{mutation:_0x53dcc1}=await prepareUserMutation(_0xc075a6,_0x482d18(0x1f5),!![]);return asDryRunResult(_0x53dcc1,{'method':_0x482d18(0x1f3),'url':CREATE_USER_ROLE_PATH});},async 'execute'(_0x1c42b6){const _0xd7ec6f=a226_0xef7d19,{mutation:_0x4a60b8,changed:_0x53c708,role:_0x5672ee,user:_0x393cf9}=await prepareUserMutation(_0x1c42b6,_0xd7ec6f(0x1f5),![]);return _0x53c708&&await createDevUserRole({'appCode':_0x1c42b6['appCode'],'userId':_0x393cf9[_0xd7ec6f(0x1f1)],'username':_0x393cf9['username'],'roleType':_0x5672ee[_0xd7ec6f(0x1f0)],'roleId':_0x4a60b8[_0xd7ec6f(0x1ff)][_0xd7ec6f(0x1f6)]}),{'ok':!![],'data':_0x4a60b8,'message':_0x53c708?_0xd7ec6f(0x1ec)+_0x4a60b8[_0xd7ec6f(0x1ff)][_0xd7ec6f(0x1f1)]+_0xd7ec6f(0x1f7)+_0x4a60b8[_0xd7ec6f(0x1ff)][_0xd7ec6f(0x200)]:_0xd7ec6f(0x1fc)+_0x4a60b8[_0xd7ec6f(0x1ff)][_0xd7ec6f(0x1f1)]+'\x20already\x20in\x20role\x20'+_0x4a60b8['selector'][_0xd7ec6f(0x200)]};}};
1
+ const a226_0x4c7438=a226_0x6446;(function(_0x2fc919,_0x163a99){const _0x138ba9=a226_0x6446,_0x75b1eb=_0x2fc919();while(!![]){try{const _0x483570=parseInt(_0x138ba9(0x1c4))/0x1*(parseInt(_0x138ba9(0x1d0))/0x2)+parseInt(_0x138ba9(0x1d7))/0x3+parseInt(_0x138ba9(0x1c6))/0x4*(parseInt(_0x138ba9(0x1c8))/0x5)+parseInt(_0x138ba9(0x1d4))/0x6*(-parseInt(_0x138ba9(0x1cb))/0x7)+-parseInt(_0x138ba9(0x1d2))/0x8+-parseInt(_0x138ba9(0x1ce))/0x9*(-parseInt(_0x138ba9(0x1c5))/0xa)+-parseInt(_0x138ba9(0x1c3))/0xb;if(_0x483570===_0x163a99)break;else _0x75b1eb['push'](_0x75b1eb['shift']());}catch(_0x542a71){_0x75b1eb['push'](_0x75b1eb['shift']());}}}(a226_0x5292,0x46573));import{createDevUserRole}from'../../core/api-client.js';function a226_0x5292(){const _0x540b8b=['91KxWRMH','username','Add\x20a\x20user\x20to\x20a\x20role\x20(OWNER\x20rejected);\x20requires\x20--yes','232866MBemRg','appCode','6xjbNxk','roleName','2956776oaFfgT','role','152916NDHqdg','roleType','user-add','1586496QGGysx','userId','No\x20change:\x20user\x20','7547034uLFmNH','76062cfHuCf','210YixNoo','3136POPNhn','selector','2390adydhD','\x20already\x20in\x20role\x20','\x20to\x20role\x20'];a226_0x5292=function(){return _0x540b8b;};return a226_0x5292();}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{EXPECT_USER_COUNT_FLAG,CREATE_USER_ROLE_PATH,prepareUserMutation,ROLE_REF_FLAG,USER_REF_FLAG}from'../../commands/role/shared.js';function a226_0x6446(_0x32dd7e,_0x209fbc){_0x32dd7e=_0x32dd7e-0x1c3;const _0x52920f=a226_0x5292();let _0x6446b0=_0x52920f[_0x32dd7e];return _0x6446b0;}export const roleUserAdd={'service':a226_0x4c7438(0x1d3),'command':a226_0x4c7438(0x1d6),'description':a226_0x4c7438(0x1cd),'risk':'high-risk-write','flags':[ROLE_REF_FLAG,USER_REF_FLAG,EXPECT_USER_COUNT_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x5af91c){const _0x1e58a7=a226_0x4c7438,{mutation:_0x53bdef}=await prepareUserMutation(_0x5af91c,_0x1e58a7(0x1d6),!![]);return asDryRunResult(_0x53bdef,{'method':'POST','url':CREATE_USER_ROLE_PATH});},async 'execute'(_0x338e91){const _0x2ecff8=a226_0x4c7438,{mutation:_0x23154d,changed:_0x575614,role:_0xc32b25,user:_0x423239}=await prepareUserMutation(_0x338e91,_0x2ecff8(0x1d6),![]);return _0x575614&&await createDevUserRole({'appCode':_0x338e91[_0x2ecff8(0x1cf)],'userId':_0x423239[_0x2ecff8(0x1d8)],'username':_0x423239[_0x2ecff8(0x1cc)],'roleType':_0xc32b25[_0x2ecff8(0x1d5)],'roleId':_0x23154d['selector']['roleId']}),{'ok':!![],'data':_0x23154d,'message':_0x575614?'Added\x20user\x20'+_0x23154d[_0x2ecff8(0x1c7)][_0x2ecff8(0x1d8)]+_0x2ecff8(0x1ca)+_0x23154d[_0x2ecff8(0x1c7)][_0x2ecff8(0x1d1)]:_0x2ecff8(0x1d9)+_0x23154d[_0x2ecff8(0x1c7)][_0x2ecff8(0x1d8)]+_0x2ecff8(0x1c9)+_0x23154d[_0x2ecff8(0x1c7)][_0x2ecff8(0x1d1)]};}};
@@ -1 +1 @@
1
- const a227_0x39805c=a227_0x2f59;(function(_0x2de7de,_0xf95000){const _0xa16d7c=a227_0x2f59,_0xad1059=_0x2de7de();while(!![]){try{const _0x4c14bc=-parseInt(_0xa16d7c(0x1d7))/0x1+-parseInt(_0xa16d7c(0x1e3))/0x2*(-parseInt(_0xa16d7c(0x1e1))/0x3)+parseInt(_0xa16d7c(0x1d9))/0x4+parseInt(_0xa16d7c(0x1db))/0x5*(-parseInt(_0xa16d7c(0x1de))/0x6)+parseInt(_0xa16d7c(0x1e2))/0x7*(-parseInt(_0xa16d7c(0x1e6))/0x8)+-parseInt(_0xa16d7c(0x1e5))/0x9*(-parseInt(_0xa16d7c(0x1d4))/0xa)+parseInt(_0xa16d7c(0x1d6))/0xb*(parseInt(_0xa16d7c(0x1d3))/0xc);if(_0x4c14bc===_0xf95000)break;else _0xad1059['push'](_0xad1059['shift']());}catch(_0x566086){_0xad1059['push'](_0xad1059['shift']());}}}(a227_0x32ef,0x78150));import{deleteDevUserRole}from'../../core/api-client.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';function a227_0x2f59(_0x479ebb,_0xbd9f8c){_0x479ebb=_0x479ebb-0x1d3;const _0x32ef3d=a227_0x32ef();let _0x2f59cd=_0x32ef3d[_0x479ebb];return _0x2f59cd;}function a227_0x32ef(){const _0x178025=['7HXunlM','64iCnUeY','selector','17703BAFvXb','4244632NXpNUK','role','24Fyxbbb','130WQtBzW','No\x20change:\x20user\x20','5389571qJylOk','887444FbfpCt','POST','2628044gDyAlf','userId','5QfrJWH','Removed\x20user\x20','user-remove','497382iyBeXz','high-risk-write','roleName','30963VpDegj'];a227_0x32ef=function(){return _0x178025;};return a227_0x32ef();}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':a227_0x39805c(0x1e7),'command':'user-remove','description':'Remove\x20a\x20user\x20from\x20a\x20role\x20(OWNER\x20rejected);\x20requires\x20--yes','risk':a227_0x39805c(0x1df),'flags':[ROLE_REF_FLAG,USER_REF_FLAG,EXPECT_USER_COUNT_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x3cf1b2){const _0x44625d=a227_0x39805c,{mutation:_0x1a2f40}=await prepareUserMutation(_0x3cf1b2,'user-remove',!![]);return asDryRunResult(_0x1a2f40,{'method':_0x44625d(0x1d8),'url':DELETE_USER_ROLE_PATH});},async 'execute'(_0x3d65bc){const _0x151f65=a227_0x39805c,{matchingRelationIds:_0x3395b8,mutation:_0x287a55,changed:_0x407c71}=await prepareUserMutation(_0x3d65bc,_0x151f65(0x1dd),![]);if(_0x407c71)for(const _0x4b7c07 of _0x3395b8){await deleteDevUserRole(_0x4b7c07);}return{'ok':!![],'data':_0x287a55,'message':_0x407c71?_0x151f65(0x1dc)+_0x287a55[_0x151f65(0x1e4)][_0x151f65(0x1da)]+'\x20from\x20role\x20'+_0x287a55[_0x151f65(0x1e4)][_0x151f65(0x1e0)]:_0x151f65(0x1d5)+_0x287a55['selector'][_0x151f65(0x1da)]+'\x20not\x20in\x20role\x20'+_0x287a55[_0x151f65(0x1e4)][_0x151f65(0x1e0)]};}};
1
+ const a227_0x40120a=a227_0x1506;(function(_0x7e2a82,_0x5ef23f){const _0x5aec15=a227_0x1506,_0x589205=_0x7e2a82();while(!![]){try{const _0xfccdd5=-parseInt(_0x5aec15(0x1e4))/0x1*(-parseInt(_0x5aec15(0x1ed))/0x2)+-parseInt(_0x5aec15(0x1e3))/0x3+-parseInt(_0x5aec15(0x1f3))/0x4*(-parseInt(_0x5aec15(0x1e6))/0x5)+-parseInt(_0x5aec15(0x1eb))/0x6*(parseInt(_0x5aec15(0x1e5))/0x7)+-parseInt(_0x5aec15(0x1f1))/0x8*(-parseInt(_0x5aec15(0x1ef))/0x9)+-parseInt(_0x5aec15(0x1ea))/0xa+-parseInt(_0x5aec15(0x1f5))/0xb;if(_0xfccdd5===_0x5ef23f)break;else _0x589205['push'](_0x589205['shift']());}catch(_0x5548e4){_0x589205['push'](_0x589205['shift']());}}}(a227_0x4d7a,0x72832));function a227_0x1506(_0x14afd2,_0x4c6033){_0x14afd2=_0x14afd2-0x1e1;const _0x4d7a0f=a227_0x4d7a();let _0x15066b=_0x4d7a0f[_0x14afd2];return _0x15066b;}import{deleteDevUserRole}from'../../core/api-client.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';function a227_0x4d7a(){const _0x514a03=['2099086IhdhIb','\x20not\x20in\x20role\x20','selector','Removed\x20user\x20','2463708TuvpeI','3YElzwo','1143842MZWzsh','40OsnRji','roleName','userId','POST','616400gcPagn','12krJzUX','Remove\x20a\x20user\x20from\x20a\x20role\x20(OWNER\x20rejected);\x20requires\x20--yes','394416hWXHVG','high-risk-write','36WvOvFK','role','1057576YubFet','user-remove','374572FtGWYo','\x20from\x20role\x20'];a227_0x4d7a=function(){return _0x514a03;};return a227_0x4d7a();}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':a227_0x40120a(0x1f0),'command':a227_0x40120a(0x1f2),'description':a227_0x40120a(0x1ec),'risk':a227_0x40120a(0x1ee),'flags':[ROLE_REF_FLAG,USER_REF_FLAG,EXPECT_USER_COUNT_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x1a2b54){const _0x50a8c0=a227_0x40120a,{mutation:_0x1d9ef0}=await prepareUserMutation(_0x1a2b54,_0x50a8c0(0x1f2),!![]);return asDryRunResult(_0x1d9ef0,{'method':_0x50a8c0(0x1e9),'url':DELETE_USER_ROLE_PATH});},async 'execute'(_0x401839){const _0x20a259=a227_0x40120a,{matchingRelationIds:_0x2bf23f,mutation:_0xdd87f4,changed:_0x247834}=await prepareUserMutation(_0x401839,_0x20a259(0x1f2),![]);if(_0x247834)for(const _0x1d5553 of _0x2bf23f){await deleteDevUserRole(_0x1d5553);}return{'ok':!![],'data':_0xdd87f4,'message':_0x247834?_0x20a259(0x1e2)+_0xdd87f4[_0x20a259(0x1e1)]['userId']+_0x20a259(0x1f4)+_0xdd87f4[_0x20a259(0x1e1)][_0x20a259(0x1e7)]:'No\x20change:\x20user\x20'+_0xdd87f4[_0x20a259(0x1e1)][_0x20a259(0x1e8)]+_0x20a259(0x1f6)+_0xdd87f4['selector'][_0x20a259(0x1e7)]};}};
@@ -1 +1 @@
1
- const a228_0x284a86=a228_0x3ad4;(function(_0x30e36e,_0x480d67){const _0x3fd0cc=a228_0x3ad4,_0x249859=_0x30e36e();while(!![]){try{const _0x294512=-parseInt(_0x3fd0cc(0x17d))/0x1+-parseInt(_0x3fd0cc(0x171))/0x2*(-parseInt(_0x3fd0cc(0x177))/0x3)+parseInt(_0x3fd0cc(0x16d))/0x4+parseInt(_0x3fd0cc(0x17a))/0x5*(parseInt(_0x3fd0cc(0x173))/0x6)+parseInt(_0x3fd0cc(0x16a))/0x7+parseInt(_0x3fd0cc(0x16b))/0x8+-parseInt(_0x3fd0cc(0x176))/0x9;if(_0x294512===_0x480d67)break;else _0x249859['push'](_0x249859['shift']());}catch(_0x9e3b20){_0x249859['push'](_0x249859['shift']());}}}(a228_0x53e2,0x3f08b));function a228_0x3ad4(_0x54da51,_0x830029){_0x54da51=_0x54da51-0x168;const _0x53e25f=a228_0x53e2();let _0x3ad408=_0x53e25f[_0x54da51];return _0x3ad408;}import{CliErrors}from'../../errors.js';function a228_0x53e2(){const _0x3f1494=['11057760IDWBhB','3dWGaZp','flagMissing','Pass\x20--name\x20<nickname|username>.','1201415VPCDTy','matchedBy','read','132685tzVOCB','nickname','name','3243009vWPEku','1981976xKCKTQ','str','1071156SuVelN','Select\x20a\x20listed\x20userId,\x20then\x20pass\x20it\x20to\x20`role\x20user-add`\x20or\x20`role\x20user-remove`\x20with\x20--user\x20<id>.','Resolved\x20\x22','trim','320246TBtnkj','Resolve\x20a\x20nickname/username\x20to\x20a\x20userId\x20(tenant\x20member\x20directory)','12DTbYuM','userId','username'];a228_0x53e2=function(){return _0x3f1494;};return a228_0x53e2();}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':a228_0x284a86(0x172),'risk':a228_0x284a86(0x17c),'flags':[USER_NAME_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x4c4e9b){const _0x5de25b=a228_0x284a86;if(!_0x4c4e9b[_0x5de25b(0x16c)](_0x5de25b(0x169))[_0x5de25b(0x170)]())throw CliErrors[_0x5de25b(0x178)](_0x5de25b(0x169),_0x5de25b(0x179));},async 'execute'(_0x55e428){const _0xb067af=a228_0x284a86,_0x36275c=_0x55e428['str'](_0xb067af(0x169))[_0xb067af(0x170)](),_0xfb0f87=await resolveUserRef(_0x36275c,_0xb067af(0x16e));return{'ok':!![],'data':{'user':{'userId':_0xfb0f87[_0xb067af(0x174)],'username':_0xfb0f87[_0xb067af(0x175)],'nickname':_0xfb0f87[_0xb067af(0x168)],'matchedBy':_0xfb0f87[_0xb067af(0x17b)]}},'message':_0xb067af(0x16f)+_0x36275c+'\x22\x20→\x20userId\x20'+_0xfb0f87[_0xb067af(0x174)]};}};
1
+ const a228_0x4547fc=a228_0x4f45;(function(_0x4add68,_0xc7102e){const _0x5c8268=a228_0x4f45,_0x2280e5=_0x4add68();while(!![]){try{const _0x161e95=-parseInt(_0x5c8268(0x87))/0x1+parseInt(_0x5c8268(0x86))/0x2*(parseInt(_0x5c8268(0x79))/0x3)+-parseInt(_0x5c8268(0x85))/0x4*(-parseInt(_0x5c8268(0x7e))/0x5)+parseInt(_0x5c8268(0x78))/0x6+parseInt(_0x5c8268(0x7d))/0x7+-parseInt(_0x5c8268(0x7f))/0x8+parseInt(_0x5c8268(0x7b))/0x9*(-parseInt(_0x5c8268(0x75))/0xa);if(_0x161e95===_0xc7102e)break;else _0x2280e5['push'](_0x2280e5['shift']());}catch(_0x3b5102){_0x2280e5['push'](_0x2280e5['shift']());}}}(a228_0x3e4e,0xba7a8));import{CliErrors}from'../../errors.js';function a228_0x3e4e(){const _0x1c7411=['824FhReYQ','38RFVdhq','268754iqczpF','str','10195280PjcAFv','flagMissing','userId','8219976GcuOrW','21963VUTbBo','nickname','9cGeiDv','Resolve\x20a\x20nickname/username\x20to\x20a\x20userId\x20(tenant\x20member\x20directory)','5389342XfnaHm','30665dAycMk','11922408sPumVg','read','name','trim','role','matchedBy'];a228_0x3e4e=function(){return _0x1c7411;};return a228_0x3e4e();}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{resolveUserRef,USER_NAME_FLAG}from'../../commands/role/shared.js';function a228_0x4f45(_0x5c41e9,_0x419c58){_0x5c41e9=_0x5c41e9-0x75;const _0x3e4ee1=a228_0x3e4e();let _0x4f4542=_0x3e4ee1[_0x5c41e9];return _0x4f4542;}export const roleUserResolve={'service':a228_0x4547fc(0x83),'command':'user-resolve','description':a228_0x4547fc(0x7c),'risk':a228_0x4547fc(0x80),'flags':[USER_NAME_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x46dceb){const _0x688d1f=a228_0x4547fc;if(!_0x46dceb[_0x688d1f(0x88)]('name')['trim']())throw CliErrors[_0x688d1f(0x76)](_0x688d1f(0x81),'Pass\x20--name\x20<nickname|username>.');},async 'execute'(_0x1bbefe){const _0x2cc67c=a228_0x4547fc,_0x564582=_0x1bbefe[_0x2cc67c(0x88)](_0x2cc67c(0x81))[_0x2cc67c(0x82)](),_0x272d3d=await resolveUserRef(_0x564582,'Select\x20a\x20listed\x20userId,\x20then\x20pass\x20it\x20to\x20`role\x20user-add`\x20or\x20`role\x20user-remove`\x20with\x20--user\x20<id>.');return{'ok':!![],'data':{'user':{'userId':_0x272d3d[_0x2cc67c(0x77)],'username':_0x272d3d['username'],'nickname':_0x272d3d[_0x2cc67c(0x7a)],'matchedBy':_0x272d3d[_0x2cc67c(0x84)]}},'message':'Resolved\x20\x22'+_0x564582+'\x22\x20→\x20userId\x20'+_0x272d3d[_0x2cc67c(0x77)]};}};
@@ -1 +1 @@
1
- const a229_0xf64df8=a229_0x5422;(function(_0x17156c,_0x2b085c){const _0x272c66=a229_0x5422,_0x1a7a65=_0x17156c();while(!![]){try{const _0x235396=parseInt(_0x272c66(0xcc))/0x1*(-parseInt(_0x272c66(0xcf))/0x2)+-parseInt(_0x272c66(0xd0))/0x3+parseInt(_0x272c66(0xce))/0x4*(-parseInt(_0x272c66(0xc9))/0x5)+parseInt(_0x272c66(0xca))/0x6+-parseInt(_0x272c66(0xc3))/0x7*(-parseInt(_0x272c66(0xd4))/0x8)+-parseInt(_0x272c66(0xcb))/0x9*(parseInt(_0x272c66(0xc5))/0xa)+parseInt(_0x272c66(0xc7))/0xb;if(_0x235396===_0x2b085c)break;else _0x1a7a65['push'](_0x1a7a65['shift']());}catch(_0x1861ed){_0x1a7a65['push'](_0x1a7a65['shift']());}}}(a229_0x1f27,0x25c4f));import{getAppRule}from'../../core/api-client.js';function a229_0x5422(_0xdf897a,_0x188ead){_0xdf897a=_0xdf897a-0xc3;const _0x1f2757=a229_0x1f27();let _0x5422af=_0x1f2757[_0xdf897a];return _0x5422af;}import{APP_RULE_TYPE_FLAG,appRuleError,appRuleFileName,projectAppRule,readAppRuleType}from'../../commands/rule/shared.js';function a229_0x1f27(){const _0x1491fa=['8TaBNxC','Create\x20it\x20with\x20`rabetbase\x20rule\x20set\x20--type\x20','\x20for\x20','rule','Loaded\x20','1872171XxVaKo','app_rule_not_found','243790HIlYWI','content','3586627LEqamh','Get\x20one\x20agent\x20context\x20rule\x20for\x20the\x20resolved\x20app','45415FsZAKM','1423644TnZPgF','99NjMzCS','125693WaxCKz','read','4EWLWBu','2txnwDw','819408cNzYbC','cookie','\x20--file\x20<path>\x20--dry-run`.','appCode'];a229_0x1f27=function(){return _0x1491fa;};return a229_0x1f27();}export const ruleGet={'service':a229_0xf64df8(0xd7),'command':'get','description':a229_0xf64df8(0xc8),'risk':a229_0xf64df8(0xcd),'requiresAppCode':!![],'structuredErrors':!![],'flags':[APP_RULE_TYPE_FLAG],async 'validate'(_0x578a95){readAppRuleType(_0x578a95);},async 'execute'(_0x3d8f80){const _0x106970=a229_0xf64df8,_0x4197cf=readAppRuleType(_0x3d8f80),_0x3d7b2c=await getAppRule(_0x3d8f80[_0x106970(0xd1)],{'appCode':_0x3d8f80[_0x106970(0xd3)],'type':_0x4197cf});if(!_0x3d7b2c)throw appRuleError(_0x106970(0xc4),appRuleFileName(_0x4197cf)+'\x20is\x20not\x20configured\x20for\x20app\x20'+_0x3d8f80[_0x106970(0xd3)]+'.',_0x106970(0xd5)+_0x4197cf+_0x106970(0xd2));return{'ok':!![],'data':{'rule':{...projectAppRule(_0x4197cf,_0x3d7b2c),'content':_0x3d7b2c[_0x106970(0xc6)]}},'message':_0x106970(0xd8)+appRuleFileName(_0x4197cf)+_0x106970(0xd6)+_0x3d8f80[_0x106970(0xd3)]};}};
1
+ const a229_0x4d6edc=a229_0x56ed;function a229_0x56ed(_0x36f087,_0x309729){_0x36f087=_0x36f087-0x1b8;const _0x37a51b=a229_0x37a5();let _0x56ed3e=_0x37a51b[_0x36f087];return _0x56ed3e;}(function(_0x574c8e,_0x21ef74){const _0x2a23f5=a229_0x56ed,_0x5f3c84=_0x574c8e();while(!![]){try{const _0x44fcbf=-parseInt(_0x2a23f5(0x1cc))/0x1*(parseInt(_0x2a23f5(0x1c1))/0x2)+-parseInt(_0x2a23f5(0x1c6))/0x3*(parseInt(_0x2a23f5(0x1c8))/0x4)+parseInt(_0x2a23f5(0x1b8))/0x5*(parseInt(_0x2a23f5(0x1c7))/0x6)+-parseInt(_0x2a23f5(0x1bc))/0x7+-parseInt(_0x2a23f5(0x1ba))/0x8*(parseInt(_0x2a23f5(0x1bf))/0x9)+-parseInt(_0x2a23f5(0x1c5))/0xa+parseInt(_0x2a23f5(0x1cd))/0xb;if(_0x44fcbf===_0x21ef74)break;else _0x5f3c84['push'](_0x5f3c84['shift']());}catch(_0x4c8c35){_0x5f3c84['push'](_0x5f3c84['shift']());}}}(a229_0x37a5,0x9eb07));import{getAppRule}from'../../core/api-client.js';function a229_0x37a5(){const _0x1b41c2=['appCode','680yYuiSu','content','1970752BHqNOF','\x20is\x20not\x20configured\x20for\x20app\x20','read','59463HpwBfK','Create\x20it\x20with\x20`rabetbase\x20rule\x20set\x20--type\x20','785870BlGeKl','cookie','rule','Get\x20one\x20agent\x20context\x20rule\x20for\x20the\x20resolved\x20app','15180xnRSgz','21lnsBAp','1428GwMyiC','351692GWgZJW','Loaded\x20','app_rule_not_found','get','2xlisbJ','25810719kPOOoT','\x20--file\x20<path>\x20--dry-run`.','11545gEFHeL'];a229_0x37a5=function(){return _0x1b41c2;};return a229_0x37a5();}import{APP_RULE_TYPE_FLAG,appRuleError,appRuleFileName,projectAppRule,readAppRuleType}from'../../commands/rule/shared.js';export const ruleGet={'service':a229_0x4d6edc(0x1c3),'command':a229_0x4d6edc(0x1cb),'description':a229_0x4d6edc(0x1c4),'risk':a229_0x4d6edc(0x1be),'requiresAppCode':!![],'structuredErrors':!![],'flags':[APP_RULE_TYPE_FLAG],async 'validate'(_0x83d8e){readAppRuleType(_0x83d8e);},async 'execute'(_0x510df9){const _0x4ff776=a229_0x4d6edc,_0x6170eb=readAppRuleType(_0x510df9),_0x4196b8=await getAppRule(_0x510df9[_0x4ff776(0x1c2)],{'appCode':_0x510df9['appCode'],'type':_0x6170eb});if(!_0x4196b8)throw appRuleError(_0x4ff776(0x1ca),appRuleFileName(_0x6170eb)+_0x4ff776(0x1bd)+_0x510df9[_0x4ff776(0x1b9)]+'.',_0x4ff776(0x1c0)+_0x6170eb+_0x4ff776(0x1ce));return{'ok':!![],'data':{'rule':{...projectAppRule(_0x6170eb,_0x4196b8),'content':_0x4196b8[_0x4ff776(0x1bb)]}},'message':_0x4ff776(0x1c9)+appRuleFileName(_0x6170eb)+'\x20for\x20'+_0x510df9['appCode']};}};
@@ -1 +1 @@
1
- (function(_0x4f52a2,_0x181602){const _0x403a99=a230_0x47d8,_0x2992ad=_0x4f52a2();while(!![]){try{const _0x2d0ff4=-parseInt(_0x403a99(0xb5))/0x1+parseInt(_0x403a99(0xb2))/0x2*(-parseInt(_0x403a99(0xb9))/0x3)+parseInt(_0x403a99(0xb4))/0x4+-parseInt(_0x403a99(0xbb))/0x5*(-parseInt(_0x403a99(0xb1))/0x6)+-parseInt(_0x403a99(0xb3))/0x7*(-parseInt(_0x403a99(0xba))/0x8)+-parseInt(_0x403a99(0xb7))/0x9+parseInt(_0x403a99(0xb6))/0xa*(parseInt(_0x403a99(0xb8))/0xb);if(_0x2d0ff4===_0x181602)break;else _0x2992ad['push'](_0x2992ad['shift']());}catch(_0x2d59b9){_0x2992ad['push'](_0x2992ad['shift']());}}}(a230_0x4274,0xa19c6));function a230_0x4274(){const _0x515599=['3ecdlcN','19216oauetV','255BECCtM','73530sKgagE','1537880xnHntD','2681OladFv','1586476nquhsh','393441edZyuK','7150Fecatx','9748944BjkgDO','14861MsbvuY'];a230_0x4274=function(){return _0x515599;};return a230_0x4274();}import{ruleGet}from'../../commands/rule/get.js';function a230_0x47d8(_0x38916e,_0x564027){_0x38916e=_0x38916e-0xb1;const _0x42749c=a230_0x4274();let _0x47d8d5=_0x42749c[_0x38916e];return _0x47d8d5;}import{ruleList}from'../../commands/rule/list.js';import{ruleSet}from'../../commands/rule/set.js';export const ruleDefinitions=[ruleList,ruleGet,ruleSet];
1
+ (function(_0x29868b,_0x37e60b){const _0x7278e4=a230_0x51ec,_0x152bbb=_0x29868b();while(!![]){try{const _0x173357=-parseInt(_0x7278e4(0xac))/0x1*(-parseInt(_0x7278e4(0xab))/0x2)+parseInt(_0x7278e4(0xb1))/0x3*(-parseInt(_0x7278e4(0xa9))/0x4)+parseInt(_0x7278e4(0xae))/0x5+-parseInt(_0x7278e4(0xb2))/0x6*(parseInt(_0x7278e4(0xa8))/0x7)+parseInt(_0x7278e4(0xa6))/0x8*(-parseInt(_0x7278e4(0xb0))/0x9)+-parseInt(_0x7278e4(0xa7))/0xa*(parseInt(_0x7278e4(0xad))/0xb)+parseInt(_0x7278e4(0xaa))/0xc*(parseInt(_0x7278e4(0xaf))/0xd);if(_0x173357===_0x37e60b)break;else _0x152bbb['push'](_0x152bbb['shift']());}catch(_0x318b2e){_0x152bbb['push'](_0x152bbb['shift']());}}}(a230_0x6c91,0xe5b84));import{ruleGet}from'../../commands/rule/get.js';function a230_0x51ec(_0x10eaed,_0x449758){_0x10eaed=_0x10eaed-0xa6;const _0x6c916=a230_0x6c91();let _0x51ece1=_0x6c916[_0x10eaed];return _0x51ece1;}import{ruleList}from'../../commands/rule/list.js';import{ruleSet}from'../../commands/rule/set.js';function a230_0x6c91(){const _0x3ab0b2=['8cADTyC','10hmMpLT','20363yIWOIf','11612BDfQYc','2720052ZoAuzn','2WjpEcm','1597870IJzCLW','16109412WOipIY','8246235rexdQl','169aZywDm','12247623BYyArn','723erDSQA','3564NXioYW'];a230_0x6c91=function(){return _0x3ab0b2;};return a230_0x6c91();}export const ruleDefinitions=[ruleList,ruleGet,ruleSet];
@@ -1 +1 @@
1
- const a231_0x28b172=a231_0x1ce5;function a231_0x1ce5(_0x2aaddf,_0x5e5649){_0x2aaddf=_0x2aaddf-0x1da;const _0x381cc1=a231_0x381c();let _0x1ce50e=_0x381cc1[_0x2aaddf];return _0x1ce50e;}(function(_0x7e8733,_0x5678f6){const _0x26da73=a231_0x1ce5,_0x5d0e6e=_0x7e8733();while(!![]){try{const _0x52ed37=parseInt(_0x26da73(0x1ec))/0x1+parseInt(_0x26da73(0x1e3))/0x2+-parseInt(_0x26da73(0x1de))/0x3*(-parseInt(_0x26da73(0x1e0))/0x4)+parseInt(_0x26da73(0x1e2))/0x5*(parseInt(_0x26da73(0x1db))/0x6)+parseInt(_0x26da73(0x1dd))/0x7+-parseInt(_0x26da73(0x1e4))/0x8*(-parseInt(_0x26da73(0x1e7))/0x9)+-parseInt(_0x26da73(0x1df))/0xa*(parseInt(_0x26da73(0x1dc))/0xb);if(_0x52ed37===_0x5678f6)break;else _0x5d0e6e['push'](_0x5d0e6e['shift']());}catch(_0x541caf){_0x5d0e6e['push'](_0x5d0e6e['shift']());}}}(a231_0x381c,0x317c5));import{getAppRule}from'../../core/api-client.js';import{APP_RULE_TYPES,projectAppRule}from'../../commands/rule/shared.js';function a231_0x381c(){const _0x51f7b2=['Loaded\x20app\x20rule\x20configuration\x20for\x20','340233mvyuIy','appCode','67362koboTM','415437qxpLbQ','2323909ZIjbZO','15Bkatdk','250tEpqLK','32572AscYPz','rule','105qtlKJY','100764WlFgpP','591136zxrqnr','List\x20agent\x20context\x20rules\x20for\x20the\x20resolved\x20app','all','18pYtToL','list','read','map'];a231_0x381c=function(){return _0x51f7b2;};return a231_0x381c();}export const ruleList={'service':a231_0x28b172(0x1e1),'command':a231_0x28b172(0x1e8),'description':a231_0x28b172(0x1e5),'risk':a231_0x28b172(0x1e9),'requiresAppCode':!![],'structuredErrors':!![],'flags':[],async 'execute'(_0x30c80b){const _0x3ddc1d=a231_0x28b172,_0x4d0d44=await Promise[_0x3ddc1d(0x1e6)](APP_RULE_TYPES[_0x3ddc1d(0x1ea)](_0x175c38=>getAppRule(_0x30c80b['cookie'],{'appCode':_0x30c80b[_0x3ddc1d(0x1da)],'type':_0x175c38}))),_0x1fa598=APP_RULE_TYPES[_0x3ddc1d(0x1ea)]((_0x59f00e,_0x43915d)=>projectAppRule(_0x59f00e,_0x4d0d44[_0x43915d]??null));return{'ok':!![],'data':{'total':_0x1fa598['length'],'rules':_0x1fa598},'message':_0x3ddc1d(0x1eb)+_0x30c80b[_0x3ddc1d(0x1da)]};}};
1
+ function a231_0x2c76(_0x5e3617,_0x397c7a){_0x5e3617=_0x5e3617-0x13c;const _0x2005af=a231_0x2005();let _0x2c76a3=_0x2005af[_0x5e3617];return _0x2c76a3;}const a231_0x56ba95=a231_0x2c76;(function(_0x21383a,_0x3250f5){const _0x224f7c=a231_0x2c76,_0x55de81=_0x21383a();while(!![]){try{const _0x1a5944=-parseInt(_0x224f7c(0x13c))/0x1+-parseInt(_0x224f7c(0x13f))/0x2*(-parseInt(_0x224f7c(0x13d))/0x3)+-parseInt(_0x224f7c(0x148))/0x4*(parseInt(_0x224f7c(0x14f))/0x5)+-parseInt(_0x224f7c(0x147))/0x6+parseInt(_0x224f7c(0x149))/0x7*(-parseInt(_0x224f7c(0x141))/0x8)+-parseInt(_0x224f7c(0x143))/0x9*(-parseInt(_0x224f7c(0x14a))/0xa)+parseInt(_0x224f7c(0x14e))/0xb*(parseInt(_0x224f7c(0x140))/0xc);if(_0x1a5944===_0x3250f5)break;else _0x55de81['push'](_0x55de81['shift']());}catch(_0x59272f){_0x55de81['push'](_0x55de81['shift']());}}}(a231_0x2005,0x9c840));import{getAppRule}from'../../core/api-client.js';import{APP_RULE_TYPES,projectAppRule}from'../../commands/rule/shared.js';function a231_0x2005(){const _0x599645=['9896uWOJuR','all','2745126yZScPg','map','Loaded\x20app\x20rule\x20configuration\x20for\x20','cookie','6183942UEeDIG','42376ovAdUS','2058wxIKvh','40HjkIUJ','read','List\x20agent\x20context\x20rules\x20for\x20the\x20resolved\x20app','rule','11VQfdQB','40jhnSoF','appCode','395415hlkQUW','78ZTeOvZ','list','54956UnOjyq','6973272melUyl'];a231_0x2005=function(){return _0x599645;};return a231_0x2005();}export const ruleList={'service':a231_0x56ba95(0x14d),'command':a231_0x56ba95(0x13e),'description':a231_0x56ba95(0x14c),'risk':a231_0x56ba95(0x14b),'requiresAppCode':!![],'structuredErrors':!![],'flags':[],async 'execute'(_0x203917){const _0x9d45ca=a231_0x56ba95,_0x3bcffb=await Promise[_0x9d45ca(0x142)](APP_RULE_TYPES[_0x9d45ca(0x144)](_0x1728f3=>getAppRule(_0x203917[_0x9d45ca(0x146)],{'appCode':_0x203917[_0x9d45ca(0x150)],'type':_0x1728f3}))),_0x3b6d9a=APP_RULE_TYPES[_0x9d45ca(0x144)]((_0x35a908,_0xb03843)=>projectAppRule(_0x35a908,_0x3bcffb[_0xb03843]??null));return{'ok':!![],'data':{'total':_0x3b6d9a['length'],'rules':_0x3b6d9a},'message':_0x9d45ca(0x145)+_0x203917['appCode']};}};
@@ -1 +1 @@
1
- const a232_0x4ce663=a232_0x1d22;(function(_0x2e1a93,_0x112a70){const _0x2cf3d2=a232_0x1d22,_0x21f212=_0x2e1a93();while(!![]){try{const _0x5d59a4=-parseInt(_0x2cf3d2(0x1fd))/0x1+-parseInt(_0x2cf3d2(0x209))/0x2+-parseInt(_0x2cf3d2(0x201))/0x3+-parseInt(_0x2cf3d2(0x20d))/0x4+-parseInt(_0x2cf3d2(0x1f9))/0x5*(parseInt(_0x2cf3d2(0x205))/0x6)+parseInt(_0x2cf3d2(0x220))/0x7+parseInt(_0x2cf3d2(0x1e9))/0x8;if(_0x5d59a4===_0x112a70)break;else _0x21f212['push'](_0x21f212['shift']());}catch(_0xe08223){_0x21f212['push'](_0x21f212['shift']());}}}(a232_0x14cc,0x95a10));import{getAppRule,isPlatformTransportFailure,saveAppRule}from'../../core/api-client.js';function a232_0x1d22(_0x1a4b8e,_0xedfa01){_0x1a4b8e=_0x1a4b8e-0x1e8;const _0x14cc9a=a232_0x14cc();let _0x1d22e3=_0x14cc9a[_0x1a4b8e];return _0x1d22e3;}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='/smartapi/knowledge-base/save',NON_ATOMIC_WARNING=a232_0x4ce663(0x20b);function a232_0x14cc(){const _0x57fa40=['The\x20set\x20request\x20was\x20sent,\x20but\x20','app_rule_file_required','8221500cDHrvk','app_rule_verification_failed','before','cause','17559920kxmCmL','input','trim','rule','\x20version\x20changed\x20before\x20write.','expectedVersion','version','POST','set','write','string','flag','expected-version','defineProperty','cookie','Inspect\x20it\x20with\x20`rabetbase\x20rule\x20get\x20--type\x20','225enLfBk','byteSize','contentHash','Set\x20an\x20agent\x20context\x20rule\x20from\x20a\x20UTF-8\x20Markdown\x20file','1182771WQeHRY','file','Set\x20','Do\x20not\x20resubmit\x20automatically.\x20Inspect\x20the\x20exact\x20rule\x20state\x20before\x20retrying.','1113459RrTZTj',';\x20current\x20version\x20is\x20','\x20does\x20not\x20prove\x20the\x20requested\x20set\x20state.','--expected-version\x20must\x20be\x20a\x20non-negative\x20safe\x20integer.','1926SgKdTt','content','--file\x20is\x20required.','type','1097148HUWaoo','planned','--expected-version\x20is\x20a\x20non-atomic\x20read-before-write\x20assertion;\x20the\x20server\x20save\x20contract\x20has\x20no\x20version\x20predicate.','Expected\x20','2558668wnVyNv','\x20could\x20not\x20be\x20verified.','\x20--format\x20compress','\x20for\x20','UTF-8\x20Markdown\x20file\x20(maximum\x205\x20MiB)','Pass\x20a\x20UTF-8\x20Markdown\x20file.','appCode','beforeRecord','replacement','isSafeInteger','rules','app_rule_set_outcome_unknown','rabetbase\x20rule\x20get\x20--type\x20','Non-atomic\x20preflight\x20assertion\x20for\x20the\x20current\x20version','str','push','verified'];a232_0x14cc=function(){return _0x57fa40;};return a232_0x14cc();}function readSetInput(_0x5d1fd0){const _0x2f210=a232_0x4ce663,_0x164f44=readAppRuleType(_0x5d1fd0),_0x4581af=_0x5d1fd0[_0x2f210(0x21b)]('file')[_0x2f210(0x1eb)]();if(!_0x4581af)throw appRuleError(_0x2f210(0x21f),_0x2f210(0x207),_0x2f210(0x212));const _0x132dba=_0x5d1fd0[_0x2f210(0x1f4)](_0x2f210(0x1f5));let _0x4e6d94;if(_0x132dba!==undefined){_0x4e6d94=Number(_0x132dba);if(!Number[_0x2f210(0x216)](_0x4e6d94)||_0x4e6d94<0x0)throw appRuleError('app_rule_expected_version_invalid',_0x2f210(0x204));}return{'type':_0x164f44,'file':_0x4581af,'expectedVersion':_0x4e6d94};}async function prepareSet(_0x461490){const _0x2c1bc3=a232_0x4ce663,_0x35cc7f=readSetInput(_0x461490),_0x595a60=await readAppRuleFile(_0x35cc7f[_0x2c1bc3(0x1fe)]),_0x18d54d=await getAppRule(_0x461490['cookie'],{'appCode':_0x461490['appCode'],'type':_0x35cc7f[_0x2c1bc3(0x208)]});if(_0x35cc7f['expectedVersion']!==undefined&&_0x18d54d?.[_0x2c1bc3(0x1ef)]!==_0x35cc7f['expectedVersion'])throw appRuleError('app_rule_version_mismatch',appRuleFileName(_0x35cc7f['type'])+_0x2c1bc3(0x1ed),_0x2c1bc3(0x20c)+_0x35cc7f['expectedVersion']+_0x2c1bc3(0x202)+(_0x18d54d?.[_0x2c1bc3(0x1ef)]??'unconfigured')+'.\x20Run\x20rule\x20get\x20and\x20review\x20before\x20retrying.');return{'input':_0x35cc7f,'replacement':_0x595a60,'beforeRecord':_0x18d54d,'before':projectAppRule(_0x35cc7f[_0x2c1bc3(0x208)],_0x18d54d),'planned':{'type':_0x35cc7f['type'],'fileName':appRuleFileName(_0x35cc7f[_0x2c1bc3(0x208)]),'contextScope':appRuleContextScope(_0x35cc7f['type']),'enabled':!![],'appCode':_0x461490[_0x2c1bc3(0x213)],'scope':_0x2c1bc3(0x217),'contentByteSize':_0x595a60[_0x2c1bc3(0x1fa)],'contentHash':_0x595a60[_0x2c1bc3(0x1fb)]}};}function warningsFor(_0x2edbe8){return _0x2edbe8===undefined?[]:[NON_ATOMIC_WARNING];}export const ruleSet={'service':a232_0x4ce663(0x1ec),'command':'set','description':a232_0x4ce663(0x1fc),'risk':a232_0x4ce663(0x1f2),'requiresAppCode':!![],'structuredErrors':!![],'flags':[APP_RULE_TYPE_FLAG,{'name':a232_0x4ce663(0x1fe),'type':a232_0x4ce663(0x1f3),'required':!![],'description':a232_0x4ce663(0x211)},{'name':a232_0x4ce663(0x1f5),'type':'number','required':![],'description':a232_0x4ce663(0x21a)}],async 'validate'(_0x538526){readSetInput(_0x538526);},async 'dryRun'(_0x4a7357){const _0x5c9522=a232_0x4ce663,_0x158e68=await prepareSet(_0x4a7357);return asDryRunResult({'operation':_0x5c9522(0x1f1),'selector':{'appCode':_0x4a7357['appCode'],'scope':_0x5c9522(0x217),'type':_0x158e68[_0x5c9522(0x1ea)][_0x5c9522(0x208)]},'before':_0x158e68[_0x5c9522(0x222)],'after':_0x158e68[_0x5c9522(0x20a)],'dryRun':!![],'backend':{'method':'POST','path':SAVE_PATH},'warnings':warningsFor(_0x158e68['input']['expectedVersion']),'verification':{'expectedVersion':_0x158e68['input'][_0x5c9522(0x1ee)]??null,'atomicCompareAndSet':![],'lookupCommand':_0x5c9522(0x219)+_0x158e68['input'][_0x5c9522(0x208)]+_0x5c9522(0x20f)}},{'method':_0x5c9522(0x1f0),'url':SAVE_PATH});},async 'execute'(_0x91830f){const _0x25ca39=a232_0x4ce663,_0x5d3d9d=await prepareSet(_0x91830f);let _0x1449ce=![];try{await saveAppRule(_0x91830f[_0x25ca39(0x1f7)],{'appCode':_0x91830f[_0x25ca39(0x213)],'type':_0x5d3d9d[_0x25ca39(0x1ea)][_0x25ca39(0x208)],'content':_0x5d3d9d[_0x25ca39(0x215)][_0x25ca39(0x206)]});}catch(_0x53cf0b){if(!isPlatformTransportFailure(_0x53cf0b))throw _0x53cf0b;_0x1449ce=!![];}let _0x3771ab;try{_0x3771ab=await getAppRule(_0x91830f[_0x25ca39(0x1f7)],{'appCode':_0x91830f[_0x25ca39(0x213)],'type':_0x5d3d9d[_0x25ca39(0x1ea)][_0x25ca39(0x208)]});}catch(_0x47255a){const _0x5ef42f=appRuleError(_0x1449ce?'app_rule_set_outcome_unknown':'app_rule_verification_unavailable',_0x25ca39(0x21e)+appRuleFileName(_0x5d3d9d[_0x25ca39(0x1ea)][_0x25ca39(0x208)])+_0x25ca39(0x20e),_0x25ca39(0x200));Object[_0x25ca39(0x1f6)](_0x5ef42f,_0x25ca39(0x1e8),{'value':_0x47255a,'enumerable':![]});throw _0x5ef42f;}const _0x2e7648=_0x3771ab&&inspectAppRuleContent(_0x3771ab[_0x25ca39(0x206)])[_0x25ca39(0x1fb)]===_0x5d3d9d[_0x25ca39(0x215)][_0x25ca39(0x1fb)],_0x360dfd=_0x3771ab&&(_0x5d3d9d['beforeRecord']===null||_0x3771ab[_0x25ca39(0x1ef)]>_0x5d3d9d[_0x25ca39(0x214)][_0x25ca39(0x1ef)]);if(!_0x3771ab||!_0x2e7648||!_0x360dfd)throw appRuleError(_0x1449ce?_0x25ca39(0x218):_0x25ca39(0x221),appRuleFileName(_0x5d3d9d[_0x25ca39(0x1ea)][_0x25ca39(0x208)])+_0x25ca39(0x203),_0x25ca39(0x1f8)+_0x5d3d9d[_0x25ca39(0x1ea)][_0x25ca39(0x208)]+'\x20--format\x20compress`;\x20do\x20not\x20resubmit\x20automatically.');const _0x3f6197=warningsFor(_0x5d3d9d[_0x25ca39(0x1ea)][_0x25ca39(0x1ee)]);_0x1449ce&&_0x3f6197[_0x25ca39(0x21c)]('Set\x20response\x20was\x20unavailable;\x20verified\x20the\x20exact\x20content\x20readback\x20without\x20resubmitting.');const _0x27cf90=projectAppRule(_0x5d3d9d[_0x25ca39(0x1ea)]['type'],_0x3771ab);return{'ok':!![],'data':{'operation':_0x25ca39(0x1f1),'selector':{'appCode':_0x91830f[_0x25ca39(0x213)],'scope':_0x25ca39(0x217),'type':_0x5d3d9d['input'][_0x25ca39(0x208)]},'before':_0x5d3d9d['before'],'after':_0x27cf90,'dryRun':![],'backend':{'method':'POST','path':SAVE_PATH},'warnings':_0x3f6197,'verification':{'status':_0x25ca39(0x21d),'recoveredAfterUnknownResponse':_0x1449ce,'expectedVersion':_0x5d3d9d[_0x25ca39(0x1ea)][_0x25ca39(0x1ee)]??null,'atomicCompareAndSet':![],'lookupCommand':'rabetbase\x20rule\x20get\x20--type\x20'+_0x5d3d9d[_0x25ca39(0x1ea)][_0x25ca39(0x208)]+_0x25ca39(0x20f)}},'message':_0x25ca39(0x1ff)+appRuleFileName(_0x5d3d9d[_0x25ca39(0x1ea)][_0x25ca39(0x208)])+_0x25ca39(0x210)+_0x91830f[_0x25ca39(0x213)]};}};
1
+ const a232_0x5e068d=a232_0x5b4b;(function(_0x2f84e8,_0x15a51a){const _0x2e3b1a=a232_0x5b4b,_0x3abee8=_0x2f84e8();while(!![]){try{const _0x298d49=-parseInt(_0x2e3b1a(0xbf))/0x1*(-parseInt(_0x2e3b1a(0xd5))/0x2)+-parseInt(_0x2e3b1a(0xc7))/0x3+-parseInt(_0x2e3b1a(0xb9))/0x4+parseInt(_0x2e3b1a(0xbd))/0x5*(parseInt(_0x2e3b1a(0xb2))/0x6)+parseInt(_0x2e3b1a(0xe2))/0x7*(parseInt(_0x2e3b1a(0xd0))/0x8)+parseInt(_0x2e3b1a(0xcd))/0x9*(parseInt(_0x2e3b1a(0xdd))/0xa)+-parseInt(_0x2e3b1a(0xbc))/0xb*(parseInt(_0x2e3b1a(0xb7))/0xc);if(_0x298d49===_0x15a51a)break;else _0x3abee8['push'](_0x3abee8['shift']());}catch(_0xf8e072){_0x3abee8['push'](_0x3abee8['shift']());}}}(a232_0x2222,0x92487));function a232_0x5b4b(_0x507771,_0x152c16){_0x507771=_0x507771-0xa6;const _0x22225a=a232_0x2222();let _0x5b4b1c=_0x22225a[_0x507771];return _0x5b4b1c;}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=a232_0x5e068d(0xd7),NON_ATOMIC_WARNING='--expected-version\x20is\x20a\x20non-atomic\x20read-before-write\x20assertion;\x20the\x20server\x20save\x20contract\x20has\x20no\x20version\x20predicate.';function a232_0x2222(){const _0x1f5b30=[';\x20current\x20version\x20is\x20','cause','verified','\x20--format\x20compress`;\x20do\x20not\x20resubmit\x20automatically.','520532MUCvhl','\x20does\x20not\x20prove\x20the\x20requested\x20set\x20state.','/smartapi/knowledge-base/save','flag','expectedVersion','string','Set\x20response\x20was\x20unavailable;\x20verified\x20the\x20exact\x20content\x20readback\x20without\x20resubmitting.','before','10axTsUm','\x20--format\x20compress','Set\x20an\x20agent\x20context\x20rule\x20from\x20a\x20UTF-8\x20Markdown\x20file','set','Non-atomic\x20preflight\x20assertion\x20for\x20the\x20current\x20version','35WVmwAC','type','\x20version\x20changed\x20before\x20write.','\x20could\x20not\x20be\x20verified.','app_rule_verification_failed','POST','Expected\x20','rabetbase\x20rule\x20get\x20--type\x20','contentHash','write','input','content','Do\x20not\x20resubmit\x20automatically.\x20Inspect\x20the\x20exact\x20rule\x20state\x20before\x20retrying.','isSafeInteger','3378NdvEmO','beforeRecord','app_rule_file_required','replacement','Set\x20','48ODjeoy','version','1085884VIQqkx','push','Inspect\x20it\x20with\x20`rabetbase\x20rule\x20get\x20--type\x20','6959018tMyuCA','9785poMDjR','app_rule_expected_version_invalid','4Aueoro','app_rule_set_outcome_unknown','str','defineProperty','appCode','UTF-8\x20Markdown\x20file\x20(maximum\x205\x20MiB)','Pass\x20a\x20UTF-8\x20Markdown\x20file.','rule','436440AsJJJq','app_rule_verification_unavailable','.\x20Run\x20rule\x20get\x20and\x20review\x20before\x20retrying.','cookie','number','file','9973602KyOrRK','rules','expected-version','473032BNUZhc'];a232_0x2222=function(){return _0x1f5b30;};return a232_0x2222();}function readSetInput(_0x400acd){const _0x4034be=a232_0x5e068d,_0x1cb0f4=readAppRuleType(_0x400acd),_0x5e2c4b=_0x400acd[_0x4034be(0xc1)](_0x4034be(0xcc))['trim']();if(!_0x5e2c4b)throw appRuleError(_0x4034be(0xb4),'--file\x20is\x20required.',_0x4034be(0xc5));const _0x2ee15b=_0x400acd[_0x4034be(0xd8)](_0x4034be(0xcf));let _0x4d7569;if(_0x2ee15b!==undefined){_0x4d7569=Number(_0x2ee15b);if(!Number[_0x4034be(0xb1)](_0x4d7569)||_0x4d7569<0x0)throw appRuleError(_0x4034be(0xbe),'--expected-version\x20must\x20be\x20a\x20non-negative\x20safe\x20integer.');}return{'type':_0x1cb0f4,'file':_0x5e2c4b,'expectedVersion':_0x4d7569};}async function prepareSet(_0x2ea3fc){const _0x22499d=a232_0x5e068d,_0x5e3dd5=readSetInput(_0x2ea3fc),_0x27401a=await readAppRuleFile(_0x5e3dd5[_0x22499d(0xcc)]),_0x525092=await getAppRule(_0x2ea3fc['cookie'],{'appCode':_0x2ea3fc[_0x22499d(0xc3)],'type':_0x5e3dd5['type']});if(_0x5e3dd5[_0x22499d(0xd9)]!==undefined&&_0x525092?.[_0x22499d(0xb8)]!==_0x5e3dd5['expectedVersion'])throw appRuleError('app_rule_version_mismatch',appRuleFileName(_0x5e3dd5[_0x22499d(0xe3)])+_0x22499d(0xa6),_0x22499d(0xaa)+_0x5e3dd5['expectedVersion']+_0x22499d(0xd1)+(_0x525092?.[_0x22499d(0xb8)]??'unconfigured')+_0x22499d(0xc9));return{'input':_0x5e3dd5,'replacement':_0x27401a,'beforeRecord':_0x525092,'before':projectAppRule(_0x5e3dd5[_0x22499d(0xe3)],_0x525092),'planned':{'type':_0x5e3dd5[_0x22499d(0xe3)],'fileName':appRuleFileName(_0x5e3dd5[_0x22499d(0xe3)]),'contextScope':appRuleContextScope(_0x5e3dd5['type']),'enabled':!![],'appCode':_0x2ea3fc[_0x22499d(0xc3)],'scope':_0x22499d(0xce),'contentByteSize':_0x27401a['byteSize'],'contentHash':_0x27401a[_0x22499d(0xac)]}};}function warningsFor(_0xcdfd7b){return _0xcdfd7b===undefined?[]:[NON_ATOMIC_WARNING];}export const ruleSet={'service':a232_0x5e068d(0xc6),'command':'set','description':a232_0x5e068d(0xdf),'risk':a232_0x5e068d(0xad),'requiresAppCode':!![],'structuredErrors':!![],'flags':[APP_RULE_TYPE_FLAG,{'name':a232_0x5e068d(0xcc),'type':a232_0x5e068d(0xda),'required':!![],'description':a232_0x5e068d(0xc4)},{'name':a232_0x5e068d(0xcf),'type':a232_0x5e068d(0xcb),'required':![],'description':a232_0x5e068d(0xe1)}],async 'validate'(_0x7b4479){readSetInput(_0x7b4479);},async 'dryRun'(_0x22b5fc){const _0x15dd2f=a232_0x5e068d,_0x4581cc=await prepareSet(_0x22b5fc);return asDryRunResult({'operation':_0x15dd2f(0xe0),'selector':{'appCode':_0x22b5fc[_0x15dd2f(0xc3)],'scope':_0x15dd2f(0xce),'type':_0x4581cc[_0x15dd2f(0xae)]['type']},'before':_0x4581cc[_0x15dd2f(0xdc)],'after':_0x4581cc['planned'],'dryRun':!![],'backend':{'method':_0x15dd2f(0xa9),'path':SAVE_PATH},'warnings':warningsFor(_0x4581cc[_0x15dd2f(0xae)][_0x15dd2f(0xd9)]),'verification':{'expectedVersion':_0x4581cc['input'][_0x15dd2f(0xd9)]??null,'atomicCompareAndSet':![],'lookupCommand':_0x15dd2f(0xab)+_0x4581cc[_0x15dd2f(0xae)][_0x15dd2f(0xe3)]+_0x15dd2f(0xde)}},{'method':_0x15dd2f(0xa9),'url':SAVE_PATH});},async 'execute'(_0x3ca844){const _0x4ce2d1=a232_0x5e068d,_0x43e74b=await prepareSet(_0x3ca844);let _0xe506bc=![];try{await saveAppRule(_0x3ca844[_0x4ce2d1(0xca)],{'appCode':_0x3ca844['appCode'],'type':_0x43e74b[_0x4ce2d1(0xae)][_0x4ce2d1(0xe3)],'content':_0x43e74b[_0x4ce2d1(0xb5)][_0x4ce2d1(0xaf)]});}catch(_0x432afe){if(!isPlatformTransportFailure(_0x432afe))throw _0x432afe;_0xe506bc=!![];}let _0x1cc2f9;try{_0x1cc2f9=await getAppRule(_0x3ca844[_0x4ce2d1(0xca)],{'appCode':_0x3ca844['appCode'],'type':_0x43e74b[_0x4ce2d1(0xae)][_0x4ce2d1(0xe3)]});}catch(_0x151ebb){const _0x565179=appRuleError(_0xe506bc?_0x4ce2d1(0xc0):_0x4ce2d1(0xc8),'The\x20set\x20request\x20was\x20sent,\x20but\x20'+appRuleFileName(_0x43e74b[_0x4ce2d1(0xae)][_0x4ce2d1(0xe3)])+_0x4ce2d1(0xa7),_0x4ce2d1(0xb0));Object[_0x4ce2d1(0xc2)](_0x565179,_0x4ce2d1(0xd2),{'value':_0x151ebb,'enumerable':![]});throw _0x565179;}const _0xc32698=_0x1cc2f9&&inspectAppRuleContent(_0x1cc2f9['content'])[_0x4ce2d1(0xac)]===_0x43e74b['replacement']['contentHash'],_0x4020ef=_0x1cc2f9&&(_0x43e74b[_0x4ce2d1(0xb3)]===null||_0x1cc2f9[_0x4ce2d1(0xb8)]>_0x43e74b[_0x4ce2d1(0xb3)][_0x4ce2d1(0xb8)]);if(!_0x1cc2f9||!_0xc32698||!_0x4020ef)throw appRuleError(_0xe506bc?_0x4ce2d1(0xc0):_0x4ce2d1(0xa8),appRuleFileName(_0x43e74b['input']['type'])+_0x4ce2d1(0xd6),_0x4ce2d1(0xbb)+_0x43e74b[_0x4ce2d1(0xae)][_0x4ce2d1(0xe3)]+_0x4ce2d1(0xd4));const _0x4ce198=warningsFor(_0x43e74b[_0x4ce2d1(0xae)][_0x4ce2d1(0xd9)]);_0xe506bc&&_0x4ce198[_0x4ce2d1(0xba)](_0x4ce2d1(0xdb));const _0xbdf648=projectAppRule(_0x43e74b['input']['type'],_0x1cc2f9);return{'ok':!![],'data':{'operation':_0x4ce2d1(0xe0),'selector':{'appCode':_0x3ca844[_0x4ce2d1(0xc3)],'scope':_0x4ce2d1(0xce),'type':_0x43e74b[_0x4ce2d1(0xae)]['type']},'before':_0x43e74b[_0x4ce2d1(0xdc)],'after':_0xbdf648,'dryRun':![],'backend':{'method':_0x4ce2d1(0xa9),'path':SAVE_PATH},'warnings':_0x4ce198,'verification':{'status':_0x4ce2d1(0xd3),'recoveredAfterUnknownResponse':_0xe506bc,'expectedVersion':_0x43e74b[_0x4ce2d1(0xae)][_0x4ce2d1(0xd9)]??null,'atomicCompareAndSet':![],'lookupCommand':_0x4ce2d1(0xab)+_0x43e74b[_0x4ce2d1(0xae)][_0x4ce2d1(0xe3)]+_0x4ce2d1(0xde)}},'message':_0x4ce2d1(0xb6)+appRuleFileName(_0x43e74b['input'][_0x4ce2d1(0xe3)])+'\x20for\x20'+_0x3ca844[_0x4ce2d1(0xc3)]};}};
@@ -1 +1 @@
1
- const a233_0x49873a=a233_0x3ce8;(function(_0x4d2ccf,_0x40d475){const _0x2e84fd=a233_0x3ce8,_0x27fc41=_0x4d2ccf();while(!![]){try{const _0x44ecb7=-parseInt(_0x2e84fd(0x13d))/0x1*(parseInt(_0x2e84fd(0x131))/0x2)+-parseInt(_0x2e84fd(0x122))/0x3*(parseInt(_0x2e84fd(0x12c))/0x4)+parseInt(_0x2e84fd(0x11a))/0x5+parseInt(_0x2e84fd(0x12d))/0x6*(parseInt(_0x2e84fd(0x144))/0x7)+parseInt(_0x2e84fd(0x149))/0x8*(parseInt(_0x2e84fd(0x12f))/0x9)+-parseInt(_0x2e84fd(0x124))/0xa*(-parseInt(_0x2e84fd(0x11d))/0xb)+-parseInt(_0x2e84fd(0x130))/0xc;if(_0x44ecb7===_0x40d475)break;else _0x27fc41['push'](_0x27fc41['shift']());}catch(_0x19be3a){_0x27fc41['push'](_0x27fc41['shift']());}}}(a233_0x236e,0xb9d4e));import{createHash}from'node:crypto';function a233_0x236e(){const _0x517fe3=['version','--type\x20must\x20be\x20either\x20rules\x20or\x20database.','sha256','app_rule_content_invalid','decode','Context\x20rule\x20type:\x20rules\x20for\x20page/API\x20development\x20agents\x20(DB\x20Agent\x20excluded),\x20database\x20for\x20DB\x20Agent\x20database\x20analysis','1268zwgVFM','7913832yAwqad','app_rule_type_invalid','12628323SaSeYg','20790516jfeins','2129036WpTpVu','size','app_rule_file_unreadable','hex','update','digest','message','page-api-development','type','utf-8','App\x20rule\x20path\x20is\x20not\x20a\x20regular\x20file:\x20','app_rule_file_invalid','1BRGlXq','app_rule_content_too_large','createTime','DATABASE.md','Cannot\x20access\x20app\x20rule\x20file:\x20','updateTime','App\x20rule\x20file\x20is\x20not\x20valid\x20UTF-8:\x20','7baKAqz','isFile','App\x20rule\x20file\x20is\x20blank:\x20','sha256:','toLowerCase','8PBYTcI','RULES.md','App\x20rule\x20content\x20exceeds\x20the\x205\x20MiB\x20server\x20limit.','database','appCode','content','scope','5554100LHptYI','byteSize','Pass\x20a\x20UTF-8\x20Markdown\x20file.','2522498XNXkWc','rules','trim','database-analysis','str','4770yaWixD','--file\x20is\x20required.','10hsmgKI','utf8'];a233_0x236e=function(){return _0x517fe3;};return a233_0x236e();}import{readFile,stat}from'node:fs/promises';import{resolve}from'node:path';import{TextDecoder}from'node:util';import{CliError}from'../../errors.js';export const APP_RULE_TYPES=[a233_0x49873a(0x11e),a233_0x49873a(0x14c)];export const MAX_APP_RULE_BYTES=0x5*0x400*0x400;const APP_RULE_FILES={'rules':a233_0x49873a(0x14a),'database':a233_0x49873a(0x140)},APP_RULE_CONTEXT_SCOPES={'rules':a233_0x49873a(0x138),'database':a233_0x49873a(0x120)};export function appRuleError(_0x267fff,_0x58543c,_0x401095){return new CliError(_0x267fff,0x1,_0x58543c,_0x401095);}export function readAppRuleType(_0x3afc81){const _0x705d46=a233_0x49873a,_0x539bd5=_0x3afc81[_0x705d46(0x121)](_0x705d46(0x139))[_0x705d46(0x11f)]()[_0x705d46(0x148)]();if(_0x539bd5!==_0x705d46(0x11e)&&_0x539bd5!==_0x705d46(0x14c))throw appRuleError(_0x705d46(0x12e),_0x705d46(0x127));return _0x539bd5;}export function appRuleFileName(_0x59d070){return APP_RULE_FILES[_0x59d070];}export function appRuleContextScope(_0x29a76a){return APP_RULE_CONTEXT_SCOPES[_0x29a76a];}export function inspectAppRuleContent(_0x4eca0c){const _0x2fd97a=a233_0x49873a,_0x4f52a7=Buffer['from'](_0x4eca0c,_0x2fd97a(0x125));return{'content':_0x4eca0c,'byteSize':_0x4f52a7['byteLength'],'contentHash':_0x2fd97a(0x147)+createHash(_0x2fd97a(0x128))[_0x2fd97a(0x135)](_0x4f52a7)[_0x2fd97a(0x136)](_0x2fd97a(0x134))};}export async function readAppRuleFile(_0x302e6f){const _0x2537e7=a233_0x49873a,_0x3e0bab=_0x302e6f[_0x2537e7(0x11f)]();if(!_0x3e0bab)throw appRuleError('app_rule_file_required',_0x2537e7(0x123),_0x2537e7(0x11c));const _0x3c5b5a=resolve(_0x3e0bab);let _0x1c84b5;try{_0x1c84b5=await stat(_0x3c5b5a);}catch(_0x47d438){throw appRuleError(_0x2537e7(0x133),_0x2537e7(0x141)+_0x3e0bab,_0x47d438 instanceof Error?_0x47d438[_0x2537e7(0x137)]:String(_0x47d438));}if(!_0x1c84b5[_0x2537e7(0x145)]())throw appRuleError(_0x2537e7(0x13c),_0x2537e7(0x13b)+_0x3e0bab);if(_0x1c84b5[_0x2537e7(0x132)]>MAX_APP_RULE_BYTES)throw appRuleError('app_rule_content_too_large',_0x2537e7(0x14b));let _0x1eb023;try{_0x1eb023=await readFile(_0x3c5b5a);}catch(_0xca61ba){throw appRuleError('app_rule_file_unreadable','Cannot\x20read\x20app\x20rule\x20file:\x20'+_0x3e0bab,_0xca61ba instanceof Error?_0xca61ba[_0x2537e7(0x137)]:String(_0xca61ba));}if(_0x1eb023['byteLength']>MAX_APP_RULE_BYTES)throw appRuleError(_0x2537e7(0x13e),_0x2537e7(0x14b));let _0xa9ea0;try{_0xa9ea0=new TextDecoder(_0x2537e7(0x13a),{'fatal':!![],'ignoreBOM':!![]})[_0x2537e7(0x12a)](_0x1eb023);}catch{throw appRuleError('app_rule_content_invalid',_0x2537e7(0x143)+_0x3e0bab);}if(!_0xa9ea0[_0x2537e7(0x11f)]())throw appRuleError(_0x2537e7(0x129),_0x2537e7(0x146)+_0x3e0bab);return inspectAppRuleContent(_0xa9ea0);}function a233_0x3ce8(_0x1f7f0f,_0x149a34){_0x1f7f0f=_0x1f7f0f-0x11a;const _0x236e25=a233_0x236e();let _0x3ce824=_0x236e25[_0x1f7f0f];return _0x3ce824;}export function projectAppRule(_0x5cdcbb,_0x1a78ba){const _0xafe061=a233_0x49873a;if(!_0x1a78ba)return{'type':_0x5cdcbb,'fileName':appRuleFileName(_0x5cdcbb),'contextScope':appRuleContextScope(_0x5cdcbb),'enabled':![]};const _0x252f43=inspectAppRuleContent(_0x1a78ba[_0xafe061(0x14e)]);return{'type':_0x5cdcbb,'fileName':appRuleFileName(_0x5cdcbb),'contextScope':appRuleContextScope(_0x5cdcbb),'enabled':!![],'id':_0x1a78ba['id'],'scope':_0x1a78ba[_0xafe061(0x14f)],'appCode':_0x1a78ba[_0xafe061(0x14d)],'version':_0x1a78ba[_0xafe061(0x126)],'contentByteSize':_0x252f43[_0xafe061(0x11b)],'contentHash':_0x252f43['contentHash'],..._0x1a78ba[_0xafe061(0x13f)]!==undefined&&_0x1a78ba['createTime']!==null?{'createTime':_0x1a78ba['createTime']}:{},..._0x1a78ba[_0xafe061(0x142)]!==undefined&&_0x1a78ba[_0xafe061(0x142)]!==null?{'updateTime':_0x1a78ba[_0xafe061(0x142)]}:{}};}export const APP_RULE_TYPE_FLAG={'name':'type','type':'string','required':!![],'description':a233_0x49873a(0x12b),'enum':[...APP_RULE_TYPES]};
1
+ const a233_0x57d975=a233_0x265f;(function(_0x289b37,_0x285114){const _0x4a970a=a233_0x265f,_0x15ff3d=_0x289b37();while(!![]){try{const _0x3b1230=parseInt(_0x4a970a(0xad))/0x1*(-parseInt(_0x4a970a(0xd2))/0x2)+-parseInt(_0x4a970a(0xa4))/0x3*(parseInt(_0x4a970a(0xd5))/0x4)+-parseInt(_0x4a970a(0xbc))/0x5+parseInt(_0x4a970a(0xaa))/0x6*(parseInt(_0x4a970a(0xce))/0x7)+-parseInt(_0x4a970a(0xb7))/0x8*(parseInt(_0x4a970a(0xc0))/0x9)+parseInt(_0x4a970a(0xd6))/0xa*(parseInt(_0x4a970a(0xcd))/0xb)+parseInt(_0x4a970a(0xb1))/0xc*(parseInt(_0x4a970a(0xa5))/0xd);if(_0x3b1230===_0x285114)break;else _0x15ff3d['push'](_0x15ff3d['shift']());}catch(_0x22ec72){_0x15ff3d['push'](_0x15ff3d['shift']());}}}(a233_0x5c49,0x49626));import{createHash}from'node:crypto';import{readFile,stat}from'node:fs/promises';function a233_0x5c49(){const _0x17abf1=['database-analysis','App\x20rule\x20path\x20is\x20not\x20a\x20regular\x20file:\x20','string','byteSize','996oBPImn','contentHash','digest','29266DIfhAo','app_rule_file_unreadable','utf8','hex','132badMnt','rules','app_rule_file_invalid','str','--type\x20must\x20be\x20either\x20rules\x20or\x20database.','sha256:','792048aQzDOr','App\x20rule\x20file\x20is\x20blank:\x20','sha256','App\x20rule\x20content\x20exceeds\x20the\x205\x20MiB\x20server\x20limit.','app_rule_content_too_large','2320855COjdWy','message','trim','updateTime','18efSJFk','byteLength','toLowerCase','app_rule_content_invalid','app_rule_file_required','Context\x20rule\x20type:\x20rules\x20for\x20page/API\x20development\x20agents\x20(DB\x20Agent\x20excluded),\x20database\x20for\x20DB\x20Agent\x20database\x20analysis','--file\x20is\x20required.','database','decode','version','app_rule_type_invalid','Cannot\x20read\x20app\x20rule\x20file:\x20','scope','11GjKQtE','20146NNfiWx','type','RULES.md','createTime','6fgIQac','content','DATABASE.md','1104324gNgDwj','4746100PgjzUw','update','App\x20rule\x20file\x20is\x20not\x20valid\x20UTF-8:\x20','utf-8','Pass\x20a\x20UTF-8\x20Markdown\x20file.','3dGxkOd','442338XOaxMB'];a233_0x5c49=function(){return _0x17abf1;};return a233_0x5c49();}import{resolve}from'node:path';import{TextDecoder}from'node:util';import{CliError}from'../../errors.js';export const APP_RULE_TYPES=[a233_0x57d975(0xb2),a233_0x57d975(0xc7)];export const MAX_APP_RULE_BYTES=0x5*0x400*0x400;const APP_RULE_FILES={'rules':a233_0x57d975(0xd0),'database':a233_0x57d975(0xd4)},APP_RULE_CONTEXT_SCOPES={'rules':'page-api-development','database':a233_0x57d975(0xa6)};export function appRuleError(_0x825d10,_0x3b4929,_0xe4d4a5){return new CliError(_0x825d10,0x1,_0x3b4929,_0xe4d4a5);}export function readAppRuleType(_0x4e1a25){const _0x453e97=a233_0x57d975,_0x46f260=_0x4e1a25[_0x453e97(0xb4)](_0x453e97(0xcf))[_0x453e97(0xbe)]()[_0x453e97(0xc2)]();if(_0x46f260!==_0x453e97(0xb2)&&_0x46f260!==_0x453e97(0xc7))throw appRuleError(_0x453e97(0xca),_0x453e97(0xb5));return _0x46f260;}export function appRuleFileName(_0x56ccc6){return APP_RULE_FILES[_0x56ccc6];}function a233_0x265f(_0x40b8c0,_0x30140e){_0x40b8c0=_0x40b8c0-0xa3;const _0x5c4975=a233_0x5c49();let _0x265f67=_0x5c4975[_0x40b8c0];return _0x265f67;}export function appRuleContextScope(_0xaa775a){return APP_RULE_CONTEXT_SCOPES[_0xaa775a];}export function inspectAppRuleContent(_0x11a578){const _0x4be4f0=a233_0x57d975,_0x7bd2d5=Buffer['from'](_0x11a578,_0x4be4f0(0xaf));return{'content':_0x11a578,'byteSize':_0x7bd2d5[_0x4be4f0(0xc1)],'contentHash':_0x4be4f0(0xb6)+createHash(_0x4be4f0(0xb9))[_0x4be4f0(0xd7)](_0x7bd2d5)[_0x4be4f0(0xac)](_0x4be4f0(0xb0))};}export async function readAppRuleFile(_0x12ccc9){const _0x41260b=a233_0x57d975,_0x5b437d=_0x12ccc9['trim']();if(!_0x5b437d)throw appRuleError(_0x41260b(0xc4),_0x41260b(0xc6),_0x41260b(0xa3));const _0x217528=resolve(_0x5b437d);let _0x4b8609;try{_0x4b8609=await stat(_0x217528);}catch(_0x437b2a){throw appRuleError(_0x41260b(0xae),'Cannot\x20access\x20app\x20rule\x20file:\x20'+_0x5b437d,_0x437b2a instanceof Error?_0x437b2a[_0x41260b(0xbd)]:String(_0x437b2a));}if(!_0x4b8609['isFile']())throw appRuleError(_0x41260b(0xb3),_0x41260b(0xa7)+_0x5b437d);if(_0x4b8609['size']>MAX_APP_RULE_BYTES)throw appRuleError(_0x41260b(0xbb),_0x41260b(0xba));let _0x7740f;try{_0x7740f=await readFile(_0x217528);}catch(_0x55ebc7){throw appRuleError(_0x41260b(0xae),_0x41260b(0xcb)+_0x5b437d,_0x55ebc7 instanceof Error?_0x55ebc7[_0x41260b(0xbd)]:String(_0x55ebc7));}if(_0x7740f['byteLength']>MAX_APP_RULE_BYTES)throw appRuleError(_0x41260b(0xbb),_0x41260b(0xba));let _0x58400e;try{_0x58400e=new TextDecoder(_0x41260b(0xd9),{'fatal':!![],'ignoreBOM':!![]})[_0x41260b(0xc8)](_0x7740f);}catch{throw appRuleError(_0x41260b(0xc3),_0x41260b(0xd8)+_0x5b437d);}if(!_0x58400e['trim']())throw appRuleError(_0x41260b(0xc3),_0x41260b(0xb8)+_0x5b437d);return inspectAppRuleContent(_0x58400e);}export function projectAppRule(_0x18485e,_0x5d65fb){const _0x36a837=a233_0x57d975;if(!_0x5d65fb)return{'type':_0x18485e,'fileName':appRuleFileName(_0x18485e),'contextScope':appRuleContextScope(_0x18485e),'enabled':![]};const _0x2d6137=inspectAppRuleContent(_0x5d65fb[_0x36a837(0xd3)]);return{'type':_0x18485e,'fileName':appRuleFileName(_0x18485e),'contextScope':appRuleContextScope(_0x18485e),'enabled':!![],'id':_0x5d65fb['id'],'scope':_0x5d65fb[_0x36a837(0xcc)],'appCode':_0x5d65fb['appCode'],'version':_0x5d65fb[_0x36a837(0xc9)],'contentByteSize':_0x2d6137[_0x36a837(0xa9)],'contentHash':_0x2d6137[_0x36a837(0xab)],..._0x5d65fb['createTime']!==undefined&&_0x5d65fb[_0x36a837(0xd1)]!==null?{'createTime':_0x5d65fb[_0x36a837(0xd1)]}:{},..._0x5d65fb[_0x36a837(0xbf)]!==undefined&&_0x5d65fb[_0x36a837(0xbf)]!==null?{'updateTime':_0x5d65fb['updateTime']}:{}};}export const APP_RULE_TYPE_FLAG={'name':'type','type':a233_0x57d975(0xa8),'required':!![],'description':a233_0x57d975(0xc5),'enum':[...APP_RULE_TYPES]};
@@ -1 +1 @@
1
- const a234_0xe707ed=a234_0xa91e;(function(_0x91b94,_0x5ad450){const _0x5e7e5d=a234_0xa91e,_0x5ca4fc=_0x91b94();while(!![]){try{const _0x4bba92=-parseInt(_0x5e7e5d(0x1d4))/0x1+-parseInt(_0x5e7e5d(0x1f8))/0x2+-parseInt(_0x5e7e5d(0x1cf))/0x3+parseInt(_0x5e7e5d(0x1f7))/0x4+-parseInt(_0x5e7e5d(0x1f6))/0x5+parseInt(_0x5e7e5d(0x1c4))/0x6*(-parseInt(_0x5e7e5d(0x1f5))/0x7)+-parseInt(_0x5e7e5d(0x1ef))/0x8*(-parseInt(_0x5e7e5d(0x1de))/0x9);if(_0x4bba92===_0x5ad450)break;else _0x5ca4fc['push'](_0x5ca4fc['shift']());}catch(_0x189247){_0x5ca4fc['push'](_0x5ca4fc['shift']());}}}(a234_0x5709,0x72a11));import{readFileSync,existsSync}from'node:fs';function a234_0x5709(){const _0x2f77bc=['\x20run\x20start','watch','Run\x20a\x20package.json\x20script','bun.lockb','has','length','inherit','2326920VjTFxy','run','package.json','.bin','dev','546945swVfNP','boolean','log','keys','cwd','\x20\x20\x20\x20','Domain\x20routing\x20synchronized:\x20','join','utf-8','preview','9kUAyBV','path','changed','\x20run\x20','error','validation','parse','\x20run\x20<script>\x0a','\x20run\x20preview','bun.lock','\x20exited\x20with\x20code\x20','No\x20scripts\x20defined\x20in\x20package.json.','vite\x20build\x20--watch\x20exited\x20with\x20code\x20','node_modules','belowMinimum','build','(none)','20883608GEFMEV','Available:\x20','\x0a\x20\x20Usage:\x20','npm','needsUpgrade','scripts','19733IWsFIx','2522040gCElpS','2042956JZooNf','1249054ADszCE','\x20\x20EXAMPLES','args','vite','close','Script\x20\x22','push','pnpm','yarn.lock','Enable\x20watch\x20mode\x20for\x20preview','426irlsHE','start','yarn','bool'];a234_0x5709=function(){return _0x2f77bc;};return a234_0x5709();}import{CLI_BIN_NAME}from'../../constant/cli.js';import{resolve,delimiter,join}from'node:path';import{spawn}from'node:child_process';import{CliErrors}from'../../errors.js';import{findProjectRootDirectory,resolveConfigPath}from'../../context/config-loader.js';import{writeProjectDomainRoutingManifest}from'../../config/project-domain-routing.js';import{checkSdkVersion,printSdkUpgradeWarning}from'../../utils/check-sdk-version.js';import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../utils/cli-version-check.js';const VERSION_CHECK_SCRIPTS=new Set([a234_0xe707ed(0x1c5),a234_0xe707ed(0x1d3)]),DOMAIN_ROUTING_SYNC_SCRIPTS=new Set([a234_0xe707ed(0x1c5),a234_0xe707ed(0x1d3),a234_0xe707ed(0x1ed),a234_0xe707ed(0x1dd)]);export function syncProjectDomainRoutingBeforeScript(_0x27daff,_0x6dc0bf){const _0x2df99a=a234_0xe707ed;if(!DOMAIN_ROUTING_SYNC_SCRIPTS[_0x2df99a(0x1cc)](_0x6dc0bf))return null;const _0x1d83b3=findProjectRootDirectory(_0x27daff);if(!resolveConfigPath(_0x1d83b3))return null;const _0x2e1865=writeProjectDomainRoutingManifest(_0x1d83b3);return{'path':_0x2e1865[_0x2df99a(0x1df)],'changed':_0x2e1865[_0x2df99a(0x1e0)]};}function a234_0xa91e(_0x2f71b5,_0x1ec80e){_0x2f71b5=_0x2f71b5-0x1bb;const _0x570986=a234_0x5709();let _0xa91e18=_0x570986[_0x2f71b5];return _0xa91e18;}function readPackageScripts(_0x2fd26d){const _0x5559cc=a234_0xe707ed,_0x2c1abf=resolve(_0x2fd26d,_0x5559cc(0x1d1));if(!existsSync(_0x2c1abf))return null;try{const _0x18efed=JSON[_0x5559cc(0x1e4)](readFileSync(_0x2c1abf,_0x5559cc(0x1dc)));return _0x18efed[_0x5559cc(0x1f4)]??{};}catch{return null;}}function detectPackageManager(_0x4b01a5){const _0x2426d1=a234_0xe707ed;if(existsSync(resolve(_0x4b01a5,_0x2426d1(0x1cb)))||existsSync(resolve(_0x4b01a5,_0x2426d1(0x1e7))))return'bun';if(existsSync(resolve(_0x4b01a5,'pnpm-lock.yaml')))return _0x2426d1(0x1c1);if(existsSync(resolve(_0x4b01a5,_0x2426d1(0x1c2))))return _0x2426d1(0x1c6);return _0x2426d1(0x1f2);}async function versionCheck(_0x3f56d0){const _0x587991=a234_0xe707ed,_0x4f18a9=await checkCliVersion();(_0x4f18a9[_0x587991(0x1f3)]||_0x4f18a9[_0x587991(0x1ec)])&&(printCliUpgradeWarning(_0x4f18a9),assertCliVersionSupported(_0x4f18a9));const _0x355a97=await checkSdkVersion(_0x3f56d0);if(_0x355a97['needsUpgrade'])printSdkUpgradeWarning(_0x355a97);}function spawnScript(_0x5e6007,_0x52a794,_0x1a161f,_0x33b945){return new Promise((_0x5df588,_0x4a4b29)=>{const _0x446c0e=a234_0xa91e,_0x2ff5d5=['run',_0x52a794,..._0x1a161f],_0x4b8977=spawn(_0x5e6007,_0x2ff5d5,{'cwd':_0x33b945,'stdio':'inherit','shell':!![],'env':{...process.env,'PATH':''+join(_0x33b945,'node_modules',_0x446c0e(0x1d2))+delimiter+process.env.PATH}});_0x4b8977['on'](_0x446c0e(0x1be),_0x5426f9=>{const _0x4bbbc4=_0x446c0e;if(_0x5426f9===0x0||_0x5426f9===null)_0x5df588();else _0x4a4b29(new Error(_0x5e6007+_0x4bbbc4(0x1e1)+_0x52a794+_0x4bbbc4(0x1e8)+_0x5426f9));}),_0x4b8977['on'](_0x446c0e(0x1e2),_0x4a4b29);});}function spawnViteBuildWatch(_0x319a99){return new Promise((_0x43a3f5,_0x21d441)=>{const _0x320a95=a234_0xa91e,_0xe0a189=spawn(_0x320a95(0x1bd),[_0x320a95(0x1ed),'--watch'],{'cwd':_0x319a99,'stdio':_0x320a95(0x1ce),'shell':!![],'env':{...process.env,'PATH':''+join(_0x319a99,_0x320a95(0x1eb),'.bin')+delimiter+process.env.PATH}});_0xe0a189['on'](_0x320a95(0x1be),_0x464800=>{const _0x5f5bb6=_0x320a95;if(_0x464800===0x0||_0x464800===null)_0x43a3f5();else _0x21d441(new Error(_0x5f5bb6(0x1ea)+_0x464800));}),_0xe0a189['on'](_0x320a95(0x1e2),_0x21d441);});}function spawnVitePreview(_0x5d0090){return new Promise((_0x181bc0,_0x4978e6)=>{const _0x4a6a00=a234_0xa91e,_0x33bc49=spawn(_0x4a6a00(0x1bd),[_0x4a6a00(0x1dd)],{'cwd':_0x5d0090,'stdio':'inherit','shell':!![],'env':{...process.env,'PATH':''+join(_0x5d0090,'node_modules',_0x4a6a00(0x1d2))+delimiter+process.env.PATH}});_0x33bc49['on'](_0x4a6a00(0x1be),_0x46340c=>{if(_0x46340c===0x0||_0x46340c===null)_0x181bc0();else _0x4978e6(new Error('vite\x20preview\x20exited\x20with\x20code\x20'+_0x46340c));}),_0x33bc49['on'](_0x4a6a00(0x1e2),_0x4978e6);});}const runFlags=[{'name':'watch','type':a234_0xe707ed(0x1d5),'description':a234_0xe707ed(0x1c3),'default':![]}];export const runDefinition={'service':'run','command':a234_0xe707ed(0x1d0),'description':a234_0xe707ed(0x1ca),'risk':'write','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':'script','description':'Script\x20name\x20defined\x20in\x20package.json','required':![]}],'flags':runFlags,'helpExtra':()=>{const _0x4d1204=a234_0xe707ed,_0x5ac213=[];return _0x5ac213['push'](_0x4d1204(0x1bb)),_0x5ac213['push'](_0x4d1204(0x1d9)+CLI_BIN_NAME+_0x4d1204(0x1c8)),_0x5ac213[_0x4d1204(0x1c0)]('\x20\x20\x20\x20'+CLI_BIN_NAME+'\x20run\x20build'),_0x5ac213[_0x4d1204(0x1c0)]('\x20\x20\x20\x20'+CLI_BIN_NAME+_0x4d1204(0x1e6)),_0x5ac213[_0x4d1204(0x1c0)]('\x20\x20\x20\x20'+CLI_BIN_NAME+'\x20run\x20preview\x20--watch'),_0x5ac213[_0x4d1204(0x1db)]('\x0a');},async 'execute'(_0x3f5330){const _0x338e33=a234_0xe707ed,_0x1e8132=process[_0x338e33(0x1d8)](),_0x530d4e=_0x3f5330['args'][0x0],_0x149433=_0x3f5330[_0x338e33(0x1bc)]['slice'](0x1),_0x13811c=readPackageScripts(_0x1e8132);if(!_0x13811c)throw CliErrors[_0x338e33(0x1e3)]('No\x20package.json\x20found\x20in\x20current\x20directory.');if(!_0x530d4e){const _0x3f0d8a=Object[_0x338e33(0x1d7)](_0x13811c);if(_0x3f0d8a[_0x338e33(0x1cd)]===0x0)console[_0x338e33(0x1d6)](_0x338e33(0x1e9));else{console[_0x338e33(0x1d6)]('\x0a\x20\x20Available\x20scripts:\x0a');for(const _0x2d58c6 of _0x3f0d8a){console[_0x338e33(0x1d6)](_0x338e33(0x1d9)+_0x2d58c6);}console[_0x338e33(0x1d6)](_0x338e33(0x1f1)+CLI_BIN_NAME+_0x338e33(0x1e5));}return{'ok':!![]};}if(!_0x13811c[_0x530d4e])throw CliErrors['validation'](_0x338e33(0x1bf)+_0x530d4e+'\x22\x20not\x20found\x20in\x20package.json.',_0x338e33(0x1f0)+(Object[_0x338e33(0x1d7)](_0x13811c)['join'](',\x20')||_0x338e33(0x1ee)));const _0x86ab5a=detectPackageManager(_0x1e8132),_0x3d9761=syncProjectDomainRoutingBeforeScript(_0x1e8132,_0x530d4e);_0x3d9761?.[_0x338e33(0x1e0)]&&console[_0x338e33(0x1e2)](_0x338e33(0x1da)+_0x3d9761[_0x338e33(0x1df)]);VERSION_CHECK_SCRIPTS[_0x338e33(0x1cc)](_0x530d4e)&&await versionCheck(_0x1e8132);if(_0x530d4e===_0x338e33(0x1dd)&&_0x3f5330[_0x338e33(0x1c7)](_0x338e33(0x1c9)))return await Promise['all']([spawnViteBuildWatch(_0x1e8132),spawnVitePreview(_0x1e8132)]),{'ok':!![]};return await spawnScript(_0x86ab5a,_0x530d4e,_0x149433,_0x1e8132),{'ok':!![]};}};
1
+ const a234_0x5805ef=a234_0x5c27;(function(_0x19817b,_0x47159a){const _0x2f76d7=a234_0x5c27,_0x3b00e1=_0x19817b();while(!![]){try{const _0x15e37a=-parseInt(_0x2f76d7(0x1e3))/0x1+parseInt(_0x2f76d7(0x1dc))/0x2+-parseInt(_0x2f76d7(0x1d0))/0x3+-parseInt(_0x2f76d7(0x1d3))/0x4*(-parseInt(_0x2f76d7(0x1e7))/0x5)+-parseInt(_0x2f76d7(0x1b7))/0x6+-parseInt(_0x2f76d7(0x1ab))/0x7+parseInt(_0x2f76d7(0x1b2))/0x8*(parseInt(_0x2f76d7(0x1ce))/0x9);if(_0x15e37a===_0x47159a)break;else _0x3b00e1['push'](_0x3b00e1['shift']());}catch(_0x37c021){_0x3b00e1['push'](_0x3b00e1['shift']());}}}(a234_0x34bc,0xd9166));import{readFileSync,existsSync}from'node:fs';import{CLI_BIN_NAME}from'../../constant/cli.js';import{resolve,delimiter,join}from'node:path';import{spawn}from'node:child_process';import{CliErrors}from'../../errors.js';import{findProjectRootDirectory,resolveConfigPath}from'../../context/config-loader.js';import{writeProjectDomainRoutingManifest}from'../../config/project-domain-routing.js';import{checkSdkVersion,printSdkUpgradeWarning}from'../../utils/check-sdk-version.js';import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../utils/cli-version-check.js';function a234_0x34bc(){const _0x34adaf=['4zWRyIC','keys','\x20run\x20build','changed','vite\x20preview\x20exited\x20with\x20code\x20','validation','push','error','log','3461976vjbdHu','\x22\x20not\x20found\x20in\x20package.json.','Script\x20\x22','yarn','bun','build','node_modules','1648381pIbHsP','args','--watch','boolean','4292935IiFrkZ','join','close','6208538lGZvhD','watch','scripts','dev','\x20run\x20preview\x20--watch','Domain\x20routing\x20synchronized:\x20','Script\x20name\x20defined\x20in\x20package.json','1453920zpQZEC','bun.lockb','\x0a\x20\x20Available\x20scripts:\x0a','\x20run\x20preview','.bin','4538220YmWTmp','\x0a\x20\x20Usage:\x20','package.json','parse','inherit','No\x20package.json\x20found\x20in\x20current\x20directory.','script','path','yarn.lock','No\x20scripts\x20defined\x20in\x20package.json.','write','\x20run\x20start','preview','\x20run\x20<script>\x0a','needsUpgrade','pnpm','vite','npm','\x20exited\x20with\x20code\x20','belowMinimum','\x20\x20\x20\x20','start','cwd','81iHEZxx','vite\x20build\x20--watch\x20exited\x20with\x20code\x20','133080JLsBiw','run','length'];a234_0x34bc=function(){return _0x34adaf;};return a234_0x34bc();}const VERSION_CHECK_SCRIPTS=new Set([a234_0x5805ef(0x1cc),'dev']),DOMAIN_ROUTING_SYNC_SCRIPTS=new Set([a234_0x5805ef(0x1cc),a234_0x5805ef(0x1ae),a234_0x5805ef(0x1e1),a234_0x5805ef(0x1c3)]);export function syncProjectDomainRoutingBeforeScript(_0x3cf55c,_0x47401e){const _0x2a07bc=a234_0x5805ef;if(!DOMAIN_ROUTING_SYNC_SCRIPTS['has'](_0x47401e))return null;const _0x33ef34=findProjectRootDirectory(_0x3cf55c);if(!resolveConfigPath(_0x33ef34))return null;const _0x593ba5=writeProjectDomainRoutingManifest(_0x33ef34);return{'path':_0x593ba5[_0x2a07bc(0x1be)],'changed':_0x593ba5[_0x2a07bc(0x1d6)]};}function readPackageScripts(_0x1e4f31){const _0x2a0940=a234_0x5805ef,_0x375e87=resolve(_0x1e4f31,_0x2a0940(0x1b9));if(!existsSync(_0x375e87))return null;try{const _0x1a71f3=JSON[_0x2a0940(0x1ba)](readFileSync(_0x375e87,'utf-8'));return _0x1a71f3[_0x2a0940(0x1ad)]??{};}catch{return null;}}function detectPackageManager(_0xf6256e){const _0x147415=a234_0x5805ef;if(existsSync(resolve(_0xf6256e,_0x147415(0x1b3)))||existsSync(resolve(_0xf6256e,'bun.lock')))return _0x147415(0x1e0);if(existsSync(resolve(_0xf6256e,'pnpm-lock.yaml')))return _0x147415(0x1c6);if(existsSync(resolve(_0xf6256e,_0x147415(0x1bf))))return _0x147415(0x1df);return _0x147415(0x1c8);}async function versionCheck(_0x12fba6){const _0x95e3d4=a234_0x5805ef,_0x3d55ab=await checkCliVersion();(_0x3d55ab[_0x95e3d4(0x1c5)]||_0x3d55ab[_0x95e3d4(0x1ca)])&&(printCliUpgradeWarning(_0x3d55ab),assertCliVersionSupported(_0x3d55ab));const _0x4f2af5=await checkSdkVersion(_0x12fba6);if(_0x4f2af5[_0x95e3d4(0x1c5)])printSdkUpgradeWarning(_0x4f2af5);}function spawnScript(_0x34b042,_0x159a6b,_0x25840d,_0x1fe410){return new Promise((_0x2d571a,_0x37de0f)=>{const _0x23a510=a234_0x5c27,_0x2c6987=[_0x23a510(0x1d1),_0x159a6b,..._0x25840d],_0x1f276f=spawn(_0x34b042,_0x2c6987,{'cwd':_0x1fe410,'stdio':_0x23a510(0x1bb),'shell':!![],'env':{...process.env,'PATH':''+join(_0x1fe410,_0x23a510(0x1e2),_0x23a510(0x1b6))+delimiter+process.env.PATH}});_0x1f276f['on'](_0x23a510(0x1aa),_0x5834e1=>{const _0xaa4d56=_0x23a510;if(_0x5834e1===0x0||_0x5834e1===null)_0x2d571a();else _0x37de0f(new Error(_0x34b042+'\x20run\x20'+_0x159a6b+_0xaa4d56(0x1c9)+_0x5834e1));}),_0x1f276f['on'](_0x23a510(0x1da),_0x37de0f);});}function spawnViteBuildWatch(_0x18c985){return new Promise((_0xfd967,_0x3510e1)=>{const _0x45fca2=a234_0x5c27,_0x57a33e=spawn('vite',['build',_0x45fca2(0x1e5)],{'cwd':_0x18c985,'stdio':_0x45fca2(0x1bb),'shell':!![],'env':{...process.env,'PATH':''+join(_0x18c985,_0x45fca2(0x1e2),_0x45fca2(0x1b6))+delimiter+process.env.PATH}});_0x57a33e['on']('close',_0x5ad7fd=>{const _0x16cabc=_0x45fca2;if(_0x5ad7fd===0x0||_0x5ad7fd===null)_0xfd967();else _0x3510e1(new Error(_0x16cabc(0x1cf)+_0x5ad7fd));}),_0x57a33e['on']('error',_0x3510e1);});}function spawnVitePreview(_0x232628){return new Promise((_0x7f184f,_0x1c72a9)=>{const _0x36f194=a234_0x5c27,_0x1437f8=spawn(_0x36f194(0x1c7),[_0x36f194(0x1c3)],{'cwd':_0x232628,'stdio':_0x36f194(0x1bb),'shell':!![],'env':{...process.env,'PATH':''+join(_0x232628,_0x36f194(0x1e2),'.bin')+delimiter+process.env.PATH}});_0x1437f8['on']('close',_0x61c42c=>{const _0x4fa20a=_0x36f194;if(_0x61c42c===0x0||_0x61c42c===null)_0x7f184f();else _0x1c72a9(new Error(_0x4fa20a(0x1d7)+_0x61c42c));}),_0x1437f8['on']('error',_0x1c72a9);});}const runFlags=[{'name':a234_0x5805ef(0x1ac),'type':a234_0x5805ef(0x1e6),'description':'Enable\x20watch\x20mode\x20for\x20preview','default':![]}];function a234_0x5c27(_0x145251,_0x4ec8e7){_0x145251=_0x145251-0x1aa;const _0x34bc52=a234_0x34bc();let _0x5c275d=_0x34bc52[_0x145251];return _0x5c275d;}export const runDefinition={'service':a234_0x5805ef(0x1d1),'command':'run','description':'Run\x20a\x20package.json\x20script','risk':a234_0x5805ef(0x1c1),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a234_0x5805ef(0x1bd),'description':a234_0x5805ef(0x1b1),'required':![]}],'flags':runFlags,'helpExtra':()=>{const _0x55c733=a234_0x5805ef,_0x25a3ab=[];return _0x25a3ab[_0x55c733(0x1d9)]('\x20\x20EXAMPLES'),_0x25a3ab[_0x55c733(0x1d9)](_0x55c733(0x1cb)+CLI_BIN_NAME+_0x55c733(0x1c2)),_0x25a3ab[_0x55c733(0x1d9)](_0x55c733(0x1cb)+CLI_BIN_NAME+_0x55c733(0x1d5)),_0x25a3ab['push'](_0x55c733(0x1cb)+CLI_BIN_NAME+_0x55c733(0x1b5)),_0x25a3ab[_0x55c733(0x1d9)](_0x55c733(0x1cb)+CLI_BIN_NAME+_0x55c733(0x1af)),_0x25a3ab[_0x55c733(0x1e8)]('\x0a');},async 'execute'(_0x1b1a04){const _0x1fa720=a234_0x5805ef,_0x268959=process[_0x1fa720(0x1cd)](),_0x4f2488=_0x1b1a04[_0x1fa720(0x1e4)][0x0],_0x1dc3a9=_0x1b1a04['args']['slice'](0x1),_0x17edc2=readPackageScripts(_0x268959);if(!_0x17edc2)throw CliErrors['validation'](_0x1fa720(0x1bc));if(!_0x4f2488){const _0x4c35cd=Object[_0x1fa720(0x1d4)](_0x17edc2);if(_0x4c35cd[_0x1fa720(0x1d2)]===0x0)console['log'](_0x1fa720(0x1c0));else{console[_0x1fa720(0x1db)](_0x1fa720(0x1b4));for(const _0x111ba2 of _0x4c35cd){console['log'](_0x1fa720(0x1cb)+_0x111ba2);}console['log'](_0x1fa720(0x1b8)+CLI_BIN_NAME+_0x1fa720(0x1c4));}return{'ok':!![]};}if(!_0x17edc2[_0x4f2488])throw CliErrors[_0x1fa720(0x1d8)](_0x1fa720(0x1de)+_0x4f2488+_0x1fa720(0x1dd),'Available:\x20'+(Object[_0x1fa720(0x1d4)](_0x17edc2)[_0x1fa720(0x1e8)](',\x20')||'(none)'));const _0x2b3b3e=detectPackageManager(_0x268959),_0x56c352=syncProjectDomainRoutingBeforeScript(_0x268959,_0x4f2488);_0x56c352?.[_0x1fa720(0x1d6)]&&console[_0x1fa720(0x1da)](_0x1fa720(0x1b0)+_0x56c352[_0x1fa720(0x1be)]);VERSION_CHECK_SCRIPTS['has'](_0x4f2488)&&await versionCheck(_0x268959);if(_0x4f2488==='preview'&&_0x1b1a04['bool'](_0x1fa720(0x1ac)))return await Promise['all']([spawnViteBuildWatch(_0x268959),spawnVitePreview(_0x268959)]),{'ok':!![]};return await spawnScript(_0x2b3b3e,_0x4f2488,_0x1dc3a9,_0x268959),{'ok':!![]};}};
@@ -1 +1 @@
1
- function a235_0x1378(_0x78e9d5,_0x2faaaa){_0x78e9d5=_0x78e9d5-0x93;const _0x455f9e=a235_0x455f();let _0x13787c=_0x455f9e[_0x78e9d5];return _0x13787c;}const a235_0x30f963=a235_0x1378;(function(_0x1da63c,_0xd2c8f2){const _0x1e2194=a235_0x1378,_0x3435fe=_0x1da63c();while(!![]){try{const _0x672e58=parseInt(_0x1e2194(0x97))/0x1+parseInt(_0x1e2194(0x9b))/0x2*(-parseInt(_0x1e2194(0x9e))/0x3)+-parseInt(_0x1e2194(0x99))/0x4+-parseInt(_0x1e2194(0x9f))/0x5+-parseInt(_0x1e2194(0x9c))/0x6*(-parseInt(_0x1e2194(0x98))/0x7)+parseInt(_0x1e2194(0x9d))/0x8*(-parseInt(_0x1e2194(0x95))/0x9)+parseInt(_0x1e2194(0x94))/0xa*(parseInt(_0x1e2194(0xa0))/0xb);if(_0x672e58===_0xd2c8f2)break;else _0x3435fe['push'](_0x3435fe['shift']());}catch(_0x5ae38c){_0x3435fe['push'](_0x3435fe['shift']());}}}(a235_0x455f,0x7b7f3));function a235_0x455f(){const _0x384dac=['read','546711zysaaR','1894655rzKJCD','946388CuFtrR','json','6DczjWN','6DQxtwm','417400ddYOHF','967728YDhVdK','1340580UzxLKk','49027YorWWD','schema','3190kICXXo','45ZnPAfM'];a235_0x455f=function(){return _0x384dac;};return a235_0x455f();}import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x22df2e){const _0x2597f6=await buildSchemaPayload();return{'ok':!![],'data':_0x2597f6};}export const schemaDefinition={'service':a235_0x30f963(0x93),'command':'export','description':'Export\x20machine-readable\x20command\x20schema\x20(JSON)','risk':a235_0x30f963(0x96),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':a235_0x30f963(0x9a),'flags':[],'execute':execute};
1
+ function a235_0x5830(){const _0x41cbec=['822220DMBBwr','5502uDEHBD','8cilCjc','17330QbNwcR','54kSLbFT','33597XWtQfq','schema','1855701MsdWss','735JRejXA','95389vynWIv','Export\x20machine-readable\x20command\x20schema\x20(JSON)','json','305651tgBUpi','2519TrySwL'];a235_0x5830=function(){return _0x41cbec;};return a235_0x5830();}const a235_0xcec9d3=a235_0x436e;(function(_0x2bff85,_0x2dc540){const _0x371dc9=a235_0x436e,_0x1c9598=_0x2bff85();while(!![]){try{const _0x179ccf=parseInt(_0x371dc9(0x12a))/0x1+-parseInt(_0x371dc9(0x130))/0x2*(parseInt(_0x371dc9(0x131))/0x3)+parseInt(_0x371dc9(0x12c))/0x4+parseInt(_0x371dc9(0x126))/0x5*(parseInt(_0x371dc9(0x12d))/0x6)+-parseInt(_0x371dc9(0x127))/0x7*(-parseInt(_0x371dc9(0x12e))/0x8)+parseInt(_0x371dc9(0x125))/0x9+-parseInt(_0x371dc9(0x12f))/0xa*(parseInt(_0x371dc9(0x12b))/0xb);if(_0x179ccf===_0x2dc540)break;else _0x1c9598['push'](_0x1c9598['shift']());}catch(_0x69c4a6){_0x1c9598['push'](_0x1c9598['shift']());}}}(a235_0x5830,0x28abf));import{buildSchemaPayload}from'../framework/schema-export.js';function a235_0x436e(_0x55f84f,_0x1d2fd5){_0x55f84f=_0x55f84f-0x124;const _0x58306e=a235_0x5830();let _0x436e8f=_0x58306e[_0x55f84f];return _0x436e8f;}async function execute(_0x9fb20c){const _0x314b38=await buildSchemaPayload();return{'ok':!![],'data':_0x314b38};}export const schemaDefinition={'service':a235_0xcec9d3(0x124),'command':'export','description':a235_0xcec9d3(0x128),'risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':a235_0xcec9d3(0x129),'flags':[],'execute':execute};
@@ -1 +1 @@
1
- const a236_0x1c20ff=a236_0x5cfa;function a236_0x5cfa(_0x2e12a8,_0x45522b){_0x2e12a8=_0x2e12a8-0x11b;const _0xb2aae2=a236_0xb2aa();let _0x5cfab2=_0xb2aae2[_0x2e12a8];return _0x5cfab2;}(function(_0x2ae1af,_0x121762){const _0x39175a=a236_0x5cfa,_0x36a738=_0x2ae1af();while(!![]){try{const _0x54ed99=-parseInt(_0x39175a(0x134))/0x1*(-parseInt(_0x39175a(0x11d))/0x2)+parseInt(_0x39175a(0x129))/0x3+parseInt(_0x39175a(0x140))/0x4+-parseInt(_0x39175a(0x15a))/0x5+-parseInt(_0x39175a(0x125))/0x6*(-parseInt(_0x39175a(0x12c))/0x7)+parseInt(_0x39175a(0x13f))/0x8*(-parseInt(_0x39175a(0x124))/0x9)+-parseInt(_0x39175a(0x157))/0xa*(-parseInt(_0x39175a(0x15d))/0xb);if(_0x54ed99===_0x121762)break;else _0x36a738['push'](_0x36a738['shift']());}catch(_0x3ffea3){_0x36a738['push'](_0x36a738['shift']());}}}(a236_0xb2aa,0x83537));import{writeFile}from'node:fs/promises';import{input,select}from'@inquirer/prompts';function a236_0xb2aa(){const _0x4cf32d=['dbId\x20must\x20be\x20a\x20positive\x20integer','str','sqlCode','join','MyBatis\x20XML\x20(mybatisXml)','lastSync','number','flag','Plain\x20SQL\x20(sql)','Target\x20database\x20dbId:','name','✎\x20Enter\x20dbId\x20manually','flagMissing','trim','Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20','db-id','3340tlNKyZ','nonInteractive','File\x20already\x20exists:\x20','1413095Azhtbb','description','sql','1254IJkKlp','length','isFinite','SELECT\x201\x20AS\x20id;','For\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20statements\x20that\x20run\x20directly','mybatisXml','stringify','9248ZWqUWf','toISOString','</select>','lockFilePath','dbName','Invalid\x20database\x20selection\x20payload:\x20','Select\x20the\x20target\x20database:','414eTerbV','18CdqtaX','dbId\x20cannot\x20be\x20empty','validation','Local\x20SQL\x20file\x20mode','1741254SwBpDT','__manual__','Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','108143qdoTME','Created\x20SQL\x20query\x20','parse','sqlName','For\x20MyBatis\x20XML\x20SQL\x20with\x20dynamic\x20tags','<server-generated-sqlCode>','new','SQL\x20name\x20cannot\x20be\x20empty','63leUehy','POST','\x20\x20SELECT\x201\x20AS\x20id','catch','/smartapi/custom/saveUserCustomSql','Select\x20the\x20local\x20SQL\x20mode:','string','sqls','mode','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','dbId','134200HBrrBT','2544108aBKPyy','sqlRootDir','map','appCode','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','<select\x20id=\x22query\x22\x20resultType=\x22map\x22>','isInteger'];a236_0xb2aa=function(){return _0x4cf32d;};return a236_0xb2aa();}import{createSqlQuery}from'../../core/api-client.js';import{getDbName,listDatabases}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{computeSqlContentHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{buildSqlRelativePath}from'../../core/sql-sync/utils.js';import{CliErrors}from'../../errors.js';import{buildLocalSqlFileContent,buildSqlLockEntry,ensureRemoteSqlContent}from'./shared.js';function generateSqlTemplate(_0x400352){const _0x1b3a4b=a236_0x5cfa;if(_0x400352===_0x1b3a4b(0x11b))return[_0x1b3a4b(0x145),_0x1b3a4b(0x136),_0x1b3a4b(0x11f),'']['join']('\x0a');return[_0x1b3a4b(0x160),''][_0x1b3a4b(0x14a)]('\x0a');}export const sqlCreate={'service':'sql','command':'create','description':a236_0x1c20ff(0x12b),'risk':'write','flags':[{'name':a236_0x1c20ff(0x151),'type':a236_0x1c20ff(0x13a),'description':'SQL\x20query\x20display\x20name'},{'name':a236_0x1c20ff(0x156),'type':a236_0x1c20ff(0x14d),'description':'Target\x20database\x20ID'},{'name':a236_0x1c20ff(0x13c),'type':'string','enum':[a236_0x1c20ff(0x15c),a236_0x1c20ff(0x11b)],'description':a236_0x1c20ff(0x128)}],async 'validate'(_0x1c9420){const _0x623109=a236_0x1c20ff;if(!_0x1c9420[_0x623109(0x158)])return;if(!_0x1c9420[_0x623109(0x148)]('name')['trim']())throw CliErrors[_0x623109(0x153)](_0x623109(0x151),_0x623109(0x13d));const _0x3ce426=resolveProvidedDbId(_0x1c9420);if(typeof _0x3ce426!=='number'||!Number[_0x623109(0x15f)](_0x3ce426)||_0x3ce426<=0x0)throw CliErrors['flagMissing'](_0x623109(0x156),_0x623109(0x144));if(!_0x1c9420[_0x623109(0x148)](_0x623109(0x13c))[_0x623109(0x154)]())throw CliErrors[_0x623109(0x153)](_0x623109(0x13c),'--mode\x20is\x20required\x20in\x20non-interactive\x20mode.');},async 'dryRun'(_0x2238fa){const _0x37eaf3=a236_0x1c20ff,_0x5aac33=loadSqlProjectConfig(_0x2238fa[_0x37eaf3(0x143)]),{sqlName:_0xa19b18,dbId:_0x4da386,dbName:_0x273cbd,mode:_0x1d7689}=await resolveSqlNewInputs(_0x2238fa),_0x3d2046=buildSqlRelativePath(_0x37eaf3(0x131),_0xa19b18,_0x273cbd,_0x1d7689,_0x4da386),_0x17f7a2=_0x5aac33[_0x37eaf3(0x141)]+'/'+_0x3d2046;return{'method':_0x37eaf3(0x135),'url':_0x37eaf3(0x138),'body':{'appCode':_0x2238fa['appCode'],'sqlName':_0xa19b18,'dbId':_0x4da386,'mode':_0x1d7689,'localPath':_0x17f7a2},'description':_0x37eaf3(0x155)+_0x5aac33['sqlRootDir']};},async 'execute'(_0x3a0a4b){const _0x2a882a=a236_0x1c20ff,_0x3501da=loadSqlProjectConfig(_0x3a0a4b['appCode']),{sqlName:_0x33c481,dbId:_0x1bb2e8,dbName:_0x5f2b25,mode:_0x5bb08c}=await resolveSqlNewInputs(_0x3a0a4b),_0x5b064d=generateSqlTemplate(_0x5bb08c),_0xbd04dd=await createSqlQuery({'appCode':_0x3a0a4b['appCode'],'sqlName':_0x33c481,'dbId':_0x1bb2e8,'sqlContent':_0x5b064d}),_0x18b9f4=ensureRemoteSqlContent(_0xbd04dd),_0x2a6551=_0x5f2b25||await getDbName(_0x3a0a4b['appCode'],_0x1bb2e8)[_0x2a882a(0x137)](()=>undefined),_0x2a00f9=buildSqlRelativePath(_0xbd04dd['sqlCode'],_0xbd04dd[_0x2a882a(0x12f)],_0x2a6551,_0x5bb08c,_0x1bb2e8),_0x93daf9=_0x3501da[_0x2a882a(0x141)]+'/'+_0x2a00f9,_0x146866=buildLocalSqlFileContent({'sqlCode':_0xbd04dd[_0x2a882a(0x149)],'sqlName':_0xbd04dd[_0x2a882a(0x12f)],'dbId':_0xbd04dd['dbId']},_0x18b9f4,{'dbName':_0x2a6551,'mode':_0x5bb08c,'syncedAt':new Date()['toISOString'](),'description':_0xbd04dd[_0x2a882a(0x15b)]});if(await fileExists(_0x93daf9))throw CliErrors[_0x2a882a(0x127)](_0x2a882a(0x159)+_0x93daf9);await ensureParentDirectory(_0x93daf9),await writeFile(_0x93daf9,_0x146866,'utf8');const _0x520f22=await readSqlLockFile(_0x3501da[_0x2a882a(0x120)]),{lockData:_0x1297e2,appLock:_0x47a3a0}=ensureSqlLockScope(_0x520f22??createEmptySqlLock(),_0x3501da[_0x2a882a(0x143)],_0x3501da['sqlRoot'],_0x2a882a(0x132));return _0x47a3a0[_0x2a882a(0x13b)][_0xbd04dd[_0x2a882a(0x149)]]={...buildSqlLockEntry(_0xbd04dd,_0x18b9f4,computeSqlContentHash(_0x146866),{'dbName':_0x2a6551}),'path':_0x2a00f9,'mode':_0x5bb08c},_0x47a3a0[_0x2a882a(0x14c)]=new Date()[_0x2a882a(0x11e)](),await writeSqlLockFile(_0x3501da[_0x2a882a(0x120)],_0x1297e2),{'ok':!![],'data':{'id':_0xbd04dd['id'],'sqlCode':_0xbd04dd['sqlCode'],'sqlName':_0xbd04dd['sqlName'],'dbId':_0xbd04dd['dbId'],'path':_0x93daf9,'mode':_0x5bb08c},'message':_0x2a882a(0x12d)+_0xbd04dd['sqlCode']};}};async function resolveSqlNewInputs(_0x2c6616){const _0x2d1de0=await resolveSqlNameInput(_0x2c6616),{dbId:_0x9829be,dbName:_0x43941a}=await resolveDbSelection(_0x2c6616),_0x23939a=await resolveSqlModeInput(_0x2c6616);return{'sqlName':_0x2d1de0,'dbId':_0x9829be,'dbName':_0x43941a,'mode':_0x23939a};}async function resolveSqlNameInput(_0x4366fd){const _0x3a0e76=a236_0x1c20ff,_0x3a8ee3=_0x4366fd[_0x3a0e76(0x148)](_0x3a0e76(0x151))[_0x3a0e76(0x154)]();if(_0x3a8ee3)return _0x3a8ee3;if(_0x4366fd[_0x3a0e76(0x158)])throw CliErrors['flagMissing'](_0x3a0e76(0x151),_0x3a0e76(0x13d));return(await input({'message':'SQL\x20name:','validate':_0x5c9510=>_0x5c9510[_0x3a0e76(0x154)]()?!![]:_0x3a0e76(0x133)}))[_0x3a0e76(0x154)]();}async function resolveDbSelection(_0x312a16){const _0x4811b5=a236_0x1c20ff,_0x24ec91=resolveProvidedDbId(_0x312a16);if(typeof _0x24ec91===_0x4811b5(0x14d)&&Number[_0x4811b5(0x15f)](_0x24ec91)&&_0x24ec91>0x0)return{'dbId':_0x24ec91,'dbName':await getDbName(_0x312a16[_0x4811b5(0x143)],_0x24ec91)[_0x4811b5(0x137)](()=>undefined)};if(_0x312a16[_0x4811b5(0x158)])throw CliErrors['flagMissing']('db-id','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.');const _0x1213e1=await listDatabases(_0x312a16[_0x4811b5(0x143)])['catch'](()=>[]);if(_0x1213e1[_0x4811b5(0x15e)]===0x1)return{'dbId':_0x1213e1[0x0][_0x4811b5(0x13e)],'dbName':_0x1213e1[0x0]['dbName']};if(_0x1213e1[_0x4811b5(0x15e)]>0x1){const _0x452db4=await select({'message':_0x4811b5(0x123),'choices':[..._0x1213e1[_0x4811b5(0x142)](_0x2db259=>({'name':_0x2db259[_0x4811b5(0x121)]+'\x20('+_0x2db259[_0x4811b5(0x13e)]+')','value':serializeDbSelection(_0x2db259)})),{'name':_0x4811b5(0x152),'value':_0x4811b5(0x12a)}]});if(_0x452db4!==_0x4811b5(0x12a))return deserializeDbSelection(_0x452db4);}const _0x290741=await input({'message':_0x4811b5(0x150),'validate':_0x6ead5f=>{const _0x507d1f=_0x4811b5,_0x3e51a8=_0x6ead5f[_0x507d1f(0x154)]();if(!_0x3e51a8)return _0x507d1f(0x126);const _0x39be29=Number(_0x3e51a8);if(!Number[_0x507d1f(0x146)](_0x39be29)||_0x39be29<=0x0)return _0x507d1f(0x147);return!![];}});return{'dbId':Number(_0x290741[_0x4811b5(0x154)]())};}async function resolveSqlModeInput(_0xaaedb3){const _0x4950ce=a236_0x1c20ff,_0x4147b4=_0xaaedb3[_0x4950ce(0x148)](_0x4950ce(0x13c))[_0x4950ce(0x154)]();if(_0x4147b4===_0x4950ce(0x15c)||_0x4147b4===_0x4950ce(0x11b))return _0x4147b4;if(_0xaaedb3[_0x4950ce(0x158)])throw CliErrors[_0x4950ce(0x153)](_0x4950ce(0x13c),'--mode\x20is\x20required\x20in\x20non-interactive\x20mode.');return await select({'message':_0x4950ce(0x139),'choices':[{'name':_0x4950ce(0x14f),'value':_0x4950ce(0x15c),'description':_0x4950ce(0x161)},{'name':_0x4950ce(0x14b),'value':'mybatisXml','description':_0x4950ce(0x130)}]});}function serializeDbSelection(_0x4e3b62){const _0x19a9b7=a236_0x1c20ff;return JSON[_0x19a9b7(0x11c)]({'dbId':_0x4e3b62['dbId'],'dbName':_0x4e3b62[_0x19a9b7(0x121)]});}function deserializeDbSelection(_0x359a6e){const _0x95a24b=a236_0x1c20ff;try{const _0x200a14=JSON[_0x95a24b(0x12e)](_0x359a6e);if(typeof _0x200a14[_0x95a24b(0x13e)]===_0x95a24b(0x14d)&&Number[_0x95a24b(0x15f)](_0x200a14[_0x95a24b(0x13e)]))return{'dbId':_0x200a14['dbId'],'dbName':_0x200a14[_0x95a24b(0x121)]};}catch{}throw CliErrors[_0x95a24b(0x127)](_0x95a24b(0x122)+_0x359a6e);}function resolveProvidedDbId(_0x1b838c){const _0x5cb3a4=a236_0x1c20ff,_0x3de2b0=_0x1b838c[_0x5cb3a4(0x14e)](_0x5cb3a4(0x156));if(typeof _0x3de2b0==='number'&&Number['isFinite'](_0x3de2b0))return _0x3de2b0;return undefined;}
1
+ const a236_0x1694fe=a236_0x1916;(function(_0x13fca4,_0x2f2f18){const _0x19a12f=a236_0x1916,_0x7d9ed6=_0x13fca4();while(!![]){try{const _0x3d7022=-parseInt(_0x19a12f(0x199))/0x1+parseInt(_0x19a12f(0x1a2))/0x2*(parseInt(_0x19a12f(0x193))/0x3)+parseInt(_0x19a12f(0x192))/0x4+parseInt(_0x19a12f(0x189))/0x5*(parseInt(_0x19a12f(0x1b0))/0x6)+parseInt(_0x19a12f(0x194))/0x7*(-parseInt(_0x19a12f(0x18b))/0x8)+parseInt(_0x19a12f(0x178))/0x9+parseInt(_0x19a12f(0x176))/0xa*(-parseInt(_0x19a12f(0x19e))/0xb);if(_0x3d7022===_0x2f2f18)break;else _0x7d9ed6['push'](_0x7d9ed6['shift']());}catch(_0x2c8972){_0x7d9ed6['push'](_0x7d9ed6['shift']());}}}(a236_0x2b3e,0xae64e));import{writeFile}from'node:fs/promises';function a236_0x1916(_0x45285a,_0x1c7009){_0x45285a=_0x45285a-0x174;const _0x2b3e44=a236_0x2b3e();let _0x19169c=_0x2b3e44[_0x45285a];return _0x19169c;}import{input,select}from'@inquirer/prompts';import{createSqlQuery}from'../../core/api-client.js';import{getDbName,listDatabases}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{computeSqlContentHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{buildSqlRelativePath}from'../../core/sql-sync/utils.js';function a236_0x2b3e(){const _0x432ef2=['sql','SQL\x20name:','dbName','lockFilePath','110mIpotk','Local\x20SQL\x20file\x20mode','create','lastSync','99050KedlmJ','mode','POST','str','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','Created\x20SQL\x20query\x20','sqlName','Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20','sqlRoot','Invalid\x20database\x20selection\x20payload:\x20','length','validation','SQL\x20query\x20display\x20name','MyBatis\x20XML\x20(mybatisXml)','18WASxuI','sqlCode','join','name','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','Select\x20the\x20local\x20SQL\x20mode:','__manual__','sqlRootDir','740710OXPvfT','parse','10282977zsJHPS','map','nonInteractive','catch','dbId','SQL\x20name\x20cannot\x20be\x20empty','/smartapi/custom/saveUserCustomSql','For\x20MyBatis\x20XML\x20SQL\x20with\x20dynamic\x20tags','appCode','Target\x20database\x20dbId:','<select\x20id=\x22query\x22\x20resultType=\x22map\x22>','\x20\x20SELECT\x201\x20AS\x20id','description','SELECT\x201\x20AS\x20id;','number','string','isFinite','1025170MPAFrE','trim','8ESiJMs','toISOString','mybatisXml','flag','utf8','Plain\x20SQL\x20(sql)','flagMissing','938496NtQpRS','27OaerGC','2126418lwqpqI','Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','db-id','</select>','679202wLGKij'];a236_0x2b3e=function(){return _0x432ef2;};return a236_0x2b3e();}import{CliErrors}from'../../errors.js';import{buildLocalSqlFileContent,buildSqlLockEntry,ensureRemoteSqlContent}from'./shared.js';function generateSqlTemplate(_0x55055c){const _0x3f3e04=a236_0x1916;if(_0x55055c===_0x3f3e04(0x18d))return[_0x3f3e04(0x182),_0x3f3e04(0x183),_0x3f3e04(0x198),''][_0x3f3e04(0x1b2)]('\x0a');return[_0x3f3e04(0x185),''][_0x3f3e04(0x1b2)]('\x0a');}export const sqlCreate={'service':'sql','command':a236_0x1694fe(0x1a0),'description':a236_0x1694fe(0x195),'risk':'write','flags':[{'name':'name','type':a236_0x1694fe(0x187),'description':a236_0x1694fe(0x1ae)},{'name':'db-id','type':a236_0x1694fe(0x186),'description':'Target\x20database\x20ID'},{'name':'mode','type':a236_0x1694fe(0x187),'enum':[a236_0x1694fe(0x19a),a236_0x1694fe(0x18d)],'description':a236_0x1694fe(0x19f)}],async 'validate'(_0x545bb7){const _0x5aaab6=a236_0x1694fe;if(!_0x545bb7[_0x5aaab6(0x17a)])return;if(!_0x545bb7[_0x5aaab6(0x1a5)]('name')[_0x5aaab6(0x18a)]())throw CliErrors['flagMissing'](_0x5aaab6(0x1b3),_0x5aaab6(0x1a6));const _0x2a4985=resolveProvidedDbId(_0x545bb7);if(typeof _0x2a4985!=='number'||!Number['isFinite'](_0x2a4985)||_0x2a4985<=0x0)throw CliErrors['flagMissing'](_0x5aaab6(0x197),_0x5aaab6(0x196));if(!_0x545bb7[_0x5aaab6(0x1a5)](_0x5aaab6(0x1a3))[_0x5aaab6(0x18a)]())throw CliErrors[_0x5aaab6(0x191)](_0x5aaab6(0x1a3),_0x5aaab6(0x1b4));},async 'dryRun'(_0x4cebf4){const _0x39727c=a236_0x1694fe,_0x187934=loadSqlProjectConfig(_0x4cebf4['appCode']),{sqlName:_0x5f2da6,dbId:_0x5a9f49,dbName:_0x4c9810,mode:_0x93c48a}=await resolveSqlNewInputs(_0x4cebf4),_0x3e8dac=buildSqlRelativePath('<server-generated-sqlCode>',_0x5f2da6,_0x4c9810,_0x93c48a,_0x5a9f49),_0xed7e4e=_0x187934[_0x39727c(0x175)]+'/'+_0x3e8dac;return{'method':_0x39727c(0x1a4),'url':_0x39727c(0x17e),'body':{'appCode':_0x4cebf4[_0x39727c(0x180)],'sqlName':_0x5f2da6,'dbId':_0x5a9f49,'mode':_0x93c48a,'localPath':_0xed7e4e},'description':_0x39727c(0x1a9)+_0x187934['sqlRootDir']};},async 'execute'(_0x422b4d){const _0x3299fc=a236_0x1694fe,_0x4e431e=loadSqlProjectConfig(_0x422b4d[_0x3299fc(0x180)]),{sqlName:_0x276d54,dbId:_0x5f464d,dbName:_0x1df5ed,mode:_0x526ca9}=await resolveSqlNewInputs(_0x422b4d),_0x58e6f3=generateSqlTemplate(_0x526ca9),_0x2f58ac=await createSqlQuery({'appCode':_0x422b4d['appCode'],'sqlName':_0x276d54,'dbId':_0x5f464d,'sqlContent':_0x58e6f3}),_0x5249f2=ensureRemoteSqlContent(_0x2f58ac),_0x2a7221=_0x1df5ed||await getDbName(_0x422b4d['appCode'],_0x5f464d)[_0x3299fc(0x17b)](()=>undefined),_0x543d85=buildSqlRelativePath(_0x2f58ac[_0x3299fc(0x1b1)],_0x2f58ac['sqlName'],_0x2a7221,_0x526ca9,_0x5f464d),_0x20c3f2=_0x4e431e[_0x3299fc(0x175)]+'/'+_0x543d85,_0x549b68=buildLocalSqlFileContent({'sqlCode':_0x2f58ac['sqlCode'],'sqlName':_0x2f58ac[_0x3299fc(0x1a8)],'dbId':_0x2f58ac['dbId']},_0x5249f2,{'dbName':_0x2a7221,'mode':_0x526ca9,'syncedAt':new Date()['toISOString'](),'description':_0x2f58ac[_0x3299fc(0x184)]});if(await fileExists(_0x20c3f2))throw CliErrors[_0x3299fc(0x1ad)]('File\x20already\x20exists:\x20'+_0x20c3f2);await ensureParentDirectory(_0x20c3f2),await writeFile(_0x20c3f2,_0x549b68,_0x3299fc(0x18f));const _0x23c931=await readSqlLockFile(_0x4e431e[_0x3299fc(0x19d)]),{lockData:_0x2f3cbb,appLock:_0x1fa5eb}=ensureSqlLockScope(_0x23c931??createEmptySqlLock(),_0x4e431e[_0x3299fc(0x180)],_0x4e431e[_0x3299fc(0x1aa)],'new');return _0x1fa5eb['sqls'][_0x2f58ac[_0x3299fc(0x1b1)]]={...buildSqlLockEntry(_0x2f58ac,_0x5249f2,computeSqlContentHash(_0x549b68),{'dbName':_0x2a7221}),'path':_0x543d85,'mode':_0x526ca9},_0x1fa5eb[_0x3299fc(0x1a1)]=new Date()[_0x3299fc(0x18c)](),await writeSqlLockFile(_0x4e431e[_0x3299fc(0x19d)],_0x2f3cbb),{'ok':!![],'data':{'id':_0x2f58ac['id'],'sqlCode':_0x2f58ac[_0x3299fc(0x1b1)],'sqlName':_0x2f58ac['sqlName'],'dbId':_0x2f58ac[_0x3299fc(0x17c)],'path':_0x20c3f2,'mode':_0x526ca9},'message':_0x3299fc(0x1a7)+_0x2f58ac[_0x3299fc(0x1b1)]};}};async function resolveSqlNewInputs(_0x3a1a57){const _0x58a7c3=await resolveSqlNameInput(_0x3a1a57),{dbId:_0x3569ae,dbName:_0x329274}=await resolveDbSelection(_0x3a1a57),_0xee71d0=await resolveSqlModeInput(_0x3a1a57);return{'sqlName':_0x58a7c3,'dbId':_0x3569ae,'dbName':_0x329274,'mode':_0xee71d0};}async function resolveSqlNameInput(_0x2c332a){const _0x5b61a4=a236_0x1694fe,_0x9a714a=_0x2c332a[_0x5b61a4(0x1a5)](_0x5b61a4(0x1b3))['trim']();if(_0x9a714a)return _0x9a714a;if(_0x2c332a[_0x5b61a4(0x17a)])throw CliErrors[_0x5b61a4(0x191)](_0x5b61a4(0x1b3),_0x5b61a4(0x1a6));return(await input({'message':_0x5b61a4(0x19b),'validate':_0x170d1b=>_0x170d1b['trim']()?!![]:_0x5b61a4(0x17d)}))['trim']();}async function resolveDbSelection(_0x589a65){const _0x5bc9e7=a236_0x1694fe,_0x575987=resolveProvidedDbId(_0x589a65);if(typeof _0x575987===_0x5bc9e7(0x186)&&Number[_0x5bc9e7(0x188)](_0x575987)&&_0x575987>0x0)return{'dbId':_0x575987,'dbName':await getDbName(_0x589a65['appCode'],_0x575987)['catch'](()=>undefined)};if(_0x589a65[_0x5bc9e7(0x17a)])throw CliErrors[_0x5bc9e7(0x191)](_0x5bc9e7(0x197),'--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.');const _0xeef8d1=await listDatabases(_0x589a65[_0x5bc9e7(0x180)])[_0x5bc9e7(0x17b)](()=>[]);if(_0xeef8d1[_0x5bc9e7(0x1ac)]===0x1)return{'dbId':_0xeef8d1[0x0]['dbId'],'dbName':_0xeef8d1[0x0][_0x5bc9e7(0x19c)]};if(_0xeef8d1['length']>0x1){const _0xeda06a=await select({'message':'Select\x20the\x20target\x20database:','choices':[..._0xeef8d1[_0x5bc9e7(0x179)](_0x1c4652=>({'name':_0x1c4652[_0x5bc9e7(0x19c)]+'\x20('+_0x1c4652[_0x5bc9e7(0x17c)]+')','value':serializeDbSelection(_0x1c4652)})),{'name':'✎\x20Enter\x20dbId\x20manually','value':_0x5bc9e7(0x174)}]});if(_0xeda06a!=='__manual__')return deserializeDbSelection(_0xeda06a);}const _0xf074a=await input({'message':_0x5bc9e7(0x181),'validate':_0x54f78f=>{const _0x1b2fa2=_0x54f78f['trim']();if(!_0x1b2fa2)return'dbId\x20cannot\x20be\x20empty';const _0x435d99=Number(_0x1b2fa2);if(!Number['isInteger'](_0x435d99)||_0x435d99<=0x0)return'dbId\x20must\x20be\x20a\x20positive\x20integer';return!![];}});return{'dbId':Number(_0xf074a['trim']())};}async function resolveSqlModeInput(_0x3d88ca){const _0x229edc=a236_0x1694fe,_0x314471=_0x3d88ca['str']('mode')[_0x229edc(0x18a)]();if(_0x314471===_0x229edc(0x19a)||_0x314471===_0x229edc(0x18d))return _0x314471;if(_0x3d88ca[_0x229edc(0x17a)])throw CliErrors[_0x229edc(0x191)](_0x229edc(0x1a3),_0x229edc(0x1b4));return await select({'message':_0x229edc(0x1b5),'choices':[{'name':_0x229edc(0x190),'value':_0x229edc(0x19a),'description':'For\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20statements\x20that\x20run\x20directly'},{'name':_0x229edc(0x1af),'value':_0x229edc(0x18d),'description':_0x229edc(0x17f)}]});}function serializeDbSelection(_0x50378d){const _0x2f3bdb=a236_0x1694fe;return JSON['stringify']({'dbId':_0x50378d[_0x2f3bdb(0x17c)],'dbName':_0x50378d['dbName']});}function deserializeDbSelection(_0x3ae1b9){const _0x4d76eb=a236_0x1694fe;try{const _0x17918d=JSON[_0x4d76eb(0x177)](_0x3ae1b9);if(typeof _0x17918d[_0x4d76eb(0x17c)]===_0x4d76eb(0x186)&&Number['isFinite'](_0x17918d[_0x4d76eb(0x17c)]))return{'dbId':_0x17918d[_0x4d76eb(0x17c)],'dbName':_0x17918d['dbName']};}catch{}throw CliErrors[_0x4d76eb(0x1ad)](_0x4d76eb(0x1ab)+_0x3ae1b9);}function resolveProvidedDbId(_0x48e622){const _0x38d721=a236_0x1694fe,_0x42c393=_0x48e622[_0x38d721(0x18e)](_0x38d721(0x197));if(typeof _0x42c393===_0x38d721(0x186)&&Number[_0x38d721(0x188)](_0x42c393))return _0x42c393;return undefined;}
@@ -1 +1 @@
1
- const a237_0x2ae4a7=a237_0x5160;function a237_0x3eaf(){const _0x4b26d7=['projectRoot','Deleted\x20','166265gnYeRE','4931694WaiQJT','\x20(local\x20file\x20moved\x20to\x20trash)','105464qGYsUC','trashedTo','Would\x20delete\x20SQL\x20','479525TVYxUT','15HEmFXz','fromEntries','Delete\x20a\x20SQL\x20query\x20from\x20remote\x20and\x20local','408106wWkAsx','sqlRoot','str','remoteId','No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22','appCode','POST','sqlcode','delete','lockFilePath','replace','toISOString','sqls','66IHTOVp','validation','SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.','length','3969160kbCouy','entries','startsWith','trashDir','sql','2008524mJJrKg','lastSync','SQL\x20lock\x20file\x20not\x20found.'];a237_0x3eaf=function(){return _0x4b26d7;};return a237_0x3eaf();}(function(_0x170554,_0x41132e){const _0x5716d2=a237_0x5160,_0x37b901=_0x170554();while(!![]){try{const _0x3c2a5c=-parseInt(_0x5716d2(0xfc))/0x1+parseInt(_0x5716d2(0x100))/0x2+parseInt(_0x5716d2(0xfd))/0x3*(-parseInt(_0x5716d2(0xf9))/0x4)+parseInt(_0x5716d2(0xf6))/0x5*(parseInt(_0x5716d2(0xe8))/0x6)+parseInt(_0x5716d2(0xf1))/0x7+-parseInt(_0x5716d2(0xec))/0x8+parseInt(_0x5716d2(0xf7))/0x9;if(_0x3c2a5c===_0x41132e)break;else _0x37b901['push'](_0x37b901['shift']());}catch(_0x3fb6d8){_0x37b901['push'](_0x37b901['shift']());}}}(a237_0x3eaf,0x48912));import{mkdir,readdir,rename,rmdir}from'node:fs/promises';import{dirname,join,relative,resolve,sep}from'node:path';import{deleteSqlQuery}from'../../core/api-client.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{fileExists}from'../../core/bff/file-system.js';import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';import{ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';function a237_0x5160(_0x2c372f,_0x328277){_0x2c372f=_0x2c372f-0xdc;const _0x3eaf7f=a237_0x3eaf();let _0x5160e5=_0x3eaf7f[_0x2c372f];return _0x5160e5;}import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDelete={'service':a237_0x2ae4a7(0xf0),'command':a237_0x2ae4a7(0xe3),'description':a237_0x2ae4a7(0xff),'risk':'high-risk-write','flags':[SQLCODE_FLAG],async 'validate'(_0x416892){const _0x1f1959=a237_0x2ae4a7,_0x7a513e=loadSqlProjectConfig(_0x416892[_0x1f1959(0xe0)]),_0x103c74=await readSqlLockFile(_0x7a513e[_0x1f1959(0xe4)]);if(!_0x103c74)throw CliErrors[_0x1f1959(0xe9)]('SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.');},async 'dryRun'(_0x4cc618){const _0x3c2255=a237_0x2ae4a7,_0x93fc2b=loadSqlProjectConfig(_0x4cc618['appCode']),_0x248ec8=await readSqlLockFile(_0x93fc2b[_0x3c2255(0xe4)]);if(!_0x248ec8)throw CliErrors[_0x3c2255(0xe9)](_0x3c2255(0xea));const {appLock:_0xb64430}=ensureSqlLockScope(_0x248ec8,_0x4cc618['appCode'],_0x93fc2b[_0x3c2255(0xdc)],_0x3c2255(0xe3)),_0x15f09e=_0x4cc618[_0x3c2255(0xdd)](_0x3c2255(0xe2)),_0x54dc2b=_0xb64430[_0x3c2255(0xe7)][_0x15f09e];if(!_0x54dc2b)throw CliErrors[_0x3c2255(0xe9)](_0x3c2255(0xdf)+_0x15f09e+'\x22.');return{'method':_0x3c2255(0xe1),'url':'/smartapi/custom/deleteUserCustomSql','body':{'sqlCode':_0x15f09e,'id':_0x54dc2b[_0x3c2255(0xde)],'localPath':resolveLocalSqlFilePath(_0x93fc2b,_0x15f09e,_0x54dc2b)},'description':_0x3c2255(0xfb)+_0x15f09e+'\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20'+_0x93fc2b['trashDir']};},async 'execute'(_0x47175b){const _0x20b813=a237_0x2ae4a7,_0x30a6d6=loadSqlProjectConfig(_0x47175b['appCode']),_0x168789=await readSqlLockFile(_0x30a6d6[_0x20b813(0xe4)]);if(!_0x168789)throw CliErrors[_0x20b813(0xe9)](_0x20b813(0xf3));const {lockData:_0x4acc3e,appLock:_0x595548}=ensureSqlLockScope(_0x168789,_0x47175b[_0x20b813(0xe0)],_0x30a6d6[_0x20b813(0xdc)],'delete'),_0xca7945=_0x47175b[_0x20b813(0xdd)]('sqlcode'),_0x2e762c=_0x595548[_0x20b813(0xe7)][_0xca7945];if(!_0x2e762c)throw CliErrors['validation'](_0x20b813(0xdf)+_0xca7945+'\x22.');await deleteSqlQuery({'id':_0x2e762c[_0x20b813(0xde)],'sqlCode':_0xca7945}),_0x595548['sqls']=Object[_0x20b813(0xfe)](Object[_0x20b813(0xed)](_0x595548[_0x20b813(0xe7)])['filter'](([_0x29785c])=>_0x29785c!==_0xca7945)),_0x595548[_0x20b813(0xf2)]=new Date()['toISOString'](),await writeSqlLockFile(_0x30a6d6[_0x20b813(0xe4)],_0x4acc3e);const _0xfb9659=resolveLocalSqlFilePath(_0x30a6d6,_0xca7945,_0x2e762c);let _0x2be04e;await fileExists(_0xfb9659)&&(_0x2be04e=await moveToTrash(_0x30a6d6[_0x20b813(0xf4)],_0x30a6d6[_0x20b813(0xef)],_0xfb9659),await cleanupEmptyDirectories(dirname(_0xfb9659),_0x30a6d6['sqlRootDir']));const _0x4c04cb={'deleted':_0xca7945,'remoteId':_0x2e762c[_0x20b813(0xde)]};if(_0x2be04e)_0x4c04cb[_0x20b813(0xfa)]=_0x2be04e;return{'ok':!![],'data':_0x4c04cb,'message':_0x20b813(0xf5)+_0xca7945+(_0x2be04e?_0x20b813(0xf8):'')};}};async function moveToTrash(_0x1f5a2b,_0x3aa2b2,_0x4f999b){const _0x21282c=a237_0x2ae4a7,_0x161bac=new Date()[_0x21282c(0xe6)]()[_0x21282c(0xe5)](/[:.]/g,'-'),_0x111bbd=relative(_0x1f5a2b,_0x4f999b),_0x2c6b56=join(_0x3aa2b2,_0x161bac,_0x111bbd);return await mkdir(dirname(_0x2c6b56),{'recursive':!![]}),await rename(_0x4f999b,_0x2c6b56),_0x2c6b56;}async function cleanupEmptyDirectories(_0x1abcc8,_0x31afdc){const _0x2e8d0f=a237_0x2ae4a7;let _0x45ed52=resolve(_0x1abcc8);const _0x2777e9=resolve(_0x31afdc);while(_0x45ed52[_0x2e8d0f(0xee)](''+_0x2777e9+sep)||_0x45ed52===_0x2777e9){if(_0x45ed52===_0x2777e9)return;try{const _0x2ca40d=await readdir(_0x45ed52);if(_0x2ca40d[_0x2e8d0f(0xeb)]>0x0)return;await rmdir(_0x45ed52);}catch{return;}_0x45ed52=dirname(_0x45ed52);}}
1
+ const a237_0x5013a4=a237_0x5a04;(function(_0x57d5a6,_0x36b8aa){const _0x528613=a237_0x5a04,_0x243b84=_0x57d5a6();while(!![]){try{const _0x3b14d4=-parseInt(_0x528613(0x182))/0x1+-parseInt(_0x528613(0x18c))/0x2*(parseInt(_0x528613(0x19f))/0x3)+parseInt(_0x528613(0x180))/0x4+parseInt(_0x528613(0x188))/0x5*(parseInt(_0x528613(0x17f))/0x6)+-parseInt(_0x528613(0x19b))/0x7+-parseInt(_0x528613(0x181))/0x8+-parseInt(_0x528613(0x196))/0x9*(-parseInt(_0x528613(0x191))/0xa);if(_0x3b14d4===_0x36b8aa)break;else _0x243b84['push'](_0x243b84['shift']());}catch(_0x1a3d3d){_0x243b84['push'](_0x243b84['shift']());}}}(a237_0x4723,0xb3a31));import{mkdir,readdir,rename,rmdir}from'node:fs/promises';function a237_0x5a04(_0x306c3d,_0x4ec063){_0x306c3d=_0x306c3d-0x17c;const _0x4723f0=a237_0x4723();let _0x5a04ac=_0x4723f0[_0x306c3d];return _0x5a04ac;}import{dirname,join,relative,resolve,sep}from'node:path';import{deleteSqlQuery}from'../../core/api-client.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{fileExists}from'../../core/bff/file-system.js';import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';import{ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDelete={'service':a237_0x5013a4(0x18e),'command':a237_0x5013a4(0x19d),'description':a237_0x5013a4(0x192),'risk':a237_0x5013a4(0x189),'flags':[SQLCODE_FLAG],async 'validate'(_0xbe243){const _0x54990f=a237_0x5013a4,_0x472348=loadSqlProjectConfig(_0xbe243[_0x54990f(0x198)]),_0x2da788=await readSqlLockFile(_0x472348[_0x54990f(0x19e)]);if(!_0x2da788)throw CliErrors[_0x54990f(0x183)]('SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.');},async 'dryRun'(_0x20997e){const _0x56aa81=a237_0x5013a4,_0x42820c=loadSqlProjectConfig(_0x20997e['appCode']),_0x2e7f68=await readSqlLockFile(_0x42820c[_0x56aa81(0x19e)]);if(!_0x2e7f68)throw CliErrors['validation'](_0x56aa81(0x17d));const {appLock:_0x5e9ee6}=ensureSqlLockScope(_0x2e7f68,_0x20997e[_0x56aa81(0x198)],_0x42820c['sqlRoot'],_0x56aa81(0x19d)),_0x3f8cf0=_0x20997e['str']('sqlcode'),_0x3d138a=_0x5e9ee6[_0x56aa81(0x187)][_0x3f8cf0];if(!_0x3d138a)throw CliErrors[_0x56aa81(0x183)]('No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22'+_0x3f8cf0+'\x22.');return{'method':'POST','url':_0x56aa81(0x1a1),'body':{'sqlCode':_0x3f8cf0,'id':_0x3d138a['remoteId'],'localPath':resolveLocalSqlFilePath(_0x42820c,_0x3f8cf0,_0x3d138a)},'description':_0x56aa81(0x19a)+_0x3f8cf0+_0x56aa81(0x190)+_0x42820c['trashDir']};},async 'execute'(_0x4643a9){const _0x49bb11=a237_0x5013a4,_0x29da47=loadSqlProjectConfig(_0x4643a9['appCode']),_0x6d9fb6=await readSqlLockFile(_0x29da47['lockFilePath']);if(!_0x6d9fb6)throw CliErrors[_0x49bb11(0x183)](_0x49bb11(0x18f));const {lockData:_0x599d99,appLock:_0x551d4e}=ensureSqlLockScope(_0x6d9fb6,_0x4643a9[_0x49bb11(0x198)],_0x29da47['sqlRoot'],'delete'),_0x12fc6a=_0x4643a9[_0x49bb11(0x197)](_0x49bb11(0x199)),_0x114dc7=_0x551d4e[_0x49bb11(0x187)][_0x12fc6a];if(!_0x114dc7)throw CliErrors[_0x49bb11(0x183)](_0x49bb11(0x193)+_0x12fc6a+'\x22.');await deleteSqlQuery({'id':_0x114dc7['remoteId'],'sqlCode':_0x12fc6a}),_0x551d4e[_0x49bb11(0x187)]=Object[_0x49bb11(0x195)](Object[_0x49bb11(0x19c)](_0x551d4e[_0x49bb11(0x187)])[_0x49bb11(0x18b)](([_0x3e0673])=>_0x3e0673!==_0x12fc6a)),_0x551d4e[_0x49bb11(0x185)]=new Date()[_0x49bb11(0x184)](),await writeSqlLockFile(_0x29da47[_0x49bb11(0x19e)],_0x599d99);const _0x2d33f1=resolveLocalSqlFilePath(_0x29da47,_0x12fc6a,_0x114dc7);let _0x4ef8df;await fileExists(_0x2d33f1)&&(_0x4ef8df=await moveToTrash(_0x29da47['projectRoot'],_0x29da47[_0x49bb11(0x1a0)],_0x2d33f1),await cleanupEmptyDirectories(dirname(_0x2d33f1),_0x29da47[_0x49bb11(0x1a2)]));const _0x29d857={'deleted':_0x12fc6a,'remoteId':_0x114dc7[_0x49bb11(0x17e)]};if(_0x4ef8df)_0x29d857[_0x49bb11(0x17c)]=_0x4ef8df;return{'ok':!![],'data':_0x29d857,'message':_0x49bb11(0x186)+_0x12fc6a+(_0x4ef8df?_0x49bb11(0x18d):'')};}};async function moveToTrash(_0x1effe1,_0x1e6d75,_0x345688){const _0x2b0917=a237_0x5013a4,_0x4ee693=new Date()[_0x2b0917(0x184)]()[_0x2b0917(0x18a)](/[:.]/g,'-'),_0x1240ae=relative(_0x1effe1,_0x345688),_0x2565f1=join(_0x1e6d75,_0x4ee693,_0x1240ae);return await mkdir(dirname(_0x2565f1),{'recursive':!![]}),await rename(_0x345688,_0x2565f1),_0x2565f1;}function a237_0x4723(){const _0x4852c7=['Deleted\x20','sqls','5RDwARm','high-risk-write','replace','filter','769764IjuWDA','\x20(local\x20file\x20moved\x20to\x20trash)','sql','SQL\x20lock\x20file\x20not\x20found.','\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20','3264830rwtyjS','Delete\x20a\x20SQL\x20query\x20from\x20remote\x20and\x20local','No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22','length','fromEntries','9afFbYm','str','appCode','sqlcode','Would\x20delete\x20SQL\x20','5576865Hhlayk','entries','delete','lockFilePath','3haDkbI','trashDir','/smartapi/custom/deleteUserCustomSql','sqlRootDir','trashedTo','SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.','remoteId','7784298KMlqEc','3650080ypiaTh','2142952nFpaQD','351147wxvRPI','validation','toISOString','lastSync'];a237_0x4723=function(){return _0x4852c7;};return a237_0x4723();}async function cleanupEmptyDirectories(_0x400c27,_0x27ab2d){const _0x4b637f=a237_0x5013a4;let _0x1cf913=resolve(_0x400c27);const _0x3c55b1=resolve(_0x27ab2d);while(_0x1cf913['startsWith'](''+_0x3c55b1+sep)||_0x1cf913===_0x3c55b1){if(_0x1cf913===_0x3c55b1)return;try{const _0x1ce731=await readdir(_0x1cf913);if(_0x1ce731[_0x4b637f(0x194)]>0x0)return;await rmdir(_0x1cf913);}catch{return;}_0x1cf913=dirname(_0x1cf913);}}