@lovrabet/rabetbase-cli 2.1.14-beta.2 → 2.1.14-beta.3

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 (202) 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/extend-update.js +1 -1
  55. package/lib/commands/dataset/field-update.js +1 -1
  56. package/lib/commands/dataset/index.js +1 -1
  57. package/lib/commands/dataset/link-create.js +1 -1
  58. package/lib/commands/dataset/link-delete.js +1 -1
  59. package/lib/commands/dataset/link-shared.js +1 -1
  60. package/lib/commands/dataset/link-update.js +1 -1
  61. package/lib/commands/dataset/links.js +1 -1
  62. package/lib/commands/dataset/list.js +1 -1
  63. package/lib/commands/dataset/operations.js +1 -1
  64. package/lib/commands/dataset/rename.js +1 -1
  65. package/lib/commands/db/analyze-cancel.js +1 -1
  66. package/lib/commands/db/analyze-start.js +1 -1
  67. package/lib/commands/db/analyze-status.js +1 -1
  68. package/lib/commands/db/create.js +1 -1
  69. package/lib/commands/db/delete.js +1 -1
  70. package/lib/commands/db/detail.js +1 -1
  71. package/lib/commands/db/diff.js +1 -1
  72. package/lib/commands/db/index.js +1 -1
  73. package/lib/commands/db/list.js +1 -1
  74. package/lib/commands/db/shared.js +1 -1
  75. package/lib/commands/db/tables.js +1 -1
  76. package/lib/commands/db/test.js +1 -1
  77. package/lib/commands/db/update.js +1 -1
  78. package/lib/commands/doctor.js +1 -1
  79. package/lib/commands/init/index.js +1 -1
  80. package/lib/commands/issue/index.js +1 -1
  81. package/lib/commands/issue/nudge.js +1 -1
  82. package/lib/commands/issue/report.js +1 -1
  83. package/lib/commands/issue/shared.js +1 -1
  84. package/lib/commands/logs/index.js +1 -1
  85. package/lib/commands/menu/index.js +1 -1
  86. package/lib/commands/menu/shared/compare-table.js +1 -1
  87. package/lib/commands/menu/shared/index.js +1 -1
  88. package/lib/commands/menu/shared/inquirer.js +1 -1
  89. package/lib/commands/menu/shared/local-pages.js +1 -1
  90. package/lib/commands/menu/shared/logic.js +1 -1
  91. package/lib/commands/menu/shared/service.js +1 -1
  92. package/lib/commands/menu/shared/sync-core.js +1 -1
  93. package/lib/commands/menu/shared/update-core.js +1 -1
  94. package/lib/commands/menu/shared/valid-url.js +1 -1
  95. package/lib/commands/menu/sync.js +1 -1
  96. package/lib/commands/menu/update.js +1 -1
  97. package/lib/commands/page/generate-start.js +1 -1
  98. package/lib/commands/page/generate-status.js +1 -1
  99. package/lib/commands/page/index.js +1 -1
  100. package/lib/commands/page/pull.js +1 -1
  101. package/lib/commands/page/push.js +1 -1
  102. package/lib/commands/page/shared.js +1 -1
  103. package/lib/commands/page/standard-page-status.js +1 -1
  104. package/lib/commands/page/sync.js +1 -1
  105. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  106. package/lib/commands/project/create/format-elapsed.js +1 -1
  107. package/lib/commands/project/create/main.js +1 -1
  108. package/lib/commands/project/create/non-interactive.js +1 -1
  109. package/lib/commands/project/create/project-template-path.js +1 -1
  110. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  111. package/lib/commands/project/create/use-format-code.js +1 -1
  112. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  113. package/lib/commands/project/index.js +1 -1
  114. package/lib/commands/project/init.js +1 -1
  115. package/lib/commands/project/upgrade.js +1 -1
  116. package/lib/commands/registry.js +1 -1
  117. package/lib/commands/run/index.js +1 -1
  118. package/lib/commands/schema.js +1 -1
  119. package/lib/commands/skill/index.js +1 -1
  120. package/lib/commands/sql/create.js +1 -1
  121. package/lib/commands/sql/delete.js +1 -1
  122. package/lib/commands/sql/detail.js +1 -1
  123. package/lib/commands/sql/exec.js +1 -1
  124. package/lib/commands/sql/index.js +1 -1
  125. package/lib/commands/sql/list.js +1 -1
  126. package/lib/commands/sql/pull.js +1 -1
  127. package/lib/commands/sql/push.js +1 -1
  128. package/lib/commands/sql/save.js +1 -1
  129. package/lib/commands/sql/shared.js +1 -1
  130. package/lib/commands/sql/status.js +1 -1
  131. package/lib/commands/sql/validate.js +1 -1
  132. package/lib/config/schema.js +1 -1
  133. package/lib/constant/cdn.js +1 -1
  134. package/lib/constant/cli.js +1 -1
  135. package/lib/constant/defaults.js +1 -1
  136. package/lib/constant/domain.js +1 -1
  137. package/lib/constant/env.js +1 -1
  138. package/lib/constant/output.js +1 -1
  139. package/lib/constant/paths.js +1 -1
  140. package/lib/constant/risk.js +1 -1
  141. package/lib/context.js +1 -1
  142. package/lib/core/alias-resolver.js +1 -1
  143. package/lib/core/api-client.js +1 -1
  144. package/lib/core/bff/config.js +1 -1
  145. package/lib/core/bff/file-system.js +1 -1
  146. package/lib/core/bff/hash.js +1 -1
  147. package/lib/core/bff/lock.js +1 -1
  148. package/lib/core/bff/utils.js +1 -1
  149. package/lib/core/db-resolver.js +1 -1
  150. package/lib/core/page/file-system.js +1 -1
  151. package/lib/core/page/hash.js +1 -1
  152. package/lib/core/page/lock.js +1 -1
  153. package/lib/core/sql-sync/config.js +1 -1
  154. package/lib/core/sql-sync/file-system.js +1 -1
  155. package/lib/core/sql-sync/hash.js +1 -1
  156. package/lib/core/sql-sync/lock.js +1 -1
  157. package/lib/core/sql-sync/utils.js +1 -1
  158. package/lib/core/sql-validator.js +1 -1
  159. package/lib/errors.js +1 -1
  160. package/lib/framework/build-all-flags.js +1 -1
  161. package/lib/framework/flags.js +1 -1
  162. package/lib/framework/help.js +1 -1
  163. package/lib/framework/index.js +1 -1
  164. package/lib/framework/output.js +1 -1
  165. package/lib/framework/response.js +1 -1
  166. package/lib/framework/runner-alias.js +1 -1
  167. package/lib/framework/runner.js +1 -1
  168. package/lib/framework/schema-export.js +1 -1
  169. package/lib/framework/types.js +1 -1
  170. package/lib/generated/build-info.js +1 -1
  171. package/lib/help.js +1 -1
  172. package/lib/skills/main.js +1 -1
  173. package/lib/skills/npx-skills-add.js +1 -1
  174. package/lib/telemetry/cli-command-trace.js +1 -1
  175. package/lib/telemetry/cli-help-trace.js +1 -1
  176. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  177. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  178. package/lib/telemetry/send-cli-trace-log.js +1 -1
  179. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  180. package/lib/utils/ai_config.js +1 -1
  181. package/lib/utils/apply-jq-filter.js +1 -1
  182. package/lib/utils/cdn-config.js +1 -1
  183. package/lib/utils/check-sdk-version.js +1 -1
  184. package/lib/utils/cli-version-check.js +1 -1
  185. package/lib/utils/cli-version-policy.js +1 -1
  186. package/lib/utils/config.js +1 -1
  187. package/lib/utils/copy-directory.js +1 -1
  188. package/lib/utils/entity-with-id.js +1 -1
  189. package/lib/utils/file-utils.js +1 -1
  190. package/lib/utils/guides-cdn.js +1 -1
  191. package/lib/utils/http-client.js +1 -1
  192. package/lib/utils/is-non-interactive.js +1 -1
  193. package/lib/utils/logger.js +1 -1
  194. package/lib/utils/params.js +1 -1
  195. package/lib/utils/platform.js +1 -1
  196. package/lib/utils/rules-cdn.js +1 -1
  197. package/lib/utils/sleep.js +1 -1
  198. package/lib/utils/template-replacer.js +1 -1
  199. package/lib/utils/version.js +1 -1
  200. package/lib/utils/with-active-cookie.js +1 -1
  201. package/lib/utils/write-cli-side-channel.js +1 -1
  202. package/package.json +1 -1
@@ -1 +1 @@
1
- function a19_0x2bab(_0x2a66e8,_0x429f8d){_0x2a66e8=_0x2a66e8-0x141;const _0x5d6105=a19_0x5d61();let _0x2babf1=_0x5d6105[_0x2a66e8];return _0x2babf1;}const a19_0x235971=a19_0x2bab;(function(_0x585ce4,_0x1290cb){const _0x3316b3=a19_0x2bab,_0x1c835f=_0x585ce4();while(!![]){try{const _0x2fb701=-parseInt(_0x3316b3(0x14c))/0x1+parseInt(_0x3316b3(0x14b))/0x2*(-parseInt(_0x3316b3(0x141))/0x3)+parseInt(_0x3316b3(0x146))/0x4*(parseInt(_0x3316b3(0x14f))/0x5)+parseInt(_0x3316b3(0x150))/0x6*(-parseInt(_0x3316b3(0x147))/0x7)+-parseInt(_0x3316b3(0x144))/0x8*(-parseInt(_0x3316b3(0x153))/0x9)+parseInt(_0x3316b3(0x142))/0xa+parseInt(_0x3316b3(0x14e))/0xb;if(_0x2fb701===_0x1290cb)break;else _0x1c835f['push'](_0x1c835f['shift']());}catch(_0x2686ea){_0x1c835f['push'](_0x1c835f['shift']());}}}(a19_0x5d61,0x64b3f));import{listRemoteApps}from'../../core/api-client.js';async function execute(_0x4a8b89){const _0x593e75=a19_0x2bab,{setActiveCookie:_0x2920fe}=await import(_0x593e75(0x14d));_0x2920fe(_0x4a8b89[_0x593e75(0x143)]);const _0x7484b8=await listRemoteApps();return{'ok':!![],'data':{'items':_0x7484b8['map'](_0x28f309=>({..._0x28f309['id']!=null?{'id':_0x28f309['id']}:{},'appCode':_0x28f309[_0x593e75(0x149)],'appName':_0x28f309[_0x593e75(0x154)],..._0x28f309['appDesc']!=null?{'appDesc':_0x28f309[_0x593e75(0x148)]}:{}})),'meta':{'source':_0x593e75(0x145)}}};}function a19_0x5d61(){const _0x1573f5=['11255seSted','114QvOEMc','app','List\x20apps\x20available\x20on\x20the\x20platform\x20for\x20the\x20current\x20login','738sGrdNI','appName','144099hetFwu','5217310HinZKP','cookie','60040ljthFZ','platform','628qGdDQN','242809UrcHug','appDesc','appCode','read','10zLcRJc','647877WNNQWY','../../core/api-client.js','5159286aEtjrS'];a19_0x5d61=function(){return _0x1573f5;};return a19_0x5d61();}export const appRemoteDefinition={'service':a19_0x235971(0x151),'command':'remote','description':a19_0x235971(0x152),'risk':a19_0x235971(0x14a),'requiresAuth':!![],'requiresAppCode':![],'flags':[],'execute':execute};
1
+ const a19_0x219b80=a19_0x1594;function a19_0x1594(_0x91f8c5,_0x4578cb){_0x91f8c5=_0x91f8c5-0x1af;const _0x373bdb=a19_0x373b();let _0x159464=_0x373bdb[_0x91f8c5];return _0x159464;}(function(_0x1beacd,_0x449cff){const _0x213ec4=a19_0x1594,_0x6c0b9d=_0x1beacd();while(!![]){try{const _0x1a35ad=parseInt(_0x213ec4(0x1ba))/0x1+parseInt(_0x213ec4(0x1b3))/0x2+parseInt(_0x213ec4(0x1bc))/0x3*(-parseInt(_0x213ec4(0x1bb))/0x4)+-parseInt(_0x213ec4(0x1be))/0x5+parseInt(_0x213ec4(0x1b1))/0x6*(parseInt(_0x213ec4(0x1b8))/0x7)+parseInt(_0x213ec4(0x1b2))/0x8+-parseInt(_0x213ec4(0x1b4))/0x9;if(_0x1a35ad===_0x449cff)break;else _0x6c0b9d['push'](_0x6c0b9d['shift']());}catch(_0x3e166f){_0x6c0b9d['push'](_0x6c0b9d['shift']());}}}(a19_0x373b,0x6500f));import{listRemoteApps}from'../../core/api-client.js';function a19_0x373b(){const _0x29a962=['map','../../core/api-client.js','3681966blQDbT','2979376twQYaY','1035698qzozco','3215907VCJRcv','appDesc','appName','appCode','7OkbNBx','List\x20apps\x20available\x20on\x20the\x20platform\x20for\x20the\x20current\x20login','123155qItzAV','2930300NScYnt','3ZOAsaL','cookie','617390pjSWJv'];a19_0x373b=function(){return _0x29a962;};return a19_0x373b();}async function execute(_0x561fc4){const _0x562307=a19_0x1594,{setActiveCookie:_0xdf2939}=await import(_0x562307(0x1b0));_0xdf2939(_0x561fc4[_0x562307(0x1bd)]);const _0x3dadbf=await listRemoteApps();return{'ok':!![],'data':{'items':_0x3dadbf[_0x562307(0x1af)](_0x8ea239=>({..._0x8ea239['id']!=null?{'id':_0x8ea239['id']}:{},'appCode':_0x8ea239[_0x562307(0x1b7)],'appName':_0x8ea239[_0x562307(0x1b6)],..._0x8ea239[_0x562307(0x1b5)]!=null?{'appDesc':_0x8ea239['appDesc']}:{}})),'meta':{'source':'platform'}}};}export const appRemoteDefinition={'service':'app','command':'remote','description':a19_0x219b80(0x1b9),'risk':'read','requiresAuth':!![],'requiresAppCode':![],'flags':[],'execute':execute};
@@ -1 +1 @@
1
- (function(_0x535b1e,_0x36978a){const _0xc5b21=a20_0x1e5b,_0x1f6060=_0x535b1e();while(!![]){try{const _0x22591d=-parseInt(_0xc5b21(0xe6))/0x1+-parseInt(_0xc5b21(0xe9))/0x2*(parseInt(_0xc5b21(0xe4))/0x3)+-parseInt(_0xc5b21(0xe2))/0x4+-parseInt(_0xc5b21(0xe8))/0x5*(-parseInt(_0xc5b21(0xeb))/0x6)+parseInt(_0xc5b21(0xe3))/0x7*(-parseInt(_0xc5b21(0xe7))/0x8)+parseInt(_0xc5b21(0xe5))/0x9+-parseInt(_0xc5b21(0xea))/0xa*(-parseInt(_0xc5b21(0xec))/0xb);if(_0x22591d===_0x36978a)break;else _0x1f6060['push'](_0x1f6060['shift']());}catch(_0xf1c8e3){_0x1f6060['push'](_0x1f6060['shift']());}}}(a20_0x21c6,0xc4ee7));function a20_0x1e5b(_0x482a97,_0x280272){_0x482a97=_0x482a97-0xe2;const _0x21c695=a20_0x21c6();let _0x1e5b7f=_0x21c695[_0x482a97];return _0x1e5b7f;}import{appListDefinition}from'../../commands/app/list.js';import{appRemoteDefinition}from'../../commands/app/discover.js';import{appUseDefinition}from'../../commands/app/use.js';import{appAddDefinition}from'../../commands/app/add.js';import{appRemoveDefinition}from'../../commands/app/remove.js';function a20_0x21c6(){const _0x4f4102=['5411808URlKla','266rdMBQI','93QUClVE','13023315xtyGlz','221603oWVzdV','2528mBukAm','3213135PQdvyo','54182ebMOda','230YWmRWc','6ycRZHU','546821IqMrSp'];a20_0x21c6=function(){return _0x4f4102;};return a20_0x21c6();}export const appDefinitions=[appListDefinition,appRemoteDefinition,appUseDefinition,appAddDefinition,appRemoveDefinition];
1
+ (function(_0x312f8c,_0x1261a3){const _0x380237=a20_0x3165,_0x253a4e=_0x312f8c();while(!![]){try{const _0x11d91e=-parseInt(_0x380237(0x15f))/0x1+parseInt(_0x380237(0x158))/0x2+parseInt(_0x380237(0x15a))/0x3*(-parseInt(_0x380237(0x15e))/0x4)+parseInt(_0x380237(0x160))/0x5+parseInt(_0x380237(0x15d))/0x6*(parseInt(_0x380237(0x157))/0x7)+parseInt(_0x380237(0x159))/0x8+-parseInt(_0x380237(0x15c))/0x9*(parseInt(_0x380237(0x15b))/0xa);if(_0x11d91e===_0x1261a3)break;else _0x253a4e['push'](_0x253a4e['shift']());}catch(_0x2fef37){_0x253a4e['push'](_0x253a4e['shift']());}}}(a20_0x462f,0xa7a87));function a20_0x3165(_0x4ff8e4,_0x4bb13b){_0x4ff8e4=_0x4ff8e4-0x157;const _0x462f04=a20_0x462f();let _0x316535=_0x462f04[_0x4ff8e4];return _0x316535;}import{appListDefinition}from'../../commands/app/list.js';import{appRemoteDefinition}from'../../commands/app/discover.js';import{appUseDefinition}from'../../commands/app/use.js';function a20_0x462f(){const _0x59e90f=['50427uHfGlC','6cjMIOa','264004vfVTmj','568795byTPNa','29590IclJCs','1154783nvmhIl','2495930gOOUgf','8012176tmgYKL','15YinrKh','1490pRnKAl'];a20_0x462f=function(){return _0x59e90f;};return a20_0x462f();}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_0x75a2aa=a21_0x5bd1;(function(_0x7ec12,_0x5e90c2){const _0xc5c9d1=a21_0x5bd1,_0x27a396=_0x7ec12();while(!![]){try{const _0xe6dc90=-parseInt(_0xc5c9d1(0x1a3))/0x1*(parseInt(_0xc5c9d1(0x1b5))/0x2)+parseInt(_0xc5c9d1(0x1b1))/0x3+-parseInt(_0xc5c9d1(0x19c))/0x4+parseInt(_0xc5c9d1(0x1b7))/0x5*(-parseInt(_0xc5c9d1(0x1b2))/0x6)+parseInt(_0xc5c9d1(0x1b0))/0x7+parseInt(_0xc5c9d1(0x1a8))/0x8+parseInt(_0xc5c9d1(0x1ab))/0x9;if(_0xe6dc90===_0x5e90c2)break;else _0x27a396['push'](_0x27a396['shift']());}catch(_0x5af194){_0x27a396['push'](_0x27a396['shift']());}}}(a21_0x37b0,0xc1dc8));import{readRawConfigWithLayers}from'../../context.js';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(_0x38beb3,_0x47373f){const _0x5e05cc=a21_0x5bd1,_0x5a2fe8=[],_0x19ff7d=_0x38beb3['apps']&&typeof _0x38beb3[_0x5e05cc(0x1a2)]==='object'?_0x38beb3['apps']:{},_0x2e7aaa=_0x38beb3['defaultApp']||undefined;for(const [_0x2de676,_0x21615c]of Object['entries'](_0x19ff7d)){if(!_0x21615c||typeof _0x21615c!==_0x5e05cc(0x19b)||!_0x21615c[_0x5e05cc(0x1b6)])continue;_0x5a2fe8['push']({'name':_0x2de676,'appcode':_0x21615c['appcode'],'named':!![],'definedIn':_0x47373f,'isDefault':_0x2de676===_0x2e7aaa,...buildAppProfileListFields(_0x21615c)});}return _0x5a2fe8;}function buildMergedItems(_0x4d177b,_0x137358){const _0x54d2ca=a21_0x5bd1,{apps:apps={},defaultApp:_0x4de6d3}=_0x4d177b,_0x3f04f2=_0x137358['globalConfig'][_0x54d2ca(0x1a2)]&&typeof _0x137358[_0x54d2ca(0x1ad)][_0x54d2ca(0x1a2)]===_0x54d2ca(0x19b)?_0x137358[_0x54d2ca(0x1ad)]['apps']:{},_0x6cf98f=_0x137358[_0x54d2ca(0x1a0)][_0x54d2ca(0x1a2)]&&typeof _0x137358[_0x54d2ca(0x1a0)][_0x54d2ca(0x1a2)]===_0x54d2ca(0x19b)?_0x137358[_0x54d2ca(0x1a0)][_0x54d2ca(0x1a2)]:{},_0x2a83ff=_0x137358[_0x54d2ca(0x1a0)][_0x54d2ca(0x1aa)]===![],_0x40525=Object['entries'](apps),_0x54eedb=_0x40525['map'](([_0xf729da,_0x4eef11])=>({'name':_0xf729da,'appcode':_0x4eef11[_0x54d2ca(0x1b6)],'named':!![],'definedIn':appDefinedIn(_0xf729da,_0x3f04f2,_0x6cf98f,_0x2a83ff),'isDefault':_0xf729da===_0x4de6d3,...buildAppProfileListFields(_0x4eef11)}));return _0x54eedb;}async function execute(_0x19bbdc){const _0x2263ac=a21_0x5bd1,_0x2bbce0=_0x19bbdc['bool'](_0x2263ac(0x19d)),_0x16abed=_0x19bbdc[_0x2263ac(0x1af)](_0x2263ac(0x19e)),_0x525fbd=_0x2bbce0?_0x2263ac(0x19d):_0x16abed?_0x2263ac(0x19e):'merged',{config:_0x2eed24,layers:_0x2d8e94}=readRawConfigWithLayers(),_0x135911=resolveDefaultAppSource(_0x2d8e94),{defaultApp:_0x4454ac}=_0x2eed24;let _0x1e85bb,_0x51f437;switch(_0x525fbd){case _0x2263ac(0x19d):_0x1e85bb=buildItemsFromLayer(_0x2d8e94[_0x2263ac(0x1ad)],'global'),_0x51f437=_0x2d8e94[_0x2263ac(0x1ae)];break;case _0x2263ac(0x19e):_0x1e85bb=buildItemsFromLayer(_0x2d8e94['projectConfig'],'project'),_0x51f437=_0x2d8e94['projectPath'];break;default:_0x1e85bb=buildMergedItems(_0x2eed24,_0x2d8e94);break;}enrichAppListItemsWithMergedSelection(_0x1e85bb,_0x19bbdc['mergedCli']);if(_0x1e85bb[_0x2263ac(0x19a)]===0x0){const _0x78583f=_0x525fbd===_0x2263ac(0x1a5)?'':'\x20in\x20'+_0x525fbd+_0x2263ac(0x1a1);return{'ok':!![],'data':[],'message':'No\x20apps\x20configured'+_0x78583f+_0x2263ac(0x1ac)+CLI_BIN_NAME+_0x2263ac(0x1a6)};}const _0x218aba=_0x1e85bb[_0x2263ac(0x19f)](_0x101d05=>_0x101d05['isCurrent']===!![]),_0x306e72=_0x4454ac??_0x218aba?.[_0x2263ac(0x1b6)]??null,_0x1063bf=_0x525fbd===_0x2263ac(0x1a5)?{'globalPath':_0x2d8e94[_0x2263ac(0x1ae)]??null,'projectPath':_0x2d8e94[_0x2263ac(0x1b3)]??null,'defaultApp':_0x306e72,'defaultAppSource':_0x4454ac!=null?_0x135911:null}:{'scope':_0x525fbd,'configPath':_0x51f437??null};return{'ok':!![],'data':{'items':_0x1e85bb,'meta':_0x1063bf}};}function a21_0x5bd1(_0x4409ad,_0x7b20b6){_0x4409ad=_0x4409ad-0x19a;const _0x37b0ea=a21_0x37b0();let _0x5bd1ae=_0x37b0ea[_0x4409ad];return _0x5bd1ae;}function a21_0x37b0(){const _0x56c9ae=['12sNDrBH','projectPath','boolean','31508TSlAoh','appcode','3470555iJxNpv','length','object','917524mvGXgL','global','project','find','projectConfig','\x20config','apps','3qnfxHb','Show\x20only\x20apps\x20from\x20project\x20.rabetbase.json','merged','\x20app\x20add\x20<name>\x20--appcode\x20<code>`\x20to\x20add\x20one.','Show\x20only\x20apps\x20from\x20global\x20~/.rabetbase.json','7929864iPRElp','read','inherit','9024759FeWPaV','.\x20Use\x20`','globalConfig','globalPath','bool','2044924yqyaCM','518415jvRnSU'];a21_0x37b0=function(){return _0x56c9ae;};return a21_0x37b0();}export const appListDefinition={'service':'app','command':'list','description':'List\x20all\x20configured\x20apps','risk':a21_0x75a2aa(0x1a9),'requiresAuth':![],'requiresAppCode':![],'flags':[{'name':a21_0x75a2aa(0x19d),'type':a21_0x75a2aa(0x1b4),'description':a21_0x75a2aa(0x1a7),'default':![]},{'name':'project','type':a21_0x75a2aa(0x1b4),'description':a21_0x75a2aa(0x1a4),'default':![]}],'execute':execute};
1
+ const a21_0x4ee97=a21_0x3050;(function(_0x7b1a74,_0x2120d1){const _0x1de3a8=a21_0x3050,_0x42dd2e=_0x7b1a74();while(!![]){try{const _0x10f71a=parseInt(_0x1de3a8(0xbe))/0x1+-parseInt(_0x1de3a8(0xcc))/0x2*(-parseInt(_0x1de3a8(0xd5))/0x3)+parseInt(_0x1de3a8(0xbb))/0x4*(parseInt(_0x1de3a8(0xbc))/0x5)+-parseInt(_0x1de3a8(0xdb))/0x6*(-parseInt(_0x1de3a8(0xd2))/0x7)+-parseInt(_0x1de3a8(0xbd))/0x8*(parseInt(_0x1de3a8(0xd4))/0x9)+-parseInt(_0x1de3a8(0xe0))/0xa*(-parseInt(_0x1de3a8(0xba))/0xb)+-parseInt(_0x1de3a8(0xc2))/0xc*(parseInt(_0x1de3a8(0xc0))/0xd);if(_0x10f71a===_0x2120d1)break;else _0x42dd2e['push'](_0x42dd2e['shift']());}catch(_0x2e29b9){_0x42dd2e['push'](_0x42dd2e['shift']());}}}(a21_0x1377,0x3ea7c));import{readRawConfigWithLayers}from'../../context.js';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(_0x3f62e7,_0x324185){const _0x12d3ce=a21_0x3050,_0x2f1a29=[],_0x2ae950=_0x3f62e7[_0x12d3ce(0xc7)]&&typeof _0x3f62e7[_0x12d3ce(0xc7)]==='object'?_0x3f62e7['apps']:{},_0x3a0a5f=_0x3f62e7[_0x12d3ce(0xde)]||undefined;for(const [_0x298eab,_0x374e3e]of Object[_0x12d3ce(0xc5)](_0x2ae950)){if(!_0x374e3e||typeof _0x374e3e!==_0x12d3ce(0xd3)||!_0x374e3e[_0x12d3ce(0xda)])continue;_0x2f1a29[_0x12d3ce(0xc8)]({'name':_0x298eab,'appcode':_0x374e3e['appcode'],'named':!![],'definedIn':_0x324185,'isDefault':_0x298eab===_0x3a0a5f,...buildAppProfileListFields(_0x374e3e)});}return _0x2f1a29;}function buildMergedItems(_0x33e4e0,_0x345ec3){const _0x3c79e9=a21_0x3050,{apps:apps={},defaultApp:_0x4bef3b}=_0x33e4e0,_0x255aa1=_0x345ec3[_0x3c79e9(0xca)]['apps']&&typeof _0x345ec3[_0x3c79e9(0xca)][_0x3c79e9(0xc7)]==='object'?_0x345ec3[_0x3c79e9(0xca)][_0x3c79e9(0xc7)]:{},_0x262f61=_0x345ec3[_0x3c79e9(0xcb)][_0x3c79e9(0xc7)]&&typeof _0x345ec3[_0x3c79e9(0xcb)][_0x3c79e9(0xc7)]===_0x3c79e9(0xd3)?_0x345ec3['projectConfig'][_0x3c79e9(0xc7)]:{},_0xf95e32=_0x345ec3[_0x3c79e9(0xcb)][_0x3c79e9(0xc4)]===![],_0x3ab9ab=Object[_0x3c79e9(0xc5)](apps),_0x487c40=_0x3ab9ab[_0x3c79e9(0xd8)](([_0x45d2bb,_0x551afe])=>({'name':_0x45d2bb,'appcode':_0x551afe[_0x3c79e9(0xda)],'named':!![],'definedIn':appDefinedIn(_0x45d2bb,_0x255aa1,_0x262f61,_0xf95e32),'isDefault':_0x45d2bb===_0x4bef3b,...buildAppProfileListFields(_0x551afe)}));return _0x487c40;}function a21_0x3050(_0x29626f,_0x494280){_0x29626f=_0x29626f-0xb9;const _0x13779b=a21_0x1377();let _0x30500f=_0x13779b[_0x29626f];return _0x30500f;}function a21_0x1377(){const _0x38f0c8=['bool','list','isCurrent','Show\x20only\x20apps\x20from\x20global\x20~/.rabetbase.json','.\x20Use\x20`','86177KeLQzJ','object','16497RVGNuM','231lPYcyj','projectPath','mergedCli','map','No\x20apps\x20configured','appcode','54buYpbb','Show\x20only\x20apps\x20from\x20project\x20.rabetbase.json','globalPath','defaultApp','project','70sZpMFD','global','725527dNmeDN','16NZOfwU','169615eRvtMT','904MLykaA','194000YOIOOg','merged','6070896QFlPNJ','\x20in\x20','12IWMfOl','boolean','inherit','entries','app','apps','push','List\x20all\x20configured\x20apps','globalConfig','projectConfig','742OPknWF'];a21_0x1377=function(){return _0x38f0c8;};return a21_0x1377();}async function execute(_0xb66f7f){const _0x27b27d=a21_0x3050,_0x4a3452=_0xb66f7f['bool'](_0x27b27d(0xb9)),_0x4e3a47=_0xb66f7f[_0x27b27d(0xcd)](_0x27b27d(0xdf)),_0x546b64=_0x4a3452?'global':_0x4e3a47?'project':_0x27b27d(0xbf),{config:_0x344ed0,layers:_0x5da713}=readRawConfigWithLayers(),_0x45bc70=resolveDefaultAppSource(_0x5da713),{defaultApp:_0x40bec5}=_0x344ed0;let _0x471a2c,_0x11036e;switch(_0x546b64){case _0x27b27d(0xb9):_0x471a2c=buildItemsFromLayer(_0x5da713['globalConfig'],'global'),_0x11036e=_0x5da713[_0x27b27d(0xdd)];break;case _0x27b27d(0xdf):_0x471a2c=buildItemsFromLayer(_0x5da713['projectConfig'],_0x27b27d(0xdf)),_0x11036e=_0x5da713[_0x27b27d(0xd6)];break;default:_0x471a2c=buildMergedItems(_0x344ed0,_0x5da713);break;}enrichAppListItemsWithMergedSelection(_0x471a2c,_0xb66f7f[_0x27b27d(0xd7)]);if(_0x471a2c['length']===0x0){const _0x181339=_0x546b64===_0x27b27d(0xbf)?'':_0x27b27d(0xc1)+_0x546b64+'\x20config';return{'ok':!![],'data':[],'message':_0x27b27d(0xd9)+_0x181339+_0x27b27d(0xd1)+CLI_BIN_NAME+'\x20app\x20add\x20<name>\x20--appcode\x20<code>`\x20to\x20add\x20one.'};}const _0x5817db=_0x471a2c['find'](_0x3b3d9c=>_0x3b3d9c[_0x27b27d(0xcf)]===!![]),_0x2194c5=_0x40bec5??_0x5817db?.[_0x27b27d(0xda)]??null,_0x33f33c=_0x546b64===_0x27b27d(0xbf)?{'globalPath':_0x5da713['globalPath']??null,'projectPath':_0x5da713[_0x27b27d(0xd6)]??null,'defaultApp':_0x2194c5,'defaultAppSource':_0x40bec5!=null?_0x45bc70:null}:{'scope':_0x546b64,'configPath':_0x11036e??null};return{'ok':!![],'data':{'items':_0x471a2c,'meta':_0x33f33c}};}export const appListDefinition={'service':a21_0x4ee97(0xc6),'command':a21_0x4ee97(0xce),'description':a21_0x4ee97(0xc9),'risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[{'name':a21_0x4ee97(0xb9),'type':a21_0x4ee97(0xc3),'description':a21_0x4ee97(0xd0),'default':![]},{'name':a21_0x4ee97(0xdf),'type':a21_0x4ee97(0xc3),'description':a21_0x4ee97(0xdc),'default':![]}],'execute':execute};
@@ -1 +1 @@
1
- const a22_0x4576b2=a22_0x5c0d;(function(_0x5b351b,_0x33bcfb){const _0x19c9ad=a22_0x5c0d,_0x46c268=_0x5b351b();while(!![]){try{const _0x3fd335=-parseInt(_0x19c9ad(0x1ae))/0x1*(-parseInt(_0x19c9ad(0x1b9))/0x2)+-parseInt(_0x19c9ad(0x1a7))/0x3+-parseInt(_0x19c9ad(0x1c3))/0x4*(parseInt(_0x19c9ad(0x1b6))/0x5)+-parseInt(_0x19c9ad(0x1a6))/0x6+-parseInt(_0x19c9ad(0x1b8))/0x7+-parseInt(_0x19c9ad(0x1ab))/0x8+-parseInt(_0x19c9ad(0x1a9))/0x9*(-parseInt(_0x19c9ad(0x1bb))/0xa);if(_0x3fd335===_0x33bcfb)break;else _0x46c268['push'](_0x46c268['shift']());}catch(_0x4d99ba){_0x46c268['push'](_0x46c268['shift']());}}}(a22_0x25f5,0x34a6c));function a22_0x25f5(){const _0x5481ab=['\x20config.','\x22\x20still\x20defined\x20in\x20','defaultApp','\x20Default\x20app\x20changed\x20to\x20\x22','\x20app\x20remove\x20<name>\x20[--global]','project','Use\x20global\x20config\x20scope','1506796fhssWS','\x22\x20not\x20found.','trim','globalConfig','Missing\x20app\x20name.','length','projectConfig','App\x20profile\x20name\x20to\x20remove','apps','object','\x20Note:\x20app\x20\x22','62448IXzcVo','38331YGRCnn','inherit','8167059PCdkGL','Remove\x20an\x20app\x20from\x20config','2636592GpWBeJ','global','Removed\x20app\x20\x22','122501ZqVCMD','App\x20\x22','args','boolean','validation','keys','bool','name','5RNckiA','Usage:\x20','1451345nFqrYo','4OdOEjY','high-risk-write','10FDwIcV'];a22_0x25f5=function(){return _0x5481ab;};return a22_0x25f5();}import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';function a22_0x5c0d(_0xc07a5f,_0x535150){_0xc07a5f=_0xc07a5f-0x1a5;const _0x25f52e=a22_0x25f5();let _0x5c0d67=_0x25f52e[_0xc07a5f];return _0x5c0d67;}import{readRawConfigWithLayers}from'../../context.js';import{readConfig,writeConfig,scopeLabel,resolveAppScopeForWrite,appDefinedIn}from'../../commands/app/shared.js';async function validateArgs(_0x23dac8){const _0x1b3286=a22_0x5c0d,_0x409164=_0x23dac8[_0x1b3286(0x1b0)][0x0]?.['trim']();if(!_0x409164)throw CliErrors[_0x1b3286(0x1b2)](_0x1b3286(0x1c7),_0x1b3286(0x1b7)+CLI_BIN_NAME+_0x1b3286(0x1c0));}async function execute(_0x95568c){const _0x41f245=a22_0x5c0d,_0x20debf=_0x95568c[_0x41f245(0x1b0)][0x0]?.[_0x41f245(0x1c5)]();if(!_0x20debf)throw CliErrors[_0x41f245(0x1b2)](_0x41f245(0x1c7),_0x41f245(0x1b7)+CLI_BIN_NAME+_0x41f245(0x1c0));const _0x280334=_0x95568c[_0x41f245(0x1b4)]('global'),{config:_0x194a07,layers:_0x75c269}=readRawConfigWithLayers(),_0xfe0724=_0x194a07['apps']??{};if(!_0xfe0724[_0x20debf])throw CliErrors[_0x41f245(0x1b2)](_0x41f245(0x1af)+_0x20debf+_0x41f245(0x1c4));const _0x16c7a0=_0x75c269[_0x41f245(0x1c6)]['apps']&&typeof _0x75c269[_0x41f245(0x1c6)][_0x41f245(0x1cb)]===_0x41f245(0x1cc)?_0x75c269[_0x41f245(0x1c6)][_0x41f245(0x1cb)]:{},_0x4cf1d1=_0x75c269[_0x41f245(0x1c9)][_0x41f245(0x1cb)]&&typeof _0x75c269[_0x41f245(0x1c9)][_0x41f245(0x1cb)]===_0x41f245(0x1cc)?_0x75c269[_0x41f245(0x1c9)][_0x41f245(0x1cb)]:{},_0x48452f=appDefinedIn(_0x20debf,_0x16c7a0,_0x4cf1d1,_0x75c269[_0x41f245(0x1c9)][_0x41f245(0x1a8)]===![]),_0x42877d=resolveAppScopeForWrite(_0x20debf,_0x280334,_0x75c269),_0x45e0e0={'global':_0x42877d==='global'},_0x5a3159=readConfig(_0x45e0e0),_0x4d88e7=_0x5a3159[_0x41f245(0x1cb)];if(!_0x4d88e7||!_0x4d88e7[_0x20debf])throw CliErrors['validation'](_0x41f245(0x1af)+_0x20debf+_0x41f245(0x1c4));delete _0x4d88e7[_0x20debf];let _0x44e350='';if(_0x5a3159[_0x41f245(0x1be)]===_0x20debf){const _0x24aad9=Object[_0x41f245(0x1b3)](_0x4d88e7);_0x5a3159[_0x41f245(0x1be)]=_0x24aad9[_0x41f245(0x1c8)]>0x0?_0x24aad9[0x0]:undefined,_0x5a3159['defaultApp']?_0x44e350=_0x41f245(0x1bf)+_0x5a3159['defaultApp']+'\x22.':delete _0x5a3159[_0x41f245(0x1be)];}Object[_0x41f245(0x1b3)](_0x4d88e7)[_0x41f245(0x1c8)]===0x0&&(delete _0x5a3159[_0x41f245(0x1cb)],delete _0x5a3159[_0x41f245(0x1be)]);writeConfig(_0x5a3159,_0x45e0e0);const _0x102f38=_0x48452f==='both'?_0x41f245(0x1a5)+_0x20debf+_0x41f245(0x1bd)+(_0x42877d===_0x41f245(0x1c1)?_0x41f245(0x1ac):_0x41f245(0x1c1))+_0x41f245(0x1bc):'';return{'ok':!![],'message':_0x41f245(0x1ad)+_0x20debf+'\x22'+scopeLabel(_0x45e0e0)+'.'+_0x44e350+_0x102f38};}export const appRemoveDefinition={'service':'app','command':'remove','description':a22_0x4576b2(0x1aa),'risk':a22_0x4576b2(0x1ba),'requiresAuth':![],'requiresAppCode':![],'args':[{'name':a22_0x4576b2(0x1b5),'description':a22_0x4576b2(0x1ca),'required':!![]}],'flags':[{'name':a22_0x4576b2(0x1ac),'type':a22_0x4576b2(0x1b1),'description':a22_0x4576b2(0x1c2),'default':![]}],'validate':validateArgs,'execute':execute};
1
+ function a22_0x37aa(_0x4fcb1c,_0x1ba18c){_0x4fcb1c=_0x4fcb1c-0x138;const _0x506c6a=a22_0x506c();let _0x37aa6d=_0x506c6a[_0x4fcb1c];return _0x37aa6d;}const a22_0x59add5=a22_0x37aa;(function(_0x3e420f,_0xd22555){const _0x41cec2=a22_0x37aa,_0xce172e=_0x3e420f();while(!![]){try{const _0x57209b=-parseInt(_0x41cec2(0x142))/0x1+-parseInt(_0x41cec2(0x14d))/0x2+-parseInt(_0x41cec2(0x13b))/0x3+-parseInt(_0x41cec2(0x153))/0x4*(-parseInt(_0x41cec2(0x159))/0x5)+parseInt(_0x41cec2(0x144))/0x6*(parseInt(_0x41cec2(0x155))/0x7)+-parseInt(_0x41cec2(0x139))/0x8+-parseInt(_0x41cec2(0x156))/0x9*(-parseInt(_0x41cec2(0x143))/0xa);if(_0x57209b===_0xd22555)break;else _0xce172e['push'](_0xce172e['shift']());}catch(_0x52ff2e){_0xce172e['push'](_0xce172e['shift']());}}}(a22_0x506c,0x2ebc8));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(_0x11f20b){const _0x59d853=a22_0x37aa,_0x51c23f=_0x11f20b[_0x59d853(0x14c)][0x0]?.[_0x59d853(0x140)]();if(!_0x51c23f)throw CliErrors[_0x59d853(0x154)](_0x59d853(0x13d),_0x59d853(0x149)+CLI_BIN_NAME+'\x20app\x20remove\x20<name>\x20[--global]');}function a22_0x506c(){const _0x2ed209=['both','defaultApp','\x20Default\x20app\x20changed\x20to\x20\x22','project','31852zTyJrb','validation','21aJWisX','27gnAZGr','globalConfig','length','85pRpZkt','\x22\x20not\x20found.','apps','keys','480984rxQhhz','high-risk-write','266520qfxmpS','App\x20\x22','Missing\x20app\x20name.','boolean','projectConfig','trim','\x20app\x20remove\x20<name>\x20[--global]','239131GtTDxu','1383130rkrVon','187134noQGiJ','global','\x20Note:\x20app\x20\x22','object','inherit','Usage:\x20','bool','remove','args','128702HWxNnR','name'];a22_0x506c=function(){return _0x2ed209;};return a22_0x506c();}async function execute(_0x576ffd){const _0x3f662c=a22_0x37aa,_0x4b64a1=_0x576ffd[_0x3f662c(0x14c)][0x0]?.[_0x3f662c(0x140)]();if(!_0x4b64a1)throw CliErrors[_0x3f662c(0x154)](_0x3f662c(0x13d),'Usage:\x20'+CLI_BIN_NAME+_0x3f662c(0x141));const _0x4d1ba8=_0x576ffd[_0x3f662c(0x14a)]('global'),{config:_0x5ec4cd,layers:_0xb87617}=readRawConfigWithLayers(),_0x3596ad=_0x5ec4cd[_0x3f662c(0x15b)]??{};if(!_0x3596ad[_0x4b64a1])throw CliErrors[_0x3f662c(0x154)]('App\x20\x22'+_0x4b64a1+'\x22\x20not\x20found.');const _0x162b44=_0xb87617[_0x3f662c(0x157)][_0x3f662c(0x15b)]&&typeof _0xb87617[_0x3f662c(0x157)][_0x3f662c(0x15b)]===_0x3f662c(0x147)?_0xb87617[_0x3f662c(0x157)][_0x3f662c(0x15b)]:{},_0x27b555=_0xb87617[_0x3f662c(0x13f)][_0x3f662c(0x15b)]&&typeof _0xb87617[_0x3f662c(0x13f)][_0x3f662c(0x15b)]==='object'?_0xb87617[_0x3f662c(0x13f)][_0x3f662c(0x15b)]:{},_0x44d8c1=appDefinedIn(_0x4b64a1,_0x162b44,_0x27b555,_0xb87617[_0x3f662c(0x13f)][_0x3f662c(0x148)]===![]),_0x8286d8=resolveAppScopeForWrite(_0x4b64a1,_0x4d1ba8,_0xb87617),_0x16436a={'global':_0x8286d8===_0x3f662c(0x145)},_0x44df32=readConfig(_0x16436a),_0x514f85=_0x44df32[_0x3f662c(0x15b)];if(!_0x514f85||!_0x514f85[_0x4b64a1])throw CliErrors[_0x3f662c(0x154)](_0x3f662c(0x13c)+_0x4b64a1+_0x3f662c(0x15a));delete _0x514f85[_0x4b64a1];let _0x5e0e6a='';if(_0x44df32[_0x3f662c(0x150)]===_0x4b64a1){const _0x471f78=Object[_0x3f662c(0x138)](_0x514f85);_0x44df32[_0x3f662c(0x150)]=_0x471f78[_0x3f662c(0x158)]>0x0?_0x471f78[0x0]:undefined,_0x44df32[_0x3f662c(0x150)]?_0x5e0e6a=_0x3f662c(0x151)+_0x44df32[_0x3f662c(0x150)]+'\x22.':delete _0x44df32[_0x3f662c(0x150)];}Object['keys'](_0x514f85)[_0x3f662c(0x158)]===0x0&&(delete _0x44df32['apps'],delete _0x44df32[_0x3f662c(0x150)]);writeConfig(_0x44df32,_0x16436a);const _0x64479c=_0x44d8c1===_0x3f662c(0x14f)?_0x3f662c(0x146)+_0x4b64a1+'\x22\x20still\x20defined\x20in\x20'+(_0x8286d8===_0x3f662c(0x152)?_0x3f662c(0x145):_0x3f662c(0x152))+'\x20config.':'';return{'ok':!![],'message':'Removed\x20app\x20\x22'+_0x4b64a1+'\x22'+scopeLabel(_0x16436a)+'.'+_0x5e0e6a+_0x64479c};}export const appRemoveDefinition={'service':'app','command':a22_0x59add5(0x14b),'description':'Remove\x20an\x20app\x20from\x20config','risk':a22_0x59add5(0x13a),'requiresAuth':![],'requiresAppCode':![],'args':[{'name':a22_0x59add5(0x14e),'description':'App\x20profile\x20name\x20to\x20remove','required':!![]}],'flags':[{'name':a22_0x59add5(0x145),'type':a22_0x59add5(0x13e),'description':'Use\x20global\x20config\x20scope','default':![]}],'validate':validateArgs,'execute':execute};
@@ -1 +1 @@
1
- (function(_0x145f5c,_0x45dc4c){const _0x56ce4d=a23_0x5efe,_0x156a1d=_0x145f5c();while(!![]){try{const _0x3ef692=-parseInt(_0x56ce4d(0xb1))/0x1+parseInt(_0x56ce4d(0xba))/0x2+-parseInt(_0x56ce4d(0xab))/0x3+-parseInt(_0x56ce4d(0xbe))/0x4*(parseInt(_0x56ce4d(0xaf))/0x5)+parseInt(_0x56ce4d(0xad))/0x6+-parseInt(_0x56ce4d(0xa2))/0x7+parseInt(_0x56ce4d(0xb0))/0x8;if(_0x3ef692===_0x45dc4c)break;else _0x156a1d['push'](_0x156a1d['shift']());}catch(_0x22e3ef){_0x156a1d['push'](_0x156a1d['shift']());}}}(a23_0x4737,0x65ef4));import{resolveWriteConfigPath,readConfigFile,writeConfigFile}from'../../context.js';function a23_0x4737(){const _0x574228=['prototype','project','\x20(global)','trim','both','call','1808346qIetBU','length','3330396hjiqfm','apps','79775amZqQB','10354680JprApX','399717vTaEIV','globalConfig','appCode','global','named','projectConfig','hasOwnProperty','currentApp','object','1256180qjctGY','isCurrent','appcode','name','84wIyqub','5056891XESOsA','keys','defaultApp'];a23_0x4737=function(){return _0x574228;};return a23_0x4737();}export function enrichAppListItemsWithMergedSelection(_0x10fa5e,_0x171014){const _0x3b390b=a23_0x5efe;if(!_0x171014)return;const _0x26ef7b=_0x171014[_0x3b390b(0xae)]&&typeof _0x171014[_0x3b390b(0xae)]===_0x3b390b(0xb9)?_0x171014[_0x3b390b(0xae)]:{},_0x38e074=Object['keys'](_0x26ef7b)[_0x3b390b(0xac)]>0x0;for(const _0x4b8d46 of _0x10fa5e){_0x4b8d46[_0x3b390b(0xbb)]=![];}const _0x2a9834=_0x171014[_0x3b390b(0xb3)]!=null?String(_0x171014[_0x3b390b(0xb3)])['trim']():'';if(_0x38e074){const _0x100d9e=_0x171014[_0x3b390b(0xb8)]??_0x171014[_0x3b390b(0xa4)];if(_0x100d9e)for(const _0x2efecd of _0x10fa5e){_0x2efecd[_0x3b390b(0xb5)]===!![]&&_0x2efecd[_0x3b390b(0xbd)]===_0x100d9e&&(_0x2efecd['isCurrent']=!![]);}for(const _0x13b326 of _0x10fa5e){if(_0x13b326[_0x3b390b(0xb5)]!==![])continue;if(_0x171014[_0x3b390b(0xa4)])continue;_0x2a9834&&String(_0x13b326[_0x3b390b(0xbc)]??'')['trim']()===_0x2a9834&&(_0x13b326[_0x3b390b(0xbb)]=!![]);}return;}if(!_0x2a9834)return;for(const _0x352c9f of _0x10fa5e){String(_0x352c9f['appcode']??'')[_0x3b390b(0xa8)]()===_0x2a9834&&(_0x352c9f[_0x3b390b(0xbb)]=!![]);}}export function resolveAppScopeForWrite(_0x398f63,_0x12ee14,_0x2cd99f){const _0x750540=a23_0x5efe;if(_0x12ee14)return _0x750540(0xb4);const _0x1fa552=_0x2cd99f[_0x750540(0xb6)][_0x750540(0xae)]&&typeof _0x2cd99f['projectConfig'][_0x750540(0xae)]===_0x750540(0xb9)?_0x2cd99f[_0x750540(0xb6)][_0x750540(0xae)]:{},_0x1031c8=_0x2cd99f[_0x750540(0xb2)][_0x750540(0xae)]&&typeof _0x2cd99f[_0x750540(0xb2)][_0x750540(0xae)]===_0x750540(0xb9)?_0x2cd99f[_0x750540(0xb2)][_0x750540(0xae)]:{};if(Object[_0x750540(0xa5)]['hasOwnProperty'][_0x750540(0xaa)](_0x1fa552,_0x398f63))return _0x750540(0xa6);if(Object[_0x750540(0xa5)][_0x750540(0xb7)][_0x750540(0xaa)](_0x1031c8,_0x398f63))return _0x750540(0xb4);return _0x750540(0xa6);}export function appDefinedIn(_0x2a49c2,_0x5ea257,_0x1ebb1a,_0x1a9667){const _0x191f8f=a23_0x5efe;if(_0x1a9667)return Object['prototype'][_0x191f8f(0xb7)]['call'](_0x1ebb1a,_0x2a49c2)?_0x191f8f(0xa6):'global';const _0x41953c=Object[_0x191f8f(0xa5)]['hasOwnProperty'][_0x191f8f(0xaa)](_0x5ea257,_0x2a49c2),_0x670304=Object[_0x191f8f(0xa5)][_0x191f8f(0xb7)][_0x191f8f(0xaa)](_0x1ebb1a,_0x2a49c2);if(_0x41953c&&_0x670304)return _0x191f8f(0xa9);if(_0x670304)return _0x191f8f(0xa6);return _0x191f8f(0xb4);}export function resolveDefaultAppSource(_0x5307a9){const _0x99bac9=a23_0x5efe,_0x308848=_0x5307a9[_0x99bac9(0xb6)][_0x99bac9(0xae)]&&typeof _0x5307a9[_0x99bac9(0xb6)]['apps']===_0x99bac9(0xb9)?_0x5307a9[_0x99bac9(0xb6)][_0x99bac9(0xae)]:{};if(_0x99bac9(0xa4)in _0x5307a9[_0x99bac9(0xb6)])return _0x99bac9(0xa6);if(Object[_0x99bac9(0xa3)](_0x308848)[_0x99bac9(0xac)]>0x0)return'project';if(_0x5307a9[_0x99bac9(0xb6)]['inherit']===![])return null;if(_0x5307a9[_0x99bac9(0xb2)][_0x99bac9(0xa4)])return'global';return null;}export function getConfigPath(_0x26ddb8={}){const _0x724416=a23_0x5efe,_0x5e133f=_0x26ddb8[_0x724416(0xb4)]?_0x724416(0xb4):_0x724416(0xa6);return resolveWriteConfigPath(_0x5e133f);}export function readConfig(_0x410f33={}){return readConfigFile(getConfigPath(_0x410f33));}function a23_0x5efe(_0xaf88d3,_0x2327b6){_0xaf88d3=_0xaf88d3-0xa2;const _0x473725=a23_0x4737();let _0x5efeda=_0x473725[_0xaf88d3];return _0x5efeda;}export function writeConfig(_0x15e0f8,_0x457623={}){writeConfigFile(getConfigPath(_0x457623),_0x15e0f8);}export function scopeLabel(_0x155e44){const _0x2ea62c=a23_0x5efe;return _0x155e44[_0x2ea62c(0xb4)]?_0x2ea62c(0xa7):'';}
1
+ (function(_0x53563f,_0x24cdbd){const _0x4d4c3b=a23_0x3c21,_0xe06439=_0x53563f();while(!![]){try{const _0x4294ed=parseInt(_0x4d4c3b(0xa4))/0x1+parseInt(_0x4d4c3b(0xa5))/0x2*(parseInt(_0x4d4c3b(0xc1))/0x3)+-parseInt(_0x4d4c3b(0xaf))/0x4+-parseInt(_0x4d4c3b(0xac))/0x5+-parseInt(_0x4d4c3b(0xae))/0x6*(-parseInt(_0x4d4c3b(0xb8))/0x7)+-parseInt(_0x4d4c3b(0xb0))/0x8*(-parseInt(_0x4d4c3b(0xc2))/0x9)+parseInt(_0x4d4c3b(0xba))/0xa*(-parseInt(_0x4d4c3b(0xa7))/0xb);if(_0x4294ed===_0x24cdbd)break;else _0xe06439['push'](_0xe06439['shift']());}catch(_0x4ce82d){_0xe06439['push'](_0xe06439['shift']());}}}(a23_0x4d29,0x60164));import{resolveWriteConfigPath,readConfigFile,writeConfigFile}from'../../context.js';export function enrichAppListItemsWithMergedSelection(_0x53d52a,_0x264bfc){const _0x2a610f=a23_0x3c21;if(!_0x264bfc)return;const _0x437925=_0x264bfc[_0x2a610f(0xa8)]&&typeof _0x264bfc[_0x2a610f(0xa8)]===_0x2a610f(0xb7)?_0x264bfc[_0x2a610f(0xa8)]:{},_0x50a7c6=Object['keys'](_0x437925)['length']>0x0;for(const _0x5c8cff of _0x53d52a){_0x5c8cff['isCurrent']=![];}const _0x9eaf13=_0x264bfc['appCode']!=null?String(_0x264bfc['appCode'])[_0x2a610f(0xaa)]():'';if(_0x50a7c6){const _0x342073=_0x264bfc[_0x2a610f(0xbc)]??_0x264bfc[_0x2a610f(0xa6)];if(_0x342073)for(const _0x12a087 of _0x53d52a){_0x12a087[_0x2a610f(0xbe)]===!![]&&_0x12a087[_0x2a610f(0xb9)]===_0x342073&&(_0x12a087['isCurrent']=!![]);}for(const _0x15f48a of _0x53d52a){if(_0x15f48a[_0x2a610f(0xbe)]!==![])continue;if(_0x264bfc[_0x2a610f(0xa6)])continue;_0x9eaf13&&String(_0x15f48a[_0x2a610f(0xb5)]??'')['trim']()===_0x9eaf13&&(_0x15f48a['isCurrent']=!![]);}return;}if(!_0x9eaf13)return;for(const _0x3b4a66 of _0x53d52a){String(_0x3b4a66[_0x2a610f(0xb5)]??'')[_0x2a610f(0xaa)]()===_0x9eaf13&&(_0x3b4a66[_0x2a610f(0xbd)]=!![]);}}export function resolveAppScopeForWrite(_0x2775c5,_0x3c0b01,_0x950995){const _0x4b31ec=a23_0x3c21;if(_0x3c0b01)return'global';const _0x3b3d72=_0x950995['projectConfig'][_0x4b31ec(0xa8)]&&typeof _0x950995['projectConfig'][_0x4b31ec(0xa8)]===_0x4b31ec(0xb7)?_0x950995[_0x4b31ec(0xab)][_0x4b31ec(0xa8)]:{},_0x1b563b=_0x950995[_0x4b31ec(0xbf)][_0x4b31ec(0xa8)]&&typeof _0x950995['globalConfig'][_0x4b31ec(0xa8)]===_0x4b31ec(0xb7)?_0x950995[_0x4b31ec(0xbf)][_0x4b31ec(0xa8)]:{};if(Object['prototype'][_0x4b31ec(0xb3)][_0x4b31ec(0xb6)](_0x3b3d72,_0x2775c5))return _0x4b31ec(0xad);if(Object['prototype'][_0x4b31ec(0xb3)][_0x4b31ec(0xb6)](_0x1b563b,_0x2775c5))return _0x4b31ec(0xb2);return _0x4b31ec(0xad);}export function appDefinedIn(_0x485bbf,_0x8ef0f8,_0x5e69ce,_0x156a15){const _0x4ba691=a23_0x3c21;if(_0x156a15)return Object[_0x4ba691(0xb4)][_0x4ba691(0xb3)][_0x4ba691(0xb6)](_0x5e69ce,_0x485bbf)?_0x4ba691(0xad):'global';const _0x3079fd=Object[_0x4ba691(0xb4)][_0x4ba691(0xb3)][_0x4ba691(0xb6)](_0x8ef0f8,_0x485bbf),_0x28a200=Object['prototype'][_0x4ba691(0xb3)][_0x4ba691(0xb6)](_0x5e69ce,_0x485bbf);if(_0x3079fd&&_0x28a200)return _0x4ba691(0xbb);if(_0x28a200)return _0x4ba691(0xad);return _0x4ba691(0xb2);}function a23_0x3c21(_0x2bbf07,_0x4fef28){_0x2bbf07=_0x2bbf07-0xa4;const _0x4d291e=a23_0x4d29();let _0x3c21d4=_0x4d291e[_0x2bbf07];return _0x3c21d4;}export function resolveDefaultAppSource(_0x41e100){const _0x518cd4=a23_0x3c21,_0x5b865f=_0x41e100[_0x518cd4(0xab)]['apps']&&typeof _0x41e100[_0x518cd4(0xab)][_0x518cd4(0xa8)]==='object'?_0x41e100['projectConfig'][_0x518cd4(0xa8)]:{};if(_0x518cd4(0xa6)in _0x41e100[_0x518cd4(0xab)])return _0x518cd4(0xad);if(Object[_0x518cd4(0xa9)](_0x5b865f)[_0x518cd4(0xb1)]>0x0)return _0x518cd4(0xad);if(_0x41e100[_0x518cd4(0xab)][_0x518cd4(0xc0)]===![])return null;if(_0x41e100[_0x518cd4(0xbf)][_0x518cd4(0xa6)])return _0x518cd4(0xb2);return null;}export function getConfigPath(_0x507bba={}){const _0x5099df=a23_0x3c21,_0x1afd1c=_0x507bba[_0x5099df(0xb2)]?_0x5099df(0xb2):'project';return resolveWriteConfigPath(_0x1afd1c);}export function readConfig(_0x182649={}){return readConfigFile(getConfigPath(_0x182649));}export function writeConfig(_0x183ac3,_0xb72d40={}){writeConfigFile(getConfigPath(_0xb72d40),_0x183ac3);}function a23_0x4d29(){const _0x2f375f=['call','object','595iNCjrp','name','2942140OpDfxG','both','currentApp','isCurrent','named','globalConfig','inherit','252519tJeTmQ','25587gxAbqP','617130OrpSgw','2PBAJsD','defaultApp','11tWMeTR','apps','keys','trim','projectConfig','1479520zFptGr','project','38466rBNYEU','3108524IEkTAK','1448YmxNzb','length','global','hasOwnProperty','prototype','appcode'];a23_0x4d29=function(){return _0x2f375f;};return a23_0x4d29();}export function scopeLabel(_0x164eb5){const _0x4b443c=a23_0x3c21;return _0x164eb5[_0x4b443c(0xb2)]?'\x20(global)':'';}
@@ -1 +1 @@
1
- const a24_0x4e7d25=a24_0x364d;function a24_0x364d(_0x41ae03,_0x549bb3){_0x41ae03=_0x41ae03-0x122;const _0xfe29bd=a24_0xfe29();let _0x364d17=_0xfe29bd[_0x41ae03];return _0x364d17;}(function(_0x25e7c6,_0x498db5){const _0x30f4a3=a24_0x364d,_0x10a1f4=_0x25e7c6();while(!![]){try{const _0x43b954=-parseInt(_0x30f4a3(0x142))/0x1+-parseInt(_0x30f4a3(0x141))/0x2+-parseInt(_0x30f4a3(0x12c))/0x3*(-parseInt(_0x30f4a3(0x124))/0x4)+parseInt(_0x30f4a3(0x138))/0x5+parseInt(_0x30f4a3(0x122))/0x6*(parseInt(_0x30f4a3(0x131))/0x7)+-parseInt(_0x30f4a3(0x143))/0x8*(-parseInt(_0x30f4a3(0x140))/0x9)+parseInt(_0x30f4a3(0x128))/0xa;if(_0x43b954===_0x498db5)break;else _0x10a1f4['push'](_0x10a1f4['shift']());}catch(_0x1cf6bc){_0x10a1f4['push'](_0x10a1f4['shift']());}}}(a24_0xfe29,0x5f276));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(_0x1d4deb){const _0x69b0e5=a24_0x364d,_0x1362f7=_0x1d4deb[_0x69b0e5(0x12f)][0x0]?.[_0x69b0e5(0x136)]();if(!_0x1362f7)throw CliErrors[_0x69b0e5(0x13f)]('Missing\x20app\x20name.',_0x69b0e5(0x129)+CLI_BIN_NAME+_0x69b0e5(0x13a));}async function execute(_0x243af8){const _0x2fdbb3=a24_0x364d,_0x46aef8=_0x243af8[_0x2fdbb3(0x12f)][0x0]?.[_0x2fdbb3(0x136)]();if(!_0x46aef8)throw CliErrors[_0x2fdbb3(0x13f)](_0x2fdbb3(0x12e),_0x2fdbb3(0x129)+CLI_BIN_NAME+_0x2fdbb3(0x13a));const _0x3354a0=_0x243af8['bool']('global'),{config:_0x19700c,layers:_0x5d2663}=readRawConfigWithLayers(),_0x489326=_0x19700c[_0x2fdbb3(0x13c)]??{},_0x2b2e20=_0x5d2663['globalConfig'][_0x2fdbb3(0x13c)]&&typeof _0x5d2663[_0x2fdbb3(0x132)][_0x2fdbb3(0x13c)]===_0x2fdbb3(0x12d)?_0x5d2663[_0x2fdbb3(0x132)][_0x2fdbb3(0x13c)]:{},_0x258455={..._0x2b2e20,..._0x489326};if(!_0x258455[_0x46aef8]){const _0x4746e1=Object['keys'](_0x258455),_0x15d4df=_0x4746e1[_0x2fdbb3(0x127)]===0x0?'Use\x20`'+CLI_BIN_NAME+_0x2fdbb3(0x130)+_0x46aef8+_0x2fdbb3(0x12a):'Available:\x20'+_0x4746e1[_0x2fdbb3(0x134)](',\x20');throw CliErrors['validation'](_0x2fdbb3(0x144)+_0x46aef8+_0x2fdbb3(0x137),_0x15d4df);}let _0x2366b0,_0x33f330='';if(_0x3354a0)_0x2366b0={'global':!![]};else{const _0xe9ca7=isInProject()&&!!_0x5d2663['projectPath'];_0x2366b0={'global':!_0xe9ca7};}const _0x546f99=readConfig(_0x2366b0);_0x546f99['defaultApp']=_0x46aef8;if(!_0x2366b0[_0x2fdbb3(0x145)]){const _0x267e61=_0x546f99[_0x2fdbb3(0x13c)]&&typeof _0x546f99[_0x2fdbb3(0x13c)]===_0x2fdbb3(0x12d)?_0x546f99[_0x2fdbb3(0x13c)]:{};!Object[_0x2fdbb3(0x13d)][_0x2fdbb3(0x133)][_0x2fdbb3(0x12b)](_0x267e61,_0x46aef8)&&(_0x546f99['apps']={..._0x267e61,[_0x46aef8]:_0x258455[_0x46aef8]},_0x33f330=_0x2fdbb3(0x123)+_0x46aef8+_0x2fdbb3(0x13e));}return writeConfig(_0x546f99,_0x2366b0),{'ok':!![],'message':'Default\x20app\x20set\x20to\x20\x22'+_0x46aef8+_0x2fdbb3(0x139)+_0x258455[_0x46aef8]['appcode']+')'+scopeLabel(_0x2366b0)+_0x33f330};}export const appUseDefinition={'service':'app','command':'use','description':a24_0x4e7d25(0x13b),'risk':a24_0x4e7d25(0x126),'requiresAuth':![],'requiresAppCode':![],'args':[{'name':'name','description':a24_0x4e7d25(0x125),'required':!![]}],'flags':[{'name':'global','type':'boolean','description':a24_0x4e7d25(0x135),'default':![]}],'validate':validateArgs,'execute':execute};function a24_0xfe29(){const _0x3e3d0e=['\x20app\x20use\x20<name>\x20[--global]','Switch\x20the\x20default\x20app','apps','prototype','\x22\x20was\x20defined\x20in\x20global\x20config;\x20profile\x20copied\x20into\x20project\x20so\x20the\x20project\x20config\x20self-resolves\x20under\x20the\x20default\x20project-first\x20inherit\x20policy.','validation','15039qnFbbJ','1281614zsQUVL','757159WYAXeZ','168WTBECz','App\x20\x22','global','2698464OZgmsV','\x0aNote:\x20\x22','1650004dpYkUI','App\x20profile\x20name\x20to\x20activate','write','length','8794770TiLhtL','Usage:\x20','\x20--appcode\x20<code>`\x20first.','call','3CKnrQh','object','Missing\x20app\x20name.','args','\x20app\x20add\x20','7awJUiT','globalConfig','hasOwnProperty','join','Use\x20global\x20config\x20scope','trim','\x22\x20not\x20found.','54515pmBytI','\x22\x20(appcode:\x20'];a24_0xfe29=function(){return _0x3e3d0e;};return a24_0xfe29();}
1
+ const a24_0xb5f61a=a24_0xfb4d;(function(_0x3167eb,_0x2d5f77){const _0x2f1866=a24_0xfb4d,_0x44b690=_0x3167eb();while(!![]){try{const _0x37ec8e=-parseInt(_0x2f1866(0x88))/0x1*(parseInt(_0x2f1866(0x89))/0x2)+-parseInt(_0x2f1866(0x99))/0x3+parseInt(_0x2f1866(0xa1))/0x4+-parseInt(_0x2f1866(0x9c))/0x5*(parseInt(_0x2f1866(0x9f))/0x6)+parseInt(_0x2f1866(0x7e))/0x7*(-parseInt(_0x2f1866(0x7f))/0x8)+-parseInt(_0x2f1866(0x7d))/0x9*(parseInt(_0x2f1866(0x95))/0xa)+parseInt(_0x2f1866(0x9d))/0xb*(parseInt(_0x2f1866(0x83))/0xc);if(_0x37ec8e===_0x2d5f77)break;else _0x44b690['push'](_0x44b690['shift']());}catch(_0x422f31){_0x44b690['push'](_0x44b690['shift']());}}}(a24_0x1b28,0x8393b));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{readRawConfigWithLayers,isInProject}from'../../context.js';function a24_0xfb4d(_0x3e6ba3,_0x59ab9b){_0x3e6ba3=_0x3e6ba3-0x78;const _0x1b2831=a24_0x1b28();let _0xfb4d8a=_0x1b2831[_0x3e6ba3];return _0xfb4d8a;}import{readConfig,writeConfig,scopeLabel}from'../../commands/app/shared.js';async function validateArgs(_0x42de5b){const _0x2a45c7=a24_0xfb4d,_0x320eea=_0x42de5b['args'][0x0]?.[_0x2a45c7(0x7a)]();if(!_0x320eea)throw CliErrors[_0x2a45c7(0x97)]('Missing\x20app\x20name.',_0x2a45c7(0x8b)+CLI_BIN_NAME+_0x2a45c7(0x94));}async function execute(_0x2fa918){const _0x2edc29=a24_0xfb4d,_0x4382e0=_0x2fa918[_0x2edc29(0x9a)][0x0]?.[_0x2edc29(0x7a)]();if(!_0x4382e0)throw CliErrors[_0x2edc29(0x97)](_0x2edc29(0x93),'Usage:\x20'+CLI_BIN_NAME+_0x2edc29(0x94));const _0x55ee18=_0x2fa918['bool']('global'),{config:_0x1f6446,layers:_0x508f94}=readRawConfigWithLayers(),_0x409338=_0x1f6446['apps']??{},_0xfc277b=_0x508f94[_0x2edc29(0x8d)][_0x2edc29(0x82)]&&typeof _0x508f94[_0x2edc29(0x8d)][_0x2edc29(0x82)]===_0x2edc29(0x78)?_0x508f94[_0x2edc29(0x8d)][_0x2edc29(0x82)]:{},_0x4c8595={..._0xfc277b,..._0x409338};if(!_0x4c8595[_0x4382e0]){const _0x207179=Object[_0x2edc29(0x98)](_0x4c8595),_0x3d43b7=_0x207179[_0x2edc29(0x87)]===0x0?_0x2edc29(0x80)+CLI_BIN_NAME+_0x2edc29(0x8f)+_0x4382e0+_0x2edc29(0x9b):'Available:\x20'+_0x207179[_0x2edc29(0x96)](',\x20');throw CliErrors[_0x2edc29(0x97)](_0x2edc29(0x7b)+_0x4382e0+_0x2edc29(0x81),_0x3d43b7);}let _0x25f440,_0x367cbc='';if(_0x55ee18)_0x25f440={'global':!![]};else{const _0x3e6ee3=isInProject()&&!!_0x508f94[_0x2edc29(0x8e)];_0x25f440={'global':!_0x3e6ee3};}const _0x383d40=readConfig(_0x25f440);_0x383d40['defaultApp']=_0x4382e0;if(!_0x25f440[_0x2edc29(0x90)]){const _0x52ab72=_0x383d40[_0x2edc29(0x82)]&&typeof _0x383d40[_0x2edc29(0x82)]===_0x2edc29(0x78)?_0x383d40[_0x2edc29(0x82)]:{};!Object[_0x2edc29(0xa0)][_0x2edc29(0x7c)][_0x2edc29(0x85)](_0x52ab72,_0x4382e0)&&(_0x383d40['apps']={..._0x52ab72,[_0x4382e0]:_0x4c8595[_0x4382e0]},_0x367cbc=_0x2edc29(0x84)+_0x4382e0+_0x2edc29(0xa2));}return writeConfig(_0x383d40,_0x25f440),{'ok':!![],'message':'Default\x20app\x20set\x20to\x20\x22'+_0x4382e0+_0x2edc29(0x8a)+_0x4c8595[_0x4382e0][_0x2edc29(0x9e)]+')'+scopeLabel(_0x25f440)+_0x367cbc};}export const appUseDefinition={'service':a24_0xb5f61a(0x86),'command':a24_0xb5f61a(0x79),'description':'Switch\x20the\x20default\x20app','risk':a24_0xb5f61a(0x8c),'requiresAuth':![],'requiresAppCode':![],'args':[{'name':a24_0xb5f61a(0x91),'description':'App\x20profile\x20name\x20to\x20activate','required':!![]}],'flags':[{'name':a24_0xb5f61a(0x90),'type':a24_0xb5f61a(0x92),'description':'Use\x20global\x20config\x20scope','default':![]}],'validate':validateArgs,'execute':execute};function a24_0x1b28(){const _0xdbd663=['4550LZNzHL','join','validation','keys','2059224NyAKpj','args','\x20--appcode\x20<code>`\x20first.','35OpoMwR','110dSoYXs','appcode','141234hnDUMR','prototype','3717724EXtXiI','\x22\x20was\x20defined\x20in\x20global\x20config;\x20profile\x20copied\x20into\x20project\x20so\x20the\x20project\x20config\x20self-resolves\x20under\x20the\x20default\x20project-first\x20inherit\x20policy.','object','use','trim','App\x20\x22','hasOwnProperty','20691CeHjYr','775222pMvWwM','8whIaFX','Use\x20`','\x22\x20not\x20found.','apps','3062184iXkoGT','\x0aNote:\x20\x22','call','app','length','110GhMezB','16988EbLXyM','\x22\x20(appcode:\x20','Usage:\x20','write','globalConfig','projectPath','\x20app\x20add\x20','global','name','boolean','Missing\x20app\x20name.','\x20app\x20use\x20<name>\x20[--global]'];a24_0x1b28=function(){return _0xdbd663;};return a24_0x1b28();}
@@ -1 +1 @@
1
- const a25_0x1ee404=a25_0x59c3;function a25_0x59c3(_0x22d3b6,_0x6d7037){_0x22d3b6=_0x22d3b6-0xf3;const _0x5963c2=a25_0x5963();let _0x59c39e=_0x5963c2[_0x22d3b6];return _0x59c39e;}(function(_0x4f0cca,_0xa65ab0){const _0xa54aa6=a25_0x59c3,_0xe9c9e9=_0x4f0cca();while(!![]){try{const _0x235c81=-parseInt(_0xa54aa6(0xfb))/0x1+parseInt(_0xa54aa6(0x102))/0x2*(parseInt(_0xa54aa6(0xf6))/0x3)+parseInt(_0xa54aa6(0x101))/0x4*(-parseInt(_0xa54aa6(0x106))/0x5)+parseInt(_0xa54aa6(0xf9))/0x6+parseInt(_0xa54aa6(0xf7))/0x7*(-parseInt(_0xa54aa6(0xf5))/0x8)+parseInt(_0xa54aa6(0xff))/0x9+parseInt(_0xa54aa6(0xfa))/0xa;if(_0x235c81===_0xa65ab0)break;else _0xe9c9e9['push'](_0xe9c9e9['shift']());}catch(_0x369ef4){_0xe9c9e9['push'](_0xe9c9e9['shift']());}}}(a25_0x5963,0xb026d));function a25_0x5963(){const _0xfffdf3=['nonInteractive','Clear\x20login\x20session','1782904ppgQZW','9jhNxAl','35WgYkGE','yes','7055796LteNBQ','897650kIZUnR','918902NOjmGR','Login\x20via\x20browser','write','logout','3406977GTgJJw','auth','4ISikcx','832534csBxRv','!\x20Not\x20logged\x20in','boolean','Skip\x20login\x20confirmation\x20and\x20start\x20browser\x20auth\x20immediately','691755GtDBIQ','../../auth/auth-server-ui.js'];a25_0x5963=function(){return _0xfffdf3;};return a25_0x5963();}import{unlinkSync,existsSync}from'node:fs';import{cookieFile}from'../../auth/constant.js';export const authDefinitions=[{'service':a25_0x1ee404(0x100),'command':'login','description':a25_0x1ee404(0xfc),'risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a25_0x1ee404(0xf8),'type':a25_0x1ee404(0x104),'description':a25_0x1ee404(0x105),'default':![]}],async 'execute'(_0x4e22d7){const _0xc15e2c=a25_0x1ee404,{runAuthServer:_0x4774f9}=await import(_0xc15e2c(0x107));return await _0x4774f9({'autoYes':_0x4e22d7['bool'](_0xc15e2c(0xf8)),'nonInteractive':_0x4e22d7[_0xc15e2c(0xf3)]}),{'ok':!![]};}},{'service':a25_0x1ee404(0x100),'command':a25_0x1ee404(0xfe),'description':a25_0x1ee404(0xf4),'risk':a25_0x1ee404(0xfd),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x257022){const _0x48e684=a25_0x1ee404;return existsSync(cookieFile)?(unlinkSync(cookieFile),console['log']('✓\x20Logged\x20out')):console['log'](_0x48e684(0x103)),{'ok':!![]};}}];
1
+ const a25_0xba213=a25_0x51a8;function a25_0x5da5(){const _0x173e77=['boolean','674700KURFvg','179199hLBEIe','✓\x20Logged\x20out','909955gGJnkr','logout','1422240FnDUdn','Clear\x20login\x20session','Skip\x20login\x20confirmation\x20and\x20start\x20browser\x20auth\x20immediately','log','yes','1159466QJvwAf','read','4053604NwViTq','bool','write','!\x20Not\x20logged\x20in','2hTIhEN','1575429pqQylP','../../auth/auth-server-ui.js','Login\x20via\x20browser','24nnEpgN','login'];a25_0x5da5=function(){return _0x173e77;};return a25_0x5da5();}(function(_0x42a083,_0x4ec2b1){const _0x531de8=a25_0x51a8,_0x290016=_0x42a083();while(!![]){try{const _0x31e61d=parseInt(_0x531de8(0x1c9))/0x1+parseInt(_0x531de8(0x1d6))/0x2*(parseInt(_0x531de8(0x1d7))/0x3)+-parseInt(_0x531de8(0x1d2))/0x4+parseInt(_0x531de8(0x1c6))/0x5+-parseInt(_0x531de8(0x1cb))/0x6+parseInt(_0x531de8(0x1d0))/0x7+parseInt(_0x531de8(0x1da))/0x8*(parseInt(_0x531de8(0x1c7))/0x9);if(_0x31e61d===_0x4ec2b1)break;else _0x290016['push'](_0x290016['shift']());}catch(_0x4e164f){_0x290016['push'](_0x290016['shift']());}}}(a25_0x5da5,0x850c8));import{unlinkSync,existsSync}from'node:fs';import{cookieFile}from'../../auth/constant.js';function a25_0x51a8(_0x2f9481,_0x549be5){_0x2f9481=_0x2f9481-0x1c6;const _0x5da5aa=a25_0x5da5();let _0x51a838=_0x5da5aa[_0x2f9481];return _0x51a838;}export const authDefinitions=[{'service':'auth','command':a25_0xba213(0x1db),'description':a25_0xba213(0x1d9),'risk':a25_0xba213(0x1d1),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a25_0xba213(0x1cf),'type':a25_0xba213(0x1dc),'description':a25_0xba213(0x1cd),'default':![]}],async 'execute'(_0x183437){const _0x58f78d=a25_0xba213,{runAuthServer:_0x2d9a03}=await import(_0x58f78d(0x1d8));return await _0x2d9a03({'autoYes':_0x183437[_0x58f78d(0x1d3)](_0x58f78d(0x1cf)),'nonInteractive':_0x183437['nonInteractive']}),{'ok':!![]};}},{'service':'auth','command':a25_0xba213(0x1ca),'description':a25_0xba213(0x1cc),'risk':a25_0xba213(0x1d4),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x375f1e){const _0x394a9c=a25_0xba213;return existsSync(cookieFile)?(unlinkSync(cookieFile),console[_0x394a9c(0x1ce)](_0x394a9c(0x1c8))):console['log'](_0x394a9c(0x1d5)),{'ok':!![]};}}];
@@ -1 +1 @@
1
- const a26_0x7341ee=a26_0x530a;(function(_0x41e87d,_0x1e849b){const _0x569cf5=a26_0x530a,_0x296e43=_0x41e87d();while(!![]){try{const _0x16f57f=-parseInt(_0x569cf5(0x14a))/0x1+-parseInt(_0x569cf5(0x15b))/0x2*(-parseInt(_0x569cf5(0x191))/0x3)+parseInt(_0x569cf5(0x17f))/0x4*(parseInt(_0x569cf5(0x143))/0x5)+parseInt(_0x569cf5(0x16d))/0x6*(-parseInt(_0x569cf5(0x151))/0x7)+parseInt(_0x569cf5(0x14b))/0x8+parseInt(_0x569cf5(0x15c))/0x9+-parseInt(_0x569cf5(0x17a))/0xa*(parseInt(_0x569cf5(0x183))/0xb);if(_0x16f57f===_0x1e849b)break;else _0x296e43['push'](_0x296e43['shift']());}catch(_0x3fe52a){_0x296e43['push'](_0x296e43['shift']());}}}(a26_0x50ed,0x1bb5c));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';import{isValidBffFunctionName,normalizeHookFunctionNode}from'../../core/bff/utils.js';function a26_0x50ed(){const _0x31a31b=['No\x20DB\x20table\x20datasets\x20found\x20for\x20this\x20app.\x20METADATA\x20datasets\x20cannot\x20be\x20used\x20for\x20BFF\x20HOOK\x20development\x20because\x20the\x20workflow\x20depends\x20on\x20SQL\x20execution.','COMMON','6HQoVAQ','HOOK\x20requires\x20alias/operation/node\x20options.','ENDPOINT','bff','\x0a\x20*\x20[接口路径]\x20POST\x20/api/','nonInteractive','operation-type','description','find','isInteger','HOOK\x20requires\x20hookOptions\x20for\x20template\x20generation.','\x20api\x20pull`\x20to\x20refresh.','datasetcode','568360ZipmBS','The\x20api.ts\x20may\x20be\x20stale\x20—\x20run\x20`','File\x20already\x20exists:\x20','/**\x0a\x20*\x20COMMON\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','Trigger\x20node\x20(HOOK\x20only)','240028tfHZSq','Operation\x20type\x20\x22','before','validation','11SkkhJs','Select\x20operation\x20type:','after','.js','map','--function-node\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','string','scriptsRootDir','(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a','Invalid\x20dataset\x20selection.','\x20\x20Enter\x20a\x20number\x20between\x201\x20and\x20','write','Available:\x20','--function-node\x20must\x20be\x20\x27before\x27\x20or\x20\x27after\x27.','3czQqoG','alias','BFF\x20HOOK','10VwlTwA','Dataset\x20not\x20found\x20for\x20code\x20\x22','name','No\x20api.ts\x20found.\x20Run\x20`','stderr','datasetCode','close','203908wBFfEb','1611120LTocCl','.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','\x22\x20not\x20found\x20for\x20dataset\x20','\x22.\x20','\x20function:\x20','apiDir','153671CYoFhk','appCode','\x0a\x20*\x20[接口路径]\x20POST\x20/api/endpoint/{appCode}/{scriptName}\x0a\x20*\x20[当前示例]\x20POST\x20/api/endpoint/','\x22\x20not\x20found.\x20','Select\x20trigger\x20node:','includes','\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','/**\x0a\x20*\x20HOOK\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','functionNode','utf8','15110SFXrvN','605142Mbraqt','str','Script\x20type','TODO:\x20add\x20script\x20description','keys','function-node','HOOK','type','code','\x0a\x20*\x20[脚本名称]\x20','Function\x20name\x20(valid\x20JS\x20identifier)','length','trim','operationType','create'];a26_0x50ed=function(){return _0x31a31b;};return a26_0x50ed();}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_0x7341ee(0x170),'command':a26_0x7341ee(0x16a),'description':'Scaffold\x20a\x20new\x20BFF\x20function\x20from\x20template','risk':a26_0x7341ee(0x18e),'flags':[{'name':'type','type':'string','required':!![],'enum':[a26_0x7341ee(0x16c),a26_0x7341ee(0x16f),a26_0x7341ee(0x162)],'description':a26_0x7341ee(0x15e)},{'name':a26_0x7341ee(0x145),'type':a26_0x7341ee(0x189),'required':!![],'description':a26_0x7341ee(0x166)},{'name':a26_0x7341ee(0x174),'type':a26_0x7341ee(0x189),'description':'Script\x20description'},{'name':'alias','type':a26_0x7341ee(0x189),'description':'Dataset\x20alias\x20from\x20api.ts\x20(HOOK\x20only,\x20preferred)'},{'name':'datasetcode','type':a26_0x7341ee(0x189),'description':'Dataset\x20code\x20(HOOK\x20only,\x20fallback\x20when\x20alias\x20unavailable)'},{'name':a26_0x7341ee(0x173),'type':a26_0x7341ee(0x189),'description':'Operation\x20type\x20(HOOK\x20only)'},{'name':a26_0x7341ee(0x161),'type':a26_0x7341ee(0x189),'description':a26_0x7341ee(0x17e),'enum':['before','after']}],async 'validate'(_0x2ff9e2){const _0x46e80b=a26_0x7341ee,_0xa213f3=_0x2ff9e2[_0x46e80b(0x15d)](_0x46e80b(0x145));if(!isValidBffFunctionName(_0xa213f3))throw CliErrors[_0x46e80b(0x182)]('Invalid\x20function\x20name\x20\x22'+_0xa213f3+'\x22.\x20Must\x20be\x20a\x20valid\x20JS\x20identifier\x20(e.g.\x20createOrder,\x20beforeFilter).');},async 'execute'(_0x474dde){const _0x3016db=a26_0x7341ee,_0x50629f=loadBffProjectConfig(_0x474dde[_0x3016db(0x152)]),_0x48eace=_0x474dde[_0x3016db(0x15d)](_0x3016db(0x163)),_0x8e3ba9=_0x474dde[_0x3016db(0x15d)](_0x3016db(0x145)),_0x13ad39=_0x474dde[_0x3016db(0x15d)]('description')||undefined,_0x440843=_0x48eace===_0x3016db(0x162)?await resolveHookOptions(_0x50629f,_0x474dde):undefined,_0x5be9f8=buildFilePath(_0x50629f,_0x48eace,_0x8e3ba9,_0x440843);if(await fileExists(_0x5be9f8))throw CliErrors[_0x3016db(0x182)](_0x3016db(0x17c)+_0x5be9f8);await mkdir(dirname(_0x5be9f8),{'recursive':!![]});const _0x2b10bd=generateTemplate(_0x48eace,_0x8e3ba9,_0x474dde[_0x3016db(0x152)],_0x13ad39,_0x440843);await writeFile(_0x5be9f8,_0x2b10bd,_0x3016db(0x15a));const _0x3cd0af={'type':_0x48eace,'name':_0x8e3ba9,'path':_0x5be9f8};if(_0x13ad39)_0x3cd0af[_0x3016db(0x174)]=_0x13ad39;if(_0x440843){if(_0x440843[_0x3016db(0x192)])_0x3cd0af['alias']=_0x440843[_0x3016db(0x192)];_0x3cd0af[_0x3016db(0x148)]=_0x440843[_0x3016db(0x148)],_0x3cd0af[_0x3016db(0x169)]=_0x440843['operationType'],_0x3cd0af[_0x3016db(0x159)]=_0x440843[_0x3016db(0x159)];}return{'ok':!![],'data':_0x3cd0af,'message':'Created\x20'+_0x48eace+_0x3016db(0x14f)+_0x8e3ba9};}};function a26_0x530a(_0x45d6cb,_0x3b5cd6){_0x45d6cb=_0x45d6cb-0x143;const _0x50ed0a=a26_0x50ed();let _0x530a18=_0x50ed0a[_0x45d6cb];return _0x530a18;}async function resolveHookOptions(_0x597511,_0x35683d){const _0x5def5f=a26_0x7341ee,_0x1cb5ba=loadAliasMap(_0x35683d[_0x5def5f(0x150)],undefined,resolveApiFilePath(_0x35683d[_0x5def5f(0x150)],_0x35683d[_0x5def5f(0x152)])),_0x36c93f=_0x1cb5ba['length']>0x0;let _0xdb8d53,_0x1e360e,_0x57d337;const _0x5c8f35=_0x35683d['str'](_0x5def5f(0x192)),_0x31fb6a=_0x35683d[_0x5def5f(0x15d)](_0x5def5f(0x179));if(_0x5c8f35){const _0x4f6f8e=resolveAlias(_0x35683d[_0x5def5f(0x150)],_0x5c8f35,undefined,resolveApiFilePath(_0x35683d[_0x5def5f(0x150)],_0x35683d[_0x5def5f(0x152)]));if(!_0x4f6f8e){const _0x130b5b=_0x36c93f?'Available\x20aliases:\x20'+_0x1cb5ba[_0x5def5f(0x187)](_0x327a97=>_0x327a97[_0x5def5f(0x192)])['join'](',\x20'):_0x5def5f(0x146)+CLI_BIN_NAME+'\x20api\x20pull`\x20first,\x20or\x20use\x20--datasetcode\x20instead.';throw CliErrors[_0x5def5f(0x182)]('Alias\x20\x22'+_0x5c8f35+_0x5def5f(0x154)+_0x130b5b);}_0xdb8d53=_0x5c8f35,_0x1e360e=_0x4f6f8e;}else{if(_0x31fb6a){_0x1e360e=_0x31fb6a;const _0x2cf323=_0x1cb5ba[_0x5def5f(0x175)](_0x456187=>_0x456187['datasetCode']===_0x31fb6a);_0xdb8d53=_0x2cf323?.[_0x5def5f(0x192)];}else{if(_0x35683d['nonInteractive'])throw CliErrors[_0x5def5f(0x182)]('--alias\x20or\x20--datasetcode\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.');else{if(_0x36c93f){const _0x1c0ec1=_0x1cb5ba['map'](_0x52af3a=>_0x52af3a[_0x5def5f(0x192)]+'\x20('+_0x52af3a['tableName']+')'),_0x396943=await promptSelect('Select\x20dataset:',_0x1c0ec1),_0x31add2=_0x1cb5ba[_0x396943];if(!_0x31add2)throw CliErrors[_0x5def5f(0x182)](_0x5def5f(0x18c));_0xdb8d53=_0x31add2['alias'],_0x1e360e=_0x31add2[_0x5def5f(0x148)];}else{const _0x18a8c8=await listDatasets(_0x35683d[_0x5def5f(0x152)]),_0x1c46ba=filterDbBackedDatasets(_0x18a8c8);if(_0x1c46ba[_0x5def5f(0x167)]===0x0)throw CliErrors['validation'](_0x18a8c8['length']===0x0?'No\x20datasets\x20found\x20for\x20this\x20app.':_0x5def5f(0x16b));const _0x418a29=_0x1c46ba['map'](_0x332974=>_0x332974[_0x5def5f(0x145)]+'\x20('+_0x332974[_0x5def5f(0x164)]+')'),_0x2db561=await promptSelect('Select\x20dataset:',_0x418a29),_0x2551c5=_0x1c46ba[_0x2db561];if(!_0x2551c5)throw CliErrors['validation']('Invalid\x20dataset\x20selection.');_0x1e360e=_0x2551c5[_0x5def5f(0x164)],_0xdb8d53=undefined;}}}}const _0x186d47=await listDatasets(_0x35683d[_0x5def5f(0x152)]),_0x14bac8=_0x186d47[_0x5def5f(0x175)](_0x107b9d=>_0x107b9d['code']===_0x1e360e);if(!_0x14bac8)throw CliErrors[_0x5def5f(0x182)](_0x5def5f(0x144)+_0x1e360e+_0x5def5f(0x14e)+(_0xdb8d53?_0x5def5f(0x17b)+CLI_BIN_NAME+_0x5def5f(0x178):''));assertDatasetSupportsLocalDevelopment(_0x14bac8,_0x5def5f(0x193)),_0x57d337=_0x14bac8['id'];const _0x50f177=_0xdb8d53??_0x1e360e,_0x2190a9=await listBffDatasetOperations(_0x35683d['appCode'],_0x57d337),_0x1333d6=_0x2190a9?Object[_0x5def5f(0x160)](_0x2190a9):[];if(_0x1333d6['length']===0x0)throw CliErrors['validation']('No\x20operation\x20types\x20found\x20for\x20dataset\x20'+_0x50f177+'.');let _0x20b1fc;const _0x425bd4=_0x35683d[_0x5def5f(0x15d)](_0x5def5f(0x173));if(_0x425bd4){if(!_0x1333d6[_0x5def5f(0x156)](_0x425bd4))throw CliErrors[_0x5def5f(0x182)](_0x5def5f(0x180)+_0x425bd4+_0x5def5f(0x14d)+_0x50f177+'.\x20'+(_0x5def5f(0x18f)+_0x1333d6['join'](',\x20')));_0x20b1fc=_0x425bd4;}else{if(_0x35683d[_0x5def5f(0x172)])throw CliErrors[_0x5def5f(0x182)]('--operation-type\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.');const _0x5d04dd=await promptSelect(_0x5def5f(0x184),_0x1333d6);_0x20b1fc=_0x1333d6[_0x5d04dd]??_0x1333d6[0x0];}let _0x5f4b24=normalizeHookFunctionNode(_0x35683d[_0x5def5f(0x15d)](_0x5def5f(0x161)));if(!_0x5f4b24){if(_0x35683d[_0x5def5f(0x15d)](_0x5def5f(0x161)))throw CliErrors[_0x5def5f(0x182)](_0x5def5f(0x190));if(_0x35683d[_0x5def5f(0x172)])throw CliErrors[_0x5def5f(0x182)](_0x5def5f(0x188));const _0x265bb3=await promptSelect(_0x5def5f(0x155),[_0x5def5f(0x181),_0x5def5f(0x185)]);_0x5f4b24=['before',_0x5def5f(0x185)][_0x265bb3]??'before';}return{'alias':_0xdb8d53,'datasetCode':_0x1e360e,'datasetId':_0x57d337,'operationType':_0x20b1fc,'functionNode':_0x5f4b24};}async function promptSelect(_0x31bd85,_0x326a9d){const _0x1de6ea=a26_0x7341ee;if(_0x326a9d[_0x1de6ea(0x167)]===0x1)return 0x0;for(const [_0x15795e,_0xad6f32]of _0x326a9d['entries']()){process[_0x1de6ea(0x147)][_0x1de6ea(0x18e)]('\x20\x20'+(_0x15795e+0x1)+'.\x20'+_0xad6f32+'\x0a');}const _0x141584=createInterface({'input':process['stdin'],'output':process[_0x1de6ea(0x147)]});while(!![]){const _0x41cec3=await new Promise(_0x207b41=>{_0x141584['question'](_0x31bd85+'\x20',_0x207b41);}),_0xc89bf7=Number['parseInt'](_0x41cec3[_0x1de6ea(0x168)](),0xa);if(Number[_0x1de6ea(0x176)](_0xc89bf7)&&_0xc89bf7>=0x1&&_0xc89bf7<=_0x326a9d[_0x1de6ea(0x167)])return _0x141584[_0x1de6ea(0x149)](),_0xc89bf7-0x1;process[_0x1de6ea(0x147)][_0x1de6ea(0x18e)](_0x1de6ea(0x18d)+_0x326a9d[_0x1de6ea(0x167)]+'.\x0a');}}function buildFilePath(_0x4b7abb,_0x1d0806,_0x4ab7c4,_0x260582){const _0x28b293=a26_0x7341ee;if(_0x1d0806===_0x28b293(0x162)){if(!_0x260582)throw CliErrors['validation'](_0x28b293(0x16e));const _0x3498a8=_0x260582[_0x28b293(0x192)]??_0x260582[_0x28b293(0x148)];return join(_0x4b7abb[_0x28b293(0x18a)],_0x28b293(0x162),_0x3498a8,_0x260582[_0x28b293(0x169)],_0x260582[_0x28b293(0x159)],_0x4ab7c4+_0x28b293(0x186));}return join(_0x4b7abb[_0x28b293(0x18a)],_0x1d0806,_0x4ab7c4+'.js');}export function generateTemplate(_0x35f905,_0x3c3523,_0x27997d,_0x58e021,_0x57cd32){const _0x5ada5d=a26_0x7341ee,_0x3721aa=_0x58e021?.[_0x5ada5d(0x168)]()||_0x5ada5d(0x15f);if(_0x35f905===_0x5ada5d(0x16c))return _0x5ada5d(0x17d)+_0x3721aa+_0x5ada5d(0x165)+_0x3c3523+'\x0a\x20*\x20[脚本类型]\x20COMMON\x0a\x20*\x20[本地路径]\x20.rabetbase/bff/COMMON/'+_0x3c3523+_0x5ada5d(0x14c)+_0x3c3523+_0x5ada5d(0x18b);if(_0x35f905===_0x5ada5d(0x16f))return'/**\x0a\x20*\x20ENDPOINT\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20'+_0x3721aa+_0x5ada5d(0x153)+_0x27997d+'/'+_0x3c3523+_0x5ada5d(0x157)+_0x3c3523+_0x5ada5d(0x18b);if(!_0x57cd32)throw CliErrors[_0x5ada5d(0x182)](_0x5ada5d(0x177));return _0x5ada5d(0x158)+_0x3721aa+_0x5ada5d(0x171)+_0x27997d+'/'+_0x57cd32['datasetCode']+'/'+_0x57cd32[_0x5ada5d(0x169)]+'\x0a\x20*\x20[触发节点]\x20'+_0x57cd32[_0x5ada5d(0x159)]+'\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'+_0x3c3523+_0x5ada5d(0x18b);}
1
+ const a26_0x2a7b98=a26_0x3f0d;(function(_0x215ad8,_0x1bf797){const _0x5d982f=a26_0x3f0d,_0x31d0cf=_0x215ad8();while(!![]){try{const _0x328c68=-parseInt(_0x5d982f(0x1a5))/0x1*(-parseInt(_0x5d982f(0x1c5))/0x2)+-parseInt(_0x5d982f(0x1c9))/0x3*(-parseInt(_0x5d982f(0x1d9))/0x4)+-parseInt(_0x5d982f(0x1a7))/0x5*(parseInt(_0x5d982f(0x18d))/0x6)+parseInt(_0x5d982f(0x1be))/0x7+parseInt(_0x5d982f(0x1b2))/0x8+-parseInt(_0x5d982f(0x1bc))/0x9+parseInt(_0x5d982f(0x1c8))/0xa;if(_0x328c68===_0x1bf797)break;else _0x31d0cf['push'](_0x31d0cf['shift']());}catch(_0x4f9ad3){_0x31d0cf['push'](_0x31d0cf['shift']());}}}(a26_0x5443,0x9c4d6));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_0x3f0d(_0x430990,_0x700c4){_0x430990=_0x430990-0x187;const _0x5443bf=a26_0x5443();let _0x3f0de4=_0x5443bf[_0x430990];return _0x3f0de4;}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_0x2a7b98(0x1d5),'command':a26_0x2a7b98(0x1a6),'description':'Scaffold\x20a\x20new\x20BFF\x20function\x20from\x20template','risk':'write','flags':[{'name':a26_0x2a7b98(0x1cf),'type':a26_0x2a7b98(0x187),'required':!![],'enum':['COMMON',a26_0x2a7b98(0x1d7),a26_0x2a7b98(0x1c3)],'description':'Script\x20type'},{'name':'name','type':'string','required':!![],'description':'Function\x20name\x20(valid\x20JS\x20identifier)'},{'name':a26_0x2a7b98(0x196),'type':a26_0x2a7b98(0x187),'description':a26_0x2a7b98(0x1ab)},{'name':a26_0x2a7b98(0x1e0),'type':'string','description':a26_0x2a7b98(0x189)},{'name':'datasetcode','type':a26_0x2a7b98(0x187),'description':'Dataset\x20code\x20(HOOK\x20only,\x20fallback\x20when\x20alias\x20unavailable)'},{'name':a26_0x2a7b98(0x1b5),'type':a26_0x2a7b98(0x187),'description':a26_0x2a7b98(0x1d6)},{'name':a26_0x2a7b98(0x19a),'type':'string','description':a26_0x2a7b98(0x1ae),'enum':['before',a26_0x2a7b98(0x1b1)]}],async 'validate'(_0x2efdd6){const _0x2bfce2=a26_0x2a7b98,_0x5486df=_0x2efdd6['str'](_0x2bfce2(0x193));if(!isValidBffFunctionName(_0x5486df))throw CliErrors[_0x2bfce2(0x1c2)](_0x2bfce2(0x198)+_0x5486df+_0x2bfce2(0x190));},async 'execute'(_0x522b9b){const _0x2b5399=a26_0x2a7b98,_0xc34438=loadBffProjectConfig(_0x522b9b[_0x2b5399(0x18c)]),_0x137e85=_0x522b9b[_0x2b5399(0x1b3)](_0x2b5399(0x1cf)),_0x5fb29e=_0x522b9b['str']('name'),_0x579607=_0x522b9b['str'](_0x2b5399(0x196))||undefined,_0x36a75b=_0x137e85===_0x2b5399(0x1c3)?await resolveHookOptions(_0xc34438,_0x522b9b):undefined,_0x1a3be9=buildFilePath(_0xc34438,_0x137e85,_0x5fb29e,_0x36a75b);if(await fileExists(_0x1a3be9))throw CliErrors['validation'](_0x2b5399(0x1d4)+_0x1a3be9);await mkdir(dirname(_0x1a3be9),{'recursive':!![]});const _0xc8eee5=generateTemplate(_0x137e85,_0x5fb29e,_0x522b9b['appCode'],_0x579607,_0x36a75b);await writeFile(_0x1a3be9,_0xc8eee5,_0x2b5399(0x18f));const _0x326504={'type':_0x137e85,'name':_0x5fb29e,'path':_0x1a3be9};if(_0x579607)_0x326504['description']=_0x579607;if(_0x36a75b){if(_0x36a75b['alias'])_0x326504['alias']=_0x36a75b[_0x2b5399(0x1e0)];_0x326504['datasetCode']=_0x36a75b[_0x2b5399(0x1c0)],_0x326504[_0x2b5399(0x1da)]=_0x36a75b['operationType'],_0x326504[_0x2b5399(0x1a4)]=_0x36a75b[_0x2b5399(0x1a4)];}return{'ok':!![],'data':_0x326504,'message':_0x2b5399(0x1d3)+_0x137e85+_0x2b5399(0x1e2)+_0x5fb29e};}};async function resolveHookOptions(_0x18caf8,_0x1e8d90){const _0x4d3818=a26_0x2a7b98,_0x1ce3ce=loadAliasMap(_0x1e8d90['apiDir'],undefined,resolveApiFilePath(_0x1e8d90['apiDir'],_0x1e8d90[_0x4d3818(0x18c)])),_0x3eb5b5=_0x1ce3ce['length']>0x0;let _0x4fe4e6,_0x3c5dbe,_0x4ac8f7;const _0x2572d6=_0x1e8d90[_0x4d3818(0x1b3)](_0x4d3818(0x1e0)),_0x3157c2=_0x1e8d90[_0x4d3818(0x1b3)](_0x4d3818(0x1c1));if(_0x2572d6){const _0x22f3f8=resolveAlias(_0x1e8d90[_0x4d3818(0x1a8)],_0x2572d6,undefined,resolveApiFilePath(_0x1e8d90[_0x4d3818(0x1a8)],_0x1e8d90[_0x4d3818(0x18c)]));if(!_0x22f3f8){const _0x60cfd9=_0x3eb5b5?_0x4d3818(0x1c7)+_0x1ce3ce[_0x4d3818(0x1dc)](_0x1c41ed=>_0x1c41ed[_0x4d3818(0x1e0)])[_0x4d3818(0x1d8)](',\x20'):_0x4d3818(0x1a9)+CLI_BIN_NAME+_0x4d3818(0x1de);throw CliErrors[_0x4d3818(0x1c2)](_0x4d3818(0x1a2)+_0x2572d6+_0x4d3818(0x19d)+_0x60cfd9);}_0x4fe4e6=_0x2572d6,_0x3c5dbe=_0x22f3f8;}else{if(_0x3157c2){_0x3c5dbe=_0x3157c2;const _0x36d06e=_0x1ce3ce[_0x4d3818(0x194)](_0x2e8ef7=>_0x2e8ef7[_0x4d3818(0x1c0)]===_0x3157c2);_0x4fe4e6=_0x36d06e?.[_0x4d3818(0x1e0)];}else{if(_0x1e8d90[_0x4d3818(0x1e3)])throw CliErrors[_0x4d3818(0x1c2)](_0x4d3818(0x18e));else{if(_0x3eb5b5){const _0x3fbbac=_0x1ce3ce[_0x4d3818(0x1dc)](_0x208341=>_0x208341['alias']+'\x20('+_0x208341[_0x4d3818(0x1d0)]+')'),_0x5651d1=await promptSelect(_0x4d3818(0x1cb),_0x3fbbac),_0x89988d=_0x1ce3ce[_0x5651d1];if(!_0x89988d)throw CliErrors[_0x4d3818(0x1c2)](_0x4d3818(0x1a1));_0x4fe4e6=_0x89988d['alias'],_0x3c5dbe=_0x89988d[_0x4d3818(0x1c0)];}else{const _0x158abf=await listDatasets(_0x1e8d90[_0x4d3818(0x18c)]),_0x22d098=filterDbBackedDatasets(_0x158abf);if(_0x22d098['length']===0x0)throw CliErrors[_0x4d3818(0x1c2)](_0x158abf['length']===0x0?'No\x20datasets\x20found\x20for\x20this\x20app.':_0x4d3818(0x191));const _0x307a4d=_0x22d098[_0x4d3818(0x1dc)](_0x1babd6=>_0x1babd6['name']+'\x20('+_0x1babd6[_0x4d3818(0x1db)]+')'),_0x3a8d3b=await promptSelect(_0x4d3818(0x1cb),_0x307a4d),_0xe2c0cf=_0x22d098[_0x3a8d3b];if(!_0xe2c0cf)throw CliErrors[_0x4d3818(0x1c2)](_0x4d3818(0x1a1));_0x3c5dbe=_0xe2c0cf[_0x4d3818(0x1db)],_0x4fe4e6=undefined;}}}}const _0x1634e1=await listDatasets(_0x1e8d90[_0x4d3818(0x18c)]),_0x155973=_0x1634e1[_0x4d3818(0x194)](_0x1e651e=>_0x1e651e[_0x4d3818(0x1db)]===_0x3c5dbe);if(!_0x155973)throw CliErrors[_0x4d3818(0x1c2)](_0x4d3818(0x1d1)+_0x3c5dbe+_0x4d3818(0x1ce)+(_0x4fe4e6?_0x4d3818(0x1af)+CLI_BIN_NAME+'\x20api\x20pull`\x20to\x20refresh.':''));assertDatasetSupportsLocalDevelopment(_0x155973,'BFF\x20HOOK'),_0x4ac8f7=_0x155973['id'];const _0x33599a=_0x4fe4e6??_0x3c5dbe,_0x1a25cd=await listBffDatasetOperations(_0x1e8d90[_0x4d3818(0x18c)],_0x4ac8f7),_0x30e967=_0x1a25cd?Object[_0x4d3818(0x1b8)](_0x1a25cd):[];if(_0x30e967[_0x4d3818(0x1ca)]===0x0)throw CliErrors['validation'](_0x4d3818(0x1b4)+_0x33599a+'.');let _0x5f5a7c;const _0x31eca3=_0x1e8d90['str'](_0x4d3818(0x1b5));if(_0x31eca3){if(!_0x30e967[_0x4d3818(0x1a0)](_0x31eca3))throw CliErrors[_0x4d3818(0x1c2)](_0x4d3818(0x1c6)+_0x31eca3+_0x4d3818(0x1b7)+_0x33599a+'.\x20'+(_0x4d3818(0x188)+_0x30e967['join'](',\x20')));_0x5f5a7c=_0x31eca3;}else{if(_0x1e8d90[_0x4d3818(0x1e3)])throw CliErrors[_0x4d3818(0x1c2)](_0x4d3818(0x1ad));const _0x1daad0=await promptSelect(_0x4d3818(0x19e),_0x30e967);_0x5f5a7c=_0x30e967[_0x1daad0]??_0x30e967[0x0];}let _0x542d2f=normalizeHookFunctionNode(_0x1e8d90[_0x4d3818(0x1b3)]('function-node'));if(!_0x542d2f){if(_0x1e8d90[_0x4d3818(0x1b3)](_0x4d3818(0x19a)))throw CliErrors[_0x4d3818(0x1c2)](_0x4d3818(0x1bd));if(_0x1e8d90[_0x4d3818(0x1e3)])throw CliErrors['validation'](_0x4d3818(0x19f));const _0x1624d=await promptSelect(_0x4d3818(0x1b9),['before','after']);_0x542d2f=[_0x4d3818(0x1b6),_0x4d3818(0x1b1)][_0x1624d]??_0x4d3818(0x1b6);}return{'alias':_0x4fe4e6,'datasetCode':_0x3c5dbe,'datasetId':_0x4ac8f7,'operationType':_0x5f5a7c,'functionNode':_0x542d2f};}function a26_0x5443(){const _0x4d03bf=['File\x20already\x20exists:\x20','bff','Operation\x20type\x20(HOOK\x20only)','ENDPOINT','join','17192LIYSXn','operationType','code','map','/**\x0a\x20*\x20ENDPOINT\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','\x20api\x20pull`\x20first,\x20or\x20use\x20--datasetcode\x20instead.','question','alias','isInteger','\x20function:\x20','nonInteractive','string','Available:\x20','Dataset\x20alias\x20from\x20api.ts\x20(HOOK\x20only,\x20preferred)','.js','scriptsRootDir','appCode','2200038tOXPao','--alias\x20or\x20--datasetcode\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','utf8','\x22.\x20Must\x20be\x20a\x20valid\x20JS\x20identifier\x20(e.g.\x20createOrder,\x20beforeFilter).','No\x20DB\x20table\x20datasets\x20found\x20for\x20this\x20app.\x20METADATA\x20datasets\x20cannot\x20be\x20used\x20for\x20BFF\x20HOOK\x20development\x20because\x20the\x20workflow\x20depends\x20on\x20SQL\x20execution.','write','name','find','/**\x0a\x20*\x20COMMON\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','description','stdin','Invalid\x20function\x20name\x20\x22','.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','function-node','close','stderr','\x22\x20not\x20found.\x20','Select\x20operation\x20type:','--function-node\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','includes','Invalid\x20dataset\x20selection.','Alias\x20\x22','HOOK\x20requires\x20hookOptions\x20for\x20template\x20generation.','functionNode','185pOINEb','create','15LVwvAr','apiDir','No\x20api.ts\x20found.\x20Run\x20`','\x0a\x20*\x20[脚本类型]\x20COMMON\x0a\x20*\x20[本地路径]\x20.rabetbase/bff/COMMON/','Script\x20description','\x0a\x20*\x20[触发节点]\x20','--operation-type\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','Trigger\x20node\x20(HOOK\x20only)','The\x20api.ts\x20may\x20be\x20stale\x20—\x20run\x20`','parseInt','after','6864840hvPbAK','str','No\x20operation\x20types\x20found\x20for\x20dataset\x20','operation-type','before','\x22\x20not\x20found\x20for\x20dataset\x20','keys','Select\x20trigger\x20node:','trim','TODO:\x20add\x20script\x20description','9545805XOOVIo','--function-node\x20must\x20be\x20\x27before\x27\x20or\x20\x27after\x27.','658812yUwfzc','COMMON','datasetCode','datasetcode','validation','HOOK','\x0a\x20*\x20[接口路径]\x20POST\x20/api/endpoint/{appCode}/{scriptName}\x0a\x20*\x20[当前示例]\x20POST\x20/api/endpoint/','5718hpqHCX','Operation\x20type\x20\x22','Available\x20aliases:\x20','5504000ojBBmU','537iyAFLj','length','Select\x20dataset:','\x0a\x20*\x20[接口路径]\x20POST\x20/api/','(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a','\x22.\x20','type','tableName','Dataset\x20not\x20found\x20for\x20code\x20\x22','\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','Created\x20'];a26_0x5443=function(){return _0x4d03bf;};return a26_0x5443();}async function promptSelect(_0x579a0a,_0x2ac526){const _0x1568c9=a26_0x2a7b98;if(_0x2ac526[_0x1568c9(0x1ca)]===0x1)return 0x0;for(const [_0x1f704b,_0x4f0507]of _0x2ac526['entries']()){process[_0x1568c9(0x19c)][_0x1568c9(0x192)]('\x20\x20'+(_0x1f704b+0x1)+'.\x20'+_0x4f0507+'\x0a');}const _0x104397=createInterface({'input':process[_0x1568c9(0x197)],'output':process['stderr']});while(!![]){const _0x99e1eb=await new Promise(_0xc5141b=>{const _0x24ec8c=_0x1568c9;_0x104397[_0x24ec8c(0x1df)](_0x579a0a+'\x20',_0xc5141b);}),_0x13e45c=Number[_0x1568c9(0x1b0)](_0x99e1eb[_0x1568c9(0x1ba)](),0xa);if(Number[_0x1568c9(0x1e1)](_0x13e45c)&&_0x13e45c>=0x1&&_0x13e45c<=_0x2ac526[_0x1568c9(0x1ca)])return _0x104397[_0x1568c9(0x19b)](),_0x13e45c-0x1;process[_0x1568c9(0x19c)]['write']('\x20\x20Enter\x20a\x20number\x20between\x201\x20and\x20'+_0x2ac526['length']+'.\x0a');}}function buildFilePath(_0x4df942,_0x24a559,_0x2b438e,_0x493e38){const _0x37f37c=a26_0x2a7b98;if(_0x24a559===_0x37f37c(0x1c3)){if(!_0x493e38)throw CliErrors['validation']('HOOK\x20requires\x20alias/operation/node\x20options.');const _0x4fcca2=_0x493e38[_0x37f37c(0x1e0)]??_0x493e38[_0x37f37c(0x1c0)];return join(_0x4df942[_0x37f37c(0x18b)],_0x37f37c(0x1c3),_0x4fcca2,_0x493e38[_0x37f37c(0x1da)],_0x493e38[_0x37f37c(0x1a4)],_0x2b438e+'.js');}return join(_0x4df942[_0x37f37c(0x18b)],_0x24a559,_0x2b438e+_0x37f37c(0x18a));}export function generateTemplate(_0x44beb0,_0x454921,_0x5449c3,_0x4bb843,_0x2f4d43){const _0x286305=a26_0x2a7b98,_0x4e8b91=_0x4bb843?.[_0x286305(0x1ba)]()||_0x286305(0x1bb);if(_0x44beb0===_0x286305(0x1bf))return _0x286305(0x195)+_0x4e8b91+'\x0a\x20*\x20[脚本名称]\x20'+_0x454921+_0x286305(0x1aa)+_0x454921+_0x286305(0x199)+_0x454921+_0x286305(0x1cd);if(_0x44beb0===_0x286305(0x1d7))return _0x286305(0x1dd)+_0x4e8b91+_0x286305(0x1c4)+_0x5449c3+'/'+_0x454921+'\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'+_0x454921+_0x286305(0x1cd);if(!_0x2f4d43)throw CliErrors[_0x286305(0x1c2)](_0x286305(0x1a3));return'/**\x0a\x20*\x20HOOK\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20'+_0x4e8b91+_0x286305(0x1cc)+_0x5449c3+'/'+_0x2f4d43[_0x286305(0x1c0)]+'/'+_0x2f4d43[_0x286305(0x1da)]+_0x286305(0x1ac)+_0x2f4d43[_0x286305(0x1a4)]+_0x286305(0x1d2)+_0x454921+'(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a';}
@@ -1 +1 @@
1
- function a27_0x3390(){const _0x4d9742=['Lock\x20scope\x20for\x20app\x20\x22','remoteId','str','startsWith','toISOString','Multiple\x20functions\x20match\x20\x22','trashDir','\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20trash','trashedTo','Deleted\x20','Local\x20delete\x20not\x20settled\x20for\x20','string','2074ovoqMM','filter','Lock\x20key\x20(e.g.\x20ENDPOINT/createOrder)\x20or\x20short\x20function\x20name','POST','parse','replace','No\x20lock\x20entry\x20found\x20for\x20\x22','\x20(local\x20file\x20moved\x20to\x20trash)','7397230GPMGLk','find','target','apps','\x22\x20not\x20found\x20after\x20ensureLockScope.','lockFilePath','75605UpMFTJ','27yPjxpH','validation','96DmYevB','scriptsRoot','lastSync','\x22.\x20Use\x20the\x20full\x20lock\x20key:\x0a','scriptsRootDir','BFF\x20lock\x20file\x20not\x20found.\x20Run\x20`push`\x20or\x20`pull`\x20first\x20to\x20initialize\x20sync\x20state.','appCode','stringify','BFF\x20lock\x20file\x20not\x20found.','Function\x20not\x20found:\x20','/api/management/library/scripts/delete','join','3583864UKbEvB','bff','212LtjejW','3868612yPnvAK','length','Delete\x20a\x20BFF\x20script\x20from\x20remote\x20and\x20local','delete','keys','2363193tjejYX','projectRoot','functions','high-risk-write','3610824mWOQDx','includes'];a27_0x3390=function(){return _0x4d9742;};return a27_0x3390();}const a27_0x31f6be=a27_0x4383;(function(_0x58912d,_0x36024b){const _0xacf896=a27_0x4383,_0x471394=_0x58912d();while(!![]){try{const _0x171325=parseInt(_0xacf896(0x1a4))/0x1*(-parseInt(_0xacf896(0x18c))/0x2)+parseInt(_0xacf896(0x192))/0x3+-parseInt(_0xacf896(0x18d))/0x4+parseInt(_0xacf896(0x17b))/0x5*(-parseInt(_0xacf896(0x17e))/0x6)+-parseInt(_0xacf896(0x196))/0x7+-parseInt(_0xacf896(0x18a))/0x8+parseInt(_0xacf896(0x17c))/0x9*(parseInt(_0xacf896(0x1ac))/0xa);if(_0x171325===_0x36024b)break;else _0x471394['push'](_0x471394['shift']());}catch(_0x35cfa5){_0x471394['push'](_0x471394['shift']());}}}(a27_0x3390,0x95f08));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';function a27_0x4383(_0x3afedf,_0x2fc617){_0x3afedf=_0x3afedf-0x179;const _0x3390c7=a27_0x3390();let _0x43832a=_0x3390c7[_0x3afedf];return _0x43832a;}import{sleep}from'../../utils/sleep.js';export const bffDelete={'service':a27_0x31f6be(0x18b),'command':a27_0x31f6be(0x190),'description':a27_0x31f6be(0x18f),'risk':a27_0x31f6be(0x195),'flags':[{'name':a27_0x31f6be(0x1ae),'type':a27_0x31f6be(0x1a3),'required':!![],'description':a27_0x31f6be(0x1a6)}],async 'validate'(_0x59ef11){const _0x158966=a27_0x31f6be,_0x3947b8=loadBffProjectConfig(_0x59ef11['appCode']),_0x57c10f=await readBffLockFile(_0x3947b8[_0x158966(0x17a)]);if(!_0x57c10f)throw CliErrors['validation'](_0x158966(0x183));},async 'dryRun'(_0x80c0a8){const _0x26b681=a27_0x31f6be,_0x4c03ba=loadBffProjectConfig(_0x80c0a8['appCode']),_0x24a525=await readBffLockFile(_0x4c03ba[_0x26b681(0x17a)]);if(!_0x24a525)throw CliErrors[_0x26b681(0x17d)](_0x26b681(0x186));const {appLock:_0x4fe91c}=ensureLockScope(_0x24a525,_0x80c0a8[_0x26b681(0x184)],_0x4c03ba[_0x26b681(0x17f)],_0x26b681(0x190)),_0x30af54=_0x80c0a8[_0x26b681(0x19a)](_0x26b681(0x1ae)),_0x2c8ee4=Object['keys'](_0x4fe91c[_0x26b681(0x194)]),_0x5a6ab0=resolveDeleteTarget(_0x30af54,_0x2c8ee4),_0x5dcc7d=_0x4fe91c[_0x26b681(0x194)][_0x5a6ab0];if(!_0x5dcc7d)throw CliErrors['validation']('No\x20lock\x20entry\x20found\x20for\x20\x22'+_0x5a6ab0+'\x22.');const _0x5113e6=resolveLocalFilePathFromLockKey(_0x4c03ba,_0x5a6ab0),_0x4413ed=relative(_0x4c03ba['projectRoot'],_0x5113e6),_0x303471=join(_0x4c03ba[_0x26b681(0x19e)],'<timestamp>',_0x4413ed);return{'method':_0x26b681(0x1a7),'url':_0x26b681(0x188),'body':{'appCode':_0x80c0a8[_0x26b681(0x184)],'target':_0x5a6ab0,'remoteId':_0x5dcc7d[_0x26b681(0x199)],'localFilePath':_0x5113e6,'trashedPath':_0x303471},'description':'Would\x20delete\x20'+_0x5a6ab0+_0x26b681(0x19f)};},async 'execute'(_0x27f902){const _0x331622=a27_0x31f6be,_0xae31c2=loadBffProjectConfig(_0x27f902[_0x331622(0x184)]),_0x5c9752=await readBffLockFile(_0xae31c2[_0x331622(0x17a)]);if(!_0x5c9752)throw CliErrors['validation']('BFF\x20lock\x20file\x20not\x20found.');const {lockData:_0x577eac,appLock:_0x41362d}=ensureLockScope(_0x5c9752,_0x27f902['appCode'],_0xae31c2[_0x331622(0x17f)],_0x331622(0x190)),_0x1afaba=JSON[_0x331622(0x1a8)](JSON[_0x331622(0x185)](_0x577eac)),_0x12305e=_0x1afaba[_0x331622(0x1af)][_0x27f902[_0x331622(0x184)]];if(!_0x12305e)throw new Error(_0x331622(0x198)+_0x27f902[_0x331622(0x184)]+_0x331622(0x179));const _0x37b41c=_0x27f902['str'](_0x331622(0x1ae)),_0x5b5605=Object[_0x331622(0x191)](_0x12305e[_0x331622(0x194)]),_0x2762ff=resolveDeleteTarget(_0x37b41c,_0x5b5605),_0x37ffa0=_0x12305e['functions'][_0x2762ff];if(!_0x37ffa0)throw CliErrors['validation'](_0x331622(0x1aa)+_0x2762ff+'\x22.');await deleteBffScript(_0x37ffa0[_0x331622(0x199)]),delete _0x12305e['functions'][_0x2762ff],_0x12305e[_0x331622(0x180)]=new Date()[_0x331622(0x19c)](),await writeBffLockFile(_0xae31c2['lockFilePath'],_0x1afaba);const _0x2511d0=resolveLocalFilePathFromLockKey(_0xae31c2,_0x2762ff);let _0x121ad9;await fileExists(_0x2511d0)&&(_0x121ad9=await moveToTrash(_0xae31c2[_0x331622(0x193)],_0xae31c2['trashDir'],_0x2511d0),await cleanupEmptyDirectories(dirname(_0x2511d0),_0xae31c2[_0x331622(0x182)]));await waitForDeleteSettlement(_0xae31c2['lockFilePath'],_0x27f902[_0x331622(0x184)],_0x2762ff,_0x2511d0),await sleep(0x96);const _0x63c275={'deleted':_0x2762ff,'remoteId':_0x37ffa0[_0x331622(0x199)]};if(_0x121ad9)_0x63c275[_0x331622(0x1a0)]=_0x121ad9;return{'ok':!![],'data':_0x63c275,'message':_0x331622(0x1a1)+_0x2762ff+(_0x121ad9?_0x331622(0x1ab):'')};}};function resolveDeleteTarget(_0x73c415,_0x487d4a){const _0x2010b7=a27_0x31f6be;if(_0x73c415[_0x2010b7(0x197)]('/')){const _0x570eac=_0x487d4a[_0x2010b7(0x1ad)](_0x2a9b52=>_0x2a9b52===_0x73c415);if(!_0x570eac)throw CliErrors[_0x2010b7(0x17d)](_0x2010b7(0x187)+_0x73c415);return _0x570eac;}const _0x15cc9c=_0x487d4a[_0x2010b7(0x1a5)](_0x9ab07=>_0x9ab07['split']('/')['at'](-0x1)===_0x73c415);if(_0x15cc9c[_0x2010b7(0x18e)]===0x0)throw CliErrors[_0x2010b7(0x17d)](_0x2010b7(0x187)+_0x73c415);if(_0x15cc9c[_0x2010b7(0x18e)]>0x1)throw CliErrors[_0x2010b7(0x17d)](_0x2010b7(0x19d)+_0x73c415+_0x2010b7(0x181)+_0x15cc9c['map'](_0x131b3e=>'\x20\x20-\x20'+_0x131b3e)[_0x2010b7(0x189)]('\x0a'));return _0x15cc9c[0x0];}async function moveToTrash(_0x1ec407,_0x1c6344,_0x823c6c){const _0x540b08=a27_0x31f6be,_0x97cde7=new Date()[_0x540b08(0x19c)]()[_0x540b08(0x1a9)](/[:.]/g,'-'),_0x114aae=relative(_0x1ec407,_0x823c6c),_0x2d1bc0=join(_0x1c6344,_0x97cde7,_0x114aae);return await mkdir(dirname(_0x2d1bc0),{'recursive':!![]}),await rename(_0x823c6c,_0x2d1bc0),_0x2d1bc0;}async function cleanupEmptyDirectories(_0x531521,_0x4f7ec2){const _0x47a84b=a27_0x31f6be;let _0x3a9ba5=resolve(_0x531521);const _0x164608=resolve(_0x4f7ec2);while(_0x3a9ba5[_0x47a84b(0x19b)](''+_0x164608+sep)||_0x3a9ba5===_0x164608){if(_0x3a9ba5===_0x164608)return;try{const _0x12aa1e=await readdir(_0x3a9ba5);if(_0x12aa1e[_0x47a84b(0x18e)]>0x0)return;await rmdir(_0x3a9ba5);}catch{return;}_0x3a9ba5=dirname(_0x3a9ba5);}}const DELETE_SETTLE_RETRY_COUNT=0x14,DELETE_SETTLE_DELAY_MS=0x64;async function waitForDeleteSettlement(_0x49bdb4,_0x136525,_0x97770d,_0x1ebea2){const _0x571730=a27_0x31f6be;for(let _0x146384=0x0;_0x146384<DELETE_SETTLE_RETRY_COUNT;_0x146384+=0x1){const _0x282d9d=await readBffLockFile(_0x49bdb4),_0x2b2d4a=!!_0x282d9d?.['apps']?.[_0x136525]?.[_0x571730(0x194)]?.[_0x97770d],_0x39e685=await fileExists(_0x1ebea2);if(!_0x2b2d4a&&!_0x39e685)return;await sleep(DELETE_SETTLE_DELAY_MS);}throw new Error(_0x571730(0x1a2)+_0x97770d+'.');}
1
+ const a27_0x21249c=a27_0x2775;(function(_0x597c0,_0x2ec0cb){const _0x170703=a27_0x2775,_0x13090f=_0x597c0();while(!![]){try{const _0x48b497=-parseInt(_0x170703(0x217))/0x1*(parseInt(_0x170703(0x1f9))/0x2)+parseInt(_0x170703(0x1f0))/0x3+-parseInt(_0x170703(0x206))/0x4*(-parseInt(_0x170703(0x221))/0x5)+-parseInt(_0x170703(0x216))/0x6*(parseInt(_0x170703(0x211))/0x7)+parseInt(_0x170703(0x200))/0x8*(-parseInt(_0x170703(0x1ff))/0x9)+-parseInt(_0x170703(0x1f6))/0xa*(-parseInt(_0x170703(0x1fa))/0xb)+parseInt(_0x170703(0x220))/0xc;if(_0x48b497===_0x2ec0cb)break;else _0x13090f['push'](_0x13090f['shift']());}catch(_0x2733c9){_0x13090f['push'](_0x13090f['shift']());}}}(a27_0x1d2a,0xed037));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';function a27_0x2775(_0x3db3e6,_0x45a537){_0x3db3e6=_0x3db3e6-0x1ed;const _0x1d2a7d=a27_0x1d2a();let _0x27757c=_0x1d2a7d[_0x3db3e6];return _0x27757c;}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_0x21249c(0x1fc),'command':a27_0x21249c(0x210),'description':a27_0x21249c(0x1f3),'risk':a27_0x21249c(0x1f1),'flags':[{'name':a27_0x21249c(0x215),'type':a27_0x21249c(0x209),'required':!![],'description':a27_0x21249c(0x21d)}],async 'validate'(_0x4b7b9b){const _0x207f4e=a27_0x21249c,_0xbf522b=loadBffProjectConfig(_0x4b7b9b[_0x207f4e(0x1fe)]),_0x4030b4=await readBffLockFile(_0xbf522b['lockFilePath']);if(!_0x4030b4)throw CliErrors[_0x207f4e(0x214)](_0x207f4e(0x207));},async 'dryRun'(_0x22dd76){const _0x44520a=a27_0x21249c,_0x473bcd=loadBffProjectConfig(_0x22dd76['appCode']),_0xf1ade1=await readBffLockFile(_0x473bcd[_0x44520a(0x21c)]);if(!_0xf1ade1)throw CliErrors['validation']('BFF\x20lock\x20file\x20not\x20found.');const {appLock:_0xa76bbb}=ensureLockScope(_0xf1ade1,_0x22dd76['appCode'],_0x473bcd[_0x44520a(0x1f8)],'delete'),_0xfe50f1=_0x22dd76[_0x44520a(0x218)]('target'),_0x348506=Object['keys'](_0xa76bbb[_0x44520a(0x21a)]),_0x1ed509=resolveDeleteTarget(_0xfe50f1,_0x348506),_0xe0ce32=_0xa76bbb[_0x44520a(0x21a)][_0x1ed509];if(!_0xe0ce32)throw CliErrors[_0x44520a(0x214)](_0x44520a(0x1ef)+_0x1ed509+'\x22.');const _0x16de28=resolveLocalFilePathFromLockKey(_0x473bcd,_0x1ed509),_0xf7a506=relative(_0x473bcd[_0x44520a(0x20c)],_0x16de28),_0x217217=join(_0x473bcd['trashDir'],_0x44520a(0x21f),_0xf7a506);return{'method':_0x44520a(0x20b),'url':'/api/management/library/scripts/delete','body':{'appCode':_0x22dd76[_0x44520a(0x1fe)],'target':_0x1ed509,'remoteId':_0xe0ce32[_0x44520a(0x20a)],'localFilePath':_0x16de28,'trashedPath':_0x217217},'description':_0x44520a(0x212)+_0x1ed509+_0x44520a(0x20d)};},async 'execute'(_0x1b8179){const _0x223ecc=a27_0x21249c,_0x3fb7d4=loadBffProjectConfig(_0x1b8179['appCode']),_0x215539=await readBffLockFile(_0x3fb7d4[_0x223ecc(0x21c)]);if(!_0x215539)throw CliErrors[_0x223ecc(0x214)](_0x223ecc(0x1fd));const {lockData:_0x417362,appLock:_0x45fdcf}=ensureLockScope(_0x215539,_0x1b8179[_0x223ecc(0x1fe)],_0x3fb7d4['scriptsRoot'],'delete'),_0x3e21ed=JSON['parse'](JSON[_0x223ecc(0x222)](_0x417362)),_0x50479b=_0x3e21ed['apps'][_0x1b8179[_0x223ecc(0x1fe)]];if(!_0x50479b)throw new Error(_0x223ecc(0x208)+_0x1b8179['appCode']+_0x223ecc(0x1f2));const _0x1f0e89=_0x1b8179[_0x223ecc(0x218)](_0x223ecc(0x215)),_0x3eb7d2=Object[_0x223ecc(0x1ee)](_0x50479b[_0x223ecc(0x21a)]),_0x5cbf74=resolveDeleteTarget(_0x1f0e89,_0x3eb7d2),_0x51fe25=_0x50479b['functions'][_0x5cbf74];if(!_0x51fe25)throw CliErrors[_0x223ecc(0x214)](_0x223ecc(0x1ef)+_0x5cbf74+'\x22.');await deleteBffScript(_0x51fe25['remoteId']),delete _0x50479b[_0x223ecc(0x21a)][_0x5cbf74],_0x50479b['lastSync']=new Date()[_0x223ecc(0x1ed)](),await writeBffLockFile(_0x3fb7d4[_0x223ecc(0x21c)],_0x3e21ed);const _0x1966e6=resolveLocalFilePathFromLockKey(_0x3fb7d4,_0x5cbf74);let _0x312501;await fileExists(_0x1966e6)&&(_0x312501=await moveToTrash(_0x3fb7d4[_0x223ecc(0x20c)],_0x3fb7d4[_0x223ecc(0x204)],_0x1966e6),await cleanupEmptyDirectories(dirname(_0x1966e6),_0x3fb7d4[_0x223ecc(0x203)]));await waitForDeleteSettlement(_0x3fb7d4['lockFilePath'],_0x1b8179['appCode'],_0x5cbf74,_0x1966e6),await sleep(0x96);const _0x42c10a={'deleted':_0x5cbf74,'remoteId':_0x51fe25['remoteId']};if(_0x312501)_0x42c10a['trashedTo']=_0x312501;return{'ok':!![],'data':_0x42c10a,'message':_0x223ecc(0x1f7)+_0x5cbf74+(_0x312501?_0x223ecc(0x20e):'')};}};function resolveDeleteTarget(_0xfa829b,_0x297954){const _0x1e3ea8=a27_0x21249c;if(_0xfa829b[_0x1e3ea8(0x21b)]('/')){const _0x1d95f9=_0x297954['find'](_0x2c8991=>_0x2c8991===_0xfa829b);if(!_0x1d95f9)throw CliErrors[_0x1e3ea8(0x214)](_0x1e3ea8(0x202)+_0xfa829b);return _0x1d95f9;}const _0x41d424=_0x297954['filter'](_0x30569d=>_0x30569d[_0x1e3ea8(0x1fb)]('/')['at'](-0x1)===_0xfa829b);if(_0x41d424[_0x1e3ea8(0x1f5)]===0x0)throw CliErrors[_0x1e3ea8(0x214)](_0x1e3ea8(0x202)+_0xfa829b);if(_0x41d424[_0x1e3ea8(0x1f5)]>0x1)throw CliErrors[_0x1e3ea8(0x214)](_0x1e3ea8(0x219)+_0xfa829b+_0x1e3ea8(0x213)+_0x41d424[_0x1e3ea8(0x20f)](_0x32f7ea=>_0x1e3ea8(0x1f4)+_0x32f7ea)[_0x1e3ea8(0x205)]('\x0a'));return _0x41d424[0x0];}async function moveToTrash(_0x44301a,_0x52758a,_0xc63450){const _0x4f7478=a27_0x21249c,_0xafdc03=new Date()['toISOString']()[_0x4f7478(0x201)](/[:.]/g,'-'),_0x10732f=relative(_0x44301a,_0xc63450),_0x21dd9d=join(_0x52758a,_0xafdc03,_0x10732f);return await mkdir(dirname(_0x21dd9d),{'recursive':!![]}),await rename(_0xc63450,_0x21dd9d),_0x21dd9d;}async function cleanupEmptyDirectories(_0x5e7d78,_0x174b30){const _0x25a680=a27_0x21249c;let _0x5263c9=resolve(_0x5e7d78);const _0x49194b=resolve(_0x174b30);while(_0x5263c9[_0x25a680(0x223)](''+_0x49194b+sep)||_0x5263c9===_0x49194b){if(_0x5263c9===_0x49194b)return;try{const _0x2fe3ef=await readdir(_0x5263c9);if(_0x2fe3ef['length']>0x0)return;await rmdir(_0x5263c9);}catch{return;}_0x5263c9=dirname(_0x5263c9);}}const DELETE_SETTLE_RETRY_COUNT=0x14,DELETE_SETTLE_DELAY_MS=0x64;function a27_0x1d2a(){const _0x4f19b6=['toISOString','keys','No\x20lock\x20entry\x20found\x20for\x20\x22','2376309DHEdOt','high-risk-write','\x22\x20not\x20found\x20after\x20ensureLockScope.','Delete\x20a\x20BFF\x20script\x20from\x20remote\x20and\x20local','\x20\x20-\x20','length','15808290ZBGsQQ','Deleted\x20','scriptsRoot','2SoCKdQ','11QsrUDb','split','bff','BFF\x20lock\x20file\x20not\x20found.','appCode','873TMZOgz','131608sShNQL','replace','Function\x20not\x20found:\x20','scriptsRootDir','trashDir','join','6074592VLAsQD','BFF\x20lock\x20file\x20not\x20found.\x20Run\x20`push`\x20or\x20`pull`\x20first\x20to\x20initialize\x20sync\x20state.','Lock\x20scope\x20for\x20app\x20\x22','string','remoteId','POST','projectRoot','\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20trash','\x20(local\x20file\x20moved\x20to\x20trash)','map','delete','14SsUtgK','Would\x20delete\x20','\x22.\x20Use\x20the\x20full\x20lock\x20key:\x0a','validation','target','3296598ajDkCR','438647JxQtvt','str','Multiple\x20functions\x20match\x20\x22','functions','includes','lockFilePath','Lock\x20key\x20(e.g.\x20ENDPOINT/createOrder)\x20or\x20short\x20function\x20name','apps','<timestamp>','2549844PVZLBO','5TekiCr','stringify','startsWith'];a27_0x1d2a=function(){return _0x4f19b6;};return a27_0x1d2a();}async function waitForDeleteSettlement(_0x5ee103,_0x4a90a8,_0x3b43f5,_0x1fc0e6){const _0xad661a=a27_0x21249c;for(let _0x523849=0x0;_0x523849<DELETE_SETTLE_RETRY_COUNT;_0x523849+=0x1){const _0xcb76ab=await readBffLockFile(_0x5ee103),_0x25f128=!!_0xcb76ab?.[_0xad661a(0x21e)]?.[_0x4a90a8]?.['functions']?.[_0x3b43f5],_0x278071=await fileExists(_0x1fc0e6);if(!_0x25f128&&!_0x278071)return;await sleep(DELETE_SETTLE_DELAY_MS);}throw new Error('Local\x20delete\x20not\x20settled\x20for\x20'+_0x3b43f5+'.');}
@@ -1 +1 @@
1
- const a28_0x30787f=a28_0x2c2d;(function(_0x4d6a7b,_0x5d570a){const _0x1ba49b=a28_0x2c2d,_0x8ae1aa=_0x4d6a7b();while(!![]){try{const _0x1178eb=parseInt(_0x1ba49b(0x1a2))/0x1+-parseInt(_0x1ba49b(0x199))/0x2*(parseInt(_0x1ba49b(0x197))/0x3)+parseInt(_0x1ba49b(0x18b))/0x4+-parseInt(_0x1ba49b(0x193))/0x5*(parseInt(_0x1ba49b(0x19c))/0x6)+parseInt(_0x1ba49b(0x195))/0x7*(parseInt(_0x1ba49b(0x198))/0x8)+-parseInt(_0x1ba49b(0x1a1))/0x9*(-parseInt(_0x1ba49b(0x1a3))/0xa)+-parseInt(_0x1ba49b(0x1a0))/0xb;if(_0x1178eb===_0x5d570a)break;else _0x8ae1aa['push'](_0x8ae1aa['shift']());}catch(_0x11ac0b){_0x8ae1aa['push'](_0x8ae1aa['shift']());}}}(a28_0x3c75,0x8a7e2));import{getBffScriptInfo}from'../../core/api-client.js';function a28_0x2c2d(_0x212795,_0x47cbf5){_0x212795=_0x212795-0x18b;const _0x3c7596=a28_0x3c75();let _0x2c2dcb=_0x3c7596[_0x212795];return _0x2c2dcb;}function a28_0x3c75(){const _0x1af0ae=['(none)','16990721MlVgkr','82107yejyBf','1116766RWLDDQ','1090lJhHRS','Return\x20full\x20raw\x20script\x20object','Script\x20ID','1190612jrLSFH','updatedTime','createdTime','description','appCode','boolean','num','verbose','1754385ebvfng','scriptType','7iCkxvj','number','3RJsCXr','8906152KCepWo','715174QOgGBz','Get\x20BFF\x20script\x20details\x20by\x20ID','scriptContent','18ofiKCn','detail','bff'];a28_0x3c75=function(){return _0x1af0ae;};return a28_0x3c75();}export const bffDetail={'service':a28_0x30787f(0x19e),'command':a28_0x30787f(0x19d),'description':a28_0x30787f(0x19a),'risk':'read','flags':[{'name':'id','type':a28_0x30787f(0x196),'required':!![],'description':a28_0x30787f(0x1a5)},{'name':a28_0x30787f(0x192),'type':a28_0x30787f(0x190),'description':a28_0x30787f(0x1a4)}],async 'execute'(_0x357421){const _0x23896b=a28_0x30787f,_0x191a6b=await getBffScriptInfo(_0x357421[_0x23896b(0x191)]('id')),_0x452ee2=_0x357421['bool'](_0x23896b(0x192));if(_0x452ee2)return{'ok':!![],'data':_0x191a6b};return{'ok':!![],'data':{'id':_0x191a6b['id'],'appCode':_0x191a6b[_0x23896b(0x18f)],'scriptType':_0x191a6b[_0x23896b(0x194)],'description':_0x191a6b[_0x23896b(0x18e)]||_0x23896b(0x19f),'createdTime':_0x191a6b[_0x23896b(0x18d)]??'','updatedTime':_0x191a6b[_0x23896b(0x18c)]??'','scriptContent':_0x191a6b[_0x23896b(0x19b)]??''}};}};
1
+ const a28_0x433caf=a28_0x5f08;(function(_0x3d794a,_0x2b9867){const _0x610382=a28_0x5f08,_0x4398a9=_0x3d794a();while(!![]){try{const _0x599699=parseInt(_0x610382(0x17d))/0x1*(-parseInt(_0x610382(0x17a))/0x2)+-parseInt(_0x610382(0x16c))/0x3+parseInt(_0x610382(0x176))/0x4*(parseInt(_0x610382(0x16f))/0x5)+-parseInt(_0x610382(0x16a))/0x6+-parseInt(_0x610382(0x180))/0x7*(-parseInt(_0x610382(0x169))/0x8)+parseInt(_0x610382(0x175))/0x9*(-parseInt(_0x610382(0x170))/0xa)+-parseInt(_0x610382(0x173))/0xb*(-parseInt(_0x610382(0x16b))/0xc);if(_0x599699===_0x2b9867)break;else _0x4398a9['push'](_0x4398a9['shift']());}catch(_0x32d791){_0x4398a9['push'](_0x4398a9['shift']());}}}(a28_0x199e,0x54ec5));function a28_0x5f08(_0x1d897a,_0x68c336){_0x1d897a=_0x1d897a-0x167;const _0x199e42=a28_0x199e();let _0x5f080c=_0x199e42[_0x1d897a];return _0x5f080c;}import{getBffScriptInfo}from'../../core/api-client.js';export const bffDetail={'service':'bff','command':a28_0x433caf(0x172),'description':a28_0x433caf(0x171),'risk':a28_0x433caf(0x174),'flags':[{'name':'id','type':a28_0x433caf(0x16d),'required':!![],'description':a28_0x433caf(0x17b)},{'name':a28_0x433caf(0x17e),'type':a28_0x433caf(0x167),'description':a28_0x433caf(0x177)}],async 'execute'(_0x28a984){const _0xea5663=a28_0x433caf,_0x1a6b8e=await getBffScriptInfo(_0x28a984[_0xea5663(0x17c)]('id')),_0xeb22e7=_0x28a984[_0xea5663(0x168)](_0xea5663(0x17e));if(_0xeb22e7)return{'ok':!![],'data':_0x1a6b8e};return{'ok':!![],'data':{'id':_0x1a6b8e['id'],'appCode':_0x1a6b8e[_0xea5663(0x179)],'scriptType':_0x1a6b8e[_0xea5663(0x181)],'description':_0x1a6b8e[_0xea5663(0x182)]||'(none)','createdTime':_0x1a6b8e[_0xea5663(0x17f)]??'','updatedTime':_0x1a6b8e[_0xea5663(0x178)]??'','scriptContent':_0x1a6b8e[_0xea5663(0x16e)]??''}};}};function a28_0x199e(){const _0x16827f=['Return\x20full\x20raw\x20script\x20object','updatedTime','appCode','630248LALfgO','Script\x20ID','num','2fsgjrS','verbose','createdTime','5110vfKkQE','scriptType','description','boolean','bool','1768UgASRV','95604QANgTX','528zdpaPF','510198YWhDIs','number','scriptContent','58810apMxVv','6148470xslSIJ','Get\x20BFF\x20script\x20details\x20by\x20ID','detail','313247jsKmBm','read','9dJJKFH','124kxqHRT'];a28_0x199e=function(){return _0x16827f;};return a28_0x199e();}
@@ -1 +1 @@
1
- (function(_0x103b86,_0x3994cf){const _0x322666=a29_0x55b1,_0x16bfc2=_0x103b86();while(!![]){try{const _0x52a0ad=-parseInt(_0x322666(0xac))/0x1*(parseInt(_0x322666(0xae))/0x2)+parseInt(_0x322666(0xb6))/0x3*(-parseInt(_0x322666(0xad))/0x4)+parseInt(_0x322666(0xb3))/0x5*(parseInt(_0x322666(0xb4))/0x6)+parseInt(_0x322666(0xb1))/0x7+parseInt(_0x322666(0xb7))/0x8*(parseInt(_0x322666(0xb2))/0x9)+-parseInt(_0x322666(0xaf))/0xa*(parseInt(_0x322666(0xb0))/0xb)+parseInt(_0x322666(0xb5))/0xc;if(_0x52a0ad===_0x3994cf)break;else _0x16bfc2['push'](_0x16bfc2['shift']());}catch(_0x1b164e){_0x16bfc2['push'](_0x16bfc2['shift']());}}}(a29_0x44ae,0x558ee));import{bffList}from'../../commands/bff/list.js';import{bffDetail}from'../../commands/bff/detail.js';import{bffStatus}from'../../commands/bff/status.js';import{bffCreate}from'../../commands/bff/create.js';import{bffPush}from'../../commands/bff/push.js';function a29_0x44ae(){const _0x2acd2e=['6724YlpznN','65138vEUkFx','10xnavAK','6247417QwPPCf','911211KniVmL','9CanKuQ','30AKqWWE','12774EybnOl','16513896ltLQZZ','399myfYDC','1412272MNbmHH','17xhhPcr'];a29_0x44ae=function(){return _0x2acd2e;};return a29_0x44ae();}function a29_0x55b1(_0x3f2ded,_0x44d59c){_0x3f2ded=_0x3f2ded-0xac;const _0x44aeed=a29_0x44ae();let _0x55b19f=_0x44aeed[_0x3f2ded];return _0x55b19f;}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(_0x1d0a02,_0x50005a){const _0x5d75c3=a29_0x3603,_0x14ebf4=_0x1d0a02();while(!![]){try{const _0xa9e55f=-parseInt(_0x5d75c3(0x81))/0x1*(parseInt(_0x5d75c3(0x82))/0x2)+parseInt(_0x5d75c3(0x83))/0x3*(-parseInt(_0x5d75c3(0x7c))/0x4)+parseInt(_0x5d75c3(0x7e))/0x5*(-parseInt(_0x5d75c3(0x7f))/0x6)+-parseInt(_0x5d75c3(0x7a))/0x7+-parseInt(_0x5d75c3(0x78))/0x8*(parseInt(_0x5d75c3(0x80))/0x9)+parseInt(_0x5d75c3(0x84))/0xa*(-parseInt(_0x5d75c3(0x7d))/0xb)+parseInt(_0x5d75c3(0x7b))/0xc*(parseInt(_0x5d75c3(0x79))/0xd);if(_0xa9e55f===_0x50005a)break;else _0x14ebf4['push'](_0x14ebf4['shift']());}catch(_0x3c704d){_0x14ebf4['push'](_0x14ebf4['shift']());}}}(a29_0x4162,0xd1c78));function a29_0x4162(){const _0x436ec7=['9775338Gmniuc','45sszvMo','211691XkbYrf','16WltReb','3DUrbkh','20RWuIfv','2189528PmcScH','138996gqaRRL','10200925KVHKSa','10824dPXMyk','3950164BrFMBM','9068983FbARZh','5SxuqQb'];a29_0x4162=function(){return _0x436ec7;};return a29_0x4162();}import{bffList}from'../../commands/bff/list.js';import{bffDetail}from'../../commands/bff/detail.js';import{bffStatus}from'../../commands/bff/status.js';function a29_0x3603(_0x5e8214,_0x3bc572){_0x5e8214=_0x5e8214-0x78;const _0x4162fb=a29_0x4162();let _0x3603ae=_0x4162fb[_0x5e8214];return _0x3603ae;}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
- const a30_0x497cf1=a30_0x5a20;function a30_0x5a20(_0x5eab70,_0x19a350){_0x5eab70=_0x5eab70-0x144;const _0x53fd2e=a30_0x53fd();let _0x5a20fc=_0x53fd2e[_0x5eab70];return _0x5a20fc;}(function(_0x39e310,_0x15b014){const _0x85b3bf=a30_0x5a20,_0x24327a=_0x39e310();while(!![]){try{const _0x50c867=parseInt(_0x85b3bf(0x15e))/0x1+parseInt(_0x85b3bf(0x145))/0x2+-parseInt(_0x85b3bf(0x156))/0x3*(parseInt(_0x85b3bf(0x159))/0x4)+parseInt(_0x85b3bf(0x157))/0x5+-parseInt(_0x85b3bf(0x148))/0x6*(-parseInt(_0x85b3bf(0x154))/0x7)+parseInt(_0x85b3bf(0x15d))/0x8+-parseInt(_0x85b3bf(0x14e))/0x9*(parseInt(_0x85b3bf(0x147))/0xa);if(_0x50c867===_0x15b014)break;else _0x24327a['push'](_0x24327a['shift']());}catch(_0x490e8c){_0x24327a['push'](_0x24327a['shift']());}}}(a30_0x53fd,0x3aeac));function a30_0x53fd(){const _0x20c26d=['356264mIXkNf','Return\x20full\x20script\x20objects','string','map','1301528asyYzl','51264SwWIUd','functionName','ENDPOINT','verbose','148406JLwDHd','read','3515410tPRGmQ','1072542dMEmSa','str','type','list','Filter\x20by\x20script\x20name','(unnamed)','9pqiore','Script\x20type\x20filter','length','bff','List\x20BFF\x20scripts','No\x20BFF\x20scripts\x20found.','7AhDnAK','appCode','6hzPQkl','1520410QRwMkk','boolean'];a30_0x53fd=function(){return _0x20c26d;};return a30_0x53fd();}import{listBffScripts}from'../../core/api-client.js';export const bffList={'service':a30_0x497cf1(0x151),'command':a30_0x497cf1(0x14b),'description':a30_0x497cf1(0x152),'risk':a30_0x497cf1(0x146),'flags':[{'name':a30_0x497cf1(0x14a),'type':a30_0x497cf1(0x15b),'description':a30_0x497cf1(0x14f),'default':'ENDPOINT','enum':[a30_0x497cf1(0x160),'COMMON']},{'name':'name','type':a30_0x497cf1(0x15b),'description':a30_0x497cf1(0x14c)},{'name':a30_0x497cf1(0x144),'type':a30_0x497cf1(0x158),'description':a30_0x497cf1(0x15a)}],async 'execute'(_0x3e2bf6){const _0x56c22f=a30_0x497cf1,_0x2e6fb1=await listBffScripts(_0x3e2bf6[_0x56c22f(0x155)],_0x3e2bf6['str'](_0x56c22f(0x14a)),{'scriptName':_0x3e2bf6[_0x56c22f(0x149)]('name')||undefined}),_0x4e7f2b=_0x3e2bf6['bool'](_0x56c22f(0x144));return{'ok':!![],'data':_0x4e7f2b?_0x2e6fb1:_0x2e6fb1[_0x56c22f(0x15c)](_0x13591b=>({'id':_0x13591b['id'],'functionName':_0x13591b[_0x56c22f(0x15f)]??'','description':_0x13591b['description']||_0x56c22f(0x14d),'scriptType':_0x13591b['scriptType']})),'message':_0x2e6fb1[_0x56c22f(0x150)]===0x0?_0x56c22f(0x153):undefined};}};
1
+ const a30_0x58ddf9=a30_0x3242;(function(_0xfce4b2,_0x5b281c){const _0x37896f=a30_0x3242,_0x519d7e=_0xfce4b2();while(!![]){try{const _0xb96091=-parseInt(_0x37896f(0xb3))/0x1*(parseInt(_0x37896f(0xab))/0x2)+-parseInt(_0x37896f(0xa9))/0x3*(parseInt(_0x37896f(0xb6))/0x4)+parseInt(_0x37896f(0xa3))/0x5+-parseInt(_0x37896f(0xae))/0x6+parseInt(_0x37896f(0xb4))/0x7*(parseInt(_0x37896f(0xb5))/0x8)+parseInt(_0x37896f(0xb8))/0x9+-parseInt(_0x37896f(0xa8))/0xa*(parseInt(_0x37896f(0xa5))/0xb);if(_0xb96091===_0x5b281c)break;else _0x519d7e['push'](_0x519d7e['shift']());}catch(_0x3d6490){_0x519d7e['push'](_0x519d7e['shift']());}}}(a30_0x316b,0x6da5c));function a30_0x3242(_0xffabe5,_0x631722){_0xffabe5=_0xffabe5-0xa0;const _0x316b8b=a30_0x316b();let _0x32424d=_0x316b8b[_0xffabe5];return _0x32424d;}import{listBffScripts}from'../../core/api-client.js';function a30_0x316b(){const _0x5a50ff=['25350zawLQA','442983bLdLeP','verbose','296PpxbXu','description','boolean','3726378FqELLw','bool','ENDPOINT','map','length','251gPhslX','1491XZjiLi','31064FDwabk','4MKaZkL','appCode','8050725uTwPln','COMMON','Return\x20full\x20script\x20objects','Script\x20type\x20filter','name','read','string','bff','scriptType','518795yeeFZG','type','2475SJSKAk','List\x20BFF\x20scripts','str'];a30_0x316b=function(){return _0x5a50ff;};return a30_0x316b();}export const bffList={'service':a30_0x58ddf9(0xa1),'command':'list','description':a30_0x58ddf9(0xa6),'risk':a30_0x58ddf9(0xbd),'flags':[{'name':a30_0x58ddf9(0xa4),'type':a30_0x58ddf9(0xa0),'description':a30_0x58ddf9(0xbb),'default':a30_0x58ddf9(0xb0),'enum':[a30_0x58ddf9(0xb0),a30_0x58ddf9(0xb9)]},{'name':'name','type':a30_0x58ddf9(0xa0),'description':'Filter\x20by\x20script\x20name'},{'name':a30_0x58ddf9(0xaa),'type':a30_0x58ddf9(0xad),'description':a30_0x58ddf9(0xba)}],async 'execute'(_0x474595){const _0x1ce9e9=a30_0x58ddf9,_0x31148b=await listBffScripts(_0x474595[_0x1ce9e9(0xb7)],_0x474595['str']('type'),{'scriptName':_0x474595[_0x1ce9e9(0xa7)](_0x1ce9e9(0xbc))||undefined}),_0x513fbe=_0x474595[_0x1ce9e9(0xaf)](_0x1ce9e9(0xaa));return{'ok':!![],'data':_0x513fbe?_0x31148b:_0x31148b[_0x1ce9e9(0xb1)](_0x225941=>({'id':_0x225941['id'],'functionName':_0x225941['functionName']??'','description':_0x225941[_0x1ce9e9(0xac)]||'(unnamed)','scriptType':_0x225941[_0x1ce9e9(0xa2)]})),'message':_0x31148b[_0x1ce9e9(0xb2)]===0x0?'No\x20BFF\x20scripts\x20found.':undefined};}};
@@ -1 +1 @@
1
- const a31_0x4f64ba=a31_0x23e7;(function(_0x3145c9,_0xdf81ac){const _0x3a6d9c=a31_0x23e7,_0x3ba2ca=_0x3145c9();while(!![]){try{const _0x2df14d=-parseInt(_0x3a6d9c(0xdf))/0x1*(-parseInt(_0x3a6d9c(0xb8))/0x2)+-parseInt(_0x3a6d9c(0xf2))/0x3*(-parseInt(_0x3a6d9c(0xb4))/0x4)+parseInt(_0x3a6d9c(0xf1))/0x5*(-parseInt(_0x3a6d9c(0xc0))/0x6)+-parseInt(_0x3a6d9c(0xde))/0x7*(parseInt(_0x3a6d9c(0xac))/0x8)+parseInt(_0x3a6d9c(0xd0))/0x9*(parseInt(_0x3a6d9c(0xb0))/0xa)+parseInt(_0x3a6d9c(0xda))/0xb*(parseInt(_0x3a6d9c(0xbd))/0xc)+-parseInt(_0x3a6d9c(0xe1))/0xd;if(_0x2df14d===_0xdf81ac)break;else _0x3ba2ca['push'](_0x3ba2ca['shift']());}catch(_0x43c53d){_0x3ba2ca['push'](_0x3ba2ca['shift']());}}}(a31_0x2973,0xce3fe));import{createInterface}from'node:readline';function a31_0x2973(){const _0x564845=['filePath','ENDPOINT','map','8982XfNXeL','apiDir','Remote\x20script\x20missing\x20id.','scriptsRoot','question','stderr','all','lockKey','cancelled','boolean','47256WmuHWG','push','lastSync','functions','35tgPIvt','1185WUTXgK','hookLocation','3281278ayjNbe','Force\x20pull\x20will\x20overwrite\x20local\x20unsynced\x20changes.\x20Continue?\x20[y/N]\x20','stdin','alias','unresolvable\x20target\x20path','Lock\x20scope\x20for\x20app\x20\x22','str','datasetCode','scriptType','trim','bff','appCode','message','HOOK','/api/management/library/scripts/list?appCode=','functionNode','15NYdkBa','9Ljmivh','skipped','force','\x20pulled,\x20','\x22\x20not\x20found\x20after\x20ensureLockScope.','length','Pull\x20complete:\x20','1792496vvTDNi','validation','\x20skipped,\x20','bool','4640xBduhd','scriptContent','COMMON','GET','1447668YMMnHi','Force\x20pull\x20cancelled.','string','nonInteractive','976eNMAqE','apps','utf8','version','hash','852JMpFeF','operationType','\x20remote\x20BFF\x20script(s)\x20for\x20pull','429210LaaaWC','lockFilePath','stringify','type','write','Pull\x20only\x20this\x20script\x20type','toLowerCase','--type\x20must\x20be\x20COMMON,\x20ENDPOINT,\x20or\x20HOOK.','parse','pull','includes','close','functionName'];a31_0x2973=function(){return _0x564845;};return a31_0x2973();}function a31_0x23e7(_0x2114b1,_0x3ccccc){_0x2114b1=_0x2114b1-0xa7;const _0x2973a5=a31_0x2973();let _0x23e7fd=_0x2973a5[_0x2114b1];return _0x23e7fd;}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';import{CliErrors}from'../../errors.js';export const bffPull={'service':a31_0x4f64ba(0xeb),'command':a31_0x4f64ba(0xc9),'description':'Pull\x20remote\x20BFF\x20scripts\x20to\x20local','risk':a31_0x4f64ba(0xc4),'flags':[{'name':a31_0x4f64ba(0xc3),'type':a31_0x4f64ba(0xb6),'description':a31_0x4f64ba(0xc5),'enum':[a31_0x4f64ba(0xb2),a31_0x4f64ba(0xce),a31_0x4f64ba(0xee)]},{'name':a31_0x4f64ba(0xa7),'type':a31_0x4f64ba(0xd9),'description':'Force\x20overwrite\x20local\x20unsynced\x20changes'}],async 'dryRun'(_0x10d249){const _0x503cfe=a31_0x4f64ba,_0x2b1082=loadBffProjectConfig(_0x10d249[_0x503cfe(0xec)]),_0x5052d7=await readBffLockFile(_0x2b1082[_0x503cfe(0xc1)]),{appLock:_0xcb6a55}=ensureLockScope(_0x5052d7??createEmptyBffLock(),_0x10d249[_0x503cfe(0xec)],_0x2b1082[_0x503cfe(0xd3)],_0x503cfe(0xc9)),_0x63258b=normalizeBffType(_0x10d249[_0x503cfe(0xe7)](_0x503cfe(0xc3)))??undefined,_0x46a560=buildDatasetCodeToAliasMap(_0x10d249[_0x503cfe(0xd1)],_0x10d249[_0x503cfe(0xec)]),[_0x51af2c,_0x252ac6]=await Promise[_0x503cfe(0xd6)]([listBffScripts(_0x10d249[_0x503cfe(0xec)],_0x63258b),getBffScriptStatistics(_0x10d249['appCode'])]),_0x3159f5=createHookLocationMap(_0x252ac6),_0x56cffb=[];for(const _0x72242 of _0x51af2c){const _0x1e1506=resolveRemoteScriptTarget(_0x2b1082,_0x72242,_0x3159f5,_0xcb6a55[_0x503cfe(0xdd)],_0x46a560);if(!_0x1e1506){_0x56cffb[_0x503cfe(0xdb)]({'scriptType':_0x72242[_0x503cfe(0xe9)],'functionName':_0x72242[_0x503cfe(0xcc)]??'','status':_0x503cfe(0xf3),'reason':'unresolvable\x20target\x20path'});continue;}const _0x1b97c6=_0xcb6a55[_0x503cfe(0xdd)][_0x1e1506['lockKey']],_0x56a86d=_0x72242[_0x503cfe(0xb1)]!=null?computeContentHash(_0x72242['scriptContent']):undefined,_0x28ce99=await hasUnsyncedLocalChanges(_0x1e1506[_0x503cfe(0xcd)],_0x1b97c6,_0x56a86d);_0x56cffb['push']({'lockKey':_0x1e1506[_0x503cfe(0xd7)],'filePath':_0x1e1506['filePath'],'remoteId':_0x72242['id']??null,'status':_0x28ce99?'conflict':'would_pull'});}return{'method':_0x503cfe(0xb3),'url':_0x503cfe(0xef)+_0x10d249[_0x503cfe(0xec)]+(_0x63258b?'&type='+_0x63258b:''),'body':{'appCode':_0x10d249[_0x503cfe(0xec)],'filterType':_0x63258b??null,'files':_0x56cffb},'description':'Would\x20inspect\x20'+_0x56cffb[_0x503cfe(0xaa)]+_0x503cfe(0xbf)};},async 'execute'(_0x4f8ecf){const _0x4a44ef=a31_0x4f64ba,_0x565b13=loadBffProjectConfig(_0x4f8ecf[_0x4a44ef(0xec)]),_0x361ada=await readBffLockFile(_0x565b13[_0x4a44ef(0xc1)]),{lockData:_0x439dea,appLock:_0xef2e29}=ensureLockScope(_0x361ada??createEmptyBffLock(),_0x4f8ecf[_0x4a44ef(0xec)],_0x565b13[_0x4a44ef(0xd3)],'pull'),_0x29aea8=normalizeBffType(_0x4f8ecf[_0x4a44ef(0xe7)](_0x4a44ef(0xc3)))??undefined;if(_0x4f8ecf['str'](_0x4a44ef(0xc3))&&!_0x29aea8)throw CliErrors[_0x4a44ef(0xad)](_0x4a44ef(0xc7));const [_0x100b7b,_0x57a1c5]=await Promise[_0x4a44ef(0xd6)]([listBffScripts(_0x4f8ecf[_0x4a44ef(0xec)],_0x29aea8),getBffScriptStatistics(_0x4f8ecf[_0x4a44ef(0xec)])]);if(_0x100b7b[_0x4a44ef(0xaa)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':'No\x20remote\x20BFF\x20scripts\x20found.'};const _0x214473=_0x4f8ecf[_0x4a44ef(0xaf)]('force');if(_0x214473&&!_0x4f8ecf[_0x4a44ef(0xb7)]){const _0x6611f4=await confirmForce();if(!_0x6611f4)throw CliErrors[_0x4a44ef(0xd8)](_0x4a44ef(0xb5));}if(_0x214473&&_0x4f8ecf[_0x4a44ef(0xb7)]){}const _0x57db3a=buildDatasetCodeToAliasMap(_0x4f8ecf[_0x4a44ef(0xd1)],_0x4f8ecf['appCode']),_0x3dec64=createHookLocationMap(_0x57a1c5),_0x3febbb=JSON[_0x4a44ef(0xc8)](JSON[_0x4a44ef(0xc2)](_0x439dea)),_0x29dd4c=_0x4f8ecf['appCode'],_0x14fc60=_0x3febbb[_0x4a44ef(0xb9)][_0x29dd4c];if(!_0x14fc60)throw new Error(_0x4a44ef(0xe6)+_0x29dd4c+_0x4a44ef(0xa9));const _0x2bc6db=[],_0x1c0f9f=[],_0x54e92a=[];for(const _0x14a26b of _0x100b7b){const _0x166f23=resolveRemoteScriptTarget(_0x565b13,_0x14a26b,_0x3dec64,_0xef2e29['functions'],_0x57db3a);if(!_0x166f23){_0x1c0f9f[_0x4a44ef(0xdb)]({'lockKey':_0x14a26b[_0x4a44ef(0xe9)]+'/'+_0x14a26b['functionName'],'reason':_0x4a44ef(0xe5)});continue;}const _0x302dd3=_0xef2e29[_0x4a44ef(0xdd)][_0x166f23['lockKey']];try{if(!_0x14a26b['id'])throw new Error(_0x4a44ef(0xd2));if(_0x14a26b[_0x4a44ef(0xb1)]==null)throw new Error('Remote\x20script\x20missing\x20content.');const _0x154347=_0x14a26b[_0x4a44ef(0xb1)],_0x42529b=computeContentHash(_0x154347);if(!_0x214473){const _0x4be403=await hasUnsyncedLocalChanges(_0x166f23[_0x4a44ef(0xcd)],_0x302dd3,_0x42529b);if(_0x4be403){_0x1c0f9f[_0x4a44ef(0xdb)]({'lockKey':_0x166f23[_0x4a44ef(0xd7)],'reason':'local\x20unsynced\x20changes'});continue;}}await ensureParentDirectory(_0x166f23[_0x4a44ef(0xcd)]),await writeFile(_0x166f23['filePath'],_0x154347,_0x4a44ef(0xba));const _0x176631={'hash':_0x42529b,'remoteId':_0x14a26b['id'],'version':_0x14a26b[_0x4a44ef(0xbb)]};_0x166f23[_0x4a44ef(0xc3)]===_0x4a44ef(0xee)&&_0x166f23[_0x4a44ef(0xe0)]&&(_0x176631[_0x4a44ef(0xe4)]=_0x166f23['hookLocation']['alias'],_0x176631[_0x4a44ef(0xe8)]=_0x166f23[_0x4a44ef(0xe0)][_0x4a44ef(0xe8)],_0x176631[_0x4a44ef(0xbe)]=_0x166f23[_0x4a44ef(0xe0)][_0x4a44ef(0xbe)],_0x176631[_0x4a44ef(0xf0)]=_0x166f23[_0x4a44ef(0xe0)]['functionNode']),_0x14fc60[_0x4a44ef(0xdd)][_0x166f23[_0x4a44ef(0xd7)]]=_0x176631,_0x2bc6db[_0x4a44ef(0xdb)]({'lockKey':_0x166f23[_0x4a44ef(0xd7)],'remoteId':_0x14a26b['id']});}catch(_0x507ba6){_0x54e92a[_0x4a44ef(0xdb)]({'lockKey':_0x166f23[_0x4a44ef(0xd7)],'error':_0x507ba6 instanceof Error?_0x507ba6[_0x4a44ef(0xed)]:String(_0x507ba6)});}}return _0x14fc60[_0x4a44ef(0xdc)]=new Date()['toISOString'](),await writeBffLockFile(_0x565b13['lockFilePath'],_0x3febbb),{'ok':_0x54e92a[_0x4a44ef(0xaa)]===0x0,'data':{'pulled':_0x2bc6db,'skipped':_0x1c0f9f,'failed':_0x54e92a},'message':_0x4a44ef(0xab)+_0x2bc6db['length']+_0x4a44ef(0xa8)+_0x1c0f9f['length']+_0x4a44ef(0xae)+_0x54e92a[_0x4a44ef(0xaa)]+'\x20failed'};}};async function hasUnsyncedLocalChanges(_0x35e676,_0xeb1099,_0x53b06e){const _0x3784d4=a31_0x4f64ba;if(!await fileExists(_0x35e676))return![];const _0x4eceec=await computeFileHash(_0x35e676);if(!_0xeb1099)return _0x53b06e?_0x4eceec!==_0x53b06e:!![];return _0x4eceec!==_0xeb1099[_0x3784d4(0xbc)];}function buildDatasetCodeToAliasMap(_0x3de80d,_0x160703){const _0x4c2a80=a31_0x4f64ba,_0x2f4bc6=loadAliasMap(_0x3de80d,undefined,resolveApiFilePath(_0x3de80d,_0x160703));return new Map(_0x2f4bc6[_0x4c2a80(0xcf)](_0x189a5e=>[_0x189a5e[_0x4c2a80(0xe8)],_0x189a5e[_0x4c2a80(0xe4)]]));}async function confirmForce(){const _0x543a5a=a31_0x4f64ba,_0x5cc97d=createInterface({'input':process[_0x543a5a(0xe3)],'output':process[_0x543a5a(0xd5)]}),_0x13db49=await new Promise(_0x1416ec=>{const _0x21a81a=_0x543a5a;_0x5cc97d[_0x21a81a(0xd4)](_0x21a81a(0xe2),_0x1416ec);});return _0x5cc97d[_0x543a5a(0xcb)](),['y','yes'][_0x543a5a(0xca)](_0x13db49[_0x543a5a(0xea)]()[_0x543a5a(0xc6)]());}
1
+ function a31_0x503e(_0x559369,_0x4bd958){_0x559369=_0x559369-0x1d8;const _0x3b098b=a31_0x3b09();let _0x503e7f=_0x3b098b[_0x559369];return _0x503e7f;}const a31_0x2c9c28=a31_0x503e;(function(_0x416ddd,_0x11704d){const _0x247143=a31_0x503e,_0x26e780=_0x416ddd();while(!![]){try{const _0x222216=parseInt(_0x247143(0x1d9))/0x1+parseInt(_0x247143(0x20d))/0x2*(parseInt(_0x247143(0x214))/0x3)+-parseInt(_0x247143(0x201))/0x4*(parseInt(_0x247143(0x1f5))/0x5)+parseInt(_0x247143(0x217))/0x6*(parseInt(_0x247143(0x1ee))/0x7)+parseInt(_0x247143(0x1f4))/0x8+-parseInt(_0x247143(0x1e2))/0x9*(parseInt(_0x247143(0x1e0))/0xa)+parseInt(_0x247143(0x213))/0xb*(-parseInt(_0x247143(0x200))/0xc);if(_0x222216===_0x11704d)break;else _0x26e780['push'](_0x26e780['shift']());}catch(_0x4debf1){_0x26e780['push'](_0x26e780['shift']());}}}(a31_0x3b09,0x5043a));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';import{CliErrors}from'../../errors.js';export const bffPull={'service':'bff','command':a31_0x2c9c28(0x21a),'description':'Pull\x20remote\x20BFF\x20scripts\x20to\x20local','risk':'write','flags':[{'name':'type','type':a31_0x2c9c28(0x223),'description':a31_0x2c9c28(0x209),'enum':[a31_0x2c9c28(0x20a),a31_0x2c9c28(0x20f),a31_0x2c9c28(0x202)]},{'name':'force','type':'boolean','description':a31_0x2c9c28(0x1e8)}],async 'dryRun'(_0x10b574){const _0x443ce1=a31_0x2c9c28,_0x5b4f9e=loadBffProjectConfig(_0x10b574[_0x443ce1(0x1fe)]),_0x170c83=await readBffLockFile(_0x5b4f9e[_0x443ce1(0x1e5)]),{appLock:_0x30b1aa}=ensureLockScope(_0x170c83??createEmptyBffLock(),_0x10b574[_0x443ce1(0x1fe)],_0x5b4f9e[_0x443ce1(0x204)],_0x443ce1(0x21a)),_0x273f59=normalizeBffType(_0x10b574['str'](_0x443ce1(0x1f3)))??undefined,_0x48aa51=buildDatasetCodeToAliasMap(_0x10b574[_0x443ce1(0x1d8)],_0x10b574[_0x443ce1(0x1fe)]),[_0xd910d6,_0x670825]=await Promise[_0x443ce1(0x1f0)]([listBffScripts(_0x10b574['appCode'],_0x273f59),getBffScriptStatistics(_0x10b574['appCode'])]),_0x49bbad=createHookLocationMap(_0x670825),_0x5a2944=[];for(const _0x1cf130 of _0xd910d6){const _0x1f6b56=resolveRemoteScriptTarget(_0x5b4f9e,_0x1cf130,_0x49bbad,_0x30b1aa[_0x443ce1(0x1f7)],_0x48aa51);if(!_0x1f6b56){_0x5a2944[_0x443ce1(0x215)]({'scriptType':_0x1cf130[_0x443ce1(0x206)],'functionName':_0x1cf130[_0x443ce1(0x219)]??'','status':_0x443ce1(0x1e1),'reason':'unresolvable\x20target\x20path'});continue;}const _0x2f7961=_0x30b1aa[_0x443ce1(0x1f7)][_0x1f6b56['lockKey']],_0x773e42=_0x1cf130['scriptContent']!=null?computeContentHash(_0x1cf130[_0x443ce1(0x21e)]):undefined,_0x40b976=await hasUnsyncedLocalChanges(_0x1f6b56[_0x443ce1(0x1f1)],_0x2f7961,_0x773e42);_0x5a2944[_0x443ce1(0x215)]({'lockKey':_0x1f6b56[_0x443ce1(0x221)],'filePath':_0x1f6b56[_0x443ce1(0x1f1)],'remoteId':_0x1cf130['id']??null,'status':_0x40b976?_0x443ce1(0x21d):_0x443ce1(0x211)});}return{'method':_0x443ce1(0x1ec),'url':_0x443ce1(0x1f6)+_0x10b574['appCode']+(_0x273f59?_0x443ce1(0x20b)+_0x273f59:''),'body':{'appCode':_0x10b574[_0x443ce1(0x1fe)],'filterType':_0x273f59??null,'files':_0x5a2944},'description':_0x443ce1(0x1db)+_0x5a2944[_0x443ce1(0x20e)]+_0x443ce1(0x1f8)};},async 'execute'(_0x103c25){const _0x483108=a31_0x2c9c28,_0x4e923f=loadBffProjectConfig(_0x103c25[_0x483108(0x1fe)]),_0x11985d=await readBffLockFile(_0x4e923f[_0x483108(0x1e5)]),{lockData:_0xa24b0f,appLock:_0x5d3980}=ensureLockScope(_0x11985d??createEmptyBffLock(),_0x103c25[_0x483108(0x1fe)],_0x4e923f[_0x483108(0x204)],'pull'),_0x5603bd=normalizeBffType(_0x103c25['str']('type'))??undefined;if(_0x103c25[_0x483108(0x216)](_0x483108(0x1f3))&&!_0x5603bd)throw CliErrors[_0x483108(0x222)](_0x483108(0x1ef));const [_0x27ea4e,_0x56e575]=await Promise[_0x483108(0x1f0)]([listBffScripts(_0x103c25[_0x483108(0x1fe)],_0x5603bd),getBffScriptStatistics(_0x103c25[_0x483108(0x1fe)])]);if(_0x27ea4e[_0x483108(0x20e)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x483108(0x1df)};const _0x4578b9=_0x103c25['bool'](_0x483108(0x1fc));if(_0x4578b9&&!_0x103c25[_0x483108(0x1e4)]){const _0x3deb10=await confirmForce();if(!_0x3deb10)throw CliErrors[_0x483108(0x21c)](_0x483108(0x205));}if(_0x4578b9&&_0x103c25[_0x483108(0x1e4)]){}const _0x3a9484=buildDatasetCodeToAliasMap(_0x103c25[_0x483108(0x1d8)],_0x103c25[_0x483108(0x1fe)]),_0x36aa82=createHookLocationMap(_0x56e575),_0x3bbb05=JSON[_0x483108(0x1ea)](JSON[_0x483108(0x21f)](_0xa24b0f)),_0x1adcaa=_0x103c25['appCode'],_0x3ec70e=_0x3bbb05[_0x483108(0x1eb)][_0x1adcaa];if(!_0x3ec70e)throw new Error(_0x483108(0x207)+_0x1adcaa+_0x483108(0x1ed));const _0x32c464=[],_0x4267a2=[],_0x5a7821=[];for(const _0x56052a of _0x27ea4e){const _0x4c2de4=resolveRemoteScriptTarget(_0x4e923f,_0x56052a,_0x36aa82,_0x5d3980[_0x483108(0x1f7)],_0x3a9484);if(!_0x4c2de4){_0x4267a2[_0x483108(0x215)]({'lockKey':_0x56052a[_0x483108(0x206)]+'/'+_0x56052a[_0x483108(0x219)],'reason':_0x483108(0x1dd)});continue;}const _0x1c357e=_0x5d3980[_0x483108(0x1f7)][_0x4c2de4['lockKey']];try{if(!_0x56052a['id'])throw new Error('Remote\x20script\x20missing\x20id.');if(_0x56052a[_0x483108(0x21e)]==null)throw new Error('Remote\x20script\x20missing\x20content.');const _0x332daf=_0x56052a[_0x483108(0x21e)],_0x25c85b=computeContentHash(_0x332daf);if(!_0x4578b9){const _0x680b3f=await hasUnsyncedLocalChanges(_0x4c2de4[_0x483108(0x1f1)],_0x1c357e,_0x25c85b);if(_0x680b3f){_0x4267a2[_0x483108(0x215)]({'lockKey':_0x4c2de4[_0x483108(0x221)],'reason':_0x483108(0x218)});continue;}}await ensureParentDirectory(_0x4c2de4['filePath']),await writeFile(_0x4c2de4[_0x483108(0x1f1)],_0x332daf,_0x483108(0x1ff));const _0x22cef6={'hash':_0x25c85b,'remoteId':_0x56052a['id'],'version':_0x56052a[_0x483108(0x1f9)]};_0x4c2de4['type']===_0x483108(0x202)&&_0x4c2de4[_0x483108(0x1f2)]&&(_0x22cef6[_0x483108(0x1e9)]=_0x4c2de4[_0x483108(0x1f2)][_0x483108(0x1e9)],_0x22cef6[_0x483108(0x20c)]=_0x4c2de4[_0x483108(0x1f2)][_0x483108(0x20c)],_0x22cef6[_0x483108(0x212)]=_0x4c2de4[_0x483108(0x1f2)][_0x483108(0x212)],_0x22cef6[_0x483108(0x1fd)]=_0x4c2de4['hookLocation'][_0x483108(0x1fd)]),_0x3ec70e[_0x483108(0x1f7)][_0x4c2de4[_0x483108(0x221)]]=_0x22cef6,_0x32c464['push']({'lockKey':_0x4c2de4[_0x483108(0x221)],'remoteId':_0x56052a['id']});}catch(_0x333250){_0x5a7821['push']({'lockKey':_0x4c2de4['lockKey'],'error':_0x333250 instanceof Error?_0x333250[_0x483108(0x208)]:String(_0x333250)});}}return _0x3ec70e[_0x483108(0x1de)]=new Date()['toISOString'](),await writeBffLockFile(_0x4e923f[_0x483108(0x1e5)],_0x3bbb05),{'ok':_0x5a7821[_0x483108(0x20e)]===0x0,'data':{'pulled':_0x32c464,'skipped':_0x4267a2,'failed':_0x5a7821},'message':_0x483108(0x220)+_0x32c464[_0x483108(0x20e)]+_0x483108(0x203)+_0x4267a2[_0x483108(0x20e)]+_0x483108(0x1e6)+_0x5a7821['length']+_0x483108(0x1e7)};}};async function hasUnsyncedLocalChanges(_0x5ad11a,_0x5fb1aa,_0x2ccc9d){const _0x171293=a31_0x2c9c28;if(!await fileExists(_0x5ad11a))return![];const _0x4f9fed=await computeFileHash(_0x5ad11a);if(!_0x5fb1aa)return _0x2ccc9d?_0x4f9fed!==_0x2ccc9d:!![];return _0x4f9fed!==_0x5fb1aa[_0x171293(0x1fa)];}function buildDatasetCodeToAliasMap(_0x16fda9,_0x49615b){const _0x26de36=a31_0x2c9c28,_0x1cc890=loadAliasMap(_0x16fda9,undefined,resolveApiFilePath(_0x16fda9,_0x49615b));return new Map(_0x1cc890[_0x26de36(0x21b)](_0x2742c0=>[_0x2742c0[_0x26de36(0x20c)],_0x2742c0[_0x26de36(0x1e9)]]));}function a31_0x3b09(){const _0xc27493=['functionName','pull','map','cancelled','conflict','scriptContent','stringify','Pull\x20complete:\x20','lockKey','validation','string','apiDir','389399Giwlqb','stderr','Would\x20inspect\x20','yes','unresolvable\x20target\x20path','lastSync','No\x20remote\x20BFF\x20scripts\x20found.','10LfRFvn','skipped','5333004LFgXmr','close','nonInteractive','lockFilePath','\x20skipped,\x20','\x20failed','Force\x20overwrite\x20local\x20unsynced\x20changes','alias','parse','apps','GET','\x22\x20not\x20found\x20after\x20ensureLockScope.','6755UdxEdd','--type\x20must\x20be\x20COMMON,\x20ENDPOINT,\x20or\x20HOOK.','all','filePath','hookLocation','type','3495584iqEFpe','5heXlmw','/api/management/library/scripts/list?appCode=','functions','\x20remote\x20BFF\x20script(s)\x20for\x20pull','version','hash','includes','force','functionNode','appCode','utf8','996NcufEl','1417820qIAtdB','HOOK','\x20pulled,\x20','scriptsRoot','Force\x20pull\x20cancelled.','scriptType','Lock\x20scope\x20for\x20app\x20\x22','message','Pull\x20only\x20this\x20script\x20type','COMMON','&type=','datasetCode','18530gMiGnQ','length','ENDPOINT','stdin','would_pull','operationType','143Qxueft','129TWrvqE','push','str','324ZwxxKV','local\x20unsynced\x20changes'];a31_0x3b09=function(){return _0xc27493;};return a31_0x3b09();}async function confirmForce(){const _0x2630f6=a31_0x2c9c28,_0x1e28db=createInterface({'input':process[_0x2630f6(0x210)],'output':process[_0x2630f6(0x1da)]}),_0x148d15=await new Promise(_0x12e8de=>{_0x1e28db['question']('Force\x20pull\x20will\x20overwrite\x20local\x20unsynced\x20changes.\x20Continue?\x20[y/N]\x20',_0x12e8de);});return _0x1e28db[_0x2630f6(0x1e3)](),['y',_0x2630f6(0x1dc)][_0x2630f6(0x1fb)](_0x148d15['trim']()['toLowerCase']());}