@lovrabet/rabetbase-cli 2.1.12 → 2.1.13

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 (200) hide show
  1. package/lib/api/api-doc.js +1 -1
  2. package/lib/api/fetch-model-list.js +1 -1
  3. package/lib/api/generate-api-file.js +1 -1
  4. package/lib/auth/auth-server-ui.js +1 -1
  5. package/lib/auth/auth-server.js +1 -1
  6. package/lib/auth/constant.js +1 -1
  7. package/lib/auth/get-cookie.js +1 -1
  8. package/lib/auth/get-session-user.js +1 -1
  9. package/lib/auth/is-session-valid.js +1 -1
  10. package/lib/auth/login-success-html.js +1 -1
  11. package/lib/auth/logout.js +1 -1
  12. package/lib/cli-flags.js +1 -1
  13. package/lib/cli.js +1 -1
  14. package/lib/commands/api/generate.js +1 -1
  15. package/lib/commands/api/index.js +1 -1
  16. package/lib/commands/api/list.js +1 -1
  17. package/lib/commands/api/pull.js +1 -1
  18. package/lib/commands/api/shared.js +1 -1
  19. package/lib/commands/app/add.js +1 -1
  20. package/lib/commands/app/discover.js +1 -1
  21. package/lib/commands/app/index.js +1 -1
  22. package/lib/commands/app/list.js +1 -1
  23. package/lib/commands/app/remove.js +1 -1
  24. package/lib/commands/app/shared.js +1 -1
  25. package/lib/commands/app/use.js +1 -1
  26. package/lib/commands/auth/index.js +1 -1
  27. package/lib/commands/bff/create.js +1 -1
  28. package/lib/commands/bff/delete.js +1 -1
  29. package/lib/commands/bff/detail.js +1 -1
  30. package/lib/commands/bff/index.js +1 -1
  31. package/lib/commands/bff/list.js +1 -1
  32. package/lib/commands/bff/pull.js +1 -1
  33. package/lib/commands/bff/push.js +1 -1
  34. package/lib/commands/bff/status.js +1 -1
  35. package/lib/commands/cli-update.js +1 -1
  36. package/lib/commands/codegen/index.js +1 -1
  37. package/lib/commands/codegen/sdk.js +1 -1
  38. package/lib/commands/codegen/sql.js +1 -1
  39. package/lib/commands/common/app-selector.js +1 -1
  40. package/lib/commands/common/flags.js +1 -1
  41. package/lib/commands/common/validate.js +1 -1
  42. package/lib/commands/config/get.js +1 -1
  43. package/lib/commands/config/index.js +1 -1
  44. package/lib/commands/config/list.js +1 -1
  45. package/lib/commands/config/set.js +1 -1
  46. package/lib/commands/config/shared.js +1 -1
  47. package/lib/commands/data/filter.js +1 -1
  48. package/lib/commands/data/getOne.js +1 -1
  49. package/lib/commands/data/index.js +1 -1
  50. package/lib/commands/data/shared.js +1 -1
  51. package/lib/commands/dataset/capability.js +1 -1
  52. package/lib/commands/dataset/delete.js +1 -1
  53. package/lib/commands/dataset/detail.js +1 -1
  54. package/lib/commands/dataset/field-update.js +1 -1
  55. package/lib/commands/dataset/index.js +1 -1
  56. package/lib/commands/dataset/link-create.js +1 -1
  57. package/lib/commands/dataset/link-delete.js +1 -1
  58. package/lib/commands/dataset/link-shared.js +1 -1
  59. package/lib/commands/dataset/link-update.js +1 -1
  60. package/lib/commands/dataset/links.js +1 -1
  61. package/lib/commands/dataset/list.js +1 -1
  62. package/lib/commands/dataset/operations.js +1 -1
  63. package/lib/commands/db/analyze-cancel.js +1 -1
  64. package/lib/commands/db/analyze-start.js +1 -1
  65. package/lib/commands/db/analyze-status.js +1 -1
  66. package/lib/commands/db/create.js +1 -1
  67. package/lib/commands/db/delete.js +1 -1
  68. package/lib/commands/db/detail.js +1 -1
  69. package/lib/commands/db/diff.js +1 -1
  70. package/lib/commands/db/index.js +1 -1
  71. package/lib/commands/db/list.js +1 -1
  72. package/lib/commands/db/shared.js +1 -1
  73. package/lib/commands/db/tables.js +1 -1
  74. package/lib/commands/db/test.js +1 -1
  75. package/lib/commands/db/update.js +1 -1
  76. package/lib/commands/doctor.js +1 -1
  77. package/lib/commands/init/index.js +1 -1
  78. package/lib/commands/issue/index.js +1 -1
  79. package/lib/commands/issue/nudge.js +1 -1
  80. package/lib/commands/issue/report.js +1 -1
  81. package/lib/commands/issue/shared.js +1 -1
  82. package/lib/commands/logs/index.js +1 -1
  83. package/lib/commands/menu/index.js +1 -1
  84. package/lib/commands/menu/shared/compare-table.js +1 -1
  85. package/lib/commands/menu/shared/index.js +1 -1
  86. package/lib/commands/menu/shared/inquirer.js +1 -1
  87. package/lib/commands/menu/shared/local-pages.js +1 -1
  88. package/lib/commands/menu/shared/logic.js +1 -1
  89. package/lib/commands/menu/shared/service.js +1 -1
  90. package/lib/commands/menu/shared/sync-core.js +1 -1
  91. package/lib/commands/menu/shared/update-core.js +1 -1
  92. package/lib/commands/menu/shared/valid-url.js +1 -1
  93. package/lib/commands/menu/sync.js +1 -1
  94. package/lib/commands/menu/update.js +1 -1
  95. package/lib/commands/page/generate-start.js +1 -1
  96. package/lib/commands/page/generate-status.js +1 -1
  97. package/lib/commands/page/index.js +1 -1
  98. package/lib/commands/page/pull.js +1 -1
  99. package/lib/commands/page/push.js +1 -1
  100. package/lib/commands/page/shared.js +1 -1
  101. package/lib/commands/page/standard-page-status.js +1 -1
  102. package/lib/commands/page/sync.js +1 -1
  103. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  104. package/lib/commands/project/create/format-elapsed.js +1 -1
  105. package/lib/commands/project/create/main.js +1 -1
  106. package/lib/commands/project/create/non-interactive.js +1 -1
  107. package/lib/commands/project/create/project-template-path.js +1 -1
  108. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  109. package/lib/commands/project/create/use-format-code.js +1 -1
  110. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  111. package/lib/commands/project/index.js +1 -1
  112. package/lib/commands/project/init.js +1 -1
  113. package/lib/commands/project/upgrade.js +1 -1
  114. package/lib/commands/registry.js +1 -1
  115. package/lib/commands/run/index.js +1 -1
  116. package/lib/commands/schema.js +1 -1
  117. package/lib/commands/skill/index.js +1 -1
  118. package/lib/commands/sql/create.js +1 -1
  119. package/lib/commands/sql/delete.js +1 -1
  120. package/lib/commands/sql/detail.js +1 -1
  121. package/lib/commands/sql/exec.js +1 -1
  122. package/lib/commands/sql/index.js +1 -1
  123. package/lib/commands/sql/list.js +1 -1
  124. package/lib/commands/sql/pull.js +1 -1
  125. package/lib/commands/sql/push.js +1 -1
  126. package/lib/commands/sql/save.js +1 -1
  127. package/lib/commands/sql/shared.js +1 -1
  128. package/lib/commands/sql/status.js +1 -1
  129. package/lib/commands/sql/validate.js +1 -1
  130. package/lib/config/schema.js +1 -1
  131. package/lib/constant/cdn.js +1 -1
  132. package/lib/constant/cli.js +1 -1
  133. package/lib/constant/defaults.js +1 -1
  134. package/lib/constant/domain.js +1 -1
  135. package/lib/constant/env.js +1 -1
  136. package/lib/constant/output.js +1 -1
  137. package/lib/constant/paths.js +1 -1
  138. package/lib/constant/risk.js +1 -1
  139. package/lib/context.js +1 -1
  140. package/lib/core/alias-resolver.js +1 -1
  141. package/lib/core/api-client.js +1 -1
  142. package/lib/core/bff/config.js +1 -1
  143. package/lib/core/bff/file-system.js +1 -1
  144. package/lib/core/bff/hash.js +1 -1
  145. package/lib/core/bff/lock.js +1 -1
  146. package/lib/core/bff/utils.js +1 -1
  147. package/lib/core/db-resolver.js +1 -1
  148. package/lib/core/page/file-system.js +1 -1
  149. package/lib/core/page/hash.js +1 -1
  150. package/lib/core/page/lock.js +1 -1
  151. package/lib/core/sql-sync/config.js +1 -1
  152. package/lib/core/sql-sync/file-system.js +1 -1
  153. package/lib/core/sql-sync/hash.js +1 -1
  154. package/lib/core/sql-sync/lock.js +1 -1
  155. package/lib/core/sql-sync/utils.js +1 -1
  156. package/lib/core/sql-validator.js +1 -1
  157. package/lib/errors.js +1 -1
  158. package/lib/framework/build-all-flags.js +1 -1
  159. package/lib/framework/flags.js +1 -1
  160. package/lib/framework/help.js +1 -1
  161. package/lib/framework/index.js +1 -1
  162. package/lib/framework/output.js +1 -1
  163. package/lib/framework/response.js +1 -1
  164. package/lib/framework/runner-alias.js +1 -1
  165. package/lib/framework/runner.js +1 -1
  166. package/lib/framework/schema-export.js +1 -1
  167. package/lib/framework/types.js +1 -1
  168. package/lib/generated/build-info.js +1 -1
  169. package/lib/help.js +1 -1
  170. package/lib/skills/main.js +1 -1
  171. package/lib/skills/npx-skills-add.js +1 -1
  172. package/lib/telemetry/cli-command-trace.js +1 -1
  173. package/lib/telemetry/cli-help-trace.js +1 -1
  174. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  175. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  176. package/lib/telemetry/send-cli-trace-log.js +1 -1
  177. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  178. package/lib/utils/ai_config.js +1 -1
  179. package/lib/utils/apply-jq-filter.js +1 -1
  180. package/lib/utils/cdn-config.js +1 -1
  181. package/lib/utils/check-sdk-version.js +1 -1
  182. package/lib/utils/cli-version-check.js +1 -1
  183. package/lib/utils/cli-version-policy.js +1 -1
  184. package/lib/utils/config.js +1 -1
  185. package/lib/utils/copy-directory.js +1 -1
  186. package/lib/utils/entity-with-id.js +1 -1
  187. package/lib/utils/file-utils.js +1 -1
  188. package/lib/utils/guides-cdn.js +1 -1
  189. package/lib/utils/http-client.js +1 -1
  190. package/lib/utils/is-non-interactive.js +1 -1
  191. package/lib/utils/logger.js +1 -1
  192. package/lib/utils/params.js +1 -1
  193. package/lib/utils/platform.js +1 -1
  194. package/lib/utils/rules-cdn.js +1 -1
  195. package/lib/utils/sleep.js +1 -1
  196. package/lib/utils/template-replacer.js +1 -1
  197. package/lib/utils/version.js +1 -1
  198. package/lib/utils/with-active-cookie.js +1 -1
  199. package/lib/utils/write-cli-side-channel.js +1 -1
  200. package/package.json +1 -1
@@ -1 +1 @@
1
- function a19_0x1e0f(_0x58cc0a,_0x14c842){_0x58cc0a=_0x58cc0a-0x1c1;const _0x630645=a19_0x6306();let _0x1e0f1f=_0x630645[_0x58cc0a];return _0x1e0f1f;}const a19_0x79cd9d=a19_0x1e0f;(function(_0x10f447,_0x113656){const _0x3ceeed=a19_0x1e0f,_0x4f5d83=_0x10f447();while(!![]){try{const _0x5ad093=parseInt(_0x3ceeed(0x1cd))/0x1*(parseInt(_0x3ceeed(0x1c6))/0x2)+parseInt(_0x3ceeed(0x1cf))/0x3+parseInt(_0x3ceeed(0x1d0))/0x4*(-parseInt(_0x3ceeed(0x1cb))/0x5)+-parseInt(_0x3ceeed(0x1c2))/0x6+parseInt(_0x3ceeed(0x1c1))/0x7+-parseInt(_0x3ceeed(0x1c8))/0x8+-parseInt(_0x3ceeed(0x1c7))/0x9;if(_0x5ad093===_0x113656)break;else _0x4f5d83['push'](_0x4f5d83['shift']());}catch(_0xa60222){_0x4f5d83['push'](_0x4f5d83['shift']());}}}(a19_0x6306,0x58dcf));import{listRemoteApps}from'../../core/api-client.js';async function execute(_0x5bece8){const _0x42cf13=a19_0x1e0f,{setActiveCookie:_0x2f6ff6}=await import(_0x42cf13(0x1c5));_0x2f6ff6(_0x5bece8[_0x42cf13(0x1ca)]);const _0x492ac0=await listRemoteApps();return{'ok':!![],'data':{'items':_0x492ac0[_0x42cf13(0x1c3)](_0x341963=>({..._0x341963['id']!=null?{'id':_0x341963['id']}:{},'appCode':_0x341963['appCode'],'appName':_0x341963['appName'],..._0x341963[_0x42cf13(0x1c9)]!=null?{'appDesc':_0x341963[_0x42cf13(0x1c9)]}:{}})),'meta':{'source':_0x42cf13(0x1ce)}}};}function a19_0x6306(){const _0xf22dd7=['102904TpCyGA','4633209Mlagbh','1508292ExItht','map','read','../../core/api-client.js','2XjmAGW','527040OhJStw','206232juZyeq','appDesc','cookie','105wvbDmy','remote','537147IgbFtN','platform','122748KfGsHX'];a19_0x6306=function(){return _0xf22dd7;};return a19_0x6306();}export const appRemoteDefinition={'service':'app','command':a19_0x79cd9d(0x1cc),'description':'List\x20apps\x20available\x20on\x20the\x20platform\x20for\x20the\x20current\x20login','risk':a19_0x79cd9d(0x1c4),'requiresAuth':!![],'requiresAppCode':![],'flags':[],'execute':execute};
1
+ const a19_0x34433b=a19_0x10ea;(function(_0x31ebf6,_0x5c51fd){const _0x5c44ed=a19_0x10ea,_0x2f1845=_0x31ebf6();while(!![]){try{const _0x710ed7=parseInt(_0x5c44ed(0x1d1))/0x1*(parseInt(_0x5c44ed(0x1d4))/0x2)+-parseInt(_0x5c44ed(0x1d2))/0x3+-parseInt(_0x5c44ed(0x1d8))/0x4+parseInt(_0x5c44ed(0x1d0))/0x5*(-parseInt(_0x5c44ed(0x1d7))/0x6)+-parseInt(_0x5c44ed(0x1cf))/0x7+parseInt(_0x5c44ed(0x1cd))/0x8+parseInt(_0x5c44ed(0x1ca))/0x9*(parseInt(_0x5c44ed(0x1cb))/0xa);if(_0x710ed7===_0x5c51fd)break;else _0x2f1845['push'](_0x2f1845['shift']());}catch(_0x30130b){_0x2f1845['push'](_0x2f1845['shift']());}}}(a19_0x4ad0,0x7dcef));import{listRemoteApps}from'../../core/api-client.js';function a19_0x10ea(_0x5b832b,_0x5315e9){_0x5b832b=_0x5b832b-0x1ca;const _0x4ad00c=a19_0x4ad0();let _0x10eae2=_0x4ad00c[_0x5b832b];return _0x10eae2;}async function execute(_0x40ec0d){const _0x1d5b64=a19_0x10ea,{setActiveCookie:_0x31ed9f}=await import(_0x1d5b64(0x1d3));_0x31ed9f(_0x40ec0d[_0x1d5b64(0x1da)]);const _0x14183f=await listRemoteApps();return{'ok':!![],'data':{'items':_0x14183f['map'](_0x304a72=>({..._0x304a72['id']!=null?{'id':_0x304a72['id']}:{},'appCode':_0x304a72[_0x1d5b64(0x1d5)],'appName':_0x304a72['appName'],..._0x304a72[_0x1d5b64(0x1cc)]!=null?{'appDesc':_0x304a72[_0x1d5b64(0x1cc)]}:{}})),'meta':{'source':'platform'}}};}function a19_0x4ad0(){const _0x31ddc5=['10TOCEdE','appDesc','5144848tYJrke','app','1196573QyktQW','5gSJuPu','1083LHPYqU','508884gLUSTR','../../core/api-client.js','398feqHSJ','appCode','remote','2895996SFRUDZ','1783472yoEQXF','List\x20apps\x20available\x20on\x20the\x20platform\x20for\x20the\x20current\x20login','cookie','8332101EoHmNh'];a19_0x4ad0=function(){return _0x31ddc5;};return a19_0x4ad0();}export const appRemoteDefinition={'service':a19_0x34433b(0x1ce),'command':a19_0x34433b(0x1d6),'description':a19_0x34433b(0x1d9),'risk':'read','requiresAuth':!![],'requiresAppCode':![],'flags':[],'execute':execute};
@@ -1 +1 @@
1
- (function(_0x3a7ee3,_0x378aec){const _0x1d2370=a20_0xc08e,_0x1c2e2a=_0x3a7ee3();while(!![]){try{const _0x3afd5b=-parseInt(_0x1d2370(0x1a4))/0x1*(-parseInt(_0x1d2370(0x19f))/0x2)+-parseInt(_0x1d2370(0x1a3))/0x3+-parseInt(_0x1d2370(0x1a0))/0x4*(-parseInt(_0x1d2370(0x19d))/0x5)+parseInt(_0x1d2370(0x19e))/0x6*(parseInt(_0x1d2370(0x19c))/0x7)+parseInt(_0x1d2370(0x1a1))/0x8+-parseInt(_0x1d2370(0x1a2))/0x9+-parseInt(_0x1d2370(0x1a5))/0xa*(parseInt(_0x1d2370(0x1a6))/0xb);if(_0x3afd5b===_0x378aec)break;else _0x1c2e2a['push'](_0x1c2e2a['shift']());}catch(_0x4ad35e){_0x1c2e2a['push'](_0x1c2e2a['shift']());}}}(a20_0x1ba5,0x63a51));import{appListDefinition}from'../../commands/app/list.js';import{appRemoteDefinition}from'../../commands/app/discover.js';import{appUseDefinition}from'../../commands/app/use.js';function a20_0xc08e(_0xbff388,_0x132993){_0xbff388=_0xbff388-0x19c;const _0x1ba5bc=a20_0x1ba5();let _0xc08e99=_0x1ba5bc[_0xbff388];return _0xc08e99;}import{appAddDefinition}from'../../commands/app/add.js';import{appRemoveDefinition}from'../../commands/app/remove.js';function a20_0x1ba5(){const _0x4a94b6=['5eWkVCG','6hhTqxA','1385222oReXKR','533956bPkzKc','1239672ZoqiMC','441180xNYgKw','1303275gIgzFp','1NNbsvn','20LQJQvA','3846337ezfzYw','4269055gXpPlG'];a20_0x1ba5=function(){return _0x4a94b6;};return a20_0x1ba5();}export const appDefinitions=[appListDefinition,appRemoteDefinition,appUseDefinition,appAddDefinition,appRemoveDefinition];
1
+ (function(_0x32afb1,_0x2615e4){const _0x1f13e3=a20_0x4e4c,_0x493282=_0x32afb1();while(!![]){try{const _0x3c39c0=-parseInt(_0x1f13e3(0x11f))/0x1*(-parseInt(_0x1f13e3(0x118))/0x2)+parseInt(_0x1f13e3(0x11c))/0x3+parseInt(_0x1f13e3(0x117))/0x4*(parseInt(_0x1f13e3(0x11e))/0x5)+-parseInt(_0x1f13e3(0x11b))/0x6+parseInt(_0x1f13e3(0x11d))/0x7+parseInt(_0x1f13e3(0x119))/0x8*(parseInt(_0x1f13e3(0x11a))/0x9)+-parseInt(_0x1f13e3(0x121))/0xa*(parseInt(_0x1f13e3(0x120))/0xb);if(_0x3c39c0===_0x2615e4)break;else _0x493282['push'](_0x493282['shift']());}catch(_0x57353e){_0x493282['push'](_0x493282['shift']());}}}(a20_0x4af5,0x9dd92));import{appListDefinition}from'../../commands/app/list.js';import{appRemoteDefinition}from'../../commands/app/discover.js';import{appUseDefinition}from'../../commands/app/use.js';function a20_0x4af5(){const _0x1d9462=['70uepGej','20aCXHOP','38nkFAuL','2080wFrTEl','29106FcvUYV','6142122rEEUXS','1005603KFOUiR','7494501LNVDpx','468345xgAHHl','11587nVliRg','1987777yhsvyf'];a20_0x4af5=function(){return _0x1d9462;};return a20_0x4af5();}function a20_0x4e4c(_0x4dacb8,_0x4af55a){_0x4dacb8=_0x4dacb8-0x117;const _0x4af5d3=a20_0x4af5();let _0x4e4c0f=_0x4af5d3[_0x4dacb8];return _0x4e4c0f;}import{appAddDefinition}from'../../commands/app/add.js';import{appRemoveDefinition}from'../../commands/app/remove.js';export const appDefinitions=[appListDefinition,appRemoteDefinition,appUseDefinition,appAddDefinition,appRemoveDefinition];
@@ -1 +1 @@
1
- const a21_0x4d037b=a21_0x3288;(function(_0x40dcb0,_0x17e6a8){const _0x4de7d9=a21_0x3288,_0x5cf906=_0x40dcb0();while(!![]){try{const _0x7d4094=parseInt(_0x4de7d9(0xd4))/0x1+parseInt(_0x4de7d9(0xde))/0x2*(parseInt(_0x4de7d9(0xe0))/0x3)+-parseInt(_0x4de7d9(0xe1))/0x4+-parseInt(_0x4de7d9(0xe9))/0x5*(parseInt(_0x4de7d9(0xe4))/0x6)+-parseInt(_0x4de7d9(0xd2))/0x7+parseInt(_0x4de7d9(0xc8))/0x8+-parseInt(_0x4de7d9(0xd0))/0x9*(-parseInt(_0x4de7d9(0xcb))/0xa);if(_0x7d4094===_0x17e6a8)break;else _0x5cf906['push'](_0x5cf906['shift']());}catch(_0x1dc2d9){_0x5cf906['push'](_0x5cf906['shift']());}}}(a21_0x32c4,0x672e1));import{readRawConfigWithLayers}from'../../context.js';import{CLI_BIN_NAME}from'../../constant/cli.js';function a21_0x3288(_0x1cc188,_0x204aeb){_0x1cc188=_0x1cc188-0xc8;const _0x32c4d5=a21_0x32c4();let _0x328895=_0x32c4d5[_0x1cc188];return _0x328895;}import{buildAppProfileListFields}from'../../config/schema.js';import{appDefinedIn,enrichAppListItemsWithMergedSelection,resolveDefaultAppSource}from'../../commands/app/shared.js';function buildItemsFromLayer(_0x5d4de5,_0x21e11a){const _0x43b66b=a21_0x3288,_0xc630b3=[],_0x1f98b1=_0x5d4de5['apps']&&typeof _0x5d4de5[_0x43b66b(0xdc)]===_0x43b66b(0xd5)?_0x5d4de5[_0x43b66b(0xdc)]:{},_0xfda0aa=_0x5d4de5[_0x43b66b(0xdb)]||undefined;for(const [_0x2ade95,_0x1a8d05]of Object[_0x43b66b(0xe2)](_0x1f98b1)){if(!_0x1a8d05||typeof _0x1a8d05!==_0x43b66b(0xd5)||!_0x1a8d05[_0x43b66b(0xcc)])continue;_0xc630b3[_0x43b66b(0xd6)]({'name':_0x2ade95,'appcode':_0x1a8d05[_0x43b66b(0xcc)],'named':!![],'definedIn':_0x21e11a,'isDefault':_0x2ade95===_0xfda0aa,...buildAppProfileListFields(_0x1a8d05)});}return _0xc630b3;}function a21_0x32c4(){const _0x2b9374=['projectPath','defaultApp','apps','globalConfig','424ZqMybV','inherit','6993AdeNVG','506236sAEOwI','entries','boolean','176064XbjozW','length','Show\x20only\x20apps\x20from\x20project\x20.rabetbase.json','No\x20apps\x20configured','project','140CJBIwX','global','\x20config','5594144RPNFNG','isCurrent','mergedCli','65400zxGBba','appcode','.\x20Use\x20`','find','merged','387hWhLrX','bool','5264063XHPNSW','\x20app\x20add\x20<name>\x20--appcode\x20<code>`\x20to\x20add\x20one.','648165pEvQLP','object','push','globalPath','app','projectConfig'];a21_0x32c4=function(){return _0x2b9374;};return a21_0x32c4();}function buildMergedItems(_0x5259d2,_0x27a551){const _0x4fd71a=a21_0x3288,{apps:apps={},defaultApp:_0x447549}=_0x5259d2,_0x4a02ed=_0x27a551[_0x4fd71a(0xdd)][_0x4fd71a(0xdc)]&&typeof _0x27a551[_0x4fd71a(0xdd)][_0x4fd71a(0xdc)]===_0x4fd71a(0xd5)?_0x27a551[_0x4fd71a(0xdd)]['apps']:{},_0x126f7a=_0x27a551[_0x4fd71a(0xd9)][_0x4fd71a(0xdc)]&&typeof _0x27a551[_0x4fd71a(0xd9)]['apps']===_0x4fd71a(0xd5)?_0x27a551[_0x4fd71a(0xd9)][_0x4fd71a(0xdc)]:{},_0x57d307=_0x27a551['projectConfig'][_0x4fd71a(0xdf)]===![],_0x369ac1=Object[_0x4fd71a(0xe2)](apps),_0x4974b6=_0x369ac1['map'](([_0x2af861,_0x5ced01])=>({'name':_0x2af861,'appcode':_0x5ced01[_0x4fd71a(0xcc)],'named':!![],'definedIn':appDefinedIn(_0x2af861,_0x4a02ed,_0x126f7a,_0x57d307),'isDefault':_0x2af861===_0x447549,...buildAppProfileListFields(_0x5ced01)}));return _0x4974b6;}async function execute(_0x58b02c){const _0x5b2bca=a21_0x3288,_0x1162e5=_0x58b02c[_0x5b2bca(0xd1)](_0x5b2bca(0xea)),_0x34cdf5=_0x58b02c[_0x5b2bca(0xd1)](_0x5b2bca(0xe8)),_0x68f1ce=_0x1162e5?_0x5b2bca(0xea):_0x34cdf5?_0x5b2bca(0xe8):_0x5b2bca(0xcf),{config:_0x5f5440,layers:_0x4b3912}=readRawConfigWithLayers(),_0x304750=resolveDefaultAppSource(_0x4b3912),{defaultApp:_0x49dbd3}=_0x5f5440;let _0x4459ce,_0x8ca6c2;switch(_0x68f1ce){case _0x5b2bca(0xea):_0x4459ce=buildItemsFromLayer(_0x4b3912[_0x5b2bca(0xdd)],_0x5b2bca(0xea)),_0x8ca6c2=_0x4b3912[_0x5b2bca(0xd7)];break;case _0x5b2bca(0xe8):_0x4459ce=buildItemsFromLayer(_0x4b3912[_0x5b2bca(0xd9)],_0x5b2bca(0xe8)),_0x8ca6c2=_0x4b3912[_0x5b2bca(0xda)];break;default:_0x4459ce=buildMergedItems(_0x5f5440,_0x4b3912);break;}enrichAppListItemsWithMergedSelection(_0x4459ce,_0x58b02c[_0x5b2bca(0xca)]);if(_0x4459ce[_0x5b2bca(0xe5)]===0x0){const _0x5db024=_0x68f1ce===_0x5b2bca(0xcf)?'':'\x20in\x20'+_0x68f1ce+_0x5b2bca(0xeb);return{'ok':!![],'data':[],'message':_0x5b2bca(0xe7)+_0x5db024+_0x5b2bca(0xcd)+CLI_BIN_NAME+_0x5b2bca(0xd3)};}const _0x5c27c5=_0x4459ce[_0x5b2bca(0xce)](_0x53a2d6=>_0x53a2d6[_0x5b2bca(0xc9)]===!![]),_0x414c94=_0x49dbd3??_0x5c27c5?.[_0x5b2bca(0xcc)]??null,_0x3fe895=_0x68f1ce===_0x5b2bca(0xcf)?{'globalPath':_0x4b3912[_0x5b2bca(0xd7)]??null,'projectPath':_0x4b3912[_0x5b2bca(0xda)]??null,'defaultApp':_0x414c94,'defaultAppSource':_0x49dbd3!=null?_0x304750:null}:{'scope':_0x68f1ce,'configPath':_0x8ca6c2??null};return{'ok':!![],'data':{'items':_0x4459ce,'meta':_0x3fe895}};}export const appListDefinition={'service':a21_0x4d037b(0xd8),'command':'list','description':'List\x20all\x20configured\x20apps','risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[{'name':a21_0x4d037b(0xea),'type':a21_0x4d037b(0xe3),'description':'Show\x20only\x20apps\x20from\x20global\x20~/.rabetbase.json','default':![]},{'name':a21_0x4d037b(0xe8),'type':a21_0x4d037b(0xe3),'description':a21_0x4d037b(0xe6),'default':![]}],'execute':execute};
1
+ const a21_0x5afff2=a21_0x4749;function a21_0x4749(_0x371c1f,_0x172879){_0x371c1f=_0x371c1f-0x12a;const _0x226484=a21_0x2264();let _0x474908=_0x226484[_0x371c1f];return _0x474908;}(function(_0x477c0d,_0x44370b){const _0x4920f3=a21_0x4749,_0x421787=_0x477c0d();while(!![]){try{const _0x3f749d=-parseInt(_0x4920f3(0x12c))/0x1+parseInt(_0x4920f3(0x130))/0x2+-parseInt(_0x4920f3(0x147))/0x3*(parseInt(_0x4920f3(0x135))/0x4)+parseInt(_0x4920f3(0x142))/0x5*(-parseInt(_0x4920f3(0x150))/0x6)+-parseInt(_0x4920f3(0x143))/0x7*(parseInt(_0x4920f3(0x14a))/0x8)+parseInt(_0x4920f3(0x131))/0x9*(parseInt(_0x4920f3(0x133))/0xa)+parseInt(_0x4920f3(0x12f))/0xb;if(_0x3f749d===_0x44370b)break;else _0x421787['push'](_0x421787['shift']());}catch(_0x598a43){_0x421787['push'](_0x421787['shift']());}}}(a21_0x2264,0x29c5d));import{readRawConfigWithLayers}from'../../context.js';function a21_0x2264(){const _0x52604a=['3461953UWZWGa','509132jAHNLT','2487879AAPigm','mergedCli','10WaiGzT','List\x20all\x20configured\x20apps','148TrlPYd','Show\x20only\x20apps\x20from\x20project\x20.rabetbase.json','app','global','boolean','projectPath','bool','defaultApp','\x20in\x20','length','apps','push','No\x20apps\x20configured','26555sdHwYL','1276772osKEht','isCurrent','globalPath','appcode','27003AJqVgS','Show\x20only\x20apps\x20from\x20global\x20~/.rabetbase.json','object','8tJLidw','entries','merged','list','\x20config','project','162GWUviV','.\x20Use\x20`','inherit','map','15789OiBAdf','globalConfig','projectConfig'];a21_0x2264=function(){return _0x52604a;};return a21_0x2264();}import{CLI_BIN_NAME}from'../../constant/cli.js';import{buildAppProfileListFields}from'../../config/schema.js';import{appDefinedIn,enrichAppListItemsWithMergedSelection,resolveDefaultAppSource}from'../../commands/app/shared.js';function buildItemsFromLayer(_0x47a8c2,_0x43d430){const _0x1b5dfb=a21_0x4749,_0x2fffa8=[],_0x5d02bb=_0x47a8c2[_0x1b5dfb(0x13f)]&&typeof _0x47a8c2[_0x1b5dfb(0x13f)]===_0x1b5dfb(0x149)?_0x47a8c2[_0x1b5dfb(0x13f)]:{},_0x571e77=_0x47a8c2[_0x1b5dfb(0x13c)]||undefined;for(const [_0x29f18f,_0x323385]of Object[_0x1b5dfb(0x14b)](_0x5d02bb)){if(!_0x323385||typeof _0x323385!==_0x1b5dfb(0x149)||!_0x323385[_0x1b5dfb(0x146)])continue;_0x2fffa8[_0x1b5dfb(0x140)]({'name':_0x29f18f,'appcode':_0x323385[_0x1b5dfb(0x146)],'named':!![],'definedIn':_0x43d430,'isDefault':_0x29f18f===_0x571e77,...buildAppProfileListFields(_0x323385)});}return _0x2fffa8;}function buildMergedItems(_0x18f9d7,_0x198427){const _0x3df649=a21_0x4749,{apps:apps={},defaultApp:_0x32a562}=_0x18f9d7,_0x13dd67=_0x198427[_0x3df649(0x12d)][_0x3df649(0x13f)]&&typeof _0x198427[_0x3df649(0x12d)][_0x3df649(0x13f)]===_0x3df649(0x149)?_0x198427[_0x3df649(0x12d)][_0x3df649(0x13f)]:{},_0x52056b=_0x198427[_0x3df649(0x12e)][_0x3df649(0x13f)]&&typeof _0x198427[_0x3df649(0x12e)]['apps']===_0x3df649(0x149)?_0x198427[_0x3df649(0x12e)][_0x3df649(0x13f)]:{},_0x1aafc8=_0x198427[_0x3df649(0x12e)][_0x3df649(0x12a)]===![],_0x5dc173=Object[_0x3df649(0x14b)](apps),_0x3669dd=_0x5dc173[_0x3df649(0x12b)](([_0xf60cb8,_0x1c99f3])=>({'name':_0xf60cb8,'appcode':_0x1c99f3[_0x3df649(0x146)],'named':!![],'definedIn':appDefinedIn(_0xf60cb8,_0x13dd67,_0x52056b,_0x1aafc8),'isDefault':_0xf60cb8===_0x32a562,...buildAppProfileListFields(_0x1c99f3)}));return _0x3669dd;}async function execute(_0x321e9c){const _0xb7c852=a21_0x4749,_0x3f6079=_0x321e9c[_0xb7c852(0x13b)](_0xb7c852(0x138)),_0x2120bf=_0x321e9c[_0xb7c852(0x13b)]('project'),_0x4b1694=_0x3f6079?_0xb7c852(0x138):_0x2120bf?'project':'merged',{config:_0x3d00cc,layers:_0x1f5fc2}=readRawConfigWithLayers(),_0x1a5352=resolveDefaultAppSource(_0x1f5fc2),{defaultApp:_0x26c92d}=_0x3d00cc;let _0x4b8f08,_0x1ca520;switch(_0x4b1694){case _0xb7c852(0x138):_0x4b8f08=buildItemsFromLayer(_0x1f5fc2[_0xb7c852(0x12d)],_0xb7c852(0x138)),_0x1ca520=_0x1f5fc2[_0xb7c852(0x145)];break;case _0xb7c852(0x14f):_0x4b8f08=buildItemsFromLayer(_0x1f5fc2[_0xb7c852(0x12e)],_0xb7c852(0x14f)),_0x1ca520=_0x1f5fc2[_0xb7c852(0x13a)];break;default:_0x4b8f08=buildMergedItems(_0x3d00cc,_0x1f5fc2);break;}enrichAppListItemsWithMergedSelection(_0x4b8f08,_0x321e9c[_0xb7c852(0x132)]);if(_0x4b8f08[_0xb7c852(0x13e)]===0x0){const _0x106d17=_0x4b1694===_0xb7c852(0x14c)?'':_0xb7c852(0x13d)+_0x4b1694+_0xb7c852(0x14e);return{'ok':!![],'data':[],'message':_0xb7c852(0x141)+_0x106d17+_0xb7c852(0x151)+CLI_BIN_NAME+'\x20app\x20add\x20<name>\x20--appcode\x20<code>`\x20to\x20add\x20one.'};}const _0x1850ad=_0x4b8f08['find'](_0x28cd86=>_0x28cd86[_0xb7c852(0x144)]===!![]),_0x1ea5ad=_0x26c92d??_0x1850ad?.[_0xb7c852(0x146)]??null,_0x3acd3d=_0x4b1694==='merged'?{'globalPath':_0x1f5fc2[_0xb7c852(0x145)]??null,'projectPath':_0x1f5fc2[_0xb7c852(0x13a)]??null,'defaultApp':_0x1ea5ad,'defaultAppSource':_0x26c92d!=null?_0x1a5352:null}:{'scope':_0x4b1694,'configPath':_0x1ca520??null};return{'ok':!![],'data':{'items':_0x4b8f08,'meta':_0x3acd3d}};}export const appListDefinition={'service':a21_0x5afff2(0x137),'command':a21_0x5afff2(0x14d),'description':a21_0x5afff2(0x134),'risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[{'name':'global','type':a21_0x5afff2(0x139),'description':a21_0x5afff2(0x148),'default':![]},{'name':a21_0x5afff2(0x14f),'type':a21_0x5afff2(0x139),'description':a21_0x5afff2(0x136),'default':![]}],'execute':execute};
@@ -1 +1 @@
1
- const a22_0x3b77dc=a22_0x5d12;(function(_0x17c05c,_0x24e2af){const _0x381197=a22_0x5d12,_0x51e10e=_0x17c05c();while(!![]){try{const _0x4d53c5=parseInt(_0x381197(0x207))/0x1+parseInt(_0x381197(0x213))/0x2*(-parseInt(_0x381197(0x1f3))/0x3)+parseInt(_0x381197(0x20d))/0x4+-parseInt(_0x381197(0x200))/0x5*(parseInt(_0x381197(0x1ff))/0x6)+-parseInt(_0x381197(0x1f7))/0x7*(-parseInt(_0x381197(0x20b))/0x8)+-parseInt(_0x381197(0x1fa))/0x9+-parseInt(_0x381197(0x212))/0xa*(-parseInt(_0x381197(0x209))/0xb);if(_0x4d53c5===_0x24e2af)break;else _0x51e10e['push'](_0x51e10e['shift']());}catch(_0x8a0f9c){_0x51e10e['push'](_0x51e10e['shift']());}}}(a22_0x3906,0x2cac4));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{readRawConfigWithLayers}from'../../context.js';import{readConfig,writeConfig,scopeLabel,resolveAppScopeForWrite,appDefinedIn}from'../../commands/app/shared.js';async function validateArgs(_0x15bc43){const _0x545392=a22_0x5d12,_0x27e872=_0x15bc43['args'][0x0]?.['trim']();if(!_0x27e872)throw CliErrors['validation'](_0x545392(0x1f2),'Usage:\x20'+CLI_BIN_NAME+_0x545392(0x201));}function a22_0x5d12(_0x35204e,_0x5c432b){_0x35204e=_0x35204e-0x1f1;const _0x390658=a22_0x3906();let _0x5d127c=_0x390658[_0x35204e];return _0x5d127c;}async function execute(_0x13ccef){const _0x4b4e0c=a22_0x5d12,_0x216dd3=_0x13ccef[_0x4b4e0c(0x20e)][0x0]?.['trim']();if(!_0x216dd3)throw CliErrors[_0x4b4e0c(0x1f8)](_0x4b4e0c(0x1f2),_0x4b4e0c(0x1f4)+CLI_BIN_NAME+_0x4b4e0c(0x201));const _0x36e978=_0x13ccef['bool'](_0x4b4e0c(0x1f1)),{config:_0x522ac4,layers:_0x20268f}=readRawConfigWithLayers(),_0x559cd9=_0x522ac4[_0x4b4e0c(0x211)]??{};if(!_0x559cd9[_0x216dd3])throw CliErrors[_0x4b4e0c(0x1f8)](_0x4b4e0c(0x1fd)+_0x216dd3+_0x4b4e0c(0x1f5));const _0x31e002=_0x20268f['globalConfig']['apps']&&typeof _0x20268f[_0x4b4e0c(0x20f)][_0x4b4e0c(0x211)]===_0x4b4e0c(0x208)?_0x20268f['globalConfig'][_0x4b4e0c(0x211)]:{},_0x29b4f7=_0x20268f[_0x4b4e0c(0x1fc)][_0x4b4e0c(0x211)]&&typeof _0x20268f['projectConfig'][_0x4b4e0c(0x211)]===_0x4b4e0c(0x208)?_0x20268f[_0x4b4e0c(0x1fc)]['apps']:{},_0x767e78=appDefinedIn(_0x216dd3,_0x31e002,_0x29b4f7,_0x20268f['projectConfig'][_0x4b4e0c(0x203)]===![]),_0x15a793=resolveAppScopeForWrite(_0x216dd3,_0x36e978,_0x20268f),_0x15d5e5={'global':_0x15a793===_0x4b4e0c(0x1f1)},_0x5d24cb=readConfig(_0x15d5e5),_0x10c8aa=_0x5d24cb['apps'];if(!_0x10c8aa||!_0x10c8aa[_0x216dd3])throw CliErrors[_0x4b4e0c(0x1f8)](_0x4b4e0c(0x1fd)+_0x216dd3+_0x4b4e0c(0x1f5));delete _0x10c8aa[_0x216dd3];let _0x554465='';if(_0x5d24cb[_0x4b4e0c(0x20c)]===_0x216dd3){const _0xfd04f5=Object[_0x4b4e0c(0x202)](_0x10c8aa);_0x5d24cb[_0x4b4e0c(0x20c)]=_0xfd04f5['length']>0x0?_0xfd04f5[0x0]:undefined,_0x5d24cb['defaultApp']?_0x554465=_0x4b4e0c(0x1fe)+_0x5d24cb[_0x4b4e0c(0x20c)]+'\x22.':delete _0x5d24cb[_0x4b4e0c(0x20c)];}Object[_0x4b4e0c(0x202)](_0x10c8aa)[_0x4b4e0c(0x1fb)]===0x0&&(delete _0x5d24cb['apps'],delete _0x5d24cb[_0x4b4e0c(0x20c)]);writeConfig(_0x5d24cb,_0x15d5e5);const _0x546faf=_0x767e78===_0x4b4e0c(0x204)?_0x4b4e0c(0x206)+_0x216dd3+'\x22\x20still\x20defined\x20in\x20'+(_0x15a793==='project'?'global':_0x4b4e0c(0x20a))+'\x20config.':'';return{'ok':!![],'message':'Removed\x20app\x20\x22'+_0x216dd3+'\x22'+scopeLabel(_0x15d5e5)+'.'+_0x554465+_0x546faf};}export const appRemoveDefinition={'service':a22_0x3b77dc(0x1f6),'command':'remove','description':a22_0x3b77dc(0x1f9),'risk':'high-risk-write','requiresAuth':![],'requiresAppCode':![],'args':[{'name':a22_0x3b77dc(0x210),'description':'App\x20profile\x20name\x20to\x20remove','required':!![]}],'flags':[{'name':a22_0x3b77dc(0x1f1),'type':'boolean','description':a22_0x3b77dc(0x205),'default':![]}],'validate':validateArgs,'execute':execute};function a22_0x3906(){const _0x389edd=['project','208ZyBRPy','defaultApp','380300XxASoy','args','globalConfig','name','apps','537650otsZCn','2ZhqYUp','global','Missing\x20app\x20name.','961809HhbUtn','Usage:\x20','\x22\x20not\x20found.','app','17066XWuVhR','validation','Remove\x20an\x20app\x20from\x20config','1962558NZmeNc','length','projectConfig','App\x20\x22','\x20Default\x20app\x20changed\x20to\x20\x22','6fmjiDh','125485vYgRgd','\x20app\x20remove\x20<name>\x20[--global]','keys','inherit','both','Use\x20global\x20config\x20scope','\x20Note:\x20app\x20\x22','319454NJMfIQ','object','55EXQsnp'];a22_0x3906=function(){return _0x389edd;};return a22_0x3906();}
1
+ const a22_0x23e096=a22_0x50ea;function a22_0x50ea(_0x1352b1,_0x324261){_0x1352b1=_0x1352b1-0x1ae;const _0x45b6f8=a22_0x45b6();let _0x50ea33=_0x45b6f8[_0x1352b1];return _0x50ea33;}(function(_0x3401ba,_0x566254){const _0x220967=a22_0x50ea,_0x375e1a=_0x3401ba();while(!![]){try{const _0x50602e=-parseInt(_0x220967(0x1cc))/0x1*(-parseInt(_0x220967(0x1cb))/0x2)+-parseInt(_0x220967(0x1b5))/0x3+-parseInt(_0x220967(0x1d0))/0x4+-parseInt(_0x220967(0x1c1))/0x5*(-parseInt(_0x220967(0x1ce))/0x6)+parseInt(_0x220967(0x1ba))/0x7*(parseInt(_0x220967(0x1be))/0x8)+-parseInt(_0x220967(0x1bc))/0x9*(-parseInt(_0x220967(0x1b0))/0xa)+-parseInt(_0x220967(0x1b7))/0xb;if(_0x50602e===_0x566254)break;else _0x375e1a['push'](_0x375e1a['shift']());}catch(_0x40adfc){_0x375e1a['push'](_0x375e1a['shift']());}}}(a22_0x45b6,0x751b3));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{readRawConfigWithLayers}from'../../context.js';import{readConfig,writeConfig,scopeLabel,resolveAppScopeForWrite,appDefinedIn}from'../../commands/app/shared.js';async function validateArgs(_0x2da94b){const _0xf6f831=a22_0x50ea,_0x21e5c4=_0x2da94b['args'][0x0]?.[_0xf6f831(0x1c0)]();if(!_0x21e5c4)throw CliErrors[_0xf6f831(0x1cf)]('Missing\x20app\x20name.',_0xf6f831(0x1b2)+CLI_BIN_NAME+_0xf6f831(0x1d5));}async function execute(_0x5072f1){const _0x27a3e5=a22_0x50ea,_0x315dcd=_0x5072f1[_0x27a3e5(0x1c8)][0x0]?.[_0x27a3e5(0x1c0)]();if(!_0x315dcd)throw CliErrors['validation'](_0x27a3e5(0x1d4),'Usage:\x20'+CLI_BIN_NAME+'\x20app\x20remove\x20<name>\x20[--global]');const _0x25532a=_0x5072f1[_0x27a3e5(0x1c2)](_0x27a3e5(0x1b3)),{config:_0x6c4ce,layers:_0x55147a}=readRawConfigWithLayers(),_0x2a6e3b=_0x6c4ce[_0x27a3e5(0x1d2)]??{};if(!_0x2a6e3b[_0x315dcd])throw CliErrors[_0x27a3e5(0x1cf)](_0x27a3e5(0x1af)+_0x315dcd+_0x27a3e5(0x1d7));const _0x11aa10=_0x55147a[_0x27a3e5(0x1d6)][_0x27a3e5(0x1d2)]&&typeof _0x55147a[_0x27a3e5(0x1d6)][_0x27a3e5(0x1d2)]===_0x27a3e5(0x1b4)?_0x55147a[_0x27a3e5(0x1d6)][_0x27a3e5(0x1d2)]:{},_0x525f56=_0x55147a[_0x27a3e5(0x1c3)]['apps']&&typeof _0x55147a[_0x27a3e5(0x1c3)][_0x27a3e5(0x1d2)]===_0x27a3e5(0x1b4)?_0x55147a[_0x27a3e5(0x1c3)]['apps']:{},_0x7a8be7=appDefinedIn(_0x315dcd,_0x11aa10,_0x525f56,_0x55147a[_0x27a3e5(0x1c3)][_0x27a3e5(0x1bb)]===![]),_0x330885=resolveAppScopeForWrite(_0x315dcd,_0x25532a,_0x55147a),_0x1262d7={'global':_0x330885==='global'},_0x4d9d0f=readConfig(_0x1262d7),_0x4008ac=_0x4d9d0f[_0x27a3e5(0x1d2)];if(!_0x4008ac||!_0x4008ac[_0x315dcd])throw CliErrors[_0x27a3e5(0x1cf)](_0x27a3e5(0x1af)+_0x315dcd+_0x27a3e5(0x1d7));delete _0x4008ac[_0x315dcd];let _0x3213da='';if(_0x4d9d0f[_0x27a3e5(0x1cd)]===_0x315dcd){const _0x4d1dec=Object[_0x27a3e5(0x1b6)](_0x4008ac);_0x4d9d0f[_0x27a3e5(0x1cd)]=_0x4d1dec[_0x27a3e5(0x1bd)]>0x0?_0x4d1dec[0x0]:undefined,_0x4d9d0f[_0x27a3e5(0x1cd)]?_0x3213da=_0x27a3e5(0x1c6)+_0x4d9d0f[_0x27a3e5(0x1cd)]+'\x22.':delete _0x4d9d0f[_0x27a3e5(0x1cd)];}Object[_0x27a3e5(0x1b6)](_0x4008ac)[_0x27a3e5(0x1bd)]===0x0&&(delete _0x4d9d0f['apps'],delete _0x4d9d0f[_0x27a3e5(0x1cd)]);writeConfig(_0x4d9d0f,_0x1262d7);const _0x2b07d6=_0x7a8be7===_0x27a3e5(0x1b9)?_0x27a3e5(0x1c4)+_0x315dcd+_0x27a3e5(0x1b8)+(_0x330885===_0x27a3e5(0x1b1)?_0x27a3e5(0x1b3):'project')+'\x20config.':'';return{'ok':!![],'message':_0x27a3e5(0x1c9)+_0x315dcd+'\x22'+scopeLabel(_0x1262d7)+'.'+_0x3213da+_0x2b07d6};}export const appRemoveDefinition={'service':a22_0x23e096(0x1c5),'command':a22_0x23e096(0x1bf),'description':'Remove\x20an\x20app\x20from\x20config','risk':a22_0x23e096(0x1d3),'requiresAuth':![],'requiresAppCode':![],'args':[{'name':a22_0x23e096(0x1ae),'description':a22_0x23e096(0x1ca),'required':!![]}],'flags':[{'name':a22_0x23e096(0x1b3),'type':a22_0x23e096(0x1c7),'description':a22_0x23e096(0x1d1),'default':![]}],'validate':validateArgs,'execute':execute};function a22_0x45b6(){const _0xc0982a=['apps','high-risk-write','Missing\x20app\x20name.','\x20app\x20remove\x20<name>\x20[--global]','globalConfig','\x22\x20not\x20found.','name','App\x20\x22','7778930WgIhtY','project','Usage:\x20','global','object','1653003dQNIyR','keys','9826476jptYWm','\x22\x20still\x20defined\x20in\x20','both','323001ZbtfvF','inherit','9Eygmjs','length','144FWXgwp','remove','trim','25NCUcOg','bool','projectConfig','\x20Note:\x20app\x20\x22','app','\x20Default\x20app\x20changed\x20to\x20\x22','boolean','args','Removed\x20app\x20\x22','App\x20profile\x20name\x20to\x20remove','1729228HLUdZb','1IJynNV','defaultApp','245598rfXAni','validation','3015048XGNdgC','Use\x20global\x20config\x20scope'];a22_0x45b6=function(){return _0xc0982a;};return a22_0x45b6();}
@@ -1 +1 @@
1
- (function(_0x51adbb,_0x62a169){const _0x37d39c=a23_0x4107,_0x3d0cf9=_0x51adbb();while(!![]){try{const _0x4429fb=parseInt(_0x37d39c(0xec))/0x1*(-parseInt(_0x37d39c(0xf1))/0x2)+parseInt(_0x37d39c(0xf5))/0x3*(-parseInt(_0x37d39c(0x10c))/0x4)+parseInt(_0x37d39c(0xef))/0x5*(-parseInt(_0x37d39c(0x100))/0x6)+parseInt(_0x37d39c(0xfd))/0x7+parseInt(_0x37d39c(0xfe))/0x8*(parseInt(_0x37d39c(0xee))/0x9)+parseInt(_0x37d39c(0xff))/0xa*(parseInt(_0x37d39c(0xf4))/0xb)+parseInt(_0x37d39c(0x103))/0xc;if(_0x4429fb===_0x62a169)break;else _0x3d0cf9['push'](_0x3d0cf9['shift']());}catch(_0x5cfba9){_0x3d0cf9['push'](_0x3d0cf9['shift']());}}}(a23_0x394f,0x9f866));import{resolveWriteConfigPath,readConfigFile,writeConfigFile}from'../../context.js';export function enrichAppListItemsWithMergedSelection(_0x486f9b,_0x45fc52){const _0x190cfe=a23_0x4107;if(!_0x45fc52)return;const _0x3c2cb2=_0x45fc52[_0x190cfe(0xfc)]&&typeof _0x45fc52[_0x190cfe(0xfc)]===_0x190cfe(0xfa)?_0x45fc52[_0x190cfe(0xfc)]:{},_0x1d6b88=Object['keys'](_0x3c2cb2)[_0x190cfe(0xf3)]>0x0;for(const _0x3b556f of _0x486f9b){_0x3b556f[_0x190cfe(0x10b)]=![];}const _0x43e131=_0x45fc52[_0x190cfe(0x102)]!=null?String(_0x45fc52['appCode'])[_0x190cfe(0xf8)]():'';if(_0x1d6b88){const _0x2f6190=_0x45fc52[_0x190cfe(0xed)]??_0x45fc52[_0x190cfe(0xf6)];if(_0x2f6190)for(const _0x2cf252 of _0x486f9b){_0x2cf252[_0x190cfe(0x105)]===!![]&&_0x2cf252[_0x190cfe(0xf9)]===_0x2f6190&&(_0x2cf252[_0x190cfe(0x10b)]=!![]);}for(const _0x3f123a of _0x486f9b){if(_0x3f123a[_0x190cfe(0x105)]!==![])continue;if(_0x45fc52['defaultApp'])continue;_0x43e131&&String(_0x3f123a[_0x190cfe(0xf0)]??'')[_0x190cfe(0xf8)]()===_0x43e131&&(_0x3f123a[_0x190cfe(0x10b)]=!![]);}return;}if(!_0x43e131)return;for(const _0x1b5eb4 of _0x486f9b){String(_0x1b5eb4[_0x190cfe(0xf0)]??'')['trim']()===_0x43e131&&(_0x1b5eb4[_0x190cfe(0x10b)]=!![]);}}export function resolveAppScopeForWrite(_0x1c873d,_0x3ab8b4,_0x28ce8c){const _0x487ef4=a23_0x4107;if(_0x3ab8b4)return _0x487ef4(0x101);const _0x58ef59=_0x28ce8c[_0x487ef4(0xf7)]['apps']&&typeof _0x28ce8c[_0x487ef4(0xf7)][_0x487ef4(0xfc)]===_0x487ef4(0xfa)?_0x28ce8c[_0x487ef4(0xf7)][_0x487ef4(0xfc)]:{},_0x30e8a7=_0x28ce8c['globalConfig'][_0x487ef4(0xfc)]&&typeof _0x28ce8c[_0x487ef4(0x109)][_0x487ef4(0xfc)]===_0x487ef4(0xfa)?_0x28ce8c[_0x487ef4(0x109)][_0x487ef4(0xfc)]:{};if(Object[_0x487ef4(0x108)][_0x487ef4(0xf2)][_0x487ef4(0x104)](_0x58ef59,_0x1c873d))return'project';if(Object[_0x487ef4(0x108)]['hasOwnProperty'][_0x487ef4(0x104)](_0x30e8a7,_0x1c873d))return _0x487ef4(0x101);return _0x487ef4(0x107);}export function appDefinedIn(_0x347d34,_0x150c7e,_0x2b5c0c,_0x361b77){const _0x3e50d2=a23_0x4107;if(_0x361b77)return Object[_0x3e50d2(0x108)][_0x3e50d2(0xf2)]['call'](_0x2b5c0c,_0x347d34)?_0x3e50d2(0x107):'global';const _0x3bbcb8=Object['prototype'][_0x3e50d2(0xf2)][_0x3e50d2(0x104)](_0x150c7e,_0x347d34),_0x1be734=Object['prototype']['hasOwnProperty'][_0x3e50d2(0x104)](_0x2b5c0c,_0x347d34);if(_0x3bbcb8&&_0x1be734)return _0x3e50d2(0x10a);if(_0x1be734)return _0x3e50d2(0x107);return _0x3e50d2(0x101);}export function resolveDefaultAppSource(_0xcb5ac9){const _0x9135e6=a23_0x4107,_0x295736=_0xcb5ac9[_0x9135e6(0xf7)][_0x9135e6(0xfc)]&&typeof _0xcb5ac9[_0x9135e6(0xf7)][_0x9135e6(0xfc)]==='object'?_0xcb5ac9[_0x9135e6(0xf7)][_0x9135e6(0xfc)]:{};if(_0x9135e6(0xf6)in _0xcb5ac9[_0x9135e6(0xf7)])return _0x9135e6(0x107);if(Object[_0x9135e6(0xfb)](_0x295736)[_0x9135e6(0xf3)]>0x0)return _0x9135e6(0x107);if(_0xcb5ac9['projectConfig']['inherit']===![])return null;if(_0xcb5ac9[_0x9135e6(0x109)][_0x9135e6(0xf6)])return _0x9135e6(0x101);return null;}export function getConfigPath(_0x532c2e={}){const _0x16e651=a23_0x4107,_0x5c1a28=_0x532c2e[_0x16e651(0x101)]?_0x16e651(0x101):'project';return resolveWriteConfigPath(_0x5c1a28);}export function readConfig(_0x1588b8={}){return readConfigFile(getConfigPath(_0x1588b8));}export function writeConfig(_0x527ae5,_0x12667a={}){writeConfigFile(getConfigPath(_0x12667a),_0x527ae5);}function a23_0x4107(_0x7db2e6,_0x26b952){_0x7db2e6=_0x7db2e6-0xec;const _0x394f35=a23_0x394f();let _0x4107e6=_0x394f35[_0x7db2e6];return _0x4107e6;}function a23_0x394f(){const _0x1b76cc=['isCurrent','176jMLcTT','4546aTuOZI','currentApp','392661UgajnN','75755UfJaGX','appcode','542qCSTvf','hasOwnProperty','length','144870kXETYX','9711TRXhTB','defaultApp','projectConfig','trim','name','object','keys','apps','4938976fefXDa','32mwGnxn','430fVWMzu','426GBpkqX','global','appCode','19885620vqeagL','call','named','\x20(global)','project','prototype','globalConfig','both'];a23_0x394f=function(){return _0x1b76cc;};return a23_0x394f();}export function scopeLabel(_0x12422c){const _0x102d5b=a23_0x4107;return _0x12422c[_0x102d5b(0x101)]?_0x102d5b(0x106):'';}
1
+ (function(_0x37a409,_0x7ca9a6){const _0x12cd14=a23_0x504a,_0x47ffa4=_0x37a409();while(!![]){try{const _0x10236f=parseInt(_0x12cd14(0x1e6))/0x1*(parseInt(_0x12cd14(0x1d1))/0x2)+-parseInt(_0x12cd14(0x1cf))/0x3*(-parseInt(_0x12cd14(0x1d5))/0x4)+parseInt(_0x12cd14(0x1d7))/0x5*(parseInt(_0x12cd14(0x1e0))/0x6)+-parseInt(_0x12cd14(0x1de))/0x7*(-parseInt(_0x12cd14(0x1e1))/0x8)+parseInt(_0x12cd14(0x1e8))/0x9+parseInt(_0x12cd14(0x1eb))/0xa+-parseInt(_0x12cd14(0x1e3))/0xb;if(_0x10236f===_0x7ca9a6)break;else _0x47ffa4['push'](_0x47ffa4['shift']());}catch(_0xe68187){_0x47ffa4['push'](_0x47ffa4['shift']());}}}(a23_0x277c,0xc80a9));import{resolveWriteConfigPath,readConfigFile,writeConfigFile}from'../../context.js';export function enrichAppListItemsWithMergedSelection(_0x14d24d,_0x1d9c74){const _0x199e5b=a23_0x504a;if(!_0x1d9c74)return;const _0x1a05b7=_0x1d9c74['apps']&&typeof _0x1d9c74[_0x199e5b(0x1ed)]==='object'?_0x1d9c74[_0x199e5b(0x1ed)]:{},_0x3a5bbf=Object[_0x199e5b(0x1d6)](_0x1a05b7)[_0x199e5b(0x1df)]>0x0;for(const _0x2d6492 of _0x14d24d){_0x2d6492[_0x199e5b(0x1d0)]=![];}const _0x266978=_0x1d9c74[_0x199e5b(0x1d4)]!=null?String(_0x1d9c74[_0x199e5b(0x1d4)])[_0x199e5b(0x1e4)]():'';if(_0x3a5bbf){const _0x20f518=_0x1d9c74[_0x199e5b(0x1d3)]??_0x1d9c74[_0x199e5b(0x1dc)];if(_0x20f518)for(const _0x4c46c7 of _0x14d24d){_0x4c46c7[_0x199e5b(0x1e7)]===!![]&&_0x4c46c7[_0x199e5b(0x1da)]===_0x20f518&&(_0x4c46c7['isCurrent']=!![]);}for(const _0x352dba of _0x14d24d){if(_0x352dba[_0x199e5b(0x1e7)]!==![])continue;if(_0x1d9c74[_0x199e5b(0x1dc)])continue;_0x266978&&String(_0x352dba[_0x199e5b(0x1d8)]??'')['trim']()===_0x266978&&(_0x352dba[_0x199e5b(0x1d0)]=!![]);}return;}if(!_0x266978)return;for(const _0x3d7087 of _0x14d24d){String(_0x3d7087['appcode']??'')[_0x199e5b(0x1e4)]()===_0x266978&&(_0x3d7087[_0x199e5b(0x1d0)]=!![]);}}function a23_0x504a(_0x401b5b,_0x25eb54){_0x401b5b=_0x401b5b-0x1cf;const _0x277c29=a23_0x277c();let _0x504a64=_0x277c29[_0x401b5b];return _0x504a64;}export function resolveAppScopeForWrite(_0x56451f,_0x1babb2,_0x372fc4){const _0x203635=a23_0x504a;if(_0x1babb2)return _0x203635(0x1d2);const _0x36c2fc=_0x372fc4[_0x203635(0x1dd)][_0x203635(0x1ed)]&&typeof _0x372fc4[_0x203635(0x1dd)][_0x203635(0x1ed)]==='object'?_0x372fc4['projectConfig'][_0x203635(0x1ed)]:{},_0x309d6f=_0x372fc4[_0x203635(0x1ea)][_0x203635(0x1ed)]&&typeof _0x372fc4[_0x203635(0x1ea)]['apps']===_0x203635(0x1e5)?_0x372fc4['globalConfig']['apps']:{};if(Object[_0x203635(0x1db)][_0x203635(0x1ec)][_0x203635(0x1e9)](_0x36c2fc,_0x56451f))return'project';if(Object[_0x203635(0x1db)][_0x203635(0x1ec)][_0x203635(0x1e9)](_0x309d6f,_0x56451f))return'global';return'project';}export function appDefinedIn(_0xfb283f,_0x49001a,_0x50e7f2,_0x1776f8){const _0x28944a=a23_0x504a;if(_0x1776f8)return Object[_0x28944a(0x1db)][_0x28944a(0x1ec)][_0x28944a(0x1e9)](_0x50e7f2,_0xfb283f)?_0x28944a(0x1d9):_0x28944a(0x1d2);const _0x3dde5b=Object[_0x28944a(0x1db)][_0x28944a(0x1ec)]['call'](_0x49001a,_0xfb283f),_0x15691d=Object[_0x28944a(0x1db)][_0x28944a(0x1ec)][_0x28944a(0x1e9)](_0x50e7f2,_0xfb283f);if(_0x3dde5b&&_0x15691d)return _0x28944a(0x1e2);if(_0x15691d)return'project';return _0x28944a(0x1d2);}function a23_0x277c(){const _0x5b4885=['projectConfig','7455gATdWZ','length','894HFnTva','5712pCEWia','both','43120121KDpDpX','trim','object','3008YdAYyr','named','4478571GnZTCt','call','globalConfig','8262210UeoPDv','hasOwnProperty','apps','6NlTswR','isCurrent','664TYdtOI','global','currentApp','appCode','494464irRdnH','keys','47290fyvMuU','appcode','project','name','prototype','defaultApp'];a23_0x277c=function(){return _0x5b4885;};return a23_0x277c();}export function resolveDefaultAppSource(_0x2b95f4){const _0x4f2be5=a23_0x504a,_0x289a5c=_0x2b95f4[_0x4f2be5(0x1dd)][_0x4f2be5(0x1ed)]&&typeof _0x2b95f4[_0x4f2be5(0x1dd)]['apps']===_0x4f2be5(0x1e5)?_0x2b95f4[_0x4f2be5(0x1dd)][_0x4f2be5(0x1ed)]:{};if(_0x4f2be5(0x1dc)in _0x2b95f4[_0x4f2be5(0x1dd)])return _0x4f2be5(0x1d9);if(Object['keys'](_0x289a5c)[_0x4f2be5(0x1df)]>0x0)return _0x4f2be5(0x1d9);if(_0x2b95f4[_0x4f2be5(0x1dd)]['inherit']===![])return null;if(_0x2b95f4[_0x4f2be5(0x1ea)][_0x4f2be5(0x1dc)])return'global';return null;}export function getConfigPath(_0x4438b5={}){const _0x12b03d=a23_0x504a,_0x55680f=_0x4438b5[_0x12b03d(0x1d2)]?_0x12b03d(0x1d2):'project';return resolveWriteConfigPath(_0x55680f);}export function readConfig(_0x3f9933={}){return readConfigFile(getConfigPath(_0x3f9933));}export function writeConfig(_0x2de0df,_0x2ee431={}){writeConfigFile(getConfigPath(_0x2ee431),_0x2de0df);}export function scopeLabel(_0xef797a){const _0x255bcc=a23_0x504a;return _0xef797a[_0x255bcc(0x1d2)]?'\x20(global)':'';}
@@ -1 +1 @@
1
- const a24_0x31b0c0=a24_0x5cda;function a24_0x5cda(_0x562fd6,_0x4cd47a){_0x562fd6=_0x562fd6-0x1d5;const _0x1a044b=a24_0x1a04();let _0x5cdaaf=_0x1a044b[_0x562fd6];return _0x5cdaaf;}(function(_0x17abda,_0xafd371){const _0x54233b=a24_0x5cda,_0x42fee4=_0x17abda();while(!![]){try{const _0x27e313=-parseInt(_0x54233b(0x1f1))/0x1+parseInt(_0x54233b(0x1d6))/0x2*(parseInt(_0x54233b(0x1e3))/0x3)+-parseInt(_0x54233b(0x1e0))/0x4+-parseInt(_0x54233b(0x1db))/0x5*(-parseInt(_0x54233b(0x1f7))/0x6)+parseInt(_0x54233b(0x1ee))/0x7+-parseInt(_0x54233b(0x1dd))/0x8*(parseInt(_0x54233b(0x1eb))/0x9)+parseInt(_0x54233b(0x1e8))/0xa;if(_0x27e313===_0xafd371)break;else _0x42fee4['push'](_0x42fee4['shift']());}catch(_0x116e0c){_0x42fee4['push'](_0x42fee4['shift']());}}}(a24_0x1a04,0x5f390));import{CliErrors}from'../../errors.js';function a24_0x1a04(){const _0x3bf505=['Usage:\x20','5634ejpsob','trim','global','4879686MCOduf','Missing\x20app\x20name.','apps','335289eapWLn','App\x20profile\x20name\x20to\x20activate','write','defaultApp','\x20app\x20add\x20','Switch\x20the\x20default\x20app','584466vxcpRL','keys','appcode','prototype','202TOUfeP','join','\x22\x20not\x20found.','hasOwnProperty','object','10NPnmVl','validation','5512JvXlpA','globalConfig','boolean','2455028KdLpBK','Use\x20`','Available:\x20','15Nqrbiw','\x20app\x20use\x20<name>\x20[--global]','app','call','\x22\x20was\x20defined\x20in\x20global\x20config;\x20profile\x20copied\x20into\x20project\x20so\x20the\x20project\x20config\x20self-resolves\x20under\x20the\x20default\x20project-first\x20inherit\x20policy.','8779670ATDZfG','use'];a24_0x1a04=function(){return _0x3bf505;};return a24_0x1a04();}import{CLI_BIN_NAME}from'../../constant/cli.js';import{readRawConfigWithLayers,isInProject}from'../../context.js';import{readConfig,writeConfig,scopeLabel}from'../../commands/app/shared.js';async function validateArgs(_0x496dd6){const _0xd151b9=a24_0x5cda,_0x3ab45b=_0x496dd6['args'][0x0]?.[_0xd151b9(0x1ec)]();if(!_0x3ab45b)throw CliErrors['validation'](_0xd151b9(0x1ef),_0xd151b9(0x1ea)+CLI_BIN_NAME+'\x20app\x20use\x20<name>\x20[--global]');}async function execute(_0x11c8b9){const _0x55407a=a24_0x5cda,_0x2ede4a=_0x11c8b9['args'][0x0]?.['trim']();if(!_0x2ede4a)throw CliErrors[_0x55407a(0x1dc)](_0x55407a(0x1ef),_0x55407a(0x1ea)+CLI_BIN_NAME+_0x55407a(0x1e4));const _0x162a3d=_0x11c8b9['bool'](_0x55407a(0x1ed)),{config:_0x21bf1c,layers:_0x2e8eb2}=readRawConfigWithLayers(),_0x444526=_0x21bf1c[_0x55407a(0x1f0)]??{},_0x5f1b1c=_0x2e8eb2[_0x55407a(0x1de)][_0x55407a(0x1f0)]&&typeof _0x2e8eb2['globalConfig'][_0x55407a(0x1f0)]===_0x55407a(0x1da)?_0x2e8eb2['globalConfig'][_0x55407a(0x1f0)]:{},_0xa0d49e={..._0x5f1b1c,..._0x444526};if(!_0xa0d49e[_0x2ede4a]){const _0x4200ae=Object[_0x55407a(0x1f8)](_0xa0d49e),_0x5d8b19=_0x4200ae['length']===0x0?_0x55407a(0x1e1)+CLI_BIN_NAME+_0x55407a(0x1f5)+_0x2ede4a+'\x20--appcode\x20<code>`\x20first.':_0x55407a(0x1e2)+_0x4200ae[_0x55407a(0x1d7)](',\x20');throw CliErrors[_0x55407a(0x1dc)]('App\x20\x22'+_0x2ede4a+_0x55407a(0x1d8),_0x5d8b19);}let _0x5c7a54,_0x5e3d66='';if(_0x162a3d)_0x5c7a54={'global':!![]};else{const _0xa9d360=isInProject()&&!!_0x2e8eb2['projectPath'];_0x5c7a54={'global':!_0xa9d360};}const _0x2722f0=readConfig(_0x5c7a54);_0x2722f0[_0x55407a(0x1f4)]=_0x2ede4a;if(!_0x5c7a54['global']){const _0x5516e3=_0x2722f0[_0x55407a(0x1f0)]&&typeof _0x2722f0[_0x55407a(0x1f0)]===_0x55407a(0x1da)?_0x2722f0[_0x55407a(0x1f0)]:{};!Object[_0x55407a(0x1d5)][_0x55407a(0x1d9)][_0x55407a(0x1e6)](_0x5516e3,_0x2ede4a)&&(_0x2722f0[_0x55407a(0x1f0)]={..._0x5516e3,[_0x2ede4a]:_0xa0d49e[_0x2ede4a]},_0x5e3d66='\x0aNote:\x20\x22'+_0x2ede4a+_0x55407a(0x1e7));}return writeConfig(_0x2722f0,_0x5c7a54),{'ok':!![],'message':'Default\x20app\x20set\x20to\x20\x22'+_0x2ede4a+'\x22\x20(appcode:\x20'+_0xa0d49e[_0x2ede4a][_0x55407a(0x1f9)]+')'+scopeLabel(_0x5c7a54)+_0x5e3d66};}export const appUseDefinition={'service':a24_0x31b0c0(0x1e5),'command':a24_0x31b0c0(0x1e9),'description':a24_0x31b0c0(0x1f6),'risk':a24_0x31b0c0(0x1f3),'requiresAuth':![],'requiresAppCode':![],'args':[{'name':'name','description':a24_0x31b0c0(0x1f2),'required':!![]}],'flags':[{'name':'global','type':a24_0x31b0c0(0x1df),'description':'Use\x20global\x20config\x20scope','default':![]}],'validate':validateArgs,'execute':execute};
1
+ function a24_0x168c(_0x59be54,_0x59bea){_0x59be54=_0x59be54-0x1f1;const _0x33b396=a24_0x33b3();let _0x168c70=_0x33b396[_0x59be54];return _0x168c70;}const a24_0x2ffa45=a24_0x168c;(function(_0x171fbe,_0x3fe7e8){const _0x228ba6=a24_0x168c,_0xa76f5d=_0x171fbe();while(!![]){try{const _0x3a72eb=parseInt(_0x228ba6(0x215))/0x1+-parseInt(_0x228ba6(0x1f8))/0x2+-parseInt(_0x228ba6(0x1f9))/0x3+-parseInt(_0x228ba6(0x1fb))/0x4+-parseInt(_0x228ba6(0x214))/0x5+-parseInt(_0x228ba6(0x203))/0x6+parseInt(_0x228ba6(0x20e))/0x7*(parseInt(_0x228ba6(0x206))/0x8);if(_0x3a72eb===_0x3fe7e8)break;else _0xa76f5d['push'](_0xa76f5d['shift']());}catch(_0x21ca8c){_0xa76f5d['push'](_0xa76f5d['shift']());}}}(a24_0x33b3,0xb7e2c));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{readRawConfigWithLayers,isInProject}from'../../context.js';import{readConfig,writeConfig,scopeLabel}from'../../commands/app/shared.js';async function validateArgs(_0x1fe84a){const _0x629aeb=a24_0x168c,_0x4b9609=_0x1fe84a[_0x629aeb(0x1f3)][0x0]?.[_0x629aeb(0x20a)]();if(!_0x4b9609)throw CliErrors[_0x629aeb(0x204)](_0x629aeb(0x1fa),_0x629aeb(0x213)+CLI_BIN_NAME+_0x629aeb(0x218));}async function execute(_0x49df4d){const _0x10040d=a24_0x168c,_0x1bdc87=_0x49df4d[_0x10040d(0x1f3)][0x0]?.[_0x10040d(0x20a)]();if(!_0x1bdc87)throw CliErrors[_0x10040d(0x204)]('Missing\x20app\x20name.',_0x10040d(0x213)+CLI_BIN_NAME+'\x20app\x20use\x20<name>\x20[--global]');const _0x195d71=_0x49df4d[_0x10040d(0x202)](_0x10040d(0x209)),{config:_0x3cee92,layers:_0x18bc36}=readRawConfigWithLayers(),_0x9810c8=_0x3cee92[_0x10040d(0x201)]??{},_0x5303df=_0x18bc36[_0x10040d(0x20c)][_0x10040d(0x201)]&&typeof _0x18bc36[_0x10040d(0x20c)][_0x10040d(0x201)]===_0x10040d(0x1f6)?_0x18bc36[_0x10040d(0x20c)]['apps']:{},_0x1487ff={..._0x5303df,..._0x9810c8};if(!_0x1487ff[_0x1bdc87]){const _0x4e099c=Object[_0x10040d(0x1fd)](_0x1487ff),_0xa69478=_0x4e099c[_0x10040d(0x1f7)]===0x0?'Use\x20`'+CLI_BIN_NAME+_0x10040d(0x210)+_0x1bdc87+_0x10040d(0x207):_0x10040d(0x200)+_0x4e099c[_0x10040d(0x1ff)](',\x20');throw CliErrors['validation'](_0x10040d(0x1f1)+_0x1bdc87+_0x10040d(0x1fc),_0xa69478);}let _0x2ccde2,_0x1f8db2='';if(_0x195d71)_0x2ccde2={'global':!![]};else{const _0x13a0aa=isInProject()&&!!_0x18bc36['projectPath'];_0x2ccde2={'global':!_0x13a0aa};}const _0x566fbe=readConfig(_0x2ccde2);_0x566fbe['defaultApp']=_0x1bdc87;if(!_0x2ccde2[_0x10040d(0x209)]){const _0x4499ab=_0x566fbe[_0x10040d(0x201)]&&typeof _0x566fbe[_0x10040d(0x201)]===_0x10040d(0x1f6)?_0x566fbe[_0x10040d(0x201)]:{};!Object[_0x10040d(0x205)]['hasOwnProperty'][_0x10040d(0x1f4)](_0x4499ab,_0x1bdc87)&&(_0x566fbe[_0x10040d(0x201)]={..._0x4499ab,[_0x1bdc87]:_0x1487ff[_0x1bdc87]},_0x1f8db2='\x0aNote:\x20\x22'+_0x1bdc87+_0x10040d(0x212));}return writeConfig(_0x566fbe,_0x2ccde2),{'ok':!![],'message':_0x10040d(0x1f2)+_0x1bdc87+_0x10040d(0x217)+_0x1487ff[_0x1bdc87][_0x10040d(0x216)]+')'+scopeLabel(_0x2ccde2)+_0x1f8db2};}export const appUseDefinition={'service':a24_0x2ffa45(0x211),'command':a24_0x2ffa45(0x20b),'description':a24_0x2ffa45(0x1f5),'risk':a24_0x2ffa45(0x20d),'requiresAuth':![],'requiresAppCode':![],'args':[{'name':a24_0x2ffa45(0x1fe),'description':'App\x20profile\x20name\x20to\x20activate','required':!![]}],'flags':[{'name':a24_0x2ffa45(0x209),'type':a24_0x2ffa45(0x208),'description':a24_0x2ffa45(0x20f),'default':![]}],'validate':validateArgs,'execute':execute};function a24_0x33b3(){const _0x3da264=['prototype','488pmpMwO','\x20--appcode\x20<code>`\x20first.','boolean','global','trim','use','globalConfig','write','346339bTikAL','Use\x20global\x20config\x20scope','\x20app\x20add\x20','app','\x22\x20was\x20defined\x20in\x20global\x20config;\x20profile\x20copied\x20into\x20project\x20so\x20the\x20project\x20config\x20self-resolves\x20under\x20the\x20default\x20project-first\x20inherit\x20policy.','Usage:\x20','6107505hIXbqm','517071FnJQLw','appcode','\x22\x20(appcode:\x20','\x20app\x20use\x20<name>\x20[--global]','App\x20\x22','Default\x20app\x20set\x20to\x20\x22','args','call','Switch\x20the\x20default\x20app','object','length','1258204HdZnTb','195768ZeQxLO','Missing\x20app\x20name.','2011320qnbuMI','\x22\x20not\x20found.','keys','name','join','Available:\x20','apps','bool','2179698SsXSCo','validation'];a24_0x33b3=function(){return _0x3da264;};return a24_0x33b3();}
@@ -1 +1 @@
1
- const a25_0x6c7a24=a25_0x2ffe;(function(_0x4dd1b4,_0x270911){const _0x2de3a8=a25_0x2ffe,_0x22c8e8=_0x4dd1b4();while(!![]){try{const _0x133c87=-parseInt(_0x2de3a8(0x1e7))/0x1*(-parseInt(_0x2de3a8(0x1fe))/0x2)+-parseInt(_0x2de3a8(0x1f4))/0x3+-parseInt(_0x2de3a8(0x1f1))/0x4+parseInt(_0x2de3a8(0x1f8))/0x5*(-parseInt(_0x2de3a8(0x1ed))/0x6)+-parseInt(_0x2de3a8(0x1fa))/0x7*(-parseInt(_0x2de3a8(0x1f0))/0x8)+parseInt(_0x2de3a8(0x1fb))/0x9*(parseInt(_0x2de3a8(0x1ea))/0xa)+parseInt(_0x2de3a8(0x1f6))/0xb*(-parseInt(_0x2de3a8(0x1ee))/0xc);if(_0x133c87===_0x270911)break;else _0x22c8e8['push'](_0x22c8e8['shift']());}catch(_0x4b7cac){_0x22c8e8['push'](_0x22c8e8['shift']());}}}(a25_0x5a34,0x8fcca));function a25_0x5a34(){const _0x237871=['2fyzqog','log','auth','101500nfSDoi','✓\x20Logged\x20out','Clear\x20login\x20session','1806OXRGGu','4080192gLzsxe','read','97288eSlkCV','281548ZNALnp','yes','bool','163491QEspGn','../../auth/auth-server-ui.js','44srnEzM','login','95zuJeYA','write','21tCvKgv','819wSoDRR','logout','boolean','1119536vzofZN','Login\x20via\x20browser'];a25_0x5a34=function(){return _0x237871;};return a25_0x5a34();}import{unlinkSync,existsSync}from'node:fs';import{cookieFile}from'../../auth/constant.js';function a25_0x2ffe(_0x34aaf9,_0x10f015){_0x34aaf9=_0x34aaf9-0x1e7;const _0x5a3422=a25_0x5a34();let _0x2ffe6e=_0x5a3422[_0x34aaf9];return _0x2ffe6e;}export const authDefinitions=[{'service':a25_0x6c7a24(0x1e9),'command':a25_0x6c7a24(0x1f7),'description':a25_0x6c7a24(0x1ff),'risk':a25_0x6c7a24(0x1ef),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a25_0x6c7a24(0x1f2),'type':a25_0x6c7a24(0x1fd),'description':'Skip\x20login\x20confirmation\x20and\x20start\x20browser\x20auth\x20immediately','default':![]}],async 'execute'(_0x7913ce){const _0x1f36a9=a25_0x6c7a24,{runAuthServer:_0x2a9544}=await import(_0x1f36a9(0x1f5));return await _0x2a9544({'autoYes':_0x7913ce[_0x1f36a9(0x1f3)](_0x1f36a9(0x1f2)),'nonInteractive':_0x7913ce['nonInteractive']}),{'ok':!![]};}},{'service':'auth','command':a25_0x6c7a24(0x1fc),'description':a25_0x6c7a24(0x1ec),'risk':a25_0x6c7a24(0x1f9),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x5b6d2b){const _0x404656=a25_0x6c7a24;return existsSync(cookieFile)?(unlinkSync(cookieFile),console[_0x404656(0x1e8)](_0x404656(0x1eb))):console[_0x404656(0x1e8)]('!\x20Not\x20logged\x20in'),{'ok':!![]};}}];
1
+ const a25_0x1c1495=a25_0x40d0;function a25_0x40d0(_0xc1cb4d,_0x1baf00){_0xc1cb4d=_0xc1cb4d-0x117;const _0x16ef05=a25_0x16ef();let _0x40d07f=_0x16ef05[_0xc1cb4d];return _0x40d07f;}(function(_0x1259a5,_0xe4b88f){const _0x2ca1bb=a25_0x40d0,_0x43aa0a=_0x1259a5();while(!![]){try{const _0x4cfcc4=-parseInt(_0x2ca1bb(0x126))/0x1+-parseInt(_0x2ca1bb(0x11d))/0x2+-parseInt(_0x2ca1bb(0x122))/0x3*(-parseInt(_0x2ca1bb(0x127))/0x4)+parseInt(_0x2ca1bb(0x125))/0x5*(parseInt(_0x2ca1bb(0x129))/0x6)+-parseInt(_0x2ca1bb(0x11e))/0x7+-parseInt(_0x2ca1bb(0x123))/0x8+parseInt(_0x2ca1bb(0x118))/0x9;if(_0x4cfcc4===_0xe4b88f)break;else _0x43aa0a['push'](_0x43aa0a['shift']());}catch(_0x1bd370){_0x43aa0a['push'](_0x43aa0a['shift']());}}}(a25_0x16ef,0x49586));import{unlinkSync,existsSync}from'node:fs';import{cookieFile}from'../../auth/constant.js';function a25_0x16ef(){const _0x51bee5=['1723148LjcFcu','!\x20Not\x20logged\x20in','read','nonInteractive','21IYzQHM','292080jpdPdK','login','20ZJZJrn','191232ybNLBa','181988QOpFkH','auth','617766mDipLj','../../auth/auth-server-ui.js','log','write','672597cVDONh','yes','bool','Login\x20via\x20browser','logout','61456WbnATR'];a25_0x16ef=function(){return _0x51bee5;};return a25_0x16ef();}export const authDefinitions=[{'service':a25_0x1c1495(0x128),'command':a25_0x1c1495(0x124),'description':a25_0x1c1495(0x11b),'risk':a25_0x1c1495(0x120),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a25_0x1c1495(0x119),'type':'boolean','description':'Skip\x20login\x20confirmation\x20and\x20start\x20browser\x20auth\x20immediately','default':![]}],async 'execute'(_0x335f5a){const _0x4ea6cf=a25_0x1c1495,{runAuthServer:_0x582d62}=await import(_0x4ea6cf(0x12a));return await _0x582d62({'autoYes':_0x335f5a[_0x4ea6cf(0x11a)](_0x4ea6cf(0x119)),'nonInteractive':_0x335f5a[_0x4ea6cf(0x121)]}),{'ok':!![]};}},{'service':'auth','command':a25_0x1c1495(0x11c),'description':'Clear\x20login\x20session','risk':a25_0x1c1495(0x117),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x34d90e){const _0x9d97f4=a25_0x1c1495;return existsSync(cookieFile)?(unlinkSync(cookieFile),console[_0x9d97f4(0x12b)]('✓\x20Logged\x20out')):console['log'](_0x9d97f4(0x11f)),{'ok':!![]};}}];
@@ -1 +1 @@
1
- const a26_0x11867a=a26_0x2e58;(function(_0x4f835b,_0x9d7ff0){const _0x4eaeaa=a26_0x2e58,_0x48a5b9=_0x4f835b();while(!![]){try{const _0x224951=-parseInt(_0x4eaeaa(0x172))/0x1*(parseInt(_0x4eaeaa(0x1a3))/0x2)+-parseInt(_0x4eaeaa(0x16a))/0x3+-parseInt(_0x4eaeaa(0x1a6))/0x4*(parseInt(_0x4eaeaa(0x18b))/0x5)+-parseInt(_0x4eaeaa(0x180))/0x6+parseInt(_0x4eaeaa(0x169))/0x7*(-parseInt(_0x4eaeaa(0x175))/0x8)+parseInt(_0x4eaeaa(0x1a4))/0x9*(parseInt(_0x4eaeaa(0x1b9))/0xa)+parseInt(_0x4eaeaa(0x1ba))/0xb;if(_0x224951===_0x9d7ff0)break;else _0x48a5b9['push'](_0x48a5b9['shift']());}catch(_0x23a3a0){_0x48a5b9['push'](_0x48a5b9['shift']());}}}(a26_0x2e75,0x80070));function a26_0x2e58(_0x421483,_0x257a4a){_0x421483=_0x421483-0x167;const _0x2e754b=a26_0x2e75();let _0x2e5892=_0x2e754b[_0x421483];return _0x2e5892;}import{createInterface}from'node:readline';import{mkdir,writeFile}from'node:fs/promises';import{dirname,join}from'node:path';import{listDatasets,listBffDatasetOperations}from'../../core/api-client.js';import{loadAliasMap,resolveAlias}from'../../core/alias-resolver.js';import{resolveApiFilePath}from'../../context.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{fileExists}from'../../core/bff/file-system.js';function a26_0x2e75(){const _0x203ec9=['HOOK\x20requires\x20hookOptions\x20for\x20template\x20generation.','.js','after','appCode','keys','datasetcode','\x0a\x20*\x0a\x20*\x20@param\x20{Object}\x20params\x20-\x20Current\x20request\x20params\x20or\x20response\x20result.\x0a\x20*\x20@param\x20{Object}\x20context\x20-\x20Execution\x20context\x20(injected\x20by\x20platform).\x0a\x20*\x20@returns\x20{Promise<Object>}\x20Modified\x20params\x20object.\x0a\x20*/\x0aexport\x20default\x20async\x20function\x20','\x0a\x20*\x20[脚本类型]\x20COMMON\x0a\x20*\x20[本地路径]\x20.rabetbase/bff/COMMON/','No\x20DB\x20table\x20datasets\x20found\x20for\x20this\x20app.\x20METADATA\x20datasets\x20cannot\x20be\x20used\x20for\x20BFF\x20HOOK\x20development\x20because\x20the\x20workflow\x20depends\x20on\x20SQL\x20execution.','Available:\x20','(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a','scriptsRootDir','Dataset\x20not\x20found\x20for\x20code\x20\x22','Dataset\x20alias\x20from\x20api.ts\x20(HOOK\x20only,\x20preferred)','name','HOOK\x20requires\x20alias/operation/node\x20options.','Operation\x20type\x20\x22','code','type','COMMON','1014jBAwcl','90DpQWFZ','datasetCode','2564tMARKH','No\x20operation\x20types\x20found\x20for\x20dataset\x20','\x20api\x20pull`\x20to\x20refresh.','\x0a\x20*\x0a\x20*\x20@param\x20{Object}\x20params\x20-\x20Request\x20parameters.\x0a\x20*\x20@param\x20{Object}\x20context\x20-\x20Execution\x20context\x20(injected\x20by\x20platform).\x0a\x20*\x20@returns\x20{Promise<Object>}\x20Business\x20result\x20(wrapped\x20in\x20response.data).\x0a\x20*/\x0aexport\x20default\x20async\x20function\x20','alias','Invalid\x20function\x20name\x20\x22','functionNode','HOOK','find','Select\x20dataset:','trim','validation','write','No\x20datasets\x20found\x20for\x20this\x20app.','Trigger\x20node\x20(HOOK\x20only)','\x22.\x20Must\x20be\x20a\x20valid\x20JS\x20identifier\x20(e.g.\x20createOrder,\x20beforeFilter).','operationType','create','length','132330SHUVCR','23755105jmVmqH','\x22.\x20','Dataset\x20code\x20(HOOK\x20only,\x20fallback\x20when\x20alias\x20unavailable)','\x20function:\x20','ENDPOINT','2282lucVJZ','646455CLWOBw','\x0a\x20*\x20[接口路径]\x20POST\x20/api/','--operation-type\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','Select\x20trigger\x20node:','Available\x20aliases:\x20','before','\x0a\x20*\x20[触发节点]\x20','/**\x0a\x20*\x20ENDPOINT\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','133ZaMGmH','utf8','string','2512bXdYXn','\x20\x20Enter\x20a\x20number\x20between\x201\x20and\x20','bff','map','entries','description','Script\x20type','Script\x20description','Invalid\x20dataset\x20selection.','Operation\x20type\x20(HOOK\x20only)','.js\x0a\x20*\x0a\x20*\x20@param\x20{Object}\x20params\x20-\x20Input\x20parameters.\x0a\x20*\x20@param\x20{Object}\x20context\x20-\x20Execution\x20context\x20(injected\x20by\x20platform).\x0a\x20*\x20@returns\x20{Promise<Object>}\x20Processing\x20result.\x0a\x20*/\x0aexport\x20default\x20async\x20function\x20','4320312fOBRJv','stderr','str','stdin','--alias\x20or\x20--datasetcode\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','apiDir','function-node','File\x20already\x20exists:\x20','close','nonInteractive','\x22\x20not\x20found.\x20','5165bIRjwv','operation-type','Created\x20','Scaffold\x20a\x20new\x20BFF\x20function\x20from\x20template'];a26_0x2e75=function(){return _0x203ec9;};return a26_0x2e75();}import{isValidBffFunctionName,normalizeHookFunctionNode}from'../../core/bff/utils.js';import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{assertDatasetSupportsLocalDevelopment,filterDbBackedDatasets}from'../../commands/dataset/capability.js';export const bffCreate={'service':a26_0x11867a(0x177),'command':a26_0x11867a(0x1b7),'description':a26_0x11867a(0x18e),'risk':a26_0x11867a(0x1b2),'flags':[{'name':'type','type':a26_0x11867a(0x174),'required':!![],'enum':[a26_0x11867a(0x1a2),a26_0x11867a(0x168),a26_0x11867a(0x1ad)],'description':a26_0x11867a(0x17b)},{'name':a26_0x11867a(0x19d),'type':a26_0x11867a(0x174),'required':!![],'description':'Function\x20name\x20(valid\x20JS\x20identifier)'},{'name':a26_0x11867a(0x17a),'type':'string','description':a26_0x11867a(0x17c)},{'name':'alias','type':'string','description':a26_0x11867a(0x19c)},{'name':a26_0x11867a(0x194),'type':a26_0x11867a(0x174),'description':a26_0x11867a(0x1bc)},{'name':a26_0x11867a(0x18c),'type':a26_0x11867a(0x174),'description':a26_0x11867a(0x17e)},{'name':a26_0x11867a(0x186),'type':a26_0x11867a(0x174),'description':a26_0x11867a(0x1b4),'enum':['before',a26_0x11867a(0x191)]}],async 'validate'(_0x2659ae){const _0x477045=a26_0x11867a,_0x1df310=_0x2659ae[_0x477045(0x182)](_0x477045(0x19d));if(!isValidBffFunctionName(_0x1df310))throw CliErrors['validation'](_0x477045(0x1ab)+_0x1df310+_0x477045(0x1b5));},async 'execute'(_0x3755a7){const _0x31f559=a26_0x11867a,_0x35dac2=loadBffProjectConfig(_0x3755a7[_0x31f559(0x192)]),_0x14fa3b=_0x3755a7[_0x31f559(0x182)](_0x31f559(0x1a1)),_0x1d09e0=_0x3755a7[_0x31f559(0x182)](_0x31f559(0x19d)),_0x1d316b=_0x3755a7[_0x31f559(0x182)](_0x31f559(0x17a))||undefined,_0x12f0d0=_0x14fa3b===_0x31f559(0x1ad)?await resolveHookOptions(_0x35dac2,_0x3755a7):undefined,_0x5baa80=buildFilePath(_0x35dac2,_0x14fa3b,_0x1d09e0,_0x12f0d0);if(await fileExists(_0x5baa80))throw CliErrors[_0x31f559(0x1b1)](_0x31f559(0x187)+_0x5baa80);await mkdir(dirname(_0x5baa80),{'recursive':!![]});const _0x510a54=generateTemplate(_0x14fa3b,_0x1d09e0,_0x3755a7[_0x31f559(0x192)],_0x1d316b,_0x12f0d0);await writeFile(_0x5baa80,_0x510a54,_0x31f559(0x173));const _0x2d1572={'type':_0x14fa3b,'name':_0x1d09e0,'path':_0x5baa80};if(_0x1d316b)_0x2d1572['description']=_0x1d316b;if(_0x12f0d0){if(_0x12f0d0['alias'])_0x2d1572['alias']=_0x12f0d0['alias'];_0x2d1572[_0x31f559(0x1a5)]=_0x12f0d0[_0x31f559(0x1a5)],_0x2d1572[_0x31f559(0x1b6)]=_0x12f0d0[_0x31f559(0x1b6)],_0x2d1572[_0x31f559(0x1ac)]=_0x12f0d0[_0x31f559(0x1ac)];}return{'ok':!![],'data':_0x2d1572,'message':_0x31f559(0x18d)+_0x14fa3b+_0x31f559(0x167)+_0x1d09e0};}};async function resolveHookOptions(_0x346028,_0x1002c4){const _0x3dd6eb=a26_0x11867a,_0x38be1c=loadAliasMap(_0x1002c4[_0x3dd6eb(0x185)],undefined,resolveApiFilePath(_0x1002c4[_0x3dd6eb(0x185)],_0x1002c4[_0x3dd6eb(0x192)])),_0x16078b=_0x38be1c[_0x3dd6eb(0x1b8)]>0x0;let _0x1b8ef9,_0x2f1844,_0x560ab8;const _0x25d5e2=_0x1002c4[_0x3dd6eb(0x182)](_0x3dd6eb(0x1aa)),_0x58ff56=_0x1002c4[_0x3dd6eb(0x182)]('datasetcode');if(_0x25d5e2){const _0x27b260=resolveAlias(_0x1002c4[_0x3dd6eb(0x185)],_0x25d5e2,undefined,resolveApiFilePath(_0x1002c4[_0x3dd6eb(0x185)],_0x1002c4[_0x3dd6eb(0x192)]));if(!_0x27b260){const _0x25d007=_0x16078b?_0x3dd6eb(0x16e)+_0x38be1c[_0x3dd6eb(0x178)](_0x1c2d31=>_0x1c2d31[_0x3dd6eb(0x1aa)])['join'](',\x20'):'No\x20api.ts\x20found.\x20Run\x20`'+CLI_BIN_NAME+'\x20api\x20pull`\x20first,\x20or\x20use\x20--datasetcode\x20instead.';throw CliErrors['validation']('Alias\x20\x22'+_0x25d5e2+_0x3dd6eb(0x18a)+_0x25d007);}_0x1b8ef9=_0x25d5e2,_0x2f1844=_0x27b260;}else{if(_0x58ff56){_0x2f1844=_0x58ff56;const _0x522a0d=_0x38be1c['find'](_0x4a5e09=>_0x4a5e09[_0x3dd6eb(0x1a5)]===_0x58ff56);_0x1b8ef9=_0x522a0d?.[_0x3dd6eb(0x1aa)];}else{if(_0x1002c4[_0x3dd6eb(0x189)])throw CliErrors['validation'](_0x3dd6eb(0x184));else{if(_0x16078b){const _0x5bdeb6=_0x38be1c[_0x3dd6eb(0x178)](_0x428fd2=>_0x428fd2[_0x3dd6eb(0x1aa)]+'\x20('+_0x428fd2['tableName']+')'),_0x3c5e19=await promptSelect(_0x3dd6eb(0x1af),_0x5bdeb6),_0x22cfbc=_0x38be1c[_0x3c5e19];if(!_0x22cfbc)throw CliErrors[_0x3dd6eb(0x1b1)](_0x3dd6eb(0x17d));_0x1b8ef9=_0x22cfbc[_0x3dd6eb(0x1aa)],_0x2f1844=_0x22cfbc['datasetCode'];}else{const _0x2865e7=await listDatasets(_0x1002c4[_0x3dd6eb(0x192)]),_0x1116f9=filterDbBackedDatasets(_0x2865e7);if(_0x1116f9[_0x3dd6eb(0x1b8)]===0x0)throw CliErrors['validation'](_0x2865e7[_0x3dd6eb(0x1b8)]===0x0?_0x3dd6eb(0x1b3):_0x3dd6eb(0x197));const _0x4fbfc5=_0x1116f9['map'](_0x26fc92=>_0x26fc92[_0x3dd6eb(0x19d)]+'\x20('+_0x26fc92[_0x3dd6eb(0x1a0)]+')'),_0x88b663=await promptSelect(_0x3dd6eb(0x1af),_0x4fbfc5),_0xdfaee6=_0x1116f9[_0x88b663];if(!_0xdfaee6)throw CliErrors[_0x3dd6eb(0x1b1)](_0x3dd6eb(0x17d));_0x2f1844=_0xdfaee6['code'],_0x1b8ef9=undefined;}}}}const _0x2fc334=await listDatasets(_0x1002c4[_0x3dd6eb(0x192)]),_0x1260c8=_0x2fc334[_0x3dd6eb(0x1ae)](_0x3732ce=>_0x3732ce[_0x3dd6eb(0x1a0)]===_0x2f1844);if(!_0x1260c8)throw CliErrors[_0x3dd6eb(0x1b1)](_0x3dd6eb(0x19b)+_0x2f1844+_0x3dd6eb(0x1bb)+(_0x1b8ef9?'The\x20api.ts\x20may\x20be\x20stale\x20—\x20run\x20`'+CLI_BIN_NAME+_0x3dd6eb(0x1a8):''));assertDatasetSupportsLocalDevelopment(_0x1260c8,'BFF\x20HOOK'),_0x560ab8=_0x1260c8['id'];const _0x55a72e=_0x1b8ef9??_0x2f1844,_0x1fcb85=await listBffDatasetOperations(_0x1002c4['appCode'],_0x560ab8),_0x2f2e7e=_0x1fcb85?Object[_0x3dd6eb(0x193)](_0x1fcb85):[];if(_0x2f2e7e[_0x3dd6eb(0x1b8)]===0x0)throw CliErrors[_0x3dd6eb(0x1b1)](_0x3dd6eb(0x1a7)+_0x55a72e+'.');let _0x4c115a;const _0x17ad9d=_0x1002c4[_0x3dd6eb(0x182)](_0x3dd6eb(0x18c));if(_0x17ad9d){if(!_0x2f2e7e['includes'](_0x17ad9d))throw CliErrors[_0x3dd6eb(0x1b1)](_0x3dd6eb(0x19f)+_0x17ad9d+'\x22\x20not\x20found\x20for\x20dataset\x20'+_0x55a72e+'.\x20'+(_0x3dd6eb(0x198)+_0x2f2e7e['join'](',\x20')));_0x4c115a=_0x17ad9d;}else{if(_0x1002c4[_0x3dd6eb(0x189)])throw CliErrors[_0x3dd6eb(0x1b1)](_0x3dd6eb(0x16c));const _0x432b00=await promptSelect('Select\x20operation\x20type:',_0x2f2e7e);_0x4c115a=_0x2f2e7e[_0x432b00]??_0x2f2e7e[0x0];}let _0x3cb27b=normalizeHookFunctionNode(_0x1002c4['str'](_0x3dd6eb(0x186)));if(!_0x3cb27b){if(_0x1002c4[_0x3dd6eb(0x182)](_0x3dd6eb(0x186)))throw CliErrors[_0x3dd6eb(0x1b1)]('--function-node\x20must\x20be\x20\x27before\x27\x20or\x20\x27after\x27.');if(_0x1002c4['nonInteractive'])throw CliErrors['validation']('--function-node\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.');const _0x3bd84e=await promptSelect(_0x3dd6eb(0x16d),[_0x3dd6eb(0x16f),_0x3dd6eb(0x191)]);_0x3cb27b=['before','after'][_0x3bd84e]??_0x3dd6eb(0x16f);}return{'alias':_0x1b8ef9,'datasetCode':_0x2f1844,'datasetId':_0x560ab8,'operationType':_0x4c115a,'functionNode':_0x3cb27b};}async function promptSelect(_0x4dc11c,_0x5abff1){const _0x249623=a26_0x11867a;if(_0x5abff1[_0x249623(0x1b8)]===0x1)return 0x0;for(const [_0x2b8a09,_0x57dbdc]of _0x5abff1[_0x249623(0x179)]()){process['stderr'][_0x249623(0x1b2)]('\x20\x20'+(_0x2b8a09+0x1)+'.\x20'+_0x57dbdc+'\x0a');}const _0x3c6fc2=createInterface({'input':process[_0x249623(0x183)],'output':process[_0x249623(0x181)]});while(!![]){const _0x2d1c54=await new Promise(_0x40718b=>{_0x3c6fc2['question'](_0x4dc11c+'\x20',_0x40718b);}),_0x2f6777=Number['parseInt'](_0x2d1c54[_0x249623(0x1b0)](),0xa);if(Number['isInteger'](_0x2f6777)&&_0x2f6777>=0x1&&_0x2f6777<=_0x5abff1[_0x249623(0x1b8)])return _0x3c6fc2[_0x249623(0x188)](),_0x2f6777-0x1;process['stderr']['write'](_0x249623(0x176)+_0x5abff1['length']+'.\x0a');}}function buildFilePath(_0x51ff69,_0x3af9f5,_0x562bcf,_0x259582){const _0x139b7a=a26_0x11867a;if(_0x3af9f5===_0x139b7a(0x1ad)){if(!_0x259582)throw CliErrors[_0x139b7a(0x1b1)](_0x139b7a(0x19e));const _0x104023=_0x259582[_0x139b7a(0x1aa)]??_0x259582[_0x139b7a(0x1a5)];return join(_0x51ff69['scriptsRootDir'],_0x139b7a(0x1ad),_0x104023,_0x259582['operationType'],_0x259582[_0x139b7a(0x1ac)],_0x562bcf+'.js');}return join(_0x51ff69[_0x139b7a(0x19a)],_0x3af9f5,_0x562bcf+_0x139b7a(0x190));}export function generateTemplate(_0x45631c,_0x3b47d2,_0x32958e,_0x237f62,_0x57f837){const _0x2bfb30=a26_0x11867a,_0x56e5a4=_0x237f62?.[_0x2bfb30(0x1b0)]()||'TODO:\x20add\x20script\x20description';if(_0x45631c===_0x2bfb30(0x1a2))return'/**\x0a\x20*\x20COMMON\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20'+_0x56e5a4+'\x0a\x20*\x20[脚本名称]\x20'+_0x3b47d2+_0x2bfb30(0x196)+_0x3b47d2+_0x2bfb30(0x17f)+_0x3b47d2+_0x2bfb30(0x199);if(_0x45631c===_0x2bfb30(0x168))return _0x2bfb30(0x171)+_0x56e5a4+'\x0a\x20*\x20[接口路径]\x20POST\x20/api/endpoint/{appCode}/{scriptName}\x0a\x20*\x20[当前示例]\x20POST\x20/api/endpoint/'+_0x32958e+'/'+_0x3b47d2+_0x2bfb30(0x1a9)+_0x3b47d2+_0x2bfb30(0x199);if(!_0x57f837)throw CliErrors[_0x2bfb30(0x1b1)](_0x2bfb30(0x18f));return'/**\x0a\x20*\x20HOOK\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20'+_0x56e5a4+_0x2bfb30(0x16b)+_0x32958e+'/'+_0x57f837['datasetCode']+'/'+_0x57f837[_0x2bfb30(0x1b6)]+_0x2bfb30(0x170)+_0x57f837[_0x2bfb30(0x1ac)]+_0x2bfb30(0x195)+_0x3b47d2+_0x2bfb30(0x199);}
1
+ const a26_0x2a8ffb=a26_0x1ef5;(function(_0x3ebffd,_0xf2525c){const _0x367d95=a26_0x1ef5,_0x24d2fb=_0x3ebffd();while(!![]){try{const _0x223f65=-parseInt(_0x367d95(0x1d9))/0x1*(-parseInt(_0x367d95(0x1bb))/0x2)+parseInt(_0x367d95(0x206))/0x3*(-parseInt(_0x367d95(0x203))/0x4)+-parseInt(_0x367d95(0x1f2))/0x5+-parseInt(_0x367d95(0x210))/0x6*(-parseInt(_0x367d95(0x1b5))/0x7)+-parseInt(_0x367d95(0x1db))/0x8+parseInt(_0x367d95(0x1de))/0x9+-parseInt(_0x367d95(0x1d5))/0xa;if(_0x223f65===_0xf2525c)break;else _0x24d2fb['push'](_0x24d2fb['shift']());}catch(_0xd8ac4c){_0x24d2fb['push'](_0x24d2fb['shift']());}}}(a26_0x424c,0xe74d5));import{createInterface}from'node:readline';import{mkdir,writeFile}from'node:fs/promises';import{dirname,join}from'node:path';import{listDatasets,listBffDatasetOperations}from'../../core/api-client.js';function a26_0x424c(){const _0x30c736=['validation','entries','alias','stderr','nonInteractive','\x0a\x20*\x0a\x20*\x20@param\x20{Object}\x20params\x20-\x20Current\x20request\x20params\x20or\x20response\x20result.\x0a\x20*\x20@param\x20{Object}\x20context\x20-\x20Execution\x20context\x20(injected\x20by\x20platform).\x0a\x20*\x20@returns\x20{Promise<Object>}\x20Modified\x20params\x20object.\x0a\x20*/\x0aexport\x20default\x20async\x20function\x20','\x0a\x20*\x20[接口路径]\x20POST\x20/api/','write','ENDPOINT','(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a','\x0a\x20*\x20[接口路径]\x20POST\x20/api/endpoint/{appCode}/{scriptName}\x0a\x20*\x20[当前示例]\x20POST\x20/api/endpoint/','functionNode','Dataset\x20code\x20(HOOK\x20only,\x20fallback\x20when\x20alias\x20unavailable)','/**\x0a\x20*\x20HOOK\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','Invalid\x20dataset\x20selection.','--alias\x20or\x20--datasetcode\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','HOOK','name','includes','7925480CvxsUT','No\x20datasets\x20found\x20for\x20this\x20app.','Alias\x20\x22','/**\x0a\x20*\x20ENDPOINT\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','2UWNSLw','Trigger\x20node\x20(HOOK\x20only)','151440xXcUuf','\x20function:\x20','create','5231052XUwXbi','Scaffold\x20a\x20new\x20BFF\x20function\x20from\x20template','datasetcode','appCode','Operation\x20type\x20(HOOK\x20only)','\x0a\x20*\x20[触发节点]\x20','COMMON','--operation-type\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','parseInt','\x22\x20not\x20found\x20for\x20dataset\x20','No\x20operation\x20types\x20found\x20for\x20dataset\x20','type','Dataset\x20not\x20found\x20for\x20code\x20\x22','apiDir','tableName','Invalid\x20function\x20name\x20\x22','Script\x20description','HOOK\x20requires\x20hookOptions\x20for\x20template\x20generation.','description','The\x20api.ts\x20may\x20be\x20stale\x20—\x20run\x20`','1704085xeyzDk','close','before','scriptsRootDir','stdin','/**\x0a\x20*\x20COMMON\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','HOOK\x20requires\x20alias/operation/node\x20options.','\x22.\x20','No\x20api.ts\x20found.\x20Run\x20`','Select\x20dataset:','Select\x20operation\x20type:','.js','Dataset\x20alias\x20from\x20api.ts\x20(HOOK\x20only,\x20preferred)','No\x20DB\x20table\x20datasets\x20found\x20for\x20this\x20app.\x20METADATA\x20datasets\x20cannot\x20be\x20used\x20for\x20BFF\x20HOOK\x20development\x20because\x20the\x20workflow\x20depends\x20on\x20SQL\x20execution.','trim','Script\x20type','Available\x20aliases:\x20','8LnqdWU','\x22.\x20Must\x20be\x20a\x20valid\x20JS\x20identifier\x20(e.g.\x20createOrder,\x20beforeFilter).','operation-type','672807ktLVkq','length','question','find','\x20api\x20pull`\x20first,\x20or\x20use\x20--datasetcode\x20instead.','datasetCode','Available:\x20','\x20api\x20pull`\x20to\x20refresh.','after','join','2652FWkBfP','\x22\x20not\x20found.\x20','\x0a\x20*\x20[脚本名称]\x20','--function-node\x20must\x20be\x20\x27before\x27\x20or\x20\x27after\x27.','10479iKXHUe','BFF\x20HOOK','TODO:\x20add\x20script\x20description','.js\x0a\x20*\x0a\x20*\x20@param\x20{Object}\x20params\x20-\x20Input\x20parameters.\x0a\x20*\x20@param\x20{Object}\x20context\x20-\x20Execution\x20context\x20(injected\x20by\x20platform).\x0a\x20*\x20@returns\x20{Promise<Object>}\x20Processing\x20result.\x0a\x20*/\x0aexport\x20default\x20async\x20function\x20','str','operationType','1305344xigCAu','Operation\x20type\x20\x22','function-node','bff','map','Select\x20trigger\x20node:','string'];a26_0x424c=function(){return _0x30c736;};return a26_0x424c();}function a26_0x1ef5(_0xa6baee,_0x3145e2){_0xa6baee=_0xa6baee-0x1b4;const _0x424c11=a26_0x424c();let _0x1ef57b=_0x424c11[_0xa6baee];return _0x1ef57b;}import{loadAliasMap,resolveAlias}from'../../core/alias-resolver.js';import{resolveApiFilePath}from'../../context.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{fileExists}from'../../core/bff/file-system.js';import{isValidBffFunctionName,normalizeHookFunctionNode}from'../../core/bff/utils.js';import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{assertDatasetSupportsLocalDevelopment,filterDbBackedDatasets}from'../../commands/dataset/capability.js';export const bffCreate={'service':a26_0x2a8ffb(0x1be),'command':a26_0x2a8ffb(0x1dd),'description':a26_0x2a8ffb(0x1df),'risk':a26_0x2a8ffb(0x1c9),'flags':[{'name':a26_0x2a8ffb(0x1e9),'type':a26_0x2a8ffb(0x1c1),'required':!![],'enum':[a26_0x2a8ffb(0x1e4),'ENDPOINT',a26_0x2a8ffb(0x1d2)],'description':a26_0x2a8ffb(0x201)},{'name':a26_0x2a8ffb(0x1d3),'type':a26_0x2a8ffb(0x1c1),'required':!![],'description':'Function\x20name\x20(valid\x20JS\x20identifier)'},{'name':'description','type':a26_0x2a8ffb(0x1c1),'description':a26_0x2a8ffb(0x1ee)},{'name':a26_0x2a8ffb(0x1c4),'type':a26_0x2a8ffb(0x1c1),'description':a26_0x2a8ffb(0x1fe)},{'name':a26_0x2a8ffb(0x1e0),'type':'string','description':a26_0x2a8ffb(0x1ce)},{'name':'operation-type','type':'string','description':a26_0x2a8ffb(0x1e2)},{'name':a26_0x2a8ffb(0x1bd),'type':a26_0x2a8ffb(0x1c1),'description':a26_0x2a8ffb(0x1da),'enum':['before','after']}],async 'validate'(_0x5dfbfe){const _0x5eaea9=a26_0x2a8ffb,_0x38a70d=_0x5dfbfe[_0x5eaea9(0x1b9)]('name');if(!isValidBffFunctionName(_0x38a70d))throw CliErrors[_0x5eaea9(0x1c2)](_0x5eaea9(0x1ed)+_0x38a70d+_0x5eaea9(0x204));},async 'execute'(_0x225b2b){const _0x3e2056=a26_0x2a8ffb,_0x54d305=loadBffProjectConfig(_0x225b2b['appCode']),_0x5070c1=_0x225b2b[_0x3e2056(0x1b9)](_0x3e2056(0x1e9)),_0x4722f9=_0x225b2b[_0x3e2056(0x1b9)]('name'),_0x2531e4=_0x225b2b['str'](_0x3e2056(0x1f0))||undefined,_0x392bca=_0x5070c1==='HOOK'?await resolveHookOptions(_0x54d305,_0x225b2b):undefined,_0x3ed328=buildFilePath(_0x54d305,_0x5070c1,_0x4722f9,_0x392bca);if(await fileExists(_0x3ed328))throw CliErrors[_0x3e2056(0x1c2)]('File\x20already\x20exists:\x20'+_0x3ed328);await mkdir(dirname(_0x3ed328),{'recursive':!![]});const _0x5b6d0c=generateTemplate(_0x5070c1,_0x4722f9,_0x225b2b[_0x3e2056(0x1e1)],_0x2531e4,_0x392bca);await writeFile(_0x3ed328,_0x5b6d0c,'utf8');const _0x5d168b={'type':_0x5070c1,'name':_0x4722f9,'path':_0x3ed328};if(_0x2531e4)_0x5d168b[_0x3e2056(0x1f0)]=_0x2531e4;if(_0x392bca){if(_0x392bca[_0x3e2056(0x1c4)])_0x5d168b[_0x3e2056(0x1c4)]=_0x392bca[_0x3e2056(0x1c4)];_0x5d168b[_0x3e2056(0x20b)]=_0x392bca[_0x3e2056(0x20b)],_0x5d168b[_0x3e2056(0x1ba)]=_0x392bca['operationType'],_0x5d168b[_0x3e2056(0x1cd)]=_0x392bca[_0x3e2056(0x1cd)];}return{'ok':!![],'data':_0x5d168b,'message':'Created\x20'+_0x5070c1+_0x3e2056(0x1dc)+_0x4722f9};}};async function resolveHookOptions(_0x736a1e,_0x18c56c){const _0x5df645=a26_0x2a8ffb,_0x3dfcc8=loadAliasMap(_0x18c56c['apiDir'],undefined,resolveApiFilePath(_0x18c56c[_0x5df645(0x1eb)],_0x18c56c[_0x5df645(0x1e1)])),_0x338143=_0x3dfcc8[_0x5df645(0x207)]>0x0;let _0x475210,_0x1151cc,_0x4c4ef1;const _0x3ac672=_0x18c56c[_0x5df645(0x1b9)](_0x5df645(0x1c4)),_0x193916=_0x18c56c['str']('datasetcode');if(_0x3ac672){const _0x273298=resolveAlias(_0x18c56c[_0x5df645(0x1eb)],_0x3ac672,undefined,resolveApiFilePath(_0x18c56c[_0x5df645(0x1eb)],_0x18c56c[_0x5df645(0x1e1)]));if(!_0x273298){const _0x5d917c=_0x338143?_0x5df645(0x202)+_0x3dfcc8[_0x5df645(0x1bf)](_0x63eb81=>_0x63eb81[_0x5df645(0x1c4)])['join'](',\x20'):_0x5df645(0x1fa)+CLI_BIN_NAME+_0x5df645(0x20a);throw CliErrors['validation'](_0x5df645(0x1d7)+_0x3ac672+_0x5df645(0x211)+_0x5d917c);}_0x475210=_0x3ac672,_0x1151cc=_0x273298;}else{if(_0x193916){_0x1151cc=_0x193916;const _0x18ff5d=_0x3dfcc8[_0x5df645(0x209)](_0x5833ca=>_0x5833ca[_0x5df645(0x20b)]===_0x193916);_0x475210=_0x18ff5d?.[_0x5df645(0x1c4)];}else{if(_0x18c56c[_0x5df645(0x1c6)])throw CliErrors[_0x5df645(0x1c2)](_0x5df645(0x1d1));else{if(_0x338143){const _0x1a38ba=_0x3dfcc8['map'](_0x3c5652=>_0x3c5652[_0x5df645(0x1c4)]+'\x20('+_0x3c5652[_0x5df645(0x1ec)]+')'),_0x21583b=await promptSelect(_0x5df645(0x1fb),_0x1a38ba),_0xe42f0f=_0x3dfcc8[_0x21583b];if(!_0xe42f0f)throw CliErrors['validation'](_0x5df645(0x1d0));_0x475210=_0xe42f0f[_0x5df645(0x1c4)],_0x1151cc=_0xe42f0f[_0x5df645(0x20b)];}else{const _0x2d6e75=await listDatasets(_0x18c56c[_0x5df645(0x1e1)]),_0x30a9ba=filterDbBackedDatasets(_0x2d6e75);if(_0x30a9ba['length']===0x0)throw CliErrors[_0x5df645(0x1c2)](_0x2d6e75[_0x5df645(0x207)]===0x0?_0x5df645(0x1d6):_0x5df645(0x1ff));const _0x49d69c=_0x30a9ba['map'](_0x3f59de=>_0x3f59de[_0x5df645(0x1d3)]+'\x20('+_0x3f59de['code']+')'),_0x21bf98=await promptSelect(_0x5df645(0x1fb),_0x49d69c),_0x3f60c4=_0x30a9ba[_0x21bf98];if(!_0x3f60c4)throw CliErrors['validation'](_0x5df645(0x1d0));_0x1151cc=_0x3f60c4['code'],_0x475210=undefined;}}}}const _0x53b645=await listDatasets(_0x18c56c['appCode']),_0x2f6a23=_0x53b645[_0x5df645(0x209)](_0x420697=>_0x420697['code']===_0x1151cc);if(!_0x2f6a23)throw CliErrors[_0x5df645(0x1c2)](_0x5df645(0x1ea)+_0x1151cc+_0x5df645(0x1f9)+(_0x475210?_0x5df645(0x1f1)+CLI_BIN_NAME+_0x5df645(0x20d):''));assertDatasetSupportsLocalDevelopment(_0x2f6a23,_0x5df645(0x1b6)),_0x4c4ef1=_0x2f6a23['id'];const _0x193f31=_0x475210??_0x1151cc,_0x34b3b6=await listBffDatasetOperations(_0x18c56c['appCode'],_0x4c4ef1),_0x12a9a3=_0x34b3b6?Object['keys'](_0x34b3b6):[];if(_0x12a9a3[_0x5df645(0x207)]===0x0)throw CliErrors[_0x5df645(0x1c2)](_0x5df645(0x1e8)+_0x193f31+'.');let _0xf4e907;const _0x2537d3=_0x18c56c['str'](_0x5df645(0x205));if(_0x2537d3){if(!_0x12a9a3[_0x5df645(0x1d4)](_0x2537d3))throw CliErrors[_0x5df645(0x1c2)](_0x5df645(0x1bc)+_0x2537d3+_0x5df645(0x1e7)+_0x193f31+'.\x20'+(_0x5df645(0x20c)+_0x12a9a3[_0x5df645(0x20f)](',\x20')));_0xf4e907=_0x2537d3;}else{if(_0x18c56c[_0x5df645(0x1c6)])throw CliErrors[_0x5df645(0x1c2)](_0x5df645(0x1e5));const _0x6ba40d=await promptSelect(_0x5df645(0x1fc),_0x12a9a3);_0xf4e907=_0x12a9a3[_0x6ba40d]??_0x12a9a3[0x0];}let _0x22c751=normalizeHookFunctionNode(_0x18c56c['str'](_0x5df645(0x1bd)));if(!_0x22c751){if(_0x18c56c[_0x5df645(0x1b9)](_0x5df645(0x1bd)))throw CliErrors['validation'](_0x5df645(0x1b4));if(_0x18c56c[_0x5df645(0x1c6)])throw CliErrors['validation']('--function-node\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.');const _0x291da9=await promptSelect(_0x5df645(0x1c0),[_0x5df645(0x1f4),_0x5df645(0x20e)]);_0x22c751=[_0x5df645(0x1f4),_0x5df645(0x20e)][_0x291da9]??_0x5df645(0x1f4);}return{'alias':_0x475210,'datasetCode':_0x1151cc,'datasetId':_0x4c4ef1,'operationType':_0xf4e907,'functionNode':_0x22c751};}async function promptSelect(_0x580248,_0x4398cf){const _0x3f40b7=a26_0x2a8ffb;if(_0x4398cf['length']===0x1)return 0x0;for(const [_0x417d61,_0x534552]of _0x4398cf[_0x3f40b7(0x1c3)]()){process[_0x3f40b7(0x1c5)][_0x3f40b7(0x1c9)]('\x20\x20'+(_0x417d61+0x1)+'.\x20'+_0x534552+'\x0a');}const _0x59270b=createInterface({'input':process[_0x3f40b7(0x1f6)],'output':process[_0x3f40b7(0x1c5)]});while(!![]){const _0x4e8efb=await new Promise(_0x5306d2=>{const _0x44b2fe=_0x3f40b7;_0x59270b[_0x44b2fe(0x208)](_0x580248+'\x20',_0x5306d2);}),_0x40e522=Number[_0x3f40b7(0x1e6)](_0x4e8efb[_0x3f40b7(0x200)](),0xa);if(Number['isInteger'](_0x40e522)&&_0x40e522>=0x1&&_0x40e522<=_0x4398cf[_0x3f40b7(0x207)])return _0x59270b[_0x3f40b7(0x1f3)](),_0x40e522-0x1;process[_0x3f40b7(0x1c5)][_0x3f40b7(0x1c9)]('\x20\x20Enter\x20a\x20number\x20between\x201\x20and\x20'+_0x4398cf[_0x3f40b7(0x207)]+'.\x0a');}}function buildFilePath(_0xcc1d4b,_0x7ebf7d,_0x443adb,_0x7f9550){const _0x213f02=a26_0x2a8ffb;if(_0x7ebf7d==='HOOK'){if(!_0x7f9550)throw CliErrors[_0x213f02(0x1c2)](_0x213f02(0x1f8));const _0x5f127b=_0x7f9550[_0x213f02(0x1c4)]??_0x7f9550[_0x213f02(0x20b)];return join(_0xcc1d4b[_0x213f02(0x1f5)],'HOOK',_0x5f127b,_0x7f9550[_0x213f02(0x1ba)],_0x7f9550[_0x213f02(0x1cd)],_0x443adb+_0x213f02(0x1fd));}return join(_0xcc1d4b[_0x213f02(0x1f5)],_0x7ebf7d,_0x443adb+'.js');}export function generateTemplate(_0x1ec128,_0x160d44,_0x147ec1,_0xb6df2c,_0x5711b8){const _0x2b4468=a26_0x2a8ffb,_0x4aeb87=_0xb6df2c?.['trim']()||_0x2b4468(0x1b7);if(_0x1ec128===_0x2b4468(0x1e4))return _0x2b4468(0x1f7)+_0x4aeb87+_0x2b4468(0x212)+_0x160d44+'\x0a\x20*\x20[脚本类型]\x20COMMON\x0a\x20*\x20[本地路径]\x20.rabetbase/bff/COMMON/'+_0x160d44+_0x2b4468(0x1b8)+_0x160d44+_0x2b4468(0x1cb);if(_0x1ec128===_0x2b4468(0x1ca))return _0x2b4468(0x1d8)+_0x4aeb87+_0x2b4468(0x1cc)+_0x147ec1+'/'+_0x160d44+'\x0a\x20*\x0a\x20*\x20@param\x20{Object}\x20params\x20-\x20Request\x20parameters.\x0a\x20*\x20@param\x20{Object}\x20context\x20-\x20Execution\x20context\x20(injected\x20by\x20platform).\x0a\x20*\x20@returns\x20{Promise<Object>}\x20Business\x20result\x20(wrapped\x20in\x20response.data).\x0a\x20*/\x0aexport\x20default\x20async\x20function\x20'+_0x160d44+_0x2b4468(0x1cb);if(!_0x5711b8)throw CliErrors[_0x2b4468(0x1c2)](_0x2b4468(0x1ef));return _0x2b4468(0x1cf)+_0x4aeb87+_0x2b4468(0x1c8)+_0x147ec1+'/'+_0x5711b8[_0x2b4468(0x20b)]+'/'+_0x5711b8['operationType']+_0x2b4468(0x1e3)+_0x5711b8[_0x2b4468(0x1cd)]+_0x2b4468(0x1c7)+_0x160d44+_0x2b4468(0x1cb);}
@@ -1 +1 @@
1
- const a27_0x281ae7=a27_0x57c3;(function(_0x3c2071,_0xcba81){const _0x4a9b74=a27_0x57c3,_0x110c17=_0x3c2071();while(!![]){try{const _0x294175=-parseInt(_0x4a9b74(0x1aa))/0x1*(parseInt(_0x4a9b74(0x1a6))/0x2)+parseInt(_0x4a9b74(0x1c1))/0x3+-parseInt(_0x4a9b74(0x1b2))/0x4+parseInt(_0x4a9b74(0x1b1))/0x5+-parseInt(_0x4a9b74(0x1c5))/0x6+parseInt(_0x4a9b74(0x1bb))/0x7*(-parseInt(_0x4a9b74(0x1b0))/0x8)+-parseInt(_0x4a9b74(0x1cb))/0x9*(-parseInt(_0x4a9b74(0x1cd))/0xa);if(_0x294175===_0xcba81)break;else _0x110c17['push'](_0x110c17['shift']());}catch(_0x2ba5b4){_0x110c17['push'](_0x110c17['shift']());}}}(a27_0x4030,0x69718));function a27_0x57c3(_0x1f5170,_0x218796){_0x1f5170=_0x1f5170-0x1a2;const _0x40305b=a27_0x4030();let _0x57c39e=_0x40305b[_0x1f5170];return _0x57c39e;}import{mkdir,readdir,rename,rmdir}from'node:fs/promises';import{dirname,join,relative,resolve,sep}from'node:path';import{deleteBffScript}from'../../core/api-client.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{fileExists,resolveLocalFilePathFromLockKey}from'../../core/bff/file-system.js';import{ensureLockScope,readBffLockFile,writeBffLockFile}from'../../core/bff/lock.js';import{CliErrors}from'../../errors.js';import{sleep}from'../../utils/sleep.js';export const bffDelete={'service':a27_0x281ae7(0x1ce),'command':a27_0x281ae7(0x1c0),'description':a27_0x281ae7(0x1bc),'risk':'high-risk-write','flags':[{'name':a27_0x281ae7(0x1c7),'type':a27_0x281ae7(0x1be),'required':!![],'description':a27_0x281ae7(0x1bf)}],async 'validate'(_0x55ac60){const _0x55dbd4=a27_0x281ae7,_0x5285c8=loadBffProjectConfig(_0x55ac60[_0x55dbd4(0x1ad)]),_0x160666=await readBffLockFile(_0x5285c8[_0x55dbd4(0x1d0)]);if(!_0x160666)throw CliErrors[_0x55dbd4(0x1ac)](_0x55dbd4(0x1ca));},async 'dryRun'(_0x4d5a4b){const _0x363dee=a27_0x281ae7,_0x3068a5=loadBffProjectConfig(_0x4d5a4b[_0x363dee(0x1ad)]),_0x29e9c8=await readBffLockFile(_0x3068a5[_0x363dee(0x1d0)]);if(!_0x29e9c8)throw CliErrors[_0x363dee(0x1ac)](_0x363dee(0x1c4));const {appLock:_0x243ea4}=ensureLockScope(_0x29e9c8,_0x4d5a4b[_0x363dee(0x1ad)],_0x3068a5[_0x363dee(0x1bd)],_0x363dee(0x1c0)),_0x190b21=_0x4d5a4b[_0x363dee(0x1b7)]('target'),_0xb07b03=Object[_0x363dee(0x1d2)](_0x243ea4[_0x363dee(0x1a3)]),_0x24e80d=resolveDeleteTarget(_0x190b21,_0xb07b03),_0x15791a=_0x243ea4[_0x363dee(0x1a3)][_0x24e80d];if(!_0x15791a)throw CliErrors[_0x363dee(0x1ac)](_0x363dee(0x1af)+_0x24e80d+'\x22.');const _0x192d5d=resolveLocalFilePathFromLockKey(_0x3068a5,_0x24e80d),_0x45370f=relative(_0x3068a5[_0x363dee(0x1b5)],_0x192d5d),_0x2689d9=join(_0x3068a5[_0x363dee(0x1c8)],_0x363dee(0x1a2),_0x45370f);return{'method':_0x363dee(0x1b4),'url':_0x363dee(0x1a4),'body':{'appCode':_0x4d5a4b[_0x363dee(0x1ad)],'target':_0x24e80d,'remoteId':_0x15791a['remoteId'],'localFilePath':_0x192d5d,'trashedPath':_0x2689d9},'description':_0x363dee(0x1b9)+_0x24e80d+'\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20trash'};},async 'execute'(_0xa23be8){const _0x2f8c59=a27_0x281ae7,_0x5182f4=loadBffProjectConfig(_0xa23be8[_0x2f8c59(0x1ad)]),_0x1563ca=await readBffLockFile(_0x5182f4[_0x2f8c59(0x1d0)]);if(!_0x1563ca)throw CliErrors[_0x2f8c59(0x1ac)](_0x2f8c59(0x1c4));const {lockData:_0x494312,appLock:_0x209b8e}=ensureLockScope(_0x1563ca,_0xa23be8[_0x2f8c59(0x1ad)],_0x5182f4[_0x2f8c59(0x1bd)],_0x2f8c59(0x1c0)),_0x2dcbdd=JSON[_0x2f8c59(0x1c9)](JSON[_0x2f8c59(0x1b3)](_0x494312)),_0x30ca5a=_0x2dcbdd[_0x2f8c59(0x1c3)][_0xa23be8[_0x2f8c59(0x1ad)]];if(!_0x30ca5a)throw new Error(_0x2f8c59(0x1c2)+_0xa23be8[_0x2f8c59(0x1ad)]+'\x22\x20not\x20found\x20after\x20ensureLockScope.');const _0x1d2574=_0xa23be8['str']('target'),_0x145393=Object[_0x2f8c59(0x1d2)](_0x30ca5a[_0x2f8c59(0x1a3)]),_0xc25d50=resolveDeleteTarget(_0x1d2574,_0x145393),_0x295760=_0x30ca5a[_0x2f8c59(0x1a3)][_0xc25d50];if(!_0x295760)throw CliErrors[_0x2f8c59(0x1ac)](_0x2f8c59(0x1af)+_0xc25d50+'\x22.');await deleteBffScript(_0x295760[_0x2f8c59(0x1c6)]),delete _0x30ca5a[_0x2f8c59(0x1a3)][_0xc25d50],_0x30ca5a['lastSync']=new Date()['toISOString'](),await writeBffLockFile(_0x5182f4[_0x2f8c59(0x1d0)],_0x2dcbdd);const _0xc0a275=resolveLocalFilePathFromLockKey(_0x5182f4,_0xc25d50);let _0x360150;await fileExists(_0xc0a275)&&(_0x360150=await moveToTrash(_0x5182f4['projectRoot'],_0x5182f4['trashDir'],_0xc0a275),await cleanupEmptyDirectories(dirname(_0xc0a275),_0x5182f4['scriptsRootDir']));await waitForDeleteSettlement(_0x5182f4[_0x2f8c59(0x1d0)],_0xa23be8[_0x2f8c59(0x1ad)],_0xc25d50,_0xc0a275),await sleep(0x96);const _0x4dbab4={'deleted':_0xc25d50,'remoteId':_0x295760['remoteId']};if(_0x360150)_0x4dbab4[_0x2f8c59(0x1a5)]=_0x360150;return{'ok':!![],'data':_0x4dbab4,'message':_0x2f8c59(0x1ba)+_0xc25d50+(_0x360150?'\x20(local\x20file\x20moved\x20to\x20trash)':'')};}};function resolveDeleteTarget(_0x1f6db1,_0x522dc7){const _0x126aa8=a27_0x281ae7;if(_0x1f6db1['includes']('/')){const _0x4bc693=_0x522dc7['find'](_0x47abe4=>_0x47abe4===_0x1f6db1);if(!_0x4bc693)throw CliErrors['validation'](_0x126aa8(0x1a8)+_0x1f6db1);return _0x4bc693;}const _0x5479eb=_0x522dc7[_0x126aa8(0x1a7)](_0x25b3f3=>_0x25b3f3[_0x126aa8(0x1b8)]('/')['at'](-0x1)===_0x1f6db1);if(_0x5479eb[_0x126aa8(0x1d1)]===0x0)throw CliErrors['validation'](_0x126aa8(0x1a8)+_0x1f6db1);if(_0x5479eb[_0x126aa8(0x1d1)]>0x1)throw CliErrors['validation'](_0x126aa8(0x1ab)+_0x1f6db1+_0x126aa8(0x1cf)+_0x5479eb[_0x126aa8(0x1b6)](_0x2f8b82=>_0x126aa8(0x1ae)+_0x2f8b82)['join']('\x0a'));return _0x5479eb[0x0];}function a27_0x4030(){const _0xfcf29b=['21fyaFnh','Delete\x20a\x20BFF\x20script\x20from\x20remote\x20and\x20local','scriptsRoot','string','Lock\x20key\x20(e.g.\x20ENDPOINT/createOrder)\x20or\x20short\x20function\x20name','delete','1533219iTemyc','Lock\x20scope\x20for\x20app\x20\x22','apps','BFF\x20lock\x20file\x20not\x20found.','2680332wqvxqn','remoteId','target','trashDir','parse','BFF\x20lock\x20file\x20not\x20found.\x20Run\x20`push`\x20or\x20`pull`\x20first\x20to\x20initialize\x20sync\x20state.','981lRqiYG','replace','107190FHtuVl','bff','\x22.\x20Use\x20the\x20full\x20lock\x20key:\x0a','lockFilePath','length','keys','<timestamp>','functions','/api/management/library/scripts/delete','trashedTo','776764aqWGtn','filter','Function\x20not\x20found:\x20','toISOString','2xGmZSc','Multiple\x20functions\x20match\x20\x22','validation','appCode','\x20\x20-\x20','No\x20lock\x20entry\x20found\x20for\x20\x22','144888KOJPRg','1372050bpFNpT','976556obnxTu','stringify','POST','projectRoot','map','str','split','Would\x20delete\x20','Deleted\x20'];a27_0x4030=function(){return _0xfcf29b;};return a27_0x4030();}async function moveToTrash(_0x21ad63,_0x26d49b,_0x3350fd){const _0x1c2ae7=a27_0x281ae7,_0xff2d31=new Date()[_0x1c2ae7(0x1a9)]()[_0x1c2ae7(0x1cc)](/[:.]/g,'-'),_0x38dcf9=relative(_0x21ad63,_0x3350fd),_0x2dabc4=join(_0x26d49b,_0xff2d31,_0x38dcf9);return await mkdir(dirname(_0x2dabc4),{'recursive':!![]}),await rename(_0x3350fd,_0x2dabc4),_0x2dabc4;}async function cleanupEmptyDirectories(_0x616aa7,_0x5dfa7f){const _0x458d2e=a27_0x281ae7;let _0x1b79bd=resolve(_0x616aa7);const _0x30c90a=resolve(_0x5dfa7f);while(_0x1b79bd['startsWith'](''+_0x30c90a+sep)||_0x1b79bd===_0x30c90a){if(_0x1b79bd===_0x30c90a)return;try{const _0x1b7649=await readdir(_0x1b79bd);if(_0x1b7649[_0x458d2e(0x1d1)]>0x0)return;await rmdir(_0x1b79bd);}catch{return;}_0x1b79bd=dirname(_0x1b79bd);}}const DELETE_SETTLE_RETRY_COUNT=0x14,DELETE_SETTLE_DELAY_MS=0x64;async function waitForDeleteSettlement(_0x5e01d5,_0x26faf1,_0x41a8fe,_0x123660){const _0x810f96=a27_0x281ae7;for(let _0x810c0e=0x0;_0x810c0e<DELETE_SETTLE_RETRY_COUNT;_0x810c0e+=0x1){const _0x949520=await readBffLockFile(_0x5e01d5),_0xc45f28=!!_0x949520?.[_0x810f96(0x1c3)]?.[_0x26faf1]?.[_0x810f96(0x1a3)]?.[_0x41a8fe],_0x391eee=await fileExists(_0x123660);if(!_0xc45f28&&!_0x391eee)return;await sleep(DELETE_SETTLE_DELAY_MS);}throw new Error('Local\x20delete\x20not\x20settled\x20for\x20'+_0x41a8fe+'.');}
1
+ function a27_0x5245(_0x1b41bc,_0x9c1b7b){_0x1b41bc=_0x1b41bc-0x157;const _0x27a1fe=a27_0x27a1();let _0x524503=_0x27a1fe[_0x1b41bc];return _0x524503;}const a27_0x1887e8=a27_0x5245;(function(_0x44bba3,_0x5ed411){const _0x53b824=a27_0x5245,_0x23bc66=_0x44bba3();while(!![]){try{const _0x4cb746=parseInt(_0x53b824(0x17b))/0x1+parseInt(_0x53b824(0x170))/0x2+-parseInt(_0x53b824(0x15d))/0x3*(-parseInt(_0x53b824(0x15e))/0x4)+parseInt(_0x53b824(0x17c))/0x5*(-parseInt(_0x53b824(0x16c))/0x6)+-parseInt(_0x53b824(0x185))/0x7+parseInt(_0x53b824(0x183))/0x8*(parseInt(_0x53b824(0x15c))/0x9)+-parseInt(_0x53b824(0x161))/0xa*(parseInt(_0x53b824(0x171))/0xb);if(_0x4cb746===_0x5ed411)break;else _0x23bc66['push'](_0x23bc66['shift']());}catch(_0x174665){_0x23bc66['push'](_0x23bc66['shift']());}}}(a27_0x27a1,0x7764b));import{mkdir,readdir,rename,rmdir}from'node:fs/promises';import{dirname,join,relative,resolve,sep}from'node:path';import{deleteBffScript}from'../../core/api-client.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{fileExists,resolveLocalFilePathFromLockKey}from'../../core/bff/file-system.js';import{ensureLockScope,readBffLockFile,writeBffLockFile}from'../../core/bff/lock.js';import{CliErrors}from'../../errors.js';import{sleep}from'../../utils/sleep.js';export const bffDelete={'service':a27_0x1887e8(0x15b),'command':a27_0x1887e8(0x181),'description':a27_0x1887e8(0x15a),'risk':a27_0x1887e8(0x188),'flags':[{'name':a27_0x1887e8(0x16e),'type':'string','required':!![],'description':a27_0x1887e8(0x187)}],async 'validate'(_0x581db2){const _0x52127c=a27_0x1887e8,_0x3376d5=loadBffProjectConfig(_0x581db2[_0x52127c(0x18c)]),_0x3a1e8e=await readBffLockFile(_0x3376d5[_0x52127c(0x182)]);if(!_0x3a1e8e)throw CliErrors[_0x52127c(0x165)](_0x52127c(0x174));},async 'dryRun'(_0xfb87ee){const _0x5d615a=a27_0x1887e8,_0x51f905=loadBffProjectConfig(_0xfb87ee[_0x5d615a(0x18c)]),_0x11b982=await readBffLockFile(_0x51f905[_0x5d615a(0x182)]);if(!_0x11b982)throw CliErrors['validation'](_0x5d615a(0x173));const {appLock:_0x3d22e2}=ensureLockScope(_0x11b982,_0xfb87ee[_0x5d615a(0x18c)],_0x51f905[_0x5d615a(0x17d)],_0x5d615a(0x181)),_0x51fd19=_0xfb87ee[_0x5d615a(0x16b)](_0x5d615a(0x16e)),_0x3589a7=Object['keys'](_0x3d22e2[_0x5d615a(0x18b)]),_0x3b5ead=resolveDeleteTarget(_0x51fd19,_0x3589a7),_0x8b1499=_0x3d22e2[_0x5d615a(0x18b)][_0x3b5ead];if(!_0x8b1499)throw CliErrors[_0x5d615a(0x165)]('No\x20lock\x20entry\x20found\x20for\x20\x22'+_0x3b5ead+'\x22.');const _0x203c35=resolveLocalFilePathFromLockKey(_0x51f905,_0x3b5ead),_0x58f204=relative(_0x51f905[_0x5d615a(0x172)],_0x203c35),_0xbddef6=join(_0x51f905[_0x5d615a(0x168)],_0x5d615a(0x18a),_0x58f204);return{'method':_0x5d615a(0x15f),'url':_0x5d615a(0x159),'body':{'appCode':_0xfb87ee[_0x5d615a(0x18c)],'target':_0x3b5ead,'remoteId':_0x8b1499[_0x5d615a(0x175)],'localFilePath':_0x203c35,'trashedPath':_0xbddef6},'description':'Would\x20delete\x20'+_0x3b5ead+'\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20trash'};},async 'execute'(_0x577b8f){const _0x7d17b8=a27_0x1887e8,_0x188f31=loadBffProjectConfig(_0x577b8f['appCode']),_0x3bf37e=await readBffLockFile(_0x188f31['lockFilePath']);if(!_0x3bf37e)throw CliErrors[_0x7d17b8(0x165)]('BFF\x20lock\x20file\x20not\x20found.');const {lockData:_0x228224,appLock:_0xc5a6c0}=ensureLockScope(_0x3bf37e,_0x577b8f[_0x7d17b8(0x18c)],_0x188f31['scriptsRoot'],_0x7d17b8(0x181)),_0x3cf491=JSON[_0x7d17b8(0x164)](JSON[_0x7d17b8(0x167)](_0x228224)),_0x1d4262=_0x3cf491[_0x7d17b8(0x158)][_0x577b8f[_0x7d17b8(0x18c)]];if(!_0x1d4262)throw new Error(_0x7d17b8(0x186)+_0x577b8f[_0x7d17b8(0x18c)]+_0x7d17b8(0x163));const _0x5b7f3b=_0x577b8f[_0x7d17b8(0x16b)](_0x7d17b8(0x16e)),_0x5263cc=Object[_0x7d17b8(0x176)](_0x1d4262[_0x7d17b8(0x18b)]),_0x3ec113=resolveDeleteTarget(_0x5b7f3b,_0x5263cc),_0x20e8d5=_0x1d4262[_0x7d17b8(0x18b)][_0x3ec113];if(!_0x20e8d5)throw CliErrors[_0x7d17b8(0x165)](_0x7d17b8(0x177)+_0x3ec113+'\x22.');await deleteBffScript(_0x20e8d5['remoteId']),delete _0x1d4262[_0x7d17b8(0x18b)][_0x3ec113],_0x1d4262[_0x7d17b8(0x189)]=new Date()[_0x7d17b8(0x17e)](),await writeBffLockFile(_0x188f31[_0x7d17b8(0x182)],_0x3cf491);const _0x450575=resolveLocalFilePathFromLockKey(_0x188f31,_0x3ec113);let _0x39c396;await fileExists(_0x450575)&&(_0x39c396=await moveToTrash(_0x188f31[_0x7d17b8(0x172)],_0x188f31[_0x7d17b8(0x168)],_0x450575),await cleanupEmptyDirectories(dirname(_0x450575),_0x188f31['scriptsRootDir']));await waitForDeleteSettlement(_0x188f31[_0x7d17b8(0x182)],_0x577b8f[_0x7d17b8(0x18c)],_0x3ec113,_0x450575),await sleep(0x96);const _0x445b8c={'deleted':_0x3ec113,'remoteId':_0x20e8d5['remoteId']};if(_0x39c396)_0x445b8c[_0x7d17b8(0x162)]=_0x39c396;return{'ok':!![],'data':_0x445b8c,'message':_0x7d17b8(0x16d)+_0x3ec113+(_0x39c396?_0x7d17b8(0x157):'')};}};function resolveDeleteTarget(_0x28d9f0,_0x23435b){const _0x1c3f25=a27_0x1887e8;if(_0x28d9f0[_0x1c3f25(0x180)]('/')){const _0x31bacc=_0x23435b[_0x1c3f25(0x16a)](_0x258e4b=>_0x258e4b===_0x28d9f0);if(!_0x31bacc)throw CliErrors[_0x1c3f25(0x165)]('Function\x20not\x20found:\x20'+_0x28d9f0);return _0x31bacc;}const _0x231ecd=_0x23435b[_0x1c3f25(0x184)](_0x29000d=>_0x29000d[_0x1c3f25(0x17f)]('/')['at'](-0x1)===_0x28d9f0);if(_0x231ecd['length']===0x0)throw CliErrors[_0x1c3f25(0x165)]('Function\x20not\x20found:\x20'+_0x28d9f0);if(_0x231ecd[_0x1c3f25(0x160)]>0x1)throw CliErrors[_0x1c3f25(0x165)](_0x1c3f25(0x166)+_0x28d9f0+_0x1c3f25(0x16f)+_0x231ecd['map'](_0x43a148=>_0x1c3f25(0x17a)+_0x43a148)[_0x1c3f25(0x178)]('\x0a'));return _0x231ecd[0x0];}async function moveToTrash(_0x4a27bf,_0x30b0b5,_0x4557eb){const _0x1ed176=a27_0x1887e8,_0x5f2dac=new Date()[_0x1ed176(0x17e)]()[_0x1ed176(0x179)](/[:.]/g,'-'),_0x2cc17d=relative(_0x4a27bf,_0x4557eb),_0x5c6f3f=join(_0x30b0b5,_0x5f2dac,_0x2cc17d);return await mkdir(dirname(_0x5c6f3f),{'recursive':!![]}),await rename(_0x4557eb,_0x5c6f3f),_0x5c6f3f;}async function cleanupEmptyDirectories(_0x182824,_0x3fb286){const _0x5b2d81=a27_0x1887e8;let _0x4fa817=resolve(_0x182824);const _0x4b7ece=resolve(_0x3fb286);while(_0x4fa817['startsWith'](''+_0x4b7ece+sep)||_0x4fa817===_0x4b7ece){if(_0x4fa817===_0x4b7ece)return;try{const _0xf26682=await readdir(_0x4fa817);if(_0xf26682[_0x5b2d81(0x160)]>0x0)return;await rmdir(_0x4fa817);}catch{return;}_0x4fa817=dirname(_0x4fa817);}}const DELETE_SETTLE_RETRY_COUNT=0x14,DELETE_SETTLE_DELAY_MS=0x64;function a27_0x27a1(){const _0x53461b=['3757924uJaSWw','POST','length','40goLsDm','trashedTo','\x22\x20not\x20found\x20after\x20ensureLockScope.','parse','validation','Multiple\x20functions\x20match\x20\x22','stringify','trashDir','Local\x20delete\x20not\x20settled\x20for\x20','find','str','210nkETmE','Deleted\x20','target','\x22.\x20Use\x20the\x20full\x20lock\x20key:\x0a','642966PDQhpp','4584261WFNzYK','projectRoot','BFF\x20lock\x20file\x20not\x20found.','BFF\x20lock\x20file\x20not\x20found.\x20Run\x20`push`\x20or\x20`pull`\x20first\x20to\x20initialize\x20sync\x20state.','remoteId','keys','No\x20lock\x20entry\x20found\x20for\x20\x22','join','replace','\x20\x20-\x20','787634rzGNNZ','67990gPowxe','scriptsRoot','toISOString','split','includes','delete','lockFilePath','1352YOIBJF','filter','1503712fUNZKp','Lock\x20scope\x20for\x20app\x20\x22','Lock\x20key\x20(e.g.\x20ENDPOINT/createOrder)\x20or\x20short\x20function\x20name','high-risk-write','lastSync','<timestamp>','functions','appCode','\x20(local\x20file\x20moved\x20to\x20trash)','apps','/api/management/library/scripts/delete','Delete\x20a\x20BFF\x20script\x20from\x20remote\x20and\x20local','bff','42507fksQqj','3LiwRPN'];a27_0x27a1=function(){return _0x53461b;};return a27_0x27a1();}async function waitForDeleteSettlement(_0x4a1a1d,_0xe3eecf,_0x55a362,_0x495c62){const _0x1e1f38=a27_0x1887e8;for(let _0x195524=0x0;_0x195524<DELETE_SETTLE_RETRY_COUNT;_0x195524+=0x1){const _0x377424=await readBffLockFile(_0x4a1a1d),_0x103fb5=!!_0x377424?.[_0x1e1f38(0x158)]?.[_0xe3eecf]?.['functions']?.[_0x55a362],_0x177b2a=await fileExists(_0x495c62);if(!_0x103fb5&&!_0x177b2a)return;await sleep(DELETE_SETTLE_DELAY_MS);}throw new Error(_0x1e1f38(0x169)+_0x55a362+'.');}
@@ -1 +1 @@
1
- const a28_0x4bf45e=a28_0x433c;(function(_0x544bae,_0xcce5f8){const _0x33620c=a28_0x433c,_0x61684b=_0x544bae();while(!![]){try{const _0x2ce1f8=parseInt(_0x33620c(0x17a))/0x1+-parseInt(_0x33620c(0x179))/0x2*(-parseInt(_0x33620c(0x17f))/0x3)+-parseInt(_0x33620c(0x182))/0x4*(-parseInt(_0x33620c(0x180))/0x5)+parseInt(_0x33620c(0x184))/0x6*(parseInt(_0x33620c(0x187))/0x7)+-parseInt(_0x33620c(0x189))/0x8+parseInt(_0x33620c(0x173))/0x9+-parseInt(_0x33620c(0x186))/0xa;if(_0x2ce1f8===_0xcce5f8)break;else _0x61684b['push'](_0x61684b['shift']());}catch(_0x68e9a7){_0x61684b['push'](_0x61684b['shift']());}}}(a28_0x2658,0x724ca));import{getBffScriptInfo}from'../../core/api-client.js';function a28_0x433c(_0x41f657,_0x3cd4db){_0x41f657=_0x41f657-0x171;const _0x2658a6=a28_0x2658();let _0x433c19=_0x2658a6[_0x41f657];return _0x433c19;}export const bffDetail={'service':a28_0x4bf45e(0x171),'command':a28_0x4bf45e(0x178),'description':a28_0x4bf45e(0x176),'risk':a28_0x4bf45e(0x188),'flags':[{'name':'id','type':a28_0x4bf45e(0x177),'required':!![],'description':a28_0x4bf45e(0x172)},{'name':a28_0x4bf45e(0x17b),'type':a28_0x4bf45e(0x17e),'description':'Return\x20full\x20raw\x20script\x20object'}],async 'execute'(_0x3e41dd){const _0x451094=a28_0x4bf45e,_0x2015ec=await getBffScriptInfo(_0x3e41dd[_0x451094(0x185)]('id')),_0x30c1ac=_0x3e41dd[_0x451094(0x175)](_0x451094(0x17b));if(_0x30c1ac)return{'ok':!![],'data':_0x2015ec};return{'ok':!![],'data':{'id':_0x2015ec['id'],'appCode':_0x2015ec[_0x451094(0x17c)],'scriptType':_0x2015ec[_0x451094(0x183)],'description':_0x2015ec[_0x451094(0x181)]||_0x451094(0x174),'createdTime':_0x2015ec[_0x451094(0x17d)]??'','updatedTime':_0x2015ec['updatedTime']??'','scriptContent':_0x2015ec['scriptContent']??''}};}};function a28_0x2658(){const _0x569f27=['num','16670610bSgVfW','2386923SjnQZv','read','3079456WGFJip','bff','Script\x20ID','8164593KeWqoE','(none)','bool','Get\x20BFF\x20script\x20details\x20by\x20ID','number','detail','2410pkFWKu','840156pUwkxd','verbose','appCode','createdTime','boolean','795jRiKhO','460XXcWOW','description','4892kQvltL','scriptType','6fNDGfS'];a28_0x2658=function(){return _0x569f27;};return a28_0x2658();}
1
+ const a28_0x2e293b=a28_0x4ca1;function a28_0x4ca1(_0x472732,_0x37f276){_0x472732=_0x472732-0x75;const _0x1cda69=a28_0x1cda();let _0x4ca105=_0x1cda69[_0x472732];return _0x4ca105;}(function(_0x5bc201,_0x5707c5){const _0x51e9c7=a28_0x4ca1,_0x53637b=_0x5bc201();while(!![]){try{const _0x2ca443=-parseInt(_0x51e9c7(0x81))/0x1*(-parseInt(_0x51e9c7(0x7d))/0x2)+parseInt(_0x51e9c7(0x8a))/0x3+parseInt(_0x51e9c7(0x84))/0x4+parseInt(_0x51e9c7(0x88))/0x5+-parseInt(_0x51e9c7(0x85))/0x6+parseInt(_0x51e9c7(0x89))/0x7+-parseInt(_0x51e9c7(0x7f))/0x8;if(_0x2ca443===_0x5707c5)break;else _0x53637b['push'](_0x53637b['shift']());}catch(_0x2467fe){_0x53637b['push'](_0x53637b['shift']());}}}(a28_0x1cda,0x56ddf));import{getBffScriptInfo}from'../../core/api-client.js';export const bffDetail={'service':a28_0x2e293b(0x7c),'command':a28_0x2e293b(0x77),'description':a28_0x2e293b(0x83),'risk':a28_0x2e293b(0x78),'flags':[{'name':'id','type':a28_0x2e293b(0x76),'required':!![],'description':'Script\x20ID'},{'name':a28_0x2e293b(0x86),'type':a28_0x2e293b(0x82),'description':a28_0x2e293b(0x80)}],async 'execute'(_0x1e542f){const _0x5df00f=a28_0x2e293b,_0x20903a=await getBffScriptInfo(_0x1e542f['num']('id')),_0x45fa03=_0x1e542f[_0x5df00f(0x7a)](_0x5df00f(0x86));if(_0x45fa03)return{'ok':!![],'data':_0x20903a};return{'ok':!![],'data':{'id':_0x20903a['id'],'appCode':_0x20903a[_0x5df00f(0x87)],'scriptType':_0x20903a[_0x5df00f(0x8b)],'description':_0x20903a[_0x5df00f(0x7e)]||_0x5df00f(0x7b),'createdTime':_0x20903a[_0x5df00f(0x75)]??'','updatedTime':_0x20903a[_0x5df00f(0x79)]??'','scriptContent':_0x20903a[_0x5df00f(0x8c)]??''}};}};function a28_0x1cda(){const _0x3d1877=['boolean','Get\x20BFF\x20script\x20details\x20by\x20ID','2810240kNvzPL','1741680IZYVgn','verbose','appCode','1236195yvvapX','2741011fyACwR','326517TDvRfK','scriptType','scriptContent','createdTime','number','detail','read','updatedTime','bool','(none)','bff','2zYfdHG','description','8283272xWccXV','Return\x20full\x20raw\x20script\x20object','231285qWYftZ'];a28_0x1cda=function(){return _0x3d1877;};return a28_0x1cda();}
@@ -1 +1 @@
1
- (function(_0xfb7390,_0x5e935c){const _0x2f7562=a29_0x3e90,_0x130734=_0xfb7390();while(!![]){try{const _0x28cf11=parseInt(_0x2f7562(0x1dd))/0x1*(-parseInt(_0x2f7562(0x1dc))/0x2)+-parseInt(_0x2f7562(0x1df))/0x3+-parseInt(_0x2f7562(0x1e3))/0x4+-parseInt(_0x2f7562(0x1e2))/0x5*(parseInt(_0x2f7562(0x1da))/0x6)+parseInt(_0x2f7562(0x1e0))/0x7+parseInt(_0x2f7562(0x1de))/0x8*(-parseInt(_0x2f7562(0x1e1))/0x9)+parseInt(_0x2f7562(0x1db))/0xa;if(_0x28cf11===_0x5e935c)break;else _0x130734['push'](_0x130734['shift']());}catch(_0x462c81){_0x130734['push'](_0x130734['shift']());}}}(a29_0x32f5,0xc1692));function a29_0x3e90(_0x4681e2,_0x42715e){_0x4681e2=_0x4681e2-0x1da;const _0x32f5ac=a29_0x32f5();let _0x3e9059=_0x32f5ac[_0x4681e2];return _0x3e9059;}import{bffList}from'../../commands/bff/list.js';import{bffDetail}from'../../commands/bff/detail.js';function a29_0x32f5(){const _0x456363=['16484HMrrxM','4954624gcKYIb','4618209lQuYrG','6731088zDcQez','18EGUIkr','20ihdgcj','6238384LCwBek','1063560SVJSud','59158130rvLagM','126lYntBW'];a29_0x32f5=function(){return _0x456363;};return a29_0x32f5();}import{bffStatus}from'../../commands/bff/status.js';import{bffCreate}from'../../commands/bff/create.js';import{bffPush}from'../../commands/bff/push.js';import{bffPull}from'../../commands/bff/pull.js';import{bffDelete}from'../../commands/bff/delete.js';export const bffDefinitions=[bffList,bffDetail,bffStatus,bffCreate,bffPush,bffPull,bffDelete];
1
+ (function(_0x35960a,_0x4cbcb5){const _0x15de31=a29_0x3edc,_0x4a4040=_0x35960a();while(!![]){try{const _0x562352=parseInt(_0x15de31(0x6e))/0x1+-parseInt(_0x15de31(0x6c))/0x2+-parseInt(_0x15de31(0x6f))/0x3+-parseInt(_0x15de31(0x71))/0x4+-parseInt(_0x15de31(0x6d))/0x5*(parseInt(_0x15de31(0x6b))/0x6)+-parseInt(_0x15de31(0x70))/0x7+parseInt(_0x15de31(0x72))/0x8;if(_0x562352===_0x4cbcb5)break;else _0x4a4040['push'](_0x4a4040['shift']());}catch(_0x5e0a33){_0x4a4040['push'](_0x4a4040['shift']());}}}(a29_0x48ea,0x81fce));import{bffList}from'../../commands/bff/list.js';import{bffDetail}from'../../commands/bff/detail.js';function a29_0x48ea(){const _0x48b732=['2042152tWTUpb','22395FjtfFS','306678XhERky','1219242vMXzhD','2675218uTtdAr','48824tXprJD','16416808VwkhWw','6WhcMzj'];a29_0x48ea=function(){return _0x48b732;};return a29_0x48ea();}function a29_0x3edc(_0x5d74f5,_0x282e5d){_0x5d74f5=_0x5d74f5-0x6b;const _0x48ea92=a29_0x48ea();let _0x3edc2c=_0x48ea92[_0x5d74f5];return _0x3edc2c;}import{bffStatus}from'../../commands/bff/status.js';import{bffCreate}from'../../commands/bff/create.js';import{bffPush}from'../../commands/bff/push.js';import{bffPull}from'../../commands/bff/pull.js';import{bffDelete}from'../../commands/bff/delete.js';export const bffDefinitions=[bffList,bffDetail,bffStatus,bffCreate,bffPush,bffPull,bffDelete];
@@ -1 +1 @@
1
- function a30_0x945e(_0x5e61d5,_0xbe89a){_0x5e61d5=_0x5e61d5-0xb6;const _0x3f28d3=a30_0x3f28();let _0x945eb5=_0x3f28d3[_0x5e61d5];return _0x945eb5;}const a30_0x5075c9=a30_0x945e;function a30_0x3f28(){const _0x2efe7d=['list','COMMON','bool','(unnamed)','95OYKPNz','functionName','verbose','Return\x20full\x20script\x20objects','161888JTgitp','List\x20BFF\x20scripts','1735740CPoiYr','boolean','appCode','type','354697ZdxEuY','Script\x20type\x20filter','169772vMpqTO','name','1541032JongVV','Filter\x20by\x20script\x20name','ENDPOINT','scriptType','2555856CUWskI','str','read','4944492AfMTtp','string','map','No\x20BFF\x20scripts\x20found.','length'];a30_0x3f28=function(){return _0x2efe7d;};return a30_0x3f28();}(function(_0x2e7a93,_0x144385){const _0xa0c7bf=a30_0x945e,_0x349b1e=_0x2e7a93();while(!![]){try{const _0x1b2ddf=-parseInt(_0xa0c7bf(0xc0))/0x1+parseInt(_0xa0c7bf(0xc4))/0x2+parseInt(_0xa0c7bf(0xbc))/0x3+-parseInt(_0xa0c7bf(0xc2))/0x4*(parseInt(_0xa0c7bf(0xb6))/0x5)+-parseInt(_0xa0c7bf(0xc8))/0x6+parseInt(_0xa0c7bf(0xcb))/0x7+parseInt(_0xa0c7bf(0xba))/0x8;if(_0x1b2ddf===_0x144385)break;else _0x349b1e['push'](_0x349b1e['shift']());}catch(_0x4c5ede){_0x349b1e['push'](_0x349b1e['shift']());}}}(a30_0x3f28,0x77496));import{listBffScripts}from'../../core/api-client.js';export const bffList={'service':'bff','command':a30_0x5075c9(0xd0),'description':a30_0x5075c9(0xbb),'risk':a30_0x5075c9(0xca),'flags':[{'name':a30_0x5075c9(0xbf),'type':a30_0x5075c9(0xcc),'description':a30_0x5075c9(0xc1),'default':a30_0x5075c9(0xc6),'enum':[a30_0x5075c9(0xc6),a30_0x5075c9(0xd1)]},{'name':a30_0x5075c9(0xc3),'type':'string','description':a30_0x5075c9(0xc5)},{'name':a30_0x5075c9(0xb8),'type':a30_0x5075c9(0xbd),'description':a30_0x5075c9(0xb9)}],async 'execute'(_0x5e67d8){const _0x4cac11=a30_0x5075c9,_0x168b99=await listBffScripts(_0x5e67d8[_0x4cac11(0xbe)],_0x5e67d8[_0x4cac11(0xc9)](_0x4cac11(0xbf)),{'scriptName':_0x5e67d8[_0x4cac11(0xc9)]('name')||undefined}),_0x38f99d=_0x5e67d8[_0x4cac11(0xd2)]('verbose');return{'ok':!![],'data':_0x38f99d?_0x168b99:_0x168b99[_0x4cac11(0xcd)](_0x46ad77=>({'id':_0x46ad77['id'],'functionName':_0x46ad77[_0x4cac11(0xb7)]??'','description':_0x46ad77['description']||_0x4cac11(0xd3),'scriptType':_0x46ad77[_0x4cac11(0xc7)]})),'message':_0x168b99[_0x4cac11(0xcf)]===0x0?_0x4cac11(0xce):undefined};}};
1
+ const a30_0x3122ac=a30_0x476c;(function(_0x5ae35c,_0x131815){const _0x53eab7=a30_0x476c,_0x59d353=_0x5ae35c();while(!![]){try{const _0x41ba43=parseInt(_0x53eab7(0x154))/0x1*(parseInt(_0x53eab7(0x152))/0x2)+-parseInt(_0x53eab7(0x15d))/0x3+-parseInt(_0x53eab7(0x161))/0x4+parseInt(_0x53eab7(0x168))/0x5*(parseInt(_0x53eab7(0x15e))/0x6)+parseInt(_0x53eab7(0x15f))/0x7*(parseInt(_0x53eab7(0x163))/0x8)+-parseInt(_0x53eab7(0x16c))/0x9+-parseInt(_0x53eab7(0x155))/0xa*(-parseInt(_0x53eab7(0x153))/0xb);if(_0x41ba43===_0x131815)break;else _0x59d353['push'](_0x59d353['shift']());}catch(_0x5232a0){_0x59d353['push'](_0x59d353['shift']());}}}(a30_0x3a5f,0x40013));function a30_0x3a5f(){const _0x39bfc0=['name','911236PVoDqX','ENDPOINT','1034056yRKZMI','No\x20BFF\x20scripts\x20found.','description','str','list','889990TlLLkY','functionName','Return\x20full\x20script\x20objects','boolean','2989269RspvOH','type','verbose','bff','2QHtVZD','2505767pWoiNO','120709zlqzhi','10lvCEWO','string','appCode','Filter\x20by\x20script\x20name','List\x20BFF\x20scripts','scriptType','bool','read','276486bdJuUG','6dZdFzD','21hvCrbD'];a30_0x3a5f=function(){return _0x39bfc0;};return a30_0x3a5f();}function a30_0x476c(_0x4c2cfa,_0x49f466){_0x4c2cfa=_0x4c2cfa-0x14f;const _0x3a5f56=a30_0x3a5f();let _0x476c60=_0x3a5f56[_0x4c2cfa];return _0x476c60;}import{listBffScripts}from'../../core/api-client.js';export const bffList={'service':a30_0x3122ac(0x151),'command':a30_0x3122ac(0x167),'description':a30_0x3122ac(0x159),'risk':a30_0x3122ac(0x15c),'flags':[{'name':a30_0x3122ac(0x14f),'type':a30_0x3122ac(0x156),'description':'Script\x20type\x20filter','default':'ENDPOINT','enum':[a30_0x3122ac(0x162),'COMMON']},{'name':a30_0x3122ac(0x160),'type':a30_0x3122ac(0x156),'description':a30_0x3122ac(0x158)},{'name':'verbose','type':a30_0x3122ac(0x16b),'description':a30_0x3122ac(0x16a)}],async 'execute'(_0x3ad901){const _0x5cb1cb=a30_0x3122ac,_0x10f529=await listBffScripts(_0x3ad901[_0x5cb1cb(0x157)],_0x3ad901[_0x5cb1cb(0x166)](_0x5cb1cb(0x14f)),{'scriptName':_0x3ad901[_0x5cb1cb(0x166)]('name')||undefined}),_0x28047b=_0x3ad901[_0x5cb1cb(0x15b)](_0x5cb1cb(0x150));return{'ok':!![],'data':_0x28047b?_0x10f529:_0x10f529['map'](_0x2e1265=>({'id':_0x2e1265['id'],'functionName':_0x2e1265[_0x5cb1cb(0x169)]??'','description':_0x2e1265[_0x5cb1cb(0x165)]||'(unnamed)','scriptType':_0x2e1265[_0x5cb1cb(0x15a)]})),'message':_0x10f529['length']===0x0?_0x5cb1cb(0x164):undefined};}};
@@ -1 +1 @@
1
- const a31_0x42e01f=a31_0x3900;(function(_0x2242f5,_0x583cee){const _0x1a9ce6=a31_0x3900,_0x548b5a=_0x2242f5();while(!![]){try{const _0x3bf0ab=-parseInt(_0x1a9ce6(0x185))/0x1+-parseInt(_0x1a9ce6(0x19d))/0x2*(-parseInt(_0x1a9ce6(0x18a))/0x3)+-parseInt(_0x1a9ce6(0x18c))/0x4+-parseInt(_0x1a9ce6(0x1b7))/0x5*(parseInt(_0x1a9ce6(0x1b5))/0x6)+parseInt(_0x1a9ce6(0x1a6))/0x7+parseInt(_0x1a9ce6(0x186))/0x8*(parseInt(_0x1a9ce6(0x1a8))/0x9)+parseInt(_0x1a9ce6(0x17c))/0xa;if(_0x3bf0ab===_0x583cee)break;else _0x548b5a['push'](_0x548b5a['shift']());}catch(_0x21819a){_0x548b5a['push'](_0x548b5a['shift']());}}}(a31_0x423b,0xb7ae4));import{createInterface}from'node:readline';import{writeFile}from'node:fs/promises';import{listBffScripts,getBffScriptStatistics}from'../../core/api-client.js';import{loadAliasMap}from'../../core/alias-resolver.js';import{resolveApiFilePath}from'../../context.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{createHookLocationMap,ensureParentDirectory,fileExists,normalizeBffType,resolveRemoteScriptTarget}from'../../core/bff/file-system.js';import{computeContentHash,computeFileHash}from'../../core/bff/hash.js';import{createEmptyBffLock,ensureLockScope,readBffLockFile,writeBffLockFile}from'../../core/bff/lock.js';function a31_0x423b(){const _0x495b77=['3395890aGPIIt','local\x20unsynced\x20changes','nonInteractive','utf8','length','question','toISOString','Remote\x20script\x20missing\x20content.','yes','1203902qIFGgW','1496hHlJes','scriptsRoot','filePath','/api/management/library/scripts/list?appCode=','87IkkGHg','Force\x20pull\x20will\x20overwrite\x20local\x20unsynced\x20changes.\x20Continue?\x20[y/N]\x20','1368536bxUcfD','toLowerCase','force','lockKey','Force\x20pull\x20cancelled.','Force\x20overwrite\x20local\x20unsynced\x20changes','includes','ENDPOINT','\x20remote\x20BFF\x20script(s)\x20for\x20pull','Would\x20inspect\x20','apps','stringify','validation','GET','hash','Pull\x20remote\x20BFF\x20scripts\x20to\x20local','bff','31852fHynQC','message','skipped','stderr','alias','all','datasetCode','\x20pulled,\x20','Lock\x20scope\x20for\x20app\x20\x22','6078618hGpzoy','close','57474izOUiz','push','apiDir','bool','boolean','functionNode','scriptContent','version','functions','trim','appCode','functionName','scriptType','582IDptnQ','lockFilePath','29155VQLCGa','operationType','&type=','str','\x20skipped,\x20','hookLocation','type','HOOK','write','stdin','cancelled'];a31_0x423b=function(){return _0x495b77;};return a31_0x423b();}function a31_0x3900(_0x12d238,_0x8fb74b){_0x12d238=_0x12d238-0x176;const _0x423bdf=a31_0x423b();let _0x390020=_0x423bdf[_0x12d238];return _0x390020;}import{CliErrors}from'../../errors.js';export const bffPull={'service':a31_0x42e01f(0x19c),'command':'pull','description':a31_0x42e01f(0x19b),'risk':a31_0x42e01f(0x179),'flags':[{'name':a31_0x42e01f(0x177),'type':'string','description':'Pull\x20only\x20this\x20script\x20type','enum':['COMMON',a31_0x42e01f(0x193),a31_0x42e01f(0x178)]},{'name':a31_0x42e01f(0x18e),'type':a31_0x42e01f(0x1ac),'description':a31_0x42e01f(0x191)}],async 'dryRun'(_0x4f0ca6){const _0xa8e4b=a31_0x42e01f,_0x203fe7=loadBffProjectConfig(_0x4f0ca6[_0xa8e4b(0x1b2)]),_0x592be6=await readBffLockFile(_0x203fe7['lockFilePath']),{appLock:_0x319296}=ensureLockScope(_0x592be6??createEmptyBffLock(),_0x4f0ca6[_0xa8e4b(0x1b2)],_0x203fe7[_0xa8e4b(0x187)],'pull'),_0x34d3ae=normalizeBffType(_0x4f0ca6[_0xa8e4b(0x1ba)](_0xa8e4b(0x177)))??undefined,_0x2cbb58=buildDatasetCodeToAliasMap(_0x4f0ca6[_0xa8e4b(0x1aa)],_0x4f0ca6[_0xa8e4b(0x1b2)]),[_0x439f9b,_0x455639]=await Promise[_0xa8e4b(0x1a2)]([listBffScripts(_0x4f0ca6[_0xa8e4b(0x1b2)],_0x34d3ae),getBffScriptStatistics(_0x4f0ca6['appCode'])]),_0x478ea9=createHookLocationMap(_0x455639),_0x1a17b8=[];for(const _0x1a98bc of _0x439f9b){const _0x312100=resolveRemoteScriptTarget(_0x203fe7,_0x1a98bc,_0x478ea9,_0x319296[_0xa8e4b(0x1b0)],_0x2cbb58);if(!_0x312100){_0x1a17b8[_0xa8e4b(0x1a9)]({'scriptType':_0x1a98bc['scriptType'],'functionName':_0x1a98bc[_0xa8e4b(0x1b3)]??'','status':_0xa8e4b(0x19f),'reason':'unresolvable\x20target\x20path'});continue;}const _0x5f30b7=_0x319296[_0xa8e4b(0x1b0)][_0x312100[_0xa8e4b(0x18f)]],_0x4ac08b=_0x1a98bc[_0xa8e4b(0x1ae)]!=null?computeContentHash(_0x1a98bc[_0xa8e4b(0x1ae)]):undefined,_0x414bb0=await hasUnsyncedLocalChanges(_0x312100['filePath'],_0x5f30b7,_0x4ac08b);_0x1a17b8[_0xa8e4b(0x1a9)]({'lockKey':_0x312100[_0xa8e4b(0x18f)],'filePath':_0x312100[_0xa8e4b(0x188)],'remoteId':_0x1a98bc['id']??null,'status':_0x414bb0?'conflict':'would_pull'});}return{'method':_0xa8e4b(0x199),'url':_0xa8e4b(0x189)+_0x4f0ca6[_0xa8e4b(0x1b2)]+(_0x34d3ae?_0xa8e4b(0x1b9)+_0x34d3ae:''),'body':{'appCode':_0x4f0ca6[_0xa8e4b(0x1b2)],'filterType':_0x34d3ae??null,'files':_0x1a17b8},'description':_0xa8e4b(0x195)+_0x1a17b8[_0xa8e4b(0x180)]+_0xa8e4b(0x194)};},async 'execute'(_0x5e2305){const _0x306c30=a31_0x42e01f,_0x26d191=loadBffProjectConfig(_0x5e2305['appCode']),_0x8a9325=await readBffLockFile(_0x26d191[_0x306c30(0x1b6)]),{lockData:_0x27a2a7,appLock:_0x48ad0f}=ensureLockScope(_0x8a9325??createEmptyBffLock(),_0x5e2305[_0x306c30(0x1b2)],_0x26d191[_0x306c30(0x187)],'pull'),_0x4eb300=normalizeBffType(_0x5e2305[_0x306c30(0x1ba)](_0x306c30(0x177)))??undefined;if(_0x5e2305[_0x306c30(0x1ba)](_0x306c30(0x177))&&!_0x4eb300)throw CliErrors[_0x306c30(0x198)]('--type\x20must\x20be\x20COMMON,\x20ENDPOINT,\x20or\x20HOOK.');const [_0x2a271c,_0xc95645]=await Promise['all']([listBffScripts(_0x5e2305[_0x306c30(0x1b2)],_0x4eb300),getBffScriptStatistics(_0x5e2305['appCode'])]);if(_0x2a271c[_0x306c30(0x180)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':'No\x20remote\x20BFF\x20scripts\x20found.'};const _0x3cbdea=_0x5e2305[_0x306c30(0x1ab)](_0x306c30(0x18e));if(_0x3cbdea&&!_0x5e2305['nonInteractive']){const _0x467500=await confirmForce();if(!_0x467500)throw CliErrors[_0x306c30(0x17b)](_0x306c30(0x190));}if(_0x3cbdea&&_0x5e2305[_0x306c30(0x17e)]){}const _0x4526ca=buildDatasetCodeToAliasMap(_0x5e2305[_0x306c30(0x1aa)],_0x5e2305['appCode']),_0xd72d52=createHookLocationMap(_0xc95645),_0x443997=JSON['parse'](JSON[_0x306c30(0x197)](_0x27a2a7)),_0x43cdd1=_0x5e2305[_0x306c30(0x1b2)],_0x47de42=_0x443997[_0x306c30(0x196)][_0x43cdd1];if(!_0x47de42)throw new Error(_0x306c30(0x1a5)+_0x43cdd1+'\x22\x20not\x20found\x20after\x20ensureLockScope.');const _0x42032c=[],_0x117b8c=[],_0x193501=[];for(const _0x41e8ed of _0x2a271c){const _0xc1e3ba=resolveRemoteScriptTarget(_0x26d191,_0x41e8ed,_0xd72d52,_0x48ad0f[_0x306c30(0x1b0)],_0x4526ca);if(!_0xc1e3ba){_0x117b8c[_0x306c30(0x1a9)]({'lockKey':_0x41e8ed[_0x306c30(0x1b4)]+'/'+_0x41e8ed[_0x306c30(0x1b3)],'reason':'unresolvable\x20target\x20path'});continue;}const _0x312f0b=_0x48ad0f['functions'][_0xc1e3ba[_0x306c30(0x18f)]];try{if(!_0x41e8ed['id'])throw new Error('Remote\x20script\x20missing\x20id.');if(_0x41e8ed[_0x306c30(0x1ae)]==null)throw new Error(_0x306c30(0x183));const _0x2e023f=_0x41e8ed[_0x306c30(0x1ae)],_0x1e0c47=computeContentHash(_0x2e023f);if(!_0x3cbdea){const _0x2607bb=await hasUnsyncedLocalChanges(_0xc1e3ba[_0x306c30(0x188)],_0x312f0b,_0x1e0c47);if(_0x2607bb){_0x117b8c[_0x306c30(0x1a9)]({'lockKey':_0xc1e3ba[_0x306c30(0x18f)],'reason':_0x306c30(0x17d)});continue;}}await ensureParentDirectory(_0xc1e3ba[_0x306c30(0x188)]),await writeFile(_0xc1e3ba['filePath'],_0x2e023f,_0x306c30(0x17f));const _0x173886={'hash':_0x1e0c47,'remoteId':_0x41e8ed['id'],'version':_0x41e8ed[_0x306c30(0x1af)]};_0xc1e3ba[_0x306c30(0x177)]==='HOOK'&&_0xc1e3ba[_0x306c30(0x176)]&&(_0x173886[_0x306c30(0x1a1)]=_0xc1e3ba['hookLocation'][_0x306c30(0x1a1)],_0x173886[_0x306c30(0x1a3)]=_0xc1e3ba[_0x306c30(0x176)][_0x306c30(0x1a3)],_0x173886[_0x306c30(0x1b8)]=_0xc1e3ba[_0x306c30(0x176)][_0x306c30(0x1b8)],_0x173886[_0x306c30(0x1ad)]=_0xc1e3ba[_0x306c30(0x176)]['functionNode']),_0x47de42[_0x306c30(0x1b0)][_0xc1e3ba[_0x306c30(0x18f)]]=_0x173886,_0x42032c[_0x306c30(0x1a9)]({'lockKey':_0xc1e3ba[_0x306c30(0x18f)],'remoteId':_0x41e8ed['id']});}catch(_0x17ac64){_0x193501[_0x306c30(0x1a9)]({'lockKey':_0xc1e3ba[_0x306c30(0x18f)],'error':_0x17ac64 instanceof Error?_0x17ac64[_0x306c30(0x19e)]:String(_0x17ac64)});}}return _0x47de42['lastSync']=new Date()[_0x306c30(0x182)](),await writeBffLockFile(_0x26d191[_0x306c30(0x1b6)],_0x443997),{'ok':_0x193501[_0x306c30(0x180)]===0x0,'data':{'pulled':_0x42032c,'skipped':_0x117b8c,'failed':_0x193501},'message':'Pull\x20complete:\x20'+_0x42032c[_0x306c30(0x180)]+_0x306c30(0x1a4)+_0x117b8c['length']+_0x306c30(0x1bb)+_0x193501['length']+'\x20failed'};}};async function hasUnsyncedLocalChanges(_0x1c3dd0,_0x2b6e92,_0x2733ec){const _0x508bc3=a31_0x42e01f;if(!await fileExists(_0x1c3dd0))return![];const _0x1f4e0b=await computeFileHash(_0x1c3dd0);if(!_0x2b6e92)return _0x2733ec?_0x1f4e0b!==_0x2733ec:!![];return _0x1f4e0b!==_0x2b6e92[_0x508bc3(0x19a)];}function buildDatasetCodeToAliasMap(_0x58edc8,_0xd1e1eb){const _0x4d6c82=a31_0x42e01f,_0x29568b=loadAliasMap(_0x58edc8,undefined,resolveApiFilePath(_0x58edc8,_0xd1e1eb));return new Map(_0x29568b['map'](_0x5901c5=>[_0x5901c5[_0x4d6c82(0x1a3)],_0x5901c5[_0x4d6c82(0x1a1)]]));}async function confirmForce(){const _0x2c3a10=a31_0x42e01f,_0x113eba=createInterface({'input':process[_0x2c3a10(0x17a)],'output':process[_0x2c3a10(0x1a0)]}),_0x3005ef=await new Promise(_0x424b47=>{const _0x3ffefc=_0x2c3a10;_0x113eba[_0x3ffefc(0x181)](_0x3ffefc(0x18b),_0x424b47);});return _0x113eba[_0x2c3a10(0x1a7)](),['y',_0x2c3a10(0x184)][_0x2c3a10(0x192)](_0x3005ef[_0x2c3a10(0x1b1)]()[_0x2c3a10(0x18d)]());}
1
+ const a31_0x366b94=a31_0x5e28;(function(_0x3f75af,_0x2dc810){const _0x3462e5=a31_0x5e28,_0x1a260c=_0x3f75af();while(!![]){try{const _0x40ee7c=-parseInt(_0x3462e5(0x1cd))/0x1*(-parseInt(_0x3462e5(0x1e6))/0x2)+-parseInt(_0x3462e5(0x1c1))/0x3+parseInt(_0x3462e5(0x1ef))/0x4*(parseInt(_0x3462e5(0x1f7))/0x5)+parseInt(_0x3462e5(0x1f3))/0x6+-parseInt(_0x3462e5(0x206))/0x7*(parseInt(_0x3462e5(0x1f0))/0x8)+parseInt(_0x3462e5(0x1de))/0x9*(-parseInt(_0x3462e5(0x1c0))/0xa)+-parseInt(_0x3462e5(0x1ca))/0xb;if(_0x40ee7c===_0x2dc810)break;else _0x1a260c['push'](_0x1a260c['shift']());}catch(_0x1150eb){_0x1a260c['push'](_0x1a260c['shift']());}}}(a31_0x5651,0x53680));import{createInterface}from'node:readline';import{writeFile}from'node:fs/promises';import{listBffScripts,getBffScriptStatistics}from'../../core/api-client.js';import{loadAliasMap}from'../../core/alias-resolver.js';import{resolveApiFilePath}from'../../context.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{createHookLocationMap,ensureParentDirectory,fileExists,normalizeBffType,resolveRemoteScriptTarget}from'../../core/bff/file-system.js';import{computeContentHash,computeFileHash}from'../../core/bff/hash.js';import{createEmptyBffLock,ensureLockScope,readBffLockFile,writeBffLockFile}from'../../core/bff/lock.js';function a31_0x5e28(_0x4db989,_0xef6d88){_0x4db989=_0x4db989-0x1bc;const _0x565116=a31_0x5651();let _0x5e2855=_0x565116[_0x4db989];return _0x5e2855;}function a31_0x5651(){const _0x527f0f=['ENDPOINT','parse','would_pull','Pull\x20only\x20this\x20script\x20type','map','Remote\x20script\x20missing\x20content.','&type=','\x22\x20not\x20found\x20after\x20ensureLockScope.','write','message','yes','conflict','lockKey','scriptContent','1043568zFhOAL','local\x20unsynced\x20changes','stdin','apiDir','filePath','cancelled','\x20skipped,\x20','stderr','1059658VmcKFE','\x20pulled,\x20','functionNode','--type\x20must\x20be\x20COMMON,\x20ENDPOINT,\x20or\x20HOOK.','\x20failed','apps','nonInteractive','lockFilePath','version','4FmetYT','1351048sqbNFe','utf8','force','3727326ViutbQ','lastSync','all','str','1301035lDzyBG','HOOK','Remote\x20script\x20missing\x20id.','Force\x20overwrite\x20local\x20unsynced\x20changes','COMMON','Lock\x20scope\x20for\x20app\x20\x22','string','scriptType','functions','Pull\x20remote\x20BFF\x20scripts\x20to\x20local','type','GET','Would\x20inspect\x20','push','appCode','7IrmIrr','scriptsRoot','alias','skipped','hookLocation','10nkTQkR','603756jwalLu','pull','functionName','question','stringify','bff','operationType','unresolvable\x20target\x20path','includes','6418940QiILDx','No\x20remote\x20BFF\x20scripts\x20found.','toISOString','1BOIADh','datasetCode','length'];a31_0x5651=function(){return _0x527f0f;};return a31_0x5651();}import{CliErrors}from'../../errors.js';export const bffPull={'service':a31_0x366b94(0x1c6),'command':a31_0x366b94(0x1c2),'description':a31_0x366b94(0x200),'risk':a31_0x366b94(0x1d8),'flags':[{'name':a31_0x366b94(0x201),'type':a31_0x366b94(0x1fd),'description':a31_0x366b94(0x1d3),'enum':[a31_0x366b94(0x1fb),a31_0x366b94(0x1d0),a31_0x366b94(0x1f8)]},{'name':'force','type':'boolean','description':a31_0x366b94(0x1fa)}],async 'dryRun'(_0x1b8f3d){const _0x2ee67c=a31_0x366b94,_0x1853fe=loadBffProjectConfig(_0x1b8f3d[_0x2ee67c(0x205)]),_0x5430ae=await readBffLockFile(_0x1853fe[_0x2ee67c(0x1ed)]),{appLock:_0x5a299b}=ensureLockScope(_0x5430ae??createEmptyBffLock(),_0x1b8f3d[_0x2ee67c(0x205)],_0x1853fe[_0x2ee67c(0x1bc)],_0x2ee67c(0x1c2)),_0x16a378=normalizeBffType(_0x1b8f3d[_0x2ee67c(0x1f6)]('type'))??undefined,_0x1b6dc7=buildDatasetCodeToAliasMap(_0x1b8f3d[_0x2ee67c(0x1e1)],_0x1b8f3d['appCode']),[_0x53eea5,_0x4dce69]=await Promise[_0x2ee67c(0x1f5)]([listBffScripts(_0x1b8f3d[_0x2ee67c(0x205)],_0x16a378),getBffScriptStatistics(_0x1b8f3d['appCode'])]),_0x2e4a24=createHookLocationMap(_0x4dce69),_0x44b85b=[];for(const _0x2a1f0d of _0x53eea5){const _0x1fa76f=resolveRemoteScriptTarget(_0x1853fe,_0x2a1f0d,_0x2e4a24,_0x5a299b['functions'],_0x1b6dc7);if(!_0x1fa76f){_0x44b85b[_0x2ee67c(0x204)]({'scriptType':_0x2a1f0d[_0x2ee67c(0x1fe)],'functionName':_0x2a1f0d[_0x2ee67c(0x1c3)]??'','status':_0x2ee67c(0x1be),'reason':_0x2ee67c(0x1c8)});continue;}const _0x2e8d5b=_0x5a299b[_0x2ee67c(0x1ff)][_0x1fa76f[_0x2ee67c(0x1dc)]],_0x26c95f=_0x2a1f0d[_0x2ee67c(0x1dd)]!=null?computeContentHash(_0x2a1f0d[_0x2ee67c(0x1dd)]):undefined,_0x3dfe11=await hasUnsyncedLocalChanges(_0x1fa76f[_0x2ee67c(0x1e2)],_0x2e8d5b,_0x26c95f);_0x44b85b['push']({'lockKey':_0x1fa76f[_0x2ee67c(0x1dc)],'filePath':_0x1fa76f[_0x2ee67c(0x1e2)],'remoteId':_0x2a1f0d['id']??null,'status':_0x3dfe11?_0x2ee67c(0x1db):_0x2ee67c(0x1d2)});}return{'method':_0x2ee67c(0x202),'url':'/api/management/library/scripts/list?appCode='+_0x1b8f3d[_0x2ee67c(0x205)]+(_0x16a378?_0x2ee67c(0x1d6)+_0x16a378:''),'body':{'appCode':_0x1b8f3d[_0x2ee67c(0x205)],'filterType':_0x16a378??null,'files':_0x44b85b},'description':_0x2ee67c(0x203)+_0x44b85b[_0x2ee67c(0x1cf)]+'\x20remote\x20BFF\x20script(s)\x20for\x20pull'};},async 'execute'(_0x9dd3c0){const _0x4a26ff=a31_0x366b94,_0xf9a70e=loadBffProjectConfig(_0x9dd3c0[_0x4a26ff(0x205)]),_0x4e0dd9=await readBffLockFile(_0xf9a70e[_0x4a26ff(0x1ed)]),{lockData:_0x26d190,appLock:_0x52ec41}=ensureLockScope(_0x4e0dd9??createEmptyBffLock(),_0x9dd3c0['appCode'],_0xf9a70e['scriptsRoot'],_0x4a26ff(0x1c2)),_0xba6b99=normalizeBffType(_0x9dd3c0[_0x4a26ff(0x1f6)]('type'))??undefined;if(_0x9dd3c0[_0x4a26ff(0x1f6)](_0x4a26ff(0x201))&&!_0xba6b99)throw CliErrors['validation'](_0x4a26ff(0x1e9));const [_0x5a4b81,_0x4d5397]=await Promise[_0x4a26ff(0x1f5)]([listBffScripts(_0x9dd3c0[_0x4a26ff(0x205)],_0xba6b99),getBffScriptStatistics(_0x9dd3c0[_0x4a26ff(0x205)])]);if(_0x5a4b81[_0x4a26ff(0x1cf)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x4a26ff(0x1cb)};const _0x46bb3e=_0x9dd3c0['bool'](_0x4a26ff(0x1f2));if(_0x46bb3e&&!_0x9dd3c0['nonInteractive']){const _0x114a62=await confirmForce();if(!_0x114a62)throw CliErrors[_0x4a26ff(0x1e3)]('Force\x20pull\x20cancelled.');}if(_0x46bb3e&&_0x9dd3c0[_0x4a26ff(0x1ec)]){}const _0x146daa=buildDatasetCodeToAliasMap(_0x9dd3c0[_0x4a26ff(0x1e1)],_0x9dd3c0[_0x4a26ff(0x205)]),_0x3b773b=createHookLocationMap(_0x4d5397),_0x4405ef=JSON[_0x4a26ff(0x1d1)](JSON[_0x4a26ff(0x1c5)](_0x26d190)),_0x32c2ff=_0x9dd3c0['appCode'],_0x2ad27b=_0x4405ef[_0x4a26ff(0x1eb)][_0x32c2ff];if(!_0x2ad27b)throw new Error(_0x4a26ff(0x1fc)+_0x32c2ff+_0x4a26ff(0x1d7));const _0x34125e=[],_0x2f2203=[],_0x2d0980=[];for(const _0x4dbecf of _0x5a4b81){const _0x975e2f=resolveRemoteScriptTarget(_0xf9a70e,_0x4dbecf,_0x3b773b,_0x52ec41[_0x4a26ff(0x1ff)],_0x146daa);if(!_0x975e2f){_0x2f2203[_0x4a26ff(0x204)]({'lockKey':_0x4dbecf[_0x4a26ff(0x1fe)]+'/'+_0x4dbecf[_0x4a26ff(0x1c3)],'reason':'unresolvable\x20target\x20path'});continue;}const _0x1f77ca=_0x52ec41[_0x4a26ff(0x1ff)][_0x975e2f[_0x4a26ff(0x1dc)]];try{if(!_0x4dbecf['id'])throw new Error(_0x4a26ff(0x1f9));if(_0x4dbecf[_0x4a26ff(0x1dd)]==null)throw new Error(_0x4a26ff(0x1d5));const _0x13a7d0=_0x4dbecf[_0x4a26ff(0x1dd)],_0x32f903=computeContentHash(_0x13a7d0);if(!_0x46bb3e){const _0x4d9bf9=await hasUnsyncedLocalChanges(_0x975e2f[_0x4a26ff(0x1e2)],_0x1f77ca,_0x32f903);if(_0x4d9bf9){_0x2f2203[_0x4a26ff(0x204)]({'lockKey':_0x975e2f['lockKey'],'reason':_0x4a26ff(0x1df)});continue;}}await ensureParentDirectory(_0x975e2f[_0x4a26ff(0x1e2)]),await writeFile(_0x975e2f[_0x4a26ff(0x1e2)],_0x13a7d0,_0x4a26ff(0x1f1));const _0x813e0f={'hash':_0x32f903,'remoteId':_0x4dbecf['id'],'version':_0x4dbecf[_0x4a26ff(0x1ee)]};_0x975e2f[_0x4a26ff(0x201)]===_0x4a26ff(0x1f8)&&_0x975e2f[_0x4a26ff(0x1bf)]&&(_0x813e0f[_0x4a26ff(0x1bd)]=_0x975e2f['hookLocation'][_0x4a26ff(0x1bd)],_0x813e0f[_0x4a26ff(0x1ce)]=_0x975e2f[_0x4a26ff(0x1bf)][_0x4a26ff(0x1ce)],_0x813e0f[_0x4a26ff(0x1c7)]=_0x975e2f['hookLocation'][_0x4a26ff(0x1c7)],_0x813e0f['functionNode']=_0x975e2f[_0x4a26ff(0x1bf)][_0x4a26ff(0x1e8)]),_0x2ad27b[_0x4a26ff(0x1ff)][_0x975e2f[_0x4a26ff(0x1dc)]]=_0x813e0f,_0x34125e['push']({'lockKey':_0x975e2f['lockKey'],'remoteId':_0x4dbecf['id']});}catch(_0x3c883c){_0x2d0980[_0x4a26ff(0x204)]({'lockKey':_0x975e2f['lockKey'],'error':_0x3c883c instanceof Error?_0x3c883c[_0x4a26ff(0x1d9)]:String(_0x3c883c)});}}return _0x2ad27b[_0x4a26ff(0x1f4)]=new Date()[_0x4a26ff(0x1cc)](),await writeBffLockFile(_0xf9a70e[_0x4a26ff(0x1ed)],_0x4405ef),{'ok':_0x2d0980[_0x4a26ff(0x1cf)]===0x0,'data':{'pulled':_0x34125e,'skipped':_0x2f2203,'failed':_0x2d0980},'message':'Pull\x20complete:\x20'+_0x34125e['length']+_0x4a26ff(0x1e7)+_0x2f2203[_0x4a26ff(0x1cf)]+_0x4a26ff(0x1e4)+_0x2d0980['length']+_0x4a26ff(0x1ea)};}};async function hasUnsyncedLocalChanges(_0x448b2e,_0x51979d,_0x2fc9bd){if(!await fileExists(_0x448b2e))return![];const _0x1127af=await computeFileHash(_0x448b2e);if(!_0x51979d)return _0x2fc9bd?_0x1127af!==_0x2fc9bd:!![];return _0x1127af!==_0x51979d['hash'];}function buildDatasetCodeToAliasMap(_0x28cd13,_0x56a2be){const _0x45c0dd=a31_0x366b94,_0x4b0a0f=loadAliasMap(_0x28cd13,undefined,resolveApiFilePath(_0x28cd13,_0x56a2be));return new Map(_0x4b0a0f[_0x45c0dd(0x1d4)](_0x2519b4=>[_0x2519b4[_0x45c0dd(0x1ce)],_0x2519b4[_0x45c0dd(0x1bd)]]));}async function confirmForce(){const _0x58787d=a31_0x366b94,_0xea30ea=createInterface({'input':process[_0x58787d(0x1e0)],'output':process[_0x58787d(0x1e5)]}),_0x505733=await new Promise(_0x33dae2=>{const _0x500cc2=_0x58787d;_0xea30ea[_0x500cc2(0x1c4)]('Force\x20pull\x20will\x20overwrite\x20local\x20unsynced\x20changes.\x20Continue?\x20[y/N]\x20',_0x33dae2);});return _0xea30ea['close'](),['y',_0x58787d(0x1da)][_0x58787d(0x1c9)](_0x505733['trim']()['toLowerCase']());}