@lovrabet/rabetbase-cli 2.1.10-beta.4 → 2.1.12-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (198) hide show
  1. package/lib/api/api-doc.js +1 -1
  2. package/lib/api/fetch-model-list.js +1 -1
  3. package/lib/api/generate-api-file.js +1 -1
  4. package/lib/auth/auth-server-ui.js +1 -1
  5. package/lib/auth/auth-server.js +1 -1
  6. package/lib/auth/constant.js +1 -1
  7. package/lib/auth/get-cookie.js +1 -1
  8. package/lib/auth/get-session-user.js +1 -1
  9. package/lib/auth/is-session-valid.js +1 -1
  10. package/lib/auth/login-success-html.js +1 -1
  11. package/lib/auth/logout.js +1 -1
  12. package/lib/cli-flags.js +1 -1
  13. package/lib/cli.js +1 -1
  14. package/lib/commands/api/generate.js +1 -1
  15. package/lib/commands/api/index.js +1 -1
  16. package/lib/commands/api/list.js +1 -1
  17. package/lib/commands/api/pull.js +1 -1
  18. package/lib/commands/api/shared.js +1 -1
  19. package/lib/commands/app/add.js +1 -1
  20. package/lib/commands/app/discover.js +1 -1
  21. package/lib/commands/app/index.js +1 -1
  22. package/lib/commands/app/list.js +1 -1
  23. package/lib/commands/app/remove.js +1 -1
  24. package/lib/commands/app/shared.js +1 -1
  25. package/lib/commands/app/use.js +1 -1
  26. package/lib/commands/auth/index.js +1 -1
  27. package/lib/commands/bff/create.js +1 -1
  28. package/lib/commands/bff/delete.js +1 -1
  29. package/lib/commands/bff/detail.js +1 -1
  30. package/lib/commands/bff/index.js +1 -1
  31. package/lib/commands/bff/list.js +1 -1
  32. package/lib/commands/bff/pull.js +1 -1
  33. package/lib/commands/bff/push.js +1 -1
  34. package/lib/commands/bff/status.js +1 -1
  35. package/lib/commands/cli-update.js +1 -1
  36. package/lib/commands/codegen/index.js +1 -1
  37. package/lib/commands/codegen/sdk.js +1 -1
  38. package/lib/commands/codegen/sql.js +1 -1
  39. package/lib/commands/common/app-selector.js +1 -1
  40. package/lib/commands/common/flags.js +1 -1
  41. package/lib/commands/common/validate.js +1 -1
  42. package/lib/commands/config/get.js +1 -1
  43. package/lib/commands/config/index.js +1 -1
  44. package/lib/commands/config/list.js +1 -1
  45. package/lib/commands/config/set.js +1 -1
  46. package/lib/commands/config/shared.js +1 -1
  47. package/lib/commands/data/filter.js +1 -1
  48. package/lib/commands/data/getOne.js +1 -1
  49. package/lib/commands/data/index.js +1 -1
  50. package/lib/commands/data/shared.js +1 -1
  51. package/lib/commands/dataset/capability.js +1 -1
  52. package/lib/commands/dataset/delete.js +1 -1
  53. package/lib/commands/dataset/detail.js +1 -1
  54. package/lib/commands/dataset/field-update.js +1 -1
  55. package/lib/commands/dataset/index.js +1 -1
  56. package/lib/commands/dataset/link-create.js +1 -1
  57. package/lib/commands/dataset/link-delete.js +1 -1
  58. package/lib/commands/dataset/link-shared.js +1 -1
  59. package/lib/commands/dataset/link-update.js +1 -1
  60. package/lib/commands/dataset/links.js +1 -1
  61. package/lib/commands/dataset/list.js +1 -1
  62. package/lib/commands/dataset/operations.js +1 -1
  63. package/lib/commands/db/analyze-cancel.js +1 -1
  64. package/lib/commands/db/analyze-start.js +1 -1
  65. package/lib/commands/db/analyze-status.js +1 -1
  66. package/lib/commands/db/create.js +1 -1
  67. package/lib/commands/db/delete.js +1 -1
  68. package/lib/commands/db/detail.js +1 -1
  69. package/lib/commands/db/diff.js +1 -1
  70. package/lib/commands/db/index.js +1 -1
  71. package/lib/commands/db/list.js +1 -1
  72. package/lib/commands/db/shared.js +1 -1
  73. package/lib/commands/db/tables.js +1 -1
  74. package/lib/commands/db/test.js +1 -1
  75. package/lib/commands/db/update.js +1 -1
  76. package/lib/commands/doctor.js +1 -1
  77. package/lib/commands/init/index.js +1 -1
  78. package/lib/commands/issue/index.js +1 -1
  79. package/lib/commands/issue/report.js +1 -1
  80. package/lib/commands/logs/index.js +1 -1
  81. package/lib/commands/menu/index.js +1 -1
  82. package/lib/commands/menu/shared/compare-table.js +1 -1
  83. package/lib/commands/menu/shared/index.js +1 -1
  84. package/lib/commands/menu/shared/inquirer.js +1 -1
  85. package/lib/commands/menu/shared/local-pages.js +1 -1
  86. package/lib/commands/menu/shared/logic.js +1 -1
  87. package/lib/commands/menu/shared/service.js +1 -1
  88. package/lib/commands/menu/shared/sync-core.js +1 -1
  89. package/lib/commands/menu/shared/update-core.js +1 -1
  90. package/lib/commands/menu/shared/valid-url.js +1 -1
  91. package/lib/commands/menu/sync.js +1 -1
  92. package/lib/commands/menu/update.js +1 -1
  93. package/lib/commands/page/generate-start.js +1 -1
  94. package/lib/commands/page/generate-status.js +1 -1
  95. package/lib/commands/page/index.js +1 -1
  96. package/lib/commands/page/pull.js +1 -1
  97. package/lib/commands/page/push.js +1 -1
  98. package/lib/commands/page/shared.js +1 -1
  99. package/lib/commands/page/standard-page-status.js +1 -1
  100. package/lib/commands/page/sync.js +1 -1
  101. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  102. package/lib/commands/project/create/format-elapsed.js +1 -1
  103. package/lib/commands/project/create/main.js +1 -1
  104. package/lib/commands/project/create/non-interactive.js +1 -1
  105. package/lib/commands/project/create/project-template-path.js +1 -1
  106. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  107. package/lib/commands/project/create/use-format-code.js +1 -1
  108. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  109. package/lib/commands/project/index.js +1 -1
  110. package/lib/commands/project/init.js +1 -1
  111. package/lib/commands/project/upgrade.js +1 -1
  112. package/lib/commands/registry.js +1 -1
  113. package/lib/commands/run/index.js +1 -1
  114. package/lib/commands/schema.js +1 -1
  115. package/lib/commands/skill/index.js +1 -1
  116. package/lib/commands/sql/create.js +1 -1
  117. package/lib/commands/sql/delete.js +1 -1
  118. package/lib/commands/sql/detail.js +1 -1
  119. package/lib/commands/sql/exec.js +1 -1
  120. package/lib/commands/sql/index.js +1 -1
  121. package/lib/commands/sql/list.js +1 -1
  122. package/lib/commands/sql/pull.js +1 -1
  123. package/lib/commands/sql/push.js +1 -1
  124. package/lib/commands/sql/save.js +1 -1
  125. package/lib/commands/sql/shared.js +1 -1
  126. package/lib/commands/sql/status.js +1 -1
  127. package/lib/commands/sql/validate.js +1 -1
  128. package/lib/config/schema.js +1 -1
  129. package/lib/constant/cdn.js +1 -1
  130. package/lib/constant/cli.js +1 -1
  131. package/lib/constant/defaults.js +1 -1
  132. package/lib/constant/domain.js +1 -1
  133. package/lib/constant/env.js +1 -1
  134. package/lib/constant/output.js +1 -1
  135. package/lib/constant/paths.js +1 -1
  136. package/lib/constant/risk.js +1 -1
  137. package/lib/context.js +1 -1
  138. package/lib/core/alias-resolver.js +1 -1
  139. package/lib/core/api-client.js +1 -1
  140. package/lib/core/bff/config.js +1 -1
  141. package/lib/core/bff/file-system.js +1 -1
  142. package/lib/core/bff/hash.js +1 -1
  143. package/lib/core/bff/lock.js +1 -1
  144. package/lib/core/bff/utils.js +1 -1
  145. package/lib/core/db-resolver.js +1 -1
  146. package/lib/core/page/file-system.js +1 -1
  147. package/lib/core/page/hash.js +1 -1
  148. package/lib/core/page/lock.js +1 -1
  149. package/lib/core/sql-sync/config.js +1 -1
  150. package/lib/core/sql-sync/file-system.js +1 -1
  151. package/lib/core/sql-sync/hash.js +1 -1
  152. package/lib/core/sql-sync/lock.js +1 -1
  153. package/lib/core/sql-sync/utils.js +1 -1
  154. package/lib/core/sql-validator.js +1 -1
  155. package/lib/errors.js +1 -1
  156. package/lib/framework/build-all-flags.js +1 -1
  157. package/lib/framework/flags.js +1 -1
  158. package/lib/framework/help.js +1 -1
  159. package/lib/framework/index.js +1 -1
  160. package/lib/framework/output.js +1 -1
  161. package/lib/framework/response.js +1 -1
  162. package/lib/framework/runner-alias.js +1 -1
  163. package/lib/framework/runner.js +1 -1
  164. package/lib/framework/schema-export.js +1 -1
  165. package/lib/framework/types.js +1 -1
  166. package/lib/generated/build-info.js +1 -1
  167. package/lib/help.js +1 -1
  168. package/lib/skills/main.js +1 -1
  169. package/lib/skills/npx-skills-add.js +1 -1
  170. package/lib/telemetry/cli-command-trace.js +1 -1
  171. package/lib/telemetry/cli-help-trace.js +1 -1
  172. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  173. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  174. package/lib/telemetry/send-cli-trace-log.js +1 -1
  175. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  176. package/lib/utils/ai_config.js +1 -1
  177. package/lib/utils/apply-jq-filter.js +1 -1
  178. package/lib/utils/cdn-config.js +1 -1
  179. package/lib/utils/check-sdk-version.js +1 -1
  180. package/lib/utils/cli-version-check.js +1 -1
  181. package/lib/utils/cli-version-policy.js +1 -1
  182. package/lib/utils/config.js +1 -1
  183. package/lib/utils/copy-directory.js +1 -1
  184. package/lib/utils/entity-with-id.js +1 -1
  185. package/lib/utils/file-utils.js +1 -1
  186. package/lib/utils/guides-cdn.js +1 -1
  187. package/lib/utils/http-client.js +1 -1
  188. package/lib/utils/is-non-interactive.js +1 -1
  189. package/lib/utils/logger.js +1 -1
  190. package/lib/utils/params.js +1 -1
  191. package/lib/utils/platform.js +1 -1
  192. package/lib/utils/rules-cdn.js +1 -1
  193. package/lib/utils/sleep.js +1 -1
  194. package/lib/utils/template-replacer.js +1 -1
  195. package/lib/utils/version.js +1 -1
  196. package/lib/utils/with-active-cookie.js +1 -1
  197. package/lib/utils/write-cli-side-channel.js +1 -1
  198. package/package.json +2 -2
@@ -1 +1 @@
1
- const a19_0x184157=a19_0x2de9;(function(_0x47f30d,_0x324834){const _0x2d1a07=a19_0x2de9,_0x4387a7=_0x47f30d();while(!![]){try{const _0x3132fa=-parseInt(_0x2d1a07(0x158))/0x1*(-parseInt(_0x2d1a07(0x15f))/0x2)+parseInt(_0x2d1a07(0x161))/0x3+parseInt(_0x2d1a07(0x15d))/0x4*(-parseInt(_0x2d1a07(0x15b))/0x5)+-parseInt(_0x2d1a07(0x156))/0x6*(-parseInt(_0x2d1a07(0x153))/0x7)+-parseInt(_0x2d1a07(0x150))/0x8+-parseInt(_0x2d1a07(0x152))/0x9*(-parseInt(_0x2d1a07(0x159))/0xa)+-parseInt(_0x2d1a07(0x15e))/0xb;if(_0x3132fa===_0x324834)break;else _0x4387a7['push'](_0x4387a7['shift']());}catch(_0x3ee486){_0x4387a7['push'](_0x4387a7['shift']());}}}(a19_0xecb6,0x99804));function a19_0x2de9(_0x563df8,_0x5ce9c6){_0x563df8=_0x563df8-0x150;const _0xecb60f=a19_0xecb6();let _0x2de989=_0xecb60f[_0x563df8];return _0x2de989;}import{listRemoteApps}from'../../core/api-client.js';function a19_0xecb6(){const _0x3b0f4c=['32WFQmHh','983378IFlnjt','21116EnGFmR','cookie','2178870MdTiUn','read','9757176KUgmZb','app','2724057sAKQJC','1918154wjKEXH','List\x20apps\x20available\x20on\x20the\x20platform\x20for\x20the\x20current\x20login','remote','12dRGsJE','platform','8WDmJNH','30bpAJVn','../../core/api-client.js','205645pWBxLb','map'];a19_0xecb6=function(){return _0x3b0f4c;};return a19_0xecb6();}async function execute(_0x472dc2){const _0x388ebf=a19_0x2de9,{setActiveCookie:_0xd62454}=await import(_0x388ebf(0x15a));_0xd62454(_0x472dc2[_0x388ebf(0x160)]);const _0x39d895=await listRemoteApps();return{'ok':!![],'data':{'items':_0x39d895[_0x388ebf(0x15c)](_0x273a16=>({..._0x273a16['id']!=null?{'id':_0x273a16['id']}:{},'appCode':_0x273a16['appCode'],'appName':_0x273a16['appName'],..._0x273a16['appDesc']!=null?{'appDesc':_0x273a16['appDesc']}:{}})),'meta':{'source':_0x388ebf(0x157)}}};}export const appRemoteDefinition={'service':a19_0x184157(0x151),'command':a19_0x184157(0x155),'description':a19_0x184157(0x154),'risk':a19_0x184157(0x162),'requiresAuth':!![],'requiresAppCode':![],'flags':[],'execute':execute};
1
+ function a19_0x101f(){const _0x2705a4=['5118988zLyexh','remote','2022742uppkTh','1szZUbs','139260ayLQVC','110TEguXA','522EiNKrD','platform','10797270uIAGSR','app','appDesc','23724lzdTHK','cookie','3800520WduOxW','../../core/api-client.js','read','appCode','map','504xNClyb','112038aSuKbl'];a19_0x101f=function(){return _0x2705a4;};return a19_0x101f();}function a19_0x43b3(_0x454fba,_0x39e7de){_0x454fba=_0x454fba-0x1d1;const _0x101f0b=a19_0x101f();let _0x43b33a=_0x101f0b[_0x454fba];return _0x43b33a;}const a19_0x28933e=a19_0x43b3;(function(_0x10c887,_0xf27109){const _0x4d9c32=a19_0x43b3,_0x2f1fe2=_0x10c887();while(!![]){try{const _0x5b460b=parseInt(_0x4d9c32(0x1dd))/0x1*(parseInt(_0x4d9c32(0x1dc))/0x2)+-parseInt(_0x4d9c32(0x1d1))/0x3*(-parseInt(_0x4d9c32(0x1d8))/0x4)+-parseInt(_0x4d9c32(0x1df))/0x5*(parseInt(_0x4d9c32(0x1d9))/0x6)+-parseInt(_0x4d9c32(0x1da))/0x7+-parseInt(_0x4d9c32(0x1d3))/0x8+parseInt(_0x4d9c32(0x1e0))/0x9*(-parseInt(_0x4d9c32(0x1de))/0xa)+parseInt(_0x4d9c32(0x1e2))/0xb;if(_0x5b460b===_0xf27109)break;else _0x2f1fe2['push'](_0x2f1fe2['shift']());}catch(_0x42a605){_0x2f1fe2['push'](_0x2f1fe2['shift']());}}}(a19_0x101f,0x89d06));import{listRemoteApps}from'../../core/api-client.js';async function execute(_0x32ee02){const _0xd36e=a19_0x43b3,{setActiveCookie:_0x33205e}=await import(_0xd36e(0x1d4));_0x33205e(_0x32ee02[_0xd36e(0x1d2)]);const _0x276bc2=await listRemoteApps();return{'ok':!![],'data':{'items':_0x276bc2[_0xd36e(0x1d7)](_0x5941e6=>({..._0x5941e6['id']!=null?{'id':_0x5941e6['id']}:{},'appCode':_0x5941e6[_0xd36e(0x1d6)],'appName':_0x5941e6['appName'],..._0x5941e6[_0xd36e(0x1e4)]!=null?{'appDesc':_0x5941e6[_0xd36e(0x1e4)]}:{}})),'meta':{'source':_0xd36e(0x1e1)}}};}export const appRemoteDefinition={'service':a19_0x28933e(0x1e3),'command':a19_0x28933e(0x1db),'description':'List\x20apps\x20available\x20on\x20the\x20platform\x20for\x20the\x20current\x20login','risk':a19_0x28933e(0x1d5),'requiresAuth':!![],'requiresAppCode':![],'flags':[],'execute':execute};
@@ -1 +1 @@
1
- (function(_0x31fc0b,_0x4e3224){const _0x2267d9=a20_0x2a70,_0x17bc17=_0x31fc0b();while(!![]){try{const _0x53d08c=parseInt(_0x2267d9(0x95))/0x1*(-parseInt(_0x2267d9(0x92))/0x2)+parseInt(_0x2267d9(0x90))/0x3+-parseInt(_0x2267d9(0x91))/0x4+parseInt(_0x2267d9(0x98))/0x5+parseInt(_0x2267d9(0x94))/0x6*(parseInt(_0x2267d9(0x97))/0x7)+parseInt(_0x2267d9(0x93))/0x8+-parseInt(_0x2267d9(0x96))/0x9;if(_0x53d08c===_0x4e3224)break;else _0x17bc17['push'](_0x17bc17['shift']());}catch(_0x14bd34){_0x17bc17['push'](_0x17bc17['shift']());}}}(a20_0x40a1,0xa4ea8));import{appListDefinition}from'../../commands/app/list.js';import{appRemoteDefinition}from'../../commands/app/discover.js';import{appUseDefinition}from'../../commands/app/use.js';function a20_0x2a70(_0x8f1917,_0x2048f0){_0x8f1917=_0x8f1917-0x90;const _0x40a12b=a20_0x40a1();let _0x2a7036=_0x40a12b[_0x8f1917];return _0x2a7036;}function a20_0x40a1(){const _0x18de5d=['12775680UaVKis','7oabKVz','2825395QTNTWe','2367012bGPxIm','2496604qDmFlG','284WtXjEP','8822136lTSqDH','4038738Zypmkh','2893AuVBaX'];a20_0x40a1=function(){return _0x18de5d;};return a20_0x40a1();}import{appAddDefinition}from'../../commands/app/add.js';import{appRemoveDefinition}from'../../commands/app/remove.js';export const appDefinitions=[appListDefinition,appRemoteDefinition,appUseDefinition,appAddDefinition,appRemoveDefinition];
1
+ (function(_0x4f3731,_0x187253){const _0x5ccf33=a20_0xfac3,_0x2060d2=_0x4f3731();while(!![]){try{const _0x1137a7=parseInt(_0x5ccf33(0x10a))/0x1*(parseInt(_0x5ccf33(0x109))/0x2)+parseInt(_0x5ccf33(0x10e))/0x3+-parseInt(_0x5ccf33(0x10f))/0x4*(-parseInt(_0x5ccf33(0x10b))/0x5)+parseInt(_0x5ccf33(0x10d))/0x6*(-parseInt(_0x5ccf33(0x112))/0x7)+parseInt(_0x5ccf33(0x10c))/0x8+parseInt(_0x5ccf33(0x111))/0x9*(parseInt(_0x5ccf33(0x108))/0xa)+-parseInt(_0x5ccf33(0x110))/0xb;if(_0x1137a7===_0x187253)break;else _0x2060d2['push'](_0x2060d2['shift']());}catch(_0x409c2e){_0x2060d2['push'](_0x2060d2['shift']());}}}(a20_0x5b4b,0xa40bd));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_0x5b4b(){const _0x461355=['7710392oEkuUI','369294hhoqdr','2755908KuNAyB','36pjPauM','21468161SLspvY','8437509nPzucL','77QtCwZv','10DmnkKC','102yGwBeV','1582dBSbWd','222225tTdxSy'];a20_0x5b4b=function(){return _0x461355;};return a20_0x5b4b();}function a20_0xfac3(_0x4c37fa,_0x16997d){_0x4c37fa=_0x4c37fa-0x108;const _0x5b4b54=a20_0x5b4b();let _0xfac3b1=_0x5b4b54[_0x4c37fa];return _0xfac3b1;}export const appDefinitions=[appListDefinition,appRemoteDefinition,appUseDefinition,appAddDefinition,appRemoveDefinition];
@@ -1 +1 @@
1
- const a21_0xaeae73=a21_0x19f2;(function(_0x3bf2e9,_0x2806dc){const _0x4072c2=a21_0x19f2,_0x2e621b=_0x3bf2e9();while(!![]){try{const _0x5ded16=parseInt(_0x4072c2(0x1e8))/0x1+-parseInt(_0x4072c2(0x202))/0x2+-parseInt(_0x4072c2(0x1f6))/0x3*(parseInt(_0x4072c2(0x1f0))/0x4)+-parseInt(_0x4072c2(0x1f9))/0x5*(parseInt(_0x4072c2(0x206))/0x6)+-parseInt(_0x4072c2(0x208))/0x7*(parseInt(_0x4072c2(0x1f1))/0x8)+-parseInt(_0x4072c2(0x1ed))/0x9+parseInt(_0x4072c2(0x205))/0xa;if(_0x5ded16===_0x2806dc)break;else _0x2e621b['push'](_0x2e621b['shift']());}catch(_0x282c56){_0x2e621b['push'](_0x2e621b['shift']());}}}(a21_0xff57,0x4d773));import{readRawConfigWithLayers}from'../../context.js';import{CLI_BIN_NAME}from'../../constant/cli.js';function a21_0xff57(){const _0x5a0c19=['mergedCli','apps','globalConfig','project','411165jcrTZj','List\x20all\x20configured\x20apps','Show\x20only\x20apps\x20from\x20project\x20.rabetbase.json','2713195wbmZAC','map','merged','length','\x20config','.\x20Use\x20`','boolean','No\x20apps\x20configured','Show\x20only\x20apps\x20from\x20global\x20~/.rabetbase.json','502272giDJOI','bool','global','19410760FdkBwa','6UEpEGI','globalPath','56630fzgwNn','projectConfig','projectPath','object','\x20in\x20','read','entries','324954sBYicE','push','appcode','find','isCurrent','3486204gUQIse','list','inherit','8ndPhag','488xSurzd'];a21_0xff57=function(){return _0x5a0c19;};return a21_0xff57();}import{buildAppProfileListFields}from'../../config/schema.js';import{appDefinedIn,enrichAppListItemsWithMergedSelection,resolveDefaultAppSource}from'../../commands/app/shared.js';function buildItemsFromLayer(_0xf5ab02,_0x330ef3){const _0x19a803=a21_0x19f2,_0x5574f3=[],_0x3c562b=_0xf5ab02['apps']&&typeof _0xf5ab02['apps']===_0x19a803(0x20b)?_0xf5ab02[_0x19a803(0x1f3)]:{},_0xc06c03=_0xf5ab02['defaultApp']||undefined;for(const [_0x3bae8b,_0x5e58dd]of Object[_0x19a803(0x1e7)](_0x3c562b)){if(!_0x5e58dd||typeof _0x5e58dd!==_0x19a803(0x20b)||!_0x5e58dd['appcode'])continue;_0x5574f3[_0x19a803(0x1e9)]({'name':_0x3bae8b,'appcode':_0x5e58dd[_0x19a803(0x1ea)],'named':!![],'definedIn':_0x330ef3,'isDefault':_0x3bae8b===_0xc06c03,...buildAppProfileListFields(_0x5e58dd)});}return _0x5574f3;}function buildMergedItems(_0x5c5345,_0x5663ff){const _0x118f6d=a21_0x19f2,{apps:apps={},defaultApp:_0x5174cf}=_0x5c5345,_0x5b0691=_0x5663ff['globalConfig'][_0x118f6d(0x1f3)]&&typeof _0x5663ff[_0x118f6d(0x1f4)][_0x118f6d(0x1f3)]===_0x118f6d(0x20b)?_0x5663ff[_0x118f6d(0x1f4)][_0x118f6d(0x1f3)]:{},_0x2f809f=_0x5663ff[_0x118f6d(0x209)][_0x118f6d(0x1f3)]&&typeof _0x5663ff[_0x118f6d(0x209)][_0x118f6d(0x1f3)]===_0x118f6d(0x20b)?_0x5663ff[_0x118f6d(0x209)][_0x118f6d(0x1f3)]:{},_0x1a6262=_0x5663ff[_0x118f6d(0x209)][_0x118f6d(0x1ef)]===![],_0x70fa6e=Object[_0x118f6d(0x1e7)](apps),_0x283002=_0x70fa6e[_0x118f6d(0x1fa)](([_0x56c12a,_0x14f71f])=>({'name':_0x56c12a,'appcode':_0x14f71f[_0x118f6d(0x1ea)],'named':!![],'definedIn':appDefinedIn(_0x56c12a,_0x5b0691,_0x2f809f,_0x1a6262),'isDefault':_0x56c12a===_0x5174cf,...buildAppProfileListFields(_0x14f71f)}));return _0x283002;}function a21_0x19f2(_0x57fa62,_0x47df72){_0x57fa62=_0x57fa62-0x1e7;const _0xff57bf=a21_0xff57();let _0x19f277=_0xff57bf[_0x57fa62];return _0x19f277;}async function execute(_0x3981e2){const _0x5a8989=a21_0x19f2,_0x57ee18=_0x3981e2[_0x5a8989(0x203)](_0x5a8989(0x204)),_0x2c4698=_0x3981e2[_0x5a8989(0x203)](_0x5a8989(0x1f5)),_0x525dd1=_0x57ee18?_0x5a8989(0x204):_0x2c4698?_0x5a8989(0x1f5):_0x5a8989(0x1fb),{config:_0x100455,layers:_0x12e464}=readRawConfigWithLayers(),_0x1bad5f=resolveDefaultAppSource(_0x12e464),{defaultApp:_0x2105d3}=_0x100455;let _0x239961,_0x2da919;switch(_0x525dd1){case _0x5a8989(0x204):_0x239961=buildItemsFromLayer(_0x12e464['globalConfig'],_0x5a8989(0x204)),_0x2da919=_0x12e464[_0x5a8989(0x207)];break;case'project':_0x239961=buildItemsFromLayer(_0x12e464[_0x5a8989(0x209)],'project'),_0x2da919=_0x12e464[_0x5a8989(0x20a)];break;default:_0x239961=buildMergedItems(_0x100455,_0x12e464);break;}enrichAppListItemsWithMergedSelection(_0x239961,_0x3981e2[_0x5a8989(0x1f2)]);if(_0x239961[_0x5a8989(0x1fc)]===0x0){const _0x46ed3c=_0x525dd1===_0x5a8989(0x1fb)?'':_0x5a8989(0x20c)+_0x525dd1+_0x5a8989(0x1fd);return{'ok':!![],'data':[],'message':_0x5a8989(0x200)+_0x46ed3c+_0x5a8989(0x1fe)+CLI_BIN_NAME+'\x20app\x20add\x20<name>\x20--appcode\x20<code>`\x20to\x20add\x20one.'};}const _0x5c1371=_0x239961[_0x5a8989(0x1eb)](_0x23cb8e=>_0x23cb8e[_0x5a8989(0x1ec)]===!![]),_0x12b025=_0x2105d3??_0x5c1371?.[_0x5a8989(0x1ea)]??null,_0x3d8b34=_0x525dd1==='merged'?{'globalPath':_0x12e464[_0x5a8989(0x207)]??null,'projectPath':_0x12e464[_0x5a8989(0x20a)]??null,'defaultApp':_0x12b025,'defaultAppSource':_0x2105d3!=null?_0x1bad5f:null}:{'scope':_0x525dd1,'configPath':_0x2da919??null};return{'ok':!![],'data':{'items':_0x239961,'meta':_0x3d8b34}};}export const appListDefinition={'service':'app','command':a21_0xaeae73(0x1ee),'description':a21_0xaeae73(0x1f7),'risk':a21_0xaeae73(0x20d),'requiresAuth':![],'requiresAppCode':![],'flags':[{'name':a21_0xaeae73(0x204),'type':a21_0xaeae73(0x1ff),'description':a21_0xaeae73(0x201),'default':![]},{'name':'project','type':a21_0xaeae73(0x1ff),'description':a21_0xaeae73(0x1f8),'default':![]}],'execute':execute};
1
+ const a21_0x3b19e2=a21_0x2805;(function(_0x19b656,_0x237f1c){const _0x3ab80f=a21_0x2805,_0x198163=_0x19b656();while(!![]){try{const _0x55981b=parseInt(_0x3ab80f(0x8c))/0x1*(-parseInt(_0x3ab80f(0x9a))/0x2)+-parseInt(_0x3ab80f(0x94))/0x3+-parseInt(_0x3ab80f(0x9e))/0x4*(parseInt(_0x3ab80f(0x9d))/0x5)+parseInt(_0x3ab80f(0xa1))/0x6*(-parseInt(_0x3ab80f(0xb1))/0x7)+parseInt(_0x3ab80f(0x8f))/0x8*(parseInt(_0x3ab80f(0x8b))/0x9)+-parseInt(_0x3ab80f(0xa2))/0xa*(-parseInt(_0x3ab80f(0x93))/0xb)+parseInt(_0x3ab80f(0x9f))/0xc*(parseInt(_0x3ab80f(0xa6))/0xd);if(_0x55981b===_0x237f1c)break;else _0x198163['push'](_0x198163['shift']());}catch(_0x3d9ed7){_0x198163['push'](_0x198163['shift']());}}}(a21_0x3263,0x8f883));import{readRawConfigWithLayers}from'../../context.js';function a21_0x2805(_0x5dca8e,_0x49c414){_0x5dca8e=_0x5dca8e-0x8a;const _0x32635f=a21_0x3263();let _0x280541=_0x32635f[_0x5dca8e];return _0x280541;}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(_0x56f6a7,_0x54bab8){const _0x2c89c7=a21_0x2805,_0x44bd31=[],_0x1334fc=_0x56f6a7[_0x2c89c7(0x97)]&&typeof _0x56f6a7[_0x2c89c7(0x97)]===_0x2c89c7(0xaa)?_0x56f6a7[_0x2c89c7(0x97)]:{},_0x12d84c=_0x56f6a7[_0x2c89c7(0x99)]||undefined;for(const [_0x203c29,_0x175300]of Object[_0x2c89c7(0xa7)](_0x1334fc)){if(!_0x175300||typeof _0x175300!=='object'||!_0x175300[_0x2c89c7(0xa8)])continue;_0x44bd31[_0x2c89c7(0x8d)]({'name':_0x203c29,'appcode':_0x175300['appcode'],'named':!![],'definedIn':_0x54bab8,'isDefault':_0x203c29===_0x12d84c,...buildAppProfileListFields(_0x175300)});}return _0x44bd31;}function buildMergedItems(_0x4a5264,_0x50867f){const _0x42a8f1=a21_0x2805,{apps:apps={},defaultApp:_0x61f684}=_0x4a5264,_0x1ec46a=_0x50867f[_0x42a8f1(0xa9)]['apps']&&typeof _0x50867f[_0x42a8f1(0xa9)]['apps']===_0x42a8f1(0xaa)?_0x50867f[_0x42a8f1(0xa9)][_0x42a8f1(0x97)]:{},_0x5d2758=_0x50867f[_0x42a8f1(0xac)][_0x42a8f1(0x97)]&&typeof _0x50867f[_0x42a8f1(0xac)]['apps']===_0x42a8f1(0xaa)?_0x50867f[_0x42a8f1(0xac)][_0x42a8f1(0x97)]:{},_0x1f40b2=_0x50867f[_0x42a8f1(0xac)][_0x42a8f1(0x96)]===![],_0x3867b7=Object[_0x42a8f1(0xa7)](apps),_0x1c5764=_0x3867b7[_0x42a8f1(0xb0)](([_0x5900f4,_0x4f58bc])=>({'name':_0x5900f4,'appcode':_0x4f58bc[_0x42a8f1(0xa8)],'named':!![],'definedIn':appDefinedIn(_0x5900f4,_0x1ec46a,_0x5d2758,_0x1f40b2),'isDefault':_0x5900f4===_0x61f684,...buildAppProfileListFields(_0x4f58bc)}));return _0x1c5764;}async function execute(_0x3b67ad){const _0x38bab2=a21_0x2805,_0x4f7dc8=_0x3b67ad[_0x38bab2(0xa5)](_0x38bab2(0xab)),_0x1f309e=_0x3b67ad[_0x38bab2(0xa5)](_0x38bab2(0x9c)),_0xfda17f=_0x4f7dc8?'global':_0x1f309e?_0x38bab2(0x9c):_0x38bab2(0xa4),{config:_0x26ca77,layers:_0x435d6f}=readRawConfigWithLayers(),_0x17e660=resolveDefaultAppSource(_0x435d6f),{defaultApp:_0x25ec9b}=_0x26ca77;let _0x42d276,_0x4758d1;switch(_0xfda17f){case'global':_0x42d276=buildItemsFromLayer(_0x435d6f[_0x38bab2(0xa9)],'global'),_0x4758d1=_0x435d6f[_0x38bab2(0x90)];break;case _0x38bab2(0x9c):_0x42d276=buildItemsFromLayer(_0x435d6f[_0x38bab2(0xac)],_0x38bab2(0x9c)),_0x4758d1=_0x435d6f[_0x38bab2(0x95)];break;default:_0x42d276=buildMergedItems(_0x26ca77,_0x435d6f);break;}enrichAppListItemsWithMergedSelection(_0x42d276,_0x3b67ad['mergedCli']);if(_0x42d276['length']===0x0){const _0x5dd13b=_0xfda17f===_0x38bab2(0xa4)?'':_0x38bab2(0xae)+_0xfda17f+'\x20config';return{'ok':!![],'data':[],'message':_0x38bab2(0x8a)+_0x5dd13b+'.\x20Use\x20`'+CLI_BIN_NAME+_0x38bab2(0x9b)};}const _0x200539=_0x42d276[_0x38bab2(0x8e)](_0xcc7077=>_0xcc7077[_0x38bab2(0x92)]===!![]),_0x24651b=_0x25ec9b??_0x200539?.['appcode']??null,_0x190f01=_0xfda17f===_0x38bab2(0xa4)?{'globalPath':_0x435d6f['globalPath']??null,'projectPath':_0x435d6f[_0x38bab2(0x95)]??null,'defaultApp':_0x24651b,'defaultAppSource':_0x25ec9b!=null?_0x17e660:null}:{'scope':_0xfda17f,'configPath':_0x4758d1??null};return{'ok':!![],'data':{'items':_0x42d276,'meta':_0x190f01}};}function a21_0x3263(){const _0x54b9b4=['8sfSDPC','9732HCxuMX','app','1614PqJeZU','1868930mDzwMI','boolean','merged','bool','15197tTdozQ','entries','appcode','globalConfig','object','global','projectConfig','List\x20all\x20configured\x20apps','\x20in\x20','Show\x20only\x20apps\x20from\x20project\x20.rabetbase.json','map','6041ptlVoG','No\x20apps\x20configured','315mbnUur','6KAlHVs','push','find','226288xGMjTM','globalPath','read','isCurrent','55vLEtGF','1264188slXZcx','projectPath','inherit','apps','list','defaultApp','338606rGTNVb','\x20app\x20add\x20<name>\x20--appcode\x20<code>`\x20to\x20add\x20one.','project','1538165hFZqTx'];a21_0x3263=function(){return _0x54b9b4;};return a21_0x3263();}export const appListDefinition={'service':a21_0x3b19e2(0xa0),'command':a21_0x3b19e2(0x98),'description':a21_0x3b19e2(0xad),'risk':a21_0x3b19e2(0x91),'requiresAuth':![],'requiresAppCode':![],'flags':[{'name':'global','type':a21_0x3b19e2(0xa3),'description':'Show\x20only\x20apps\x20from\x20global\x20~/.rabetbase.json','default':![]},{'name':'project','type':a21_0x3b19e2(0xa3),'description':a21_0x3b19e2(0xaf),'default':![]}],'execute':execute};
@@ -1 +1 @@
1
- const a22_0x592021=a22_0x266a;function a22_0x266a(_0x14c2a9,_0x207654){_0x14c2a9=_0x14c2a9-0x153;const _0x5a2529=a22_0x5a25();let _0x266a56=_0x5a2529[_0x14c2a9];return _0x266a56;}(function(_0x4c7be0,_0x270830){const _0x496459=a22_0x266a,_0x5c56fd=_0x4c7be0();while(!![]){try{const _0x3dfb60=parseInt(_0x496459(0x170))/0x1+-parseInt(_0x496459(0x153))/0x2*(-parseInt(_0x496459(0x168))/0x3)+-parseInt(_0x496459(0x15d))/0x4+-parseInt(_0x496459(0x161))/0x5*(parseInt(_0x496459(0x15c))/0x6)+-parseInt(_0x496459(0x15b))/0x7+-parseInt(_0x496459(0x175))/0x8*(parseInt(_0x496459(0x16c))/0x9)+parseInt(_0x496459(0x171))/0xa;if(_0x3dfb60===_0x270830)break;else _0x5c56fd['push'](_0x5c56fd['shift']());}catch(_0x6fa7b5){_0x5c56fd['push'](_0x5c56fd['shift']());}}}(a22_0x5a25,0xa8728));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{readRawConfigWithLayers}from'../../context.js';import{readConfig,writeConfig,scopeLabel,resolveAppScopeForWrite,appDefinedIn}from'../../commands/app/shared.js';function a22_0x5a25(){const _0x481220=['\x20app\x20remove\x20<name>\x20[--global]','keys','12gcHCXO','\x22\x20not\x20found.','app','global','11679669EuYdIW','projectConfig','Missing\x20app\x20name.','object','878208bGBPCU','14815410RyoEcp','Usage:\x20','high-risk-write','\x20Note:\x20app\x20\x22','8VwHEwV','trim','apps','Remove\x20an\x20app\x20from\x20config','\x22\x20still\x20defined\x20in\x20','length','113818vavJgE','\x20Default\x20app\x20changed\x20to\x20\x22','remove','\x20config.','bool','App\x20\x22','both','validation','265937HUHsgw','6cXuoTw','1184704cUorBr','args','project','boolean','1327585UxMJbR','defaultApp','globalConfig','App\x20profile\x20name\x20to\x20remove','inherit'];a22_0x5a25=function(){return _0x481220;};return a22_0x5a25();}async function validateArgs(_0x2f399a){const _0x4fea97=a22_0x266a,_0x4da192=_0x2f399a['args'][0x0]?.[_0x4fea97(0x176)]();if(!_0x4da192)throw CliErrors[_0x4fea97(0x15a)](_0x4fea97(0x16e),_0x4fea97(0x172)+CLI_BIN_NAME+_0x4fea97(0x166));}async function execute(_0x3545a4){const _0x480327=a22_0x266a,_0x4363a6=_0x3545a4[_0x480327(0x15e)][0x0]?.[_0x480327(0x176)]();if(!_0x4363a6)throw CliErrors[_0x480327(0x15a)]('Missing\x20app\x20name.','Usage:\x20'+CLI_BIN_NAME+_0x480327(0x166));const _0xb3c7d0=_0x3545a4[_0x480327(0x157)](_0x480327(0x16b)),{config:_0x4c6479,layers:_0x2acd5c}=readRawConfigWithLayers(),_0x5bab61=_0x4c6479[_0x480327(0x177)]??{};if(!_0x5bab61[_0x4363a6])throw CliErrors['validation']('App\x20\x22'+_0x4363a6+_0x480327(0x169));const _0x4422a8=_0x2acd5c['globalConfig']['apps']&&typeof _0x2acd5c[_0x480327(0x163)][_0x480327(0x177)]===_0x480327(0x16f)?_0x2acd5c[_0x480327(0x163)]['apps']:{},_0x2020b1=_0x2acd5c['projectConfig'][_0x480327(0x177)]&&typeof _0x2acd5c[_0x480327(0x16d)][_0x480327(0x177)]===_0x480327(0x16f)?_0x2acd5c[_0x480327(0x16d)][_0x480327(0x177)]:{},_0x361305=appDefinedIn(_0x4363a6,_0x4422a8,_0x2020b1,_0x2acd5c[_0x480327(0x16d)][_0x480327(0x165)]===![]),_0x9dad18=resolveAppScopeForWrite(_0x4363a6,_0xb3c7d0,_0x2acd5c),_0x14e76f={'global':_0x9dad18===_0x480327(0x16b)},_0x834066=readConfig(_0x14e76f),_0x3edfae=_0x834066[_0x480327(0x177)];if(!_0x3edfae||!_0x3edfae[_0x4363a6])throw CliErrors[_0x480327(0x15a)](_0x480327(0x158)+_0x4363a6+'\x22\x20not\x20found.');delete _0x3edfae[_0x4363a6];let _0x332648='';if(_0x834066['defaultApp']===_0x4363a6){const _0x12b0a9=Object[_0x480327(0x167)](_0x3edfae);_0x834066['defaultApp']=_0x12b0a9[_0x480327(0x17a)]>0x0?_0x12b0a9[0x0]:undefined,_0x834066[_0x480327(0x162)]?_0x332648=_0x480327(0x154)+_0x834066['defaultApp']+'\x22.':delete _0x834066['defaultApp'];}Object[_0x480327(0x167)](_0x3edfae)[_0x480327(0x17a)]===0x0&&(delete _0x834066[_0x480327(0x177)],delete _0x834066[_0x480327(0x162)]);writeConfig(_0x834066,_0x14e76f);const _0x372417=_0x361305===_0x480327(0x159)?_0x480327(0x174)+_0x4363a6+_0x480327(0x179)+(_0x9dad18==='project'?_0x480327(0x16b):_0x480327(0x15f))+_0x480327(0x156):'';return{'ok':!![],'message':'Removed\x20app\x20\x22'+_0x4363a6+'\x22'+scopeLabel(_0x14e76f)+'.'+_0x332648+_0x372417};}export const appRemoveDefinition={'service':a22_0x592021(0x16a),'command':a22_0x592021(0x155),'description':a22_0x592021(0x178),'risk':a22_0x592021(0x173),'requiresAuth':![],'requiresAppCode':![],'args':[{'name':'name','description':a22_0x592021(0x164),'required':!![]}],'flags':[{'name':a22_0x592021(0x16b),'type':a22_0x592021(0x160),'description':'Use\x20global\x20config\x20scope','default':![]}],'validate':validateArgs,'execute':execute};
1
+ const a22_0x4745b3=a22_0xa859;(function(_0x219306,_0x14a570){const _0x3191d2=a22_0xa859,_0xd71e99=_0x219306();while(!![]){try{const _0x441232=-parseInt(_0x3191d2(0x170))/0x1*(parseInt(_0x3191d2(0x17d))/0x2)+parseInt(_0x3191d2(0x189))/0x3+parseInt(_0x3191d2(0x175))/0x4*(parseInt(_0x3191d2(0x194))/0x5)+parseInt(_0x3191d2(0x17f))/0x6*(-parseInt(_0x3191d2(0x18d))/0x7)+parseInt(_0x3191d2(0x171))/0x8+-parseInt(_0x3191d2(0x18b))/0x9*(parseInt(_0x3191d2(0x183))/0xa)+parseInt(_0x3191d2(0x197))/0xb*(parseInt(_0x3191d2(0x179))/0xc);if(_0x441232===_0x14a570)break;else _0xd71e99['push'](_0xd71e99['shift']());}catch(_0x37a48f){_0xd71e99['push'](_0xd71e99['shift']());}}}(a22_0x5109,0x59259));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{readRawConfigWithLayers}from'../../context.js';import{readConfig,writeConfig,scopeLabel,resolveAppScopeForWrite,appDefinedIn}from'../../commands/app/shared.js';async function validateArgs(_0x420d47){const _0x258b09=a22_0xa859,_0x4aa2e7=_0x420d47[_0x258b09(0x17c)][0x0]?.[_0x258b09(0x196)]();if(!_0x4aa2e7)throw CliErrors[_0x258b09(0x174)](_0x258b09(0x182),_0x258b09(0x192)+CLI_BIN_NAME+'\x20app\x20remove\x20<name>\x20[--global]');}function a22_0xa859(_0x15f90f,_0x129ab2){_0x15f90f=_0x15f90f-0x170;const _0x510944=a22_0x5109();let _0xa85998=_0x510944[_0x15f90f];return _0xa85998;}async function execute(_0x12b349){const _0x5e7b57=a22_0xa859,_0x125f64=_0x12b349[_0x5e7b57(0x17c)][0x0]?.[_0x5e7b57(0x196)]();if(!_0x125f64)throw CliErrors[_0x5e7b57(0x174)]('Missing\x20app\x20name.',_0x5e7b57(0x192)+CLI_BIN_NAME+_0x5e7b57(0x172));const _0x5bd28c=_0x12b349[_0x5e7b57(0x17e)](_0x5e7b57(0x181)),{config:_0x51c8e6,layers:_0x552107}=readRawConfigWithLayers(),_0x22abdf=_0x51c8e6[_0x5e7b57(0x187)]??{};if(!_0x22abdf[_0x125f64])throw CliErrors[_0x5e7b57(0x174)](_0x5e7b57(0x185)+_0x125f64+_0x5e7b57(0x188));const _0x588064=_0x552107[_0x5e7b57(0x177)][_0x5e7b57(0x187)]&&typeof _0x552107[_0x5e7b57(0x177)][_0x5e7b57(0x187)]==='object'?_0x552107['globalConfig'][_0x5e7b57(0x187)]:{},_0x842694=_0x552107[_0x5e7b57(0x18a)]['apps']&&typeof _0x552107[_0x5e7b57(0x18a)][_0x5e7b57(0x187)]==='object'?_0x552107[_0x5e7b57(0x18a)][_0x5e7b57(0x187)]:{},_0x30c16e=appDefinedIn(_0x125f64,_0x588064,_0x842694,_0x552107[_0x5e7b57(0x18a)][_0x5e7b57(0x176)]===![]),_0x1c3b63=resolveAppScopeForWrite(_0x125f64,_0x5bd28c,_0x552107),_0x15b4f9={'global':_0x1c3b63===_0x5e7b57(0x181)},_0x2799d4=readConfig(_0x15b4f9),_0x5036c8=_0x2799d4[_0x5e7b57(0x187)];if(!_0x5036c8||!_0x5036c8[_0x125f64])throw CliErrors[_0x5e7b57(0x174)](_0x5e7b57(0x185)+_0x125f64+_0x5e7b57(0x188));delete _0x5036c8[_0x125f64];let _0x38a448='';if(_0x2799d4[_0x5e7b57(0x17b)]===_0x125f64){const _0x53c5a3=Object[_0x5e7b57(0x17a)](_0x5036c8);_0x2799d4[_0x5e7b57(0x17b)]=_0x53c5a3[_0x5e7b57(0x195)]>0x0?_0x53c5a3[0x0]:undefined,_0x2799d4[_0x5e7b57(0x17b)]?_0x38a448=_0x5e7b57(0x18e)+_0x2799d4[_0x5e7b57(0x17b)]+'\x22.':delete _0x2799d4['defaultApp'];}Object[_0x5e7b57(0x17a)](_0x5036c8)['length']===0x0&&(delete _0x2799d4[_0x5e7b57(0x187)],delete _0x2799d4[_0x5e7b57(0x17b)]);writeConfig(_0x2799d4,_0x15b4f9);const _0x7bb56a=_0x30c16e==='both'?_0x5e7b57(0x193)+_0x125f64+'\x22\x20still\x20defined\x20in\x20'+(_0x1c3b63===_0x5e7b57(0x184)?_0x5e7b57(0x181):_0x5e7b57(0x184))+'\x20config.':'';return{'ok':!![],'message':_0x5e7b57(0x190)+_0x125f64+'\x22'+scopeLabel(_0x15b4f9)+'.'+_0x38a448+_0x7bb56a};}export const appRemoveDefinition={'service':a22_0x4745b3(0x18f),'command':a22_0x4745b3(0x186),'description':a22_0x4745b3(0x180),'risk':'high-risk-write','requiresAuth':![],'requiresAppCode':![],'args':[{'name':a22_0x4745b3(0x173),'description':a22_0x4745b3(0x191),'required':!![]}],'flags':[{'name':'global','type':a22_0x4745b3(0x18c),'description':a22_0x4745b3(0x178),'default':![]}],'validate':validateArgs,'execute':execute};function a22_0x5109(){const _0x1cb3dd=['Usage:\x20','\x20Note:\x20app\x20\x22','34030EIrgof','length','trim','565807fAPNjw','9GWbNVa','826464pvoHvo','\x20app\x20remove\x20<name>\x20[--global]','name','validation','308wfDYsc','inherit','globalConfig','Use\x20global\x20config\x20scope','228eGmhyF','keys','defaultApp','args','125498CuHyIq','bool','12QnOKkZ','Remove\x20an\x20app\x20from\x20config','global','Missing\x20app\x20name.','3819910LJzZeC','project','App\x20\x22','remove','apps','\x22\x20not\x20found.','115368vfZdQL','projectConfig','9EFeqOb','boolean','1159382BFpLpP','\x20Default\x20app\x20changed\x20to\x20\x22','app','Removed\x20app\x20\x22','App\x20profile\x20name\x20to\x20remove'];a22_0x5109=function(){return _0x1cb3dd;};return a22_0x5109();}
@@ -1 +1 @@
1
- function a23_0x1d8a(_0xdda164,_0x673fb6){_0xdda164=_0xdda164-0x101;const _0x57afaa=a23_0x57af();let _0x1d8a43=_0x57afaa[_0xdda164];return _0x1d8a43;}(function(_0x24f74f,_0x3cf258){const _0x4a0384=a23_0x1d8a,_0x5c3c93=_0x24f74f();while(!![]){try{const _0x153ea1=parseInt(_0x4a0384(0x102))/0x1+-parseInt(_0x4a0384(0x116))/0x2*(-parseInt(_0x4a0384(0x110))/0x3)+-parseInt(_0x4a0384(0x11a))/0x4*(parseInt(_0x4a0384(0x103))/0x5)+-parseInt(_0x4a0384(0x10c))/0x6+-parseInt(_0x4a0384(0x11b))/0x7+-parseInt(_0x4a0384(0x111))/0x8+parseInt(_0x4a0384(0x11d))/0x9*(parseInt(_0x4a0384(0x10e))/0xa);if(_0x153ea1===_0x3cf258)break;else _0x5c3c93['push'](_0x5c3c93['shift']());}catch(_0x4e3bcf){_0x5c3c93['push'](_0x5c3c93['shift']());}}}(a23_0x57af,0x99a73));import{resolveWriteConfigPath,readConfigFile,writeConfigFile}from'../../context.js';export function enrichAppListItemsWithMergedSelection(_0x5c5105,_0x1889a6){const _0x29ccdf=a23_0x1d8a;if(!_0x1889a6)return;const _0x4e5814=_0x1889a6[_0x29ccdf(0x106)]&&typeof _0x1889a6[_0x29ccdf(0x106)]===_0x29ccdf(0x105)?_0x1889a6[_0x29ccdf(0x106)]:{},_0xbd0bcc=Object[_0x29ccdf(0x115)](_0x4e5814)['length']>0x0;for(const _0x753806 of _0x5c5105){_0x753806[_0x29ccdf(0x10f)]=![];}const _0x37b8f8=_0x1889a6['appCode']!=null?String(_0x1889a6['appCode'])[_0x29ccdf(0x11c)]():'';if(_0xbd0bcc){const _0x413e82=_0x1889a6[_0x29ccdf(0x107)]??_0x1889a6[_0x29ccdf(0x10d)];if(_0x413e82)for(const _0xb412e1 of _0x5c5105){_0xb412e1['named']===!![]&&_0xb412e1[_0x29ccdf(0x10a)]===_0x413e82&&(_0xb412e1[_0x29ccdf(0x10f)]=!![]);}for(const _0x56768e of _0x5c5105){if(_0x56768e[_0x29ccdf(0x10b)]!==![])continue;if(_0x1889a6[_0x29ccdf(0x10d)])continue;_0x37b8f8&&String(_0x56768e[_0x29ccdf(0x101)]??'')['trim']()===_0x37b8f8&&(_0x56768e['isCurrent']=!![]);}return;}if(!_0x37b8f8)return;for(const _0x5cb9f3 of _0x5c5105){String(_0x5cb9f3[_0x29ccdf(0x101)]??'')[_0x29ccdf(0x11c)]()===_0x37b8f8&&(_0x5cb9f3['isCurrent']=!![]);}}export function resolveAppScopeForWrite(_0x4d8aad,_0x15f9aa,_0x8483aa){const _0x2e0bbc=a23_0x1d8a;if(_0x15f9aa)return'global';const _0x5588fc=_0x8483aa[_0x2e0bbc(0x118)][_0x2e0bbc(0x106)]&&typeof _0x8483aa[_0x2e0bbc(0x118)][_0x2e0bbc(0x106)]===_0x2e0bbc(0x105)?_0x8483aa['projectConfig'][_0x2e0bbc(0x106)]:{},_0x90a3d1=_0x8483aa[_0x2e0bbc(0x109)][_0x2e0bbc(0x106)]&&typeof _0x8483aa['globalConfig'][_0x2e0bbc(0x106)]===_0x2e0bbc(0x105)?_0x8483aa['globalConfig'][_0x2e0bbc(0x106)]:{};if(Object['prototype'][_0x2e0bbc(0x119)][_0x2e0bbc(0x112)](_0x5588fc,_0x4d8aad))return _0x2e0bbc(0x114);if(Object[_0x2e0bbc(0x117)][_0x2e0bbc(0x119)]['call'](_0x90a3d1,_0x4d8aad))return _0x2e0bbc(0x104);return _0x2e0bbc(0x114);}export function appDefinedIn(_0x40f556,_0x2793f8,_0x21a686,_0x457343){const _0x367fa0=a23_0x1d8a;if(_0x457343)return Object[_0x367fa0(0x117)][_0x367fa0(0x119)][_0x367fa0(0x112)](_0x21a686,_0x40f556)?_0x367fa0(0x114):_0x367fa0(0x104);const _0x3a41cf=Object[_0x367fa0(0x117)][_0x367fa0(0x119)][_0x367fa0(0x112)](_0x2793f8,_0x40f556),_0x53f275=Object[_0x367fa0(0x117)][_0x367fa0(0x119)]['call'](_0x21a686,_0x40f556);if(_0x3a41cf&&_0x53f275)return _0x367fa0(0x113);if(_0x53f275)return _0x367fa0(0x114);return _0x367fa0(0x104);}export function resolveDefaultAppSource(_0x286af2){const _0x17030d=a23_0x1d8a,_0x384165=_0x286af2['projectConfig'][_0x17030d(0x106)]&&typeof _0x286af2[_0x17030d(0x118)][_0x17030d(0x106)]===_0x17030d(0x105)?_0x286af2[_0x17030d(0x118)][_0x17030d(0x106)]:{};if(_0x17030d(0x10d)in _0x286af2[_0x17030d(0x118)])return _0x17030d(0x114);if(Object[_0x17030d(0x115)](_0x384165)[_0x17030d(0x108)]>0x0)return _0x17030d(0x114);if(_0x286af2[_0x17030d(0x118)]['inherit']===![])return null;if(_0x286af2[_0x17030d(0x109)]['defaultApp'])return _0x17030d(0x104);return null;}export function getConfigPath(_0x1a2ea2={}){const _0x5323b4=a23_0x1d8a,_0xdf3364=_0x1a2ea2[_0x5323b4(0x104)]?_0x5323b4(0x104):'project';return resolveWriteConfigPath(_0xdf3364);}export function readConfig(_0x9c8bca={}){return readConfigFile(getConfigPath(_0x9c8bca));}function a23_0x57af(){const _0x164e11=['named','374874oQqRaT','defaultApp','1310HRdUCi','isCurrent','285BeGqHw','5114072kTiWkX','call','both','project','keys','14324aOJcLk','prototype','projectConfig','hasOwnProperty','645816qSCfGa','5667298DQMRaR','trim','80334aIAYzG','appcode','613927QdwkhR','10GtYVqo','global','object','apps','currentApp','length','globalConfig','name'];a23_0x57af=function(){return _0x164e11;};return a23_0x57af();}export function writeConfig(_0x5706c4,_0x30401e={}){writeConfigFile(getConfigPath(_0x30401e),_0x5706c4);}export function scopeLabel(_0x3032ed){return _0x3032ed['global']?'\x20(global)':'';}
1
+ (function(_0x21e06c,_0x5ab618){const _0x498125=a23_0x450e,_0x28b786=_0x21e06c();while(!![]){try{const _0x47d143=-parseInt(_0x498125(0x105))/0x1+-parseInt(_0x498125(0xf1))/0x2*(-parseInt(_0x498125(0xef))/0x3)+-parseInt(_0x498125(0xf4))/0x4+parseInt(_0x498125(0xf9))/0x5+parseInt(_0x498125(0x102))/0x6*(parseInt(_0x498125(0x107))/0x7)+parseInt(_0x498125(0x104))/0x8*(parseInt(_0x498125(0xfe))/0x9)+parseInt(_0x498125(0xf3))/0xa*(-parseInt(_0x498125(0x103))/0xb);if(_0x47d143===_0x5ab618)break;else _0x28b786['push'](_0x28b786['shift']());}catch(_0xad4c5c){_0x28b786['push'](_0x28b786['shift']());}}}(a23_0xdcbb,0x39762));import{resolveWriteConfigPath,readConfigFile,writeConfigFile}from'../../context.js';export function enrichAppListItemsWithMergedSelection(_0x3645f1,_0x223009){const _0x5d3363=a23_0x450e;if(!_0x223009)return;const _0x374f84=_0x223009[_0x5d3363(0x10a)]&&typeof _0x223009['apps']===_0x5d3363(0x106)?_0x223009['apps']:{},_0x52fc72=Object[_0x5d3363(0xf0)](_0x374f84)[_0x5d3363(0x10c)]>0x0;for(const _0xff6df8 of _0x3645f1){_0xff6df8[_0x5d3363(0x101)]=![];}const _0x18e46a=_0x223009['appCode']!=null?String(_0x223009['appCode'])[_0x5d3363(0xfb)]():'';if(_0x52fc72){const _0x291faf=_0x223009[_0x5d3363(0xfc)]??_0x223009[_0x5d3363(0xfd)];if(_0x291faf)for(const _0x3ff7a2 of _0x3645f1){_0x3ff7a2[_0x5d3363(0x100)]===!![]&&_0x3ff7a2[_0x5d3363(0x108)]===_0x291faf&&(_0x3ff7a2[_0x5d3363(0x101)]=!![]);}for(const _0x8091b8 of _0x3645f1){if(_0x8091b8['named']!==![])continue;if(_0x223009[_0x5d3363(0xfd)])continue;_0x18e46a&&String(_0x8091b8[_0x5d3363(0x10b)]??'')[_0x5d3363(0xfb)]()===_0x18e46a&&(_0x8091b8[_0x5d3363(0x101)]=!![]);}return;}if(!_0x18e46a)return;for(const _0x205c85 of _0x3645f1){String(_0x205c85[_0x5d3363(0x10b)]??'')[_0x5d3363(0xfb)]()===_0x18e46a&&(_0x205c85['isCurrent']=!![]);}}export function resolveAppScopeForWrite(_0x424161,_0x55387d,_0x597024){const _0x4ae4b7=a23_0x450e;if(_0x55387d)return'global';const _0x2b2145=_0x597024[_0x4ae4b7(0xf2)][_0x4ae4b7(0x10a)]&&typeof _0x597024[_0x4ae4b7(0xf2)][_0x4ae4b7(0x10a)]===_0x4ae4b7(0x106)?_0x597024['projectConfig']['apps']:{},_0x506c7f=_0x597024[_0x4ae4b7(0xf8)][_0x4ae4b7(0x10a)]&&typeof _0x597024['globalConfig'][_0x4ae4b7(0x10a)]===_0x4ae4b7(0x106)?_0x597024[_0x4ae4b7(0xf8)][_0x4ae4b7(0x10a)]:{};if(Object[_0x4ae4b7(0xf5)]['hasOwnProperty'][_0x4ae4b7(0xfa)](_0x2b2145,_0x424161))return'project';if(Object[_0x4ae4b7(0xf5)][_0x4ae4b7(0x109)][_0x4ae4b7(0xfa)](_0x506c7f,_0x424161))return _0x4ae4b7(0xf7);return _0x4ae4b7(0xff);}export function appDefinedIn(_0x3c74ee,_0xb8bd4d,_0x38f4b5,_0xb3b68b){const _0x1e9835=a23_0x450e;if(_0xb3b68b)return Object['prototype']['hasOwnProperty'][_0x1e9835(0xfa)](_0x38f4b5,_0x3c74ee)?_0x1e9835(0xff):_0x1e9835(0xf7);const _0x246811=Object['prototype'][_0x1e9835(0x109)]['call'](_0xb8bd4d,_0x3c74ee),_0x291ca3=Object['prototype'][_0x1e9835(0x109)]['call'](_0x38f4b5,_0x3c74ee);if(_0x246811&&_0x291ca3)return'both';if(_0x291ca3)return _0x1e9835(0xff);return _0x1e9835(0xf7);}function a23_0x450e(_0x406505,_0x34e64b){_0x406505=_0x406505-0xef;const _0xdcbbf7=a23_0xdcbb();let _0x450ec6=_0xdcbbf7[_0x406505];return _0x450ec6;}export function resolveDefaultAppSource(_0x162431){const _0x2f7978=a23_0x450e,_0x3a691f=_0x162431[_0x2f7978(0xf2)][_0x2f7978(0x10a)]&&typeof _0x162431['projectConfig'][_0x2f7978(0x10a)]==='object'?_0x162431[_0x2f7978(0xf2)][_0x2f7978(0x10a)]:{};if(_0x2f7978(0xfd)in _0x162431['projectConfig'])return _0x2f7978(0xff);if(Object[_0x2f7978(0xf0)](_0x3a691f)[_0x2f7978(0x10c)]>0x0)return _0x2f7978(0xff);if(_0x162431[_0x2f7978(0xf2)]['inherit']===![])return null;if(_0x162431[_0x2f7978(0xf8)][_0x2f7978(0xfd)])return'global';return null;}export function getConfigPath(_0x428ce4={}){const _0x43bc8f=a23_0x450e,_0x5e39ef=_0x428ce4[_0x43bc8f(0xf7)]?'global':_0x43bc8f(0xff);return resolveWriteConfigPath(_0x5e39ef);}function a23_0xdcbb(){const _0x49a778=['appcode','length','237696tqieFc','keys','4BUVxqZ','projectConfig','10ikYadv','457676uYBylL','prototype','\x20(global)','global','globalConfig','2265910sIrMoD','call','trim','currentApp','defaultApp','18pVhCoU','project','named','isCurrent','65388QeHcNa','1428262nunwRp','600296PaFcnC','423771CqduHW','object','91sbzRTc','name','hasOwnProperty','apps'];a23_0xdcbb=function(){return _0x49a778;};return a23_0xdcbb();}export function readConfig(_0x1ba10c={}){return readConfigFile(getConfigPath(_0x1ba10c));}export function writeConfig(_0x35d4fa,_0x39c813={}){writeConfigFile(getConfigPath(_0x39c813),_0x35d4fa);}export function scopeLabel(_0x3f385d){const _0x47db18=a23_0x450e;return _0x3f385d['global']?_0x47db18(0xf6):'';}
@@ -1 +1 @@
1
- const a24_0x16ab47=a24_0x5d58;(function(_0x25dc0f,_0x1e4f4f){const _0x5cb5e8=a24_0x5d58,_0x491369=_0x25dc0f();while(!![]){try{const _0x3d56e2=parseInt(_0x5cb5e8(0x84))/0x1+-parseInt(_0x5cb5e8(0x76))/0x2+-parseInt(_0x5cb5e8(0x79))/0x3*(-parseInt(_0x5cb5e8(0x73))/0x4)+-parseInt(_0x5cb5e8(0x6a))/0x5*(-parseInt(_0x5cb5e8(0x8b))/0x6)+parseInt(_0x5cb5e8(0x6c))/0x7*(parseInt(_0x5cb5e8(0x72))/0x8)+parseInt(_0x5cb5e8(0x8c))/0x9*(-parseInt(_0x5cb5e8(0x6f))/0xa)+parseInt(_0x5cb5e8(0x70))/0xb*(-parseInt(_0x5cb5e8(0x78))/0xc);if(_0x3d56e2===_0x1e4f4f)break;else _0x491369['push'](_0x491369['shift']());}catch(_0x3fa8c3){_0x491369['push'](_0x491369['shift']());}}}(a24_0x345b,0x97f29));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{readRawConfigWithLayers,isInProject}from'../../context.js';function a24_0x5d58(_0x4a53eb,_0x25ff4f){_0x4a53eb=_0x4a53eb-0x68;const _0x345bc8=a24_0x345b();let _0x5d586d=_0x345bc8[_0x4a53eb];return _0x5d586d;}import{readConfig,writeConfig,scopeLabel}from'../../commands/app/shared.js';async function validateArgs(_0x696e5b){const _0x2105db=a24_0x5d58,_0x46aafe=_0x696e5b['args'][0x0]?.[_0x2105db(0x6b)]();if(!_0x46aafe)throw CliErrors[_0x2105db(0x83)]('Missing\x20app\x20name.',_0x2105db(0x6d)+CLI_BIN_NAME+_0x2105db(0x85));}function a24_0x345b(){const _0x41b50d=['apps','length','\x20app\x20add\x20','validation','1185962HymCiJ','\x20app\x20use\x20<name>\x20[--global]','\x22\x20not\x20found.','App\x20\x22','\x22\x20is\x20defined\x20in\x20global\x20config;\x20defaultApp\x20written\x20to\x20project\x20to\x20take\x20effect\x20in\x20merged\x20view.','Available:\x20','appcode','726756xumDDh','9cASVml','global','defaultApp','keys','prototype','20AitZhT','trim','33775pXciuB','Usage:\x20','write','2411180kZqSvb','1144FQHSuY','\x22\x20(appcode:\x20','888MTeLAP','84784QOnQgu','name','projectPath','1710348UUDhuX','use','161400WbNUMx','129mFnTCM','app','\x20--appcode\x20<code>`\x20first.','args','Missing\x20app\x20name.','bool','projectConfig'];a24_0x345b=function(){return _0x41b50d;};return a24_0x345b();}async function execute(_0x4c3a88){const _0x1557c3=a24_0x5d58,_0x5d1b68=_0x4c3a88[_0x1557c3(0x7c)][0x0]?.[_0x1557c3(0x6b)]();if(!_0x5d1b68)throw CliErrors['validation'](_0x1557c3(0x7d),_0x1557c3(0x6d)+CLI_BIN_NAME+_0x1557c3(0x85));const _0x565402=_0x4c3a88[_0x1557c3(0x7e)]('global'),{config:_0xce21f9,layers:_0x1f6983}=readRawConfigWithLayers(),_0x2250ba=_0xce21f9[_0x1557c3(0x80)]??{};if(!_0x2250ba[_0x5d1b68]){const _0x330692=Object[_0x1557c3(0x68)](_0x2250ba),_0x345fe8=_0x330692[_0x1557c3(0x81)]===0x0?'Use\x20`'+CLI_BIN_NAME+_0x1557c3(0x82)+_0x5d1b68+_0x1557c3(0x7b):_0x1557c3(0x89)+_0x330692['join'](',\x20');throw CliErrors[_0x1557c3(0x83)](_0x1557c3(0x87)+_0x5d1b68+_0x1557c3(0x86),_0x345fe8);}let _0x2dad01,_0x597620='';if(_0x565402)_0x2dad01={'global':!![]};else{const _0xe7f429=isInProject()&&!!_0x1f6983[_0x1557c3(0x75)];_0x2dad01={'global':!_0xe7f429};if(_0xe7f429){const _0x97e83f=_0x1f6983[_0x1557c3(0x7f)][_0x1557c3(0x80)]&&typeof _0x1f6983[_0x1557c3(0x7f)]['apps']==='object'?_0x1f6983['projectConfig']['apps']:{};!Object[_0x1557c3(0x69)]['hasOwnProperty']['call'](_0x97e83f,_0x5d1b68)&&(_0x597620='\x0aNote:\x20\x22'+_0x5d1b68+_0x1557c3(0x88));}}const _0x4b2a66=readConfig(_0x2dad01);return _0x4b2a66[_0x1557c3(0x8e)]=_0x5d1b68,writeConfig(_0x4b2a66,_0x2dad01),{'ok':!![],'message':'Default\x20app\x20set\x20to\x20\x22'+_0x5d1b68+_0x1557c3(0x71)+_0x2250ba[_0x5d1b68][_0x1557c3(0x8a)]+')'+scopeLabel(_0x2dad01)+_0x597620};}export const appUseDefinition={'service':a24_0x16ab47(0x7a),'command':a24_0x16ab47(0x77),'description':'Switch\x20the\x20default\x20app','risk':a24_0x16ab47(0x6e),'requiresAuth':![],'requiresAppCode':![],'args':[{'name':a24_0x16ab47(0x74),'description':'App\x20profile\x20name\x20to\x20activate','required':!![]}],'flags':[{'name':a24_0x16ab47(0x8d),'type':'boolean','description':'Use\x20global\x20config\x20scope','default':![]}],'validate':validateArgs,'execute':execute};
1
+ const a24_0x11df00=a24_0x4963;(function(_0x3b3dfd,_0x20be4a){const _0x3a1a7e=a24_0x4963,_0x26f77a=_0x3b3dfd();while(!![]){try{const _0x41a0e9=parseInt(_0x3a1a7e(0x1a4))/0x1*(-parseInt(_0x3a1a7e(0x1a7))/0x2)+-parseInt(_0x3a1a7e(0x1c0))/0x3+parseInt(_0x3a1a7e(0x1b0))/0x4*(-parseInt(_0x3a1a7e(0x1ca))/0x5)+-parseInt(_0x3a1a7e(0x1a6))/0x6*(-parseInt(_0x3a1a7e(0x1bf))/0x7)+-parseInt(_0x3a1a7e(0x1c1))/0x8+parseInt(_0x3a1a7e(0x1bc))/0x9+parseInt(_0x3a1a7e(0x1be))/0xa;if(_0x41a0e9===_0x20be4a)break;else _0x26f77a['push'](_0x26f77a['shift']());}catch(_0x6fcb2c){_0x26f77a['push'](_0x26f77a['shift']());}}}(a24_0x5d8e,0x5cb5e));function a24_0x5d8e(){const _0x19ae71=['keys','call','\x0aNote:\x20\x22','4761486ZGaSWJ','\x22\x20(appcode:\x20','3274720TwDTgr','637QItfdJ','279633ZIVEIA','1513016vnnVXI','name','boolean','\x22\x20is\x20defined\x20in\x20global\x20config;\x20defaultApp\x20written\x20to\x20project\x20to\x20take\x20effect\x20in\x20merged\x20view.','Default\x20app\x20set\x20to\x20\x22','length','validation','apps','global','1315445NJqcGX','Available:\x20','Use\x20global\x20config\x20scope','Use\x20`','2089EHYGIB','object','38814jfyNko','246yIQNNp','join','hasOwnProperty','trim','Usage:\x20','projectPath','App\x20\x22','\x20app\x20use\x20<name>\x20[--global]','use','8oGJaAH','\x20--appcode\x20<code>`\x20first.','\x20app\x20add\x20','prototype','projectConfig','args','defaultApp','Missing\x20app\x20name.','App\x20profile\x20name\x20to\x20activate'];a24_0x5d8e=function(){return _0x19ae71;};return a24_0x5d8e();}import{CliErrors}from'../../errors.js';function a24_0x4963(_0x34bf47,_0x136d89){_0x34bf47=_0x34bf47-0x1a1;const _0x5d8e10=a24_0x5d8e();let _0x496352=_0x5d8e10[_0x34bf47];return _0x496352;}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(_0x255b77){const _0x5ed710=a24_0x4963,_0x2b5f04=_0x255b77['args'][0x0]?.['trim']();if(!_0x2b5f04)throw CliErrors[_0x5ed710(0x1c7)](_0x5ed710(0x1b7),'Usage:\x20'+CLI_BIN_NAME+_0x5ed710(0x1ae));}async function execute(_0x2511d3){const _0x51710a=a24_0x4963,_0x5666cd=_0x2511d3[_0x51710a(0x1b5)][0x0]?.[_0x51710a(0x1aa)]();if(!_0x5666cd)throw CliErrors[_0x51710a(0x1c7)]('Missing\x20app\x20name.',_0x51710a(0x1ab)+CLI_BIN_NAME+_0x51710a(0x1ae));const _0x5e3f54=_0x2511d3['bool']('global'),{config:_0x4e7642,layers:_0x10dd57}=readRawConfigWithLayers(),_0x30a3c8=_0x4e7642['apps']??{};if(!_0x30a3c8[_0x5666cd]){const _0x2bde60=Object[_0x51710a(0x1b9)](_0x30a3c8),_0x5e6dc1=_0x2bde60[_0x51710a(0x1c6)]===0x0?_0x51710a(0x1a3)+CLI_BIN_NAME+_0x51710a(0x1b2)+_0x5666cd+_0x51710a(0x1b1):_0x51710a(0x1a1)+_0x2bde60[_0x51710a(0x1a8)](',\x20');throw CliErrors[_0x51710a(0x1c7)](_0x51710a(0x1ad)+_0x5666cd+'\x22\x20not\x20found.',_0x5e6dc1);}let _0x55e9f3,_0x421bf7='';if(_0x5e3f54)_0x55e9f3={'global':!![]};else{const _0x4e7ed0=isInProject()&&!!_0x10dd57[_0x51710a(0x1ac)];_0x55e9f3={'global':!_0x4e7ed0};if(_0x4e7ed0){const _0x55760d=_0x10dd57[_0x51710a(0x1b4)]['apps']&&typeof _0x10dd57['projectConfig'][_0x51710a(0x1c8)]===_0x51710a(0x1a5)?_0x10dd57[_0x51710a(0x1b4)][_0x51710a(0x1c8)]:{};!Object[_0x51710a(0x1b3)][_0x51710a(0x1a9)][_0x51710a(0x1ba)](_0x55760d,_0x5666cd)&&(_0x421bf7=_0x51710a(0x1bb)+_0x5666cd+_0x51710a(0x1c4));}}const _0xbd07a5=readConfig(_0x55e9f3);return _0xbd07a5[_0x51710a(0x1b6)]=_0x5666cd,writeConfig(_0xbd07a5,_0x55e9f3),{'ok':!![],'message':_0x51710a(0x1c5)+_0x5666cd+_0x51710a(0x1bd)+_0x30a3c8[_0x5666cd]['appcode']+')'+scopeLabel(_0x55e9f3)+_0x421bf7};}export const appUseDefinition={'service':'app','command':a24_0x11df00(0x1af),'description':'Switch\x20the\x20default\x20app','risk':'write','requiresAuth':![],'requiresAppCode':![],'args':[{'name':a24_0x11df00(0x1c2),'description':a24_0x11df00(0x1b8),'required':!![]}],'flags':[{'name':a24_0x11df00(0x1c9),'type':a24_0x11df00(0x1c3),'description':a24_0x11df00(0x1a2),'default':![]}],'validate':validateArgs,'execute':execute};
@@ -1 +1 @@
1
- const a25_0x1c8c04=a25_0xab4d;function a25_0xab4d(_0x5db235,_0x4d5e9c){_0x5db235=_0x5db235-0x75;const _0x34ad7a=a25_0x34ad();let _0xab4d5b=_0x34ad7a[_0x5db235];return _0xab4d5b;}(function(_0x3a9f4a,_0x4fd1c4){const _0x4547a6=a25_0xab4d,_0x96c059=_0x3a9f4a();while(!![]){try{const _0x59dbc2=parseInt(_0x4547a6(0x82))/0x1*(-parseInt(_0x4547a6(0x79))/0x2)+parseInt(_0x4547a6(0x7e))/0x3+parseInt(_0x4547a6(0x81))/0x4+-parseInt(_0x4547a6(0x87))/0x5+-parseInt(_0x4547a6(0x84))/0x6+parseInt(_0x4547a6(0x89))/0x7*(parseInt(_0x4547a6(0x86))/0x8)+parseInt(_0x4547a6(0x7b))/0x9*(-parseInt(_0x4547a6(0x75))/0xa);if(_0x59dbc2===_0x4fd1c4)break;else _0x96c059['push'](_0x96c059['shift']());}catch(_0x486f56){_0x96c059['push'](_0x96c059['shift']());}}}(a25_0x34ad,0x9efe4));import{unlinkSync,existsSync}from'node:fs';function a25_0x34ad(){const _0x5983d9=['login','Skip\x20login\x20confirmation\x20and\x20start\x20browser\x20auth\x20immediately','3576624oItrot','✓\x20Logged\x20out','logout','3992520Ikctnc','1Lzmoir','auth','5627148DYdAwB','../../auth/auth-server-ui.js','8MNrrtR','1235625lKvmNh','bool','5560772gwfScV','7841090uNieKL','yes','read','!\x20Not\x20logged\x20in','728812MoveiO','nonInteractive','9qyZbGC'];a25_0x34ad=function(){return _0x5983d9;};return a25_0x34ad();}import{cookieFile}from'../../auth/constant.js';export const authDefinitions=[{'service':a25_0x1c8c04(0x83),'command':a25_0x1c8c04(0x7c),'description':'Login\x20via\x20browser','risk':a25_0x1c8c04(0x77),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a25_0x1c8c04(0x76),'type':'boolean','description':a25_0x1c8c04(0x7d),'default':![]}],async 'execute'(_0x104301){const _0x456d33=a25_0x1c8c04,{runAuthServer:_0x4a1863}=await import(_0x456d33(0x85));return await _0x4a1863({'autoYes':_0x104301[_0x456d33(0x88)](_0x456d33(0x76)),'nonInteractive':_0x104301[_0x456d33(0x7a)]}),{'ok':!![]};}},{'service':a25_0x1c8c04(0x83),'command':a25_0x1c8c04(0x80),'description':'Clear\x20login\x20session','risk':'write','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x4e454e){const _0xdcea3=a25_0x1c8c04;return existsSync(cookieFile)?(unlinkSync(cookieFile),console['log'](_0xdcea3(0x7f))):console['log'](_0xdcea3(0x78)),{'ok':!![]};}}];
1
+ const a25_0x20852e=a25_0x26ee;(function(_0x334814,_0x44a376){const _0x2876e2=a25_0x26ee,_0x15243d=_0x334814();while(!![]){try{const _0x4e664e=parseInt(_0x2876e2(0xe5))/0x1+parseInt(_0x2876e2(0xde))/0x2*(parseInt(_0x2876e2(0xeb))/0x3)+-parseInt(_0x2876e2(0xd9))/0x4*(parseInt(_0x2876e2(0xe1))/0x5)+parseInt(_0x2876e2(0xe7))/0x6*(parseInt(_0x2876e2(0xdc))/0x7)+parseInt(_0x2876e2(0xf0))/0x8*(parseInt(_0x2876e2(0xef))/0x9)+-parseInt(_0x2876e2(0xe2))/0xa*(-parseInt(_0x2876e2(0xe9))/0xb)+parseInt(_0x2876e2(0xe0))/0xc*(-parseInt(_0x2876e2(0xee))/0xd);if(_0x4e664e===_0x44a376)break;else _0x15243d['push'](_0x15243d['shift']());}catch(_0x479fc1){_0x15243d['push'](_0x15243d['shift']());}}}(a25_0x4021,0x39f61));function a25_0x4021(){const _0xae6726=['4afifBJ','login','log','2534uFJPth','Clear\x20login\x20session','964gexKql','read','6553164KFcdaE','1947230MIrwdn','50guqMPY','../../auth/auth-server-ui.js','auth','342343GXUiWY','yes','1602uccFrZ','logout','79816dMmspp','✓\x20Logged\x20out','2298BxTiRK','boolean','bool','13yvSVEW','128529HhqUqI','184Krojjl','Skip\x20login\x20confirmation\x20and\x20start\x20browser\x20auth\x20immediately','write','Login\x20via\x20browser','!\x20Not\x20logged\x20in'];a25_0x4021=function(){return _0xae6726;};return a25_0x4021();}import{unlinkSync,existsSync}from'node:fs';import{cookieFile}from'../../auth/constant.js';function a25_0x26ee(_0x278544,_0x55605a){_0x278544=_0x278544-0xd6;const _0x402104=a25_0x4021();let _0x26ee33=_0x402104[_0x278544];return _0x26ee33;}export const authDefinitions=[{'service':a25_0x20852e(0xe4),'command':a25_0x20852e(0xda),'description':a25_0x20852e(0xd7),'risk':a25_0x20852e(0xdf),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a25_0x20852e(0xe6),'type':a25_0x20852e(0xec),'description':a25_0x20852e(0xf1),'default':![]}],async 'execute'(_0x4651aa){const _0x1ba51c=a25_0x20852e,{runAuthServer:_0x5c74dd}=await import(_0x1ba51c(0xe3));return await _0x5c74dd({'autoYes':_0x4651aa[_0x1ba51c(0xed)](_0x1ba51c(0xe6)),'nonInteractive':_0x4651aa['nonInteractive']}),{'ok':!![]};}},{'service':a25_0x20852e(0xe4),'command':a25_0x20852e(0xe8),'description':a25_0x20852e(0xdd),'risk':a25_0x20852e(0xd6),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x267bdc){const _0xcee68e=a25_0x20852e;return existsSync(cookieFile)?(unlinkSync(cookieFile),console[_0xcee68e(0xdb)](_0xcee68e(0xea))):console[_0xcee68e(0xdb)](_0xcee68e(0xd8)),{'ok':!![]};}}];
@@ -1 +1 @@
1
- function a26_0x20e3(_0x5cd700,_0x966567){_0x5cd700=_0x5cd700-0x143;const _0x2d7b9d=a26_0x2d7b();let _0x20e350=_0x2d7b9d[_0x5cd700];return _0x20e350;}const a26_0x48ad2e=a26_0x20e3;(function(_0x33e9d6,_0x5297e3){const _0x596980=a26_0x20e3,_0x120f9b=_0x33e9d6();while(!![]){try{const _0x1af62b=parseInt(_0x596980(0x14a))/0x1+-parseInt(_0x596980(0x163))/0x2+parseInt(_0x596980(0x15b))/0x3*(parseInt(_0x596980(0x16f))/0x4)+-parseInt(_0x596980(0x14b))/0x5*(parseInt(_0x596980(0x168))/0x6)+-parseInt(_0x596980(0x18a))/0x7*(-parseInt(_0x596980(0x158))/0x8)+parseInt(_0x596980(0x18b))/0x9+-parseInt(_0x596980(0x16b))/0xa;if(_0x1af62b===_0x5297e3)break;else _0x120f9b['push'](_0x120f9b['shift']());}catch(_0x3fd6d2){_0x120f9b['push'](_0x120f9b['shift']());}}}(a26_0x2d7b,0x7ed33));import{createInterface}from'node:readline';import{mkdir,writeFile}from'node:fs/promises';import{dirname,join}from'node:path';import{listDatasets,listBffDatasetOperations}from'../../core/api-client.js';import{loadAliasMap,resolveAlias}from'../../core/alias-resolver.js';import{resolveApiFilePath}from'../../context.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{fileExists}from'../../core/bff/file-system.js';function a26_0x2d7b(){const _0x3f8f99=['56560mNaccS','2433276nhgMTD','ENDPOINT','stderr','\x20\x20Enter\x20a\x20number\x20between\x201\x20and\x20','Dataset\x20alias\x20from\x20api.ts\x20(HOOK\x20only,\x20preferred)','Operation\x20type\x20(HOOK\x20only)','HOOK\x20requires\x20hookOptions\x20for\x20template\x20generation.','Available:\x20','Select\x20dataset:','datasetCode','isInteger','function-node','after','datasetcode','TODO:\x20add\x20script\x20description','entries','before','.js','trim','description','Select\x20trigger\x20node:','\x22.\x20','Script\x20description','COMMON','scriptsRootDir','917288FNRALe','4175cNzjty','Function\x20name\x20(valid\x20JS\x20identifier)','question','Alias\x20\x22','Dataset\x20not\x20found\x20for\x20code\x20\x22','--function-node\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','str','\x20api\x20pull`\x20first,\x20or\x20use\x20--datasetcode\x20instead.','\x0a\x20*\x20[接口路径]\x20POST\x20/api/','Created\x20','name','No\x20api.ts\x20found.\x20Run\x20`','HOOK','760mQtrCR','operation-type','\x0a\x20*\x20[脚本类型]\x20COMMON\x0a\x20*\x20[本地路径]\x20.rabetbase/bff/COMMON/','801pbCfKQ','appCode','operationType','Invalid\x20function\x20name\x20\x22','close','string','The\x20api.ts\x20may\x20be\x20stale\x20—\x20run\x20`','Available\x20aliases:\x20','58686olvRVZ','tableName','--alias\x20or\x20--datasetcode\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','.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','Invalid\x20dataset\x20selection.','2172FIsuOg','apiDir','HOOK\x20requires\x20alias/operation/node\x20options.','13260410KwULiL','--function-node\x20must\x20be\x20\x27before\x27\x20or\x20\x27after\x27.','BFF\x20HOOK','Scaffold\x20a\x20new\x20BFF\x20function\x20from\x20template','3324zFjZKx','create','validation','functionNode','utf8','type','Operation\x20type\x20\x22','join','(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a','File\x20already\x20exists:\x20','\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','\x20function:\x20','includes','stdin','length','alias','code','find','Select\x20operation\x20type:','map','nonInteractive','--operation-type\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','Trigger\x20node\x20(HOOK\x20only)','\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','keys','\x22.\x20Must\x20be\x20a\x20valid\x20JS\x20identifier\x20(e.g.\x20createOrder,\x20beforeFilter).','write'];a26_0x2d7b=function(){return _0x3f8f99;};return a26_0x2d7b();}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_0x48ad2e(0x170),'description':a26_0x48ad2e(0x16e),'risk':a26_0x48ad2e(0x189),'flags':[{'name':a26_0x48ad2e(0x174),'type':a26_0x48ad2e(0x160),'required':!![],'enum':[a26_0x48ad2e(0x148),'ENDPOINT',a26_0x48ad2e(0x157)],'description':'Script\x20type'},{'name':a26_0x48ad2e(0x155),'type':'string','required':!![],'description':a26_0x48ad2e(0x14c)},{'name':a26_0x48ad2e(0x144),'type':'string','description':a26_0x48ad2e(0x147)},{'name':'alias','type':a26_0x48ad2e(0x160),'description':a26_0x48ad2e(0x18f)},{'name':a26_0x48ad2e(0x198),'type':a26_0x48ad2e(0x160),'description':'Dataset\x20code\x20(HOOK\x20only,\x20fallback\x20when\x20alias\x20unavailable)'},{'name':a26_0x48ad2e(0x159),'type':a26_0x48ad2e(0x160),'description':a26_0x48ad2e(0x190)},{'name':a26_0x48ad2e(0x196),'type':a26_0x48ad2e(0x160),'description':a26_0x48ad2e(0x185),'enum':['before',a26_0x48ad2e(0x197)]}],async 'validate'(_0x46d35a){const _0x583784=a26_0x48ad2e,_0x2cce4a=_0x46d35a[_0x583784(0x151)](_0x583784(0x155));if(!isValidBffFunctionName(_0x2cce4a))throw CliErrors['validation'](_0x583784(0x15e)+_0x2cce4a+_0x583784(0x188));},async 'execute'(_0x3976bc){const _0x42eb31=a26_0x48ad2e,_0x263990=loadBffProjectConfig(_0x3976bc[_0x42eb31(0x15c)]),_0x2c99b5=_0x3976bc[_0x42eb31(0x151)](_0x42eb31(0x174)),_0x31dca0=_0x3976bc[_0x42eb31(0x151)](_0x42eb31(0x155)),_0xa366b6=_0x3976bc['str'](_0x42eb31(0x144))||undefined,_0xac4ddb=_0x2c99b5==='HOOK'?await resolveHookOptions(_0x263990,_0x3976bc):undefined,_0x3fa610=buildFilePath(_0x263990,_0x2c99b5,_0x31dca0,_0xac4ddb);if(await fileExists(_0x3fa610))throw CliErrors[_0x42eb31(0x171)](_0x42eb31(0x178)+_0x3fa610);await mkdir(dirname(_0x3fa610),{'recursive':!![]});const _0x5c4fac=generateTemplate(_0x2c99b5,_0x31dca0,_0x3976bc[_0x42eb31(0x15c)],_0xa366b6,_0xac4ddb);await writeFile(_0x3fa610,_0x5c4fac,_0x42eb31(0x173));const _0x5d635c={'type':_0x2c99b5,'name':_0x31dca0,'path':_0x3fa610};if(_0xa366b6)_0x5d635c[_0x42eb31(0x144)]=_0xa366b6;if(_0xac4ddb){if(_0xac4ddb[_0x42eb31(0x17e)])_0x5d635c[_0x42eb31(0x17e)]=_0xac4ddb[_0x42eb31(0x17e)];_0x5d635c['datasetCode']=_0xac4ddb[_0x42eb31(0x194)],_0x5d635c[_0x42eb31(0x15d)]=_0xac4ddb['operationType'],_0x5d635c[_0x42eb31(0x172)]=_0xac4ddb['functionNode'];}return{'ok':!![],'data':_0x5d635c,'message':_0x42eb31(0x154)+_0x2c99b5+_0x42eb31(0x17a)+_0x31dca0};}};async function resolveHookOptions(_0x4f3d7b,_0x45369f){const _0x69416d=a26_0x48ad2e,_0x12eb0b=loadAliasMap(_0x45369f[_0x69416d(0x169)],undefined,resolveApiFilePath(_0x45369f[_0x69416d(0x169)],_0x45369f[_0x69416d(0x15c)])),_0x2e175e=_0x12eb0b[_0x69416d(0x17d)]>0x0;let _0x1a7c9e,_0x345e94,_0x4ce383;const _0x2add00=_0x45369f[_0x69416d(0x151)]('alias'),_0x5a78ae=_0x45369f[_0x69416d(0x151)](_0x69416d(0x198));if(_0x2add00){const _0xca4cdf=resolveAlias(_0x45369f['apiDir'],_0x2add00,undefined,resolveApiFilePath(_0x45369f['apiDir'],_0x45369f['appCode']));if(!_0xca4cdf){const _0x839695=_0x2e175e?_0x69416d(0x162)+_0x12eb0b[_0x69416d(0x182)](_0x59571f=>_0x59571f[_0x69416d(0x17e)])[_0x69416d(0x176)](',\x20'):_0x69416d(0x156)+CLI_BIN_NAME+_0x69416d(0x152);throw CliErrors['validation'](_0x69416d(0x14e)+_0x2add00+'\x22\x20not\x20found.\x20'+_0x839695);}_0x1a7c9e=_0x2add00,_0x345e94=_0xca4cdf;}else{if(_0x5a78ae){_0x345e94=_0x5a78ae;const _0x2ca658=_0x12eb0b[_0x69416d(0x180)](_0x5b082d=>_0x5b082d[_0x69416d(0x194)]===_0x5a78ae);_0x1a7c9e=_0x2ca658?.[_0x69416d(0x17e)];}else{if(_0x45369f[_0x69416d(0x183)])throw CliErrors[_0x69416d(0x171)](_0x69416d(0x165));else{if(_0x2e175e){const _0x5010e9=_0x12eb0b['map'](_0x2912c5=>_0x2912c5[_0x69416d(0x17e)]+'\x20('+_0x2912c5[_0x69416d(0x164)]+')'),_0x1db6a7=await promptSelect(_0x69416d(0x193),_0x5010e9),_0x1a5d8e=_0x12eb0b[_0x1db6a7];if(!_0x1a5d8e)throw CliErrors[_0x69416d(0x171)](_0x69416d(0x167));_0x1a7c9e=_0x1a5d8e['alias'],_0x345e94=_0x1a5d8e[_0x69416d(0x194)];}else{const _0x13793c=await listDatasets(_0x45369f[_0x69416d(0x15c)]),_0x3745d6=filterDbBackedDatasets(_0x13793c);if(_0x3745d6[_0x69416d(0x17d)]===0x0)throw CliErrors[_0x69416d(0x171)](_0x13793c['length']===0x0?'No\x20datasets\x20found\x20for\x20this\x20app.':'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 _0x3c72ce=_0x3745d6['map'](_0x53af9e=>_0x53af9e[_0x69416d(0x155)]+'\x20('+_0x53af9e[_0x69416d(0x17f)]+')'),_0x499944=await promptSelect(_0x69416d(0x193),_0x3c72ce),_0x4e7996=_0x3745d6[_0x499944];if(!_0x4e7996)throw CliErrors[_0x69416d(0x171)](_0x69416d(0x167));_0x345e94=_0x4e7996[_0x69416d(0x17f)],_0x1a7c9e=undefined;}}}}const _0x5835b9=await listDatasets(_0x45369f[_0x69416d(0x15c)]),_0x220eac=_0x5835b9['find'](_0x2a8763=>_0x2a8763['code']===_0x345e94);if(!_0x220eac)throw CliErrors[_0x69416d(0x171)](_0x69416d(0x14f)+_0x345e94+_0x69416d(0x146)+(_0x1a7c9e?_0x69416d(0x161)+CLI_BIN_NAME+'\x20api\x20pull`\x20to\x20refresh.':''));assertDatasetSupportsLocalDevelopment(_0x220eac,_0x69416d(0x16d)),_0x4ce383=_0x220eac['id'];const _0x12a1f4=_0x1a7c9e??_0x345e94,_0x57bfd6=await listBffDatasetOperations(_0x45369f[_0x69416d(0x15c)],_0x4ce383),_0x4a107c=_0x57bfd6?Object[_0x69416d(0x187)](_0x57bfd6):[];if(_0x4a107c[_0x69416d(0x17d)]===0x0)throw CliErrors['validation']('No\x20operation\x20types\x20found\x20for\x20dataset\x20'+_0x12a1f4+'.');let _0xe103f8;const _0x2cc72c=_0x45369f['str'](_0x69416d(0x159));if(_0x2cc72c){if(!_0x4a107c[_0x69416d(0x17b)](_0x2cc72c))throw CliErrors[_0x69416d(0x171)](_0x69416d(0x175)+_0x2cc72c+'\x22\x20not\x20found\x20for\x20dataset\x20'+_0x12a1f4+'.\x20'+(_0x69416d(0x192)+_0x4a107c[_0x69416d(0x176)](',\x20')));_0xe103f8=_0x2cc72c;}else{if(_0x45369f['nonInteractive'])throw CliErrors[_0x69416d(0x171)](_0x69416d(0x184));const _0x5aebb9=await promptSelect(_0x69416d(0x181),_0x4a107c);_0xe103f8=_0x4a107c[_0x5aebb9]??_0x4a107c[0x0];}let _0x405c06=normalizeHookFunctionNode(_0x45369f['str'](_0x69416d(0x196)));if(!_0x405c06){if(_0x45369f[_0x69416d(0x151)](_0x69416d(0x196)))throw CliErrors['validation'](_0x69416d(0x16c));if(_0x45369f[_0x69416d(0x183)])throw CliErrors[_0x69416d(0x171)](_0x69416d(0x150));const _0x2bfe1a=await promptSelect(_0x69416d(0x145),[_0x69416d(0x19b),'after']);_0x405c06=[_0x69416d(0x19b),_0x69416d(0x197)][_0x2bfe1a]??_0x69416d(0x19b);}return{'alias':_0x1a7c9e,'datasetCode':_0x345e94,'datasetId':_0x4ce383,'operationType':_0xe103f8,'functionNode':_0x405c06};}async function promptSelect(_0x40444d,_0x29ebac){const _0x35f774=a26_0x48ad2e;if(_0x29ebac[_0x35f774(0x17d)]===0x1)return 0x0;for(const [_0x47b0bf,_0x420b22]of _0x29ebac[_0x35f774(0x19a)]()){process[_0x35f774(0x18d)]['write']('\x20\x20'+(_0x47b0bf+0x1)+'.\x20'+_0x420b22+'\x0a');}const _0x7e4bc0=createInterface({'input':process[_0x35f774(0x17c)],'output':process[_0x35f774(0x18d)]});while(!![]){const _0x3d886d=await new Promise(_0x41d6cf=>{const _0x1f3939=_0x35f774;_0x7e4bc0[_0x1f3939(0x14d)](_0x40444d+'\x20',_0x41d6cf);}),_0x457dc4=Number['parseInt'](_0x3d886d[_0x35f774(0x143)](),0xa);if(Number[_0x35f774(0x195)](_0x457dc4)&&_0x457dc4>=0x1&&_0x457dc4<=_0x29ebac[_0x35f774(0x17d)])return _0x7e4bc0[_0x35f774(0x15f)](),_0x457dc4-0x1;process[_0x35f774(0x18d)]['write'](_0x35f774(0x18e)+_0x29ebac[_0x35f774(0x17d)]+'.\x0a');}}function buildFilePath(_0x4e095d,_0x39a378,_0x362b83,_0x2f7dad){const _0x4c4f5f=a26_0x48ad2e;if(_0x39a378===_0x4c4f5f(0x157)){if(!_0x2f7dad)throw CliErrors[_0x4c4f5f(0x171)](_0x4c4f5f(0x16a));const _0x3928b6=_0x2f7dad[_0x4c4f5f(0x17e)]??_0x2f7dad[_0x4c4f5f(0x194)];return join(_0x4e095d[_0x4c4f5f(0x149)],_0x4c4f5f(0x157),_0x3928b6,_0x2f7dad[_0x4c4f5f(0x15d)],_0x2f7dad[_0x4c4f5f(0x172)],_0x362b83+_0x4c4f5f(0x19c));}return join(_0x4e095d['scriptsRootDir'],_0x39a378,_0x362b83+_0x4c4f5f(0x19c));}export function generateTemplate(_0x32f2e2,_0x1c4e4f,_0x561997,_0x37159a,_0x48276e){const _0x4250e0=a26_0x48ad2e,_0x5ea11b=_0x37159a?.['trim']()||_0x4250e0(0x199);if(_0x32f2e2===_0x4250e0(0x148))return'/**\x0a\x20*\x20COMMON\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20'+_0x5ea11b+'\x0a\x20*\x20[脚本名称]\x20'+_0x1c4e4f+_0x4250e0(0x15a)+_0x1c4e4f+_0x4250e0(0x166)+_0x1c4e4f+'(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a';if(_0x32f2e2===_0x4250e0(0x18c))return'/**\x0a\x20*\x20ENDPOINT\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20'+_0x5ea11b+'\x0a\x20*\x20[接口路径]\x20POST\x20/api/endpoint/{appCode}/{scriptName}\x0a\x20*\x20[当前示例]\x20POST\x20/api/endpoint/'+_0x561997+'/'+_0x1c4e4f+_0x4250e0(0x186)+_0x1c4e4f+_0x4250e0(0x177);if(!_0x48276e)throw CliErrors[_0x4250e0(0x171)](_0x4250e0(0x191));return'/**\x0a\x20*\x20HOOK\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20'+_0x5ea11b+_0x4250e0(0x153)+_0x561997+'/'+_0x48276e[_0x4250e0(0x194)]+'/'+_0x48276e[_0x4250e0(0x15d)]+'\x0a\x20*\x20[触发节点]\x20'+_0x48276e[_0x4250e0(0x172)]+_0x4250e0(0x179)+_0x1c4e4f+_0x4250e0(0x177);}
1
+ const a26_0x3481d5=a26_0x3994;(function(_0x74e532,_0x233ffc){const _0x441184=a26_0x3994,_0x821d04=_0x74e532();while(!![]){try{const _0x243fa9=parseInt(_0x441184(0x1ac))/0x1+parseInt(_0x441184(0x195))/0x2+parseInt(_0x441184(0x198))/0x3+parseInt(_0x441184(0x1a3))/0x4+parseInt(_0x441184(0x1af))/0x5*(parseInt(_0x441184(0x1e6))/0x6)+parseInt(_0x441184(0x1c5))/0x7+-parseInt(_0x441184(0x1a7))/0x8*(parseInt(_0x441184(0x1bf))/0x9);if(_0x243fa9===_0x233ffc)break;else _0x821d04['push'](_0x821d04['shift']());}catch(_0x2bd525){_0x821d04['push'](_0x821d04['shift']());}}}(a26_0x4f75,0xd8812));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';import{assertDatasetSupportsLocalDevelopment,filterDbBackedDatasets}from'../../commands/dataset/capability.js';export const bffCreate={'service':a26_0x3481d5(0x1dd),'command':a26_0x3481d5(0x1b8),'description':a26_0x3481d5(0x1a8),'risk':a26_0x3481d5(0x193),'flags':[{'name':a26_0x3481d5(0x1df),'type':a26_0x3481d5(0x1ea),'required':!![],'enum':[a26_0x3481d5(0x1a0),a26_0x3481d5(0x1a5),a26_0x3481d5(0x1ba)],'description':'Script\x20type'},{'name':a26_0x3481d5(0x1ca),'type':a26_0x3481d5(0x1ea),'required':!![],'description':'Function\x20name\x20(valid\x20JS\x20identifier)'},{'name':a26_0x3481d5(0x1cc),'type':a26_0x3481d5(0x1ea),'description':'Script\x20description'},{'name':a26_0x3481d5(0x199),'type':a26_0x3481d5(0x1ea),'description':a26_0x3481d5(0x1c1)},{'name':a26_0x3481d5(0x1cf),'type':a26_0x3481d5(0x1ea),'description':a26_0x3481d5(0x196)},{'name':'operation-type','type':a26_0x3481d5(0x1ea),'description':a26_0x3481d5(0x1b0)},{'name':a26_0x3481d5(0x1e7),'type':a26_0x3481d5(0x1ea),'description':a26_0x3481d5(0x1e8),'enum':[a26_0x3481d5(0x1db),'after']}],async 'validate'(_0x2e9d9a){const _0x2ab25d=a26_0x3481d5,_0x2f3eb8=_0x2e9d9a[_0x2ab25d(0x1e5)](_0x2ab25d(0x1ca));if(!isValidBffFunctionName(_0x2f3eb8))throw CliErrors[_0x2ab25d(0x1ce)](_0x2ab25d(0x1de)+_0x2f3eb8+_0x2ab25d(0x1c8));},async 'execute'(_0x5770d2){const _0x55264f=a26_0x3481d5,_0x1f3e3d=loadBffProjectConfig(_0x5770d2[_0x55264f(0x1c2)]),_0x33651a=_0x5770d2['str']('type'),_0x111474=_0x5770d2[_0x55264f(0x1e5)](_0x55264f(0x1ca)),_0x59501a=_0x5770d2['str'](_0x55264f(0x1cc))||undefined,_0x355596=_0x33651a===_0x55264f(0x1ba)?await resolveHookOptions(_0x1f3e3d,_0x5770d2):undefined,_0x2a6060=buildFilePath(_0x1f3e3d,_0x33651a,_0x111474,_0x355596);if(await fileExists(_0x2a6060))throw CliErrors[_0x55264f(0x1ce)](_0x55264f(0x1a2)+_0x2a6060);await mkdir(dirname(_0x2a6060),{'recursive':!![]});const _0x1d22b2=generateTemplate(_0x33651a,_0x111474,_0x5770d2['appCode'],_0x59501a,_0x355596);await writeFile(_0x2a6060,_0x1d22b2,_0x55264f(0x19e));const _0x56c4a5={'type':_0x33651a,'name':_0x111474,'path':_0x2a6060};if(_0x59501a)_0x56c4a5[_0x55264f(0x1cc)]=_0x59501a;if(_0x355596){if(_0x355596[_0x55264f(0x199)])_0x56c4a5[_0x55264f(0x199)]=_0x355596['alias'];_0x56c4a5[_0x55264f(0x19d)]=_0x355596[_0x55264f(0x19d)],_0x56c4a5['operationType']=_0x355596[_0x55264f(0x1c7)],_0x56c4a5[_0x55264f(0x1bb)]=_0x355596['functionNode'];}return{'ok':!![],'data':_0x56c4a5,'message':'Created\x20'+_0x33651a+_0x55264f(0x1d3)+_0x111474};}};async function resolveHookOptions(_0x2b31eb,_0x5661be){const _0x178543=a26_0x3481d5,_0x146364=loadAliasMap(_0x5661be[_0x178543(0x1d0)],undefined,resolveApiFilePath(_0x5661be[_0x178543(0x1d0)],_0x5661be['appCode'])),_0x212c44=_0x146364[_0x178543(0x1e1)]>0x0;let _0x175c7c,_0x3b2821,_0x4bc940;const _0xfd4469=_0x5661be[_0x178543(0x1e5)](_0x178543(0x199)),_0x4be1ea=_0x5661be[_0x178543(0x1e5)](_0x178543(0x1cf));if(_0xfd4469){const _0x59db9d=resolveAlias(_0x5661be[_0x178543(0x1d0)],_0xfd4469,undefined,resolveApiFilePath(_0x5661be[_0x178543(0x1d0)],_0x5661be[_0x178543(0x1c2)]));if(!_0x59db9d){const _0x281f98=_0x212c44?'Available\x20aliases:\x20'+_0x146364[_0x178543(0x1cd)](_0x190944=>_0x190944[_0x178543(0x199)])[_0x178543(0x1ae)](',\x20'):_0x178543(0x1c9)+CLI_BIN_NAME+'\x20api\x20pull`\x20first,\x20or\x20use\x20--datasetcode\x20instead.';throw CliErrors[_0x178543(0x1ce)]('Alias\x20\x22'+_0xfd4469+'\x22\x20not\x20found.\x20'+_0x281f98);}_0x175c7c=_0xfd4469,_0x3b2821=_0x59db9d;}else{if(_0x4be1ea){_0x3b2821=_0x4be1ea;const _0x848b03=_0x146364['find'](_0x2d1f48=>_0x2d1f48[_0x178543(0x19d)]===_0x4be1ea);_0x175c7c=_0x848b03?.[_0x178543(0x199)];}else{if(_0x5661be[_0x178543(0x1e2)])throw CliErrors['validation'](_0x178543(0x1b6));else{if(_0x212c44){const _0x271daf=_0x146364[_0x178543(0x1cd)](_0x3fc31f=>_0x3fc31f[_0x178543(0x199)]+'\x20('+_0x3fc31f[_0x178543(0x19c)]+')'),_0x447b41=await promptSelect(_0x178543(0x1c3),_0x271daf),_0x5fd1f4=_0x146364[_0x447b41];if(!_0x5fd1f4)throw CliErrors[_0x178543(0x1ce)](_0x178543(0x1d2));_0x175c7c=_0x5fd1f4[_0x178543(0x199)],_0x3b2821=_0x5fd1f4[_0x178543(0x19d)];}else{const _0x545704=await listDatasets(_0x5661be['appCode']),_0x3a5703=filterDbBackedDatasets(_0x545704);if(_0x3a5703['length']===0x0)throw CliErrors[_0x178543(0x1ce)](_0x545704[_0x178543(0x1e1)]===0x0?_0x178543(0x1c0):_0x178543(0x1d6));const _0x1ba5e7=_0x3a5703['map'](_0x5cee2d=>_0x5cee2d[_0x178543(0x1ca)]+'\x20('+_0x5cee2d[_0x178543(0x1b1)]+')'),_0x3b706b=await promptSelect(_0x178543(0x1c3),_0x1ba5e7),_0x30446c=_0x3a5703[_0x3b706b];if(!_0x30446c)throw CliErrors[_0x178543(0x1ce)](_0x178543(0x1d2));_0x3b2821=_0x30446c[_0x178543(0x1b1)],_0x175c7c=undefined;}}}}const _0xb9c77d=await listDatasets(_0x5661be[_0x178543(0x1c2)]),_0x1a0f52=_0xb9c77d[_0x178543(0x1da)](_0x2d24df=>_0x2d24df[_0x178543(0x1b1)]===_0x3b2821);if(!_0x1a0f52)throw CliErrors[_0x178543(0x1ce)](_0x178543(0x1c6)+_0x3b2821+_0x178543(0x1bc)+(_0x175c7c?_0x178543(0x1aa)+CLI_BIN_NAME+_0x178543(0x1b5):''));assertDatasetSupportsLocalDevelopment(_0x1a0f52,_0x178543(0x1cb)),_0x4bc940=_0x1a0f52['id'];const _0x21209e=_0x175c7c??_0x3b2821,_0x5b4c9b=await listBffDatasetOperations(_0x5661be[_0x178543(0x1c2)],_0x4bc940),_0x2b8c2b=_0x5b4c9b?Object[_0x178543(0x194)](_0x5b4c9b):[];if(_0x2b8c2b[_0x178543(0x1e1)]===0x0)throw CliErrors['validation']('No\x20operation\x20types\x20found\x20for\x20dataset\x20'+_0x21209e+'.');let _0x3f3514;const _0x11dfd9=_0x5661be[_0x178543(0x1e5)](_0x178543(0x1c4));if(_0x11dfd9){if(!_0x2b8c2b['includes'](_0x11dfd9))throw CliErrors[_0x178543(0x1ce)](_0x178543(0x1a1)+_0x11dfd9+_0x178543(0x197)+_0x21209e+'.\x20'+(_0x178543(0x1b4)+_0x2b8c2b[_0x178543(0x1ae)](',\x20')));_0x3f3514=_0x11dfd9;}else{if(_0x5661be[_0x178543(0x1e2)])throw CliErrors[_0x178543(0x1ce)](_0x178543(0x1d9));const _0x56d7e4=await promptSelect(_0x178543(0x1ad),_0x2b8c2b);_0x3f3514=_0x2b8c2b[_0x56d7e4]??_0x2b8c2b[0x0];}let _0x104902=normalizeHookFunctionNode(_0x5661be[_0x178543(0x1e5)](_0x178543(0x1e7)));if(!_0x104902){if(_0x5661be['str'](_0x178543(0x1e7)))throw CliErrors[_0x178543(0x1ce)](_0x178543(0x1b2));if(_0x5661be[_0x178543(0x1e2)])throw CliErrors['validation'](_0x178543(0x192));const _0x2780d5=await promptSelect('Select\x20trigger\x20node:',['before',_0x178543(0x1e3)]);_0x104902=['before',_0x178543(0x1e3)][_0x2780d5]??_0x178543(0x1db);}return{'alias':_0x175c7c,'datasetCode':_0x3b2821,'datasetId':_0x4bc940,'operationType':_0x3f3514,'functionNode':_0x104902};}async function promptSelect(_0x1f8be1,_0x42c9c7){const _0x1a04a2=a26_0x3481d5;if(_0x42c9c7[_0x1a04a2(0x1e1)]===0x1)return 0x0;for(const [_0x46d302,_0x33d3dd]of _0x42c9c7[_0x1a04a2(0x1e9)]()){process[_0x1a04a2(0x1dc)][_0x1a04a2(0x193)]('\x20\x20'+(_0x46d302+0x1)+'.\x20'+_0x33d3dd+'\x0a');}const _0x531d0b=createInterface({'input':process[_0x1a04a2(0x1d8)],'output':process[_0x1a04a2(0x1dc)]});while(!![]){const _0x646752=await new Promise(_0x421153=>{const _0x1b2bdf=_0x1a04a2;_0x531d0b[_0x1b2bdf(0x1a9)](_0x1f8be1+'\x20',_0x421153);}),_0x28a3d5=Number[_0x1a04a2(0x1bd)](_0x646752[_0x1a04a2(0x1b3)](),0xa);if(Number['isInteger'](_0x28a3d5)&&_0x28a3d5>=0x1&&_0x28a3d5<=_0x42c9c7['length'])return _0x531d0b[_0x1a04a2(0x1b7)](),_0x28a3d5-0x1;process[_0x1a04a2(0x1dc)][_0x1a04a2(0x193)](_0x1a04a2(0x1e0)+_0x42c9c7['length']+'.\x0a');}}function buildFilePath(_0x900d88,_0x5ce0c8,_0x3eb4db,_0x530189){const _0x4899ad=a26_0x3481d5;if(_0x5ce0c8===_0x4899ad(0x1ba)){if(!_0x530189)throw CliErrors['validation'](_0x4899ad(0x1d5));const _0x365aeb=_0x530189[_0x4899ad(0x199)]??_0x530189['datasetCode'];return join(_0x900d88['scriptsRootDir'],_0x4899ad(0x1ba),_0x365aeb,_0x530189['operationType'],_0x530189['functionNode'],_0x3eb4db+'.js');}return join(_0x900d88['scriptsRootDir'],_0x5ce0c8,_0x3eb4db+_0x4899ad(0x1a6));}function a26_0x3994(_0x3efb50,_0x3876bb){_0x3efb50=_0x3efb50-0x192;const _0x4f75f5=a26_0x4f75();let _0x399401=_0x4f75f5[_0x3efb50];return _0x399401;}export function generateTemplate(_0xe51e4a,_0x37b3f6,_0x43ac03,_0x3cd130,_0x346b19){const _0x4d9970=a26_0x3481d5,_0x52882d=_0x3cd130?.['trim']()||'TODO:\x20add\x20script\x20description';if(_0xe51e4a===_0x4d9970(0x1a0))return _0x4d9970(0x1d4)+_0x52882d+'\x0a\x20*\x20[脚本名称]\x20'+_0x37b3f6+_0x4d9970(0x19a)+_0x37b3f6+'.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'+_0x37b3f6+_0x4d9970(0x1e4);if(_0xe51e4a===_0x4d9970(0x1a5))return _0x4d9970(0x19f)+_0x52882d+_0x4d9970(0x1d1)+_0x43ac03+'/'+_0x37b3f6+_0x4d9970(0x1a4)+_0x37b3f6+'(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a';if(!_0x346b19)throw CliErrors['validation'](_0x4d9970(0x1ab));return _0x4d9970(0x19b)+_0x52882d+_0x4d9970(0x1be)+_0x43ac03+'/'+_0x346b19['datasetCode']+'/'+_0x346b19['operationType']+_0x4d9970(0x1b9)+_0x346b19[_0x4d9970(0x1bb)]+_0x4d9970(0x1d7)+_0x37b3f6+_0x4d9970(0x1e4);}function a26_0x4f75(){const _0x7850f5=['description','map','validation','datasetcode','apiDir','\x0a\x20*\x20[接口路径]\x20POST\x20/api/endpoint/{appCode}/{scriptName}\x0a\x20*\x20[当前示例]\x20POST\x20/api/endpoint/','Invalid\x20dataset\x20selection.','\x20function:\x20','/**\x0a\x20*\x20COMMON\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','HOOK\x20requires\x20alias/operation/node\x20options.','No\x20DB\x20table\x20datasets\x20found\x20for\x20this\x20app.\x20METADATA\x20datasets\x20cannot\x20be\x20used\x20for\x20BFF\x20HOOK\x20development\x20because\x20the\x20workflow\x20depends\x20on\x20SQL\x20execution.','\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','stdin','--operation-type\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','find','before','stderr','bff','Invalid\x20function\x20name\x20\x22','type','\x20\x20Enter\x20a\x20number\x20between\x201\x20and\x20','length','nonInteractive','after','(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a','str','6GxSjez','function-node','Trigger\x20node\x20(HOOK\x20only)','entries','string','--function-node\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','write','keys','1472176oPFqBD','Dataset\x20code\x20(HOOK\x20only,\x20fallback\x20when\x20alias\x20unavailable)','\x22\x20not\x20found\x20for\x20dataset\x20','918291cGurkH','alias','\x0a\x20*\x20[脚本类型]\x20COMMON\x0a\x20*\x20[本地路径]\x20.rabetbase/bff/COMMON/','/**\x0a\x20*\x20HOOK\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','tableName','datasetCode','utf8','/**\x0a\x20*\x20ENDPOINT\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','COMMON','Operation\x20type\x20\x22','File\x20already\x20exists:\x20','5017864ltxjHq','\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','ENDPOINT','.js','8tSrpUK','Scaffold\x20a\x20new\x20BFF\x20function\x20from\x20template','question','The\x20api.ts\x20may\x20be\x20stale\x20—\x20run\x20`','HOOK\x20requires\x20hookOptions\x20for\x20template\x20generation.','1749757tzfvua','Select\x20operation\x20type:','join','1849385PYatpc','Operation\x20type\x20(HOOK\x20only)','code','--function-node\x20must\x20be\x20\x27before\x27\x20or\x20\x27after\x27.','trim','Available:\x20','\x20api\x20pull`\x20to\x20refresh.','--alias\x20or\x20--datasetcode\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','close','create','\x0a\x20*\x20[触发节点]\x20','HOOK','functionNode','\x22.\x20','parseInt','\x0a\x20*\x20[接口路径]\x20POST\x20/api/','35091747yYybwN','No\x20datasets\x20found\x20for\x20this\x20app.','Dataset\x20alias\x20from\x20api.ts\x20(HOOK\x20only,\x20preferred)','appCode','Select\x20dataset:','operation-type','2587200aEQWMH','Dataset\x20not\x20found\x20for\x20code\x20\x22','operationType','\x22.\x20Must\x20be\x20a\x20valid\x20JS\x20identifier\x20(e.g.\x20createOrder,\x20beforeFilter).','No\x20api.ts\x20found.\x20Run\x20`','name','BFF\x20HOOK'];a26_0x4f75=function(){return _0x7850f5;};return a26_0x4f75();}
@@ -1 +1 @@
1
- const a27_0x58e73c=a27_0x2a2a;(function(_0x42017d,_0x2b1530){const _0x150f03=a27_0x2a2a,_0x25c615=_0x42017d();while(!![]){try{const _0xa2bcc5=-parseInt(_0x150f03(0x158))/0x1+-parseInt(_0x150f03(0x13f))/0x2*(-parseInt(_0x150f03(0x160))/0x3)+parseInt(_0x150f03(0x144))/0x4+-parseInt(_0x150f03(0x149))/0x5+-parseInt(_0x150f03(0x145))/0x6*(-parseInt(_0x150f03(0x157))/0x7)+parseInt(_0x150f03(0x150))/0x8*(parseInt(_0x150f03(0x13c))/0x9)+-parseInt(_0x150f03(0x143))/0xa*(parseInt(_0x150f03(0x15a))/0xb);if(_0xa2bcc5===_0x2b1530)break;else _0x25c615['push'](_0x25c615['shift']());}catch(_0x3fe87b){_0x25c615['push'](_0x25c615['shift']());}}}(a27_0x5a07,0x5efc4));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_0x2a2a(_0x55eff5,_0x33fa8b){_0x55eff5=_0x55eff5-0x137;const _0x5a0781=a27_0x5a07();let _0x2a2a8f=_0x5a0781[_0x55eff5];return _0x2a2a8f;}import{ensureLockScope,readBffLockFile,writeBffLockFile}from'../../core/bff/lock.js';import{CliErrors}from'../../errors.js';import{sleep}from'../../utils/sleep.js';function a27_0x5a07(){const _0x16741d=['remoteId','756065lddJmv','includes','str','\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20trash','find','functions','BFF\x20lock\x20file\x20not\x20found.\x20Run\x20`push`\x20or\x20`pull`\x20first\x20to\x20initialize\x20sync\x20state.','492824eZBVLN','keys','target','Delete\x20a\x20BFF\x20script\x20from\x20remote\x20and\x20local','scriptsRoot','/api/management/library/scripts/delete','delete','14pfAHDY','511067aXlwMt','validation','7669255XhXWkG','\x22\x20not\x20found\x20after\x20ensureLockScope.','POST','map','Function\x20not\x20found:\x20','No\x20lock\x20entry\x20found\x20for\x20\x22','2060907ruwArY','lockFilePath','toISOString','trashDir','split','Lock\x20scope\x20for\x20app\x20\x22','BFF\x20lock\x20file\x20not\x20found.','apps','Multiple\x20functions\x20match\x20\x22','string','Deleted\x20','length','appCode','\x20\x20-\x20','72mHZgHZ','scriptsRootDir','\x22.\x20Use\x20the\x20full\x20lock\x20key:\x0a','2gZGvjd','high-risk-write','replace','join','20zEWECg','2630332YCvXne','1825122Gkgxck','projectRoot','parse'];a27_0x5a07=function(){return _0x16741d;};return a27_0x5a07();}export const bffDelete={'service':'bff','command':'delete','description':a27_0x58e73c(0x153),'risk':a27_0x58e73c(0x140),'flags':[{'name':a27_0x58e73c(0x152),'type':a27_0x58e73c(0x137),'required':!![],'description':'Lock\x20key\x20(e.g.\x20ENDPOINT/createOrder)\x20or\x20short\x20function\x20name'}],async 'validate'(_0x11e64){const _0x140e46=a27_0x58e73c,_0x197858=loadBffProjectConfig(_0x11e64[_0x140e46(0x13a)]),_0x188bb4=await readBffLockFile(_0x197858['lockFilePath']);if(!_0x188bb4)throw CliErrors[_0x140e46(0x159)](_0x140e46(0x14f));},async 'dryRun'(_0x2406e8){const _0x35311b=a27_0x58e73c,_0x1f945=loadBffProjectConfig(_0x2406e8[_0x35311b(0x13a)]),_0x17458a=await readBffLockFile(_0x1f945[_0x35311b(0x161)]);if(!_0x17458a)throw CliErrors[_0x35311b(0x159)](_0x35311b(0x166));const {appLock:_0x1f0f64}=ensureLockScope(_0x17458a,_0x2406e8[_0x35311b(0x13a)],_0x1f945[_0x35311b(0x154)],'delete'),_0x511ef5=_0x2406e8[_0x35311b(0x14b)](_0x35311b(0x152)),_0x2e9272=Object[_0x35311b(0x151)](_0x1f0f64[_0x35311b(0x14e)]),_0x1dfa2a=resolveDeleteTarget(_0x511ef5,_0x2e9272),_0x2ce5f3=_0x1f0f64['functions'][_0x1dfa2a];if(!_0x2ce5f3)throw CliErrors['validation'](_0x35311b(0x15f)+_0x1dfa2a+'\x22.');const _0x362d8e=resolveLocalFilePathFromLockKey(_0x1f945,_0x1dfa2a),_0x1c4ce4=relative(_0x1f945['projectRoot'],_0x362d8e),_0xca8a77=join(_0x1f945['trashDir'],'<timestamp>',_0x1c4ce4);return{'method':_0x35311b(0x15c),'url':_0x35311b(0x155),'body':{'appCode':_0x2406e8[_0x35311b(0x13a)],'target':_0x1dfa2a,'remoteId':_0x2ce5f3[_0x35311b(0x148)],'localFilePath':_0x362d8e,'trashedPath':_0xca8a77},'description':'Would\x20delete\x20'+_0x1dfa2a+_0x35311b(0x14c)};},async 'execute'(_0x7c8b19){const _0x25d659=a27_0x58e73c,_0x3e718f=loadBffProjectConfig(_0x7c8b19[_0x25d659(0x13a)]),_0x32e552=await readBffLockFile(_0x3e718f[_0x25d659(0x161)]);if(!_0x32e552)throw CliErrors[_0x25d659(0x159)](_0x25d659(0x166));const {lockData:_0x2b85a9,appLock:_0x3a1e43}=ensureLockScope(_0x32e552,_0x7c8b19[_0x25d659(0x13a)],_0x3e718f['scriptsRoot'],_0x25d659(0x156)),_0x2c8389=JSON[_0x25d659(0x147)](JSON['stringify'](_0x2b85a9)),_0x181abc=_0x2c8389[_0x25d659(0x167)][_0x7c8b19[_0x25d659(0x13a)]];if(!_0x181abc)throw new Error(_0x25d659(0x165)+_0x7c8b19[_0x25d659(0x13a)]+_0x25d659(0x15b));const _0x359370=_0x7c8b19[_0x25d659(0x14b)](_0x25d659(0x152)),_0x2cc4b1=Object[_0x25d659(0x151)](_0x181abc['functions']),_0x37d51d=resolveDeleteTarget(_0x359370,_0x2cc4b1),_0x42e992=_0x181abc['functions'][_0x37d51d];if(!_0x42e992)throw CliErrors[_0x25d659(0x159)]('No\x20lock\x20entry\x20found\x20for\x20\x22'+_0x37d51d+'\x22.');await deleteBffScript(_0x42e992[_0x25d659(0x148)]),delete _0x181abc['functions'][_0x37d51d],_0x181abc['lastSync']=new Date()[_0x25d659(0x162)](),await writeBffLockFile(_0x3e718f[_0x25d659(0x161)],_0x2c8389);const _0x15f9c4=resolveLocalFilePathFromLockKey(_0x3e718f,_0x37d51d);let _0x731980;await fileExists(_0x15f9c4)&&(_0x731980=await moveToTrash(_0x3e718f[_0x25d659(0x146)],_0x3e718f[_0x25d659(0x163)],_0x15f9c4),await cleanupEmptyDirectories(dirname(_0x15f9c4),_0x3e718f[_0x25d659(0x13d)]));await waitForDeleteSettlement(_0x3e718f[_0x25d659(0x161)],_0x7c8b19['appCode'],_0x37d51d,_0x15f9c4),await sleep(0x96);const _0x3d625c={'deleted':_0x37d51d,'remoteId':_0x42e992[_0x25d659(0x148)]};if(_0x731980)_0x3d625c['trashedTo']=_0x731980;return{'ok':!![],'data':_0x3d625c,'message':_0x25d659(0x138)+_0x37d51d+(_0x731980?'\x20(local\x20file\x20moved\x20to\x20trash)':'')};}};function resolveDeleteTarget(_0x2ee724,_0x5135d0){const _0x1e4a82=a27_0x58e73c;if(_0x2ee724[_0x1e4a82(0x14a)]('/')){const _0x4d3752=_0x5135d0[_0x1e4a82(0x14d)](_0x2a1d67=>_0x2a1d67===_0x2ee724);if(!_0x4d3752)throw CliErrors[_0x1e4a82(0x159)]('Function\x20not\x20found:\x20'+_0x2ee724);return _0x4d3752;}const _0x1049c1=_0x5135d0['filter'](_0x1caec6=>_0x1caec6[_0x1e4a82(0x164)]('/')['at'](-0x1)===_0x2ee724);if(_0x1049c1[_0x1e4a82(0x139)]===0x0)throw CliErrors[_0x1e4a82(0x159)](_0x1e4a82(0x15e)+_0x2ee724);if(_0x1049c1[_0x1e4a82(0x139)]>0x1)throw CliErrors[_0x1e4a82(0x159)](_0x1e4a82(0x168)+_0x2ee724+_0x1e4a82(0x13e)+_0x1049c1[_0x1e4a82(0x15d)](_0xf460a0=>_0x1e4a82(0x13b)+_0xf460a0)[_0x1e4a82(0x142)]('\x0a'));return _0x1049c1[0x0];}async function moveToTrash(_0x59c53f,_0x12dc89,_0x554460){const _0x55b3ba=a27_0x58e73c,_0xd73a01=new Date()[_0x55b3ba(0x162)]()[_0x55b3ba(0x141)](/[:.]/g,'-'),_0x1d1c51=relative(_0x59c53f,_0x554460),_0xbb1d00=join(_0x12dc89,_0xd73a01,_0x1d1c51);return await mkdir(dirname(_0xbb1d00),{'recursive':!![]}),await rename(_0x554460,_0xbb1d00),_0xbb1d00;}async function cleanupEmptyDirectories(_0x3afbac,_0x3d549b){let _0x4cc006=resolve(_0x3afbac);const _0x2d0f72=resolve(_0x3d549b);while(_0x4cc006['startsWith'](''+_0x2d0f72+sep)||_0x4cc006===_0x2d0f72){if(_0x4cc006===_0x2d0f72)return;try{const _0x270aac=await readdir(_0x4cc006);if(_0x270aac['length']>0x0)return;await rmdir(_0x4cc006);}catch{return;}_0x4cc006=dirname(_0x4cc006);}}const DELETE_SETTLE_RETRY_COUNT=0x14,DELETE_SETTLE_DELAY_MS=0x64;async function waitForDeleteSettlement(_0x3acc72,_0x41b184,_0x3dba31,_0x375044){const _0x3c3f21=a27_0x58e73c;for(let _0x3977b0=0x0;_0x3977b0<DELETE_SETTLE_RETRY_COUNT;_0x3977b0+=0x1){const _0x357b08=await readBffLockFile(_0x3acc72),_0x3fd982=!!_0x357b08?.[_0x3c3f21(0x167)]?.[_0x41b184]?.[_0x3c3f21(0x14e)]?.[_0x3dba31],_0x14ef6c=await fileExists(_0x375044);if(!_0x3fd982&&!_0x14ef6c)return;await sleep(DELETE_SETTLE_DELAY_MS);}throw new Error('Local\x20delete\x20not\x20settled\x20for\x20'+_0x3dba31+'.');}
1
+ const a27_0x293986=a27_0x2aa9;(function(_0x4d304b,_0x3dbacf){const _0x175a5c=a27_0x2aa9,_0x1775d5=_0x4d304b();while(!![]){try{const _0x3a7d62=-parseInt(_0x175a5c(0x148))/0x1+parseInt(_0x175a5c(0x137))/0x2+parseInt(_0x175a5c(0x149))/0x3+parseInt(_0x175a5c(0x12b))/0x4+parseInt(_0x175a5c(0x131))/0x5+parseInt(_0x175a5c(0x120))/0x6*(-parseInt(_0x175a5c(0x14b))/0x7)+-parseInt(_0x175a5c(0x124))/0x8*(parseInt(_0x175a5c(0x121))/0x9);if(_0x3a7d62===_0x3dbacf)break;else _0x1775d5['push'](_0x1775d5['shift']());}catch(_0x12919e){_0x1775d5['push'](_0x1775d5['shift']());}}}(a27_0x1092,0x3173f));import{mkdir,readdir,rename,rmdir}from'node:fs/promises';import{dirname,join,relative,resolve,sep}from'node:path';import{deleteBffScript}from'../../core/api-client.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{fileExists,resolveLocalFilePathFromLockKey}from'../../core/bff/file-system.js';import{ensureLockScope,readBffLockFile,writeBffLockFile}from'../../core/bff/lock.js';import{CliErrors}from'../../errors.js';import{sleep}from'../../utils/sleep.js';export const bffDelete={'service':a27_0x293986(0x147),'command':a27_0x293986(0x135),'description':a27_0x293986(0x12f),'risk':'high-risk-write','flags':[{'name':'target','type':'string','required':!![],'description':a27_0x293986(0x13e)}],async 'validate'(_0x3349e2){const _0x37ac2b=a27_0x293986,_0x53f104=loadBffProjectConfig(_0x3349e2[_0x37ac2b(0x145)]),_0x153210=await readBffLockFile(_0x53f104[_0x37ac2b(0x133)]);if(!_0x153210)throw CliErrors[_0x37ac2b(0x14d)]('BFF\x20lock\x20file\x20not\x20found.\x20Run\x20`push`\x20or\x20`pull`\x20first\x20to\x20initialize\x20sync\x20state.');},async 'dryRun'(_0x35b88d){const _0x4f87d0=a27_0x293986,_0x349e02=loadBffProjectConfig(_0x35b88d['appCode']),_0x324ffd=await readBffLockFile(_0x349e02[_0x4f87d0(0x133)]);if(!_0x324ffd)throw CliErrors[_0x4f87d0(0x14d)](_0x4f87d0(0x129));const {appLock:_0x48e1c9}=ensureLockScope(_0x324ffd,_0x35b88d['appCode'],_0x349e02[_0x4f87d0(0x130)],_0x4f87d0(0x135)),_0x4bd39f=_0x35b88d['str']('target'),_0x4eb273=Object[_0x4f87d0(0x12c)](_0x48e1c9[_0x4f87d0(0x13c)]),_0x5b3541=resolveDeleteTarget(_0x4bd39f,_0x4eb273),_0x3ce1a9=_0x48e1c9[_0x4f87d0(0x13c)][_0x5b3541];if(!_0x3ce1a9)throw CliErrors[_0x4f87d0(0x14d)](_0x4f87d0(0x123)+_0x5b3541+'\x22.');const _0x4f781e=resolveLocalFilePathFromLockKey(_0x349e02,_0x5b3541),_0x3343a5=relative(_0x349e02[_0x4f87d0(0x11e)],_0x4f781e),_0x221fe3=join(_0x349e02[_0x4f87d0(0x12d)],_0x4f87d0(0x126),_0x3343a5);return{'method':_0x4f87d0(0x142),'url':_0x4f87d0(0x11d),'body':{'appCode':_0x35b88d[_0x4f87d0(0x145)],'target':_0x5b3541,'remoteId':_0x3ce1a9[_0x4f87d0(0x134)],'localFilePath':_0x4f781e,'trashedPath':_0x221fe3},'description':_0x4f87d0(0x13d)+_0x5b3541+_0x4f87d0(0x127)};},async 'execute'(_0x2a362d){const _0x365bcd=a27_0x293986,_0x259149=loadBffProjectConfig(_0x2a362d[_0x365bcd(0x145)]),_0xaef5c9=await readBffLockFile(_0x259149['lockFilePath']);if(!_0xaef5c9)throw CliErrors['validation'](_0x365bcd(0x129));const {lockData:_0x2d14d5,appLock:_0x29fe10}=ensureLockScope(_0xaef5c9,_0x2a362d[_0x365bcd(0x145)],_0x259149['scriptsRoot'],_0x365bcd(0x135)),_0x4d7874=JSON[_0x365bcd(0x138)](JSON[_0x365bcd(0x144)](_0x2d14d5)),_0x409c09=_0x4d7874['apps'][_0x2a362d['appCode']];if(!_0x409c09)throw new Error(_0x365bcd(0x136)+_0x2a362d['appCode']+'\x22\x20not\x20found\x20after\x20ensureLockScope.');const _0x3e2698=_0x2a362d['str'](_0x365bcd(0x11f)),_0x4e4d2b=Object[_0x365bcd(0x12c)](_0x409c09[_0x365bcd(0x13c)]),_0x30d12f=resolveDeleteTarget(_0x3e2698,_0x4e4d2b),_0x3c8f9a=_0x409c09[_0x365bcd(0x13c)][_0x30d12f];if(!_0x3c8f9a)throw CliErrors[_0x365bcd(0x14d)]('No\x20lock\x20entry\x20found\x20for\x20\x22'+_0x30d12f+'\x22.');await deleteBffScript(_0x3c8f9a[_0x365bcd(0x134)]),delete _0x409c09[_0x365bcd(0x13c)][_0x30d12f],_0x409c09['lastSync']=new Date()[_0x365bcd(0x12a)](),await writeBffLockFile(_0x259149['lockFilePath'],_0x4d7874);const _0x2bdf28=resolveLocalFilePathFromLockKey(_0x259149,_0x30d12f);let _0x2f3c93;await fileExists(_0x2bdf28)&&(_0x2f3c93=await moveToTrash(_0x259149[_0x365bcd(0x11e)],_0x259149[_0x365bcd(0x12d)],_0x2bdf28),await cleanupEmptyDirectories(dirname(_0x2bdf28),_0x259149[_0x365bcd(0x132)]));await waitForDeleteSettlement(_0x259149[_0x365bcd(0x133)],_0x2a362d[_0x365bcd(0x145)],_0x30d12f,_0x2bdf28),await sleep(0x96);const _0x365027={'deleted':_0x30d12f,'remoteId':_0x3c8f9a[_0x365bcd(0x134)]};if(_0x2f3c93)_0x365027['trashedTo']=_0x2f3c93;return{'ok':!![],'data':_0x365027,'message':_0x365bcd(0x13f)+_0x30d12f+(_0x2f3c93?_0x365bcd(0x139):'')};}};function a27_0x2aa9(_0x1ae035,_0x582f2c){_0x1ae035=_0x1ae035-0x11d;const _0x109242=a27_0x1092();let _0x2aa9ba=_0x109242[_0x1ae035];return _0x2aa9ba;}function resolveDeleteTarget(_0x5c26e9,_0x1e1913){const _0x154c05=a27_0x293986;if(_0x5c26e9[_0x154c05(0x14a)]('/')){const _0x689e1f=_0x1e1913['find'](_0x10f13a=>_0x10f13a===_0x5c26e9);if(!_0x689e1f)throw CliErrors['validation']('Function\x20not\x20found:\x20'+_0x5c26e9);return _0x689e1f;}const _0x5f3854=_0x1e1913[_0x154c05(0x146)](_0x32c2ce=>_0x32c2ce[_0x154c05(0x125)]('/')['at'](-0x1)===_0x5c26e9);if(_0x5f3854[_0x154c05(0x13a)]===0x0)throw CliErrors[_0x154c05(0x14d)]('Function\x20not\x20found:\x20'+_0x5c26e9);if(_0x5f3854[_0x154c05(0x13a)]>0x1)throw CliErrors['validation'](_0x154c05(0x122)+_0x5c26e9+_0x154c05(0x12e)+_0x5f3854[_0x154c05(0x141)](_0x354b00=>_0x154c05(0x13b)+_0x354b00)[_0x154c05(0x14c)]('\x0a'));return _0x5f3854[0x0];}function a27_0x1092(){const _0x111ed5=['parse','\x20(local\x20file\x20moved\x20to\x20trash)','length','\x20\x20-\x20','functions','Would\x20delete\x20','Lock\x20key\x20(e.g.\x20ENDPOINT/createOrder)\x20or\x20short\x20function\x20name','Deleted\x20','apps','map','POST','Local\x20delete\x20not\x20settled\x20for\x20','stringify','appCode','filter','bff','243682jQaXWX','937752ZlIqxg','includes','91cnnbTN','join','validation','/api/management/library/scripts/delete','projectRoot','target','67476iQGOpv','297dCRUBk','Multiple\x20functions\x20match\x20\x22','No\x20lock\x20entry\x20found\x20for\x20\x22','87776LCuBLl','split','<timestamp>','\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20trash','replace','BFF\x20lock\x20file\x20not\x20found.','toISOString','877872jWJZkI','keys','trashDir','\x22.\x20Use\x20the\x20full\x20lock\x20key:\x0a','Delete\x20a\x20BFF\x20script\x20from\x20remote\x20and\x20local','scriptsRoot','838310nflDkM','scriptsRootDir','lockFilePath','remoteId','delete','Lock\x20scope\x20for\x20app\x20\x22','509602RBYCiv'];a27_0x1092=function(){return _0x111ed5;};return a27_0x1092();}async function moveToTrash(_0x1a5219,_0x25bcbc,_0x30e6c0){const _0x509c63=a27_0x293986,_0x4b08f3=new Date()[_0x509c63(0x12a)]()[_0x509c63(0x128)](/[:.]/g,'-'),_0x13af35=relative(_0x1a5219,_0x30e6c0),_0x217f62=join(_0x25bcbc,_0x4b08f3,_0x13af35);return await mkdir(dirname(_0x217f62),{'recursive':!![]}),await rename(_0x30e6c0,_0x217f62),_0x217f62;}async function cleanupEmptyDirectories(_0x4b4e46,_0x16903b){const _0x1f8a19=a27_0x293986;let _0xc9a6c5=resolve(_0x4b4e46);const _0x150890=resolve(_0x16903b);while(_0xc9a6c5['startsWith'](''+_0x150890+sep)||_0xc9a6c5===_0x150890){if(_0xc9a6c5===_0x150890)return;try{const _0x615a7d=await readdir(_0xc9a6c5);if(_0x615a7d[_0x1f8a19(0x13a)]>0x0)return;await rmdir(_0xc9a6c5);}catch{return;}_0xc9a6c5=dirname(_0xc9a6c5);}}const DELETE_SETTLE_RETRY_COUNT=0x14,DELETE_SETTLE_DELAY_MS=0x64;async function waitForDeleteSettlement(_0x3154bd,_0x5d2dd0,_0xe63714,_0xe558){const _0x3711a1=a27_0x293986;for(let _0x309f66=0x0;_0x309f66<DELETE_SETTLE_RETRY_COUNT;_0x309f66+=0x1){const _0x403e7a=await readBffLockFile(_0x3154bd),_0x13fe7c=!!_0x403e7a?.[_0x3711a1(0x140)]?.[_0x5d2dd0]?.['functions']?.[_0xe63714],_0x20ce6a=await fileExists(_0xe558);if(!_0x13fe7c&&!_0x20ce6a)return;await sleep(DELETE_SETTLE_DELAY_MS);}throw new Error(_0x3711a1(0x143)+_0xe63714+'.');}
@@ -1 +1 @@
1
- function a28_0x2d9c(_0x15fa40,_0x40e40b){_0x15fa40=_0x15fa40-0xd8;const _0x11e8c7=a28_0x11e8();let _0x2d9cd9=_0x11e8c7[_0x15fa40];return _0x2d9cd9;}function a28_0x11e8(){const _0x3f19ad=['num','145854uRnEXS','136GoEByH','20766QJWPoD','description','3022764AhkXiB','Get\x20BFF\x20script\x20details\x20by\x20ID','3976170FUNbRK','boolean','scriptContent','read','Return\x20full\x20raw\x20script\x20object','2wpiAOf','verbose','(none)','44XpsPDD','createdTime','scriptType','5cLVQxx','758439xrbqta','Script\x20ID','number','1547lsgMur','appCode','261347cSSTIC','1441336TrfVuV','bff'];a28_0x11e8=function(){return _0x3f19ad;};return a28_0x11e8();}const a28_0x178427=a28_0x2d9c;(function(_0x3a8e95,_0x41d7cf){const _0x1e2312=a28_0x2d9c,_0x29b47f=_0x3a8e95();while(!![]){try{const _0x42b9cd=parseInt(_0x1e2312(0xe9))/0x1*(parseInt(_0x1e2312(0xdd))/0x2)+parseInt(_0x1e2312(0xe4))/0x3+parseInt(_0x1e2312(0xea))/0x4*(parseInt(_0x1e2312(0xe3))/0x5)+parseInt(_0x1e2312(0xef))/0x6*(-parseInt(_0x1e2312(0xe7))/0x7)+parseInt(_0x1e2312(0xee))/0x8*(-parseInt(_0x1e2312(0xed))/0x9)+-parseInt(_0x1e2312(0xd8))/0xa+-parseInt(_0x1e2312(0xe0))/0xb*(-parseInt(_0x1e2312(0xf1))/0xc);if(_0x42b9cd===_0x41d7cf)break;else _0x29b47f['push'](_0x29b47f['shift']());}catch(_0x2e3981){_0x29b47f['push'](_0x29b47f['shift']());}}}(a28_0x11e8,0x6c6b2));import{getBffScriptInfo}from'../../core/api-client.js';export const bffDetail={'service':a28_0x178427(0xeb),'command':'detail','description':a28_0x178427(0xf2),'risk':a28_0x178427(0xdb),'flags':[{'name':'id','type':a28_0x178427(0xe6),'required':!![],'description':a28_0x178427(0xe5)},{'name':a28_0x178427(0xde),'type':a28_0x178427(0xd9),'description':a28_0x178427(0xdc)}],async 'execute'(_0x4e0d63){const _0x1bd056=a28_0x178427,_0x4dccce=await getBffScriptInfo(_0x4e0d63[_0x1bd056(0xec)]('id')),_0x59c9a0=_0x4e0d63['bool'](_0x1bd056(0xde));if(_0x59c9a0)return{'ok':!![],'data':_0x4dccce};return{'ok':!![],'data':{'id':_0x4dccce['id'],'appCode':_0x4dccce[_0x1bd056(0xe8)],'scriptType':_0x4dccce[_0x1bd056(0xe2)],'description':_0x4dccce[_0x1bd056(0xf0)]||_0x1bd056(0xdf),'createdTime':_0x4dccce[_0x1bd056(0xe1)]??'','updatedTime':_0x4dccce['updatedTime']??'','scriptContent':_0x4dccce[_0x1bd056(0xda)]??''}};}};
1
+ const a28_0x542d09=a28_0x3276;function a28_0x3276(_0x5d922d,_0x3b6682){_0x5d922d=_0x5d922d-0x197;const _0x5dc689=a28_0x5dc6();let _0x3276b9=_0x5dc689[_0x5d922d];return _0x3276b9;}(function(_0x425325,_0x355c26){const _0x63bbe7=a28_0x3276,_0x16fc13=_0x425325();while(!![]){try{const _0x2e1656=-parseInt(_0x63bbe7(0x19c))/0x1+-parseInt(_0x63bbe7(0x1a4))/0x2+-parseInt(_0x63bbe7(0x1ab))/0x3*(parseInt(_0x63bbe7(0x198))/0x4)+-parseInt(_0x63bbe7(0x1a6))/0x5*(-parseInt(_0x63bbe7(0x1a7))/0x6)+-parseInt(_0x63bbe7(0x1a0))/0x7+parseInt(_0x63bbe7(0x1a3))/0x8+parseInt(_0x63bbe7(0x19d))/0x9;if(_0x2e1656===_0x355c26)break;else _0x16fc13['push'](_0x16fc13['shift']());}catch(_0x2f0370){_0x16fc13['push'](_0x16fc13['shift']());}}}(a28_0x5dc6,0x30cff));import{getBffScriptInfo}from'../../core/api-client.js';export const bffDetail={'service':a28_0x542d09(0x197),'command':a28_0x542d09(0x19f),'description':a28_0x542d09(0x1a8),'risk':a28_0x542d09(0x1a2),'flags':[{'name':'id','type':'number','required':!![],'description':a28_0x542d09(0x1a9)},{'name':'verbose','type':a28_0x542d09(0x1a1),'description':a28_0x542d09(0x19b)}],async 'execute'(_0x738fa){const _0x3e87ed=a28_0x542d09,_0x1077a6=await getBffScriptInfo(_0x738fa[_0x3e87ed(0x19a)]('id')),_0x292f23=_0x738fa[_0x3e87ed(0x199)]('verbose');if(_0x292f23)return{'ok':!![],'data':_0x1077a6};return{'ok':!![],'data':{'id':_0x1077a6['id'],'appCode':_0x1077a6['appCode'],'scriptType':_0x1077a6['scriptType'],'description':_0x1077a6[_0x3e87ed(0x19e)]||'(none)','createdTime':_0x1077a6['createdTime']??'','updatedTime':_0x1077a6[_0x3e87ed(0x1a5)]??'','scriptContent':_0x1077a6[_0x3e87ed(0x1aa)]??''}};}};function a28_0x5dc6(){const _0x3d7e68=['bool','num','Return\x20full\x20raw\x20script\x20object','312032VdWQdN','5117652kcubQp','description','detail','2701293IBPdpX','boolean','read','3196840UwLvrs','266992dCWKVu','updatedTime','175hsgVxg','13242IAljdj','Get\x20BFF\x20script\x20details\x20by\x20ID','Script\x20ID','scriptContent','21174unXosO','bff','8fQVemh'];a28_0x5dc6=function(){return _0x3d7e68;};return a28_0x5dc6();}
@@ -1 +1 @@
1
- (function(_0x293d08,_0xef05d){const _0xb8bc6f=a29_0x55c5,_0x13f0bf=_0x293d08();while(!![]){try{const _0x430f74=parseInt(_0xb8bc6f(0xe2))/0x1*(parseInt(_0xb8bc6f(0xdc))/0x2)+parseInt(_0xb8bc6f(0xe0))/0x3+parseInt(_0xb8bc6f(0xdd))/0x4+parseInt(_0xb8bc6f(0xe3))/0x5+parseInt(_0xb8bc6f(0xde))/0x6+parseInt(_0xb8bc6f(0xdf))/0x7+-parseInt(_0xb8bc6f(0xe1))/0x8;if(_0x430f74===_0xef05d)break;else _0x13f0bf['push'](_0x13f0bf['shift']());}catch(_0x4d7bae){_0x13f0bf['push'](_0x13f0bf['shift']());}}}(a29_0x253a,0xd6c99));import{bffList}from'../../commands/bff/list.js';import{bffDetail}from'../../commands/bff/detail.js';function a29_0x55c5(_0x3d56be,_0x3b1ce7){_0x3d56be=_0x3d56be-0xdc;const _0x253aed=a29_0x253a();let _0x55c5ca=_0x253aed[_0x3d56be];return _0x55c5ca;}function a29_0x253a(){const _0x49e524=['5781332tOVLOi','5571138QJNrHL','3794497ercDFB','1429821kCCzlR','39471184yZEzUZ','2vNuIdQ','5049905SRahBS','1411152otJFCO'];a29_0x253a=function(){return _0x49e524;};return a29_0x253a();}import{bffStatus}from'../../commands/bff/status.js';import{bffCreate}from'../../commands/bff/create.js';import{bffPush}from'../../commands/bff/push.js';import{bffPull}from'../../commands/bff/pull.js';import{bffDelete}from'../../commands/bff/delete.js';export const bffDefinitions=[bffList,bffDetail,bffStatus,bffCreate,bffPush,bffPull,bffDelete];
1
+ function a29_0xfd7e(){const _0x20841a=['105984dMIhQH','1009528ZVxhtC','1114002Ktsfwq','2216920lWTLpC','266plbYEi','1777604EMvYsU','15199ohHhXs','10OjXciX','1501428PBQpTH'];a29_0xfd7e=function(){return _0x20841a;};return a29_0xfd7e();}function a29_0xc25a(_0x4796f5,_0xd8edf2){_0x4796f5=_0x4796f5-0x14e;const _0xfd7ecf=a29_0xfd7e();let _0xc25a05=_0xfd7ecf[_0x4796f5];return _0xc25a05;}(function(_0x14d703,_0x2f9c86){const _0x1b4843=a29_0xc25a,_0x57e83e=_0x14d703();while(!![]){try{const _0x117ab6=parseInt(_0x1b4843(0x14f))/0x1*(-parseInt(_0x1b4843(0x150))/0x2)+parseInt(_0x1b4843(0x151))/0x3+parseInt(_0x1b4843(0x14e))/0x4+parseInt(_0x1b4843(0x155))/0x5+parseInt(_0x1b4843(0x152))/0x6*(-parseInt(_0x1b4843(0x156))/0x7)+-parseInt(_0x1b4843(0x153))/0x8+-parseInt(_0x1b4843(0x154))/0x9;if(_0x117ab6===_0x2f9c86)break;else _0x57e83e['push'](_0x57e83e['shift']());}catch(_0x38b31a){_0x57e83e['push'](_0x57e83e['shift']());}}}(a29_0xfd7e,0x5f799));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';import{bffDelete}from'../../commands/bff/delete.js';export const bffDefinitions=[bffList,bffDetail,bffStatus,bffCreate,bffPush,bffPull,bffDelete];
@@ -1 +1 @@
1
- function a30_0x4ebe(){const _0x219b65=['4209499esvVUy','3948306CedXct','List\x20BFF\x20scripts','32333UYrUkZ','str','description','scriptType','name','COMMON','6229056VWzUuO','read','106QYcbDt','3447228LeuOWQ','length','(unnamed)','map','bff','verbose','string','16sscvTL','boolean','Return\x20full\x20script\x20objects','No\x20BFF\x20scripts\x20found.','Script\x20type\x20filter','7979949tiaQjU','type','ENDPOINT','functionName','2017755yzXgSp','appCode'];a30_0x4ebe=function(){return _0x219b65;};return a30_0x4ebe();}function a30_0x15b3(_0x421285,_0x3dea24){_0x421285=_0x421285-0x93;const _0x4ebe67=a30_0x4ebe();let _0x15b3a2=_0x4ebe67[_0x421285];return _0x15b3a2;}const a30_0x556576=a30_0x15b3;(function(_0x4f117d,_0x4e9a5b){const _0x1712ff=a30_0x15b3,_0x26e1ba=_0x4f117d();while(!![]){try{const _0x554c13=-parseInt(_0x1712ff(0xaa))/0x1*(parseInt(_0x1712ff(0x94))/0x2)+parseInt(_0x1712ff(0x95))/0x3+parseInt(_0x1712ff(0xb0))/0x4+-parseInt(_0x1712ff(0xa5))/0x5+parseInt(_0x1712ff(0xa8))/0x6+-parseInt(_0x1712ff(0xa7))/0x7*(parseInt(_0x1712ff(0x9c))/0x8)+parseInt(_0x1712ff(0xa1))/0x9;if(_0x554c13===_0x4e9a5b)break;else _0x26e1ba['push'](_0x26e1ba['shift']());}catch(_0x39eecd){_0x26e1ba['push'](_0x26e1ba['shift']());}}}(a30_0x4ebe,0xe3542));import{listBffScripts}from'../../core/api-client.js';export const bffList={'service':a30_0x556576(0x99),'command':'list','description':a30_0x556576(0xa9),'risk':a30_0x556576(0x93),'flags':[{'name':a30_0x556576(0xa2),'type':a30_0x556576(0x9b),'description':a30_0x556576(0xa0),'default':a30_0x556576(0xa3),'enum':[a30_0x556576(0xa3),a30_0x556576(0xaf)]},{'name':a30_0x556576(0xae),'type':a30_0x556576(0x9b),'description':'Filter\x20by\x20script\x20name'},{'name':a30_0x556576(0x9a),'type':a30_0x556576(0x9d),'description':a30_0x556576(0x9e)}],async 'execute'(_0xa12776){const _0x25bae1=a30_0x556576,_0x1bb164=await listBffScripts(_0xa12776[_0x25bae1(0xa6)],_0xa12776['str']('type'),{'scriptName':_0xa12776[_0x25bae1(0xab)](_0x25bae1(0xae))||undefined}),_0xd0337=_0xa12776['bool'](_0x25bae1(0x9a));return{'ok':!![],'data':_0xd0337?_0x1bb164:_0x1bb164[_0x25bae1(0x98)](_0x5c3958=>({'id':_0x5c3958['id'],'functionName':_0x5c3958[_0x25bae1(0xa4)]??'','description':_0x5c3958[_0x25bae1(0xac)]||_0x25bae1(0x97),'scriptType':_0x5c3958[_0x25bae1(0xad)]})),'message':_0x1bb164[_0x25bae1(0x96)]===0x0?_0x25bae1(0x9f):undefined};}};
1
+ const a30_0xd61fd5=a30_0x138c;(function(_0x3b439d,_0x55a1c1){const _0x111fde=a30_0x138c,_0x53bf6c=_0x3b439d();while(!![]){try{const _0x5b3667=-parseInt(_0x111fde(0x1bc))/0x1*(parseInt(_0x111fde(0x1cf))/0x2)+parseInt(_0x111fde(0x1d3))/0x3+-parseInt(_0x111fde(0x1c4))/0x4+-parseInt(_0x111fde(0x1c1))/0x5+parseInt(_0x111fde(0x1c9))/0x6+-parseInt(_0x111fde(0x1c7))/0x7+parseInt(_0x111fde(0x1ce))/0x8;if(_0x5b3667===_0x55a1c1)break;else _0x53bf6c['push'](_0x53bf6c['shift']());}catch(_0x4bbfbb){_0x53bf6c['push'](_0x53bf6c['shift']());}}}(a30_0x5114,0xe4ba2));import{listBffScripts}from'../../core/api-client.js';export const bffList={'service':a30_0xd61fd5(0x1d0),'command':a30_0xd61fd5(0x1d2),'description':a30_0xd61fd5(0x1c8),'risk':a30_0xd61fd5(0x1bf),'flags':[{'name':a30_0xd61fd5(0x1d1),'type':a30_0xd61fd5(0x1cc),'description':a30_0xd61fd5(0x1be),'default':a30_0xd61fd5(0x1d4),'enum':[a30_0xd61fd5(0x1d4),a30_0xd61fd5(0x1bd)]},{'name':a30_0xd61fd5(0x1c2),'type':'string','description':a30_0xd61fd5(0x1bb)},{'name':a30_0xd61fd5(0x1c3),'type':'boolean','description':a30_0xd61fd5(0x1cb)}],async 'execute'(_0x2c5fbb){const _0x120538=a30_0xd61fd5,_0x4920c3=await listBffScripts(_0x2c5fbb[_0x120538(0x1ba)],_0x2c5fbb[_0x120538(0x1cd)]('type'),{'scriptName':_0x2c5fbb[_0x120538(0x1cd)](_0x120538(0x1c2))||undefined}),_0x1aa0fe=_0x2c5fbb[_0x120538(0x1c6)](_0x120538(0x1c3));return{'ok':!![],'data':_0x1aa0fe?_0x4920c3:_0x4920c3['map'](_0x1ac06a=>({'id':_0x1ac06a['id'],'functionName':_0x1ac06a[_0x120538(0x1c0)]??'','description':_0x1ac06a['description']||'(unnamed)','scriptType':_0x1ac06a[_0x120538(0x1c5)]})),'message':_0x4920c3[_0x120538(0x1ca)]===0x0?'No\x20BFF\x20scripts\x20found.':undefined};}};function a30_0x138c(_0x2d1163,_0x4ae064){_0x2d1163=_0x2d1163-0x1ba;const _0x511466=a30_0x5114();let _0x138cc1=_0x511466[_0x2d1163];return _0x138cc1;}function a30_0x5114(){const _0x490da2=['3797185FyPhAG','name','verbose','5715384meDvgu','scriptType','bool','7545447ZtCGWa','List\x20BFF\x20scripts','7188270WlmKAd','length','Return\x20full\x20script\x20objects','string','str','24389296vTjJfm','1160164VNvTbj','bff','type','list','1609335BMGPhC','ENDPOINT','appCode','Filter\x20by\x20script\x20name','1lgnqIE','COMMON','Script\x20type\x20filter','read','functionName'];a30_0x5114=function(){return _0x490da2;};return a30_0x5114();}
@@ -1 +1 @@
1
- const a31_0x3f9834=a31_0x33db;(function(_0x35bfeb,_0x470351){const _0x3eed0f=a31_0x33db,_0x3ab57d=_0x35bfeb();while(!![]){try{const _0x2a8c9c=parseInt(_0x3eed0f(0x181))/0x1+-parseInt(_0x3eed0f(0x13d))/0x2*(parseInt(_0x3eed0f(0x145))/0x3)+parseInt(_0x3eed0f(0x148))/0x4+parseInt(_0x3eed0f(0x17e))/0x5*(-parseInt(_0x3eed0f(0x157))/0x6)+-parseInt(_0x3eed0f(0x16d))/0x7*(-parseInt(_0x3eed0f(0x139))/0x8)+parseInt(_0x3eed0f(0x16b))/0x9+-parseInt(_0x3eed0f(0x179))/0xa*(parseInt(_0x3eed0f(0x15f))/0xb);if(_0x2a8c9c===_0x470351)break;else _0x3ab57d['push'](_0x3ab57d['shift']());}catch(_0x21df3c){_0x3ab57d['push'](_0x3ab57d['shift']());}}}(a31_0x57a4,0x9bd9b));import{createInterface}from'node:readline';import{writeFile}from'node:fs/promises';function a31_0x33db(_0x3b1264,_0x2d6ae2){_0x3b1264=_0x3b1264-0x134;const _0x57a489=a31_0x57a4();let _0x33dbe2=_0x57a489[_0x3b1264];return _0x33dbe2;}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':'pull','description':'Pull\x20remote\x20BFF\x20scripts\x20to\x20local','risk':a31_0x3f9834(0x150),'flags':[{'name':a31_0x3f9834(0x137),'type':a31_0x3f9834(0x159),'description':'Pull\x20only\x20this\x20script\x20type','enum':[a31_0x3f9834(0x167),a31_0x3f9834(0x146),a31_0x3f9834(0x15a)]},{'name':'force','type':'boolean','description':a31_0x3f9834(0x142)}],async 'dryRun'(_0x5bf0f8){const _0xf27bda=a31_0x3f9834,_0x13c386=loadBffProjectConfig(_0x5bf0f8['appCode']),_0x197713=await readBffLockFile(_0x13c386[_0xf27bda(0x147)]),{appLock:_0x5babfd}=ensureLockScope(_0x197713??createEmptyBffLock(),_0x5bf0f8['appCode'],_0x13c386['scriptsRoot'],_0xf27bda(0x164)),_0x554bd0=normalizeBffType(_0x5bf0f8['str'](_0xf27bda(0x137)))??undefined,_0x19643c=buildDatasetCodeToAliasMap(_0x5bf0f8[_0xf27bda(0x171)],_0x5bf0f8[_0xf27bda(0x17f)]),[_0x507dab,_0x3b12c3]=await Promise['all']([listBffScripts(_0x5bf0f8[_0xf27bda(0x17f)],_0x554bd0),getBffScriptStatistics(_0x5bf0f8['appCode'])]),_0x8623a0=createHookLocationMap(_0x3b12c3),_0x251cdf=[];for(const _0x21fdee of _0x507dab){const _0x40a60f=resolveRemoteScriptTarget(_0x13c386,_0x21fdee,_0x8623a0,_0x5babfd['functions'],_0x19643c);if(!_0x40a60f){_0x251cdf['push']({'scriptType':_0x21fdee[_0xf27bda(0x14b)],'functionName':_0x21fdee[_0xf27bda(0x17a)]??'','status':_0xf27bda(0x13c),'reason':'unresolvable\x20target\x20path'});continue;}const _0x45fa7c=_0x5babfd[_0xf27bda(0x170)][_0x40a60f['lockKey']],_0x7be5b9=_0x21fdee[_0xf27bda(0x162)]!=null?computeContentHash(_0x21fdee[_0xf27bda(0x162)]):undefined,_0x470108=await hasUnsyncedLocalChanges(_0x40a60f[_0xf27bda(0x15c)],_0x45fa7c,_0x7be5b9);_0x251cdf[_0xf27bda(0x17b)]({'lockKey':_0x40a60f[_0xf27bda(0x134)],'filePath':_0x40a60f[_0xf27bda(0x15c)],'remoteId':_0x21fdee['id']??null,'status':_0x470108?_0xf27bda(0x16f):_0xf27bda(0x13f)});}return{'method':_0xf27bda(0x168),'url':_0xf27bda(0x14c)+_0x5bf0f8['appCode']+(_0x554bd0?_0xf27bda(0x17d)+_0x554bd0:''),'body':{'appCode':_0x5bf0f8[_0xf27bda(0x17f)],'filterType':_0x554bd0??null,'files':_0x251cdf},'description':_0xf27bda(0x158)+_0x251cdf[_0xf27bda(0x13b)]+_0xf27bda(0x173)};},async 'execute'(_0x4525e4){const _0x3eda5b=a31_0x3f9834,_0x4a3853=loadBffProjectConfig(_0x4525e4['appCode']),_0x357625=await readBffLockFile(_0x4a3853[_0x3eda5b(0x147)]),{lockData:_0xcccb36,appLock:_0x4b7da5}=ensureLockScope(_0x357625??createEmptyBffLock(),_0x4525e4[_0x3eda5b(0x17f)],_0x4a3853[_0x3eda5b(0x165)],'pull'),_0x124347=normalizeBffType(_0x4525e4[_0x3eda5b(0x15b)](_0x3eda5b(0x137)))??undefined;if(_0x4525e4[_0x3eda5b(0x15b)](_0x3eda5b(0x137))&&!_0x124347)throw CliErrors[_0x3eda5b(0x143)](_0x3eda5b(0x16e));const [_0x347fa6,_0x41f87a]=await Promise[_0x3eda5b(0x16a)]([listBffScripts(_0x4525e4['appCode'],_0x124347),getBffScriptStatistics(_0x4525e4[_0x3eda5b(0x17f)])]);if(_0x347fa6[_0x3eda5b(0x13b)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':'No\x20remote\x20BFF\x20scripts\x20found.'};const _0x159b7c=_0x4525e4[_0x3eda5b(0x151)](_0x3eda5b(0x155));if(_0x159b7c&&!_0x4525e4[_0x3eda5b(0x172)]){const _0x71756b=await confirmForce();if(!_0x71756b)throw CliErrors[_0x3eda5b(0x161)](_0x3eda5b(0x177));}if(_0x159b7c&&_0x4525e4[_0x3eda5b(0x172)]){}const _0x414bfc=buildDatasetCodeToAliasMap(_0x4525e4['apiDir'],_0x4525e4[_0x3eda5b(0x17f)]),_0x4cd5a7=createHookLocationMap(_0x41f87a),_0x1ef6d5=JSON[_0x3eda5b(0x14e)](JSON[_0x3eda5b(0x13a)](_0xcccb36)),_0x5a383a=_0x4525e4[_0x3eda5b(0x17f)],_0x521525=_0x1ef6d5[_0x3eda5b(0x140)][_0x5a383a];if(!_0x521525)throw new Error(_0x3eda5b(0x153)+_0x5a383a+'\x22\x20not\x20found\x20after\x20ensureLockScope.');const _0x3d35d6=[],_0x5ab454=[],_0x13a6f2=[];for(const _0x59fd0d of _0x347fa6){const _0x5ea61a=resolveRemoteScriptTarget(_0x4a3853,_0x59fd0d,_0x4cd5a7,_0x4b7da5[_0x3eda5b(0x170)],_0x414bfc);if(!_0x5ea61a){_0x5ab454[_0x3eda5b(0x17b)]({'lockKey':_0x59fd0d[_0x3eda5b(0x14b)]+'/'+_0x59fd0d[_0x3eda5b(0x17a)],'reason':_0x3eda5b(0x180)});continue;}const _0x1d8e70=_0x4b7da5[_0x3eda5b(0x170)][_0x5ea61a[_0x3eda5b(0x134)]];try{if(!_0x59fd0d['id'])throw new Error(_0x3eda5b(0x182));if(_0x59fd0d[_0x3eda5b(0x162)]==null)throw new Error(_0x3eda5b(0x138));const _0x12832c=_0x59fd0d[_0x3eda5b(0x162)],_0x1047bf=computeContentHash(_0x12832c);if(!_0x159b7c){const _0xf546b3=await hasUnsyncedLocalChanges(_0x5ea61a[_0x3eda5b(0x15c)],_0x1d8e70,_0x1047bf);if(_0xf546b3){_0x5ab454[_0x3eda5b(0x17b)]({'lockKey':_0x5ea61a[_0x3eda5b(0x134)],'reason':_0x3eda5b(0x15e)});continue;}}await ensureParentDirectory(_0x5ea61a['filePath']),await writeFile(_0x5ea61a[_0x3eda5b(0x15c)],_0x12832c,'utf8');const _0x3ce72d={'hash':_0x1047bf,'remoteId':_0x59fd0d['id'],'version':_0x59fd0d[_0x3eda5b(0x169)]};_0x5ea61a[_0x3eda5b(0x137)]==='HOOK'&&_0x5ea61a[_0x3eda5b(0x175)]&&(_0x3ce72d[_0x3eda5b(0x13e)]=_0x5ea61a[_0x3eda5b(0x175)][_0x3eda5b(0x13e)],_0x3ce72d['datasetCode']=_0x5ea61a[_0x3eda5b(0x175)][_0x3eda5b(0x152)],_0x3ce72d['operationType']=_0x5ea61a[_0x3eda5b(0x175)][_0x3eda5b(0x135)],_0x3ce72d[_0x3eda5b(0x14a)]=_0x5ea61a['hookLocation'][_0x3eda5b(0x14a)]),_0x521525[_0x3eda5b(0x170)][_0x5ea61a[_0x3eda5b(0x134)]]=_0x3ce72d,_0x3d35d6[_0x3eda5b(0x17b)]({'lockKey':_0x5ea61a[_0x3eda5b(0x134)],'remoteId':_0x59fd0d['id']});}catch(_0x59813a){_0x13a6f2[_0x3eda5b(0x17b)]({'lockKey':_0x5ea61a[_0x3eda5b(0x134)],'error':_0x59813a instanceof Error?_0x59813a[_0x3eda5b(0x17c)]:String(_0x59813a)});}}return _0x521525[_0x3eda5b(0x154)]=new Date()[_0x3eda5b(0x156)](),await writeBffLockFile(_0x4a3853[_0x3eda5b(0x147)],_0x1ef6d5),{'ok':_0x13a6f2[_0x3eda5b(0x13b)]===0x0,'data':{'pulled':_0x3d35d6,'skipped':_0x5ab454,'failed':_0x13a6f2},'message':_0x3eda5b(0x136)+_0x3d35d6['length']+_0x3eda5b(0x141)+_0x5ab454[_0x3eda5b(0x13b)]+_0x3eda5b(0x160)+_0x13a6f2[_0x3eda5b(0x13b)]+_0x3eda5b(0x149)};}};function a31_0x57a4(){const _0x372d4e=['parse','hash','write','bool','datasetCode','Lock\x20scope\x20for\x20app\x20\x22','lastSync','force','toISOString','6SYXwcL','Would\x20inspect\x20','string','HOOK','str','filePath','yes','local\x20unsynced\x20changes','3069hLoqhM','\x20skipped,\x20','cancelled','scriptContent','stderr','pull','scriptsRoot','close','COMMON','GET','version','all','11261907sPXyfb','stdin','47677gZnhaO','--type\x20must\x20be\x20COMMON,\x20ENDPOINT,\x20or\x20HOOK.','conflict','functions','apiDir','nonInteractive','\x20remote\x20BFF\x20script(s)\x20for\x20pull','map','hookLocation','includes','Force\x20pull\x20cancelled.','question','27760ehCUrE','functionName','push','message','&type=','4290635ebmtQs','appCode','unresolvable\x20target\x20path','851510UeIGbd','Remote\x20script\x20missing\x20id.','lockKey','operationType','Pull\x20complete:\x20','type','Remote\x20script\x20missing\x20content.','392HItGjG','stringify','length','skipped','2JxHIZG','alias','would_pull','apps','\x20pulled,\x20','Force\x20overwrite\x20local\x20unsynced\x20changes','validation','trim','2383164smxNHf','ENDPOINT','lockFilePath','2515240kenBrW','\x20failed','functionNode','scriptType','/api/management/library/scripts/list?appCode=','toLowerCase'];a31_0x57a4=function(){return _0x372d4e;};return a31_0x57a4();}async function hasUnsyncedLocalChanges(_0x99d758,_0x156fde,_0x3b8f75){const _0x47ccc4=a31_0x3f9834;if(!await fileExists(_0x99d758))return![];const _0x33804e=await computeFileHash(_0x99d758);if(!_0x156fde)return _0x3b8f75?_0x33804e!==_0x3b8f75:!![];return _0x33804e!==_0x156fde[_0x47ccc4(0x14f)];}function buildDatasetCodeToAliasMap(_0xd5f134,_0x532b70){const _0x50442d=a31_0x3f9834,_0x2055ab=loadAliasMap(_0xd5f134,undefined,resolveApiFilePath(_0xd5f134,_0x532b70));return new Map(_0x2055ab[_0x50442d(0x174)](_0x2f6e63=>[_0x2f6e63[_0x50442d(0x152)],_0x2f6e63[_0x50442d(0x13e)]]));}async function confirmForce(){const _0x1eb02c=a31_0x3f9834,_0x22c4d3=createInterface({'input':process[_0x1eb02c(0x16c)],'output':process[_0x1eb02c(0x163)]}),_0x24dedb=await new Promise(_0x4be210=>{const _0x230f25=_0x1eb02c;_0x22c4d3[_0x230f25(0x178)]('Force\x20pull\x20will\x20overwrite\x20local\x20unsynced\x20changes.\x20Continue?\x20[y/N]\x20',_0x4be210);});return _0x22c4d3[_0x1eb02c(0x166)](),['y',_0x1eb02c(0x15d)][_0x1eb02c(0x176)](_0x24dedb[_0x1eb02c(0x144)]()[_0x1eb02c(0x14d)]());}
1
+ const a31_0x4af5c8=a31_0x1165;(function(_0x509c4b,_0x2e7581){const _0x484ac2=a31_0x1165,_0x532e42=_0x509c4b();while(!![]){try{const _0x4784dc=parseInt(_0x484ac2(0x10d))/0x1*(parseInt(_0x484ac2(0x127))/0x2)+-parseInt(_0x484ac2(0x115))/0x3+parseInt(_0x484ac2(0x14b))/0x4+parseInt(_0x484ac2(0x12d))/0x5*(-parseInt(_0x484ac2(0x128))/0x6)+-parseInt(_0x484ac2(0x138))/0x7+parseInt(_0x484ac2(0x122))/0x8+parseInt(_0x484ac2(0x14a))/0x9;if(_0x4784dc===_0x2e7581)break;else _0x532e42['push'](_0x532e42['shift']());}catch(_0x5a3084){_0x532e42['push'](_0x532e42['shift']());}}}(a31_0x3b28,0x3de56));import{createInterface}from'node:readline';function a31_0x1165(_0x307b7f,_0x295f8a){_0x307b7f=_0x307b7f-0x10a;const _0x3b2898=a31_0x3b28();let _0x116576=_0x3b2898[_0x307b7f];return _0x116576;}import{writeFile}from'node:fs/promises';import{listBffScripts,getBffScriptStatistics}from'../../core/api-client.js';import{loadAliasMap}from'../../core/alias-resolver.js';import{resolveApiFilePath}from'../../context.js';import{loadBffProjectConfig}from'../../core/bff/config.js';function a31_0x3b28(){const _0x1c084d=['761432FyAsRJ','operationType','lockKey','functionNode','\x22\x20not\x20found\x20after\x20ensureLockScope.','Remote\x20script\x20missing\x20id.','No\x20remote\x20BFF\x20scripts\x20found.','apiDir','write','unresolvable\x20target\x20path','type','GET','1EKJxhD','str','appCode','stringify','yes','\x20skipped,\x20','force','Pull\x20remote\x20BFF\x20scripts\x20to\x20local','785625oYXFOn','/api/management/library/scripts/list?appCode=','\x20remote\x20BFF\x20script(s)\x20for\x20pull','validation','Pull\x20only\x20this\x20script\x20type','would_pull','scriptContent','filePath','bff','functions','stderr','lockFilePath','hash','2843672VhcCWV','conflict','pull','Force\x20pull\x20cancelled.','nonInteractive','285218vrMiuq','18fqsXMC','message','question','parse','boolean','399995wWctSu','Would\x20inspect\x20','Force\x20pull\x20will\x20overwrite\x20local\x20unsynced\x20changes.\x20Continue?\x20[y/N]\x20','Remote\x20script\x20missing\x20content.','utf8','alias','push','all','toISOString','Pull\x20complete:\x20','--type\x20must\x20be\x20COMMON,\x20ENDPOINT,\x20or\x20HOOK.','3544198INMvUY','lastSync','COMMON','scriptType','functionName','string','length','\x20failed','skipped','ENDPOINT','apps','HOOK','includes','toLowerCase','version','cancelled','hookLocation','scriptsRoot','5159574uNjTmN'];a31_0x3b28=function(){return _0x1c084d;};return a31_0x3b28();}import{createHookLocationMap,ensureParentDirectory,fileExists,normalizeBffType,resolveRemoteScriptTarget}from'../../core/bff/file-system.js';import{computeContentHash,computeFileHash}from'../../core/bff/hash.js';import{createEmptyBffLock,ensureLockScope,readBffLockFile,writeBffLockFile}from'../../core/bff/lock.js';import{CliErrors}from'../../errors.js';export const bffPull={'service':a31_0x4af5c8(0x11d),'command':a31_0x4af5c8(0x124),'description':a31_0x4af5c8(0x114),'risk':a31_0x4af5c8(0x153),'flags':[{'name':a31_0x4af5c8(0x10b),'type':a31_0x4af5c8(0x13d),'description':a31_0x4af5c8(0x119),'enum':[a31_0x4af5c8(0x13a),a31_0x4af5c8(0x141),'HOOK']},{'name':a31_0x4af5c8(0x113),'type':a31_0x4af5c8(0x12c),'description':'Force\x20overwrite\x20local\x20unsynced\x20changes'}],async 'dryRun'(_0x5a01fb){const _0x243764=a31_0x4af5c8,_0x1bac40=loadBffProjectConfig(_0x5a01fb[_0x243764(0x10f)]),_0x430144=await readBffLockFile(_0x1bac40[_0x243764(0x120)]),{appLock:_0x536dd4}=ensureLockScope(_0x430144??createEmptyBffLock(),_0x5a01fb[_0x243764(0x10f)],_0x1bac40[_0x243764(0x149)],'pull'),_0x543fd5=normalizeBffType(_0x5a01fb[_0x243764(0x10e)](_0x243764(0x10b)))??undefined,_0x5a6d85=buildDatasetCodeToAliasMap(_0x5a01fb[_0x243764(0x152)],_0x5a01fb[_0x243764(0x10f)]),[_0x313716,_0x41bf54]=await Promise[_0x243764(0x134)]([listBffScripts(_0x5a01fb[_0x243764(0x10f)],_0x543fd5),getBffScriptStatistics(_0x5a01fb[_0x243764(0x10f)])]),_0x26614d=createHookLocationMap(_0x41bf54),_0x3654e7=[];for(const _0x1c63cc of _0x313716){const _0x31c8c1=resolveRemoteScriptTarget(_0x1bac40,_0x1c63cc,_0x26614d,_0x536dd4['functions'],_0x5a6d85);if(!_0x31c8c1){_0x3654e7[_0x243764(0x133)]({'scriptType':_0x1c63cc[_0x243764(0x13b)],'functionName':_0x1c63cc[_0x243764(0x13c)]??'','status':_0x243764(0x140),'reason':_0x243764(0x10a)});continue;}const _0x520159=_0x536dd4[_0x243764(0x11e)][_0x31c8c1[_0x243764(0x14d)]],_0x3996b3=_0x1c63cc[_0x243764(0x11b)]!=null?computeContentHash(_0x1c63cc['scriptContent']):undefined,_0xe033c2=await hasUnsyncedLocalChanges(_0x31c8c1[_0x243764(0x11c)],_0x520159,_0x3996b3);_0x3654e7[_0x243764(0x133)]({'lockKey':_0x31c8c1[_0x243764(0x14d)],'filePath':_0x31c8c1[_0x243764(0x11c)],'remoteId':_0x1c63cc['id']??null,'status':_0xe033c2?_0x243764(0x123):_0x243764(0x11a)});}return{'method':_0x243764(0x10c),'url':_0x243764(0x116)+_0x5a01fb['appCode']+(_0x543fd5?'&type='+_0x543fd5:''),'body':{'appCode':_0x5a01fb[_0x243764(0x10f)],'filterType':_0x543fd5??null,'files':_0x3654e7},'description':_0x243764(0x12e)+_0x3654e7[_0x243764(0x13e)]+_0x243764(0x117)};},async 'execute'(_0xd175b){const _0x28e2ff=a31_0x4af5c8,_0x5b14f7=loadBffProjectConfig(_0xd175b[_0x28e2ff(0x10f)]),_0x20a07b=await readBffLockFile(_0x5b14f7[_0x28e2ff(0x120)]),{lockData:_0x13a924,appLock:_0x4940b7}=ensureLockScope(_0x20a07b??createEmptyBffLock(),_0xd175b[_0x28e2ff(0x10f)],_0x5b14f7[_0x28e2ff(0x149)],'pull'),_0x1185f2=normalizeBffType(_0xd175b[_0x28e2ff(0x10e)](_0x28e2ff(0x10b)))??undefined;if(_0xd175b[_0x28e2ff(0x10e)]('type')&&!_0x1185f2)throw CliErrors[_0x28e2ff(0x118)](_0x28e2ff(0x137));const [_0x1cff8c,_0x437b42]=await Promise[_0x28e2ff(0x134)]([listBffScripts(_0xd175b[_0x28e2ff(0x10f)],_0x1185f2),getBffScriptStatistics(_0xd175b['appCode'])]);if(_0x1cff8c[_0x28e2ff(0x13e)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x28e2ff(0x151)};const _0x3825ad=_0xd175b['bool'](_0x28e2ff(0x113));if(_0x3825ad&&!_0xd175b[_0x28e2ff(0x126)]){const _0xd3ec93=await confirmForce();if(!_0xd3ec93)throw CliErrors[_0x28e2ff(0x147)](_0x28e2ff(0x125));}if(_0x3825ad&&_0xd175b[_0x28e2ff(0x126)]){}const _0x365945=buildDatasetCodeToAliasMap(_0xd175b[_0x28e2ff(0x152)],_0xd175b['appCode']),_0x365643=createHookLocationMap(_0x437b42),_0x12f3e6=JSON[_0x28e2ff(0x12b)](JSON[_0x28e2ff(0x110)](_0x13a924)),_0x5d3bae=_0xd175b[_0x28e2ff(0x10f)],_0x1d38f8=_0x12f3e6[_0x28e2ff(0x142)][_0x5d3bae];if(!_0x1d38f8)throw new Error('Lock\x20scope\x20for\x20app\x20\x22'+_0x5d3bae+_0x28e2ff(0x14f));const _0x254f19=[],_0x3e4117=[],_0x162142=[];for(const _0x5b9952 of _0x1cff8c){const _0x31f835=resolveRemoteScriptTarget(_0x5b14f7,_0x5b9952,_0x365643,_0x4940b7[_0x28e2ff(0x11e)],_0x365945);if(!_0x31f835){_0x3e4117[_0x28e2ff(0x133)]({'lockKey':_0x5b9952[_0x28e2ff(0x13b)]+'/'+_0x5b9952[_0x28e2ff(0x13c)],'reason':_0x28e2ff(0x10a)});continue;}const _0x171faf=_0x4940b7[_0x28e2ff(0x11e)][_0x31f835[_0x28e2ff(0x14d)]];try{if(!_0x5b9952['id'])throw new Error(_0x28e2ff(0x150));if(_0x5b9952[_0x28e2ff(0x11b)]==null)throw new Error(_0x28e2ff(0x130));const _0x12a110=_0x5b9952[_0x28e2ff(0x11b)],_0x14605d=computeContentHash(_0x12a110);if(!_0x3825ad){const _0x3844a9=await hasUnsyncedLocalChanges(_0x31f835[_0x28e2ff(0x11c)],_0x171faf,_0x14605d);if(_0x3844a9){_0x3e4117[_0x28e2ff(0x133)]({'lockKey':_0x31f835[_0x28e2ff(0x14d)],'reason':'local\x20unsynced\x20changes'});continue;}}await ensureParentDirectory(_0x31f835[_0x28e2ff(0x11c)]),await writeFile(_0x31f835['filePath'],_0x12a110,_0x28e2ff(0x131));const _0x376644={'hash':_0x14605d,'remoteId':_0x5b9952['id'],'version':_0x5b9952[_0x28e2ff(0x146)]};_0x31f835['type']===_0x28e2ff(0x143)&&_0x31f835['hookLocation']&&(_0x376644[_0x28e2ff(0x132)]=_0x31f835[_0x28e2ff(0x148)]['alias'],_0x376644['datasetCode']=_0x31f835[_0x28e2ff(0x148)]['datasetCode'],_0x376644[_0x28e2ff(0x14c)]=_0x31f835[_0x28e2ff(0x148)][_0x28e2ff(0x14c)],_0x376644['functionNode']=_0x31f835[_0x28e2ff(0x148)][_0x28e2ff(0x14e)]),_0x1d38f8['functions'][_0x31f835[_0x28e2ff(0x14d)]]=_0x376644,_0x254f19[_0x28e2ff(0x133)]({'lockKey':_0x31f835[_0x28e2ff(0x14d)],'remoteId':_0x5b9952['id']});}catch(_0x33b593){_0x162142[_0x28e2ff(0x133)]({'lockKey':_0x31f835[_0x28e2ff(0x14d)],'error':_0x33b593 instanceof Error?_0x33b593[_0x28e2ff(0x129)]:String(_0x33b593)});}}return _0x1d38f8[_0x28e2ff(0x139)]=new Date()[_0x28e2ff(0x135)](),await writeBffLockFile(_0x5b14f7[_0x28e2ff(0x120)],_0x12f3e6),{'ok':_0x162142[_0x28e2ff(0x13e)]===0x0,'data':{'pulled':_0x254f19,'skipped':_0x3e4117,'failed':_0x162142},'message':_0x28e2ff(0x136)+_0x254f19['length']+'\x20pulled,\x20'+_0x3e4117[_0x28e2ff(0x13e)]+_0x28e2ff(0x112)+_0x162142['length']+_0x28e2ff(0x13f)};}};async function hasUnsyncedLocalChanges(_0x2d416e,_0x5545ee,_0x3abb9c){const _0xd6493b=a31_0x4af5c8;if(!await fileExists(_0x2d416e))return![];const _0x294ffb=await computeFileHash(_0x2d416e);if(!_0x5545ee)return _0x3abb9c?_0x294ffb!==_0x3abb9c:!![];return _0x294ffb!==_0x5545ee[_0xd6493b(0x121)];}function buildDatasetCodeToAliasMap(_0xd1d02e,_0x5dcb33){const _0x27e4bf=loadAliasMap(_0xd1d02e,undefined,resolveApiFilePath(_0xd1d02e,_0x5dcb33));return new Map(_0x27e4bf['map'](_0x3b3e9f=>[_0x3b3e9f['datasetCode'],_0x3b3e9f['alias']]));}async function confirmForce(){const _0x261708=a31_0x4af5c8,_0x102036=createInterface({'input':process['stdin'],'output':process[_0x261708(0x11f)]}),_0x45ae98=await new Promise(_0x46973=>{const _0x4cf74f=_0x261708;_0x102036[_0x4cf74f(0x12a)](_0x4cf74f(0x12f),_0x46973);});return _0x102036['close'](),['y',_0x261708(0x111)][_0x261708(0x144)](_0x45ae98['trim']()[_0x261708(0x145)]());}
@@ -1 +1 @@
1
- const a32_0x41b8a2=a32_0x5c6e;(function(_0x1d8653,_0x124b7e){const _0x282240=a32_0x5c6e,_0x33c2b0=_0x1d8653();while(!![]){try{const _0x396397=-parseInt(_0x282240(0x11b))/0x1*(-parseInt(_0x282240(0x166))/0x2)+-parseInt(_0x282240(0x146))/0x3+-parseInt(_0x282240(0x139))/0x4+parseInt(_0x282240(0x119))/0x5*(parseInt(_0x282240(0x12f))/0x6)+parseInt(_0x282240(0x125))/0x7*(-parseInt(_0x282240(0x13e))/0x8)+parseInt(_0x282240(0x148))/0x9+-parseInt(_0x282240(0x11a))/0xa*(-parseInt(_0x282240(0x15d))/0xb);if(_0x396397===_0x124b7e)break;else _0x33c2b0['push'](_0x33c2b0['shift']());}catch(_0x5ba4ac){_0x33c2b0['push'](_0x33c2b0['shift']());}}}(a32_0x487e,0x1c121));import{readFile}from'node:fs/promises';import{saveBffScript,getBffScriptInfo,listDatasets,clearBffScriptCache}from'../../core/api-client.js';import{loadAliasMap}from'../../core/alias-resolver.js';import{resolveApiFilePath}from'../../context.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{normalizeBffType,scanLocalBffFunctions}from'../../core/bff/file-system.js';import{computeFileHash}from'../../core/bff/hash.js';import{createEmptyBffLock,ensureLockScope,readBffLockFile,writeBffLockFile}from'../../core/bff/lock.js';import{extractScriptDescription}from'../../core/bff/utils.js';import{sleep}from'../../utils/sleep.js';import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';function a32_0x487e(){const _0xcd6c03=['unchanged','str','join','parse','set','/api/management/library/scripts/save','version','stringify','validation','script','293073zZVSKX','Cannot\x20resolve\x20dataset\x20for\x20\x22','COMMON','runtime\x20cache\x20clear\x20failed','runtime\x20cache\x20not\x20needed','alias','lockKey','Incomplete\x20HOOK\x20path:\x20','apiDir','54HOIITE','\x22.\x20','No\x20local\x20BFF\x20functions\x20found.','force','would_push','POST','some','HOOK','every','type','30OzJikW','50UvLyit','4467gdxqWu','bff','utf8','cleared','scriptsRoot','length','attempted','boolean','Push\x20only\x20the\x20named\x20function\x20(requires\x20--type)','values','805DtdOiS','datasetId','string','remoteId','Local\x20function\x20not\x20found:\x20','get','lockFilePath','Push\x20local\x20BFF\x20scripts\x20to\x20remote','description','appCode','125004nsPNnr','update','Push\x20only\x20this\x20script\x20type','functions','aliasToDatasetCode','status','\x20skipped,\x20','filePath','runtime\x20cache\x20cleared','ENDPOINT','455728OyDeTy','Lock\x20file\x20not\x20settled\x20after\x20push\x20for\x20','has','filter','Would\x20inspect\x20','9032VZljPg','--name\x20requires\x20--type\x20to\x20identify\x20the\x20function.','push','name','lastSync','hash','Push\x20complete:\x20','apps','650064NntYzf','bool','1769436ifxQcL','toISOString','Run\x20`','operationType','functionNode','datasetCode','\x20failed,\x20','\x20api\x20pull`\x20to\x20refresh\x20api.ts,\x20or\x20verify\x20the\x20dataset\x20exists.','map','message','create'];a32_0x487e=function(){return _0xcd6c03;};return a32_0x487e();}import{assertDatasetSupportsLocalDevelopment}from'../../commands/dataset/capability.js';const CACHE_CLEAR_ATTEMPTS=0x2,CACHE_CLEAR_INTERVAL_MS=0x12c;function a32_0x5c6e(_0x1ecdc0,_0xfdf088){_0x1ecdc0=_0x1ecdc0-0x111;const _0x487ee2=a32_0x487e();let _0x5c6efc=_0x487ee2[_0x1ecdc0];return _0x5c6efc;}export const bffPush={'service':a32_0x41b8a2(0x11c),'command':a32_0x41b8a2(0x140),'description':a32_0x41b8a2(0x12c),'risk':'high-risk-write','flags':[{'name':a32_0x41b8a2(0x118),'type':a32_0x41b8a2(0x127),'description':a32_0x41b8a2(0x131),'enum':[a32_0x41b8a2(0x15f),a32_0x41b8a2(0x138),a32_0x41b8a2(0x116)]},{'name':a32_0x41b8a2(0x141),'type':a32_0x41b8a2(0x127),'description':a32_0x41b8a2(0x123)},{'name':'force','type':a32_0x41b8a2(0x122),'description':'Force\x20push\x20ignoring\x20hash\x20protection'}],async 'dryRun'(_0x142553){const _0xd49d5f=a32_0x41b8a2,_0x531256=loadBffProjectConfig(_0x142553[_0xd49d5f(0x12e)]),_0x4b2ecc=await readBffLockFile(_0x531256['lockFilePath']),{appLock:_0x2eb99e}=ensureLockScope(_0x4b2ecc??createEmptyBffLock(),_0x142553[_0xd49d5f(0x12e)],_0x531256[_0xd49d5f(0x11f)],_0xd49d5f(0x140)),_0x56f3fa=await getTargetFunctions(_0x531256,_0x142553),_0x2305ae=_0x142553['bool'](_0xd49d5f(0x112)),_0x562bfb=[];for(const _0x26b465 of _0x56f3fa){const _0x4d08d3=await computeFileHash(_0x26b465['filePath']),_0x26cc69=_0x2eb99e[_0xd49d5f(0x132)][_0x26b465['lockKey']],_0x3619bd=!!_0x26cc69&&_0x26cc69[_0xd49d5f(0x143)]===_0x4d08d3;_0x562bfb[_0xd49d5f(0x140)]({'lockKey':_0x26b465['lockKey'],'filePath':_0x26b465[_0xd49d5f(0x136)],'remoteId':_0x26cc69?.[_0xd49d5f(0x128)]??null,'mode':_0x26cc69?.[_0xd49d5f(0x128)]?_0xd49d5f(0x130):_0xd49d5f(0x152),'status':!_0x2305ae&&_0x3619bd?_0xd49d5f(0x153):_0xd49d5f(0x113)});}return{'method':_0xd49d5f(0x114),'url':_0xd49d5f(0x158),'body':{'appCode':_0x142553['appCode'],'force':_0x2305ae,'files':_0x562bfb,'cacheClearAtRuntime':_0x562bfb['some'](_0x482273=>_0x482273[_0xd49d5f(0x134)]===_0xd49d5f(0x113)),'cacheClearAtRuntimeTimes':_0x562bfb[_0xd49d5f(0x115)](_0x2c39bb=>_0x2c39bb[_0xd49d5f(0x134)]===_0xd49d5f(0x113))?CACHE_CLEAR_ATTEMPTS:0x0},'description':_0xd49d5f(0x13d)+_0x562bfb[_0xd49d5f(0x120)]+'\x20local\x20BFF\x20script(s)\x20for\x20push\x20and\x20clear\x20runtime\x20cache\x20if\x20files\x20are\x20uploaded'};},async 'execute'(_0x519173){const _0x1e571a=a32_0x41b8a2,_0x2278a2=loadBffProjectConfig(_0x519173[_0x1e571a(0x12e)]),_0x72fe32=await readBffLockFile(_0x2278a2[_0x1e571a(0x12b)]),{lockData:_0x566207,appLock:_0x5e450e}=ensureLockScope(_0x72fe32??createEmptyBffLock(),_0x519173[_0x1e571a(0x12e)],_0x2278a2[_0x1e571a(0x11f)],'push'),_0xa87e40=await getTargetFunctions(_0x2278a2,_0x519173);if(_0xa87e40[_0x1e571a(0x120)]===0x0)return{'ok':!![],'data':{'uploaded':[],'skipped':[],'failed':[]},'message':_0x1e571a(0x111)};const _0x2cd5bf=_0x519173[_0x1e571a(0x147)]('force'),_0x412bb3=JSON[_0x1e571a(0x156)](JSON[_0x1e571a(0x15a)](_0x566207)),_0x45e8a6=_0x412bb3[_0x1e571a(0x145)][_0x519173[_0x1e571a(0x12e)]];if(!_0x45e8a6)throw new Error('Lock\x20scope\x20for\x20app\x20\x22'+_0x519173[_0x1e571a(0x12e)]+'\x22\x20not\x20found\x20after\x20ensureLockScope.');const _0x537cba=await buildHookMaps(_0x519173[_0x1e571a(0x12e)],_0x519173[_0x1e571a(0x165)],_0xa87e40,_0x45e8a6),_0x4453fa=[],_0x4a93d4=[],_0x269ee9=[];for(const _0x98b936 of _0xa87e40){const _0x3d53e6=await computeFileHash(_0x98b936[_0x1e571a(0x136)]),_0x5526c4=_0x45e8a6[_0x1e571a(0x132)][_0x98b936[_0x1e571a(0x163)]];if(!_0x2cd5bf&&_0x5526c4&&_0x5526c4['hash']===_0x3d53e6){_0x4a93d4[_0x1e571a(0x140)]({'lockKey':_0x98b936[_0x1e571a(0x163)],'reason':_0x1e571a(0x153)});continue;}try{await uploadSingleFunction(_0x519173['appCode'],_0x98b936,_0x45e8a6,_0x537cba);const _0x3484b2=_0x45e8a6[_0x1e571a(0x132)][_0x98b936[_0x1e571a(0x163)]];_0x4453fa[_0x1e571a(0x140)]({'lockKey':_0x98b936[_0x1e571a(0x163)],'remoteId':_0x3484b2?.['remoteId']??0x0});}catch(_0x1f953a){_0x269ee9[_0x1e571a(0x140)]({'lockKey':_0x98b936['lockKey'],'error':_0x1f953a instanceof Error?_0x1f953a[_0x1e571a(0x151)]:String(_0x1f953a)});}}_0x45e8a6[_0x1e571a(0x142)]=new Date()[_0x1e571a(0x149)](),await writeBffLockFile(_0x2278a2[_0x1e571a(0x12b)],_0x412bb3),await waitForUploadedLockEntries(_0x2278a2[_0x1e571a(0x12b)],_0x519173[_0x1e571a(0x12e)],_0x4453fa[_0x1e571a(0x150)](_0x14f4c3=>_0x14f4c3[_0x1e571a(0x163)]));let _0x1a395b={'attempted':![],'cleared':![]};if(_0x4453fa[_0x1e571a(0x120)]>0x0)try{let _0x444d36='';for(let _0x51d547=0x0;_0x51d547<CACHE_CLEAR_ATTEMPTS;_0x51d547+=0x1){_0x444d36=await clearBffScriptCache(),_0x51d547<CACHE_CLEAR_ATTEMPTS-0x1&&await sleep(CACHE_CLEAR_INTERVAL_MS);}_0x1a395b={'attempted':!![],'cleared':!![],'message':_0x444d36||'Runtime\x20script\x20cache\x20cleared.'};}catch(_0x217da9){_0x1a395b={'attempted':!![],'cleared':![],'error':_0x217da9 instanceof Error?_0x217da9['message']:String(_0x217da9)};}const _0x2acb9b=_0x269ee9[_0x1e571a(0x120)]===0x0&&(_0x1a395b[_0x1e571a(0x121)]?_0x1a395b[_0x1e571a(0x11e)]:!![]),_0x4cebe3=_0x1a395b[_0x1e571a(0x121)]?_0x1a395b[_0x1e571a(0x11e)]?_0x1e571a(0x137):_0x1e571a(0x160):_0x1e571a(0x161);return{'ok':_0x2acb9b,'data':{'uploaded':_0x4453fa,'skipped':_0x4a93d4,'failed':_0x269ee9,'cacheClear':_0x1a395b},'message':_0x1e571a(0x144)+_0x4453fa['length']+'\x20uploaded,\x20'+_0x4a93d4['length']+_0x1e571a(0x135)+_0x269ee9[_0x1e571a(0x120)]+_0x1e571a(0x14e)+_0x4cebe3};}};async function getTargetFunctions(_0x34d33d,_0x5f4a18){const _0x2885a4=a32_0x41b8a2,_0x37a087=_0x5f4a18[_0x2885a4(0x154)](_0x2885a4(0x118)),_0xaf897f=_0x5f4a18[_0x2885a4(0x154)](_0x2885a4(0x141)),_0x43e19a=normalizeBffType(_0x37a087)??undefined;if(_0xaf897f&&!_0x43e19a)throw CliErrors['validation'](_0x2885a4(0x13f));const _0xf04d02=await scanLocalBffFunctions(_0x34d33d,_0x43e19a);if(_0xaf897f){const _0xdc8650=_0xf04d02[_0x2885a4(0x13c)](_0xc7b1f0=>_0xc7b1f0[_0x2885a4(0x141)]===_0xaf897f);if(_0xdc8650[_0x2885a4(0x120)]===0x0)throw CliErrors[_0x2885a4(0x15b)](_0x2885a4(0x129)+_0x43e19a+'/'+_0xaf897f);return _0xdc8650;}return _0xf04d02;}async function buildHookMaps(_0x16a9aa,_0x1cb382,_0x4d7ddd,_0x269bce){const _0x5b2870=a32_0x41b8a2,_0x2b3477=_0x4d7ddd[_0x5b2870(0x115)](_0x2ce403=>_0x2ce403['type']==='HOOK');if(!_0x2b3477)return{'aliasToDatasetCode':new Map(),'datasetCodeToDataset':new Map()};const _0x5119d1=loadAliasMap(_0x1cb382,undefined,resolveApiFilePath(_0x1cb382,_0x16a9aa)),_0x1c9bc2=new Map(_0x5119d1['map'](_0x3989a9=>[_0x3989a9[_0x5b2870(0x162)],_0x3989a9[_0x5b2870(0x14d)]]));for(const _0x335b33 of Object[_0x5b2870(0x124)](_0x269bce[_0x5b2870(0x132)])){_0x335b33[_0x5b2870(0x162)]&&_0x335b33[_0x5b2870(0x14d)]&&!_0x1c9bc2[_0x5b2870(0x13b)](_0x335b33[_0x5b2870(0x162)])&&_0x1c9bc2[_0x5b2870(0x157)](_0x335b33['alias'],_0x335b33['datasetCode']);}const _0xab85a3=await listDatasets(_0x16a9aa),_0x962f4f=new Map(_0xab85a3['map'](_0x1aca25=>[_0x1aca25['code'],_0x1aca25]));return{'aliasToDatasetCode':_0x1c9bc2,'datasetCodeToDataset':_0x962f4f};}async function uploadSingleFunction(_0x2cf29b,_0x2442ee,_0x5dad0f,_0x3c889a){const _0xda377e=a32_0x41b8a2,_0x186bcd=await readFile(_0x2442ee['filePath'],_0xda377e(0x11d)),_0x676822=await computeFileHash(_0x2442ee['filePath']),_0x4df9f7=_0x5dad0f[_0xda377e(0x132)][_0x2442ee[_0xda377e(0x163)]];if(_0x4df9f7?.['remoteId']&&_0x4df9f7['version']==null)throw CliErrors[_0xda377e(0x15b)](_0x2442ee[_0xda377e(0x163)]+':\x20missing\x20remote\x20version.\x20Run\x20`push`\x20after\x20`pull`\x20to\x20sync\x20version\x20info.');let _0x48e321=extractScriptDescription(_0x186bcd);if(!_0x48e321&&_0x4df9f7?.['remoteId']){const _0x2d09d0=await getBffScriptInfo(_0x4df9f7[_0xda377e(0x128)]);_0x48e321=_0x2d09d0['description']||undefined;}const _0x39939d={'appCode':_0x2cf29b,'functionName':_0x2442ee['name'],'scriptType':_0x2442ee['type'],'scriptContent':_0x186bcd};if(_0x4df9f7?.['remoteId'])_0x39939d['id']=_0x4df9f7['remoteId'];if(_0x4df9f7?.[_0xda377e(0x159)]!=null)_0x39939d['version']=_0x4df9f7[_0xda377e(0x159)];if(_0x48e321)_0x39939d[_0xda377e(0x12d)]=_0x48e321;if(_0x2442ee[_0xda377e(0x118)]===_0xda377e(0x116)){const _0x410d6f=_0x2442ee[_0xda377e(0x162)];if(!_0x410d6f||!_0x2442ee[_0xda377e(0x14b)]||!_0x2442ee['functionNode'])throw CliErrors['validation'](_0xda377e(0x164)+_0x2442ee[_0xda377e(0x163)]);const _0x2cb8b7=_0x3c889a[_0xda377e(0x133)][_0xda377e(0x12a)](_0x410d6f)??_0x4df9f7?.['datasetCode']??_0x410d6f,_0x3e1afb=_0x3c889a['datasetCodeToDataset'][_0xda377e(0x12a)](_0x2cb8b7);if(!_0x3e1afb)throw CliErrors[_0xda377e(0x15b)](_0xda377e(0x15e)+_0x410d6f+_0xda377e(0x167)+(_0xda377e(0x14a)+CLI_BIN_NAME+_0xda377e(0x14f)));assertDatasetSupportsLocalDevelopment(_0x3e1afb,'BFF\x20HOOK\x20'+_0x2442ee[_0xda377e(0x163)]),_0x39939d[_0xda377e(0x126)]=_0x3e1afb['id'],_0x39939d['operationType']=_0x2442ee['operationType'],_0x39939d['functionNode']=_0x2442ee['functionNode'];}const _0x46e1e5=await saveBffScript(_0x39939d),_0xabddf2=_0x46e1e5['id'],_0x4a3e26=_0x46e1e5[_0xda377e(0x15c)]??await getBffScriptInfo(_0xabddf2),_0x422207={'hash':_0x676822,'remoteId':_0xabddf2,'version':_0x4a3e26[_0xda377e(0x159)]};if(_0x2442ee[_0xda377e(0x118)]===_0xda377e(0x116)){const _0x16b508=_0x2442ee[_0xda377e(0x162)],_0x4918cc=_0x3c889a[_0xda377e(0x133)][_0xda377e(0x12a)](_0x16b508)??_0x4df9f7?.[_0xda377e(0x14d)]??_0x16b508;_0x3c889a['aliasToDatasetCode'][_0xda377e(0x13b)](_0x16b508)?_0x422207[_0xda377e(0x162)]=_0x16b508:_0x422207[_0xda377e(0x162)]=_0x4df9f7?.[_0xda377e(0x162)],_0x422207[_0xda377e(0x14d)]=_0x4918cc,_0x422207[_0xda377e(0x14b)]=_0x2442ee[_0xda377e(0x14b)],_0x422207[_0xda377e(0x14c)]=_0x2442ee[_0xda377e(0x14c)];}_0x5dad0f['functions'][_0x2442ee[_0xda377e(0x163)]]=_0x422207;}const LOCK_SETTLE_RETRY_COUNT=0x14,LOCK_SETTLE_DELAY_MS=0x64;async function waitForUploadedLockEntries(_0x247e4d,_0x59a51f,_0x14fbbc){const _0x517755=a32_0x41b8a2;if(_0x14fbbc[_0x517755(0x120)]===0x0)return;for(let _0x7e09fc=0x0;_0x7e09fc<LOCK_SETTLE_RETRY_COUNT;_0x7e09fc+=0x1){const _0x1c36ea=await readBffLockFile(_0x247e4d),_0x4f417=_0x1c36ea?.[_0x517755(0x145)]?.[_0x59a51f]?.[_0x517755(0x132)]??{},_0x177107=_0x14fbbc[_0x517755(0x117)](_0x145594=>!!_0x4f417[_0x145594]?.[_0x517755(0x128)]);if(_0x177107)return;await sleep(LOCK_SETTLE_DELAY_MS);}throw new Error(_0x517755(0x13a)+_0x14fbbc[_0x517755(0x155)](',\x20')+'.');}
1
+ const a32_0x1bd07c=a32_0x3739;function a32_0x11c1(){const _0x4df4be=['datasetId','bool','27swNibv','functions','would_push','HOOK','attempted','length','101600qxqZNu','Cannot\x20resolve\x20dataset\x20for\x20\x22','6985062PPuDyY','operationType','type','Run\x20`','create','parse','str','ENDPOINT','code','version','update','toISOString','372BKiXND','message','Push\x20only\x20the\x20named\x20function\x20(requires\x20--type)','join','/api/management/library/scripts/save','force','Would\x20inspect\x20','get','push','filePath','BFF\x20HOOK\x20','string','lockFilePath','alias','scriptsRoot','18kPjKqq','functionNode','1298312SBVGdY','remoteId','some','script','23191420IJziio','high-risk-write','validation','3266776fYSFYf','utf8','cleared','apiDir','COMMON','unchanged','\x20local\x20BFF\x20script(s)\x20for\x20push\x20and\x20clear\x20runtime\x20cache\x20if\x20files\x20are\x20uploaded','823913AeXUBt','Push\x20local\x20BFF\x20scripts\x20to\x20remote','\x20failed,\x20','has','POST','appCode','6830JaJzbj','Push\x20only\x20this\x20script\x20type','\x22.\x20','aliasToDatasetCode','boolean','Lock\x20file\x20not\x20settled\x20after\x20push\x20for\x20','\x22\x20not\x20found\x20after\x20ensureLockScope.','datasetCode','Force\x20push\x20ignoring\x20hash\x20protection','status','map','\x20uploaded,\x20','name','lockKey','Runtime\x20script\x20cache\x20cleared.','\x20skipped,\x20','--name\x20requires\x20--type\x20to\x20identify\x20the\x20function.','set'];a32_0x11c1=function(){return _0x4df4be;};return a32_0x11c1();}(function(_0x5c8762,_0xc4b996){const _0x1f4204=a32_0x3739,_0x32788b=_0x5c8762();while(!![]){try{const _0x5edf5c=-parseInt(_0x1f4204(0x1b0))/0x1+-parseInt(_0x1f4204(0x1b6))/0x2*(parseInt(_0x1f4204(0x191))/0x3)+-parseInt(_0x1f4204(0x1a9))/0x4+-parseInt(_0x1f4204(0x183))/0x5*(-parseInt(_0x1f4204(0x1a0))/0x6)+parseInt(_0x1f4204(0x185))/0x7+-parseInt(_0x1f4204(0x1a2))/0x8*(parseInt(_0x1f4204(0x1ca))/0x9)+parseInt(_0x1f4204(0x1a6))/0xa;if(_0x5edf5c===_0xc4b996)break;else _0x32788b['push'](_0x32788b['shift']());}catch(_0x3b3e52){_0x32788b['push'](_0x32788b['shift']());}}}(a32_0x11c1,0xc9e9a));import{readFile}from'node:fs/promises';import{saveBffScript,getBffScriptInfo,listDatasets,clearBffScriptCache}from'../../core/api-client.js';import{loadAliasMap}from'../../core/alias-resolver.js';import{resolveApiFilePath}from'../../context.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{normalizeBffType,scanLocalBffFunctions}from'../../core/bff/file-system.js';import{computeFileHash}from'../../core/bff/hash.js';import{createEmptyBffLock,ensureLockScope,readBffLockFile,writeBffLockFile}from'../../core/bff/lock.js';import{extractScriptDescription}from'../../core/bff/utils.js';import{sleep}from'../../utils/sleep.js';import{CliErrors}from'../../errors.js';function a32_0x3739(_0x5d7de2,_0x3c6295){_0x5d7de2=_0x5d7de2-0x182;const _0x11c1cc=a32_0x11c1();let _0x3739f5=_0x11c1cc[_0x5d7de2];return _0x3739f5;}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':'push','description':a32_0x1bd07c(0x1b1),'risk':a32_0x1bd07c(0x1a7),'flags':[{'name':a32_0x1bd07c(0x187),'type':a32_0x1bd07c(0x19c),'description':a32_0x1bd07c(0x1b7),'enum':[a32_0x1bd07c(0x1ad),a32_0x1bd07c(0x18c),a32_0x1bd07c(0x1cd)]},{'name':a32_0x1bd07c(0x1c2),'type':a32_0x1bd07c(0x19c),'description':a32_0x1bd07c(0x193)},{'name':a32_0x1bd07c(0x196),'type':a32_0x1bd07c(0x1ba),'description':a32_0x1bd07c(0x1be)}],async 'dryRun'(_0x44ad3a){const _0x119ad0=a32_0x1bd07c,_0x34ad2a=loadBffProjectConfig(_0x44ad3a['appCode']),_0x4b0388=await readBffLockFile(_0x34ad2a[_0x119ad0(0x19d)]),{appLock:_0x1b6f55}=ensureLockScope(_0x4b0388??createEmptyBffLock(),_0x44ad3a[_0x119ad0(0x1b5)],_0x34ad2a[_0x119ad0(0x19f)],_0x119ad0(0x199)),_0x49aeee=await getTargetFunctions(_0x34ad2a,_0x44ad3a),_0x27fdab=_0x44ad3a[_0x119ad0(0x1c9)]('force'),_0x46c4fd=[];for(const _0x52b9ba of _0x49aeee){const _0x5d5d64=await computeFileHash(_0x52b9ba[_0x119ad0(0x19a)]),_0x1658f1=_0x1b6f55['functions'][_0x52b9ba[_0x119ad0(0x1c3)]],_0x1607d5=!!_0x1658f1&&_0x1658f1['hash']===_0x5d5d64;_0x46c4fd[_0x119ad0(0x199)]({'lockKey':_0x52b9ba[_0x119ad0(0x1c3)],'filePath':_0x52b9ba[_0x119ad0(0x19a)],'remoteId':_0x1658f1?.[_0x119ad0(0x1a3)]??null,'mode':_0x1658f1?.['remoteId']?_0x119ad0(0x18f):_0x119ad0(0x189),'status':!_0x27fdab&&_0x1607d5?_0x119ad0(0x1ae):_0x119ad0(0x1cc)});}return{'method':_0x119ad0(0x1b4),'url':_0x119ad0(0x195),'body':{'appCode':_0x44ad3a[_0x119ad0(0x1b5)],'force':_0x27fdab,'files':_0x46c4fd,'cacheClearAtRuntime':_0x46c4fd['some'](_0x25781f=>_0x25781f[_0x119ad0(0x1bf)]===_0x119ad0(0x1cc)),'cacheClearAtRuntimeTimes':_0x46c4fd[_0x119ad0(0x1a4)](_0x28c69a=>_0x28c69a['status']===_0x119ad0(0x1cc))?CACHE_CLEAR_ATTEMPTS:0x0},'description':_0x119ad0(0x197)+_0x46c4fd[_0x119ad0(0x182)]+_0x119ad0(0x1af)};},async 'execute'(_0x5cad47){const _0xd2a20f=a32_0x1bd07c,_0x69bd1c=loadBffProjectConfig(_0x5cad47[_0xd2a20f(0x1b5)]),_0x34a24c=await readBffLockFile(_0x69bd1c[_0xd2a20f(0x19d)]),{lockData:_0x3248c1,appLock:_0xc0206e}=ensureLockScope(_0x34a24c??createEmptyBffLock(),_0x5cad47[_0xd2a20f(0x1b5)],_0x69bd1c[_0xd2a20f(0x19f)],_0xd2a20f(0x199)),_0x31eb9b=await getTargetFunctions(_0x69bd1c,_0x5cad47);if(_0x31eb9b[_0xd2a20f(0x182)]===0x0)return{'ok':!![],'data':{'uploaded':[],'skipped':[],'failed':[]},'message':'No\x20local\x20BFF\x20functions\x20found.'};const _0x9827e=_0x5cad47['bool'](_0xd2a20f(0x196)),_0x348f15=JSON[_0xd2a20f(0x18a)](JSON['stringify'](_0x3248c1)),_0x206dca=_0x348f15['apps'][_0x5cad47[_0xd2a20f(0x1b5)]];if(!_0x206dca)throw new Error('Lock\x20scope\x20for\x20app\x20\x22'+_0x5cad47[_0xd2a20f(0x1b5)]+_0xd2a20f(0x1bc));const _0x3facc1=await buildHookMaps(_0x5cad47[_0xd2a20f(0x1b5)],_0x5cad47[_0xd2a20f(0x1ac)],_0x31eb9b,_0x206dca),_0x214ffc=[],_0x30a8ba=[],_0x37268b=[];for(const _0x5160db of _0x31eb9b){const _0x1fd3c9=await computeFileHash(_0x5160db[_0xd2a20f(0x19a)]),_0x5ac3ac=_0x206dca[_0xd2a20f(0x1cb)][_0x5160db['lockKey']];if(!_0x9827e&&_0x5ac3ac&&_0x5ac3ac['hash']===_0x1fd3c9){_0x30a8ba[_0xd2a20f(0x199)]({'lockKey':_0x5160db[_0xd2a20f(0x1c3)],'reason':_0xd2a20f(0x1ae)});continue;}try{await uploadSingleFunction(_0x5cad47[_0xd2a20f(0x1b5)],_0x5160db,_0x206dca,_0x3facc1);const _0x49f44b=_0x206dca[_0xd2a20f(0x1cb)][_0x5160db[_0xd2a20f(0x1c3)]];_0x214ffc['push']({'lockKey':_0x5160db[_0xd2a20f(0x1c3)],'remoteId':_0x49f44b?.[_0xd2a20f(0x1a3)]??0x0});}catch(_0x5b9fd7){_0x37268b[_0xd2a20f(0x199)]({'lockKey':_0x5160db[_0xd2a20f(0x1c3)],'error':_0x5b9fd7 instanceof Error?_0x5b9fd7[_0xd2a20f(0x192)]:String(_0x5b9fd7)});}}_0x206dca['lastSync']=new Date()[_0xd2a20f(0x190)](),await writeBffLockFile(_0x69bd1c[_0xd2a20f(0x19d)],_0x348f15),await waitForUploadedLockEntries(_0x69bd1c[_0xd2a20f(0x19d)],_0x5cad47[_0xd2a20f(0x1b5)],_0x214ffc[_0xd2a20f(0x1c0)](_0x41fa3b=>_0x41fa3b[_0xd2a20f(0x1c3)]));let _0xe240ca={'attempted':![],'cleared':![]};if(_0x214ffc[_0xd2a20f(0x182)]>0x0)try{let _0x5d5d68='';for(let _0x2875b4=0x0;_0x2875b4<CACHE_CLEAR_ATTEMPTS;_0x2875b4+=0x1){_0x5d5d68=await clearBffScriptCache(),_0x2875b4<CACHE_CLEAR_ATTEMPTS-0x1&&await sleep(CACHE_CLEAR_INTERVAL_MS);}_0xe240ca={'attempted':!![],'cleared':!![],'message':_0x5d5d68||_0xd2a20f(0x1c4)};}catch(_0x29683b){_0xe240ca={'attempted':!![],'cleared':![],'error':_0x29683b instanceof Error?_0x29683b['message']:String(_0x29683b)};}const _0xaea9f8=_0x37268b[_0xd2a20f(0x182)]===0x0&&(_0xe240ca[_0xd2a20f(0x1ce)]?_0xe240ca['cleared']:!![]),_0x3f6701=_0xe240ca[_0xd2a20f(0x1ce)]?_0xe240ca[_0xd2a20f(0x1ab)]?'runtime\x20cache\x20cleared':'runtime\x20cache\x20clear\x20failed':'runtime\x20cache\x20not\x20needed';return{'ok':_0xaea9f8,'data':{'uploaded':_0x214ffc,'skipped':_0x30a8ba,'failed':_0x37268b,'cacheClear':_0xe240ca},'message':'Push\x20complete:\x20'+_0x214ffc['length']+_0xd2a20f(0x1c1)+_0x30a8ba[_0xd2a20f(0x182)]+_0xd2a20f(0x1c5)+_0x37268b['length']+_0xd2a20f(0x1b2)+_0x3f6701};}};async function getTargetFunctions(_0x2fd1d1,_0x5c55cd){const _0x19cadf=a32_0x1bd07c,_0x20ac62=_0x5c55cd[_0x19cadf(0x18b)](_0x19cadf(0x187)),_0x2cdf9f=_0x5c55cd[_0x19cadf(0x18b)]('name'),_0x9a52f5=normalizeBffType(_0x20ac62)??undefined;if(_0x2cdf9f&&!_0x9a52f5)throw CliErrors[_0x19cadf(0x1a8)](_0x19cadf(0x1c6));const _0x19b82e=await scanLocalBffFunctions(_0x2fd1d1,_0x9a52f5);if(_0x2cdf9f){const _0x30576b=_0x19b82e['filter'](_0x4d32af=>_0x4d32af[_0x19cadf(0x1c2)]===_0x2cdf9f);if(_0x30576b[_0x19cadf(0x182)]===0x0)throw CliErrors[_0x19cadf(0x1a8)]('Local\x20function\x20not\x20found:\x20'+_0x9a52f5+'/'+_0x2cdf9f);return _0x30576b;}return _0x19b82e;}async function buildHookMaps(_0x4709f9,_0x286227,_0x45c206,_0x597a1b){const _0x54edad=a32_0x1bd07c,_0x360813=_0x45c206[_0x54edad(0x1a4)](_0x33dacf=>_0x33dacf['type']===_0x54edad(0x1cd));if(!_0x360813)return{'aliasToDatasetCode':new Map(),'datasetCodeToDataset':new Map()};const _0x3aa924=loadAliasMap(_0x286227,undefined,resolveApiFilePath(_0x286227,_0x4709f9)),_0x200deb=new Map(_0x3aa924['map'](_0x127701=>[_0x127701['alias'],_0x127701[_0x54edad(0x1bd)]]));for(const _0x28ad8c of Object['values'](_0x597a1b[_0x54edad(0x1cb)])){_0x28ad8c['alias']&&_0x28ad8c[_0x54edad(0x1bd)]&&!_0x200deb[_0x54edad(0x1b3)](_0x28ad8c[_0x54edad(0x19e)])&&_0x200deb[_0x54edad(0x1c7)](_0x28ad8c[_0x54edad(0x19e)],_0x28ad8c['datasetCode']);}const _0x5cbd6c=await listDatasets(_0x4709f9),_0x58308b=new Map(_0x5cbd6c[_0x54edad(0x1c0)](_0x32c721=>[_0x32c721[_0x54edad(0x18d)],_0x32c721]));return{'aliasToDatasetCode':_0x200deb,'datasetCodeToDataset':_0x58308b};}async function uploadSingleFunction(_0x4b5026,_0x110184,_0x2f39a5,_0x56199d){const _0x848ddd=a32_0x1bd07c,_0x32b33b=await readFile(_0x110184['filePath'],_0x848ddd(0x1aa)),_0x1df2a3=await computeFileHash(_0x110184[_0x848ddd(0x19a)]),_0x24748a=_0x2f39a5['functions'][_0x110184[_0x848ddd(0x1c3)]];if(_0x24748a?.[_0x848ddd(0x1a3)]&&_0x24748a[_0x848ddd(0x18e)]==null)throw CliErrors['validation'](_0x110184[_0x848ddd(0x1c3)]+':\x20missing\x20remote\x20version.\x20Run\x20`push`\x20after\x20`pull`\x20to\x20sync\x20version\x20info.');let _0x17ce9e=extractScriptDescription(_0x32b33b);if(!_0x17ce9e&&_0x24748a?.[_0x848ddd(0x1a3)]){const _0x48e12a=await getBffScriptInfo(_0x24748a[_0x848ddd(0x1a3)]);_0x17ce9e=_0x48e12a['description']||undefined;}const _0x3852dd={'appCode':_0x4b5026,'functionName':_0x110184[_0x848ddd(0x1c2)],'scriptType':_0x110184['type'],'scriptContent':_0x32b33b};if(_0x24748a?.[_0x848ddd(0x1a3)])_0x3852dd['id']=_0x24748a[_0x848ddd(0x1a3)];if(_0x24748a?.[_0x848ddd(0x18e)]!=null)_0x3852dd['version']=_0x24748a[_0x848ddd(0x18e)];if(_0x17ce9e)_0x3852dd['description']=_0x17ce9e;if(_0x110184[_0x848ddd(0x187)]==='HOOK'){const _0x3f8ba0=_0x110184[_0x848ddd(0x19e)];if(!_0x3f8ba0||!_0x110184[_0x848ddd(0x186)]||!_0x110184[_0x848ddd(0x1a1)])throw CliErrors[_0x848ddd(0x1a8)]('Incomplete\x20HOOK\x20path:\x20'+_0x110184[_0x848ddd(0x1c3)]);const _0x549aed=_0x56199d[_0x848ddd(0x1b9)][_0x848ddd(0x198)](_0x3f8ba0)??_0x24748a?.['datasetCode']??_0x3f8ba0,_0x4aacd6=_0x56199d['datasetCodeToDataset'][_0x848ddd(0x198)](_0x549aed);if(!_0x4aacd6)throw CliErrors[_0x848ddd(0x1a8)](_0x848ddd(0x184)+_0x3f8ba0+_0x848ddd(0x1b8)+(_0x848ddd(0x188)+CLI_BIN_NAME+'\x20api\x20pull`\x20to\x20refresh\x20api.ts,\x20or\x20verify\x20the\x20dataset\x20exists.'));assertDatasetSupportsLocalDevelopment(_0x4aacd6,_0x848ddd(0x19b)+_0x110184[_0x848ddd(0x1c3)]),_0x3852dd[_0x848ddd(0x1c8)]=_0x4aacd6['id'],_0x3852dd[_0x848ddd(0x186)]=_0x110184[_0x848ddd(0x186)],_0x3852dd[_0x848ddd(0x1a1)]=_0x110184[_0x848ddd(0x1a1)];}const _0x267cce=await saveBffScript(_0x3852dd),_0xfbb374=_0x267cce['id'],_0x1678ed=_0x267cce[_0x848ddd(0x1a5)]??await getBffScriptInfo(_0xfbb374),_0x176cf8={'hash':_0x1df2a3,'remoteId':_0xfbb374,'version':_0x1678ed[_0x848ddd(0x18e)]};if(_0x110184['type']===_0x848ddd(0x1cd)){const _0x231143=_0x110184[_0x848ddd(0x19e)],_0x58a033=_0x56199d['aliasToDatasetCode']['get'](_0x231143)??_0x24748a?.[_0x848ddd(0x1bd)]??_0x231143;_0x56199d[_0x848ddd(0x1b9)]['has'](_0x231143)?_0x176cf8[_0x848ddd(0x19e)]=_0x231143:_0x176cf8[_0x848ddd(0x19e)]=_0x24748a?.[_0x848ddd(0x19e)],_0x176cf8[_0x848ddd(0x1bd)]=_0x58a033,_0x176cf8[_0x848ddd(0x186)]=_0x110184['operationType'],_0x176cf8[_0x848ddd(0x1a1)]=_0x110184[_0x848ddd(0x1a1)];}_0x2f39a5[_0x848ddd(0x1cb)][_0x110184[_0x848ddd(0x1c3)]]=_0x176cf8;}const LOCK_SETTLE_RETRY_COUNT=0x14,LOCK_SETTLE_DELAY_MS=0x64;async function waitForUploadedLockEntries(_0x46e190,_0x4e7d3c,_0x3c4a08){const _0x48c72c=a32_0x1bd07c;if(_0x3c4a08[_0x48c72c(0x182)]===0x0)return;for(let _0x43b059=0x0;_0x43b059<LOCK_SETTLE_RETRY_COUNT;_0x43b059+=0x1){const _0x32a5f8=await readBffLockFile(_0x46e190),_0x57eec1=_0x32a5f8?.['apps']?.[_0x4e7d3c]?.[_0x48c72c(0x1cb)]??{},_0x62f979=_0x3c4a08['every'](_0x3ae559=>!!_0x57eec1[_0x3ae559]?.[_0x48c72c(0x1a3)]);if(_0x62f979)return;await sleep(LOCK_SETTLE_DELAY_MS);}throw new Error(_0x48c72c(0x1bb)+_0x3c4a08[_0x48c72c(0x194)](',\x20')+'.');}