@lovrabet/rabetbase-cli 2.1.10-beta.2 → 2.1.10-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 (198) 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 -0
  52. package/lib/commands/dataset/delete.js +1 -1
  53. package/lib/commands/dataset/detail.js +1 -1
  54. package/lib/commands/dataset/field-update.js +1 -1
  55. package/lib/commands/dataset/index.js +1 -1
  56. package/lib/commands/dataset/link-create.js +1 -1
  57. package/lib/commands/dataset/link-delete.js +1 -1
  58. package/lib/commands/dataset/link-shared.js +1 -1
  59. package/lib/commands/dataset/link-update.js +1 -1
  60. package/lib/commands/dataset/links.js +1 -1
  61. package/lib/commands/dataset/list.js +1 -1
  62. package/lib/commands/dataset/operations.js +1 -1
  63. package/lib/commands/db/analyze-cancel.js +1 -1
  64. package/lib/commands/db/analyze-start.js +1 -1
  65. package/lib/commands/db/analyze-status.js +1 -1
  66. package/lib/commands/db/create.js +1 -1
  67. package/lib/commands/db/delete.js +1 -1
  68. package/lib/commands/db/detail.js +1 -1
  69. package/lib/commands/db/diff.js +1 -1
  70. package/lib/commands/db/index.js +1 -1
  71. package/lib/commands/db/list.js +1 -1
  72. package/lib/commands/db/shared.js +1 -1
  73. package/lib/commands/db/tables.js +1 -1
  74. package/lib/commands/db/test.js +1 -1
  75. package/lib/commands/db/update.js +1 -1
  76. package/lib/commands/doctor.js +1 -1
  77. package/lib/commands/init/index.js +1 -1
  78. package/lib/commands/issue/index.js +1 -1
  79. package/lib/commands/issue/report.js +1 -1
  80. package/lib/commands/logs/index.js +1 -1
  81. package/lib/commands/menu/index.js +1 -1
  82. package/lib/commands/menu/shared/compare-table.js +1 -1
  83. package/lib/commands/menu/shared/index.js +1 -1
  84. package/lib/commands/menu/shared/inquirer.js +1 -1
  85. package/lib/commands/menu/shared/local-pages.js +1 -1
  86. package/lib/commands/menu/shared/logic.js +1 -1
  87. package/lib/commands/menu/shared/service.js +1 -1
  88. package/lib/commands/menu/shared/sync-core.js +1 -1
  89. package/lib/commands/menu/shared/update-core.js +1 -1
  90. package/lib/commands/menu/shared/valid-url.js +1 -1
  91. package/lib/commands/menu/sync.js +1 -1
  92. package/lib/commands/menu/update.js +1 -1
  93. package/lib/commands/page/generate-start.js +1 -1
  94. package/lib/commands/page/generate-status.js +1 -1
  95. package/lib/commands/page/index.js +1 -1
  96. package/lib/commands/page/pull.js +1 -1
  97. package/lib/commands/page/push.js +1 -1
  98. package/lib/commands/page/shared.js +1 -1
  99. package/lib/commands/page/standard-page-status.js +1 -1
  100. package/lib/commands/page/sync.js +1 -1
  101. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  102. package/lib/commands/project/create/format-elapsed.js +1 -1
  103. package/lib/commands/project/create/main.js +1 -1
  104. package/lib/commands/project/create/non-interactive.js +1 -1
  105. package/lib/commands/project/create/project-template-path.js +1 -1
  106. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  107. package/lib/commands/project/create/use-format-code.js +1 -1
  108. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  109. package/lib/commands/project/index.js +1 -1
  110. package/lib/commands/project/init.js +1 -1
  111. package/lib/commands/project/upgrade.js +1 -1
  112. package/lib/commands/registry.js +1 -1
  113. package/lib/commands/run/index.js +1 -1
  114. package/lib/commands/schema.js +1 -1
  115. package/lib/commands/skill/index.js +1 -1
  116. package/lib/commands/sql/create.js +1 -1
  117. package/lib/commands/sql/delete.js +1 -1
  118. package/lib/commands/sql/detail.js +1 -1
  119. package/lib/commands/sql/exec.js +1 -1
  120. package/lib/commands/sql/index.js +1 -1
  121. package/lib/commands/sql/list.js +1 -1
  122. package/lib/commands/sql/pull.js +1 -1
  123. package/lib/commands/sql/push.js +1 -1
  124. package/lib/commands/sql/save.js +1 -1
  125. package/lib/commands/sql/shared.js +1 -1
  126. package/lib/commands/sql/status.js +1 -1
  127. package/lib/commands/sql/validate.js +1 -1
  128. package/lib/config/schema.js +1 -1
  129. package/lib/constant/cdn.js +1 -1
  130. package/lib/constant/cli.js +1 -1
  131. package/lib/constant/defaults.js +1 -1
  132. package/lib/constant/domain.js +1 -1
  133. package/lib/constant/env.js +1 -1
  134. package/lib/constant/output.js +1 -1
  135. package/lib/constant/paths.js +1 -1
  136. package/lib/constant/risk.js +1 -1
  137. package/lib/context.js +1 -1
  138. package/lib/core/alias-resolver.js +1 -1
  139. package/lib/core/api-client.js +1 -1
  140. package/lib/core/bff/config.js +1 -1
  141. package/lib/core/bff/file-system.js +1 -1
  142. package/lib/core/bff/hash.js +1 -1
  143. package/lib/core/bff/lock.js +1 -1
  144. package/lib/core/bff/utils.js +1 -1
  145. package/lib/core/db-resolver.js +1 -1
  146. package/lib/core/page/file-system.js +1 -1
  147. package/lib/core/page/hash.js +1 -1
  148. package/lib/core/page/lock.js +1 -1
  149. package/lib/core/sql-sync/config.js +1 -1
  150. package/lib/core/sql-sync/file-system.js +1 -1
  151. package/lib/core/sql-sync/hash.js +1 -1
  152. package/lib/core/sql-sync/lock.js +1 -1
  153. package/lib/core/sql-sync/utils.js +1 -1
  154. package/lib/core/sql-validator.js +1 -1
  155. package/lib/errors.js +1 -1
  156. package/lib/framework/build-all-flags.js +1 -1
  157. package/lib/framework/flags.js +1 -1
  158. package/lib/framework/help.js +1 -1
  159. package/lib/framework/index.js +1 -1
  160. package/lib/framework/output.js +1 -1
  161. package/lib/framework/response.js +1 -1
  162. package/lib/framework/runner-alias.js +1 -1
  163. package/lib/framework/runner.js +1 -1
  164. package/lib/framework/schema-export.js +1 -1
  165. package/lib/framework/types.js +1 -1
  166. package/lib/generated/build-info.js +1 -1
  167. package/lib/help.js +1 -1
  168. package/lib/skills/main.js +1 -1
  169. package/lib/skills/npx-skills-add.js +1 -1
  170. package/lib/telemetry/cli-command-trace.js +1 -1
  171. package/lib/telemetry/cli-help-trace.js +1 -1
  172. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  173. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  174. package/lib/telemetry/send-cli-trace-log.js +1 -1
  175. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  176. package/lib/utils/ai_config.js +1 -1
  177. package/lib/utils/apply-jq-filter.js +1 -1
  178. package/lib/utils/cdn-config.js +1 -1
  179. package/lib/utils/check-sdk-version.js +1 -1
  180. package/lib/utils/cli-version-check.js +1 -1
  181. package/lib/utils/cli-version-policy.js +1 -1
  182. package/lib/utils/config.js +1 -1
  183. package/lib/utils/copy-directory.js +1 -1
  184. package/lib/utils/entity-with-id.js +1 -1
  185. package/lib/utils/file-utils.js +1 -1
  186. package/lib/utils/guides-cdn.js +1 -1
  187. package/lib/utils/http-client.js +1 -1
  188. package/lib/utils/is-non-interactive.js +1 -1
  189. package/lib/utils/logger.js +1 -1
  190. package/lib/utils/params.js +1 -1
  191. package/lib/utils/platform.js +1 -1
  192. package/lib/utils/rules-cdn.js +1 -1
  193. package/lib/utils/sleep.js +1 -1
  194. package/lib/utils/template-replacer.js +1 -1
  195. package/lib/utils/version.js +1 -1
  196. package/lib/utils/with-active-cookie.js +1 -1
  197. package/lib/utils/write-cli-side-channel.js +1 -1
  198. package/package.json +1 -1
@@ -1 +1 @@
1
- const a19_0x225ad7=a19_0x365a;(function(_0x13d9db,_0x42ec1f){const _0x1a2efd=a19_0x365a,_0x55442a=_0x13d9db();while(!![]){try{const _0x6050d8=parseInt(_0x1a2efd(0x75))/0x1*(parseInt(_0x1a2efd(0x70))/0x2)+-parseInt(_0x1a2efd(0x7d))/0x3*(-parseInt(_0x1a2efd(0x6f))/0x4)+-parseInt(_0x1a2efd(0x76))/0x5*(-parseInt(_0x1a2efd(0x6e))/0x6)+parseInt(_0x1a2efd(0x78))/0x7*(parseInt(_0x1a2efd(0x7a))/0x8)+parseInt(_0x1a2efd(0x77))/0x9+-parseInt(_0x1a2efd(0x71))/0xa*(parseInt(_0x1a2efd(0x7c))/0xb)+-parseInt(_0x1a2efd(0x7b))/0xc;if(_0x6050d8===_0x42ec1f)break;else _0x55442a['push'](_0x55442a['shift']());}catch(_0x1bc3b0){_0x55442a['push'](_0x55442a['shift']());}}}(a19_0x99ee,0xb8c57));function a19_0x99ee(){const _0x15e20b=['25NQFPNz','13409766Hmmodj','4590411lWipdr','remote','8WdlTys','26913012VZxplh','11ZYPWVG','4857TftiKS','appDesc','List\x20apps\x20available\x20on\x20the\x20platform\x20for\x20the\x20current\x20login','cookie','appName','267204jrPXab','1648OitYBj','52GPdwEM','3379130utmQkw','platform','../../core/api-client.js','read','11617esfsUb'];a19_0x99ee=function(){return _0x15e20b;};return a19_0x99ee();}import{listRemoteApps}from'../../core/api-client.js';async function execute(_0x3b50af){const _0x522453=a19_0x365a,{setActiveCookie:_0x29c049}=await import(_0x522453(0x73));_0x29c049(_0x3b50af[_0x522453(0x80)]);const _0x3ae98e=await listRemoteApps();return{'ok':!![],'data':{'items':_0x3ae98e['map'](_0x2647f2=>({..._0x2647f2['id']!=null?{'id':_0x2647f2['id']}:{},'appCode':_0x2647f2['appCode'],'appName':_0x2647f2[_0x522453(0x81)],..._0x2647f2[_0x522453(0x7e)]!=null?{'appDesc':_0x2647f2[_0x522453(0x7e)]}:{}})),'meta':{'source':_0x522453(0x72)}}};}function a19_0x365a(_0x2a1afe,_0x28fb55){_0x2a1afe=_0x2a1afe-0x6e;const _0x99ee92=a19_0x99ee();let _0x365abf=_0x99ee92[_0x2a1afe];return _0x365abf;}export const appRemoteDefinition={'service':'app','command':a19_0x225ad7(0x79),'description':a19_0x225ad7(0x7f),'risk':a19_0x225ad7(0x74),'requiresAuth':!![],'requiresAppCode':![],'flags':[],'execute':execute};
1
+ const a19_0x33318d=a19_0x422b;function a19_0x422b(_0x238c36,_0x4b5cc7){_0x238c36=_0x238c36-0x17a;const _0x305779=a19_0x3057();let _0x422b56=_0x305779[_0x238c36];return _0x422b56;}(function(_0x1a528e,_0x17410e){const _0x916791=a19_0x422b,_0x54f7b6=_0x1a528e();while(!![]){try{const _0xa13fc2=parseInt(_0x916791(0x184))/0x1*(-parseInt(_0x916791(0x18a))/0x2)+-parseInt(_0x916791(0x185))/0x3+parseInt(_0x916791(0x17f))/0x4*(parseInt(_0x916791(0x17d))/0x5)+parseInt(_0x916791(0x17a))/0x6+parseInt(_0x916791(0x188))/0x7+parseInt(_0x916791(0x17b))/0x8*(-parseInt(_0x916791(0x187))/0x9)+parseInt(_0x916791(0x181))/0xa*(-parseInt(_0x916791(0x18c))/0xb);if(_0xa13fc2===_0x17410e)break;else _0x54f7b6['push'](_0x54f7b6['shift']());}catch(_0xef2308){_0x54f7b6['push'](_0x54f7b6['shift']());}}}(a19_0x3057,0xa410e));function a19_0x3057(){const _0x233687=['5481378qwIYpB','260488gqDfrQ','read','841520lvJkrX','List\x20apps\x20available\x20on\x20the\x20platform\x20for\x20the\x20current\x20login','28BbUnLC','../../core/api-client.js','10KEQxNL','appDesc','map','2732TjdVqv','1106304SYDEIj','appName','45EPzKls','582246AlwRuE','appCode','626AyrsBy','app','1277826XsPnYn'];a19_0x3057=function(){return _0x233687;};return a19_0x3057();}import{listRemoteApps}from'../../core/api-client.js';async function execute(_0x34167d){const _0x20273c=a19_0x422b,{setActiveCookie:_0x5dd025}=await import(_0x20273c(0x180));_0x5dd025(_0x34167d['cookie']);const _0x12b09c=await listRemoteApps();return{'ok':!![],'data':{'items':_0x12b09c[_0x20273c(0x183)](_0x407af1=>({..._0x407af1['id']!=null?{'id':_0x407af1['id']}:{},'appCode':_0x407af1[_0x20273c(0x189)],'appName':_0x407af1[_0x20273c(0x186)],..._0x407af1[_0x20273c(0x182)]!=null?{'appDesc':_0x407af1[_0x20273c(0x182)]}:{}})),'meta':{'source':'platform'}}};}export const appRemoteDefinition={'service':a19_0x33318d(0x18b),'command':'remote','description':a19_0x33318d(0x17e),'risk':a19_0x33318d(0x17c),'requiresAuth':!![],'requiresAppCode':![],'flags':[],'execute':execute};
@@ -1 +1 @@
1
- (function(_0x2117fe,_0x12f25e){const _0x58ed2b=a20_0x2010,_0x5ada5d=_0x2117fe();while(!![]){try{const _0x32b5a9=parseInt(_0x58ed2b(0x1d1))/0x1*(-parseInt(_0x58ed2b(0x1dc))/0x2)+parseInt(_0x58ed2b(0x1d8))/0x3+-parseInt(_0x58ed2b(0x1d9))/0x4*(-parseInt(_0x58ed2b(0x1d4))/0x5)+-parseInt(_0x58ed2b(0x1d6))/0x6*(parseInt(_0x58ed2b(0x1da))/0x7)+parseInt(_0x58ed2b(0x1d2))/0x8+parseInt(_0x58ed2b(0x1d3))/0x9*(-parseInt(_0x58ed2b(0x1d7))/0xa)+-parseInt(_0x58ed2b(0x1db))/0xb*(-parseInt(_0x58ed2b(0x1d5))/0xc);if(_0x32b5a9===_0x12f25e)break;else _0x5ada5d['push'](_0x5ada5d['shift']());}catch(_0x25ca1e){_0x5ada5d['push'](_0x5ada5d['shift']());}}}(a20_0x46bc,0x233fa));function a20_0x2010(_0x310fbc,_0x2250a9){_0x310fbc=_0x310fbc-0x1d1;const _0x46bce7=a20_0x46bc();let _0x201001=_0x46bce7[_0x310fbc];return _0x201001;}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';function a20_0x46bc(){const _0x59c365=['1024RKQpdt','7RMPCzY','4345PsOnwM','2leVnqJ','8797AcjsIQ','205992ASNqZN','1156509NnJuTU','3125Xfnpkx','6288NvDxLx','548610zoORsQ','20oayiVj','326649BvdpZG'];a20_0x46bc=function(){return _0x59c365;};return a20_0x46bc();}import{appRemoveDefinition}from'../../commands/app/remove.js';export const appDefinitions=[appListDefinition,appRemoteDefinition,appUseDefinition,appAddDefinition,appRemoveDefinition];
1
+ function a20_0x1049(){const _0x349d10=['110igupkm','90jZPmBz','1544598aeJbHy','1574424RcInHj','808396JEQzSU','7496aELgcy','526545YxSzot','43905BVEEmG','1688141jzVYsM'];a20_0x1049=function(){return _0x349d10;};return a20_0x1049();}(function(_0x21559b,_0x462a82){const _0x4bc03b=a20_0x49cc,_0x202473=_0x21559b();while(!![]){try{const _0x1d203d=parseInt(_0x4bc03b(0x14b))/0x1*(parseInt(_0x4bc03b(0x147))/0x2)+parseInt(_0x4bc03b(0x148))/0x3+-parseInt(_0x4bc03b(0x146))/0x4+-parseInt(_0x4bc03b(0x149))/0x5*(parseInt(_0x4bc03b(0x14c))/0x6)+-parseInt(_0x4bc03b(0x14a))/0x7+parseInt(_0x4bc03b(0x14e))/0x8+parseInt(_0x4bc03b(0x14d))/0x9;if(_0x1d203d===_0x462a82)break;else _0x202473['push'](_0x202473['shift']());}catch(_0x43ee9e){_0x202473['push'](_0x202473['shift']());}}}(a20_0x1049,0x5d13b));import{appListDefinition}from'../../commands/app/list.js';function a20_0x49cc(_0x5e2c02,_0x500fd3){_0x5e2c02=_0x5e2c02-0x146;const _0x1049a4=a20_0x1049();let _0x49ccf6=_0x1049a4[_0x5e2c02];return _0x49ccf6;}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';export const appDefinitions=[appListDefinition,appRemoteDefinition,appUseDefinition,appAddDefinition,appRemoveDefinition];
@@ -1 +1 @@
1
- const a21_0x400229=a21_0x5d08;(function(_0x1cf031,_0x3f5078){const _0x559398=a21_0x5d08,_0x282edb=_0x1cf031();while(!![]){try{const _0x3d58d7=-parseInt(_0x559398(0x176))/0x1+-parseInt(_0x559398(0x163))/0x2*(parseInt(_0x559398(0x16e))/0x3)+-parseInt(_0x559398(0x16a))/0x4*(parseInt(_0x559398(0x17e))/0x5)+-parseInt(_0x559398(0x17a))/0x6*(parseInt(_0x559398(0x15e))/0x7)+parseInt(_0x559398(0x16b))/0x8*(parseInt(_0x559398(0x174))/0x9)+parseInt(_0x559398(0x169))/0xa+parseInt(_0x559398(0x17b))/0xb;if(_0x3d58d7===_0x3f5078)break;else _0x282edb['push'](_0x282edb['shift']());}catch(_0x38e84a){_0x282edb['push'](_0x282edb['shift']());}}}(a21_0x1c66,0xcab21));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(_0x318162,_0x7fcd98){const _0xc4ef03=a21_0x5d08,_0x360f1b=[],_0x48a1b9=_0x318162[_0xc4ef03(0x173)]&&typeof _0x318162[_0xc4ef03(0x173)]===_0xc4ef03(0x16f)?_0x318162['apps']:{},_0xd91fe2=_0x318162[_0xc4ef03(0x15b)]||undefined;for(const [_0x3c16f0,_0x173c17]of Object['entries'](_0x48a1b9)){if(!_0x173c17||typeof _0x173c17!==_0xc4ef03(0x16f)||!_0x173c17[_0xc4ef03(0x16d)])continue;_0x360f1b['push']({'name':_0x3c16f0,'appcode':_0x173c17[_0xc4ef03(0x16d)],'named':!![],'definedIn':_0x7fcd98,'isDefault':_0x3c16f0===_0xd91fe2,...buildAppProfileListFields(_0x173c17)});}return _0x360f1b;}function buildMergedItems(_0x1f861c,_0x30074a){const _0x121e1b=a21_0x5d08,{apps:apps={},defaultApp:_0x24688d}=_0x1f861c,_0x583b3f=_0x30074a[_0x121e1b(0x179)][_0x121e1b(0x173)]&&typeof _0x30074a[_0x121e1b(0x179)][_0x121e1b(0x173)]===_0x121e1b(0x16f)?_0x30074a[_0x121e1b(0x179)][_0x121e1b(0x173)]:{},_0x17e1b3=_0x30074a['projectConfig'][_0x121e1b(0x173)]&&typeof _0x30074a[_0x121e1b(0x16c)][_0x121e1b(0x173)]===_0x121e1b(0x16f)?_0x30074a[_0x121e1b(0x16c)]['apps']:{},_0x261020=_0x30074a['projectConfig'][_0x121e1b(0x165)]===![],_0x24274=Object[_0x121e1b(0x172)](apps),_0x55d3d0=_0x24274[_0x121e1b(0x15a)](([_0x24090a,_0xeda2e6])=>({'name':_0x24090a,'appcode':_0xeda2e6[_0x121e1b(0x16d)],'named':!![],'definedIn':appDefinedIn(_0x24090a,_0x583b3f,_0x17e1b3,_0x261020),'isDefault':_0x24090a===_0x24688d,...buildAppProfileListFields(_0xeda2e6)}));return _0x55d3d0;}function a21_0x5d08(_0xe1aecc,_0x53c1a3){_0xe1aecc=_0xe1aecc-0x15a;const _0x1c669a=a21_0x1c66();let _0x5d08cd=_0x1c669a[_0xe1aecc];return _0x5d08cd;}function a21_0x1c66(){const _0x375a9c=['mergedCli','map','defaultApp','isCurrent','app','21ICNttN','global','projectPath','Show\x20only\x20apps\x20from\x20global\x20~/.rabetbase.json','bool','713382ybVfaC','globalPath','inherit','List\x20all\x20configured\x20apps','list','No\x20apps\x20configured','9570790oHVOoP','131392ouIazm','1252072beaXBd','projectConfig','appcode','3cdwYoY','object','Show\x20only\x20apps\x20from\x20project\x20.rabetbase.json','boolean','entries','apps','36rlKQes','project','943188VazVsq','\x20config','merged','globalConfig','2939646shqMDK','30495652gDuvwI','.\x20Use\x20`','read','115idZyuZ'];a21_0x1c66=function(){return _0x375a9c;};return a21_0x1c66();}async function execute(_0x170dc0){const _0x5b36e8=a21_0x5d08,_0x39089b=_0x170dc0[_0x5b36e8(0x162)](_0x5b36e8(0x15f)),_0xb4b983=_0x170dc0[_0x5b36e8(0x162)](_0x5b36e8(0x175)),_0x1ba370=_0x39089b?_0x5b36e8(0x15f):_0xb4b983?_0x5b36e8(0x175):_0x5b36e8(0x178),{config:_0x8a974f,layers:_0x503df1}=readRawConfigWithLayers(),_0x2549da=resolveDefaultAppSource(_0x503df1),{defaultApp:_0x23d22a}=_0x8a974f;let _0x2022ac,_0xd41774;switch(_0x1ba370){case'global':_0x2022ac=buildItemsFromLayer(_0x503df1[_0x5b36e8(0x179)],'global'),_0xd41774=_0x503df1[_0x5b36e8(0x164)];break;case _0x5b36e8(0x175):_0x2022ac=buildItemsFromLayer(_0x503df1[_0x5b36e8(0x16c)],_0x5b36e8(0x175)),_0xd41774=_0x503df1[_0x5b36e8(0x160)];break;default:_0x2022ac=buildMergedItems(_0x8a974f,_0x503df1);break;}enrichAppListItemsWithMergedSelection(_0x2022ac,_0x170dc0[_0x5b36e8(0x17f)]);if(_0x2022ac['length']===0x0){const _0xb3c768=_0x1ba370===_0x5b36e8(0x178)?'':'\x20in\x20'+_0x1ba370+_0x5b36e8(0x177);return{'ok':!![],'data':[],'message':_0x5b36e8(0x168)+_0xb3c768+_0x5b36e8(0x17c)+CLI_BIN_NAME+'\x20app\x20add\x20<name>\x20--appcode\x20<code>`\x20to\x20add\x20one.'};}const _0x5badd6=_0x2022ac['find'](_0x28236f=>_0x28236f[_0x5b36e8(0x15c)]===!![]),_0x12e4d5=_0x23d22a??_0x5badd6?.[_0x5b36e8(0x16d)]??null,_0x4b50ad=_0x1ba370===_0x5b36e8(0x178)?{'globalPath':_0x503df1[_0x5b36e8(0x164)]??null,'projectPath':_0x503df1[_0x5b36e8(0x160)]??null,'defaultApp':_0x12e4d5,'defaultAppSource':_0x23d22a!=null?_0x2549da:null}:{'scope':_0x1ba370,'configPath':_0xd41774??null};return{'ok':!![],'data':{'items':_0x2022ac,'meta':_0x4b50ad}};}export const appListDefinition={'service':a21_0x400229(0x15d),'command':a21_0x400229(0x167),'description':a21_0x400229(0x166),'risk':a21_0x400229(0x17d),'requiresAuth':![],'requiresAppCode':![],'flags':[{'name':'global','type':a21_0x400229(0x171),'description':a21_0x400229(0x161),'default':![]},{'name':a21_0x400229(0x175),'type':a21_0x400229(0x171),'description':a21_0x400229(0x170),'default':![]}],'execute':execute};
1
+ const a21_0x33f26e=a21_0x1631;(function(_0x50a148,_0x5480d9){const _0x407b06=a21_0x1631,_0x4ddcdc=_0x50a148();while(!![]){try{const _0x16d029=parseInt(_0x407b06(0x98))/0x1+parseInt(_0x407b06(0x90))/0x2+-parseInt(_0x407b06(0x92))/0x3+-parseInt(_0x407b06(0x99))/0x4+parseInt(_0x407b06(0x89))/0x5*(parseInt(_0x407b06(0x8f))/0x6)+parseInt(_0x407b06(0x8d))/0x7*(-parseInt(_0x407b06(0x9a))/0x8)+parseInt(_0x407b06(0x95))/0x9;if(_0x16d029===_0x5480d9)break;else _0x4ddcdc['push'](_0x4ddcdc['shift']());}catch(_0x1fe295){_0x4ddcdc['push'](_0x4ddcdc['shift']());}}}(a21_0x1e97,0xb5029));import{readRawConfigWithLayers}from'../../context.js';function a21_0x1e97(){const _0x5675f7=['entries','merged','apps','665hcRBPt','globalConfig','push','app','140gxzLcd','list','37860QkIBJz','1966404vcCOhQ','projectConfig','4055169BMoTiV','\x20app\x20add\x20<name>\x20--appcode\x20<code>`\x20to\x20add\x20one.','isCurrent','2574108CpZDcQ','globalPath','projectPath','1459421BEveha','3325380RLIKqD','257352PILlhZ','project','global','boolean','object','List\x20all\x20configured\x20apps','No\x20apps\x20configured','find','mergedCli','bool','\x20config','map','.\x20Use\x20`','appcode'];a21_0x1e97=function(){return _0x5675f7;};return a21_0x1e97();}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(_0x190423,_0x19785a){const _0x57e075=a21_0x1631,_0x554c60=[],_0x5beb15=_0x190423[_0x57e075(0x88)]&&typeof _0x190423['apps']===_0x57e075(0x9e)?_0x190423[_0x57e075(0x88)]:{},_0x41ad28=_0x190423['defaultApp']||undefined;for(const [_0x5cfd4c,_0x227905]of Object[_0x57e075(0x86)](_0x5beb15)){if(!_0x227905||typeof _0x227905!==_0x57e075(0x9e)||!_0x227905['appcode'])continue;_0x554c60[_0x57e075(0x8b)]({'name':_0x5cfd4c,'appcode':_0x227905['appcode'],'named':!![],'definedIn':_0x19785a,'isDefault':_0x5cfd4c===_0x41ad28,...buildAppProfileListFields(_0x227905)});}return _0x554c60;}function buildMergedItems(_0x4f35f1,_0x32ca1f){const _0x1d39f4=a21_0x1631,{apps:apps={},defaultApp:_0x56e269}=_0x4f35f1,_0x5aaebf=_0x32ca1f[_0x1d39f4(0x8a)][_0x1d39f4(0x88)]&&typeof _0x32ca1f[_0x1d39f4(0x8a)]['apps']===_0x1d39f4(0x9e)?_0x32ca1f['globalConfig'][_0x1d39f4(0x88)]:{},_0x243501=_0x32ca1f[_0x1d39f4(0x91)][_0x1d39f4(0x88)]&&typeof _0x32ca1f['projectConfig']['apps']===_0x1d39f4(0x9e)?_0x32ca1f[_0x1d39f4(0x91)][_0x1d39f4(0x88)]:{},_0x5b4f6d=_0x32ca1f['projectConfig']['inherit']===![],_0x3eed14=Object[_0x1d39f4(0x86)](apps),_0x357f90=_0x3eed14[_0x1d39f4(0x83)](([_0x30bb35,_0x113b32])=>({'name':_0x30bb35,'appcode':_0x113b32['appcode'],'named':!![],'definedIn':appDefinedIn(_0x30bb35,_0x5aaebf,_0x243501,_0x5b4f6d),'isDefault':_0x30bb35===_0x56e269,...buildAppProfileListFields(_0x113b32)}));return _0x357f90;}function a21_0x1631(_0x1ea794,_0x439a9b){_0x1ea794=_0x1ea794-0x7d;const _0x1e97b9=a21_0x1e97();let _0x1631ad=_0x1e97b9[_0x1ea794];return _0x1631ad;}async function execute(_0x433ffa){const _0x15b642=a21_0x1631,_0x16e9d0=_0x433ffa[_0x15b642(0x81)](_0x15b642(0x9c)),_0x379179=_0x433ffa[_0x15b642(0x81)](_0x15b642(0x9b)),_0x5b7030=_0x16e9d0?'global':_0x379179?_0x15b642(0x9b):_0x15b642(0x87),{config:_0x580737,layers:_0x282311}=readRawConfigWithLayers(),_0x5d1574=resolveDefaultAppSource(_0x282311),{defaultApp:_0x49c744}=_0x580737;let _0x2e5191,_0x47d4a1;switch(_0x5b7030){case'global':_0x2e5191=buildItemsFromLayer(_0x282311[_0x15b642(0x8a)],'global'),_0x47d4a1=_0x282311[_0x15b642(0x96)];break;case'project':_0x2e5191=buildItemsFromLayer(_0x282311['projectConfig'],'project'),_0x47d4a1=_0x282311[_0x15b642(0x97)];break;default:_0x2e5191=buildMergedItems(_0x580737,_0x282311);break;}enrichAppListItemsWithMergedSelection(_0x2e5191,_0x433ffa[_0x15b642(0x80)]);if(_0x2e5191['length']===0x0){const _0x368dd8=_0x5b7030==='merged'?'':'\x20in\x20'+_0x5b7030+_0x15b642(0x82);return{'ok':!![],'data':[],'message':_0x15b642(0x7e)+_0x368dd8+_0x15b642(0x84)+CLI_BIN_NAME+_0x15b642(0x93)};}const _0x446a7c=_0x2e5191[_0x15b642(0x7f)](_0x594672=>_0x594672[_0x15b642(0x94)]===!![]),_0x50860f=_0x49c744??_0x446a7c?.[_0x15b642(0x85)]??null,_0x4f18b0=_0x5b7030==='merged'?{'globalPath':_0x282311[_0x15b642(0x96)]??null,'projectPath':_0x282311[_0x15b642(0x97)]??null,'defaultApp':_0x50860f,'defaultAppSource':_0x49c744!=null?_0x5d1574:null}:{'scope':_0x5b7030,'configPath':_0x47d4a1??null};return{'ok':!![],'data':{'items':_0x2e5191,'meta':_0x4f18b0}};}export const appListDefinition={'service':a21_0x33f26e(0x8c),'command':a21_0x33f26e(0x8e),'description':a21_0x33f26e(0x7d),'risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[{'name':a21_0x33f26e(0x9c),'type':'boolean','description':'Show\x20only\x20apps\x20from\x20global\x20~/.rabetbase.json','default':![]},{'name':a21_0x33f26e(0x9b),'type':a21_0x33f26e(0x9d),'description':'Show\x20only\x20apps\x20from\x20project\x20.rabetbase.json','default':![]}],'execute':execute};
@@ -1 +1 @@
1
- const a22_0x3c085c=a22_0x23b9;(function(_0x1fe6aa,_0x16c689){const _0x4a778c=a22_0x23b9,_0x45fbcf=_0x1fe6aa();while(!![]){try{const _0x1f28bc=-parseInt(_0x4a778c(0xa7))/0x1*(parseInt(_0x4a778c(0xab))/0x2)+parseInt(_0x4a778c(0x9b))/0x3+-parseInt(_0x4a778c(0x93))/0x4+parseInt(_0x4a778c(0xa3))/0x5*(-parseInt(_0x4a778c(0xa2))/0x6)+parseInt(_0x4a778c(0xa8))/0x7+parseInt(_0x4a778c(0xa1))/0x8*(-parseInt(_0x4a778c(0x9f))/0x9)+-parseInt(_0x4a778c(0x90))/0xa*(-parseInt(_0x4a778c(0x8c))/0xb);if(_0x1f28bc===_0x16c689)break;else _0x45fbcf['push'](_0x45fbcf['shift']());}catch(_0x25ede4){_0x45fbcf['push'](_0x45fbcf['shift']());}}}(a22_0x5b1c,0xbaa00));function a22_0x23b9(_0x4eb1e1,_0xca110a){_0x4eb1e1=_0x4eb1e1-0x8b;const _0x5b1cc2=a22_0x5b1c();let _0x23b9fb=_0x5b1cc2[_0x4eb1e1];return _0x23b9fb;}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(_0x22cb0b){const _0x4fb8e4=a22_0x23b9,_0x54855b=_0x22cb0b[_0x4fb8e4(0x95)][0x0]?.[_0x4fb8e4(0x9e)]();if(!_0x54855b)throw CliErrors[_0x4fb8e4(0xa6)](_0x4fb8e4(0x94),_0x4fb8e4(0xaa)+CLI_BIN_NAME+_0x4fb8e4(0xae));}async function execute(_0x5e1d06){const _0x3d97f8=a22_0x23b9,_0x1e69a8=_0x5e1d06[_0x3d97f8(0x95)][0x0]?.[_0x3d97f8(0x9e)]();if(!_0x1e69a8)throw CliErrors[_0x3d97f8(0xa6)]('Missing\x20app\x20name.',_0x3d97f8(0xaa)+CLI_BIN_NAME+_0x3d97f8(0xae));const _0x25e04c=_0x5e1d06[_0x3d97f8(0x8e)](_0x3d97f8(0x99)),{config:_0x138493,layers:_0x52204a}=readRawConfigWithLayers(),_0x18b202=_0x138493[_0x3d97f8(0xa0)]??{};if(!_0x18b202[_0x1e69a8])throw CliErrors[_0x3d97f8(0xa6)](_0x3d97f8(0x98)+_0x1e69a8+'\x22\x20not\x20found.');const _0x4d0184=_0x52204a['globalConfig'][_0x3d97f8(0xa0)]&&typeof _0x52204a[_0x3d97f8(0x96)][_0x3d97f8(0xa0)]===_0x3d97f8(0x8f)?_0x52204a[_0x3d97f8(0x96)][_0x3d97f8(0xa0)]:{},_0x3a621f=_0x52204a['projectConfig'][_0x3d97f8(0xa0)]&&typeof _0x52204a[_0x3d97f8(0xac)]['apps']===_0x3d97f8(0x8f)?_0x52204a[_0x3d97f8(0xac)][_0x3d97f8(0xa0)]:{},_0x42a4c7=appDefinedIn(_0x1e69a8,_0x4d0184,_0x3a621f,_0x52204a[_0x3d97f8(0xac)][_0x3d97f8(0xad)]===![]),_0x3f8967=resolveAppScopeForWrite(_0x1e69a8,_0x25e04c,_0x52204a),_0x28129c={'global':_0x3f8967===_0x3d97f8(0x99)},_0x1cfc01=readConfig(_0x28129c),_0x47f1a2=_0x1cfc01[_0x3d97f8(0xa0)];if(!_0x47f1a2||!_0x47f1a2[_0x1e69a8])throw CliErrors['validation'](_0x3d97f8(0x98)+_0x1e69a8+_0x3d97f8(0x9a));delete _0x47f1a2[_0x1e69a8];let _0x188b21='';if(_0x1cfc01[_0x3d97f8(0x9d)]===_0x1e69a8){const _0x2627dc=Object['keys'](_0x47f1a2);_0x1cfc01['defaultApp']=_0x2627dc[_0x3d97f8(0x8b)]>0x0?_0x2627dc[0x0]:undefined,_0x1cfc01[_0x3d97f8(0x9d)]?_0x188b21=_0x3d97f8(0xa9)+_0x1cfc01['defaultApp']+'\x22.':delete _0x1cfc01[_0x3d97f8(0x9d)];}Object['keys'](_0x47f1a2)[_0x3d97f8(0x8b)]===0x0&&(delete _0x1cfc01['apps'],delete _0x1cfc01[_0x3d97f8(0x9d)]);writeConfig(_0x1cfc01,_0x28129c);const _0x4248f2=_0x42a4c7==='both'?'\x20Note:\x20app\x20\x22'+_0x1e69a8+_0x3d97f8(0x9c)+(_0x3f8967===_0x3d97f8(0x92)?'global':'project')+'\x20config.':'';return{'ok':!![],'message':'Removed\x20app\x20\x22'+_0x1e69a8+'\x22'+scopeLabel(_0x28129c)+'.'+_0x188b21+_0x4248f2};}export const appRemoveDefinition={'service':a22_0x3c085c(0xa5),'command':a22_0x3c085c(0xaf),'description':a22_0x3c085c(0x97),'risk':'high-risk-write','requiresAuth':![],'requiresAppCode':![],'args':[{'name':a22_0x3c085c(0x8d),'description':'App\x20profile\x20name\x20to\x20remove','required':!![]}],'flags':[{'name':a22_0x3c085c(0x99),'type':a22_0x3c085c(0x91),'description':a22_0x3c085c(0xa4),'default':![]}],'validate':validateArgs,'execute':execute};function a22_0x5b1c(){const _0x329682=['66YDZcrI','357590jSLeZJ','Use\x20global\x20config\x20scope','app','validation','65845AuqvoS','6520801uGXfmr','\x20Default\x20app\x20changed\x20to\x20\x22','Usage:\x20','46brOPQj','projectConfig','inherit','\x20app\x20remove\x20<name>\x20[--global]','remove','length','7543129DQQBHC','name','bool','object','30ScxFrr','boolean','project','447072XHWTQk','Missing\x20app\x20name.','args','globalConfig','Remove\x20an\x20app\x20from\x20config','App\x20\x22','global','\x22\x20not\x20found.','3003465ctghJV','\x22\x20still\x20defined\x20in\x20','defaultApp','trim','27RWhOry','apps','2166928BDiafj'];a22_0x5b1c=function(){return _0x329682;};return a22_0x5b1c();}
1
+ const a22_0x5d3bc5=a22_0x2e10;(function(_0x2a8af7,_0x4fc691){const _0x33d9a1=a22_0x2e10,_0x22b72d=_0x2a8af7();while(!![]){try{const _0x402cf3=parseInt(_0x33d9a1(0x1c4))/0x1*(parseInt(_0x33d9a1(0x1cc))/0x2)+parseInt(_0x33d9a1(0x1bd))/0x3+parseInt(_0x33d9a1(0x1d5))/0x4*(-parseInt(_0x33d9a1(0x1d9))/0x5)+parseInt(_0x33d9a1(0x1be))/0x6*(parseInt(_0x33d9a1(0x1d1))/0x7)+-parseInt(_0x33d9a1(0x1d8))/0x8+-parseInt(_0x33d9a1(0x1ba))/0x9+-parseInt(_0x33d9a1(0x1c7))/0xa*(-parseInt(_0x33d9a1(0x1d4))/0xb);if(_0x402cf3===_0x4fc691)break;else _0x22b72d['push'](_0x22b72d['shift']());}catch(_0x3d39f7){_0x22b72d['push'](_0x22b72d['shift']());}}}(a22_0x54f9,0x20219));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';function a22_0x54f9(){const _0x5a7fc8=['521068GUVnOo','name','Removed\x20app\x20\x22','1773776UFJqDT','10HZVolk','defaultApp','keys','global','bool','validation','2332800FaYVjn','length','high-risk-write','319923uWXLEZ','815862hAttuC','App\x20profile\x20name\x20to\x20remove','\x22\x20not\x20found.','args','Missing\x20app\x20name.','project','616qEWuUU','Remove\x20an\x20app\x20from\x20config','both','5294230CoRJwv','\x22\x20still\x20defined\x20in\x20','App\x20\x22','projectConfig','object','328pyPsSv','Usage:\x20','apps','remove','boolean','7MNsrGu','\x20app\x20remove\x20<name>\x20[--global]','\x20Default\x20app\x20changed\x20to\x20\x22','11KSLnVs'];a22_0x54f9=function(){return _0x5a7fc8;};return a22_0x54f9();}async function validateArgs(_0xdbf723){const _0x4bf93d=a22_0x2e10,_0x1c503e=_0xdbf723[_0x4bf93d(0x1c1)][0x0]?.['trim']();if(!_0x1c503e)throw CliErrors[_0x4bf93d(0x1b9)](_0x4bf93d(0x1c2),_0x4bf93d(0x1cd)+CLI_BIN_NAME+_0x4bf93d(0x1d2));}async function execute(_0xafc6c6){const _0x3b243a=a22_0x2e10,_0x29533c=_0xafc6c6['args'][0x0]?.['trim']();if(!_0x29533c)throw CliErrors[_0x3b243a(0x1b9)](_0x3b243a(0x1c2),_0x3b243a(0x1cd)+CLI_BIN_NAME+'\x20app\x20remove\x20<name>\x20[--global]');const _0x565643=_0xafc6c6[_0x3b243a(0x1dd)](_0x3b243a(0x1dc)),{config:_0x2f77bf,layers:_0x300292}=readRawConfigWithLayers(),_0x40aefd=_0x2f77bf['apps']??{};if(!_0x40aefd[_0x29533c])throw CliErrors[_0x3b243a(0x1b9)](_0x3b243a(0x1c9)+_0x29533c+'\x22\x20not\x20found.');const _0x1f19c4=_0x300292['globalConfig'][_0x3b243a(0x1ce)]&&typeof _0x300292['globalConfig'][_0x3b243a(0x1ce)]===_0x3b243a(0x1cb)?_0x300292['globalConfig'][_0x3b243a(0x1ce)]:{},_0x173448=_0x300292[_0x3b243a(0x1ca)][_0x3b243a(0x1ce)]&&typeof _0x300292[_0x3b243a(0x1ca)][_0x3b243a(0x1ce)]===_0x3b243a(0x1cb)?_0x300292['projectConfig'][_0x3b243a(0x1ce)]:{},_0x184b90=appDefinedIn(_0x29533c,_0x1f19c4,_0x173448,_0x300292['projectConfig']['inherit']===![]),_0x20ed1a=resolveAppScopeForWrite(_0x29533c,_0x565643,_0x300292),_0x52391c={'global':_0x20ed1a===_0x3b243a(0x1dc)},_0x2bd369=readConfig(_0x52391c),_0x5c7529=_0x2bd369['apps'];if(!_0x5c7529||!_0x5c7529[_0x29533c])throw CliErrors[_0x3b243a(0x1b9)](_0x3b243a(0x1c9)+_0x29533c+_0x3b243a(0x1c0));delete _0x5c7529[_0x29533c];let _0x549499='';if(_0x2bd369[_0x3b243a(0x1da)]===_0x29533c){const _0x10da71=Object[_0x3b243a(0x1db)](_0x5c7529);_0x2bd369[_0x3b243a(0x1da)]=_0x10da71[_0x3b243a(0x1bb)]>0x0?_0x10da71[0x0]:undefined,_0x2bd369[_0x3b243a(0x1da)]?_0x549499=_0x3b243a(0x1d3)+_0x2bd369[_0x3b243a(0x1da)]+'\x22.':delete _0x2bd369[_0x3b243a(0x1da)];}Object[_0x3b243a(0x1db)](_0x5c7529)[_0x3b243a(0x1bb)]===0x0&&(delete _0x2bd369[_0x3b243a(0x1ce)],delete _0x2bd369[_0x3b243a(0x1da)]);writeConfig(_0x2bd369,_0x52391c);const _0x2e602d=_0x184b90===_0x3b243a(0x1c6)?'\x20Note:\x20app\x20\x22'+_0x29533c+_0x3b243a(0x1c8)+(_0x20ed1a===_0x3b243a(0x1c3)?_0x3b243a(0x1dc):'project')+'\x20config.':'';return{'ok':!![],'message':_0x3b243a(0x1d7)+_0x29533c+'\x22'+scopeLabel(_0x52391c)+'.'+_0x549499+_0x2e602d};}function a22_0x2e10(_0x2009f9,_0xf3c560){_0x2009f9=_0x2009f9-0x1b9;const _0x54f9f6=a22_0x54f9();let _0x2e10ca=_0x54f9f6[_0x2009f9];return _0x2e10ca;}export const appRemoveDefinition={'service':'app','command':a22_0x5d3bc5(0x1cf),'description':a22_0x5d3bc5(0x1c5),'risk':a22_0x5d3bc5(0x1bc),'requiresAuth':![],'requiresAppCode':![],'args':[{'name':a22_0x5d3bc5(0x1d6),'description':a22_0x5d3bc5(0x1bf),'required':!![]}],'flags':[{'name':a22_0x5d3bc5(0x1dc),'type':a22_0x5d3bc5(0x1d0),'description':'Use\x20global\x20config\x20scope','default':![]}],'validate':validateArgs,'execute':execute};
@@ -1 +1 @@
1
- (function(_0x586880,_0x5a39ad){const _0x25313e=a23_0x547e,_0x593c39=_0x586880();while(!![]){try{const _0x243a39=-parseInt(_0x25313e(0x8f))/0x1+parseInt(_0x25313e(0x87))/0x2+-parseInt(_0x25313e(0x93))/0x3+parseInt(_0x25313e(0x8b))/0x4*(parseInt(_0x25313e(0x90))/0x5)+parseInt(_0x25313e(0x84))/0x6*(-parseInt(_0x25313e(0x7c))/0x7)+parseInt(_0x25313e(0x94))/0x8+parseInt(_0x25313e(0x81))/0x9*(parseInt(_0x25313e(0x78))/0xa);if(_0x243a39===_0x5a39ad)break;else _0x593c39['push'](_0x593c39['shift']());}catch(_0x56fc74){_0x593c39['push'](_0x593c39['shift']());}}}(a23_0x1cc0,0x91624));import{resolveWriteConfigPath,readConfigFile,writeConfigFile}from'../../context.js';export function enrichAppListItemsWithMergedSelection(_0xeb3101,_0x415879){const _0x2371c=a23_0x547e;if(!_0x415879)return;const _0x349b10=_0x415879[_0x2371c(0x95)]&&typeof _0x415879[_0x2371c(0x95)]===_0x2371c(0x8d)?_0x415879[_0x2371c(0x95)]:{},_0x4fac98=Object[_0x2371c(0x82)](_0x349b10)[_0x2371c(0x86)]>0x0;for(const _0x59fd13 of _0xeb3101){_0x59fd13[_0x2371c(0x83)]=![];}const _0x12db0a=_0x415879[_0x2371c(0x92)]!=null?String(_0x415879['appCode'])['trim']():'';if(_0x4fac98){const _0xd9614f=_0x415879[_0x2371c(0x79)]??_0x415879[_0x2371c(0x7e)];if(_0xd9614f)for(const _0x1704ce of _0xeb3101){_0x1704ce[_0x2371c(0x88)]===!![]&&_0x1704ce[_0x2371c(0x80)]===_0xd9614f&&(_0x1704ce['isCurrent']=!![]);}for(const _0x12042b of _0xeb3101){if(_0x12042b['named']!==![])continue;if(_0x415879[_0x2371c(0x7e)])continue;_0x12db0a&&String(_0x12042b[_0x2371c(0x91)]??'')[_0x2371c(0x7b)]()===_0x12db0a&&(_0x12042b[_0x2371c(0x83)]=!![]);}return;}if(!_0x12db0a)return;for(const _0x2f4da2 of _0xeb3101){String(_0x2f4da2[_0x2371c(0x91)]??'')['trim']()===_0x12db0a&&(_0x2f4da2[_0x2371c(0x83)]=!![]);}}export function resolveAppScopeForWrite(_0x15f828,_0x5b6ea1,_0x180a39){const _0x2002f9=a23_0x547e;if(_0x5b6ea1)return _0x2002f9(0x7f);const _0x4843f5=_0x180a39[_0x2002f9(0x8e)]['apps']&&typeof _0x180a39['projectConfig'][_0x2002f9(0x95)]===_0x2002f9(0x8d)?_0x180a39['projectConfig'][_0x2002f9(0x95)]:{},_0x1e9759=_0x180a39[_0x2002f9(0x89)][_0x2002f9(0x95)]&&typeof _0x180a39['globalConfig'][_0x2002f9(0x95)]===_0x2002f9(0x8d)?_0x180a39[_0x2002f9(0x89)][_0x2002f9(0x95)]:{};if(Object[_0x2002f9(0x7a)]['hasOwnProperty'][_0x2002f9(0x85)](_0x4843f5,_0x15f828))return _0x2002f9(0x8a);if(Object['prototype'][_0x2002f9(0x7d)][_0x2002f9(0x85)](_0x1e9759,_0x15f828))return _0x2002f9(0x7f);return _0x2002f9(0x8a);}export function appDefinedIn(_0x1f3fc8,_0x3e459f,_0x4c0355,_0x135cff){const _0x2081f0=a23_0x547e;if(_0x135cff)return Object[_0x2081f0(0x7a)]['hasOwnProperty'][_0x2081f0(0x85)](_0x4c0355,_0x1f3fc8)?_0x2081f0(0x8a):_0x2081f0(0x7f);const _0x553c87=Object[_0x2081f0(0x7a)][_0x2081f0(0x7d)][_0x2081f0(0x85)](_0x3e459f,_0x1f3fc8),_0xb9163=Object['prototype']['hasOwnProperty'][_0x2081f0(0x85)](_0x4c0355,_0x1f3fc8);if(_0x553c87&&_0xb9163)return _0x2081f0(0x77);if(_0xb9163)return _0x2081f0(0x8a);return _0x2081f0(0x7f);}export function resolveDefaultAppSource(_0x2e6f39){const _0x456297=a23_0x547e,_0x3a79b2=_0x2e6f39[_0x456297(0x8e)]['apps']&&typeof _0x2e6f39[_0x456297(0x8e)][_0x456297(0x95)]===_0x456297(0x8d)?_0x2e6f39[_0x456297(0x8e)][_0x456297(0x95)]:{};if(_0x456297(0x7e)in _0x2e6f39[_0x456297(0x8e)])return _0x456297(0x8a);if(Object[_0x456297(0x82)](_0x3a79b2)['length']>0x0)return'project';if(_0x2e6f39['projectConfig'][_0x456297(0x8c)]===![])return null;if(_0x2e6f39['globalConfig'][_0x456297(0x7e)])return _0x456297(0x7f);return null;}export function getConfigPath(_0x49c573={}){const _0x2c2c0c=a23_0x547e,_0x5aac74=_0x49c573['global']?_0x2c2c0c(0x7f):_0x2c2c0c(0x8a);return resolveWriteConfigPath(_0x5aac74);}function a23_0x1cc0(){const _0x3352e9=['hasOwnProperty','defaultApp','global','name','3001797qaXXUf','keys','isCurrent','156rEDEZT','call','length','1724328GVlYnI','named','globalConfig','project','812wYoceI','inherit','object','projectConfig','728737nKrjGD','4115cTqhok','appcode','appCode','2196186LQkttz','6303368ANdLMf','apps','both','30ZPqAWE','currentApp','prototype','trim','205009jiaaCp'];a23_0x1cc0=function(){return _0x3352e9;};return a23_0x1cc0();}export function readConfig(_0x511556={}){return readConfigFile(getConfigPath(_0x511556));}function a23_0x547e(_0x130b6a,_0x22097c){_0x130b6a=_0x130b6a-0x77;const _0x1cc008=a23_0x1cc0();let _0x547ea5=_0x1cc008[_0x130b6a];return _0x547ea5;}export function writeConfig(_0x7473bf,_0x13836e={}){writeConfigFile(getConfigPath(_0x13836e),_0x7473bf);}export function scopeLabel(_0x5e79fe){const _0x313a63=a23_0x547e;return _0x5e79fe[_0x313a63(0x7f)]?'\x20(global)':'';}
1
+ (function(_0x9bf1f7,_0x1984cb){const _0x2cb44c=a23_0x3dfd,_0x2aad45=_0x9bf1f7();while(!![]){try{const _0xe69e39=-parseInt(_0x2cb44c(0x199))/0x1+parseInt(_0x2cb44c(0x1a2))/0x2*(-parseInt(_0x2cb44c(0x1b0))/0x3)+-parseInt(_0x2cb44c(0x19c))/0x4*(-parseInt(_0x2cb44c(0x1a0))/0x5)+parseInt(_0x2cb44c(0x1b5))/0x6+-parseInt(_0x2cb44c(0x19a))/0x7+parseInt(_0x2cb44c(0x19b))/0x8*(-parseInt(_0x2cb44c(0x1b8))/0x9)+parseInt(_0x2cb44c(0x1b4))/0xa;if(_0xe69e39===_0x1984cb)break;else _0x2aad45['push'](_0x2aad45['shift']());}catch(_0x4ad237){_0x2aad45['push'](_0x2aad45['shift']());}}}(a23_0x2449,0xa034b));import{resolveWriteConfigPath,readConfigFile,writeConfigFile}from'../../context.js';export function enrichAppListItemsWithMergedSelection(_0x453327,_0x54760b){const _0x57e160=a23_0x3dfd;if(!_0x54760b)return;const _0x348a41=_0x54760b['apps']&&typeof _0x54760b[_0x57e160(0x1af)]===_0x57e160(0x1b2)?_0x54760b['apps']:{},_0x3e21a3=Object[_0x57e160(0x1a6)](_0x348a41)[_0x57e160(0x1a9)]>0x0;for(const _0x2fc78d of _0x453327){_0x2fc78d['isCurrent']=![];}const _0xff174b=_0x54760b[_0x57e160(0x19f)]!=null?String(_0x54760b[_0x57e160(0x19f)])[_0x57e160(0x1ab)]():'';if(_0x3e21a3){const _0x23613c=_0x54760b[_0x57e160(0x1aa)]??_0x54760b[_0x57e160(0x1a5)];if(_0x23613c)for(const _0x32ad79 of _0x453327){_0x32ad79[_0x57e160(0x1ac)]===!![]&&_0x32ad79[_0x57e160(0x1ae)]===_0x23613c&&(_0x32ad79[_0x57e160(0x1b6)]=!![]);}for(const _0xf1985e of _0x453327){if(_0xf1985e[_0x57e160(0x1ac)]!==![])continue;if(_0x54760b[_0x57e160(0x1a5)])continue;_0xff174b&&String(_0xf1985e[_0x57e160(0x1a1)]??'')['trim']()===_0xff174b&&(_0xf1985e['isCurrent']=!![]);}return;}if(!_0xff174b)return;for(const _0x1c9dee of _0x453327){String(_0x1c9dee[_0x57e160(0x1a1)]??'')[_0x57e160(0x1ab)]()===_0xff174b&&(_0x1c9dee['isCurrent']=!![]);}}export function resolveAppScopeForWrite(_0x58d697,_0x4e92a1,_0x4ee6e3){const _0x4d9e87=a23_0x3dfd;if(_0x4e92a1)return _0x4d9e87(0x1a7);const _0x28214c=_0x4ee6e3['projectConfig']['apps']&&typeof _0x4ee6e3[_0x4d9e87(0x1b3)][_0x4d9e87(0x1af)]===_0x4d9e87(0x1b2)?_0x4ee6e3['projectConfig']['apps']:{},_0xfc1d78=_0x4ee6e3['globalConfig']['apps']&&typeof _0x4ee6e3[_0x4d9e87(0x1ad)]['apps']===_0x4d9e87(0x1b2)?_0x4ee6e3[_0x4d9e87(0x1ad)][_0x4d9e87(0x1af)]:{};if(Object[_0x4d9e87(0x19d)][_0x4d9e87(0x1a8)][_0x4d9e87(0x1a3)](_0x28214c,_0x58d697))return _0x4d9e87(0x19e);if(Object[_0x4d9e87(0x19d)]['hasOwnProperty'][_0x4d9e87(0x1a3)](_0xfc1d78,_0x58d697))return _0x4d9e87(0x1a7);return _0x4d9e87(0x19e);}export function appDefinedIn(_0x4af5c6,_0x1f501f,_0x205ff2,_0x387376){const _0x425add=a23_0x3dfd;if(_0x387376)return Object[_0x425add(0x19d)]['hasOwnProperty']['call'](_0x205ff2,_0x4af5c6)?_0x425add(0x19e):_0x425add(0x1a7);const _0x569054=Object[_0x425add(0x19d)][_0x425add(0x1a8)][_0x425add(0x1a3)](_0x1f501f,_0x4af5c6),_0x18609c=Object['prototype'][_0x425add(0x1a8)][_0x425add(0x1a3)](_0x205ff2,_0x4af5c6);if(_0x569054&&_0x18609c)return _0x425add(0x1b7);if(_0x18609c)return _0x425add(0x19e);return _0x425add(0x1a7);}export function resolveDefaultAppSource(_0x45e513){const _0x37210c=a23_0x3dfd,_0x57e9de=_0x45e513['projectConfig'][_0x37210c(0x1af)]&&typeof _0x45e513[_0x37210c(0x1b3)][_0x37210c(0x1af)]===_0x37210c(0x1b2)?_0x45e513[_0x37210c(0x1b3)][_0x37210c(0x1af)]:{};if(_0x37210c(0x1a5)in _0x45e513[_0x37210c(0x1b3)])return _0x37210c(0x19e);if(Object[_0x37210c(0x1a6)](_0x57e9de)[_0x37210c(0x1a9)]>0x0)return _0x37210c(0x19e);if(_0x45e513['projectConfig'][_0x37210c(0x1a4)]===![])return null;if(_0x45e513[_0x37210c(0x1ad)]['defaultApp'])return _0x37210c(0x1a7);return null;}function a23_0x3dfd(_0x1794b4,_0x2ae6b4){_0x1794b4=_0x1794b4-0x199;const _0x244943=a23_0x2449();let _0x3dfd5c=_0x244943[_0x1794b4];return _0x3dfd5c;}export function getConfigPath(_0x30b03e={}){const _0x1d7cfc=a23_0x3dfd,_0x2fef98=_0x30b03e[_0x1d7cfc(0x1a7)]?_0x1d7cfc(0x1a7):'project';return resolveWriteConfigPath(_0x2fef98);}export function readConfig(_0x5a6473={}){return readConfigFile(getConfigPath(_0x5a6473));}function a23_0x2449(){const _0x18a14f=['length','currentApp','trim','named','globalConfig','name','apps','3IyWtrF','\x20(global)','object','projectConfig','38332390UQXnlI','234624LbYVsl','isCurrent','both','3293640ZLWIxR','1109939PUuTiY','4858791ZEdYHd','8IrHuZe','38164RTMJTb','prototype','project','appCode','45tmqEkZ','appcode','2263994rDOmue','call','inherit','defaultApp','keys','global','hasOwnProperty'];a23_0x2449=function(){return _0x18a14f;};return a23_0x2449();}export function writeConfig(_0x25af05,_0x409862={}){writeConfigFile(getConfigPath(_0x409862),_0x25af05);}export function scopeLabel(_0x511216){const _0x12ac74=a23_0x3dfd;return _0x511216[_0x12ac74(0x1a7)]?_0x12ac74(0x1b1):'';}
@@ -1 +1 @@
1
- const a24_0x4db97e=a24_0x322a;function a24_0x322a(_0x2ecfea,_0x33f42){_0x2ecfea=_0x2ecfea-0x10a;const _0x2f2c2c=a24_0x2f2c();let _0x322abf=_0x2f2c2c[_0x2ecfea];return _0x322abf;}(function(_0x28e934,_0x321605){const _0x3f5e35=a24_0x322a,_0x51bd88=_0x28e934();while(!![]){try{const _0x841a7f=-parseInt(_0x3f5e35(0x11c))/0x1+-parseInt(_0x3f5e35(0x113))/0x2*(parseInt(_0x3f5e35(0x115))/0x3)+-parseInt(_0x3f5e35(0x12a))/0x4*(parseInt(_0x3f5e35(0x124))/0x5)+parseInt(_0x3f5e35(0x11d))/0x6+parseInt(_0x3f5e35(0x10b))/0x7+-parseInt(_0x3f5e35(0x133))/0x8*(-parseInt(_0x3f5e35(0x110))/0x9)+-parseInt(_0x3f5e35(0x131))/0xa*(-parseInt(_0x3f5e35(0x10c))/0xb);if(_0x841a7f===_0x321605)break;else _0x51bd88['push'](_0x51bd88['shift']());}catch(_0x5049d7){_0x51bd88['push'](_0x51bd88['shift']());}}}(a24_0x2f2c,0x2401b));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';function a24_0x2f2c(){const _0x5dc159=['458610HkPANq','trim','name','bool','use','projectConfig','args','181599dBdOyV','866376VwWRDc','\x20app\x20add\x20','write','hasOwnProperty','length','apps','object','20fayPIy','call','appcode','\x0aNote:\x20\x22','app','\x20app\x20use\x20<name>\x20[--global]','287992RgNxrI','Use\x20`','Missing\x20app\x20name.','validation','Available:\x20','global','keys','287890OLbwBM','Default\x20app\x20set\x20to\x20\x22','1467496WVuYRN','\x22\x20is\x20defined\x20in\x20global\x20config;\x20defaultApp\x20written\x20to\x20project\x20to\x20take\x20effect\x20in\x20merged\x20view.','676501ucHopD','132HFvOmi','Switch\x20the\x20default\x20app','\x20--appcode\x20<code>`\x20first.','Usage:\x20','9XRJOyI','defaultApp','prototype','2bPqCUz','Use\x20global\x20config\x20scope'];a24_0x2f2c=function(){return _0x5dc159;};return a24_0x2f2c();}import{readRawConfigWithLayers,isInProject}from'../../context.js';import{readConfig,writeConfig,scopeLabel}from'../../commands/app/shared.js';async function validateArgs(_0x31f27c){const _0xbba7b6=a24_0x322a,_0x2bfab1=_0x31f27c[_0xbba7b6(0x11b)][0x0]?.[_0xbba7b6(0x116)]();if(!_0x2bfab1)throw CliErrors['validation'](_0xbba7b6(0x12c),_0xbba7b6(0x10f)+CLI_BIN_NAME+'\x20app\x20use\x20<name>\x20[--global]');}async function execute(_0x183123){const _0x1d71d9=a24_0x322a,_0x11cf5e=_0x183123[_0x1d71d9(0x11b)][0x0]?.['trim']();if(!_0x11cf5e)throw CliErrors[_0x1d71d9(0x12d)](_0x1d71d9(0x12c),_0x1d71d9(0x10f)+CLI_BIN_NAME+_0x1d71d9(0x129));const _0x5148d4=_0x183123[_0x1d71d9(0x118)]('global'),{config:_0x390e82,layers:_0x20d902}=readRawConfigWithLayers(),_0x1a2f64=_0x390e82[_0x1d71d9(0x122)]??{};if(!_0x1a2f64[_0x11cf5e]){const _0x24108d=Object[_0x1d71d9(0x130)](_0x1a2f64),_0x594589=_0x24108d[_0x1d71d9(0x121)]===0x0?_0x1d71d9(0x12b)+CLI_BIN_NAME+_0x1d71d9(0x11e)+_0x11cf5e+_0x1d71d9(0x10e):_0x1d71d9(0x12e)+_0x24108d['join'](',\x20');throw CliErrors[_0x1d71d9(0x12d)]('App\x20\x22'+_0x11cf5e+'\x22\x20not\x20found.',_0x594589);}let _0x34e79c,_0x27cad0='';if(_0x5148d4)_0x34e79c={'global':!![]};else{const _0x26d7f2=isInProject()&&!!_0x20d902['projectPath'];_0x34e79c={'global':!_0x26d7f2};if(_0x26d7f2){const _0x3e6b60=_0x20d902[_0x1d71d9(0x11a)]['apps']&&typeof _0x20d902[_0x1d71d9(0x11a)]['apps']===_0x1d71d9(0x123)?_0x20d902['projectConfig'][_0x1d71d9(0x122)]:{};!Object[_0x1d71d9(0x112)][_0x1d71d9(0x120)][_0x1d71d9(0x125)](_0x3e6b60,_0x11cf5e)&&(_0x27cad0=_0x1d71d9(0x127)+_0x11cf5e+_0x1d71d9(0x10a));}}const _0x27aeed=readConfig(_0x34e79c);return _0x27aeed[_0x1d71d9(0x111)]=_0x11cf5e,writeConfig(_0x27aeed,_0x34e79c),{'ok':!![],'message':_0x1d71d9(0x132)+_0x11cf5e+'\x22\x20(appcode:\x20'+_0x1a2f64[_0x11cf5e][_0x1d71d9(0x126)]+')'+scopeLabel(_0x34e79c)+_0x27cad0};}export const appUseDefinition={'service':a24_0x4db97e(0x128),'command':a24_0x4db97e(0x119),'description':a24_0x4db97e(0x10d),'risk':a24_0x4db97e(0x11f),'requiresAuth':![],'requiresAppCode':![],'args':[{'name':a24_0x4db97e(0x117),'description':'App\x20profile\x20name\x20to\x20activate','required':!![]}],'flags':[{'name':a24_0x4db97e(0x12f),'type':'boolean','description':a24_0x4db97e(0x114),'default':![]}],'validate':validateArgs,'execute':execute};
1
+ const a24_0x5997a1=a24_0x2da2;function a24_0x2da2(_0x48d1d2,_0x25c3f5){_0x48d1d2=_0x48d1d2-0x96;const _0xecd5ac=a24_0xecd5();let _0x2da289=_0xecd5ac[_0x48d1d2];return _0x2da289;}function a24_0xecd5(){const _0x44ea20=['\x20app\x20add\x20','trim','bool','use','\x22\x20not\x20found.','5149718UlpXyW','Usage:\x20','app','310144GzhTVO','join','projectPath','Missing\x20app\x20name.','length','\x22\x20is\x20defined\x20in\x20global\x20config;\x20defaultApp\x20written\x20to\x20project\x20to\x20take\x20effect\x20in\x20merged\x20view.','object','\x20app\x20use\x20<name>\x20[--global]','args','8odsECu','408hWWoXR','3837993MygpsV','\x22\x20(appcode:\x20','476270auPHfF','\x0aNote:\x20\x22','projectConfig','32xbGPCT','81441DlhHtB','App\x20profile\x20name\x20to\x20activate','boolean','Switch\x20the\x20default\x20app','validation','name','defaultApp','\x20--appcode\x20<code>`\x20first.','global','Use\x20`','apps','prototype','5946018WTSyxS','20437350HZzSJJ'];a24_0xecd5=function(){return _0x44ea20;};return a24_0xecd5();}(function(_0x14d580,_0x18d72b){const _0x327091=a24_0x2da2,_0x11bd74=_0x14d580();while(!![]){try{const _0xdd407c=parseInt(_0x327091(0xb2))/0x1*(-parseInt(_0x327091(0xa9))/0x2)+parseInt(_0x327091(0xb4))/0x3+-parseInt(_0x327091(0xb9))/0x4*(-parseInt(_0x327091(0xb6))/0x5)+-parseInt(_0x327091(0x9f))/0x6+-parseInt(_0x327091(0xa6))/0x7+-parseInt(_0x327091(0xb3))/0x8*(parseInt(_0x327091(0xba))/0x9)+parseInt(_0x327091(0xa0))/0xa;if(_0xdd407c===_0x18d72b)break;else _0x11bd74['push'](_0x11bd74['shift']());}catch(_0x233a86){_0x11bd74['push'](_0x11bd74['shift']());}}}(a24_0xecd5,0xa03da));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(_0x337158){const _0x388f9d=a24_0x2da2,_0x30a61c=_0x337158['args'][0x0]?.[_0x388f9d(0xa2)]();if(!_0x30a61c)throw CliErrors[_0x388f9d(0x97)](_0x388f9d(0xac),_0x388f9d(0xa7)+CLI_BIN_NAME+_0x388f9d(0xb0));}async function execute(_0x3d6cfe){const _0x297151=a24_0x2da2,_0x386966=_0x3d6cfe[_0x297151(0xb1)][0x0]?.[_0x297151(0xa2)]();if(!_0x386966)throw CliErrors[_0x297151(0x97)](_0x297151(0xac),'Usage:\x20'+CLI_BIN_NAME+_0x297151(0xb0));const _0x19b120=_0x3d6cfe[_0x297151(0xa3)](_0x297151(0x9b)),{config:_0x279fe1,layers:_0x35cc45}=readRawConfigWithLayers(),_0x208919=_0x279fe1['apps']??{};if(!_0x208919[_0x386966]){const _0x33ba39=Object['keys'](_0x208919),_0x401a4c=_0x33ba39[_0x297151(0xad)]===0x0?_0x297151(0x9c)+CLI_BIN_NAME+_0x297151(0xa1)+_0x386966+_0x297151(0x9a):'Available:\x20'+_0x33ba39[_0x297151(0xaa)](',\x20');throw CliErrors[_0x297151(0x97)]('App\x20\x22'+_0x386966+_0x297151(0xa5),_0x401a4c);}let _0x4e9f90,_0x35aefa='';if(_0x19b120)_0x4e9f90={'global':!![]};else{const _0x36fcbd=isInProject()&&!!_0x35cc45[_0x297151(0xab)];_0x4e9f90={'global':!_0x36fcbd};if(_0x36fcbd){const _0x14c17d=_0x35cc45[_0x297151(0xb8)][_0x297151(0x9d)]&&typeof _0x35cc45[_0x297151(0xb8)][_0x297151(0x9d)]===_0x297151(0xaf)?_0x35cc45[_0x297151(0xb8)][_0x297151(0x9d)]:{};!Object[_0x297151(0x9e)]['hasOwnProperty']['call'](_0x14c17d,_0x386966)&&(_0x35aefa=_0x297151(0xb7)+_0x386966+_0x297151(0xae));}}const _0x32a16d=readConfig(_0x4e9f90);return _0x32a16d[_0x297151(0x99)]=_0x386966,writeConfig(_0x32a16d,_0x4e9f90),{'ok':!![],'message':'Default\x20app\x20set\x20to\x20\x22'+_0x386966+_0x297151(0xb5)+_0x208919[_0x386966]['appcode']+')'+scopeLabel(_0x4e9f90)+_0x35aefa};}export const appUseDefinition={'service':a24_0x5997a1(0xa8),'command':a24_0x5997a1(0xa4),'description':a24_0x5997a1(0x96),'risk':'write','requiresAuth':![],'requiresAppCode':![],'args':[{'name':a24_0x5997a1(0x98),'description':a24_0x5997a1(0xbb),'required':!![]}],'flags':[{'name':a24_0x5997a1(0x9b),'type':a24_0x5997a1(0xbc),'description':'Use\x20global\x20config\x20scope','default':![]}],'validate':validateArgs,'execute':execute};
@@ -1 +1 @@
1
- const a25_0x19fac2=a25_0x2da6;(function(_0x1e90dc,_0x96bb31){const _0x242f69=a25_0x2da6,_0x47415f=_0x1e90dc();while(!![]){try{const _0x1f7334=-parseInt(_0x242f69(0x137))/0x1+parseInt(_0x242f69(0x148))/0x2+-parseInt(_0x242f69(0x140))/0x3*(parseInt(_0x242f69(0x149))/0x4)+-parseInt(_0x242f69(0x13b))/0x5*(parseInt(_0x242f69(0x146))/0x6)+-parseInt(_0x242f69(0x135))/0x7*(parseInt(_0x242f69(0x13e))/0x8)+parseInt(_0x242f69(0x143))/0x9*(parseInt(_0x242f69(0x144))/0xa)+parseInt(_0x242f69(0x13c))/0xb;if(_0x1f7334===_0x96bb31)break;else _0x47415f['push'](_0x47415f['shift']());}catch(_0x5d9a27){_0x47415f['push'](_0x47415f['shift']());}}}(a25_0x1919,0x37263));function a25_0x2da6(_0x470d26,_0x37d9de){_0x470d26=_0x470d26-0x135;const _0x19199b=a25_0x1919();let _0x2da6d4=_0x19199b[_0x470d26];return _0x2da6d4;}import{unlinkSync,existsSync}from'node:fs';import{cookieFile}from'../../auth/constant.js';export const authDefinitions=[{'service':a25_0x19fac2(0x136),'command':a25_0x19fac2(0x13d),'description':a25_0x19fac2(0x13f),'risk':a25_0x19fac2(0x142),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a25_0x19fac2(0x14a),'type':a25_0x19fac2(0x14d),'description':a25_0x19fac2(0x138),'default':![]}],async 'execute'(_0xff181e){const _0x3f94f=a25_0x19fac2,{runAuthServer:_0x53db5e}=await import(_0x3f94f(0x141));return await _0x53db5e({'autoYes':_0xff181e[_0x3f94f(0x147)]('yes'),'nonInteractive':_0xff181e[_0x3f94f(0x14c)]}),{'ok':!![]};}},{'service':a25_0x19fac2(0x136),'command':a25_0x19fac2(0x139),'description':a25_0x19fac2(0x14b),'risk':a25_0x19fac2(0x13a),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x33588a){const _0x1ecfbc=a25_0x19fac2;return existsSync(cookieFile)?(unlinkSync(cookieFile),console['log']('✓\x20Logged\x20out')):console[_0x1ecfbc(0x145)]('!\x20Not\x20logged\x20in'),{'ok':!![]};}}];function a25_0x1919(){const _0x58b32c=['log','6jByXcO','bool','133800SIFlGI','48196BRWymV','yes','Clear\x20login\x20session','nonInteractive','boolean','43141cSlgqg','auth','204757oXwVpL','Skip\x20login\x20confirmation\x20and\x20start\x20browser\x20auth\x20immediately','logout','write','1608955iFdLlz','9977880ROyEiS','login','248EZSqAP','Login\x20via\x20browser','9yBZlvV','../../auth/auth-server-ui.js','read','9BxtTXx','56590bVwkuT'];a25_0x1919=function(){return _0x58b32c;};return a25_0x1919();}
1
+ const a25_0x316588=a25_0x433d;(function(_0x1b2782,_0x5b8cb4){const _0x52927c=a25_0x433d,_0x548100=_0x1b2782();while(!![]){try{const _0x57fee4=parseInt(_0x52927c(0xae))/0x1+parseInt(_0x52927c(0xa4))/0x2*(-parseInt(_0x52927c(0xb7))/0x3)+parseInt(_0x52927c(0xb9))/0x4*(parseInt(_0x52927c(0xa9))/0x5)+-parseInt(_0x52927c(0xa5))/0x6*(-parseInt(_0x52927c(0xb2))/0x7)+-parseInt(_0x52927c(0xb8))/0x8*(-parseInt(_0x52927c(0xad))/0x9)+-parseInt(_0x52927c(0xaa))/0xa*(parseInt(_0x52927c(0xb4))/0xb)+-parseInt(_0x52927c(0xb6))/0xc*(parseInt(_0x52927c(0xb3))/0xd);if(_0x57fee4===_0x5b8cb4)break;else _0x548100['push'](_0x548100['shift']());}catch(_0x331f18){_0x548100['push'](_0x548100['shift']());}}}(a25_0x5774,0xeaab1));function a25_0x5774(){const _0x4bc1ed=['boolean','6134562CoOTyr','29753282OqhRos','44YNzMDj','Skip\x20login\x20confirmation\x20and\x20start\x20browser\x20auth\x20immediately','12lUUzKf','61539qeiMAU','212768TbFBYP','1171336eCsuHo','Clear\x20login\x20session','14iykheC','6WFSpSW','✓\x20Logged\x20out','logout','auth','20OXzKly','2937570LsyIpi','nonInteractive','Login\x20via\x20browser','549WlDNQW','898476ZNlVek','yes','log'];a25_0x5774=function(){return _0x4bc1ed;};return a25_0x5774();}import{unlinkSync,existsSync}from'node:fs';import{cookieFile}from'../../auth/constant.js';function a25_0x433d(_0x4494a4,_0xdf1e7e){_0x4494a4=_0x4494a4-0xa3;const _0x577441=a25_0x5774();let _0x433d4f=_0x577441[_0x4494a4];return _0x433d4f;}export const authDefinitions=[{'service':a25_0x316588(0xa8),'command':'login','description':a25_0x316588(0xac),'risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':'yes','type':a25_0x316588(0xb1),'description':a25_0x316588(0xb5),'default':![]}],async 'execute'(_0x2dea8b){const _0x436e54=a25_0x316588,{runAuthServer:_0x24ba40}=await import('../../auth/auth-server-ui.js');return await _0x24ba40({'autoYes':_0x2dea8b['bool'](_0x436e54(0xaf)),'nonInteractive':_0x2dea8b[_0x436e54(0xab)]}),{'ok':!![]};}},{'service':a25_0x316588(0xa8),'command':a25_0x316588(0xa7),'description':a25_0x316588(0xa3),'risk':'write','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x371577){const _0x398577=a25_0x316588;return existsSync(cookieFile)?(unlinkSync(cookieFile),console[_0x398577(0xb0)](_0x398577(0xa6))):console['log']('!\x20Not\x20logged\x20in'),{'ok':!![]};}}];
@@ -1 +1 @@
1
- const a26_0x42d0f4=a26_0x3ba4;(function(_0x3eba39,_0x2b86a7){const _0x357f29=a26_0x3ba4,_0x56fa05=_0x3eba39();while(!![]){try{const _0x191199=-parseInt(_0x357f29(0x1ba))/0x1*(parseInt(_0x357f29(0x1ce))/0x2)+parseInt(_0x357f29(0x1c6))/0x3+-parseInt(_0x357f29(0x1d0))/0x4+-parseInt(_0x357f29(0x1a0))/0x5+parseInt(_0x357f29(0x1ed))/0x6*(parseInt(_0x357f29(0x1dd))/0x7)+parseInt(_0x357f29(0x1a2))/0x8*(-parseInt(_0x357f29(0x1ab))/0x9)+-parseInt(_0x357f29(0x1cb))/0xa*(-parseInt(_0x357f29(0x1d7))/0xb);if(_0x191199===_0x2b86a7)break;else _0x56fa05['push'](_0x56fa05['shift']());}catch(_0x59fe0b){_0x56fa05['push'](_0x56fa05['shift']());}}}(a26_0x1a31,0x2fe70));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';function a26_0x3ba4(_0x477679,_0x57a20f){_0x477679=_0x477679-0x193;const _0x1a313c=a26_0x1a31();let _0x3ba4f7=_0x1a313c[_0x477679];return _0x3ba4f7;}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';export const bffCreate={'service':a26_0x42d0f4(0x1e2),'command':a26_0x42d0f4(0x1b3),'description':a26_0x42d0f4(0x1c0),'risk':a26_0x42d0f4(0x1bd),'flags':[{'name':a26_0x42d0f4(0x1e8),'type':a26_0x42d0f4(0x1e6),'required':!![],'enum':[a26_0x42d0f4(0x1aa),a26_0x42d0f4(0x196),'HOOK'],'description':a26_0x42d0f4(0x19c)},{'name':a26_0x42d0f4(0x1d5),'type':a26_0x42d0f4(0x1e6),'required':!![],'description':a26_0x42d0f4(0x1e5)},{'name':a26_0x42d0f4(0x1bb),'type':'string','description':a26_0x42d0f4(0x1c1)},{'name':a26_0x42d0f4(0x1b4),'type':a26_0x42d0f4(0x1e6),'description':a26_0x42d0f4(0x1b7)},{'name':'datasetcode','type':a26_0x42d0f4(0x1e6),'description':a26_0x42d0f4(0x1ac)},{'name':a26_0x42d0f4(0x1be),'type':a26_0x42d0f4(0x1e6),'description':a26_0x42d0f4(0x1b8)},{'name':a26_0x42d0f4(0x1a4),'type':a26_0x42d0f4(0x1e6),'description':'Trigger\x20node\x20(HOOK\x20only)','enum':['before',a26_0x42d0f4(0x199)]}],async 'validate'(_0x4cf7f6){const _0x5be1b0=a26_0x42d0f4,_0xf9744a=_0x4cf7f6[_0x5be1b0(0x19d)](_0x5be1b0(0x1d5));if(!isValidBffFunctionName(_0xf9744a))throw CliErrors['validation']('Invalid\x20function\x20name\x20\x22'+_0xf9744a+_0x5be1b0(0x1ae));},async 'execute'(_0x1df293){const _0x548e4b=a26_0x42d0f4,_0x1f8391=loadBffProjectConfig(_0x1df293[_0x548e4b(0x193)]),_0x2d2d7d=_0x1df293[_0x548e4b(0x19d)](_0x548e4b(0x1e8)),_0x40b48d=_0x1df293[_0x548e4b(0x19d)]('name'),_0x4600e9=_0x1df293[_0x548e4b(0x19d)](_0x548e4b(0x1bb))||undefined,_0x2b4d1d=_0x2d2d7d===_0x548e4b(0x1a3)?await resolveHookOptions(_0x1f8391,_0x1df293):undefined,_0x434967=buildFilePath(_0x1f8391,_0x2d2d7d,_0x40b48d,_0x2b4d1d);if(await fileExists(_0x434967))throw CliErrors[_0x548e4b(0x1c7)](_0x548e4b(0x19b)+_0x434967);await mkdir(dirname(_0x434967),{'recursive':!![]});const _0x4f8903=generateTemplate(_0x2d2d7d,_0x40b48d,_0x1df293[_0x548e4b(0x193)],_0x4600e9,_0x2b4d1d);await writeFile(_0x434967,_0x4f8903,_0x548e4b(0x1e0));const _0x575759={'type':_0x2d2d7d,'name':_0x40b48d,'path':_0x434967};if(_0x4600e9)_0x575759['description']=_0x4600e9;if(_0x2b4d1d){if(_0x2b4d1d[_0x548e4b(0x1b4)])_0x575759[_0x548e4b(0x1b4)]=_0x2b4d1d['alias'];_0x575759['datasetCode']=_0x2b4d1d['datasetCode'],_0x575759[_0x548e4b(0x194)]=_0x2b4d1d[_0x548e4b(0x194)],_0x575759[_0x548e4b(0x1a9)]=_0x2b4d1d[_0x548e4b(0x1a9)];}return{'ok':!![],'data':_0x575759,'message':_0x548e4b(0x1ef)+_0x2d2d7d+_0x548e4b(0x1ec)+_0x40b48d};}};async function resolveHookOptions(_0x2f0a73,_0x2a2830){const _0x4f1145=a26_0x42d0f4,_0x134679=loadAliasMap(_0x2a2830[_0x4f1145(0x1d8)],undefined,resolveApiFilePath(_0x2a2830[_0x4f1145(0x1d8)],_0x2a2830[_0x4f1145(0x193)])),_0x163de8=_0x134679[_0x4f1145(0x1a6)]>0x0;let _0x247516,_0x1a4b42,_0xa46d23;const _0x380dae=_0x2a2830[_0x4f1145(0x19d)](_0x4f1145(0x1b4)),_0xe050b9=_0x2a2830[_0x4f1145(0x19d)](_0x4f1145(0x1e1));if(_0x380dae){const _0xda9123=resolveAlias(_0x2a2830[_0x4f1145(0x1d8)],_0x380dae,undefined,resolveApiFilePath(_0x2a2830['apiDir'],_0x2a2830['appCode']));if(!_0xda9123){const _0x33f3a2=_0x163de8?'Available\x20aliases:\x20'+_0x134679['map'](_0x56c2f8=>_0x56c2f8[_0x4f1145(0x1b4)])[_0x4f1145(0x1ad)](',\x20'):_0x4f1145(0x1c9)+CLI_BIN_NAME+_0x4f1145(0x1a8);throw CliErrors[_0x4f1145(0x1c7)](_0x4f1145(0x1d6)+_0x380dae+'\x22\x20not\x20found.\x20'+_0x33f3a2);}_0x247516=_0x380dae,_0x1a4b42=_0xda9123;}else{if(_0xe050b9){_0x1a4b42=_0xe050b9;const _0x2c67a4=_0x134679['find'](_0x2e9dce=>_0x2e9dce['datasetCode']===_0xe050b9);_0x247516=_0x2c67a4?.[_0x4f1145(0x1b4)];}else{if(_0x2a2830[_0x4f1145(0x1cd)])throw CliErrors[_0x4f1145(0x1c7)]('--alias\x20or\x20--datasetcode\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.');else{if(_0x163de8){const _0x44f6d2=_0x134679['map'](_0x1e7cbb=>_0x1e7cbb[_0x4f1145(0x1b4)]+'\x20('+_0x1e7cbb[_0x4f1145(0x1a7)]+')'),_0x5bc13b=await promptSelect(_0x4f1145(0x1c4),_0x44f6d2),_0x5c3cd0=_0x134679[_0x5bc13b];if(!_0x5c3cd0)throw CliErrors[_0x4f1145(0x1c7)](_0x4f1145(0x1d1));_0x247516=_0x5c3cd0[_0x4f1145(0x1b4)],_0x1a4b42=_0x5c3cd0['datasetCode'];}else{const _0x25785f=await listDatasets(_0x2a2830['appCode']);if(_0x25785f['length']===0x0)throw CliErrors[_0x4f1145(0x1c7)](_0x4f1145(0x1b5));const _0x2a7604=_0x25785f[_0x4f1145(0x1a1)](_0x494b0d=>_0x494b0d[_0x4f1145(0x1d5)]+'\x20('+_0x494b0d['code']+')'),_0x23ba5c=await promptSelect(_0x4f1145(0x1c4),_0x2a7604),_0x6a11ac=_0x25785f[_0x23ba5c];if(!_0x6a11ac)throw CliErrors[_0x4f1145(0x1c7)]('Invalid\x20dataset\x20selection.');_0x1a4b42=_0x6a11ac[_0x4f1145(0x1ca)],_0x247516=undefined;}}}}const _0x54e784=await listDatasets(_0x2a2830[_0x4f1145(0x193)]),_0x47879a=_0x54e784['find'](_0x2c880a=>_0x2c880a[_0x4f1145(0x1ca)]===_0x1a4b42);if(!_0x47879a)throw CliErrors[_0x4f1145(0x1c7)](_0x4f1145(0x1eb)+_0x1a4b42+_0x4f1145(0x1c3)+(_0x247516?_0x4f1145(0x1cc)+CLI_BIN_NAME+_0x4f1145(0x1e7):''));_0xa46d23=_0x47879a['id'];const _0x59a0e7=_0x247516??_0x1a4b42,_0x53e460=await listBffDatasetOperations(_0x2a2830['appCode'],_0xa46d23),_0x59296b=_0x53e460?Object[_0x4f1145(0x197)](_0x53e460):[];if(_0x59296b[_0x4f1145(0x1a6)]===0x0)throw CliErrors[_0x4f1145(0x1c7)](_0x4f1145(0x1d3)+_0x59a0e7+'.');let _0x4d34d1;const _0x244c7f=_0x2a2830[_0x4f1145(0x19d)](_0x4f1145(0x1be));if(_0x244c7f){if(!_0x59296b[_0x4f1145(0x198)](_0x244c7f))throw CliErrors[_0x4f1145(0x1c7)](_0x4f1145(0x1d4)+_0x244c7f+_0x4f1145(0x1de)+_0x59a0e7+'.\x20'+(_0x4f1145(0x19e)+_0x59296b[_0x4f1145(0x1ad)](',\x20')));_0x4d34d1=_0x244c7f;}else{if(_0x2a2830['nonInteractive'])throw CliErrors[_0x4f1145(0x1c7)](_0x4f1145(0x1bc));const _0x25d13d=await promptSelect('Select\x20operation\x20type:',_0x59296b);_0x4d34d1=_0x59296b[_0x25d13d]??_0x59296b[0x0];}let _0x1eb42=normalizeHookFunctionNode(_0x2a2830[_0x4f1145(0x19d)](_0x4f1145(0x1a4)));if(!_0x1eb42){if(_0x2a2830[_0x4f1145(0x19d)](_0x4f1145(0x1a4)))throw CliErrors[_0x4f1145(0x1c7)](_0x4f1145(0x1ea));if(_0x2a2830[_0x4f1145(0x1cd)])throw CliErrors[_0x4f1145(0x1c7)](_0x4f1145(0x1da));const _0x5a0634=await promptSelect('Select\x20trigger\x20node:',[_0x4f1145(0x1db),_0x4f1145(0x199)]);_0x1eb42=[_0x4f1145(0x1db),'after'][_0x5a0634]??'before';}return{'alias':_0x247516,'datasetCode':_0x1a4b42,'datasetId':_0xa46d23,'operationType':_0x4d34d1,'functionNode':_0x1eb42};}async function promptSelect(_0x2a0194,_0x43ec6c){const _0x151d4d=a26_0x42d0f4;if(_0x43ec6c[_0x151d4d(0x1a6)]===0x1)return 0x0;for(const [_0x3da048,_0x85ccb4]of _0x43ec6c[_0x151d4d(0x1e9)]()){process['stderr'][_0x151d4d(0x1bd)]('\x20\x20'+(_0x3da048+0x1)+'.\x20'+_0x85ccb4+'\x0a');}const _0x5d3f2c=createInterface({'input':process[_0x151d4d(0x1c8)],'output':process[_0x151d4d(0x1cf)]});while(!![]){const _0x3f65e3=await new Promise(_0x38f1a3=>{_0x5d3f2c['question'](_0x2a0194+'\x20',_0x38f1a3);}),_0x19b94f=Number['parseInt'](_0x3f65e3[_0x151d4d(0x1df)](),0xa);if(Number['isInteger'](_0x19b94f)&&_0x19b94f>=0x1&&_0x19b94f<=_0x43ec6c['length'])return _0x5d3f2c[_0x151d4d(0x1a5)](),_0x19b94f-0x1;process['stderr'][_0x151d4d(0x1bd)](_0x151d4d(0x1dc)+_0x43ec6c[_0x151d4d(0x1a6)]+'.\x0a');}}function buildFilePath(_0x4fc685,_0x3cec62,_0x569ef5,_0x203501){const _0x59b652=a26_0x42d0f4;if(_0x3cec62==='HOOK'){if(!_0x203501)throw CliErrors[_0x59b652(0x1c7)](_0x59b652(0x1bf));const _0x48cb9c=_0x203501[_0x59b652(0x1b4)]??_0x203501[_0x59b652(0x1b9)];return join(_0x4fc685[_0x59b652(0x195)],_0x59b652(0x1a3),_0x48cb9c,_0x203501[_0x59b652(0x194)],_0x203501[_0x59b652(0x1a9)],_0x569ef5+_0x59b652(0x1c5));}return join(_0x4fc685[_0x59b652(0x195)],_0x3cec62,_0x569ef5+_0x59b652(0x1c5));}export function generateTemplate(_0x39de6e,_0x120f8b,_0x52ea94,_0x37a4b2,_0x43730f){const _0x181aff=a26_0x42d0f4,_0x535e59=_0x37a4b2?.[_0x181aff(0x1df)]()||'TODO:\x20add\x20script\x20description';if(_0x39de6e===_0x181aff(0x1aa))return _0x181aff(0x19f)+_0x535e59+_0x181aff(0x19a)+_0x120f8b+_0x181aff(0x1c2)+_0x120f8b+_0x181aff(0x1b0)+_0x120f8b+_0x181aff(0x1b1);if(_0x39de6e===_0x181aff(0x196))return _0x181aff(0x1d2)+_0x535e59+_0x181aff(0x1b2)+_0x52ea94+'/'+_0x120f8b+_0x181aff(0x1ee)+_0x120f8b+_0x181aff(0x1b1);if(!_0x43730f)throw CliErrors[_0x181aff(0x1c7)](_0x181aff(0x1d9));return _0x181aff(0x1e4)+_0x535e59+_0x181aff(0x1af)+_0x52ea94+'/'+_0x43730f[_0x181aff(0x1b9)]+'/'+_0x43730f[_0x181aff(0x194)]+_0x181aff(0x1b6)+_0x43730f[_0x181aff(0x1a9)]+_0x181aff(0x1e3)+_0x120f8b+_0x181aff(0x1b1);}function a26_0x1a31(){const _0x10f3d5=['\x22.\x20Must\x20be\x20a\x20valid\x20JS\x20identifier\x20(e.g.\x20createOrder,\x20beforeFilter).','\x0a\x20*\x20[接口路径]\x20POST\x20/api/','.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','(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a','\x0a\x20*\x20[接口路径]\x20POST\x20/api/endpoint/{appCode}/{scriptName}\x0a\x20*\x20[当前示例]\x20POST\x20/api/endpoint/','create','alias','No\x20datasets\x20found\x20for\x20this\x20app.','\x0a\x20*\x20[触发节点]\x20','Dataset\x20alias\x20from\x20api.ts\x20(HOOK\x20only,\x20preferred)','Operation\x20type\x20(HOOK\x20only)','datasetCode','1dkPMGa','description','--operation-type\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','write','operation-type','HOOK\x20requires\x20alias/operation/node\x20options.','Scaffold\x20a\x20new\x20BFF\x20function\x20from\x20template','Script\x20description','\x0a\x20*\x20[脚本类型]\x20COMMON\x0a\x20*\x20[本地路径]\x20.rabetbase/bff/COMMON/','\x22.\x20','Select\x20dataset:','.js','649119bjpEXK','validation','stdin','No\x20api.ts\x20found.\x20Run\x20`','code','4530GytMQM','The\x20api.ts\x20may\x20be\x20stale\x20—\x20run\x20`','nonInteractive','635714pdvgme','stderr','357092fykSgI','Invalid\x20dataset\x20selection.','/**\x0a\x20*\x20ENDPOINT\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','No\x20operation\x20types\x20found\x20for\x20dataset\x20','Operation\x20type\x20\x22','name','Alias\x20\x22','15719drczrY','apiDir','HOOK\x20requires\x20hookOptions\x20for\x20template\x20generation.','--function-node\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','before','\x20\x20Enter\x20a\x20number\x20between\x201\x20and\x20','7nLHyDp','\x22\x20not\x20found\x20for\x20dataset\x20','trim','utf8','datasetcode','bff','\x0a\x20*\x0a\x20*\x20@param\x20{Object}\x20params\x20-\x20Current\x20request\x20params\x20or\x20response\x20result.\x0a\x20*\x20@param\x20{Object}\x20context\x20-\x20Execution\x20context\x20(injected\x20by\x20platform).\x0a\x20*\x20@returns\x20{Promise<Object>}\x20Modified\x20params\x20object.\x0a\x20*/\x0aexport\x20default\x20async\x20function\x20','/**\x0a\x20*\x20HOOK\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','Function\x20name\x20(valid\x20JS\x20identifier)','string','\x20api\x20pull`\x20to\x20refresh.','type','entries','--function-node\x20must\x20be\x20\x27before\x27\x20or\x20\x27after\x27.','Dataset\x20not\x20found\x20for\x20code\x20\x22','\x20function:\x20','786174RBsScr','\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','Created\x20','appCode','operationType','scriptsRootDir','ENDPOINT','keys','includes','after','\x0a\x20*\x20[脚本名称]\x20','File\x20already\x20exists:\x20','Script\x20type','str','Available:\x20','/**\x0a\x20*\x20COMMON\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','1541035NUyboR','map','16VmSjcc','HOOK','function-node','close','length','tableName','\x20api\x20pull`\x20first,\x20or\x20use\x20--datasetcode\x20instead.','functionNode','COMMON','374373sRHAGI','Dataset\x20code\x20(HOOK\x20only,\x20fallback\x20when\x20alias\x20unavailable)','join'];a26_0x1a31=function(){return _0x10f3d5;};return a26_0x1a31();}
1
+ const a26_0x357a03=a26_0x3594;(function(_0x231977,_0x344d76){const _0x17b516=a26_0x3594,_0x4feb4d=_0x231977();while(!![]){try{const _0x2262a7=-parseInt(_0x17b516(0xc4))/0x1+-parseInt(_0x17b516(0xb2))/0x2+parseInt(_0x17b516(0xb7))/0x3+-parseInt(_0x17b516(0xa5))/0x4+parseInt(_0x17b516(0x97))/0x5+parseInt(_0x17b516(0xcd))/0x6+parseInt(_0x17b516(0x8f))/0x7;if(_0x2262a7===_0x344d76)break;else _0x4feb4d['push'](_0x4feb4d['shift']());}catch(_0x1b9125){_0x4feb4d['push'](_0x4feb4d['shift']());}}}(a26_0xca67,0xb2303));import{createInterface}from'node:readline';import{mkdir,writeFile}from'node:fs/promises';function a26_0xca67(){const _0x5c2814=['\x0a\x20*\x20[接口路径]\x20POST\x20/api/','before','operation-type','function-node','/**\x0a\x20*\x20HOOK\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','Scaffold\x20a\x20new\x20BFF\x20function\x20from\x20template','BFF\x20HOOK','5359564hESiQg','question','Script\x20type','close','\x0a\x20*\x20[触发节点]\x20','tableName','join','No\x20operation\x20types\x20found\x20for\x20dataset\x20','HOOK\x20requires\x20alias/operation/node\x20options.','(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a','parseInt','Function\x20name\x20(valid\x20JS\x20identifier)','Invalid\x20dataset\x20selection.','1845992ERrXPt','datasetcode','Created\x20','No\x20api.ts\x20found.\x20Run\x20`','length','2717577thZGeV','name','string','description','Available\x20aliases:\x20','\x20\x20Enter\x20a\x20number\x20between\x201\x20and\x20','code','ENDPOINT','The\x20api.ts\x20may\x20be\x20stale\x20—\x20run\x20`','/**\x0a\x20*\x20ENDPOINT\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','Dataset\x20alias\x20from\x20api.ts\x20(HOOK\x20only,\x20preferred)','validation','Script\x20description','1099007kyKncN','Dataset\x20code\x20(HOOK\x20only,\x20fallback\x20when\x20alias\x20unavailable)','--operation-type\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','stderr','--function-node\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','Available:\x20','nonInteractive','alias','functionNode','777498CmADxV','Select\x20trigger\x20node:','--alias\x20or\x20--datasetcode\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','write','\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','datasetCode','apiDir','after','map','.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','includes','No\x20datasets\x20found\x20for\x20this\x20app.','TODO:\x20add\x20script\x20description','HOOK','trim','.js','find','Alias\x20\x22','operationType','\x0a\x20*\x20[脚本名称]\x20','entries','20018054GoiUhe','Invalid\x20function\x20name\x20\x22','\x20function:\x20','scriptsRootDir','\x22.\x20Must\x20be\x20a\x20valid\x20JS\x20identifier\x20(e.g.\x20createOrder,\x20beforeFilter).','\x22.\x20','str','COMMON','982945vxuNQq','Select\x20dataset:','/**\x0a\x20*\x20COMMON\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','appCode','Operation\x20type\x20\x22','type','\x0a\x20*\x20[脚本类型]\x20COMMON\x0a\x20*\x20[本地路径]\x20.rabetbase/bff/COMMON/'];a26_0xca67=function(){return _0x5c2814;};return a26_0xca67();}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';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':'bff','command':'create','description':a26_0x357a03(0xa3),'risk':a26_0x357a03(0xd0),'flags':[{'name':'type','type':a26_0x357a03(0xb9),'required':!![],'enum':[a26_0x357a03(0x96),'ENDPOINT',a26_0x357a03(0xda)],'description':a26_0x357a03(0xa7)},{'name':a26_0x357a03(0xb8),'type':a26_0x357a03(0xb9),'required':!![],'description':a26_0x357a03(0xb0)},{'name':a26_0x357a03(0xba),'type':a26_0x357a03(0xb9),'description':a26_0x357a03(0xc3)},{'name':a26_0x357a03(0xcb),'type':'string','description':a26_0x357a03(0xc1)},{'name':a26_0x357a03(0xb3),'type':a26_0x357a03(0xb9),'description':a26_0x357a03(0xc5)},{'name':a26_0x357a03(0xa0),'type':a26_0x357a03(0xb9),'description':'Operation\x20type\x20(HOOK\x20only)'},{'name':a26_0x357a03(0xa1),'type':a26_0x357a03(0xb9),'description':'Trigger\x20node\x20(HOOK\x20only)','enum':[a26_0x357a03(0x9f),a26_0x357a03(0xd4)]}],async 'validate'(_0x181a37){const _0x5bae23=a26_0x357a03,_0x10301c=_0x181a37[_0x5bae23(0x95)](_0x5bae23(0xb8));if(!isValidBffFunctionName(_0x10301c))throw CliErrors[_0x5bae23(0xc2)](_0x5bae23(0x90)+_0x10301c+_0x5bae23(0x93));},async 'execute'(_0x178580){const _0x53c85a=a26_0x357a03,_0x114e50=loadBffProjectConfig(_0x178580[_0x53c85a(0x9a)]),_0x13a148=_0x178580['str'](_0x53c85a(0x9c)),_0xd55d8=_0x178580[_0x53c85a(0x95)]('name'),_0x4affda=_0x178580[_0x53c85a(0x95)](_0x53c85a(0xba))||undefined,_0x24a7b6=_0x13a148==='HOOK'?await resolveHookOptions(_0x114e50,_0x178580):undefined,_0x4d7823=buildFilePath(_0x114e50,_0x13a148,_0xd55d8,_0x24a7b6);if(await fileExists(_0x4d7823))throw CliErrors[_0x53c85a(0xc2)]('File\x20already\x20exists:\x20'+_0x4d7823);await mkdir(dirname(_0x4d7823),{'recursive':!![]});const _0x47f95f=generateTemplate(_0x13a148,_0xd55d8,_0x178580['appCode'],_0x4affda,_0x24a7b6);await writeFile(_0x4d7823,_0x47f95f,'utf8');const _0x43a14a={'type':_0x13a148,'name':_0xd55d8,'path':_0x4d7823};if(_0x4affda)_0x43a14a['description']=_0x4affda;if(_0x24a7b6){if(_0x24a7b6[_0x53c85a(0xcb)])_0x43a14a[_0x53c85a(0xcb)]=_0x24a7b6[_0x53c85a(0xcb)];_0x43a14a['datasetCode']=_0x24a7b6[_0x53c85a(0xd2)],_0x43a14a[_0x53c85a(0x8c)]=_0x24a7b6[_0x53c85a(0x8c)],_0x43a14a[_0x53c85a(0xcc)]=_0x24a7b6[_0x53c85a(0xcc)];}return{'ok':!![],'data':_0x43a14a,'message':_0x53c85a(0xb4)+_0x13a148+_0x53c85a(0x91)+_0xd55d8};}};async function resolveHookOptions(_0x5eeae4,_0x11bc6b){const _0x4e7955=a26_0x357a03,_0x43a8aa=loadAliasMap(_0x11bc6b[_0x4e7955(0xd3)],undefined,resolveApiFilePath(_0x11bc6b[_0x4e7955(0xd3)],_0x11bc6b[_0x4e7955(0x9a)])),_0x9db5a9=_0x43a8aa['length']>0x0;let _0x10407e,_0x276ab5,_0x390cbb;const _0x5e8bc5=_0x11bc6b[_0x4e7955(0x95)](_0x4e7955(0xcb)),_0x59982f=_0x11bc6b['str'](_0x4e7955(0xb3));if(_0x5e8bc5){const _0x12dde6=resolveAlias(_0x11bc6b[_0x4e7955(0xd3)],_0x5e8bc5,undefined,resolveApiFilePath(_0x11bc6b['apiDir'],_0x11bc6b['appCode']));if(!_0x12dde6){const _0x471947=_0x9db5a9?_0x4e7955(0xbb)+_0x43a8aa[_0x4e7955(0xd5)](_0xb1838a=>_0xb1838a['alias'])[_0x4e7955(0xab)](',\x20'):_0x4e7955(0xb5)+CLI_BIN_NAME+'\x20api\x20pull`\x20first,\x20or\x20use\x20--datasetcode\x20instead.';throw CliErrors[_0x4e7955(0xc2)](_0x4e7955(0x8b)+_0x5e8bc5+'\x22\x20not\x20found.\x20'+_0x471947);}_0x10407e=_0x5e8bc5,_0x276ab5=_0x12dde6;}else{if(_0x59982f){_0x276ab5=_0x59982f;const _0x41bb9e=_0x43a8aa[_0x4e7955(0x8a)](_0x40ee4a=>_0x40ee4a[_0x4e7955(0xd2)]===_0x59982f);_0x10407e=_0x41bb9e?.[_0x4e7955(0xcb)];}else{if(_0x11bc6b[_0x4e7955(0xca)])throw CliErrors[_0x4e7955(0xc2)](_0x4e7955(0xcf));else{if(_0x9db5a9){const _0x53faf9=_0x43a8aa['map'](_0x2f9410=>_0x2f9410[_0x4e7955(0xcb)]+'\x20('+_0x2f9410[_0x4e7955(0xaa)]+')'),_0x3060ad=await promptSelect(_0x4e7955(0x98),_0x53faf9),_0x164f17=_0x43a8aa[_0x3060ad];if(!_0x164f17)throw CliErrors[_0x4e7955(0xc2)](_0x4e7955(0xb1));_0x10407e=_0x164f17[_0x4e7955(0xcb)],_0x276ab5=_0x164f17[_0x4e7955(0xd2)];}else{const _0xfa3e16=await listDatasets(_0x11bc6b['appCode']),_0x419b2e=filterDbBackedDatasets(_0xfa3e16);if(_0x419b2e[_0x4e7955(0xb6)]===0x0)throw CliErrors['validation'](_0xfa3e16[_0x4e7955(0xb6)]===0x0?_0x4e7955(0xd8):'No\x20DB\x20table\x20datasets\x20found\x20for\x20this\x20app.\x20METADATA\x20datasets\x20cannot\x20be\x20used\x20for\x20BFF\x20HOOK\x20development\x20because\x20the\x20workflow\x20depends\x20on\x20SQL\x20execution.');const _0x17170c=_0x419b2e[_0x4e7955(0xd5)](_0x45f28c=>_0x45f28c[_0x4e7955(0xb8)]+'\x20('+_0x45f28c[_0x4e7955(0xbd)]+')'),_0x56a947=await promptSelect(_0x4e7955(0x98),_0x17170c),_0x49dc4e=_0x419b2e[_0x56a947];if(!_0x49dc4e)throw CliErrors[_0x4e7955(0xc2)](_0x4e7955(0xb1));_0x276ab5=_0x49dc4e[_0x4e7955(0xbd)],_0x10407e=undefined;}}}}const _0x89d15=await listDatasets(_0x11bc6b[_0x4e7955(0x9a)]),_0x5c5821=_0x89d15['find'](_0x158d82=>_0x158d82[_0x4e7955(0xbd)]===_0x276ab5);if(!_0x5c5821)throw CliErrors[_0x4e7955(0xc2)]('Dataset\x20not\x20found\x20for\x20code\x20\x22'+_0x276ab5+_0x4e7955(0x94)+(_0x10407e?_0x4e7955(0xbf)+CLI_BIN_NAME+'\x20api\x20pull`\x20to\x20refresh.':''));assertDatasetSupportsLocalDevelopment(_0x5c5821,_0x4e7955(0xa4)),_0x390cbb=_0x5c5821['id'];const _0xd9ee7b=_0x10407e??_0x276ab5,_0x35c1b1=await listBffDatasetOperations(_0x11bc6b[_0x4e7955(0x9a)],_0x390cbb),_0x27a729=_0x35c1b1?Object['keys'](_0x35c1b1):[];if(_0x27a729[_0x4e7955(0xb6)]===0x0)throw CliErrors[_0x4e7955(0xc2)](_0x4e7955(0xac)+_0xd9ee7b+'.');let _0x11777f;const _0x41c133=_0x11bc6b['str'](_0x4e7955(0xa0));if(_0x41c133){if(!_0x27a729[_0x4e7955(0xd7)](_0x41c133))throw CliErrors[_0x4e7955(0xc2)](_0x4e7955(0x9b)+_0x41c133+'\x22\x20not\x20found\x20for\x20dataset\x20'+_0xd9ee7b+'.\x20'+(_0x4e7955(0xc9)+_0x27a729[_0x4e7955(0xab)](',\x20')));_0x11777f=_0x41c133;}else{if(_0x11bc6b[_0x4e7955(0xca)])throw CliErrors[_0x4e7955(0xc2)](_0x4e7955(0xc6));const _0x143339=await promptSelect('Select\x20operation\x20type:',_0x27a729);_0x11777f=_0x27a729[_0x143339]??_0x27a729[0x0];}let _0xf57dcf=normalizeHookFunctionNode(_0x11bc6b['str'](_0x4e7955(0xa1)));if(!_0xf57dcf){if(_0x11bc6b[_0x4e7955(0x95)](_0x4e7955(0xa1)))throw CliErrors[_0x4e7955(0xc2)]('--function-node\x20must\x20be\x20\x27before\x27\x20or\x20\x27after\x27.');if(_0x11bc6b[_0x4e7955(0xca)])throw CliErrors[_0x4e7955(0xc2)](_0x4e7955(0xc8));const _0x4fe2ee=await promptSelect(_0x4e7955(0xce),['before',_0x4e7955(0xd4)]);_0xf57dcf=[_0x4e7955(0x9f),'after'][_0x4fe2ee]??'before';}return{'alias':_0x10407e,'datasetCode':_0x276ab5,'datasetId':_0x390cbb,'operationType':_0x11777f,'functionNode':_0xf57dcf};}async function promptSelect(_0x1c677c,_0x5966e5){const _0x5d09b8=a26_0x357a03;if(_0x5966e5[_0x5d09b8(0xb6)]===0x1)return 0x0;for(const [_0x46bfdd,_0x58e0d8]of _0x5966e5[_0x5d09b8(0x8e)]()){process[_0x5d09b8(0xc7)][_0x5d09b8(0xd0)]('\x20\x20'+(_0x46bfdd+0x1)+'.\x20'+_0x58e0d8+'\x0a');}const _0x50f237=createInterface({'input':process['stdin'],'output':process[_0x5d09b8(0xc7)]});while(!![]){const _0x3d076e=await new Promise(_0x29f604=>{const _0x3e2d60=_0x5d09b8;_0x50f237[_0x3e2d60(0xa6)](_0x1c677c+'\x20',_0x29f604);}),_0x367c47=Number[_0x5d09b8(0xaf)](_0x3d076e[_0x5d09b8(0x88)](),0xa);if(Number['isInteger'](_0x367c47)&&_0x367c47>=0x1&&_0x367c47<=_0x5966e5['length'])return _0x50f237[_0x5d09b8(0xa8)](),_0x367c47-0x1;process[_0x5d09b8(0xc7)][_0x5d09b8(0xd0)](_0x5d09b8(0xbc)+_0x5966e5[_0x5d09b8(0xb6)]+'.\x0a');}}function a26_0x3594(_0x5917f2,_0x5dba52){_0x5917f2=_0x5917f2-0x88;const _0xca67c0=a26_0xca67();let _0x3594c1=_0xca67c0[_0x5917f2];return _0x3594c1;}function buildFilePath(_0x331d9d,_0x47fc2f,_0x52bfee,_0x465e3c){const _0x1a23ae=a26_0x357a03;if(_0x47fc2f===_0x1a23ae(0xda)){if(!_0x465e3c)throw CliErrors[_0x1a23ae(0xc2)](_0x1a23ae(0xad));const _0x533270=_0x465e3c[_0x1a23ae(0xcb)]??_0x465e3c[_0x1a23ae(0xd2)];return join(_0x331d9d['scriptsRootDir'],_0x1a23ae(0xda),_0x533270,_0x465e3c[_0x1a23ae(0x8c)],_0x465e3c['functionNode'],_0x52bfee+_0x1a23ae(0x89));}return join(_0x331d9d[_0x1a23ae(0x92)],_0x47fc2f,_0x52bfee+_0x1a23ae(0x89));}export function generateTemplate(_0x682e80,_0x3afbb0,_0x4984f7,_0x53db07,_0x5dfe9a){const _0x181b2b=a26_0x357a03,_0x2ed7d7=_0x53db07?.[_0x181b2b(0x88)]()||_0x181b2b(0xd9);if(_0x682e80===_0x181b2b(0x96))return _0x181b2b(0x99)+_0x2ed7d7+_0x181b2b(0x8d)+_0x3afbb0+_0x181b2b(0x9d)+_0x3afbb0+_0x181b2b(0xd6)+_0x3afbb0+_0x181b2b(0xae);if(_0x682e80===_0x181b2b(0xbe))return _0x181b2b(0xc0)+_0x2ed7d7+'\x0a\x20*\x20[接口路径]\x20POST\x20/api/endpoint/{appCode}/{scriptName}\x0a\x20*\x20[当前示例]\x20POST\x20/api/endpoint/'+_0x4984f7+'/'+_0x3afbb0+'\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'+_0x3afbb0+_0x181b2b(0xae);if(!_0x5dfe9a)throw CliErrors['validation']('HOOK\x20requires\x20hookOptions\x20for\x20template\x20generation.');return _0x181b2b(0xa2)+_0x2ed7d7+_0x181b2b(0x9e)+_0x4984f7+'/'+_0x5dfe9a['datasetCode']+'/'+_0x5dfe9a['operationType']+_0x181b2b(0xa9)+_0x5dfe9a[_0x181b2b(0xcc)]+_0x181b2b(0xd1)+_0x3afbb0+_0x181b2b(0xae);}
@@ -1 +1 @@
1
- function a27_0x8be2(){const _0x59f15e=['POST','42PmSbiF','join','apps','trashedTo','\x22.\x20Use\x20the\x20full\x20lock\x20key:\x0a','includes','string','stringify','No\x20lock\x20entry\x20found\x20for\x20\x22','BFF\x20lock\x20file\x20not\x20found.','\x20(local\x20file\x20moved\x20to\x20trash)','6umWhvZ','trashDir','486480ifYUwz','Delete\x20a\x20BFF\x20script\x20from\x20remote\x20and\x20local','\x20\x20-\x20','6035RraWKt','227432kyqFij','scriptsRoot','delete','lastSync','Local\x20delete\x20not\x20settled\x20for\x20','appCode','Lock\x20key\x20(e.g.\x20ENDPOINT/createOrder)\x20or\x20short\x20function\x20name','Would\x20delete\x20','keys','split','1444EfvMWX','replace','1808350kFUTdi','filter','find','projectRoot','target','3081016fFBxuX','77lqXALu','Function\x20not\x20found:\x20','length','high-risk-write','\x22\x20not\x20found\x20after\x20ensureLockScope.','startsWith','functions','scriptsRootDir','map','lockFilePath','607968oseTZI','validation','Deleted\x20','str','<timestamp>','remoteId','5513004ZNZePK','toISOString'];a27_0x8be2=function(){return _0x59f15e;};return a27_0x8be2();}const a27_0x1d4135=a27_0x51f1;function a27_0x51f1(_0x5980e0,_0x2b19e0){_0x5980e0=_0x5980e0-0x69;const _0x8be2b9=a27_0x8be2();let _0x51f1f1=_0x8be2b9[_0x5980e0];return _0x51f1f1;}(function(_0x49832b,_0x41ec36){const _0x1bc839=a27_0x51f1,_0x210538=_0x49832b();while(!![]){try{const _0x3332d9=-parseInt(_0x1bc839(0x97))/0x1*(parseInt(_0x1bc839(0x91))/0x2)+-parseInt(_0x1bc839(0x93))/0x3+parseInt(_0x1bc839(0x6b))/0x4*(parseInt(_0x1bc839(0x96))/0x5)+parseInt(_0x1bc839(0x7d))/0x6*(-parseInt(_0x1bc839(0x86))/0x7)+-parseInt(_0x1bc839(0x72))/0x8+parseInt(_0x1bc839(0x83))/0x9+-parseInt(_0x1bc839(0x6d))/0xa*(-parseInt(_0x1bc839(0x73))/0xb);if(_0x3332d9===_0x41ec36)break;else _0x210538['push'](_0x210538['shift']());}catch(_0xe3dc5f){_0x210538['push'](_0x210538['shift']());}}}(a27_0x8be2,0x745a1));import{mkdir,readdir,rename,rmdir}from'node:fs/promises';import{dirname,join,relative,resolve,sep}from'node:path';import{deleteBffScript}from'../../core/api-client.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{fileExists,resolveLocalFilePathFromLockKey}from'../../core/bff/file-system.js';import{ensureLockScope,readBffLockFile,writeBffLockFile}from'../../core/bff/lock.js';import{CliErrors}from'../../errors.js';import{sleep}from'../../utils/sleep.js';export const bffDelete={'service':'bff','command':'delete','description':a27_0x1d4135(0x94),'risk':a27_0x1d4135(0x76),'flags':[{'name':a27_0x1d4135(0x71),'type':a27_0x1d4135(0x8c),'required':!![],'description':a27_0x1d4135(0x9d)}],async 'validate'(_0x1d14e7){const _0x13d6cf=a27_0x1d4135,_0x1bc2fa=loadBffProjectConfig(_0x1d14e7[_0x13d6cf(0x9c)]),_0x2495db=await readBffLockFile(_0x1bc2fa[_0x13d6cf(0x7c)]);if(!_0x2495db)throw CliErrors[_0x13d6cf(0x7e)]('BFF\x20lock\x20file\x20not\x20found.\x20Run\x20`push`\x20or\x20`pull`\x20first\x20to\x20initialize\x20sync\x20state.');},async 'dryRun'(_0x17ace3){const _0x17af83=a27_0x1d4135,_0x371d85=loadBffProjectConfig(_0x17ace3[_0x17af83(0x9c)]),_0x25c5d2=await readBffLockFile(_0x371d85[_0x17af83(0x7c)]);if(!_0x25c5d2)throw CliErrors[_0x17af83(0x7e)](_0x17af83(0x8f));const {appLock:_0xbeddd3}=ensureLockScope(_0x25c5d2,_0x17ace3[_0x17af83(0x9c)],_0x371d85[_0x17af83(0x98)],_0x17af83(0x99)),_0x190712=_0x17ace3[_0x17af83(0x80)]('target'),_0x5f57a5=Object[_0x17af83(0x69)](_0xbeddd3[_0x17af83(0x79)]),_0x3b68e0=resolveDeleteTarget(_0x190712,_0x5f57a5),_0xf9e044=_0xbeddd3[_0x17af83(0x79)][_0x3b68e0];if(!_0xf9e044)throw CliErrors['validation'](_0x17af83(0x8e)+_0x3b68e0+'\x22.');const _0x4e232f=resolveLocalFilePathFromLockKey(_0x371d85,_0x3b68e0),_0x9c3d1b=relative(_0x371d85[_0x17af83(0x70)],_0x4e232f),_0x6279c=join(_0x371d85[_0x17af83(0x92)],_0x17af83(0x81),_0x9c3d1b);return{'method':_0x17af83(0x85),'url':'/api/management/library/scripts/delete','body':{'appCode':_0x17ace3['appCode'],'target':_0x3b68e0,'remoteId':_0xf9e044['remoteId'],'localFilePath':_0x4e232f,'trashedPath':_0x6279c},'description':_0x17af83(0x9e)+_0x3b68e0+'\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20trash'};},async 'execute'(_0x35ab0e){const _0x1b279b=a27_0x1d4135,_0x160efb=loadBffProjectConfig(_0x35ab0e[_0x1b279b(0x9c)]),_0x54041c=await readBffLockFile(_0x160efb['lockFilePath']);if(!_0x54041c)throw CliErrors[_0x1b279b(0x7e)]('BFF\x20lock\x20file\x20not\x20found.');const {lockData:_0xf2d655,appLock:_0x3a0273}=ensureLockScope(_0x54041c,_0x35ab0e[_0x1b279b(0x9c)],_0x160efb[_0x1b279b(0x98)],_0x1b279b(0x99)),_0x4d1267=JSON['parse'](JSON[_0x1b279b(0x8d)](_0xf2d655)),_0x4495fe=_0x4d1267[_0x1b279b(0x88)][_0x35ab0e[_0x1b279b(0x9c)]];if(!_0x4495fe)throw new Error('Lock\x20scope\x20for\x20app\x20\x22'+_0x35ab0e[_0x1b279b(0x9c)]+_0x1b279b(0x77));const _0x578d31=_0x35ab0e['str']('target'),_0x5315a1=Object[_0x1b279b(0x69)](_0x4495fe['functions']),_0x3fe2c1=resolveDeleteTarget(_0x578d31,_0x5315a1),_0xc9df8f=_0x4495fe[_0x1b279b(0x79)][_0x3fe2c1];if(!_0xc9df8f)throw CliErrors[_0x1b279b(0x7e)](_0x1b279b(0x8e)+_0x3fe2c1+'\x22.');await deleteBffScript(_0xc9df8f[_0x1b279b(0x82)]),delete _0x4495fe[_0x1b279b(0x79)][_0x3fe2c1],_0x4495fe[_0x1b279b(0x9a)]=new Date()[_0x1b279b(0x84)](),await writeBffLockFile(_0x160efb[_0x1b279b(0x7c)],_0x4d1267);const _0x39b46e=resolveLocalFilePathFromLockKey(_0x160efb,_0x3fe2c1);let _0x53e5f6;await fileExists(_0x39b46e)&&(_0x53e5f6=await moveToTrash(_0x160efb[_0x1b279b(0x70)],_0x160efb[_0x1b279b(0x92)],_0x39b46e),await cleanupEmptyDirectories(dirname(_0x39b46e),_0x160efb[_0x1b279b(0x7a)]));await waitForDeleteSettlement(_0x160efb['lockFilePath'],_0x35ab0e['appCode'],_0x3fe2c1,_0x39b46e),await sleep(0x96);const _0x30753f={'deleted':_0x3fe2c1,'remoteId':_0xc9df8f[_0x1b279b(0x82)]};if(_0x53e5f6)_0x30753f[_0x1b279b(0x89)]=_0x53e5f6;return{'ok':!![],'data':_0x30753f,'message':_0x1b279b(0x7f)+_0x3fe2c1+(_0x53e5f6?_0x1b279b(0x90):'')};}};function resolveDeleteTarget(_0x5d5e03,_0x5e59b8){const _0x5daa69=a27_0x1d4135;if(_0x5d5e03[_0x5daa69(0x8b)]('/')){const _0xce989a=_0x5e59b8[_0x5daa69(0x6f)](_0x5f362c=>_0x5f362c===_0x5d5e03);if(!_0xce989a)throw CliErrors[_0x5daa69(0x7e)](_0x5daa69(0x74)+_0x5d5e03);return _0xce989a;}const _0x17d975=_0x5e59b8[_0x5daa69(0x6e)](_0xc142f6=>_0xc142f6[_0x5daa69(0x6a)]('/')['at'](-0x1)===_0x5d5e03);if(_0x17d975['length']===0x0)throw CliErrors[_0x5daa69(0x7e)](_0x5daa69(0x74)+_0x5d5e03);if(_0x17d975['length']>0x1)throw CliErrors[_0x5daa69(0x7e)]('Multiple\x20functions\x20match\x20\x22'+_0x5d5e03+_0x5daa69(0x8a)+_0x17d975[_0x5daa69(0x7b)](_0x1237da=>_0x5daa69(0x95)+_0x1237da)[_0x5daa69(0x87)]('\x0a'));return _0x17d975[0x0];}async function moveToTrash(_0x28ade6,_0x5e206d,_0x4a6071){const _0x590eeb=a27_0x1d4135,_0x526f7e=new Date()[_0x590eeb(0x84)]()[_0x590eeb(0x6c)](/[:.]/g,'-'),_0x1bb675=relative(_0x28ade6,_0x4a6071),_0x5de6da=join(_0x5e206d,_0x526f7e,_0x1bb675);return await mkdir(dirname(_0x5de6da),{'recursive':!![]}),await rename(_0x4a6071,_0x5de6da),_0x5de6da;}async function cleanupEmptyDirectories(_0xd2713f,_0x47c019){const _0xd21499=a27_0x1d4135;let _0x3df89d=resolve(_0xd2713f);const _0x34a6f2=resolve(_0x47c019);while(_0x3df89d[_0xd21499(0x78)](''+_0x34a6f2+sep)||_0x3df89d===_0x34a6f2){if(_0x3df89d===_0x34a6f2)return;try{const _0x58b13d=await readdir(_0x3df89d);if(_0x58b13d[_0xd21499(0x75)]>0x0)return;await rmdir(_0x3df89d);}catch{return;}_0x3df89d=dirname(_0x3df89d);}}const DELETE_SETTLE_RETRY_COUNT=0x14,DELETE_SETTLE_DELAY_MS=0x64;async function waitForDeleteSettlement(_0xf92b3d,_0x384306,_0x4ce792,_0x11f780){const _0x5a059f=a27_0x1d4135;for(let _0x14eb23=0x0;_0x14eb23<DELETE_SETTLE_RETRY_COUNT;_0x14eb23+=0x1){const _0xd31136=await readBffLockFile(_0xf92b3d),_0xbae5fe=!!_0xd31136?.['apps']?.[_0x384306]?.[_0x5a059f(0x79)]?.[_0x4ce792],_0x1d006e=await fileExists(_0x11f780);if(!_0xbae5fe&&!_0x1d006e)return;await sleep(DELETE_SETTLE_DELAY_MS);}throw new Error(_0x5a059f(0x9b)+_0x4ce792+'.');}
1
+ const a27_0x21dd21=a27_0x1729;(function(_0x573616,_0x1c5dce){const _0x2e6322=a27_0x1729,_0x347977=_0x573616();while(!![]){try{const _0x1b5327=-parseInt(_0x2e6322(0x112))/0x1*(parseInt(_0x2e6322(0x116))/0x2)+parseInt(_0x2e6322(0x123))/0x3*(-parseInt(_0x2e6322(0x12d))/0x4)+-parseInt(_0x2e6322(0x10f))/0x5+-parseInt(_0x2e6322(0x134))/0x6*(-parseInt(_0x2e6322(0x11b))/0x7)+parseInt(_0x2e6322(0x11d))/0x8*(-parseInt(_0x2e6322(0x121))/0x9)+parseInt(_0x2e6322(0x119))/0xa+-parseInt(_0x2e6322(0x12b))/0xb*(-parseInt(_0x2e6322(0x10a))/0xc);if(_0x1b5327===_0x1c5dce)break;else _0x347977['push'](_0x347977['shift']());}catch(_0xe72e88){_0x347977['push'](_0x347977['shift']());}}}(a27_0x139d,0xae579));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';function a27_0x1729(_0x160c96,_0x81e22c){_0x160c96=_0x160c96-0x101;const _0x139d34=a27_0x139d();let _0x172991=_0x139d34[_0x160c96];return _0x172991;}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_0x21dd21(0x101),'command':a27_0x21dd21(0x10c),'description':a27_0x21dd21(0x11e),'risk':'high-risk-write','flags':[{'name':a27_0x21dd21(0x126),'type':'string','required':!![],'description':a27_0x21dd21(0x11c)}],async 'validate'(_0x3c11dd){const _0x218a0e=a27_0x21dd21,_0x5590bd=loadBffProjectConfig(_0x3c11dd['appCode']),_0x310e31=await readBffLockFile(_0x5590bd[_0x218a0e(0x127)]);if(!_0x310e31)throw CliErrors[_0x218a0e(0x125)]('BFF\x20lock\x20file\x20not\x20found.\x20Run\x20`push`\x20or\x20`pull`\x20first\x20to\x20initialize\x20sync\x20state.');},async 'dryRun'(_0x4fc63d){const _0xd339a5=a27_0x21dd21,_0x489aa5=loadBffProjectConfig(_0x4fc63d[_0xd339a5(0x124)]),_0x253e17=await readBffLockFile(_0x489aa5[_0xd339a5(0x127)]);if(!_0x253e17)throw CliErrors[_0xd339a5(0x125)](_0xd339a5(0x10b));const {appLock:_0x34b81a}=ensureLockScope(_0x253e17,_0x4fc63d[_0xd339a5(0x124)],_0x489aa5[_0xd339a5(0x130)],_0xd339a5(0x10c)),_0x90166c=_0x4fc63d[_0xd339a5(0x12f)](_0xd339a5(0x126)),_0xd5aeeb=Object[_0xd339a5(0x10d)](_0x34b81a['functions']),_0x38ebdb=resolveDeleteTarget(_0x90166c,_0xd5aeeb),_0x714b6b=_0x34b81a['functions'][_0x38ebdb];if(!_0x714b6b)throw CliErrors[_0xd339a5(0x125)]('No\x20lock\x20entry\x20found\x20for\x20\x22'+_0x38ebdb+'\x22.');const _0x2db9a7=resolveLocalFilePathFromLockKey(_0x489aa5,_0x38ebdb),_0x22e10=relative(_0x489aa5[_0xd339a5(0x115)],_0x2db9a7),_0x29a717=join(_0x489aa5[_0xd339a5(0x133)],'<timestamp>',_0x22e10);return{'method':_0xd339a5(0x128),'url':_0xd339a5(0x11a),'body':{'appCode':_0x4fc63d[_0xd339a5(0x124)],'target':_0x38ebdb,'remoteId':_0x714b6b[_0xd339a5(0x129)],'localFilePath':_0x2db9a7,'trashedPath':_0x29a717},'description':_0xd339a5(0x12e)+_0x38ebdb+_0xd339a5(0x12c)};},async 'execute'(_0x3e6cb5){const _0x5d18cb=a27_0x21dd21,_0x589c12=loadBffProjectConfig(_0x3e6cb5[_0x5d18cb(0x124)]),_0x583be0=await readBffLockFile(_0x589c12[_0x5d18cb(0x127)]);if(!_0x583be0)throw CliErrors[_0x5d18cb(0x125)]('BFF\x20lock\x20file\x20not\x20found.');const {lockData:_0x480d58,appLock:_0x141375}=ensureLockScope(_0x583be0,_0x3e6cb5['appCode'],_0x589c12[_0x5d18cb(0x130)],_0x5d18cb(0x10c)),_0x28e868=JSON['parse'](JSON[_0x5d18cb(0x114)](_0x480d58)),_0x28f847=_0x28e868[_0x5d18cb(0x131)][_0x3e6cb5[_0x5d18cb(0x124)]];if(!_0x28f847)throw new Error('Lock\x20scope\x20for\x20app\x20\x22'+_0x3e6cb5[_0x5d18cb(0x124)]+_0x5d18cb(0x111));const _0x26e360=_0x3e6cb5['str'](_0x5d18cb(0x126)),_0x21ca1a=Object['keys'](_0x28f847[_0x5d18cb(0x107)]),_0x2dc997=resolveDeleteTarget(_0x26e360,_0x21ca1a),_0x1aaa78=_0x28f847[_0x5d18cb(0x107)][_0x2dc997];if(!_0x1aaa78)throw CliErrors[_0x5d18cb(0x125)](_0x5d18cb(0x11f)+_0x2dc997+'\x22.');await deleteBffScript(_0x1aaa78['remoteId']),delete _0x28f847['functions'][_0x2dc997],_0x28f847[_0x5d18cb(0x117)]=new Date()[_0x5d18cb(0x110)](),await writeBffLockFile(_0x589c12['lockFilePath'],_0x28e868);const _0x35a5c0=resolveLocalFilePathFromLockKey(_0x589c12,_0x2dc997);let _0x101766;await fileExists(_0x35a5c0)&&(_0x101766=await moveToTrash(_0x589c12[_0x5d18cb(0x115)],_0x589c12['trashDir'],_0x35a5c0),await cleanupEmptyDirectories(dirname(_0x35a5c0),_0x589c12['scriptsRootDir']));await waitForDeleteSettlement(_0x589c12['lockFilePath'],_0x3e6cb5[_0x5d18cb(0x124)],_0x2dc997,_0x35a5c0),await sleep(0x96);const _0x3895de={'deleted':_0x2dc997,'remoteId':_0x1aaa78[_0x5d18cb(0x129)]};if(_0x101766)_0x3895de[_0x5d18cb(0x118)]=_0x101766;return{'ok':!![],'data':_0x3895de,'message':_0x5d18cb(0x12a)+_0x2dc997+(_0x101766?_0x5d18cb(0x109):'')};}};function resolveDeleteTarget(_0x228186,_0x413086){const _0x468206=a27_0x21dd21;if(_0x228186[_0x468206(0x113)]('/')){const _0x1a6b9b=_0x413086['find'](_0x3d8ea5=>_0x3d8ea5===_0x228186);if(!_0x1a6b9b)throw CliErrors[_0x468206(0x125)](_0x468206(0x132)+_0x228186);return _0x1a6b9b;}const _0x4b63d3=_0x413086[_0x468206(0x103)](_0x48a3bf=>_0x48a3bf[_0x468206(0x102)]('/')['at'](-0x1)===_0x228186);if(_0x4b63d3[_0x468206(0x122)]===0x0)throw CliErrors[_0x468206(0x125)]('Function\x20not\x20found:\x20'+_0x228186);if(_0x4b63d3[_0x468206(0x122)]>0x1)throw CliErrors[_0x468206(0x125)]('Multiple\x20functions\x20match\x20\x22'+_0x228186+_0x468206(0x108)+_0x4b63d3[_0x468206(0x104)](_0x5d0871=>_0x468206(0x10e)+_0x5d0871)[_0x468206(0x105)]('\x0a'));return _0x4b63d3[0x0];}async function moveToTrash(_0x2e69e8,_0xc59772,_0x197f78){const _0x291ade=a27_0x21dd21,_0x141512=new Date()[_0x291ade(0x110)]()['replace'](/[:.]/g,'-'),_0x5bfca6=relative(_0x2e69e8,_0x197f78),_0x3179d9=join(_0xc59772,_0x141512,_0x5bfca6);return await mkdir(dirname(_0x3179d9),{'recursive':!![]}),await rename(_0x197f78,_0x3179d9),_0x3179d9;}function a27_0x139d(){const _0x2874bc=['functions','\x22.\x20Use\x20the\x20full\x20lock\x20key:\x0a','\x20(local\x20file\x20moved\x20to\x20trash)','84ipyUKS','BFF\x20lock\x20file\x20not\x20found.','delete','keys','\x20\x20-\x20','2152440XNRLrW','toISOString','\x22\x20not\x20found\x20after\x20ensureLockScope.','1XhrUYV','includes','stringify','projectRoot','202312TWPzvc','lastSync','trashedTo','4918630upUSmJ','/api/management/library/scripts/delete','7gSbjgX','Lock\x20key\x20(e.g.\x20ENDPOINT/createOrder)\x20or\x20short\x20function\x20name','21032NaZsMe','Delete\x20a\x20BFF\x20script\x20from\x20remote\x20and\x20local','No\x20lock\x20entry\x20found\x20for\x20\x22','Local\x20delete\x20not\x20settled\x20for\x20','3186qyZkWe','length','15PHIbmb','appCode','validation','target','lockFilePath','POST','remoteId','Deleted\x20','817025XjSHmp','\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20trash','171800ZSOJWx','Would\x20delete\x20','str','scriptsRoot','apps','Function\x20not\x20found:\x20','trashDir','8276262inOLCa','bff','split','filter','map','join','startsWith'];a27_0x139d=function(){return _0x2874bc;};return a27_0x139d();}async function cleanupEmptyDirectories(_0x50d2a4,_0x42088b){const _0x8a71d5=a27_0x21dd21;let _0x50dd4a=resolve(_0x50d2a4);const _0xccc07=resolve(_0x42088b);while(_0x50dd4a[_0x8a71d5(0x106)](''+_0xccc07+sep)||_0x50dd4a===_0xccc07){if(_0x50dd4a===_0xccc07)return;try{const _0x360e41=await readdir(_0x50dd4a);if(_0x360e41[_0x8a71d5(0x122)]>0x0)return;await rmdir(_0x50dd4a);}catch{return;}_0x50dd4a=dirname(_0x50dd4a);}}const DELETE_SETTLE_RETRY_COUNT=0x14,DELETE_SETTLE_DELAY_MS=0x64;async function waitForDeleteSettlement(_0x279c1b,_0x56984c,_0x2e2bb6,_0x292f25){const _0x24b42a=a27_0x21dd21;for(let _0x46f899=0x0;_0x46f899<DELETE_SETTLE_RETRY_COUNT;_0x46f899+=0x1){const _0xb5bb94=await readBffLockFile(_0x279c1b),_0x1fd001=!!_0xb5bb94?.['apps']?.[_0x56984c]?.[_0x24b42a(0x107)]?.[_0x2e2bb6],_0x11e144=await fileExists(_0x292f25);if(!_0x1fd001&&!_0x11e144)return;await sleep(DELETE_SETTLE_DELAY_MS);}throw new Error(_0x24b42a(0x120)+_0x2e2bb6+'.');}
@@ -1 +1 @@
1
- function a28_0x4b67(_0x1bbe26,_0x70ba89){_0x1bbe26=_0x1bbe26-0xfb;const _0x2f69b0=a28_0x2f69();let _0x4b67c2=_0x2f69b0[_0x1bbe26];return _0x4b67c2;}const a28_0xc66a3a=a28_0x4b67;(function(_0x25d053,_0x24bfac){const _0x395662=a28_0x4b67,_0x45064f=_0x25d053();while(!![]){try{const _0x232a0e=-parseInt(_0x395662(0x10d))/0x1+parseInt(_0x395662(0x109))/0x2*(parseInt(_0x395662(0x106))/0x3)+parseInt(_0x395662(0x104))/0x4*(parseInt(_0x395662(0xfb))/0x5)+-parseInt(_0x395662(0xff))/0x6*(parseInt(_0x395662(0x10b))/0x7)+parseInt(_0x395662(0xfe))/0x8*(parseInt(_0x395662(0x10a))/0x9)+parseInt(_0x395662(0x10c))/0xa+-parseInt(_0x395662(0x108))/0xb;if(_0x232a0e===_0x24bfac)break;else _0x45064f['push'](_0x45064f['shift']());}catch(_0x1185fa){_0x45064f['push'](_0x45064f['shift']());}}}(a28_0x2f69,0xb2bea));import{getBffScriptInfo}from'../../core/api-client.js';export const bffDetail={'service':a28_0xc66a3a(0x102),'command':a28_0xc66a3a(0x10f),'description':'Get\x20BFF\x20script\x20details\x20by\x20ID','risk':'read','flags':[{'name':'id','type':a28_0xc66a3a(0x105),'required':!![],'description':a28_0xc66a3a(0xfd)},{'name':a28_0xc66a3a(0x101),'type':a28_0xc66a3a(0xfc),'description':a28_0xc66a3a(0x110)}],async 'execute'(_0x39f8c2){const _0x5f45ee=a28_0xc66a3a,_0x36e478=await getBffScriptInfo(_0x39f8c2[_0x5f45ee(0x100)]('id')),_0x252b9d=_0x39f8c2[_0x5f45ee(0x107)](_0x5f45ee(0x101));if(_0x252b9d)return{'ok':!![],'data':_0x36e478};return{'ok':!![],'data':{'id':_0x36e478['id'],'appCode':_0x36e478['appCode'],'scriptType':_0x36e478['scriptType'],'description':_0x36e478['description']||'(none)','createdTime':_0x36e478[_0x5f45ee(0x103)]??'','updatedTime':_0x36e478['updatedTime']??'','scriptContent':_0x36e478[_0x5f45ee(0x10e)]??''}};}};function a28_0x2f69(){const _0x5bdbeb=['1716410qJFMha','1145857eoqLod','scriptContent','detail','Return\x20full\x20raw\x20script\x20object','824115wRSzad','boolean','Script\x20ID','2160GRItkO','11166DzVqPI','num','verbose','bff','createdTime','4HCiHYD','number','5313nnmWEB','bool','1234211zWoZyr','1522uqxhWX','47358vhyrhs','4193EbStoF'];a28_0x2f69=function(){return _0x5bdbeb;};return a28_0x2f69();}
1
+ function a28_0x3e60(){const _0x52cc98=['907824KZIoie','(none)','bool','number','scriptType','description','read','updatedTime','verbose','appCode','bff','num','scriptContent','393ALlOds','2376765tflqOH','2562300OepcsA','detail','2758168rLaBRe','4269JAuSvo','522865Cyvtol','boolean','createdTime','Return\x20full\x20raw\x20script\x20object','386UfGKIE','148wIkbNp'];a28_0x3e60=function(){return _0x52cc98;};return a28_0x3e60();}const a28_0x1ee7cc=a28_0x3a94;(function(_0x291f91,_0x333974){const _0x4de9d3=a28_0x3a94,_0x4e9984=_0x291f91();while(!![]){try{const _0x2921fb=-parseInt(_0x4de9d3(0x1be))/0x1*(parseInt(_0x4de9d3(0x1c8))/0x2)+-parseInt(_0x4de9d3(0x1c3))/0x3*(-parseInt(_0x4de9d3(0x1c9))/0x4)+-parseInt(_0x4de9d3(0x1c4))/0x5+-parseInt(_0x4de9d3(0x1c0))/0x6+parseInt(_0x4de9d3(0x1c2))/0x7+parseInt(_0x4de9d3(0x1ca))/0x8+parseInt(_0x4de9d3(0x1bf))/0x9;if(_0x2921fb===_0x333974)break;else _0x4e9984['push'](_0x4e9984['shift']());}catch(_0x2929d5){_0x4e9984['push'](_0x4e9984['shift']());}}}(a28_0x3e60,0x34ebe));function a28_0x3a94(_0x21f85d,_0x4f4c99){_0x21f85d=_0x21f85d-0x1bc;const _0x3e6018=a28_0x3e60();let _0x3a94af=_0x3e6018[_0x21f85d];return _0x3a94af;}import{getBffScriptInfo}from'../../core/api-client.js';export const bffDetail={'service':a28_0x1ee7cc(0x1d4),'command':a28_0x1ee7cc(0x1c1),'description':'Get\x20BFF\x20script\x20details\x20by\x20ID','risk':a28_0x1ee7cc(0x1d0),'flags':[{'name':'id','type':a28_0x1ee7cc(0x1cd),'required':!![],'description':'Script\x20ID'},{'name':a28_0x1ee7cc(0x1d2),'type':a28_0x1ee7cc(0x1c5),'description':a28_0x1ee7cc(0x1c7)}],async 'execute'(_0x27f752){const _0x2e038c=a28_0x1ee7cc,_0x33dae1=await getBffScriptInfo(_0x27f752[_0x2e038c(0x1bc)]('id')),_0x1608a5=_0x27f752[_0x2e038c(0x1cc)](_0x2e038c(0x1d2));if(_0x1608a5)return{'ok':!![],'data':_0x33dae1};return{'ok':!![],'data':{'id':_0x33dae1['id'],'appCode':_0x33dae1[_0x2e038c(0x1d3)],'scriptType':_0x33dae1[_0x2e038c(0x1ce)],'description':_0x33dae1[_0x2e038c(0x1cf)]||_0x2e038c(0x1cb),'createdTime':_0x33dae1[_0x2e038c(0x1c6)]??'','updatedTime':_0x33dae1[_0x2e038c(0x1d1)]??'','scriptContent':_0x33dae1[_0x2e038c(0x1bd)]??''}};}};
@@ -1 +1 @@
1
- (function(_0x275dae,_0x1be674){const _0x522b7a=a29_0x1d1b,_0x1606d5=_0x275dae();while(!![]){try{const _0x163ef1=parseInt(_0x522b7a(0x199))/0x1+parseInt(_0x522b7a(0x194))/0x2+-parseInt(_0x522b7a(0x19a))/0x3*(parseInt(_0x522b7a(0x19b))/0x4)+parseInt(_0x522b7a(0x195))/0x5*(parseInt(_0x522b7a(0x198))/0x6)+-parseInt(_0x522b7a(0x19e))/0x7*(parseInt(_0x522b7a(0x19d))/0x8)+-parseInt(_0x522b7a(0x197))/0x9+-parseInt(_0x522b7a(0x196))/0xa*(-parseInt(_0x522b7a(0x19c))/0xb);if(_0x163ef1===_0x1be674)break;else _0x1606d5['push'](_0x1606d5['shift']());}catch(_0x8afb22){_0x1606d5['push'](_0x1606d5['shift']());}}}(a29_0x4fa8,0x8279d));function a29_0x1d1b(_0x3e4134,_0x37ac95){_0x3e4134=_0x3e4134-0x194;const _0x4fa81b=a29_0x4fa8();let _0x1d1b41=_0x4fa81b[_0x3e4134];return _0x1d1b41;}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';import{bffPull}from'../../commands/bff/pull.js';function a29_0x4fa8(){const _0x6dc080=['35RBOoKO','11333780NNNmAS','8361576uSxlvc','54048MoxoSs','384425lqkApX','797628cAtOky','16EuNkgg','22aHoApB','3832hGSxNz','9989vCUMKP','992586uLNvhL'];a29_0x4fa8=function(){return _0x6dc080;};return a29_0x4fa8();}import{bffDelete}from'../../commands/bff/delete.js';export const bffDefinitions=[bffList,bffDetail,bffStatus,bffCreate,bffPush,bffPull,bffDelete];
1
+ (function(_0x296adf,_0x3f5f6a){const _0x54b862=a29_0x2d8e,_0x351693=_0x296adf();while(!![]){try{const _0x350f4c=-parseInt(_0x54b862(0x9b))/0x1*(parseInt(_0x54b862(0x9c))/0x2)+-parseInt(_0x54b862(0x9e))/0x3*(-parseInt(_0x54b862(0x98))/0x4)+-parseInt(_0x54b862(0x9d))/0x5+-parseInt(_0x54b862(0xa1))/0x6*(-parseInt(_0x54b862(0xa0))/0x7)+parseInt(_0x54b862(0x9a))/0x8+-parseInt(_0x54b862(0xa2))/0x9*(parseInt(_0x54b862(0x99))/0xa)+parseInt(_0x54b862(0x9f))/0xb;if(_0x350f4c===_0x3f5f6a)break;else _0x351693['push'](_0x351693['shift']());}catch(_0x3b7695){_0x351693['push'](_0x351693['shift']());}}}(a29_0x2e59,0x99fc1));import{bffList}from'../../commands/bff/list.js';import{bffDetail}from'../../commands/bff/detail.js';function a29_0x2d8e(_0x25a5b6,_0x231daf){_0x25a5b6=_0x25a5b6-0x98;const _0x2e592e=a29_0x2e59();let _0x2d8e35=_0x2e592e[_0x25a5b6];return _0x2d8e35;}import{bffStatus}from'../../commands/bff/status.js';import{bffCreate}from'../../commands/bff/create.js';function a29_0x2e59(){const _0x2e7055=['3rDoLYL','1931523fSBwjD','14DDpuJs','2922636TQfbyL','9ElySkp','654172msaMio','11934050jrvGBL','6794648bYswNo','2gyffqF','239182hdiZWJ','496855qPJKaQ'];a29_0x2e59=function(){return _0x2e7055;};return a29_0x2e59();}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_0x4c71f9=a30_0x4a59;function a30_0x4a59(_0x3031c2,_0x4a3346){_0x3031c2=_0x3031c2-0x1e7;const _0x53a7b5=a30_0x53a7();let _0x4a5947=_0x53a7b5[_0x3031c2];return _0x4a5947;}(function(_0x1a11dd,_0x10964f){const _0x306711=a30_0x4a59,_0xb4d819=_0x1a11dd();while(!![]){try{const _0x1f8146=-parseInt(_0x306711(0x1eb))/0x1*(parseInt(_0x306711(0x1fe))/0x2)+-parseInt(_0x306711(0x1fd))/0x3+parseInt(_0x306711(0x1fb))/0x4*(-parseInt(_0x306711(0x1f9))/0x5)+parseInt(_0x306711(0x1ea))/0x6*(parseInt(_0x306711(0x1f8))/0x7)+-parseInt(_0x306711(0x1f6))/0x8+-parseInt(_0x306711(0x1e7))/0x9+parseInt(_0x306711(0x1f4))/0xa;if(_0x1f8146===_0x10964f)break;else _0xb4d819['push'](_0xb4d819['shift']());}catch(_0xa4c979){_0xb4d819['push'](_0xb4d819['shift']());}}}(a30_0x53a7,0xe0dcc));import{listBffScripts}from'../../core/api-client.js';function a30_0x53a7(){const _0x7317f0=['Script\x20type\x20filter','60hRDHSB','scriptType','2140518cgPXur','34906FjPDcc','verbose','367866ysAbkN','appCode','COMMON','99618VuQDmA','84CBRbDh','read','ENDPOINT','bff','Filter\x20by\x20script\x20name','string','bool','str','name','38401140VixIdL','List\x20BFF\x20scripts','8374736UDKbXH','map','154QUFTQy','5690BwduTz'];a30_0x53a7=function(){return _0x7317f0;};return a30_0x53a7();}export const bffList={'service':a30_0x4c71f9(0x1ee),'command':'list','description':a30_0x4c71f9(0x1f5),'risk':a30_0x4c71f9(0x1ec),'flags':[{'name':'type','type':a30_0x4c71f9(0x1f0),'description':a30_0x4c71f9(0x1fa),'default':a30_0x4c71f9(0x1ed),'enum':[a30_0x4c71f9(0x1ed),a30_0x4c71f9(0x1e9)]},{'name':a30_0x4c71f9(0x1f3),'type':'string','description':a30_0x4c71f9(0x1ef)},{'name':'verbose','type':'boolean','description':'Return\x20full\x20script\x20objects'}],async 'execute'(_0x330dd3){const _0x4f66a7=a30_0x4c71f9,_0x4a03fd=await listBffScripts(_0x330dd3[_0x4f66a7(0x1e8)],_0x330dd3[_0x4f66a7(0x1f2)]('type'),{'scriptName':_0x330dd3[_0x4f66a7(0x1f2)](_0x4f66a7(0x1f3))||undefined}),_0x24b55a=_0x330dd3[_0x4f66a7(0x1f1)](_0x4f66a7(0x1ff));return{'ok':!![],'data':_0x24b55a?_0x4a03fd:_0x4a03fd[_0x4f66a7(0x1f7)](_0x34bad=>({'id':_0x34bad['id'],'functionName':_0x34bad['functionName']??'','description':_0x34bad['description']||'(unnamed)','scriptType':_0x34bad[_0x4f66a7(0x1fc)]})),'message':_0x4a03fd['length']===0x0?'No\x20BFF\x20scripts\x20found.':undefined};}};
1
+ function a30_0x26bb(_0x14ac40,_0xa12146){_0x14ac40=_0x14ac40-0xba;const _0x36f039=a30_0x36f0();let _0x26bb90=_0x36f039[_0x14ac40];return _0x26bb90;}const a30_0x560a33=a30_0x26bb;(function(_0x9c1de3,_0x28b701){const _0x5c1d90=a30_0x26bb,_0x52ddc6=_0x9c1de3();while(!![]){try{const _0x173971=parseInt(_0x5c1d90(0xc6))/0x1+-parseInt(_0x5c1d90(0xc3))/0x2*(parseInt(_0x5c1d90(0xce))/0x3)+-parseInt(_0x5c1d90(0xc1))/0x4+-parseInt(_0x5c1d90(0xc0))/0x5*(-parseInt(_0x5c1d90(0xc8))/0x6)+parseInt(_0x5c1d90(0xbb))/0x7+parseInt(_0x5c1d90(0xc9))/0x8+-parseInt(_0x5c1d90(0xbf))/0x9;if(_0x173971===_0x28b701)break;else _0x52ddc6['push'](_0x52ddc6['shift']());}catch(_0x1cb653){_0x52ddc6['push'](_0x52ddc6['shift']());}}}(a30_0x36f0,0xbf32a));function a30_0x36f0(){const _0x38c868=['2776392PlThoA','No\x20BFF\x20scripts\x20found.','1392158cxCoOU','bool','verbose','516817jweEHq','map','42FNlWyC','6716520KeLlBl','Filter\x20by\x20script\x20name','appCode','description','ENDPOINT','6AXAkjx','string','List\x20BFF\x20scripts','name','boolean','(unnamed)','Script\x20type\x20filter','COMMON','7689493UXGVOK','type','str','list','3064113UOXwtN','539270soxAKt'];a30_0x36f0=function(){return _0x38c868;};return a30_0x36f0();}import{listBffScripts}from'../../core/api-client.js';export const bffList={'service':'bff','command':a30_0x560a33(0xbe),'description':a30_0x560a33(0xd0),'risk':'read','flags':[{'name':a30_0x560a33(0xbc),'type':a30_0x560a33(0xcf),'description':a30_0x560a33(0xd4),'default':'ENDPOINT','enum':[a30_0x560a33(0xcd),a30_0x560a33(0xba)]},{'name':a30_0x560a33(0xd1),'type':a30_0x560a33(0xcf),'description':a30_0x560a33(0xca)},{'name':a30_0x560a33(0xc5),'type':a30_0x560a33(0xd2),'description':'Return\x20full\x20script\x20objects'}],async 'execute'(_0x4ebf07){const _0x267ca8=a30_0x560a33,_0x10178a=await listBffScripts(_0x4ebf07[_0x267ca8(0xcb)],_0x4ebf07[_0x267ca8(0xbd)](_0x267ca8(0xbc)),{'scriptName':_0x4ebf07['str'](_0x267ca8(0xd1))||undefined}),_0x1eaec7=_0x4ebf07[_0x267ca8(0xc4)](_0x267ca8(0xc5));return{'ok':!![],'data':_0x1eaec7?_0x10178a:_0x10178a[_0x267ca8(0xc7)](_0x38f0f4=>({'id':_0x38f0f4['id'],'functionName':_0x38f0f4['functionName']??'','description':_0x38f0f4[_0x267ca8(0xcc)]||_0x267ca8(0xd3),'scriptType':_0x38f0f4['scriptType']})),'message':_0x10178a['length']===0x0?_0x267ca8(0xc2):undefined};}};
@@ -1 +1 @@
1
- const a31_0x5266cb=a31_0x1e81;(function(_0x35ec63,_0x462566){const _0x585766=a31_0x1e81,_0x4a084f=_0x35ec63();while(!![]){try{const _0xe1b590=-parseInt(_0x585766(0x9d))/0x1*(parseInt(_0x585766(0x8f))/0x2)+parseInt(_0x585766(0x83))/0x3+parseInt(_0x585766(0xb6))/0x4*(parseInt(_0x585766(0x77))/0x5)+-parseInt(_0x585766(0x8b))/0x6*(parseInt(_0x585766(0x8d))/0x7)+parseInt(_0x585766(0x8e))/0x8*(-parseInt(_0x585766(0x81))/0x9)+parseInt(_0x585766(0x79))/0xa+parseInt(_0x585766(0x9a))/0xb;if(_0xe1b590===_0x462566)break;else _0x4a084f['push'](_0x4a084f['shift']());}catch(_0xf7a22c){_0x4a084f['push'](_0x4a084f['shift']());}}}(a31_0x5d51,0xb9889));function a31_0x1e81(_0x3e096e,_0x540425){_0x3e096e=_0x3e096e-0x77;const _0x5d51b7=a31_0x5d51();let _0x1e81bd=_0x5d51b7[_0x3e096e];return _0x1e81bd;}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';function a31_0x5d51(){const _0x573ad5=['alias','yes','force','No\x20remote\x20BFF\x20scripts\x20found.','stringify','pull','functions','Force\x20overwrite\x20local\x20unsynced\x20changes','scriptsRoot','trim','Force\x20pull\x20will\x20overwrite\x20local\x20unsynced\x20changes.\x20Continue?\x20[y/N]\x20','lockFilePath','COMMON','\x20skipped,\x20','str','\x20failed','4myTGgC','unresolvable\x20target\x20path','type','4620180jxbngJ','filePath','1355540hYwmWo','question','operationType','Pull\x20only\x20this\x20script\x20type','bool','local\x20unsynced\x20changes','version','toISOString','7857rNyeNW','bff','2817711mkAPQg','\x22\x20not\x20found\x20after\x20ensureLockScope.','scriptContent','lockKey','hookLocation','string','push','Pull\x20remote\x20BFF\x20scripts\x20to\x20local','40254NZTLMU','nonInteractive','651GFItvI','1904RpMpSg','1372mpiCdv','length','includes','Lock\x20scope\x20for\x20app\x20\x22','parse','apiDir','boolean','/api/management/library/scripts/list?appCode=','appCode','functionName','datasetCode','11775203eFWzCH','functionNode','Remote\x20script\x20missing\x20id.','2154eyZuSj','HOOK','close','validation','write','&type=','toLowerCase','ENDPOINT','scriptType'];a31_0x5d51=function(){return _0x573ad5;};return a31_0x5d51();}import{createEmptyBffLock,ensureLockScope,readBffLockFile,writeBffLockFile}from'../../core/bff/lock.js';import{CliErrors}from'../../errors.js';export const bffPull={'service':a31_0x5266cb(0x82),'command':a31_0x5266cb(0xab),'description':a31_0x5266cb(0x8a),'risk':a31_0x5266cb(0xa1),'flags':[{'name':'type','type':a31_0x5266cb(0x88),'description':a31_0x5266cb(0x7c),'enum':[a31_0x5266cb(0xb2),a31_0x5266cb(0xa4),a31_0x5266cb(0x9e)]},{'name':a31_0x5266cb(0xa8),'type':a31_0x5266cb(0x95),'description':a31_0x5266cb(0xad)}],async 'dryRun'(_0x2e45ab){const _0x8fa74b=a31_0x5266cb,_0x1812e2=loadBffProjectConfig(_0x2e45ab['appCode']),_0x477960=await readBffLockFile(_0x1812e2[_0x8fa74b(0xb1)]),{appLock:_0x14cdf9}=ensureLockScope(_0x477960??createEmptyBffLock(),_0x2e45ab[_0x8fa74b(0x97)],_0x1812e2[_0x8fa74b(0xae)],'pull'),_0x308950=normalizeBffType(_0x2e45ab[_0x8fa74b(0xb4)](_0x8fa74b(0xb8)))??undefined,_0x2162f1=buildDatasetCodeToAliasMap(_0x2e45ab[_0x8fa74b(0x94)],_0x2e45ab['appCode']),[_0xcdc957,_0x1517a1]=await Promise['all']([listBffScripts(_0x2e45ab[_0x8fa74b(0x97)],_0x308950),getBffScriptStatistics(_0x2e45ab[_0x8fa74b(0x97)])]),_0x15cc27=createHookLocationMap(_0x1517a1),_0x13daca=[];for(const _0x21188b of _0xcdc957){const _0x122dd4=resolveRemoteScriptTarget(_0x1812e2,_0x21188b,_0x15cc27,_0x14cdf9[_0x8fa74b(0xac)],_0x2162f1);if(!_0x122dd4){_0x13daca[_0x8fa74b(0x89)]({'scriptType':_0x21188b[_0x8fa74b(0xa5)],'functionName':_0x21188b[_0x8fa74b(0x98)]??'','status':'skipped','reason':_0x8fa74b(0xb7)});continue;}const _0x213d3c=_0x14cdf9[_0x8fa74b(0xac)][_0x122dd4[_0x8fa74b(0x86)]],_0x526878=_0x21188b[_0x8fa74b(0x85)]!=null?computeContentHash(_0x21188b[_0x8fa74b(0x85)]):undefined,_0x810f06=await hasUnsyncedLocalChanges(_0x122dd4['filePath'],_0x213d3c,_0x526878);_0x13daca[_0x8fa74b(0x89)]({'lockKey':_0x122dd4[_0x8fa74b(0x86)],'filePath':_0x122dd4[_0x8fa74b(0x78)],'remoteId':_0x21188b['id']??null,'status':_0x810f06?'conflict':'would_pull'});}return{'method':'GET','url':_0x8fa74b(0x96)+_0x2e45ab[_0x8fa74b(0x97)]+(_0x308950?_0x8fa74b(0xa2)+_0x308950:''),'body':{'appCode':_0x2e45ab[_0x8fa74b(0x97)],'filterType':_0x308950??null,'files':_0x13daca},'description':'Would\x20inspect\x20'+_0x13daca[_0x8fa74b(0x90)]+'\x20remote\x20BFF\x20script(s)\x20for\x20pull'};},async 'execute'(_0x124a3b){const _0x35173d=a31_0x5266cb,_0x157865=loadBffProjectConfig(_0x124a3b[_0x35173d(0x97)]),_0x4a3e6e=await readBffLockFile(_0x157865[_0x35173d(0xb1)]),{lockData:_0x1018ea,appLock:_0x788bce}=ensureLockScope(_0x4a3e6e??createEmptyBffLock(),_0x124a3b[_0x35173d(0x97)],_0x157865[_0x35173d(0xae)],_0x35173d(0xab)),_0x33121f=normalizeBffType(_0x124a3b[_0x35173d(0xb4)]('type'))??undefined;if(_0x124a3b[_0x35173d(0xb4)](_0x35173d(0xb8))&&!_0x33121f)throw CliErrors[_0x35173d(0xa0)]('--type\x20must\x20be\x20COMMON,\x20ENDPOINT,\x20or\x20HOOK.');const [_0x2f12ef,_0x5a0ee1]=await Promise['all']([listBffScripts(_0x124a3b[_0x35173d(0x97)],_0x33121f),getBffScriptStatistics(_0x124a3b['appCode'])]);if(_0x2f12ef[_0x35173d(0x90)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x35173d(0xa9)};const _0x72d8d2=_0x124a3b[_0x35173d(0x7d)](_0x35173d(0xa8));if(_0x72d8d2&&!_0x124a3b[_0x35173d(0x8c)]){const _0x8e73a6=await confirmForce();if(!_0x8e73a6)throw CliErrors['cancelled']('Force\x20pull\x20cancelled.');}if(_0x72d8d2&&_0x124a3b['nonInteractive']){}const _0x2fe9bf=buildDatasetCodeToAliasMap(_0x124a3b[_0x35173d(0x94)],_0x124a3b[_0x35173d(0x97)]),_0x2f3909=createHookLocationMap(_0x5a0ee1),_0x534196=JSON[_0x35173d(0x93)](JSON[_0x35173d(0xaa)](_0x1018ea)),_0x282f6a=_0x124a3b['appCode'],_0x3af968=_0x534196['apps'][_0x282f6a];if(!_0x3af968)throw new Error(_0x35173d(0x92)+_0x282f6a+_0x35173d(0x84));const _0x417f2d=[],_0xfa9e9c=[],_0xfbb539=[];for(const _0x2c133f of _0x2f12ef){const _0x98aaae=resolveRemoteScriptTarget(_0x157865,_0x2c133f,_0x2f3909,_0x788bce[_0x35173d(0xac)],_0x2fe9bf);if(!_0x98aaae){_0xfa9e9c['push']({'lockKey':_0x2c133f[_0x35173d(0xa5)]+'/'+_0x2c133f[_0x35173d(0x98)],'reason':_0x35173d(0xb7)});continue;}const _0x27cb5d=_0x788bce[_0x35173d(0xac)][_0x98aaae['lockKey']];try{if(!_0x2c133f['id'])throw new Error(_0x35173d(0x9c));if(_0x2c133f[_0x35173d(0x85)]==null)throw new Error('Remote\x20script\x20missing\x20content.');const _0xd6a7ee=_0x2c133f[_0x35173d(0x85)],_0x329ea9=computeContentHash(_0xd6a7ee);if(!_0x72d8d2){const _0x80260d=await hasUnsyncedLocalChanges(_0x98aaae['filePath'],_0x27cb5d,_0x329ea9);if(_0x80260d){_0xfa9e9c[_0x35173d(0x89)]({'lockKey':_0x98aaae['lockKey'],'reason':_0x35173d(0x7e)});continue;}}await ensureParentDirectory(_0x98aaae['filePath']),await writeFile(_0x98aaae[_0x35173d(0x78)],_0xd6a7ee,'utf8');const _0x46ce38={'hash':_0x329ea9,'remoteId':_0x2c133f['id'],'version':_0x2c133f[_0x35173d(0x7f)]};_0x98aaae[_0x35173d(0xb8)]===_0x35173d(0x9e)&&_0x98aaae[_0x35173d(0x87)]&&(_0x46ce38[_0x35173d(0xa6)]=_0x98aaae[_0x35173d(0x87)][_0x35173d(0xa6)],_0x46ce38[_0x35173d(0x99)]=_0x98aaae[_0x35173d(0x87)][_0x35173d(0x99)],_0x46ce38['operationType']=_0x98aaae['hookLocation'][_0x35173d(0x7b)],_0x46ce38[_0x35173d(0x9b)]=_0x98aaae['hookLocation'][_0x35173d(0x9b)]),_0x3af968[_0x35173d(0xac)][_0x98aaae[_0x35173d(0x86)]]=_0x46ce38,_0x417f2d[_0x35173d(0x89)]({'lockKey':_0x98aaae[_0x35173d(0x86)],'remoteId':_0x2c133f['id']});}catch(_0x2d4cdd){_0xfbb539[_0x35173d(0x89)]({'lockKey':_0x98aaae[_0x35173d(0x86)],'error':_0x2d4cdd instanceof Error?_0x2d4cdd['message']:String(_0x2d4cdd)});}}return _0x3af968['lastSync']=new Date()[_0x35173d(0x80)](),await writeBffLockFile(_0x157865[_0x35173d(0xb1)],_0x534196),{'ok':_0xfbb539[_0x35173d(0x90)]===0x0,'data':{'pulled':_0x417f2d,'skipped':_0xfa9e9c,'failed':_0xfbb539},'message':'Pull\x20complete:\x20'+_0x417f2d[_0x35173d(0x90)]+'\x20pulled,\x20'+_0xfa9e9c['length']+_0x35173d(0xb3)+_0xfbb539[_0x35173d(0x90)]+_0x35173d(0xb5)};}};async function hasUnsyncedLocalChanges(_0xa9cb73,_0x58e028,_0x691ded){if(!await fileExists(_0xa9cb73))return![];const _0x379cc7=await computeFileHash(_0xa9cb73);if(!_0x58e028)return _0x691ded?_0x379cc7!==_0x691ded:!![];return _0x379cc7!==_0x58e028['hash'];}function buildDatasetCodeToAliasMap(_0x4a8624,_0x5a21ff){const _0x26a008=loadAliasMap(_0x4a8624,undefined,resolveApiFilePath(_0x4a8624,_0x5a21ff));return new Map(_0x26a008['map'](_0x1ea886=>[_0x1ea886['datasetCode'],_0x1ea886['alias']]));}async function confirmForce(){const _0x27b121=a31_0x5266cb,_0x5144b5=createInterface({'input':process['stdin'],'output':process['stderr']}),_0x32f37f=await new Promise(_0x5c7a65=>{const _0x19429b=a31_0x1e81;_0x5144b5[_0x19429b(0x7a)](_0x19429b(0xb0),_0x5c7a65);});return _0x5144b5[_0x27b121(0x9f)](),['y',_0x27b121(0xa7)][_0x27b121(0x91)](_0x32f37f[_0x27b121(0xaf)]()[_0x27b121(0xa3)]());}
1
+ const a31_0x3324bb=a31_0x27f4;function a31_0x27f4(_0x272d3d,_0x576915){_0x272d3d=_0x272d3d-0xb2;const _0x33fe42=a31_0x33fe();let _0x27f4ae=_0x33fe42[_0x272d3d];return _0x27f4ae;}(function(_0x60a61,_0x53d3bc){const _0x98153c=a31_0x27f4,_0x972be8=_0x60a61();while(!![]){try{const _0x5e3be9=-parseInt(_0x98153c(0xb8))/0x1+-parseInt(_0x98153c(0xde))/0x2+-parseInt(_0x98153c(0xd3))/0x3*(parseInt(_0x98153c(0xcd))/0x4)+parseInt(_0x98153c(0xe0))/0x5*(parseInt(_0x98153c(0xdc))/0x6)+-parseInt(_0x98153c(0xcf))/0x7*(parseInt(_0x98153c(0xc8))/0x8)+-parseInt(_0x98153c(0xbb))/0x9*(parseInt(_0x98153c(0xf2))/0xa)+parseInt(_0x98153c(0xe6))/0xb;if(_0x5e3be9===_0x53d3bc)break;else _0x972be8['push'](_0x972be8['shift']());}catch(_0x1192f9){_0x972be8['push'](_0x972be8['shift']());}}}(a31_0x33fe,0xebe67));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';function a31_0x33fe(){const _0x35becf=['\x20remote\x20BFF\x20script(s)\x20for\x20pull','write','str','scriptsRoot','yes','functionName','scriptType','Force\x20pull\x20will\x20overwrite\x20local\x20unsynced\x20changes.\x20Continue?\x20[y/N]\x20','3857390pOvfTD','operationType','cancelled','Would\x20inspect\x20','appCode','Pull\x20complete:\x20','lockKey','version','conflict','push','trim','toISOString','length','bool','all','674437VVgDiS','Force\x20pull\x20cancelled.','lockFilePath','9PVkDbn','datasetCode','nonInteractive','validation','unresolvable\x20target\x20path','string','utf8','Pull\x20only\x20this\x20script\x20type','\x22\x20not\x20found\x20after\x20ensureLockScope.','hookLocation','toLowerCase','apiDir','force','8SFnGPm','would_pull','functions','bff','filePath','7543616oMBrFi','message','7336994eynJPq','lastSync','Remote\x20script\x20missing\x20content.','\x20skipped,\x20','3RSIhNx','--type\x20must\x20be\x20COMMON,\x20ENDPOINT,\x20or\x20HOOK.','skipped','boolean','Pull\x20remote\x20BFF\x20scripts\x20to\x20local','No\x20remote\x20BFF\x20scripts\x20found.','pull','stdin','alias','1956pBTJMk','Remote\x20script\x20missing\x20id.','3739464GssJTi','scriptContent','25895MJsalD','hash','map','apps','type','\x20pulled,\x20','56560317xxDhqy','stderr','parse','HOOK'];a31_0x33fe=function(){return _0x35becf;};return a31_0x33fe();}import{createEmptyBffLock,ensureLockScope,readBffLockFile,writeBffLockFile}from'../../core/bff/lock.js';import{CliErrors}from'../../errors.js';export const bffPull={'service':a31_0x3324bb(0xcb),'command':'pull','description':a31_0x3324bb(0xd7),'risk':a31_0x3324bb(0xeb),'flags':[{'name':a31_0x3324bb(0xe4),'type':a31_0x3324bb(0xc0),'description':a31_0x3324bb(0xc2),'enum':['COMMON','ENDPOINT',a31_0x3324bb(0xe9)]},{'name':a31_0x3324bb(0xc7),'type':a31_0x3324bb(0xd6),'description':'Force\x20overwrite\x20local\x20unsynced\x20changes'}],async 'dryRun'(_0x12fd5c){const _0x509b1c=a31_0x3324bb,_0x679bba=loadBffProjectConfig(_0x12fd5c[_0x509b1c(0xf6)]),_0x120a6d=await readBffLockFile(_0x679bba['lockFilePath']),{appLock:_0x2e3896}=ensureLockScope(_0x120a6d??createEmptyBffLock(),_0x12fd5c[_0x509b1c(0xf6)],_0x679bba[_0x509b1c(0xed)],_0x509b1c(0xd9)),_0x334764=normalizeBffType(_0x12fd5c[_0x509b1c(0xec)](_0x509b1c(0xe4)))??undefined,_0x33e44c=buildDatasetCodeToAliasMap(_0x12fd5c['apiDir'],_0x12fd5c[_0x509b1c(0xf6)]),[_0x1dfc1b,_0x2bc21c]=await Promise[_0x509b1c(0xb7)]([listBffScripts(_0x12fd5c[_0x509b1c(0xf6)],_0x334764),getBffScriptStatistics(_0x12fd5c[_0x509b1c(0xf6)])]),_0xf6a56b=createHookLocationMap(_0x2bc21c),_0xcdc416=[];for(const _0x5d2118 of _0x1dfc1b){const _0x5a678b=resolveRemoteScriptTarget(_0x679bba,_0x5d2118,_0xf6a56b,_0x2e3896[_0x509b1c(0xca)],_0x33e44c);if(!_0x5a678b){_0xcdc416[_0x509b1c(0xb2)]({'scriptType':_0x5d2118[_0x509b1c(0xf0)],'functionName':_0x5d2118[_0x509b1c(0xef)]??'','status':_0x509b1c(0xd5),'reason':_0x509b1c(0xbf)});continue;}const _0x46b963=_0x2e3896[_0x509b1c(0xca)][_0x5a678b[_0x509b1c(0xf8)]],_0x496295=_0x5d2118['scriptContent']!=null?computeContentHash(_0x5d2118['scriptContent']):undefined,_0x30f40b=await hasUnsyncedLocalChanges(_0x5a678b['filePath'],_0x46b963,_0x496295);_0xcdc416[_0x509b1c(0xb2)]({'lockKey':_0x5a678b[_0x509b1c(0xf8)],'filePath':_0x5a678b[_0x509b1c(0xcc)],'remoteId':_0x5d2118['id']??null,'status':_0x30f40b?_0x509b1c(0xfa):_0x509b1c(0xc9)});}return{'method':'GET','url':'/api/management/library/scripts/list?appCode='+_0x12fd5c[_0x509b1c(0xf6)]+(_0x334764?'&type='+_0x334764:''),'body':{'appCode':_0x12fd5c['appCode'],'filterType':_0x334764??null,'files':_0xcdc416},'description':_0x509b1c(0xf5)+_0xcdc416['length']+_0x509b1c(0xea)};},async 'execute'(_0x381b12){const _0x3f8442=a31_0x3324bb,_0x587567=loadBffProjectConfig(_0x381b12[_0x3f8442(0xf6)]),_0x3dd251=await readBffLockFile(_0x587567[_0x3f8442(0xba)]),{lockData:_0x18bae9,appLock:_0x3e3160}=ensureLockScope(_0x3dd251??createEmptyBffLock(),_0x381b12[_0x3f8442(0xf6)],_0x587567[_0x3f8442(0xed)],'pull'),_0x5aeb1c=normalizeBffType(_0x381b12['str'](_0x3f8442(0xe4)))??undefined;if(_0x381b12[_0x3f8442(0xec)]('type')&&!_0x5aeb1c)throw CliErrors[_0x3f8442(0xbe)](_0x3f8442(0xd4));const [_0x49d699,_0x4bc009]=await Promise[_0x3f8442(0xb7)]([listBffScripts(_0x381b12[_0x3f8442(0xf6)],_0x5aeb1c),getBffScriptStatistics(_0x381b12[_0x3f8442(0xf6)])]);if(_0x49d699[_0x3f8442(0xb5)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x3f8442(0xd8)};const _0x4c9412=_0x381b12[_0x3f8442(0xb6)](_0x3f8442(0xc7));if(_0x4c9412&&!_0x381b12[_0x3f8442(0xbd)]){const _0x340240=await confirmForce();if(!_0x340240)throw CliErrors[_0x3f8442(0xf4)](_0x3f8442(0xb9));}if(_0x4c9412&&_0x381b12[_0x3f8442(0xbd)]){}const _0x3d4c91=buildDatasetCodeToAliasMap(_0x381b12[_0x3f8442(0xc6)],_0x381b12[_0x3f8442(0xf6)]),_0x424c09=createHookLocationMap(_0x4bc009),_0x250598=JSON[_0x3f8442(0xe8)](JSON['stringify'](_0x18bae9)),_0x5956ea=_0x381b12[_0x3f8442(0xf6)],_0x368162=_0x250598[_0x3f8442(0xe3)][_0x5956ea];if(!_0x368162)throw new Error('Lock\x20scope\x20for\x20app\x20\x22'+_0x5956ea+_0x3f8442(0xc3));const _0x3b4b23=[],_0x2e7fad=[],_0x4ea900=[];for(const _0x4abc67 of _0x49d699){const _0x4a148f=resolveRemoteScriptTarget(_0x587567,_0x4abc67,_0x424c09,_0x3e3160[_0x3f8442(0xca)],_0x3d4c91);if(!_0x4a148f){_0x2e7fad[_0x3f8442(0xb2)]({'lockKey':_0x4abc67[_0x3f8442(0xf0)]+'/'+_0x4abc67[_0x3f8442(0xef)],'reason':_0x3f8442(0xbf)});continue;}const _0x405d26=_0x3e3160[_0x3f8442(0xca)][_0x4a148f[_0x3f8442(0xf8)]];try{if(!_0x4abc67['id'])throw new Error(_0x3f8442(0xdd));if(_0x4abc67['scriptContent']==null)throw new Error(_0x3f8442(0xd1));const _0x3de13d=_0x4abc67[_0x3f8442(0xdf)],_0x1afd09=computeContentHash(_0x3de13d);if(!_0x4c9412){const _0x4728db=await hasUnsyncedLocalChanges(_0x4a148f[_0x3f8442(0xcc)],_0x405d26,_0x1afd09);if(_0x4728db){_0x2e7fad[_0x3f8442(0xb2)]({'lockKey':_0x4a148f[_0x3f8442(0xf8)],'reason':'local\x20unsynced\x20changes'});continue;}}await ensureParentDirectory(_0x4a148f[_0x3f8442(0xcc)]),await writeFile(_0x4a148f[_0x3f8442(0xcc)],_0x3de13d,_0x3f8442(0xc1));const _0x54ff3d={'hash':_0x1afd09,'remoteId':_0x4abc67['id'],'version':_0x4abc67[_0x3f8442(0xf9)]};_0x4a148f[_0x3f8442(0xe4)]===_0x3f8442(0xe9)&&_0x4a148f['hookLocation']&&(_0x54ff3d['alias']=_0x4a148f['hookLocation'][_0x3f8442(0xdb)],_0x54ff3d[_0x3f8442(0xbc)]=_0x4a148f[_0x3f8442(0xc4)][_0x3f8442(0xbc)],_0x54ff3d[_0x3f8442(0xf3)]=_0x4a148f[_0x3f8442(0xc4)][_0x3f8442(0xf3)],_0x54ff3d['functionNode']=_0x4a148f[_0x3f8442(0xc4)]['functionNode']),_0x368162[_0x3f8442(0xca)][_0x4a148f[_0x3f8442(0xf8)]]=_0x54ff3d,_0x3b4b23[_0x3f8442(0xb2)]({'lockKey':_0x4a148f[_0x3f8442(0xf8)],'remoteId':_0x4abc67['id']});}catch(_0x5da1c7){_0x4ea900[_0x3f8442(0xb2)]({'lockKey':_0x4a148f[_0x3f8442(0xf8)],'error':_0x5da1c7 instanceof Error?_0x5da1c7[_0x3f8442(0xce)]:String(_0x5da1c7)});}}return _0x368162[_0x3f8442(0xd0)]=new Date()[_0x3f8442(0xb4)](),await writeBffLockFile(_0x587567[_0x3f8442(0xba)],_0x250598),{'ok':_0x4ea900['length']===0x0,'data':{'pulled':_0x3b4b23,'skipped':_0x2e7fad,'failed':_0x4ea900},'message':_0x3f8442(0xf7)+_0x3b4b23[_0x3f8442(0xb5)]+_0x3f8442(0xe5)+_0x2e7fad['length']+_0x3f8442(0xd2)+_0x4ea900[_0x3f8442(0xb5)]+'\x20failed'};}};async function hasUnsyncedLocalChanges(_0x29180d,_0x4a3f17,_0x267021){const _0x11ebdc=a31_0x3324bb;if(!await fileExists(_0x29180d))return![];const _0x5f0c59=await computeFileHash(_0x29180d);if(!_0x4a3f17)return _0x267021?_0x5f0c59!==_0x267021:!![];return _0x5f0c59!==_0x4a3f17[_0x11ebdc(0xe1)];}function buildDatasetCodeToAliasMap(_0xc04378,_0x2346d1){const _0x4dea17=a31_0x3324bb,_0x349e50=loadAliasMap(_0xc04378,undefined,resolveApiFilePath(_0xc04378,_0x2346d1));return new Map(_0x349e50[_0x4dea17(0xe2)](_0x3086bb=>[_0x3086bb[_0x4dea17(0xbc)],_0x3086bb['alias']]));}async function confirmForce(){const _0x5a4ab7=a31_0x3324bb,_0x3470b8=createInterface({'input':process[_0x5a4ab7(0xda)],'output':process[_0x5a4ab7(0xe7)]}),_0x3dc588=await new Promise(_0x1d27ed=>{const _0x2ebabb=_0x5a4ab7;_0x3470b8['question'](_0x2ebabb(0xf1),_0x1d27ed);});return _0x3470b8['close'](),['y',_0x5a4ab7(0xee)]['includes'](_0x3dc588[_0x5a4ab7(0xb3)]()[_0x5a4ab7(0xc5)]());}
@@ -1 +1 @@
1
- const a32_0x5890cc=a32_0x22ba;(function(_0x49e2df,_0x5f4ca3){const _0x77107f=a32_0x22ba,_0x28d9b9=_0x49e2df();while(!![]){try{const _0x12d146=parseInt(_0x77107f(0xb5))/0x1*(-parseInt(_0x77107f(0xbd))/0x2)+parseInt(_0x77107f(0xc7))/0x3*(-parseInt(_0x77107f(0xba))/0x4)+-parseInt(_0x77107f(0xd8))/0x5+parseInt(_0x77107f(0xf3))/0x6*(-parseInt(_0x77107f(0xe3))/0x7)+-parseInt(_0x77107f(0xe4))/0x8*(parseInt(_0x77107f(0xe0))/0x9)+parseInt(_0x77107f(0xd0))/0xa+parseInt(_0x77107f(0xe2))/0xb;if(_0x12d146===_0x5f4ca3)break;else _0x28d9b9['push'](_0x28d9b9['shift']());}catch(_0xf15550){_0x28d9b9['push'](_0x28d9b9['shift']());}}}(a32_0x5243,0xb0a63));function a32_0x5243(){const _0x29ab60=['COMMON','status','2498556oeAELL','push','would_push','alias','datasetCodeToId','--name\x20requires\x20--type\x20to\x20identify\x20the\x20function.','validation','datasetId','No\x20local\x20BFF\x20functions\x20found.','description','bff','version','has','scriptsRoot','message','type','runtime\x20cache\x20clear\x20failed','Force\x20push\x20ignoring\x20hash\x20protection','Push\x20complete:\x20','attempted','ENDPOINT','Push\x20only\x20this\x20script\x20type','Push\x20local\x20BFF\x20scripts\x20to\x20remote','8xAunKD','update','force','stringify','Would\x20inspect\x20','870392ahveUC','POST','\x20api\x20pull`\x20to\x20refresh\x20api.ts,\x20or\x20verify\x20the\x20dataset\x20exists.','39692rmqGxP','\x20uploaded,\x20','HOOK','cleared','runtime\x20cache\x20not\x20needed','name','datasetCode','functionNode','appCode','length','6tvGjei','values','unchanged','Lock\x20scope\x20for\x20app\x20\x22','lockKey','Cannot\x20resolve\x20dataset\x20for\x20\x22','remoteId','Runtime\x20script\x20cache\x20cleared.','str','6906180aWVDzi','script','\x22.\x20','boolean','filter','Incomplete\x20HOOK\x20path:\x20','hash','get','288430DbrwBd','map','apps','code','join','operationType','Push\x20only\x20the\x20named\x20function\x20(requires\x20--type)','every','13041GjgWAF','lockFilePath','21706421YCBVIr','7DahHlL','4816GMDyCM','some','set','apiDir','toISOString','functions','filePath','/api/management/library/scripts/save','aliasToDatasetCode','Run\x20`','\x22\x20not\x20found\x20after\x20ensureLockScope.','create','bool'];a32_0x5243=function(){return _0x29ab60;};return a32_0x5243();}import{readFile}from'node:fs/promises';function a32_0x22ba(_0x7f09c1,_0x3f4a4a){_0x7f09c1=_0x7f09c1-0xb1;const _0x524338=a32_0x5243();let _0x22bab4=_0x524338[_0x7f09c1];return _0x22bab4;}import{saveBffScript,getBffScriptInfo,listDatasets,clearBffScriptCache}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{normalizeBffType,scanLocalBffFunctions}from'../../core/bff/file-system.js';import{computeFileHash}from'../../core/bff/hash.js';import{createEmptyBffLock,ensureLockScope,readBffLockFile,writeBffLockFile}from'../../core/bff/lock.js';import{extractScriptDescription}from'../../core/bff/utils.js';import{sleep}from'../../utils/sleep.js';import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';const CACHE_CLEAR_ATTEMPTS=0x2,CACHE_CLEAR_INTERVAL_MS=0x12c;export const bffPush={'service':a32_0x5890cc(0xfd),'command':a32_0x5890cc(0xf4),'description':a32_0x5890cc(0xb4),'risk':'high-risk-write','flags':[{'name':a32_0x5890cc(0x102),'type':'string','description':a32_0x5890cc(0xb3),'enum':[a32_0x5890cc(0xf1),a32_0x5890cc(0xb2),a32_0x5890cc(0xbf)]},{'name':a32_0x5890cc(0xc2),'type':'string','description':a32_0x5890cc(0xde)},{'name':a32_0x5890cc(0xb7),'type':a32_0x5890cc(0xd3),'description':a32_0x5890cc(0x104)}],async 'dryRun'(_0x1fc44d){const _0x1d0e6d=a32_0x5890cc,_0x4ec228=loadBffProjectConfig(_0x1fc44d['appCode']),_0x2b522e=await readBffLockFile(_0x4ec228[_0x1d0e6d(0xe1)]),{appLock:_0x1b36f7}=ensureLockScope(_0x2b522e??createEmptyBffLock(),_0x1fc44d[_0x1d0e6d(0xc5)],_0x4ec228[_0x1d0e6d(0x100)],'push'),_0x4d8481=await getTargetFunctions(_0x4ec228,_0x1fc44d),_0x5a08c1=_0x1fc44d[_0x1d0e6d(0xf0)]('force'),_0x50cc2d=[];for(const _0x21d92f of _0x4d8481){const _0x544ead=await computeFileHash(_0x21d92f[_0x1d0e6d(0xea)]),_0x8effdf=_0x1b36f7[_0x1d0e6d(0xe9)][_0x21d92f[_0x1d0e6d(0xcb)]],_0x2df70a=!!_0x8effdf&&_0x8effdf[_0x1d0e6d(0xd6)]===_0x544ead;_0x50cc2d[_0x1d0e6d(0xf4)]({'lockKey':_0x21d92f[_0x1d0e6d(0xcb)],'filePath':_0x21d92f[_0x1d0e6d(0xea)],'remoteId':_0x8effdf?.[_0x1d0e6d(0xcd)]??null,'mode':_0x8effdf?.[_0x1d0e6d(0xcd)]?_0x1d0e6d(0xb6):_0x1d0e6d(0xef),'status':!_0x5a08c1&&_0x2df70a?_0x1d0e6d(0xc9):'would_push'});}return{'method':_0x1d0e6d(0xbb),'url':_0x1d0e6d(0xeb),'body':{'appCode':_0x1fc44d[_0x1d0e6d(0xc5)],'force':_0x5a08c1,'files':_0x50cc2d,'cacheClearAtRuntime':_0x50cc2d[_0x1d0e6d(0xe5)](_0x364cc0=>_0x364cc0[_0x1d0e6d(0xf2)]===_0x1d0e6d(0xf5)),'cacheClearAtRuntimeTimes':_0x50cc2d['some'](_0x4a2bb0=>_0x4a2bb0[_0x1d0e6d(0xf2)]==='would_push')?CACHE_CLEAR_ATTEMPTS:0x0},'description':_0x1d0e6d(0xb9)+_0x50cc2d[_0x1d0e6d(0xc6)]+'\x20local\x20BFF\x20script(s)\x20for\x20push\x20and\x20clear\x20runtime\x20cache\x20if\x20files\x20are\x20uploaded'};},async 'execute'(_0x583358){const _0x932507=a32_0x5890cc,_0x32ece6=loadBffProjectConfig(_0x583358[_0x932507(0xc5)]),_0x47368f=await readBffLockFile(_0x32ece6[_0x932507(0xe1)]),{lockData:_0x444c05,appLock:_0x2ad3c6}=ensureLockScope(_0x47368f??createEmptyBffLock(),_0x583358[_0x932507(0xc5)],_0x32ece6['scriptsRoot'],_0x932507(0xf4)),_0xe7bf6a=await getTargetFunctions(_0x32ece6,_0x583358);if(_0xe7bf6a[_0x932507(0xc6)]===0x0)return{'ok':!![],'data':{'uploaded':[],'skipped':[],'failed':[]},'message':_0x932507(0xfb)};const _0x48a3c1=_0x583358[_0x932507(0xf0)](_0x932507(0xb7)),_0x4c14c0=JSON['parse'](JSON[_0x932507(0xb8)](_0x444c05)),_0x193e56=_0x4c14c0[_0x932507(0xda)][_0x583358[_0x932507(0xc5)]];if(!_0x193e56)throw new Error(_0x932507(0xca)+_0x583358[_0x932507(0xc5)]+_0x932507(0xee));const _0x35d3c1=await buildHookMaps(_0x583358['appCode'],_0x583358[_0x932507(0xe7)],_0xe7bf6a,_0x193e56),_0x3521f2=[],_0x4f99e2=[],_0x22dde1=[];for(const _0x515890 of _0xe7bf6a){const _0x229d3c=await computeFileHash(_0x515890[_0x932507(0xea)]),_0x32dd56=_0x193e56[_0x932507(0xe9)][_0x515890[_0x932507(0xcb)]];if(!_0x48a3c1&&_0x32dd56&&_0x32dd56['hash']===_0x229d3c){_0x4f99e2[_0x932507(0xf4)]({'lockKey':_0x515890[_0x932507(0xcb)],'reason':_0x932507(0xc9)});continue;}try{await uploadSingleFunction(_0x583358[_0x932507(0xc5)],_0x515890,_0x193e56,_0x35d3c1);const _0x4db62b=_0x193e56[_0x932507(0xe9)][_0x515890[_0x932507(0xcb)]];_0x3521f2[_0x932507(0xf4)]({'lockKey':_0x515890[_0x932507(0xcb)],'remoteId':_0x4db62b?.[_0x932507(0xcd)]??0x0});}catch(_0x49b245){_0x22dde1[_0x932507(0xf4)]({'lockKey':_0x515890[_0x932507(0xcb)],'error':_0x49b245 instanceof Error?_0x49b245[_0x932507(0x101)]:String(_0x49b245)});}}_0x193e56['lastSync']=new Date()[_0x932507(0xe8)](),await writeBffLockFile(_0x32ece6[_0x932507(0xe1)],_0x4c14c0),await waitForUploadedLockEntries(_0x32ece6[_0x932507(0xe1)],_0x583358[_0x932507(0xc5)],_0x3521f2[_0x932507(0xd9)](_0x57610c=>_0x57610c['lockKey']));let _0x344142={'attempted':![],'cleared':![]};if(_0x3521f2[_0x932507(0xc6)]>0x0)try{let _0x22d159='';for(let _0x58f181=0x0;_0x58f181<CACHE_CLEAR_ATTEMPTS;_0x58f181+=0x1){_0x22d159=await clearBffScriptCache(),_0x58f181<CACHE_CLEAR_ATTEMPTS-0x1&&await sleep(CACHE_CLEAR_INTERVAL_MS);}_0x344142={'attempted':!![],'cleared':!![],'message':_0x22d159||_0x932507(0xce)};}catch(_0x4d963c){_0x344142={'attempted':!![],'cleared':![],'error':_0x4d963c instanceof Error?_0x4d963c[_0x932507(0x101)]:String(_0x4d963c)};}const _0x46d13b=_0x22dde1['length']===0x0&&(_0x344142[_0x932507(0xb1)]?_0x344142[_0x932507(0xc0)]:!![]),_0x5874f9=_0x344142[_0x932507(0xb1)]?_0x344142[_0x932507(0xc0)]?'runtime\x20cache\x20cleared':_0x932507(0x103):_0x932507(0xc1);return{'ok':_0x46d13b,'data':{'uploaded':_0x3521f2,'skipped':_0x4f99e2,'failed':_0x22dde1,'cacheClear':_0x344142},'message':_0x932507(0x105)+_0x3521f2[_0x932507(0xc6)]+_0x932507(0xbe)+_0x4f99e2[_0x932507(0xc6)]+'\x20skipped,\x20'+_0x22dde1[_0x932507(0xc6)]+'\x20failed,\x20'+_0x5874f9};}};async function getTargetFunctions(_0x935971,_0x389f56){const _0x14e912=a32_0x5890cc,_0x101653=_0x389f56[_0x14e912(0xcf)](_0x14e912(0x102)),_0x27ddd4=_0x389f56[_0x14e912(0xcf)](_0x14e912(0xc2)),_0x22f27d=normalizeBffType(_0x101653)??undefined;if(_0x27ddd4&&!_0x22f27d)throw CliErrors[_0x14e912(0xf9)](_0x14e912(0xf8));const _0x67da99=await scanLocalBffFunctions(_0x935971,_0x22f27d);if(_0x27ddd4){const _0x57ebe9=_0x67da99[_0x14e912(0xd4)](_0x141768=>_0x141768[_0x14e912(0xc2)]===_0x27ddd4);if(_0x57ebe9[_0x14e912(0xc6)]===0x0)throw CliErrors[_0x14e912(0xf9)]('Local\x20function\x20not\x20found:\x20'+_0x22f27d+'/'+_0x27ddd4);return _0x57ebe9;}return _0x67da99;}async function buildHookMaps(_0x37c778,_0x2a8877,_0x3ab13b,_0xa7d642){const _0x5b9390=a32_0x5890cc,_0x18badd=_0x3ab13b[_0x5b9390(0xe5)](_0x1ab9ff=>_0x1ab9ff[_0x5b9390(0x102)]==='HOOK');if(!_0x18badd)return{'aliasToDatasetCode':new Map(),'datasetCodeToId':new Map()};const _0x25487a=loadAliasMap(_0x2a8877,undefined,resolveApiFilePath(_0x2a8877,_0x37c778)),_0x27ae1c=new Map(_0x25487a[_0x5b9390(0xd9)](_0x3bb61a=>[_0x3bb61a[_0x5b9390(0xf6)],_0x3bb61a[_0x5b9390(0xc3)]]));for(const _0x49af4d of Object[_0x5b9390(0xc8)](_0xa7d642['functions'])){_0x49af4d[_0x5b9390(0xf6)]&&_0x49af4d[_0x5b9390(0xc3)]&&!_0x27ae1c[_0x5b9390(0xff)](_0x49af4d[_0x5b9390(0xf6)])&&_0x27ae1c[_0x5b9390(0xe6)](_0x49af4d[_0x5b9390(0xf6)],_0x49af4d[_0x5b9390(0xc3)]);}const _0x31380a=await listDatasets(_0x37c778),_0x22b50c=new Map(_0x31380a[_0x5b9390(0xd9)](_0x296443=>[_0x296443[_0x5b9390(0xdb)],_0x296443['id']]));return{'aliasToDatasetCode':_0x27ae1c,'datasetCodeToId':_0x22b50c};}async function uploadSingleFunction(_0x29a865,_0x376285,_0x39ef20,_0x1178f7){const _0x3366ea=a32_0x5890cc,_0x220385=await readFile(_0x376285[_0x3366ea(0xea)],'utf8'),_0x5d8bc7=await computeFileHash(_0x376285[_0x3366ea(0xea)]),_0x151c1f=_0x39ef20['functions'][_0x376285[_0x3366ea(0xcb)]];if(_0x151c1f?.[_0x3366ea(0xcd)]&&_0x151c1f[_0x3366ea(0xfe)]==null)throw CliErrors['validation'](_0x376285[_0x3366ea(0xcb)]+':\x20missing\x20remote\x20version.\x20Run\x20`push`\x20after\x20`pull`\x20to\x20sync\x20version\x20info.');let _0x558589=extractScriptDescription(_0x220385);if(!_0x558589&&_0x151c1f?.[_0x3366ea(0xcd)]){const _0x4527b8=await getBffScriptInfo(_0x151c1f[_0x3366ea(0xcd)]);_0x558589=_0x4527b8['description']||undefined;}const _0x447265={'appCode':_0x29a865,'functionName':_0x376285[_0x3366ea(0xc2)],'scriptType':_0x376285[_0x3366ea(0x102)],'scriptContent':_0x220385};if(_0x151c1f?.[_0x3366ea(0xcd)])_0x447265['id']=_0x151c1f['remoteId'];if(_0x151c1f?.[_0x3366ea(0xfe)]!=null)_0x447265[_0x3366ea(0xfe)]=_0x151c1f[_0x3366ea(0xfe)];if(_0x558589)_0x447265[_0x3366ea(0xfc)]=_0x558589;if(_0x376285[_0x3366ea(0x102)]===_0x3366ea(0xbf)){const _0x4bfe59=_0x376285[_0x3366ea(0xf6)];if(!_0x4bfe59||!_0x376285[_0x3366ea(0xdd)]||!_0x376285[_0x3366ea(0xc4)])throw CliErrors[_0x3366ea(0xf9)](_0x3366ea(0xd5)+_0x376285['lockKey']);const _0x4528cf=_0x1178f7[_0x3366ea(0xec)][_0x3366ea(0xd7)](_0x4bfe59)??_0x151c1f?.['datasetCode']??_0x4bfe59,_0x2f12dd=_0x1178f7[_0x3366ea(0xf7)]['get'](_0x4528cf);if(!_0x2f12dd)throw CliErrors[_0x3366ea(0xf9)](_0x3366ea(0xcc)+_0x4bfe59+_0x3366ea(0xd2)+(_0x3366ea(0xed)+CLI_BIN_NAME+_0x3366ea(0xbc)));_0x447265[_0x3366ea(0xfa)]=_0x2f12dd,_0x447265[_0x3366ea(0xdd)]=_0x376285[_0x3366ea(0xdd)],_0x447265[_0x3366ea(0xc4)]=_0x376285[_0x3366ea(0xc4)];}const _0x33853d=await saveBffScript(_0x447265),_0x4ef040=_0x33853d['id'],_0x351a9f=_0x33853d[_0x3366ea(0xd1)]??await getBffScriptInfo(_0x4ef040),_0x188a47={'hash':_0x5d8bc7,'remoteId':_0x4ef040,'version':_0x351a9f[_0x3366ea(0xfe)]};if(_0x376285[_0x3366ea(0x102)]===_0x3366ea(0xbf)){const _0x43151d=_0x376285[_0x3366ea(0xf6)],_0x183072=_0x1178f7['aliasToDatasetCode'][_0x3366ea(0xd7)](_0x43151d)??_0x151c1f?.[_0x3366ea(0xc3)]??_0x43151d;_0x1178f7['aliasToDatasetCode'][_0x3366ea(0xff)](_0x43151d)?_0x188a47[_0x3366ea(0xf6)]=_0x43151d:_0x188a47[_0x3366ea(0xf6)]=_0x151c1f?.['alias'],_0x188a47[_0x3366ea(0xc3)]=_0x183072,_0x188a47[_0x3366ea(0xdd)]=_0x376285[_0x3366ea(0xdd)],_0x188a47['functionNode']=_0x376285[_0x3366ea(0xc4)];}_0x39ef20[_0x3366ea(0xe9)][_0x376285['lockKey']]=_0x188a47;}const LOCK_SETTLE_RETRY_COUNT=0x14,LOCK_SETTLE_DELAY_MS=0x64;async function waitForUploadedLockEntries(_0x41ebae,_0x3868c7,_0x172347){const _0xfa0eb9=a32_0x5890cc;if(_0x172347['length']===0x0)return;for(let _0x3b7284=0x0;_0x3b7284<LOCK_SETTLE_RETRY_COUNT;_0x3b7284+=0x1){const _0x532ec2=await readBffLockFile(_0x41ebae),_0x5e5942=_0x532ec2?.[_0xfa0eb9(0xda)]?.[_0x3868c7]?.[_0xfa0eb9(0xe9)]??{},_0x191881=_0x172347[_0xfa0eb9(0xdf)](_0x39471f=>!!_0x5e5942[_0x39471f]?.[_0xfa0eb9(0xcd)]);if(_0x191881)return;await sleep(LOCK_SETTLE_DELAY_MS);}throw new Error('Lock\x20file\x20not\x20settled\x20after\x20push\x20for\x20'+_0x172347[_0xfa0eb9(0xdc)](',\x20')+'.');}
1
+ function a32_0x23e6(_0x2fcfaa,_0x54793b){_0x2fcfaa=_0x2fcfaa-0x1e9;const _0x517d71=a32_0x517d();let _0x23e63d=_0x517d71[_0x2fcfaa];return _0x23e63d;}const a32_0x204353=a32_0x23e6;(function(_0x47d98b,_0x53cf0f){const _0x5d5295=a32_0x23e6,_0x1a6515=_0x47d98b();while(!![]){try{const _0x508a5f=-parseInt(_0x5d5295(0x228))/0x1*(-parseInt(_0x5d5295(0x21a))/0x2)+-parseInt(_0x5d5295(0x22c))/0x3*(parseInt(_0x5d5295(0x1fe))/0x4)+parseInt(_0x5d5295(0x235))/0x5+-parseInt(_0x5d5295(0x218))/0x6*(parseInt(_0x5d5295(0x226))/0x7)+parseInt(_0x5d5295(0x233))/0x8+parseInt(_0x5d5295(0x23a))/0x9*(parseInt(_0x5d5295(0x21e))/0xa)+-parseInt(_0x5d5295(0x1f9))/0xb;if(_0x508a5f===_0x53cf0f)break;else _0x1a6515['push'](_0x1a6515['shift']());}catch(_0x51fba0){_0x1a6515['push'](_0x1a6515['shift']());}}}(a32_0x517d,0x9aa23));import{readFile}from'node:fs/promises';import{saveBffScript,getBffScriptInfo,listDatasets,clearBffScriptCache}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{normalizeBffType,scanLocalBffFunctions}from'../../core/bff/file-system.js';import{computeFileHash}from'../../core/bff/hash.js';import{createEmptyBffLock,ensureLockScope,readBffLockFile,writeBffLockFile}from'../../core/bff/lock.js';import{extractScriptDescription}from'../../core/bff/utils.js';import{sleep}from'../../utils/sleep.js';import{CliErrors}from'../../errors.js';function a32_0x517d(){const _0x8dc859=['Local\x20function\x20not\x20found:\x20','47bIyZzf','update','Lock\x20file\x20not\x20settled\x20after\x20push\x20for\x20','attempted','1550481pvnUtc','version','\x20local\x20BFF\x20script(s)\x20for\x20push\x20and\x20clear\x20runtime\x20cache\x20if\x20files\x20are\x20uploaded','filter','hash','push','filePath','3263488FnrFma','Push\x20only\x20the\x20named\x20function\x20(requires\x20--type)','279300lHvDad','set',':\x20missing\x20remote\x20version.\x20Run\x20`push`\x20after\x20`pull`\x20to\x20sync\x20version\x20info.','script','validation','2943bupfbv','Would\x20inspect\x20','aliasToDatasetCode','Incomplete\x20HOOK\x20path:\x20','Push\x20complete:\x20','operationType','\x20skipped,\x20','force','map','bool','\x20uploaded,\x20','ENDPOINT','status','utf8','\x22.\x20','bff','string','functions','11944768nxwmtP','some','code','unchanged','functionNode','4Gmywbr','datasetCode','Runtime\x20script\x20cache\x20cleared.','description','type','every','stringify','/api/management/library/scripts/save','lastSync','--name\x20requires\x20--type\x20to\x20identify\x20the\x20function.','join','name','COMMON','remoteId','apiDir','toISOString','Lock\x20scope\x20for\x20app\x20\x22','get','would_push','create','scriptsRoot','has','\x22\x20not\x20found\x20after\x20ensureLockScope.','lockFilePath','length','appCode','30tRArhc','high-risk-write','25394UjVtMx','HOOK','POST','alias','36070joViZL','message','str','\x20api\x20pull`\x20to\x20refresh\x20api.ts,\x20or\x20verify\x20the\x20dataset\x20exists.','apps','lockKey','datasetCodeToDataset','runtime\x20cache\x20clear\x20failed','5530RpoOGY'];a32_0x517d=function(){return _0x8dc859;};return a32_0x517d();}import{CLI_BIN_NAME}from'../../constant/cli.js';import{assertDatasetSupportsLocalDevelopment}from'../../commands/dataset/capability.js';const CACHE_CLEAR_ATTEMPTS=0x2,CACHE_CLEAR_INTERVAL_MS=0x12c;export const bffPush={'service':a32_0x204353(0x1f6),'command':a32_0x204353(0x231),'description':'Push\x20local\x20BFF\x20scripts\x20to\x20remote','risk':a32_0x204353(0x219),'flags':[{'name':a32_0x204353(0x202),'type':a32_0x204353(0x1f7),'description':'Push\x20only\x20this\x20script\x20type','enum':[a32_0x204353(0x20a),a32_0x204353(0x1f2),'HOOK']},{'name':a32_0x204353(0x209),'type':a32_0x204353(0x1f7),'description':a32_0x204353(0x234)},{'name':a32_0x204353(0x1ee),'type':'boolean','description':'Force\x20push\x20ignoring\x20hash\x20protection'}],async 'dryRun'(_0x99620c){const _0x305851=a32_0x204353,_0xb9f2f=loadBffProjectConfig(_0x99620c['appCode']),_0x5122bb=await readBffLockFile(_0xb9f2f[_0x305851(0x215)]),{appLock:_0x1d9afa}=ensureLockScope(_0x5122bb??createEmptyBffLock(),_0x99620c[_0x305851(0x217)],_0xb9f2f[_0x305851(0x212)],_0x305851(0x231)),_0x35ce17=await getTargetFunctions(_0xb9f2f,_0x99620c),_0x49de5a=_0x99620c[_0x305851(0x1f0)](_0x305851(0x1ee)),_0x517038=[];for(const _0x30efef of _0x35ce17){const _0x247644=await computeFileHash(_0x30efef[_0x305851(0x232)]),_0x3d40dc=_0x1d9afa['functions'][_0x30efef[_0x305851(0x223)]],_0x5eb14e=!!_0x3d40dc&&_0x3d40dc[_0x305851(0x230)]===_0x247644;_0x517038[_0x305851(0x231)]({'lockKey':_0x30efef['lockKey'],'filePath':_0x30efef['filePath'],'remoteId':_0x3d40dc?.[_0x305851(0x20b)]??null,'mode':_0x3d40dc?.[_0x305851(0x20b)]?_0x305851(0x229):_0x305851(0x211),'status':!_0x49de5a&&_0x5eb14e?_0x305851(0x1fc):_0x305851(0x210)});}return{'method':_0x305851(0x21c),'url':_0x305851(0x205),'body':{'appCode':_0x99620c['appCode'],'force':_0x49de5a,'files':_0x517038,'cacheClearAtRuntime':_0x517038[_0x305851(0x1fa)](_0x5e65a5=>_0x5e65a5[_0x305851(0x1f3)]===_0x305851(0x210)),'cacheClearAtRuntimeTimes':_0x517038[_0x305851(0x1fa)](_0x3d77ce=>_0x3d77ce['status']===_0x305851(0x210))?CACHE_CLEAR_ATTEMPTS:0x0},'description':_0x305851(0x23b)+_0x517038[_0x305851(0x216)]+_0x305851(0x22e)};},async 'execute'(_0x2301d){const _0x2941e1=a32_0x204353,_0x13e49e=loadBffProjectConfig(_0x2301d[_0x2941e1(0x217)]),_0x3da72d=await readBffLockFile(_0x13e49e['lockFilePath']),{lockData:_0xab54e,appLock:_0x59117f}=ensureLockScope(_0x3da72d??createEmptyBffLock(),_0x2301d[_0x2941e1(0x217)],_0x13e49e[_0x2941e1(0x212)],_0x2941e1(0x231)),_0x2efe07=await getTargetFunctions(_0x13e49e,_0x2301d);if(_0x2efe07[_0x2941e1(0x216)]===0x0)return{'ok':!![],'data':{'uploaded':[],'skipped':[],'failed':[]},'message':'No\x20local\x20BFF\x20functions\x20found.'};const _0x4481d3=_0x2301d[_0x2941e1(0x1f0)](_0x2941e1(0x1ee)),_0x36b6cd=JSON['parse'](JSON[_0x2941e1(0x204)](_0xab54e)),_0x4fddd0=_0x36b6cd['apps'][_0x2301d[_0x2941e1(0x217)]];if(!_0x4fddd0)throw new Error(_0x2941e1(0x20e)+_0x2301d['appCode']+_0x2941e1(0x214));const _0x39683f=await buildHookMaps(_0x2301d[_0x2941e1(0x217)],_0x2301d[_0x2941e1(0x20c)],_0x2efe07,_0x4fddd0),_0x13c6b6=[],_0x4a9a2c=[],_0x2c7f1d=[];for(const _0x5c238a of _0x2efe07){const _0x51498a=await computeFileHash(_0x5c238a[_0x2941e1(0x232)]),_0x2e2277=_0x4fddd0[_0x2941e1(0x1f8)][_0x5c238a[_0x2941e1(0x223)]];if(!_0x4481d3&&_0x2e2277&&_0x2e2277[_0x2941e1(0x230)]===_0x51498a){_0x4a9a2c[_0x2941e1(0x231)]({'lockKey':_0x5c238a[_0x2941e1(0x223)],'reason':'unchanged'});continue;}try{await uploadSingleFunction(_0x2301d[_0x2941e1(0x217)],_0x5c238a,_0x4fddd0,_0x39683f);const _0x5244d1=_0x4fddd0[_0x2941e1(0x1f8)][_0x5c238a[_0x2941e1(0x223)]];_0x13c6b6[_0x2941e1(0x231)]({'lockKey':_0x5c238a[_0x2941e1(0x223)],'remoteId':_0x5244d1?.['remoteId']??0x0});}catch(_0x27920){_0x2c7f1d[_0x2941e1(0x231)]({'lockKey':_0x5c238a['lockKey'],'error':_0x27920 instanceof Error?_0x27920[_0x2941e1(0x21f)]:String(_0x27920)});}}_0x4fddd0[_0x2941e1(0x206)]=new Date()[_0x2941e1(0x20d)](),await writeBffLockFile(_0x13e49e[_0x2941e1(0x215)],_0x36b6cd),await waitForUploadedLockEntries(_0x13e49e[_0x2941e1(0x215)],_0x2301d['appCode'],_0x13c6b6[_0x2941e1(0x1ef)](_0x205e2b=>_0x205e2b[_0x2941e1(0x223)]));let _0x150bf3={'attempted':![],'cleared':![]};if(_0x13c6b6[_0x2941e1(0x216)]>0x0)try{let _0x54d277='';for(let _0x17df70=0x0;_0x17df70<CACHE_CLEAR_ATTEMPTS;_0x17df70+=0x1){_0x54d277=await clearBffScriptCache(),_0x17df70<CACHE_CLEAR_ATTEMPTS-0x1&&await sleep(CACHE_CLEAR_INTERVAL_MS);}_0x150bf3={'attempted':!![],'cleared':!![],'message':_0x54d277||_0x2941e1(0x200)};}catch(_0x2e5f52){_0x150bf3={'attempted':!![],'cleared':![],'error':_0x2e5f52 instanceof Error?_0x2e5f52[_0x2941e1(0x21f)]:String(_0x2e5f52)};}const _0x15e0cc=_0x2c7f1d['length']===0x0&&(_0x150bf3[_0x2941e1(0x22b)]?_0x150bf3['cleared']:!![]),_0x75ad5c=_0x150bf3['attempted']?_0x150bf3['cleared']?'runtime\x20cache\x20cleared':_0x2941e1(0x225):'runtime\x20cache\x20not\x20needed';return{'ok':_0x15e0cc,'data':{'uploaded':_0x13c6b6,'skipped':_0x4a9a2c,'failed':_0x2c7f1d,'cacheClear':_0x150bf3},'message':_0x2941e1(0x1eb)+_0x13c6b6[_0x2941e1(0x216)]+_0x2941e1(0x1f1)+_0x4a9a2c[_0x2941e1(0x216)]+_0x2941e1(0x1ed)+_0x2c7f1d[_0x2941e1(0x216)]+'\x20failed,\x20'+_0x75ad5c};}};async function getTargetFunctions(_0x3553a2,_0x1c94fa){const _0x256a07=a32_0x204353,_0x2aecdb=_0x1c94fa[_0x256a07(0x220)](_0x256a07(0x202)),_0x53767d=_0x1c94fa['str']('name'),_0x590659=normalizeBffType(_0x2aecdb)??undefined;if(_0x53767d&&!_0x590659)throw CliErrors['validation'](_0x256a07(0x207));const _0x300704=await scanLocalBffFunctions(_0x3553a2,_0x590659);if(_0x53767d){const _0x3b2c7a=_0x300704[_0x256a07(0x22f)](_0x59c13a=>_0x59c13a['name']===_0x53767d);if(_0x3b2c7a[_0x256a07(0x216)]===0x0)throw CliErrors[_0x256a07(0x239)](_0x256a07(0x227)+_0x590659+'/'+_0x53767d);return _0x3b2c7a;}return _0x300704;}async function buildHookMaps(_0x4168df,_0x18e6f8,_0x1e802f,_0x27c22f){const _0x3c2921=a32_0x204353,_0x14ff48=_0x1e802f[_0x3c2921(0x1fa)](_0x307ed9=>_0x307ed9[_0x3c2921(0x202)]===_0x3c2921(0x21b));if(!_0x14ff48)return{'aliasToDatasetCode':new Map(),'datasetCodeToDataset':new Map()};const _0x5c6ec4=loadAliasMap(_0x18e6f8,undefined,resolveApiFilePath(_0x18e6f8,_0x4168df)),_0x1f9fd5=new Map(_0x5c6ec4[_0x3c2921(0x1ef)](_0x1a1b68=>[_0x1a1b68['alias'],_0x1a1b68[_0x3c2921(0x1ff)]]));for(const _0x4a7821 of Object['values'](_0x27c22f['functions'])){_0x4a7821[_0x3c2921(0x21d)]&&_0x4a7821['datasetCode']&&!_0x1f9fd5[_0x3c2921(0x213)](_0x4a7821[_0x3c2921(0x21d)])&&_0x1f9fd5[_0x3c2921(0x236)](_0x4a7821[_0x3c2921(0x21d)],_0x4a7821[_0x3c2921(0x1ff)]);}const _0x208318=await listDatasets(_0x4168df),_0x587ba8=new Map(_0x208318['map'](_0x217b03=>[_0x217b03[_0x3c2921(0x1fb)],_0x217b03]));return{'aliasToDatasetCode':_0x1f9fd5,'datasetCodeToDataset':_0x587ba8};}async function uploadSingleFunction(_0x1a38b9,_0x463126,_0x2f947b,_0x29e1ae){const _0x5b5974=a32_0x204353,_0x2fe1fd=await readFile(_0x463126[_0x5b5974(0x232)],_0x5b5974(0x1f4)),_0x55ae83=await computeFileHash(_0x463126[_0x5b5974(0x232)]),_0x38c925=_0x2f947b['functions'][_0x463126[_0x5b5974(0x223)]];if(_0x38c925?.[_0x5b5974(0x20b)]&&_0x38c925[_0x5b5974(0x22d)]==null)throw CliErrors[_0x5b5974(0x239)](_0x463126[_0x5b5974(0x223)]+_0x5b5974(0x237));let _0x45657c=extractScriptDescription(_0x2fe1fd);if(!_0x45657c&&_0x38c925?.[_0x5b5974(0x20b)]){const _0x2b0f70=await getBffScriptInfo(_0x38c925[_0x5b5974(0x20b)]);_0x45657c=_0x2b0f70[_0x5b5974(0x201)]||undefined;}const _0x2aa50d={'appCode':_0x1a38b9,'functionName':_0x463126[_0x5b5974(0x209)],'scriptType':_0x463126[_0x5b5974(0x202)],'scriptContent':_0x2fe1fd};if(_0x38c925?.['remoteId'])_0x2aa50d['id']=_0x38c925[_0x5b5974(0x20b)];if(_0x38c925?.['version']!=null)_0x2aa50d[_0x5b5974(0x22d)]=_0x38c925[_0x5b5974(0x22d)];if(_0x45657c)_0x2aa50d[_0x5b5974(0x201)]=_0x45657c;if(_0x463126[_0x5b5974(0x202)]==='HOOK'){const _0x8bf3a6=_0x463126[_0x5b5974(0x21d)];if(!_0x8bf3a6||!_0x463126[_0x5b5974(0x1ec)]||!_0x463126[_0x5b5974(0x1fd)])throw CliErrors[_0x5b5974(0x239)](_0x5b5974(0x1ea)+_0x463126[_0x5b5974(0x223)]);const _0xae578f=_0x29e1ae[_0x5b5974(0x1e9)]['get'](_0x8bf3a6)??_0x38c925?.[_0x5b5974(0x1ff)]??_0x8bf3a6,_0x2c1f1d=_0x29e1ae[_0x5b5974(0x224)][_0x5b5974(0x20f)](_0xae578f);if(!_0x2c1f1d)throw CliErrors[_0x5b5974(0x239)]('Cannot\x20resolve\x20dataset\x20for\x20\x22'+_0x8bf3a6+_0x5b5974(0x1f5)+('Run\x20`'+CLI_BIN_NAME+_0x5b5974(0x221)));assertDatasetSupportsLocalDevelopment(_0x2c1f1d,'BFF\x20HOOK\x20'+_0x463126['lockKey']),_0x2aa50d['datasetId']=_0x2c1f1d['id'],_0x2aa50d['operationType']=_0x463126['operationType'],_0x2aa50d[_0x5b5974(0x1fd)]=_0x463126[_0x5b5974(0x1fd)];}const _0x57ecee=await saveBffScript(_0x2aa50d),_0x51553c=_0x57ecee['id'],_0x1bf33f=_0x57ecee[_0x5b5974(0x238)]??await getBffScriptInfo(_0x51553c),_0x44ccf9={'hash':_0x55ae83,'remoteId':_0x51553c,'version':_0x1bf33f[_0x5b5974(0x22d)]};if(_0x463126['type']===_0x5b5974(0x21b)){const _0x4b10f2=_0x463126[_0x5b5974(0x21d)],_0x4c9b50=_0x29e1ae[_0x5b5974(0x1e9)][_0x5b5974(0x20f)](_0x4b10f2)??_0x38c925?.['datasetCode']??_0x4b10f2;_0x29e1ae[_0x5b5974(0x1e9)][_0x5b5974(0x213)](_0x4b10f2)?_0x44ccf9[_0x5b5974(0x21d)]=_0x4b10f2:_0x44ccf9[_0x5b5974(0x21d)]=_0x38c925?.['alias'],_0x44ccf9[_0x5b5974(0x1ff)]=_0x4c9b50,_0x44ccf9[_0x5b5974(0x1ec)]=_0x463126['operationType'],_0x44ccf9[_0x5b5974(0x1fd)]=_0x463126['functionNode'];}_0x2f947b[_0x5b5974(0x1f8)][_0x463126[_0x5b5974(0x223)]]=_0x44ccf9;}const LOCK_SETTLE_RETRY_COUNT=0x14,LOCK_SETTLE_DELAY_MS=0x64;async function waitForUploadedLockEntries(_0x4fd49c,_0x14f5f4,_0x5b02e3){const _0x5338ae=a32_0x204353;if(_0x5b02e3[_0x5338ae(0x216)]===0x0)return;for(let _0x4d9838=0x0;_0x4d9838<LOCK_SETTLE_RETRY_COUNT;_0x4d9838+=0x1){const _0x59b0c7=await readBffLockFile(_0x4fd49c),_0xe0984=_0x59b0c7?.[_0x5338ae(0x222)]?.[_0x14f5f4]?.[_0x5338ae(0x1f8)]??{},_0x545fa0=_0x5b02e3[_0x5338ae(0x203)](_0x1baa9f=>!!_0xe0984[_0x1baa9f]?.[_0x5338ae(0x20b)]);if(_0x545fa0)return;await sleep(LOCK_SETTLE_DELAY_MS);}throw new Error(_0x5338ae(0x22a)+_0x5b02e3[_0x5338ae(0x208)](',\x20')+'.');}