@lovrabet/rabetbase-cli 2.1.9 → 2.1.10-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (197) 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/delete.js +1 -1
  52. package/lib/commands/dataset/detail.js +1 -1
  53. package/lib/commands/dataset/field-update.js +1 -0
  54. package/lib/commands/dataset/index.js +1 -1
  55. package/lib/commands/dataset/link-create.js +1 -1
  56. package/lib/commands/dataset/link-delete.js +1 -1
  57. package/lib/commands/dataset/link-shared.js +1 -1
  58. package/lib/commands/dataset/link-update.js +1 -1
  59. package/lib/commands/dataset/links.js +1 -1
  60. package/lib/commands/dataset/list.js +1 -1
  61. package/lib/commands/dataset/operations.js +1 -1
  62. package/lib/commands/db/analyze-cancel.js +1 -1
  63. package/lib/commands/db/analyze-start.js +1 -1
  64. package/lib/commands/db/analyze-status.js +1 -1
  65. package/lib/commands/db/create.js +1 -1
  66. package/lib/commands/db/delete.js +1 -1
  67. package/lib/commands/db/detail.js +1 -1
  68. package/lib/commands/db/diff.js +1 -1
  69. package/lib/commands/db/index.js +1 -1
  70. package/lib/commands/db/list.js +1 -1
  71. package/lib/commands/db/shared.js +1 -1
  72. package/lib/commands/db/tables.js +1 -1
  73. package/lib/commands/db/test.js +1 -1
  74. package/lib/commands/db/update.js +1 -1
  75. package/lib/commands/doctor.js +1 -1
  76. package/lib/commands/init/index.js +1 -1
  77. package/lib/commands/issue/index.js +1 -1
  78. package/lib/commands/issue/report.js +1 -1
  79. package/lib/commands/logs/index.js +1 -1
  80. package/lib/commands/menu/index.js +1 -1
  81. package/lib/commands/menu/shared/compare-table.js +1 -1
  82. package/lib/commands/menu/shared/index.js +1 -1
  83. package/lib/commands/menu/shared/inquirer.js +1 -1
  84. package/lib/commands/menu/shared/local-pages.js +1 -1
  85. package/lib/commands/menu/shared/logic.js +1 -1
  86. package/lib/commands/menu/shared/service.js +1 -1
  87. package/lib/commands/menu/shared/sync-core.js +1 -1
  88. package/lib/commands/menu/shared/update-core.js +1 -1
  89. package/lib/commands/menu/shared/valid-url.js +1 -1
  90. package/lib/commands/menu/sync.js +1 -1
  91. package/lib/commands/menu/update.js +1 -1
  92. package/lib/commands/page/generate-start.js +1 -1
  93. package/lib/commands/page/generate-status.js +1 -1
  94. package/lib/commands/page/index.js +1 -1
  95. package/lib/commands/page/pull.js +1 -1
  96. package/lib/commands/page/push.js +1 -1
  97. package/lib/commands/page/shared.js +1 -1
  98. package/lib/commands/page/standard-page-status.js +1 -1
  99. package/lib/commands/page/sync.js +1 -1
  100. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  101. package/lib/commands/project/create/format-elapsed.js +1 -1
  102. package/lib/commands/project/create/main.js +1 -1
  103. package/lib/commands/project/create/non-interactive.js +1 -1
  104. package/lib/commands/project/create/project-template-path.js +1 -1
  105. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  106. package/lib/commands/project/create/use-format-code.js +1 -1
  107. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  108. package/lib/commands/project/index.js +1 -1
  109. package/lib/commands/project/init.js +1 -1
  110. package/lib/commands/project/upgrade.js +1 -1
  111. package/lib/commands/registry.js +1 -1
  112. package/lib/commands/run/index.js +1 -1
  113. package/lib/commands/schema.js +1 -1
  114. package/lib/commands/skill/index.js +1 -1
  115. package/lib/commands/sql/create.js +1 -1
  116. package/lib/commands/sql/delete.js +1 -1
  117. package/lib/commands/sql/detail.js +1 -1
  118. package/lib/commands/sql/exec.js +1 -1
  119. package/lib/commands/sql/index.js +1 -1
  120. package/lib/commands/sql/list.js +1 -1
  121. package/lib/commands/sql/pull.js +1 -1
  122. package/lib/commands/sql/push.js +1 -1
  123. package/lib/commands/sql/save.js +1 -1
  124. package/lib/commands/sql/shared.js +1 -1
  125. package/lib/commands/sql/status.js +1 -1
  126. package/lib/commands/sql/validate.js +1 -1
  127. package/lib/config/schema.js +1 -1
  128. package/lib/constant/cdn.js +1 -1
  129. package/lib/constant/cli.js +1 -1
  130. package/lib/constant/defaults.js +1 -1
  131. package/lib/constant/domain.js +1 -1
  132. package/lib/constant/env.js +1 -1
  133. package/lib/constant/output.js +1 -1
  134. package/lib/constant/paths.js +1 -1
  135. package/lib/constant/risk.js +1 -1
  136. package/lib/context.js +1 -1
  137. package/lib/core/alias-resolver.js +1 -1
  138. package/lib/core/api-client.js +1 -1
  139. package/lib/core/bff/config.js +1 -1
  140. package/lib/core/bff/file-system.js +1 -1
  141. package/lib/core/bff/hash.js +1 -1
  142. package/lib/core/bff/lock.js +1 -1
  143. package/lib/core/bff/utils.js +1 -1
  144. package/lib/core/db-resolver.js +1 -1
  145. package/lib/core/page/file-system.js +1 -1
  146. package/lib/core/page/hash.js +1 -1
  147. package/lib/core/page/lock.js +1 -1
  148. package/lib/core/sql-sync/config.js +1 -1
  149. package/lib/core/sql-sync/file-system.js +1 -1
  150. package/lib/core/sql-sync/hash.js +1 -1
  151. package/lib/core/sql-sync/lock.js +1 -1
  152. package/lib/core/sql-sync/utils.js +1 -1
  153. package/lib/core/sql-validator.js +1 -1
  154. package/lib/errors.js +1 -1
  155. package/lib/framework/build-all-flags.js +1 -1
  156. package/lib/framework/flags.js +1 -1
  157. package/lib/framework/help.js +1 -1
  158. package/lib/framework/index.js +1 -1
  159. package/lib/framework/output.js +1 -1
  160. package/lib/framework/response.js +1 -1
  161. package/lib/framework/runner-alias.js +1 -1
  162. package/lib/framework/runner.js +1 -1
  163. package/lib/framework/schema-export.js +1 -1
  164. package/lib/framework/types.js +1 -1
  165. package/lib/generated/build-info.js +1 -1
  166. package/lib/help.js +1 -1
  167. package/lib/skills/main.js +1 -1
  168. package/lib/skills/npx-skills-add.js +1 -1
  169. package/lib/telemetry/cli-command-trace.js +1 -1
  170. package/lib/telemetry/cli-help-trace.js +1 -1
  171. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  172. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  173. package/lib/telemetry/send-cli-trace-log.js +1 -1
  174. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  175. package/lib/utils/ai_config.js +1 -1
  176. package/lib/utils/apply-jq-filter.js +1 -1
  177. package/lib/utils/cdn-config.js +1 -1
  178. package/lib/utils/check-sdk-version.js +1 -1
  179. package/lib/utils/cli-version-check.js +1 -1
  180. package/lib/utils/cli-version-policy.js +1 -1
  181. package/lib/utils/config.js +1 -1
  182. package/lib/utils/copy-directory.js +1 -1
  183. package/lib/utils/entity-with-id.js +1 -1
  184. package/lib/utils/file-utils.js +1 -1
  185. package/lib/utils/guides-cdn.js +1 -1
  186. package/lib/utils/http-client.js +1 -1
  187. package/lib/utils/is-non-interactive.js +1 -1
  188. package/lib/utils/logger.js +1 -1
  189. package/lib/utils/params.js +1 -1
  190. package/lib/utils/platform.js +1 -1
  191. package/lib/utils/rules-cdn.js +1 -1
  192. package/lib/utils/sleep.js +1 -1
  193. package/lib/utils/template-replacer.js +1 -1
  194. package/lib/utils/version.js +1 -1
  195. package/lib/utils/with-active-cookie.js +1 -1
  196. package/lib/utils/write-cli-side-channel.js +1 -1
  197. package/package.json +2 -1
@@ -1 +1 @@
1
- const a19_0x3620b0=a19_0x553a;(function(_0xb3fc67,_0x5eeac5){const _0x458142=a19_0x553a,_0x2bf896=_0xb3fc67();while(!![]){try{const _0x4f8d51=-parseInt(_0x458142(0xa7))/0x1*(-parseInt(_0x458142(0xa5))/0x2)+-parseInt(_0x458142(0xa0))/0x3+-parseInt(_0x458142(0x9b))/0x4+parseInt(_0x458142(0x9d))/0x5+-parseInt(_0x458142(0xa1))/0x6*(parseInt(_0x458142(0xa3))/0x7)+-parseInt(_0x458142(0xa8))/0x8*(parseInt(_0x458142(0xa4))/0x9)+parseInt(_0x458142(0x9c))/0xa;if(_0x4f8d51===_0x5eeac5)break;else _0x2bf896['push'](_0x2bf896['shift']());}catch(_0x4b05d4){_0x2bf896['push'](_0x2bf896['shift']());}}}(a19_0x4c68,0x57d15));import{listRemoteApps}from'../../core/api-client.js';function a19_0x553a(_0x33343f,_0x1ad97b){_0x33343f=_0x33343f-0x9a;const _0x4c68b2=a19_0x4c68();let _0x553a8e=_0x4c68b2[_0x33343f];return _0x553a8e;}async function execute(_0x4d21e2){const _0x31224c=a19_0x553a,{setActiveCookie:_0x296efb}=await import('../../core/api-client.js');_0x296efb(_0x4d21e2['cookie']);const _0x16d831=await listRemoteApps();return{'ok':!![],'data':{'items':_0x16d831[_0x31224c(0x9e)](_0x40cd2c=>({..._0x40cd2c['id']!=null?{'id':_0x40cd2c['id']}:{},'appCode':_0x40cd2c['appCode'],'appName':_0x40cd2c[_0x31224c(0xa6)],..._0x40cd2c[_0x31224c(0x9f)]!=null?{'appDesc':_0x40cd2c['appDesc']}:{}})),'meta':{'source':'platform'}}};}export const appRemoteDefinition={'service':a19_0x3620b0(0x9a),'command':a19_0x3620b0(0xa2),'description':a19_0x3620b0(0xa9),'risk':'read','requiresAuth':!![],'requiresAppCode':![],'flags':[],'execute':execute};function a19_0x4c68(){const _0x29059d=['10kRMYmr','1148152UkjSKQ','List\x20apps\x20available\x20on\x20the\x20platform\x20for\x20the\x20current\x20login','app','1447680sYTaTG','11707280mRakcE','1020945XVoJkT','map','appDesc','1085349JFdbhW','1805784yKJklg','remote','7VkkCjw','9hRruZw','30594zVGiEa','appName'];a19_0x4c68=function(){return _0x29059d;};return a19_0x4c68();}
1
+ const a19_0x379efb=a19_0x43e3;(function(_0x108441,_0x52555b){const _0x2dbdca=a19_0x43e3,_0x3149f2=_0x108441();while(!![]){try{const _0x387d38=parseInt(_0x2dbdca(0xda))/0x1*(parseInt(_0x2dbdca(0xdf))/0x2)+-parseInt(_0x2dbdca(0xdc))/0x3+parseInt(_0x2dbdca(0xd8))/0x4*(parseInt(_0x2dbdca(0xe6))/0x5)+-parseInt(_0x2dbdca(0xdd))/0x6*(parseInt(_0x2dbdca(0xd6))/0x7)+parseInt(_0x2dbdca(0xe1))/0x8+-parseInt(_0x2dbdca(0xe5))/0x9*(-parseInt(_0x2dbdca(0xd9))/0xa)+-parseInt(_0x2dbdca(0xd4))/0xb*(parseInt(_0x2dbdca(0xe0))/0xc);if(_0x387d38===_0x52555b)break;else _0x3149f2['push'](_0x3149f2['shift']());}catch(_0x49c4cd){_0x3149f2['push'](_0x3149f2['shift']());}}}(a19_0xff6c,0xa4562));function a19_0x43e3(_0x11f0c4,_0x213e61){_0x11f0c4=_0x11f0c4-0xd3;const _0xff6cae=a19_0xff6c();let _0x43e3f2=_0xff6cae[_0x11f0c4];return _0x43e3f2;}function a19_0xff6c(){const _0x3855a7=['cookie','app','List\x20apps\x20available\x20on\x20the\x20platform\x20for\x20the\x20current\x20login','398596smAylo','map','8786484zcHAZb','remote','3670372aHnOQn','11906210SwkgyG','307MOMOTD','../../core/api-client.js','3898047wKPhaf','6nmTyfY','read','2642GgdaPl','72KLSRtE','7450704JzMtFB','appDesc','appCode','appName','9GnhjmG','5QVCfSv'];a19_0xff6c=function(){return _0x3855a7;};return a19_0xff6c();}import{listRemoteApps}from'../../core/api-client.js';async function execute(_0xc4b6ba){const _0x3afa5e=a19_0x43e3,{setActiveCookie:_0x4fe84d}=await import(_0x3afa5e(0xdb));_0x4fe84d(_0xc4b6ba[_0x3afa5e(0xe7)]);const _0x21ddab=await listRemoteApps();return{'ok':!![],'data':{'items':_0x21ddab[_0x3afa5e(0xd5)](_0x4c399d=>({..._0x4c399d['id']!=null?{'id':_0x4c399d['id']}:{},'appCode':_0x4c399d[_0x3afa5e(0xe3)],'appName':_0x4c399d[_0x3afa5e(0xe4)],..._0x4c399d[_0x3afa5e(0xe2)]!=null?{'appDesc':_0x4c399d['appDesc']}:{}})),'meta':{'source':'platform'}}};}export const appRemoteDefinition={'service':a19_0x379efb(0xe8),'command':a19_0x379efb(0xd7),'description':a19_0x379efb(0xd3),'risk':a19_0x379efb(0xde),'requiresAuth':!![],'requiresAppCode':![],'flags':[],'execute':execute};
@@ -1 +1 @@
1
- (function(_0x5b5688,_0x33b65a){const _0x1a5ba6=a20_0x57c7,_0x2a6a48=_0x5b5688();while(!![]){try{const _0x183cf4=parseInt(_0x1a5ba6(0x145))/0x1+-parseInt(_0x1a5ba6(0x141))/0x2+-parseInt(_0x1a5ba6(0x143))/0x3*(-parseInt(_0x1a5ba6(0x14a))/0x4)+parseInt(_0x1a5ba6(0x144))/0x5*(-parseInt(_0x1a5ba6(0x142))/0x6)+parseInt(_0x1a5ba6(0x149))/0x7*(-parseInt(_0x1a5ba6(0x148))/0x8)+-parseInt(_0x1a5ba6(0x146))/0x9+parseInt(_0x1a5ba6(0x147))/0xa;if(_0x183cf4===_0x33b65a)break;else _0x2a6a48['push'](_0x2a6a48['shift']());}catch(_0x44b5b2){_0x2a6a48['push'](_0x2a6a48['shift']());}}}(a20_0xcd0a,0x290b6));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';export const appDefinitions=[appListDefinition,appRemoteDefinition,appUseDefinition,appAddDefinition,appRemoveDefinition];function a20_0x57c7(_0x43485d,_0x417d85){_0x43485d=_0x43485d-0x141;const _0xcd0a79=a20_0xcd0a();let _0x57c713=_0xcd0a79[_0x43485d];return _0x57c713;}function a20_0xcd0a(){const _0x38b49b=['43326njIVDW','2640627brdJwh','8501160mmhzyg','1108888xojEMx','7meOnKh','328lARccv','62936rgdclA','55722nCQnIO','1293eeDSZR','160tlqJYb'];a20_0xcd0a=function(){return _0x38b49b;};return a20_0xcd0a();}
1
+ function a20_0xb37c(_0x325071,_0x375b14){_0x325071=_0x325071-0x124;const _0x8c207b=a20_0x8c20();let _0xb37ce2=_0x8c207b[_0x325071];return _0xb37ce2;}function a20_0x8c20(){const _0x50f1ac=['305151eMRldr','42TiIYOs','2730880qwsitg','570886EUHxyv','18chyIqP','3904268QAPBTr','1542935FBUZGV','19129bfcqcS','39654Hzkiqd','9wruJzB','1030tcmhzC'];a20_0x8c20=function(){return _0x50f1ac;};return a20_0x8c20();}(function(_0x3e59b3,_0x2815f6){const _0x26666f=a20_0xb37c,_0x569117=_0x3e59b3();while(!![]){try{const _0x13099b=parseInt(_0x26666f(0x12c))/0x1+parseInt(_0x26666f(0x124))/0x2*(parseInt(_0x26666f(0x12a))/0x3)+-parseInt(_0x26666f(0x126))/0x4+-parseInt(_0x26666f(0x127))/0x5+parseInt(_0x26666f(0x129))/0x6*(-parseInt(_0x26666f(0x12d))/0x7)+-parseInt(_0x26666f(0x12e))/0x8*(-parseInt(_0x26666f(0x125))/0x9)+-parseInt(_0x26666f(0x12b))/0xa*(-parseInt(_0x26666f(0x128))/0xb);if(_0x13099b===_0x2815f6)break;else _0x569117['push'](_0x569117['shift']());}catch(_0x4316de){_0x569117['push'](_0x569117['shift']());}}}(a20_0x8c20,0xaaa81));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';export const appDefinitions=[appListDefinition,appRemoteDefinition,appUseDefinition,appAddDefinition,appRemoveDefinition];
@@ -1 +1 @@
1
- function a21_0x1dd5(){const _0x42e2b4=['length','projectConfig','\x20in\x20','.\x20Use\x20`','read','global','globalConfig','entries','boolean','merged','push','Show\x20only\x20apps\x20from\x20global\x20~/.rabetbase.json','projectPath','2416395Vgflzd','9398123ZhRpRZ','app','globalPath','5317588BcsREr','bool','object','2403384jfvfnr','apps','mergedCli','Show\x20only\x20apps\x20from\x20project\x20.rabetbase.json','\x20config','inherit','1875058mbscnl','isCurrent','1383041Cjxdxs','appcode','4052292IKERbQ','list','32abnosq','project','defaultApp'];a21_0x1dd5=function(){return _0x42e2b4;};return a21_0x1dd5();}const a21_0x3e7aa3=a21_0x2b31;(function(_0x333f8b,_0x14df3f){const _0x52794d=a21_0x2b31,_0x35d2dd=_0x333f8b();while(!![]){try{const _0x15561b=-parseInt(_0x52794d(0x87))/0x1+-parseInt(_0x52794d(0x85))/0x2+-parseInt(_0x52794d(0x7f))/0x3+-parseInt(_0x52794d(0x7c))/0x4+parseInt(_0x52794d(0x78))/0x5+-parseInt(_0x52794d(0x89))/0x6+parseInt(_0x52794d(0x79))/0x7*(parseInt(_0x52794d(0x8b))/0x8);if(_0x15561b===_0x14df3f)break;else _0x35d2dd['push'](_0x35d2dd['shift']());}catch(_0x3742c0){_0x35d2dd['push'](_0x35d2dd['shift']());}}}(a21_0x1dd5,0xb1876));import{readRawConfigWithLayers}from'../../context.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{buildAppProfileListFields}from'../../config/schema.js';import{appDefinedIn,enrichAppListItemsWithMergedSelection,resolveDefaultAppSource}from'../../commands/app/shared.js';function buildItemsFromLayer(_0x1aafef,_0x5998a7){const _0x3b7fe9=a21_0x2b31,_0x224341=[],_0x13a8ec=_0x1aafef['apps']&&typeof _0x1aafef[_0x3b7fe9(0x80)]===_0x3b7fe9(0x7e)?_0x1aafef[_0x3b7fe9(0x80)]:{},_0x2288bd=_0x1aafef[_0x3b7fe9(0x8d)]||undefined;for(const [_0x1f2924,_0x3dc5f0]of Object['entries'](_0x13a8ec)){if(!_0x3dc5f0||typeof _0x3dc5f0!==_0x3b7fe9(0x7e)||!_0x3dc5f0[_0x3b7fe9(0x88)])continue;_0x224341[_0x3b7fe9(0x75)]({'name':_0x1f2924,'appcode':_0x3dc5f0[_0x3b7fe9(0x88)],'named':!![],'definedIn':_0x5998a7,'isDefault':_0x1f2924===_0x2288bd,...buildAppProfileListFields(_0x3dc5f0)});}return _0x224341;}function buildMergedItems(_0x364c0c,_0x23fb87){const _0xc1f008=a21_0x2b31,{apps:apps={},defaultApp:_0x94e631}=_0x364c0c,_0xfb22af=_0x23fb87['globalConfig'][_0xc1f008(0x80)]&&typeof _0x23fb87[_0xc1f008(0x71)][_0xc1f008(0x80)]==='object'?_0x23fb87[_0xc1f008(0x71)]['apps']:{},_0x362276=_0x23fb87[_0xc1f008(0x8f)][_0xc1f008(0x80)]&&typeof _0x23fb87[_0xc1f008(0x8f)][_0xc1f008(0x80)]===_0xc1f008(0x7e)?_0x23fb87['projectConfig']['apps']:{},_0x39b14a=_0x23fb87[_0xc1f008(0x8f)][_0xc1f008(0x84)]===![],_0x55bb53=Object[_0xc1f008(0x72)](apps),_0x2354c9=_0x55bb53['map'](([_0x5894af,_0x523853])=>({'name':_0x5894af,'appcode':_0x523853[_0xc1f008(0x88)],'named':!![],'definedIn':appDefinedIn(_0x5894af,_0xfb22af,_0x362276,_0x39b14a),'isDefault':_0x5894af===_0x94e631,...buildAppProfileListFields(_0x523853)}));return _0x2354c9;}async function execute(_0x3e8941){const _0x931b61=a21_0x2b31,_0x18e5cd=_0x3e8941[_0x931b61(0x7d)](_0x931b61(0x93)),_0x4127ed=_0x3e8941['bool'](_0x931b61(0x8c)),_0x36514c=_0x18e5cd?_0x931b61(0x93):_0x4127ed?'project':_0x931b61(0x74),{config:_0x2f8ad7,layers:_0x2db473}=readRawConfigWithLayers(),_0x58d652=resolveDefaultAppSource(_0x2db473),{defaultApp:_0x56300b}=_0x2f8ad7;let _0x203f31,_0x1c73b5;switch(_0x36514c){case _0x931b61(0x93):_0x203f31=buildItemsFromLayer(_0x2db473[_0x931b61(0x71)],'global'),_0x1c73b5=_0x2db473[_0x931b61(0x7b)];break;case'project':_0x203f31=buildItemsFromLayer(_0x2db473[_0x931b61(0x8f)],_0x931b61(0x8c)),_0x1c73b5=_0x2db473[_0x931b61(0x77)];break;default:_0x203f31=buildMergedItems(_0x2f8ad7,_0x2db473);break;}enrichAppListItemsWithMergedSelection(_0x203f31,_0x3e8941[_0x931b61(0x81)]);if(_0x203f31[_0x931b61(0x8e)]===0x0){const _0x3125fe=_0x36514c===_0x931b61(0x74)?'':_0x931b61(0x90)+_0x36514c+_0x931b61(0x83);return{'ok':!![],'data':[],'message':'No\x20apps\x20configured'+_0x3125fe+_0x931b61(0x91)+CLI_BIN_NAME+'\x20app\x20add\x20<name>\x20--appcode\x20<code>`\x20to\x20add\x20one.'};}const _0x4082f7=_0x203f31['find'](_0x1076bc=>_0x1076bc[_0x931b61(0x86)]===!![]),_0x54c5e9=_0x56300b??_0x4082f7?.[_0x931b61(0x88)]??null,_0x4e4f97=_0x36514c===_0x931b61(0x74)?{'globalPath':_0x2db473[_0x931b61(0x7b)]??null,'projectPath':_0x2db473[_0x931b61(0x77)]??null,'defaultApp':_0x54c5e9,'defaultAppSource':_0x56300b!=null?_0x58d652:null}:{'scope':_0x36514c,'configPath':_0x1c73b5??null};return{'ok':!![],'data':{'items':_0x203f31,'meta':_0x4e4f97}};}function a21_0x2b31(_0x398acd,_0x1ea00a){_0x398acd=_0x398acd-0x71;const _0x1dd5e5=a21_0x1dd5();let _0x2b3146=_0x1dd5e5[_0x398acd];return _0x2b3146;}export const appListDefinition={'service':a21_0x3e7aa3(0x7a),'command':a21_0x3e7aa3(0x8a),'description':'List\x20all\x20configured\x20apps','risk':a21_0x3e7aa3(0x92),'requiresAuth':![],'requiresAppCode':![],'flags':[{'name':a21_0x3e7aa3(0x93),'type':'boolean','description':a21_0x3e7aa3(0x76),'default':![]},{'name':a21_0x3e7aa3(0x8c),'type':a21_0x3e7aa3(0x73),'description':a21_0x3e7aa3(0x82),'default':![]}],'execute':execute};
1
+ const a21_0x31253d=a21_0x458e;function a21_0x566a(){const _0x366317=['List\x20all\x20configured\x20apps','globalConfig','.\x20Use\x20`','read','388293wVfCXz','1DQTWQb','list','5329647EDrjRk','bool','appcode','find','Show\x20only\x20apps\x20from\x20global\x20~/.rabetbase.json','app','globalPath','30pwYTNS','isCurrent','Show\x20only\x20apps\x20from\x20project\x20.rabetbase.json','global','2921104lLkgDP','entries','merged','project','defaultApp','134188AegVAH','\x20app\x20add\x20<name>\x20--appcode\x20<code>`\x20to\x20add\x20one.','105zLoMNh','projectConfig','boolean','object','apps','map','3728652DFGZwA','length','push','projectPath','1915032OXaXHt','inherit','1663062KUaKMc'];a21_0x566a=function(){return _0x366317;};return a21_0x566a();}(function(_0x369407,_0x5b8f07){const _0x59a55f=a21_0x458e,_0x5eb491=_0x369407();while(!![]){try{const _0x253611=-parseInt(_0x59a55f(0x1d4))/0x1*(parseInt(_0x59a55f(0x1ce))/0x2)+parseInt(_0x59a55f(0x1d3))/0x3+-parseInt(_0x59a55f(0x1c0))/0x4*(-parseInt(_0x59a55f(0x1c2))/0x5)+-parseInt(_0x59a55f(0x1c8))/0x6+-parseInt(_0x59a55f(0x1cc))/0x7+-parseInt(_0x59a55f(0x1e1))/0x8+parseInt(_0x59a55f(0x1d6))/0x9*(parseInt(_0x59a55f(0x1dd))/0xa);if(_0x253611===_0x5b8f07)break;else _0x5eb491['push'](_0x5eb491['shift']());}catch(_0x1c9407){_0x5eb491['push'](_0x5eb491['shift']());}}}(a21_0x566a,0x7ea7c));import{readRawConfigWithLayers}from'../../context.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{buildAppProfileListFields}from'../../config/schema.js';function a21_0x458e(_0x43ed56,_0x366e6a){_0x43ed56=_0x43ed56-0x1be;const _0x566a14=a21_0x566a();let _0x458eaa=_0x566a14[_0x43ed56];return _0x458eaa;}import{appDefinedIn,enrichAppListItemsWithMergedSelection,resolveDefaultAppSource}from'../../commands/app/shared.js';function buildItemsFromLayer(_0x3accfa,_0x478c59){const _0x2c568f=a21_0x458e,_0x1e62f1=[],_0x3400fe=_0x3accfa[_0x2c568f(0x1c6)]&&typeof _0x3accfa[_0x2c568f(0x1c6)]===_0x2c568f(0x1c5)?_0x3accfa[_0x2c568f(0x1c6)]:{},_0x24fdd1=_0x3accfa[_0x2c568f(0x1bf)]||undefined;for(const [_0xfa41a2,_0x59a417]of Object[_0x2c568f(0x1e2)](_0x3400fe)){if(!_0x59a417||typeof _0x59a417!==_0x2c568f(0x1c5)||!_0x59a417[_0x2c568f(0x1d8)])continue;_0x1e62f1[_0x2c568f(0x1ca)]({'name':_0xfa41a2,'appcode':_0x59a417['appcode'],'named':!![],'definedIn':_0x478c59,'isDefault':_0xfa41a2===_0x24fdd1,...buildAppProfileListFields(_0x59a417)});}return _0x1e62f1;}function buildMergedItems(_0x45e94a,_0x1f5ce3){const _0xe2798b=a21_0x458e,{apps:apps={},defaultApp:_0x29427c}=_0x45e94a,_0x2d530f=_0x1f5ce3[_0xe2798b(0x1d0)][_0xe2798b(0x1c6)]&&typeof _0x1f5ce3[_0xe2798b(0x1d0)][_0xe2798b(0x1c6)]===_0xe2798b(0x1c5)?_0x1f5ce3[_0xe2798b(0x1d0)][_0xe2798b(0x1c6)]:{},_0x2ed294=_0x1f5ce3[_0xe2798b(0x1c3)][_0xe2798b(0x1c6)]&&typeof _0x1f5ce3[_0xe2798b(0x1c3)][_0xe2798b(0x1c6)]===_0xe2798b(0x1c5)?_0x1f5ce3[_0xe2798b(0x1c3)]['apps']:{},_0x148a5c=_0x1f5ce3[_0xe2798b(0x1c3)][_0xe2798b(0x1cd)]===![],_0x7b652d=Object['entries'](apps),_0xc562d2=_0x7b652d[_0xe2798b(0x1c7)](([_0x53780d,_0xe63470])=>({'name':_0x53780d,'appcode':_0xe63470['appcode'],'named':!![],'definedIn':appDefinedIn(_0x53780d,_0x2d530f,_0x2ed294,_0x148a5c),'isDefault':_0x53780d===_0x29427c,...buildAppProfileListFields(_0xe63470)}));return _0xc562d2;}async function execute(_0x4c49fc){const _0x362388=a21_0x458e,_0x4bef0d=_0x4c49fc[_0x362388(0x1d7)](_0x362388(0x1e0)),_0x40e193=_0x4c49fc[_0x362388(0x1d7)](_0x362388(0x1be)),_0x118964=_0x4bef0d?_0x362388(0x1e0):_0x40e193?_0x362388(0x1be):_0x362388(0x1e3),{config:_0x12bb67,layers:_0x4aa7d3}=readRawConfigWithLayers(),_0x1e7ed9=resolveDefaultAppSource(_0x4aa7d3),{defaultApp:_0x537a92}=_0x12bb67;let _0x4a2c0d,_0x1127b3;switch(_0x118964){case _0x362388(0x1e0):_0x4a2c0d=buildItemsFromLayer(_0x4aa7d3[_0x362388(0x1d0)],_0x362388(0x1e0)),_0x1127b3=_0x4aa7d3[_0x362388(0x1dc)];break;case _0x362388(0x1be):_0x4a2c0d=buildItemsFromLayer(_0x4aa7d3[_0x362388(0x1c3)],_0x362388(0x1be)),_0x1127b3=_0x4aa7d3[_0x362388(0x1cb)];break;default:_0x4a2c0d=buildMergedItems(_0x12bb67,_0x4aa7d3);break;}enrichAppListItemsWithMergedSelection(_0x4a2c0d,_0x4c49fc['mergedCli']);if(_0x4a2c0d[_0x362388(0x1c9)]===0x0){const _0x468e04=_0x118964===_0x362388(0x1e3)?'':'\x20in\x20'+_0x118964+'\x20config';return{'ok':!![],'data':[],'message':'No\x20apps\x20configured'+_0x468e04+_0x362388(0x1d1)+CLI_BIN_NAME+_0x362388(0x1c1)};}const _0x390cfa=_0x4a2c0d[_0x362388(0x1d9)](_0xf7aa33=>_0xf7aa33[_0x362388(0x1de)]===!![]),_0x4445c4=_0x537a92??_0x390cfa?.[_0x362388(0x1d8)]??null,_0x23295d=_0x118964===_0x362388(0x1e3)?{'globalPath':_0x4aa7d3[_0x362388(0x1dc)]??null,'projectPath':_0x4aa7d3[_0x362388(0x1cb)]??null,'defaultApp':_0x4445c4,'defaultAppSource':_0x537a92!=null?_0x1e7ed9:null}:{'scope':_0x118964,'configPath':_0x1127b3??null};return{'ok':!![],'data':{'items':_0x4a2c0d,'meta':_0x23295d}};}export const appListDefinition={'service':a21_0x31253d(0x1db),'command':a21_0x31253d(0x1d5),'description':a21_0x31253d(0x1cf),'risk':a21_0x31253d(0x1d2),'requiresAuth':![],'requiresAppCode':![],'flags':[{'name':a21_0x31253d(0x1e0),'type':'boolean','description':a21_0x31253d(0x1da),'default':![]},{'name':a21_0x31253d(0x1be),'type':a21_0x31253d(0x1c4),'description':a21_0x31253d(0x1df),'default':![]}],'execute':execute};
@@ -1 +1 @@
1
- const a22_0x79bc62=a22_0x5158;(function(_0x32b8e1,_0x4d2446){const _0x165cd9=a22_0x5158,_0x3095b6=_0x32b8e1();while(!![]){try{const _0x197170=-parseInt(_0x165cd9(0x12f))/0x1*(-parseInt(_0x165cd9(0x11d))/0x2)+-parseInt(_0x165cd9(0x10f))/0x3*(parseInt(_0x165cd9(0x113))/0x4)+-parseInt(_0x165cd9(0x10d))/0x5*(-parseInt(_0x165cd9(0x11f))/0x6)+-parseInt(_0x165cd9(0x114))/0x7*(parseInt(_0x165cd9(0x132))/0x8)+parseInt(_0x165cd9(0x118))/0x9*(parseInt(_0x165cd9(0x12a))/0xa)+-parseInt(_0x165cd9(0x120))/0xb+parseInt(_0x165cd9(0x116))/0xc;if(_0x197170===_0x4d2446)break;else _0x3095b6['push'](_0x3095b6['shift']());}catch(_0x4e8637){_0x3095b6['push'](_0x3095b6['shift']());}}}(a22_0x1e28,0x99868));function a22_0x1e28(){const _0x1b68bf=['16wxcnrh','global','18FzJYkB','8495828EQFvqH','both','trim','boolean','projectConfig','App\x20profile\x20name\x20to\x20remove','\x20Note:\x20app\x20\x22','app','high-risk-write','\x22\x20not\x20found.','2698310Uxehdx','\x22\x20still\x20defined\x20in\x20','defaultApp','\x20app\x20remove\x20<name>\x20[--global]','args','148252aGJyBS','App\x20\x22','Remove\x20an\x20app\x20from\x20config','20728oUkdFh','keys','object','inherit','name','1662725jchGOY','globalConfig','16098vskOdE','apps','\x20Default\x20app\x20changed\x20to\x20\x22','length','740HrMDVD','3374JADvEV','project','11033364KKGxMs','validation','18tOXJwr','Use\x20global\x20config\x20scope','Missing\x20app\x20name.','bool','Usage:\x20'];a22_0x1e28=function(){return _0x1b68bf;};return a22_0x1e28();}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_0x5158(_0xbc791d,_0x315452){_0xbc791d=_0xbc791d-0x10c;const _0x1e280d=a22_0x1e28();let _0x515817=_0x1e280d[_0xbc791d];return _0x515817;}async function validateArgs(_0x437493){const _0x25b289=a22_0x5158,_0x5342a2=_0x437493[_0x25b289(0x12e)][0x0]?.[_0x25b289(0x122)]();if(!_0x5342a2)throw CliErrors[_0x25b289(0x117)]('Missing\x20app\x20name.','Usage:\x20'+CLI_BIN_NAME+_0x25b289(0x12d));}async function execute(_0x48a32e){const _0x53b724=a22_0x5158,_0x50a6ae=_0x48a32e[_0x53b724(0x12e)][0x0]?.[_0x53b724(0x122)]();if(!_0x50a6ae)throw CliErrors[_0x53b724(0x117)](_0x53b724(0x11a),_0x53b724(0x11c)+CLI_BIN_NAME+'\x20app\x20remove\x20<name>\x20[--global]');const _0x5c7ac4=_0x48a32e[_0x53b724(0x11b)](_0x53b724(0x11e)),{config:_0x4e94b4,layers:_0x41dbee}=readRawConfigWithLayers(),_0x51e405=_0x4e94b4[_0x53b724(0x110)]??{};if(!_0x51e405[_0x50a6ae])throw CliErrors[_0x53b724(0x117)]('App\x20\x22'+_0x50a6ae+'\x22\x20not\x20found.');const _0x55e17e=_0x41dbee['globalConfig'][_0x53b724(0x110)]&&typeof _0x41dbee[_0x53b724(0x10e)][_0x53b724(0x110)]===_0x53b724(0x134)?_0x41dbee[_0x53b724(0x10e)][_0x53b724(0x110)]:{},_0x488fe3=_0x41dbee['projectConfig'][_0x53b724(0x110)]&&typeof _0x41dbee[_0x53b724(0x124)][_0x53b724(0x110)]===_0x53b724(0x134)?_0x41dbee[_0x53b724(0x124)][_0x53b724(0x110)]:{},_0x447ea4=appDefinedIn(_0x50a6ae,_0x55e17e,_0x488fe3,_0x41dbee[_0x53b724(0x124)][_0x53b724(0x135)]===![]),_0x525cf7=resolveAppScopeForWrite(_0x50a6ae,_0x5c7ac4,_0x41dbee),_0x4a9e16={'global':_0x525cf7===_0x53b724(0x11e)},_0x49eb17=readConfig(_0x4a9e16),_0x36f985=_0x49eb17[_0x53b724(0x110)];if(!_0x36f985||!_0x36f985[_0x50a6ae])throw CliErrors[_0x53b724(0x117)](_0x53b724(0x130)+_0x50a6ae+_0x53b724(0x129));delete _0x36f985[_0x50a6ae];let _0x435951='';if(_0x49eb17['defaultApp']===_0x50a6ae){const _0x1eea9a=Object['keys'](_0x36f985);_0x49eb17[_0x53b724(0x12c)]=_0x1eea9a[_0x53b724(0x112)]>0x0?_0x1eea9a[0x0]:undefined,_0x49eb17['defaultApp']?_0x435951=_0x53b724(0x111)+_0x49eb17['defaultApp']+'\x22.':delete _0x49eb17[_0x53b724(0x12c)];}Object[_0x53b724(0x133)](_0x36f985)[_0x53b724(0x112)]===0x0&&(delete _0x49eb17[_0x53b724(0x110)],delete _0x49eb17[_0x53b724(0x12c)]);writeConfig(_0x49eb17,_0x4a9e16);const _0x538eb3=_0x447ea4===_0x53b724(0x121)?_0x53b724(0x126)+_0x50a6ae+_0x53b724(0x12b)+(_0x525cf7==='project'?_0x53b724(0x11e):_0x53b724(0x115))+'\x20config.':'';return{'ok':!![],'message':'Removed\x20app\x20\x22'+_0x50a6ae+'\x22'+scopeLabel(_0x4a9e16)+'.'+_0x435951+_0x538eb3};}export const appRemoveDefinition={'service':a22_0x79bc62(0x127),'command':'remove','description':a22_0x79bc62(0x131),'risk':a22_0x79bc62(0x128),'requiresAuth':![],'requiresAppCode':![],'args':[{'name':a22_0x79bc62(0x10c),'description':a22_0x79bc62(0x125),'required':!![]}],'flags':[{'name':a22_0x79bc62(0x11e),'type':a22_0x79bc62(0x123),'description':a22_0x79bc62(0x119),'default':![]}],'validate':validateArgs,'execute':execute};
1
+ const a22_0x494d8b=a22_0x1c21;(function(_0x291e33,_0x43f197){const _0x5dff68=a22_0x1c21,_0x5390d2=_0x291e33();while(!![]){try{const _0x37279d=-parseInt(_0x5dff68(0x9b))/0x1+-parseInt(_0x5dff68(0xac))/0x2+-parseInt(_0x5dff68(0x96))/0x3*(parseInt(_0x5dff68(0x94))/0x4)+parseInt(_0x5dff68(0x8f))/0x5+-parseInt(_0x5dff68(0xa7))/0x6+parseInt(_0x5dff68(0xa0))/0x7*(-parseInt(_0x5dff68(0xb1))/0x8)+parseInt(_0x5dff68(0x8c))/0x9;if(_0x37279d===_0x43f197)break;else _0x5390d2['push'](_0x5390d2['shift']());}catch(_0x33d431){_0x5390d2['push'](_0x5390d2['shift']());}}}(a22_0x24e8,0x1a058));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(_0x407a30){const _0x48c849=a22_0x1c21,_0x4a1830=_0x407a30[_0x48c849(0x91)][0x0]?.['trim']();if(!_0x4a1830)throw CliErrors[_0x48c849(0xa6)](_0x48c849(0x8b),_0x48c849(0xa4)+CLI_BIN_NAME+_0x48c849(0x97));}async function execute(_0x47b2d1){const _0x18c42f=a22_0x1c21,_0x19d4c5=_0x47b2d1[_0x18c42f(0x91)][0x0]?.[_0x18c42f(0x90)]();if(!_0x19d4c5)throw CliErrors[_0x18c42f(0xa6)](_0x18c42f(0x8b),_0x18c42f(0xa4)+CLI_BIN_NAME+_0x18c42f(0x97));const _0x3273f9=_0x47b2d1[_0x18c42f(0x98)]('global'),{config:_0x27299b,layers:_0x28406a}=readRawConfigWithLayers(),_0xe29c51=_0x27299b[_0x18c42f(0xad)]??{};if(!_0xe29c51[_0x19d4c5])throw CliErrors[_0x18c42f(0xa6)](_0x18c42f(0x99)+_0x19d4c5+_0x18c42f(0x8d));const _0x1e7f4c=_0x28406a['globalConfig'][_0x18c42f(0xad)]&&typeof _0x28406a[_0x18c42f(0xa5)][_0x18c42f(0xad)]===_0x18c42f(0x92)?_0x28406a['globalConfig'][_0x18c42f(0xad)]:{},_0x2b2dc7=_0x28406a[_0x18c42f(0x9f)]['apps']&&typeof _0x28406a[_0x18c42f(0x9f)][_0x18c42f(0xad)]==='object'?_0x28406a[_0x18c42f(0x9f)][_0x18c42f(0xad)]:{},_0xcc1ced=appDefinedIn(_0x19d4c5,_0x1e7f4c,_0x2b2dc7,_0x28406a['projectConfig'][_0x18c42f(0x8e)]===![]),_0x212daa=resolveAppScopeForWrite(_0x19d4c5,_0x3273f9,_0x28406a),_0x377bfb={'global':_0x212daa===_0x18c42f(0xaf)},_0x3bb643=readConfig(_0x377bfb),_0x4c13c0=_0x3bb643[_0x18c42f(0xad)];if(!_0x4c13c0||!_0x4c13c0[_0x19d4c5])throw CliErrors[_0x18c42f(0xa6)](_0x18c42f(0x99)+_0x19d4c5+_0x18c42f(0x8d));delete _0x4c13c0[_0x19d4c5];let _0x3d820b='';if(_0x3bb643[_0x18c42f(0xaa)]===_0x19d4c5){const _0x482dbb=Object[_0x18c42f(0x9d)](_0x4c13c0);_0x3bb643[_0x18c42f(0xaa)]=_0x482dbb[_0x18c42f(0xa2)]>0x0?_0x482dbb[0x0]:undefined,_0x3bb643['defaultApp']?_0x3d820b=_0x18c42f(0x9c)+_0x3bb643[_0x18c42f(0xaa)]+'\x22.':delete _0x3bb643[_0x18c42f(0xaa)];}Object[_0x18c42f(0x9d)](_0x4c13c0)['length']===0x0&&(delete _0x3bb643[_0x18c42f(0xad)],delete _0x3bb643[_0x18c42f(0xaa)]);writeConfig(_0x3bb643,_0x377bfb);const _0x8a96f9=_0xcc1ced===_0x18c42f(0x89)?_0x18c42f(0xa9)+_0x19d4c5+_0x18c42f(0xae)+(_0x212daa===_0x18c42f(0x9e)?'global':_0x18c42f(0x9e))+_0x18c42f(0xa8):'';return{'ok':!![],'message':_0x18c42f(0xa3)+_0x19d4c5+'\x22'+scopeLabel(_0x377bfb)+'.'+_0x3d820b+_0x8a96f9};}function a22_0x1c21(_0x5e993f,_0x16d6e8){_0x5e993f=_0x5e993f-0x89;const _0x24e8a0=a22_0x24e8();let _0x1c21ea=_0x24e8a0[_0x5e993f];return _0x1c21ea;}function a22_0x24e8(){const _0x539010=['object','Remove\x20an\x20app\x20from\x20config','88pUhgzv','App\x20profile\x20name\x20to\x20remove','12981ocqYxW','\x20app\x20remove\x20<name>\x20[--global]','bool','App\x20\x22','name','119098jRfnOd','\x20Default\x20app\x20changed\x20to\x20\x22','keys','project','projectConfig','30212XzfXar','app','length','Removed\x20app\x20\x22','Usage:\x20','globalConfig','validation','1127358JLdZNi','\x20config.','\x20Note:\x20app\x20\x22','defaultApp','Use\x20global\x20config\x20scope','13374BpHxCY','apps','\x22\x20still\x20defined\x20in\x20','global','boolean','32AQZZRw','remove','both','high-risk-write','Missing\x20app\x20name.','4695012oVAfIm','\x22\x20not\x20found.','inherit','55260nHNQNc','trim','args'];a22_0x24e8=function(){return _0x539010;};return a22_0x24e8();}export const appRemoveDefinition={'service':a22_0x494d8b(0xa1),'command':a22_0x494d8b(0xb2),'description':a22_0x494d8b(0x93),'risk':a22_0x494d8b(0x8a),'requiresAuth':![],'requiresAppCode':![],'args':[{'name':a22_0x494d8b(0x9a),'description':a22_0x494d8b(0x95),'required':!![]}],'flags':[{'name':a22_0x494d8b(0xaf),'type':a22_0x494d8b(0xb0),'description':a22_0x494d8b(0xab),'default':![]}],'validate':validateArgs,'execute':execute};
@@ -1 +1 @@
1
- (function(_0x2a854b,_0x4614cf){const _0x279cea=a23_0x324e,_0x17c812=_0x2a854b();while(!![]){try{const _0x201563=parseInt(_0x279cea(0x69))/0x1+-parseInt(_0x279cea(0x86))/0x2+-parseInt(_0x279cea(0x7a))/0x3*(-parseInt(_0x279cea(0x84))/0x4)+parseInt(_0x279cea(0x83))/0x5*(-parseInt(_0x279cea(0x81))/0x6)+parseInt(_0x279cea(0x82))/0x7*(-parseInt(_0x279cea(0x7b))/0x8)+parseInt(_0x279cea(0x6d))/0x9+-parseInt(_0x279cea(0x80))/0xa*(-parseInt(_0x279cea(0x89))/0xb);if(_0x201563===_0x4614cf)break;else _0x17c812['push'](_0x17c812['shift']());}catch(_0x169e3d){_0x17c812['push'](_0x17c812['shift']());}}}(a23_0x4616,0x8753b));import{resolveWriteConfigPath,readConfigFile,writeConfigFile}from'../../context.js';export function enrichAppListItemsWithMergedSelection(_0x5e7bd1,_0x32a02d){const _0x22bde1=a23_0x324e;if(!_0x32a02d)return;const _0x44edba=_0x32a02d['apps']&&typeof _0x32a02d[_0x22bde1(0x70)]==='object'?_0x32a02d[_0x22bde1(0x70)]:{},_0x53e450=Object['keys'](_0x44edba)['length']>0x0;for(const _0x4af06d of _0x5e7bd1){_0x4af06d[_0x22bde1(0x76)]=![];}const _0x4ae682=_0x32a02d[_0x22bde1(0x6f)]!=null?String(_0x32a02d['appCode'])[_0x22bde1(0x6a)]():'';if(_0x53e450){const _0x361a07=_0x32a02d[_0x22bde1(0x78)]??_0x32a02d[_0x22bde1(0x7c)];if(_0x361a07)for(const _0x5efbdb of _0x5e7bd1){_0x5efbdb[_0x22bde1(0x7f)]===!![]&&_0x5efbdb[_0x22bde1(0x75)]===_0x361a07&&(_0x5efbdb['isCurrent']=!![]);}for(const _0x417de7 of _0x5e7bd1){if(_0x417de7['named']!==![])continue;if(_0x32a02d[_0x22bde1(0x7c)])continue;_0x4ae682&&String(_0x417de7[_0x22bde1(0x71)]??'')[_0x22bde1(0x6a)]()===_0x4ae682&&(_0x417de7[_0x22bde1(0x76)]=!![]);}return;}if(!_0x4ae682)return;for(const _0x4eaafc of _0x5e7bd1){String(_0x4eaafc[_0x22bde1(0x71)]??'')[_0x22bde1(0x6a)]()===_0x4ae682&&(_0x4eaafc['isCurrent']=!![]);}}export function resolveAppScopeForWrite(_0x505dda,_0x465262,_0x29c3b1){const _0x9f2d00=a23_0x324e;if(_0x465262)return _0x9f2d00(0x6c);const _0x423381=_0x29c3b1[_0x9f2d00(0x6b)][_0x9f2d00(0x70)]&&typeof _0x29c3b1[_0x9f2d00(0x6b)][_0x9f2d00(0x70)]===_0x9f2d00(0x7e)?_0x29c3b1[_0x9f2d00(0x6b)]['apps']:{},_0x250f01=_0x29c3b1[_0x9f2d00(0x6e)][_0x9f2d00(0x70)]&&typeof _0x29c3b1[_0x9f2d00(0x6e)][_0x9f2d00(0x70)]==='object'?_0x29c3b1[_0x9f2d00(0x6e)]['apps']:{};if(Object['prototype']['hasOwnProperty'][_0x9f2d00(0x7d)](_0x423381,_0x505dda))return _0x9f2d00(0x72);if(Object[_0x9f2d00(0x74)]['hasOwnProperty'][_0x9f2d00(0x7d)](_0x250f01,_0x505dda))return'global';return _0x9f2d00(0x72);}export function appDefinedIn(_0x26290f,_0x29329f,_0x1697c4,_0x8a8ba7){const _0x15b442=a23_0x324e;if(_0x8a8ba7)return Object[_0x15b442(0x74)][_0x15b442(0x79)][_0x15b442(0x7d)](_0x1697c4,_0x26290f)?'project':_0x15b442(0x6c);const _0x3786ea=Object['prototype'][_0x15b442(0x79)][_0x15b442(0x7d)](_0x29329f,_0x26290f),_0x239495=Object['prototype'][_0x15b442(0x79)][_0x15b442(0x7d)](_0x1697c4,_0x26290f);if(_0x3786ea&&_0x239495)return _0x15b442(0x88);if(_0x239495)return _0x15b442(0x72);return _0x15b442(0x6c);}function a23_0x4616(){const _0x4b5c80=['isCurrent','keys','currentApp','hasOwnProperty','9441OZOemm','2008euxzlj','defaultApp','call','object','named','10815980pwGFpG','16968fNUWam','9989IbUvDe','1510dNXdjd','12MBIBRO','length','1934998AsaBcM','\x20(global)','both','22KiXAEA','61515FElVaQ','trim','projectConfig','global','4498911fnWtPs','globalConfig','appCode','apps','appcode','project','inherit','prototype','name'];a23_0x4616=function(){return _0x4b5c80;};return a23_0x4616();}export function resolveDefaultAppSource(_0x27d5d1){const _0x57ae99=a23_0x324e,_0x26835b=_0x27d5d1[_0x57ae99(0x6b)][_0x57ae99(0x70)]&&typeof _0x27d5d1[_0x57ae99(0x6b)][_0x57ae99(0x70)]===_0x57ae99(0x7e)?_0x27d5d1[_0x57ae99(0x6b)][_0x57ae99(0x70)]:{};if('defaultApp'in _0x27d5d1[_0x57ae99(0x6b)])return _0x57ae99(0x72);if(Object[_0x57ae99(0x77)](_0x26835b)[_0x57ae99(0x85)]>0x0)return _0x57ae99(0x72);if(_0x27d5d1[_0x57ae99(0x6b)][_0x57ae99(0x73)]===![])return null;if(_0x27d5d1[_0x57ae99(0x6e)][_0x57ae99(0x7c)])return _0x57ae99(0x6c);return null;}export function getConfigPath(_0x588b4c={}){const _0x391db6=a23_0x324e,_0xf272e6=_0x588b4c[_0x391db6(0x6c)]?_0x391db6(0x6c):'project';return resolveWriteConfigPath(_0xf272e6);}export function readConfig(_0x252388={}){return readConfigFile(getConfigPath(_0x252388));}export function writeConfig(_0x4b1564,_0x2b84f1={}){writeConfigFile(getConfigPath(_0x2b84f1),_0x4b1564);}function a23_0x324e(_0x48f62c,_0x27a4a9){_0x48f62c=_0x48f62c-0x69;const _0x46163f=a23_0x4616();let _0x324ec1=_0x46163f[_0x48f62c];return _0x324ec1;}export function scopeLabel(_0x451463){const _0x3a6e7e=a23_0x324e;return _0x451463[_0x3a6e7e(0x6c)]?_0x3a6e7e(0x87):'';}
1
+ (function(_0x5d0534,_0x5550e5){const _0x123670=a23_0x414c,_0x295475=_0x5d0534();while(!![]){try{const _0x4eb118=parseInt(_0x123670(0x1bf))/0x1+parseInt(_0x123670(0x1b5))/0x2+parseInt(_0x123670(0x1b8))/0x3*(parseInt(_0x123670(0x1bb))/0x4)+parseInt(_0x123670(0x1b9))/0x5*(-parseInt(_0x123670(0x1b4))/0x6)+-parseInt(_0x123670(0x1c7))/0x7*(parseInt(_0x123670(0x1b1))/0x8)+-parseInt(_0x123670(0x1b2))/0x9*(parseInt(_0x123670(0x1c0))/0xa)+-parseInt(_0x123670(0x1bd))/0xb*(parseInt(_0x123670(0x1b6))/0xc);if(_0x4eb118===_0x5550e5)break;else _0x295475['push'](_0x295475['shift']());}catch(_0x3d9fdf){_0x295475['push'](_0x295475['shift']());}}}(a23_0x5f1c,0x70ef0));import{resolveWriteConfigPath,readConfigFile,writeConfigFile}from'../../context.js';function a23_0x414c(_0x390b51,_0x179cf2){_0x390b51=_0x390b51-0x1ad;const _0x5f1c6a=a23_0x5f1c();let _0x414c20=_0x5f1c6a[_0x390b51];return _0x414c20;}export function enrichAppListItemsWithMergedSelection(_0x27e149,_0x112e93){const _0xc6fea6=a23_0x414c;if(!_0x112e93)return;const _0x22e9e6=_0x112e93[_0xc6fea6(0x1b0)]&&typeof _0x112e93[_0xc6fea6(0x1b0)]===_0xc6fea6(0x1ad)?_0x112e93[_0xc6fea6(0x1b0)]:{},_0xec869=Object[_0xc6fea6(0x1b3)](_0x22e9e6)[_0xc6fea6(0x1c4)]>0x0;for(const _0x42ffd2 of _0x27e149){_0x42ffd2['isCurrent']=![];}const _0x103054=_0x112e93[_0xc6fea6(0x1cb)]!=null?String(_0x112e93[_0xc6fea6(0x1cb)])[_0xc6fea6(0x1be)]():'';if(_0xec869){const _0x4577fa=_0x112e93[_0xc6fea6(0x1c6)]??_0x112e93[_0xc6fea6(0x1c2)];if(_0x4577fa)for(const _0x3a104e of _0x27e149){_0x3a104e[_0xc6fea6(0x1c5)]===!![]&&_0x3a104e[_0xc6fea6(0x1ba)]===_0x4577fa&&(_0x3a104e[_0xc6fea6(0x1ae)]=!![]);}for(const _0x40e44b of _0x27e149){if(_0x40e44b[_0xc6fea6(0x1c5)]!==![])continue;if(_0x112e93[_0xc6fea6(0x1c2)])continue;_0x103054&&String(_0x40e44b[_0xc6fea6(0x1bc)]??'')['trim']()===_0x103054&&(_0x40e44b[_0xc6fea6(0x1ae)]=!![]);}return;}if(!_0x103054)return;for(const _0x141a2f of _0x27e149){String(_0x141a2f[_0xc6fea6(0x1bc)]??'')[_0xc6fea6(0x1be)]()===_0x103054&&(_0x141a2f[_0xc6fea6(0x1ae)]=!![]);}}export function resolveAppScopeForWrite(_0x2ec3ea,_0x4ad125,_0x210a5b){const _0x306a3d=a23_0x414c;if(_0x4ad125)return _0x306a3d(0x1c3);const _0x4322b1=_0x210a5b['projectConfig'][_0x306a3d(0x1b0)]&&typeof _0x210a5b[_0x306a3d(0x1c1)][_0x306a3d(0x1b0)]==='object'?_0x210a5b['projectConfig'][_0x306a3d(0x1b0)]:{},_0x118e9f=_0x210a5b['globalConfig']['apps']&&typeof _0x210a5b['globalConfig'][_0x306a3d(0x1b0)]===_0x306a3d(0x1ad)?_0x210a5b[_0x306a3d(0x1c8)][_0x306a3d(0x1b0)]:{};if(Object[_0x306a3d(0x1c9)][_0x306a3d(0x1b7)][_0x306a3d(0x1af)](_0x4322b1,_0x2ec3ea))return'project';if(Object[_0x306a3d(0x1c9)][_0x306a3d(0x1b7)][_0x306a3d(0x1af)](_0x118e9f,_0x2ec3ea))return'global';return _0x306a3d(0x1ca);}export function appDefinedIn(_0x22c1f3,_0x36da35,_0x2ed7f7,_0x2acb1f){const _0x30c383=a23_0x414c;if(_0x2acb1f)return Object[_0x30c383(0x1c9)][_0x30c383(0x1b7)][_0x30c383(0x1af)](_0x2ed7f7,_0x22c1f3)?_0x30c383(0x1ca):_0x30c383(0x1c3);const _0x5bafe2=Object[_0x30c383(0x1c9)][_0x30c383(0x1b7)]['call'](_0x36da35,_0x22c1f3),_0x138d83=Object[_0x30c383(0x1c9)][_0x30c383(0x1b7)]['call'](_0x2ed7f7,_0x22c1f3);if(_0x5bafe2&&_0x138d83)return'both';if(_0x138d83)return'project';return _0x30c383(0x1c3);}function a23_0x5f1c(){const _0x124892=['name','2360ByBnHY','appcode','7324449NEfCqF','trim','779531hWOVhg','10uiZcYP','projectConfig','defaultApp','global','length','named','currentApp','2383010KJgblO','globalConfig','prototype','project','appCode','inherit','object','isCurrent','call','apps','8jnGNbx','1505007Tcyyvg','keys','3318FuRvDa','1695896xcgZaf','12zcWjpf','hasOwnProperty','3747fHVCqV','6585JCGQeG'];a23_0x5f1c=function(){return _0x124892;};return a23_0x5f1c();}export function resolveDefaultAppSource(_0x32e0fc){const _0x2d8f0d=a23_0x414c,_0x30d834=_0x32e0fc['projectConfig'][_0x2d8f0d(0x1b0)]&&typeof _0x32e0fc['projectConfig']['apps']===_0x2d8f0d(0x1ad)?_0x32e0fc[_0x2d8f0d(0x1c1)]['apps']:{};if(_0x2d8f0d(0x1c2)in _0x32e0fc[_0x2d8f0d(0x1c1)])return _0x2d8f0d(0x1ca);if(Object[_0x2d8f0d(0x1b3)](_0x30d834)[_0x2d8f0d(0x1c4)]>0x0)return'project';if(_0x32e0fc[_0x2d8f0d(0x1c1)][_0x2d8f0d(0x1cc)]===![])return null;if(_0x32e0fc[_0x2d8f0d(0x1c8)][_0x2d8f0d(0x1c2)])return _0x2d8f0d(0x1c3);return null;}export function getConfigPath(_0x5c5032={}){const _0x4d6b77=_0x5c5032['global']?'global':'project';return resolveWriteConfigPath(_0x4d6b77);}export function readConfig(_0x3404e8={}){return readConfigFile(getConfigPath(_0x3404e8));}export function writeConfig(_0x300595,_0x398a05={}){writeConfigFile(getConfigPath(_0x398a05),_0x300595);}export function scopeLabel(_0x3ba118){const _0x537edd=a23_0x414c;return _0x3ba118[_0x537edd(0x1c3)]?'\x20(global)':'';}
@@ -1 +1 @@
1
- const a24_0x2d91a7=a24_0x132a;function a24_0x132a(_0x2d9e6e,_0x294e7f){_0x2d9e6e=_0x2d9e6e-0x1d7;const _0x38be33=a24_0x38be();let _0x132adc=_0x38be33[_0x2d9e6e];return _0x132adc;}(function(_0x5a4ce3,_0x37f803){const _0x560630=a24_0x132a,_0x2ba902=_0x5a4ce3();while(!![]){try{const _0x503c88=parseInt(_0x560630(0x1d9))/0x1*(-parseInt(_0x560630(0x1e0))/0x2)+-parseInt(_0x560630(0x1ec))/0x3+-parseInt(_0x560630(0x1e4))/0x4+parseInt(_0x560630(0x1fe))/0x5*(parseInt(_0x560630(0x1ed))/0x6)+-parseInt(_0x560630(0x1df))/0x7*(-parseInt(_0x560630(0x1e7))/0x8)+parseInt(_0x560630(0x1f1))/0x9*(parseInt(_0x560630(0x1f6))/0xa)+-parseInt(_0x560630(0x1fc))/0xb*(-parseInt(_0x560630(0x1f5))/0xc);if(_0x503c88===_0x37f803)break;else _0x2ba902['push'](_0x2ba902['shift']());}catch(_0x17b947){_0x2ba902['push'](_0x2ba902['shift']());}}}(a24_0x38be,0xb934a));import{CliErrors}from'../../errors.js';function a24_0x38be(){const _0x1607fa=['Usage:\x20','1296368qCabzq','object','keys','projectConfig','hasOwnProperty','243135QIbHFQ','5556BtmNkd','name','validation','args','37242aVIuiB','prototype','use','\x20app\x20use\x20<name>\x20[--global]','117948VHyCMg','670HLYFSk','Missing\x20app\x20name.','trim','Use\x20`','apps','\x20--appcode\x20<code>`\x20first.','286gIIxsp','appcode','5475YbxqJY','global','\x22\x20(appcode:\x20','call','1EbSSyp','\x22\x20not\x20found.','bool','projectPath','write','Default\x20app\x20set\x20to\x20\x22','56cJYsCq','1544716hMcblg','\x22\x20is\x20defined\x20in\x20global\x20config;\x20defaultApp\x20written\x20to\x20project\x20to\x20take\x20effect\x20in\x20merged\x20view.','\x20app\x20add\x20','app','4924532eQrrko','Available:\x20'];a24_0x38be=function(){return _0x1607fa;};return a24_0x38be();}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(_0x25a359){const _0x26687f=a24_0x132a,_0x28bd33=_0x25a359[_0x26687f(0x1f0)][0x0]?.['trim']();if(!_0x28bd33)throw CliErrors['validation'](_0x26687f(0x1f7),_0x26687f(0x1e6)+CLI_BIN_NAME+'\x20app\x20use\x20<name>\x20[--global]');}async function execute(_0x5207d5){const _0x1bcf23=a24_0x132a,_0x3ff77f=_0x5207d5[_0x1bcf23(0x1f0)][0x0]?.[_0x1bcf23(0x1f8)]();if(!_0x3ff77f)throw CliErrors[_0x1bcf23(0x1ef)]('Missing\x20app\x20name.',_0x1bcf23(0x1e6)+CLI_BIN_NAME+_0x1bcf23(0x1f4));const _0x164b34=_0x5207d5[_0x1bcf23(0x1db)](_0x1bcf23(0x1ff)),{config:_0x24c1e5,layers:_0x330307}=readRawConfigWithLayers(),_0x5df05b=_0x24c1e5[_0x1bcf23(0x1fa)]??{};if(!_0x5df05b[_0x3ff77f]){const _0x328cb9=Object[_0x1bcf23(0x1e9)](_0x5df05b),_0x4ed674=_0x328cb9['length']===0x0?_0x1bcf23(0x1f9)+CLI_BIN_NAME+_0x1bcf23(0x1e2)+_0x3ff77f+_0x1bcf23(0x1fb):_0x1bcf23(0x1e5)+_0x328cb9['join'](',\x20');throw CliErrors['validation']('App\x20\x22'+_0x3ff77f+_0x1bcf23(0x1da),_0x4ed674);}let _0x22754c,_0x7536e8='';if(_0x164b34)_0x22754c={'global':!![]};else{const _0x33bc96=isInProject()&&!!_0x330307[_0x1bcf23(0x1dc)];_0x22754c={'global':!_0x33bc96};if(_0x33bc96){const _0x38983a=_0x330307[_0x1bcf23(0x1ea)][_0x1bcf23(0x1fa)]&&typeof _0x330307['projectConfig']['apps']===_0x1bcf23(0x1e8)?_0x330307['projectConfig'][_0x1bcf23(0x1fa)]:{};!Object[_0x1bcf23(0x1f2)][_0x1bcf23(0x1eb)][_0x1bcf23(0x1d8)](_0x38983a,_0x3ff77f)&&(_0x7536e8='\x0aNote:\x20\x22'+_0x3ff77f+_0x1bcf23(0x1e1));}}const _0x37377a=readConfig(_0x22754c);return _0x37377a['defaultApp']=_0x3ff77f,writeConfig(_0x37377a,_0x22754c),{'ok':!![],'message':_0x1bcf23(0x1de)+_0x3ff77f+_0x1bcf23(0x1d7)+_0x5df05b[_0x3ff77f][_0x1bcf23(0x1fd)]+')'+scopeLabel(_0x22754c)+_0x7536e8};}export const appUseDefinition={'service':a24_0x2d91a7(0x1e3),'command':a24_0x2d91a7(0x1f3),'description':'Switch\x20the\x20default\x20app','risk':a24_0x2d91a7(0x1dd),'requiresAuth':![],'requiresAppCode':![],'args':[{'name':a24_0x2d91a7(0x1ee),'description':'App\x20profile\x20name\x20to\x20activate','required':!![]}],'flags':[{'name':'global','type':'boolean','description':'Use\x20global\x20config\x20scope','default':![]}],'validate':validateArgs,'execute':execute};
1
+ const a24_0x2e8007=a24_0x2d02;(function(_0x2f12ea,_0x178c99){const _0x2ef5e5=a24_0x2d02,_0x51ddf6=_0x2f12ea();while(!![]){try{const _0x4bb447=parseInt(_0x2ef5e5(0x11f))/0x1*(-parseInt(_0x2ef5e5(0x124))/0x2)+-parseInt(_0x2ef5e5(0x10b))/0x3+-parseInt(_0x2ef5e5(0x111))/0x4*(parseInt(_0x2ef5e5(0x11c))/0x5)+parseInt(_0x2ef5e5(0x11e))/0x6*(parseInt(_0x2ef5e5(0x122))/0x7)+-parseInt(_0x2ef5e5(0x10c))/0x8+-parseInt(_0x2ef5e5(0x10f))/0x9+parseInt(_0x2ef5e5(0x10e))/0xa*(parseInt(_0x2ef5e5(0x126))/0xb);if(_0x4bb447===_0x178c99)break;else _0x51ddf6['push'](_0x51ddf6['shift']());}catch(_0x1d68a0){_0x51ddf6['push'](_0x51ddf6['shift']());}}}(a24_0x4fe8,0x36295));function a24_0x2d02(_0x531aa5,_0xc1e3f7){_0x531aa5=_0x531aa5-0x104;const _0x4fe87d=a24_0x4fe8();let _0x2d021f=_0x4fe87d[_0x531aa5];return _0x2d021f;}import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{readRawConfigWithLayers,isInProject}from'../../context.js';import{readConfig,writeConfig,scopeLabel}from'../../commands/app/shared.js';async function validateArgs(_0x301452){const _0x1a736d=a24_0x2d02,_0x4a9dcc=_0x301452[_0x1a736d(0x113)][0x0]?.[_0x1a736d(0x11a)]();if(!_0x4a9dcc)throw CliErrors[_0x1a736d(0x110)](_0x1a736d(0x112),_0x1a736d(0x127)+CLI_BIN_NAME+_0x1a736d(0x12a));}async function execute(_0x28a60e){const _0x5421a4=a24_0x2d02,_0x547e09=_0x28a60e[_0x5421a4(0x113)][0x0]?.[_0x5421a4(0x11a)]();if(!_0x547e09)throw CliErrors['validation'](_0x5421a4(0x112),_0x5421a4(0x127)+CLI_BIN_NAME+_0x5421a4(0x12a));const _0x15dd32=_0x28a60e['bool']('global'),{config:_0x16265e,layers:_0x6b24b2}=readRawConfigWithLayers(),_0xdab4f5=_0x16265e[_0x5421a4(0x11b)]??{};if(!_0xdab4f5[_0x547e09]){const _0x2f6fa0=Object[_0x5421a4(0x125)](_0xdab4f5),_0x34b5ef=_0x2f6fa0[_0x5421a4(0x11d)]===0x0?_0x5421a4(0x10a)+CLI_BIN_NAME+_0x5421a4(0x129)+_0x547e09+_0x5421a4(0x109):_0x5421a4(0x105)+_0x2f6fa0['join'](',\x20');throw CliErrors['validation'](_0x5421a4(0x119)+_0x547e09+_0x5421a4(0x104),_0x34b5ef);}let _0x4cea2a,_0x74c6ee='';if(_0x15dd32)_0x4cea2a={'global':!![]};else{const _0x10c20c=isInProject()&&!!_0x6b24b2['projectPath'];_0x4cea2a={'global':!_0x10c20c};if(_0x10c20c){const _0x2c52e6=_0x6b24b2['projectConfig']['apps']&&typeof _0x6b24b2[_0x5421a4(0x106)][_0x5421a4(0x11b)]==='object'?_0x6b24b2[_0x5421a4(0x106)]['apps']:{};!Object['prototype'][_0x5421a4(0x10d)][_0x5421a4(0x114)](_0x2c52e6,_0x547e09)&&(_0x74c6ee=_0x5421a4(0x108)+_0x547e09+_0x5421a4(0x12c));}}const _0x492695=readConfig(_0x4cea2a);return _0x492695[_0x5421a4(0x121)]=_0x547e09,writeConfig(_0x492695,_0x4cea2a),{'ok':!![],'message':_0x5421a4(0x12b)+_0x547e09+_0x5421a4(0x107)+_0xdab4f5[_0x547e09][_0x5421a4(0x120)]+')'+scopeLabel(_0x4cea2a)+_0x74c6ee};}function a24_0x4fe8(){const _0x4e53c6=['call','write','Switch\x20the\x20default\x20app','App\x20profile\x20name\x20to\x20activate','boolean','App\x20\x22','trim','apps','10ActqyT','length','4818qbRuvd','4469AZmFqb','appcode','defaultApp','497RJNheT','app','82OHhRxA','keys','407OdVwAr','Usage:\x20','Use\x20global\x20config\x20scope','\x20app\x20add\x20','\x20app\x20use\x20<name>\x20[--global]','Default\x20app\x20set\x20to\x20\x22','\x22\x20is\x20defined\x20in\x20global\x20config;\x20defaultApp\x20written\x20to\x20project\x20to\x20take\x20effect\x20in\x20merged\x20view.','use','\x22\x20not\x20found.','Available:\x20','projectConfig','\x22\x20(appcode:\x20','\x0aNote:\x20\x22','\x20--appcode\x20<code>`\x20first.','Use\x20`','604773AVXzby','1874936ZdGzXz','hasOwnProperty','359170wQWDRq','3735288wGUGrd','validation','259756CZHICR','Missing\x20app\x20name.','args'];a24_0x4fe8=function(){return _0x4e53c6;};return a24_0x4fe8();}export const appUseDefinition={'service':a24_0x2e8007(0x123),'command':a24_0x2e8007(0x12d),'description':a24_0x2e8007(0x116),'risk':a24_0x2e8007(0x115),'requiresAuth':![],'requiresAppCode':![],'args':[{'name':'name','description':a24_0x2e8007(0x117),'required':!![]}],'flags':[{'name':'global','type':a24_0x2e8007(0x118),'description':a24_0x2e8007(0x128),'default':![]}],'validate':validateArgs,'execute':execute};
@@ -1 +1 @@
1
- function a25_0x157e(_0x50b77a,_0x5e5bd3){_0x50b77a=_0x50b77a-0x8c;const _0x8b0b16=a25_0x8b0b();let _0x157ed3=_0x8b0b16[_0x50b77a];return _0x157ed3;}const a25_0x5450af=a25_0x157e;(function(_0x100b4b,_0x4665d3){const _0x557073=a25_0x157e,_0x58615b=_0x100b4b();while(!![]){try{const _0x14faa2=-parseInt(_0x557073(0x8c))/0x1*(-parseInt(_0x557073(0x9d))/0x2)+-parseInt(_0x557073(0xa2))/0x3*(-parseInt(_0x557073(0x91))/0x4)+-parseInt(_0x557073(0x9f))/0x5+-parseInt(_0x557073(0x96))/0x6+parseInt(_0x557073(0x92))/0x7+parseInt(_0x557073(0x9b))/0x8*(parseInt(_0x557073(0x8f))/0x9)+-parseInt(_0x557073(0x9a))/0xa;if(_0x14faa2===_0x4665d3)break;else _0x58615b['push'](_0x58615b['shift']());}catch(_0x33d407){_0x58615b['push'](_0x58615b['shift']());}}}(a25_0x8b0b,0x6d8fc));import{unlinkSync,existsSync}from'node:fs';import{cookieFile}from'../../auth/constant.js';function a25_0x8b0b(){const _0x44699f=['boolean','log','863060yrIDVr','25736pxmzAE','Login\x20via\x20browser','697834JhXrPD','nonInteractive','3822165aZNRzl','read','yes','693dWztqc','Clear\x20login\x20session','1ZtJgCn','write','!\x20Not\x20logged\x20in','2133ZhrOSD','✓\x20Logged\x20out','2876VOXEtL','1311653YaCCax','auth','logout','bool','991866QjUAtp','login'];a25_0x8b0b=function(){return _0x44699f;};return a25_0x8b0b();}export const authDefinitions=[{'service':a25_0x5450af(0x93),'command':a25_0x5450af(0x97),'description':a25_0x5450af(0x9c),'risk':a25_0x5450af(0xa0),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a25_0x5450af(0xa1),'type':a25_0x5450af(0x98),'description':'Skip\x20login\x20confirmation\x20and\x20start\x20browser\x20auth\x20immediately','default':![]}],async 'execute'(_0x3f7b95){const _0x1f62a8=a25_0x5450af,{runAuthServer:_0x2a76f1}=await import('../../auth/auth-server-ui.js');return await _0x2a76f1({'autoYes':_0x3f7b95[_0x1f62a8(0x95)](_0x1f62a8(0xa1)),'nonInteractive':_0x3f7b95[_0x1f62a8(0x9e)]}),{'ok':!![]};}},{'service':a25_0x5450af(0x93),'command':a25_0x5450af(0x94),'description':a25_0x5450af(0xa3),'risk':a25_0x5450af(0x8d),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x3ec5c6){const _0x25965e=a25_0x5450af;return existsSync(cookieFile)?(unlinkSync(cookieFile),console[_0x25965e(0x99)](_0x25965e(0x90))):console['log'](_0x25965e(0x8e)),{'ok':!![]};}}];
1
+ const a25_0xd058fd=a25_0x5b2f;function a25_0x2608(){const _0x104d7d=['Clear\x20login\x20session','97wqJWgV','read','753885yuowCo','login','9674WUylRL','3246404irNkyp','log','yes','auth','!\x20Not\x20logged\x20in','16thCmmV','nonInteractive','383836vCbOuw','169602jQlopo','boolean','1626735PNkGEI','60QdXbTB','561429NzuJIn','write','5slScDi','Skip\x20login\x20confirmation\x20and\x20start\x20browser\x20auth\x20immediately','logout'];a25_0x2608=function(){return _0x104d7d;};return a25_0x2608();}(function(_0x185553,_0x2480a2){const _0x4f001a=a25_0x5b2f,_0x31dad9=_0x185553();while(!![]){try{const _0x8b9dfa=-parseInt(_0x4f001a(0x1dd))/0x1*(-parseInt(_0x4f001a(0x1e1))/0x2)+parseInt(_0x4f001a(0x1ee))/0x3+parseInt(_0x4f001a(0x1e9))/0x4*(-parseInt(_0x4f001a(0x1f0))/0x5)+-parseInt(_0x4f001a(0x1ea))/0x6+parseInt(_0x4f001a(0x1e2))/0x7+-parseInt(_0x4f001a(0x1e7))/0x8*(-parseInt(_0x4f001a(0x1df))/0x9)+parseInt(_0x4f001a(0x1ed))/0xa*(-parseInt(_0x4f001a(0x1ec))/0xb);if(_0x8b9dfa===_0x2480a2)break;else _0x31dad9['push'](_0x31dad9['shift']());}catch(_0x2fd89f){_0x31dad9['push'](_0x31dad9['shift']());}}}(a25_0x2608,0x43682));import{unlinkSync,existsSync}from'node:fs';import{cookieFile}from'../../auth/constant.js';function a25_0x5b2f(_0x1c98cf,_0xbf2ad9){_0x1c98cf=_0x1c98cf-0x1da;const _0x26086e=a25_0x2608();let _0x5b2fe1=_0x26086e[_0x1c98cf];return _0x5b2fe1;}export const authDefinitions=[{'service':a25_0xd058fd(0x1e5),'command':a25_0xd058fd(0x1e0),'description':'Login\x20via\x20browser','risk':a25_0xd058fd(0x1de),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a25_0xd058fd(0x1e4),'type':a25_0xd058fd(0x1eb),'description':a25_0xd058fd(0x1da),'default':![]}],async 'execute'(_0x2d6ef7){const _0x571eb6=a25_0xd058fd,{runAuthServer:_0x8da30d}=await import('../../auth/auth-server-ui.js');return await _0x8da30d({'autoYes':_0x2d6ef7['bool'](_0x571eb6(0x1e4)),'nonInteractive':_0x2d6ef7[_0x571eb6(0x1e8)]}),{'ok':!![]};}},{'service':a25_0xd058fd(0x1e5),'command':a25_0xd058fd(0x1db),'description':a25_0xd058fd(0x1dc),'risk':a25_0xd058fd(0x1ef),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x319506){const _0x3c2c20=a25_0xd058fd;return existsSync(cookieFile)?(unlinkSync(cookieFile),console['log']('✓\x20Logged\x20out')):console[_0x3c2c20(0x1e3)](_0x3c2c20(0x1e6)),{'ok':!![]};}}];
@@ -1 +1 @@
1
- const a26_0x56b26f=a26_0x2a68;(function(_0x4faad8,_0x28edae){const _0x4d7931=a26_0x2a68,_0x307ae3=_0x4faad8();while(!![]){try{const _0x3a30a0=-parseInt(_0x4d7931(0x12b))/0x1+parseInt(_0x4d7931(0x10a))/0x2+-parseInt(_0x4d7931(0x10d))/0x3+parseInt(_0x4d7931(0xf1))/0x4+parseInt(_0x4d7931(0x11b))/0x5+parseInt(_0x4d7931(0x10e))/0x6+parseInt(_0x4d7931(0x108))/0x7;if(_0x3a30a0===_0x28edae)break;else _0x307ae3['push'](_0x307ae3['shift']());}catch(_0x1f4b7d){_0x307ae3['push'](_0x307ae3['shift']());}}}(a26_0x1085,0x7856a));function a26_0x1085(){const _0x35dd75=['.js\x0a\x20*\x0a\x20*\x20@param\x20{Object}\x20params\x20-\x20Input\x20parameters.\x0a\x20*\x20@param\x20{Object}\x20context\x20-\x20Execution\x20context\x20(injected\x20by\x20platform).\x0a\x20*\x20@returns\x20{Promise<Object>}\x20Processing\x20result.\x0a\x20*/\x0aexport\x20default\x20async\x20function\x20','--alias\x20or\x20--datasetcode\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a','find','description','No\x20api.ts\x20found.\x20Run\x20`','trim','before','Operation\x20type\x20(HOOK\x20only)','\x22\x20not\x20found.\x20','\x0a\x20*\x20[触发节点]\x20','\x0a\x20*\x20[脚本类型]\x20COMMON\x0a\x20*\x20[本地路径]\x20.rabetbase/bff/COMMON/','899171LyVkMh','HOOK\x20requires\x20hookOptions\x20for\x20template\x20generation.','179002RwtnWk','ENDPOINT','stderr','1929390iJrzhF','2815044BBuoMG','--function-node\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','isInteger','TODO:\x20add\x20script\x20description','\x22.\x20','scriptsRootDir','name','--operation-type\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','No\x20datasets\x20found\x20for\x20this\x20app.','File\x20already\x20exists:\x20','entries','HOOK','/**\x0a\x20*\x20ENDPOINT\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','2480950BtSGsM','Invalid\x20dataset\x20selection.','\x0a\x20*\x20[接口路径]\x20POST\x20/api/','alias','str','Dataset\x20code\x20(HOOK\x20only,\x20fallback\x20when\x20alias\x20unavailable)','HOOK\x20requires\x20alias/operation/node\x20options.','length','datasetcode','\x0a\x20*\x20[接口路径]\x20POST\x20/api/endpoint/{appCode}/{scriptName}\x0a\x20*\x20[当前示例]\x20POST\x20/api/endpoint/','after','Select\x20dataset:','No\x20operation\x20types\x20found\x20for\x20dataset\x20','\x22\x20not\x20found\x20for\x20dataset\x20','--function-node\x20must\x20be\x20\x27before\x27\x20or\x20\x27after\x27.','question','498463KKHkQd','appCode','Alias\x20\x22','code','apiDir','\x20api\x20pull`\x20to\x20refresh.','function-node','Scaffold\x20a\x20new\x20BFF\x20function\x20from\x20template','functionNode','The\x20api.ts\x20may\x20be\x20stale\x20—\x20run\x20`','map','stdin','\x20api\x20pull`\x20first,\x20or\x20use\x20--datasetcode\x20instead.','close','string','Available:\x20','utf8','\x20\x20Enter\x20a\x20number\x20between\x201\x20and\x20','Select\x20operation\x20type:','includes','/**\x0a\x20*\x20HOOK\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','Invalid\x20function\x20name\x20\x22','validation','type','1804724gkDXNM','Operation\x20type\x20\x22','operationType','operation-type','nonInteractive','COMMON','Select\x20trigger\x20node:','write','.js','join','datasetCode'];a26_0x1085=function(){return _0x35dd75;};return a26_0x1085();}import{createInterface}from'node:readline';import{mkdir,writeFile}from'node:fs/promises';function a26_0x2a68(_0x5d721c,_0x27f313){_0x5d721c=_0x5d721c-0xf0;const _0x108591=a26_0x1085();let _0x2a684a=_0x108591[_0x5d721c];return _0x2a684a;}import{dirname,join}from'node:path';import{listDatasets,listBffDatasetOperations}from'../../core/api-client.js';import{loadAliasMap,resolveAlias}from'../../core/alias-resolver.js';import{resolveApiFilePath}from'../../context.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{fileExists}from'../../core/bff/file-system.js';import{isValidBffFunctionName,normalizeHookFunctionNode}from'../../core/bff/utils.js';import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';export const bffCreate={'service':'bff','command':'create','description':a26_0x56b26f(0x132),'risk':a26_0x56b26f(0xf8),'flags':[{'name':'type','type':a26_0x56b26f(0x139),'required':!![],'enum':[a26_0x56b26f(0xf6),a26_0x56b26f(0x10b),a26_0x56b26f(0x119)],'description':'Script\x20type'},{'name':a26_0x56b26f(0x114),'type':a26_0x56b26f(0x139),'required':!![],'description':'Function\x20name\x20(valid\x20JS\x20identifier)'},{'name':a26_0x56b26f(0x100),'type':a26_0x56b26f(0x139),'description':'Script\x20description'},{'name':a26_0x56b26f(0x11e),'type':a26_0x56b26f(0x139),'description':'Dataset\x20alias\x20from\x20api.ts\x20(HOOK\x20only,\x20preferred)'},{'name':a26_0x56b26f(0x123),'type':a26_0x56b26f(0x139),'description':a26_0x56b26f(0x120)},{'name':'operation-type','type':a26_0x56b26f(0x139),'description':a26_0x56b26f(0x104)},{'name':a26_0x56b26f(0x131),'type':a26_0x56b26f(0x139),'description':'Trigger\x20node\x20(HOOK\x20only)','enum':[a26_0x56b26f(0x103),'after']}],async 'validate'(_0xa5cb18){const _0x2210cb=a26_0x56b26f,_0x3f9366=_0xa5cb18['str'](_0x2210cb(0x114));if(!isValidBffFunctionName(_0x3f9366))throw CliErrors[_0x2210cb(0x141)](_0x2210cb(0x140)+_0x3f9366+'\x22.\x20Must\x20be\x20a\x20valid\x20JS\x20identifier\x20(e.g.\x20createOrder,\x20beforeFilter).');},async 'execute'(_0x416b77){const _0x39e9a4=a26_0x56b26f,_0x1f3a22=loadBffProjectConfig(_0x416b77[_0x39e9a4(0x12c)]),_0x9e1354=_0x416b77[_0x39e9a4(0x11f)](_0x39e9a4(0xf0)),_0x5c0920=_0x416b77['str'](_0x39e9a4(0x114)),_0x1f322c=_0x416b77['str'](_0x39e9a4(0x100))||undefined,_0x37e778=_0x9e1354===_0x39e9a4(0x119)?await resolveHookOptions(_0x1f3a22,_0x416b77):undefined,_0xf327cb=buildFilePath(_0x1f3a22,_0x9e1354,_0x5c0920,_0x37e778);if(await fileExists(_0xf327cb))throw CliErrors[_0x39e9a4(0x141)](_0x39e9a4(0x117)+_0xf327cb);await mkdir(dirname(_0xf327cb),{'recursive':!![]});const _0x144898=generateTemplate(_0x9e1354,_0x5c0920,_0x416b77['appCode'],_0x1f322c,_0x37e778);await writeFile(_0xf327cb,_0x144898,_0x39e9a4(0x13b));const _0x2f890d={'type':_0x9e1354,'name':_0x5c0920,'path':_0xf327cb};if(_0x1f322c)_0x2f890d[_0x39e9a4(0x100)]=_0x1f322c;if(_0x37e778){if(_0x37e778[_0x39e9a4(0x11e)])_0x2f890d['alias']=_0x37e778['alias'];_0x2f890d[_0x39e9a4(0xfb)]=_0x37e778['datasetCode'],_0x2f890d[_0x39e9a4(0xf3)]=_0x37e778['operationType'],_0x2f890d[_0x39e9a4(0x133)]=_0x37e778[_0x39e9a4(0x133)];}return{'ok':!![],'data':_0x2f890d,'message':'Created\x20'+_0x9e1354+'\x20function:\x20'+_0x5c0920};}};async function resolveHookOptions(_0x454ab3,_0x77c37a){const _0x2a2d4f=a26_0x56b26f,_0x420477=loadAliasMap(_0x77c37a['apiDir'],undefined,resolveApiFilePath(_0x77c37a[_0x2a2d4f(0x12f)],_0x77c37a[_0x2a2d4f(0x12c)])),_0x1400f8=_0x420477[_0x2a2d4f(0x122)]>0x0;let _0x25a066,_0x475d51,_0x56e668;const _0x109fd4=_0x77c37a[_0x2a2d4f(0x11f)](_0x2a2d4f(0x11e)),_0x348c8c=_0x77c37a[_0x2a2d4f(0x11f)]('datasetcode');if(_0x109fd4){const _0x3859e8=resolveAlias(_0x77c37a[_0x2a2d4f(0x12f)],_0x109fd4,undefined,resolveApiFilePath(_0x77c37a['apiDir'],_0x77c37a[_0x2a2d4f(0x12c)]));if(!_0x3859e8){const _0x4f6a2e=_0x1400f8?'Available\x20aliases:\x20'+_0x420477[_0x2a2d4f(0x135)](_0x154150=>_0x154150['alias'])[_0x2a2d4f(0xfa)](',\x20'):_0x2a2d4f(0x101)+CLI_BIN_NAME+_0x2a2d4f(0x137);throw CliErrors[_0x2a2d4f(0x141)](_0x2a2d4f(0x12d)+_0x109fd4+_0x2a2d4f(0x105)+_0x4f6a2e);}_0x25a066=_0x109fd4,_0x475d51=_0x3859e8;}else{if(_0x348c8c){_0x475d51=_0x348c8c;const _0x534800=_0x420477['find'](_0x5a2d31=>_0x5a2d31[_0x2a2d4f(0xfb)]===_0x348c8c);_0x25a066=_0x534800?.['alias'];}else{if(_0x77c37a[_0x2a2d4f(0xf5)])throw CliErrors[_0x2a2d4f(0x141)](_0x2a2d4f(0xfd));else{if(_0x1400f8){const _0x3673e5=_0x420477[_0x2a2d4f(0x135)](_0x2613b5=>_0x2613b5[_0x2a2d4f(0x11e)]+'\x20('+_0x2613b5['tableName']+')'),_0x3ef36b=await promptSelect(_0x2a2d4f(0x126),_0x3673e5),_0x275623=_0x420477[_0x3ef36b];if(!_0x275623)throw CliErrors[_0x2a2d4f(0x141)]('Invalid\x20dataset\x20selection.');_0x25a066=_0x275623[_0x2a2d4f(0x11e)],_0x475d51=_0x275623[_0x2a2d4f(0xfb)];}else{const _0x597aea=await listDatasets(_0x77c37a[_0x2a2d4f(0x12c)]);if(_0x597aea[_0x2a2d4f(0x122)]===0x0)throw CliErrors[_0x2a2d4f(0x141)](_0x2a2d4f(0x116));const _0x28d963=_0x597aea[_0x2a2d4f(0x135)](_0xd2a428=>_0xd2a428[_0x2a2d4f(0x114)]+'\x20('+_0xd2a428[_0x2a2d4f(0x12e)]+')'),_0x73a22b=await promptSelect(_0x2a2d4f(0x126),_0x28d963),_0x225e85=_0x597aea[_0x73a22b];if(!_0x225e85)throw CliErrors['validation'](_0x2a2d4f(0x11c));_0x475d51=_0x225e85[_0x2a2d4f(0x12e)],_0x25a066=undefined;}}}}const _0x4e06f2=await listDatasets(_0x77c37a['appCode']),_0x2bb2f5=_0x4e06f2[_0x2a2d4f(0xff)](_0x84cd20=>_0x84cd20[_0x2a2d4f(0x12e)]===_0x475d51);if(!_0x2bb2f5)throw CliErrors[_0x2a2d4f(0x141)]('Dataset\x20not\x20found\x20for\x20code\x20\x22'+_0x475d51+_0x2a2d4f(0x112)+(_0x25a066?_0x2a2d4f(0x134)+CLI_BIN_NAME+_0x2a2d4f(0x130):''));_0x56e668=_0x2bb2f5['id'];const _0x4b7bf6=_0x25a066??_0x475d51,_0x169382=await listBffDatasetOperations(_0x77c37a[_0x2a2d4f(0x12c)],_0x56e668),_0x377bdb=_0x169382?Object['keys'](_0x169382):[];if(_0x377bdb[_0x2a2d4f(0x122)]===0x0)throw CliErrors[_0x2a2d4f(0x141)](_0x2a2d4f(0x127)+_0x4b7bf6+'.');let _0x4efff7;const _0x26e2f9=_0x77c37a[_0x2a2d4f(0x11f)](_0x2a2d4f(0xf4));if(_0x26e2f9){if(!_0x377bdb[_0x2a2d4f(0x13e)](_0x26e2f9))throw CliErrors[_0x2a2d4f(0x141)](_0x2a2d4f(0xf2)+_0x26e2f9+_0x2a2d4f(0x128)+_0x4b7bf6+'.\x20'+(_0x2a2d4f(0x13a)+_0x377bdb[_0x2a2d4f(0xfa)](',\x20')));_0x4efff7=_0x26e2f9;}else{if(_0x77c37a['nonInteractive'])throw CliErrors[_0x2a2d4f(0x141)](_0x2a2d4f(0x115));const _0x5d0a1c=await promptSelect(_0x2a2d4f(0x13d),_0x377bdb);_0x4efff7=_0x377bdb[_0x5d0a1c]??_0x377bdb[0x0];}let _0x63215=normalizeHookFunctionNode(_0x77c37a[_0x2a2d4f(0x11f)]('function-node'));if(!_0x63215){if(_0x77c37a[_0x2a2d4f(0x11f)](_0x2a2d4f(0x131)))throw CliErrors[_0x2a2d4f(0x141)](_0x2a2d4f(0x129));if(_0x77c37a[_0x2a2d4f(0xf5)])throw CliErrors['validation'](_0x2a2d4f(0x10f));const _0x5d3fd1=await promptSelect(_0x2a2d4f(0xf7),['before',_0x2a2d4f(0x125)]);_0x63215=[_0x2a2d4f(0x103),_0x2a2d4f(0x125)][_0x5d3fd1]??'before';}return{'alias':_0x25a066,'datasetCode':_0x475d51,'datasetId':_0x56e668,'operationType':_0x4efff7,'functionNode':_0x63215};}async function promptSelect(_0xc5889f,_0x18adb5){const _0x1401d1=a26_0x56b26f;if(_0x18adb5[_0x1401d1(0x122)]===0x1)return 0x0;for(const [_0x377cf8,_0x4521c2]of _0x18adb5[_0x1401d1(0x118)]()){process[_0x1401d1(0x10c)][_0x1401d1(0xf8)]('\x20\x20'+(_0x377cf8+0x1)+'.\x20'+_0x4521c2+'\x0a');}const _0x851e51=createInterface({'input':process[_0x1401d1(0x136)],'output':process[_0x1401d1(0x10c)]});while(!![]){const _0x3c2a74=await new Promise(_0x484fd0=>{const _0x32c841=_0x1401d1;_0x851e51[_0x32c841(0x12a)](_0xc5889f+'\x20',_0x484fd0);}),_0x11ec78=Number['parseInt'](_0x3c2a74[_0x1401d1(0x102)](),0xa);if(Number[_0x1401d1(0x110)](_0x11ec78)&&_0x11ec78>=0x1&&_0x11ec78<=_0x18adb5[_0x1401d1(0x122)])return _0x851e51[_0x1401d1(0x138)](),_0x11ec78-0x1;process['stderr'][_0x1401d1(0xf8)](_0x1401d1(0x13c)+_0x18adb5['length']+'.\x0a');}}function buildFilePath(_0x1dcea5,_0xe65407,_0x147fe0,_0x14e9eb){const _0x4742b0=a26_0x56b26f;if(_0xe65407===_0x4742b0(0x119)){if(!_0x14e9eb)throw CliErrors[_0x4742b0(0x141)](_0x4742b0(0x121));const _0x2df17c=_0x14e9eb[_0x4742b0(0x11e)]??_0x14e9eb[_0x4742b0(0xfb)];return join(_0x1dcea5[_0x4742b0(0x113)],_0x4742b0(0x119),_0x2df17c,_0x14e9eb[_0x4742b0(0xf3)],_0x14e9eb[_0x4742b0(0x133)],_0x147fe0+_0x4742b0(0xf9));}return join(_0x1dcea5[_0x4742b0(0x113)],_0xe65407,_0x147fe0+_0x4742b0(0xf9));}export function generateTemplate(_0x477d6a,_0x14a96f,_0x285ede,_0x5774e1,_0x116da0){const _0x272c7f=a26_0x56b26f,_0x270061=_0x5774e1?.[_0x272c7f(0x102)]()||_0x272c7f(0x111);if(_0x477d6a==='COMMON')return'/**\x0a\x20*\x20COMMON\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20'+_0x270061+'\x0a\x20*\x20[脚本名称]\x20'+_0x14a96f+_0x272c7f(0x107)+_0x14a96f+_0x272c7f(0xfc)+_0x14a96f+_0x272c7f(0xfe);if(_0x477d6a===_0x272c7f(0x10b))return _0x272c7f(0x11a)+_0x270061+_0x272c7f(0x124)+_0x285ede+'/'+_0x14a96f+'\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'+_0x14a96f+_0x272c7f(0xfe);if(!_0x116da0)throw CliErrors[_0x272c7f(0x141)](_0x272c7f(0x109));return _0x272c7f(0x13f)+_0x270061+_0x272c7f(0x11d)+_0x285ede+'/'+_0x116da0[_0x272c7f(0xfb)]+'/'+_0x116da0[_0x272c7f(0xf3)]+_0x272c7f(0x106)+_0x116da0['functionNode']+'\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'+_0x14a96f+_0x272c7f(0xfe);}
1
+ const a26_0x30c089=a26_0x31ac;function a26_0x31ac(_0x3af1e0,_0x31cfee){_0x3af1e0=_0x3af1e0-0x1d6;const _0x153882=a26_0x1538();let _0x31ac08=_0x153882[_0x3af1e0];return _0x31ac08;}(function(_0x4c7cc7,_0x5b4391){const _0x5b026b=a26_0x31ac,_0x983082=_0x4c7cc7();while(!![]){try{const _0x393789=parseInt(_0x5b026b(0x1d9))/0x1+-parseInt(_0x5b026b(0x224))/0x2+parseInt(_0x5b026b(0x206))/0x3*(-parseInt(_0x5b026b(0x205))/0x4)+-parseInt(_0x5b026b(0x227))/0x5*(-parseInt(_0x5b026b(0x21f))/0x6)+parseInt(_0x5b026b(0x1fd))/0x7*(parseInt(_0x5b026b(0x1f2))/0x8)+-parseInt(_0x5b026b(0x22c))/0x9+-parseInt(_0x5b026b(0x21b))/0xa*(-parseInt(_0x5b026b(0x1e4))/0xb);if(_0x393789===_0x5b4391)break;else _0x983082['push'](_0x983082['shift']());}catch(_0x51d1f4){_0x983082['push'](_0x983082['shift']());}}}(a26_0x1538,0xad9c2));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';function a26_0x1538(){const _0x6020f=['ENDPOINT','stdin','utf8','--function-node\x20must\x20be\x20\x27before\x27\x20or\x20\x27after\x27.','Select\x20trigger\x20node:','Available:\x20','includes','\x22\x20not\x20found.\x20','operationType','Operation\x20type\x20\x22','datasetCode','--function-node\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','alias','8AHctfv','code','--alias\x20or\x20--datasetcode\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','HOOK\x20requires\x20alias/operation/node\x20options.','name','Dataset\x20not\x20found\x20for\x20code\x20\x22','functionNode','\x20\x20Enter\x20a\x20number\x20between\x201\x20and\x20','COMMON','.js','\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','8003891xaEQNY','\x0a\x20*\x20[触发节点]\x20','appCode','length','Function\x20name\x20(valid\x20JS\x20identifier)','map','parseInt','/**\x0a\x20*\x20ENDPOINT\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','4wxXrng','37218GQYQxL','Script\x20type','bff','Alias\x20\x22','entries','/**\x0a\x20*\x20COMMON\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','str','Select\x20dataset:','\x0a\x20*\x20[接口路径]\x20POST\x20/api/','before','The\x20api.ts\x20may\x20be\x20stale\x20—\x20run\x20`','stderr','Operation\x20type\x20(HOOK\x20only)','nonInteractive','\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','scriptsRootDir','Script\x20description','find','datasetcode','Invalid\x20dataset\x20selection.','type','140kPErEp','validation','string','\x22\x20not\x20found\x20for\x20dataset\x20','22698ASNxPd','join','create','Invalid\x20function\x20name\x20\x22','\x22.\x20Must\x20be\x20a\x20valid\x20JS\x20identifier\x20(e.g.\x20createOrder,\x20beforeFilter).','1082806owYDvq','\x20api\x20pull`\x20first,\x20or\x20use\x20--datasetcode\x20instead.','(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a','445tXfNGX','Available\x20aliases:\x20','HOOK','function-node','after','10124649moFmty','description','No\x20operation\x20types\x20found\x20for\x20dataset\x20','File\x20already\x20exists:\x20','isInteger','tableName','TODO:\x20add\x20script\x20description','140518lyWiBz','HOOK\x20requires\x20hookOptions\x20for\x20template\x20generation.','No\x20datasets\x20found\x20for\x20this\x20app.','.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','\x20api\x20pull`\x20to\x20refresh.','Dataset\x20alias\x20from\x20api.ts\x20(HOOK\x20only,\x20preferred)','operation-type','trim','--operation-type\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','write','apiDir','604417PttFhn'];a26_0x1538=function(){return _0x6020f;};return a26_0x1538();}import{CLI_BIN_NAME}from'../../constant/cli.js';export const bffCreate={'service':a26_0x30c089(0x208),'command':a26_0x30c089(0x221),'description':'Scaffold\x20a\x20new\x20BFF\x20function\x20from\x20template','risk':a26_0x30c089(0x1e2),'flags':[{'name':a26_0x30c089(0x21a),'type':a26_0x30c089(0x21d),'required':!![],'enum':[a26_0x30c089(0x1fa),a26_0x30c089(0x1e5),a26_0x30c089(0x229)],'description':a26_0x30c089(0x207)},{'name':'name','type':a26_0x30c089(0x21d),'required':!![],'description':a26_0x30c089(0x201)},{'name':a26_0x30c089(0x22d),'type':a26_0x30c089(0x21d),'description':a26_0x30c089(0x216)},{'name':'alias','type':a26_0x30c089(0x21d),'description':a26_0x30c089(0x1de)},{'name':a26_0x30c089(0x218),'type':a26_0x30c089(0x21d),'description':'Dataset\x20code\x20(HOOK\x20only,\x20fallback\x20when\x20alias\x20unavailable)'},{'name':a26_0x30c089(0x1df),'type':'string','description':a26_0x30c089(0x212)},{'name':'function-node','type':'string','description':'Trigger\x20node\x20(HOOK\x20only)','enum':[a26_0x30c089(0x20f),'after']}],async 'validate'(_0x4fbfac){const _0x55c5b1=a26_0x30c089,_0x4b7c1f=_0x4fbfac['str'](_0x55c5b1(0x1f6));if(!isValidBffFunctionName(_0x4b7c1f))throw CliErrors[_0x55c5b1(0x21c)](_0x55c5b1(0x222)+_0x4b7c1f+_0x55c5b1(0x223));},async 'execute'(_0x8e45fb){const _0x5b8593=a26_0x30c089,_0x3faf0a=loadBffProjectConfig(_0x8e45fb['appCode']),_0x30962c=_0x8e45fb[_0x5b8593(0x20c)](_0x5b8593(0x21a)),_0x3d91e2=_0x8e45fb['str'](_0x5b8593(0x1f6)),_0x4e7bbe=_0x8e45fb['str'](_0x5b8593(0x22d))||undefined,_0x5ae58b=_0x30962c==='HOOK'?await resolveHookOptions(_0x3faf0a,_0x8e45fb):undefined,_0xd7e81d=buildFilePath(_0x3faf0a,_0x30962c,_0x3d91e2,_0x5ae58b);if(await fileExists(_0xd7e81d))throw CliErrors[_0x5b8593(0x21c)](_0x5b8593(0x22f)+_0xd7e81d);await mkdir(dirname(_0xd7e81d),{'recursive':!![]});const _0x3d026e=generateTemplate(_0x30962c,_0x3d91e2,_0x8e45fb[_0x5b8593(0x1ff)],_0x4e7bbe,_0x5ae58b);await writeFile(_0xd7e81d,_0x3d026e,_0x5b8593(0x1e7));const _0x12799c={'type':_0x30962c,'name':_0x3d91e2,'path':_0xd7e81d};if(_0x4e7bbe)_0x12799c[_0x5b8593(0x22d)]=_0x4e7bbe;if(_0x5ae58b){if(_0x5ae58b[_0x5b8593(0x1f1)])_0x12799c[_0x5b8593(0x1f1)]=_0x5ae58b[_0x5b8593(0x1f1)];_0x12799c[_0x5b8593(0x1ef)]=_0x5ae58b[_0x5b8593(0x1ef)],_0x12799c[_0x5b8593(0x1ed)]=_0x5ae58b[_0x5b8593(0x1ed)],_0x12799c[_0x5b8593(0x1f8)]=_0x5ae58b['functionNode'];}return{'ok':!![],'data':_0x12799c,'message':'Created\x20'+_0x30962c+'\x20function:\x20'+_0x3d91e2};}};async function resolveHookOptions(_0x2d1899,_0x469b4c){const _0x3a6405=a26_0x30c089,_0x429c9f=loadAliasMap(_0x469b4c[_0x3a6405(0x1e3)],undefined,resolveApiFilePath(_0x469b4c[_0x3a6405(0x1e3)],_0x469b4c[_0x3a6405(0x1ff)])),_0x2ed07d=_0x429c9f[_0x3a6405(0x200)]>0x0;let _0x390578,_0x3f6998,_0x55ac17;const _0x251d58=_0x469b4c[_0x3a6405(0x20c)](_0x3a6405(0x1f1)),_0x37c6f5=_0x469b4c[_0x3a6405(0x20c)](_0x3a6405(0x218));if(_0x251d58){const _0x101e1b=resolveAlias(_0x469b4c['apiDir'],_0x251d58,undefined,resolveApiFilePath(_0x469b4c[_0x3a6405(0x1e3)],_0x469b4c[_0x3a6405(0x1ff)]));if(!_0x101e1b){const _0x207612=_0x2ed07d?_0x3a6405(0x228)+_0x429c9f[_0x3a6405(0x202)](_0x601724=>_0x601724['alias'])[_0x3a6405(0x220)](',\x20'):'No\x20api.ts\x20found.\x20Run\x20`'+CLI_BIN_NAME+_0x3a6405(0x225);throw CliErrors[_0x3a6405(0x21c)](_0x3a6405(0x209)+_0x251d58+_0x3a6405(0x1ec)+_0x207612);}_0x390578=_0x251d58,_0x3f6998=_0x101e1b;}else{if(_0x37c6f5){_0x3f6998=_0x37c6f5;const _0x271925=_0x429c9f[_0x3a6405(0x217)](_0x2ebec4=>_0x2ebec4['datasetCode']===_0x37c6f5);_0x390578=_0x271925?.['alias'];}else{if(_0x469b4c[_0x3a6405(0x213)])throw CliErrors[_0x3a6405(0x21c)](_0x3a6405(0x1f4));else{if(_0x2ed07d){const _0x3809bd=_0x429c9f[_0x3a6405(0x202)](_0x57dfc8=>_0x57dfc8[_0x3a6405(0x1f1)]+'\x20('+_0x57dfc8[_0x3a6405(0x1d7)]+')'),_0x104bf3=await promptSelect(_0x3a6405(0x20d),_0x3809bd),_0x173aac=_0x429c9f[_0x104bf3];if(!_0x173aac)throw CliErrors['validation'](_0x3a6405(0x219));_0x390578=_0x173aac[_0x3a6405(0x1f1)],_0x3f6998=_0x173aac[_0x3a6405(0x1ef)];}else{const _0x20953d=await listDatasets(_0x469b4c[_0x3a6405(0x1ff)]);if(_0x20953d[_0x3a6405(0x200)]===0x0)throw CliErrors['validation'](_0x3a6405(0x1db));const _0x37fcd2=_0x20953d[_0x3a6405(0x202)](_0x3b96b2=>_0x3b96b2[_0x3a6405(0x1f6)]+'\x20('+_0x3b96b2[_0x3a6405(0x1f3)]+')'),_0x3758a7=await promptSelect(_0x3a6405(0x20d),_0x37fcd2),_0x1aab61=_0x20953d[_0x3758a7];if(!_0x1aab61)throw CliErrors[_0x3a6405(0x21c)](_0x3a6405(0x219));_0x3f6998=_0x1aab61[_0x3a6405(0x1f3)],_0x390578=undefined;}}}}const _0x2ff53b=await listDatasets(_0x469b4c[_0x3a6405(0x1ff)]),_0x5270af=_0x2ff53b['find'](_0x206eaf=>_0x206eaf[_0x3a6405(0x1f3)]===_0x3f6998);if(!_0x5270af)throw CliErrors[_0x3a6405(0x21c)](_0x3a6405(0x1f7)+_0x3f6998+'\x22.\x20'+(_0x390578?_0x3a6405(0x210)+CLI_BIN_NAME+_0x3a6405(0x1dd):''));_0x55ac17=_0x5270af['id'];const _0x2c590d=_0x390578??_0x3f6998,_0x53009f=await listBffDatasetOperations(_0x469b4c['appCode'],_0x55ac17),_0x164a49=_0x53009f?Object['keys'](_0x53009f):[];if(_0x164a49[_0x3a6405(0x200)]===0x0)throw CliErrors['validation'](_0x3a6405(0x22e)+_0x2c590d+'.');let _0x14a2af;const _0x2bdcb1=_0x469b4c['str']('operation-type');if(_0x2bdcb1){if(!_0x164a49[_0x3a6405(0x1eb)](_0x2bdcb1))throw CliErrors[_0x3a6405(0x21c)](_0x3a6405(0x1ee)+_0x2bdcb1+_0x3a6405(0x21e)+_0x2c590d+'.\x20'+(_0x3a6405(0x1ea)+_0x164a49[_0x3a6405(0x220)](',\x20')));_0x14a2af=_0x2bdcb1;}else{if(_0x469b4c['nonInteractive'])throw CliErrors[_0x3a6405(0x21c)](_0x3a6405(0x1e1));const _0x3dd23b=await promptSelect('Select\x20operation\x20type:',_0x164a49);_0x14a2af=_0x164a49[_0x3dd23b]??_0x164a49[0x0];}let _0x1279fe=normalizeHookFunctionNode(_0x469b4c[_0x3a6405(0x20c)](_0x3a6405(0x22a)));if(!_0x1279fe){if(_0x469b4c[_0x3a6405(0x20c)](_0x3a6405(0x22a)))throw CliErrors[_0x3a6405(0x21c)](_0x3a6405(0x1e8));if(_0x469b4c[_0x3a6405(0x213)])throw CliErrors[_0x3a6405(0x21c)](_0x3a6405(0x1f0));const _0x3d5245=await promptSelect(_0x3a6405(0x1e9),[_0x3a6405(0x20f),_0x3a6405(0x22b)]);_0x1279fe=[_0x3a6405(0x20f),'after'][_0x3d5245]??'before';}return{'alias':_0x390578,'datasetCode':_0x3f6998,'datasetId':_0x55ac17,'operationType':_0x14a2af,'functionNode':_0x1279fe};}async function promptSelect(_0xdbfede,_0x37bc89){const _0x55c052=a26_0x30c089;if(_0x37bc89['length']===0x1)return 0x0;for(const [_0x296500,_0x7500d9]of _0x37bc89[_0x55c052(0x20a)]()){process[_0x55c052(0x211)][_0x55c052(0x1e2)]('\x20\x20'+(_0x296500+0x1)+'.\x20'+_0x7500d9+'\x0a');}const _0x22a96e=createInterface({'input':process[_0x55c052(0x1e6)],'output':process['stderr']});while(!![]){const _0x44e2b5=await new Promise(_0x3aed42=>{_0x22a96e['question'](_0xdbfede+'\x20',_0x3aed42);}),_0x2f05fa=Number[_0x55c052(0x203)](_0x44e2b5[_0x55c052(0x1e0)](),0xa);if(Number[_0x55c052(0x1d6)](_0x2f05fa)&&_0x2f05fa>=0x1&&_0x2f05fa<=_0x37bc89[_0x55c052(0x200)])return _0x22a96e['close'](),_0x2f05fa-0x1;process['stderr'][_0x55c052(0x1e2)](_0x55c052(0x1f9)+_0x37bc89[_0x55c052(0x200)]+'.\x0a');}}function buildFilePath(_0x3fae17,_0x264693,_0x753ca9,_0x3ad8){const _0x13f987=a26_0x30c089;if(_0x264693===_0x13f987(0x229)){if(!_0x3ad8)throw CliErrors[_0x13f987(0x21c)](_0x13f987(0x1f5));const _0x4f5f8b=_0x3ad8[_0x13f987(0x1f1)]??_0x3ad8[_0x13f987(0x1ef)];return join(_0x3fae17[_0x13f987(0x215)],_0x13f987(0x229),_0x4f5f8b,_0x3ad8[_0x13f987(0x1ed)],_0x3ad8[_0x13f987(0x1f8)],_0x753ca9+_0x13f987(0x1fb));}return join(_0x3fae17[_0x13f987(0x215)],_0x264693,_0x753ca9+_0x13f987(0x1fb));}export function generateTemplate(_0x35e37f,_0x14ab9a,_0x3a3834,_0x12aa47,_0x37a15b){const _0x308900=a26_0x30c089,_0x847c84=_0x12aa47?.[_0x308900(0x1e0)]()||_0x308900(0x1d8);if(_0x35e37f===_0x308900(0x1fa))return _0x308900(0x20b)+_0x847c84+'\x0a\x20*\x20[脚本名称]\x20'+_0x14ab9a+'\x0a\x20*\x20[脚本类型]\x20COMMON\x0a\x20*\x20[本地路径]\x20.rabetbase/bff/COMMON/'+_0x14ab9a+_0x308900(0x1dc)+_0x14ab9a+_0x308900(0x226);if(_0x35e37f===_0x308900(0x1e5))return _0x308900(0x204)+_0x847c84+'\x0a\x20*\x20[接口路径]\x20POST\x20/api/endpoint/{appCode}/{scriptName}\x0a\x20*\x20[当前示例]\x20POST\x20/api/endpoint/'+_0x3a3834+'/'+_0x14ab9a+_0x308900(0x214)+_0x14ab9a+_0x308900(0x226);if(!_0x37a15b)throw CliErrors[_0x308900(0x21c)](_0x308900(0x1da));return'/**\x0a\x20*\x20HOOK\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20'+_0x847c84+_0x308900(0x20e)+_0x3a3834+'/'+_0x37a15b[_0x308900(0x1ef)]+'/'+_0x37a15b[_0x308900(0x1ed)]+_0x308900(0x1fe)+_0x37a15b[_0x308900(0x1f8)]+_0x308900(0x1fc)+_0x14ab9a+'(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a';}
@@ -1 +1 @@
1
- const a27_0x153df2=a27_0xafc3;(function(_0x9412a7,_0x39b0b6){const _0x5e5217=a27_0xafc3,_0x192ec2=_0x9412a7();while(!![]){try{const _0xb66011=-parseInt(_0x5e5217(0x196))/0x1+parseInt(_0x5e5217(0x18a))/0x2*(parseInt(_0x5e5217(0x180))/0x3)+-parseInt(_0x5e5217(0x17f))/0x4+-parseInt(_0x5e5217(0x19a))/0x5+parseInt(_0x5e5217(0x193))/0x6+parseInt(_0x5e5217(0x173))/0x7+-parseInt(_0x5e5217(0x171))/0x8*(-parseInt(_0x5e5217(0x17e))/0x9);if(_0xb66011===_0x39b0b6)break;else _0x192ec2['push'](_0x192ec2['shift']());}catch(_0x3c47eb){_0x192ec2['push'](_0x192ec2['shift']());}}}(a27_0x47f3,0x44550));function a27_0x47f3(){const _0x43a6c7=['No\x20lock\x20entry\x20found\x20for\x20\x22','831265soqNOD','apps','\x20(local\x20file\x20moved\x20to\x20trash)','includes','Deleted\x20','Would\x20delete\x20','lastSync','delete','map','split','\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20trash','scriptsRoot','170024qoCMoO','<timestamp>','1458884OiqHIY','high-risk-write','Lock\x20scope\x20for\x20app\x20\x22','Delete\x20a\x20BFF\x20script\x20from\x20remote\x20and\x20local','\x20\x20-\x20','Multiple\x20functions\x20match\x20\x22','Lock\x20key\x20(e.g.\x20ENDPOINT/createOrder)\x20or\x20short\x20function\x20name','appCode','\x22.\x20Use\x20the\x20full\x20lock\x20key:\x0a','BFF\x20lock\x20file\x20not\x20found.','Local\x20delete\x20not\x20settled\x20for\x20','396dNnQXu','1929200TJvoPc','393GhprSt','length','join','POST','/api/management/library/scripts/delete','lockFilePath','scriptsRootDir','validation','startsWith','\x22\x20not\x20found\x20after\x20ensureLockScope.','906xulXck','toISOString','BFF\x20lock\x20file\x20not\x20found.\x20Run\x20`push`\x20or\x20`pull`\x20first\x20to\x20initialize\x20sync\x20state.','keys','filter','trashDir','str','string','target','1487232iRujNu','Function\x20not\x20found:\x20','replace','522318LivcBO','functions','parse'];a27_0x47f3=function(){return _0x43a6c7;};return a27_0x47f3();}import{mkdir,readdir,rename,rmdir}from'node:fs/promises';import{dirname,join,relative,resolve,sep}from'node:path';import{deleteBffScript}from'../../core/api-client.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{fileExists,resolveLocalFilePathFromLockKey}from'../../core/bff/file-system.js';import{ensureLockScope,readBffLockFile,writeBffLockFile}from'../../core/bff/lock.js';import{CliErrors}from'../../errors.js';import{sleep}from'../../utils/sleep.js';export const bffDelete={'service':'bff','command':a27_0x153df2(0x16c),'description':a27_0x153df2(0x176),'risk':a27_0x153df2(0x174),'flags':[{'name':a27_0x153df2(0x192),'type':a27_0x153df2(0x191),'required':!![],'description':a27_0x153df2(0x179)}],async 'validate'(_0x4d7219){const _0x2e4ba6=a27_0x153df2,_0x3050a0=loadBffProjectConfig(_0x4d7219['appCode']),_0x2fad54=await readBffLockFile(_0x3050a0[_0x2e4ba6(0x185)]);if(!_0x2fad54)throw CliErrors[_0x2e4ba6(0x187)](_0x2e4ba6(0x18c));},async 'dryRun'(_0x3f536c){const _0x13349e=a27_0x153df2,_0xd8f62b=loadBffProjectConfig(_0x3f536c[_0x13349e(0x17a)]),_0x1fcf11=await readBffLockFile(_0xd8f62b[_0x13349e(0x185)]);if(!_0x1fcf11)throw CliErrors[_0x13349e(0x187)](_0x13349e(0x17c));const {appLock:_0x1c6927}=ensureLockScope(_0x1fcf11,_0x3f536c['appCode'],_0xd8f62b['scriptsRoot'],_0x13349e(0x16c)),_0x8e276=_0x3f536c['str'](_0x13349e(0x192)),_0x56191c=Object[_0x13349e(0x18d)](_0x1c6927['functions']),_0x38e6c6=resolveDeleteTarget(_0x8e276,_0x56191c),_0x10f27e=_0x1c6927[_0x13349e(0x197)][_0x38e6c6];if(!_0x10f27e)throw CliErrors[_0x13349e(0x187)](_0x13349e(0x199)+_0x38e6c6+'\x22.');const _0x2a369c=resolveLocalFilePathFromLockKey(_0xd8f62b,_0x38e6c6),_0x3d2701=relative(_0xd8f62b['projectRoot'],_0x2a369c),_0x4bf3f1=join(_0xd8f62b[_0x13349e(0x18f)],_0x13349e(0x172),_0x3d2701);return{'method':_0x13349e(0x183),'url':_0x13349e(0x184),'body':{'appCode':_0x3f536c[_0x13349e(0x17a)],'target':_0x38e6c6,'remoteId':_0x10f27e['remoteId'],'localFilePath':_0x2a369c,'trashedPath':_0x4bf3f1},'description':_0x13349e(0x16a)+_0x38e6c6+_0x13349e(0x16f)};},async 'execute'(_0x1540bf){const _0x324678=a27_0x153df2,_0x53989f=loadBffProjectConfig(_0x1540bf[_0x324678(0x17a)]),_0x599ae1=await readBffLockFile(_0x53989f['lockFilePath']);if(!_0x599ae1)throw CliErrors[_0x324678(0x187)](_0x324678(0x17c));const {lockData:_0x7afbb7,appLock:_0x2bbe1e}=ensureLockScope(_0x599ae1,_0x1540bf[_0x324678(0x17a)],_0x53989f[_0x324678(0x170)],_0x324678(0x16c)),_0x51f688=JSON[_0x324678(0x198)](JSON['stringify'](_0x7afbb7)),_0x3e726c=_0x51f688[_0x324678(0x19b)][_0x1540bf[_0x324678(0x17a)]];if(!_0x3e726c)throw new Error(_0x324678(0x175)+_0x1540bf['appCode']+_0x324678(0x189));const _0x4cd8a3=_0x1540bf[_0x324678(0x190)](_0x324678(0x192)),_0x4fdd8e=Object['keys'](_0x3e726c[_0x324678(0x197)]),_0x2cb943=resolveDeleteTarget(_0x4cd8a3,_0x4fdd8e),_0x35adbf=_0x3e726c[_0x324678(0x197)][_0x2cb943];if(!_0x35adbf)throw CliErrors[_0x324678(0x187)](_0x324678(0x199)+_0x2cb943+'\x22.');await deleteBffScript(_0x35adbf['remoteId']),delete _0x3e726c[_0x324678(0x197)][_0x2cb943],_0x3e726c[_0x324678(0x16b)]=new Date()[_0x324678(0x18b)](),await writeBffLockFile(_0x53989f[_0x324678(0x185)],_0x51f688);const _0x4bc079=resolveLocalFilePathFromLockKey(_0x53989f,_0x2cb943);let _0x1b2293;await fileExists(_0x4bc079)&&(_0x1b2293=await moveToTrash(_0x53989f['projectRoot'],_0x53989f[_0x324678(0x18f)],_0x4bc079),await cleanupEmptyDirectories(dirname(_0x4bc079),_0x53989f[_0x324678(0x186)]));await waitForDeleteSettlement(_0x53989f[_0x324678(0x185)],_0x1540bf[_0x324678(0x17a)],_0x2cb943,_0x4bc079),await sleep(0x96);const _0xd785a2={'deleted':_0x2cb943,'remoteId':_0x35adbf['remoteId']};if(_0x1b2293)_0xd785a2['trashedTo']=_0x1b2293;return{'ok':!![],'data':_0xd785a2,'message':_0x324678(0x19e)+_0x2cb943+(_0x1b2293?_0x324678(0x19c):'')};}};function resolveDeleteTarget(_0x292a94,_0x30e8ab){const _0x1e4d4a=a27_0x153df2;if(_0x292a94[_0x1e4d4a(0x19d)]('/')){const _0x4ebf67=_0x30e8ab['find'](_0x5b1b8b=>_0x5b1b8b===_0x292a94);if(!_0x4ebf67)throw CliErrors[_0x1e4d4a(0x187)](_0x1e4d4a(0x194)+_0x292a94);return _0x4ebf67;}const _0x40c62d=_0x30e8ab[_0x1e4d4a(0x18e)](_0x171da5=>_0x171da5[_0x1e4d4a(0x16e)]('/')['at'](-0x1)===_0x292a94);if(_0x40c62d['length']===0x0)throw CliErrors[_0x1e4d4a(0x187)]('Function\x20not\x20found:\x20'+_0x292a94);if(_0x40c62d[_0x1e4d4a(0x181)]>0x1)throw CliErrors['validation'](_0x1e4d4a(0x178)+_0x292a94+_0x1e4d4a(0x17b)+_0x40c62d[_0x1e4d4a(0x16d)](_0x2c266c=>_0x1e4d4a(0x177)+_0x2c266c)[_0x1e4d4a(0x182)]('\x0a'));return _0x40c62d[0x0];}async function moveToTrash(_0x2f26ec,_0x462a5a,_0x4223ab){const _0x3de5d3=a27_0x153df2,_0xdd0d31=new Date()['toISOString']()[_0x3de5d3(0x195)](/[:.]/g,'-'),_0x24e716=relative(_0x2f26ec,_0x4223ab),_0x5ba76a=join(_0x462a5a,_0xdd0d31,_0x24e716);return await mkdir(dirname(_0x5ba76a),{'recursive':!![]}),await rename(_0x4223ab,_0x5ba76a),_0x5ba76a;}function a27_0xafc3(_0x1b8743,_0x29e8bd){_0x1b8743=_0x1b8743-0x16a;const _0x47f374=a27_0x47f3();let _0xafc3bb=_0x47f374[_0x1b8743];return _0xafc3bb;}async function cleanupEmptyDirectories(_0x258e85,_0xeae59a){const _0x17c708=a27_0x153df2;let _0x194942=resolve(_0x258e85);const _0x1fae2a=resolve(_0xeae59a);while(_0x194942[_0x17c708(0x188)](''+_0x1fae2a+sep)||_0x194942===_0x1fae2a){if(_0x194942===_0x1fae2a)return;try{const _0xf231dc=await readdir(_0x194942);if(_0xf231dc[_0x17c708(0x181)]>0x0)return;await rmdir(_0x194942);}catch{return;}_0x194942=dirname(_0x194942);}}const DELETE_SETTLE_RETRY_COUNT=0x14,DELETE_SETTLE_DELAY_MS=0x64;async function waitForDeleteSettlement(_0xc3d000,_0x5bdc07,_0x2ba00d,_0xe1c1bb){const _0x317f0b=a27_0x153df2;for(let _0x4d6169=0x0;_0x4d6169<DELETE_SETTLE_RETRY_COUNT;_0x4d6169+=0x1){const _0x580831=await readBffLockFile(_0xc3d000),_0x106933=!!_0x580831?.[_0x317f0b(0x19b)]?.[_0x5bdc07]?.['functions']?.[_0x2ba00d],_0x266323=await fileExists(_0xe1c1bb);if(!_0x106933&&!_0x266323)return;await sleep(DELETE_SETTLE_DELAY_MS);}throw new Error(_0x317f0b(0x17d)+_0x2ba00d+'.');}
1
+ const a27_0x1bca1c=a27_0x342f;(function(_0x1e5dc1,_0x898d4b){const _0x145c72=a27_0x342f,_0x19d0c4=_0x1e5dc1();while(!![]){try{const _0x3e5cf5=parseInt(_0x145c72(0x17a))/0x1*(-parseInt(_0x145c72(0x168))/0x2)+-parseInt(_0x145c72(0x173))/0x3*(parseInt(_0x145c72(0x15e))/0x4)+-parseInt(_0x145c72(0x18f))/0x5*(-parseInt(_0x145c72(0x15c))/0x6)+parseInt(_0x145c72(0x18a))/0x7*(parseInt(_0x145c72(0x170))/0x8)+-parseInt(_0x145c72(0x187))/0x9+parseInt(_0x145c72(0x18d))/0xa*(-parseInt(_0x145c72(0x169))/0xb)+parseInt(_0x145c72(0x174))/0xc;if(_0x3e5cf5===_0x898d4b)break;else _0x19d0c4['push'](_0x19d0c4['shift']());}catch(_0x4a58c9){_0x19d0c4['push'](_0x19d0c4['shift']());}}}(a27_0x4230,0x4e7eb));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';function a27_0x342f(_0x547442,_0x3400fc){_0x547442=_0x547442-0x15b;const _0x42307c=a27_0x4230();let _0x342ff7=_0x42307c[_0x547442];return _0x342ff7;}export const bffDelete={'service':'bff','command':'delete','description':a27_0x1bca1c(0x181),'risk':'high-risk-write','flags':[{'name':a27_0x1bca1c(0x180),'type':a27_0x1bca1c(0x16b),'required':!![],'description':a27_0x1bca1c(0x175)}],async 'validate'(_0x709883){const _0x7ec7a0=a27_0x1bca1c,_0x1dcac1=loadBffProjectConfig(_0x709883['appCode']),_0x509512=await readBffLockFile(_0x1dcac1['lockFilePath']);if(!_0x509512)throw CliErrors[_0x7ec7a0(0x16c)](_0x7ec7a0(0x17f));},async 'dryRun'(_0x5354ca){const _0x980d01=a27_0x1bca1c,_0x4037e7=loadBffProjectConfig(_0x5354ca[_0x980d01(0x18c)]),_0x147bc1=await readBffLockFile(_0x4037e7[_0x980d01(0x171)]);if(!_0x147bc1)throw CliErrors[_0x980d01(0x16c)](_0x980d01(0x188));const {appLock:_0x5a9bfb}=ensureLockScope(_0x147bc1,_0x5354ca['appCode'],_0x4037e7['scriptsRoot'],_0x980d01(0x16f)),_0x13b690=_0x5354ca[_0x980d01(0x189)](_0x980d01(0x180)),_0xfb30d5=Object[_0x980d01(0x17b)](_0x5a9bfb[_0x980d01(0x186)]),_0x4d48ac=resolveDeleteTarget(_0x13b690,_0xfb30d5),_0xb4dc30=_0x5a9bfb['functions'][_0x4d48ac];if(!_0xb4dc30)throw CliErrors[_0x980d01(0x16c)](_0x980d01(0x166)+_0x4d48ac+'\x22.');const _0x80e4c6=resolveLocalFilePathFromLockKey(_0x4037e7,_0x4d48ac),_0x3475f2=relative(_0x4037e7['projectRoot'],_0x80e4c6),_0x12f85c=join(_0x4037e7['trashDir'],_0x980d01(0x164),_0x3475f2);return{'method':_0x980d01(0x18b),'url':_0x980d01(0x177),'body':{'appCode':_0x5354ca[_0x980d01(0x18c)],'target':_0x4d48ac,'remoteId':_0xb4dc30[_0x980d01(0x15f)],'localFilePath':_0x80e4c6,'trashedPath':_0x12f85c},'description':_0x980d01(0x18e)+_0x4d48ac+_0x980d01(0x17c)};},async 'execute'(_0x10dc69){const _0x4a7241=a27_0x1bca1c,_0x3f9969=loadBffProjectConfig(_0x10dc69[_0x4a7241(0x18c)]),_0x1b4d3b=await readBffLockFile(_0x3f9969[_0x4a7241(0x171)]);if(!_0x1b4d3b)throw CliErrors[_0x4a7241(0x16c)](_0x4a7241(0x188));const {lockData:_0x313b21,appLock:_0x3ca041}=ensureLockScope(_0x1b4d3b,_0x10dc69[_0x4a7241(0x18c)],_0x3f9969['scriptsRoot'],'delete'),_0x3731e9=JSON[_0x4a7241(0x16e)](JSON[_0x4a7241(0x192)](_0x313b21)),_0x5b8c02=_0x3731e9[_0x4a7241(0x176)][_0x10dc69[_0x4a7241(0x18c)]];if(!_0x5b8c02)throw new Error(_0x4a7241(0x182)+_0x10dc69['appCode']+'\x22\x20not\x20found\x20after\x20ensureLockScope.');const _0x34ee78=_0x10dc69[_0x4a7241(0x189)]('target'),_0x194abc=Object[_0x4a7241(0x17b)](_0x5b8c02[_0x4a7241(0x186)]),_0x5f48c6=resolveDeleteTarget(_0x34ee78,_0x194abc),_0x316712=_0x5b8c02[_0x4a7241(0x186)][_0x5f48c6];if(!_0x316712)throw CliErrors['validation']('No\x20lock\x20entry\x20found\x20for\x20\x22'+_0x5f48c6+'\x22.');await deleteBffScript(_0x316712[_0x4a7241(0x15f)]),delete _0x5b8c02[_0x4a7241(0x186)][_0x5f48c6],_0x5b8c02[_0x4a7241(0x178)]=new Date()['toISOString'](),await writeBffLockFile(_0x3f9969['lockFilePath'],_0x3731e9);const _0x4b30e7=resolveLocalFilePathFromLockKey(_0x3f9969,_0x5f48c6);let _0x7e1728;await fileExists(_0x4b30e7)&&(_0x7e1728=await moveToTrash(_0x3f9969['projectRoot'],_0x3f9969[_0x4a7241(0x16a)],_0x4b30e7),await cleanupEmptyDirectories(dirname(_0x4b30e7),_0x3f9969[_0x4a7241(0x167)]));await waitForDeleteSettlement(_0x3f9969[_0x4a7241(0x171)],_0x10dc69[_0x4a7241(0x18c)],_0x5f48c6,_0x4b30e7),await sleep(0x96);const _0x12142c={'deleted':_0x5f48c6,'remoteId':_0x316712[_0x4a7241(0x15f)]};if(_0x7e1728)_0x12142c[_0x4a7241(0x172)]=_0x7e1728;return{'ok':!![],'data':_0x12142c,'message':_0x4a7241(0x191)+_0x5f48c6+(_0x7e1728?'\x20(local\x20file\x20moved\x20to\x20trash)':'')};}};function resolveDeleteTarget(_0x160b93,_0x1f8a06){const _0x4e98a3=a27_0x1bca1c;if(_0x160b93[_0x4e98a3(0x16d)]('/')){const _0x575348=_0x1f8a06[_0x4e98a3(0x162)](_0x50a557=>_0x50a557===_0x160b93);if(!_0x575348)throw CliErrors[_0x4e98a3(0x16c)](_0x4e98a3(0x183)+_0x160b93);return _0x575348;}const _0x120fdc=_0x1f8a06[_0x4e98a3(0x179)](_0x189786=>_0x189786[_0x4e98a3(0x184)]('/')['at'](-0x1)===_0x160b93);if(_0x120fdc[_0x4e98a3(0x190)]===0x0)throw CliErrors[_0x4e98a3(0x16c)](_0x4e98a3(0x183)+_0x160b93);if(_0x120fdc[_0x4e98a3(0x190)]>0x1)throw CliErrors[_0x4e98a3(0x16c)](_0x4e98a3(0x15d)+_0x160b93+_0x4e98a3(0x17d)+_0x120fdc[_0x4e98a3(0x161)](_0x3cb1d6=>_0x4e98a3(0x185)+_0x3cb1d6)[_0x4e98a3(0x15b)]('\x0a'));return _0x120fdc[0x0];}function a27_0x4230(){const _0xc3f3bb=['Deleted\x20','stringify','join','6hdkgdm','Multiple\x20functions\x20match\x20\x22','460MJukIQ','remoteId','startsWith','map','find','replace','<timestamp>','Local\x20delete\x20not\x20settled\x20for\x20','No\x20lock\x20entry\x20found\x20for\x20\x22','scriptsRootDir','2AzNORM','370997MNqhlG','trashDir','string','validation','includes','parse','delete','4137112OtpAuO','lockFilePath','trashedTo','12309dVuUDU','3171864gHenCk','Lock\x20key\x20(e.g.\x20ENDPOINT/createOrder)\x20or\x20short\x20function\x20name','apps','/api/management/library/scripts/delete','lastSync','filter','305593TTXoLO','keys','\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20trash','\x22.\x20Use\x20the\x20full\x20lock\x20key:\x0a','toISOString','BFF\x20lock\x20file\x20not\x20found.\x20Run\x20`push`\x20or\x20`pull`\x20first\x20to\x20initialize\x20sync\x20state.','target','Delete\x20a\x20BFF\x20script\x20from\x20remote\x20and\x20local','Lock\x20scope\x20for\x20app\x20\x22','Function\x20not\x20found:\x20','split','\x20\x20-\x20','functions','2473596zVzrFg','BFF\x20lock\x20file\x20not\x20found.','str','7NCnMUA','POST','appCode','10KkbTij','Would\x20delete\x20','3130315yPVxRI','length'];a27_0x4230=function(){return _0xc3f3bb;};return a27_0x4230();}async function moveToTrash(_0x169182,_0x386268,_0x3f315a){const _0x46ecae=a27_0x1bca1c,_0x98c8e1=new Date()[_0x46ecae(0x17e)]()[_0x46ecae(0x163)](/[:.]/g,'-'),_0x59705c=relative(_0x169182,_0x3f315a),_0x4b0ae4=join(_0x386268,_0x98c8e1,_0x59705c);return await mkdir(dirname(_0x4b0ae4),{'recursive':!![]}),await rename(_0x3f315a,_0x4b0ae4),_0x4b0ae4;}async function cleanupEmptyDirectories(_0x588f45,_0x33acb3){const _0x52602c=a27_0x1bca1c;let _0xff18f9=resolve(_0x588f45);const _0x51e62d=resolve(_0x33acb3);while(_0xff18f9[_0x52602c(0x160)](''+_0x51e62d+sep)||_0xff18f9===_0x51e62d){if(_0xff18f9===_0x51e62d)return;try{const _0x346cd3=await readdir(_0xff18f9);if(_0x346cd3[_0x52602c(0x190)]>0x0)return;await rmdir(_0xff18f9);}catch{return;}_0xff18f9=dirname(_0xff18f9);}}const DELETE_SETTLE_RETRY_COUNT=0x14,DELETE_SETTLE_DELAY_MS=0x64;async function waitForDeleteSettlement(_0x5f063b,_0x35f34a,_0x61c662,_0x45a7b0){const _0x3c763c=a27_0x1bca1c;for(let _0x59b937=0x0;_0x59b937<DELETE_SETTLE_RETRY_COUNT;_0x59b937+=0x1){const _0xa3e22=await readBffLockFile(_0x5f063b),_0x50d785=!!_0xa3e22?.['apps']?.[_0x35f34a]?.[_0x3c763c(0x186)]?.[_0x61c662],_0x49a056=await fileExists(_0x45a7b0);if(!_0x50d785&&!_0x49a056)return;await sleep(DELETE_SETTLE_DELAY_MS);}throw new Error(_0x3c763c(0x165)+_0x61c662+'.');}
@@ -1 +1 @@
1
- const a28_0x5a9c01=a28_0x35f9;(function(_0x1e2f03,_0x4e8449){const _0x206204=a28_0x35f9,_0xa81270=_0x1e2f03();while(!![]){try{const _0xfb47bf=-parseInt(_0x206204(0x15f))/0x1+parseInt(_0x206204(0x14d))/0x2*(-parseInt(_0x206204(0x15c))/0x3)+parseInt(_0x206204(0x153))/0x4*(parseInt(_0x206204(0x156))/0x5)+-parseInt(_0x206204(0x14f))/0x6+parseInt(_0x206204(0x15e))/0x7+-parseInt(_0x206204(0x154))/0x8+parseInt(_0x206204(0x158))/0x9*(parseInt(_0x206204(0x162))/0xa);if(_0xfb47bf===_0x4e8449)break;else _0xa81270['push'](_0xa81270['shift']());}catch(_0x690e1c){_0xa81270['push'](_0xa81270['shift']());}}}(a28_0x1d8b,0xb0900));function a28_0x35f9(_0x29a322,_0x1ec73f){_0x29a322=_0x29a322-0x14d;const _0x1d8b8c=a28_0x1d8b();let _0x35f9b1=_0x1d8b8c[_0x29a322];return _0x35f9b1;}function a28_0x1d8b(){const _0x51de9d=['531IPxMCr','Script\x20ID','(none)','verbose','254418QkspiM','read','8196902aBLVpu','1064641KkkNfP','bff','updatedTime','252930fxTJfM','description','boolean','2AaLaKK','createdTime','4265916PLSuPt','appCode','scriptContent','bool','196aVnCIS','9654296ytmOBY','detail','115015TxxEzj','Return\x20full\x20raw\x20script\x20object'];a28_0x1d8b=function(){return _0x51de9d;};return a28_0x1d8b();}import{getBffScriptInfo}from'../../core/api-client.js';export const bffDetail={'service':a28_0x5a9c01(0x160),'command':a28_0x5a9c01(0x155),'description':'Get\x20BFF\x20script\x20details\x20by\x20ID','risk':a28_0x5a9c01(0x15d),'flags':[{'name':'id','type':'number','required':!![],'description':a28_0x5a9c01(0x159)},{'name':a28_0x5a9c01(0x15b),'type':a28_0x5a9c01(0x164),'description':a28_0x5a9c01(0x157)}],async 'execute'(_0x154aef){const _0x3ffc4d=a28_0x5a9c01,_0x5a6fed=await getBffScriptInfo(_0x154aef['num']('id')),_0x4c3a9c=_0x154aef[_0x3ffc4d(0x152)]('verbose');if(_0x4c3a9c)return{'ok':!![],'data':_0x5a6fed};return{'ok':!![],'data':{'id':_0x5a6fed['id'],'appCode':_0x5a6fed[_0x3ffc4d(0x150)],'scriptType':_0x5a6fed['scriptType'],'description':_0x5a6fed[_0x3ffc4d(0x163)]||_0x3ffc4d(0x15a),'createdTime':_0x5a6fed[_0x3ffc4d(0x14e)]??'','updatedTime':_0x5a6fed[_0x3ffc4d(0x161)]??'','scriptContent':_0x5a6fed[_0x3ffc4d(0x151)]??''}};}};
1
+ const a28_0x74a2f=a28_0x3113;function a28_0x3022(){const _0x4f3fd3=['9szcMez','632KKSkox','num','verbose','detail','57701FNNiWX','Script\x20ID','number','scriptType','appCode','Return\x20full\x20raw\x20script\x20object','90756MMTgTp','11788610uhmcVV','updatedTime','452447qzBDHi','533946AkeEZc','createdTime','671424LoVukA','bff','Get\x20BFF\x20script\x20details\x20by\x20ID','boolean','(none)','read','bool','1179396TaAPOX','10UreIPO'];a28_0x3022=function(){return _0x4f3fd3;};return a28_0x3022();}(function(_0x572883,_0x5afdf7){const _0xd6df37=a28_0x3113,_0x2e5e4c=_0x572883();while(!![]){try{const _0x24eb7b=-parseInt(_0xd6df37(0x121))/0x1+parseInt(_0xd6df37(0x124))/0x2+-parseInt(_0xd6df37(0x11e))/0x3+parseInt(_0xd6df37(0x12b))/0x4+parseInt(_0xd6df37(0x12c))/0x5*(-parseInt(_0xd6df37(0x122))/0x6)+-parseInt(_0xd6df37(0x132))/0x7*(parseInt(_0xd6df37(0x12e))/0x8)+-parseInt(_0xd6df37(0x12d))/0x9*(-parseInt(_0xd6df37(0x11f))/0xa);if(_0x24eb7b===_0x5afdf7)break;else _0x2e5e4c['push'](_0x2e5e4c['shift']());}catch(_0x25eb6e){_0x2e5e4c['push'](_0x2e5e4c['shift']());}}}(a28_0x3022,0x79788));import{getBffScriptInfo}from'../../core/api-client.js';function a28_0x3113(_0x4d1965,_0x13ad06){_0x4d1965=_0x4d1965-0x11d;const _0x30220e=a28_0x3022();let _0x31131e=_0x30220e[_0x4d1965];return _0x31131e;}export const bffDetail={'service':a28_0x74a2f(0x125),'command':a28_0x74a2f(0x131),'description':a28_0x74a2f(0x126),'risk':a28_0x74a2f(0x129),'flags':[{'name':'id','type':a28_0x74a2f(0x134),'required':!![],'description':a28_0x74a2f(0x133)},{'name':a28_0x74a2f(0x130),'type':a28_0x74a2f(0x127),'description':a28_0x74a2f(0x11d)}],async 'execute'(_0x1dcc68){const _0x3894db=a28_0x74a2f,_0x25a529=await getBffScriptInfo(_0x1dcc68[_0x3894db(0x12f)]('id')),_0x12eaa9=_0x1dcc68[_0x3894db(0x12a)](_0x3894db(0x130));if(_0x12eaa9)return{'ok':!![],'data':_0x25a529};return{'ok':!![],'data':{'id':_0x25a529['id'],'appCode':_0x25a529[_0x3894db(0x136)],'scriptType':_0x25a529[_0x3894db(0x135)],'description':_0x25a529['description']||_0x3894db(0x128),'createdTime':_0x25a529[_0x3894db(0x123)]??'','updatedTime':_0x25a529[_0x3894db(0x120)]??'','scriptContent':_0x25a529['scriptContent']??''}};}};
@@ -1 +1 @@
1
- (function(_0x13cd4e,_0x327c9f){const _0x191a51=a29_0x260b,_0x39c317=_0x13cd4e();while(!![]){try{const _0x30e598=-parseInt(_0x191a51(0x10e))/0x1+parseInt(_0x191a51(0x10c))/0x2+-parseInt(_0x191a51(0x10b))/0x3*(parseInt(_0x191a51(0x109))/0x4)+-parseInt(_0x191a51(0x10d))/0x5+-parseInt(_0x191a51(0x10a))/0x6*(-parseInt(_0x191a51(0x110))/0x7)+-parseInt(_0x191a51(0x10f))/0x8+parseInt(_0x191a51(0x111))/0x9*(parseInt(_0x191a51(0x112))/0xa);if(_0x30e598===_0x327c9f)break;else _0x39c317['push'](_0x39c317['shift']());}catch(_0x1b5ee2){_0x39c317['push'](_0x39c317['shift']());}}}(a29_0x2148,0xd4c56));import{bffList}from'../../commands/bff/list.js';import{bffDetail}from'../../commands/bff/detail.js';import{bffStatus}from'../../commands/bff/status.js';function a29_0x2148(){const _0x4c29b5=['2069972hldeHS','6FEIDte','6ZDHyDP','1346800TtHUJW','6890100FDtobY','1660830vWbgiC','2214216WNvfns','8495683HkLYRR','1746kqXNVM','171910sDieHK'];a29_0x2148=function(){return _0x4c29b5;};return a29_0x2148();}import{bffCreate}from'../../commands/bff/create.js';function a29_0x260b(_0x1aaa2a,_0x3ffbd9){_0x1aaa2a=_0x1aaa2a-0x109;const _0x214869=a29_0x2148();let _0x260bab=_0x214869[_0x1aaa2a];return _0x260bab;}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_0x4de9(){const _0x211f96=['343017sRVbzU','631918zTeeoY','2862486gtUoKZ','3688340gZrpRM','1334224iAJCRZ','494480cJbkcQ','4324733HSIXrW'];a29_0x4de9=function(){return _0x211f96;};return a29_0x4de9();}(function(_0xf4d545,_0x2367a5){const _0x115bf1=a29_0x2c57,_0x114116=_0xf4d545();while(!![]){try{const _0x592439=parseInt(_0x115bf1(0x1a2))/0x1+-parseInt(_0x115bf1(0x19e))/0x2+parseInt(_0x115bf1(0x1a1))/0x3+-parseInt(_0x115bf1(0x19f))/0x4+parseInt(_0x115bf1(0x19d))/0x5+parseInt(_0x115bf1(0x19c))/0x6+-parseInt(_0x115bf1(0x1a0))/0x7;if(_0x592439===_0x2367a5)break;else _0x114116['push'](_0x114116['shift']());}catch(_0xe6a982){_0x114116['push'](_0x114116['shift']());}}}(a29_0x4de9,0x86e07));import{bffList}from'../../commands/bff/list.js';import{bffDetail}from'../../commands/bff/detail.js';import{bffStatus}from'../../commands/bff/status.js';function a29_0x2c57(_0x28b3ec,_0x4fdfb5){_0x28b3ec=_0x28b3ec-0x19c;const _0x4de9cb=a29_0x4de9();let _0x2c579b=_0x4de9cb[_0x28b3ec];return _0x2c579b;}import{bffCreate}from'../../commands/bff/create.js';import{bffPush}from'../../commands/bff/push.js';import{bffPull}from'../../commands/bff/pull.js';import{bffDelete}from'../../commands/bff/delete.js';export const bffDefinitions=[bffList,bffDetail,bffStatus,bffCreate,bffPush,bffPull,bffDelete];
@@ -1 +1 @@
1
- const a30_0x66a725=a30_0x234f;function a30_0x234f(_0x4e66cf,_0xe1b740){_0x4e66cf=_0x4e66cf-0x105;const _0x4ce813=a30_0x4ce8();let _0x234f4c=_0x4ce813[_0x4e66cf];return _0x234f4c;}(function(_0x2e3330,_0x3a426a){const _0x1326a8=a30_0x234f,_0x58803b=_0x2e3330();while(!![]){try{const _0x53e977=-parseInt(_0x1326a8(0x107))/0x1*(parseInt(_0x1326a8(0x115))/0x2)+parseInt(_0x1326a8(0x11f))/0x3+parseInt(_0x1326a8(0x108))/0x4*(parseInt(_0x1326a8(0x109))/0x5)+parseInt(_0x1326a8(0x118))/0x6+-parseInt(_0x1326a8(0x11d))/0x7*(-parseInt(_0x1326a8(0x10c))/0x8)+parseInt(_0x1326a8(0x111))/0x9+-parseInt(_0x1326a8(0x11a))/0xa;if(_0x53e977===_0x3a426a)break;else _0x58803b['push'](_0x58803b['shift']());}catch(_0x15d9b3){_0x58803b['push'](_0x58803b['shift']());}}}(a30_0x4ce8,0x2ea74));function a30_0x4ce8(){const _0x14406e=['32DpsLty','name','(unnamed)','str','appCode','2050092pEAree','scriptType','Filter\x20by\x20script\x20name','length','1198nItnxF','description','map','1169862oHVxyF','verbose','5314470CXciEq','ENDPOINT','list','8813LssRcU','type','871395rAUWxB','COMMON','read','356bLLJjS','4nluMiN','1087585ikKdpD','bff','Return\x20full\x20script\x20objects'];a30_0x4ce8=function(){return _0x14406e;};return a30_0x4ce8();}import{listBffScripts}from'../../core/api-client.js';export const bffList={'service':a30_0x66a725(0x10a),'command':a30_0x66a725(0x11c),'description':'List\x20BFF\x20scripts','risk':a30_0x66a725(0x106),'flags':[{'name':a30_0x66a725(0x11e),'type':'string','description':'Script\x20type\x20filter','default':a30_0x66a725(0x11b),'enum':[a30_0x66a725(0x11b),a30_0x66a725(0x105)]},{'name':a30_0x66a725(0x10d),'type':'string','description':a30_0x66a725(0x113)},{'name':a30_0x66a725(0x119),'type':'boolean','description':a30_0x66a725(0x10b)}],async 'execute'(_0x27eed3){const _0x180740=a30_0x66a725,_0x429d7b=await listBffScripts(_0x27eed3[_0x180740(0x110)],_0x27eed3[_0x180740(0x10f)](_0x180740(0x11e)),{'scriptName':_0x27eed3['str']('name')||undefined}),_0x51f240=_0x27eed3['bool'](_0x180740(0x119));return{'ok':!![],'data':_0x51f240?_0x429d7b:_0x429d7b[_0x180740(0x117)](_0x18cb2b=>({'id':_0x18cb2b['id'],'functionName':_0x18cb2b['functionName']??'','description':_0x18cb2b[_0x180740(0x116)]||_0x180740(0x10e),'scriptType':_0x18cb2b[_0x180740(0x112)]})),'message':_0x429d7b[_0x180740(0x114)]===0x0?'No\x20BFF\x20scripts\x20found.':undefined};}};
1
+ const a30_0x56051a=a30_0x5b64;(function(_0x589591,_0x2dedda){const _0x551cfd=a30_0x5b64,_0x39c468=_0x589591();while(!![]){try{const _0xdaea75=-parseInt(_0x551cfd(0x197))/0x1*(parseInt(_0x551cfd(0x19c))/0x2)+-parseInt(_0x551cfd(0x195))/0x3*(-parseInt(_0x551cfd(0x1b0))/0x4)+-parseInt(_0x551cfd(0x1a8))/0x5*(parseInt(_0x551cfd(0x19e))/0x6)+parseInt(_0x551cfd(0x1b1))/0x7+parseInt(_0x551cfd(0x1ad))/0x8+parseInt(_0x551cfd(0x196))/0x9+parseInt(_0x551cfd(0x1a5))/0xa;if(_0xdaea75===_0x2dedda)break;else _0x39c468['push'](_0x39c468['shift']());}catch(_0x135208){_0x39c468['push'](_0x39c468['shift']());}}}(a30_0x53cb,0xd0f72));import{listBffScripts}from'../../core/api-client.js';function a30_0x53cb(){const _0x36dbbe=['description','No\x20BFF\x20scripts\x20found.','Filter\x20by\x20script\x20name','715832NbmOBn','map','List\x20BFF\x20scripts','4226308SXidCG','763896PvDqYR','bool','functionName','3pNVHpM','1473597barPrJ','4034iwKaZi','read','Return\x20full\x20script\x20objects','length','string','480LgMImD','Script\x20type\x20filter','3162ADjXDZ','ENDPOINT','verbose','boolean','(unnamed)','bff','name','20567830EcarPf','type','list','15670sqswYg','appCode'];a30_0x53cb=function(){return _0x36dbbe;};return a30_0x53cb();}function a30_0x5b64(_0x5dbbe5,_0x47b387){_0x5dbbe5=_0x5dbbe5-0x195;const _0x53cb50=a30_0x53cb();let _0x5b6427=_0x53cb50[_0x5dbbe5];return _0x5b6427;}export const bffList={'service':a30_0x56051a(0x1a3),'command':a30_0x56051a(0x1a7),'description':a30_0x56051a(0x1af),'risk':a30_0x56051a(0x198),'flags':[{'name':'type','type':'string','description':a30_0x56051a(0x19d),'default':a30_0x56051a(0x19f),'enum':[a30_0x56051a(0x19f),'COMMON']},{'name':a30_0x56051a(0x1a4),'type':a30_0x56051a(0x19b),'description':a30_0x56051a(0x1ac)},{'name':a30_0x56051a(0x1a0),'type':a30_0x56051a(0x1a1),'description':a30_0x56051a(0x199)}],async 'execute'(_0x21b181){const _0x190f70=a30_0x56051a,_0x552c71=await listBffScripts(_0x21b181[_0x190f70(0x1a9)],_0x21b181['str'](_0x190f70(0x1a6)),{'scriptName':_0x21b181['str']('name')||undefined}),_0x50b107=_0x21b181[_0x190f70(0x1b2)](_0x190f70(0x1a0));return{'ok':!![],'data':_0x50b107?_0x552c71:_0x552c71[_0x190f70(0x1ae)](_0x3c4247=>({'id':_0x3c4247['id'],'functionName':_0x3c4247[_0x190f70(0x1b3)]??'','description':_0x3c4247[_0x190f70(0x1aa)]||_0x190f70(0x1a2),'scriptType':_0x3c4247['scriptType']})),'message':_0x552c71[_0x190f70(0x19a)]===0x0?_0x190f70(0x1ab):undefined};}};
@@ -1 +1 @@
1
- const a31_0x243933=a31_0xcc53;(function(_0x5dd4c1,_0x17a14d){const _0x292a5d=a31_0xcc53,_0x1d9c27=_0x5dd4c1();while(!![]){try{const _0x4acab2=parseInt(_0x292a5d(0x114))/0x1*(parseInt(_0x292a5d(0x112))/0x2)+parseInt(_0x292a5d(0x140))/0x3+-parseInt(_0x292a5d(0x12b))/0x4+-parseInt(_0x292a5d(0x14a))/0x5+-parseInt(_0x292a5d(0x127))/0x6+parseInt(_0x292a5d(0x153))/0x7*(-parseInt(_0x292a5d(0x11c))/0x8)+-parseInt(_0x292a5d(0x136))/0x9*(-parseInt(_0x292a5d(0x130))/0xa);if(_0x4acab2===_0x17a14d)break;else _0x1d9c27['push'](_0x1d9c27['shift']());}catch(_0x194b05){_0x1d9c27['push'](_0x1d9c27['shift']());}}}(a31_0xfbcc,0x7f15e));import{createInterface}from'node:readline';import{writeFile}from'node:fs/promises';import{listBffScripts,getBffScriptStatistics}from'../../core/api-client.js';import{loadAliasMap}from'../../core/alias-resolver.js';import{resolveApiFilePath}from'../../context.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{createHookLocationMap,ensureParentDirectory,fileExists,normalizeBffType,resolveRemoteScriptTarget}from'../../core/bff/file-system.js';import{computeContentHash,computeFileHash}from'../../core/bff/hash.js';import{createEmptyBffLock,ensureLockScope,readBffLockFile,writeBffLockFile}from'../../core/bff/lock.js';import{CliErrors}from'../../errors.js';export const bffPull={'service':a31_0x243933(0x13a),'command':a31_0x243933(0x115),'description':'Pull\x20remote\x20BFF\x20scripts\x20to\x20local','risk':a31_0x243933(0x113),'flags':[{'name':a31_0x243933(0x116),'type':'string','description':a31_0x243933(0x138),'enum':[a31_0x243933(0x117),a31_0x243933(0x12e),a31_0x243933(0x119)]},{'name':a31_0x243933(0x141),'type':a31_0x243933(0x11f),'description':'Force\x20overwrite\x20local\x20unsynced\x20changes'}],async 'dryRun'(_0x77af15){const _0x5959e1=a31_0x243933,_0x114c6d=loadBffProjectConfig(_0x77af15[_0x5959e1(0x13b)]),_0x15af1e=await readBffLockFile(_0x114c6d[_0x5959e1(0x132)]),{appLock:_0x1515cc}=ensureLockScope(_0x15af1e??createEmptyBffLock(),_0x77af15[_0x5959e1(0x13b)],_0x114c6d[_0x5959e1(0x145)],_0x5959e1(0x115)),_0x590df3=normalizeBffType(_0x77af15['str']('type'))??undefined,_0x58e89d=buildDatasetCodeToAliasMap(_0x77af15[_0x5959e1(0x14f)],_0x77af15[_0x5959e1(0x13b)]),[_0x1bb4f7,_0x3fa39a]=await Promise[_0x5959e1(0x14b)]([listBffScripts(_0x77af15[_0x5959e1(0x13b)],_0x590df3),getBffScriptStatistics(_0x77af15[_0x5959e1(0x13b)])]),_0x47eb95=createHookLocationMap(_0x3fa39a),_0x21913d=[];for(const _0x2a98b1 of _0x1bb4f7){const _0x6379c1=resolveRemoteScriptTarget(_0x114c6d,_0x2a98b1,_0x47eb95,_0x1515cc[_0x5959e1(0x155)],_0x58e89d);if(!_0x6379c1){_0x21913d[_0x5959e1(0x146)]({'scriptType':_0x2a98b1['scriptType'],'functionName':_0x2a98b1[_0x5959e1(0x13d)]??'','status':'skipped','reason':_0x5959e1(0x135)});continue;}const _0x37e62c=_0x1515cc['functions'][_0x6379c1[_0x5959e1(0x152)]],_0x4a74c4=_0x2a98b1[_0x5959e1(0x12a)]!=null?computeContentHash(_0x2a98b1[_0x5959e1(0x12a)]):undefined,_0xa13b92=await hasUnsyncedLocalChanges(_0x6379c1['filePath'],_0x37e62c,_0x4a74c4);_0x21913d[_0x5959e1(0x146)]({'lockKey':_0x6379c1[_0x5959e1(0x152)],'filePath':_0x6379c1[_0x5959e1(0x149)],'remoteId':_0x2a98b1['id']??null,'status':_0xa13b92?_0x5959e1(0x125):_0x5959e1(0x11b)});}return{'method':'GET','url':_0x5959e1(0x11e)+_0x77af15['appCode']+(_0x590df3?_0x5959e1(0x148)+_0x590df3:''),'body':{'appCode':_0x77af15['appCode'],'filterType':_0x590df3??null,'files':_0x21913d},'description':'Would\x20inspect\x20'+_0x21913d['length']+'\x20remote\x20BFF\x20script(s)\x20for\x20pull'};},async 'execute'(_0x11e139){const _0xe25cc4=a31_0x243933,_0x1d3a4e=loadBffProjectConfig(_0x11e139[_0xe25cc4(0x13b)]),_0x126081=await readBffLockFile(_0x1d3a4e[_0xe25cc4(0x132)]),{lockData:_0xb026d3,appLock:_0x2c9a17}=ensureLockScope(_0x126081??createEmptyBffLock(),_0x11e139['appCode'],_0x1d3a4e[_0xe25cc4(0x145)],_0xe25cc4(0x115)),_0x21415d=normalizeBffType(_0x11e139['str'](_0xe25cc4(0x116)))??undefined;if(_0x11e139[_0xe25cc4(0x151)](_0xe25cc4(0x116))&&!_0x21415d)throw CliErrors['validation']('--type\x20must\x20be\x20COMMON,\x20ENDPOINT,\x20or\x20HOOK.');const [_0x1381dd,_0x3a841a]=await Promise[_0xe25cc4(0x14b)]([listBffScripts(_0x11e139[_0xe25cc4(0x13b)],_0x21415d),getBffScriptStatistics(_0x11e139[_0xe25cc4(0x13b)])]);if(_0x1381dd[_0xe25cc4(0x126)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':'No\x20remote\x20BFF\x20scripts\x20found.'};const _0x948a2a=_0x11e139['bool'](_0xe25cc4(0x141));if(_0x948a2a&&!_0x11e139['nonInteractive']){const _0x1d558f=await confirmForce();if(!_0x1d558f)throw CliErrors[_0xe25cc4(0x143)](_0xe25cc4(0x144));}if(_0x948a2a&&_0x11e139[_0xe25cc4(0x134)]){}const _0x14fa49=buildDatasetCodeToAliasMap(_0x11e139[_0xe25cc4(0x14f)],_0x11e139[_0xe25cc4(0x13b)]),_0x33994c=createHookLocationMap(_0x3a841a),_0x2f9f8f=JSON[_0xe25cc4(0x12c)](JSON['stringify'](_0xb026d3)),_0x409760=_0x11e139[_0xe25cc4(0x13b)],_0x2ac08e=_0x2f9f8f['apps'][_0x409760];if(!_0x2ac08e)throw new Error(_0xe25cc4(0x120)+_0x409760+'\x22\x20not\x20found\x20after\x20ensureLockScope.');const _0x13106c=[],_0x59f3ba=[],_0x1884b4=[];for(const _0x151fab of _0x1381dd){const _0xf484dd=resolveRemoteScriptTarget(_0x1d3a4e,_0x151fab,_0x33994c,_0x2c9a17[_0xe25cc4(0x155)],_0x14fa49);if(!_0xf484dd){_0x59f3ba[_0xe25cc4(0x146)]({'lockKey':_0x151fab[_0xe25cc4(0x12d)]+'/'+_0x151fab[_0xe25cc4(0x13d)],'reason':_0xe25cc4(0x135)});continue;}const _0x2eedf1=_0x2c9a17[_0xe25cc4(0x155)][_0xf484dd[_0xe25cc4(0x152)]];try{if(!_0x151fab['id'])throw new Error(_0xe25cc4(0x133));if(_0x151fab[_0xe25cc4(0x12a)]==null)throw new Error('Remote\x20script\x20missing\x20content.');const _0x22ab6c=_0x151fab['scriptContent'],_0xd12272=computeContentHash(_0x22ab6c);if(!_0x948a2a){const _0x479c32=await hasUnsyncedLocalChanges(_0xf484dd[_0xe25cc4(0x149)],_0x2eedf1,_0xd12272);if(_0x479c32){_0x59f3ba[_0xe25cc4(0x146)]({'lockKey':_0xf484dd[_0xe25cc4(0x152)],'reason':_0xe25cc4(0x14c)});continue;}}await ensureParentDirectory(_0xf484dd['filePath']),await writeFile(_0xf484dd[_0xe25cc4(0x149)],_0x22ab6c,'utf8');const _0x2786a2={'hash':_0xd12272,'remoteId':_0x151fab['id'],'version':_0x151fab[_0xe25cc4(0x14d)]};_0xf484dd[_0xe25cc4(0x116)]==='HOOK'&&_0xf484dd[_0xe25cc4(0x150)]&&(_0x2786a2[_0xe25cc4(0x142)]=_0xf484dd[_0xe25cc4(0x150)]['alias'],_0x2786a2[_0xe25cc4(0x154)]=_0xf484dd['hookLocation'][_0xe25cc4(0x154)],_0x2786a2[_0xe25cc4(0x131)]=_0xf484dd[_0xe25cc4(0x150)]['operationType'],_0x2786a2['functionNode']=_0xf484dd[_0xe25cc4(0x150)][_0xe25cc4(0x147)]),_0x2ac08e[_0xe25cc4(0x155)][_0xf484dd[_0xe25cc4(0x152)]]=_0x2786a2,_0x13106c['push']({'lockKey':_0xf484dd[_0xe25cc4(0x152)],'remoteId':_0x151fab['id']});}catch(_0x338d9e){_0x1884b4[_0xe25cc4(0x146)]({'lockKey':_0xf484dd[_0xe25cc4(0x152)],'error':_0x338d9e instanceof Error?_0x338d9e[_0xe25cc4(0x11d)]:String(_0x338d9e)});}}return _0x2ac08e[_0xe25cc4(0x121)]=new Date()['toISOString'](),await writeBffLockFile(_0x1d3a4e['lockFilePath'],_0x2f9f8f),{'ok':_0x1884b4['length']===0x0,'data':{'pulled':_0x13106c,'skipped':_0x59f3ba,'failed':_0x1884b4},'message':_0xe25cc4(0x11a)+_0x13106c[_0xe25cc4(0x126)]+_0xe25cc4(0x128)+_0x59f3ba[_0xe25cc4(0x126)]+_0xe25cc4(0x12f)+_0x1884b4[_0xe25cc4(0x126)]+_0xe25cc4(0x137)};}};async function hasUnsyncedLocalChanges(_0x46103c,_0x473c16,_0x287216){const _0x475adf=a31_0x243933;if(!await fileExists(_0x46103c))return![];const _0x424422=await computeFileHash(_0x46103c);if(!_0x473c16)return _0x287216?_0x424422!==_0x287216:!![];return _0x424422!==_0x473c16[_0x475adf(0x139)];}function buildDatasetCodeToAliasMap(_0x93e573,_0x4dd44b){const _0x5121af=a31_0x243933,_0x37740d=loadAliasMap(_0x93e573,undefined,resolveApiFilePath(_0x93e573,_0x4dd44b));return new Map(_0x37740d[_0x5121af(0x129)](_0x27d64e=>[_0x27d64e[_0x5121af(0x154)],_0x27d64e[_0x5121af(0x142)]]));}function a31_0xcc53(_0x12ed79,_0x9038ac){_0x12ed79=_0x12ed79-0x112;const _0xfbcc81=a31_0xfbcc();let _0xcc534f=_0xfbcc81[_0x12ed79];return _0xcc534f;}function a31_0xfbcc(){const _0x1d93cd=['&type=','filePath','535395rFXuqV','all','local\x20unsynced\x20changes','version','trim','apiDir','hookLocation','str','lockKey','16513nvclna','datasetCode','functions','22GoiOES','write','16258XTlJjB','pull','type','COMMON','toLowerCase','HOOK','Pull\x20complete:\x20','would_pull','2424uMHSEt','message','/api/management/library/scripts/list?appCode=','boolean','Lock\x20scope\x20for\x20app\x20\x22','lastSync','stdin','yes','Force\x20pull\x20will\x20overwrite\x20local\x20unsynced\x20changes.\x20Continue?\x20[y/N]\x20','conflict','length','3215118UrnGLb','\x20pulled,\x20','map','scriptContent','2792692lVHuUD','parse','scriptType','ENDPOINT','\x20skipped,\x20','989110kfkpBl','operationType','lockFilePath','Remote\x20script\x20missing\x20id.','nonInteractive','unresolvable\x20target\x20path','171PGlKfn','\x20failed','Pull\x20only\x20this\x20script\x20type','hash','bff','appCode','question','functionName','close','stderr','1554831whLJnk','force','alias','cancelled','Force\x20pull\x20cancelled.','scriptsRoot','push','functionNode'];a31_0xfbcc=function(){return _0x1d93cd;};return a31_0xfbcc();}async function confirmForce(){const _0x5acd89=a31_0x243933,_0x68310=createInterface({'input':process[_0x5acd89(0x122)],'output':process[_0x5acd89(0x13f)]}),_0x1fbca4=await new Promise(_0x56872b=>{const _0x40d7cc=_0x5acd89;_0x68310[_0x40d7cc(0x13c)](_0x40d7cc(0x124),_0x56872b);});return _0x68310[_0x5acd89(0x13e)](),['y',_0x5acd89(0x123)]['includes'](_0x1fbca4[_0x5acd89(0x14e)]()[_0x5acd89(0x118)]());}
1
+ const a31_0x86375b=a31_0x2d48;(function(_0x180373,_0x3bb276){const _0x3e5a25=a31_0x2d48,_0x1b2a0b=_0x180373();while(!![]){try{const _0x179b84=-parseInt(_0x3e5a25(0x15f))/0x1*(-parseInt(_0x3e5a25(0x16b))/0x2)+parseInt(_0x3e5a25(0x13a))/0x3+-parseInt(_0x3e5a25(0x14b))/0x4+-parseInt(_0x3e5a25(0x138))/0x5*(-parseInt(_0x3e5a25(0x14f))/0x6)+parseInt(_0x3e5a25(0x144))/0x7+-parseInt(_0x3e5a25(0x173))/0x8*(-parseInt(_0x3e5a25(0x16a))/0x9)+parseInt(_0x3e5a25(0x14a))/0xa*(-parseInt(_0x3e5a25(0x162))/0xb);if(_0x179b84===_0x3bb276)break;else _0x1b2a0b['push'](_0x1b2a0b['shift']());}catch(_0x2c48fd){_0x1b2a0b['push'](_0x1b2a0b['shift']());}}}(a31_0x94be,0x81025));import{createInterface}from'node:readline';import{writeFile}from'node:fs/promises';import{listBffScripts,getBffScriptStatistics}from'../../core/api-client.js';import{loadAliasMap}from'../../core/alias-resolver.js';import{resolveApiFilePath}from'../../context.js';import{loadBffProjectConfig}from'../../core/bff/config.js';function a31_0x94be(){const _0x8e835e=['2168583Azftal','version','local\x20unsynced\x20changes','scriptsRoot','question','appCode','yes','Force\x20pull\x20cancelled.','filePath','GET','2022454ToeIWx','write','pull','apps','close','scriptContent','6470NNWAoP','2756772MVOMnp','length','apiDir','message','3710634zSZKLt','Remote\x20script\x20missing\x20content.','functionName','Force\x20overwrite\x20local\x20unsynced\x20changes','Force\x20pull\x20will\x20overwrite\x20local\x20unsynced\x20changes.\x20Continue?\x20[y/N]\x20','scriptType','Pull\x20remote\x20BFF\x20scripts\x20to\x20local','/api/management/library/scripts/list?appCode=','nonInteractive','push','str','\x20remote\x20BFF\x20script(s)\x20for\x20pull','Remote\x20script\x20missing\x20id.','hookLocation','Lock\x20scope\x20for\x20app\x20\x22','bool','154299ttlHIc','would_pull','cancelled','22748sJkeRk','ENDPOINT','unresolvable\x20target\x20path','toISOString','\x20skipped,\x20','\x20failed','stringify','HOOK','2775555NTeySy','4sUXKdR','toLowerCase','lockKey','operationType','parse','bff','lockFilePath','all','16aAKcgH','functions','Would\x20inspect\x20','Pull\x20only\x20this\x20script\x20type','alias','COMMON','type','&type=','No\x20remote\x20BFF\x20scripts\x20found.','datasetCode','hash','functionNode','5kMdEie','--type\x20must\x20be\x20COMMON,\x20ENDPOINT,\x20or\x20HOOK.'];a31_0x94be=function(){return _0x8e835e;};return a31_0x94be();}import{createHookLocationMap,ensureParentDirectory,fileExists,normalizeBffType,resolveRemoteScriptTarget}from'../../core/bff/file-system.js';import{computeContentHash,computeFileHash}from'../../core/bff/hash.js';import{createEmptyBffLock,ensureLockScope,readBffLockFile,writeBffLockFile}from'../../core/bff/lock.js';function a31_0x2d48(_0x7e3fa0,_0x5ece9e){_0x7e3fa0=_0x7e3fa0-0x138;const _0x94be8e=a31_0x94be();let _0x2d48c3=_0x94be8e[_0x7e3fa0];return _0x2d48c3;}import{CliErrors}from'../../errors.js';export const bffPull={'service':a31_0x86375b(0x170),'command':'pull','description':a31_0x86375b(0x155),'risk':a31_0x86375b(0x145),'flags':[{'name':a31_0x86375b(0x179),'type':'string','description':a31_0x86375b(0x176),'enum':[a31_0x86375b(0x178),a31_0x86375b(0x163),a31_0x86375b(0x169)]},{'name':'force','type':'boolean','description':a31_0x86375b(0x152)}],async 'dryRun'(_0x442bdd){const _0x48aedf=a31_0x86375b,_0x5808d2=loadBffProjectConfig(_0x442bdd[_0x48aedf(0x13f)]),_0xe5db83=await readBffLockFile(_0x5808d2[_0x48aedf(0x171)]),{appLock:_0x502967}=ensureLockScope(_0xe5db83??createEmptyBffLock(),_0x442bdd[_0x48aedf(0x13f)],_0x5808d2[_0x48aedf(0x13d)],'pull'),_0x582f52=normalizeBffType(_0x442bdd[_0x48aedf(0x159)](_0x48aedf(0x179)))??undefined,_0x2ba998=buildDatasetCodeToAliasMap(_0x442bdd[_0x48aedf(0x14d)],_0x442bdd[_0x48aedf(0x13f)]),[_0x278435,_0x1ddb21]=await Promise['all']([listBffScripts(_0x442bdd[_0x48aedf(0x13f)],_0x582f52),getBffScriptStatistics(_0x442bdd[_0x48aedf(0x13f)])]),_0x9cce6a=createHookLocationMap(_0x1ddb21),_0xfcceaa=[];for(const _0x10a53e of _0x278435){const _0x288a70=resolveRemoteScriptTarget(_0x5808d2,_0x10a53e,_0x9cce6a,_0x502967['functions'],_0x2ba998);if(!_0x288a70){_0xfcceaa[_0x48aedf(0x158)]({'scriptType':_0x10a53e['scriptType'],'functionName':_0x10a53e[_0x48aedf(0x151)]??'','status':'skipped','reason':_0x48aedf(0x164)});continue;}const _0x3570b4=_0x502967[_0x48aedf(0x174)][_0x288a70['lockKey']],_0x5ba3e4=_0x10a53e[_0x48aedf(0x149)]!=null?computeContentHash(_0x10a53e[_0x48aedf(0x149)]):undefined,_0x3e8532=await hasUnsyncedLocalChanges(_0x288a70[_0x48aedf(0x142)],_0x3570b4,_0x5ba3e4);_0xfcceaa[_0x48aedf(0x158)]({'lockKey':_0x288a70['lockKey'],'filePath':_0x288a70[_0x48aedf(0x142)],'remoteId':_0x10a53e['id']??null,'status':_0x3e8532?'conflict':_0x48aedf(0x160)});}return{'method':_0x48aedf(0x143),'url':_0x48aedf(0x156)+_0x442bdd[_0x48aedf(0x13f)]+(_0x582f52?_0x48aedf(0x17a)+_0x582f52:''),'body':{'appCode':_0x442bdd[_0x48aedf(0x13f)],'filterType':_0x582f52??null,'files':_0xfcceaa},'description':_0x48aedf(0x175)+_0xfcceaa[_0x48aedf(0x14c)]+_0x48aedf(0x15a)};},async 'execute'(_0x41b424){const _0x4efc0d=a31_0x86375b,_0x5bf1d8=loadBffProjectConfig(_0x41b424[_0x4efc0d(0x13f)]),_0x592fed=await readBffLockFile(_0x5bf1d8[_0x4efc0d(0x171)]),{lockData:_0x40690b,appLock:_0x3e2e0c}=ensureLockScope(_0x592fed??createEmptyBffLock(),_0x41b424[_0x4efc0d(0x13f)],_0x5bf1d8[_0x4efc0d(0x13d)],_0x4efc0d(0x146)),_0x5a4887=normalizeBffType(_0x41b424[_0x4efc0d(0x159)](_0x4efc0d(0x179)))??undefined;if(_0x41b424[_0x4efc0d(0x159)](_0x4efc0d(0x179))&&!_0x5a4887)throw CliErrors['validation'](_0x4efc0d(0x139));const [_0x1c9256,_0x54f61e]=await Promise[_0x4efc0d(0x172)]([listBffScripts(_0x41b424['appCode'],_0x5a4887),getBffScriptStatistics(_0x41b424['appCode'])]);if(_0x1c9256[_0x4efc0d(0x14c)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x4efc0d(0x17b)};const _0x3e37fb=_0x41b424[_0x4efc0d(0x15e)]('force');if(_0x3e37fb&&!_0x41b424[_0x4efc0d(0x157)]){const _0x189ff3=await confirmForce();if(!_0x189ff3)throw CliErrors[_0x4efc0d(0x161)](_0x4efc0d(0x141));}if(_0x3e37fb&&_0x41b424[_0x4efc0d(0x157)]){}const _0x149a4f=buildDatasetCodeToAliasMap(_0x41b424[_0x4efc0d(0x14d)],_0x41b424[_0x4efc0d(0x13f)]),_0x16b128=createHookLocationMap(_0x54f61e),_0x16ccb3=JSON[_0x4efc0d(0x16f)](JSON[_0x4efc0d(0x168)](_0x40690b)),_0x564d1e=_0x41b424[_0x4efc0d(0x13f)],_0x1629eb=_0x16ccb3[_0x4efc0d(0x147)][_0x564d1e];if(!_0x1629eb)throw new Error(_0x4efc0d(0x15d)+_0x564d1e+'\x22\x20not\x20found\x20after\x20ensureLockScope.');const _0x5df591=[],_0x42a762=[],_0x1c56b7=[];for(const _0x2e849c of _0x1c9256){const _0x4f6a54=resolveRemoteScriptTarget(_0x5bf1d8,_0x2e849c,_0x16b128,_0x3e2e0c[_0x4efc0d(0x174)],_0x149a4f);if(!_0x4f6a54){_0x42a762[_0x4efc0d(0x158)]({'lockKey':_0x2e849c[_0x4efc0d(0x154)]+'/'+_0x2e849c[_0x4efc0d(0x151)],'reason':_0x4efc0d(0x164)});continue;}const _0x36aa62=_0x3e2e0c[_0x4efc0d(0x174)][_0x4f6a54[_0x4efc0d(0x16d)]];try{if(!_0x2e849c['id'])throw new Error(_0x4efc0d(0x15b));if(_0x2e849c[_0x4efc0d(0x149)]==null)throw new Error(_0x4efc0d(0x150));const _0x4acd39=_0x2e849c[_0x4efc0d(0x149)],_0x4baf2c=computeContentHash(_0x4acd39);if(!_0x3e37fb){const _0x2ed176=await hasUnsyncedLocalChanges(_0x4f6a54['filePath'],_0x36aa62,_0x4baf2c);if(_0x2ed176){_0x42a762[_0x4efc0d(0x158)]({'lockKey':_0x4f6a54[_0x4efc0d(0x16d)],'reason':_0x4efc0d(0x13c)});continue;}}await ensureParentDirectory(_0x4f6a54[_0x4efc0d(0x142)]),await writeFile(_0x4f6a54['filePath'],_0x4acd39,'utf8');const _0x139f33={'hash':_0x4baf2c,'remoteId':_0x2e849c['id'],'version':_0x2e849c[_0x4efc0d(0x13b)]};_0x4f6a54[_0x4efc0d(0x179)]===_0x4efc0d(0x169)&&_0x4f6a54[_0x4efc0d(0x15c)]&&(_0x139f33[_0x4efc0d(0x177)]=_0x4f6a54[_0x4efc0d(0x15c)][_0x4efc0d(0x177)],_0x139f33[_0x4efc0d(0x17c)]=_0x4f6a54[_0x4efc0d(0x15c)][_0x4efc0d(0x17c)],_0x139f33[_0x4efc0d(0x16e)]=_0x4f6a54[_0x4efc0d(0x15c)][_0x4efc0d(0x16e)],_0x139f33[_0x4efc0d(0x17e)]=_0x4f6a54['hookLocation'][_0x4efc0d(0x17e)]),_0x1629eb[_0x4efc0d(0x174)][_0x4f6a54[_0x4efc0d(0x16d)]]=_0x139f33,_0x5df591[_0x4efc0d(0x158)]({'lockKey':_0x4f6a54['lockKey'],'remoteId':_0x2e849c['id']});}catch(_0x1db8c4){_0x1c56b7[_0x4efc0d(0x158)]({'lockKey':_0x4f6a54['lockKey'],'error':_0x1db8c4 instanceof Error?_0x1db8c4[_0x4efc0d(0x14e)]:String(_0x1db8c4)});}}return _0x1629eb['lastSync']=new Date()[_0x4efc0d(0x165)](),await writeBffLockFile(_0x5bf1d8[_0x4efc0d(0x171)],_0x16ccb3),{'ok':_0x1c56b7[_0x4efc0d(0x14c)]===0x0,'data':{'pulled':_0x5df591,'skipped':_0x42a762,'failed':_0x1c56b7},'message':'Pull\x20complete:\x20'+_0x5df591[_0x4efc0d(0x14c)]+'\x20pulled,\x20'+_0x42a762['length']+_0x4efc0d(0x166)+_0x1c56b7['length']+_0x4efc0d(0x167)};}};async function hasUnsyncedLocalChanges(_0x151ec6,_0x27fd1e,_0x55f465){const _0x49fadb=a31_0x86375b;if(!await fileExists(_0x151ec6))return![];const _0x16cdf6=await computeFileHash(_0x151ec6);if(!_0x27fd1e)return _0x55f465?_0x16cdf6!==_0x55f465:!![];return _0x16cdf6!==_0x27fd1e[_0x49fadb(0x17d)];}function buildDatasetCodeToAliasMap(_0x1897b5,_0x2efa76){const _0x5f3f38=a31_0x86375b,_0x4b2b18=loadAliasMap(_0x1897b5,undefined,resolveApiFilePath(_0x1897b5,_0x2efa76));return new Map(_0x4b2b18['map'](_0xc284f8=>[_0xc284f8[_0x5f3f38(0x17c)],_0xc284f8[_0x5f3f38(0x177)]]));}async function confirmForce(){const _0x5cb789=a31_0x86375b,_0x1315ea=createInterface({'input':process['stdin'],'output':process['stderr']}),_0x456966=await new Promise(_0x3a45c4=>{const _0x4e2125=a31_0x2d48;_0x1315ea[_0x4e2125(0x13e)](_0x4e2125(0x153),_0x3a45c4);});return _0x1315ea[_0x5cb789(0x148)](),['y',_0x5cb789(0x140)]['includes'](_0x456966['trim']()[_0x5cb789(0x16c)]());}
@@ -1 +1 @@
1
- const a32_0x1e9e00=a32_0x3956;(function(_0x23e373,_0x29d117){const _0x11ede6=a32_0x3956,_0x3d2b68=_0x23e373();while(!![]){try{const _0x532715=parseInt(_0x11ede6(0xaa))/0x1+parseInt(_0x11ede6(0x83))/0x2+-parseInt(_0x11ede6(0x97))/0x3*(parseInt(_0x11ede6(0xa1))/0x4)+parseInt(_0x11ede6(0xb8))/0x5+-parseInt(_0x11ede6(0xa4))/0x6+parseInt(_0x11ede6(0x9c))/0x7*(-parseInt(_0x11ede6(0xa2))/0x8)+-parseInt(_0x11ede6(0x8b))/0x9*(-parseInt(_0x11ede6(0x7e))/0xa);if(_0x532715===_0x29d117)break;else _0x3d2b68['push'](_0x3d2b68['shift']());}catch(_0x4761){_0x3d2b68['push'](_0x3d2b68['shift']());}}}(a32_0x3fdf,0x3273a));function a32_0x3fdf(){const _0x52dd6c=['3397887ZBEDZs','datasetCodeToId','remoteId','\x22\x20not\x20found\x20after\x20ensureLockScope.','Cannot\x20resolve\x20dataset\x20for\x20\x22','scriptsRoot','/api/management/library/scripts/save','validation','length','\x20api\x20pull`\x20to\x20refresh\x20api.ts,\x20or\x20verify\x20the\x20dataset\x20exists.','Incomplete\x20HOOK\x20path:\x20','lockKey','569949YkGrRg','appCode','datasetId','description','aliasToDatasetCode','917707gAcPcn','lockFilePath','\x20failed,\x20','runtime\x20cache\x20cleared','attempted','8xOTJsQ','24jecjcj','Run\x20`','850332acieio','string','push','apps','boolean','create','142700DvxIiX','alias','ENDPOINT','some','functions','script','\x22.\x20','toISOString','set','name','bff','join','type','get','1779315RPiItC','has','datasetCode','bool','No\x20local\x20BFF\x20functions\x20found.','Force\x20push\x20ignoring\x20hash\x20protection','\x20local\x20BFF\x20script(s)\x20for\x20push\x20and\x20clear\x20runtime\x20cache\x20if\x20files\x20are\x20uploaded','filePath','force','Lock\x20scope\x20for\x20app\x20\x22','Local\x20function\x20not\x20found:\x20','map','update','functionNode','apiDir','runtime\x20cache\x20not\x20needed','Push\x20only\x20this\x20script\x20type','hash','\x20uploaded,\x20','version','operationType','unchanged','code','10jzMTpP','Push\x20local\x20BFF\x20scripts\x20to\x20remote','Lock\x20file\x20not\x20settled\x20after\x20push\x20for\x20','message','would_push','491070xrATLO','Push\x20only\x20the\x20named\x20function\x20(requires\x20--type)','values','HOOK','cleared','str','lastSync','status'];a32_0x3fdf=function(){return _0x52dd6c;};return a32_0x3fdf();}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';const CACHE_CLEAR_ATTEMPTS=0x2,CACHE_CLEAR_INTERVAL_MS=0x12c;function a32_0x3956(_0x4b9cc1,_0x3f71f2){_0x4b9cc1=_0x4b9cc1-0x6a;const _0x3fdf23=a32_0x3fdf();let _0x395611=_0x3fdf23[_0x4b9cc1];return _0x395611;}export const bffPush={'service':a32_0x1e9e00(0xb4),'command':a32_0x1e9e00(0xa6),'description':a32_0x1e9e00(0x7f),'risk':'high-risk-write','flags':[{'name':'type','type':a32_0x1e9e00(0xa5),'description':a32_0x1e9e00(0x77),'enum':['COMMON',a32_0x1e9e00(0xac),a32_0x1e9e00(0x86)]},{'name':a32_0x1e9e00(0xb3),'type':a32_0x1e9e00(0xa5),'description':a32_0x1e9e00(0x84)},{'name':a32_0x1e9e00(0x6f),'type':a32_0x1e9e00(0xa8),'description':a32_0x1e9e00(0x6c)}],async 'dryRun'(_0x3a4888){const _0x2be20b=a32_0x1e9e00,_0x534a31=loadBffProjectConfig(_0x3a4888[_0x2be20b(0x98)]),_0x42b350=await readBffLockFile(_0x534a31['lockFilePath']),{appLock:_0x5abcdf}=ensureLockScope(_0x42b350??createEmptyBffLock(),_0x3a4888['appCode'],_0x534a31['scriptsRoot'],'push'),_0x794a05=await getTargetFunctions(_0x534a31,_0x3a4888),_0x56d3ad=_0x3a4888['bool'](_0x2be20b(0x6f)),_0x50a645=[];for(const _0x4ca6ab of _0x794a05){const _0x25a3dc=await computeFileHash(_0x4ca6ab['filePath']),_0x4042ab=_0x5abcdf[_0x2be20b(0xae)][_0x4ca6ab[_0x2be20b(0x96)]],_0x3ccf58=!!_0x4042ab&&_0x4042ab[_0x2be20b(0x78)]===_0x25a3dc;_0x50a645['push']({'lockKey':_0x4ca6ab['lockKey'],'filePath':_0x4ca6ab['filePath'],'remoteId':_0x4042ab?.['remoteId']??null,'mode':_0x4042ab?.['remoteId']?_0x2be20b(0x73):_0x2be20b(0xa9),'status':!_0x56d3ad&&_0x3ccf58?_0x2be20b(0x7c):_0x2be20b(0x82)});}return{'method':'POST','url':_0x2be20b(0x91),'body':{'appCode':_0x3a4888[_0x2be20b(0x98)],'force':_0x56d3ad,'files':_0x50a645,'cacheClearAtRuntime':_0x50a645['some'](_0x15aa99=>_0x15aa99[_0x2be20b(0x8a)]===_0x2be20b(0x82)),'cacheClearAtRuntimeTimes':_0x50a645[_0x2be20b(0xad)](_0x410364=>_0x410364[_0x2be20b(0x8a)]===_0x2be20b(0x82))?CACHE_CLEAR_ATTEMPTS:0x0},'description':'Would\x20inspect\x20'+_0x50a645[_0x2be20b(0x93)]+_0x2be20b(0x6d)};},async 'execute'(_0x321521){const _0x1511d6=a32_0x1e9e00,_0x5779fc=loadBffProjectConfig(_0x321521[_0x1511d6(0x98)]),_0x2b80ba=await readBffLockFile(_0x5779fc['lockFilePath']),{lockData:_0x1ca862,appLock:_0x3cb50e}=ensureLockScope(_0x2b80ba??createEmptyBffLock(),_0x321521[_0x1511d6(0x98)],_0x5779fc[_0x1511d6(0x90)],_0x1511d6(0xa6)),_0x33bc3b=await getTargetFunctions(_0x5779fc,_0x321521);if(_0x33bc3b[_0x1511d6(0x93)]===0x0)return{'ok':!![],'data':{'uploaded':[],'skipped':[],'failed':[]},'message':_0x1511d6(0x6b)};const _0x32244f=_0x321521[_0x1511d6(0x6a)](_0x1511d6(0x6f)),_0x527abd=JSON['parse'](JSON['stringify'](_0x1ca862)),_0x1f9d2d=_0x527abd[_0x1511d6(0xa7)][_0x321521[_0x1511d6(0x98)]];if(!_0x1f9d2d)throw new Error(_0x1511d6(0x70)+_0x321521[_0x1511d6(0x98)]+_0x1511d6(0x8e));const _0x826f95=await buildHookMaps(_0x321521['appCode'],_0x321521[_0x1511d6(0x75)],_0x33bc3b,_0x1f9d2d),_0x60e621=[],_0x1807f5=[],_0x28d771=[];for(const _0x5933a5 of _0x33bc3b){const _0x5f17c=await computeFileHash(_0x5933a5[_0x1511d6(0x6e)]),_0x371aef=_0x1f9d2d['functions'][_0x5933a5[_0x1511d6(0x96)]];if(!_0x32244f&&_0x371aef&&_0x371aef[_0x1511d6(0x78)]===_0x5f17c){_0x1807f5[_0x1511d6(0xa6)]({'lockKey':_0x5933a5[_0x1511d6(0x96)],'reason':_0x1511d6(0x7c)});continue;}try{await uploadSingleFunction(_0x321521['appCode'],_0x5933a5,_0x1f9d2d,_0x826f95);const _0x3e3654=_0x1f9d2d[_0x1511d6(0xae)][_0x5933a5[_0x1511d6(0x96)]];_0x60e621[_0x1511d6(0xa6)]({'lockKey':_0x5933a5[_0x1511d6(0x96)],'remoteId':_0x3e3654?.[_0x1511d6(0x8d)]??0x0});}catch(_0xa29083){_0x28d771['push']({'lockKey':_0x5933a5[_0x1511d6(0x96)],'error':_0xa29083 instanceof Error?_0xa29083[_0x1511d6(0x81)]:String(_0xa29083)});}}_0x1f9d2d[_0x1511d6(0x89)]=new Date()[_0x1511d6(0xb1)](),await writeBffLockFile(_0x5779fc[_0x1511d6(0x9d)],_0x527abd),await waitForUploadedLockEntries(_0x5779fc[_0x1511d6(0x9d)],_0x321521[_0x1511d6(0x98)],_0x60e621['map'](_0x16afd8=>_0x16afd8[_0x1511d6(0x96)]));let _0x20a6c2={'attempted':![],'cleared':![]};if(_0x60e621[_0x1511d6(0x93)]>0x0)try{let _0x4acf8d='';for(let _0x32fc75=0x0;_0x32fc75<CACHE_CLEAR_ATTEMPTS;_0x32fc75+=0x1){_0x4acf8d=await clearBffScriptCache(),_0x32fc75<CACHE_CLEAR_ATTEMPTS-0x1&&await sleep(CACHE_CLEAR_INTERVAL_MS);}_0x20a6c2={'attempted':!![],'cleared':!![],'message':_0x4acf8d||'Runtime\x20script\x20cache\x20cleared.'};}catch(_0x29b613){_0x20a6c2={'attempted':!![],'cleared':![],'error':_0x29b613 instanceof Error?_0x29b613[_0x1511d6(0x81)]:String(_0x29b613)};}const _0x45a6bb=_0x28d771['length']===0x0&&(_0x20a6c2[_0x1511d6(0xa0)]?_0x20a6c2['cleared']:!![]),_0x14f75a=_0x20a6c2['attempted']?_0x20a6c2[_0x1511d6(0x87)]?_0x1511d6(0x9f):'runtime\x20cache\x20clear\x20failed':_0x1511d6(0x76);return{'ok':_0x45a6bb,'data':{'uploaded':_0x60e621,'skipped':_0x1807f5,'failed':_0x28d771,'cacheClear':_0x20a6c2},'message':'Push\x20complete:\x20'+_0x60e621[_0x1511d6(0x93)]+_0x1511d6(0x79)+_0x1807f5[_0x1511d6(0x93)]+'\x20skipped,\x20'+_0x28d771[_0x1511d6(0x93)]+_0x1511d6(0x9e)+_0x14f75a};}};async function getTargetFunctions(_0x477d55,_0x17bc1f){const _0x530f2b=a32_0x1e9e00,_0x492eea=_0x17bc1f[_0x530f2b(0x88)](_0x530f2b(0xb6)),_0x3aecf1=_0x17bc1f[_0x530f2b(0x88)](_0x530f2b(0xb3)),_0x49861a=normalizeBffType(_0x492eea)??undefined;if(_0x3aecf1&&!_0x49861a)throw CliErrors[_0x530f2b(0x92)]('--name\x20requires\x20--type\x20to\x20identify\x20the\x20function.');const _0xbe9110=await scanLocalBffFunctions(_0x477d55,_0x49861a);if(_0x3aecf1){const _0x5109d4=_0xbe9110['filter'](_0x4c679d=>_0x4c679d[_0x530f2b(0xb3)]===_0x3aecf1);if(_0x5109d4['length']===0x0)throw CliErrors[_0x530f2b(0x92)](_0x530f2b(0x71)+_0x49861a+'/'+_0x3aecf1);return _0x5109d4;}return _0xbe9110;}async function buildHookMaps(_0x51e64d,_0x28de5a,_0x355460,_0x53c3f7){const _0x3fc150=a32_0x1e9e00,_0x407040=_0x355460['some'](_0x2d1cb1=>_0x2d1cb1[_0x3fc150(0xb6)]===_0x3fc150(0x86));if(!_0x407040)return{'aliasToDatasetCode':new Map(),'datasetCodeToId':new Map()};const _0x3606ef=loadAliasMap(_0x28de5a,undefined,resolveApiFilePath(_0x28de5a,_0x51e64d)),_0x116ddb=new Map(_0x3606ef['map'](_0x4b18b1=>[_0x4b18b1[_0x3fc150(0xab)],_0x4b18b1[_0x3fc150(0xba)]]));for(const _0x5e00d7 of Object[_0x3fc150(0x85)](_0x53c3f7[_0x3fc150(0xae)])){_0x5e00d7['alias']&&_0x5e00d7[_0x3fc150(0xba)]&&!_0x116ddb[_0x3fc150(0xb9)](_0x5e00d7['alias'])&&_0x116ddb[_0x3fc150(0xb2)](_0x5e00d7[_0x3fc150(0xab)],_0x5e00d7['datasetCode']);}const _0x31a42e=await listDatasets(_0x51e64d),_0x436df2=new Map(_0x31a42e[_0x3fc150(0x72)](_0x484025=>[_0x484025[_0x3fc150(0x7d)],_0x484025['id']]));return{'aliasToDatasetCode':_0x116ddb,'datasetCodeToId':_0x436df2};}async function uploadSingleFunction(_0x4f3041,_0x370b95,_0xd7ff69,_0x38d650){const _0x26a656=a32_0x1e9e00,_0x2e2c2f=await readFile(_0x370b95[_0x26a656(0x6e)],'utf8'),_0x535e62=await computeFileHash(_0x370b95[_0x26a656(0x6e)]),_0x2209af=_0xd7ff69[_0x26a656(0xae)][_0x370b95[_0x26a656(0x96)]];if(_0x2209af?.['remoteId']&&_0x2209af[_0x26a656(0x7a)]==null)throw CliErrors[_0x26a656(0x92)](_0x370b95[_0x26a656(0x96)]+':\x20missing\x20remote\x20version.\x20Run\x20`push`\x20after\x20`pull`\x20to\x20sync\x20version\x20info.');let _0x3c37db=extractScriptDescription(_0x2e2c2f);if(!_0x3c37db&&_0x2209af?.[_0x26a656(0x8d)]){const _0x462cd3=await getBffScriptInfo(_0x2209af[_0x26a656(0x8d)]);_0x3c37db=_0x462cd3[_0x26a656(0x9a)]||undefined;}const _0x535646={'appCode':_0x4f3041,'functionName':_0x370b95[_0x26a656(0xb3)],'scriptType':_0x370b95[_0x26a656(0xb6)],'scriptContent':_0x2e2c2f};if(_0x2209af?.[_0x26a656(0x8d)])_0x535646['id']=_0x2209af[_0x26a656(0x8d)];if(_0x2209af?.[_0x26a656(0x7a)]!=null)_0x535646['version']=_0x2209af['version'];if(_0x3c37db)_0x535646['description']=_0x3c37db;if(_0x370b95[_0x26a656(0xb6)]===_0x26a656(0x86)){const _0x2789d6=_0x370b95[_0x26a656(0xab)];if(!_0x2789d6||!_0x370b95['operationType']||!_0x370b95[_0x26a656(0x74)])throw CliErrors[_0x26a656(0x92)](_0x26a656(0x95)+_0x370b95[_0x26a656(0x96)]);const _0x2f1882=_0x38d650[_0x26a656(0x9b)]['get'](_0x2789d6)??_0x2209af?.['datasetCode']??_0x2789d6,_0x145595=_0x38d650[_0x26a656(0x8c)][_0x26a656(0xb7)](_0x2f1882);if(!_0x145595)throw CliErrors[_0x26a656(0x92)](_0x26a656(0x8f)+_0x2789d6+_0x26a656(0xb0)+(_0x26a656(0xa3)+CLI_BIN_NAME+_0x26a656(0x94)));_0x535646[_0x26a656(0x99)]=_0x145595,_0x535646[_0x26a656(0x7b)]=_0x370b95[_0x26a656(0x7b)],_0x535646[_0x26a656(0x74)]=_0x370b95[_0x26a656(0x74)];}const _0x59002f=await saveBffScript(_0x535646),_0x36afb7=_0x59002f['id'],_0x3a0841=_0x59002f[_0x26a656(0xaf)]??await getBffScriptInfo(_0x36afb7),_0x2fa65c={'hash':_0x535e62,'remoteId':_0x36afb7,'version':_0x3a0841[_0x26a656(0x7a)]};if(_0x370b95[_0x26a656(0xb6)]===_0x26a656(0x86)){const _0x3fc79e=_0x370b95[_0x26a656(0xab)],_0xeee1b2=_0x38d650[_0x26a656(0x9b)]['get'](_0x3fc79e)??_0x2209af?.[_0x26a656(0xba)]??_0x3fc79e;_0x38d650[_0x26a656(0x9b)]['has'](_0x3fc79e)?_0x2fa65c['alias']=_0x3fc79e:_0x2fa65c[_0x26a656(0xab)]=_0x2209af?.[_0x26a656(0xab)],_0x2fa65c[_0x26a656(0xba)]=_0xeee1b2,_0x2fa65c['operationType']=_0x370b95[_0x26a656(0x7b)],_0x2fa65c[_0x26a656(0x74)]=_0x370b95['functionNode'];}_0xd7ff69['functions'][_0x370b95[_0x26a656(0x96)]]=_0x2fa65c;}const LOCK_SETTLE_RETRY_COUNT=0x14,LOCK_SETTLE_DELAY_MS=0x64;async function waitForUploadedLockEntries(_0x13c5f4,_0x1f23dc,_0x24fdd2){const _0x13e790=a32_0x1e9e00;if(_0x24fdd2['length']===0x0)return;for(let _0x1bd90f=0x0;_0x1bd90f<LOCK_SETTLE_RETRY_COUNT;_0x1bd90f+=0x1){const _0x143229=await readBffLockFile(_0x13c5f4),_0x1e7dd1=_0x143229?.[_0x13e790(0xa7)]?.[_0x1f23dc]?.[_0x13e790(0xae)]??{},_0xbf824e=_0x24fdd2['every'](_0x30e250=>!!_0x1e7dd1[_0x30e250]?.[_0x13e790(0x8d)]);if(_0xbf824e)return;await sleep(LOCK_SETTLE_DELAY_MS);}throw new Error(_0x13e790(0x80)+_0x24fdd2[_0x13e790(0xb5)](',\x20')+'.');}
1
+ const a32_0x3d0620=a32_0x2d6a;(function(_0x4eb1e0,_0x20a1da){const _0x5e9f54=a32_0x2d6a,_0x53c77b=_0x4eb1e0();while(!![]){try{const _0x3274ca=-parseInt(_0x5e9f54(0xa3))/0x1*(-parseInt(_0x5e9f54(0xdc))/0x2)+parseInt(_0x5e9f54(0xba))/0x3+parseInt(_0x5e9f54(0xcb))/0x4+parseInt(_0x5e9f54(0xd8))/0x5*(parseInt(_0x5e9f54(0xb2))/0x6)+-parseInt(_0x5e9f54(0xa5))/0x7*(-parseInt(_0x5e9f54(0xcd))/0x8)+parseInt(_0x5e9f54(0xe2))/0x9+-parseInt(_0x5e9f54(0xc3))/0xa*(parseInt(_0x5e9f54(0xc7))/0xb);if(_0x3274ca===_0x20a1da)break;else _0x53c77b['push'](_0x53c77b['shift']());}catch(_0x1f924d){_0x53c77b['push'](_0x53c77b['shift']());}}}(a32_0xb7a1,0xd67dd));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';function a32_0xb7a1(){const _0x45121e=['update','functionNode','1851zhXigk','cleared','965755RLzORr','operationType','join','length','push','bool','create','\x20api\x20pull`\x20to\x20refresh\x20api.ts,\x20or\x20verify\x20the\x20dataset\x20exists.','map','unchanged','datasetCodeToId','message','apiDir','24QyyamR','Run\x20`','COMMON','functions','name','alias','remoteId','appCode','1821486rQEoNU','Push\x20only\x20the\x20named\x20function\x20(requires\x20--type)','version','datasetId','force','runtime\x20cache\x20cleared','some','datasetCode','description','161030jfHIAu','Force\x20push\x20ignoring\x20hash\x20protection','type','runtime\x20cache\x20clear\x20failed','3839JKrLfb','utf8','set','Incomplete\x20HOOK\x20path:\x20','6715096RdoHyg','has','88QKGSNz','str','aliasToDatasetCode','Cannot\x20resolve\x20dataset\x20for\x20\x22','scriptsRoot','Push\x20only\x20this\x20script\x20type','Lock\x20file\x20not\x20settled\x20after\x20push\x20for\x20','filePath','lastSync','get','lockKey','798110oEWzWq','Lock\x20scope\x20for\x20app\x20\x22','runtime\x20cache\x20not\x20needed',':\x20missing\x20remote\x20version.\x20Run\x20`push`\x20after\x20`pull`\x20to\x20sync\x20version\x20info.','1436KMUTLe','attempted','/api/management/library/scripts/save','apps','values','\x20local\x20BFF\x20script(s)\x20for\x20push\x20and\x20clear\x20runtime\x20cache\x20if\x20files\x20are\x20uploaded','6547023jhTroG','Would\x20inspect\x20','status','Runtime\x20script\x20cache\x20cleared.','hash','HOOK','filter','\x22\x20not\x20found\x20after\x20ensureLockScope.','Local\x20function\x20not\x20found:\x20','string','would_push','\x20uploaded,\x20','stringify','POST','lockFilePath','validation','every','No\x20local\x20BFF\x20functions\x20found.'];a32_0xb7a1=function(){return _0x45121e;};return a32_0xb7a1();}import{loadBffProjectConfig}from'../../core/bff/config.js';import{normalizeBffType,scanLocalBffFunctions}from'../../core/bff/file-system.js';import{computeFileHash}from'../../core/bff/hash.js';import{createEmptyBffLock,ensureLockScope,readBffLockFile,writeBffLockFile}from'../../core/bff/lock.js';import{extractScriptDescription}from'../../core/bff/utils.js';import{sleep}from'../../utils/sleep.js';import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';const CACHE_CLEAR_ATTEMPTS=0x2,CACHE_CLEAR_INTERVAL_MS=0x12c;export const bffPush={'service':'bff','command':a32_0x3d0620(0xa9),'description':'Push\x20local\x20BFF\x20scripts\x20to\x20remote','risk':'high-risk-write','flags':[{'name':a32_0x3d0620(0xc5),'type':a32_0x3d0620(0x98),'description':a32_0x3d0620(0xd2),'enum':[a32_0x3d0620(0xb4),'ENDPOINT',a32_0x3d0620(0xe7)]},{'name':a32_0x3d0620(0xb6),'type':a32_0x3d0620(0x98),'description':a32_0x3d0620(0xbb)},{'name':a32_0x3d0620(0xbe),'type':'boolean','description':a32_0x3d0620(0xc4)}],async 'dryRun'(_0x14d35a){const _0x50fec0=a32_0x3d0620,_0xed2677=loadBffProjectConfig(_0x14d35a[_0x50fec0(0xb9)]),_0x3a9389=await readBffLockFile(_0xed2677[_0x50fec0(0x9d)]),{appLock:_0x3a95b7}=ensureLockScope(_0x3a9389??createEmptyBffLock(),_0x14d35a[_0x50fec0(0xb9)],_0xed2677[_0x50fec0(0xd1)],_0x50fec0(0xa9)),_0x422148=await getTargetFunctions(_0xed2677,_0x14d35a),_0x5431e3=_0x14d35a[_0x50fec0(0xaa)](_0x50fec0(0xbe)),_0x55753f=[];for(const _0x4e2a22 of _0x422148){const _0x122211=await computeFileHash(_0x4e2a22[_0x50fec0(0xd4)]),_0x483bab=_0x3a95b7['functions'][_0x4e2a22[_0x50fec0(0xd7)]],_0x5c0fdb=!!_0x483bab&&_0x483bab[_0x50fec0(0xe6)]===_0x122211;_0x55753f[_0x50fec0(0xa9)]({'lockKey':_0x4e2a22[_0x50fec0(0xd7)],'filePath':_0x4e2a22[_0x50fec0(0xd4)],'remoteId':_0x483bab?.[_0x50fec0(0xb8)]??null,'mode':_0x483bab?.['remoteId']?_0x50fec0(0xa1):_0x50fec0(0xab),'status':!_0x5431e3&&_0x5c0fdb?_0x50fec0(0xae):_0x50fec0(0x99)});}return{'method':_0x50fec0(0x9c),'url':_0x50fec0(0xde),'body':{'appCode':_0x14d35a[_0x50fec0(0xb9)],'force':_0x5431e3,'files':_0x55753f,'cacheClearAtRuntime':_0x55753f[_0x50fec0(0xc0)](_0x611923=>_0x611923['status']===_0x50fec0(0x99)),'cacheClearAtRuntimeTimes':_0x55753f[_0x50fec0(0xc0)](_0xb282f5=>_0xb282f5[_0x50fec0(0xe4)]===_0x50fec0(0x99))?CACHE_CLEAR_ATTEMPTS:0x0},'description':_0x50fec0(0xe3)+_0x55753f[_0x50fec0(0xa8)]+_0x50fec0(0xe1)};},async 'execute'(_0x1bf508){const _0x28c2e9=a32_0x3d0620,_0xe34f49=loadBffProjectConfig(_0x1bf508['appCode']),_0x319b12=await readBffLockFile(_0xe34f49['lockFilePath']),{lockData:_0x35d3fe,appLock:_0x5831a7}=ensureLockScope(_0x319b12??createEmptyBffLock(),_0x1bf508['appCode'],_0xe34f49[_0x28c2e9(0xd1)],_0x28c2e9(0xa9)),_0x540d4a=await getTargetFunctions(_0xe34f49,_0x1bf508);if(_0x540d4a[_0x28c2e9(0xa8)]===0x0)return{'ok':!![],'data':{'uploaded':[],'skipped':[],'failed':[]},'message':_0x28c2e9(0xa0)};const _0x5bd023=_0x1bf508['bool']('force'),_0x32a887=JSON['parse'](JSON[_0x28c2e9(0x9b)](_0x35d3fe)),_0x442c6c=_0x32a887[_0x28c2e9(0xdf)][_0x1bf508[_0x28c2e9(0xb9)]];if(!_0x442c6c)throw new Error(_0x28c2e9(0xd9)+_0x1bf508['appCode']+_0x28c2e9(0xe9));const _0x24c641=await buildHookMaps(_0x1bf508[_0x28c2e9(0xb9)],_0x1bf508[_0x28c2e9(0xb1)],_0x540d4a,_0x442c6c),_0x5074f9=[],_0x3dea2c=[],_0x99c277=[];for(const _0x34bcba of _0x540d4a){const _0xf4c282=await computeFileHash(_0x34bcba[_0x28c2e9(0xd4)]),_0x5a08c6=_0x442c6c[_0x28c2e9(0xb5)][_0x34bcba['lockKey']];if(!_0x5bd023&&_0x5a08c6&&_0x5a08c6[_0x28c2e9(0xe6)]===_0xf4c282){_0x3dea2c[_0x28c2e9(0xa9)]({'lockKey':_0x34bcba[_0x28c2e9(0xd7)],'reason':'unchanged'});continue;}try{await uploadSingleFunction(_0x1bf508[_0x28c2e9(0xb9)],_0x34bcba,_0x442c6c,_0x24c641);const _0x150c98=_0x442c6c[_0x28c2e9(0xb5)][_0x34bcba[_0x28c2e9(0xd7)]];_0x5074f9[_0x28c2e9(0xa9)]({'lockKey':_0x34bcba[_0x28c2e9(0xd7)],'remoteId':_0x150c98?.[_0x28c2e9(0xb8)]??0x0});}catch(_0xc8e07d){_0x99c277['push']({'lockKey':_0x34bcba[_0x28c2e9(0xd7)],'error':_0xc8e07d instanceof Error?_0xc8e07d[_0x28c2e9(0xb0)]:String(_0xc8e07d)});}}_0x442c6c[_0x28c2e9(0xd5)]=new Date()['toISOString'](),await writeBffLockFile(_0xe34f49[_0x28c2e9(0x9d)],_0x32a887),await waitForUploadedLockEntries(_0xe34f49[_0x28c2e9(0x9d)],_0x1bf508[_0x28c2e9(0xb9)],_0x5074f9[_0x28c2e9(0xad)](_0x347508=>_0x347508['lockKey']));let _0x328e9e={'attempted':![],'cleared':![]};if(_0x5074f9[_0x28c2e9(0xa8)]>0x0)try{let _0x6a9229='';for(let _0x3748ea=0x0;_0x3748ea<CACHE_CLEAR_ATTEMPTS;_0x3748ea+=0x1){_0x6a9229=await clearBffScriptCache(),_0x3748ea<CACHE_CLEAR_ATTEMPTS-0x1&&await sleep(CACHE_CLEAR_INTERVAL_MS);}_0x328e9e={'attempted':!![],'cleared':!![],'message':_0x6a9229||_0x28c2e9(0xe5)};}catch(_0x2b7db1){_0x328e9e={'attempted':!![],'cleared':![],'error':_0x2b7db1 instanceof Error?_0x2b7db1[_0x28c2e9(0xb0)]:String(_0x2b7db1)};}const _0x3d653b=_0x99c277[_0x28c2e9(0xa8)]===0x0&&(_0x328e9e[_0x28c2e9(0xdd)]?_0x328e9e[_0x28c2e9(0xa4)]:!![]),_0x21c9e0=_0x328e9e['attempted']?_0x328e9e[_0x28c2e9(0xa4)]?_0x28c2e9(0xbf):_0x28c2e9(0xc6):_0x28c2e9(0xda);return{'ok':_0x3d653b,'data':{'uploaded':_0x5074f9,'skipped':_0x3dea2c,'failed':_0x99c277,'cacheClear':_0x328e9e},'message':'Push\x20complete:\x20'+_0x5074f9[_0x28c2e9(0xa8)]+_0x28c2e9(0x9a)+_0x3dea2c[_0x28c2e9(0xa8)]+'\x20skipped,\x20'+_0x99c277['length']+'\x20failed,\x20'+_0x21c9e0};}};function a32_0x2d6a(_0x30a880,_0x1bce40){_0x30a880=_0x30a880-0x97;const _0xb7a1d5=a32_0xb7a1();let _0x2d6a30=_0xb7a1d5[_0x30a880];return _0x2d6a30;}async function getTargetFunctions(_0x181b75,_0x73cbe7){const _0x4f5348=a32_0x3d0620,_0x4c0f6d=_0x73cbe7['str'](_0x4f5348(0xc5)),_0x180723=_0x73cbe7[_0x4f5348(0xce)](_0x4f5348(0xb6)),_0x202757=normalizeBffType(_0x4c0f6d)??undefined;if(_0x180723&&!_0x202757)throw CliErrors[_0x4f5348(0x9e)]('--name\x20requires\x20--type\x20to\x20identify\x20the\x20function.');const _0x52be6c=await scanLocalBffFunctions(_0x181b75,_0x202757);if(_0x180723){const _0x4b3fd9=_0x52be6c[_0x4f5348(0xe8)](_0x4ab877=>_0x4ab877['name']===_0x180723);if(_0x4b3fd9[_0x4f5348(0xa8)]===0x0)throw CliErrors['validation'](_0x4f5348(0x97)+_0x202757+'/'+_0x180723);return _0x4b3fd9;}return _0x52be6c;}async function buildHookMaps(_0x10dcf6,_0x2435ba,_0xe81584,_0x32adca){const _0x43dd73=a32_0x3d0620,_0x4fcd0b=_0xe81584[_0x43dd73(0xc0)](_0x2178e0=>_0x2178e0[_0x43dd73(0xc5)]===_0x43dd73(0xe7));if(!_0x4fcd0b)return{'aliasToDatasetCode':new Map(),'datasetCodeToId':new Map()};const _0x59f387=loadAliasMap(_0x2435ba,undefined,resolveApiFilePath(_0x2435ba,_0x10dcf6)),_0x3c84a2=new Map(_0x59f387[_0x43dd73(0xad)](_0x4aaaec=>[_0x4aaaec[_0x43dd73(0xb7)],_0x4aaaec[_0x43dd73(0xc1)]]));for(const _0x2e4b93 of Object[_0x43dd73(0xe0)](_0x32adca[_0x43dd73(0xb5)])){_0x2e4b93['alias']&&_0x2e4b93['datasetCode']&&!_0x3c84a2[_0x43dd73(0xcc)](_0x2e4b93[_0x43dd73(0xb7)])&&_0x3c84a2[_0x43dd73(0xc9)](_0x2e4b93[_0x43dd73(0xb7)],_0x2e4b93[_0x43dd73(0xc1)]);}const _0x205516=await listDatasets(_0x10dcf6),_0x5b8e3f=new Map(_0x205516[_0x43dd73(0xad)](_0x5bde05=>[_0x5bde05['code'],_0x5bde05['id']]));return{'aliasToDatasetCode':_0x3c84a2,'datasetCodeToId':_0x5b8e3f};}async function uploadSingleFunction(_0x43de31,_0x2d2919,_0x17dd4d,_0x157547){const _0x312684=a32_0x3d0620,_0x539e01=await readFile(_0x2d2919['filePath'],_0x312684(0xc8)),_0x1b0666=await computeFileHash(_0x2d2919[_0x312684(0xd4)]),_0x1f1d5f=_0x17dd4d['functions'][_0x2d2919[_0x312684(0xd7)]];if(_0x1f1d5f?.[_0x312684(0xb8)]&&_0x1f1d5f[_0x312684(0xbc)]==null)throw CliErrors[_0x312684(0x9e)](_0x2d2919[_0x312684(0xd7)]+_0x312684(0xdb));let _0x501f03=extractScriptDescription(_0x539e01);if(!_0x501f03&&_0x1f1d5f?.[_0x312684(0xb8)]){const _0x3bdc55=await getBffScriptInfo(_0x1f1d5f[_0x312684(0xb8)]);_0x501f03=_0x3bdc55[_0x312684(0xc2)]||undefined;}const _0x1c8ec4={'appCode':_0x43de31,'functionName':_0x2d2919[_0x312684(0xb6)],'scriptType':_0x2d2919[_0x312684(0xc5)],'scriptContent':_0x539e01};if(_0x1f1d5f?.[_0x312684(0xb8)])_0x1c8ec4['id']=_0x1f1d5f['remoteId'];if(_0x1f1d5f?.[_0x312684(0xbc)]!=null)_0x1c8ec4[_0x312684(0xbc)]=_0x1f1d5f[_0x312684(0xbc)];if(_0x501f03)_0x1c8ec4[_0x312684(0xc2)]=_0x501f03;if(_0x2d2919[_0x312684(0xc5)]===_0x312684(0xe7)){const _0x557b9f=_0x2d2919[_0x312684(0xb7)];if(!_0x557b9f||!_0x2d2919[_0x312684(0xa6)]||!_0x2d2919[_0x312684(0xa2)])throw CliErrors[_0x312684(0x9e)](_0x312684(0xca)+_0x2d2919['lockKey']);const _0x3bbc1d=_0x157547[_0x312684(0xcf)][_0x312684(0xd6)](_0x557b9f)??_0x1f1d5f?.[_0x312684(0xc1)]??_0x557b9f,_0x4cc6d2=_0x157547[_0x312684(0xaf)]['get'](_0x3bbc1d);if(!_0x4cc6d2)throw CliErrors[_0x312684(0x9e)](_0x312684(0xd0)+_0x557b9f+'\x22.\x20'+(_0x312684(0xb3)+CLI_BIN_NAME+_0x312684(0xac)));_0x1c8ec4[_0x312684(0xbd)]=_0x4cc6d2,_0x1c8ec4[_0x312684(0xa6)]=_0x2d2919['operationType'],_0x1c8ec4[_0x312684(0xa2)]=_0x2d2919[_0x312684(0xa2)];}const _0x46e06e=await saveBffScript(_0x1c8ec4),_0x3ce419=_0x46e06e['id'],_0x3e2b1d=_0x46e06e['script']??await getBffScriptInfo(_0x3ce419),_0x43f087={'hash':_0x1b0666,'remoteId':_0x3ce419,'version':_0x3e2b1d[_0x312684(0xbc)]};if(_0x2d2919[_0x312684(0xc5)]===_0x312684(0xe7)){const _0x4f3edc=_0x2d2919[_0x312684(0xb7)],_0x27c20d=_0x157547[_0x312684(0xcf)][_0x312684(0xd6)](_0x4f3edc)??_0x1f1d5f?.[_0x312684(0xc1)]??_0x4f3edc;_0x157547[_0x312684(0xcf)][_0x312684(0xcc)](_0x4f3edc)?_0x43f087['alias']=_0x4f3edc:_0x43f087[_0x312684(0xb7)]=_0x1f1d5f?.[_0x312684(0xb7)],_0x43f087['datasetCode']=_0x27c20d,_0x43f087['operationType']=_0x2d2919[_0x312684(0xa6)],_0x43f087[_0x312684(0xa2)]=_0x2d2919['functionNode'];}_0x17dd4d[_0x312684(0xb5)][_0x2d2919[_0x312684(0xd7)]]=_0x43f087;}const LOCK_SETTLE_RETRY_COUNT=0x14,LOCK_SETTLE_DELAY_MS=0x64;async function waitForUploadedLockEntries(_0x2f3617,_0x1c8139,_0x47b879){const _0x388abf=a32_0x3d0620;if(_0x47b879[_0x388abf(0xa8)]===0x0)return;for(let _0x84e192=0x0;_0x84e192<LOCK_SETTLE_RETRY_COUNT;_0x84e192+=0x1){const _0x244814=await readBffLockFile(_0x2f3617),_0x246215=_0x244814?.[_0x388abf(0xdf)]?.[_0x1c8139]?.['functions']??{},_0x4028aa=_0x47b879[_0x388abf(0x9f)](_0x3a26d8=>!!_0x246215[_0x3a26d8]?.[_0x388abf(0xb8)]);if(_0x4028aa)return;await sleep(LOCK_SETTLE_DELAY_MS);}throw new Error(_0x388abf(0xd3)+_0x47b879[_0x388abf(0xa7)](',\x20')+'.');}