@lovrabet/rabetbase-cli 2.2.0 → 2.2.1-beta.1

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 (204) hide show
  1. package/lib/api/api-doc.js +1 -1
  2. package/lib/api/fetch-model-list.js +1 -1
  3. package/lib/api/generate-api-file.js +1 -1
  4. package/lib/auth/auth-server-ui.js +1 -1
  5. package/lib/auth/auth-server.js +1 -1
  6. package/lib/auth/constant.js +1 -1
  7. package/lib/auth/get-cookie.js +1 -1
  8. package/lib/auth/get-session-user.js +1 -1
  9. package/lib/auth/is-session-valid.js +1 -1
  10. package/lib/auth/login-success-html.js +1 -1
  11. package/lib/auth/logout.js +1 -1
  12. package/lib/cli-flags.js +1 -1
  13. package/lib/cli.js +1 -1
  14. package/lib/commands/api/generate.js +1 -1
  15. package/lib/commands/api/index.js +1 -1
  16. package/lib/commands/api/list.js +1 -1
  17. package/lib/commands/api/pull.js +1 -1
  18. package/lib/commands/api/shared.js +1 -1
  19. package/lib/commands/app/add.js +1 -1
  20. package/lib/commands/app/discover.js +1 -1
  21. package/lib/commands/app/index.js +1 -1
  22. package/lib/commands/app/list.js +1 -1
  23. package/lib/commands/app/remove.js +1 -1
  24. package/lib/commands/app/shared.js +1 -1
  25. package/lib/commands/app/use.js +1 -1
  26. package/lib/commands/auth/index.js +1 -1
  27. package/lib/commands/bff/create.js +1 -1
  28. package/lib/commands/bff/delete.js +1 -1
  29. package/lib/commands/bff/detail.js +1 -1
  30. package/lib/commands/bff/index.js +1 -1
  31. package/lib/commands/bff/list.js +1 -1
  32. package/lib/commands/bff/pull.js +1 -1
  33. package/lib/commands/bff/push.js +1 -1
  34. package/lib/commands/bff/status.js +1 -1
  35. package/lib/commands/cli-update.js +1 -1
  36. package/lib/commands/codegen/index.js +1 -1
  37. package/lib/commands/codegen/sdk.js +1 -1
  38. package/lib/commands/codegen/sql.js +1 -1
  39. package/lib/commands/common/app-selector.js +1 -1
  40. package/lib/commands/common/flags.js +1 -1
  41. package/lib/commands/common/validate.js +1 -1
  42. package/lib/commands/config/get.js +1 -1
  43. package/lib/commands/config/index.js +1 -1
  44. package/lib/commands/config/list.js +1 -1
  45. package/lib/commands/config/set.js +1 -1
  46. package/lib/commands/config/shared.js +1 -1
  47. package/lib/commands/data/filter.js +1 -1
  48. package/lib/commands/data/getOne.js +1 -1
  49. package/lib/commands/data/index.js +1 -1
  50. package/lib/commands/data/shared.js +1 -1
  51. package/lib/commands/dataset/capability.js +1 -1
  52. package/lib/commands/dataset/delete.js +1 -1
  53. package/lib/commands/dataset/detail.js +1 -1
  54. package/lib/commands/dataset/extend-update.js +1 -1
  55. package/lib/commands/dataset/field-update.js +1 -1
  56. package/lib/commands/dataset/index.js +1 -1
  57. package/lib/commands/dataset/list.js +1 -1
  58. package/lib/commands/dataset/operations.js +1 -1
  59. package/lib/commands/dataset/relation-create.js +1 -1
  60. package/lib/commands/dataset/relation-delete.js +1 -1
  61. package/lib/commands/dataset/relation-shared.js +1 -1
  62. package/lib/commands/dataset/relation-update.js +1 -1
  63. package/lib/commands/dataset/relations.js +1 -1
  64. package/lib/commands/dataset/rename.js +1 -1
  65. package/lib/commands/db/analyze-cancel.js +1 -1
  66. package/lib/commands/db/analyze-start.js +1 -1
  67. package/lib/commands/db/analyze-status.js +1 -1
  68. package/lib/commands/db/create.js +1 -1
  69. package/lib/commands/db/delete.js +1 -1
  70. package/lib/commands/db/detail.js +1 -1
  71. package/lib/commands/db/diff.js +1 -1
  72. package/lib/commands/db/index.js +1 -1
  73. package/lib/commands/db/list.js +1 -1
  74. package/lib/commands/db/shared.js +1 -1
  75. package/lib/commands/db/tables.js +1 -1
  76. package/lib/commands/db/test.js +1 -1
  77. package/lib/commands/db/update.js +1 -1
  78. package/lib/commands/doctor.js +1 -1
  79. package/lib/commands/init/index.js +1 -1
  80. package/lib/commands/issue/index.js +1 -1
  81. package/lib/commands/issue/nudge.js +1 -1
  82. package/lib/commands/issue/report.js +1 -1
  83. package/lib/commands/issue/shared.js +1 -1
  84. package/lib/commands/logs/index.js +1 -1
  85. package/lib/commands/menu/index.js +1 -1
  86. package/lib/commands/menu/shared/compare-table.js +1 -1
  87. package/lib/commands/menu/shared/index.js +1 -1
  88. package/lib/commands/menu/shared/inquirer.js +1 -1
  89. package/lib/commands/menu/shared/local-pages.js +1 -1
  90. package/lib/commands/menu/shared/logic.js +1 -1
  91. package/lib/commands/menu/shared/service.js +1 -1
  92. package/lib/commands/menu/shared/sync-core.js +1 -1
  93. package/lib/commands/menu/shared/update-core.js +1 -1
  94. package/lib/commands/menu/shared/valid-url.js +1 -1
  95. package/lib/commands/menu/sync.js +1 -1
  96. package/lib/commands/menu/update.js +1 -1
  97. package/lib/commands/page/generate-start.js +1 -1
  98. package/lib/commands/page/generate-status.js +1 -1
  99. package/lib/commands/page/index.js +1 -1
  100. package/lib/commands/page/pull.js +1 -1
  101. package/lib/commands/page/push.js +1 -1
  102. package/lib/commands/page/relation-audit.js +1 -1
  103. package/lib/commands/page/shared.js +1 -1
  104. package/lib/commands/page/standard-page-status.js +1 -1
  105. package/lib/commands/page/sync.js +1 -1
  106. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  107. package/lib/commands/project/create/format-elapsed.js +1 -1
  108. package/lib/commands/project/create/main.js +1 -1
  109. package/lib/commands/project/create/non-interactive.js +1 -1
  110. package/lib/commands/project/create/project-template-path.js +1 -1
  111. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  112. package/lib/commands/project/create/use-format-code.js +1 -1
  113. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  114. package/lib/commands/project/index.js +1 -1
  115. package/lib/commands/project/init.js +1 -1
  116. package/lib/commands/project/upgrade.js +1 -1
  117. package/lib/commands/registry.js +1 -1
  118. package/lib/commands/run/index.js +1 -1
  119. package/lib/commands/schema.js +1 -1
  120. package/lib/commands/skill/index.js +1 -1
  121. package/lib/commands/sql/create.js +1 -1
  122. package/lib/commands/sql/delete.js +1 -1
  123. package/lib/commands/sql/detail.js +1 -1
  124. package/lib/commands/sql/exec.js +1 -1
  125. package/lib/commands/sql/index.js +1 -1
  126. package/lib/commands/sql/list.js +1 -1
  127. package/lib/commands/sql/pull.js +1 -1
  128. package/lib/commands/sql/push.js +1 -1
  129. package/lib/commands/sql/save.js +1 -1
  130. package/lib/commands/sql/shared.js +1 -1
  131. package/lib/commands/sql/status.js +1 -1
  132. package/lib/commands/sql/validate.js +1 -1
  133. package/lib/config/schema.js +1 -1
  134. package/lib/constant/cdn.js +1 -1
  135. package/lib/constant/cli.js +1 -1
  136. package/lib/constant/defaults.js +1 -1
  137. package/lib/constant/domain.js +1 -1
  138. package/lib/constant/env.js +1 -1
  139. package/lib/constant/output.js +1 -1
  140. package/lib/constant/paths.js +1 -1
  141. package/lib/constant/risk.js +1 -1
  142. package/lib/context.js +1 -1
  143. package/lib/core/alias-resolver.js +1 -1
  144. package/lib/core/api-client.js +1 -1
  145. package/lib/core/bff/config.js +1 -1
  146. package/lib/core/bff/file-system.js +1 -1
  147. package/lib/core/bff/hash.js +1 -1
  148. package/lib/core/bff/lock.js +1 -1
  149. package/lib/core/bff/utils.js +1 -1
  150. package/lib/core/db-resolver.js +1 -1
  151. package/lib/core/page/file-system.js +1 -1
  152. package/lib/core/page/hash.js +1 -1
  153. package/lib/core/page/lock.js +1 -1
  154. package/lib/core/sql-sync/config.js +1 -1
  155. package/lib/core/sql-sync/file-system.js +1 -1
  156. package/lib/core/sql-sync/hash.js +1 -1
  157. package/lib/core/sql-sync/lock.js +1 -1
  158. package/lib/core/sql-sync/utils.js +1 -1
  159. package/lib/core/sql-validator.js +1 -1
  160. package/lib/errors.js +1 -1
  161. package/lib/framework/build-all-flags.js +1 -1
  162. package/lib/framework/flags.js +1 -1
  163. package/lib/framework/help.js +1 -1
  164. package/lib/framework/index.js +1 -1
  165. package/lib/framework/output.js +1 -1
  166. package/lib/framework/response.js +1 -1
  167. package/lib/framework/runner-alias.js +1 -1
  168. package/lib/framework/runner.js +1 -1
  169. package/lib/framework/schema-export.js +1 -1
  170. package/lib/framework/types.js +1 -1
  171. package/lib/generated/build-info.js +1 -1
  172. package/lib/help.js +1 -1
  173. package/lib/skills/main.js +1 -1
  174. package/lib/skills/npx-skills-add.js +1 -1
  175. package/lib/telemetry/cli-command-trace.js +1 -1
  176. package/lib/telemetry/cli-help-trace.js +1 -1
  177. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  178. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  179. package/lib/telemetry/send-cli-trace-log.js +1 -1
  180. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  181. package/lib/utils/ai_config.js +1 -1
  182. package/lib/utils/apply-jq-filter.js +1 -1
  183. package/lib/utils/cdn-config.js +1 -1
  184. package/lib/utils/check-sdk-version.js +1 -1
  185. package/lib/utils/cli-version-check.js +1 -1
  186. package/lib/utils/cli-version-policy.js +1 -1
  187. package/lib/utils/config.js +1 -1
  188. package/lib/utils/copy-directory.js +1 -1
  189. package/lib/utils/entity-with-id.js +1 -1
  190. package/lib/utils/file-utils.js +1 -1
  191. package/lib/utils/guides-cdn.js +1 -1
  192. package/lib/utils/http-client.js +1 -1
  193. package/lib/utils/is-non-interactive.js +1 -1
  194. package/lib/utils/logger.js +1 -1
  195. package/lib/utils/params.js +1 -1
  196. package/lib/utils/platform.js +1 -1
  197. package/lib/utils/rules-cdn.js +1 -1
  198. package/lib/utils/sleep.js +1 -1
  199. package/lib/utils/template-replacer.js +1 -1
  200. package/lib/utils/update-notice.js +1 -1
  201. package/lib/utils/version.js +1 -1
  202. package/lib/utils/with-active-cookie.js +1 -1
  203. package/lib/utils/write-cli-side-channel.js +1 -1
  204. package/package.json +1 -1
@@ -1 +1 @@
1
- function a19_0xb43e(_0xf7b1cd,_0x877b62){_0xf7b1cd=_0xf7b1cd-0x1b8;const _0x1eda53=a19_0x1eda();let _0xb43e03=_0x1eda53[_0xf7b1cd];return _0xb43e03;}const a19_0x10f84f=a19_0xb43e;function a19_0x1eda(){const _0xf26eec=['map','cookie','appCode','288730FlCNyT','13kOqWOq','6978bTQAwr','List\x20apps\x20available\x20on\x20the\x20platform\x20for\x20the\x20current\x20login','341YONmVV','362427dwQSSp','16CJivLG','remote','appDesc','873eeYNXr','50600UCaIcp','6322308fBBcqf','1066gwPOya','app','1883gUaXTg','../../core/api-client.js','appName','1766058JhGalp','platform','3990TRbZuy'];a19_0x1eda=function(){return _0xf26eec;};return a19_0x1eda();}(function(_0x3480c0,_0x4112d6){const _0x2a0779=a19_0xb43e,_0x2626a2=_0x3480c0();while(!![]){try{const _0xe6c55e=-parseInt(_0x2a0779(0x1c1))/0x1*(-parseInt(_0x2a0779(0x1bf))/0x2)+-parseInt(_0x2a0779(0x1b8))/0x3*(-parseInt(_0x2a0779(0x1b9))/0x4)+parseInt(_0x2a0779(0x1c6))/0x5*(-parseInt(_0x2a0779(0x1cc))/0x6)+-parseInt(_0x2a0779(0x1c4))/0x7+parseInt(_0x2a0779(0x1bd))/0x8*(parseInt(_0x2a0779(0x1bc))/0x9)+parseInt(_0x2a0779(0x1ca))/0xa*(-parseInt(_0x2a0779(0x1ce))/0xb)+parseInt(_0x2a0779(0x1be))/0xc*(parseInt(_0x2a0779(0x1cb))/0xd);if(_0xe6c55e===_0x4112d6)break;else _0x2626a2['push'](_0x2626a2['shift']());}catch(_0x3636b0){_0x2626a2['push'](_0x2626a2['shift']());}}}(a19_0x1eda,0x86b94));import{listRemoteApps}from'../../core/api-client.js';async function execute(_0x2e31b3){const _0x5e80a3=a19_0xb43e,{setActiveCookie:_0xa057c0}=await import(_0x5e80a3(0x1c2));_0xa057c0(_0x2e31b3[_0x5e80a3(0x1c8)]);const _0x1bc152=await listRemoteApps();return{'ok':!![],'data':{'items':_0x1bc152[_0x5e80a3(0x1c7)](_0x146ac3=>({..._0x146ac3['id']!=null?{'id':_0x146ac3['id']}:{},'appCode':_0x146ac3[_0x5e80a3(0x1c9)],'appName':_0x146ac3[_0x5e80a3(0x1c3)],..._0x146ac3[_0x5e80a3(0x1bb)]!=null?{'appDesc':_0x146ac3[_0x5e80a3(0x1bb)]}:{}})),'meta':{'source':_0x5e80a3(0x1c5)}}};}export const appRemoteDefinition={'service':a19_0x10f84f(0x1c0),'command':a19_0x10f84f(0x1ba),'description':a19_0x10f84f(0x1cd),'risk':'read','requiresAuth':!![],'requiresAppCode':![],'flags':[],'execute':execute};
1
+ const a19_0x3a811f=a19_0x48be;(function(_0x442c1e,_0x1dd571){const _0x231e80=a19_0x48be,_0x52f67a=_0x442c1e();while(!![]){try{const _0x4fea74=parseInt(_0x231e80(0x129))/0x1+parseInt(_0x231e80(0x12f))/0x2+parseInt(_0x231e80(0x138))/0x3+parseInt(_0x231e80(0x137))/0x4*(-parseInt(_0x231e80(0x12c))/0x5)+-parseInt(_0x231e80(0x12a))/0x6*(-parseInt(_0x231e80(0x13a))/0x7)+-parseInt(_0x231e80(0x134))/0x8*(-parseInt(_0x231e80(0x12b))/0x9)+parseInt(_0x231e80(0x13b))/0xa*(-parseInt(_0x231e80(0x136))/0xb);if(_0x4fea74===_0x1dd571)break;else _0x52f67a['push'](_0x52f67a['shift']());}catch(_0x1b9aff){_0x52f67a['push'](_0x52f67a['shift']());}}}(a19_0x220e,0x2c157));function a19_0x48be(_0x2fa89a,_0x53f110){_0x2fa89a=_0x2fa89a-0x127;const _0x220e84=a19_0x220e();let _0x48be40=_0x220e84[_0x2fa89a];return _0x48be40;}import{listRemoteApps}from'../../core/api-client.js';async function execute(_0x59cb87){const _0x2d04c3=a19_0x48be,{setActiveCookie:_0x521179}=await import(_0x2d04c3(0x128));_0x521179(_0x59cb87[_0x2d04c3(0x131)]);const _0xddbdaf=await listRemoteApps();return{'ok':!![],'data':{'items':_0xddbdaf[_0x2d04c3(0x12d)](_0x24dd11=>({..._0x24dd11['id']!=null?{'id':_0x24dd11['id']}:{},'appCode':_0x24dd11[_0x2d04c3(0x135)],'appName':_0x24dd11[_0x2d04c3(0x127)],..._0x24dd11[_0x2d04c3(0x13c)]!=null?{'appDesc':_0x24dd11[_0x2d04c3(0x13c)]}:{}})),'meta':{'source':_0x2d04c3(0x139)}}};}function a19_0x220e(){const _0x126917=['3051747mofveW','830GtzLgT','map','List\x20apps\x20available\x20on\x20the\x20platform\x20for\x20the\x20current\x20login','251830YZEuRj','read','cookie','remote','app','8XmQMhD','appCode','55pcuUpV','4744yiNGkj','880839JCzQwC','platform','28shNYYE','1823620ggTdCc','appDesc','appName','../../core/api-client.js','358942yyARdM','257550UPWpRQ'];a19_0x220e=function(){return _0x126917;};return a19_0x220e();}export const appRemoteDefinition={'service':a19_0x3a811f(0x133),'command':a19_0x3a811f(0x132),'description':a19_0x3a811f(0x12e),'risk':a19_0x3a811f(0x130),'requiresAuth':!![],'requiresAppCode':![],'flags':[],'execute':execute};
@@ -1 +1 @@
1
- (function(_0x150e1d,_0x4ae850){const _0x1fab93=a20_0x2e89,_0x1d7b36=_0x150e1d();while(!![]){try{const _0x31e7f8=parseInt(_0x1fab93(0x154))/0x1+parseInt(_0x1fab93(0x158))/0x2*(-parseInt(_0x1fab93(0x157))/0x3)+parseInt(_0x1fab93(0x150))/0x4+parseInt(_0x1fab93(0x156))/0x5*(parseInt(_0x1fab93(0x155))/0x6)+-parseInt(_0x1fab93(0x152))/0x7+parseInt(_0x1fab93(0x153))/0x8+-parseInt(_0x1fab93(0x151))/0x9;if(_0x31e7f8===_0x4ae850)break;else _0x1d7b36['push'](_0x1d7b36['shift']());}catch(_0x1cdf31){_0x1d7b36['push'](_0x1d7b36['shift']());}}}(a20_0x12dd,0x84fb6));function a20_0x2e89(_0x3a5af9,_0x444b05){_0x3a5af9=_0x3a5af9-0x150;const _0x12ddab=a20_0x12dd();let _0x2e891b=_0x12ddab[_0x3a5af9];return _0x2e891b;}import{appListDefinition}from'../../commands/app/list.js';import{appRemoteDefinition}from'../../commands/app/discover.js';import{appUseDefinition}from'../../commands/app/use.js';import{appAddDefinition}from'../../commands/app/add.js';import{appRemoveDefinition}from'../../commands/app/remove.js';function a20_0x12dd(){const _0x65bd80=['16565769BJDfRu','1759961diRCsr','4758896JzxAqv','771334rsBgCI','18WFWJOB','831110PMVXkE','23376NgLtzg','38rUGdUm','3679776enINfA'];a20_0x12dd=function(){return _0x65bd80;};return a20_0x12dd();}export const appDefinitions=[appListDefinition,appRemoteDefinition,appUseDefinition,appAddDefinition,appRemoveDefinition];
1
+ (function(_0x28956d,_0x413637){const _0x18809b=a20_0x599c,_0x175a99=_0x28956d();while(!![]){try{const _0x4e45e0=-parseInt(_0x18809b(0x116))/0x1+parseInt(_0x18809b(0x114))/0x2*(-parseInt(_0x18809b(0x112))/0x3)+-parseInt(_0x18809b(0x115))/0x4+-parseInt(_0x18809b(0x118))/0x5+parseInt(_0x18809b(0x119))/0x6*(parseInt(_0x18809b(0x113))/0x7)+parseInt(_0x18809b(0x117))/0x8+parseInt(_0x18809b(0x111))/0x9;if(_0x4e45e0===_0x413637)break;else _0x175a99['push'](_0x175a99['shift']());}catch(_0x420694){_0x175a99['push'](_0x175a99['shift']());}}}(a20_0x1873,0x966d7));import{appListDefinition}from'../../commands/app/list.js';import{appRemoteDefinition}from'../../commands/app/discover.js';import{appUseDefinition}from'../../commands/app/use.js';function a20_0x1873(){const _0x5ea11f=['16861032XGgeQp','6yGDnPB','214025DAAyij','307774ZVAYuO','2991568IOwKDV','844459ZrKOxJ','6850824zozyvI','1526250MjDshw','18uSVNEK'];a20_0x1873=function(){return _0x5ea11f;};return a20_0x1873();}function a20_0x599c(_0xf98022,_0xb566df){_0xf98022=_0xf98022-0x111;const _0x187395=a20_0x1873();let _0x599c1a=_0x187395[_0xf98022];return _0x599c1a;}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
- function a21_0x275b(_0x2d337e,_0xf3dcc1){_0x2d337e=_0x2d337e-0x139;const _0x579124=a21_0x5791();let _0x275ba5=_0x579124[_0x2d337e];return _0x275ba5;}const a21_0x57c2ec=a21_0x275b;(function(_0x283786,_0x2238e9){const _0xf04875=a21_0x275b,_0x5624a4=_0x283786();while(!![]){try{const _0x8c3ea0=-parseInt(_0xf04875(0x13d))/0x1+parseInt(_0xf04875(0x13e))/0x2+parseInt(_0xf04875(0x145))/0x3*(-parseInt(_0xf04875(0x155))/0x4)+-parseInt(_0xf04875(0x158))/0x5*(parseInt(_0xf04875(0x153))/0x6)+-parseInt(_0xf04875(0x149))/0x7+parseInt(_0xf04875(0x14b))/0x8*(-parseInt(_0xf04875(0x146))/0x9)+parseInt(_0xf04875(0x150))/0xa*(parseInt(_0xf04875(0x143))/0xb);if(_0x8c3ea0===_0x2238e9)break;else _0x5624a4['push'](_0x5624a4['shift']());}catch(_0x2b5a32){_0x5624a4['push'](_0x5624a4['shift']());}}}(a21_0x5791,0x209f7));import{readRawConfigWithLayers}from'../../context.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{buildAppProfileListFields}from'../../config/schema.js';function a21_0x5791(){const _0x5de1b3=['object','\x20in\x20','Show\x20only\x20apps\x20from\x20project\x20.rabetbase.json','app','No\x20apps\x20configured','entries','apps','globalConfig','13323cpYCio','202100xGllad','defaultApp','List\x20all\x20configured\x20apps','projectPath','merged','319UeeeKZ','globalPath','366219ovRNpj','68427flVnyp','inherit','Show\x20only\x20apps\x20from\x20global\x20~/.rabetbase.json','843745xPGSHl','boolean','112jdHArv','list','map','\x20app\x20add\x20<name>\x20--appcode\x20<code>`\x20to\x20add\x20one.','push','213110gXedqG','global','\x20config','1500ftWVyk','appcode','8ZEFlKC','.\x20Use\x20`','projectConfig','2020uLnlgr','project'];a21_0x5791=function(){return _0x5de1b3;};return a21_0x5791();}import{appDefinedIn,enrichAppListItemsWithMergedSelection,resolveDefaultAppSource}from'../../commands/app/shared.js';function buildItemsFromLayer(_0xa967a0,_0x33bbd3){const _0x456046=a21_0x275b,_0x36a47c=[],_0x2c9dd6=_0xa967a0[_0x456046(0x13b)]&&typeof _0xa967a0['apps']===_0x456046(0x15a)?_0xa967a0[_0x456046(0x13b)]:{},_0x2b6939=_0xa967a0[_0x456046(0x13f)]||undefined;for(const [_0x4fc125,_0x3471ba]of Object[_0x456046(0x13a)](_0x2c9dd6)){if(!_0x3471ba||typeof _0x3471ba!=='object'||!_0x3471ba[_0x456046(0x154)])continue;_0x36a47c[_0x456046(0x14f)]({'name':_0x4fc125,'appcode':_0x3471ba['appcode'],'named':!![],'definedIn':_0x33bbd3,'isDefault':_0x4fc125===_0x2b6939,...buildAppProfileListFields(_0x3471ba)});}return _0x36a47c;}function buildMergedItems(_0x4852a7,_0x4c00c4){const _0x490b90=a21_0x275b,{apps:apps={},defaultApp:_0x482dd3}=_0x4852a7,_0x325a82=_0x4c00c4[_0x490b90(0x13c)][_0x490b90(0x13b)]&&typeof _0x4c00c4[_0x490b90(0x13c)][_0x490b90(0x13b)]===_0x490b90(0x15a)?_0x4c00c4[_0x490b90(0x13c)]['apps']:{},_0x123020=_0x4c00c4['projectConfig'][_0x490b90(0x13b)]&&typeof _0x4c00c4[_0x490b90(0x157)][_0x490b90(0x13b)]===_0x490b90(0x15a)?_0x4c00c4[_0x490b90(0x157)][_0x490b90(0x13b)]:{},_0x27fade=_0x4c00c4[_0x490b90(0x157)][_0x490b90(0x147)]===![],_0x50d4cf=Object['entries'](apps),_0xd079e4=_0x50d4cf[_0x490b90(0x14d)](([_0x511f51,_0x4fb482])=>({'name':_0x511f51,'appcode':_0x4fb482['appcode'],'named':!![],'definedIn':appDefinedIn(_0x511f51,_0x325a82,_0x123020,_0x27fade),'isDefault':_0x511f51===_0x482dd3,...buildAppProfileListFields(_0x4fb482)}));return _0xd079e4;}async function execute(_0x2e6f8b){const _0x1613a6=a21_0x275b,_0x3c6f65=_0x2e6f8b['bool'](_0x1613a6(0x151)),_0x8eab73=_0x2e6f8b['bool'](_0x1613a6(0x159)),_0x2bc509=_0x3c6f65?_0x1613a6(0x151):_0x8eab73?'project':'merged',{config:_0x25d2c0,layers:_0x2d4bfd}=readRawConfigWithLayers(),_0x491b83=resolveDefaultAppSource(_0x2d4bfd),{defaultApp:_0x1c67eb}=_0x25d2c0;let _0x3380e4,_0x5679c7;switch(_0x2bc509){case _0x1613a6(0x151):_0x3380e4=buildItemsFromLayer(_0x2d4bfd['globalConfig'],_0x1613a6(0x151)),_0x5679c7=_0x2d4bfd[_0x1613a6(0x144)];break;case _0x1613a6(0x159):_0x3380e4=buildItemsFromLayer(_0x2d4bfd['projectConfig'],_0x1613a6(0x159)),_0x5679c7=_0x2d4bfd['projectPath'];break;default:_0x3380e4=buildMergedItems(_0x25d2c0,_0x2d4bfd);break;}enrichAppListItemsWithMergedSelection(_0x3380e4,_0x2e6f8b['mergedCli']);if(_0x3380e4['length']===0x0){const _0x2ebe2b=_0x2bc509===_0x1613a6(0x142)?'':_0x1613a6(0x15b)+_0x2bc509+_0x1613a6(0x152);return{'ok':!![],'data':[],'message':_0x1613a6(0x139)+_0x2ebe2b+_0x1613a6(0x156)+CLI_BIN_NAME+_0x1613a6(0x14e)};}const _0xe47aa9=_0x3380e4['find'](_0x5f5a48=>_0x5f5a48['isCurrent']===!![]),_0x305fc1=_0x1c67eb??_0xe47aa9?.[_0x1613a6(0x154)]??null,_0x761bb5=_0x2bc509===_0x1613a6(0x142)?{'globalPath':_0x2d4bfd[_0x1613a6(0x144)]??null,'projectPath':_0x2d4bfd[_0x1613a6(0x141)]??null,'defaultApp':_0x305fc1,'defaultAppSource':_0x1c67eb!=null?_0x491b83:null}:{'scope':_0x2bc509,'configPath':_0x5679c7??null};return{'ok':!![],'data':{'items':_0x3380e4,'meta':_0x761bb5}};}export const appListDefinition={'service':a21_0x57c2ec(0x15d),'command':a21_0x57c2ec(0x14c),'description':a21_0x57c2ec(0x140),'risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[{'name':a21_0x57c2ec(0x151),'type':a21_0x57c2ec(0x14a),'description':a21_0x57c2ec(0x148),'default':![]},{'name':a21_0x57c2ec(0x159),'type':a21_0x57c2ec(0x14a),'description':a21_0x57c2ec(0x15c),'default':![]}],'execute':execute};
1
+ const a21_0xd19e8d=a21_0x4ba4;(function(_0x13f229,_0x44945a){const _0x2d7878=a21_0x4ba4,_0x496e58=_0x13f229();while(!![]){try{const _0x4e5f24=parseInt(_0x2d7878(0xee))/0x1*(-parseInt(_0x2d7878(0xf5))/0x2)+-parseInt(_0x2d7878(0xe7))/0x3*(-parseInt(_0x2d7878(0xd7))/0x4)+parseInt(_0x2d7878(0xf3))/0x5+-parseInt(_0x2d7878(0xe6))/0x6+parseInt(_0x2d7878(0xd6))/0x7*(parseInt(_0x2d7878(0xd9))/0x8)+parseInt(_0x2d7878(0xf0))/0x9+parseInt(_0x2d7878(0xe1))/0xa*(-parseInt(_0x2d7878(0xe8))/0xb);if(_0x4e5f24===_0x44945a)break;else _0x496e58['push'](_0x496e58['shift']());}catch(_0x17ba2c){_0x496e58['push'](_0x496e58['shift']());}}}(a21_0x3ad6,0x33e84));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(_0x2d44d2,_0x1e3087){const _0x32494b=a21_0x4ba4,_0xd74b9=[],_0x4d45ee=_0x2d44d2[_0x32494b(0xde)]&&typeof _0x2d44d2[_0x32494b(0xde)]==='object'?_0x2d44d2['apps']:{},_0x73c035=_0x2d44d2[_0x32494b(0xe4)]||undefined;for(const [_0x36caa0,_0x35b62e]of Object[_0x32494b(0xf1)](_0x4d45ee)){if(!_0x35b62e||typeof _0x35b62e!==_0x32494b(0xef)||!_0x35b62e[_0x32494b(0xf2)])continue;_0xd74b9[_0x32494b(0xf6)]({'name':_0x36caa0,'appcode':_0x35b62e[_0x32494b(0xf2)],'named':!![],'definedIn':_0x1e3087,'isDefault':_0x36caa0===_0x73c035,...buildAppProfileListFields(_0x35b62e)});}return _0xd74b9;}function buildMergedItems(_0x581436,_0x4085c7){const _0x5e6ab7=a21_0x4ba4,{apps:apps={},defaultApp:_0x2eb7b0}=_0x581436,_0x53241a=_0x4085c7[_0x5e6ab7(0xe9)][_0x5e6ab7(0xde)]&&typeof _0x4085c7[_0x5e6ab7(0xe9)][_0x5e6ab7(0xde)]===_0x5e6ab7(0xef)?_0x4085c7[_0x5e6ab7(0xe9)][_0x5e6ab7(0xde)]:{},_0x387965=_0x4085c7['projectConfig']['apps']&&typeof _0x4085c7[_0x5e6ab7(0xf9)][_0x5e6ab7(0xde)]===_0x5e6ab7(0xef)?_0x4085c7[_0x5e6ab7(0xf9)]['apps']:{},_0xb253e9=_0x4085c7[_0x5e6ab7(0xf9)]['inherit']===![],_0x2d02e1=Object[_0x5e6ab7(0xf1)](apps),_0x4b923c=_0x2d02e1[_0x5e6ab7(0xdb)](([_0x4c1068,_0x1e12dc])=>({'name':_0x4c1068,'appcode':_0x1e12dc['appcode'],'named':!![],'definedIn':appDefinedIn(_0x4c1068,_0x53241a,_0x387965,_0xb253e9),'isDefault':_0x4c1068===_0x2eb7b0,...buildAppProfileListFields(_0x1e12dc)}));return _0x4b923c;}async function execute(_0x48bb81){const _0x1ea768=a21_0x4ba4,_0x62001e=_0x48bb81[_0x1ea768(0xdd)](_0x1ea768(0xed)),_0x578979=_0x48bb81[_0x1ea768(0xdd)](_0x1ea768(0xd5)),_0x27a30d=_0x62001e?'global':_0x578979?_0x1ea768(0xd5):_0x1ea768(0xeb),{config:_0x5cee6d,layers:_0x1a2d3d}=readRawConfigWithLayers(),_0x325af6=resolveDefaultAppSource(_0x1a2d3d),{defaultApp:_0x59d483}=_0x5cee6d;let _0x275edc,_0x311e33;switch(_0x27a30d){case _0x1ea768(0xed):_0x275edc=buildItemsFromLayer(_0x1a2d3d[_0x1ea768(0xe9)],_0x1ea768(0xed)),_0x311e33=_0x1a2d3d[_0x1ea768(0xd8)];break;case _0x1ea768(0xd5):_0x275edc=buildItemsFromLayer(_0x1a2d3d[_0x1ea768(0xf9)],_0x1ea768(0xd5)),_0x311e33=_0x1a2d3d['projectPath'];break;default:_0x275edc=buildMergedItems(_0x5cee6d,_0x1a2d3d);break;}enrichAppListItemsWithMergedSelection(_0x275edc,_0x48bb81[_0x1ea768(0xf8)]);if(_0x275edc[_0x1ea768(0xea)]===0x0){const _0x1e1234=_0x27a30d===_0x1ea768(0xeb)?'':_0x1ea768(0xe2)+_0x27a30d+_0x1ea768(0xe3);return{'ok':!![],'data':[],'message':_0x1ea768(0xf4)+_0x1e1234+_0x1ea768(0xd4)+CLI_BIN_NAME+_0x1ea768(0xe5)};}const _0x2779ec=_0x275edc[_0x1ea768(0xda)](_0x96a799=>_0x96a799['isCurrent']===!![]),_0x461c5e=_0x59d483??_0x2779ec?.['appcode']??null,_0x53157a=_0x27a30d==='merged'?{'globalPath':_0x1a2d3d[_0x1ea768(0xd8)]??null,'projectPath':_0x1a2d3d[_0x1ea768(0xe0)]??null,'defaultApp':_0x461c5e,'defaultAppSource':_0x59d483!=null?_0x325af6:null}:{'scope':_0x27a30d,'configPath':_0x311e33??null};return{'ok':!![],'data':{'items':_0x275edc,'meta':_0x53157a}};}function a21_0x4ba4(_0x41ba0e,_0x99b305){_0x41ba0e=_0x41ba0e-0xd3;const _0x3ad6ef=a21_0x3ad6();let _0x4ba487=_0x3ad6ef[_0x41ba0e];return _0x4ba487;}export const appListDefinition={'service':'app','command':a21_0xd19e8d(0xec),'description':a21_0xd19e8d(0xf7),'risk':a21_0xd19e8d(0xdf),'requiresAuth':![],'requiresAppCode':![],'flags':[{'name':a21_0xd19e8d(0xed),'type':a21_0xd19e8d(0xdc),'description':a21_0xd19e8d(0xd3),'default':![]},{'name':'project','type':a21_0xd19e8d(0xdc),'description':'Show\x20only\x20apps\x20from\x20project\x20.rabetbase.json','default':![]}],'execute':execute};function a21_0x3ad6(){const _0x1bae61=['projectPath','4965850QBgtHy','\x20in\x20','\x20config','defaultApp','\x20app\x20add\x20<name>\x20--appcode\x20<code>`\x20to\x20add\x20one.','2101914eQrABv','39clpXvt','11Crefbp','globalConfig','length','merged','list','global','17TflrWr','object','3185442PnwwyI','entries','appcode','1454930vqypCa','No\x20apps\x20configured','23880EUwkEt','push','List\x20all\x20configured\x20apps','mergedCli','projectConfig','Show\x20only\x20apps\x20from\x20global\x20~/.rabetbase.json','.\x20Use\x20`','project','860027jwEnKO','76612KfJPlV','globalPath','24cSkill','find','map','boolean','bool','apps','read'];a21_0x3ad6=function(){return _0x1bae61;};return a21_0x3ad6();}
@@ -1 +1 @@
1
- const a22_0x1f94c5=a22_0x3e6d;function a22_0x3e6d(_0x503d6c,_0x2af480){_0x503d6c=_0x503d6c-0xce;const _0x9c8115=a22_0x9c81();let _0x3e6d0b=_0x9c8115[_0x503d6c];return _0x3e6d0b;}(function(_0x998dc3,_0x49a7cd){const _0x2e962e=a22_0x3e6d,_0x3b554e=_0x998dc3();while(!![]){try{const _0x86f4cb=parseInt(_0x2e962e(0xd5))/0x1+-parseInt(_0x2e962e(0xdb))/0x2+parseInt(_0x2e962e(0xdf))/0x3*(-parseInt(_0x2e962e(0xf1))/0x4)+parseInt(_0x2e962e(0xed))/0x5+-parseInt(_0x2e962e(0xe4))/0x6*(-parseInt(_0x2e962e(0xd0))/0x7)+-parseInt(_0x2e962e(0xe5))/0x8+-parseInt(_0x2e962e(0xe2))/0x9*(parseInt(_0x2e962e(0xe3))/0xa);if(_0x86f4cb===_0x49a7cd)break;else _0x3b554e['push'](_0x3b554e['shift']());}catch(_0x239966){_0x3b554e['push'](_0x3b554e['shift']());}}}(a22_0x9c81,0xe11e9));import{CliErrors}from'../../errors.js';function a22_0x9c81(){const _0x349702=['55310zxOjyC','6ddWuEy','6250984usfONt','projectConfig','Missing\x20app\x20name.','App\x20\x22','\x20Note:\x20app\x20\x22','args','global','Use\x20global\x20config\x20scope','4457750pXKZhs','project','\x22\x20not\x20found.','Removed\x20app\x20\x22','1712uJYcRB','boolean','\x22\x20still\x20defined\x20in\x20','name','App\x20profile\x20name\x20to\x20remove','bool','3574130mOoSMp','validation','defaultApp','object','trim','1268836iLEDmH','apps','length','keys','app','\x20Default\x20app\x20changed\x20to\x20\x22','575512XvEXsB','globalConfig','inherit','high-risk-write','2361RPXmzq','Remove\x20an\x20app\x20from\x20config','\x20config.','558eNXaHd'];a22_0x9c81=function(){return _0x349702;};return a22_0x9c81();}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(_0x492eb1){const _0x189029=a22_0x3e6d,_0x34e1d0=_0x492eb1[_0x189029(0xea)][0x0]?.['trim']();if(!_0x34e1d0)throw CliErrors['validation'](_0x189029(0xe7),'Usage:\x20'+CLI_BIN_NAME+'\x20app\x20remove\x20<name>\x20[--global]');}async function execute(_0x2402da){const _0x20ca47=a22_0x3e6d,_0x3bac11=_0x2402da[_0x20ca47(0xea)][0x0]?.[_0x20ca47(0xd4)]();if(!_0x3bac11)throw CliErrors[_0x20ca47(0xd1)]('Missing\x20app\x20name.','Usage:\x20'+CLI_BIN_NAME+'\x20app\x20remove\x20<name>\x20[--global]');const _0xd8ee5=_0x2402da[_0x20ca47(0xcf)]('global'),{config:_0x2749be,layers:_0x323636}=readRawConfigWithLayers(),_0x361494=_0x2749be[_0x20ca47(0xd6)]??{};if(!_0x361494[_0x3bac11])throw CliErrors['validation'](_0x20ca47(0xe8)+_0x3bac11+_0x20ca47(0xef));const _0x3ce6d7=_0x323636['globalConfig'][_0x20ca47(0xd6)]&&typeof _0x323636[_0x20ca47(0xdc)][_0x20ca47(0xd6)]==='object'?_0x323636['globalConfig'][_0x20ca47(0xd6)]:{},_0x332df1=_0x323636[_0x20ca47(0xe6)][_0x20ca47(0xd6)]&&typeof _0x323636[_0x20ca47(0xe6)]['apps']===_0x20ca47(0xd3)?_0x323636[_0x20ca47(0xe6)][_0x20ca47(0xd6)]:{},_0xad3393=appDefinedIn(_0x3bac11,_0x3ce6d7,_0x332df1,_0x323636[_0x20ca47(0xe6)][_0x20ca47(0xdd)]===![]),_0x354594=resolveAppScopeForWrite(_0x3bac11,_0xd8ee5,_0x323636),_0x37a0f2={'global':_0x354594===_0x20ca47(0xeb)},_0x14c790=readConfig(_0x37a0f2),_0xccbb89=_0x14c790[_0x20ca47(0xd6)];if(!_0xccbb89||!_0xccbb89[_0x3bac11])throw CliErrors[_0x20ca47(0xd1)]('App\x20\x22'+_0x3bac11+_0x20ca47(0xef));delete _0xccbb89[_0x3bac11];let _0x5aa7dd='';if(_0x14c790['defaultApp']===_0x3bac11){const _0x2596a4=Object[_0x20ca47(0xd8)](_0xccbb89);_0x14c790['defaultApp']=_0x2596a4['length']>0x0?_0x2596a4[0x0]:undefined,_0x14c790['defaultApp']?_0x5aa7dd=_0x20ca47(0xda)+_0x14c790['defaultApp']+'\x22.':delete _0x14c790['defaultApp'];}Object[_0x20ca47(0xd8)](_0xccbb89)[_0x20ca47(0xd7)]===0x0&&(delete _0x14c790['apps'],delete _0x14c790[_0x20ca47(0xd2)]);writeConfig(_0x14c790,_0x37a0f2);const _0x1b37b2=_0xad3393==='both'?_0x20ca47(0xe9)+_0x3bac11+_0x20ca47(0xf3)+(_0x354594===_0x20ca47(0xee)?_0x20ca47(0xeb):_0x20ca47(0xee))+_0x20ca47(0xe1):'';return{'ok':!![],'message':_0x20ca47(0xf0)+_0x3bac11+'\x22'+scopeLabel(_0x37a0f2)+'.'+_0x5aa7dd+_0x1b37b2};}export const appRemoveDefinition={'service':a22_0x1f94c5(0xd9),'command':'remove','description':a22_0x1f94c5(0xe0),'risk':a22_0x1f94c5(0xde),'requiresAuth':![],'requiresAppCode':![],'args':[{'name':a22_0x1f94c5(0xf4),'description':a22_0x1f94c5(0xce),'required':!![]}],'flags':[{'name':a22_0x1f94c5(0xeb),'type':a22_0x1f94c5(0xf2),'description':a22_0x1f94c5(0xec),'default':![]}],'validate':validateArgs,'execute':execute};
1
+ const a22_0x353dbb=a22_0x2538;(function(_0xde1231,_0x26916c){const _0x56c1d7=a22_0x2538,_0x537bc4=_0xde1231();while(!![]){try{const _0x5eb4da=parseInt(_0x56c1d7(0x1f7))/0x1*(parseInt(_0x56c1d7(0x215))/0x2)+-parseInt(_0x56c1d7(0x20f))/0x3*(parseInt(_0x56c1d7(0x214))/0x4)+parseInt(_0x56c1d7(0x219))/0x5*(parseInt(_0x56c1d7(0x1fd))/0x6)+-parseInt(_0x56c1d7(0x213))/0x7*(-parseInt(_0x56c1d7(0x201))/0x8)+-parseInt(_0x56c1d7(0x200))/0x9+parseInt(_0x56c1d7(0x1f9))/0xa+parseInt(_0x56c1d7(0x216))/0xb;if(_0x5eb4da===_0x26916c)break;else _0x537bc4['push'](_0x537bc4['shift']());}catch(_0x2cb9b4){_0x537bc4['push'](_0x537bc4['shift']());}}}(a22_0x3d54,0x4ac02));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{readRawConfigWithLayers}from'../../context.js';function a22_0x2538(_0x7548d,_0x701d8d){_0x7548d=_0x7548d-0x1f2;const _0x3d5481=a22_0x3d54();let _0x253814=_0x3d5481[_0x7548d];return _0x253814;}import{readConfig,writeConfig,scopeLabel,resolveAppScopeForWrite,appDefinedIn}from'../../commands/app/shared.js';async function validateArgs(_0x6256de){const _0xb37b5d=a22_0x2538,_0x4e2236=_0x6256de[_0xb37b5d(0x1fb)][0x0]?.[_0xb37b5d(0x20b)]();if(!_0x4e2236)throw CliErrors[_0xb37b5d(0x206)](_0xb37b5d(0x218),_0xb37b5d(0x208)+CLI_BIN_NAME+_0xb37b5d(0x1f6));}async function execute(_0x209740){const _0x5e4b10=a22_0x2538,_0x5e2438=_0x209740[_0x5e4b10(0x1fb)][0x0]?.[_0x5e4b10(0x20b)]();if(!_0x5e2438)throw CliErrors['validation'](_0x5e4b10(0x218),_0x5e4b10(0x208)+CLI_BIN_NAME+_0x5e4b10(0x1f6));const _0x5f1c9b=_0x209740[_0x5e4b10(0x212)]('global'),{config:_0x1cb0b2,layers:_0x2fd914}=readRawConfigWithLayers(),_0x4be019=_0x1cb0b2[_0x5e4b10(0x1f8)]??{};if(!_0x4be019[_0x5e2438])throw CliErrors[_0x5e4b10(0x206)]('App\x20\x22'+_0x5e2438+_0x5e4b10(0x209));const _0xbef64f=_0x2fd914[_0x5e4b10(0x1fc)][_0x5e4b10(0x1f8)]&&typeof _0x2fd914[_0x5e4b10(0x1fc)][_0x5e4b10(0x1f8)]===_0x5e4b10(0x1ff)?_0x2fd914[_0x5e4b10(0x1fc)][_0x5e4b10(0x1f8)]:{},_0x2580cb=_0x2fd914['projectConfig'][_0x5e4b10(0x1f8)]&&typeof _0x2fd914['projectConfig'][_0x5e4b10(0x1f8)]==='object'?_0x2fd914[_0x5e4b10(0x1fe)][_0x5e4b10(0x1f8)]:{},_0x2fce27=appDefinedIn(_0x5e2438,_0xbef64f,_0x2580cb,_0x2fd914[_0x5e4b10(0x1fe)][_0x5e4b10(0x210)]===![]),_0x56485=resolveAppScopeForWrite(_0x5e2438,_0x5f1c9b,_0x2fd914),_0x16f982={'global':_0x56485==='global'},_0x457c8b=readConfig(_0x16f982),_0x4b87a9=_0x457c8b[_0x5e4b10(0x1f8)];if(!_0x4b87a9||!_0x4b87a9[_0x5e2438])throw CliErrors[_0x5e4b10(0x206)](_0x5e4b10(0x217)+_0x5e2438+'\x22\x20not\x20found.');delete _0x4b87a9[_0x5e2438];let _0x3c8fde='';if(_0x457c8b[_0x5e4b10(0x20d)]===_0x5e2438){const _0x54fb3e=Object[_0x5e4b10(0x205)](_0x4b87a9);_0x457c8b['defaultApp']=_0x54fb3e[_0x5e4b10(0x1f2)]>0x0?_0x54fb3e[0x0]:undefined,_0x457c8b[_0x5e4b10(0x20d)]?_0x3c8fde=_0x5e4b10(0x1f4)+_0x457c8b[_0x5e4b10(0x20d)]+'\x22.':delete _0x457c8b[_0x5e4b10(0x20d)];}Object[_0x5e4b10(0x205)](_0x4b87a9)[_0x5e4b10(0x1f2)]===0x0&&(delete _0x457c8b[_0x5e4b10(0x1f8)],delete _0x457c8b[_0x5e4b10(0x20d)]);writeConfig(_0x457c8b,_0x16f982);const _0x4c5126=_0x2fce27===_0x5e4b10(0x204)?_0x5e4b10(0x1f5)+_0x5e2438+_0x5e4b10(0x203)+(_0x56485===_0x5e4b10(0x20c)?_0x5e4b10(0x1fa):'project')+'\x20config.':'';return{'ok':!![],'message':'Removed\x20app\x20\x22'+_0x5e2438+'\x22'+scopeLabel(_0x16f982)+'.'+_0x3c8fde+_0x4c5126};}function a22_0x3d54(){const _0x2a3dca=['Missing\x20app\x20name.','2105bhHudf','length','boolean','\x20Default\x20app\x20changed\x20to\x20\x22','\x20Note:\x20app\x20\x22','\x20app\x20remove\x20<name>\x20[--global]','2863aahJQn','apps','5827700wNDZBT','global','args','globalConfig','1026BuWydn','projectConfig','object','1366893YoqgOm','100560vpeIFd','Use\x20global\x20config\x20scope','\x22\x20still\x20defined\x20in\x20','both','keys','validation','App\x20profile\x20name\x20to\x20remove','Usage:\x20','\x22\x20not\x20found.','high-risk-write','trim','project','defaultApp','name','6lZaElX','inherit','app','bool','7pEUNvt','625164uCtFUy','18NMIOpG','852929uSgTcj','App\x20\x22'];a22_0x3d54=function(){return _0x2a3dca;};return a22_0x3d54();}export const appRemoveDefinition={'service':a22_0x353dbb(0x211),'command':'remove','description':'Remove\x20an\x20app\x20from\x20config','risk':a22_0x353dbb(0x20a),'requiresAuth':![],'requiresAppCode':![],'args':[{'name':a22_0x353dbb(0x20e),'description':a22_0x353dbb(0x207),'required':!![]}],'flags':[{'name':'global','type':a22_0x353dbb(0x1f3),'description':a22_0x353dbb(0x202),'default':![]}],'validate':validateArgs,'execute':execute};
@@ -1 +1 @@
1
- (function(_0x3542c4,_0x5bb750){const _0x10eba4=a23_0x489e,_0x2f2a61=_0x3542c4();while(!![]){try{const _0x260bb2=-parseInt(_0x10eba4(0x7d))/0x1+-parseInt(_0x10eba4(0x79))/0x2+parseInt(_0x10eba4(0x83))/0x3+parseInt(_0x10eba4(0x7a))/0x4*(parseInt(_0x10eba4(0x86))/0x5)+-parseInt(_0x10eba4(0x85))/0x6*(parseInt(_0x10eba4(0x8a))/0x7)+parseInt(_0x10eba4(0x7f))/0x8+-parseInt(_0x10eba4(0x81))/0x9;if(_0x260bb2===_0x5bb750)break;else _0x2f2a61['push'](_0x2f2a61['shift']());}catch(_0x4a3912){_0x2f2a61['push'](_0x2f2a61['shift']());}}}(a23_0x28f5,0xbe385));import{resolveWriteConfigPath,readConfigFile,writeConfigFile}from'../../context.js';function a23_0x489e(_0x50c04d,_0x5a5ade){_0x50c04d=_0x50c04d-0x72;const _0x28f5ec=a23_0x28f5();let _0x489ef0=_0x28f5ec[_0x50c04d];return _0x489ef0;}export function enrichAppListItemsWithMergedSelection(_0x2fd6bf,_0xe537cd){const _0x405b42=a23_0x489e;if(!_0xe537cd)return;const _0x5d76b8=_0xe537cd[_0x405b42(0x76)]&&typeof _0xe537cd[_0x405b42(0x76)]===_0x405b42(0x8d)?_0xe537cd['apps']:{},_0x1ecf42=Object['keys'](_0x5d76b8)[_0x405b42(0x84)]>0x0;for(const _0x25961f of _0x2fd6bf){_0x25961f[_0x405b42(0x75)]=![];}const _0x25fba6=_0xe537cd[_0x405b42(0x8c)]!=null?String(_0xe537cd[_0x405b42(0x8c)])[_0x405b42(0x80)]():'';if(_0x1ecf42){const _0x3c7564=_0xe537cd[_0x405b42(0x77)]??_0xe537cd[_0x405b42(0x73)];if(_0x3c7564)for(const _0x56f18c of _0x2fd6bf){_0x56f18c[_0x405b42(0x74)]===!![]&&_0x56f18c['name']===_0x3c7564&&(_0x56f18c[_0x405b42(0x75)]=!![]);}for(const _0x5d8499 of _0x2fd6bf){if(_0x5d8499[_0x405b42(0x74)]!==![])continue;if(_0xe537cd['defaultApp'])continue;_0x25fba6&&String(_0x5d8499[_0x405b42(0x87)]??'')[_0x405b42(0x80)]()===_0x25fba6&&(_0x5d8499['isCurrent']=!![]);}return;}if(!_0x25fba6)return;for(const _0x277b80 of _0x2fd6bf){String(_0x277b80[_0x405b42(0x87)]??'')[_0x405b42(0x80)]()===_0x25fba6&&(_0x277b80[_0x405b42(0x75)]=!![]);}}export function resolveAppScopeForWrite(_0x53da04,_0x3a3d7b,_0xae3c9d){const _0xb78915=a23_0x489e;if(_0x3a3d7b)return'global';const _0x97048c=_0xae3c9d['projectConfig'][_0xb78915(0x76)]&&typeof _0xae3c9d['projectConfig'][_0xb78915(0x76)]===_0xb78915(0x8d)?_0xae3c9d[_0xb78915(0x7e)]['apps']:{},_0x347999=_0xae3c9d[_0xb78915(0x7c)][_0xb78915(0x76)]&&typeof _0xae3c9d[_0xb78915(0x7c)]['apps']==='object'?_0xae3c9d[_0xb78915(0x7c)][_0xb78915(0x76)]:{};if(Object[_0xb78915(0x78)][_0xb78915(0x72)][_0xb78915(0x89)](_0x97048c,_0x53da04))return _0xb78915(0x7b);if(Object[_0xb78915(0x78)]['hasOwnProperty'][_0xb78915(0x89)](_0x347999,_0x53da04))return _0xb78915(0x8b);return'project';}export function appDefinedIn(_0x900051,_0x4a2eb5,_0xaec7d8,_0x45a9fb){const _0x5070bc=a23_0x489e;if(_0x45a9fb)return Object['prototype'][_0x5070bc(0x72)]['call'](_0xaec7d8,_0x900051)?_0x5070bc(0x7b):_0x5070bc(0x8b);const _0x4a0e7d=Object[_0x5070bc(0x78)]['hasOwnProperty']['call'](_0x4a2eb5,_0x900051),_0x4ffbc7=Object[_0x5070bc(0x78)][_0x5070bc(0x72)]['call'](_0xaec7d8,_0x900051);if(_0x4a0e7d&&_0x4ffbc7)return'both';if(_0x4ffbc7)return'project';return'global';}export function resolveDefaultAppSource(_0x5b8dff){const _0x10f7d1=a23_0x489e,_0x3bcff1=_0x5b8dff[_0x10f7d1(0x7e)][_0x10f7d1(0x76)]&&typeof _0x5b8dff['projectConfig'][_0x10f7d1(0x76)]===_0x10f7d1(0x8d)?_0x5b8dff[_0x10f7d1(0x7e)]['apps']:{};if(_0x10f7d1(0x73)in _0x5b8dff[_0x10f7d1(0x7e)])return _0x10f7d1(0x7b);if(Object[_0x10f7d1(0x88)](_0x3bcff1)[_0x10f7d1(0x84)]>0x0)return _0x10f7d1(0x7b);if(_0x5b8dff[_0x10f7d1(0x7e)][_0x10f7d1(0x82)]===![])return null;if(_0x5b8dff[_0x10f7d1(0x7c)][_0x10f7d1(0x73)])return _0x10f7d1(0x8b);return null;}export function getConfigPath(_0x1c6e38={}){const _0x1d76c4=a23_0x489e,_0x2d7605=_0x1c6e38[_0x1d76c4(0x8b)]?_0x1d76c4(0x8b):'project';return resolveWriteConfigPath(_0x2d7605);}export function readConfig(_0x4e9433={}){return readConfigFile(getConfigPath(_0x4e9433));}export function writeConfig(_0x5eaa8c,_0x1a2498={}){writeConfigFile(getConfigPath(_0x1a2498),_0x5eaa8c);}function a23_0x28f5(){const _0x44268b=['currentApp','prototype','2288290pBXfMh','880ZyOeGY','project','globalConfig','406850ySVWiS','projectConfig','9404656IJkoxJ','trim','2754279MFyebB','inherit','3243150iwBgXb','length','4470rLYTvu','23475XbesUN','appcode','keys','call','6139vtRras','global','appCode','object','hasOwnProperty','defaultApp','named','isCurrent','apps'];a23_0x28f5=function(){return _0x44268b;};return a23_0x28f5();}export function scopeLabel(_0x28ca50){return _0x28ca50['global']?'\x20(global)':'';}
1
+ (function(_0x1d2f3d,_0x354051){const _0x3198e8=a23_0x14ae,_0xd172f4=_0x1d2f3d();while(!![]){try{const _0x1b7c0a=parseInt(_0x3198e8(0xd2))/0x1+parseInt(_0x3198e8(0xc9))/0x2*(parseInt(_0x3198e8(0xd9))/0x3)+-parseInt(_0x3198e8(0xd0))/0x4*(parseInt(_0x3198e8(0xc6))/0x5)+-parseInt(_0x3198e8(0xdc))/0x6+parseInt(_0x3198e8(0xbf))/0x7*(-parseInt(_0x3198e8(0xd4))/0x8)+-parseInt(_0x3198e8(0xc2))/0x9*(-parseInt(_0x3198e8(0xcd))/0xa)+parseInt(_0x3198e8(0xdb))/0xb;if(_0x1b7c0a===_0x354051)break;else _0xd172f4['push'](_0xd172f4['shift']());}catch(_0x58f86d){_0xd172f4['push'](_0xd172f4['shift']());}}}(a23_0x3335,0xb6e60));import{resolveWriteConfigPath,readConfigFile,writeConfigFile}from'../../context.js';export function enrichAppListItemsWithMergedSelection(_0x5854ef,_0x224a95){const _0x1082a8=a23_0x14ae;if(!_0x224a95)return;const _0x3279d6=_0x224a95['apps']&&typeof _0x224a95[_0x1082a8(0xc3)]===_0x1082a8(0xc7)?_0x224a95['apps']:{},_0x5618c6=Object[_0x1082a8(0xc4)](_0x3279d6)['length']>0x0;for(const _0x498216 of _0x5854ef){_0x498216[_0x1082a8(0xd7)]=![];}const _0x1af7e5=_0x224a95[_0x1082a8(0xd1)]!=null?String(_0x224a95[_0x1082a8(0xd1)])[_0x1082a8(0xda)]():'';if(_0x5618c6){const _0x2686cf=_0x224a95[_0x1082a8(0xd3)]??_0x224a95[_0x1082a8(0xd8)];if(_0x2686cf)for(const _0x3fc0e0 of _0x5854ef){_0x3fc0e0['named']===!![]&&_0x3fc0e0[_0x1082a8(0xd5)]===_0x2686cf&&(_0x3fc0e0[_0x1082a8(0xd7)]=!![]);}for(const _0x2ae55f of _0x5854ef){if(_0x2ae55f[_0x1082a8(0xc0)]!==![])continue;if(_0x224a95[_0x1082a8(0xd8)])continue;_0x1af7e5&&String(_0x2ae55f[_0x1082a8(0xc8)]??'')[_0x1082a8(0xda)]()===_0x1af7e5&&(_0x2ae55f[_0x1082a8(0xd7)]=!![]);}return;}if(!_0x1af7e5)return;for(const _0xb3910c of _0x5854ef){String(_0xb3910c[_0x1082a8(0xc8)]??'')[_0x1082a8(0xda)]()===_0x1af7e5&&(_0xb3910c[_0x1082a8(0xd7)]=!![]);}}export function resolveAppScopeForWrite(_0x315d4f,_0x3982ba,_0x2de1c1){const _0xab8f39=a23_0x14ae;if(_0x3982ba)return _0xab8f39(0xde);const _0x564468=_0x2de1c1[_0xab8f39(0xce)][_0xab8f39(0xc3)]&&typeof _0x2de1c1[_0xab8f39(0xce)][_0xab8f39(0xc3)]===_0xab8f39(0xc7)?_0x2de1c1[_0xab8f39(0xce)][_0xab8f39(0xc3)]:{},_0xc1547a=_0x2de1c1['globalConfig'][_0xab8f39(0xc3)]&&typeof _0x2de1c1['globalConfig'][_0xab8f39(0xc3)]===_0xab8f39(0xc7)?_0x2de1c1[_0xab8f39(0xcb)][_0xab8f39(0xc3)]:{};if(Object[_0xab8f39(0xca)]['hasOwnProperty'][_0xab8f39(0xdd)](_0x564468,_0x315d4f))return _0xab8f39(0xc5);if(Object[_0xab8f39(0xca)][_0xab8f39(0xcf)][_0xab8f39(0xdd)](_0xc1547a,_0x315d4f))return _0xab8f39(0xde);return'project';}export function appDefinedIn(_0x45b4e2,_0x1abf82,_0x12e7d6,_0x196e25){const _0x10b272=a23_0x14ae;if(_0x196e25)return Object[_0x10b272(0xca)][_0x10b272(0xcf)]['call'](_0x12e7d6,_0x45b4e2)?_0x10b272(0xc5):_0x10b272(0xde);const _0x53ae8e=Object[_0x10b272(0xca)][_0x10b272(0xcf)][_0x10b272(0xdd)](_0x1abf82,_0x45b4e2),_0x41603d=Object['prototype'][_0x10b272(0xcf)]['call'](_0x12e7d6,_0x45b4e2);if(_0x53ae8e&&_0x41603d)return _0x10b272(0xd6);if(_0x41603d)return _0x10b272(0xc5);return _0x10b272(0xde);}export function resolveDefaultAppSource(_0x16af60){const _0x25a7ca=a23_0x14ae,_0x55323a=_0x16af60[_0x25a7ca(0xce)][_0x25a7ca(0xc3)]&&typeof _0x16af60['projectConfig'][_0x25a7ca(0xc3)]===_0x25a7ca(0xc7)?_0x16af60[_0x25a7ca(0xce)][_0x25a7ca(0xc3)]:{};if(_0x25a7ca(0xd8)in _0x16af60[_0x25a7ca(0xce)])return'project';if(Object[_0x25a7ca(0xc4)](_0x55323a)[_0x25a7ca(0xc1)]>0x0)return _0x25a7ca(0xc5);if(_0x16af60[_0x25a7ca(0xce)][_0x25a7ca(0xcc)]===![])return null;if(_0x16af60[_0x25a7ca(0xcb)][_0x25a7ca(0xd8)])return'global';return null;}export function getConfigPath(_0x2d67ad={}){const _0x3545d7=a23_0x14ae,_0x20e979=_0x2d67ad[_0x3545d7(0xde)]?'global':_0x3545d7(0xc5);return resolveWriteConfigPath(_0x20e979);}export function readConfig(_0xbc8b43={}){return readConfigFile(getConfigPath(_0xbc8b43));}export function writeConfig(_0x53d31a,_0x1fee3d={}){writeConfigFile(getConfigPath(_0x1fee3d),_0x53d31a);}export function scopeLabel(_0x504b4f){const _0x5c2624=a23_0x14ae;return _0x504b4f[_0x5c2624(0xde)]?'\x20(global)':'';}function a23_0x14ae(_0x3c6581,_0x592d0a){_0x3c6581=_0x3c6581-0xbf;const _0x333570=a23_0x3335();let _0x14aead=_0x333570[_0x3c6581];return _0x14aead;}function a23_0x3335(){const _0x18f1e0=['appcode','6DKtoAm','prototype','globalConfig','inherit','1878970nQPHJp','projectConfig','hasOwnProperty','4gRzGMw','appCode','229744lZFWeu','currentApp','36472lClOow','name','both','isCurrent','defaultApp','1343139HVrIBU','trim','14297217rubxwi','3445242zBwqbj','call','global','2163pyRVrM','named','length','9uPugJm','apps','keys','project','1642185bKqvqO','object'];a23_0x3335=function(){return _0x18f1e0;};return a23_0x3335();}
@@ -1 +1 @@
1
- const a24_0x1224cc=a24_0x5804;(function(_0x181385,_0xd4391e){const _0x3fa6f5=a24_0x5804,_0x1cded2=_0x181385();while(!![]){try{const _0xd87be4=parseInt(_0x3fa6f5(0x11d))/0x1*(-parseInt(_0x3fa6f5(0x110))/0x2)+-parseInt(_0x3fa6f5(0x115))/0x3*(-parseInt(_0x3fa6f5(0x120))/0x4)+-parseInt(_0x3fa6f5(0x103))/0x5*(parseInt(_0x3fa6f5(0x11c))/0x6)+parseInt(_0x3fa6f5(0x121))/0x7+-parseInt(_0x3fa6f5(0x10d))/0x8+parseInt(_0x3fa6f5(0x117))/0x9+parseInt(_0x3fa6f5(0x118))/0xa;if(_0xd87be4===_0xd4391e)break;else _0x1cded2['push'](_0x1cded2['shift']());}catch(_0x22704f){_0x1cded2['push'](_0x1cded2['shift']());}}}(a24_0x3699,0x587f6));import{CliErrors}from'../../errors.js';function a24_0x5804(_0x310d55,_0x5adc66){_0x310d55=_0x310d55-0xff;const _0x369902=a24_0x3699();let _0x5804ee=_0x369902[_0x310d55];return _0x5804ee;}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(_0x38c219){const _0x2373f=a24_0x5804,_0x370aa6=_0x38c219[_0x2373f(0x100)][0x0]?.[_0x2373f(0x10c)]();if(!_0x370aa6)throw CliErrors['validation'](_0x2373f(0x11b),_0x2373f(0x107)+CLI_BIN_NAME+_0x2373f(0x108));}async function execute(_0x40a23a){const _0x439ad5=a24_0x5804,_0x412a5e=_0x40a23a[_0x439ad5(0x100)][0x0]?.[_0x439ad5(0x10c)]();if(!_0x412a5e)throw CliErrors[_0x439ad5(0x116)](_0x439ad5(0x11b),_0x439ad5(0x107)+CLI_BIN_NAME+_0x439ad5(0x108));const _0x570624=_0x40a23a[_0x439ad5(0x10f)](_0x439ad5(0x102)),{config:_0x4992be,layers:_0x170a9c}=readRawConfigWithLayers(),_0xc0457f=_0x4992be[_0x439ad5(0x114)]??{},_0x56318f=_0x170a9c[_0x439ad5(0x101)]['apps']&&typeof _0x170a9c['globalConfig'][_0x439ad5(0x114)]===_0x439ad5(0x105)?_0x170a9c[_0x439ad5(0x101)]['apps']:{},_0xff517f={..._0x56318f,..._0xc0457f};if(!_0xff517f[_0x412a5e]){const _0x33f97e=Object[_0x439ad5(0x10e)](_0xff517f),_0x48517b=_0x33f97e['length']===0x0?'Use\x20`'+CLI_BIN_NAME+_0x439ad5(0x104)+_0x412a5e+'\x20--appcode\x20<code>`\x20first.':_0x439ad5(0x112)+_0x33f97e[_0x439ad5(0xff)](',\x20');throw CliErrors[_0x439ad5(0x116)]('App\x20\x22'+_0x412a5e+_0x439ad5(0x10b),_0x48517b);}let _0x4de748,_0x2ed754='';if(_0x570624)_0x4de748={'global':!![]};else{const _0x10ba52=isInProject()&&!!_0x170a9c['projectPath'];_0x4de748={'global':!_0x10ba52};}const _0x4283bd=readConfig(_0x4de748);_0x4283bd['defaultApp']=_0x412a5e;if(!_0x4de748[_0x439ad5(0x102)]){const _0x94bef5=_0x4283bd[_0x439ad5(0x114)]&&typeof _0x4283bd[_0x439ad5(0x114)]===_0x439ad5(0x105)?_0x4283bd[_0x439ad5(0x114)]:{};!Object[_0x439ad5(0x113)][_0x439ad5(0x106)]['call'](_0x94bef5,_0x412a5e)&&(_0x4283bd[_0x439ad5(0x114)]={..._0x94bef5,[_0x412a5e]:_0xff517f[_0x412a5e]},_0x2ed754=_0x439ad5(0x11a)+_0x412a5e+_0x439ad5(0x11e));}return writeConfig(_0x4283bd,_0x4de748),{'ok':!![],'message':_0x439ad5(0x11f)+_0x412a5e+_0x439ad5(0x119)+_0xff517f[_0x412a5e][_0x439ad5(0x109)]+')'+scopeLabel(_0x4de748)+_0x2ed754};}function a24_0x3699(){const _0x398f3f=['args','globalConfig','global','50WGxZcW','\x20app\x20add\x20','object','hasOwnProperty','Usage:\x20','\x20app\x20use\x20<name>\x20[--global]','appcode','app','\x22\x20not\x20found.','trim','1153680Wwrqwe','keys','bool','43284GYsBIp','Switch\x20the\x20default\x20app','Available:\x20','prototype','apps','450fpUiTB','validation','3506472aKnVgW','2467040HZlANT','\x22\x20(appcode:\x20','\x0aNote:\x20\x22','Missing\x20app\x20name.','214416iiripO','25AhUcKb','\x22\x20was\x20defined\x20in\x20global\x20config;\x20profile\x20copied\x20into\x20project\x20so\x20the\x20project\x20config\x20self-resolves\x20under\x20the\x20default\x20project-first\x20inherit\x20policy.','Default\x20app\x20set\x20to\x20\x22','16648enCJTt','1011458jYxUZX','boolean','write','join'];a24_0x3699=function(){return _0x398f3f;};return a24_0x3699();}export const appUseDefinition={'service':a24_0x1224cc(0x10a),'command':'use','description':a24_0x1224cc(0x111),'risk':a24_0x1224cc(0x123),'requiresAuth':![],'requiresAppCode':![],'args':[{'name':'name','description':'App\x20profile\x20name\x20to\x20activate','required':!![]}],'flags':[{'name':a24_0x1224cc(0x102),'type':a24_0x1224cc(0x122),'description':'Use\x20global\x20config\x20scope','default':![]}],'validate':validateArgs,'execute':execute};
1
+ const a24_0x4ec650=a24_0x47df;function a24_0x47df(_0x40066e,_0x5f525e){_0x40066e=_0x40066e-0x199;const _0x3b96b4=a24_0x3b96();let _0x47df22=_0x3b96b4[_0x40066e];return _0x47df22;}(function(_0x25293a,_0x49aac9){const _0x37fa79=a24_0x47df,_0x27b2c3=_0x25293a();while(!![]){try{const _0x262383=parseInt(_0x37fa79(0x1b9))/0x1*(-parseInt(_0x37fa79(0x1a6))/0x2)+parseInt(_0x37fa79(0x1bb))/0x3*(-parseInt(_0x37fa79(0x1ab))/0x4)+-parseInt(_0x37fa79(0x1a3))/0x5+parseInt(_0x37fa79(0x1bc))/0x6*(parseInt(_0x37fa79(0x19c))/0x7)+parseInt(_0x37fa79(0x1aa))/0x8+parseInt(_0x37fa79(0x1a7))/0x9+parseInt(_0x37fa79(0x1a0))/0xa;if(_0x262383===_0x49aac9)break;else _0x27b2c3['push'](_0x27b2c3['shift']());}catch(_0x31d862){_0x27b2c3['push'](_0x27b2c3['shift']());}}}(a24_0x3b96,0x7f71c));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{readRawConfigWithLayers,isInProject}from'../../context.js';function a24_0x3b96(){const _0xff0ca1=['1826841GcnFQg','6lnlACN','Missing\x20app\x20name.','use','App\x20\x22','prototype','validation','projectPath','3134306LwWYAC','keys','\x22\x20not\x20found.','args','4838750FrIEes','global','bool','2661100jDhWWZ','defaultApp','write','771862nzmFfz','5114790pFhNPx','\x0aNote:\x20\x22','trim','4393336iJDFwK','4oLCRqe','apps','globalConfig','call','\x20app\x20use\x20<name>\x20[--global]','Usage:\x20','Switch\x20the\x20default\x20app','object','Available:\x20','app','length','join','Default\x20app\x20set\x20to\x20\x22','App\x20profile\x20name\x20to\x20activate','1BZaaMZ','\x22\x20was\x20defined\x20in\x20global\x20config;\x20profile\x20copied\x20into\x20project\x20so\x20the\x20project\x20config\x20self-resolves\x20under\x20the\x20default\x20project-first\x20inherit\x20policy.'];a24_0x3b96=function(){return _0xff0ca1;};return a24_0x3b96();}import{readConfig,writeConfig,scopeLabel}from'../../commands/app/shared.js';async function validateArgs(_0x301542){const _0x50feb7=a24_0x47df,_0x3d211c=_0x301542['args'][0x0]?.['trim']();if(!_0x3d211c)throw CliErrors[_0x50feb7(0x19a)](_0x50feb7(0x1bd),'Usage:\x20'+CLI_BIN_NAME+'\x20app\x20use\x20<name>\x20[--global]');}async function execute(_0x97eb1e){const _0x1fd740=a24_0x47df,_0x47ce90=_0x97eb1e[_0x1fd740(0x19f)][0x0]?.[_0x1fd740(0x1a9)]();if(!_0x47ce90)throw CliErrors[_0x1fd740(0x19a)](_0x1fd740(0x1bd),_0x1fd740(0x1b0)+CLI_BIN_NAME+_0x1fd740(0x1af));const _0x5c0da1=_0x97eb1e[_0x1fd740(0x1a2)](_0x1fd740(0x1a1)),{config:_0x53ab6a,layers:_0x50b098}=readRawConfigWithLayers(),_0x1550cd=_0x53ab6a[_0x1fd740(0x1ac)]??{},_0xf07193=_0x50b098[_0x1fd740(0x1ad)]['apps']&&typeof _0x50b098[_0x1fd740(0x1ad)]['apps']===_0x1fd740(0x1b2)?_0x50b098[_0x1fd740(0x1ad)][_0x1fd740(0x1ac)]:{},_0x40e242={..._0xf07193,..._0x1550cd};if(!_0x40e242[_0x47ce90]){const _0x25aed9=Object[_0x1fd740(0x19d)](_0x40e242),_0x39ec7d=_0x25aed9[_0x1fd740(0x1b5)]===0x0?'Use\x20`'+CLI_BIN_NAME+'\x20app\x20add\x20'+_0x47ce90+'\x20--appcode\x20<code>`\x20first.':_0x1fd740(0x1b3)+_0x25aed9[_0x1fd740(0x1b6)](',\x20');throw CliErrors[_0x1fd740(0x19a)](_0x1fd740(0x1bf)+_0x47ce90+_0x1fd740(0x19e),_0x39ec7d);}let _0x1d541e,_0x27d1dc='';if(_0x5c0da1)_0x1d541e={'global':!![]};else{const _0x5811b8=isInProject()&&!!_0x50b098[_0x1fd740(0x19b)];_0x1d541e={'global':!_0x5811b8};}const _0x1efd85=readConfig(_0x1d541e);_0x1efd85[_0x1fd740(0x1a4)]=_0x47ce90;if(!_0x1d541e[_0x1fd740(0x1a1)]){const _0x2cc7d9=_0x1efd85['apps']&&typeof _0x1efd85['apps']===_0x1fd740(0x1b2)?_0x1efd85[_0x1fd740(0x1ac)]:{};!Object[_0x1fd740(0x199)]['hasOwnProperty'][_0x1fd740(0x1ae)](_0x2cc7d9,_0x47ce90)&&(_0x1efd85[_0x1fd740(0x1ac)]={..._0x2cc7d9,[_0x47ce90]:_0x40e242[_0x47ce90]},_0x27d1dc=_0x1fd740(0x1a8)+_0x47ce90+_0x1fd740(0x1ba));}return writeConfig(_0x1efd85,_0x1d541e),{'ok':!![],'message':_0x1fd740(0x1b7)+_0x47ce90+'\x22\x20(appcode:\x20'+_0x40e242[_0x47ce90]['appcode']+')'+scopeLabel(_0x1d541e)+_0x27d1dc};}export const appUseDefinition={'service':a24_0x4ec650(0x1b4),'command':a24_0x4ec650(0x1be),'description':a24_0x4ec650(0x1b1),'risk':a24_0x4ec650(0x1a5),'requiresAuth':![],'requiresAppCode':![],'args':[{'name':'name','description':a24_0x4ec650(0x1b8),'required':!![]}],'flags':[{'name':'global','type':'boolean','description':'Use\x20global\x20config\x20scope','default':![]}],'validate':validateArgs,'execute':execute};
@@ -1 +1 @@
1
- const a25_0x5220c8=a25_0x58b2;function a25_0x471a(){const _0x46b844=['3800241hZYXHU','nonInteractive','1149misOYQ','8206400dqZiWb','7146VokCdL','!\x20Not\x20logged\x20in','8QnBLHh','Clear\x20login\x20session','yes','3009589LwUWWl','73612JgOnQh','logout','bool','2335SxVlrP','Login\x20via\x20browser','126BDOAfi','12WBojKW','1190HPgwau','1642200vkDQwc','boolean','login','read','log','auth','../../auth/auth-server-ui.js'];a25_0x471a=function(){return _0x46b844;};return a25_0x471a();}(function(_0x347379,_0x36f0cf){const _0x53eb80=a25_0x58b2,_0x350fb3=_0x347379();while(!![]){try{const _0x2ed0e4=parseInt(_0x53eb80(0x96))/0x1*(parseInt(_0x53eb80(0x8c))/0x2)+-parseInt(_0x53eb80(0x8a))/0x3*(-parseInt(_0x53eb80(0x85))/0x4)+parseInt(_0x53eb80(0x88))/0x5*(-parseInt(_0x53eb80(0x98))/0x6)+parseInt(_0x53eb80(0x8d))/0x7+-parseInt(_0x53eb80(0x9a))/0x8*(-parseInt(_0x53eb80(0x94))/0x9)+-parseInt(_0x53eb80(0x97))/0xa+-parseInt(_0x53eb80(0x84))/0xb*(parseInt(_0x53eb80(0x8b))/0xc);if(_0x2ed0e4===_0x36f0cf)break;else _0x350fb3['push'](_0x350fb3['shift']());}catch(_0x577f64){_0x350fb3['push'](_0x350fb3['shift']());}}}(a25_0x471a,0x71092));import{unlinkSync,existsSync}from'node:fs';function a25_0x58b2(_0x2a5459,_0x2d1370){_0x2a5459=_0x2a5459-0x83;const _0x471a71=a25_0x471a();let _0x58b220=_0x471a71[_0x2a5459];return _0x58b220;}import{cookieFile}from'../../auth/constant.js';export const authDefinitions=[{'service':a25_0x5220c8(0x92),'command':a25_0x5220c8(0x8f),'description':a25_0x5220c8(0x89),'risk':a25_0x5220c8(0x90),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a25_0x5220c8(0x83),'type':a25_0x5220c8(0x8e),'description':'Skip\x20login\x20confirmation\x20and\x20start\x20browser\x20auth\x20immediately','default':![]}],async 'execute'(_0xf8ef95){const _0x53c453=a25_0x5220c8,{runAuthServer:_0x42536c}=await import(_0x53c453(0x93));return await _0x42536c({'autoYes':_0xf8ef95[_0x53c453(0x87)](_0x53c453(0x83)),'nonInteractive':_0xf8ef95[_0x53c453(0x95)]}),{'ok':!![]};}},{'service':a25_0x5220c8(0x92),'command':a25_0x5220c8(0x86),'description':a25_0x5220c8(0x9b),'risk':'write','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x539a26){const _0x4e8921=a25_0x5220c8;return existsSync(cookieFile)?(unlinkSync(cookieFile),console['log']('✓\x20Logged\x20out')):console[_0x4e8921(0x91)](_0x4e8921(0x99)),{'ok':!![]};}}];
1
+ function a25_0x59d3(){const _0x2a8357=['871230NrOLAt','nonInteractive','✓\x20Logged\x20out','153539WjzZWn','458462eDNyTf','yes','logout','1285872MfsfxD','!\x20Not\x20logged\x20in','1807988dxaRwn','boolean','bool','auth','write','Login\x20via\x20browser','188496NeFUJb','log','login','Skip\x20login\x20confirmation\x20and\x20start\x20browser\x20auth\x20immediately','1840215IPZDjZ','read','6aRGvNS'];a25_0x59d3=function(){return _0x2a8357;};return a25_0x59d3();}const a25_0x5a22d5=a25_0x403d;function a25_0x403d(_0x1059ce,_0x372959){_0x1059ce=_0x1059ce-0xd9;const _0x59d310=a25_0x59d3();let _0x403d2f=_0x59d310[_0x1059ce];return _0x403d2f;}(function(_0x8366b4,_0xcfffb0){const _0x43ef1d=a25_0x403d,_0x5f48d7=_0x8366b4();while(!![]){try{const _0x1c76e2=parseInt(_0x43ef1d(0xec))/0x1+parseInt(_0x43ef1d(0xed))/0x2*(-parseInt(_0x43ef1d(0xe8))/0x3)+parseInt(_0x43ef1d(0xdc))/0x4+parseInt(_0x43ef1d(0xe6))/0x5+-parseInt(_0x43ef1d(0xe9))/0x6+parseInt(_0x43ef1d(0xe2))/0x7+-parseInt(_0x43ef1d(0xda))/0x8;if(_0x1c76e2===_0xcfffb0)break;else _0x5f48d7['push'](_0x5f48d7['shift']());}catch(_0xfabe61){_0x5f48d7['push'](_0x5f48d7['shift']());}}}(a25_0x59d3,0x39a4a));import{unlinkSync,existsSync}from'node:fs';import{cookieFile}from'../../auth/constant.js';export const authDefinitions=[{'service':a25_0x5a22d5(0xdf),'command':a25_0x5a22d5(0xe4),'description':a25_0x5a22d5(0xe1),'risk':a25_0x5a22d5(0xe7),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a25_0x5a22d5(0xee),'type':a25_0x5a22d5(0xdd),'description':a25_0x5a22d5(0xe5),'default':![]}],async 'execute'(_0x1521b3){const _0x4bc369=a25_0x5a22d5,{runAuthServer:_0x377b12}=await import('../../auth/auth-server-ui.js');return await _0x377b12({'autoYes':_0x1521b3[_0x4bc369(0xde)](_0x4bc369(0xee)),'nonInteractive':_0x1521b3[_0x4bc369(0xea)]}),{'ok':!![]};}},{'service':a25_0x5a22d5(0xdf),'command':a25_0x5a22d5(0xd9),'description':'Clear\x20login\x20session','risk':a25_0x5a22d5(0xe0),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x147673){const _0x397988=a25_0x5a22d5;return existsSync(cookieFile)?(unlinkSync(cookieFile),console[_0x397988(0xe3)](_0x397988(0xeb))):console[_0x397988(0xe3)](_0x397988(0xdb)),{'ok':!![]};}}];
@@ -1 +1 @@
1
- const a26_0x986aa1=a26_0x4308;(function(_0x3525d8,_0x11a134){const _0x477ab4=a26_0x4308,_0x36ab83=_0x3525d8();while(!![]){try{const _0x31b2cf=parseInt(_0x477ab4(0x8c))/0x1+-parseInt(_0x477ab4(0x85))/0x2*(-parseInt(_0x477ab4(0x86))/0x3)+-parseInt(_0x477ab4(0x6c))/0x4+parseInt(_0x477ab4(0x93))/0x5*(-parseInt(_0x477ab4(0x7b))/0x6)+-parseInt(_0x477ab4(0x89))/0x7*(-parseInt(_0x477ab4(0x8d))/0x8)+-parseInt(_0x477ab4(0x79))/0x9*(parseInt(_0x477ab4(0xa6))/0xa)+parseInt(_0x477ab4(0xa3))/0xb;if(_0x31b2cf===_0x11a134)break;else _0x36ab83['push'](_0x36ab83['shift']());}catch(_0x25445e){_0x36ab83['push'](_0x36ab83['shift']());}}}(a26_0x5ac7,0xa1b72));import{createInterface}from'node:readline';import{mkdir,writeFile}from'node:fs/promises';import{dirname,join}from'node:path';import{listDatasets,listBffDatasetOperations}from'../../core/api-client.js';function a26_0x4308(_0x1426ca,_0x20348e){_0x1426ca=_0x1426ca-0x64;const _0x5ac736=a26_0x5ac7();let _0x43081c=_0x5ac736[_0x1426ca];return _0x43081c;}function a26_0x5ac7(){const _0xb3aba1=['Script\x20type','Invalid\x20dataset\x20selection.','trim','Alias\x20\x22','Operation\x20type\x20(HOOK\x20only)','10450alNiCB','apiDir','nonInteractive','HOOK','functionNode','--operation-type\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','length','tableName','function-node','join','(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a','datasetCode','find','type','--function-node\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','/**\x0a\x20*\x20HOOK\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','25954533FlqyaI','\x0a\x20*\x20[脚本名称]\x20','\x20api\x20pull`\x20to\x20refresh.','100XdzEyE','write','description','Script\x20description','validation','operation-type','scriptsRootDir','Operation\x20type\x20\x22','string','str','create','.js','\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','Dataset\x20alias\x20from\x20api.ts\x20(HOOK\x20only,\x20preferred)','File\x20already\x20exists:\x20','No\x20operation\x20types\x20found\x20for\x20dataset\x20','close','stderr','after','/**\x0a\x20*\x20COMMON\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','alias','No\x20datasets\x20found\x20for\x20this\x20app.','\x22\x20not\x20found\x20for\x20dataset\x20','includes','/**\x0a\x20*\x20ENDPOINT\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','The\x20api.ts\x20may\x20be\x20stale\x20—\x20run\x20`','4093692jhaDod','\x22.\x20','COMMON','keys','\x0a\x20*\x0a\x20*\x20@param\x20{Object}\x20params\x20-\x20Current\x20request\x20params\x20or\x20response\x20result.\x0a\x20*\x20@param\x20{Object}\x20context\x20-\x20Execution\x20context\x20(injected\x20by\x20platform).\x0a\x20*\x20@returns\x20{Promise<Object>}\x20Modified\x20params\x20object.\x0a\x20*/\x0aexport\x20default\x20async\x20function\x20','\x0a\x20*\x20[接口路径]\x20POST\x20/api/','Select\x20trigger\x20node:','map','Available:\x20','Function\x20name\x20(valid\x20JS\x20identifier)','\x0a\x20*\x20[接口路径]\x20POST\x20/api/endpoint/{appCode}/{scriptName}\x0a\x20*\x20[当前示例]\x20POST\x20/api/endpoint/','appCode','isInteger','299043CecrnH','Dataset\x20code\x20(HOOK\x20only,\x20fallback\x20when\x20alias\x20unavailable)','2904MzsKrZ','\x20api\x20pull`\x20first,\x20or\x20use\x20--datasetcode\x20instead.','Dataset\x20not\x20found\x20for\x20code\x20\x22','name','.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','\x20function:\x20','before','question','ENDPOINT','datasetcode','596PkyCoz','4017civUuW','code','HOOK\x20requires\x20hookOptions\x20for\x20template\x20generation.','7CViDBA','Select\x20dataset:','operationType','231548BZxaYz','316528TovVpA'];a26_0x5ac7=function(){return _0xb3aba1;};return a26_0x5ac7();}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':a26_0x986aa1(0xb0),'description':'Scaffold\x20a\x20new\x20BFF\x20function\x20from\x20template','risk':a26_0x986aa1(0xa7),'flags':[{'name':'type','type':a26_0x986aa1(0xae),'required':!![],'enum':[a26_0x986aa1(0x6e),a26_0x986aa1(0x83),a26_0x986aa1(0x96)],'description':a26_0x986aa1(0x8e)},{'name':a26_0x986aa1(0x7e),'type':a26_0x986aa1(0xae),'required':!![],'description':a26_0x986aa1(0x75)},{'name':'description','type':'string','description':a26_0x986aa1(0xa9)},{'name':a26_0x986aa1(0x66),'type':a26_0x986aa1(0xae),'description':a26_0x986aa1(0xb3)},{'name':a26_0x986aa1(0x84),'type':a26_0x986aa1(0xae),'description':a26_0x986aa1(0x7a)},{'name':'operation-type','type':a26_0x986aa1(0xae),'description':a26_0x986aa1(0x92)},{'name':'function-node','type':a26_0x986aa1(0xae),'description':'Trigger\x20node\x20(HOOK\x20only)','enum':[a26_0x986aa1(0x81),a26_0x986aa1(0x64)]}],async 'validate'(_0x141e1f){const _0x4b2c35=a26_0x986aa1,_0x4bc64e=_0x141e1f[_0x4b2c35(0xaf)](_0x4b2c35(0x7e));if(!isValidBffFunctionName(_0x4bc64e))throw CliErrors[_0x4b2c35(0xaa)]('Invalid\x20function\x20name\x20\x22'+_0x4bc64e+'\x22.\x20Must\x20be\x20a\x20valid\x20JS\x20identifier\x20(e.g.\x20createOrder,\x20beforeFilter).');},async 'execute'(_0xa5beb1){const _0x228be8=a26_0x986aa1,_0x251c01=loadBffProjectConfig(_0xa5beb1['appCode']),_0x2e9813=_0xa5beb1[_0x228be8(0xaf)](_0x228be8(0xa0)),_0xcd9157=_0xa5beb1[_0x228be8(0xaf)](_0x228be8(0x7e)),_0x45a9bb=_0xa5beb1[_0x228be8(0xaf)](_0x228be8(0xa8))||undefined,_0x200325=_0x2e9813===_0x228be8(0x96)?await resolveHookOptions(_0x251c01,_0xa5beb1):undefined,_0x1fa983=buildFilePath(_0x251c01,_0x2e9813,_0xcd9157,_0x200325);if(await fileExists(_0x1fa983))throw CliErrors[_0x228be8(0xaa)](_0x228be8(0xb4)+_0x1fa983);await mkdir(dirname(_0x1fa983),{'recursive':!![]});const _0x2c8583=generateTemplate(_0x2e9813,_0xcd9157,_0xa5beb1[_0x228be8(0x77)],_0x45a9bb,_0x200325);await writeFile(_0x1fa983,_0x2c8583,'utf8');const _0x3fc054={'type':_0x2e9813,'name':_0xcd9157,'path':_0x1fa983};if(_0x45a9bb)_0x3fc054[_0x228be8(0xa8)]=_0x45a9bb;if(_0x200325){if(_0x200325[_0x228be8(0x66)])_0x3fc054[_0x228be8(0x66)]=_0x200325[_0x228be8(0x66)];_0x3fc054[_0x228be8(0x9e)]=_0x200325[_0x228be8(0x9e)],_0x3fc054[_0x228be8(0x8b)]=_0x200325[_0x228be8(0x8b)],_0x3fc054[_0x228be8(0x97)]=_0x200325[_0x228be8(0x97)];}return{'ok':!![],'data':_0x3fc054,'message':'Created\x20'+_0x2e9813+_0x228be8(0x80)+_0xcd9157};}};async function resolveHookOptions(_0x15ce06,_0x1c7e53){const _0x390949=a26_0x986aa1,_0x50bede=loadAliasMap(_0x1c7e53['apiDir'],undefined,resolveApiFilePath(_0x1c7e53['apiDir'],_0x1c7e53[_0x390949(0x77)])),_0x2bbf7f=_0x50bede[_0x390949(0x99)]>0x0;let _0x24a913,_0x32a53d,_0x4fdb2c;const _0x488d7f=_0x1c7e53['str'](_0x390949(0x66)),_0x438520=_0x1c7e53[_0x390949(0xaf)](_0x390949(0x84));if(_0x488d7f){const _0x31ce9f=resolveAlias(_0x1c7e53[_0x390949(0x94)],_0x488d7f,undefined,resolveApiFilePath(_0x1c7e53[_0x390949(0x94)],_0x1c7e53['appCode']));if(!_0x31ce9f){const _0x372203=_0x2bbf7f?'Available\x20aliases:\x20'+_0x50bede[_0x390949(0x73)](_0x10c342=>_0x10c342['alias'])[_0x390949(0x9c)](',\x20'):'No\x20api.ts\x20found.\x20Run\x20`'+CLI_BIN_NAME+_0x390949(0x7c);throw CliErrors['validation'](_0x390949(0x91)+_0x488d7f+'\x22\x20not\x20found.\x20'+_0x372203);}_0x24a913=_0x488d7f,_0x32a53d=_0x31ce9f;}else{if(_0x438520){_0x32a53d=_0x438520;const _0x2823de=_0x50bede[_0x390949(0x9f)](_0x4a1738=>_0x4a1738[_0x390949(0x9e)]===_0x438520);_0x24a913=_0x2823de?.['alias'];}else{if(_0x1c7e53['nonInteractive'])throw CliErrors['validation']('--alias\x20or\x20--datasetcode\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.');else{if(_0x2bbf7f){const _0x43e99d=_0x50bede[_0x390949(0x73)](_0x230e19=>_0x230e19['alias']+'\x20('+_0x230e19[_0x390949(0x9a)]+')'),_0x3f79e3=await promptSelect(_0x390949(0x8a),_0x43e99d),_0x39bf5a=_0x50bede[_0x3f79e3];if(!_0x39bf5a)throw CliErrors[_0x390949(0xaa)](_0x390949(0x8f));_0x24a913=_0x39bf5a['alias'],_0x32a53d=_0x39bf5a[_0x390949(0x9e)];}else{const _0x58d718=await listDatasets(_0x1c7e53[_0x390949(0x77)]),_0x386527=filterDbBackedDatasets(_0x58d718);if(_0x386527[_0x390949(0x99)]===0x0)throw CliErrors['validation'](_0x58d718['length']===0x0?_0x390949(0x67):'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 _0xb64d68=_0x386527[_0x390949(0x73)](_0x11204f=>_0x11204f[_0x390949(0x7e)]+'\x20('+_0x11204f[_0x390949(0x87)]+')'),_0x49428e=await promptSelect('Select\x20dataset:',_0xb64d68),_0x1000f0=_0x386527[_0x49428e];if(!_0x1000f0)throw CliErrors['validation'](_0x390949(0x8f));_0x32a53d=_0x1000f0[_0x390949(0x87)],_0x24a913=undefined;}}}}const _0x2ea6e4=await listDatasets(_0x1c7e53[_0x390949(0x77)]),_0x573658=_0x2ea6e4[_0x390949(0x9f)](_0x182a70=>_0x182a70[_0x390949(0x87)]===_0x32a53d);if(!_0x573658)throw CliErrors[_0x390949(0xaa)](_0x390949(0x7d)+_0x32a53d+_0x390949(0x6d)+(_0x24a913?_0x390949(0x6b)+CLI_BIN_NAME+_0x390949(0xa5):''));assertDatasetSupportsLocalDevelopment(_0x573658,'BFF\x20HOOK'),_0x4fdb2c=_0x573658['id'];const _0x141ab4=_0x24a913??_0x32a53d,_0x38566a=await listBffDatasetOperations(_0x1c7e53['appCode'],_0x4fdb2c),_0x40ce53=_0x38566a?Object[_0x390949(0x6f)](_0x38566a):[];if(_0x40ce53['length']===0x0)throw CliErrors[_0x390949(0xaa)](_0x390949(0xb5)+_0x141ab4+'.');let _0x183a99;const _0x36a4c7=_0x1c7e53[_0x390949(0xaf)](_0x390949(0xab));if(_0x36a4c7){if(!_0x40ce53[_0x390949(0x69)](_0x36a4c7))throw CliErrors['validation'](_0x390949(0xad)+_0x36a4c7+_0x390949(0x68)+_0x141ab4+'.\x20'+(_0x390949(0x74)+_0x40ce53[_0x390949(0x9c)](',\x20')));_0x183a99=_0x36a4c7;}else{if(_0x1c7e53[_0x390949(0x95)])throw CliErrors['validation'](_0x390949(0x98));const _0x4df4a2=await promptSelect('Select\x20operation\x20type:',_0x40ce53);_0x183a99=_0x40ce53[_0x4df4a2]??_0x40ce53[0x0];}let _0x1786b=normalizeHookFunctionNode(_0x1c7e53[_0x390949(0xaf)](_0x390949(0x9b)));if(!_0x1786b){if(_0x1c7e53['str']('function-node'))throw CliErrors[_0x390949(0xaa)]('--function-node\x20must\x20be\x20\x27before\x27\x20or\x20\x27after\x27.');if(_0x1c7e53[_0x390949(0x95)])throw CliErrors[_0x390949(0xaa)](_0x390949(0xa1));const _0x1301fa=await promptSelect(_0x390949(0x72),[_0x390949(0x81),_0x390949(0x64)]);_0x1786b=[_0x390949(0x81),_0x390949(0x64)][_0x1301fa]??_0x390949(0x81);}return{'alias':_0x24a913,'datasetCode':_0x32a53d,'datasetId':_0x4fdb2c,'operationType':_0x183a99,'functionNode':_0x1786b};}async function promptSelect(_0x9e77b5,_0x4c6d2a){const _0x32747f=a26_0x986aa1;if(_0x4c6d2a['length']===0x1)return 0x0;for(const [_0x51f300,_0x268661]of _0x4c6d2a['entries']()){process[_0x32747f(0xb7)][_0x32747f(0xa7)]('\x20\x20'+(_0x51f300+0x1)+'.\x20'+_0x268661+'\x0a');}const _0x232e15=createInterface({'input':process['stdin'],'output':process[_0x32747f(0xb7)]});while(!![]){const _0x2ec075=await new Promise(_0x2f126c=>{const _0x565bef=_0x32747f;_0x232e15[_0x565bef(0x82)](_0x9e77b5+'\x20',_0x2f126c);}),_0x4b10a5=Number['parseInt'](_0x2ec075[_0x32747f(0x90)](),0xa);if(Number[_0x32747f(0x78)](_0x4b10a5)&&_0x4b10a5>=0x1&&_0x4b10a5<=_0x4c6d2a[_0x32747f(0x99)])return _0x232e15[_0x32747f(0xb6)](),_0x4b10a5-0x1;process[_0x32747f(0xb7)][_0x32747f(0xa7)]('\x20\x20Enter\x20a\x20number\x20between\x201\x20and\x20'+_0x4c6d2a[_0x32747f(0x99)]+'.\x0a');}}function buildFilePath(_0x1df25a,_0x142ab8,_0x425517,_0xa17df9){const _0x1ed4ce=a26_0x986aa1;if(_0x142ab8===_0x1ed4ce(0x96)){if(!_0xa17df9)throw CliErrors[_0x1ed4ce(0xaa)]('HOOK\x20requires\x20alias/operation/node\x20options.');const _0x5b5865=_0xa17df9['alias']??_0xa17df9[_0x1ed4ce(0x9e)];return join(_0x1df25a[_0x1ed4ce(0xac)],_0x1ed4ce(0x96),_0x5b5865,_0xa17df9[_0x1ed4ce(0x8b)],_0xa17df9[_0x1ed4ce(0x97)],_0x425517+_0x1ed4ce(0xb1));}return join(_0x1df25a[_0x1ed4ce(0xac)],_0x142ab8,_0x425517+_0x1ed4ce(0xb1));}export function generateTemplate(_0x7cb98d,_0xa5c7e8,_0x366949,_0x3daf6e,_0x14f8bf){const _0x5e0f53=a26_0x986aa1,_0x468a9d=_0x3daf6e?.[_0x5e0f53(0x90)]()||'TODO:\x20add\x20script\x20description';if(_0x7cb98d===_0x5e0f53(0x6e))return _0x5e0f53(0x65)+_0x468a9d+_0x5e0f53(0xa4)+_0xa5c7e8+'\x0a\x20*\x20[脚本类型]\x20COMMON\x0a\x20*\x20[本地路径]\x20.rabetbase/bff/COMMON/'+_0xa5c7e8+_0x5e0f53(0x7f)+_0xa5c7e8+_0x5e0f53(0x9d);if(_0x7cb98d===_0x5e0f53(0x83))return _0x5e0f53(0x6a)+_0x468a9d+_0x5e0f53(0x76)+_0x366949+'/'+_0xa5c7e8+_0x5e0f53(0xb2)+_0xa5c7e8+_0x5e0f53(0x9d);if(!_0x14f8bf)throw CliErrors['validation'](_0x5e0f53(0x88));return _0x5e0f53(0xa2)+_0x468a9d+_0x5e0f53(0x71)+_0x366949+'/'+_0x14f8bf[_0x5e0f53(0x9e)]+'/'+_0x14f8bf[_0x5e0f53(0x8b)]+'\x0a\x20*\x20[触发节点]\x20'+_0x14f8bf[_0x5e0f53(0x97)]+_0x5e0f53(0x70)+_0xa5c7e8+'(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a';}
1
+ const a26_0x31bf4c=a26_0x1b6c;function a26_0x1b6c(_0x566739,_0x3ec6f5){_0x566739=_0x566739-0x175;const _0x27c0af=a26_0x27c0();let _0x1b6cb1=_0x27c0af[_0x566739];return _0x1b6cb1;}(function(_0x234b6d,_0x4eaa85){const _0x2102f8=a26_0x1b6c,_0x5407ff=_0x234b6d();while(!![]){try{const _0x47207a=-parseInt(_0x2102f8(0x19c))/0x1*(parseInt(_0x2102f8(0x1b7))/0x2)+parseInt(_0x2102f8(0x19b))/0x3*(parseInt(_0x2102f8(0x18b))/0x4)+-parseInt(_0x2102f8(0x18c))/0x5*(parseInt(_0x2102f8(0x1c4))/0x6)+parseInt(_0x2102f8(0x1c1))/0x7*(-parseInt(_0x2102f8(0x175))/0x8)+-parseInt(_0x2102f8(0x19a))/0x9+parseInt(_0x2102f8(0x17a))/0xa+-parseInt(_0x2102f8(0x1d1))/0xb*(-parseInt(_0x2102f8(0x18f))/0xc);if(_0x47207a===_0x4eaa85)break;else _0x5407ff['push'](_0x5407ff['shift']());}catch(_0x241d92){_0x5407ff['push'](_0x5407ff['shift']());}}}(a26_0x27c0,0x6741c));import{createInterface}from'node:readline';import{mkdir,writeFile}from'node:fs/promises';import{dirname,join}from'node:path';import{listDatasets,listBffDatasetOperations}from'../../core/api-client.js';import{loadAliasMap,resolveAlias}from'../../core/alias-resolver.js';import{resolveApiFilePath}from'../../context.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{fileExists}from'../../core/bff/file-system.js';import{isValidBffFunctionName,normalizeHookFunctionNode}from'../../core/bff/utils.js';import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';export const bffCreate={'service':a26_0x31bf4c(0x198),'command':a26_0x31bf4c(0x1b4),'description':a26_0x31bf4c(0x1a5),'risk':'write','flags':[{'name':a26_0x31bf4c(0x190),'type':'string','required':!![],'enum':['COMMON','ENDPOINT',a26_0x31bf4c(0x17d)],'description':a26_0x31bf4c(0x1ab)},{'name':a26_0x31bf4c(0x1ca),'type':a26_0x31bf4c(0x1c9),'required':!![],'description':a26_0x31bf4c(0x1cb)},{'name':a26_0x31bf4c(0x18e),'type':a26_0x31bf4c(0x1c9),'description':a26_0x31bf4c(0x1bb)},{'name':'alias','type':'string','description':'Dataset\x20alias\x20from\x20api.ts\x20(HOOK\x20only,\x20preferred)'},{'name':a26_0x31bf4c(0x1aa),'type':'string','description':a26_0x31bf4c(0x17f)},{'name':a26_0x31bf4c(0x1b2),'type':a26_0x31bf4c(0x1c9),'description':a26_0x31bf4c(0x1cd)},{'name':a26_0x31bf4c(0x1a6),'type':a26_0x31bf4c(0x1c9),'description':'Trigger\x20node\x20(HOOK\x20only)','enum':[a26_0x31bf4c(0x1be),a26_0x31bf4c(0x1ad)]}],async 'validate'(_0x13520b){const _0x3e5c4d=a26_0x31bf4c,_0x2460d9=_0x13520b['str']('name');if(!isValidBffFunctionName(_0x2460d9))throw CliErrors[_0x3e5c4d(0x180)](_0x3e5c4d(0x1ce)+_0x2460d9+_0x3e5c4d(0x1d2));},async 'execute'(_0x42fd6c){const _0x159a38=a26_0x31bf4c,_0x3259ea=loadBffProjectConfig(_0x42fd6c['appCode']),_0x50dea2=_0x42fd6c[_0x159a38(0x1a9)](_0x159a38(0x190)),_0x455fe5=_0x42fd6c[_0x159a38(0x1a9)](_0x159a38(0x1ca)),_0x538747=_0x42fd6c['str'](_0x159a38(0x18e))||undefined,_0x36b5b8=_0x50dea2===_0x159a38(0x17d)?await resolveHookOptions(_0x3259ea,_0x42fd6c):undefined,_0x2eaaf5=buildFilePath(_0x3259ea,_0x50dea2,_0x455fe5,_0x36b5b8);if(await fileExists(_0x2eaaf5))throw CliErrors['validation'](_0x159a38(0x1ae)+_0x2eaaf5);await mkdir(dirname(_0x2eaaf5),{'recursive':!![]});const _0x5dde0f=generateTemplate(_0x50dea2,_0x455fe5,_0x42fd6c['appCode'],_0x538747,_0x36b5b8);await writeFile(_0x2eaaf5,_0x5dde0f,_0x159a38(0x1d4));const _0x407287={'type':_0x50dea2,'name':_0x455fe5,'path':_0x2eaaf5};if(_0x538747)_0x407287[_0x159a38(0x18e)]=_0x538747;if(_0x36b5b8){if(_0x36b5b8[_0x159a38(0x18a)])_0x407287[_0x159a38(0x18a)]=_0x36b5b8['alias'];_0x407287[_0x159a38(0x177)]=_0x36b5b8[_0x159a38(0x177)],_0x407287[_0x159a38(0x1c7)]=_0x36b5b8[_0x159a38(0x1c7)],_0x407287['functionNode']=_0x36b5b8[_0x159a38(0x197)];}return{'ok':!![],'data':_0x407287,'message':'Created\x20'+_0x50dea2+'\x20function:\x20'+_0x455fe5};}};async function resolveHookOptions(_0x4509fa,_0x6610c0){const _0xbd1d0e=a26_0x31bf4c,_0x49806a=loadAliasMap(_0x6610c0['apiDir'],undefined,resolveApiFilePath(_0x6610c0[_0xbd1d0e(0x188)],_0x6610c0[_0xbd1d0e(0x1b3)])),_0x3c8ccc=_0x49806a['length']>0x0;let _0x659915,_0x1d9806,_0x1248c3;const _0x50e7e3=_0x6610c0['str'](_0xbd1d0e(0x18a)),_0x47968e=_0x6610c0['str'](_0xbd1d0e(0x1aa));if(_0x50e7e3){const _0x5aea84=resolveAlias(_0x6610c0[_0xbd1d0e(0x188)],_0x50e7e3,undefined,resolveApiFilePath(_0x6610c0['apiDir'],_0x6610c0['appCode']));if(!_0x5aea84){const _0x52cfa3=_0x3c8ccc?_0xbd1d0e(0x195)+_0x49806a[_0xbd1d0e(0x1bd)](_0x2eb1b3=>_0x2eb1b3[_0xbd1d0e(0x18a)])['join'](',\x20'):_0xbd1d0e(0x1d0)+CLI_BIN_NAME+'\x20api\x20pull`\x20first,\x20or\x20use\x20--datasetcode\x20instead.';throw CliErrors[_0xbd1d0e(0x180)](_0xbd1d0e(0x1cc)+_0x50e7e3+_0xbd1d0e(0x1cf)+_0x52cfa3);}_0x659915=_0x50e7e3,_0x1d9806=_0x5aea84;}else{if(_0x47968e){_0x1d9806=_0x47968e;const _0x3e9e4c=_0x49806a['find'](_0x5b1cc6=>_0x5b1cc6[_0xbd1d0e(0x177)]===_0x47968e);_0x659915=_0x3e9e4c?.[_0xbd1d0e(0x18a)];}else{if(_0x6610c0[_0xbd1d0e(0x199)])throw CliErrors[_0xbd1d0e(0x180)](_0xbd1d0e(0x1b0));else{if(_0x3c8ccc){const _0xb33bea=_0x49806a[_0xbd1d0e(0x1bd)](_0x9188b4=>_0x9188b4[_0xbd1d0e(0x18a)]+'\x20('+_0x9188b4[_0xbd1d0e(0x1bc)]+')'),_0x173f3b=await promptSelect(_0xbd1d0e(0x17c),_0xb33bea),_0x3c3634=_0x49806a[_0x173f3b];if(!_0x3c3634)throw CliErrors[_0xbd1d0e(0x180)](_0xbd1d0e(0x1b8));_0x659915=_0x3c3634[_0xbd1d0e(0x18a)],_0x1d9806=_0x3c3634[_0xbd1d0e(0x177)];}else{const _0x34c43=await listDatasets(_0x6610c0[_0xbd1d0e(0x1b3)]);if(_0x34c43[_0xbd1d0e(0x1c5)]===0x0)throw CliErrors[_0xbd1d0e(0x180)](_0xbd1d0e(0x192));const _0x5f18b5=_0x34c43[_0xbd1d0e(0x1bd)](_0x18caa6=>_0x18caa6[_0xbd1d0e(0x1ca)]+'\x20['+(_0x18caa6[_0xbd1d0e(0x17e)]??_0xbd1d0e(0x189))+_0xbd1d0e(0x19f)+_0x18caa6[_0xbd1d0e(0x182)]+')'),_0x2ead70=await promptSelect(_0xbd1d0e(0x17c),_0x5f18b5),_0x3875d3=_0x34c43[_0x2ead70];if(!_0x3875d3)throw CliErrors[_0xbd1d0e(0x180)](_0xbd1d0e(0x1b8));_0x1d9806=_0x3875d3['code'],_0x659915=undefined;}}}}const _0x549f41=await listDatasets(_0x6610c0['appCode']),_0x4a0812=_0x549f41[_0xbd1d0e(0x18d)](_0x4b7944=>_0x4b7944[_0xbd1d0e(0x182)]===_0x1d9806);if(!_0x4a0812)throw CliErrors[_0xbd1d0e(0x180)](_0xbd1d0e(0x1ac)+_0x1d9806+_0xbd1d0e(0x196)+(_0x659915?_0xbd1d0e(0x1ba)+CLI_BIN_NAME+_0xbd1d0e(0x179):''));_0x1248c3=_0x4a0812['id'];const _0xcbae1e=_0x659915??_0x1d9806,_0x181bc7=await listBffDatasetOperations(_0x6610c0[_0xbd1d0e(0x1b3)],_0x1248c3),_0x209016=_0x181bc7?Object['keys'](_0x181bc7):[];if(_0x209016[_0xbd1d0e(0x1c5)]===0x0)throw CliErrors[_0xbd1d0e(0x180)]('No\x20operation\x20types\x20found\x20for\x20dataset\x20'+_0xcbae1e+'.');let _0x32a3bf;const _0x51b7d2=_0x6610c0[_0xbd1d0e(0x1a9)]('operation-type');if(_0x51b7d2){if(!_0x209016[_0xbd1d0e(0x1c6)](_0x51b7d2))throw CliErrors['validation'](_0xbd1d0e(0x191)+_0x51b7d2+_0xbd1d0e(0x1a8)+_0xcbae1e+'.\x20'+(_0xbd1d0e(0x187)+_0x209016[_0xbd1d0e(0x1c0)](',\x20')));_0x32a3bf=_0x51b7d2;}else{if(_0x6610c0['nonInteractive'])throw CliErrors[_0xbd1d0e(0x180)](_0xbd1d0e(0x194));const _0x724d7a=await promptSelect(_0xbd1d0e(0x1a7),_0x209016);_0x32a3bf=_0x209016[_0x724d7a]??_0x209016[0x0];}let _0x18e0fc=normalizeHookFunctionNode(_0x6610c0['str'](_0xbd1d0e(0x1a6)));if(!_0x18e0fc){if(_0x6610c0[_0xbd1d0e(0x1a9)]('function-node'))throw CliErrors[_0xbd1d0e(0x180)](_0xbd1d0e(0x185));if(_0x6610c0[_0xbd1d0e(0x199)])throw CliErrors[_0xbd1d0e(0x180)](_0xbd1d0e(0x1b5));const _0x490759=await promptSelect(_0xbd1d0e(0x19e),[_0xbd1d0e(0x1be),_0xbd1d0e(0x1ad)]);_0x18e0fc=[_0xbd1d0e(0x1be),_0xbd1d0e(0x1ad)][_0x490759]??_0xbd1d0e(0x1be);}return{'alias':_0x659915,'datasetCode':_0x1d9806,'datasetId':_0x1248c3,'operationType':_0x32a3bf,'functionNode':_0x18e0fc};}async function promptSelect(_0x1dd59d,_0x1c7ec8){const _0x4eef0d=a26_0x31bf4c;if(_0x1c7ec8[_0x4eef0d(0x1c5)]===0x1)return 0x0;for(const [_0xa3cc53,_0x59c441]of _0x1c7ec8[_0x4eef0d(0x1b9)]()){process['stderr'][_0x4eef0d(0x1a2)]('\x20\x20'+(_0xa3cc53+0x1)+'.\x20'+_0x59c441+'\x0a');}const _0xb864c3=createInterface({'input':process[_0x4eef0d(0x1a1)],'output':process[_0x4eef0d(0x17b)]});while(!![]){const _0x3cc560=await new Promise(_0x2f2f76=>{const _0x39bf1d=_0x4eef0d;_0xb864c3[_0x39bf1d(0x1a3)](_0x1dd59d+'\x20',_0x2f2f76);}),_0x27de48=Number[_0x4eef0d(0x1b6)](_0x3cc560[_0x4eef0d(0x1a0)](),0xa);if(Number[_0x4eef0d(0x184)](_0x27de48)&&_0x27de48>=0x1&&_0x27de48<=_0x1c7ec8['length'])return _0xb864c3[_0x4eef0d(0x1d5)](),_0x27de48-0x1;process[_0x4eef0d(0x17b)][_0x4eef0d(0x1a2)](_0x4eef0d(0x176)+_0x1c7ec8[_0x4eef0d(0x1c5)]+'.\x0a');}}function buildFilePath(_0x4264f1,_0x5da87b,_0x923759,_0x1fc50c){const _0x53bf05=a26_0x31bf4c;if(_0x5da87b===_0x53bf05(0x17d)){if(!_0x1fc50c)throw CliErrors[_0x53bf05(0x180)]('HOOK\x20requires\x20alias/operation/node\x20options.');const _0xee88f2=_0x1fc50c[_0x53bf05(0x18a)]??_0x1fc50c[_0x53bf05(0x177)];return join(_0x4264f1[_0x53bf05(0x181)],_0x53bf05(0x17d),_0xee88f2,_0x1fc50c[_0x53bf05(0x1c7)],_0x1fc50c[_0x53bf05(0x197)],_0x923759+'.js');}return join(_0x4264f1[_0x53bf05(0x181)],_0x5da87b,_0x923759+_0x53bf05(0x19d));}function a26_0x27c0(){const _0x5df02a=['utf8','close','1816bNdeUk','\x20\x20Enter\x20a\x20number\x20between\x201\x20and\x20','datasetCode','\x0a\x20*\x20[脚本名称]\x20','\x20api\x20pull`\x20to\x20refresh.','5619270VUtqDR','stderr','Select\x20dataset:','HOOK','source','Dataset\x20code\x20(HOOK\x20only,\x20fallback\x20when\x20alias\x20unavailable)','validation','scriptsRootDir','code','\x0a\x20*\x20[接口路径]\x20POST\x20/api/','isInteger','--function-node\x20must\x20be\x20\x27before\x27\x20or\x20\x27after\x27.','COMMON','Available:\x20','apiDir','UNKNOWN','alias','545732YlvttH','15YQJbmX','find','description','132uFKXTe','type','Operation\x20type\x20\x22','No\x20datasets\x20found\x20for\x20this\x20app.','\x0a\x20*\x20[接口路径]\x20POST\x20/api/endpoint/{appCode}/{scriptName}\x0a\x20*\x20[当前示例]\x20POST\x20/api/endpoint/','--operation-type\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','Available\x20aliases:\x20','\x22.\x20','functionNode','bff','nonInteractive','7148259Mfvnbn','12piNbOb','1RzncxK','.js','Select\x20trigger\x20node:',']\x20(','trim','stdin','write','question','/**\x0a\x20*\x20COMMON\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','Scaffold\x20a\x20new\x20BFF\x20function\x20from\x20template','function-node','Select\x20operation\x20type:','\x22\x20not\x20found\x20for\x20dataset\x20','str','datasetcode','Script\x20type','Dataset\x20not\x20found\x20for\x20code\x20\x22','after','File\x20already\x20exists:\x20','.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','--alias\x20or\x20--datasetcode\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','ENDPOINT','operation-type','appCode','create','--function-node\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','parseInt','1044958BBFKyK','Invalid\x20dataset\x20selection.','entries','The\x20api.ts\x20may\x20be\x20stale\x20—\x20run\x20`','Script\x20description','tableName','map','before','/**\x0a\x20*\x20ENDPOINT\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','join','2534lcZOgT','TODO:\x20add\x20script\x20description','\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','1053912RKmFwu','length','includes','operationType','(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a','string','name','Function\x20name\x20(valid\x20JS\x20identifier)','Alias\x20\x22','Operation\x20type\x20(HOOK\x20only)','Invalid\x20function\x20name\x20\x22','\x22\x20not\x20found.\x20','No\x20api.ts\x20found.\x20Run\x20`','1241141TpLVJh','\x22.\x20Must\x20be\x20a\x20valid\x20JS\x20identifier\x20(e.g.\x20createOrder,\x20beforeFilter).','HOOK\x20requires\x20hookOptions\x20for\x20template\x20generation.'];a26_0x27c0=function(){return _0x5df02a;};return a26_0x27c0();}export function generateTemplate(_0x1e3dba,_0x58ef2c,_0x3574df,_0x35f4ec,_0x56f2c5){const _0x22b7d1=a26_0x31bf4c,_0x1206b5=_0x35f4ec?.['trim']()||_0x22b7d1(0x1c2);if(_0x1e3dba===_0x22b7d1(0x186))return _0x22b7d1(0x1a4)+_0x1206b5+_0x22b7d1(0x178)+_0x58ef2c+'\x0a\x20*\x20[脚本类型]\x20COMMON\x0a\x20*\x20[本地路径]\x20.rabetbase/bff/COMMON/'+_0x58ef2c+_0x22b7d1(0x1af)+_0x58ef2c+_0x22b7d1(0x1c8);if(_0x1e3dba===_0x22b7d1(0x1b1))return _0x22b7d1(0x1bf)+_0x1206b5+_0x22b7d1(0x193)+_0x3574df+'/'+_0x58ef2c+_0x22b7d1(0x1c3)+_0x58ef2c+'(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a';if(!_0x56f2c5)throw CliErrors[_0x22b7d1(0x180)](_0x22b7d1(0x1d3));return'/**\x0a\x20*\x20HOOK\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20'+_0x1206b5+_0x22b7d1(0x183)+_0x3574df+'/'+_0x56f2c5[_0x22b7d1(0x177)]+'/'+_0x56f2c5[_0x22b7d1(0x1c7)]+'\x0a\x20*\x20[触发节点]\x20'+_0x56f2c5[_0x22b7d1(0x197)]+'\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'+_0x58ef2c+_0x22b7d1(0x1c8);}
@@ -1 +1 @@
1
- const a27_0x3cee9b=a27_0x43bd;(function(_0x263c38,_0x21f9b4){const _0x55092d=a27_0x43bd,_0x4f8364=_0x263c38();while(!![]){try{const _0x1c20d2=-parseInt(_0x55092d(0x205))/0x1*(-parseInt(_0x55092d(0x202))/0x2)+parseInt(_0x55092d(0x20d))/0x3+-parseInt(_0x55092d(0x1ed))/0x4*(parseInt(_0x55092d(0x212))/0x5)+-parseInt(_0x55092d(0x1f6))/0x6*(parseInt(_0x55092d(0x1ff))/0x7)+-parseInt(_0x55092d(0x1f9))/0x8*(parseInt(_0x55092d(0x1ef))/0x9)+-parseInt(_0x55092d(0x1e2))/0xa+parseInt(_0x55092d(0x1fd))/0xb;if(_0x1c20d2===_0x21f9b4)break;else _0x4f8364['push'](_0x4f8364['shift']());}catch(_0x2b572f){_0x4f8364['push'](_0x4f8364['shift']());}}}(a27_0x2fa2,0xa9f9c));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_0x43bd(_0x7e81c9,_0x169533){_0x7e81c9=_0x7e81c9-0x1e1;const _0x2fa2ff=a27_0x2fa2();let _0x43bd79=_0x2fa2ff[_0x7e81c9];return _0x43bd79;}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_0x3cee9b(0x211),'command':a27_0x3cee9b(0x1e9),'description':a27_0x3cee9b(0x1e6),'risk':a27_0x3cee9b(0x206),'flags':[{'name':'target','type':'string','required':!![],'description':a27_0x3cee9b(0x20c)}],async 'validate'(_0x26e4a1){const _0x5734c8=a27_0x3cee9b,_0x36bdc7=loadBffProjectConfig(_0x26e4a1['appCode']),_0xb824c=await readBffLockFile(_0x36bdc7[_0x5734c8(0x1eb)]);if(!_0xb824c)throw CliErrors[_0x5734c8(0x1fe)](_0x5734c8(0x1f4));},async 'dryRun'(_0x15e287){const _0x159541=a27_0x3cee9b,_0x329728=loadBffProjectConfig(_0x15e287[_0x159541(0x1f8)]),_0x42ccea=await readBffLockFile(_0x329728[_0x159541(0x1eb)]);if(!_0x42ccea)throw CliErrors[_0x159541(0x1fe)](_0x159541(0x1f7));const {appLock:_0x321867}=ensureLockScope(_0x42ccea,_0x15e287[_0x159541(0x1f8)],_0x329728[_0x159541(0x1ee)],_0x159541(0x1e9)),_0x266d7c=_0x15e287['str'](_0x159541(0x20e)),_0x29383b=Object[_0x159541(0x20b)](_0x321867[_0x159541(0x204)]),_0x5af41a=resolveDeleteTarget(_0x266d7c,_0x29383b),_0x513647=_0x321867['functions'][_0x5af41a];if(!_0x513647)throw CliErrors[_0x159541(0x1fe)](_0x159541(0x210)+_0x5af41a+'\x22.');const _0x1ece32=resolveLocalFilePathFromLockKey(_0x329728,_0x5af41a),_0x224cf1=relative(_0x329728['projectRoot'],_0x1ece32),_0x532cc7=join(_0x329728['trashDir'],_0x159541(0x1fa),_0x224cf1);return{'method':_0x159541(0x1e4),'url':_0x159541(0x1e8),'body':{'appCode':_0x15e287[_0x159541(0x1f8)],'target':_0x5af41a,'remoteId':_0x513647[_0x159541(0x1fc)],'localFilePath':_0x1ece32,'trashedPath':_0x532cc7},'description':'Would\x20delete\x20'+_0x5af41a+'\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20trash'};},async 'execute'(_0x21160c){const _0x545671=a27_0x3cee9b,_0x97dbc1=loadBffProjectConfig(_0x21160c[_0x545671(0x1f8)]),_0x38d809=await readBffLockFile(_0x97dbc1['lockFilePath']);if(!_0x38d809)throw CliErrors['validation'](_0x545671(0x1f7));const {lockData:_0x5e1cdc,appLock:_0x5a4f61}=ensureLockScope(_0x38d809,_0x21160c['appCode'],_0x97dbc1['scriptsRoot'],_0x545671(0x1e9)),_0x25eaa9=JSON[_0x545671(0x1fb)](JSON[_0x545671(0x207)](_0x5e1cdc)),_0x2f9d62=_0x25eaa9['apps'][_0x21160c[_0x545671(0x1f8)]];if(!_0x2f9d62)throw new Error(_0x545671(0x1f1)+_0x21160c['appCode']+_0x545671(0x1f3));const _0x33c192=_0x21160c[_0x545671(0x1f5)](_0x545671(0x20e)),_0x1c5f1d=Object[_0x545671(0x20b)](_0x2f9d62[_0x545671(0x204)]),_0x2f1761=resolveDeleteTarget(_0x33c192,_0x1c5f1d),_0x572946=_0x2f9d62[_0x545671(0x204)][_0x2f1761];if(!_0x572946)throw CliErrors[_0x545671(0x1fe)](_0x545671(0x210)+_0x2f1761+'\x22.');await deleteBffScript(_0x572946['remoteId']),delete _0x2f9d62['functions'][_0x2f1761],_0x2f9d62['lastSync']=new Date()['toISOString'](),await writeBffLockFile(_0x97dbc1['lockFilePath'],_0x25eaa9);const _0x591bc2=resolveLocalFilePathFromLockKey(_0x97dbc1,_0x2f1761);let _0x5e7309;await fileExists(_0x591bc2)&&(_0x5e7309=await moveToTrash(_0x97dbc1['projectRoot'],_0x97dbc1['trashDir'],_0x591bc2),await cleanupEmptyDirectories(dirname(_0x591bc2),_0x97dbc1[_0x545671(0x1ec)]));await waitForDeleteSettlement(_0x97dbc1['lockFilePath'],_0x21160c[_0x545671(0x1f8)],_0x2f1761,_0x591bc2),await sleep(0x96);const _0x12cfb8={'deleted':_0x2f1761,'remoteId':_0x572946[_0x545671(0x1fc)]};if(_0x5e7309)_0x12cfb8['trashedTo']=_0x5e7309;return{'ok':!![],'data':_0x12cfb8,'message':_0x545671(0x203)+_0x2f1761+(_0x5e7309?'\x20(local\x20file\x20moved\x20to\x20trash)':'')};}};function resolveDeleteTarget(_0x2e05d0,_0x311a7f){const _0x2d7387=a27_0x3cee9b;if(_0x2e05d0[_0x2d7387(0x208)]('/')){const _0x4ff8e7=_0x311a7f['find'](_0x497746=>_0x497746===_0x2e05d0);if(!_0x4ff8e7)throw CliErrors['validation']('Function\x20not\x20found:\x20'+_0x2e05d0);return _0x4ff8e7;}const _0x415bb1=_0x311a7f[_0x2d7387(0x209)](_0x566c82=>_0x566c82[_0x2d7387(0x201)]('/')['at'](-0x1)===_0x2e05d0);if(_0x415bb1[_0x2d7387(0x20f)]===0x0)throw CliErrors[_0x2d7387(0x1fe)](_0x2d7387(0x1e3)+_0x2e05d0);if(_0x415bb1[_0x2d7387(0x20f)]>0x1)throw CliErrors[_0x2d7387(0x1fe)](_0x2d7387(0x1f2)+_0x2e05d0+_0x2d7387(0x20a)+_0x415bb1['map'](_0x215975=>_0x2d7387(0x1ea)+_0x215975)[_0x2d7387(0x1e5)]('\x0a'));return _0x415bb1[0x0];}async function moveToTrash(_0x45e271,_0x16e2a5,_0x4bb44f){const _0x5db316=a27_0x3cee9b,_0x234759=new Date()[_0x5db316(0x200)]()[_0x5db316(0x1e1)](/[:.]/g,'-'),_0x162465=relative(_0x45e271,_0x4bb44f),_0x4c26b8=join(_0x16e2a5,_0x234759,_0x162465);return await mkdir(dirname(_0x4c26b8),{'recursive':!![]}),await rename(_0x4bb44f,_0x4c26b8),_0x4c26b8;}async function cleanupEmptyDirectories(_0x33af36,_0x300c48){const _0x27123a=a27_0x3cee9b;let _0x1f1d29=resolve(_0x33af36);const _0x12cd28=resolve(_0x300c48);while(_0x1f1d29[_0x27123a(0x1f0)](''+_0x12cd28+sep)||_0x1f1d29===_0x12cd28){if(_0x1f1d29===_0x12cd28)return;try{const _0x5b7dbf=await readdir(_0x1f1d29);if(_0x5b7dbf[_0x27123a(0x20f)]>0x0)return;await rmdir(_0x1f1d29);}catch{return;}_0x1f1d29=dirname(_0x1f1d29);}}function a27_0x2fa2(){const _0x4a86d1=['12313LHnSLi','toISOString','split','11392NqJpem','Deleted\x20','functions','82hoYFsr','high-risk-write','stringify','includes','filter','\x22.\x20Use\x20the\x20full\x20lock\x20key:\x0a','keys','Lock\x20key\x20(e.g.\x20ENDPOINT/createOrder)\x20or\x20short\x20function\x20name','1411473XozqOu','target','length','No\x20lock\x20entry\x20found\x20for\x20\x22','bff','5ApQVrw','replace','9547000BBKZlm','Function\x20not\x20found:\x20','POST','join','Delete\x20a\x20BFF\x20script\x20from\x20remote\x20and\x20local','Local\x20delete\x20not\x20settled\x20for\x20','/api/management/library/scripts/delete','delete','\x20\x20-\x20','lockFilePath','scriptsRootDir','5328340XzuJJL','scriptsRoot','1392777VBtGlV','startsWith','Lock\x20scope\x20for\x20app\x20\x22','Multiple\x20functions\x20match\x20\x22','\x22\x20not\x20found\x20after\x20ensureLockScope.','BFF\x20lock\x20file\x20not\x20found.\x20Run\x20`push`\x20or\x20`pull`\x20first\x20to\x20initialize\x20sync\x20state.','str','2046GHrOYU','BFF\x20lock\x20file\x20not\x20found.','appCode','64GMmoaw','<timestamp>','parse','remoteId','42716135iSRKjJ','validation'];a27_0x2fa2=function(){return _0x4a86d1;};return a27_0x2fa2();}const DELETE_SETTLE_RETRY_COUNT=0x14,DELETE_SETTLE_DELAY_MS=0x64;async function waitForDeleteSettlement(_0x5d8294,_0x3a0981,_0x50c9db,_0x2e0876){const _0x36d475=a27_0x3cee9b;for(let _0x5dd3f4=0x0;_0x5dd3f4<DELETE_SETTLE_RETRY_COUNT;_0x5dd3f4+=0x1){const _0x4c7ca8=await readBffLockFile(_0x5d8294),_0x5e1ef9=!!_0x4c7ca8?.['apps']?.[_0x3a0981]?.['functions']?.[_0x50c9db],_0x450ee3=await fileExists(_0x2e0876);if(!_0x5e1ef9&&!_0x450ee3)return;await sleep(DELETE_SETTLE_DELAY_MS);}throw new Error(_0x36d475(0x1e7)+_0x50c9db+'.');}
1
+ const a27_0x1ae04d=a27_0x4f67;(function(_0x56b420,_0x29b20f){const _0x59fca2=a27_0x4f67,_0x42de04=_0x56b420();while(!![]){try{const _0x321c10=-parseInt(_0x59fca2(0x10f))/0x1*(-parseInt(_0x59fca2(0x127))/0x2)+parseInt(_0x59fca2(0x10c))/0x3*(parseInt(_0x59fca2(0x130))/0x4)+parseInt(_0x59fca2(0x132))/0x5*(-parseInt(_0x59fca2(0x11d))/0x6)+parseInt(_0x59fca2(0x10a))/0x7+-parseInt(_0x59fca2(0x129))/0x8+-parseInt(_0x59fca2(0x131))/0x9*(-parseInt(_0x59fca2(0x108))/0xa)+parseInt(_0x59fca2(0x105))/0xb*(-parseInt(_0x59fca2(0x117))/0xc);if(_0x321c10===_0x29b20f)break;else _0x42de04['push'](_0x42de04['shift']());}catch(_0x4af51f){_0x42de04['push'](_0x42de04['shift']());}}}(a27_0x28f5,0x61e8d));import{mkdir,readdir,rename,rmdir}from'node:fs/promises';function a27_0x4f67(_0x5a1777,_0x54143d){_0x5a1777=_0x5a1777-0x104;const _0x28f53f=a27_0x28f5();let _0x4f678f=_0x28f53f[_0x5a1777];return _0x4f678f;}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';function a27_0x28f5(){const _0x53b28d=['3lIyoPs','join','validation','1ecdrZj','trashDir','trashedTo','lastSync','scriptsRoot','parse','BFF\x20lock\x20file\x20not\x20found.\x20Run\x20`push`\x20or\x20`pull`\x20first\x20to\x20initialize\x20sync\x20state.','length','651276qMaKTF','toISOString','includes','string','\x22\x20not\x20found\x20after\x20ensureLockScope.','POST','30oaqWjP','Lock\x20scope\x20for\x20app\x20\x22','filter','apps','No\x20lock\x20entry\x20found\x20for\x20\x22','find','Local\x20delete\x20not\x20settled\x20for\x20','bff','remoteId','str','1325878QYQlco','\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20trash','4251976tQzWbn','keys','/api/management/library/scripts/delete','appCode','startsWith','functions','target','1619236VzEtxp','8577QDAOZK','797955EqzYyr','\x22.\x20Use\x20the\x20full\x20lock\x20key:\x0a','<timestamp>','\x20\x20-\x20','Would\x20delete\x20','Delete\x20a\x20BFF\x20script\x20from\x20remote\x20and\x20local','11HhJUig','lockFilePath','BFF\x20lock\x20file\x20not\x20found.','4030yDmNIe','scriptsRootDir','2330685wVuHhl','delete'];a27_0x28f5=function(){return _0x53b28d;};return a27_0x28f5();}import{CliErrors}from'../../errors.js';import{sleep}from'../../utils/sleep.js';export const bffDelete={'service':a27_0x1ae04d(0x124),'command':a27_0x1ae04d(0x10b),'description':a27_0x1ae04d(0x104),'risk':'high-risk-write','flags':[{'name':a27_0x1ae04d(0x12f),'type':a27_0x1ae04d(0x11a),'required':!![],'description':'Lock\x20key\x20(e.g.\x20ENDPOINT/createOrder)\x20or\x20short\x20function\x20name'}],async 'validate'(_0x15d079){const _0x92097d=a27_0x1ae04d,_0x3589aa=loadBffProjectConfig(_0x15d079[_0x92097d(0x12c)]),_0x208ae9=await readBffLockFile(_0x3589aa['lockFilePath']);if(!_0x208ae9)throw CliErrors['validation'](_0x92097d(0x115));},async 'dryRun'(_0x380d35){const _0x28d07d=a27_0x1ae04d,_0x54d2a6=loadBffProjectConfig(_0x380d35[_0x28d07d(0x12c)]),_0x5a05ab=await readBffLockFile(_0x54d2a6[_0x28d07d(0x106)]);if(!_0x5a05ab)throw CliErrors[_0x28d07d(0x10e)](_0x28d07d(0x107));const {appLock:_0x574e64}=ensureLockScope(_0x5a05ab,_0x380d35[_0x28d07d(0x12c)],_0x54d2a6['scriptsRoot'],'delete'),_0x1ae644=_0x380d35['str'](_0x28d07d(0x12f)),_0x341ffd=Object['keys'](_0x574e64[_0x28d07d(0x12e)]),_0x42c898=resolveDeleteTarget(_0x1ae644,_0x341ffd),_0xc4a4d9=_0x574e64[_0x28d07d(0x12e)][_0x42c898];if(!_0xc4a4d9)throw CliErrors[_0x28d07d(0x10e)](_0x28d07d(0x121)+_0x42c898+'\x22.');const _0x2f0428=resolveLocalFilePathFromLockKey(_0x54d2a6,_0x42c898),_0x39a3b0=relative(_0x54d2a6['projectRoot'],_0x2f0428),_0x4256fe=join(_0x54d2a6[_0x28d07d(0x110)],_0x28d07d(0x134),_0x39a3b0);return{'method':_0x28d07d(0x11c),'url':_0x28d07d(0x12b),'body':{'appCode':_0x380d35[_0x28d07d(0x12c)],'target':_0x42c898,'remoteId':_0xc4a4d9['remoteId'],'localFilePath':_0x2f0428,'trashedPath':_0x4256fe},'description':_0x28d07d(0x136)+_0x42c898+_0x28d07d(0x128)};},async 'execute'(_0x2f41f6){const _0x2a7063=a27_0x1ae04d,_0x19e9ab=loadBffProjectConfig(_0x2f41f6[_0x2a7063(0x12c)]),_0x590716=await readBffLockFile(_0x19e9ab[_0x2a7063(0x106)]);if(!_0x590716)throw CliErrors[_0x2a7063(0x10e)](_0x2a7063(0x107));const {lockData:_0x2823d7,appLock:_0x41b93f}=ensureLockScope(_0x590716,_0x2f41f6['appCode'],_0x19e9ab[_0x2a7063(0x113)],_0x2a7063(0x10b)),_0x56682e=JSON[_0x2a7063(0x114)](JSON['stringify'](_0x2823d7)),_0x13c143=_0x56682e[_0x2a7063(0x120)][_0x2f41f6[_0x2a7063(0x12c)]];if(!_0x13c143)throw new Error(_0x2a7063(0x11e)+_0x2f41f6[_0x2a7063(0x12c)]+_0x2a7063(0x11b));const _0x2f18de=_0x2f41f6[_0x2a7063(0x126)](_0x2a7063(0x12f)),_0x296773=Object[_0x2a7063(0x12a)](_0x13c143['functions']),_0x5da676=resolveDeleteTarget(_0x2f18de,_0x296773),_0x24093e=_0x13c143[_0x2a7063(0x12e)][_0x5da676];if(!_0x24093e)throw CliErrors[_0x2a7063(0x10e)](_0x2a7063(0x121)+_0x5da676+'\x22.');await deleteBffScript(_0x24093e[_0x2a7063(0x125)]),delete _0x13c143['functions'][_0x5da676],_0x13c143[_0x2a7063(0x112)]=new Date()[_0x2a7063(0x118)](),await writeBffLockFile(_0x19e9ab[_0x2a7063(0x106)],_0x56682e);const _0x4c3081=resolveLocalFilePathFromLockKey(_0x19e9ab,_0x5da676);let _0x377390;await fileExists(_0x4c3081)&&(_0x377390=await moveToTrash(_0x19e9ab['projectRoot'],_0x19e9ab[_0x2a7063(0x110)],_0x4c3081),await cleanupEmptyDirectories(dirname(_0x4c3081),_0x19e9ab[_0x2a7063(0x109)]));await waitForDeleteSettlement(_0x19e9ab[_0x2a7063(0x106)],_0x2f41f6[_0x2a7063(0x12c)],_0x5da676,_0x4c3081),await sleep(0x96);const _0x5341dd={'deleted':_0x5da676,'remoteId':_0x24093e['remoteId']};if(_0x377390)_0x5341dd[_0x2a7063(0x111)]=_0x377390;return{'ok':!![],'data':_0x5341dd,'message':'Deleted\x20'+_0x5da676+(_0x377390?'\x20(local\x20file\x20moved\x20to\x20trash)':'')};}};function resolveDeleteTarget(_0x3ca425,_0x2a5b97){const _0x2c05c0=a27_0x1ae04d;if(_0x3ca425[_0x2c05c0(0x119)]('/')){const _0x1457cb=_0x2a5b97[_0x2c05c0(0x122)](_0x248946=>_0x248946===_0x3ca425);if(!_0x1457cb)throw CliErrors[_0x2c05c0(0x10e)]('Function\x20not\x20found:\x20'+_0x3ca425);return _0x1457cb;}const _0x5aeda2=_0x2a5b97[_0x2c05c0(0x11f)](_0x43565a=>_0x43565a['split']('/')['at'](-0x1)===_0x3ca425);if(_0x5aeda2[_0x2c05c0(0x116)]===0x0)throw CliErrors[_0x2c05c0(0x10e)]('Function\x20not\x20found:\x20'+_0x3ca425);if(_0x5aeda2[_0x2c05c0(0x116)]>0x1)throw CliErrors[_0x2c05c0(0x10e)]('Multiple\x20functions\x20match\x20\x22'+_0x3ca425+_0x2c05c0(0x133)+_0x5aeda2['map'](_0x570b9a=>_0x2c05c0(0x135)+_0x570b9a)[_0x2c05c0(0x10d)]('\x0a'));return _0x5aeda2[0x0];}async function moveToTrash(_0x5ee8dc,_0xfe7c07,_0x4fd8f1){const _0x43a441=a27_0x1ae04d,_0x416ea5=new Date()[_0x43a441(0x118)]()['replace'](/[:.]/g,'-'),_0x15e033=relative(_0x5ee8dc,_0x4fd8f1),_0x296b22=join(_0xfe7c07,_0x416ea5,_0x15e033);return await mkdir(dirname(_0x296b22),{'recursive':!![]}),await rename(_0x4fd8f1,_0x296b22),_0x296b22;}async function cleanupEmptyDirectories(_0x17521a,_0x5bf2e9){const _0x46aec9=a27_0x1ae04d;let _0x3421a2=resolve(_0x17521a);const _0x217e38=resolve(_0x5bf2e9);while(_0x3421a2[_0x46aec9(0x12d)](''+_0x217e38+sep)||_0x3421a2===_0x217e38){if(_0x3421a2===_0x217e38)return;try{const _0x42d1f0=await readdir(_0x3421a2);if(_0x42d1f0[_0x46aec9(0x116)]>0x0)return;await rmdir(_0x3421a2);}catch{return;}_0x3421a2=dirname(_0x3421a2);}}const DELETE_SETTLE_RETRY_COUNT=0x14,DELETE_SETTLE_DELAY_MS=0x64;async function waitForDeleteSettlement(_0x56bcfc,_0x3bec6f,_0x379b7a,_0x34f4b9){const _0x513bfb=a27_0x1ae04d;for(let _0x10d81a=0x0;_0x10d81a<DELETE_SETTLE_RETRY_COUNT;_0x10d81a+=0x1){const _0x3cbf9b=await readBffLockFile(_0x56bcfc),_0x14bf13=!!_0x3cbf9b?.[_0x513bfb(0x120)]?.[_0x3bec6f]?.['functions']?.[_0x379b7a],_0x1ce27f=await fileExists(_0x34f4b9);if(!_0x14bf13&&!_0x1ce27f)return;await sleep(DELETE_SETTLE_DELAY_MS);}throw new Error(_0x513bfb(0x123)+_0x379b7a+'.');}
@@ -1 +1 @@
1
- const a28_0x36f388=a28_0x16e5;function a28_0x16e5(_0x554b97,_0x388b21){_0x554b97=_0x554b97-0x1a7;const _0xf2a9cc=a28_0xf2a9();let _0x16e592=_0xf2a9cc[_0x554b97];return _0x16e592;}(function(_0x2dbd00,_0xfc0a6b){const _0x5c15bd=a28_0x16e5,_0x2df321=_0x2dbd00();while(!![]){try{const _0x55218e=-parseInt(_0x5c15bd(0x1b4))/0x1+-parseInt(_0x5c15bd(0x1b1))/0x2*(parseInt(_0x5c15bd(0x1bb))/0x3)+parseInt(_0x5c15bd(0x1a7))/0x4*(-parseInt(_0x5c15bd(0x1bd))/0x5)+parseInt(_0x5c15bd(0x1a9))/0x6*(parseInt(_0x5c15bd(0x1c1))/0x7)+-parseInt(_0x5c15bd(0x1af))/0x8*(parseInt(_0x5c15bd(0x1ba))/0x9)+parseInt(_0x5c15bd(0x1bc))/0xa*(-parseInt(_0x5c15bd(0x1ad))/0xb)+parseInt(_0x5c15bd(0x1b6))/0xc;if(_0x55218e===_0xfc0a6b)break;else _0x2df321['push'](_0x2df321['shift']());}catch(_0x1fa710){_0x2df321['push'](_0x2df321['shift']());}}}(a28_0xf2a9,0x29ea9));function a28_0xf2a9(){const _0x10a849=['47935Kmothh','num','boolean','scriptContent','375571TiXhbA','4Ragsrd','number','30aGjKCG','appCode','Return\x20full\x20raw\x20script\x20object','description','479666elqlGH','bool','851464VtZDjW','verbose','1618Rbknqk','bff','read','92479pWhIrv','Script\x20ID','5235252hPhAOL','detail','updatedTime','scriptType','27uSXBoa','90ELeLOB','20NYWQgQ'];a28_0xf2a9=function(){return _0x10a849;};return a28_0xf2a9();}import{getBffScriptInfo}from'../../core/api-client.js';export const bffDetail={'service':a28_0x36f388(0x1b2),'command':a28_0x36f388(0x1b7),'description':'Get\x20BFF\x20script\x20details\x20by\x20ID','risk':a28_0x36f388(0x1b3),'flags':[{'name':'id','type':a28_0x36f388(0x1a8),'required':!![],'description':a28_0x36f388(0x1b5)},{'name':a28_0x36f388(0x1b0),'type':a28_0x36f388(0x1bf),'description':a28_0x36f388(0x1ab)}],async 'execute'(_0x2ee158){const _0x2f6cf2=a28_0x36f388,_0x5ad642=await getBffScriptInfo(_0x2ee158[_0x2f6cf2(0x1be)]('id')),_0x27b551=_0x2ee158[_0x2f6cf2(0x1ae)]('verbose');if(_0x27b551)return{'ok':!![],'data':_0x5ad642};return{'ok':!![],'data':{'id':_0x5ad642['id'],'appCode':_0x5ad642[_0x2f6cf2(0x1aa)],'scriptType':_0x5ad642[_0x2f6cf2(0x1b9)],'description':_0x5ad642[_0x2f6cf2(0x1ac)]||'(none)','createdTime':_0x5ad642['createdTime']??'','updatedTime':_0x5ad642[_0x2f6cf2(0x1b8)]??'','scriptContent':_0x5ad642[_0x2f6cf2(0x1c0)]??''}};}};
1
+ function a28_0x50aa(_0x5ec729,_0x2cd5c8){_0x5ec729=_0x5ec729-0x6f;const _0x5eced0=a28_0x5ece();let _0x50aa33=_0x5eced0[_0x5ec729];return _0x50aa33;}const a28_0x4e428a=a28_0x50aa;(function(_0x3f8dd7,_0x26a25e){const _0x453d04=a28_0x50aa,_0x4cf43f=_0x3f8dd7();while(!![]){try{const _0x121c42=parseInt(_0x453d04(0x87))/0x1*(parseInt(_0x453d04(0x75))/0x2)+parseInt(_0x453d04(0x77))/0x3*(-parseInt(_0x453d04(0x82))/0x4)+-parseInt(_0x453d04(0x8a))/0x5*(-parseInt(_0x453d04(0x70))/0x6)+parseInt(_0x453d04(0x88))/0x7+parseInt(_0x453d04(0x7a))/0x8*(-parseInt(_0x453d04(0x72))/0x9)+parseInt(_0x453d04(0x7d))/0xa*(parseInt(_0x453d04(0x73))/0xb)+-parseInt(_0x453d04(0x76))/0xc*(parseInt(_0x453d04(0x6f))/0xd);if(_0x121c42===_0x26a25e)break;else _0x4cf43f['push'](_0x4cf43f['shift']());}catch(_0x53ae7f){_0x4cf43f['push'](_0x4cf43f['shift']());}}}(a28_0x5ece,0x43d05));import{getBffScriptInfo}from'../../core/api-client.js';export const bffDetail={'service':a28_0x4e428a(0x7b),'command':'detail','description':'Get\x20BFF\x20script\x20details\x20by\x20ID','risk':a28_0x4e428a(0x7f),'flags':[{'name':'id','type':a28_0x4e428a(0x7e),'required':!![],'description':a28_0x4e428a(0x74)},{'name':a28_0x4e428a(0x80),'type':a28_0x4e428a(0x89),'description':a28_0x4e428a(0x78)}],async 'execute'(_0x36e25f){const _0x36d4be=a28_0x4e428a,_0xb5ccc3=await getBffScriptInfo(_0x36e25f[_0x36d4be(0x81)]('id')),_0x6ae99d=_0x36e25f[_0x36d4be(0x71)]('verbose');if(_0x6ae99d)return{'ok':!![],'data':_0xb5ccc3};return{'ok':!![],'data':{'id':_0xb5ccc3['id'],'appCode':_0xb5ccc3[_0x36d4be(0x7c)],'scriptType':_0xb5ccc3[_0x36d4be(0x84)],'description':_0xb5ccc3[_0x36d4be(0x79)]||_0x36d4be(0x85),'createdTime':_0xb5ccc3[_0x36d4be(0x83)]??'','updatedTime':_0xb5ccc3[_0x36d4be(0x86)]??'','scriptContent':_0xb5ccc3[_0x36d4be(0x8b)]??''}};}};function a28_0x5ece(){const _0x85f48f=['8271qMKQHt','11bCoHNZ','Script\x20ID','6616YNaQHJ','1668UGwicG','3rVCPuU','Return\x20full\x20raw\x20script\x20object','description','4744VHcwLz','bff','appCode','5269670iBkzRB','number','read','verbose','num','2003860AXuRUS','createdTime','scriptType','(none)','updatedTime','127AfFkCx','3006997wnmUVQ','boolean','5ZSQtII','scriptContent','40781gqnOQp','2298516ZzfkKU','bool'];a28_0x5ece=function(){return _0x85f48f;};return a28_0x5ece();}
@@ -1 +1 @@
1
- function a29_0x56fa(_0x25896c,_0x18f9d1){_0x25896c=_0x25896c-0xee;const _0xac748=a29_0xac74();let _0x56fab0=_0xac748[_0x25896c];return _0x56fab0;}(function(_0x3275cc,_0x11dba7){const _0x297f91=a29_0x56fa,_0x2bc2e3=_0x3275cc();while(!![]){try{const _0x1a52b5=parseInt(_0x297f91(0xf0))/0x1+-parseInt(_0x297f91(0xf7))/0x2*(parseInt(_0x297f91(0xef))/0x3)+parseInt(_0x297f91(0xf4))/0x4*(parseInt(_0x297f91(0xf5))/0x5)+-parseInt(_0x297f91(0xf3))/0x6*(parseInt(_0x297f91(0xf2))/0x7)+-parseInt(_0x297f91(0xf6))/0x8+-parseInt(_0x297f91(0xf1))/0x9+parseInt(_0x297f91(0xee))/0xa;if(_0x1a52b5===_0x11dba7)break;else _0x2bc2e3['push'](_0x2bc2e3['shift']());}catch(_0x4e906b){_0x2bc2e3['push'](_0x2bc2e3['shift']());}}}(a29_0xac74,0xae6c8));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_0xac74(){const _0x270a3c=['243205pDfook','3092456IGpzqd','2132092pdxcJj','26406600rQGhUH','3gMfplF','946438wBEUue','5312979tnzCGV','7LRzdfH','5270190wakWbj','4IBLUfY'];a29_0xac74=function(){return _0x270a3c;};return a29_0xac74();}import{bffDelete}from'../../commands/bff/delete.js';export const bffDefinitions=[bffList,bffDetail,bffStatus,bffCreate,bffPush,bffPull,bffDelete];
1
+ function a29_0x308c(_0x2b675f,_0x3c4619){_0x2b675f=_0x2b675f-0xe0;const _0x49fb13=a29_0x49fb();let _0x308c7e=_0x49fb13[_0x2b675f];return _0x308c7e;}(function(_0x52e124,_0x5028ba){const _0x3f4158=a29_0x308c,_0x54c346=_0x52e124();while(!![]){try{const _0x1a6022=-parseInt(_0x3f4158(0xeb))/0x1*(-parseInt(_0x3f4158(0xe5))/0x2)+parseInt(_0x3f4158(0xe7))/0x3*(-parseInt(_0x3f4158(0xe3))/0x4)+parseInt(_0x3f4158(0xe4))/0x5*(-parseInt(_0x3f4158(0xea))/0x6)+parseInt(_0x3f4158(0xe2))/0x7*(-parseInt(_0x3f4158(0xe0))/0x8)+-parseInt(_0x3f4158(0xe6))/0x9*(-parseInt(_0x3f4158(0xec))/0xa)+-parseInt(_0x3f4158(0xe8))/0xb*(-parseInt(_0x3f4158(0xe9))/0xc)+parseInt(_0x3f4158(0xe1))/0xd;if(_0x1a6022===_0x5028ba)break;else _0x54c346['push'](_0x54c346['shift']());}catch(_0xdd82d9){_0x54c346['push'](_0x54c346['shift']());}}}(a29_0x49fb,0x54e5c));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';function a29_0x49fb(){const _0x56ecca=['7UznyXu','388AxMUNR','179295jlbEkF','233406DkrlUV','190611apbGhq','20106dLBvDI','11qJqfzX','4281372dXsPAN','60GJnwGu','3xkLPIt','10ozYneL','780944woKWFK','9437649kmpyCI'];a29_0x49fb=function(){return _0x56ecca;};return a29_0x49fb();}import{bffPush}from'../../commands/bff/push.js';import{bffPull}from'../../commands/bff/pull.js';import{bffDelete}from'../../commands/bff/delete.js';export const bffDefinitions=[bffList,bffDetail,bffStatus,bffCreate,bffPush,bffPull,bffDelete];
@@ -1 +1 @@
1
- function a30_0x5a83(_0x60832d,_0x1cbdda){_0x60832d=_0x60832d-0x8d;const _0x3003d6=a30_0x3003();let _0x5a834d=_0x3003d6[_0x60832d];return _0x5a834d;}const a30_0x22016e=a30_0x5a83;(function(_0x508bd5,_0x25b068){const _0x5108cf=a30_0x5a83,_0x3b60fe=_0x508bd5();while(!![]){try{const _0x488f90=-parseInt(_0x5108cf(0x9b))/0x1+-parseInt(_0x5108cf(0xa0))/0x2+parseInt(_0x5108cf(0x9a))/0x3+-parseInt(_0x5108cf(0xa4))/0x4+parseInt(_0x5108cf(0x8d))/0x5*(parseInt(_0x5108cf(0x9c))/0x6)+-parseInt(_0x5108cf(0x9d))/0x7+parseInt(_0x5108cf(0xa5))/0x8;if(_0x488f90===_0x25b068)break;else _0x3b60fe['push'](_0x3b60fe['shift']());}catch(_0x1ee807){_0x3b60fe['push'](_0x3b60fe['shift']());}}}(a30_0x3003,0x61297));function a30_0x3003(){const _0x15b6c6=['COMMON','str','boolean','ENDPOINT','No\x20BFF\x20scripts\x20found.','(unnamed)','appCode','name','string','Filter\x20by\x20script\x20name','471087nQYLXw','692340fMXkZZ','182202ycsuWI','2606632qqeNnf','Script\x20type\x20filter','Return\x20full\x20script\x20objects','736642FIkWkX','scriptType','verbose','bool','797684WASYQq','13772552IHIdXu','length','functionName','bff','25ZtMvQO','List\x20BFF\x20scripts','type'];a30_0x3003=function(){return _0x15b6c6;};return a30_0x3003();}import{listBffScripts}from'../../core/api-client.js';export const bffList={'service':a30_0x22016e(0xa8),'command':'list','description':a30_0x22016e(0x8e),'risk':'read','flags':[{'name':a30_0x22016e(0x8f),'type':a30_0x22016e(0x98),'description':a30_0x22016e(0x9e),'default':a30_0x22016e(0x93),'enum':[a30_0x22016e(0x93),a30_0x22016e(0x90)]},{'name':a30_0x22016e(0x97),'type':a30_0x22016e(0x98),'description':a30_0x22016e(0x99)},{'name':a30_0x22016e(0xa2),'type':a30_0x22016e(0x92),'description':a30_0x22016e(0x9f)}],async 'execute'(_0x71e63e){const _0x4d0064=a30_0x22016e,_0x4d15ca=await listBffScripts(_0x71e63e[_0x4d0064(0x96)],_0x71e63e[_0x4d0064(0x91)](_0x4d0064(0x8f)),{'scriptName':_0x71e63e[_0x4d0064(0x91)](_0x4d0064(0x97))||undefined}),_0x10d979=_0x71e63e[_0x4d0064(0xa3)](_0x4d0064(0xa2));return{'ok':!![],'data':_0x10d979?_0x4d15ca:_0x4d15ca['map'](_0x3c571e=>({'id':_0x3c571e['id'],'functionName':_0x3c571e[_0x4d0064(0xa7)]??'','description':_0x3c571e['description']||_0x4d0064(0x95),'scriptType':_0x3c571e[_0x4d0064(0xa1)]})),'message':_0x4d15ca[_0x4d0064(0xa6)]===0x0?_0x4d0064(0x94):undefined};}};
1
+ const a30_0x521f85=a30_0x3d41;(function(_0x529d85,_0x1eaf42){const _0x4492e7=a30_0x3d41,_0xa699e2=_0x529d85();while(!![]){try{const _0x49e2a0=parseInt(_0x4492e7(0x184))/0x1+-parseInt(_0x4492e7(0x178))/0x2*(-parseInt(_0x4492e7(0x170))/0x3)+parseInt(_0x4492e7(0x16c))/0x4*(parseInt(_0x4492e7(0x183))/0x5)+-parseInt(_0x4492e7(0x16a))/0x6+-parseInt(_0x4492e7(0x17b))/0x7+-parseInt(_0x4492e7(0x186))/0x8+parseInt(_0x4492e7(0x171))/0x9;if(_0x49e2a0===_0x1eaf42)break;else _0xa699e2['push'](_0xa699e2['shift']());}catch(_0x5bc586){_0xa699e2['push'](_0xa699e2['shift']());}}}(a30_0x4033,0xebb0f));import{listBffScripts}from'../../core/api-client.js';function a30_0x3d41(_0x3c6129,_0x3fa591){_0x3c6129=_0x3c6129-0x16a;const _0x40335f=a30_0x4033();let _0x3d414b=_0x40335f[_0x3c6129];return _0x3d414b;}export const bffList={'service':a30_0x521f85(0x176),'command':a30_0x521f85(0x179),'description':a30_0x521f85(0x17f),'risk':a30_0x521f85(0x17c),'flags':[{'name':a30_0x521f85(0x177),'type':a30_0x521f85(0x16d),'description':a30_0x521f85(0x16b),'default':'ENDPOINT','enum':[a30_0x521f85(0x16f),a30_0x521f85(0x174)]},{'name':'name','type':'string','description':a30_0x521f85(0x175)},{'name':'verbose','type':a30_0x521f85(0x187),'description':a30_0x521f85(0x172)}],async 'execute'(_0x275a0b){const _0x10208f=a30_0x521f85,_0x4d4f1d=await listBffScripts(_0x275a0b[_0x10208f(0x180)],_0x275a0b[_0x10208f(0x17a)](_0x10208f(0x177)),{'scriptName':_0x275a0b[_0x10208f(0x17a)]('name')||undefined}),_0x39ad04=_0x275a0b[_0x10208f(0x173)](_0x10208f(0x182));return{'ok':!![],'data':_0x39ad04?_0x4d4f1d:_0x4d4f1d[_0x10208f(0x181)](_0x51a024=>({'id':_0x51a024['id'],'functionName':_0x51a024['functionName']??'','description':_0x51a024[_0x10208f(0x17d)]||_0x10208f(0x185),'scriptType':_0x51a024['scriptType']})),'message':_0x4d4f1d[_0x10208f(0x17e)]===0x0?_0x10208f(0x16e):undefined};}};function a30_0x4033(){const _0x2fed98=['Filter\x20by\x20script\x20name','bff','type','2UnSbAb','list','str','3060624LULsmH','read','description','length','List\x20BFF\x20scripts','appCode','map','verbose','980gpoPvi','877859tlpTHj','(unnamed)','7919680cvJEfy','boolean','9787968RSXWVl','Script\x20type\x20filter','32204pTDuvl','string','No\x20BFF\x20scripts\x20found.','ENDPOINT','2894487vcpeou','5429043CQvWiU','Return\x20full\x20script\x20objects','bool','COMMON'];a30_0x4033=function(){return _0x2fed98;};return a30_0x4033();}
@@ -1 +1 @@
1
- const a31_0x1dcbc8=a31_0x35c5;(function(_0x23ef84,_0x362b98){const _0x5327ba=a31_0x35c5,_0xca7012=_0x23ef84();while(!![]){try{const _0x47cd45=parseInt(_0x5327ba(0xab))/0x1*(-parseInt(_0x5327ba(0xea))/0x2)+-parseInt(_0x5327ba(0xbe))/0x3+parseInt(_0x5327ba(0xdd))/0x4+-parseInt(_0x5327ba(0xca))/0x5*(parseInt(_0x5327ba(0xcc))/0x6)+parseInt(_0x5327ba(0xe7))/0x7+-parseInt(_0x5327ba(0xae))/0x8*(-parseInt(_0x5327ba(0xb2))/0x9)+parseInt(_0x5327ba(0xc4))/0xa*(parseInt(_0x5327ba(0xd5))/0xb);if(_0x47cd45===_0x362b98)break;else _0xca7012['push'](_0xca7012['shift']());}catch(_0x17474b){_0xca7012['push'](_0xca7012['shift']());}}}(a31_0x12e9,0xb15f5));import{createInterface}from'node:readline';import{writeFile}from'node:fs/promises';function a31_0x12e9(){const _0x6c9cef=['Remote\x20script\x20missing\x20content.','\x20skipped,\x20','message','Remote\x20script\x20missing\x20id.','449067tKlsmr','unresolvable\x20target\x20path','appCode','8pjWIco','alias','question','Force\x20pull\x20will\x20overwrite\x20local\x20unsynced\x20changes.\x20Continue?\x20[y/N]\x20','19863yOyomM','force','functions','datasetCode','push','all','string','scriptType','functionNode','Pull\x20complete:\x20','functionName','utf8','3029766jTdxjx','length','scriptsRoot','Force\x20overwrite\x20local\x20unsynced\x20changes','stringify','pull','950olcieI','\x22\x20not\x20found\x20after\x20ensureLockScope.','stderr','lockFilePath','COMMON','hookLocation','4806055VUFzua','version','6lnDUrx','type','\x20remote\x20BFF\x20script(s)\x20for\x20pull','Force\x20pull\x20cancelled.','toLowerCase','lockKey','trim','scriptContent','stdin','268004SuVAws','parse','apiDir','apps','hash','Pull\x20only\x20this\x20script\x20type','filePath','write','4731172fnmxVV','HOOK','skipped','includes','Would\x20inspect\x20','operationType','No\x20remote\x20BFF\x20scripts\x20found.','ENDPOINT','bool','str','3816897nYsRVC','yes','--type\x20must\x20be\x20COMMON,\x20ENDPOINT,\x20or\x20HOOK.','6kQhGym','Pull\x20remote\x20BFF\x20scripts\x20to\x20local'];a31_0x12e9=function(){return _0x6c9cef;};return a31_0x12e9();}import{listBffScripts,getBffScriptStatistics}from'../../core/api-client.js';import{loadAliasMap}from'../../core/alias-resolver.js';import{resolveApiFilePath}from'../../context.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{createHookLocationMap,ensureParentDirectory,fileExists,normalizeBffType,resolveRemoteScriptTarget}from'../../core/bff/file-system.js';import{computeContentHash,computeFileHash}from'../../core/bff/hash.js';import{createEmptyBffLock,ensureLockScope,readBffLockFile,writeBffLockFile}from'../../core/bff/lock.js';import{CliErrors}from'../../errors.js';export const bffPull={'service':'bff','command':a31_0x1dcbc8(0xc3),'description':a31_0x1dcbc8(0xeb),'risk':a31_0x1dcbc8(0xdc),'flags':[{'name':a31_0x1dcbc8(0xcd),'type':a31_0x1dcbc8(0xb8),'description':a31_0x1dcbc8(0xda),'enum':[a31_0x1dcbc8(0xc8),a31_0x1dcbc8(0xe4),a31_0x1dcbc8(0xde)]},{'name':a31_0x1dcbc8(0xb3),'type':'boolean','description':a31_0x1dcbc8(0xc1)}],async 'dryRun'(_0x2bd9b4){const _0x58fc15=a31_0x1dcbc8,_0x1abe3d=loadBffProjectConfig(_0x2bd9b4[_0x58fc15(0xad)]),_0x39e5ef=await readBffLockFile(_0x1abe3d[_0x58fc15(0xc7)]),{appLock:_0x222bc9}=ensureLockScope(_0x39e5ef??createEmptyBffLock(),_0x2bd9b4[_0x58fc15(0xad)],_0x1abe3d[_0x58fc15(0xc0)],'pull'),_0x3ad42d=normalizeBffType(_0x2bd9b4[_0x58fc15(0xe6)](_0x58fc15(0xcd)))??undefined,_0x15c9f2=buildDatasetCodeToAliasMap(_0x2bd9b4[_0x58fc15(0xd7)],_0x2bd9b4[_0x58fc15(0xad)]),[_0x585835,_0x3fc864]=await Promise[_0x58fc15(0xb7)]([listBffScripts(_0x2bd9b4['appCode'],_0x3ad42d),getBffScriptStatistics(_0x2bd9b4[_0x58fc15(0xad)])]),_0x490a72=createHookLocationMap(_0x3fc864),_0x40e733=[];for(const _0x110052 of _0x585835){const _0x543c97=resolveRemoteScriptTarget(_0x1abe3d,_0x110052,_0x490a72,_0x222bc9[_0x58fc15(0xb4)],_0x15c9f2);if(!_0x543c97){_0x40e733['push']({'scriptType':_0x110052[_0x58fc15(0xb9)],'functionName':_0x110052[_0x58fc15(0xbc)]??'','status':_0x58fc15(0xdf),'reason':_0x58fc15(0xac)});continue;}const _0x5df81e=_0x222bc9[_0x58fc15(0xb4)][_0x543c97[_0x58fc15(0xd1)]],_0x32bfe8=_0x110052['scriptContent']!=null?computeContentHash(_0x110052[_0x58fc15(0xd3)]):undefined,_0x49b93a=await hasUnsyncedLocalChanges(_0x543c97[_0x58fc15(0xdb)],_0x5df81e,_0x32bfe8);_0x40e733[_0x58fc15(0xb6)]({'lockKey':_0x543c97[_0x58fc15(0xd1)],'filePath':_0x543c97[_0x58fc15(0xdb)],'remoteId':_0x110052['id']??null,'status':_0x49b93a?'conflict':'would_pull'});}return{'method':'GET','url':'/api/management/library/scripts/list?appCode='+_0x2bd9b4['appCode']+(_0x3ad42d?'&type='+_0x3ad42d:''),'body':{'appCode':_0x2bd9b4[_0x58fc15(0xad)],'filterType':_0x3ad42d??null,'files':_0x40e733},'description':_0x58fc15(0xe1)+_0x40e733[_0x58fc15(0xbf)]+_0x58fc15(0xce)};},async 'execute'(_0x329468){const _0x2b4603=a31_0x1dcbc8,_0x88f613=loadBffProjectConfig(_0x329468[_0x2b4603(0xad)]),_0x1b55b1=await readBffLockFile(_0x88f613[_0x2b4603(0xc7)]),{lockData:_0x1c2160,appLock:_0x4ec830}=ensureLockScope(_0x1b55b1??createEmptyBffLock(),_0x329468[_0x2b4603(0xad)],_0x88f613[_0x2b4603(0xc0)],_0x2b4603(0xc3)),_0x54b55b=normalizeBffType(_0x329468[_0x2b4603(0xe6)](_0x2b4603(0xcd)))??undefined;if(_0x329468[_0x2b4603(0xe6)](_0x2b4603(0xcd))&&!_0x54b55b)throw CliErrors['validation'](_0x2b4603(0xe9));const [_0x2c0c56,_0x585191]=await Promise[_0x2b4603(0xb7)]([listBffScripts(_0x329468[_0x2b4603(0xad)],_0x54b55b),getBffScriptStatistics(_0x329468[_0x2b4603(0xad)])]);if(_0x2c0c56[_0x2b4603(0xbf)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x2b4603(0xe3)};const _0x47ebf1=_0x329468[_0x2b4603(0xe5)](_0x2b4603(0xb3));if(_0x47ebf1&&!_0x329468['nonInteractive']){const _0x4841df=await confirmForce();if(!_0x4841df)throw CliErrors['cancelled'](_0x2b4603(0xcf));}if(_0x47ebf1&&_0x329468['nonInteractive']){}const _0xea7d84=buildDatasetCodeToAliasMap(_0x329468[_0x2b4603(0xd7)],_0x329468[_0x2b4603(0xad)]),_0x283b48=createHookLocationMap(_0x585191),_0x20f7e1=JSON[_0x2b4603(0xd6)](JSON[_0x2b4603(0xc2)](_0x1c2160)),_0x4fed1d=_0x329468[_0x2b4603(0xad)],_0x36dfe6=_0x20f7e1[_0x2b4603(0xd8)][_0x4fed1d];if(!_0x36dfe6)throw new Error('Lock\x20scope\x20for\x20app\x20\x22'+_0x4fed1d+_0x2b4603(0xc5));const _0x218e33=[],_0x50050d=[],_0x540e56=[];for(const _0x52ad64 of _0x2c0c56){const _0x2f3dc1=resolveRemoteScriptTarget(_0x88f613,_0x52ad64,_0x283b48,_0x4ec830[_0x2b4603(0xb4)],_0xea7d84);if(!_0x2f3dc1){_0x50050d[_0x2b4603(0xb6)]({'lockKey':_0x52ad64[_0x2b4603(0xb9)]+'/'+_0x52ad64[_0x2b4603(0xbc)],'reason':'unresolvable\x20target\x20path'});continue;}const _0x34de1d=_0x4ec830['functions'][_0x2f3dc1[_0x2b4603(0xd1)]];try{if(!_0x52ad64['id'])throw new Error(_0x2b4603(0xaa));if(_0x52ad64['scriptContent']==null)throw new Error(_0x2b4603(0xec));const _0x13b532=_0x52ad64[_0x2b4603(0xd3)],_0x57a17a=computeContentHash(_0x13b532);if(!_0x47ebf1){const _0x4003f3=await hasUnsyncedLocalChanges(_0x2f3dc1['filePath'],_0x34de1d,_0x57a17a);if(_0x4003f3){_0x50050d['push']({'lockKey':_0x2f3dc1['lockKey'],'reason':'local\x20unsynced\x20changes'});continue;}}await ensureParentDirectory(_0x2f3dc1[_0x2b4603(0xdb)]),await writeFile(_0x2f3dc1['filePath'],_0x13b532,_0x2b4603(0xbd));const _0x18b446={'hash':_0x57a17a,'remoteId':_0x52ad64['id'],'version':_0x52ad64[_0x2b4603(0xcb)]};_0x2f3dc1[_0x2b4603(0xcd)]===_0x2b4603(0xde)&&_0x2f3dc1['hookLocation']&&(_0x18b446[_0x2b4603(0xaf)]=_0x2f3dc1[_0x2b4603(0xc9)]['alias'],_0x18b446['datasetCode']=_0x2f3dc1[_0x2b4603(0xc9)][_0x2b4603(0xb5)],_0x18b446[_0x2b4603(0xe2)]=_0x2f3dc1[_0x2b4603(0xc9)][_0x2b4603(0xe2)],_0x18b446[_0x2b4603(0xba)]=_0x2f3dc1[_0x2b4603(0xc9)]['functionNode']),_0x36dfe6[_0x2b4603(0xb4)][_0x2f3dc1[_0x2b4603(0xd1)]]=_0x18b446,_0x218e33['push']({'lockKey':_0x2f3dc1[_0x2b4603(0xd1)],'remoteId':_0x52ad64['id']});}catch(_0x2df731){_0x540e56[_0x2b4603(0xb6)]({'lockKey':_0x2f3dc1['lockKey'],'error':_0x2df731 instanceof Error?_0x2df731[_0x2b4603(0xee)]:String(_0x2df731)});}}return _0x36dfe6['lastSync']=new Date()['toISOString'](),await writeBffLockFile(_0x88f613['lockFilePath'],_0x20f7e1),{'ok':_0x540e56[_0x2b4603(0xbf)]===0x0,'data':{'pulled':_0x218e33,'skipped':_0x50050d,'failed':_0x540e56},'message':_0x2b4603(0xbb)+_0x218e33['length']+'\x20pulled,\x20'+_0x50050d[_0x2b4603(0xbf)]+_0x2b4603(0xed)+_0x540e56[_0x2b4603(0xbf)]+'\x20failed'};}};async function hasUnsyncedLocalChanges(_0x1c0f72,_0xeab735,_0x1b91ed){const _0x9d04aa=a31_0x1dcbc8;if(!await fileExists(_0x1c0f72))return![];const _0x5d4e7f=await computeFileHash(_0x1c0f72);if(!_0xeab735)return _0x1b91ed?_0x5d4e7f!==_0x1b91ed:!![];return _0x5d4e7f!==_0xeab735[_0x9d04aa(0xd9)];}function buildDatasetCodeToAliasMap(_0x2741ab,_0x4e3085){const _0x4cd19b=a31_0x1dcbc8,_0xa32b26=loadAliasMap(_0x2741ab,undefined,resolveApiFilePath(_0x2741ab,_0x4e3085));return new Map(_0xa32b26['map'](_0x138f03=>[_0x138f03[_0x4cd19b(0xb5)],_0x138f03['alias']]));}function a31_0x35c5(_0x82d949,_0x42c36d){_0x82d949=_0x82d949-0xaa;const _0x12e9cb=a31_0x12e9();let _0x35c599=_0x12e9cb[_0x82d949];return _0x35c599;}async function confirmForce(){const _0x350421=a31_0x1dcbc8,_0x441a5d=createInterface({'input':process[_0x350421(0xd4)],'output':process[_0x350421(0xc6)]}),_0x51d840=await new Promise(_0x1031a1=>{const _0x59445a=_0x350421;_0x441a5d[_0x59445a(0xb0)](_0x59445a(0xb1),_0x1031a1);});return _0x441a5d['close'](),['y',_0x350421(0xe8)][_0x350421(0xe0)](_0x51d840[_0x350421(0xd2)]()[_0x350421(0xd0)]());}
1
+ const a31_0x2c6972=a31_0x14ce;(function(_0x3b184f,_0xfbeb6){const _0x410666=a31_0x14ce,_0x3b21fe=_0x3b184f();while(!![]){try{const _0x330775=parseInt(_0x410666(0x1b0))/0x1*(-parseInt(_0x410666(0x1b5))/0x2)+-parseInt(_0x410666(0x1ac))/0x3*(-parseInt(_0x410666(0x1e6))/0x4)+parseInt(_0x410666(0x1c5))/0x5*(-parseInt(_0x410666(0x1ea))/0x6)+-parseInt(_0x410666(0x1da))/0x7*(-parseInt(_0x410666(0x1e7))/0x8)+-parseInt(_0x410666(0x1dc))/0x9*(parseInt(_0x410666(0x1b6))/0xa)+-parseInt(_0x410666(0x1ce))/0xb+parseInt(_0x410666(0x1bd))/0xc;if(_0x330775===_0xfbeb6)break;else _0x3b21fe['push'](_0x3b21fe['shift']());}catch(_0x22563c){_0x3b21fe['push'](_0x3b21fe['shift']());}}}(a31_0xeb00,0xbba33));import{createInterface}from'node:readline';import{writeFile}from'node:fs/promises';import{listBffScripts,getBffScriptStatistics}from'../../core/api-client.js';function a31_0xeb00(){const _0x550b81=['unresolvable\x20target\x20path','length','3028sSWCGd','stderr','scriptContent','alias','stdin','730xExCAC','9013640cVFAqg','string','nonInteractive','Force\x20pull\x20cancelled.','apps','No\x20remote\x20BFF\x20scripts\x20found.','ENDPOINT','54331692UUvWXD','GET','\x20pulled,\x20','parse','bool','filePath','Would\x20inspect\x20','\x20failed','110335ejSrdn','datasetCode','scriptsRoot','toISOString','Force\x20overwrite\x20local\x20unsynced\x20changes','operationType','validation','message','scriptType','14330415SFGjsE','push','apiDir','yes','utf8','Lock\x20scope\x20for\x20app\x20\x22','lockKey','local\x20unsynced\x20changes','cancelled','appCode','type','map','587083XbHHUk','hookLocation','9SMaLbB','Pull\x20only\x20this\x20script\x20type','write','str','Pull\x20complete:\x20','trim','includes','Force\x20pull\x20will\x20overwrite\x20local\x20unsynced\x20changes.\x20Continue?\x20[y/N]\x20','boolean','functionName','8996SpFlyn','24vuHnvl','force','pull','324HWPhjG','functionNode','lockFilePath','functions','version','all','654UXAyae','--type\x20must\x20be\x20COMMON,\x20ENDPOINT,\x20or\x20HOOK.'];a31_0xeb00=function(){return _0x550b81;};return a31_0xeb00();}import{loadAliasMap}from'../../core/alias-resolver.js';import{resolveApiFilePath}from'../../context.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{createHookLocationMap,ensureParentDirectory,fileExists,normalizeBffType,resolveRemoteScriptTarget}from'../../core/bff/file-system.js';import{computeContentHash,computeFileHash}from'../../core/bff/hash.js';import{createEmptyBffLock,ensureLockScope,readBffLockFile,writeBffLockFile}from'../../core/bff/lock.js';function a31_0x14ce(_0x30b166,_0x3d9bda){_0x30b166=_0x30b166-0x1a7;const _0xeb00f5=a31_0xeb00();let _0x14ce4d=_0xeb00f5[_0x30b166];return _0x14ce4d;}import{CliErrors}from'../../errors.js';export const bffPull={'service':'bff','command':a31_0x2c6972(0x1e9),'description':'Pull\x20remote\x20BFF\x20scripts\x20to\x20local','risk':a31_0x2c6972(0x1de),'flags':[{'name':'type','type':a31_0x2c6972(0x1b7),'description':a31_0x2c6972(0x1dd),'enum':['COMMON',a31_0x2c6972(0x1bc),'HOOK']},{'name':'force','type':a31_0x2c6972(0x1e4),'description':a31_0x2c6972(0x1c9)}],async 'dryRun'(_0x451a0e){const _0x52a3ca=a31_0x2c6972,_0x50df38=loadBffProjectConfig(_0x451a0e[_0x52a3ca(0x1d7)]),_0x5e20e2=await readBffLockFile(_0x50df38[_0x52a3ca(0x1a8)]),{appLock:_0x1cac5d}=ensureLockScope(_0x5e20e2??createEmptyBffLock(),_0x451a0e[_0x52a3ca(0x1d7)],_0x50df38[_0x52a3ca(0x1c7)],_0x52a3ca(0x1e9)),_0x292cc0=normalizeBffType(_0x451a0e[_0x52a3ca(0x1df)](_0x52a3ca(0x1d8)))??undefined,_0xd82581=buildDatasetCodeToAliasMap(_0x451a0e[_0x52a3ca(0x1d0)],_0x451a0e[_0x52a3ca(0x1d7)]),[_0x5c2d08,_0x4330c7]=await Promise['all']([listBffScripts(_0x451a0e[_0x52a3ca(0x1d7)],_0x292cc0),getBffScriptStatistics(_0x451a0e[_0x52a3ca(0x1d7)])]),_0x43a071=createHookLocationMap(_0x4330c7),_0xac15d9=[];for(const _0x5f4b0c of _0x5c2d08){const _0x211ef7=resolveRemoteScriptTarget(_0x50df38,_0x5f4b0c,_0x43a071,_0x1cac5d[_0x52a3ca(0x1a9)],_0xd82581);if(!_0x211ef7){_0xac15d9[_0x52a3ca(0x1cf)]({'scriptType':_0x5f4b0c['scriptType'],'functionName':_0x5f4b0c[_0x52a3ca(0x1e5)]??'','status':'skipped','reason':'unresolvable\x20target\x20path'});continue;}const _0x41f87f=_0x1cac5d['functions'][_0x211ef7[_0x52a3ca(0x1d4)]],_0x4d7020=_0x5f4b0c[_0x52a3ca(0x1b2)]!=null?computeContentHash(_0x5f4b0c['scriptContent']):undefined,_0x5f50ad=await hasUnsyncedLocalChanges(_0x211ef7[_0x52a3ca(0x1c2)],_0x41f87f,_0x4d7020);_0xac15d9[_0x52a3ca(0x1cf)]({'lockKey':_0x211ef7[_0x52a3ca(0x1d4)],'filePath':_0x211ef7[_0x52a3ca(0x1c2)],'remoteId':_0x5f4b0c['id']??null,'status':_0x5f50ad?'conflict':'would_pull'});}return{'method':_0x52a3ca(0x1be),'url':'/api/management/library/scripts/list?appCode='+_0x451a0e[_0x52a3ca(0x1d7)]+(_0x292cc0?'&type='+_0x292cc0:''),'body':{'appCode':_0x451a0e[_0x52a3ca(0x1d7)],'filterType':_0x292cc0??null,'files':_0xac15d9},'description':_0x52a3ca(0x1c3)+_0xac15d9['length']+'\x20remote\x20BFF\x20script(s)\x20for\x20pull'};},async 'execute'(_0x122f30){const _0x4244e9=a31_0x2c6972,_0x35588b=loadBffProjectConfig(_0x122f30['appCode']),_0x527ab2=await readBffLockFile(_0x35588b[_0x4244e9(0x1a8)]),{lockData:_0x474db3,appLock:_0x168421}=ensureLockScope(_0x527ab2??createEmptyBffLock(),_0x122f30['appCode'],_0x35588b[_0x4244e9(0x1c7)],_0x4244e9(0x1e9)),_0x52ecc0=normalizeBffType(_0x122f30[_0x4244e9(0x1df)](_0x4244e9(0x1d8)))??undefined;if(_0x122f30['str'](_0x4244e9(0x1d8))&&!_0x52ecc0)throw CliErrors[_0x4244e9(0x1cb)](_0x4244e9(0x1ad));const [_0x1270a9,_0x4c79c2]=await Promise[_0x4244e9(0x1ab)]([listBffScripts(_0x122f30[_0x4244e9(0x1d7)],_0x52ecc0),getBffScriptStatistics(_0x122f30[_0x4244e9(0x1d7)])]);if(_0x1270a9[_0x4244e9(0x1af)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x4244e9(0x1bb)};const _0x291d9f=_0x122f30[_0x4244e9(0x1c1)](_0x4244e9(0x1e8));if(_0x291d9f&&!_0x122f30[_0x4244e9(0x1b8)]){const _0x463a45=await confirmForce();if(!_0x463a45)throw CliErrors[_0x4244e9(0x1d6)](_0x4244e9(0x1b9));}if(_0x291d9f&&_0x122f30[_0x4244e9(0x1b8)]){}const _0x1b352c=buildDatasetCodeToAliasMap(_0x122f30[_0x4244e9(0x1d0)],_0x122f30['appCode']),_0x25a739=createHookLocationMap(_0x4c79c2),_0x421271=JSON[_0x4244e9(0x1c0)](JSON['stringify'](_0x474db3)),_0x34b79d=_0x122f30['appCode'],_0x2e0990=_0x421271[_0x4244e9(0x1ba)][_0x34b79d];if(!_0x2e0990)throw new Error(_0x4244e9(0x1d3)+_0x34b79d+'\x22\x20not\x20found\x20after\x20ensureLockScope.');const _0x1b6849=[],_0x4e535b=[],_0x2953f7=[];for(const _0x5246a0 of _0x1270a9){const _0x5cd73b=resolveRemoteScriptTarget(_0x35588b,_0x5246a0,_0x25a739,_0x168421['functions'],_0x1b352c);if(!_0x5cd73b){_0x4e535b['push']({'lockKey':_0x5246a0[_0x4244e9(0x1cd)]+'/'+_0x5246a0['functionName'],'reason':_0x4244e9(0x1ae)});continue;}const _0x892b58=_0x168421['functions'][_0x5cd73b[_0x4244e9(0x1d4)]];try{if(!_0x5246a0['id'])throw new Error('Remote\x20script\x20missing\x20id.');if(_0x5246a0[_0x4244e9(0x1b2)]==null)throw new Error('Remote\x20script\x20missing\x20content.');const _0x4398f0=_0x5246a0[_0x4244e9(0x1b2)],_0x43f6cc=computeContentHash(_0x4398f0);if(!_0x291d9f){const _0xc59cd4=await hasUnsyncedLocalChanges(_0x5cd73b[_0x4244e9(0x1c2)],_0x892b58,_0x43f6cc);if(_0xc59cd4){_0x4e535b['push']({'lockKey':_0x5cd73b['lockKey'],'reason':_0x4244e9(0x1d5)});continue;}}await ensureParentDirectory(_0x5cd73b[_0x4244e9(0x1c2)]),await writeFile(_0x5cd73b['filePath'],_0x4398f0,_0x4244e9(0x1d2));const _0x39c89d={'hash':_0x43f6cc,'remoteId':_0x5246a0['id'],'version':_0x5246a0[_0x4244e9(0x1aa)]};_0x5cd73b[_0x4244e9(0x1d8)]==='HOOK'&&_0x5cd73b[_0x4244e9(0x1db)]&&(_0x39c89d['alias']=_0x5cd73b[_0x4244e9(0x1db)][_0x4244e9(0x1b3)],_0x39c89d[_0x4244e9(0x1c6)]=_0x5cd73b[_0x4244e9(0x1db)]['datasetCode'],_0x39c89d['operationType']=_0x5cd73b[_0x4244e9(0x1db)][_0x4244e9(0x1ca)],_0x39c89d['functionNode']=_0x5cd73b['hookLocation'][_0x4244e9(0x1a7)]),_0x2e0990['functions'][_0x5cd73b['lockKey']]=_0x39c89d,_0x1b6849['push']({'lockKey':_0x5cd73b[_0x4244e9(0x1d4)],'remoteId':_0x5246a0['id']});}catch(_0x4d256c){_0x2953f7[_0x4244e9(0x1cf)]({'lockKey':_0x5cd73b[_0x4244e9(0x1d4)],'error':_0x4d256c instanceof Error?_0x4d256c[_0x4244e9(0x1cc)]:String(_0x4d256c)});}}return _0x2e0990['lastSync']=new Date()[_0x4244e9(0x1c8)](),await writeBffLockFile(_0x35588b['lockFilePath'],_0x421271),{'ok':_0x2953f7['length']===0x0,'data':{'pulled':_0x1b6849,'skipped':_0x4e535b,'failed':_0x2953f7},'message':_0x4244e9(0x1e0)+_0x1b6849[_0x4244e9(0x1af)]+_0x4244e9(0x1bf)+_0x4e535b[_0x4244e9(0x1af)]+'\x20skipped,\x20'+_0x2953f7[_0x4244e9(0x1af)]+_0x4244e9(0x1c4)};}};async function hasUnsyncedLocalChanges(_0x234098,_0x1e3d17,_0x2db77c){if(!await fileExists(_0x234098))return![];const _0x7c00ee=await computeFileHash(_0x234098);if(!_0x1e3d17)return _0x2db77c?_0x7c00ee!==_0x2db77c:!![];return _0x7c00ee!==_0x1e3d17['hash'];}function buildDatasetCodeToAliasMap(_0x25f971,_0x2e2204){const _0x400806=a31_0x2c6972,_0x1ce0af=loadAliasMap(_0x25f971,undefined,resolveApiFilePath(_0x25f971,_0x2e2204));return new Map(_0x1ce0af[_0x400806(0x1d9)](_0x523916=>[_0x523916[_0x400806(0x1c6)],_0x523916[_0x400806(0x1b3)]]));}async function confirmForce(){const _0x25243b=a31_0x2c6972,_0x358603=createInterface({'input':process[_0x25243b(0x1b4)],'output':process[_0x25243b(0x1b1)]}),_0x2f298a=await new Promise(_0x4763f6=>{const _0x5b1662=_0x25243b;_0x358603['question'](_0x5b1662(0x1e3),_0x4763f6);});return _0x358603['close'](),['y',_0x25243b(0x1d1)][_0x25243b(0x1e2)](_0x2f298a[_0x25243b(0x1e1)]()['toLowerCase']());}
@@ -1 +1 @@
1
- const a32_0x939e48=a32_0x48bd;(function(_0xf36461,_0x480954){const _0x11dd76=a32_0x48bd,_0x2203be=_0xf36461();while(!![]){try{const _0x4d4edb=-parseInt(_0x11dd76(0x17f))/0x1*(-parseInt(_0x11dd76(0x191))/0x2)+-parseInt(_0x11dd76(0x164))/0x3*(parseInt(_0x11dd76(0x198))/0x4)+-parseInt(_0x11dd76(0x190))/0x5+parseInt(_0x11dd76(0x192))/0x6+-parseInt(_0x11dd76(0x14e))/0x7*(parseInt(_0x11dd76(0x16a))/0x8)+-parseInt(_0x11dd76(0x194))/0x9*(parseInt(_0x11dd76(0x18b))/0xa)+-parseInt(_0x11dd76(0x180))/0xb*(-parseInt(_0x11dd76(0x15d))/0xc);if(_0x4d4edb===_0x480954)break;else _0x2203be['push'](_0x2203be['shift']());}catch(_0x3e2ea4){_0x2203be['push'](_0x2203be['shift']());}}}(a32_0x271b,0x8d99e));import{readFile}from'node:fs/promises';import{saveBffScript,getBffScriptInfo,listDatasets,clearBffScriptCache}from'../../core/api-client.js';function a32_0x271b(){const _0x223ad1=['lastSync','Push\x20only\x20this\x20script\x20type','130NlXIIc','string','Force\x20push\x20ignoring\x20hash\x20protection','bool','script','2673690agEdyd','2nDclfd','5401122uiRsYK','filePath','471843kCHScQ','high-risk-write','get','runtime\x20cache\x20cleared','414452ELTWWW','BFF\x20HOOK\x20','unchanged','values','aliasToDatasetCode','boolean','functionNode','str','operationType','5251057gmaIrk','ENDPOINT','force','length','\x20skipped,\x20','functions','toISOString','type','--name\x20requires\x20--type\x20to\x20identify\x20the\x20function.','COMMON','parse','every','\x22\x20not\x20found\x20after\x20ensureLockScope.','Runtime\x20script\x20cache\x20cleared.','message','765696CSZiII','create','join','Cannot\x20resolve\x20dataset\x20for\x20\x22','datasetCodeToDataset','HOOK','Local\x20function\x20not\x20found:\x20','24FatmOw','apps','push','cleared','would_push','Run\x20`','8TtKUcB','set','datasetCode',':\x20missing\x20remote\x20version.\x20Run\x20`push`\x20after\x20`pull`\x20to\x20sync\x20version\x20info.','name','Push\x20only\x20the\x20named\x20function\x20(requires\x20--type)','runtime\x20cache\x20clear\x20failed','has','version','\x20uploaded,\x20','attempted','status','lockFilePath','\x20api\x20pull`\x20to\x20refresh\x20api.ts,\x20or\x20verify\x20the\x20dataset\x20exists.','alias','hash','No\x20local\x20BFF\x20functions\x20found.','Incomplete\x20HOOK\x20path:\x20','lockKey','appCode','filter','114259nfBEsT','407PpWBxW','\x20failed,\x20','validation','update','map','remoteId','Would\x20inspect\x20','Push\x20complete:\x20','some'];a32_0x271b=function(){return _0x223ad1;};return a32_0x271b();}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';function a32_0x48bd(_0x566e1e,_0x3e3ac0){_0x566e1e=_0x566e1e-0x14c;const _0x271bc9=a32_0x271b();let _0x48bd86=_0x271bc9[_0x566e1e];return _0x48bd86;}import{CliErrors}from'../../errors.js';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':'bff','command':a32_0x939e48(0x166),'description':'Push\x20local\x20BFF\x20scripts\x20to\x20remote','risk':a32_0x939e48(0x195),'flags':[{'name':'type','type':a32_0x939e48(0x18c),'description':a32_0x939e48(0x18a),'enum':[a32_0x939e48(0x157),a32_0x939e48(0x14f),a32_0x939e48(0x162)]},{'name':'name','type':'string','description':a32_0x939e48(0x16f)},{'name':a32_0x939e48(0x150),'type':a32_0x939e48(0x19d),'description':a32_0x939e48(0x18d)}],async 'dryRun'(_0x41b963){const _0x10d9d8=a32_0x939e48,_0x26fc06=loadBffProjectConfig(_0x41b963[_0x10d9d8(0x17d)]),_0x233f9f=await readBffLockFile(_0x26fc06[_0x10d9d8(0x176)]),{appLock:_0x2df47c}=ensureLockScope(_0x233f9f??createEmptyBffLock(),_0x41b963[_0x10d9d8(0x17d)],_0x26fc06['scriptsRoot'],_0x10d9d8(0x166)),_0x43292=await getTargetFunctions(_0x26fc06,_0x41b963),_0x43e158=_0x41b963[_0x10d9d8(0x18e)](_0x10d9d8(0x150)),_0x2b856e=[];for(const _0x18a729 of _0x43292){const _0x302820=await computeFileHash(_0x18a729[_0x10d9d8(0x193)]),_0x5e11a5=_0x2df47c[_0x10d9d8(0x153)][_0x18a729[_0x10d9d8(0x17c)]],_0xa1c5a7=!!_0x5e11a5&&_0x5e11a5[_0x10d9d8(0x179)]===_0x302820;_0x2b856e[_0x10d9d8(0x166)]({'lockKey':_0x18a729[_0x10d9d8(0x17c)],'filePath':_0x18a729[_0x10d9d8(0x193)],'remoteId':_0x5e11a5?.[_0x10d9d8(0x185)]??null,'mode':_0x5e11a5?.[_0x10d9d8(0x185)]?_0x10d9d8(0x183):_0x10d9d8(0x15e),'status':!_0x43e158&&_0xa1c5a7?'unchanged':_0x10d9d8(0x168)});}return{'method':'POST','url':'/api/management/library/scripts/save','body':{'appCode':_0x41b963[_0x10d9d8(0x17d)],'force':_0x43e158,'files':_0x2b856e,'cacheClearAtRuntime':_0x2b856e[_0x10d9d8(0x188)](_0x29e6f5=>_0x29e6f5[_0x10d9d8(0x175)]===_0x10d9d8(0x168)),'cacheClearAtRuntimeTimes':_0x2b856e['some'](_0x4999d7=>_0x4999d7[_0x10d9d8(0x175)]===_0x10d9d8(0x168))?CACHE_CLEAR_ATTEMPTS:0x0},'description':_0x10d9d8(0x186)+_0x2b856e[_0x10d9d8(0x151)]+'\x20local\x20BFF\x20script(s)\x20for\x20push\x20and\x20clear\x20runtime\x20cache\x20if\x20files\x20are\x20uploaded'};},async 'execute'(_0x817b71){const _0x3ab330=a32_0x939e48,_0x103203=loadBffProjectConfig(_0x817b71['appCode']),_0x4daadb=await readBffLockFile(_0x103203[_0x3ab330(0x176)]),{lockData:_0x1cc5e6,appLock:_0x5f3578}=ensureLockScope(_0x4daadb??createEmptyBffLock(),_0x817b71[_0x3ab330(0x17d)],_0x103203['scriptsRoot'],'push'),_0x2b41a0=await getTargetFunctions(_0x103203,_0x817b71);if(_0x2b41a0['length']===0x0)return{'ok':!![],'data':{'uploaded':[],'skipped':[],'failed':[]},'message':_0x3ab330(0x17a)};const _0x2e3077=_0x817b71[_0x3ab330(0x18e)](_0x3ab330(0x150)),_0x395680=JSON[_0x3ab330(0x158)](JSON['stringify'](_0x1cc5e6)),_0x444cc3=_0x395680[_0x3ab330(0x165)][_0x817b71[_0x3ab330(0x17d)]];if(!_0x444cc3)throw new Error('Lock\x20scope\x20for\x20app\x20\x22'+_0x817b71['appCode']+_0x3ab330(0x15a));const _0x54d798=await buildHookMaps(_0x817b71[_0x3ab330(0x17d)],_0x817b71['apiDir'],_0x2b41a0,_0x444cc3),_0xd0f991=[],_0x2af1ca=[],_0x5cc708=[];for(const _0x35abca of _0x2b41a0){const _0x11269e=await computeFileHash(_0x35abca[_0x3ab330(0x193)]),_0x3889fb=_0x444cc3[_0x3ab330(0x153)][_0x35abca['lockKey']];if(!_0x2e3077&&_0x3889fb&&_0x3889fb[_0x3ab330(0x179)]===_0x11269e){_0x2af1ca['push']({'lockKey':_0x35abca[_0x3ab330(0x17c)],'reason':_0x3ab330(0x19a)});continue;}try{await uploadSingleFunction(_0x817b71[_0x3ab330(0x17d)],_0x35abca,_0x444cc3,_0x54d798);const _0x2cda3d=_0x444cc3['functions'][_0x35abca[_0x3ab330(0x17c)]];_0xd0f991[_0x3ab330(0x166)]({'lockKey':_0x35abca[_0x3ab330(0x17c)],'remoteId':_0x2cda3d?.['remoteId']??0x0});}catch(_0x38638a){_0x5cc708[_0x3ab330(0x166)]({'lockKey':_0x35abca['lockKey'],'error':_0x38638a instanceof Error?_0x38638a[_0x3ab330(0x15c)]:String(_0x38638a)});}}_0x444cc3[_0x3ab330(0x189)]=new Date()[_0x3ab330(0x154)](),await writeBffLockFile(_0x103203[_0x3ab330(0x176)],_0x395680),await waitForUploadedLockEntries(_0x103203['lockFilePath'],_0x817b71[_0x3ab330(0x17d)],_0xd0f991[_0x3ab330(0x184)](_0x4e0aa7=>_0x4e0aa7[_0x3ab330(0x17c)]));let _0x3d4a88={'attempted':![],'cleared':![]};if(_0xd0f991[_0x3ab330(0x151)]>0x0)try{let _0x4f3f40='';for(let _0x3d3c99=0x0;_0x3d3c99<CACHE_CLEAR_ATTEMPTS;_0x3d3c99+=0x1){_0x4f3f40=await clearBffScriptCache(),_0x3d3c99<CACHE_CLEAR_ATTEMPTS-0x1&&await sleep(CACHE_CLEAR_INTERVAL_MS);}_0x3d4a88={'attempted':!![],'cleared':!![],'message':_0x4f3f40||_0x3ab330(0x15b)};}catch(_0x19d5b2){_0x3d4a88={'attempted':!![],'cleared':![],'error':_0x19d5b2 instanceof Error?_0x19d5b2[_0x3ab330(0x15c)]:String(_0x19d5b2)};}const _0x40c824=_0x5cc708[_0x3ab330(0x151)]===0x0&&(_0x3d4a88[_0x3ab330(0x174)]?_0x3d4a88[_0x3ab330(0x167)]:!![]),_0xf82106=_0x3d4a88[_0x3ab330(0x174)]?_0x3d4a88['cleared']?_0x3ab330(0x197):_0x3ab330(0x170):'runtime\x20cache\x20not\x20needed';return{'ok':_0x40c824,'data':{'uploaded':_0xd0f991,'skipped':_0x2af1ca,'failed':_0x5cc708,'cacheClear':_0x3d4a88},'message':_0x3ab330(0x187)+_0xd0f991['length']+_0x3ab330(0x173)+_0x2af1ca[_0x3ab330(0x151)]+_0x3ab330(0x152)+_0x5cc708['length']+_0x3ab330(0x181)+_0xf82106};}};async function getTargetFunctions(_0x2bbeb6,_0x55e61b){const _0x27cc91=a32_0x939e48,_0x5b5bca=_0x55e61b[_0x27cc91(0x14c)](_0x27cc91(0x155)),_0x44f3be=_0x55e61b[_0x27cc91(0x14c)]('name'),_0x36bbd2=normalizeBffType(_0x5b5bca)??undefined;if(_0x44f3be&&!_0x36bbd2)throw CliErrors[_0x27cc91(0x182)](_0x27cc91(0x156));const _0x269d95=await scanLocalBffFunctions(_0x2bbeb6,_0x36bbd2);if(_0x44f3be){const _0x143e20=_0x269d95[_0x27cc91(0x17e)](_0x495191=>_0x495191[_0x27cc91(0x16e)]===_0x44f3be);if(_0x143e20[_0x27cc91(0x151)]===0x0)throw CliErrors['validation'](_0x27cc91(0x163)+_0x36bbd2+'/'+_0x44f3be);return _0x143e20;}return _0x269d95;}async function buildHookMaps(_0x59f2fb,_0x146a2d,_0x5c4e60,_0x33efea){const _0xf2e854=a32_0x939e48,_0x346231=_0x5c4e60['some'](_0x4be390=>_0x4be390[_0xf2e854(0x155)]==='HOOK');if(!_0x346231)return{'aliasToDatasetCode':new Map(),'datasetCodeToDataset':new Map()};const _0x5b3194=loadAliasMap(_0x146a2d,undefined,resolveApiFilePath(_0x146a2d,_0x59f2fb)),_0x38e7f4=new Map(_0x5b3194[_0xf2e854(0x184)](_0x22f7a0=>[_0x22f7a0['alias'],_0x22f7a0['datasetCode']]));for(const _0x54fbba of Object[_0xf2e854(0x19b)](_0x33efea['functions'])){_0x54fbba[_0xf2e854(0x178)]&&_0x54fbba['datasetCode']&&!_0x38e7f4[_0xf2e854(0x171)](_0x54fbba['alias'])&&_0x38e7f4[_0xf2e854(0x16b)](_0x54fbba['alias'],_0x54fbba['datasetCode']);}const _0xe0d2ad=await listDatasets(_0x59f2fb),_0x112bbb=new Map(_0xe0d2ad[_0xf2e854(0x184)](_0x4d564a=>[_0x4d564a['code'],_0x4d564a]));return{'aliasToDatasetCode':_0x38e7f4,'datasetCodeToDataset':_0x112bbb};}async function uploadSingleFunction(_0x264690,_0x5f3368,_0x7e57a8,_0xcc9255){const _0x4adc94=a32_0x939e48,_0x3c04a4=await readFile(_0x5f3368['filePath'],'utf8'),_0x379530=await computeFileHash(_0x5f3368[_0x4adc94(0x193)]),_0x581042=_0x7e57a8[_0x4adc94(0x153)][_0x5f3368[_0x4adc94(0x17c)]];if(_0x581042?.[_0x4adc94(0x185)]&&_0x581042[_0x4adc94(0x172)]==null)throw CliErrors[_0x4adc94(0x182)](_0x5f3368[_0x4adc94(0x17c)]+_0x4adc94(0x16d));let _0x29e4aa=extractScriptDescription(_0x3c04a4);if(!_0x29e4aa&&_0x581042?.[_0x4adc94(0x185)]){const _0x5489ca=await getBffScriptInfo(_0x581042[_0x4adc94(0x185)]);_0x29e4aa=_0x5489ca['description']||undefined;}const _0x5d3db4={'appCode':_0x264690,'functionName':_0x5f3368[_0x4adc94(0x16e)],'scriptType':_0x5f3368[_0x4adc94(0x155)],'scriptContent':_0x3c04a4};if(_0x581042?.[_0x4adc94(0x185)])_0x5d3db4['id']=_0x581042['remoteId'];if(_0x581042?.[_0x4adc94(0x172)]!=null)_0x5d3db4['version']=_0x581042[_0x4adc94(0x172)];if(_0x29e4aa)_0x5d3db4['description']=_0x29e4aa;if(_0x5f3368[_0x4adc94(0x155)]===_0x4adc94(0x162)){const _0x4b1c99=_0x5f3368[_0x4adc94(0x178)];if(!_0x4b1c99||!_0x5f3368[_0x4adc94(0x14d)]||!_0x5f3368[_0x4adc94(0x19e)])throw CliErrors[_0x4adc94(0x182)](_0x4adc94(0x17b)+_0x5f3368[_0x4adc94(0x17c)]);const _0x1211ab=_0xcc9255[_0x4adc94(0x19c)][_0x4adc94(0x196)](_0x4b1c99)??_0x581042?.['datasetCode']??_0x4b1c99,_0x6cd001=_0xcc9255[_0x4adc94(0x161)][_0x4adc94(0x196)](_0x1211ab);if(!_0x6cd001)throw CliErrors[_0x4adc94(0x182)](_0x4adc94(0x160)+_0x4b1c99+'\x22.\x20'+(_0x4adc94(0x169)+CLI_BIN_NAME+_0x4adc94(0x177)));assertDatasetSupportsLocalDevelopment(_0x6cd001,_0x4adc94(0x199)+_0x5f3368[_0x4adc94(0x17c)]),_0x5d3db4['datasetId']=_0x6cd001['id'],_0x5d3db4[_0x4adc94(0x14d)]=_0x5f3368[_0x4adc94(0x14d)],_0x5d3db4[_0x4adc94(0x19e)]=_0x5f3368[_0x4adc94(0x19e)];}const _0x933c1a=await saveBffScript(_0x5d3db4),_0x302c75=_0x933c1a['id'],_0x5091a3=_0x933c1a[_0x4adc94(0x18f)]??await getBffScriptInfo(_0x302c75),_0x571c2f={'hash':_0x379530,'remoteId':_0x302c75,'version':_0x5091a3[_0x4adc94(0x172)]};if(_0x5f3368[_0x4adc94(0x155)]==='HOOK'){const _0x1a95ff=_0x5f3368[_0x4adc94(0x178)],_0x5c7535=_0xcc9255[_0x4adc94(0x19c)][_0x4adc94(0x196)](_0x1a95ff)??_0x581042?.[_0x4adc94(0x16c)]??_0x1a95ff;_0xcc9255[_0x4adc94(0x19c)][_0x4adc94(0x171)](_0x1a95ff)?_0x571c2f[_0x4adc94(0x178)]=_0x1a95ff:_0x571c2f[_0x4adc94(0x178)]=_0x581042?.[_0x4adc94(0x178)],_0x571c2f[_0x4adc94(0x16c)]=_0x5c7535,_0x571c2f[_0x4adc94(0x14d)]=_0x5f3368['operationType'],_0x571c2f['functionNode']=_0x5f3368['functionNode'];}_0x7e57a8[_0x4adc94(0x153)][_0x5f3368[_0x4adc94(0x17c)]]=_0x571c2f;}const LOCK_SETTLE_RETRY_COUNT=0x14,LOCK_SETTLE_DELAY_MS=0x64;async function waitForUploadedLockEntries(_0x1fc36e,_0x3bf2cb,_0x15221b){const _0x23254c=a32_0x939e48;if(_0x15221b['length']===0x0)return;for(let _0x428efc=0x0;_0x428efc<LOCK_SETTLE_RETRY_COUNT;_0x428efc+=0x1){const _0x3def5b=await readBffLockFile(_0x1fc36e),_0x23215e=_0x3def5b?.[_0x23254c(0x165)]?.[_0x3bf2cb]?.['functions']??{},_0x2f9f30=_0x15221b[_0x23254c(0x159)](_0x4500ac=>!!_0x23215e[_0x4500ac]?.[_0x23254c(0x185)]);if(_0x2f9f30)return;await sleep(LOCK_SETTLE_DELAY_MS);}throw new Error('Lock\x20file\x20not\x20settled\x20after\x20push\x20for\x20'+_0x15221b[_0x23254c(0x15f)](',\x20')+'.');}
1
+ const a32_0x43e65f=a32_0x43da;(function(_0xe75e53,_0x595981){const _0x1e25b9=a32_0x43da,_0x59026b=_0xe75e53();while(!![]){try{const _0x504386=-parseInt(_0x1e25b9(0x15c))/0x1*(-parseInt(_0x1e25b9(0x15d))/0x2)+parseInt(_0x1e25b9(0x162))/0x3*(parseInt(_0x1e25b9(0x19e))/0x4)+-parseInt(_0x1e25b9(0x197))/0x5+parseInt(_0x1e25b9(0x183))/0x6*(parseInt(_0x1e25b9(0x166))/0x7)+parseInt(_0x1e25b9(0x15a))/0x8+parseInt(_0x1e25b9(0x191))/0x9+parseInt(_0x1e25b9(0x193))/0xa*(-parseInt(_0x1e25b9(0x160))/0xb);if(_0x504386===_0x595981)break;else _0x59026b['push'](_0x59026b['shift']());}catch(_0x2b90a8){_0x59026b['push'](_0x59026b['shift']());}}}(a32_0x9a5f,0xc78c7));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';function a32_0x9a5f(){const _0xb1400e=['No\x20local\x20BFF\x20functions\x20found.','stringify','bool','create','script','lockKey','remoteId','every','code','6hTDLhd','filter','COMMON','str','Would\x20inspect\x20','functions','update','Push\x20only\x20this\x20script\x20type','filePath','high-risk-write','get','push','message','force','8486757rCKDlI','has','930vnKHDF','values','HOOK','datasetCode','5086055Hfxwky','validation','scriptsRoot','ENDPOINT','length','\x20skipped,\x20','version','574748UMtVCf','operationType','aliasToDatasetCode','POST','name','appCode','\x22\x20not\x20found\x20after\x20ensureLockScope.','lockFilePath','hash','Cannot\x20resolve\x20dataset\x20for\x20\x22','runtime\x20cache\x20cleared','description','apps','\x20uploaded,\x20','\x22.\x20','11535536UzFJpO','Push\x20only\x20the\x20named\x20function\x20(requires\x20--type)','18877YUovqt','94qgksBK','Local\x20function\x20not\x20found:\x20','Lock\x20file\x20not\x20settled\x20after\x20push\x20for\x20','336083cMumQb','unchanged','3biKSwt','some','functionNode','/api/management/library/scripts/save','8821190vsXheG','\x20api\x20pull`\x20to\x20refresh\x20api.ts,\x20or\x20verify\x20the\x20dataset\x20exists.','runtime\x20cache\x20clear\x20failed','runtime\x20cache\x20not\x20needed','Force\x20push\x20ignoring\x20hash\x20protection','Lock\x20scope\x20for\x20app\x20\x22','alias','boolean','string','type','map','utf8',':\x20missing\x20remote\x20version.\x20Run\x20`push`\x20after\x20`pull`\x20to\x20sync\x20version\x20info.','would_push','attempted','Incomplete\x20HOOK\x20path:\x20','toISOString','Push\x20complete:\x20','\x20failed,\x20','cleared'];a32_0x9a5f=function(){return _0xb1400e;};return a32_0x9a5f();}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':'bff','command':a32_0x43e65f(0x18e),'description':'Push\x20local\x20BFF\x20scripts\x20to\x20remote','risk':a32_0x43e65f(0x18c),'flags':[{'name':a32_0x43e65f(0x16f),'type':'string','description':a32_0x43e65f(0x18a),'enum':[a32_0x43e65f(0x185),a32_0x43e65f(0x19a),'HOOK']},{'name':a32_0x43e65f(0x1a2),'type':a32_0x43e65f(0x16e),'description':a32_0x43e65f(0x15b)},{'name':a32_0x43e65f(0x190),'type':a32_0x43e65f(0x16d),'description':a32_0x43e65f(0x16a)}],async 'dryRun'(_0xa90bdf){const _0xaede8f=a32_0x43e65f,_0x3f303c=loadBffProjectConfig(_0xa90bdf[_0xaede8f(0x1a3)]),_0x36425a=await readBffLockFile(_0x3f303c[_0xaede8f(0x1a5)]),{appLock:_0x299853}=ensureLockScope(_0x36425a??createEmptyBffLock(),_0xa90bdf[_0xaede8f(0x1a3)],_0x3f303c[_0xaede8f(0x199)],_0xaede8f(0x18e)),_0x18e9f9=await getTargetFunctions(_0x3f303c,_0xa90bdf),_0x43210f=_0xa90bdf['bool'](_0xaede8f(0x190)),_0x48b957=[];for(const _0x531cd6 of _0x18e9f9){const _0x49b12b=await computeFileHash(_0x531cd6[_0xaede8f(0x18b)]),_0x3b51eb=_0x299853['functions'][_0x531cd6[_0xaede8f(0x17f)]],_0x7ccb5b=!!_0x3b51eb&&_0x3b51eb['hash']===_0x49b12b;_0x48b957['push']({'lockKey':_0x531cd6[_0xaede8f(0x17f)],'filePath':_0x531cd6[_0xaede8f(0x18b)],'remoteId':_0x3b51eb?.['remoteId']??null,'mode':_0x3b51eb?.[_0xaede8f(0x180)]?_0xaede8f(0x189):_0xaede8f(0x17d),'status':!_0x43210f&&_0x7ccb5b?_0xaede8f(0x161):'would_push'});}return{'method':_0xaede8f(0x1a1),'url':_0xaede8f(0x165),'body':{'appCode':_0xa90bdf['appCode'],'force':_0x43210f,'files':_0x48b957,'cacheClearAtRuntime':_0x48b957[_0xaede8f(0x163)](_0x362c22=>_0x362c22['status']===_0xaede8f(0x173)),'cacheClearAtRuntimeTimes':_0x48b957[_0xaede8f(0x163)](_0x339d5d=>_0x339d5d['status']===_0xaede8f(0x173))?CACHE_CLEAR_ATTEMPTS:0x0},'description':_0xaede8f(0x187)+_0x48b957['length']+'\x20local\x20BFF\x20script(s)\x20for\x20push\x20and\x20clear\x20runtime\x20cache\x20if\x20files\x20are\x20uploaded'};},async 'execute'(_0xd08245){const _0xef6bba=a32_0x43e65f,_0x226ba1=loadBffProjectConfig(_0xd08245[_0xef6bba(0x1a3)]),_0x1699d0=await readBffLockFile(_0x226ba1[_0xef6bba(0x1a5)]),{lockData:_0x440cf2,appLock:_0x39e72e}=ensureLockScope(_0x1699d0??createEmptyBffLock(),_0xd08245['appCode'],_0x226ba1['scriptsRoot'],'push'),_0x120939=await getTargetFunctions(_0x226ba1,_0xd08245);if(_0x120939[_0xef6bba(0x19b)]===0x0)return{'ok':!![],'data':{'uploaded':[],'skipped':[],'failed':[]},'message':_0xef6bba(0x17a)};const _0xbefca0=_0xd08245[_0xef6bba(0x17c)](_0xef6bba(0x190)),_0x2d901f=JSON['parse'](JSON[_0xef6bba(0x17b)](_0x440cf2)),_0x2c73d8=_0x2d901f[_0xef6bba(0x157)][_0xd08245['appCode']];if(!_0x2c73d8)throw new Error(_0xef6bba(0x16b)+_0xd08245[_0xef6bba(0x1a3)]+_0xef6bba(0x1a4));const _0x2bffbb=await buildHookMaps(_0xd08245[_0xef6bba(0x1a3)],_0xd08245['apiDir'],_0x120939,_0x2c73d8),_0x426a98=[],_0x1a2fff=[],_0x47949a=[];for(const _0x4388bd of _0x120939){const _0x572415=await computeFileHash(_0x4388bd[_0xef6bba(0x18b)]),_0x270ef0=_0x2c73d8['functions'][_0x4388bd[_0xef6bba(0x17f)]];if(!_0xbefca0&&_0x270ef0&&_0x270ef0[_0xef6bba(0x1a6)]===_0x572415){_0x1a2fff[_0xef6bba(0x18e)]({'lockKey':_0x4388bd[_0xef6bba(0x17f)],'reason':'unchanged'});continue;}try{await uploadSingleFunction(_0xd08245[_0xef6bba(0x1a3)],_0x4388bd,_0x2c73d8,_0x2bffbb);const _0x4fbf89=_0x2c73d8[_0xef6bba(0x188)][_0x4388bd['lockKey']];_0x426a98[_0xef6bba(0x18e)]({'lockKey':_0x4388bd[_0xef6bba(0x17f)],'remoteId':_0x4fbf89?.['remoteId']??0x0});}catch(_0x164400){_0x47949a[_0xef6bba(0x18e)]({'lockKey':_0x4388bd[_0xef6bba(0x17f)],'error':_0x164400 instanceof Error?_0x164400['message']:String(_0x164400)});}}_0x2c73d8['lastSync']=new Date()[_0xef6bba(0x176)](),await writeBffLockFile(_0x226ba1[_0xef6bba(0x1a5)],_0x2d901f),await waitForUploadedLockEntries(_0x226ba1['lockFilePath'],_0xd08245['appCode'],_0x426a98[_0xef6bba(0x170)](_0x2032fe=>_0x2032fe[_0xef6bba(0x17f)]));let _0x395d6d={'attempted':![],'cleared':![]};if(_0x426a98[_0xef6bba(0x19b)]>0x0)try{let _0xb70ed='';for(let _0x2ecb8a=0x0;_0x2ecb8a<CACHE_CLEAR_ATTEMPTS;_0x2ecb8a+=0x1){_0xb70ed=await clearBffScriptCache(),_0x2ecb8a<CACHE_CLEAR_ATTEMPTS-0x1&&await sleep(CACHE_CLEAR_INTERVAL_MS);}_0x395d6d={'attempted':!![],'cleared':!![],'message':_0xb70ed||'Runtime\x20script\x20cache\x20cleared.'};}catch(_0x24be1c){_0x395d6d={'attempted':!![],'cleared':![],'error':_0x24be1c instanceof Error?_0x24be1c[_0xef6bba(0x18f)]:String(_0x24be1c)};}const _0x491299=_0x47949a[_0xef6bba(0x19b)]===0x0&&(_0x395d6d[_0xef6bba(0x174)]?_0x395d6d['cleared']:!![]),_0x169041=_0x395d6d[_0xef6bba(0x174)]?_0x395d6d[_0xef6bba(0x179)]?_0xef6bba(0x1a8):_0xef6bba(0x168):_0xef6bba(0x169);return{'ok':_0x491299,'data':{'uploaded':_0x426a98,'skipped':_0x1a2fff,'failed':_0x47949a,'cacheClear':_0x395d6d},'message':_0xef6bba(0x177)+_0x426a98[_0xef6bba(0x19b)]+_0xef6bba(0x158)+_0x1a2fff[_0xef6bba(0x19b)]+_0xef6bba(0x19c)+_0x47949a[_0xef6bba(0x19b)]+_0xef6bba(0x178)+_0x169041};}};async function getTargetFunctions(_0x55884a,_0x2269f6){const _0xdd1c7d=a32_0x43e65f,_0x49dc7e=_0x2269f6[_0xdd1c7d(0x186)](_0xdd1c7d(0x16f)),_0x4bac93=_0x2269f6['str']('name'),_0x2bf684=normalizeBffType(_0x49dc7e)??undefined;if(_0x4bac93&&!_0x2bf684)throw CliErrors[_0xdd1c7d(0x198)]('--name\x20requires\x20--type\x20to\x20identify\x20the\x20function.');const _0xbabf3d=await scanLocalBffFunctions(_0x55884a,_0x2bf684);if(_0x4bac93){const _0x4d1252=_0xbabf3d[_0xdd1c7d(0x184)](_0x2b2fa9=>_0x2b2fa9[_0xdd1c7d(0x1a2)]===_0x4bac93);if(_0x4d1252[_0xdd1c7d(0x19b)]===0x0)throw CliErrors[_0xdd1c7d(0x198)](_0xdd1c7d(0x15e)+_0x2bf684+'/'+_0x4bac93);return _0x4d1252;}return _0xbabf3d;}async function buildHookMaps(_0x9e43d8,_0x588a86,_0x5a0507,_0x563593){const _0x4748f3=a32_0x43e65f,_0x2d5dd6=_0x5a0507['some'](_0x28ea9e=>_0x28ea9e[_0x4748f3(0x16f)]===_0x4748f3(0x195));if(!_0x2d5dd6)return{'aliasToDatasetCode':new Map(),'datasetCodeToDataset':new Map()};const _0x2baa62=loadAliasMap(_0x588a86,undefined,resolveApiFilePath(_0x588a86,_0x9e43d8)),_0xfe2147=new Map(_0x2baa62[_0x4748f3(0x170)](_0x154971=>[_0x154971[_0x4748f3(0x16c)],_0x154971['datasetCode']]));for(const _0x5f53cf of Object[_0x4748f3(0x194)](_0x563593[_0x4748f3(0x188)])){_0x5f53cf['alias']&&_0x5f53cf['datasetCode']&&!_0xfe2147['has'](_0x5f53cf['alias'])&&_0xfe2147['set'](_0x5f53cf[_0x4748f3(0x16c)],_0x5f53cf[_0x4748f3(0x196)]);}const _0x3b83cb=await listDatasets(_0x9e43d8),_0xf2a61b=new Map(_0x3b83cb[_0x4748f3(0x170)](_0x58e330=>[_0x58e330[_0x4748f3(0x182)],_0x58e330]));return{'aliasToDatasetCode':_0xfe2147,'datasetCodeToDataset':_0xf2a61b};}async function uploadSingleFunction(_0x3de303,_0x5e933b,_0x35a786,_0x1298fd){const _0x24d64c=a32_0x43e65f,_0x31db56=await readFile(_0x5e933b[_0x24d64c(0x18b)],_0x24d64c(0x171)),_0x48373e=await computeFileHash(_0x5e933b[_0x24d64c(0x18b)]),_0x2c80ea=_0x35a786[_0x24d64c(0x188)][_0x5e933b[_0x24d64c(0x17f)]];if(_0x2c80ea?.[_0x24d64c(0x180)]&&_0x2c80ea[_0x24d64c(0x19d)]==null)throw CliErrors[_0x24d64c(0x198)](_0x5e933b[_0x24d64c(0x17f)]+_0x24d64c(0x172));let _0x49b889=extractScriptDescription(_0x31db56);if(!_0x49b889&&_0x2c80ea?.['remoteId']){const _0xa6e062=await getBffScriptInfo(_0x2c80ea[_0x24d64c(0x180)]);_0x49b889=_0xa6e062[_0x24d64c(0x156)]||undefined;}const _0x4e9275={'appCode':_0x3de303,'functionName':_0x5e933b[_0x24d64c(0x1a2)],'scriptType':_0x5e933b[_0x24d64c(0x16f)],'scriptContent':_0x31db56};if(_0x2c80ea?.[_0x24d64c(0x180)])_0x4e9275['id']=_0x2c80ea['remoteId'];if(_0x2c80ea?.[_0x24d64c(0x19d)]!=null)_0x4e9275[_0x24d64c(0x19d)]=_0x2c80ea[_0x24d64c(0x19d)];if(_0x49b889)_0x4e9275[_0x24d64c(0x156)]=_0x49b889;if(_0x5e933b[_0x24d64c(0x16f)]===_0x24d64c(0x195)){const _0x4cc8e5=_0x5e933b[_0x24d64c(0x16c)];if(!_0x4cc8e5||!_0x5e933b[_0x24d64c(0x19f)]||!_0x5e933b[_0x24d64c(0x164)])throw CliErrors[_0x24d64c(0x198)](_0x24d64c(0x175)+_0x5e933b[_0x24d64c(0x17f)]);const _0x3a93ec=_0x1298fd[_0x24d64c(0x1a0)]['get'](_0x4cc8e5)??_0x2c80ea?.[_0x24d64c(0x196)]??_0x4cc8e5,_0x42d7bd=_0x1298fd['datasetCodeToDataset'][_0x24d64c(0x18d)](_0x3a93ec);if(!_0x42d7bd)throw CliErrors[_0x24d64c(0x198)](_0x24d64c(0x1a7)+_0x4cc8e5+_0x24d64c(0x159)+('Run\x20`'+CLI_BIN_NAME+_0x24d64c(0x167)));_0x4e9275['datasetId']=_0x42d7bd['id'],_0x4e9275[_0x24d64c(0x19f)]=_0x5e933b[_0x24d64c(0x19f)],_0x4e9275[_0x24d64c(0x164)]=_0x5e933b[_0x24d64c(0x164)];}const _0x13fd85=await saveBffScript(_0x4e9275),_0x5ce77e=_0x13fd85['id'],_0x3f0604=_0x13fd85[_0x24d64c(0x17e)]??await getBffScriptInfo(_0x5ce77e),_0x5026f2={'hash':_0x48373e,'remoteId':_0x5ce77e,'version':_0x3f0604[_0x24d64c(0x19d)]};if(_0x5e933b[_0x24d64c(0x16f)]==='HOOK'){const _0x5e3858=_0x5e933b[_0x24d64c(0x16c)],_0x5a3696=_0x1298fd[_0x24d64c(0x1a0)][_0x24d64c(0x18d)](_0x5e3858)??_0x2c80ea?.[_0x24d64c(0x196)]??_0x5e3858;_0x1298fd[_0x24d64c(0x1a0)][_0x24d64c(0x192)](_0x5e3858)?_0x5026f2['alias']=_0x5e3858:_0x5026f2['alias']=_0x2c80ea?.[_0x24d64c(0x16c)],_0x5026f2['datasetCode']=_0x5a3696,_0x5026f2[_0x24d64c(0x19f)]=_0x5e933b[_0x24d64c(0x19f)],_0x5026f2['functionNode']=_0x5e933b[_0x24d64c(0x164)];}_0x35a786[_0x24d64c(0x188)][_0x5e933b['lockKey']]=_0x5026f2;}function a32_0x43da(_0x266597,_0xf13b75){_0x266597=_0x266597-0x156;const _0x9a5f60=a32_0x9a5f();let _0x43daa5=_0x9a5f60[_0x266597];return _0x43daa5;}const LOCK_SETTLE_RETRY_COUNT=0x14,LOCK_SETTLE_DELAY_MS=0x64;async function waitForUploadedLockEntries(_0x1a9b83,_0x5dd853,_0x53a014){const _0xf019ce=a32_0x43e65f;if(_0x53a014[_0xf019ce(0x19b)]===0x0)return;for(let _0x57bedb=0x0;_0x57bedb<LOCK_SETTLE_RETRY_COUNT;_0x57bedb+=0x1){const _0x59bd2f=await readBffLockFile(_0x1a9b83),_0x2772d1=_0x59bd2f?.[_0xf019ce(0x157)]?.[_0x5dd853]?.[_0xf019ce(0x188)]??{},_0x1ff437=_0x53a014[_0xf019ce(0x181)](_0x2abfed=>!!_0x2772d1[_0x2abfed]?.[_0xf019ce(0x180)]);if(_0x1ff437)return;await sleep(LOCK_SETTLE_DELAY_MS);}throw new Error(_0xf019ce(0x15f)+_0x53a014['join'](',\x20')+'.');}