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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (205) hide show
  1. package/lib/api/api-doc.js +1 -1
  2. package/lib/api/fetch-model-list.js +1 -1
  3. package/lib/api/generate-api-file.js +1 -1
  4. package/lib/auth/auth-server-ui.js +1 -1
  5. package/lib/auth/auth-server.js +1 -1
  6. package/lib/auth/constant.js +1 -1
  7. package/lib/auth/get-cookie.js +1 -1
  8. package/lib/auth/get-session-user.js +1 -1
  9. package/lib/auth/is-session-valid.js +1 -1
  10. package/lib/auth/login-success-html.js +1 -1
  11. package/lib/auth/logout.js +1 -1
  12. package/lib/cli-flags.js +1 -1
  13. package/lib/cli.js +1 -1
  14. package/lib/commands/api/generate.js +1 -1
  15. package/lib/commands/api/index.js +1 -1
  16. package/lib/commands/api/list.js +1 -1
  17. package/lib/commands/api/pull.js +1 -1
  18. package/lib/commands/api/shared.js +1 -1
  19. package/lib/commands/app/add.js +1 -1
  20. package/lib/commands/app/discover.js +1 -1
  21. package/lib/commands/app/index.js +1 -1
  22. package/lib/commands/app/list.js +1 -1
  23. package/lib/commands/app/remove.js +1 -1
  24. package/lib/commands/app/shared.js +1 -1
  25. package/lib/commands/app/use.js +1 -1
  26. package/lib/commands/auth/index.js +1 -1
  27. package/lib/commands/bff/create.js +1 -1
  28. package/lib/commands/bff/delete.js +1 -1
  29. package/lib/commands/bff/detail.js +1 -1
  30. package/lib/commands/bff/index.js +1 -1
  31. package/lib/commands/bff/list.js +1 -1
  32. package/lib/commands/bff/pull.js +1 -1
  33. package/lib/commands/bff/push.js +1 -1
  34. package/lib/commands/bff/status.js +1 -1
  35. package/lib/commands/cli-update.js +1 -1
  36. package/lib/commands/codegen/index.js +1 -1
  37. package/lib/commands/codegen/sdk.js +1 -1
  38. package/lib/commands/codegen/sql.js +1 -1
  39. package/lib/commands/common/app-selector.js +1 -1
  40. package/lib/commands/common/flags.js +1 -1
  41. package/lib/commands/common/validate.js +1 -1
  42. package/lib/commands/config/get.js +1 -1
  43. package/lib/commands/config/index.js +1 -1
  44. package/lib/commands/config/list.js +1 -1
  45. package/lib/commands/config/set.js +1 -1
  46. package/lib/commands/config/shared.js +1 -1
  47. package/lib/commands/data/filter.js +1 -1
  48. package/lib/commands/data/getOne.js +1 -1
  49. package/lib/commands/data/index.js +1 -1
  50. package/lib/commands/data/shared.js +1 -1
  51. package/lib/commands/dataset/capability.js +1 -1
  52. package/lib/commands/dataset/delete.js +1 -1
  53. package/lib/commands/dataset/detail.js +1 -1
  54. package/lib/commands/dataset/extend-update.js +1 -1
  55. package/lib/commands/dataset/field-update.js +1 -1
  56. package/lib/commands/dataset/index.js +1 -1
  57. package/lib/commands/dataset/list.js +1 -1
  58. package/lib/commands/dataset/operations.js +1 -1
  59. package/lib/commands/dataset/relation-create.js +1 -1
  60. package/lib/commands/dataset/relation-delete.js +1 -1
  61. package/lib/commands/dataset/relation-shared.js +1 -1
  62. package/lib/commands/dataset/relation-update.js +1 -1
  63. package/lib/commands/dataset/relations.js +1 -1
  64. package/lib/commands/dataset/rename.js +1 -1
  65. package/lib/commands/db/analyze-cancel.js +1 -1
  66. package/lib/commands/db/analyze-start.js +1 -1
  67. package/lib/commands/db/analyze-status.js +1 -1
  68. package/lib/commands/db/create.js +1 -1
  69. package/lib/commands/db/delete.js +1 -1
  70. package/lib/commands/db/detail.js +1 -1
  71. package/lib/commands/db/diff.js +1 -1
  72. package/lib/commands/db/index.js +1 -1
  73. package/lib/commands/db/list.js +1 -1
  74. package/lib/commands/db/shared.js +1 -1
  75. package/lib/commands/db/tables.js +1 -1
  76. package/lib/commands/db/test.js +1 -1
  77. package/lib/commands/db/update.js +1 -1
  78. package/lib/commands/doctor.js +1 -1
  79. package/lib/commands/init/index.js +1 -1
  80. package/lib/commands/issue/index.js +1 -1
  81. package/lib/commands/issue/nudge.js +1 -1
  82. package/lib/commands/issue/report.js +1 -1
  83. package/lib/commands/issue/shared.js +1 -1
  84. package/lib/commands/logs/index.js +1 -1
  85. package/lib/commands/menu/index.js +1 -1
  86. package/lib/commands/menu/list.js +1 -1
  87. package/lib/commands/menu/shared/compare-table.js +1 -1
  88. package/lib/commands/menu/shared/index.js +1 -1
  89. package/lib/commands/menu/shared/inquirer.js +1 -1
  90. package/lib/commands/menu/shared/local-pages.js +1 -1
  91. package/lib/commands/menu/shared/logic.js +1 -1
  92. package/lib/commands/menu/shared/service.js +1 -1
  93. package/lib/commands/menu/shared/sync-core.js +1 -1
  94. package/lib/commands/menu/shared/update-core.js +1 -1
  95. package/lib/commands/menu/shared/valid-url.js +1 -1
  96. package/lib/commands/menu/sync.js +1 -1
  97. package/lib/commands/menu/update.js +1 -1
  98. package/lib/commands/page/generate-start.js +1 -1
  99. package/lib/commands/page/generate-status.js +1 -1
  100. package/lib/commands/page/index.js +1 -1
  101. package/lib/commands/page/pull.js +1 -1
  102. package/lib/commands/page/push.js +1 -1
  103. package/lib/commands/page/relation-audit.js +1 -1
  104. package/lib/commands/page/shared.js +1 -1
  105. package/lib/commands/page/standard-page-status.js +1 -1
  106. package/lib/commands/page/sync.js +1 -1
  107. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  108. package/lib/commands/project/create/format-elapsed.js +1 -1
  109. package/lib/commands/project/create/main.js +1 -1
  110. package/lib/commands/project/create/non-interactive.js +1 -1
  111. package/lib/commands/project/create/project-template-path.js +1 -1
  112. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  113. package/lib/commands/project/create/use-format-code.js +1 -1
  114. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  115. package/lib/commands/project/index.js +1 -1
  116. package/lib/commands/project/init.js +1 -1
  117. package/lib/commands/project/upgrade.js +1 -1
  118. package/lib/commands/registry.js +1 -1
  119. package/lib/commands/run/index.js +1 -1
  120. package/lib/commands/schema.js +1 -1
  121. package/lib/commands/skill/index.js +1 -1
  122. package/lib/commands/sql/create.js +1 -1
  123. package/lib/commands/sql/delete.js +1 -1
  124. package/lib/commands/sql/detail.js +1 -1
  125. package/lib/commands/sql/exec.js +1 -1
  126. package/lib/commands/sql/index.js +1 -1
  127. package/lib/commands/sql/list.js +1 -1
  128. package/lib/commands/sql/pull.js +1 -1
  129. package/lib/commands/sql/push.js +1 -1
  130. package/lib/commands/sql/save.js +1 -1
  131. package/lib/commands/sql/shared.js +1 -1
  132. package/lib/commands/sql/status.js +1 -1
  133. package/lib/commands/sql/validate.js +1 -1
  134. package/lib/config/schema.js +1 -1
  135. package/lib/constant/cdn.js +1 -1
  136. package/lib/constant/cli.js +1 -1
  137. package/lib/constant/defaults.js +1 -1
  138. package/lib/constant/domain.js +1 -1
  139. package/lib/constant/env.js +1 -1
  140. package/lib/constant/output.js +1 -1
  141. package/lib/constant/paths.js +1 -1
  142. package/lib/constant/risk.js +1 -1
  143. package/lib/context.js +1 -1
  144. package/lib/core/alias-resolver.js +1 -1
  145. package/lib/core/api-client.js +1 -1
  146. package/lib/core/bff/config.js +1 -1
  147. package/lib/core/bff/file-system.js +1 -1
  148. package/lib/core/bff/hash.js +1 -1
  149. package/lib/core/bff/lock.js +1 -1
  150. package/lib/core/bff/utils.js +1 -1
  151. package/lib/core/db-resolver.js +1 -1
  152. package/lib/core/page/file-system.js +1 -1
  153. package/lib/core/page/hash.js +1 -1
  154. package/lib/core/page/lock.js +1 -1
  155. package/lib/core/sql-sync/config.js +1 -1
  156. package/lib/core/sql-sync/file-system.js +1 -1
  157. package/lib/core/sql-sync/hash.js +1 -1
  158. package/lib/core/sql-sync/lock.js +1 -1
  159. package/lib/core/sql-sync/utils.js +1 -1
  160. package/lib/core/sql-validator.js +1 -1
  161. package/lib/errors.js +1 -1
  162. package/lib/framework/build-all-flags.js +1 -1
  163. package/lib/framework/flags.js +1 -1
  164. package/lib/framework/help.js +1 -1
  165. package/lib/framework/index.js +1 -1
  166. package/lib/framework/output.js +1 -1
  167. package/lib/framework/response.js +1 -1
  168. package/lib/framework/runner-alias.js +1 -1
  169. package/lib/framework/runner.js +1 -1
  170. package/lib/framework/schema-export.js +1 -1
  171. package/lib/framework/types.js +1 -1
  172. package/lib/generated/build-info.js +1 -1
  173. package/lib/help.js +1 -1
  174. package/lib/skills/main.js +1 -1
  175. package/lib/skills/npx-skills-add.js +1 -1
  176. package/lib/telemetry/cli-command-trace.js +1 -1
  177. package/lib/telemetry/cli-help-trace.js +1 -1
  178. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  179. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  180. package/lib/telemetry/send-cli-trace-log.js +1 -1
  181. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  182. package/lib/utils/ai_config.js +1 -1
  183. package/lib/utils/apply-jq-filter.js +1 -1
  184. package/lib/utils/cdn-config.js +1 -1
  185. package/lib/utils/check-sdk-version.js +1 -1
  186. package/lib/utils/cli-version-check.js +1 -1
  187. package/lib/utils/cli-version-policy.js +1 -1
  188. package/lib/utils/config.js +1 -1
  189. package/lib/utils/copy-directory.js +1 -1
  190. package/lib/utils/entity-with-id.js +1 -1
  191. package/lib/utils/file-utils.js +1 -1
  192. package/lib/utils/guides-cdn.js +1 -1
  193. package/lib/utils/http-client.js +1 -1
  194. package/lib/utils/is-non-interactive.js +1 -1
  195. package/lib/utils/logger.js +1 -1
  196. package/lib/utils/params.js +1 -1
  197. package/lib/utils/platform.js +1 -1
  198. package/lib/utils/rules-cdn.js +1 -1
  199. package/lib/utils/sleep.js +1 -1
  200. package/lib/utils/template-replacer.js +1 -1
  201. package/lib/utils/update-notice.js +1 -1
  202. package/lib/utils/version.js +1 -1
  203. package/lib/utils/with-active-cookie.js +1 -1
  204. package/lib/utils/write-cli-side-channel.js +1 -1
  205. package/package.json +1 -1
@@ -1 +1 @@
1
- function a19_0x5906(_0x3918a8,_0x52b38f){_0x3918a8=_0x3918a8-0x15b;const _0x18b8a6=a19_0x18b8();let _0x5906a0=_0x18b8a6[_0x3918a8];return _0x5906a0;}const a19_0x28683b=a19_0x5906;function a19_0x18b8(){const _0x8980b8=['3996JwnQGT','666WDIpzB','1136IbpzLa','23573GhRvnj','5535408NQLcOr','appCode','appName','platform','remote','cookie','4858yUEpvl','2Fwrhes','app','read','7787960aUVXFy','9GDIyud','appDesc','492417bWbgYD','List\x20apps\x20available\x20on\x20the\x20platform\x20for\x20the\x20current\x20login','7705gnHLHu','139499IATbvL'];a19_0x18b8=function(){return _0x8980b8;};return a19_0x18b8();}(function(_0x2735e7,_0x349430){const _0x42d4c6=a19_0x5906,_0x26ee27=_0x2735e7();while(!![]){try{const _0x4e27d5=-parseInt(_0x42d4c6(0x16e))/0x1*(parseInt(_0x42d4c6(0x165))/0x2)+parseInt(_0x42d4c6(0x16b))/0x3+parseInt(_0x42d4c6(0x15c))/0x4*(-parseInt(_0x42d4c6(0x16d))/0x5)+parseInt(_0x42d4c6(0x15b))/0x6*(parseInt(_0x42d4c6(0x164))/0x7)+-parseInt(_0x42d4c6(0x15e))/0x8+-parseInt(_0x42d4c6(0x169))/0x9*(-parseInt(_0x42d4c6(0x168))/0xa)+-parseInt(_0x42d4c6(0x15d))/0xb*(-parseInt(_0x42d4c6(0x16f))/0xc);if(_0x4e27d5===_0x349430)break;else _0x26ee27['push'](_0x26ee27['shift']());}catch(_0x16f20e){_0x26ee27['push'](_0x26ee27['shift']());}}}(a19_0x18b8,0x71687));import{listRemoteApps}from'../../core/api-client.js';async function execute(_0x3c0ea6){const _0x476e5e=a19_0x5906,{setActiveCookie:_0x460608}=await import('../../core/api-client.js');_0x460608(_0x3c0ea6[_0x476e5e(0x163)]);const _0x26aa21=await listRemoteApps();return{'ok':!![],'data':{'items':_0x26aa21['map'](_0x23721a=>({..._0x23721a['id']!=null?{'id':_0x23721a['id']}:{},'appCode':_0x23721a[_0x476e5e(0x15f)],'appName':_0x23721a[_0x476e5e(0x160)],..._0x23721a['appDesc']!=null?{'appDesc':_0x23721a[_0x476e5e(0x16a)]}:{}})),'meta':{'source':_0x476e5e(0x161)}}};}export const appRemoteDefinition={'service':a19_0x28683b(0x166),'command':a19_0x28683b(0x162),'description':a19_0x28683b(0x16c),'risk':a19_0x28683b(0x167),'requiresAuth':!![],'requiresAppCode':![],'flags':[],'execute':execute};
1
+ function a19_0x34d9(_0x5dd76c,_0x24eb36){_0x5dd76c=_0x5dd76c-0x127;const _0x106066=a19_0x1060();let _0x34d936=_0x106066[_0x5dd76c];return _0x34d936;}const a19_0xd4530=a19_0x34d9;(function(_0x5e96e3,_0x5e1cc0){const _0x3e12bf=a19_0x34d9,_0x81c89c=_0x5e96e3();while(!![]){try{const _0x4c6aff=parseInt(_0x3e12bf(0x135))/0x1*(parseInt(_0x3e12bf(0x12d))/0x2)+-parseInt(_0x3e12bf(0x131))/0x3+-parseInt(_0x3e12bf(0x12e))/0x4+-parseInt(_0x3e12bf(0x13a))/0x5*(parseInt(_0x3e12bf(0x136))/0x6)+parseInt(_0x3e12bf(0x138))/0x7*(parseInt(_0x3e12bf(0x13b))/0x8)+-parseInt(_0x3e12bf(0x139))/0x9+-parseInt(_0x3e12bf(0x12a))/0xa*(-parseInt(_0x3e12bf(0x132))/0xb);if(_0x4c6aff===_0x5e1cc0)break;else _0x81c89c['push'](_0x81c89c['shift']());}catch(_0x2a7f5a){_0x81c89c['push'](_0x81c89c['shift']());}}}(a19_0x1060,0x9c3b6));function a19_0x1060(){const _0x2928c8=['../../core/api-client.js','2691825BdCKtv','3739527JdneQH','app','platform','267706QtjZfB','30ztuuxc','List\x20apps\x20available\x20on\x20the\x20platform\x20for\x20the\x20current\x20login','14kOaLzH','3218778UyjcCB','932275kfODEl','1699336FpgdBO','appDesc','read','remote','60NncFmV','appName','cookie','4LFDddh','691480bZKpTQ','map'];a19_0x1060=function(){return _0x2928c8;};return a19_0x1060();}import{listRemoteApps}from'../../core/api-client.js';async function execute(_0x2830e2){const _0x39ab30=a19_0x34d9,{setActiveCookie:_0x624cb3}=await import(_0x39ab30(0x130));_0x624cb3(_0x2830e2[_0x39ab30(0x12c)]);const _0x405ad7=await listRemoteApps();return{'ok':!![],'data':{'items':_0x405ad7[_0x39ab30(0x12f)](_0x12284c=>({..._0x12284c['id']!=null?{'id':_0x12284c['id']}:{},'appCode':_0x12284c['appCode'],'appName':_0x12284c[_0x39ab30(0x12b)],..._0x12284c[_0x39ab30(0x127)]!=null?{'appDesc':_0x12284c[_0x39ab30(0x127)]}:{}})),'meta':{'source':_0x39ab30(0x134)}}};}export const appRemoteDefinition={'service':a19_0xd4530(0x133),'command':a19_0xd4530(0x129),'description':a19_0xd4530(0x137),'risk':a19_0xd4530(0x128),'requiresAuth':!![],'requiresAppCode':![],'flags':[],'execute':execute};
@@ -1 +1 @@
1
- (function(_0x4fa569,_0x571033){const _0x1537af=a20_0x41a5,_0x227fc7=_0x4fa569();while(!![]){try{const _0xe363b5=parseInt(_0x1537af(0xa0))/0x1+-parseInt(_0x1537af(0x9f))/0x2*(-parseInt(_0x1537af(0xa1))/0x3)+-parseInt(_0x1537af(0x9c))/0x4*(-parseInt(_0x1537af(0x9d))/0x5)+parseInt(_0x1537af(0x96))/0x6+-parseInt(_0x1537af(0x98))/0x7*(-parseInt(_0x1537af(0x97))/0x8)+-parseInt(_0x1537af(0x9e))/0x9*(-parseInt(_0x1537af(0x9b))/0xa)+parseInt(_0x1537af(0x9a))/0xb*(-parseInt(_0x1537af(0x99))/0xc);if(_0xe363b5===_0x571033)break;else _0x227fc7['push'](_0x227fc7['shift']());}catch(_0x2cc595){_0x227fc7['push'](_0x227fc7['shift']());}}}(a20_0x41c7,0x526b3));import{appListDefinition}from'../../commands/app/list.js';function a20_0x41c7(){const _0x3e727c=['25173vkdGkM','6FcZIpT','293047KxzzvO','153129eGvwxt','2794224AJGwkK','572104iCdJdg','21gifFcL','47820GJkYYV','4147ViukOH','1630CeXaCQ','8KsaZAi','644005aibbBM'];a20_0x41c7=function(){return _0x3e727c;};return a20_0x41c7();}function a20_0x41a5(_0x2a8c4c,_0x4d9444){_0x2a8c4c=_0x2a8c4c-0x96;const _0x41c7ff=a20_0x41c7();let _0x41a507=_0x41c7ff[_0x2a8c4c];return _0x41a507;}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
+ (function(_0x16f007,_0x470b8b){const _0x27f1f0=a20_0x2e08,_0x1aea4d=_0x16f007();while(!![]){try{const _0x205a7e=parseInt(_0x27f1f0(0x142))/0x1*(-parseInt(_0x27f1f0(0x13d))/0x2)+parseInt(_0x27f1f0(0x13e))/0x3*(-parseInt(_0x27f1f0(0x13a))/0x4)+-parseInt(_0x27f1f0(0x141))/0x5*(parseInt(_0x27f1f0(0x140))/0x6)+-parseInt(_0x27f1f0(0x139))/0x7+parseInt(_0x27f1f0(0x13c))/0x8+parseInt(_0x27f1f0(0x138))/0x9*(-parseInt(_0x27f1f0(0x143))/0xa)+-parseInt(_0x27f1f0(0x13b))/0xb*(-parseInt(_0x27f1f0(0x13f))/0xc);if(_0x205a7e===_0x470b8b)break;else _0x1aea4d['push'](_0x1aea4d['shift']());}catch(_0x4b7da1){_0x1aea4d['push'](_0x1aea4d['shift']());}}}(a20_0x3dbf,0x3e87f));import{appListDefinition}from'../../commands/app/list.js';function a20_0x3dbf(){const _0xaa93f0=['125629RVPuKH','1386910ELrWWx','9UHzWCF','3408076WDPyfo','13836hUnEYv','209ghiyQY','1746520dPujOk','2dmhLzb','267toOUmz','898680pOofpl','786ZzElQv','12445pHhdwl'];a20_0x3dbf=function(){return _0xaa93f0;};return a20_0x3dbf();}import{appRemoteDefinition}from'../../commands/app/discover.js';import{appUseDefinition}from'../../commands/app/use.js';import{appAddDefinition}from'../../commands/app/add.js';import{appRemoveDefinition}from'../../commands/app/remove.js';function a20_0x2e08(_0x51aea8,_0x2ba980){_0x51aea8=_0x51aea8-0x138;const _0x3dbf8b=a20_0x3dbf();let _0x2e08d6=_0x3dbf8b[_0x51aea8];return _0x2e08d6;}export const appDefinitions=[appListDefinition,appRemoteDefinition,appUseDefinition,appAddDefinition,appRemoveDefinition];
@@ -1 +1 @@
1
- const a21_0x23a46f=a21_0x44b1;(function(_0x530da5,_0x446d9e){const _0xd46b8d=a21_0x44b1,_0x29044c=_0x530da5();while(!![]){try{const _0x49f2aa=-parseInt(_0xd46b8d(0xb6))/0x1+parseInt(_0xd46b8d(0x9f))/0x2+-parseInt(_0xd46b8d(0x9b))/0x3*(parseInt(_0xd46b8d(0xaa))/0x4)+parseInt(_0xd46b8d(0xa6))/0x5+parseInt(_0xd46b8d(0xb0))/0x6*(-parseInt(_0xd46b8d(0xb5))/0x7)+-parseInt(_0xd46b8d(0xa1))/0x8+parseInt(_0xd46b8d(0x98))/0x9*(parseInt(_0xd46b8d(0xa3))/0xa);if(_0x49f2aa===_0x446d9e)break;else _0x29044c['push'](_0x29044c['shift']());}catch(_0x25f992){_0x29044c['push'](_0x29044c['shift']());}}}(a21_0xf0c5,0xd6384));import{readRawConfigWithLayers}from'../../context.js';function a21_0x44b1(_0x2e0309,_0x450610){_0x2e0309=_0x2e0309-0x8f;const _0xf0c568=a21_0xf0c5();let _0x44b11b=_0xf0c568[_0x2e0309];return _0x44b11b;}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(_0x20c204,_0xd112b2){const _0x22cf62=a21_0x44b1,_0x22645d=[],_0xc9086b=_0x20c204[_0x22cf62(0x94)]&&typeof _0x20c204[_0x22cf62(0x94)]===_0x22cf62(0x97)?_0x20c204['apps']:{},_0x56766c=_0x20c204[_0x22cf62(0xa7)]||undefined;for(const [_0xc9119c,_0x31a09d]of Object[_0x22cf62(0x9a)](_0xc9086b)){if(!_0x31a09d||typeof _0x31a09d!==_0x22cf62(0x97)||!_0x31a09d['appcode'])continue;_0x22645d[_0x22cf62(0xa5)]({'name':_0xc9119c,'appcode':_0x31a09d[_0x22cf62(0xab)],'named':!![],'definedIn':_0xd112b2,'isDefault':_0xc9119c===_0x56766c,...buildAppProfileListFields(_0x31a09d)});}return _0x22645d;}function buildMergedItems(_0x514e61,_0x3cf326){const _0x1565f3=a21_0x44b1,{apps:apps={},defaultApp:_0xb1ff0e}=_0x514e61,_0x18ded7=_0x3cf326[_0x1565f3(0xaf)][_0x1565f3(0x94)]&&typeof _0x3cf326[_0x1565f3(0xaf)][_0x1565f3(0x94)]===_0x1565f3(0x97)?_0x3cf326[_0x1565f3(0xaf)][_0x1565f3(0x94)]:{},_0x1aa1ff=_0x3cf326[_0x1565f3(0xa8)][_0x1565f3(0x94)]&&typeof _0x3cf326[_0x1565f3(0xa8)][_0x1565f3(0x94)]===_0x1565f3(0x97)?_0x3cf326[_0x1565f3(0xa8)]['apps']:{},_0x33426d=_0x3cf326['projectConfig'][_0x1565f3(0x90)]===![],_0x30119f=Object['entries'](apps),_0x1cc1b7=_0x30119f[_0x1565f3(0xb4)](([_0x8e49e4,_0x44087c])=>({'name':_0x8e49e4,'appcode':_0x44087c[_0x1565f3(0xab)],'named':!![],'definedIn':appDefinedIn(_0x8e49e4,_0x18ded7,_0x1aa1ff,_0x33426d),'isDefault':_0x8e49e4===_0xb1ff0e,...buildAppProfileListFields(_0x44087c)}));return _0x1cc1b7;}function a21_0xf0c5(){const _0x58b10f=['Show\x20only\x20apps\x20from\x20global\x20~/.rabetbase.json','project','apps','app','global','object','374571hatsOn','List\x20all\x20configured\x20apps','entries','33wcnJkI','length','\x20config','\x20app\x20add\x20<name>\x20--appcode\x20<code>`\x20to\x20add\x20one.','1448796JGjgaO','isCurrent','5628416jjyUyv','projectPath','470IKXDMp','merged','push','8254680jlPULZ','defaultApp','projectConfig','read','319036KWBSgF','appcode','No\x20apps\x20configured','\x20in\x20','mergedCli','globalConfig','15702ASBIXq','globalPath','list','.\x20Use\x20`','map','1253hysAvc','1404639dLLfAt','find','inherit','bool'];a21_0xf0c5=function(){return _0x58b10f;};return a21_0xf0c5();}async function execute(_0x4b6186){const _0x322126=a21_0x44b1,_0x398009=_0x4b6186[_0x322126(0x91)](_0x322126(0x96)),_0x139527=_0x4b6186[_0x322126(0x91)](_0x322126(0x93)),_0x5ee70a=_0x398009?_0x322126(0x96):_0x139527?_0x322126(0x93):'merged',{config:_0x5b4110,layers:_0x101f15}=readRawConfigWithLayers(),_0x248c07=resolveDefaultAppSource(_0x101f15),{defaultApp:_0x86936c}=_0x5b4110;let _0x3568d2,_0x3c69c9;switch(_0x5ee70a){case'global':_0x3568d2=buildItemsFromLayer(_0x101f15[_0x322126(0xaf)],_0x322126(0x96)),_0x3c69c9=_0x101f15[_0x322126(0xb1)];break;case _0x322126(0x93):_0x3568d2=buildItemsFromLayer(_0x101f15[_0x322126(0xa8)],_0x322126(0x93)),_0x3c69c9=_0x101f15[_0x322126(0xa2)];break;default:_0x3568d2=buildMergedItems(_0x5b4110,_0x101f15);break;}enrichAppListItemsWithMergedSelection(_0x3568d2,_0x4b6186[_0x322126(0xae)]);if(_0x3568d2[_0x322126(0x9c)]===0x0){const _0x2e4e66=_0x5ee70a===_0x322126(0xa4)?'':_0x322126(0xad)+_0x5ee70a+_0x322126(0x9d);return{'ok':!![],'data':[],'message':_0x322126(0xac)+_0x2e4e66+_0x322126(0xb3)+CLI_BIN_NAME+_0x322126(0x9e)};}const _0x4554fc=_0x3568d2[_0x322126(0x8f)](_0x9bdf24=>_0x9bdf24[_0x322126(0xa0)]===!![]),_0x1c82ea=_0x86936c??_0x4554fc?.['appcode']??null,_0x13f6eb=_0x5ee70a===_0x322126(0xa4)?{'globalPath':_0x101f15['globalPath']??null,'projectPath':_0x101f15[_0x322126(0xa2)]??null,'defaultApp':_0x1c82ea,'defaultAppSource':_0x86936c!=null?_0x248c07:null}:{'scope':_0x5ee70a,'configPath':_0x3c69c9??null};return{'ok':!![],'data':{'items':_0x3568d2,'meta':_0x13f6eb}};}export const appListDefinition={'service':a21_0x23a46f(0x95),'command':a21_0x23a46f(0xb2),'description':a21_0x23a46f(0x99),'risk':a21_0x23a46f(0xa9),'requiresAuth':![],'requiresAppCode':![],'flags':[{'name':'global','type':'boolean','description':a21_0x23a46f(0x92),'default':![]},{'name':'project','type':'boolean','description':'Show\x20only\x20apps\x20from\x20project\x20.rabetbase.json','default':![]}],'execute':execute};
1
+ const a21_0x734e03=a21_0x3adb;function a21_0x2bf5(){const _0x30d924=['1798234vWWjdn','1bBBYrd','Show\x20only\x20apps\x20from\x20project\x20.rabetbase.json','bool','\x20config','apps','read','project','11283534tpOMVi','find','isCurrent','map','defaultApp','entries','mergedCli','5Lfrcch','12357280qsTclv','push','appcode','globalConfig','projectConfig','inherit','.\x20Use\x20`','Show\x20only\x20apps\x20from\x20global\x20~/.rabetbase.json','5173FspmWA','\x20in\x20','global','9924WgZDSr','7056808UGmedb','projectPath','merged','List\x20all\x20configured\x20apps','boolean','2671671EqCdHP','12019800PRLgVh','length','object'];a21_0x2bf5=function(){return _0x30d924;};return a21_0x2bf5();}(function(_0x143b3a,_0x31560a){const _0x2eb8b1=a21_0x3adb,_0x457da2=_0x143b3a();while(!![]){try{const _0x2b9fcf=-parseInt(_0x2eb8b1(0x150))/0x1*(parseInt(_0x2eb8b1(0x14f))/0x2)+parseInt(_0x2eb8b1(0x14b))/0x3+-parseInt(_0x2eb8b1(0x16b))/0x4*(parseInt(_0x2eb8b1(0x15e))/0x5)+parseInt(_0x2eb8b1(0x16a))/0x6*(parseInt(_0x2eb8b1(0x167))/0x7)+parseInt(_0x2eb8b1(0x14c))/0x8+-parseInt(_0x2eb8b1(0x157))/0x9+parseInt(_0x2eb8b1(0x15f))/0xa;if(_0x2b9fcf===_0x31560a)break;else _0x457da2['push'](_0x457da2['shift']());}catch(_0x372637){_0x457da2['push'](_0x457da2['shift']());}}}(a21_0x2bf5,0xe4085));function a21_0x3adb(_0x51904e,_0x3561d4){_0x51904e=_0x51904e-0x149;const _0x2bf543=a21_0x2bf5();let _0x3adbc8=_0x2bf543[_0x51904e];return _0x3adbc8;}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(_0x38dbe6,_0x3f40ef){const _0x480030=a21_0x3adb,_0x5619f5=[],_0x4fe17b=_0x38dbe6[_0x480030(0x154)]&&typeof _0x38dbe6[_0x480030(0x154)]===_0x480030(0x14e)?_0x38dbe6[_0x480030(0x154)]:{},_0x2538ec=_0x38dbe6[_0x480030(0x15b)]||undefined;for(const [_0x447574,_0xca0719]of Object[_0x480030(0x15c)](_0x4fe17b)){if(!_0xca0719||typeof _0xca0719!==_0x480030(0x14e)||!_0xca0719['appcode'])continue;_0x5619f5[_0x480030(0x160)]({'name':_0x447574,'appcode':_0xca0719[_0x480030(0x161)],'named':!![],'definedIn':_0x3f40ef,'isDefault':_0x447574===_0x2538ec,...buildAppProfileListFields(_0xca0719)});}return _0x5619f5;}function buildMergedItems(_0x2b22ed,_0x11bfda){const _0x92cac7=a21_0x3adb,{apps:apps={},defaultApp:_0x99c17e}=_0x2b22ed,_0x38a9ea=_0x11bfda[_0x92cac7(0x162)][_0x92cac7(0x154)]&&typeof _0x11bfda[_0x92cac7(0x162)][_0x92cac7(0x154)]===_0x92cac7(0x14e)?_0x11bfda[_0x92cac7(0x162)][_0x92cac7(0x154)]:{},_0x2a3fff=_0x11bfda['projectConfig'][_0x92cac7(0x154)]&&typeof _0x11bfda[_0x92cac7(0x163)][_0x92cac7(0x154)]===_0x92cac7(0x14e)?_0x11bfda[_0x92cac7(0x163)][_0x92cac7(0x154)]:{},_0xbfd4b=_0x11bfda[_0x92cac7(0x163)][_0x92cac7(0x164)]===![],_0x247d82=Object[_0x92cac7(0x15c)](apps),_0x4aa43a=_0x247d82[_0x92cac7(0x15a)](([_0x44892a,_0x26c867])=>({'name':_0x44892a,'appcode':_0x26c867[_0x92cac7(0x161)],'named':!![],'definedIn':appDefinedIn(_0x44892a,_0x38a9ea,_0x2a3fff,_0xbfd4b),'isDefault':_0x44892a===_0x99c17e,...buildAppProfileListFields(_0x26c867)}));return _0x4aa43a;}async function execute(_0xd38e8a){const _0x59fac2=a21_0x3adb,_0x4f1bc4=_0xd38e8a[_0x59fac2(0x152)](_0x59fac2(0x169)),_0x5d35da=_0xd38e8a[_0x59fac2(0x152)](_0x59fac2(0x156)),_0x532e93=_0x4f1bc4?_0x59fac2(0x169):_0x5d35da?_0x59fac2(0x156):_0x59fac2(0x16d),{config:_0x3873fb,layers:_0xcb8265}=readRawConfigWithLayers(),_0x4dab41=resolveDefaultAppSource(_0xcb8265),{defaultApp:_0x20c32b}=_0x3873fb;let _0x4cdbf9,_0x48196d;switch(_0x532e93){case _0x59fac2(0x169):_0x4cdbf9=buildItemsFromLayer(_0xcb8265[_0x59fac2(0x162)],_0x59fac2(0x169)),_0x48196d=_0xcb8265['globalPath'];break;case _0x59fac2(0x156):_0x4cdbf9=buildItemsFromLayer(_0xcb8265[_0x59fac2(0x163)],_0x59fac2(0x156)),_0x48196d=_0xcb8265[_0x59fac2(0x16c)];break;default:_0x4cdbf9=buildMergedItems(_0x3873fb,_0xcb8265);break;}enrichAppListItemsWithMergedSelection(_0x4cdbf9,_0xd38e8a[_0x59fac2(0x15d)]);if(_0x4cdbf9[_0x59fac2(0x14d)]===0x0){const _0x424d96=_0x532e93===_0x59fac2(0x16d)?'':_0x59fac2(0x168)+_0x532e93+_0x59fac2(0x153);return{'ok':!![],'data':[],'message':'No\x20apps\x20configured'+_0x424d96+_0x59fac2(0x165)+CLI_BIN_NAME+'\x20app\x20add\x20<name>\x20--appcode\x20<code>`\x20to\x20add\x20one.'};}const _0x3a9ad5=_0x4cdbf9[_0x59fac2(0x158)](_0x3e2276=>_0x3e2276[_0x59fac2(0x159)]===!![]),_0x580da0=_0x20c32b??_0x3a9ad5?.['appcode']??null,_0x250052=_0x532e93==='merged'?{'globalPath':_0xcb8265['globalPath']??null,'projectPath':_0xcb8265['projectPath']??null,'defaultApp':_0x580da0,'defaultAppSource':_0x20c32b!=null?_0x4dab41:null}:{'scope':_0x532e93,'configPath':_0x48196d??null};return{'ok':!![],'data':{'items':_0x4cdbf9,'meta':_0x250052}};}export const appListDefinition={'service':'app','command':'list','description':a21_0x734e03(0x149),'risk':a21_0x734e03(0x155),'requiresAuth':![],'requiresAppCode':![],'flags':[{'name':a21_0x734e03(0x169),'type':a21_0x734e03(0x14a),'description':a21_0x734e03(0x166),'default':![]},{'name':a21_0x734e03(0x156),'type':a21_0x734e03(0x14a),'description':a21_0x734e03(0x151),'default':![]}],'execute':execute};
@@ -1 +1 @@
1
- function a22_0x3f43(){const _0x5f0dfa=['apps','1216362ikBivV','735180OorNic','trim','7tarSnw','App\x20profile\x20name\x20to\x20remove','1576602dKGEPd','\x20Default\x20app\x20changed\x20to\x20\x22','2ztmjBZ','1376776qpuelI','defaultApp','Missing\x20app\x20name.','inherit','projectConfig','App\x20\x22','high-risk-write','25554OCAlhe','Use\x20global\x20config\x20scope','\x20config.','bool','project','keys','Remove\x20an\x20app\x20from\x20config','validation','boolean','args','294204NdnOsa','globalConfig','global','object','Usage:\x20','length','\x20Note:\x20app\x20\x22','1221100wrouor','36dFfCUt','Removed\x20app\x20\x22'];a22_0x3f43=function(){return _0x5f0dfa;};return a22_0x3f43();}const a22_0x1be572=a22_0x55a8;(function(_0x4e4f75,_0x4c0be9){const _0x5f1272=a22_0x55a8,_0x44a847=_0x4e4f75();while(!![]){try{const _0x213a61=-parseInt(_0x5f1272(0x6a))/0x1+-parseInt(_0x5f1272(0x86))/0x2*(-parseInt(_0x5f1272(0x7f))/0x3)+parseInt(_0x5f1272(0x74))/0x4+-parseInt(_0x5f1272(0x80))/0x5+parseInt(_0x5f1272(0x84))/0x6+-parseInt(_0x5f1272(0x82))/0x7*(-parseInt(_0x5f1272(0x87))/0x8)+-parseInt(_0x5f1272(0x7c))/0x9*(parseInt(_0x5f1272(0x7b))/0xa);if(_0x213a61===_0x4c0be9)break;else _0x44a847['push'](_0x44a847['shift']());}catch(_0x420ab0){_0x44a847['push'](_0x44a847['shift']());}}}(a22_0x3f43,0x3dba7));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_0x55a8(_0x4ad154,_0x382bf6){_0x4ad154=_0x4ad154-0x65;const _0x3f43f5=a22_0x3f43();let _0x55a8f3=_0x3f43f5[_0x4ad154];return _0x55a8f3;}async function validateArgs(_0xa62d41){const _0x5ce1a9=a22_0x55a8,_0x191c15=_0xa62d41[_0x5ce1a9(0x73)][0x0]?.[_0x5ce1a9(0x81)]();if(!_0x191c15)throw CliErrors[_0x5ce1a9(0x71)](_0x5ce1a9(0x65),_0x5ce1a9(0x78)+CLI_BIN_NAME+'\x20app\x20remove\x20<name>\x20[--global]');}async function execute(_0x4ed36f){const _0x3aa55d=a22_0x55a8,_0x486dc1=_0x4ed36f['args'][0x0]?.['trim']();if(!_0x486dc1)throw CliErrors[_0x3aa55d(0x71)]('Missing\x20app\x20name.',_0x3aa55d(0x78)+CLI_BIN_NAME+'\x20app\x20remove\x20<name>\x20[--global]');const _0x46e751=_0x4ed36f[_0x3aa55d(0x6d)](_0x3aa55d(0x76)),{config:_0x5e4cf1,layers:_0x230bdb}=readRawConfigWithLayers(),_0x3b3f5e=_0x5e4cf1[_0x3aa55d(0x7e)]??{};if(!_0x3b3f5e[_0x486dc1])throw CliErrors[_0x3aa55d(0x71)]('App\x20\x22'+_0x486dc1+'\x22\x20not\x20found.');const _0x172c50=_0x230bdb[_0x3aa55d(0x75)][_0x3aa55d(0x7e)]&&typeof _0x230bdb['globalConfig']['apps']===_0x3aa55d(0x77)?_0x230bdb[_0x3aa55d(0x75)][_0x3aa55d(0x7e)]:{},_0xb09a7e=_0x230bdb[_0x3aa55d(0x67)][_0x3aa55d(0x7e)]&&typeof _0x230bdb[_0x3aa55d(0x67)][_0x3aa55d(0x7e)]===_0x3aa55d(0x77)?_0x230bdb[_0x3aa55d(0x67)]['apps']:{},_0x5d74ea=appDefinedIn(_0x486dc1,_0x172c50,_0xb09a7e,_0x230bdb[_0x3aa55d(0x67)][_0x3aa55d(0x66)]===![]),_0x2b8346=resolveAppScopeForWrite(_0x486dc1,_0x46e751,_0x230bdb),_0xa1fcb1={'global':_0x2b8346===_0x3aa55d(0x76)},_0xbe796f=readConfig(_0xa1fcb1),_0x21b0ac=_0xbe796f[_0x3aa55d(0x7e)];if(!_0x21b0ac||!_0x21b0ac[_0x486dc1])throw CliErrors['validation'](_0x3aa55d(0x68)+_0x486dc1+'\x22\x20not\x20found.');delete _0x21b0ac[_0x486dc1];let _0x51b95e='';if(_0xbe796f['defaultApp']===_0x486dc1){const _0x31134c=Object['keys'](_0x21b0ac);_0xbe796f[_0x3aa55d(0x88)]=_0x31134c[_0x3aa55d(0x79)]>0x0?_0x31134c[0x0]:undefined,_0xbe796f['defaultApp']?_0x51b95e=_0x3aa55d(0x85)+_0xbe796f['defaultApp']+'\x22.':delete _0xbe796f[_0x3aa55d(0x88)];}Object[_0x3aa55d(0x6f)](_0x21b0ac)[_0x3aa55d(0x79)]===0x0&&(delete _0xbe796f[_0x3aa55d(0x7e)],delete _0xbe796f['defaultApp']);writeConfig(_0xbe796f,_0xa1fcb1);const _0x298067=_0x5d74ea==='both'?_0x3aa55d(0x7a)+_0x486dc1+'\x22\x20still\x20defined\x20in\x20'+(_0x2b8346==='project'?'global':_0x3aa55d(0x6e))+_0x3aa55d(0x6c):'';return{'ok':!![],'message':_0x3aa55d(0x7d)+_0x486dc1+'\x22'+scopeLabel(_0xa1fcb1)+'.'+_0x51b95e+_0x298067};}export const appRemoveDefinition={'service':'app','command':'remove','description':a22_0x1be572(0x70),'risk':a22_0x1be572(0x69),'requiresAuth':![],'requiresAppCode':![],'args':[{'name':'name','description':a22_0x1be572(0x83),'required':!![]}],'flags':[{'name':a22_0x1be572(0x76),'type':a22_0x1be572(0x72),'description':a22_0x1be572(0x6b),'default':![]}],'validate':validateArgs,'execute':execute};
1
+ const a22_0x220fec=a22_0x34eb;(function(_0x3e7ea9,_0x20755a){const _0x2fb9c5=a22_0x34eb,_0x46a3d6=_0x3e7ea9();while(!![]){try{const _0x230de4=parseInt(_0x2fb9c5(0x89))/0x1*(parseInt(_0x2fb9c5(0x6c))/0x2)+-parseInt(_0x2fb9c5(0x6e))/0x3*(parseInt(_0x2fb9c5(0x77))/0x4)+parseInt(_0x2fb9c5(0x78))/0x5*(-parseInt(_0x2fb9c5(0x6b))/0x6)+-parseInt(_0x2fb9c5(0x86))/0x7*(parseInt(_0x2fb9c5(0x66))/0x8)+parseInt(_0x2fb9c5(0x71))/0x9+parseInt(_0x2fb9c5(0x68))/0xa*(-parseInt(_0x2fb9c5(0x79))/0xb)+-parseInt(_0x2fb9c5(0x84))/0xc*(-parseInt(_0x2fb9c5(0x70))/0xd);if(_0x230de4===_0x20755a)break;else _0x46a3d6['push'](_0x46a3d6['shift']());}catch(_0x2a9ffb){_0x46a3d6['push'](_0x46a3d6['shift']());}}}(a22_0x5cd5,0xab32d));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(_0xebf8b9){const _0x14e50e=a22_0x34eb,_0x8dfda6=_0xebf8b9[_0x14e50e(0x6a)][0x0]?.['trim']();if(!_0x8dfda6)throw CliErrors[_0x14e50e(0x69)](_0x14e50e(0x72),_0x14e50e(0x76)+CLI_BIN_NAME+'\x20app\x20remove\x20<name>\x20[--global]');}async function execute(_0x1daf31){const _0x204e3c=a22_0x34eb,_0x14ed8f=_0x1daf31[_0x204e3c(0x6a)][0x0]?.['trim']();if(!_0x14ed8f)throw CliErrors[_0x204e3c(0x69)](_0x204e3c(0x72),'Usage:\x20'+CLI_BIN_NAME+_0x204e3c(0x7d));const _0x57de70=_0x1daf31['bool']('global'),{config:_0x45ab0d,layers:_0x1d44ca}=readRawConfigWithLayers(),_0x69c439=_0x45ab0d[_0x204e3c(0x6d)]??{};if(!_0x69c439[_0x14ed8f])throw CliErrors[_0x204e3c(0x69)](_0x204e3c(0x6f)+_0x14ed8f+_0x204e3c(0x67));const _0x118d5a=_0x1d44ca[_0x204e3c(0x85)][_0x204e3c(0x6d)]&&typeof _0x1d44ca[_0x204e3c(0x85)][_0x204e3c(0x6d)]===_0x204e3c(0x73)?_0x1d44ca['globalConfig'][_0x204e3c(0x6d)]:{},_0x444f9f=_0x1d44ca[_0x204e3c(0x88)]['apps']&&typeof _0x1d44ca[_0x204e3c(0x88)]['apps']===_0x204e3c(0x73)?_0x1d44ca[_0x204e3c(0x88)][_0x204e3c(0x6d)]:{},_0x178d3e=appDefinedIn(_0x14ed8f,_0x118d5a,_0x444f9f,_0x1d44ca[_0x204e3c(0x88)]['inherit']===![]),_0x15ab58=resolveAppScopeForWrite(_0x14ed8f,_0x57de70,_0x1d44ca),_0x188442={'global':_0x15ab58===_0x204e3c(0x7a)},_0x471c35=readConfig(_0x188442),_0xabff75=_0x471c35[_0x204e3c(0x6d)];if(!_0xabff75||!_0xabff75[_0x14ed8f])throw CliErrors[_0x204e3c(0x69)]('App\x20\x22'+_0x14ed8f+'\x22\x20not\x20found.');delete _0xabff75[_0x14ed8f];let _0x29edf2='';if(_0x471c35[_0x204e3c(0x7b)]===_0x14ed8f){const _0x53571b=Object[_0x204e3c(0x80)](_0xabff75);_0x471c35[_0x204e3c(0x7b)]=_0x53571b[_0x204e3c(0x7f)]>0x0?_0x53571b[0x0]:undefined,_0x471c35[_0x204e3c(0x7b)]?_0x29edf2=_0x204e3c(0x7c)+_0x471c35[_0x204e3c(0x7b)]+'\x22.':delete _0x471c35[_0x204e3c(0x7b)];}Object[_0x204e3c(0x80)](_0xabff75)[_0x204e3c(0x7f)]===0x0&&(delete _0x471c35[_0x204e3c(0x6d)],delete _0x471c35[_0x204e3c(0x7b)]);writeConfig(_0x471c35,_0x188442);const _0x1ea421=_0x178d3e==='both'?'\x20Note:\x20app\x20\x22'+_0x14ed8f+_0x204e3c(0x87)+(_0x15ab58===_0x204e3c(0x74)?_0x204e3c(0x7a):'project')+'\x20config.':'';return{'ok':!![],'message':'Removed\x20app\x20\x22'+_0x14ed8f+'\x22'+scopeLabel(_0x188442)+'.'+_0x29edf2+_0x1ea421};}export const appRemoveDefinition={'service':a22_0x220fec(0x82),'command':a22_0x220fec(0x81),'description':a22_0x220fec(0x83),'risk':'high-risk-write','requiresAuth':![],'requiresAppCode':![],'args':[{'name':a22_0x220fec(0x7e),'description':'App\x20profile\x20name\x20to\x20remove','required':!![]}],'flags':[{'name':a22_0x220fec(0x7a),'type':'boolean','description':a22_0x220fec(0x75),'default':![]}],'validate':validateArgs,'execute':execute};function a22_0x34eb(_0x3e48da,_0x54ea91){_0x3e48da=_0x3e48da-0x66;const _0x5cd590=a22_0x5cd5();let _0x34eb05=_0x5cd590[_0x3e48da];return _0x34eb05;}function a22_0x5cd5(){const _0xe05232=['\x20app\x20remove\x20<name>\x20[--global]','name','length','keys','remove','app','Remove\x20an\x20app\x20from\x20config','470040OnBVAC','globalConfig','7zhvsDE','\x22\x20still\x20defined\x20in\x20','projectConfig','2234cgevBK','1616312djEzYx','\x22\x20not\x20found.','110fQffIR','validation','args','35244fKyOPg','102aNmxfM','apps','21QGwzXH','App\x20\x22','481YIFCgl','2181312DhBsJW','Missing\x20app\x20name.','object','project','Use\x20global\x20config\x20scope','Usage:\x20','111040KUBnYf','95jJtCPG','596398rDkpIQ','global','defaultApp','\x20Default\x20app\x20changed\x20to\x20\x22'];a22_0x5cd5=function(){return _0xe05232;};return a22_0x5cd5();}
@@ -1 +1 @@
1
- (function(_0x2fb8f5,_0x30d633){const _0x56939e=a23_0x8952,_0x35eecc=_0x2fb8f5();while(!![]){try{const _0x3d9b4f=-parseInt(_0x56939e(0x161))/0x1+-parseInt(_0x56939e(0x14f))/0x2*(parseInt(_0x56939e(0x160))/0x3)+parseInt(_0x56939e(0x14b))/0x4*(parseInt(_0x56939e(0x165))/0x5)+parseInt(_0x56939e(0x153))/0x6+parseInt(_0x56939e(0x15b))/0x7*(parseInt(_0x56939e(0x162))/0x8)+parseInt(_0x56939e(0x149))/0x9*(parseInt(_0x56939e(0x163))/0xa)+-parseInt(_0x56939e(0x168))/0xb;if(_0x3d9b4f===_0x30d633)break;else _0x35eecc['push'](_0x35eecc['shift']());}catch(_0x251088){_0x35eecc['push'](_0x35eecc['shift']());}}}(a23_0x3b4f,0xbdd09));import{resolveWriteConfigPath,readConfigFile,writeConfigFile}from'../../context.js';export function enrichAppListItemsWithMergedSelection(_0x1d53c0,_0x5ecced){const _0x321948=a23_0x8952;if(!_0x5ecced)return;const _0x476996=_0x5ecced[_0x321948(0x150)]&&typeof _0x5ecced['apps']===_0x321948(0x15d)?_0x5ecced['apps']:{},_0x16f497=Object[_0x321948(0x148)](_0x476996)['length']>0x0;for(const _0x54411c of _0x1d53c0){_0x54411c[_0x321948(0x152)]=![];}const _0x7bc4a1=_0x5ecced[_0x321948(0x15f)]!=null?String(_0x5ecced['appCode'])[_0x321948(0x164)]():'';if(_0x16f497){const _0x47792c=_0x5ecced[_0x321948(0x157)]??_0x5ecced[_0x321948(0x14c)];if(_0x47792c)for(const _0x32c462 of _0x1d53c0){_0x32c462[_0x321948(0x159)]===!![]&&_0x32c462[_0x321948(0x14a)]===_0x47792c&&(_0x32c462[_0x321948(0x152)]=!![]);}for(const _0x36f474 of _0x1d53c0){if(_0x36f474[_0x321948(0x159)]!==![])continue;if(_0x5ecced[_0x321948(0x14c)])continue;_0x7bc4a1&&String(_0x36f474[_0x321948(0x156)]??'')[_0x321948(0x164)]()===_0x7bc4a1&&(_0x36f474[_0x321948(0x152)]=!![]);}return;}if(!_0x7bc4a1)return;for(const _0x13665e of _0x1d53c0){String(_0x13665e[_0x321948(0x156)]??'')[_0x321948(0x164)]()===_0x7bc4a1&&(_0x13665e[_0x321948(0x152)]=!![]);}}export function resolveAppScopeForWrite(_0x4483e9,_0x566b2e,_0xa18fef){const _0x6832fc=a23_0x8952;if(_0x566b2e)return _0x6832fc(0x158);const _0x35b47c=_0xa18fef[_0x6832fc(0x151)][_0x6832fc(0x150)]&&typeof _0xa18fef['projectConfig'][_0x6832fc(0x150)]==='object'?_0xa18fef[_0x6832fc(0x151)][_0x6832fc(0x150)]:{},_0x11f5d8=_0xa18fef[_0x6832fc(0x14e)][_0x6832fc(0x150)]&&typeof _0xa18fef[_0x6832fc(0x14e)][_0x6832fc(0x150)]===_0x6832fc(0x15d)?_0xa18fef[_0x6832fc(0x14e)]['apps']:{};if(Object['prototype'][_0x6832fc(0x167)][_0x6832fc(0x166)](_0x35b47c,_0x4483e9))return _0x6832fc(0x15a);if(Object[_0x6832fc(0x15c)][_0x6832fc(0x167)][_0x6832fc(0x166)](_0x11f5d8,_0x4483e9))return _0x6832fc(0x158);return _0x6832fc(0x15a);}export function appDefinedIn(_0x4488bc,_0x3c408a,_0x338143,_0x5e2ec1){const _0x455323=a23_0x8952;if(_0x5e2ec1)return Object[_0x455323(0x15c)]['hasOwnProperty'][_0x455323(0x166)](_0x338143,_0x4488bc)?_0x455323(0x15a):'global';const _0x5cf56c=Object[_0x455323(0x15c)][_0x455323(0x167)]['call'](_0x3c408a,_0x4488bc),_0x2923c8=Object[_0x455323(0x15c)][_0x455323(0x167)]['call'](_0x338143,_0x4488bc);if(_0x5cf56c&&_0x2923c8)return _0x455323(0x155);if(_0x2923c8)return _0x455323(0x15a);return _0x455323(0x158);}export function resolveDefaultAppSource(_0x5c47c0){const _0x3a441b=a23_0x8952,_0xfd7f51=_0x5c47c0[_0x3a441b(0x151)][_0x3a441b(0x150)]&&typeof _0x5c47c0[_0x3a441b(0x151)][_0x3a441b(0x150)]===_0x3a441b(0x15d)?_0x5c47c0['projectConfig'][_0x3a441b(0x150)]:{};if(_0x3a441b(0x14c)in _0x5c47c0[_0x3a441b(0x151)])return _0x3a441b(0x15a);if(Object[_0x3a441b(0x148)](_0xfd7f51)[_0x3a441b(0x14d)]>0x0)return _0x3a441b(0x15a);if(_0x5c47c0['projectConfig'][_0x3a441b(0x154)]===![])return null;if(_0x5c47c0[_0x3a441b(0x14e)][_0x3a441b(0x14c)])return'global';return null;}export function getConfigPath(_0x1f04b1={}){const _0x14d7ea=a23_0x8952,_0x217354=_0x1f04b1['global']?_0x14d7ea(0x158):'project';return resolveWriteConfigPath(_0x217354);}function a23_0x3b4f(){const _0xf5c0fc=['40RwjtzR','call','hasOwnProperty','16685229hXVzkA','keys','2090763apDQJw','name','398496JNhXOh','defaultApp','length','globalConfig','2TPkZAV','apps','projectConfig','isCurrent','7683084vYYoJh','inherit','both','appcode','currentApp','global','named','project','14HZLbmD','prototype','object','\x20(global)','appCode','764358ydMqDL','1412176ScZuwf','3818192vRlfjR','40uzwirj','trim'];a23_0x3b4f=function(){return _0xf5c0fc;};return a23_0x3b4f();}function a23_0x8952(_0x18d78b,_0x5f1330){_0x18d78b=_0x18d78b-0x148;const _0x3b4f00=a23_0x3b4f();let _0x89523c=_0x3b4f00[_0x18d78b];return _0x89523c;}export function readConfig(_0x37ff7e={}){return readConfigFile(getConfigPath(_0x37ff7e));}export function writeConfig(_0x4556db,_0x1f3cda={}){writeConfigFile(getConfigPath(_0x1f3cda),_0x4556db);}export function scopeLabel(_0xf6baa7){const _0x4bbd3a=a23_0x8952;return _0xf6baa7['global']?_0x4bbd3a(0x15e):'';}
1
+ (function(_0x4c9909,_0x5f0a29){const _0xa10250=a23_0x5e86,_0x24082f=_0x4c9909();while(!![]){try{const _0xf02996=parseInt(_0xa10250(0x193))/0x1*(parseInt(_0xa10250(0x184))/0x2)+-parseInt(_0xa10250(0x194))/0x3+-parseInt(_0xa10250(0x18c))/0x4+-parseInt(_0xa10250(0x188))/0x5*(-parseInt(_0xa10250(0x189))/0x6)+-parseInt(_0xa10250(0x18f))/0x7+parseInt(_0xa10250(0x192))/0x8*(parseInt(_0xa10250(0x190))/0x9)+-parseInt(_0xa10250(0x18e))/0xa*(-parseInt(_0xa10250(0x17c))/0xb);if(_0xf02996===_0x5f0a29)break;else _0x24082f['push'](_0x24082f['shift']());}catch(_0x47efc8){_0x24082f['push'](_0x24082f['shift']());}}}(a23_0x3c43,0xae9af));import{resolveWriteConfigPath,readConfigFile,writeConfigFile}from'../../context.js';export function enrichAppListItemsWithMergedSelection(_0x5d834d,_0x3cc2a1){const _0x306f00=a23_0x5e86;if(!_0x3cc2a1)return;const _0x48d94e=_0x3cc2a1[_0x306f00(0x181)]&&typeof _0x3cc2a1['apps']===_0x306f00(0x198)?_0x3cc2a1[_0x306f00(0x181)]:{},_0xc5609f=Object[_0x306f00(0x185)](_0x48d94e)['length']>0x0;for(const _0xccb2e1 of _0x5d834d){_0xccb2e1['isCurrent']=![];}const _0x4bf87b=_0x3cc2a1['appCode']!=null?String(_0x3cc2a1[_0x306f00(0x191)])['trim']():'';if(_0xc5609f){const _0x2191f7=_0x3cc2a1[_0x306f00(0x186)]??_0x3cc2a1[_0x306f00(0x199)];if(_0x2191f7)for(const _0x1eb9fa of _0x5d834d){_0x1eb9fa[_0x306f00(0x182)]===!![]&&_0x1eb9fa['name']===_0x2191f7&&(_0x1eb9fa[_0x306f00(0x19a)]=!![]);}for(const _0x87443d of _0x5d834d){if(_0x87443d[_0x306f00(0x182)]!==![])continue;if(_0x3cc2a1[_0x306f00(0x199)])continue;_0x4bf87b&&String(_0x87443d[_0x306f00(0x180)]??'')[_0x306f00(0x18a)]()===_0x4bf87b&&(_0x87443d[_0x306f00(0x19a)]=!![]);}return;}if(!_0x4bf87b)return;for(const _0x4132a8 of _0x5d834d){String(_0x4132a8['appcode']??'')[_0x306f00(0x18a)]()===_0x4bf87b&&(_0x4132a8[_0x306f00(0x19a)]=!![]);}}function a23_0x5e86(_0x41e7ea,_0x427ee4){_0x41e7ea=_0x41e7ea-0x17b;const _0x3c43b3=a23_0x3c43();let _0x5e8626=_0x3c43b3[_0x41e7ea];return _0x5e8626;}export function resolveAppScopeForWrite(_0x1a71f2,_0x101e28,_0x38dd7d){const _0x3d615e=a23_0x5e86;if(_0x101e28)return'global';const _0x564774=_0x38dd7d[_0x3d615e(0x17e)][_0x3d615e(0x181)]&&typeof _0x38dd7d[_0x3d615e(0x17e)][_0x3d615e(0x181)]===_0x3d615e(0x198)?_0x38dd7d[_0x3d615e(0x17e)]['apps']:{},_0x424871=_0x38dd7d[_0x3d615e(0x183)]['apps']&&typeof _0x38dd7d[_0x3d615e(0x183)][_0x3d615e(0x181)]===_0x3d615e(0x198)?_0x38dd7d[_0x3d615e(0x183)]['apps']:{};if(Object[_0x3d615e(0x17b)][_0x3d615e(0x196)][_0x3d615e(0x18d)](_0x564774,_0x1a71f2))return _0x3d615e(0x18b);if(Object[_0x3d615e(0x17b)][_0x3d615e(0x196)][_0x3d615e(0x18d)](_0x424871,_0x1a71f2))return _0x3d615e(0x195);return'project';}export function appDefinedIn(_0x1dd420,_0x3fc49f,_0x4f4d36,_0x274110){const _0x5b59a1=a23_0x5e86;if(_0x274110)return Object[_0x5b59a1(0x17b)]['hasOwnProperty'][_0x5b59a1(0x18d)](_0x4f4d36,_0x1dd420)?_0x5b59a1(0x18b):'global';const _0x2ea4f2=Object[_0x5b59a1(0x17b)][_0x5b59a1(0x196)][_0x5b59a1(0x18d)](_0x3fc49f,_0x1dd420),_0x3b4414=Object['prototype'][_0x5b59a1(0x196)][_0x5b59a1(0x18d)](_0x4f4d36,_0x1dd420);if(_0x2ea4f2&&_0x3b4414)return _0x5b59a1(0x17f);if(_0x3b4414)return _0x5b59a1(0x18b);return _0x5b59a1(0x195);}export function resolveDefaultAppSource(_0x519fd8){const _0xaba23a=a23_0x5e86,_0x5313fe=_0x519fd8[_0xaba23a(0x17e)][_0xaba23a(0x181)]&&typeof _0x519fd8[_0xaba23a(0x17e)][_0xaba23a(0x181)]===_0xaba23a(0x198)?_0x519fd8[_0xaba23a(0x17e)][_0xaba23a(0x181)]:{};if(_0xaba23a(0x199)in _0x519fd8[_0xaba23a(0x17e)])return _0xaba23a(0x18b);if(Object[_0xaba23a(0x185)](_0x5313fe)[_0xaba23a(0x197)]>0x0)return _0xaba23a(0x18b);if(_0x519fd8[_0xaba23a(0x17e)][_0xaba23a(0x17d)]===![])return null;if(_0x519fd8[_0xaba23a(0x183)][_0xaba23a(0x199)])return _0xaba23a(0x195);return null;}export function getConfigPath(_0x2a73a0={}){const _0x17147a=a23_0x5e86,_0x43bfb2=_0x2a73a0[_0x17147a(0x195)]?_0x17147a(0x195):_0x17147a(0x18b);return resolveWriteConfigPath(_0x43bfb2);}export function readConfig(_0x2e04ca={}){return readConfigFile(getConfigPath(_0x2e04ca));}export function writeConfig(_0x3e395d,_0x345cb4={}){writeConfigFile(getConfigPath(_0x345cb4),_0x3e395d);}export function scopeLabel(_0x3a1b1e){const _0x2f41ec=a23_0x5e86;return _0x3a1b1e[_0x2f41ec(0x195)]?_0x2f41ec(0x187):'';}function a23_0x3c43(){const _0x240778=['global','hasOwnProperty','length','object','defaultApp','isCurrent','prototype','5165479pvrXbQ','inherit','projectConfig','both','appcode','apps','named','globalConfig','215048HmMEzw','keys','currentApp','\x20(global)','4459105oQGlww','6OiaEtB','trim','project','3840484mgONtM','call','10oMaDfW','7027608TZVlod','9708606oQOzVY','appCode','8Irjpor','9kzMSGB','2185836VzXBcU'];a23_0x3c43=function(){return _0x240778;};return a23_0x3c43();}
@@ -1 +1 @@
1
- const a24_0x58c085=a24_0x25ae;function a24_0x5553(){const _0x1a26b3=['8811528VyzVYr','\x0aNote:\x20\x22','object','length','27978OLZCUl','\x20app\x20add\x20','trim','Switch\x20the\x20default\x20app','449UCWetM','App\x20profile\x20name\x20to\x20activate','\x20app\x20use\x20<name>\x20[--global]','\x22\x20(appcode:\x20','bool','Missing\x20app\x20name.','18pRybCA','app','keys','1530lTGlVW','args','1190228dGPvJW','validation','hasOwnProperty','\x22\x20was\x20defined\x20in\x20global\x20config;\x20profile\x20copied\x20into\x20project\x20so\x20the\x20project\x20config\x20self-resolves\x20under\x20the\x20default\x20project-first\x20inherit\x20policy.','use','55Shzron','global','projectPath','boolean','\x20--appcode\x20<code>`\x20first.','globalConfig','App\x20\x22','Available:\x20','1020690dzaTVd','appcode','apps','Use\x20global\x20config\x20scope','1235210QBkoPE','1110472YJEVNW','join','defaultApp','7tIHfeh'];a24_0x5553=function(){return _0x1a26b3;};return a24_0x5553();}(function(_0xae4844,_0x270b8d){const _0x1c28eb=a24_0x25ae,_0x403ff3=_0xae4844();while(!![]){try{const _0xddb98c=-parseInt(_0x1c28eb(0xb8))/0x1*(-parseInt(_0x1c28eb(0xc1))/0x2)+-parseInt(_0x1c28eb(0xa7))/0x3+-parseInt(_0x1c28eb(0xc3))/0x4+-parseInt(_0x1c28eb(0xc8))/0x5*(-parseInt(_0x1c28eb(0xb4))/0x6)+parseInt(_0x1c28eb(0xaf))/0x7*(-parseInt(_0x1c28eb(0xac))/0x8)+parseInt(_0x1c28eb(0xbe))/0x9*(-parseInt(_0x1c28eb(0xab))/0xa)+parseInt(_0x1c28eb(0xb0))/0xb;if(_0xddb98c===_0x270b8d)break;else _0x403ff3['push'](_0x403ff3['shift']());}catch(_0x1cc107){_0x403ff3['push'](_0x403ff3['shift']());}}}(a24_0x5553,0x2a09c));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(_0x4e85b4){const _0x5ad5c5=a24_0x25ae,_0x274761=_0x4e85b4[_0x5ad5c5(0xc2)][0x0]?.[_0x5ad5c5(0xb6)]();if(!_0x274761)throw CliErrors[_0x5ad5c5(0xc4)]('Missing\x20app\x20name.','Usage:\x20'+CLI_BIN_NAME+_0x5ad5c5(0xba));}function a24_0x25ae(_0x3c40cf,_0x4c63f3){_0x3c40cf=_0x3c40cf-0xa5;const _0x555384=a24_0x5553();let _0x25ae07=_0x555384[_0x3c40cf];return _0x25ae07;}async function execute(_0x584bca){const _0x2b5fb2=a24_0x25ae,_0x5e50e9=_0x584bca['args'][0x0]?.[_0x2b5fb2(0xb6)]();if(!_0x5e50e9)throw CliErrors[_0x2b5fb2(0xc4)](_0x2b5fb2(0xbd),'Usage:\x20'+CLI_BIN_NAME+_0x2b5fb2(0xba));const _0x6e699c=_0x584bca[_0x2b5fb2(0xbc)](_0x2b5fb2(0xc9)),{config:_0x41f5c0,layers:_0x3e9456}=readRawConfigWithLayers(),_0x5a0a8f=_0x41f5c0[_0x2b5fb2(0xa9)]??{},_0x2c0164=_0x3e9456[_0x2b5fb2(0xcd)][_0x2b5fb2(0xa9)]&&typeof _0x3e9456['globalConfig']['apps']===_0x2b5fb2(0xb2)?_0x3e9456[_0x2b5fb2(0xcd)][_0x2b5fb2(0xa9)]:{},_0x4f6430={..._0x2c0164,..._0x5a0a8f};if(!_0x4f6430[_0x5e50e9]){const _0x7efb79=Object[_0x2b5fb2(0xc0)](_0x4f6430),_0x52a6e4=_0x7efb79[_0x2b5fb2(0xb3)]===0x0?'Use\x20`'+CLI_BIN_NAME+_0x2b5fb2(0xb5)+_0x5e50e9+_0x2b5fb2(0xcc):_0x2b5fb2(0xa6)+_0x7efb79[_0x2b5fb2(0xad)](',\x20');throw CliErrors['validation'](_0x2b5fb2(0xa5)+_0x5e50e9+'\x22\x20not\x20found.',_0x52a6e4);}let _0x5df90c,_0x33e3fd='';if(_0x6e699c)_0x5df90c={'global':!![]};else{const _0x3bf95d=isInProject()&&!!_0x3e9456[_0x2b5fb2(0xca)];_0x5df90c={'global':!_0x3bf95d};}const _0xb3bcb9=readConfig(_0x5df90c);_0xb3bcb9[_0x2b5fb2(0xae)]=_0x5e50e9;if(!_0x5df90c[_0x2b5fb2(0xc9)]){const _0x54e327=_0xb3bcb9['apps']&&typeof _0xb3bcb9['apps']===_0x2b5fb2(0xb2)?_0xb3bcb9['apps']:{};!Object['prototype'][_0x2b5fb2(0xc5)]['call'](_0x54e327,_0x5e50e9)&&(_0xb3bcb9[_0x2b5fb2(0xa9)]={..._0x54e327,[_0x5e50e9]:_0x4f6430[_0x5e50e9]},_0x33e3fd=_0x2b5fb2(0xb1)+_0x5e50e9+_0x2b5fb2(0xc6));}return writeConfig(_0xb3bcb9,_0x5df90c),{'ok':!![],'message':'Default\x20app\x20set\x20to\x20\x22'+_0x5e50e9+_0x2b5fb2(0xbb)+_0x4f6430[_0x5e50e9][_0x2b5fb2(0xa8)]+')'+scopeLabel(_0x5df90c)+_0x33e3fd};}export const appUseDefinition={'service':a24_0x58c085(0xbf),'command':a24_0x58c085(0xc7),'description':a24_0x58c085(0xb7),'risk':'write','requiresAuth':![],'requiresAppCode':![],'args':[{'name':'name','description':a24_0x58c085(0xb9),'required':!![]}],'flags':[{'name':a24_0x58c085(0xc9),'type':a24_0x58c085(0xcb),'description':a24_0x58c085(0xaa),'default':![]}],'validate':validateArgs,'execute':execute};
1
+ const a24_0x13083e=a24_0x9a95;(function(_0x146e1e,_0x280a17){const _0x50ca2b=a24_0x9a95,_0x446cb5=_0x146e1e();while(!![]){try{const _0x2863f2=parseInt(_0x50ca2b(0x18f))/0x1+-parseInt(_0x50ca2b(0x18a))/0x2+-parseInt(_0x50ca2b(0x185))/0x3*(parseInt(_0x50ca2b(0x19b))/0x4)+-parseInt(_0x50ca2b(0x189))/0x5+parseInt(_0x50ca2b(0x193))/0x6+parseInt(_0x50ca2b(0x192))/0x7*(parseInt(_0x50ca2b(0x1a0))/0x8)+parseInt(_0x50ca2b(0x18e))/0x9*(parseInt(_0x50ca2b(0x187))/0xa);if(_0x2863f2===_0x280a17)break;else _0x446cb5['push'](_0x446cb5['shift']());}catch(_0x18a078){_0x446cb5['push'](_0x446cb5['shift']());}}}(a24_0x2fa7,0xcf4c9));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';function a24_0x9a95(_0x14d2a5,_0x463935){_0x14d2a5=_0x14d2a5-0x183;const _0x2fa757=a24_0x2fa7();let _0x9a953a=_0x2fa757[_0x14d2a5];return _0x9a953a;}import{readRawConfigWithLayers,isInProject}from'../../context.js';function a24_0x2fa7(){const _0x2f3902=['join','\x20app\x20use\x20<name>\x20[--global]','\x20--appcode\x20<code>`\x20first.','app','Missing\x20app\x20name.','keys','projectPath','globalConfig','4384875INBOpK','Available:\x20','10iGyLCM','Use\x20`','7844995JJjfem','30980ZNgxxv','\x20app\x20add\x20','\x22\x20not\x20found.','Switch\x20the\x20default\x20app','8549901EnGOyy','681903IYnpkN','\x0aNote:\x20\x22','boolean','14EmkPFk','5381826PuYsOb','Use\x20global\x20config\x20scope','trim','\x22\x20(appcode:\x20','validation','App\x20profile\x20name\x20to\x20activate','object','prototype','4LeQGHB','use','defaultApp','global','name','5465392sDGKSG','Usage:\x20','hasOwnProperty','write','apps'];a24_0x2fa7=function(){return _0x2f3902;};return a24_0x2fa7();}import{readConfig,writeConfig,scopeLabel}from'../../commands/app/shared.js';async function validateArgs(_0x4827fe){const _0x5a1cdb=a24_0x9a95,_0x4eb9c9=_0x4827fe['args'][0x0]?.[_0x5a1cdb(0x195)]();if(!_0x4eb9c9)throw CliErrors['validation'](_0x5a1cdb(0x1a9),_0x5a1cdb(0x1a1)+CLI_BIN_NAME+_0x5a1cdb(0x1a6));}async function execute(_0x392ecc){const _0x29a704=a24_0x9a95,_0x405d93=_0x392ecc['args'][0x0]?.['trim']();if(!_0x405d93)throw CliErrors[_0x29a704(0x197)](_0x29a704(0x1a9),_0x29a704(0x1a1)+CLI_BIN_NAME+_0x29a704(0x1a6));const _0x25a0c9=_0x392ecc['bool'](_0x29a704(0x19e)),{config:_0x1b7574,layers:_0x1e8774}=readRawConfigWithLayers(),_0x558321=_0x1b7574[_0x29a704(0x1a4)]??{},_0x5de7a2=_0x1e8774['globalConfig'][_0x29a704(0x1a4)]&&typeof _0x1e8774['globalConfig'][_0x29a704(0x1a4)]===_0x29a704(0x199)?_0x1e8774[_0x29a704(0x184)]['apps']:{},_0x189368={..._0x5de7a2,..._0x558321};if(!_0x189368[_0x405d93]){const _0x5617fc=Object[_0x29a704(0x1aa)](_0x189368),_0x3113d0=_0x5617fc['length']===0x0?_0x29a704(0x188)+CLI_BIN_NAME+_0x29a704(0x18b)+_0x405d93+_0x29a704(0x1a7):_0x29a704(0x186)+_0x5617fc[_0x29a704(0x1a5)](',\x20');throw CliErrors[_0x29a704(0x197)]('App\x20\x22'+_0x405d93+_0x29a704(0x18c),_0x3113d0);}let _0x4abe3d,_0x3eccc2='';if(_0x25a0c9)_0x4abe3d={'global':!![]};else{const _0x4ea5da=isInProject()&&!!_0x1e8774[_0x29a704(0x183)];_0x4abe3d={'global':!_0x4ea5da};}const _0x419602=readConfig(_0x4abe3d);_0x419602[_0x29a704(0x19d)]=_0x405d93;if(!_0x4abe3d[_0x29a704(0x19e)]){const _0x2b5d0a=_0x419602[_0x29a704(0x1a4)]&&typeof _0x419602[_0x29a704(0x1a4)]===_0x29a704(0x199)?_0x419602['apps']:{};!Object[_0x29a704(0x19a)][_0x29a704(0x1a2)]['call'](_0x2b5d0a,_0x405d93)&&(_0x419602[_0x29a704(0x1a4)]={..._0x2b5d0a,[_0x405d93]:_0x189368[_0x405d93]},_0x3eccc2=_0x29a704(0x190)+_0x405d93+'\x22\x20was\x20defined\x20in\x20global\x20config;\x20profile\x20copied\x20into\x20project\x20so\x20the\x20project\x20config\x20self-resolves\x20under\x20the\x20default\x20project-first\x20inherit\x20policy.');}return writeConfig(_0x419602,_0x4abe3d),{'ok':!![],'message':'Default\x20app\x20set\x20to\x20\x22'+_0x405d93+_0x29a704(0x196)+_0x189368[_0x405d93]['appcode']+')'+scopeLabel(_0x4abe3d)+_0x3eccc2};}export const appUseDefinition={'service':a24_0x13083e(0x1a8),'command':a24_0x13083e(0x19c),'description':a24_0x13083e(0x18d),'risk':a24_0x13083e(0x1a3),'requiresAuth':![],'requiresAppCode':![],'args':[{'name':a24_0x13083e(0x19f),'description':a24_0x13083e(0x198),'required':!![]}],'flags':[{'name':'global','type':a24_0x13083e(0x191),'description':a24_0x13083e(0x194),'default':![]}],'validate':validateArgs,'execute':execute};
@@ -1 +1 @@
1
- const a25_0x186809=a25_0x1a93;(function(_0xbff3a0,_0x15866c){const _0x9eff04=a25_0x1a93,_0x33ee97=_0xbff3a0();while(!![]){try{const _0x207585=-parseInt(_0x9eff04(0x84))/0x1*(parseInt(_0x9eff04(0x7f))/0x2)+parseInt(_0x9eff04(0x86))/0x3*(-parseInt(_0x9eff04(0x7d))/0x4)+-parseInt(_0x9eff04(0x83))/0x5+parseInt(_0x9eff04(0x8c))/0x6*(parseInt(_0x9eff04(0x7c))/0x7)+-parseInt(_0x9eff04(0x91))/0x8+-parseInt(_0x9eff04(0x7a))/0x9+parseInt(_0x9eff04(0x8d))/0xa*(parseInt(_0x9eff04(0x80))/0xb);if(_0x207585===_0x15866c)break;else _0x33ee97['push'](_0x33ee97['shift']());}catch(_0x4cb0b2){_0x33ee97['push'](_0x33ee97['shift']());}}}(a25_0x8d6a,0xdfc71));import{unlinkSync,existsSync}from'node:fs';import{cookieFile}from'../../auth/constant.js';function a25_0x1a93(_0x3f00f4,_0x5c89e6){_0x3f00f4=_0x3f00f4-0x7a;const _0x8d6a44=a25_0x8d6a();let _0x1a9355=_0x8d6a44[_0x3f00f4];return _0x1a9355;}export const authDefinitions=[{'service':a25_0x186809(0x8e),'command':a25_0x186809(0x8b),'description':a25_0x186809(0x7e),'risk':a25_0x186809(0x85),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a25_0x186809(0x88),'type':a25_0x186809(0x8f),'description':a25_0x186809(0x7b),'default':![]}],async 'execute'(_0x4e5de6){const _0x2fa5cb=a25_0x186809,{runAuthServer:_0x25b0a2}=await import('../../auth/auth-server-ui.js');return await _0x25b0a2({'autoYes':_0x4e5de6[_0x2fa5cb(0x81)](_0x2fa5cb(0x88)),'nonInteractive':_0x4e5de6[_0x2fa5cb(0x8a)]}),{'ok':!![]};}},{'service':'auth','command':a25_0x186809(0x89),'description':a25_0x186809(0x87),'risk':a25_0x186809(0x90),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x530f3d){const _0x240468=a25_0x186809;return existsSync(cookieFile)?(unlinkSync(cookieFile),console['log'](_0x240468(0x82))):console['log'](_0x240468(0x92)),{'ok':!![]};}}];function a25_0x8d6a(){const _0x143f36=['15230241SRAxkT','Skip\x20login\x20confirmation\x20and\x20start\x20browser\x20auth\x20immediately','1227086aSVtNt','52ddNiBb','Login\x20via\x20browser','4wGoosh','55QvktAj','bool','✓\x20Logged\x20out','5592300GvzGzK','164534vMhJtw','read','118527fSXGRf','Clear\x20login\x20session','yes','logout','nonInteractive','login','6SVlAWm','10020810lWKHYd','auth','boolean','write','4925728hPXpaP','!\x20Not\x20logged\x20in'];a25_0x8d6a=function(){return _0x143f36;};return a25_0x8d6a();}
1
+ const a25_0x1459d5=a25_0x39ab;function a25_0x39ab(_0x3babd1,_0x566d62){_0x3babd1=_0x3babd1-0x183;const _0x150825=a25_0x1508();let _0x39abf2=_0x150825[_0x3babd1];return _0x39abf2;}function a25_0x1508(){const _0x311eac=['1993824JstTOL','yes','write','300868nUBpiP','✓\x20Logged\x20out','57297IvAWPX','Skip\x20login\x20confirmation\x20and\x20start\x20browser\x20auth\x20immediately','Clear\x20login\x20session','auth','1340cixjNm','nonInteractive','4545aWvByJ','log','logout','913829MnVvNe','12kZpbbu','1153995gQEDOQ','../../auth/auth-server-ui.js','3117LHLVbp','!\x20Not\x20logged\x20in','boolean','read','login','500tjrFmM','bool'];a25_0x1508=function(){return _0x311eac;};return a25_0x1508();}(function(_0x1e10b3,_0x200708){const _0x22a9d1=a25_0x39ab,_0x20ac88=_0x1e10b3();while(!![]){try{const _0x101d82=-parseInt(_0x22a9d1(0x18f))/0x1+parseInt(_0x22a9d1(0x18d))/0x2+-parseInt(_0x22a9d1(0x183))/0x3*(parseInt(_0x22a9d1(0x188))/0x4)+parseInt(_0x22a9d1(0x19a))/0x5+parseInt(_0x22a9d1(0x199))/0x6*(parseInt(_0x22a9d1(0x198))/0x7)+-parseInt(_0x22a9d1(0x18a))/0x8+-parseInt(_0x22a9d1(0x195))/0x9*(parseInt(_0x22a9d1(0x193))/0xa);if(_0x101d82===_0x200708)break;else _0x20ac88['push'](_0x20ac88['shift']());}catch(_0x127fff){_0x20ac88['push'](_0x20ac88['shift']());}}}(a25_0x1508,0x21c11));import{unlinkSync,existsSync}from'node:fs';import{cookieFile}from'../../auth/constant.js';export const authDefinitions=[{'service':a25_0x1459d5(0x192),'command':a25_0x1459d5(0x187),'description':'Login\x20via\x20browser','risk':a25_0x1459d5(0x186),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':'yes','type':a25_0x1459d5(0x185),'description':a25_0x1459d5(0x190),'default':![]}],async 'execute'(_0x1374ea){const _0x245b6b=a25_0x1459d5,{runAuthServer:_0x54caa9}=await import(_0x245b6b(0x19b));return await _0x54caa9({'autoYes':_0x1374ea[_0x245b6b(0x189)](_0x245b6b(0x18b)),'nonInteractive':_0x1374ea[_0x245b6b(0x194)]}),{'ok':!![]};}},{'service':a25_0x1459d5(0x192),'command':a25_0x1459d5(0x197),'description':a25_0x1459d5(0x191),'risk':a25_0x1459d5(0x18c),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0xbd6fa){const _0x49ec23=a25_0x1459d5;return existsSync(cookieFile)?(unlinkSync(cookieFile),console[_0x49ec23(0x196)](_0x49ec23(0x18e))):console['log'](_0x49ec23(0x184)),{'ok':!![]};}}];
@@ -1 +1 @@
1
- function a26_0x3f77(){const _0x12db13=['--function-node\x20must\x20be\x20\x27before\x27\x20or\x20\x27after\x27.','code','File\x20already\x20exists:\x20','isInteger','str','\x20function:\x20','1061032TxXfzM','156GgZuzZ','HOOK\x20requires\x20hookOptions\x20for\x20template\x20generation.','join','Alias\x20\x22','/**\x0a\x20*\x20HOOK\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','operationType','Trigger\x20node\x20(HOOK\x20only)','.js','after','type','datasetCode','/**\x0a\x20*\x20COMMON\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','validation','Dataset\x20alias\x20from\x20api.ts\x20(HOOK\x20only,\x20preferred)','Invalid\x20dataset\x20selection.','Function\x20name\x20(valid\x20JS\x20identifier)','\x0a\x20*\x20[脚本类型]\x20COMMON\x0a\x20*\x20[本地路径]\x20.rabetbase/bff/COMMON/','638870BSSmit','TODO:\x20add\x20script\x20description','appCode','string','Scaffold\x20a\x20new\x20BFF\x20function\x20from\x20template','alias','description','map','--alias\x20or\x20--datasetcode\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a','parseInt','The\x20api.ts\x20may\x20be\x20stale\x20—\x20run\x20`','\x22.\x20Must\x20be\x20a\x20valid\x20JS\x20identifier\x20(e.g.\x20createOrder,\x20beforeFilter).','49360vIiEhQ','create','name','UNKNOWN','tableName','ENDPOINT','81Gpqzqx','43948MhSvuy','functionNode','No\x20operation\x20types\x20found\x20for\x20dataset\x20','6990iyzCKg','\x0a\x20*\x20[触发节点]\x20','1552644bsOZzB','scriptsRootDir','length','utf8','--function-node\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','nonInteractive','before','No\x20api.ts\x20found.\x20Run\x20`','trim','datasetcode','Created\x20','source','Script\x20description','/**\x0a\x20*\x20ENDPOINT\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','close','7yhudfa','HOOK\x20requires\x20alias/operation/node\x20options.','bff','operation-type','\x22\x20not\x20found.\x20','\x0a\x20*\x20[接口路径]\x20POST\x20/api/endpoint/{appCode}/{scriptName}\x0a\x20*\x20[当前示例]\x20POST\x20/api/endpoint/','write','\x20api\x20pull`\x20first,\x20or\x20use\x20--datasetcode\x20instead.','COMMON','Invalid\x20function\x20name\x20\x22','keys','694825iSmNWB','\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','stderr','entries','find','Select\x20dataset:','function-node','HOOK','Operation\x20type\x20\x22','apiDir','Select\x20operation\x20type:','Dataset\x20not\x20found\x20for\x20code\x20\x22','stdin','Available:\x20'];a26_0x3f77=function(){return _0x12db13;};return a26_0x3f77();}const a26_0x385cdd=a26_0x41fe;function a26_0x41fe(_0x4d43b8,_0x4da5cf){_0x4d43b8=_0x4d43b8-0xcd;const _0x3f7789=a26_0x3f77();let _0x41fe33=_0x3f7789[_0x4d43b8];return _0x41fe33;}(function(_0x31e735,_0x1e96ab){const _0x389867=a26_0x41fe,_0x58d806=_0x31e735();while(!![]){try{const _0x1aaf1b=parseInt(_0x389867(0x116))/0x1*(-parseInt(_0x389867(0x102))/0x2)+parseInt(_0x389867(0x105))/0x3*(-parseInt(_0x389867(0xdd))/0x4)+-parseInt(_0x389867(0x121))/0x5+parseInt(_0x389867(0x107))/0x6+parseInt(_0x389867(0xdc))/0x7+parseInt(_0x389867(0xfb))/0x8*(parseInt(_0x389867(0x101))/0x9)+parseInt(_0x389867(0xee))/0xa;if(_0x1aaf1b===_0x1e96ab)break;else _0x58d806['push'](_0x58d806['shift']());}catch(_0x402751){_0x58d806['push'](_0x58d806['shift']());}}}(a26_0x3f77,0x23ac2));import{createInterface}from'node:readline';import{mkdir,writeFile}from'node:fs/promises';import{dirname,join}from'node:path';import{listDatasets,listBffDatasetOperations}from'../../core/api-client.js';import{loadAliasMap,resolveAlias}from'../../core/alias-resolver.js';import{resolveApiFilePath}from'../../context.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{fileExists}from'../../core/bff/file-system.js';import{isValidBffFunctionName,normalizeHookFunctionNode}from'../../core/bff/utils.js';import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';export const bffCreate={'service':a26_0x385cdd(0x118),'command':a26_0x385cdd(0xfc),'description':a26_0x385cdd(0xf2),'risk':'write','flags':[{'name':a26_0x385cdd(0xe6),'type':a26_0x385cdd(0xf1),'required':!![],'enum':[a26_0x385cdd(0x11e),'ENDPOINT',a26_0x385cdd(0xcf)],'description':'Script\x20type'},{'name':a26_0x385cdd(0xfd),'type':a26_0x385cdd(0xf1),'required':!![],'description':a26_0x385cdd(0xec)},{'name':a26_0x385cdd(0xf4),'type':a26_0x385cdd(0xf1),'description':a26_0x385cdd(0x113)},{'name':'alias','type':a26_0x385cdd(0xf1),'description':a26_0x385cdd(0xea)},{'name':'datasetcode','type':a26_0x385cdd(0xf1),'description':'Dataset\x20code\x20(HOOK\x20only,\x20fallback\x20when\x20alias\x20unavailable)'},{'name':a26_0x385cdd(0x119),'type':'string','description':'Operation\x20type\x20(HOOK\x20only)'},{'name':a26_0x385cdd(0xce),'type':'string','description':a26_0x385cdd(0xe3),'enum':[a26_0x385cdd(0x10d),'after']}],async 'validate'(_0x4c7ca3){const _0x1bc104=a26_0x385cdd,_0x3ccbd6=_0x4c7ca3['str']('name');if(!isValidBffFunctionName(_0x3ccbd6))throw CliErrors[_0x1bc104(0xe9)](_0x1bc104(0x11f)+_0x3ccbd6+_0x1bc104(0xfa));},async 'execute'(_0x25ef50){const _0x56a9da=a26_0x385cdd,_0x2761ce=loadBffProjectConfig(_0x25ef50[_0x56a9da(0xf0)]),_0x6a6f67=_0x25ef50[_0x56a9da(0xda)](_0x56a9da(0xe6)),_0x3ba175=_0x25ef50[_0x56a9da(0xda)]('name'),_0x4ead17=_0x25ef50['str'](_0x56a9da(0xf4))||undefined,_0x7bac93=_0x6a6f67==='HOOK'?await resolveHookOptions(_0x2761ce,_0x25ef50):undefined,_0x186b69=buildFilePath(_0x2761ce,_0x6a6f67,_0x3ba175,_0x7bac93);if(await fileExists(_0x186b69))throw CliErrors[_0x56a9da(0xe9)](_0x56a9da(0xd8)+_0x186b69);await mkdir(dirname(_0x186b69),{'recursive':!![]});const _0x1634af=generateTemplate(_0x6a6f67,_0x3ba175,_0x25ef50['appCode'],_0x4ead17,_0x7bac93);await writeFile(_0x186b69,_0x1634af,_0x56a9da(0x10a));const _0x3dfdf6={'type':_0x6a6f67,'name':_0x3ba175,'path':_0x186b69};if(_0x4ead17)_0x3dfdf6[_0x56a9da(0xf4)]=_0x4ead17;if(_0x7bac93){if(_0x7bac93[_0x56a9da(0xf3)])_0x3dfdf6[_0x56a9da(0xf3)]=_0x7bac93[_0x56a9da(0xf3)];_0x3dfdf6['datasetCode']=_0x7bac93[_0x56a9da(0xe7)],_0x3dfdf6['operationType']=_0x7bac93[_0x56a9da(0xe2)],_0x3dfdf6[_0x56a9da(0x103)]=_0x7bac93['functionNode'];}return{'ok':!![],'data':_0x3dfdf6,'message':_0x56a9da(0x111)+_0x6a6f67+_0x56a9da(0xdb)+_0x3ba175};}};async function resolveHookOptions(_0x16d314,_0x268bc2){const _0x1d94f6=a26_0x385cdd,_0xf59b8c=loadAliasMap(_0x268bc2[_0x1d94f6(0xd1)],undefined,resolveApiFilePath(_0x268bc2[_0x1d94f6(0xd1)],_0x268bc2[_0x1d94f6(0xf0)])),_0x56d409=_0xf59b8c[_0x1d94f6(0x109)]>0x0;let _0x1ecab5,_0x3ad5bc,_0xfb04b2;const _0x1d9ddc=_0x268bc2[_0x1d94f6(0xda)]('alias'),_0x31054e=_0x268bc2[_0x1d94f6(0xda)](_0x1d94f6(0x110));if(_0x1d9ddc){const _0x253205=resolveAlias(_0x268bc2[_0x1d94f6(0xd1)],_0x1d9ddc,undefined,resolveApiFilePath(_0x268bc2[_0x1d94f6(0xd1)],_0x268bc2[_0x1d94f6(0xf0)]));if(!_0x253205){const _0x3d475e=_0x56d409?'Available\x20aliases:\x20'+_0xf59b8c[_0x1d94f6(0xf5)](_0x38a884=>_0x38a884['alias'])['join'](',\x20'):_0x1d94f6(0x10e)+CLI_BIN_NAME+_0x1d94f6(0x11d);throw CliErrors[_0x1d94f6(0xe9)](_0x1d94f6(0xe0)+_0x1d9ddc+_0x1d94f6(0x11a)+_0x3d475e);}_0x1ecab5=_0x1d9ddc,_0x3ad5bc=_0x253205;}else{if(_0x31054e){_0x3ad5bc=_0x31054e;const _0x420c90=_0xf59b8c[_0x1d94f6(0x125)](_0x43c268=>_0x43c268[_0x1d94f6(0xe7)]===_0x31054e);_0x1ecab5=_0x420c90?.[_0x1d94f6(0xf3)];}else{if(_0x268bc2[_0x1d94f6(0x10c)])throw CliErrors[_0x1d94f6(0xe9)](_0x1d94f6(0xf6));else{if(_0x56d409){const _0x3e64e2=_0xf59b8c[_0x1d94f6(0xf5)](_0x3b3680=>_0x3b3680[_0x1d94f6(0xf3)]+'\x20('+_0x3b3680[_0x1d94f6(0xff)]+')'),_0x198526=await promptSelect(_0x1d94f6(0xcd),_0x3e64e2),_0x54805e=_0xf59b8c[_0x198526];if(!_0x54805e)throw CliErrors[_0x1d94f6(0xe9)](_0x1d94f6(0xeb));_0x1ecab5=_0x54805e[_0x1d94f6(0xf3)],_0x3ad5bc=_0x54805e[_0x1d94f6(0xe7)];}else{const _0x2294ba=await listDatasets(_0x268bc2[_0x1d94f6(0xf0)]);if(_0x2294ba[_0x1d94f6(0x109)]===0x0)throw CliErrors['validation']('No\x20datasets\x20found\x20for\x20this\x20app.');const _0x14e363=_0x2294ba[_0x1d94f6(0xf5)](_0x150b64=>_0x150b64[_0x1d94f6(0xfd)]+'\x20['+(_0x150b64[_0x1d94f6(0x112)]??_0x1d94f6(0xfe))+']\x20('+_0x150b64[_0x1d94f6(0xd7)]+')'),_0x182e52=await promptSelect(_0x1d94f6(0xcd),_0x14e363),_0x193dd3=_0x2294ba[_0x182e52];if(!_0x193dd3)throw CliErrors['validation']('Invalid\x20dataset\x20selection.');_0x3ad5bc=_0x193dd3[_0x1d94f6(0xd7)],_0x1ecab5=undefined;}}}}const _0x2a38fa=await listDatasets(_0x268bc2[_0x1d94f6(0xf0)]),_0x4992bb=_0x2a38fa['find'](_0x4c6db3=>_0x4c6db3[_0x1d94f6(0xd7)]===_0x3ad5bc);if(!_0x4992bb)throw CliErrors[_0x1d94f6(0xe9)](_0x1d94f6(0xd3)+_0x3ad5bc+'\x22.\x20'+(_0x1ecab5?_0x1d94f6(0xf9)+CLI_BIN_NAME+'\x20api\x20pull`\x20to\x20refresh.':''));_0xfb04b2=_0x4992bb['id'];const _0x532a45=_0x1ecab5??_0x3ad5bc,_0x1c3910=await listBffDatasetOperations(_0x268bc2[_0x1d94f6(0xf0)],_0xfb04b2),_0x11ec25=_0x1c3910?Object[_0x1d94f6(0x120)](_0x1c3910):[];if(_0x11ec25['length']===0x0)throw CliErrors['validation'](_0x1d94f6(0x104)+_0x532a45+'.');let _0x360923;const _0x214cf7=_0x268bc2[_0x1d94f6(0xda)](_0x1d94f6(0x119));if(_0x214cf7){if(!_0x11ec25['includes'](_0x214cf7))throw CliErrors[_0x1d94f6(0xe9)](_0x1d94f6(0xd0)+_0x214cf7+'\x22\x20not\x20found\x20for\x20dataset\x20'+_0x532a45+'.\x20'+(_0x1d94f6(0xd5)+_0x11ec25[_0x1d94f6(0xdf)](',\x20')));_0x360923=_0x214cf7;}else{if(_0x268bc2[_0x1d94f6(0x10c)])throw CliErrors[_0x1d94f6(0xe9)]('--operation-type\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.');const _0x3be834=await promptSelect(_0x1d94f6(0xd2),_0x11ec25);_0x360923=_0x11ec25[_0x3be834]??_0x11ec25[0x0];}let _0x9846ae=normalizeHookFunctionNode(_0x268bc2[_0x1d94f6(0xda)](_0x1d94f6(0xce)));if(!_0x9846ae){if(_0x268bc2[_0x1d94f6(0xda)](_0x1d94f6(0xce)))throw CliErrors[_0x1d94f6(0xe9)](_0x1d94f6(0xd6));if(_0x268bc2[_0x1d94f6(0x10c)])throw CliErrors['validation'](_0x1d94f6(0x10b));const _0x225589=await promptSelect('Select\x20trigger\x20node:',['before',_0x1d94f6(0xe5)]);_0x9846ae=[_0x1d94f6(0x10d),_0x1d94f6(0xe5)][_0x225589]??_0x1d94f6(0x10d);}return{'alias':_0x1ecab5,'datasetCode':_0x3ad5bc,'datasetId':_0xfb04b2,'operationType':_0x360923,'functionNode':_0x9846ae};}async function promptSelect(_0x39e03b,_0x222778){const _0x10add7=a26_0x385cdd;if(_0x222778['length']===0x1)return 0x0;for(const [_0x1aa1f9,_0x34a78a]of _0x222778[_0x10add7(0x124)]()){process['stderr'][_0x10add7(0x11c)]('\x20\x20'+(_0x1aa1f9+0x1)+'.\x20'+_0x34a78a+'\x0a');}const _0x25f1aa=createInterface({'input':process[_0x10add7(0xd4)],'output':process[_0x10add7(0x123)]});while(!![]){const _0x33f9f8=await new Promise(_0x4d3994=>{_0x25f1aa['question'](_0x39e03b+'\x20',_0x4d3994);}),_0x329c23=Number[_0x10add7(0xf8)](_0x33f9f8[_0x10add7(0x10f)](),0xa);if(Number[_0x10add7(0xd9)](_0x329c23)&&_0x329c23>=0x1&&_0x329c23<=_0x222778[_0x10add7(0x109)])return _0x25f1aa[_0x10add7(0x115)](),_0x329c23-0x1;process[_0x10add7(0x123)]['write']('\x20\x20Enter\x20a\x20number\x20between\x201\x20and\x20'+_0x222778['length']+'.\x0a');}}function buildFilePath(_0x53bb6f,_0x1ff1e5,_0x3b18ac,_0x530f11){const _0x219a84=a26_0x385cdd;if(_0x1ff1e5===_0x219a84(0xcf)){if(!_0x530f11)throw CliErrors['validation'](_0x219a84(0x117));const _0x3609e3=_0x530f11['alias']??_0x530f11['datasetCode'];return join(_0x53bb6f[_0x219a84(0x108)],_0x219a84(0xcf),_0x3609e3,_0x530f11[_0x219a84(0xe2)],_0x530f11[_0x219a84(0x103)],_0x3b18ac+_0x219a84(0xe4));}return join(_0x53bb6f[_0x219a84(0x108)],_0x1ff1e5,_0x3b18ac+_0x219a84(0xe4));}export function generateTemplate(_0x426adb,_0x51b667,_0x4f9455,_0x1bee33,_0x469fee){const _0x333d83=a26_0x385cdd,_0x19d052=_0x1bee33?.[_0x333d83(0x10f)]()||_0x333d83(0xef);if(_0x426adb===_0x333d83(0x11e))return _0x333d83(0xe8)+_0x19d052+'\x0a\x20*\x20[脚本名称]\x20'+_0x51b667+_0x333d83(0xed)+_0x51b667+'.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'+_0x51b667+_0x333d83(0xf7);if(_0x426adb===_0x333d83(0x100))return _0x333d83(0x114)+_0x19d052+_0x333d83(0x11b)+_0x4f9455+'/'+_0x51b667+_0x333d83(0x122)+_0x51b667+_0x333d83(0xf7);if(!_0x469fee)throw CliErrors['validation'](_0x333d83(0xde));return _0x333d83(0xe1)+_0x19d052+'\x0a\x20*\x20[接口路径]\x20POST\x20/api/'+_0x4f9455+'/'+_0x469fee[_0x333d83(0xe7)]+'/'+_0x469fee[_0x333d83(0xe2)]+_0x333d83(0x106)+_0x469fee['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'+_0x51b667+_0x333d83(0xf7);}
1
+ const a26_0x23e894=a26_0x4e14;(function(_0x30fb13,_0x38c632){const _0x414e8d=a26_0x4e14,_0x15c9ca=_0x30fb13();while(!![]){try{const _0x46005b=-parseInt(_0x414e8d(0xf8))/0x1*(-parseInt(_0x414e8d(0xc6))/0x2)+parseInt(_0x414e8d(0xd4))/0x3*(-parseInt(_0x414e8d(0xc2))/0x4)+-parseInt(_0x414e8d(0xd6))/0x5+parseInt(_0x414e8d(0xbb))/0x6+parseInt(_0x414e8d(0xef))/0x7*(-parseInt(_0x414e8d(0xd3))/0x8)+-parseInt(_0x414e8d(0x107))/0x9+-parseInt(_0x414e8d(0xdd))/0xa*(-parseInt(_0x414e8d(0x104))/0xb);if(_0x46005b===_0x38c632)break;else _0x15c9ca['push'](_0x15c9ca['shift']());}catch(_0x1d0fbf){_0x15c9ca['push'](_0x15c9ca['shift']());}}}(a26_0x3e03,0xbc4ce));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';function a26_0x4e14(_0x21ee79,_0x3fbd2c){_0x21ee79=_0x21ee79-0xba;const _0x3e03f0=a26_0x3e03();let _0x4e1445=_0x3e03f0[_0x21ee79];return _0x4e1445;}import{loadBffProjectConfig}from'../../core/bff/config.js';import{fileExists}from'../../core/bff/file-system.js';import{isValidBffFunctionName,normalizeHookFunctionNode}from'../../core/bff/utils.js';import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';export const bffCreate={'service':a26_0x23e894(0xca),'command':a26_0x23e894(0x10d),'description':a26_0x23e894(0xff),'risk':a26_0x23e894(0xe0),'flags':[{'name':'type','type':'string','required':!![],'enum':[a26_0x23e894(0xed),'ENDPOINT',a26_0x23e894(0xdf)],'description':'Script\x20type'},{'name':a26_0x23e894(0xc7),'type':a26_0x23e894(0xbc),'required':!![],'description':'Function\x20name\x20(valid\x20JS\x20identifier)'},{'name':'description','type':'string','description':a26_0x23e894(0xcd)},{'name':'alias','type':a26_0x23e894(0xbc),'description':a26_0x23e894(0xe4)},{'name':a26_0x23e894(0xf0),'type':a26_0x23e894(0xbc),'description':'Dataset\x20code\x20(HOOK\x20only,\x20fallback\x20when\x20alias\x20unavailable)'},{'name':a26_0x23e894(0xc0),'type':a26_0x23e894(0xbc),'description':a26_0x23e894(0xfa)},{'name':a26_0x23e894(0xc3),'type':'string','description':a26_0x23e894(0xcf),'enum':[a26_0x23e894(0xe6),a26_0x23e894(0x100)]}],async 'validate'(_0x3d3c4b){const _0x3631ff=a26_0x23e894,_0x13987b=_0x3d3c4b[_0x3631ff(0x103)](_0x3631ff(0xc7));if(!isValidBffFunctionName(_0x13987b))throw CliErrors[_0x3631ff(0xde)]('Invalid\x20function\x20name\x20\x22'+_0x13987b+_0x3631ff(0xeb));},async 'execute'(_0xacde2){const _0x262e89=a26_0x23e894,_0x1f388=loadBffProjectConfig(_0xacde2[_0x262e89(0xc9)]),_0x2c38f2=_0xacde2[_0x262e89(0x103)](_0x262e89(0xbd)),_0x353a5b=_0xacde2[_0x262e89(0x103)]('name'),_0x4666f4=_0xacde2[_0x262e89(0x103)](_0x262e89(0xbe))||undefined,_0x3a9d07=_0x2c38f2==='HOOK'?await resolveHookOptions(_0x1f388,_0xacde2):undefined,_0xe38f3=buildFilePath(_0x1f388,_0x2c38f2,_0x353a5b,_0x3a9d07);if(await fileExists(_0xe38f3))throw CliErrors[_0x262e89(0xde)](_0x262e89(0xbf)+_0xe38f3);await mkdir(dirname(_0xe38f3),{'recursive':!![]});const _0x5d6746=generateTemplate(_0x2c38f2,_0x353a5b,_0xacde2[_0x262e89(0xc9)],_0x4666f4,_0x3a9d07);await writeFile(_0xe38f3,_0x5d6746,_0x262e89(0xba));const _0x3b9ccc={'type':_0x2c38f2,'name':_0x353a5b,'path':_0xe38f3};if(_0x4666f4)_0x3b9ccc[_0x262e89(0xbe)]=_0x4666f4;if(_0x3a9d07){if(_0x3a9d07['alias'])_0x3b9ccc[_0x262e89(0x10c)]=_0x3a9d07['alias'];_0x3b9ccc[_0x262e89(0xfc)]=_0x3a9d07[_0x262e89(0xfc)],_0x3b9ccc[_0x262e89(0xfd)]=_0x3a9d07[_0x262e89(0xfd)],_0x3b9ccc[_0x262e89(0xe5)]=_0x3a9d07[_0x262e89(0xe5)];}return{'ok':!![],'data':_0x3b9ccc,'message':_0x262e89(0xd1)+_0x2c38f2+_0x262e89(0x10b)+_0x353a5b};}};async function resolveHookOptions(_0xde3924,_0x5b699a){const _0xdbbbb3=a26_0x23e894,_0x3ff0c3=loadAliasMap(_0x5b699a[_0xdbbbb3(0xd5)],undefined,resolveApiFilePath(_0x5b699a[_0xdbbbb3(0xd5)],_0x5b699a[_0xdbbbb3(0xc9)])),_0x2c903b=_0x3ff0c3[_0xdbbbb3(0xe1)]>0x0;let _0x12487d,_0x5da372,_0x4d854d;const _0x4dc68a=_0x5b699a[_0xdbbbb3(0x103)](_0xdbbbb3(0x10c)),_0x3ae143=_0x5b699a[_0xdbbbb3(0x103)](_0xdbbbb3(0xf0));if(_0x4dc68a){const _0x515320=resolveAlias(_0x5b699a[_0xdbbbb3(0xd5)],_0x4dc68a,undefined,resolveApiFilePath(_0x5b699a[_0xdbbbb3(0xd5)],_0x5b699a[_0xdbbbb3(0xc9)]));if(!_0x515320){const _0x1ea704=_0x2c903b?_0xdbbbb3(0xda)+_0x3ff0c3['map'](_0x3285e5=>_0x3285e5[_0xdbbbb3(0x10c)])[_0xdbbbb3(0x109)](',\x20'):_0xdbbbb3(0xcc)+CLI_BIN_NAME+_0xdbbbb3(0xd0);throw CliErrors[_0xdbbbb3(0xde)]('Alias\x20\x22'+_0x4dc68a+'\x22\x20not\x20found.\x20'+_0x1ea704);}_0x12487d=_0x4dc68a,_0x5da372=_0x515320;}else{if(_0x3ae143){_0x5da372=_0x3ae143;const _0x5939ad=_0x3ff0c3[_0xdbbbb3(0xc4)](_0x4425d1=>_0x4425d1['datasetCode']===_0x3ae143);_0x12487d=_0x5939ad?.[_0xdbbbb3(0x10c)];}else{if(_0x5b699a[_0xdbbbb3(0xce)])throw CliErrors[_0xdbbbb3(0xde)](_0xdbbbb3(0x101));else{if(_0x2c903b){const _0x1bad13=_0x3ff0c3[_0xdbbbb3(0xc5)](_0x1fb32f=>_0x1fb32f[_0xdbbbb3(0x10c)]+'\x20('+_0x1fb32f[_0xdbbbb3(0xe9)]+')'),_0x1c1ad9=await promptSelect('Select\x20dataset:',_0x1bad13),_0x26ffbb=_0x3ff0c3[_0x1c1ad9];if(!_0x26ffbb)throw CliErrors[_0xdbbbb3(0xde)](_0xdbbbb3(0xf2));_0x12487d=_0x26ffbb[_0xdbbbb3(0x10c)],_0x5da372=_0x26ffbb['datasetCode'];}else{const _0x57614e=await listDatasets(_0x5b699a[_0xdbbbb3(0xc9)]);if(_0x57614e[_0xdbbbb3(0xe1)]===0x0)throw CliErrors[_0xdbbbb3(0xde)]('No\x20datasets\x20found\x20for\x20this\x20app.');const _0x17773c=_0x57614e[_0xdbbbb3(0xc5)](_0x4995f9=>_0x4995f9[_0xdbbbb3(0xc7)]+'\x20['+(_0x4995f9['source']??_0xdbbbb3(0xf6))+_0xdbbbb3(0xe8)+_0x4995f9['code']+')'),_0x27feee=await promptSelect('Select\x20dataset:',_0x17773c),_0x28363c=_0x57614e[_0x27feee];if(!_0x28363c)throw CliErrors['validation']('Invalid\x20dataset\x20selection.');_0x5da372=_0x28363c['code'],_0x12487d=undefined;}}}}const _0x178fca=await listDatasets(_0x5b699a[_0xdbbbb3(0xc9)]),_0x1a9bc0=_0x178fca[_0xdbbbb3(0xc4)](_0xb5578f=>_0xb5578f[_0xdbbbb3(0xfe)]===_0x5da372);if(!_0x1a9bc0)throw CliErrors[_0xdbbbb3(0xde)](_0xdbbbb3(0xe7)+_0x5da372+_0xdbbbb3(0xfb)+(_0x12487d?'The\x20api.ts\x20may\x20be\x20stale\x20—\x20run\x20`'+CLI_BIN_NAME+_0xdbbbb3(0xc8):''));_0x4d854d=_0x1a9bc0['id'];const _0x4c453c=_0x12487d??_0x5da372,_0xe01c35=await listBffDatasetOperations(_0x5b699a[_0xdbbbb3(0xc9)],_0x4d854d),_0x4afe6a=_0xe01c35?Object['keys'](_0xe01c35):[];if(_0x4afe6a[_0xdbbbb3(0xe1)]===0x0)throw CliErrors[_0xdbbbb3(0xde)](_0xdbbbb3(0xdc)+_0x4c453c+'.');let _0x142d92;const _0x1200b5=_0x5b699a[_0xdbbbb3(0x103)](_0xdbbbb3(0xc0));if(_0x1200b5){if(!_0x4afe6a['includes'](_0x1200b5))throw CliErrors[_0xdbbbb3(0xde)](_0xdbbbb3(0xf5)+_0x1200b5+_0xdbbbb3(0xc1)+_0x4c453c+'.\x20'+(_0xdbbbb3(0xf9)+_0x4afe6a[_0xdbbbb3(0x109)](',\x20')));_0x142d92=_0x1200b5;}else{if(_0x5b699a['nonInteractive'])throw CliErrors[_0xdbbbb3(0xde)](_0xdbbbb3(0xf7));const _0x5bad1a=await promptSelect(_0xdbbbb3(0x108),_0x4afe6a);_0x142d92=_0x4afe6a[_0x5bad1a]??_0x4afe6a[0x0];}let _0x1f5da7=normalizeHookFunctionNode(_0x5b699a[_0xdbbbb3(0x103)](_0xdbbbb3(0xc3)));if(!_0x1f5da7){if(_0x5b699a[_0xdbbbb3(0x103)]('function-node'))throw CliErrors['validation']('--function-node\x20must\x20be\x20\x27before\x27\x20or\x20\x27after\x27.');if(_0x5b699a[_0xdbbbb3(0xce)])throw CliErrors[_0xdbbbb3(0xde)]('--function-node\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.');const _0x404ecb=await promptSelect(_0xdbbbb3(0xee),['before',_0xdbbbb3(0x100)]);_0x1f5da7=['before',_0xdbbbb3(0x100)][_0x404ecb]??_0xdbbbb3(0xe6);}return{'alias':_0x12487d,'datasetCode':_0x5da372,'datasetId':_0x4d854d,'operationType':_0x142d92,'functionNode':_0x1f5da7};}async function promptSelect(_0x47280b,_0x3ca105){const _0x386308=a26_0x23e894;if(_0x3ca105[_0x386308(0xe1)]===0x1)return 0x0;for(const [_0xd030b0,_0x1c2e96]of _0x3ca105['entries']()){process[_0x386308(0x106)][_0x386308(0xe0)]('\x20\x20'+(_0xd030b0+0x1)+'.\x20'+_0x1c2e96+'\x0a');}const _0x481b08=createInterface({'input':process[_0x386308(0xec)],'output':process[_0x386308(0x106)]});while(!![]){const _0x21dd58=await new Promise(_0x46c8b1=>{_0x481b08['question'](_0x47280b+'\x20',_0x46c8b1);}),_0x311c00=Number['parseInt'](_0x21dd58[_0x386308(0xea)](),0xa);if(Number['isInteger'](_0x311c00)&&_0x311c00>=0x1&&_0x311c00<=_0x3ca105[_0x386308(0xe1)])return _0x481b08[_0x386308(0xd2)](),_0x311c00-0x1;process['stderr'][_0x386308(0xe0)](_0x386308(0x10e)+_0x3ca105[_0x386308(0xe1)]+'.\x0a');}}function buildFilePath(_0x46055c,_0x262f9c,_0xa908,_0xfc80de){const _0x3465ee=a26_0x23e894;if(_0x262f9c===_0x3465ee(0xdf)){if(!_0xfc80de)throw CliErrors[_0x3465ee(0xde)](_0x3465ee(0xf3));const _0x339a65=_0xfc80de[_0x3465ee(0x10c)]??_0xfc80de[_0x3465ee(0xfc)];return join(_0x46055c[_0x3465ee(0x102)],_0x3465ee(0xdf),_0x339a65,_0xfc80de['operationType'],_0xfc80de[_0x3465ee(0xe5)],_0xa908+_0x3465ee(0xdb));}return join(_0x46055c[_0x3465ee(0x102)],_0x262f9c,_0xa908+'.js');}export function generateTemplate(_0x4e2a28,_0x2c6996,_0x355393,_0x49353e,_0x49cfaa){const _0x17dcac=a26_0x23e894,_0x585c2d=_0x49353e?.[_0x17dcac(0xea)]()||_0x17dcac(0xf4);if(_0x4e2a28===_0x17dcac(0xed))return'/**\x0a\x20*\x20COMMON\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20'+_0x585c2d+_0x17dcac(0x10a)+_0x2c6996+_0x17dcac(0x105)+_0x2c6996+_0x17dcac(0xd9)+_0x2c6996+'(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a';if(_0x4e2a28==='ENDPOINT')return _0x17dcac(0xd7)+_0x585c2d+_0x17dcac(0xf1)+_0x355393+'/'+_0x2c6996+'\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'+_0x2c6996+_0x17dcac(0xcb);if(!_0x49cfaa)throw CliErrors[_0x17dcac(0xde)](_0x17dcac(0xe2));return'/**\x0a\x20*\x20HOOK\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20'+_0x585c2d+_0x17dcac(0xd8)+_0x355393+'/'+_0x49cfaa[_0x17dcac(0xfc)]+'/'+_0x49cfaa[_0x17dcac(0xfd)]+'\x0a\x20*\x20[触发节点]\x20'+_0x49cfaa[_0x17dcac(0xe5)]+_0x17dcac(0xe3)+_0x2c6996+_0x17dcac(0xcb);}function a26_0x3e03(){const _0x291fe4=['Trigger\x20node\x20(HOOK\x20only)','\x20api\x20pull`\x20first,\x20or\x20use\x20--datasetcode\x20instead.','Created\x20','close','3352ILvphV','3GSKKRd','apiDir','7548950Uxenej','/**\x0a\x20*\x20ENDPOINT\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','\x0a\x20*\x20[接口路径]\x20POST\x20/api/','.js\x0a\x20*\x0a\x20*\x20@param\x20{Object}\x20params\x20-\x20Input\x20parameters.\x0a\x20*\x20@param\x20{Object}\x20context\x20-\x20Execution\x20context\x20(injected\x20by\x20platform).\x0a\x20*\x20@returns\x20{Promise<Object>}\x20Processing\x20result.\x0a\x20*/\x0aexport\x20default\x20async\x20function\x20','Available\x20aliases:\x20','.js','No\x20operation\x20types\x20found\x20for\x20dataset\x20','18110TlvEbj','validation','HOOK','write','length','HOOK\x20requires\x20hookOptions\x20for\x20template\x20generation.','\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','Dataset\x20alias\x20from\x20api.ts\x20(HOOK\x20only,\x20preferred)','functionNode','before','Dataset\x20not\x20found\x20for\x20code\x20\x22',']\x20(','tableName','trim','\x22.\x20Must\x20be\x20a\x20valid\x20JS\x20identifier\x20(e.g.\x20createOrder,\x20beforeFilter).','stdin','COMMON','Select\x20trigger\x20node:','14483epesoh','datasetcode','\x0a\x20*\x20[接口路径]\x20POST\x20/api/endpoint/{appCode}/{scriptName}\x0a\x20*\x20[当前示例]\x20POST\x20/api/endpoint/','Invalid\x20dataset\x20selection.','HOOK\x20requires\x20alias/operation/node\x20options.','TODO:\x20add\x20script\x20description','Operation\x20type\x20\x22','UNKNOWN','--operation-type\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','837071TbaAxm','Available:\x20','Operation\x20type\x20(HOOK\x20only)','\x22.\x20','datasetCode','operationType','code','Scaffold\x20a\x20new\x20BFF\x20function\x20from\x20template','after','--alias\x20or\x20--datasetcode\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','scriptsRootDir','str','20999GfxfKJ','\x0a\x20*\x20[脚本类型]\x20COMMON\x0a\x20*\x20[本地路径]\x20.rabetbase/bff/COMMON/','stderr','1280898EroMOA','Select\x20operation\x20type:','join','\x0a\x20*\x20[脚本名称]\x20','\x20function:\x20','alias','create','\x20\x20Enter\x20a\x20number\x20between\x201\x20and\x20','utf8','783510pNGqoM','string','type','description','File\x20already\x20exists:\x20','operation-type','\x22\x20not\x20found\x20for\x20dataset\x20','4538216aCBfkS','function-node','find','map','2ZdpaOF','name','\x20api\x20pull`\x20to\x20refresh.','appCode','bff','(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a','No\x20api.ts\x20found.\x20Run\x20`','Script\x20description','nonInteractive'];a26_0x3e03=function(){return _0x291fe4;};return a26_0x3e03();}
@@ -1 +1 @@
1
- const a27_0x18347a=a27_0x5287;(function(_0x75f149,_0x1a789e){const _0x18c5c5=a27_0x5287,_0x4a86c1=_0x75f149();while(!![]){try{const _0x542dc3=-parseInt(_0x18c5c5(0x1ad))/0x1*(parseInt(_0x18c5c5(0x1a8))/0x2)+parseInt(_0x18c5c5(0x176))/0x3+-parseInt(_0x18c5c5(0x19d))/0x4*(-parseInt(_0x18c5c5(0x180))/0x5)+parseInt(_0x18c5c5(0x19a))/0x6*(-parseInt(_0x18c5c5(0x195))/0x7)+parseInt(_0x18c5c5(0x18e))/0x8*(parseInt(_0x18c5c5(0x178))/0x9)+-parseInt(_0x18c5c5(0x17e))/0xa*(parseInt(_0x18c5c5(0x1a7))/0xb)+-parseInt(_0x18c5c5(0x1a3))/0xc*(-parseInt(_0x18c5c5(0x1a6))/0xd);if(_0x542dc3===_0x1a789e)break;else _0x4a86c1['push'](_0x4a86c1['shift']());}catch(_0x2b27c7){_0x4a86c1['push'](_0x4a86c1['shift']());}}}(a27_0x542c,0x38138));import{mkdir,readdir,rename,rmdir}from'node:fs/promises';import{dirname,join,relative,resolve,sep}from'node:path';import{deleteBffScript}from'../../core/api-client.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{fileExists,resolveLocalFilePathFromLockKey}from'../../core/bff/file-system.js';import{ensureLockScope,readBffLockFile,writeBffLockFile}from'../../core/bff/lock.js';import{CliErrors}from'../../errors.js';import{sleep}from'../../utils/sleep.js';export const bffDelete={'service':a27_0x18347a(0x1a2),'command':a27_0x18347a(0x181),'description':a27_0x18347a(0x1ab),'risk':a27_0x18347a(0x18f),'flags':[{'name':'target','type':a27_0x18347a(0x197),'required':!![],'description':a27_0x18347a(0x18a)}],async 'validate'(_0x153c75){const _0x1b3c3c=a27_0x18347a,_0x29902e=loadBffProjectConfig(_0x153c75[_0x1b3c3c(0x182)]),_0x4cc471=await readBffLockFile(_0x29902e[_0x1b3c3c(0x1a4)]);if(!_0x4cc471)throw CliErrors[_0x1b3c3c(0x188)](_0x1b3c3c(0x17f));},async 'dryRun'(_0x3d5de1){const _0x301c94=a27_0x18347a,_0x14bf6b=loadBffProjectConfig(_0x3d5de1['appCode']),_0x2d1381=await readBffLockFile(_0x14bf6b['lockFilePath']);if(!_0x2d1381)throw CliErrors[_0x301c94(0x188)]('BFF\x20lock\x20file\x20not\x20found.');const {appLock:_0x778ac6}=ensureLockScope(_0x2d1381,_0x3d5de1[_0x301c94(0x182)],_0x14bf6b[_0x301c94(0x18c)],'delete'),_0x568824=_0x3d5de1[_0x301c94(0x1a1)](_0x301c94(0x1a9)),_0x5e0a57=Object['keys'](_0x778ac6[_0x301c94(0x186)]),_0x100f88=resolveDeleteTarget(_0x568824,_0x5e0a57),_0x262470=_0x778ac6['functions'][_0x100f88];if(!_0x262470)throw CliErrors['validation'](_0x301c94(0x19e)+_0x100f88+'\x22.');const _0x52000c=resolveLocalFilePathFromLockKey(_0x14bf6b,_0x100f88),_0x2a2c06=relative(_0x14bf6b[_0x301c94(0x1a0)],_0x52000c),_0x35a796=join(_0x14bf6b[_0x301c94(0x193)],'<timestamp>',_0x2a2c06);return{'method':_0x301c94(0x18d),'url':_0x301c94(0x185),'body':{'appCode':_0x3d5de1['appCode'],'target':_0x100f88,'remoteId':_0x262470['remoteId'],'localFilePath':_0x52000c,'trashedPath':_0x35a796},'description':_0x301c94(0x1aa)+_0x100f88+_0x301c94(0x19f)};},async 'execute'(_0x40a46c){const _0x491359=a27_0x18347a,_0x1119cc=loadBffProjectConfig(_0x40a46c[_0x491359(0x182)]),_0x574e60=await readBffLockFile(_0x1119cc[_0x491359(0x1a4)]);if(!_0x574e60)throw CliErrors[_0x491359(0x188)](_0x491359(0x17a));const {lockData:_0xbafa30,appLock:_0x307c50}=ensureLockScope(_0x574e60,_0x40a46c[_0x491359(0x182)],_0x1119cc[_0x491359(0x18c)],_0x491359(0x181)),_0x56369d=JSON['parse'](JSON['stringify'](_0xbafa30)),_0x47060e=_0x56369d[_0x491359(0x190)][_0x40a46c[_0x491359(0x182)]];if(!_0x47060e)throw new Error('Lock\x20scope\x20for\x20app\x20\x22'+_0x40a46c[_0x491359(0x182)]+'\x22\x20not\x20found\x20after\x20ensureLockScope.');const _0x37331a=_0x40a46c[_0x491359(0x1a1)](_0x491359(0x1a9)),_0x2e0b7d=Object[_0x491359(0x184)](_0x47060e[_0x491359(0x186)]),_0x4045ac=resolveDeleteTarget(_0x37331a,_0x2e0b7d),_0x586cce=_0x47060e['functions'][_0x4045ac];if(!_0x586cce)throw CliErrors[_0x491359(0x188)](_0x491359(0x19e)+_0x4045ac+'\x22.');await deleteBffScript(_0x586cce[_0x491359(0x19b)]),delete _0x47060e[_0x491359(0x186)][_0x4045ac],_0x47060e[_0x491359(0x17c)]=new Date()['toISOString'](),await writeBffLockFile(_0x1119cc[_0x491359(0x1a4)],_0x56369d);const _0x1a06b5=resolveLocalFilePathFromLockKey(_0x1119cc,_0x4045ac);let _0x831ca;await fileExists(_0x1a06b5)&&(_0x831ca=await moveToTrash(_0x1119cc[_0x491359(0x1a0)],_0x1119cc[_0x491359(0x193)],_0x1a06b5),await cleanupEmptyDirectories(dirname(_0x1a06b5),_0x1119cc[_0x491359(0x191)]));await waitForDeleteSettlement(_0x1119cc[_0x491359(0x1a4)],_0x40a46c[_0x491359(0x182)],_0x4045ac,_0x1a06b5),await sleep(0x96);const _0x50fd10={'deleted':_0x4045ac,'remoteId':_0x586cce[_0x491359(0x19b)]};if(_0x831ca)_0x50fd10['trashedTo']=_0x831ca;return{'ok':!![],'data':_0x50fd10,'message':_0x491359(0x187)+_0x4045ac+(_0x831ca?'\x20(local\x20file\x20moved\x20to\x20trash)':'')};}};function resolveDeleteTarget(_0x20698b,_0x5bc9d9){const _0x170e3f=a27_0x18347a;if(_0x20698b[_0x170e3f(0x198)]('/')){const _0x1e52ed=_0x5bc9d9[_0x170e3f(0x192)](_0x15c5c4=>_0x15c5c4===_0x20698b);if(!_0x1e52ed)throw CliErrors[_0x170e3f(0x188)]('Function\x20not\x20found:\x20'+_0x20698b);return _0x1e52ed;}const _0x2c5171=_0x5bc9d9[_0x170e3f(0x17b)](_0x4d1ed5=>_0x4d1ed5[_0x170e3f(0x177)]('/')['at'](-0x1)===_0x20698b);if(_0x2c5171['length']===0x0)throw CliErrors[_0x170e3f(0x188)](_0x170e3f(0x196)+_0x20698b);if(_0x2c5171[_0x170e3f(0x18b)]>0x1)throw CliErrors[_0x170e3f(0x188)](_0x170e3f(0x179)+_0x20698b+_0x170e3f(0x194)+_0x2c5171[_0x170e3f(0x1a5)](_0x4e6a93=>_0x170e3f(0x189)+_0x4e6a93)[_0x170e3f(0x19c)]('\x0a'));return _0x2c5171[0x0];}function a27_0x542c(){const _0x119eb3=['startsWith','7830zfApyI','BFF\x20lock\x20file\x20not\x20found.\x20Run\x20`push`\x20or\x20`pull`\x20first\x20to\x20initialize\x20sync\x20state.','383855nJGKhX','delete','appCode','replace','keys','/api/management/library/scripts/delete','functions','Deleted\x20','validation','\x20\x20-\x20','Lock\x20key\x20(e.g.\x20ENDPOINT/createOrder)\x20or\x20short\x20function\x20name','length','scriptsRoot','POST','859048yozPpR','high-risk-write','apps','scriptsRootDir','find','trashDir','\x22.\x20Use\x20the\x20full\x20lock\x20key:\x0a','92239aOGTpX','Function\x20not\x20found:\x20','string','includes','toISOString','66hDpEQb','remoteId','join','4yUTudv','No\x20lock\x20entry\x20found\x20for\x20\x22','\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20trash','projectRoot','str','bff','12AmvlIj','lockFilePath','map','4811209KLbEDx','5610VOmugg','17958szvpjn','target','Would\x20delete\x20','Delete\x20a\x20BFF\x20script\x20from\x20remote\x20and\x20local','Local\x20delete\x20not\x20settled\x20for\x20','18JQcyqP','1144026cCJIku','split','9HIoahh','Multiple\x20functions\x20match\x20\x22','BFF\x20lock\x20file\x20not\x20found.','filter','lastSync'];a27_0x542c=function(){return _0x119eb3;};return a27_0x542c();}function a27_0x5287(_0x244224,_0x28e42c){_0x244224=_0x244224-0x176;const _0x542c38=a27_0x542c();let _0x5287f3=_0x542c38[_0x244224];return _0x5287f3;}async function moveToTrash(_0x38149f,_0x59d073,_0x1f933d){const _0x125aec=a27_0x18347a,_0x366609=new Date()[_0x125aec(0x199)]()[_0x125aec(0x183)](/[:.]/g,'-'),_0x577e35=relative(_0x38149f,_0x1f933d),_0x3bc789=join(_0x59d073,_0x366609,_0x577e35);return await mkdir(dirname(_0x3bc789),{'recursive':!![]}),await rename(_0x1f933d,_0x3bc789),_0x3bc789;}async function cleanupEmptyDirectories(_0x288058,_0x3ccb08){const _0x4cfe8c=a27_0x18347a;let _0x48f698=resolve(_0x288058);const _0x172239=resolve(_0x3ccb08);while(_0x48f698[_0x4cfe8c(0x17d)](''+_0x172239+sep)||_0x48f698===_0x172239){if(_0x48f698===_0x172239)return;try{const _0x214911=await readdir(_0x48f698);if(_0x214911['length']>0x0)return;await rmdir(_0x48f698);}catch{return;}_0x48f698=dirname(_0x48f698);}}const DELETE_SETTLE_RETRY_COUNT=0x14,DELETE_SETTLE_DELAY_MS=0x64;async function waitForDeleteSettlement(_0x1b2c44,_0x532b58,_0x272ee5,_0x32b892){const _0x152dec=a27_0x18347a;for(let _0x401a50=0x0;_0x401a50<DELETE_SETTLE_RETRY_COUNT;_0x401a50+=0x1){const _0x5bad26=await readBffLockFile(_0x1b2c44),_0x5c75f1=!!_0x5bad26?.[_0x152dec(0x190)]?.[_0x532b58]?.[_0x152dec(0x186)]?.[_0x272ee5],_0x517ffb=await fileExists(_0x32b892);if(!_0x5c75f1&&!_0x517ffb)return;await sleep(DELETE_SETTLE_DELAY_MS);}throw new Error(_0x152dec(0x1ac)+_0x272ee5+'.');}
1
+ function a27_0x3d3b(){const _0xfd5c4a=['1084830uQIdSw','24vdLCnq','<timestamp>','join','Function\x20not\x20found:\x20','map','length','find','\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20trash','\x22.\x20Use\x20the\x20full\x20lock\x20key:\x0a','Lock\x20scope\x20for\x20app\x20\x22','563031jZdlrB','validation','2597580zIIEmr','remoteId','Deleted\x20','trashedTo','lockFilePath','\x22\x20not\x20found\x20after\x20ensureLockScope.','Delete\x20a\x20BFF\x20script\x20from\x20remote\x20and\x20local','1754DmOIFk','BFF\x20lock\x20file\x20not\x20found.','scriptsRoot','projectRoot','high-risk-write','\x20\x20-\x20','706476KHqGyg','parse','functions','trashDir','Lock\x20key\x20(e.g.\x20ENDPOINT/createOrder)\x20or\x20short\x20function\x20name','\x20(local\x20file\x20moved\x20to\x20trash)','str','filter','toISOString','5ppwkJO','107ocweyd','keys','No\x20lock\x20entry\x20found\x20for\x20\x22','delete','/api/management/library/scripts/delete','appCode','729804pwhkwc','1916058jRVKHU','bff','Multiple\x20functions\x20match\x20\x22','apps','startsWith','target','split'];a27_0x3d3b=function(){return _0xfd5c4a;};return a27_0x3d3b();}const a27_0xbf69dc=a27_0x14a5;(function(_0x3f78d3,_0x39b6dc){const _0x49df00=a27_0x14a5,_0x1cd321=_0x3f78d3();while(!![]){try{const _0x196d79=-parseInt(_0x49df00(0xd2))/0x1*(parseInt(_0x49df00(0xc2))/0x2)+-parseInt(_0x49df00(0xc8))/0x3+-parseInt(_0x49df00(0xd8))/0x4+-parseInt(_0x49df00(0xd1))/0x5*(-parseInt(_0x49df00(0xd9))/0x6)+parseInt(_0x49df00(0xb9))/0x7*(parseInt(_0x49df00(0xe1))/0x8)+parseInt(_0x49df00(0xbb))/0x9+-parseInt(_0x49df00(0xe0))/0xa;if(_0x196d79===_0x39b6dc)break;else _0x1cd321['push'](_0x1cd321['shift']());}catch(_0x95b1d4){_0x1cd321['push'](_0x1cd321['shift']());}}}(a27_0x3d3b,0x37e85));import{mkdir,readdir,rename,rmdir}from'node:fs/promises';import{dirname,join,relative,resolve,sep}from'node:path';import{deleteBffScript}from'../../core/api-client.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{fileExists,resolveLocalFilePathFromLockKey}from'../../core/bff/file-system.js';import{ensureLockScope,readBffLockFile,writeBffLockFile}from'../../core/bff/lock.js';import{CliErrors}from'../../errors.js';import{sleep}from'../../utils/sleep.js';export const bffDelete={'service':a27_0xbf69dc(0xda),'command':'delete','description':a27_0xbf69dc(0xc1),'risk':a27_0xbf69dc(0xc6),'flags':[{'name':a27_0xbf69dc(0xde),'type':'string','required':!![],'description':a27_0xbf69dc(0xcc)}],async 'validate'(_0x4704a0){const _0x3c3f65=a27_0xbf69dc,_0x31995e=loadBffProjectConfig(_0x4704a0[_0x3c3f65(0xd7)]),_0x3b48cc=await readBffLockFile(_0x31995e[_0x3c3f65(0xbf)]);if(!_0x3b48cc)throw CliErrors['validation']('BFF\x20lock\x20file\x20not\x20found.\x20Run\x20`push`\x20or\x20`pull`\x20first\x20to\x20initialize\x20sync\x20state.');},async 'dryRun'(_0x5a349e){const _0x44ac2a=a27_0xbf69dc,_0x25ce98=loadBffProjectConfig(_0x5a349e[_0x44ac2a(0xd7)]),_0x2f8046=await readBffLockFile(_0x25ce98[_0x44ac2a(0xbf)]);if(!_0x2f8046)throw CliErrors[_0x44ac2a(0xba)](_0x44ac2a(0xc3));const {appLock:_0x2c2e44}=ensureLockScope(_0x2f8046,_0x5a349e[_0x44ac2a(0xd7)],_0x25ce98[_0x44ac2a(0xc4)],_0x44ac2a(0xd5)),_0x1e85eb=_0x5a349e[_0x44ac2a(0xce)]('target'),_0x247c95=Object[_0x44ac2a(0xd3)](_0x2c2e44[_0x44ac2a(0xca)]),_0x17147f=resolveDeleteTarget(_0x1e85eb,_0x247c95),_0x3d522f=_0x2c2e44[_0x44ac2a(0xca)][_0x17147f];if(!_0x3d522f)throw CliErrors[_0x44ac2a(0xba)](_0x44ac2a(0xd4)+_0x17147f+'\x22.');const _0x5aa4b9=resolveLocalFilePathFromLockKey(_0x25ce98,_0x17147f),_0x6a0a7a=relative(_0x25ce98[_0x44ac2a(0xc5)],_0x5aa4b9),_0x3cf5b3=join(_0x25ce98['trashDir'],_0x44ac2a(0xe2),_0x6a0a7a);return{'method':'POST','url':_0x44ac2a(0xd6),'body':{'appCode':_0x5a349e['appCode'],'target':_0x17147f,'remoteId':_0x3d522f[_0x44ac2a(0xbc)],'localFilePath':_0x5aa4b9,'trashedPath':_0x3cf5b3},'description':'Would\x20delete\x20'+_0x17147f+_0x44ac2a(0xb6)};},async 'execute'(_0x25f528){const _0x3fb129=a27_0xbf69dc,_0x478171=loadBffProjectConfig(_0x25f528[_0x3fb129(0xd7)]),_0x20c096=await readBffLockFile(_0x478171[_0x3fb129(0xbf)]);if(!_0x20c096)throw CliErrors['validation']('BFF\x20lock\x20file\x20not\x20found.');const {lockData:_0x5ec0d1,appLock:_0x2818b6}=ensureLockScope(_0x20c096,_0x25f528[_0x3fb129(0xd7)],_0x478171[_0x3fb129(0xc4)],'delete'),_0x373738=JSON[_0x3fb129(0xc9)](JSON['stringify'](_0x5ec0d1)),_0x17f188=_0x373738[_0x3fb129(0xdc)][_0x25f528[_0x3fb129(0xd7)]];if(!_0x17f188)throw new Error(_0x3fb129(0xb8)+_0x25f528[_0x3fb129(0xd7)]+_0x3fb129(0xc0));const _0x4a988c=_0x25f528[_0x3fb129(0xce)]('target'),_0x244fff=Object[_0x3fb129(0xd3)](_0x17f188[_0x3fb129(0xca)]),_0x1f0c84=resolveDeleteTarget(_0x4a988c,_0x244fff),_0x3ecc07=_0x17f188['functions'][_0x1f0c84];if(!_0x3ecc07)throw CliErrors[_0x3fb129(0xba)](_0x3fb129(0xd4)+_0x1f0c84+'\x22.');await deleteBffScript(_0x3ecc07[_0x3fb129(0xbc)]),delete _0x17f188[_0x3fb129(0xca)][_0x1f0c84],_0x17f188['lastSync']=new Date()['toISOString'](),await writeBffLockFile(_0x478171[_0x3fb129(0xbf)],_0x373738);const _0x321663=resolveLocalFilePathFromLockKey(_0x478171,_0x1f0c84);let _0x48d291;await fileExists(_0x321663)&&(_0x48d291=await moveToTrash(_0x478171[_0x3fb129(0xc5)],_0x478171[_0x3fb129(0xcb)],_0x321663),await cleanupEmptyDirectories(dirname(_0x321663),_0x478171['scriptsRootDir']));await waitForDeleteSettlement(_0x478171[_0x3fb129(0xbf)],_0x25f528[_0x3fb129(0xd7)],_0x1f0c84,_0x321663),await sleep(0x96);const _0x4849e1={'deleted':_0x1f0c84,'remoteId':_0x3ecc07[_0x3fb129(0xbc)]};if(_0x48d291)_0x4849e1[_0x3fb129(0xbe)]=_0x48d291;return{'ok':!![],'data':_0x4849e1,'message':_0x3fb129(0xbd)+_0x1f0c84+(_0x48d291?_0x3fb129(0xcd):'')};}};function resolveDeleteTarget(_0x85d000,_0x24e8fe){const _0xa61291=a27_0xbf69dc;if(_0x85d000['includes']('/')){const _0x127018=_0x24e8fe[_0xa61291(0xb5)](_0x153f3f=>_0x153f3f===_0x85d000);if(!_0x127018)throw CliErrors[_0xa61291(0xba)](_0xa61291(0xe4)+_0x85d000);return _0x127018;}const _0x3f3622=_0x24e8fe[_0xa61291(0xcf)](_0x419c80=>_0x419c80[_0xa61291(0xdf)]('/')['at'](-0x1)===_0x85d000);if(_0x3f3622[_0xa61291(0xe6)]===0x0)throw CliErrors['validation'](_0xa61291(0xe4)+_0x85d000);if(_0x3f3622['length']>0x1)throw CliErrors[_0xa61291(0xba)](_0xa61291(0xdb)+_0x85d000+_0xa61291(0xb7)+_0x3f3622[_0xa61291(0xe5)](_0x101030=>_0xa61291(0xc7)+_0x101030)[_0xa61291(0xe3)]('\x0a'));return _0x3f3622[0x0];}async function moveToTrash(_0x1c6fa4,_0x5f3c53,_0x13beb8){const _0x2f1301=a27_0xbf69dc,_0x299ae2=new Date()[_0x2f1301(0xd0)]()['replace'](/[:.]/g,'-'),_0x39b4fb=relative(_0x1c6fa4,_0x13beb8),_0x43f363=join(_0x5f3c53,_0x299ae2,_0x39b4fb);return await mkdir(dirname(_0x43f363),{'recursive':!![]}),await rename(_0x13beb8,_0x43f363),_0x43f363;}async function cleanupEmptyDirectories(_0xb20dab,_0x2432c1){const _0x509064=a27_0xbf69dc;let _0x294816=resolve(_0xb20dab);const _0x1ac4b5=resolve(_0x2432c1);while(_0x294816[_0x509064(0xdd)](''+_0x1ac4b5+sep)||_0x294816===_0x1ac4b5){if(_0x294816===_0x1ac4b5)return;try{const _0x20d45a=await readdir(_0x294816);if(_0x20d45a[_0x509064(0xe6)]>0x0)return;await rmdir(_0x294816);}catch{return;}_0x294816=dirname(_0x294816);}}const DELETE_SETTLE_RETRY_COUNT=0x14,DELETE_SETTLE_DELAY_MS=0x64;function a27_0x14a5(_0x1cdd86,_0x1d31d8){_0x1cdd86=_0x1cdd86-0xb5;const _0x3d3b3d=a27_0x3d3b();let _0x14a5a9=_0x3d3b3d[_0x1cdd86];return _0x14a5a9;}async function waitForDeleteSettlement(_0x51462b,_0x44175e,_0x304e14,_0x1ef604){const _0x1689eb=a27_0xbf69dc;for(let _0x498c85=0x0;_0x498c85<DELETE_SETTLE_RETRY_COUNT;_0x498c85+=0x1){const _0x2242c0=await readBffLockFile(_0x51462b),_0x4e9aaf=!!_0x2242c0?.[_0x1689eb(0xdc)]?.[_0x44175e]?.[_0x1689eb(0xca)]?.[_0x304e14],_0x136f0a=await fileExists(_0x1ef604);if(!_0x4e9aaf&&!_0x136f0a)return;await sleep(DELETE_SETTLE_DELAY_MS);}throw new Error('Local\x20delete\x20not\x20settled\x20for\x20'+_0x304e14+'.');}
@@ -1 +1 @@
1
- const a28_0x3e58f6=a28_0x245d;function a28_0x245d(_0x3afdb6,_0x352b0a){_0x3afdb6=_0x3afdb6-0x14d;const _0x34585b=a28_0x3458();let _0x245da7=_0x34585b[_0x3afdb6];return _0x245da7;}(function(_0x58b181,_0x10b83b){const _0x3e0889=a28_0x245d,_0x28faa6=_0x58b181();while(!![]){try{const _0x8276d6=parseInt(_0x3e0889(0x159))/0x1+-parseInt(_0x3e0889(0x160))/0x2+-parseInt(_0x3e0889(0x15d))/0x3*(-parseInt(_0x3e0889(0x14d))/0x4)+-parseInt(_0x3e0889(0x156))/0x5+parseInt(_0x3e0889(0x15b))/0x6*(-parseInt(_0x3e0889(0x162))/0x7)+-parseInt(_0x3e0889(0x154))/0x8*(-parseInt(_0x3e0889(0x152))/0x9)+-parseInt(_0x3e0889(0x155))/0xa*(parseInt(_0x3e0889(0x153))/0xb);if(_0x8276d6===_0x10b83b)break;else _0x28faa6['push'](_0x28faa6['shift']());}catch(_0x50bc17){_0x28faa6['push'](_0x28faa6['shift']());}}}(a28_0x3458,0x1eaa9));function a28_0x3458(){const _0x5204c3=['createdTime','scriptContent','232465QbRTda','Script\x20ID','502314yLTXCp','read','1911JtasDM','(none)','boolean','27794aAsJCs','updatedTime','7nSlHhv','number','1136yJIltP','description','num','verbose','bff','3699VNgEpa','11dCPtSm','1232ofVvaa','1474670yVjZjn','529875vCbIiO'];a28_0x3458=function(){return _0x5204c3;};return a28_0x3458();}import{getBffScriptInfo}from'../../core/api-client.js';export const bffDetail={'service':a28_0x3e58f6(0x151),'command':'detail','description':'Get\x20BFF\x20script\x20details\x20by\x20ID','risk':a28_0x3e58f6(0x15c),'flags':[{'name':'id','type':a28_0x3e58f6(0x163),'required':!![],'description':a28_0x3e58f6(0x15a)},{'name':a28_0x3e58f6(0x150),'type':a28_0x3e58f6(0x15f),'description':'Return\x20full\x20raw\x20script\x20object'}],async 'execute'(_0x2c5e11){const _0x49bf03=a28_0x3e58f6,_0x310402=await getBffScriptInfo(_0x2c5e11[_0x49bf03(0x14f)]('id')),_0x19165b=_0x2c5e11['bool'](_0x49bf03(0x150));if(_0x19165b)return{'ok':!![],'data':_0x310402};return{'ok':!![],'data':{'id':_0x310402['id'],'appCode':_0x310402['appCode'],'scriptType':_0x310402['scriptType'],'description':_0x310402[_0x49bf03(0x14e)]||_0x49bf03(0x15e),'createdTime':_0x310402[_0x49bf03(0x157)]??'','updatedTime':_0x310402[_0x49bf03(0x161)]??'','scriptContent':_0x310402[_0x49bf03(0x158)]??''}};}};
1
+ function a28_0x52ef(_0x320d2c,_0x1ea79e){_0x320d2c=_0x320d2c-0xf5;const _0x3736ad=a28_0x3736();let _0x52efa0=_0x3736ad[_0x320d2c];return _0x52efa0;}const a28_0x37ed85=a28_0x52ef;(function(_0x477ebc,_0x1c48cd){const _0x3a392a=a28_0x52ef,_0x1045a3=_0x477ebc();while(!![]){try{const _0x5144e7=-parseInt(_0x3a392a(0xfa))/0x1*(parseInt(_0x3a392a(0x105))/0x2)+parseInt(_0x3a392a(0xf8))/0x3*(parseInt(_0x3a392a(0xfb))/0x4)+parseInt(_0x3a392a(0xf5))/0x5*(-parseInt(_0x3a392a(0x108))/0x6)+parseInt(_0x3a392a(0x106))/0x7+parseInt(_0x3a392a(0xfe))/0x8+-parseInt(_0x3a392a(0x109))/0x9+-parseInt(_0x3a392a(0xf9))/0xa*(-parseInt(_0x3a392a(0xfc))/0xb);if(_0x5144e7===_0x1c48cd)break;else _0x1045a3['push'](_0x1045a3['shift']());}catch(_0x483013){_0x1045a3['push'](_0x1045a3['shift']());}}}(a28_0x3736,0x88f82));function a28_0x3736(){const _0x3ce8c9=['num','description','560828KzGAWG','2738596zOwLHq','Return\x20full\x20raw\x20script\x20object','859314PfRMEk','5454243OcnGPA','30PvsrzP','bool','verbose','1660398gGMTRb','3845770GdHWiY','3GTReID','8cqECEm','11cEscKW','(none)','7878976MVNmPa','scriptType','bff','scriptContent','Script\x20ID'];a28_0x3736=function(){return _0x3ce8c9;};return a28_0x3736();}import{getBffScriptInfo}from'../../core/api-client.js';export const bffDetail={'service':a28_0x37ed85(0x100),'command':'detail','description':'Get\x20BFF\x20script\x20details\x20by\x20ID','risk':'read','flags':[{'name':'id','type':'number','required':!![],'description':a28_0x37ed85(0x102)},{'name':'verbose','type':'boolean','description':a28_0x37ed85(0x107)}],async 'execute'(_0x84e5d7){const _0x5c0ca3=a28_0x37ed85,_0x42950a=await getBffScriptInfo(_0x84e5d7[_0x5c0ca3(0x103)]('id')),_0x24da29=_0x84e5d7[_0x5c0ca3(0xf6)](_0x5c0ca3(0xf7));if(_0x24da29)return{'ok':!![],'data':_0x42950a};return{'ok':!![],'data':{'id':_0x42950a['id'],'appCode':_0x42950a['appCode'],'scriptType':_0x42950a[_0x5c0ca3(0xff)],'description':_0x42950a[_0x5c0ca3(0x104)]||_0x5c0ca3(0xfd),'createdTime':_0x42950a['createdTime']??'','updatedTime':_0x42950a['updatedTime']??'','scriptContent':_0x42950a[_0x5c0ca3(0x101)]??''}};}};
@@ -1 +1 @@
1
- function a29_0x586f(){const _0x22dae7=['6023106DlIFFy','1615085ZrNdKj','2995708SddrFx','297915cJNgkC','3115868SKsemC','3166876GCpnTn','293391IDBACs'];a29_0x586f=function(){return _0x22dae7;};return a29_0x586f();}(function(_0x372504,_0x1517bc){const _0x2bc057=a29_0x4a71,_0x4732a3=_0x372504();while(!![]){try{const _0x56c0b7=-parseInt(_0x2bc057(0xca))/0x1+parseInt(_0x2bc057(0xcd))/0x2+-parseInt(_0x2bc057(0xc7))/0x3+parseInt(_0x2bc057(0xc9))/0x4+parseInt(_0x2bc057(0xcc))/0x5+-parseInt(_0x2bc057(0xcb))/0x6+-parseInt(_0x2bc057(0xc8))/0x7;if(_0x56c0b7===_0x1517bc)break;else _0x4732a3['push'](_0x4732a3['shift']());}catch(_0xce9cc6){_0x4732a3['push'](_0x4732a3['shift']());}}}(a29_0x586f,0xbc367));import{bffList}from'../../commands/bff/list.js';import{bffDetail}from'../../commands/bff/detail.js';import{bffStatus}from'../../commands/bff/status.js';import{bffCreate}from'../../commands/bff/create.js';import{bffPush}from'../../commands/bff/push.js';import{bffPull}from'../../commands/bff/pull.js';function a29_0x4a71(_0x288921,_0x284760){_0x288921=_0x288921-0xc7;const _0x586f1b=a29_0x586f();let _0x4a7193=_0x586f1b[_0x288921];return _0x4a7193;}import{bffDelete}from'../../commands/bff/delete.js';export const bffDefinitions=[bffList,bffDetail,bffStatus,bffCreate,bffPush,bffPull,bffDelete];
1
+ (function(_0x44e9a8,_0x2fa166){const _0xfa84ac=a29_0x14ab,_0xf72ff4=_0x44e9a8();while(!![]){try{const _0x1fdc70=-parseInt(_0xfa84ac(0xd5))/0x1+parseInt(_0xfa84ac(0xd7))/0x2+-parseInt(_0xfa84ac(0xd4))/0x3*(parseInt(_0xfa84ac(0xcf))/0x4)+parseInt(_0xfa84ac(0xd2))/0x5*(-parseInt(_0xfa84ac(0xd0))/0x6)+parseInt(_0xfa84ac(0xd8))/0x7*(parseInt(_0xfa84ac(0xd1))/0x8)+parseInt(_0xfa84ac(0xd9))/0x9*(-parseInt(_0xfa84ac(0xd6))/0xa)+parseInt(_0xfa84ac(0xd3))/0xb;if(_0x1fdc70===_0x2fa166)break;else _0xf72ff4['push'](_0xf72ff4['shift']());}catch(_0x222960){_0xf72ff4['push'](_0xf72ff4['shift']());}}}(a29_0x1293,0xaf7cb));function a29_0x14ab(_0x1854a7,_0x395c97){_0x1854a7=_0x1854a7-0xcf;const _0x129333=a29_0x1293();let _0x14abe1=_0x129333[_0x1854a7];return _0x14abe1;}function a29_0x1293(){const _0x34c38b=['80750PhNzqJ','424060qjlGsu','9dcDrkl','4432XzwuCo','1092rZRuxx','128xSSNJF','30605qqiEwU','42781497TsKRSD','3180GPcybV','1353406VGiwom','5381790qqGyRp'];a29_0x1293=function(){return _0x34c38b;};return a29_0x1293();}import{bffList}from'../../commands/bff/list.js';import{bffDetail}from'../../commands/bff/detail.js';import{bffStatus}from'../../commands/bff/status.js';import{bffCreate}from'../../commands/bff/create.js';import{bffPush}from'../../commands/bff/push.js';import{bffPull}from'../../commands/bff/pull.js';import{bffDelete}from'../../commands/bff/delete.js';export const bffDefinitions=[bffList,bffDetail,bffStatus,bffCreate,bffPush,bffPull,bffDelete];
@@ -1 +1 @@
1
- function a30_0x4265(_0x89d809,_0x550e4c){_0x89d809=_0x89d809-0xf8;const _0x54000f=a30_0x5400();let _0x4265e9=_0x54000f[_0x89d809];return _0x4265e9;}const a30_0x335de8=a30_0x4265;function a30_0x5400(){const _0x43e3dc=['bff','60YtuGRY','read','List\x20BFF\x20scripts','4114200WRltRy','appCode','map','list','8628QTxPrY','2UMTvjC','length','Filter\x20by\x20script\x20name','145132VOPgdH','No\x20BFF\x20scripts\x20found.','type','1385QgUkDR','2977814XJDjZV','description','bool','775198PZAsCo','ENDPOINT','scriptType','66vWHjlz','name','boolean','815130YuIgrA','verbose','string','Return\x20full\x20script\x20objects','functionName','4793868RGmNnJ','str','COMMON'];a30_0x5400=function(){return _0x43e3dc;};return a30_0x5400();}(function(_0xf40c0f,_0x7c8579){const _0x25183a=a30_0x4265,_0x3cd9b4=_0xf40c0f();while(!![]){try{const _0x3667eb=-parseInt(_0x25183a(0x110))/0x1*(-parseInt(_0x25183a(0x106))/0x2)+parseInt(_0x25183a(0xfe))/0x3*(-parseInt(_0x25183a(0x109))/0x4)+-parseInt(_0x25183a(0x10c))/0x5*(-parseInt(_0x25183a(0x105))/0x6)+parseInt(_0x25183a(0x10d))/0x7+-parseInt(_0x25183a(0x101))/0x8+parseInt(_0x25183a(0xfa))/0x9+-parseInt(_0x25183a(0x116))/0xa*(parseInt(_0x25183a(0x113))/0xb);if(_0x3667eb===_0x7c8579)break;else _0x3cd9b4['push'](_0x3cd9b4['shift']());}catch(_0x506caa){_0x3cd9b4['push'](_0x3cd9b4['shift']());}}}(a30_0x5400,0x62485));import{listBffScripts}from'../../core/api-client.js';export const bffList={'service':a30_0x335de8(0xfd),'command':a30_0x335de8(0x104),'description':a30_0x335de8(0x100),'risk':a30_0x335de8(0xff),'flags':[{'name':a30_0x335de8(0x10b),'type':a30_0x335de8(0x118),'description':'Script\x20type\x20filter','default':a30_0x335de8(0x111),'enum':[a30_0x335de8(0x111),a30_0x335de8(0xfc)]},{'name':'name','type':a30_0x335de8(0x118),'description':a30_0x335de8(0x108)},{'name':a30_0x335de8(0x117),'type':a30_0x335de8(0x115),'description':a30_0x335de8(0xf8)}],async 'execute'(_0x2e0f76){const _0x20e3f3=a30_0x335de8,_0x3546e6=await listBffScripts(_0x2e0f76[_0x20e3f3(0x102)],_0x2e0f76['str'](_0x20e3f3(0x10b)),{'scriptName':_0x2e0f76[_0x20e3f3(0xfb)](_0x20e3f3(0x114))||undefined}),_0x488e38=_0x2e0f76[_0x20e3f3(0x10f)]('verbose');return{'ok':!![],'data':_0x488e38?_0x3546e6:_0x3546e6[_0x20e3f3(0x103)](_0x49b92f=>({'id':_0x49b92f['id'],'functionName':_0x49b92f[_0x20e3f3(0xf9)]??'','description':_0x49b92f[_0x20e3f3(0x10e)]||'(unnamed)','scriptType':_0x49b92f[_0x20e3f3(0x112)]})),'message':_0x3546e6[_0x20e3f3(0x107)]===0x0?_0x20e3f3(0x10a):undefined};}};
1
+ const a30_0x249c2b=a30_0x5cef;function a30_0xff16(){const _0x2480ce=['ENDPOINT','list','map','COMMON','name','(unnamed)','string','695148xpFNoU','3707515dEaBZa','199054qwQpqW','1393080MZWtED','length','1148204TAocjv','appCode','verbose','functionName','55RzsHgD','Filter\x20by\x20script\x20name','24gqKZzF','No\x20BFF\x20scripts\x20found.','str','bool','24426909KkuRxQ','description','boolean','type','115989iKAiOa','bff','read','scriptType'];a30_0xff16=function(){return _0x2480ce;};return a30_0xff16();}(function(_0x43e384,_0x4fbeb6){const _0x247fb0=a30_0x5cef,_0x5bbe51=_0x43e384();while(!![]){try{const _0x5e44cb=-parseInt(_0x247fb0(0x90))/0x1+-parseInt(_0x247fb0(0xab))/0x2+parseInt(_0x247fb0(0x9e))/0x3*(parseInt(_0x247fb0(0x96))/0x4)+-parseInt(_0x247fb0(0x94))/0x5*(parseInt(_0x247fb0(0xa9))/0x6)+parseInt(_0x247fb0(0xaa))/0x7+-parseInt(_0x247fb0(0x8e))/0x8+parseInt(_0x247fb0(0x9a))/0x9;if(_0x5e44cb===_0x4fbeb6)break;else _0x5bbe51['push'](_0x5bbe51['shift']());}catch(_0x18017d){_0x5bbe51['push'](_0x5bbe51['shift']());}}}(a30_0xff16,0xbe49c));function a30_0x5cef(_0x4aa080,_0x27fcde){_0x4aa080=_0x4aa080-0x8e;const _0xff1671=a30_0xff16();let _0x5cef6d=_0xff1671[_0x4aa080];return _0x5cef6d;}import{listBffScripts}from'../../core/api-client.js';export const bffList={'service':a30_0x249c2b(0x9f),'command':a30_0x249c2b(0xa3),'description':'List\x20BFF\x20scripts','risk':a30_0x249c2b(0xa0),'flags':[{'name':a30_0x249c2b(0x9d),'type':a30_0x249c2b(0xa8),'description':'Script\x20type\x20filter','default':a30_0x249c2b(0xa2),'enum':[a30_0x249c2b(0xa2),a30_0x249c2b(0xa5)]},{'name':a30_0x249c2b(0xa6),'type':a30_0x249c2b(0xa8),'description':a30_0x249c2b(0x95)},{'name':a30_0x249c2b(0x92),'type':a30_0x249c2b(0x9c),'description':'Return\x20full\x20script\x20objects'}],async 'execute'(_0x40b59e){const _0x2247a4=a30_0x249c2b,_0x1c8cf7=await listBffScripts(_0x40b59e[_0x2247a4(0x91)],_0x40b59e[_0x2247a4(0x98)]('type'),{'scriptName':_0x40b59e[_0x2247a4(0x98)](_0x2247a4(0xa6))||undefined}),_0x2848c3=_0x40b59e[_0x2247a4(0x99)](_0x2247a4(0x92));return{'ok':!![],'data':_0x2848c3?_0x1c8cf7:_0x1c8cf7[_0x2247a4(0xa4)](_0x19ed4b=>({'id':_0x19ed4b['id'],'functionName':_0x19ed4b[_0x2247a4(0x93)]??'','description':_0x19ed4b[_0x2247a4(0x9b)]||_0x2247a4(0xa7),'scriptType':_0x19ed4b[_0x2247a4(0xa1)]})),'message':_0x1c8cf7[_0x2247a4(0x8f)]===0x0?_0x2247a4(0x97):undefined};}};
@@ -1 +1 @@
1
- const a31_0x8ff3b3=a31_0x353f;(function(_0x3470d9,_0x15554a){const _0x391e9c=a31_0x353f,_0x5b1a1a=_0x3470d9();while(!![]){try{const _0x790e56=-parseInt(_0x391e9c(0x112))/0x1+-parseInt(_0x391e9c(0x105))/0x2+-parseInt(_0x391e9c(0x130))/0x3+parseInt(_0x391e9c(0x103))/0x4*(-parseInt(_0x391e9c(0x10d))/0x5)+-parseInt(_0x391e9c(0x108))/0x6*(parseInt(_0x391e9c(0x115))/0x7)+parseInt(_0x391e9c(0x11a))/0x8*(-parseInt(_0x391e9c(0x128))/0x9)+parseInt(_0x391e9c(0x118))/0xa;if(_0x790e56===_0x15554a)break;else _0x5b1a1a['push'](_0x5b1a1a['shift']());}catch(_0x411bbb){_0x5b1a1a['push'](_0x5b1a1a['shift']());}}}(a31_0x5227,0xd9505));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';function a31_0x353f(_0x208c63,_0x59290a){_0x208c63=_0x208c63-0xee;const _0x5227d5=a31_0x5227();let _0x353fd0=_0x5227d5[_0x208c63];return _0x353fd0;}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';function a31_0x5227(){const _0x2051cf=['apps','No\x20remote\x20BFF\x20scripts\x20found.','cancelled','trim','hookLocation','COMMON','ENDPOINT','push','datasetCode','local\x20unsynced\x20changes','string','/api/management/library/scripts/list?appCode=','question','stderr','all','str','bool','lockFilePath','scriptType','alias','334820HlNdjA','lastSync','3112756pKqjcQ','filePath','validation','90966nEwFFb','functionNode','toLowerCase','pull','force','55DJyrdV','would_pull','operationType','&type=','boolean','1127387omYdlr','functionName','utf8','448OyTldH','conflict','parse','81815860RWetKT','yes','41488Vcikba','Force\x20overwrite\x20local\x20unsynced\x20changes','--type\x20must\x20be\x20COMMON,\x20ENDPOINT,\x20or\x20HOOK.','nonInteractive','Remote\x20script\x20missing\x20content.','appCode','scriptContent','\x22\x20not\x20found\x20after\x20ensureLockScope.','toISOString','lockKey','bff','skipped','Pull\x20only\x20this\x20script\x20type','Force\x20pull\x20cancelled.','2115YHnBjd','unresolvable\x20target\x20path','Would\x20inspect\x20','length','\x20pulled,\x20','Pull\x20remote\x20BFF\x20scripts\x20to\x20local','stdin','HOOK','4493805jVxqzL','type','\x20failed','message','apiDir','functions','Pull\x20complete:\x20','scriptsRoot','\x20remote\x20BFF\x20script(s)\x20for\x20pull','close'];a31_0x5227=function(){return _0x2051cf;};return a31_0x5227();}export const bffPull={'service':a31_0x8ff3b3(0x124),'command':'pull','description':a31_0x8ff3b3(0x12d),'risk':'write','flags':[{'name':'type','type':a31_0x8ff3b3(0xf9),'description':a31_0x8ff3b3(0x126),'enum':[a31_0x8ff3b3(0xf4),a31_0x8ff3b3(0xf5),a31_0x8ff3b3(0x12f)]},{'name':a31_0x8ff3b3(0x10c),'type':a31_0x8ff3b3(0x111),'description':a31_0x8ff3b3(0x11b)}],async 'dryRun'(_0x3c6300){const _0xefbe99=a31_0x8ff3b3,_0x2d6d34=loadBffProjectConfig(_0x3c6300[_0xefbe99(0x11f)]),_0x2c5adc=await readBffLockFile(_0x2d6d34[_0xefbe99(0x100)]),{appLock:_0x19e87b}=ensureLockScope(_0x2c5adc??createEmptyBffLock(),_0x3c6300[_0xefbe99(0x11f)],_0x2d6d34['scriptsRoot'],_0xefbe99(0x10b)),_0x2e2a85=normalizeBffType(_0x3c6300[_0xefbe99(0xfe)]('type'))??undefined,_0x336d30=buildDatasetCodeToAliasMap(_0x3c6300[_0xefbe99(0x134)],_0x3c6300[_0xefbe99(0x11f)]),[_0x529b16,_0x36e983]=await Promise[_0xefbe99(0xfd)]([listBffScripts(_0x3c6300[_0xefbe99(0x11f)],_0x2e2a85),getBffScriptStatistics(_0x3c6300[_0xefbe99(0x11f)])]),_0x173a19=createHookLocationMap(_0x36e983),_0x164313=[];for(const _0x4a6499 of _0x529b16){const _0x5835da=resolveRemoteScriptTarget(_0x2d6d34,_0x4a6499,_0x173a19,_0x19e87b[_0xefbe99(0x135)],_0x336d30);if(!_0x5835da){_0x164313[_0xefbe99(0xf6)]({'scriptType':_0x4a6499[_0xefbe99(0x101)],'functionName':_0x4a6499[_0xefbe99(0x113)]??'','status':_0xefbe99(0x125),'reason':_0xefbe99(0x129)});continue;}const _0x4f0244=_0x19e87b[_0xefbe99(0x135)][_0x5835da['lockKey']],_0x177bc1=_0x4a6499[_0xefbe99(0x120)]!=null?computeContentHash(_0x4a6499['scriptContent']):undefined,_0x517b96=await hasUnsyncedLocalChanges(_0x5835da[_0xefbe99(0x106)],_0x4f0244,_0x177bc1);_0x164313[_0xefbe99(0xf6)]({'lockKey':_0x5835da[_0xefbe99(0x123)],'filePath':_0x5835da[_0xefbe99(0x106)],'remoteId':_0x4a6499['id']??null,'status':_0x517b96?_0xefbe99(0x116):_0xefbe99(0x10e)});}return{'method':'GET','url':_0xefbe99(0xfa)+_0x3c6300[_0xefbe99(0x11f)]+(_0x2e2a85?_0xefbe99(0x110)+_0x2e2a85:''),'body':{'appCode':_0x3c6300[_0xefbe99(0x11f)],'filterType':_0x2e2a85??null,'files':_0x164313},'description':_0xefbe99(0x12a)+_0x164313[_0xefbe99(0x12b)]+_0xefbe99(0x138)};},async 'execute'(_0x488c70){const _0x1d05e9=a31_0x8ff3b3,_0x4ec536=loadBffProjectConfig(_0x488c70[_0x1d05e9(0x11f)]),_0xc72f4a=await readBffLockFile(_0x4ec536[_0x1d05e9(0x100)]),{lockData:_0x221f1b,appLock:_0x583283}=ensureLockScope(_0xc72f4a??createEmptyBffLock(),_0x488c70['appCode'],_0x4ec536[_0x1d05e9(0x137)],'pull'),_0x5ecb50=normalizeBffType(_0x488c70['str'](_0x1d05e9(0x131)))??undefined;if(_0x488c70[_0x1d05e9(0xfe)]('type')&&!_0x5ecb50)throw CliErrors[_0x1d05e9(0x107)](_0x1d05e9(0x11c));const [_0x273694,_0x4e8ba0]=await Promise[_0x1d05e9(0xfd)]([listBffScripts(_0x488c70[_0x1d05e9(0x11f)],_0x5ecb50),getBffScriptStatistics(_0x488c70[_0x1d05e9(0x11f)])]);if(_0x273694[_0x1d05e9(0x12b)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x1d05e9(0xf0)};const _0x15f226=_0x488c70[_0x1d05e9(0xff)]('force');if(_0x15f226&&!_0x488c70[_0x1d05e9(0x11d)]){const _0x2470a=await confirmForce();if(!_0x2470a)throw CliErrors[_0x1d05e9(0xf1)](_0x1d05e9(0x127));}if(_0x15f226&&_0x488c70[_0x1d05e9(0x11d)]){}const _0xd917ca=buildDatasetCodeToAliasMap(_0x488c70[_0x1d05e9(0x134)],_0x488c70[_0x1d05e9(0x11f)]),_0x529b66=createHookLocationMap(_0x4e8ba0),_0xbf73ba=JSON[_0x1d05e9(0x117)](JSON['stringify'](_0x221f1b)),_0x35adf8=_0x488c70[_0x1d05e9(0x11f)],_0x753c85=_0xbf73ba[_0x1d05e9(0xef)][_0x35adf8];if(!_0x753c85)throw new Error('Lock\x20scope\x20for\x20app\x20\x22'+_0x35adf8+_0x1d05e9(0x121));const _0x59e1b=[],_0x4432e1=[],_0x34c16a=[];for(const _0x2c8f90 of _0x273694){const _0x1880a0=resolveRemoteScriptTarget(_0x4ec536,_0x2c8f90,_0x529b66,_0x583283[_0x1d05e9(0x135)],_0xd917ca);if(!_0x1880a0){_0x4432e1['push']({'lockKey':_0x2c8f90[_0x1d05e9(0x101)]+'/'+_0x2c8f90['functionName'],'reason':_0x1d05e9(0x129)});continue;}const _0x48b018=_0x583283[_0x1d05e9(0x135)][_0x1880a0[_0x1d05e9(0x123)]];try{if(!_0x2c8f90['id'])throw new Error('Remote\x20script\x20missing\x20id.');if(_0x2c8f90[_0x1d05e9(0x120)]==null)throw new Error(_0x1d05e9(0x11e));const _0x33141f=_0x2c8f90[_0x1d05e9(0x120)],_0x83e377=computeContentHash(_0x33141f);if(!_0x15f226){const _0x328d06=await hasUnsyncedLocalChanges(_0x1880a0[_0x1d05e9(0x106)],_0x48b018,_0x83e377);if(_0x328d06){_0x4432e1['push']({'lockKey':_0x1880a0[_0x1d05e9(0x123)],'reason':_0x1d05e9(0xf8)});continue;}}await ensureParentDirectory(_0x1880a0['filePath']),await writeFile(_0x1880a0['filePath'],_0x33141f,_0x1d05e9(0x114));const _0x4cd3f3={'hash':_0x83e377,'remoteId':_0x2c8f90['id'],'version':_0x2c8f90['version']};_0x1880a0[_0x1d05e9(0x131)]===_0x1d05e9(0x12f)&&_0x1880a0['hookLocation']&&(_0x4cd3f3['alias']=_0x1880a0[_0x1d05e9(0xf3)]['alias'],_0x4cd3f3[_0x1d05e9(0xf7)]=_0x1880a0['hookLocation'][_0x1d05e9(0xf7)],_0x4cd3f3[_0x1d05e9(0x10f)]=_0x1880a0[_0x1d05e9(0xf3)]['operationType'],_0x4cd3f3[_0x1d05e9(0x109)]=_0x1880a0[_0x1d05e9(0xf3)][_0x1d05e9(0x109)]),_0x753c85[_0x1d05e9(0x135)][_0x1880a0[_0x1d05e9(0x123)]]=_0x4cd3f3,_0x59e1b[_0x1d05e9(0xf6)]({'lockKey':_0x1880a0[_0x1d05e9(0x123)],'remoteId':_0x2c8f90['id']});}catch(_0x40b7a8){_0x34c16a[_0x1d05e9(0xf6)]({'lockKey':_0x1880a0[_0x1d05e9(0x123)],'error':_0x40b7a8 instanceof Error?_0x40b7a8[_0x1d05e9(0x133)]:String(_0x40b7a8)});}}return _0x753c85[_0x1d05e9(0x104)]=new Date()[_0x1d05e9(0x122)](),await writeBffLockFile(_0x4ec536[_0x1d05e9(0x100)],_0xbf73ba),{'ok':_0x34c16a[_0x1d05e9(0x12b)]===0x0,'data':{'pulled':_0x59e1b,'skipped':_0x4432e1,'failed':_0x34c16a},'message':_0x1d05e9(0x136)+_0x59e1b[_0x1d05e9(0x12b)]+_0x1d05e9(0x12c)+_0x4432e1[_0x1d05e9(0x12b)]+'\x20skipped,\x20'+_0x34c16a[_0x1d05e9(0x12b)]+_0x1d05e9(0x132)};}};async function hasUnsyncedLocalChanges(_0x219fd3,_0x5e63a4,_0x57d5ee){if(!await fileExists(_0x219fd3))return![];const _0x4d88f4=await computeFileHash(_0x219fd3);if(!_0x5e63a4)return _0x57d5ee?_0x4d88f4!==_0x57d5ee:!![];return _0x4d88f4!==_0x5e63a4['hash'];}function buildDatasetCodeToAliasMap(_0x3e5de4,_0x40e3c4){const _0x2ab37c=a31_0x8ff3b3,_0xa287af=loadAliasMap(_0x3e5de4,undefined,resolveApiFilePath(_0x3e5de4,_0x40e3c4));return new Map(_0xa287af['map'](_0x591b7c=>[_0x591b7c[_0x2ab37c(0xf7)],_0x591b7c[_0x2ab37c(0x102)]]));}async function confirmForce(){const _0x20669e=a31_0x8ff3b3,_0x20e9c9=createInterface({'input':process[_0x20669e(0x12e)],'output':process[_0x20669e(0xfc)]}),_0x4c63e4=await new Promise(_0xb8e699=>{const _0xbacd60=_0x20669e;_0x20e9c9[_0xbacd60(0xfb)]('Force\x20pull\x20will\x20overwrite\x20local\x20unsynced\x20changes.\x20Continue?\x20[y/N]\x20',_0xb8e699);});return _0x20e9c9[_0x20669e(0xee)](),['y',_0x20669e(0x119)]['includes'](_0x4c63e4[_0x20669e(0xf2)]()[_0x20669e(0x10a)]());}
1
+ const a31_0x2b2841=a31_0x2b43;(function(_0xef54a4,_0xf63702){const _0x3a02bc=a31_0x2b43,_0x534ed7=_0xef54a4();while(!![]){try{const _0x11d172=parseInt(_0x3a02bc(0x188))/0x1*(-parseInt(_0x3a02bc(0x19d))/0x2)+parseInt(_0x3a02bc(0x16b))/0x3+parseInt(_0x3a02bc(0x1ac))/0x4*(-parseInt(_0x3a02bc(0x1a3))/0x5)+-parseInt(_0x3a02bc(0x1a4))/0x6+parseInt(_0x3a02bc(0x179))/0x7+-parseInt(_0x3a02bc(0x1ae))/0x8+-parseInt(_0x3a02bc(0x163))/0x9*(-parseInt(_0x3a02bc(0x17f))/0xa);if(_0x11d172===_0xf63702)break;else _0x534ed7['push'](_0x534ed7['shift']());}catch(_0x57b90c){_0x534ed7['push'](_0x534ed7['shift']());}}}(a31_0x5ecf,0x8af44));import{createInterface}from'node:readline';import{writeFile}from'node:fs/promises';import{listBffScripts,getBffScriptStatistics}from'../../core/api-client.js';function a31_0x2b43(_0x2e18d9,_0x39b659){_0x2e18d9=_0x2e18d9-0x163;const _0x5ecfdc=a31_0x5ecf();let _0x2b43b0=_0x5ecfdc[_0x2e18d9];return _0x2b43b0;}import{loadAliasMap}from'../../core/alias-resolver.js';import{resolveApiFilePath}from'../../context.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{createHookLocationMap,ensureParentDirectory,fileExists,normalizeBffType,resolveRemoteScriptTarget}from'../../core/bff/file-system.js';import{computeContentHash,computeFileHash}from'../../core/bff/hash.js';import{createEmptyBffLock,ensureLockScope,readBffLockFile,writeBffLockFile}from'../../core/bff/lock.js';import{CliErrors}from'../../errors.js';export const bffPull={'service':'bff','command':'pull','description':a31_0x2b2841(0x168),'risk':'write','flags':[{'name':a31_0x2b2841(0x1a0),'type':a31_0x2b2841(0x166),'description':a31_0x2b2841(0x183),'enum':[a31_0x2b2841(0x167),a31_0x2b2841(0x197),'HOOK']},{'name':'force','type':'boolean','description':'Force\x20overwrite\x20local\x20unsynced\x20changes'}],async 'dryRun'(_0x573480){const _0x2553ee=a31_0x2b2841,_0x4838b5=loadBffProjectConfig(_0x573480[_0x2553ee(0x1aa)]),_0x2356f6=await readBffLockFile(_0x4838b5['lockFilePath']),{appLock:_0x55fe0f}=ensureLockScope(_0x2356f6??createEmptyBffLock(),_0x573480['appCode'],_0x4838b5[_0x2553ee(0x185)],_0x2553ee(0x189)),_0x4eb765=normalizeBffType(_0x573480[_0x2553ee(0x16c)](_0x2553ee(0x1a0)))??undefined,_0x501420=buildDatasetCodeToAliasMap(_0x573480[_0x2553ee(0x1a6)],_0x573480[_0x2553ee(0x1aa)]),[_0x3fe2aa,_0x51e524]=await Promise['all']([listBffScripts(_0x573480[_0x2553ee(0x1aa)],_0x4eb765),getBffScriptStatistics(_0x573480['appCode'])]),_0x3d51cf=createHookLocationMap(_0x51e524),_0x3fc426=[];for(const _0xaff2f0 of _0x3fe2aa){const _0xa9bfe7=resolveRemoteScriptTarget(_0x4838b5,_0xaff2f0,_0x3d51cf,_0x55fe0f[_0x2553ee(0x17d)],_0x501420);if(!_0xa9bfe7){_0x3fc426[_0x2553ee(0x174)]({'scriptType':_0xaff2f0[_0x2553ee(0x1a5)],'functionName':_0xaff2f0['functionName']??'','status':_0x2553ee(0x19e),'reason':_0x2553ee(0x17c)});continue;}const _0x5e29ec=_0x55fe0f[_0x2553ee(0x17d)][_0xa9bfe7[_0x2553ee(0x18d)]],_0x30c48b=_0xaff2f0['scriptContent']!=null?computeContentHash(_0xaff2f0[_0x2553ee(0x176)]):undefined,_0x1625e5=await hasUnsyncedLocalChanges(_0xa9bfe7['filePath'],_0x5e29ec,_0x30c48b);_0x3fc426['push']({'lockKey':_0xa9bfe7['lockKey'],'filePath':_0xa9bfe7[_0x2553ee(0x184)],'remoteId':_0xaff2f0['id']??null,'status':_0x1625e5?_0x2553ee(0x193):_0x2553ee(0x17b)});}return{'method':_0x2553ee(0x175),'url':_0x2553ee(0x18c)+_0x573480[_0x2553ee(0x1aa)]+(_0x4eb765?'&type='+_0x4eb765:''),'body':{'appCode':_0x573480['appCode'],'filterType':_0x4eb765??null,'files':_0x3fc426},'description':_0x2553ee(0x19f)+_0x3fc426[_0x2553ee(0x177)]+_0x2553ee(0x17e)};},async 'execute'(_0x291cdf){const _0x16d7ff=a31_0x2b2841,_0x45abf8=loadBffProjectConfig(_0x291cdf[_0x16d7ff(0x1aa)]),_0x3fe1c3=await readBffLockFile(_0x45abf8[_0x16d7ff(0x165)]),{lockData:_0x2782c4,appLock:_0xc945ce}=ensureLockScope(_0x3fe1c3??createEmptyBffLock(),_0x291cdf[_0x16d7ff(0x1aa)],_0x45abf8['scriptsRoot'],'pull'),_0x3b4874=normalizeBffType(_0x291cdf['str'](_0x16d7ff(0x1a0)))??undefined;if(_0x291cdf[_0x16d7ff(0x16c)](_0x16d7ff(0x1a0))&&!_0x3b4874)throw CliErrors[_0x16d7ff(0x172)](_0x16d7ff(0x1a9));const [_0x215405,_0x54801d]=await Promise[_0x16d7ff(0x164)]([listBffScripts(_0x291cdf['appCode'],_0x3b4874),getBffScriptStatistics(_0x291cdf[_0x16d7ff(0x1aa)])]);if(_0x215405[_0x16d7ff(0x177)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x16d7ff(0x180)};const _0x14b13d=_0x291cdf[_0x16d7ff(0x171)](_0x16d7ff(0x19a));if(_0x14b13d&&!_0x291cdf[_0x16d7ff(0x192)]){const _0x86bb49=await confirmForce();if(!_0x86bb49)throw CliErrors[_0x16d7ff(0x173)](_0x16d7ff(0x199));}if(_0x14b13d&&_0x291cdf['nonInteractive']){}const _0x435a4c=buildDatasetCodeToAliasMap(_0x291cdf['apiDir'],_0x291cdf[_0x16d7ff(0x1aa)]),_0x3d281d=createHookLocationMap(_0x54801d),_0x5a0d37=JSON['parse'](JSON[_0x16d7ff(0x195)](_0x2782c4)),_0x1a7b8c=_0x291cdf[_0x16d7ff(0x1aa)],_0xaa864d=_0x5a0d37['apps'][_0x1a7b8c];if(!_0xaa864d)throw new Error(_0x16d7ff(0x181)+_0x1a7b8c+'\x22\x20not\x20found\x20after\x20ensureLockScope.');const _0xa5afef=[],_0x594681=[],_0xa80ed9=[];for(const _0x3fc863 of _0x215405){const _0x27b37d=resolveRemoteScriptTarget(_0x45abf8,_0x3fc863,_0x3d281d,_0xc945ce[_0x16d7ff(0x17d)],_0x435a4c);if(!_0x27b37d){_0x594681['push']({'lockKey':_0x3fc863[_0x16d7ff(0x1a5)]+'/'+_0x3fc863[_0x16d7ff(0x194)],'reason':_0x16d7ff(0x17c)});continue;}const _0x4ccca8=_0xc945ce['functions'][_0x27b37d[_0x16d7ff(0x18d)]];try{if(!_0x3fc863['id'])throw new Error(_0x16d7ff(0x182));if(_0x3fc863[_0x16d7ff(0x176)]==null)throw new Error(_0x16d7ff(0x1ad));const _0x3781fb=_0x3fc863['scriptContent'],_0x95de67=computeContentHash(_0x3781fb);if(!_0x14b13d){const _0x4098ff=await hasUnsyncedLocalChanges(_0x27b37d[_0x16d7ff(0x184)],_0x4ccca8,_0x95de67);if(_0x4098ff){_0x594681[_0x16d7ff(0x174)]({'lockKey':_0x27b37d[_0x16d7ff(0x18d)],'reason':_0x16d7ff(0x1a7)});continue;}}await ensureParentDirectory(_0x27b37d[_0x16d7ff(0x184)]),await writeFile(_0x27b37d[_0x16d7ff(0x184)],_0x3781fb,_0x16d7ff(0x18f));const _0x24bc91={'hash':_0x95de67,'remoteId':_0x3fc863['id'],'version':_0x3fc863['version']};_0x27b37d['type']===_0x16d7ff(0x1a2)&&_0x27b37d[_0x16d7ff(0x16a)]&&(_0x24bc91[_0x16d7ff(0x170)]=_0x27b37d[_0x16d7ff(0x16a)][_0x16d7ff(0x170)],_0x24bc91['datasetCode']=_0x27b37d[_0x16d7ff(0x16a)][_0x16d7ff(0x18a)],_0x24bc91[_0x16d7ff(0x16d)]=_0x27b37d['hookLocation'][_0x16d7ff(0x16d)],_0x24bc91[_0x16d7ff(0x18b)]=_0x27b37d[_0x16d7ff(0x16a)]['functionNode']),_0xaa864d['functions'][_0x27b37d[_0x16d7ff(0x18d)]]=_0x24bc91,_0xa5afef['push']({'lockKey':_0x27b37d[_0x16d7ff(0x18d)],'remoteId':_0x3fc863['id']});}catch(_0x116500){_0xa80ed9[_0x16d7ff(0x174)]({'lockKey':_0x27b37d[_0x16d7ff(0x18d)],'error':_0x116500 instanceof Error?_0x116500[_0x16d7ff(0x17a)]:String(_0x116500)});}}return _0xaa864d[_0x16d7ff(0x178)]=new Date()[_0x16d7ff(0x198)](),await writeBffLockFile(_0x45abf8[_0x16d7ff(0x165)],_0x5a0d37),{'ok':_0xa80ed9[_0x16d7ff(0x177)]===0x0,'data':{'pulled':_0xa5afef,'skipped':_0x594681,'failed':_0xa80ed9},'message':_0x16d7ff(0x196)+_0xa5afef[_0x16d7ff(0x177)]+_0x16d7ff(0x19c)+_0x594681[_0x16d7ff(0x177)]+_0x16d7ff(0x169)+_0xa80ed9[_0x16d7ff(0x177)]+_0x16d7ff(0x186)};}};async function hasUnsyncedLocalChanges(_0x3836aa,_0x4bc3c9,_0x32cd27){const _0x4b20d2=a31_0x2b2841;if(!await fileExists(_0x3836aa))return![];const _0x189456=await computeFileHash(_0x3836aa);if(!_0x4bc3c9)return _0x32cd27?_0x189456!==_0x32cd27:!![];return _0x189456!==_0x4bc3c9[_0x4b20d2(0x1ab)];}function buildDatasetCodeToAliasMap(_0x6212d2,_0x12e705){const _0x147a3e=a31_0x2b2841,_0xb35c4=loadAliasMap(_0x6212d2,undefined,resolveApiFilePath(_0x6212d2,_0x12e705));return new Map(_0xb35c4[_0x147a3e(0x1a1)](_0x5bdd23=>[_0x5bdd23[_0x147a3e(0x18a)],_0x5bdd23['alias']]));}async function confirmForce(){const _0x9c7ecd=a31_0x2b2841,_0x3beff6=createInterface({'input':process[_0x9c7ecd(0x1a8)],'output':process[_0x9c7ecd(0x187)]}),_0x489341=await new Promise(_0x3cc5be=>{const _0x12d467=_0x9c7ecd;_0x3beff6[_0x12d467(0x16e)]('Force\x20pull\x20will\x20overwrite\x20local\x20unsynced\x20changes.\x20Continue?\x20[y/N]\x20',_0x3cc5be);});return _0x3beff6[_0x9c7ecd(0x191)](),['y',_0x9c7ecd(0x19b)][_0x9c7ecd(0x18e)](_0x489341[_0x9c7ecd(0x190)]()[_0x9c7ecd(0x16f)]());}function a31_0x5ecf(){const _0x3c44c4=['string','COMMON','Pull\x20remote\x20BFF\x20scripts\x20to\x20local','\x20skipped,\x20','hookLocation','1897878nwyxKo','str','operationType','question','toLowerCase','alias','bool','validation','cancelled','push','GET','scriptContent','length','lastSync','3492769sOgmly','message','would_pull','unresolvable\x20target\x20path','functions','\x20remote\x20BFF\x20script(s)\x20for\x20pull','61910RarRdF','No\x20remote\x20BFF\x20scripts\x20found.','Lock\x20scope\x20for\x20app\x20\x22','Remote\x20script\x20missing\x20id.','Pull\x20only\x20this\x20script\x20type','filePath','scriptsRoot','\x20failed','stderr','159QTxQcJ','pull','datasetCode','functionNode','/api/management/library/scripts/list?appCode=','lockKey','includes','utf8','trim','close','nonInteractive','conflict','functionName','stringify','Pull\x20complete:\x20','ENDPOINT','toISOString','Force\x20pull\x20cancelled.','force','yes','\x20pulled,\x20','998YLfYZW','skipped','Would\x20inspect\x20','type','map','HOOK','15qibBKN','1243296FQMdPV','scriptType','apiDir','local\x20unsynced\x20changes','stdin','--type\x20must\x20be\x20COMMON,\x20ENDPOINT,\x20or\x20HOOK.','appCode','hash','320100gKxMRb','Remote\x20script\x20missing\x20content.','9052896wMtlnf','1593ppwULa','all','lockFilePath'];a31_0x5ecf=function(){return _0x3c44c4;};return a31_0x5ecf();}
@@ -1 +1 @@
1
- const a32_0x9cbed8=a32_0x4057;(function(_0x3071c5,_0xba7440){const _0x3a96ef=a32_0x4057,_0x23b907=_0x3071c5();while(!![]){try{const _0x5138a5=-parseInt(_0x3a96ef(0x18f))/0x1*(parseInt(_0x3a96ef(0x18a))/0x2)+-parseInt(_0x3a96ef(0x153))/0x3*(-parseInt(_0x3a96ef(0x157))/0x4)+parseInt(_0x3a96ef(0x199))/0x5+parseInt(_0x3a96ef(0x185))/0x6*(-parseInt(_0x3a96ef(0x184))/0x7)+parseInt(_0x3a96ef(0x159))/0x8+parseInt(_0x3a96ef(0x191))/0x9*(parseInt(_0x3a96ef(0x15f))/0xa)+parseInt(_0x3a96ef(0x171))/0xb*(-parseInt(_0x3a96ef(0x183))/0xc);if(_0x5138a5===_0xba7440)break;else _0x23b907['push'](_0x23b907['shift']());}catch(_0x3783bb){_0x23b907['push'](_0x23b907['shift']());}}}(a32_0x1e4d,0xdccac));import{readFile}from'node:fs/promises';import{saveBffScript,getBffScriptInfo,listDatasets,clearBffScriptCache}from'../../core/api-client.js';import{loadAliasMap}from'../../core/alias-resolver.js';import{resolveApiFilePath}from'../../context.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{normalizeBffType,scanLocalBffFunctions}from'../../core/bff/file-system.js';import{computeFileHash}from'../../core/bff/hash.js';import{createEmptyBffLock,ensureLockScope,readBffLockFile,writeBffLockFile}from'../../core/bff/lock.js';import{extractScriptDescription}from'../../core/bff/utils.js';import{sleep}from'../../utils/sleep.js';import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';function a32_0x1e4d(){const _0x5608f3=['8862455VwmlqZ','unchanged','filter','hash','lastSync','/api/management/library/scripts/save','runtime\x20cache\x20not\x20needed','appCode','Local\x20function\x20not\x20found:\x20','push','\x20api\x20pull`\x20to\x20refresh\x20api.ts,\x20or\x20verify\x20the\x20dataset\x20exists.','code','filePath','str','Push\x20only\x20the\x20named\x20function\x20(requires\x20--type)','780CxytDS','datasetCode','aliasToDatasetCode','values','2116GzekCB','--name\x20requires\x20--type\x20to\x20identify\x20the\x20function.','11671024lwKYxh','script','has','boolean','Push\x20complete:\x20','Cannot\x20resolve\x20dataset\x20for\x20\x22','6158290jyFZvp','cleared','length','attempted','\x20skipped,\x20','update','apiDir','Force\x20push\x20ignoring\x20hash\x20protection','HOOK','map','some','stringify','POST','Lock\x20file\x20not\x20settled\x20after\x20push\x20for\x20','utf8','lockFilePath','force','operationType','1007347dHupCB','status','message','COMMON','get','lockKey','version','parse','functionNode','\x20local\x20BFF\x20script(s)\x20for\x20push\x20and\x20clear\x20runtime\x20cache\x20if\x20files\x20are\x20uploaded','toISOString','bff','description','high-risk-write','bool','\x20uploaded,\x20','Run\x20`','name','132RuMUIi','238XCqdtQ','141774GCOqct','Push\x20local\x20BFF\x20scripts\x20to\x20remote','functions','string','No\x20local\x20BFF\x20functions\x20found.','2VgKxhi','create','would_push','alias','Push\x20only\x20this\x20script\x20type','1269641XJDLpx','datasetCodeToDataset','9FMOsax','validation','scriptsRoot','remoteId','\x20failed,\x20','type','Runtime\x20script\x20cache\x20cleared.','runtime\x20cache\x20cleared'];a32_0x1e4d=function(){return _0x5608f3;};return a32_0x1e4d();}const CACHE_CLEAR_ATTEMPTS=0x2,CACHE_CLEAR_INTERVAL_MS=0x12c;export const bffPush={'service':a32_0x9cbed8(0x17c),'command':a32_0x9cbed8(0x1a2),'description':a32_0x9cbed8(0x186),'risk':a32_0x9cbed8(0x17e),'flags':[{'name':a32_0x9cbed8(0x196),'type':a32_0x9cbed8(0x188),'description':a32_0x9cbed8(0x18e),'enum':[a32_0x9cbed8(0x174),'ENDPOINT',a32_0x9cbed8(0x167)]},{'name':a32_0x9cbed8(0x182),'type':a32_0x9cbed8(0x188),'description':a32_0x9cbed8(0x152)},{'name':'force','type':a32_0x9cbed8(0x15c),'description':a32_0x9cbed8(0x166)}],async 'dryRun'(_0x5c4807){const _0x1b2e4d=a32_0x9cbed8,_0x281932=loadBffProjectConfig(_0x5c4807[_0x1b2e4d(0x1a0)]),_0x433d85=await readBffLockFile(_0x281932[_0x1b2e4d(0x16e)]),{appLock:_0x488512}=ensureLockScope(_0x433d85??createEmptyBffLock(),_0x5c4807[_0x1b2e4d(0x1a0)],_0x281932[_0x1b2e4d(0x193)],_0x1b2e4d(0x1a2)),_0x385e15=await getTargetFunctions(_0x281932,_0x5c4807),_0x4c311a=_0x5c4807[_0x1b2e4d(0x17f)](_0x1b2e4d(0x16f)),_0x53aebd=[];for(const _0x3b25a0 of _0x385e15){const _0x57649f=await computeFileHash(_0x3b25a0['filePath']),_0x1fc07a=_0x488512[_0x1b2e4d(0x187)][_0x3b25a0[_0x1b2e4d(0x176)]],_0x29b1c8=!!_0x1fc07a&&_0x1fc07a[_0x1b2e4d(0x19c)]===_0x57649f;_0x53aebd[_0x1b2e4d(0x1a2)]({'lockKey':_0x3b25a0[_0x1b2e4d(0x176)],'filePath':_0x3b25a0[_0x1b2e4d(0x1a5)],'remoteId':_0x1fc07a?.['remoteId']??null,'mode':_0x1fc07a?.[_0x1b2e4d(0x194)]?_0x1b2e4d(0x164):_0x1b2e4d(0x18b),'status':!_0x4c311a&&_0x29b1c8?_0x1b2e4d(0x19a):'would_push'});}return{'method':_0x1b2e4d(0x16b),'url':_0x1b2e4d(0x19e),'body':{'appCode':_0x5c4807[_0x1b2e4d(0x1a0)],'force':_0x4c311a,'files':_0x53aebd,'cacheClearAtRuntime':_0x53aebd[_0x1b2e4d(0x169)](_0x291ec4=>_0x291ec4[_0x1b2e4d(0x172)]===_0x1b2e4d(0x18c)),'cacheClearAtRuntimeTimes':_0x53aebd[_0x1b2e4d(0x169)](_0x4e94f0=>_0x4e94f0['status']==='would_push')?CACHE_CLEAR_ATTEMPTS:0x0},'description':'Would\x20inspect\x20'+_0x53aebd[_0x1b2e4d(0x161)]+_0x1b2e4d(0x17a)};},async 'execute'(_0x5112bd){const _0x3f6e58=a32_0x9cbed8,_0x56ce7d=loadBffProjectConfig(_0x5112bd[_0x3f6e58(0x1a0)]),_0x1471c4=await readBffLockFile(_0x56ce7d[_0x3f6e58(0x16e)]),{lockData:_0x4cb009,appLock:_0x3f15da}=ensureLockScope(_0x1471c4??createEmptyBffLock(),_0x5112bd['appCode'],_0x56ce7d[_0x3f6e58(0x193)],_0x3f6e58(0x1a2)),_0x2de7c6=await getTargetFunctions(_0x56ce7d,_0x5112bd);if(_0x2de7c6[_0x3f6e58(0x161)]===0x0)return{'ok':!![],'data':{'uploaded':[],'skipped':[],'failed':[]},'message':_0x3f6e58(0x189)};const _0x15c1aa=_0x5112bd[_0x3f6e58(0x17f)](_0x3f6e58(0x16f)),_0x5e8c46=JSON[_0x3f6e58(0x178)](JSON[_0x3f6e58(0x16a)](_0x4cb009)),_0x54759c=_0x5e8c46['apps'][_0x5112bd[_0x3f6e58(0x1a0)]];if(!_0x54759c)throw new Error('Lock\x20scope\x20for\x20app\x20\x22'+_0x5112bd[_0x3f6e58(0x1a0)]+'\x22\x20not\x20found\x20after\x20ensureLockScope.');const _0x4c704d=await buildHookMaps(_0x5112bd[_0x3f6e58(0x1a0)],_0x5112bd[_0x3f6e58(0x165)],_0x2de7c6,_0x54759c),_0x260378=[],_0x1c96f9=[],_0x5a9662=[];for(const _0x5d21eb of _0x2de7c6){const _0x5cad64=await computeFileHash(_0x5d21eb[_0x3f6e58(0x1a5)]),_0xb05576=_0x54759c['functions'][_0x5d21eb[_0x3f6e58(0x176)]];if(!_0x15c1aa&&_0xb05576&&_0xb05576[_0x3f6e58(0x19c)]===_0x5cad64){_0x1c96f9['push']({'lockKey':_0x5d21eb[_0x3f6e58(0x176)],'reason':_0x3f6e58(0x19a)});continue;}try{await uploadSingleFunction(_0x5112bd['appCode'],_0x5d21eb,_0x54759c,_0x4c704d);const _0x4584c2=_0x54759c[_0x3f6e58(0x187)][_0x5d21eb[_0x3f6e58(0x176)]];_0x260378[_0x3f6e58(0x1a2)]({'lockKey':_0x5d21eb['lockKey'],'remoteId':_0x4584c2?.[_0x3f6e58(0x194)]??0x0});}catch(_0x2e1470){_0x5a9662[_0x3f6e58(0x1a2)]({'lockKey':_0x5d21eb[_0x3f6e58(0x176)],'error':_0x2e1470 instanceof Error?_0x2e1470[_0x3f6e58(0x173)]:String(_0x2e1470)});}}_0x54759c[_0x3f6e58(0x19d)]=new Date()[_0x3f6e58(0x17b)](),await writeBffLockFile(_0x56ce7d[_0x3f6e58(0x16e)],_0x5e8c46),await waitForUploadedLockEntries(_0x56ce7d['lockFilePath'],_0x5112bd[_0x3f6e58(0x1a0)],_0x260378[_0x3f6e58(0x168)](_0x52fc2a=>_0x52fc2a[_0x3f6e58(0x176)]));let _0x79ff92={'attempted':![],'cleared':![]};if(_0x260378[_0x3f6e58(0x161)]>0x0)try{let _0x21e013='';for(let _0x5964ac=0x0;_0x5964ac<CACHE_CLEAR_ATTEMPTS;_0x5964ac+=0x1){_0x21e013=await clearBffScriptCache(),_0x5964ac<CACHE_CLEAR_ATTEMPTS-0x1&&await sleep(CACHE_CLEAR_INTERVAL_MS);}_0x79ff92={'attempted':!![],'cleared':!![],'message':_0x21e013||_0x3f6e58(0x197)};}catch(_0x4039cd){_0x79ff92={'attempted':!![],'cleared':![],'error':_0x4039cd instanceof Error?_0x4039cd['message']:String(_0x4039cd)};}const _0x35ba98=_0x5a9662['length']===0x0&&(_0x79ff92[_0x3f6e58(0x162)]?_0x79ff92[_0x3f6e58(0x160)]:!![]),_0x35762a=_0x79ff92[_0x3f6e58(0x162)]?_0x79ff92[_0x3f6e58(0x160)]?_0x3f6e58(0x198):'runtime\x20cache\x20clear\x20failed':_0x3f6e58(0x19f);return{'ok':_0x35ba98,'data':{'uploaded':_0x260378,'skipped':_0x1c96f9,'failed':_0x5a9662,'cacheClear':_0x79ff92},'message':_0x3f6e58(0x15d)+_0x260378['length']+_0x3f6e58(0x180)+_0x1c96f9[_0x3f6e58(0x161)]+_0x3f6e58(0x163)+_0x5a9662['length']+_0x3f6e58(0x195)+_0x35762a};}};async function getTargetFunctions(_0x5d0e19,_0x8faf91){const _0x53c6d5=a32_0x9cbed8,_0x2b850c=_0x8faf91[_0x53c6d5(0x1a6)]('type'),_0x43d8e2=_0x8faf91[_0x53c6d5(0x1a6)](_0x53c6d5(0x182)),_0x52c5db=normalizeBffType(_0x2b850c)??undefined;if(_0x43d8e2&&!_0x52c5db)throw CliErrors[_0x53c6d5(0x192)](_0x53c6d5(0x158));const _0x3f783e=await scanLocalBffFunctions(_0x5d0e19,_0x52c5db);if(_0x43d8e2){const _0x8f0c14=_0x3f783e[_0x53c6d5(0x19b)](_0x1fa1e4=>_0x1fa1e4[_0x53c6d5(0x182)]===_0x43d8e2);if(_0x8f0c14['length']===0x0)throw CliErrors['validation'](_0x53c6d5(0x1a1)+_0x52c5db+'/'+_0x43d8e2);return _0x8f0c14;}return _0x3f783e;}async function buildHookMaps(_0x3e9a3d,_0x4bde39,_0x34a918,_0x2f9d62){const _0x5eecb3=a32_0x9cbed8,_0x461aa7=_0x34a918[_0x5eecb3(0x169)](_0x24a635=>_0x24a635[_0x5eecb3(0x196)]===_0x5eecb3(0x167));if(!_0x461aa7)return{'aliasToDatasetCode':new Map(),'datasetCodeToDataset':new Map()};const _0xd7e0cb=loadAliasMap(_0x4bde39,undefined,resolveApiFilePath(_0x4bde39,_0x3e9a3d)),_0x3be120=new Map(_0xd7e0cb['map'](_0x572125=>[_0x572125[_0x5eecb3(0x18d)],_0x572125[_0x5eecb3(0x154)]]));for(const _0x240fa0 of Object[_0x5eecb3(0x156)](_0x2f9d62[_0x5eecb3(0x187)])){_0x240fa0[_0x5eecb3(0x18d)]&&_0x240fa0[_0x5eecb3(0x154)]&&!_0x3be120[_0x5eecb3(0x15b)](_0x240fa0['alias'])&&_0x3be120['set'](_0x240fa0['alias'],_0x240fa0['datasetCode']);}const _0x29aa04=await listDatasets(_0x3e9a3d),_0x5d14d9=new Map(_0x29aa04['map'](_0x1293cf=>[_0x1293cf[_0x5eecb3(0x1a4)],_0x1293cf]));return{'aliasToDatasetCode':_0x3be120,'datasetCodeToDataset':_0x5d14d9};}async function uploadSingleFunction(_0x3b9e3a,_0x509876,_0x4b6502,_0x549a87){const _0x5b6db5=a32_0x9cbed8,_0x4770c5=await readFile(_0x509876[_0x5b6db5(0x1a5)],_0x5b6db5(0x16d)),_0x3c4ab7=await computeFileHash(_0x509876[_0x5b6db5(0x1a5)]),_0x298cad=_0x4b6502[_0x5b6db5(0x187)][_0x509876['lockKey']];if(_0x298cad?.['remoteId']&&_0x298cad[_0x5b6db5(0x177)]==null)throw CliErrors[_0x5b6db5(0x192)](_0x509876['lockKey']+':\x20missing\x20remote\x20version.\x20Run\x20`push`\x20after\x20`pull`\x20to\x20sync\x20version\x20info.');let _0x41ea29=extractScriptDescription(_0x4770c5);if(!_0x41ea29&&_0x298cad?.['remoteId']){const _0x225811=await getBffScriptInfo(_0x298cad[_0x5b6db5(0x194)]);_0x41ea29=_0x225811[_0x5b6db5(0x17d)]||undefined;}const _0x3e37ee={'appCode':_0x3b9e3a,'functionName':_0x509876[_0x5b6db5(0x182)],'scriptType':_0x509876[_0x5b6db5(0x196)],'scriptContent':_0x4770c5};if(_0x298cad?.['remoteId'])_0x3e37ee['id']=_0x298cad[_0x5b6db5(0x194)];if(_0x298cad?.[_0x5b6db5(0x177)]!=null)_0x3e37ee[_0x5b6db5(0x177)]=_0x298cad[_0x5b6db5(0x177)];if(_0x41ea29)_0x3e37ee[_0x5b6db5(0x17d)]=_0x41ea29;if(_0x509876['type']===_0x5b6db5(0x167)){const _0x9b2113=_0x509876['alias'];if(!_0x9b2113||!_0x509876[_0x5b6db5(0x170)]||!_0x509876['functionNode'])throw CliErrors[_0x5b6db5(0x192)]('Incomplete\x20HOOK\x20path:\x20'+_0x509876['lockKey']);const _0xe3e722=_0x549a87[_0x5b6db5(0x155)][_0x5b6db5(0x175)](_0x9b2113)??_0x298cad?.[_0x5b6db5(0x154)]??_0x9b2113,_0x35a6ab=_0x549a87[_0x5b6db5(0x190)][_0x5b6db5(0x175)](_0xe3e722);if(!_0x35a6ab)throw CliErrors['validation'](_0x5b6db5(0x15e)+_0x9b2113+'\x22.\x20'+(_0x5b6db5(0x181)+CLI_BIN_NAME+_0x5b6db5(0x1a3)));_0x3e37ee['datasetId']=_0x35a6ab['id'],_0x3e37ee['operationType']=_0x509876['operationType'],_0x3e37ee[_0x5b6db5(0x179)]=_0x509876[_0x5b6db5(0x179)];}const _0x3f6949=await saveBffScript(_0x3e37ee),_0x405cf5=_0x3f6949['id'],_0x4df526=_0x3f6949[_0x5b6db5(0x15a)]??await getBffScriptInfo(_0x405cf5),_0x31274b={'hash':_0x3c4ab7,'remoteId':_0x405cf5,'version':_0x4df526['version']};if(_0x509876[_0x5b6db5(0x196)]==='HOOK'){const _0x23f919=_0x509876[_0x5b6db5(0x18d)],_0x4419c2=_0x549a87['aliasToDatasetCode'][_0x5b6db5(0x175)](_0x23f919)??_0x298cad?.[_0x5b6db5(0x154)]??_0x23f919;_0x549a87[_0x5b6db5(0x155)][_0x5b6db5(0x15b)](_0x23f919)?_0x31274b['alias']=_0x23f919:_0x31274b[_0x5b6db5(0x18d)]=_0x298cad?.[_0x5b6db5(0x18d)],_0x31274b[_0x5b6db5(0x154)]=_0x4419c2,_0x31274b[_0x5b6db5(0x170)]=_0x509876[_0x5b6db5(0x170)],_0x31274b['functionNode']=_0x509876['functionNode'];}_0x4b6502['functions'][_0x509876['lockKey']]=_0x31274b;}const LOCK_SETTLE_RETRY_COUNT=0x14,LOCK_SETTLE_DELAY_MS=0x64;function a32_0x4057(_0x57f9c4,_0x2717f9){_0x57f9c4=_0x57f9c4-0x152;const _0x1e4dbf=a32_0x1e4d();let _0x405785=_0x1e4dbf[_0x57f9c4];return _0x405785;}async function waitForUploadedLockEntries(_0xdca758,_0x58d0ac,_0x172a05){const _0x192271=a32_0x9cbed8;if(_0x172a05[_0x192271(0x161)]===0x0)return;for(let _0x10ea6a=0x0;_0x10ea6a<LOCK_SETTLE_RETRY_COUNT;_0x10ea6a+=0x1){const _0x4668a4=await readBffLockFile(_0xdca758),_0x2b64a3=_0x4668a4?.['apps']?.[_0x58d0ac]?.[_0x192271(0x187)]??{},_0x20c2f4=_0x172a05['every'](_0x1fde4a=>!!_0x2b64a3[_0x1fde4a]?.['remoteId']);if(_0x20c2f4)return;await sleep(LOCK_SETTLE_DELAY_MS);}throw new Error(_0x192271(0x16c)+_0x172a05['join'](',\x20')+'.');}
1
+ const a32_0x279cf7=a32_0x2b08;(function(_0x5f1f85,_0x14ad19){const _0x3df5c8=a32_0x2b08,_0x562f18=_0x5f1f85();while(!![]){try{const _0x500122=-parseInt(_0x3df5c8(0x1d9))/0x1*(-parseInt(_0x3df5c8(0x1e2))/0x2)+-parseInt(_0x3df5c8(0x1d8))/0x3+parseInt(_0x3df5c8(0x1dd))/0x4+-parseInt(_0x3df5c8(0x1d1))/0x5+-parseInt(_0x3df5c8(0x1c7))/0x6*(parseInt(_0x3df5c8(0x1ee))/0x7)+parseInt(_0x3df5c8(0x1ce))/0x8+-parseInt(_0x3df5c8(0x1ae))/0x9*(-parseInt(_0x3df5c8(0x1af))/0xa);if(_0x500122===_0x14ad19)break;else _0x562f18['push'](_0x562f18['shift']());}catch(_0xc377c4){_0x562f18['push'](_0x562f18['shift']());}}}(a32_0x4cb3,0x67797));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_0x2b08(_0xb9c55c,_0x29bfcf){_0xb9c55c=_0xb9c55c-0x1a0;const _0x4cb3f0=a32_0x4cb3();let _0x2b082b=_0x4cb3f0[_0xb9c55c];return _0x2b082b;}export const bffPush={'service':a32_0x279cf7(0x1ac),'command':a32_0x279cf7(0x1d2),'description':a32_0x279cf7(0x1ec),'risk':'high-risk-write','flags':[{'name':'type','type':a32_0x279cf7(0x1b4),'description':a32_0x279cf7(0x1d5),'enum':[a32_0x279cf7(0x1be),a32_0x279cf7(0x1cf),a32_0x279cf7(0x1da)]},{'name':a32_0x279cf7(0x1c6),'type':a32_0x279cf7(0x1b4),'description':a32_0x279cf7(0x1e1)},{'name':a32_0x279cf7(0x1b6),'type':a32_0x279cf7(0x1e3),'description':'Force\x20push\x20ignoring\x20hash\x20protection'}],async 'dryRun'(_0x39fec5){const _0x32264e=a32_0x279cf7,_0x13ddea=loadBffProjectConfig(_0x39fec5[_0x32264e(0x1a3)]),_0x130a91=await readBffLockFile(_0x13ddea['lockFilePath']),{appLock:_0x5067ec}=ensureLockScope(_0x130a91??createEmptyBffLock(),_0x39fec5['appCode'],_0x13ddea[_0x32264e(0x1c8)],_0x32264e(0x1d2)),_0x18c06b=await getTargetFunctions(_0x13ddea,_0x39fec5),_0x2bbe7a=_0x39fec5[_0x32264e(0x1c5)](_0x32264e(0x1b6)),_0x2a80dc=[];for(const _0x182d01 of _0x18c06b){const _0x63cb56=await computeFileHash(_0x182d01[_0x32264e(0x1cd)]),_0x4342cb=_0x5067ec[_0x32264e(0x1bc)][_0x182d01[_0x32264e(0x1a1)]],_0x48315c=!!_0x4342cb&&_0x4342cb[_0x32264e(0x1d4)]===_0x63cb56;_0x2a80dc['push']({'lockKey':_0x182d01[_0x32264e(0x1a1)],'filePath':_0x182d01[_0x32264e(0x1cd)],'remoteId':_0x4342cb?.[_0x32264e(0x1df)]??null,'mode':_0x4342cb?.['remoteId']?_0x32264e(0x1a8):_0x32264e(0x1b3),'status':!_0x2bbe7a&&_0x48315c?_0x32264e(0x1c9):'would_push'});}return{'method':'POST','url':'/api/management/library/scripts/save','body':{'appCode':_0x39fec5[_0x32264e(0x1a3)],'force':_0x2bbe7a,'files':_0x2a80dc,'cacheClearAtRuntime':_0x2a80dc['some'](_0x5e0f3c=>_0x5e0f3c[_0x32264e(0x1b7)]===_0x32264e(0x1c3)),'cacheClearAtRuntimeTimes':_0x2a80dc['some'](_0x33e5f6=>_0x33e5f6[_0x32264e(0x1b7)]===_0x32264e(0x1c3))?CACHE_CLEAR_ATTEMPTS:0x0},'description':'Would\x20inspect\x20'+_0x2a80dc[_0x32264e(0x1ca)]+_0x32264e(0x1e0)};},async 'execute'(_0x5c28b1){const _0x430f4d=a32_0x279cf7,_0x13430d=loadBffProjectConfig(_0x5c28b1[_0x430f4d(0x1a3)]),_0x4ef8f4=await readBffLockFile(_0x13430d[_0x430f4d(0x1d7)]),{lockData:_0xe4ef9,appLock:_0x45ff6d}=ensureLockScope(_0x4ef8f4??createEmptyBffLock(),_0x5c28b1[_0x430f4d(0x1a3)],_0x13430d[_0x430f4d(0x1c8)],_0x430f4d(0x1d2)),_0x4607e7=await getTargetFunctions(_0x13430d,_0x5c28b1);if(_0x4607e7['length']===0x0)return{'ok':!![],'data':{'uploaded':[],'skipped':[],'failed':[]},'message':'No\x20local\x20BFF\x20functions\x20found.'};const _0x4bb560=_0x5c28b1['bool'](_0x430f4d(0x1b6)),_0x3c1cbc=JSON[_0x430f4d(0x1d6)](JSON[_0x430f4d(0x1ab)](_0xe4ef9)),_0x41b220=_0x3c1cbc[_0x430f4d(0x1d3)][_0x5c28b1[_0x430f4d(0x1a3)]];if(!_0x41b220)throw new Error('Lock\x20scope\x20for\x20app\x20\x22'+_0x5c28b1[_0x430f4d(0x1a3)]+'\x22\x20not\x20found\x20after\x20ensureLockScope.');const _0x1e8865=await buildHookMaps(_0x5c28b1[_0x430f4d(0x1a3)],_0x5c28b1[_0x430f4d(0x1e9)],_0x4607e7,_0x41b220),_0x4a3934=[],_0x5f2017=[],_0x56ad57=[];for(const _0x2c9174 of _0x4607e7){const _0x2d6dc7=await computeFileHash(_0x2c9174[_0x430f4d(0x1cd)]),_0xf66da3=_0x41b220[_0x430f4d(0x1bc)][_0x2c9174[_0x430f4d(0x1a1)]];if(!_0x4bb560&&_0xf66da3&&_0xf66da3['hash']===_0x2d6dc7){_0x5f2017[_0x430f4d(0x1d2)]({'lockKey':_0x2c9174[_0x430f4d(0x1a1)],'reason':_0x430f4d(0x1c9)});continue;}try{await uploadSingleFunction(_0x5c28b1[_0x430f4d(0x1a3)],_0x2c9174,_0x41b220,_0x1e8865);const _0x2a255b=_0x41b220[_0x430f4d(0x1bc)][_0x2c9174[_0x430f4d(0x1a1)]];_0x4a3934[_0x430f4d(0x1d2)]({'lockKey':_0x2c9174[_0x430f4d(0x1a1)],'remoteId':_0x2a255b?.[_0x430f4d(0x1df)]??0x0});}catch(_0x4eb7a4){_0x56ad57['push']({'lockKey':_0x2c9174[_0x430f4d(0x1a1)],'error':_0x4eb7a4 instanceof Error?_0x4eb7a4[_0x430f4d(0x1a0)]:String(_0x4eb7a4)});}}_0x41b220[_0x430f4d(0x1e4)]=new Date()['toISOString'](),await writeBffLockFile(_0x13430d[_0x430f4d(0x1d7)],_0x3c1cbc),await waitForUploadedLockEntries(_0x13430d['lockFilePath'],_0x5c28b1[_0x430f4d(0x1a3)],_0x4a3934[_0x430f4d(0x1a2)](_0x4b0ae0=>_0x4b0ae0['lockKey']));let _0x42d2ec={'attempted':![],'cleared':![]};if(_0x4a3934[_0x430f4d(0x1ca)]>0x0)try{let _0x45d519='';for(let _0x106556=0x0;_0x106556<CACHE_CLEAR_ATTEMPTS;_0x106556+=0x1){_0x45d519=await clearBffScriptCache(),_0x106556<CACHE_CLEAR_ATTEMPTS-0x1&&await sleep(CACHE_CLEAR_INTERVAL_MS);}_0x42d2ec={'attempted':!![],'cleared':!![],'message':_0x45d519||_0x430f4d(0x1b5)};}catch(_0x30c3d8){_0x42d2ec={'attempted':!![],'cleared':![],'error':_0x30c3d8 instanceof Error?_0x30c3d8[_0x430f4d(0x1a0)]:String(_0x30c3d8)};}const _0x17a950=_0x56ad57[_0x430f4d(0x1ca)]===0x0&&(_0x42d2ec[_0x430f4d(0x1e8)]?_0x42d2ec['cleared']:!![]),_0x1ea740=_0x42d2ec[_0x430f4d(0x1e8)]?_0x42d2ec[_0x430f4d(0x1eb)]?_0x430f4d(0x1a5):_0x430f4d(0x1ef):_0x430f4d(0x1bf);return{'ok':_0x17a950,'data':{'uploaded':_0x4a3934,'skipped':_0x5f2017,'failed':_0x56ad57,'cacheClear':_0x42d2ec},'message':_0x430f4d(0x1a7)+_0x4a3934[_0x430f4d(0x1ca)]+_0x430f4d(0x1bd)+_0x5f2017[_0x430f4d(0x1ca)]+_0x430f4d(0x1e6)+_0x56ad57[_0x430f4d(0x1ca)]+_0x430f4d(0x1cc)+_0x1ea740};}};async function getTargetFunctions(_0x3cafc7,_0x5a5b06){const _0x107cf1=a32_0x279cf7,_0xca0474=_0x5a5b06[_0x107cf1(0x1bb)](_0x107cf1(0x1c2)),_0x12e480=_0x5a5b06[_0x107cf1(0x1bb)](_0x107cf1(0x1c6)),_0x1eb3ef=normalizeBffType(_0xca0474)??undefined;if(_0x12e480&&!_0x1eb3ef)throw CliErrors[_0x107cf1(0x1ea)](_0x107cf1(0x1d0));const _0x24adb8=await scanLocalBffFunctions(_0x3cafc7,_0x1eb3ef);if(_0x12e480){const _0x3efc9b=_0x24adb8[_0x107cf1(0x1e7)](_0x171027=>_0x171027[_0x107cf1(0x1c6)]===_0x12e480);if(_0x3efc9b['length']===0x0)throw CliErrors[_0x107cf1(0x1ea)]('Local\x20function\x20not\x20found:\x20'+_0x1eb3ef+'/'+_0x12e480);return _0x3efc9b;}return _0x24adb8;}async function buildHookMaps(_0x51b02d,_0x4e20c9,_0x42c14b,_0x4f4b48){const _0x321fea=a32_0x279cf7,_0x5f0485=_0x42c14b[_0x321fea(0x1dc)](_0x27dd53=>_0x27dd53['type']===_0x321fea(0x1da));if(!_0x5f0485)return{'aliasToDatasetCode':new Map(),'datasetCodeToDataset':new Map()};const _0x1dbebc=loadAliasMap(_0x4e20c9,undefined,resolveApiFilePath(_0x4e20c9,_0x51b02d)),_0x42029a=new Map(_0x1dbebc[_0x321fea(0x1a2)](_0x219cad=>[_0x219cad['alias'],_0x219cad['datasetCode']]));for(const _0x4192c9 of Object[_0x321fea(0x1a9)](_0x4f4b48[_0x321fea(0x1bc)])){_0x4192c9[_0x321fea(0x1a4)]&&_0x4192c9[_0x321fea(0x1c4)]&&!_0x42029a[_0x321fea(0x1b2)](_0x4192c9['alias'])&&_0x42029a[_0x321fea(0x1ad)](_0x4192c9['alias'],_0x4192c9[_0x321fea(0x1c4)]);}const _0xd2e996=await listDatasets(_0x51b02d),_0x52d045=new Map(_0xd2e996[_0x321fea(0x1a2)](_0xe59fdc=>[_0xe59fdc['code'],_0xe59fdc]));return{'aliasToDatasetCode':_0x42029a,'datasetCodeToDataset':_0x52d045};}async function uploadSingleFunction(_0x5a4b45,_0x6227c5,_0x6a2448,_0x1d128a){const _0x7bb076=a32_0x279cf7,_0x3624c4=await readFile(_0x6227c5[_0x7bb076(0x1cd)],_0x7bb076(0x1cb)),_0x54890a=await computeFileHash(_0x6227c5[_0x7bb076(0x1cd)]),_0x17bcf9=_0x6a2448[_0x7bb076(0x1bc)][_0x6227c5[_0x7bb076(0x1a1)]];if(_0x17bcf9?.[_0x7bb076(0x1df)]&&_0x17bcf9[_0x7bb076(0x1b0)]==null)throw CliErrors[_0x7bb076(0x1ea)](_0x6227c5['lockKey']+':\x20missing\x20remote\x20version.\x20Run\x20`push`\x20after\x20`pull`\x20to\x20sync\x20version\x20info.');let _0x4484ff=extractScriptDescription(_0x3624c4);if(!_0x4484ff&&_0x17bcf9?.['remoteId']){const _0x1a5757=await getBffScriptInfo(_0x17bcf9[_0x7bb076(0x1df)]);_0x4484ff=_0x1a5757[_0x7bb076(0x1aa)]||undefined;}const _0x4c0d6b={'appCode':_0x5a4b45,'functionName':_0x6227c5[_0x7bb076(0x1c6)],'scriptType':_0x6227c5[_0x7bb076(0x1c2)],'scriptContent':_0x3624c4};if(_0x17bcf9?.[_0x7bb076(0x1df)])_0x4c0d6b['id']=_0x17bcf9[_0x7bb076(0x1df)];if(_0x17bcf9?.['version']!=null)_0x4c0d6b[_0x7bb076(0x1b0)]=_0x17bcf9[_0x7bb076(0x1b0)];if(_0x4484ff)_0x4c0d6b[_0x7bb076(0x1aa)]=_0x4484ff;if(_0x6227c5[_0x7bb076(0x1c2)]===_0x7bb076(0x1da)){const _0x21092f=_0x6227c5['alias'];if(!_0x21092f||!_0x6227c5[_0x7bb076(0x1a6)]||!_0x6227c5[_0x7bb076(0x1b8)])throw CliErrors['validation'](_0x7bb076(0x1b9)+_0x6227c5[_0x7bb076(0x1a1)]);const _0x31b0f5=_0x1d128a[_0x7bb076(0x1b1)][_0x7bb076(0x1e5)](_0x21092f)??_0x17bcf9?.[_0x7bb076(0x1c4)]??_0x21092f,_0x488a1b=_0x1d128a[_0x7bb076(0x1ed)]['get'](_0x31b0f5);if(!_0x488a1b)throw CliErrors['validation'](_0x7bb076(0x1c0)+_0x21092f+'\x22.\x20'+('Run\x20`'+CLI_BIN_NAME+_0x7bb076(0x1c1)));_0x4c0d6b['datasetId']=_0x488a1b['id'],_0x4c0d6b[_0x7bb076(0x1a6)]=_0x6227c5[_0x7bb076(0x1a6)],_0x4c0d6b[_0x7bb076(0x1b8)]=_0x6227c5[_0x7bb076(0x1b8)];}const _0x6563d5=await saveBffScript(_0x4c0d6b),_0x5dfdc1=_0x6563d5['id'],_0x3a24b3=_0x6563d5['script']??await getBffScriptInfo(_0x5dfdc1),_0x36f4ac={'hash':_0x54890a,'remoteId':_0x5dfdc1,'version':_0x3a24b3[_0x7bb076(0x1b0)]};if(_0x6227c5[_0x7bb076(0x1c2)]===_0x7bb076(0x1da)){const _0x5a9b45=_0x6227c5[_0x7bb076(0x1a4)],_0x2e86e5=_0x1d128a[_0x7bb076(0x1b1)][_0x7bb076(0x1e5)](_0x5a9b45)??_0x17bcf9?.[_0x7bb076(0x1c4)]??_0x5a9b45;_0x1d128a[_0x7bb076(0x1b1)][_0x7bb076(0x1b2)](_0x5a9b45)?_0x36f4ac[_0x7bb076(0x1a4)]=_0x5a9b45:_0x36f4ac[_0x7bb076(0x1a4)]=_0x17bcf9?.[_0x7bb076(0x1a4)],_0x36f4ac[_0x7bb076(0x1c4)]=_0x2e86e5,_0x36f4ac[_0x7bb076(0x1a6)]=_0x6227c5['operationType'],_0x36f4ac[_0x7bb076(0x1b8)]=_0x6227c5['functionNode'];}_0x6a2448['functions'][_0x6227c5[_0x7bb076(0x1a1)]]=_0x36f4ac;}const LOCK_SETTLE_RETRY_COUNT=0x14,LOCK_SETTLE_DELAY_MS=0x64;function a32_0x4cb3(){const _0x2d8822=['remoteId','\x20local\x20BFF\x20script(s)\x20for\x20push\x20and\x20clear\x20runtime\x20cache\x20if\x20files\x20are\x20uploaded','Push\x20only\x20the\x20named\x20function\x20(requires\x20--type)','38XwVEKe','boolean','lastSync','get','\x20skipped,\x20','filter','attempted','apiDir','validation','cleared','Push\x20local\x20BFF\x20scripts\x20to\x20remote','datasetCodeToDataset','2092342tJIJFO','runtime\x20cache\x20clear\x20failed','message','lockKey','map','appCode','alias','runtime\x20cache\x20cleared','operationType','Push\x20complete:\x20','update','values','description','stringify','bff','set','54423OGeKkT','1300tQAHBU','version','aliasToDatasetCode','has','create','string','Runtime\x20script\x20cache\x20cleared.','force','status','functionNode','Incomplete\x20HOOK\x20path:\x20','join','str','functions','\x20uploaded,\x20','COMMON','runtime\x20cache\x20not\x20needed','Cannot\x20resolve\x20dataset\x20for\x20\x22','\x20api\x20pull`\x20to\x20refresh\x20api.ts,\x20or\x20verify\x20the\x20dataset\x20exists.','type','would_push','datasetCode','bool','name','12XRtuqb','scriptsRoot','unchanged','length','utf8','\x20failed,\x20','filePath','151800pZPcfD','ENDPOINT','--name\x20requires\x20--type\x20to\x20identify\x20the\x20function.','2508400rGyJdG','push','apps','hash','Push\x20only\x20this\x20script\x20type','parse','lockFilePath','1661964AwPTWt','26118unyXVr','HOOK','every','some','3103936lyuuxO','Lock\x20file\x20not\x20settled\x20after\x20push\x20for\x20'];a32_0x4cb3=function(){return _0x2d8822;};return a32_0x4cb3();}async function waitForUploadedLockEntries(_0x2b3f02,_0x24139a,_0x2d86bd){const _0x39b6f0=a32_0x279cf7;if(_0x2d86bd[_0x39b6f0(0x1ca)]===0x0)return;for(let _0x51da8d=0x0;_0x51da8d<LOCK_SETTLE_RETRY_COUNT;_0x51da8d+=0x1){const _0x3b12d6=await readBffLockFile(_0x2b3f02),_0x15a381=_0x3b12d6?.[_0x39b6f0(0x1d3)]?.[_0x24139a]?.[_0x39b6f0(0x1bc)]??{},_0x2ba7e0=_0x2d86bd[_0x39b6f0(0x1db)](_0x109c9f=>!!_0x15a381[_0x109c9f]?.['remoteId']);if(_0x2ba7e0)return;await sleep(LOCK_SETTLE_DELAY_MS);}throw new Error(_0x39b6f0(0x1de)+_0x2d86bd[_0x39b6f0(0x1ba)](',\x20')+'.');}