@lovrabet/rabetbase-cli 2.1.14-beta.3 → 2.2.0-beta.2

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 (209) 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 -0
  60. package/lib/commands/dataset/relation-delete.js +1 -0
  61. package/lib/commands/dataset/relation-shared.js +1 -0
  62. package/lib/commands/dataset/relation-update.js +1 -0
  63. package/lib/commands/dataset/relations.js +1 -0
  64. package/lib/commands/dataset/rename.js +1 -1
  65. package/lib/commands/db/analyze-cancel.js +1 -1
  66. package/lib/commands/db/analyze-start.js +1 -1
  67. package/lib/commands/db/analyze-status.js +1 -1
  68. package/lib/commands/db/create.js +1 -1
  69. package/lib/commands/db/delete.js +1 -1
  70. package/lib/commands/db/detail.js +1 -1
  71. package/lib/commands/db/diff.js +1 -1
  72. package/lib/commands/db/index.js +1 -1
  73. package/lib/commands/db/list.js +1 -1
  74. package/lib/commands/db/shared.js +1 -1
  75. package/lib/commands/db/tables.js +1 -1
  76. package/lib/commands/db/test.js +1 -1
  77. package/lib/commands/db/update.js +1 -1
  78. package/lib/commands/doctor.js +1 -1
  79. package/lib/commands/init/index.js +1 -1
  80. package/lib/commands/issue/index.js +1 -1
  81. package/lib/commands/issue/nudge.js +1 -1
  82. package/lib/commands/issue/report.js +1 -1
  83. package/lib/commands/issue/shared.js +1 -1
  84. package/lib/commands/logs/index.js +1 -1
  85. package/lib/commands/menu/index.js +1 -1
  86. package/lib/commands/menu/shared/compare-table.js +1 -1
  87. package/lib/commands/menu/shared/index.js +1 -1
  88. package/lib/commands/menu/shared/inquirer.js +1 -1
  89. package/lib/commands/menu/shared/local-pages.js +1 -1
  90. package/lib/commands/menu/shared/logic.js +1 -1
  91. package/lib/commands/menu/shared/service.js +1 -1
  92. package/lib/commands/menu/shared/sync-core.js +1 -1
  93. package/lib/commands/menu/shared/update-core.js +1 -1
  94. package/lib/commands/menu/shared/valid-url.js +1 -1
  95. package/lib/commands/menu/sync.js +1 -1
  96. package/lib/commands/menu/update.js +1 -1
  97. package/lib/commands/page/generate-start.js +1 -1
  98. package/lib/commands/page/generate-status.js +1 -1
  99. package/lib/commands/page/index.js +1 -1
  100. package/lib/commands/page/pull.js +1 -1
  101. package/lib/commands/page/push.js +1 -1
  102. package/lib/commands/page/relation-audit.js +1 -0
  103. package/lib/commands/page/shared.js +1 -1
  104. package/lib/commands/page/standard-page-status.js +1 -1
  105. package/lib/commands/page/sync.js +1 -1
  106. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  107. package/lib/commands/project/create/format-elapsed.js +1 -1
  108. package/lib/commands/project/create/main.js +1 -1
  109. package/lib/commands/project/create/non-interactive.js +1 -1
  110. package/lib/commands/project/create/project-template-path.js +1 -1
  111. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  112. package/lib/commands/project/create/use-format-code.js +1 -1
  113. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  114. package/lib/commands/project/index.js +1 -1
  115. package/lib/commands/project/init.js +1 -1
  116. package/lib/commands/project/upgrade.js +1 -1
  117. package/lib/commands/registry.js +1 -1
  118. package/lib/commands/run/index.js +1 -1
  119. package/lib/commands/schema.js +1 -1
  120. package/lib/commands/skill/index.js +1 -1
  121. package/lib/commands/sql/create.js +1 -1
  122. package/lib/commands/sql/delete.js +1 -1
  123. package/lib/commands/sql/detail.js +1 -1
  124. package/lib/commands/sql/exec.js +1 -1
  125. package/lib/commands/sql/index.js +1 -1
  126. package/lib/commands/sql/list.js +1 -1
  127. package/lib/commands/sql/pull.js +1 -1
  128. package/lib/commands/sql/push.js +1 -1
  129. package/lib/commands/sql/save.js +1 -1
  130. package/lib/commands/sql/shared.js +1 -1
  131. package/lib/commands/sql/status.js +1 -1
  132. package/lib/commands/sql/validate.js +1 -1
  133. package/lib/config/schema.js +1 -1
  134. package/lib/constant/cdn.js +1 -1
  135. package/lib/constant/cli.js +1 -1
  136. package/lib/constant/defaults.js +1 -1
  137. package/lib/constant/domain.js +1 -1
  138. package/lib/constant/env.js +1 -1
  139. package/lib/constant/output.js +1 -1
  140. package/lib/constant/paths.js +1 -1
  141. package/lib/constant/risk.js +1 -1
  142. package/lib/context.js +1 -1
  143. package/lib/core/alias-resolver.js +1 -1
  144. package/lib/core/api-client.js +1 -1
  145. package/lib/core/bff/config.js +1 -1
  146. package/lib/core/bff/file-system.js +1 -1
  147. package/lib/core/bff/hash.js +1 -1
  148. package/lib/core/bff/lock.js +1 -1
  149. package/lib/core/bff/utils.js +1 -1
  150. package/lib/core/db-resolver.js +1 -1
  151. package/lib/core/page/file-system.js +1 -1
  152. package/lib/core/page/hash.js +1 -1
  153. package/lib/core/page/lock.js +1 -1
  154. package/lib/core/sql-sync/config.js +1 -1
  155. package/lib/core/sql-sync/file-system.js +1 -1
  156. package/lib/core/sql-sync/hash.js +1 -1
  157. package/lib/core/sql-sync/lock.js +1 -1
  158. package/lib/core/sql-sync/utils.js +1 -1
  159. package/lib/core/sql-validator.js +1 -1
  160. package/lib/errors.js +1 -1
  161. package/lib/framework/build-all-flags.js +1 -1
  162. package/lib/framework/flags.js +1 -1
  163. package/lib/framework/help.js +1 -1
  164. package/lib/framework/index.js +1 -1
  165. package/lib/framework/output.js +1 -1
  166. package/lib/framework/response.js +1 -1
  167. package/lib/framework/runner-alias.js +1 -1
  168. package/lib/framework/runner.js +1 -1
  169. package/lib/framework/schema-export.js +1 -1
  170. package/lib/framework/types.js +1 -1
  171. package/lib/generated/build-info.js +1 -1
  172. package/lib/help.js +1 -1
  173. package/lib/skills/main.js +1 -1
  174. package/lib/skills/npx-skills-add.js +1 -1
  175. package/lib/telemetry/cli-command-trace.js +1 -1
  176. package/lib/telemetry/cli-help-trace.js +1 -1
  177. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  178. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  179. package/lib/telemetry/send-cli-trace-log.js +1 -1
  180. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  181. package/lib/utils/ai_config.js +1 -1
  182. package/lib/utils/apply-jq-filter.js +1 -1
  183. package/lib/utils/cdn-config.js +1 -1
  184. package/lib/utils/check-sdk-version.js +1 -1
  185. package/lib/utils/cli-version-check.js +1 -1
  186. package/lib/utils/cli-version-policy.js +1 -1
  187. package/lib/utils/config.js +1 -1
  188. package/lib/utils/copy-directory.js +1 -1
  189. package/lib/utils/entity-with-id.js +1 -1
  190. package/lib/utils/file-utils.js +1 -1
  191. package/lib/utils/guides-cdn.js +1 -1
  192. package/lib/utils/http-client.js +1 -1
  193. package/lib/utils/is-non-interactive.js +1 -1
  194. package/lib/utils/logger.js +1 -1
  195. package/lib/utils/params.js +1 -1
  196. package/lib/utils/platform.js +1 -1
  197. package/lib/utils/rules-cdn.js +1 -1
  198. package/lib/utils/sleep.js +1 -1
  199. package/lib/utils/template-replacer.js +1 -1
  200. package/lib/utils/update-notice.js +1 -0
  201. package/lib/utils/version.js +1 -1
  202. package/lib/utils/with-active-cookie.js +1 -1
  203. package/lib/utils/write-cli-side-channel.js +1 -1
  204. package/package.json +1 -1
  205. package/lib/commands/dataset/link-create.js +0 -1
  206. package/lib/commands/dataset/link-delete.js +0 -1
  207. package/lib/commands/dataset/link-shared.js +0 -1
  208. package/lib/commands/dataset/link-update.js +0 -1
  209. package/lib/commands/dataset/links.js +0 -1
@@ -1 +1 @@
1
- const a18_0x5269b8=a18_0x426d;(function(_0x89290c,_0x246c81){const _0x259a4e=a18_0x426d,_0x26dbcd=_0x89290c();while(!![]){try{const _0x467d4c=parseInt(_0x259a4e(0xf3))/0x1+-parseInt(_0x259a4e(0xf1))/0x2*(parseInt(_0x259a4e(0x108))/0x3)+-parseInt(_0x259a4e(0xfc))/0x4*(-parseInt(_0x259a4e(0xff))/0x5)+-parseInt(_0x259a4e(0xef))/0x6+-parseInt(_0x259a4e(0xfa))/0x7*(parseInt(_0x259a4e(0xf7))/0x8)+parseInt(_0x259a4e(0x10f))/0x9*(parseInt(_0x259a4e(0x107))/0xa)+-parseInt(_0x259a4e(0xfb))/0xb*(-parseInt(_0x259a4e(0x110))/0xc);if(_0x467d4c===_0x246c81)break;else _0x26dbcd['push'](_0x26dbcd['shift']());}catch(_0x4e343b){_0x26dbcd['push'](_0x26dbcd['shift']());}}}(a18_0x1c87,0xf3302));function a18_0x426d(_0x32ecb9,_0x945a3){_0x32ecb9=_0x32ecb9-0xef;const _0x1c8762=a18_0x1c87();let _0x426dcf=_0x1c8762[_0x32ecb9];return _0x426dcf;}import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';function a18_0x1c87(){const _0xaf9baa=['string','10408RjTxlF','\x20app\x20add\x20<name>\x20--appcode\x20<code>','Added','4662Mvypmt','44euYdJG','76696wtehTV','\x20app\x20\x22','defaultApp','135RVTPGP','trim','appcode','Use\x20global\x20config\x20scope','Add\x20or\x20update\x20an\x20app\x20in\x20config','flagMissing','App\x20code','str','729210RnNpEE','93zbfHbh','boolean','Updated','name','global','App\x20profile\x20name','\x22\x20(appcode:\x20','135tyHypH','627648ZOSiob','5369220AsZGwc','\x20Set\x20as\x20default\x20app.','6384xAhLRQ','bool','1035657bdrDWP','apps','args'];a18_0x1c87=function(){return _0xaf9baa;};return a18_0x1c87();}import{collectAppProfileOverrides,getAppProfileFlagDefs}from'../../config/schema.js';import{readConfig,writeConfig,scopeLabel}from'../../commands/app/shared.js';async function validateArgs(_0x26740a){const _0x52aae4=a18_0x426d,_0x2b5497=_0x26740a['args'][0x0]?.['trim']();if(!_0x2b5497)throw CliErrors['validation']('Missing\x20app\x20name.','Usage:\x20'+CLI_BIN_NAME+_0x52aae4(0xf8));}async function execute(_0x19d3d9){const _0x8eca59=a18_0x426d,_0x510c93=_0x19d3d9[_0x8eca59(0xf5)][0x0]?.[_0x8eca59(0x100)]();if(!_0x510c93)throw CliErrors['validation']('Missing\x20app\x20name.','Usage:\x20'+CLI_BIN_NAME+'\x20app\x20add\x20<name>\x20--appcode\x20<code>');const _0x35c78f=_0x19d3d9['str']('appcode');if(!_0x35c78f)throw CliErrors[_0x8eca59(0x104)]('appcode','Usage:\x20'+CLI_BIN_NAME+_0x8eca59(0xf8));const _0x5bbab1={'global':_0x19d3d9[_0x8eca59(0xf2)]('global')},_0x33ae5c=readConfig(_0x5bbab1);if(!_0x33ae5c[_0x8eca59(0xf4)])_0x33ae5c[_0x8eca59(0xf4)]={};const _0x3d558c={'appcode':_0x35c78f,...collectAppProfileOverrides(_0x174a12=>_0x19d3d9[_0x8eca59(0x106)](_0x174a12))},_0x5a3008=_0x33ae5c[_0x8eca59(0xf4)],_0x76a51f=!!_0x5a3008[_0x510c93];_0x5a3008[_0x510c93]=_0x3d558c;if(!_0x33ae5c['defaultApp'])_0x33ae5c[_0x8eca59(0xfe)]=_0x510c93;writeConfig(_0x33ae5c,_0x5bbab1);const _0x47f65b=!_0x76a51f&&_0x33ae5c[_0x8eca59(0xfe)]===_0x510c93?_0x8eca59(0xf0):'',_0x178fdc=(_0x76a51f?_0x8eca59(0x10a):_0x8eca59(0xf9))+_0x8eca59(0xfd)+_0x510c93+_0x8eca59(0x10e)+_0x35c78f+')'+scopeLabel(_0x5bbab1)+'.'+_0x47f65b;return{'ok':!![],'message':_0x178fdc};}export const appAddDefinition={'service':'app','command':'add','description':a18_0x5269b8(0x103),'risk':'write','requiresAuth':![],'requiresAppCode':![],'args':[{'name':a18_0x5269b8(0x10b),'description':a18_0x5269b8(0x10d),'required':!![]}],'flags':[{'name':a18_0x5269b8(0x101),'type':a18_0x5269b8(0xf6),'description':a18_0x5269b8(0x105),'required':!![]},{'name':a18_0x5269b8(0x10c),'type':a18_0x5269b8(0x109),'description':a18_0x5269b8(0x102),'default':![]},...getAppProfileFlagDefs()],'validate':validateArgs,'execute':execute};
1
+ const a18_0x928ba=a18_0x57c0;(function(_0x419b47,_0x179bea){const _0x12c3c1=a18_0x57c0,_0x44501e=_0x419b47();while(!![]){try{const _0x5bc21c=parseInt(_0x12c3c1(0xed))/0x1+-parseInt(_0x12c3c1(0xd4))/0x2+-parseInt(_0x12c3c1(0xdb))/0x3+parseInt(_0x12c3c1(0xec))/0x4+parseInt(_0x12c3c1(0xde))/0x5+parseInt(_0x12c3c1(0xda))/0x6+-parseInt(_0x12c3c1(0xe0))/0x7*(parseInt(_0x12c3c1(0xe6))/0x8);if(_0x5bc21c===_0x179bea)break;else _0x44501e['push'](_0x44501e['shift']());}catch(_0x1a63d5){_0x44501e['push'](_0x44501e['shift']());}}}(a18_0x2452,0xc759b));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';function a18_0x57c0(_0x56cc65,_0x4a1ba5){_0x56cc65=_0x56cc65-0xd0;const _0x245264=a18_0x2452();let _0x57c04a=_0x245264[_0x56cc65];return _0x57c04a;}import{collectAppProfileOverrides,getAppProfileFlagDefs}from'../../config/schema.js';function a18_0x2452(){const _0x5e7e6e=['59048jjorTB','686017TiDtSQ','defaultApp','global','add','Add\x20or\x20update\x20an\x20app\x20in\x20config','2299076rOFcKK','apps','Missing\x20app\x20name.','bool','app','args','3174552NcyfNr','284775OczDdt','trim','App\x20code','5490010gBNbfe','write','231LYwugc','\x22\x20(appcode:\x20','appcode','\x20app\x20add\x20<name>\x20--appcode\x20<code>','boolean','validation','64696nRPuKN','App\x20profile\x20name','name','Usage:\x20','Updated','Added'];a18_0x2452=function(){return _0x5e7e6e;};return a18_0x2452();}import{readConfig,writeConfig,scopeLabel}from'../../commands/app/shared.js';async function validateArgs(_0xfe10af){const _0x40f889=a18_0x57c0,_0x2b97ce=_0xfe10af[_0x40f889(0xd9)][0x0]?.[_0x40f889(0xdc)]();if(!_0x2b97ce)throw CliErrors['validation'](_0x40f889(0xd6),_0x40f889(0xe9)+CLI_BIN_NAME+_0x40f889(0xe3));}async function execute(_0x2c35b5){const _0x3e0e91=a18_0x57c0,_0x205b47=_0x2c35b5[_0x3e0e91(0xd9)][0x0]?.[_0x3e0e91(0xdc)]();if(!_0x205b47)throw CliErrors[_0x3e0e91(0xe5)]('Missing\x20app\x20name.',_0x3e0e91(0xe9)+CLI_BIN_NAME+_0x3e0e91(0xe3));const _0x4181b7=_0x2c35b5['str'](_0x3e0e91(0xe2));if(!_0x4181b7)throw CliErrors['flagMissing'](_0x3e0e91(0xe2),_0x3e0e91(0xe9)+CLI_BIN_NAME+'\x20app\x20add\x20<name>\x20--appcode\x20<code>');const _0x6c35ef={'global':_0x2c35b5[_0x3e0e91(0xd7)]('global')},_0x3f2a40=readConfig(_0x6c35ef);if(!_0x3f2a40[_0x3e0e91(0xd5)])_0x3f2a40[_0x3e0e91(0xd5)]={};const _0x5d1d0e={'appcode':_0x4181b7,...collectAppProfileOverrides(_0x555770=>_0x2c35b5['str'](_0x555770))},_0x23e5bb=_0x3f2a40[_0x3e0e91(0xd5)],_0x125b4a=!!_0x23e5bb[_0x205b47];_0x23e5bb[_0x205b47]=_0x5d1d0e;if(!_0x3f2a40[_0x3e0e91(0xd0)])_0x3f2a40[_0x3e0e91(0xd0)]=_0x205b47;writeConfig(_0x3f2a40,_0x6c35ef);const _0x1b4c47=!_0x125b4a&&_0x3f2a40[_0x3e0e91(0xd0)]===_0x205b47?'\x20Set\x20as\x20default\x20app.':'',_0x4c8576=(_0x125b4a?_0x3e0e91(0xea):_0x3e0e91(0xeb))+'\x20app\x20\x22'+_0x205b47+_0x3e0e91(0xe1)+_0x4181b7+')'+scopeLabel(_0x6c35ef)+'.'+_0x1b4c47;return{'ok':!![],'message':_0x4c8576};}export const appAddDefinition={'service':a18_0x928ba(0xd8),'command':a18_0x928ba(0xd2),'description':a18_0x928ba(0xd3),'risk':a18_0x928ba(0xdf),'requiresAuth':![],'requiresAppCode':![],'args':[{'name':a18_0x928ba(0xe8),'description':a18_0x928ba(0xe7),'required':!![]}],'flags':[{'name':a18_0x928ba(0xe2),'type':'string','description':a18_0x928ba(0xdd),'required':!![]},{'name':a18_0x928ba(0xd1),'type':a18_0x928ba(0xe4),'description':'Use\x20global\x20config\x20scope','default':![]},...getAppProfileFlagDefs()],'validate':validateArgs,'execute':execute};
@@ -1 +1 @@
1
- const a19_0x219b80=a19_0x1594;function a19_0x1594(_0x91f8c5,_0x4578cb){_0x91f8c5=_0x91f8c5-0x1af;const _0x373bdb=a19_0x373b();let _0x159464=_0x373bdb[_0x91f8c5];return _0x159464;}(function(_0x1beacd,_0x449cff){const _0x213ec4=a19_0x1594,_0x6c0b9d=_0x1beacd();while(!![]){try{const _0x1a35ad=parseInt(_0x213ec4(0x1ba))/0x1+parseInt(_0x213ec4(0x1b3))/0x2+parseInt(_0x213ec4(0x1bc))/0x3*(-parseInt(_0x213ec4(0x1bb))/0x4)+-parseInt(_0x213ec4(0x1be))/0x5+parseInt(_0x213ec4(0x1b1))/0x6*(parseInt(_0x213ec4(0x1b8))/0x7)+parseInt(_0x213ec4(0x1b2))/0x8+-parseInt(_0x213ec4(0x1b4))/0x9;if(_0x1a35ad===_0x449cff)break;else _0x6c0b9d['push'](_0x6c0b9d['shift']());}catch(_0x3e166f){_0x6c0b9d['push'](_0x6c0b9d['shift']());}}}(a19_0x373b,0x6500f));import{listRemoteApps}from'../../core/api-client.js';function a19_0x373b(){const _0x29a962=['map','../../core/api-client.js','3681966blQDbT','2979376twQYaY','1035698qzozco','3215907VCJRcv','appDesc','appName','appCode','7OkbNBx','List\x20apps\x20available\x20on\x20the\x20platform\x20for\x20the\x20current\x20login','123155qItzAV','2930300NScYnt','3ZOAsaL','cookie','617390pjSWJv'];a19_0x373b=function(){return _0x29a962;};return a19_0x373b();}async function execute(_0x561fc4){const _0x562307=a19_0x1594,{setActiveCookie:_0xdf2939}=await import(_0x562307(0x1b0));_0xdf2939(_0x561fc4[_0x562307(0x1bd)]);const _0x3dadbf=await listRemoteApps();return{'ok':!![],'data':{'items':_0x3dadbf[_0x562307(0x1af)](_0x8ea239=>({..._0x8ea239['id']!=null?{'id':_0x8ea239['id']}:{},'appCode':_0x8ea239[_0x562307(0x1b7)],'appName':_0x8ea239[_0x562307(0x1b6)],..._0x8ea239[_0x562307(0x1b5)]!=null?{'appDesc':_0x8ea239['appDesc']}:{}})),'meta':{'source':'platform'}}};}export const appRemoteDefinition={'service':'app','command':'remote','description':a19_0x219b80(0x1b9),'risk':'read','requiresAuth':!![],'requiresAppCode':![],'flags':[],'execute':execute};
1
+ function a19_0x292e(_0x1562d7,_0x1a790a){_0x1562d7=_0x1562d7-0x67;const _0x1d9928=a19_0x1d99();let _0x292e97=_0x1d9928[_0x1562d7];return _0x292e97;}function a19_0x1d99(){const _0x844e52=['appName','appCode','app','12964905VkLiLj','1740248qfPqMl','359948bWkrSX','2981682RdIDph','8383935MvYYCh','List\x20apps\x20available\x20on\x20the\x20platform\x20for\x20the\x20current\x20login','../../core/api-client.js','cookie','28tkpNqw','remote','5557880MePeRk','2SSUoZt','read','1037298sLBQNK','map','appDesc'];a19_0x1d99=function(){return _0x844e52;};return a19_0x1d99();}const a19_0x145d9f=a19_0x292e;(function(_0x7b4a1e,_0x97d2d){const _0x26020f=a19_0x292e,_0x174c1f=_0x7b4a1e();while(!![]){try{const _0x9cf3b6=-parseInt(_0x26020f(0x73))/0x1+parseInt(_0x26020f(0x6a))/0x2*(parseInt(_0x26020f(0x75))/0x3)+-parseInt(_0x26020f(0x74))/0x4+parseInt(_0x26020f(0x76))/0x5+parseInt(_0x26020f(0x6c))/0x6*(-parseInt(_0x26020f(0x67))/0x7)+-parseInt(_0x26020f(0x69))/0x8+parseInt(_0x26020f(0x72))/0x9;if(_0x9cf3b6===_0x97d2d)break;else _0x174c1f['push'](_0x174c1f['shift']());}catch(_0x17c9f3){_0x174c1f['push'](_0x174c1f['shift']());}}}(a19_0x1d99,0xda704));import{listRemoteApps}from'../../core/api-client.js';async function execute(_0x272793){const _0x6774d0=a19_0x292e,{setActiveCookie:_0x94a341}=await import(_0x6774d0(0x78));_0x94a341(_0x272793[_0x6774d0(0x79)]);const _0x40edd3=await listRemoteApps();return{'ok':!![],'data':{'items':_0x40edd3[_0x6774d0(0x6d)](_0x446cbb=>({..._0x446cbb['id']!=null?{'id':_0x446cbb['id']}:{},'appCode':_0x446cbb[_0x6774d0(0x70)],'appName':_0x446cbb[_0x6774d0(0x6f)],..._0x446cbb[_0x6774d0(0x6e)]!=null?{'appDesc':_0x446cbb['appDesc']}:{}})),'meta':{'source':'platform'}}};}export const appRemoteDefinition={'service':a19_0x145d9f(0x71),'command':a19_0x145d9f(0x68),'description':a19_0x145d9f(0x77),'risk':a19_0x145d9f(0x6b),'requiresAuth':!![],'requiresAppCode':![],'flags':[],'execute':execute};
@@ -1 +1 @@
1
- (function(_0x312f8c,_0x1261a3){const _0x380237=a20_0x3165,_0x253a4e=_0x312f8c();while(!![]){try{const _0x11d91e=-parseInt(_0x380237(0x15f))/0x1+parseInt(_0x380237(0x158))/0x2+parseInt(_0x380237(0x15a))/0x3*(-parseInt(_0x380237(0x15e))/0x4)+parseInt(_0x380237(0x160))/0x5+parseInt(_0x380237(0x15d))/0x6*(parseInt(_0x380237(0x157))/0x7)+parseInt(_0x380237(0x159))/0x8+-parseInt(_0x380237(0x15c))/0x9*(parseInt(_0x380237(0x15b))/0xa);if(_0x11d91e===_0x1261a3)break;else _0x253a4e['push'](_0x253a4e['shift']());}catch(_0x2fef37){_0x253a4e['push'](_0x253a4e['shift']());}}}(a20_0x462f,0xa7a87));function a20_0x3165(_0x4ff8e4,_0x4bb13b){_0x4ff8e4=_0x4ff8e4-0x157;const _0x462f04=a20_0x462f();let _0x316535=_0x462f04[_0x4ff8e4];return _0x316535;}import{appListDefinition}from'../../commands/app/list.js';import{appRemoteDefinition}from'../../commands/app/discover.js';import{appUseDefinition}from'../../commands/app/use.js';function a20_0x462f(){const _0x59e90f=['50427uHfGlC','6cjMIOa','264004vfVTmj','568795byTPNa','29590IclJCs','1154783nvmhIl','2495930gOOUgf','8012176tmgYKL','15YinrKh','1490pRnKAl'];a20_0x462f=function(){return _0x59e90f;};return a20_0x462f();}import{appAddDefinition}from'../../commands/app/add.js';import{appRemoveDefinition}from'../../commands/app/remove.js';export const appDefinitions=[appListDefinition,appRemoteDefinition,appUseDefinition,appAddDefinition,appRemoveDefinition];
1
+ (function(_0x38a309,_0x1080d4){const _0x24fdf9=a20_0x13a4,_0x18ec3a=_0x38a309();while(!![]){try{const _0x566e9c=parseInt(_0x24fdf9(0x15c))/0x1*(parseInt(_0x24fdf9(0x164))/0x2)+-parseInt(_0x24fdf9(0x165))/0x3*(-parseInt(_0x24fdf9(0x15f))/0x4)+parseInt(_0x24fdf9(0x163))/0x5*(-parseInt(_0x24fdf9(0x162))/0x6)+-parseInt(_0x24fdf9(0x161))/0x7+-parseInt(_0x24fdf9(0x15d))/0x8+parseInt(_0x24fdf9(0x166))/0x9+-parseInt(_0x24fdf9(0x15e))/0xa*(parseInt(_0x24fdf9(0x160))/0xb);if(_0x566e9c===_0x1080d4)break;else _0x18ec3a['push'](_0x18ec3a['shift']());}catch(_0x1a26fb){_0x18ec3a['push'](_0x18ec3a['shift']());}}}(a20_0x24ee,0x6c37c));import{appListDefinition}from'../../commands/app/list.js';import{appRemoteDefinition}from'../../commands/app/discover.js';function a20_0x24ee(){const _0x1564d7=['4111856cOoOsb','100EcRLiY','264dbZwpq','119449nSnToR','5096581XlftSu','30TfXlyr','184350xiNxse','2Vsjrcl','31746eJATYl','5754519dxkCaj','640462xjoAOJ'];a20_0x24ee=function(){return _0x1564d7;};return a20_0x24ee();}function a20_0x13a4(_0x23329a,_0x2de0c4){_0x23329a=_0x23329a-0x15c;const _0x24ee71=a20_0x24ee();let _0x13a45c=_0x24ee71[_0x23329a];return _0x13a45c;}import{appUseDefinition}from'../../commands/app/use.js';import{appAddDefinition}from'../../commands/app/add.js';import{appRemoveDefinition}from'../../commands/app/remove.js';export const appDefinitions=[appListDefinition,appRemoteDefinition,appUseDefinition,appAddDefinition,appRemoveDefinition];
@@ -1 +1 @@
1
- const a21_0x4ee97=a21_0x3050;(function(_0x7b1a74,_0x2120d1){const _0x1de3a8=a21_0x3050,_0x42dd2e=_0x7b1a74();while(!![]){try{const _0x10f71a=parseInt(_0x1de3a8(0xbe))/0x1+-parseInt(_0x1de3a8(0xcc))/0x2*(-parseInt(_0x1de3a8(0xd5))/0x3)+parseInt(_0x1de3a8(0xbb))/0x4*(parseInt(_0x1de3a8(0xbc))/0x5)+-parseInt(_0x1de3a8(0xdb))/0x6*(-parseInt(_0x1de3a8(0xd2))/0x7)+-parseInt(_0x1de3a8(0xbd))/0x8*(parseInt(_0x1de3a8(0xd4))/0x9)+-parseInt(_0x1de3a8(0xe0))/0xa*(-parseInt(_0x1de3a8(0xba))/0xb)+-parseInt(_0x1de3a8(0xc2))/0xc*(parseInt(_0x1de3a8(0xc0))/0xd);if(_0x10f71a===_0x2120d1)break;else _0x42dd2e['push'](_0x42dd2e['shift']());}catch(_0x2e29b9){_0x42dd2e['push'](_0x42dd2e['shift']());}}}(a21_0x1377,0x3ea7c));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(_0x3f62e7,_0x324185){const _0x12d3ce=a21_0x3050,_0x2f1a29=[],_0x2ae950=_0x3f62e7[_0x12d3ce(0xc7)]&&typeof _0x3f62e7[_0x12d3ce(0xc7)]==='object'?_0x3f62e7['apps']:{},_0x3a0a5f=_0x3f62e7[_0x12d3ce(0xde)]||undefined;for(const [_0x298eab,_0x374e3e]of Object[_0x12d3ce(0xc5)](_0x2ae950)){if(!_0x374e3e||typeof _0x374e3e!==_0x12d3ce(0xd3)||!_0x374e3e[_0x12d3ce(0xda)])continue;_0x2f1a29[_0x12d3ce(0xc8)]({'name':_0x298eab,'appcode':_0x374e3e['appcode'],'named':!![],'definedIn':_0x324185,'isDefault':_0x298eab===_0x3a0a5f,...buildAppProfileListFields(_0x374e3e)});}return _0x2f1a29;}function buildMergedItems(_0x33e4e0,_0x345ec3){const _0x3c79e9=a21_0x3050,{apps:apps={},defaultApp:_0x4bef3b}=_0x33e4e0,_0x255aa1=_0x345ec3[_0x3c79e9(0xca)]['apps']&&typeof _0x345ec3[_0x3c79e9(0xca)][_0x3c79e9(0xc7)]==='object'?_0x345ec3[_0x3c79e9(0xca)][_0x3c79e9(0xc7)]:{},_0x262f61=_0x345ec3[_0x3c79e9(0xcb)][_0x3c79e9(0xc7)]&&typeof _0x345ec3[_0x3c79e9(0xcb)][_0x3c79e9(0xc7)]===_0x3c79e9(0xd3)?_0x345ec3['projectConfig'][_0x3c79e9(0xc7)]:{},_0xf95e32=_0x345ec3[_0x3c79e9(0xcb)][_0x3c79e9(0xc4)]===![],_0x3ab9ab=Object[_0x3c79e9(0xc5)](apps),_0x487c40=_0x3ab9ab[_0x3c79e9(0xd8)](([_0x45d2bb,_0x551afe])=>({'name':_0x45d2bb,'appcode':_0x551afe[_0x3c79e9(0xda)],'named':!![],'definedIn':appDefinedIn(_0x45d2bb,_0x255aa1,_0x262f61,_0xf95e32),'isDefault':_0x45d2bb===_0x4bef3b,...buildAppProfileListFields(_0x551afe)}));return _0x487c40;}function a21_0x3050(_0x29626f,_0x494280){_0x29626f=_0x29626f-0xb9;const _0x13779b=a21_0x1377();let _0x30500f=_0x13779b[_0x29626f];return _0x30500f;}function a21_0x1377(){const _0x38f0c8=['bool','list','isCurrent','Show\x20only\x20apps\x20from\x20global\x20~/.rabetbase.json','.\x20Use\x20`','86177KeLQzJ','object','16497RVGNuM','231lPYcyj','projectPath','mergedCli','map','No\x20apps\x20configured','appcode','54buYpbb','Show\x20only\x20apps\x20from\x20project\x20.rabetbase.json','globalPath','defaultApp','project','70sZpMFD','global','725527dNmeDN','16NZOfwU','169615eRvtMT','904MLykaA','194000YOIOOg','merged','6070896QFlPNJ','\x20in\x20','12IWMfOl','boolean','inherit','entries','app','apps','push','List\x20all\x20configured\x20apps','globalConfig','projectConfig','742OPknWF'];a21_0x1377=function(){return _0x38f0c8;};return a21_0x1377();}async function execute(_0xb66f7f){const _0x27b27d=a21_0x3050,_0x4a3452=_0xb66f7f['bool'](_0x27b27d(0xb9)),_0x4e3a47=_0xb66f7f[_0x27b27d(0xcd)](_0x27b27d(0xdf)),_0x546b64=_0x4a3452?'global':_0x4e3a47?'project':_0x27b27d(0xbf),{config:_0x344ed0,layers:_0x5da713}=readRawConfigWithLayers(),_0x45bc70=resolveDefaultAppSource(_0x5da713),{defaultApp:_0x40bec5}=_0x344ed0;let _0x471a2c,_0x11036e;switch(_0x546b64){case _0x27b27d(0xb9):_0x471a2c=buildItemsFromLayer(_0x5da713['globalConfig'],'global'),_0x11036e=_0x5da713[_0x27b27d(0xdd)];break;case _0x27b27d(0xdf):_0x471a2c=buildItemsFromLayer(_0x5da713['projectConfig'],_0x27b27d(0xdf)),_0x11036e=_0x5da713[_0x27b27d(0xd6)];break;default:_0x471a2c=buildMergedItems(_0x344ed0,_0x5da713);break;}enrichAppListItemsWithMergedSelection(_0x471a2c,_0xb66f7f[_0x27b27d(0xd7)]);if(_0x471a2c['length']===0x0){const _0x181339=_0x546b64===_0x27b27d(0xbf)?'':_0x27b27d(0xc1)+_0x546b64+'\x20config';return{'ok':!![],'data':[],'message':_0x27b27d(0xd9)+_0x181339+_0x27b27d(0xd1)+CLI_BIN_NAME+'\x20app\x20add\x20<name>\x20--appcode\x20<code>`\x20to\x20add\x20one.'};}const _0x5817db=_0x471a2c['find'](_0x3b3d9c=>_0x3b3d9c[_0x27b27d(0xcf)]===!![]),_0x2194c5=_0x40bec5??_0x5817db?.[_0x27b27d(0xda)]??null,_0x33f33c=_0x546b64===_0x27b27d(0xbf)?{'globalPath':_0x5da713['globalPath']??null,'projectPath':_0x5da713[_0x27b27d(0xd6)]??null,'defaultApp':_0x2194c5,'defaultAppSource':_0x40bec5!=null?_0x45bc70:null}:{'scope':_0x546b64,'configPath':_0x11036e??null};return{'ok':!![],'data':{'items':_0x471a2c,'meta':_0x33f33c}};}export const appListDefinition={'service':a21_0x4ee97(0xc6),'command':a21_0x4ee97(0xce),'description':a21_0x4ee97(0xc9),'risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[{'name':a21_0x4ee97(0xb9),'type':a21_0x4ee97(0xc3),'description':a21_0x4ee97(0xd0),'default':![]},{'name':a21_0x4ee97(0xdf),'type':a21_0x4ee97(0xc3),'description':a21_0x4ee97(0xdc),'default':![]}],'execute':execute};
1
+ const a21_0xbafc39=a21_0x153f;(function(_0xeaba70,_0xb708a9){const _0x2d4f1c=a21_0x153f,_0x4f88fd=_0xeaba70();while(!![]){try{const _0x492ae6=parseInt(_0x2d4f1c(0x1eb))/0x1+-parseInt(_0x2d4f1c(0x1fb))/0x2*(-parseInt(_0x2d4f1c(0x1e9))/0x3)+parseInt(_0x2d4f1c(0x1f5))/0x4+parseInt(_0x2d4f1c(0x20b))/0x5+parseInt(_0x2d4f1c(0x1ea))/0x6*(parseInt(_0x2d4f1c(0x1f4))/0x7)+-parseInt(_0x2d4f1c(0x209))/0x8+parseInt(_0x2d4f1c(0x207))/0x9*(-parseInt(_0x2d4f1c(0x208))/0xa);if(_0x492ae6===_0xb708a9)break;else _0x4f88fd['push'](_0x4f88fd['shift']());}catch(_0x5bd352){_0x4f88fd['push'](_0x4f88fd['shift']());}}}(a21_0x1cbf,0x2e3bc));function a21_0x153f(_0x2e67b5,_0x3119c5){_0x2e67b5=_0x2e67b5-0x1e9;const _0x1cbf93=a21_0x1cbf();let _0x153f6b=_0x1cbf93[_0x2e67b5];return _0x153f6b;}import{readRawConfigWithLayers}from'../../context.js';function a21_0x1cbf(){const _0x2f4a19=['Show\x20only\x20apps\x20from\x20global\x20~/.rabetbase.json','\x20in\x20','projectPath','global','map','globalPath','defaultApp','106491PiALBV','483604NQuIJF','bool','apps','app','\x20config','Show\x20only\x20apps\x20from\x20project\x20.rabetbase.json','10xVhueI','push','List\x20all\x20configured\x20apps','boolean','project','appcode','mergedCli','object','find','.\x20Use\x20`','globalConfig','list','4389282zsWkwe','10kVSKXL','2811688JwUqgP','merged','169085eeFaad','\x20app\x20add\x20<name>\x20--appcode\x20<code>`\x20to\x20add\x20one.','inherit','No\x20apps\x20configured','isCurrent','217818bNWnKO','114MgzwjC','221736YZmGWB','projectConfig'];a21_0x1cbf=function(){return _0x2f4a19;};return a21_0x1cbf();}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(_0x3a87a5,_0x46735e){const _0x5e71e8=a21_0x153f,_0x3be36b=[],_0x2c0aa7=_0x3a87a5[_0x5e71e8(0x1f7)]&&typeof _0x3a87a5[_0x5e71e8(0x1f7)]==='object'?_0x3a87a5['apps']:{},_0x123df2=_0x3a87a5[_0x5e71e8(0x1f3)]||undefined;for(const [_0x2a4230,_0x97a799]of Object['entries'](_0x2c0aa7)){if(!_0x97a799||typeof _0x97a799!==_0x5e71e8(0x202)||!_0x97a799['appcode'])continue;_0x3be36b[_0x5e71e8(0x1fc)]({'name':_0x2a4230,'appcode':_0x97a799[_0x5e71e8(0x200)],'named':!![],'definedIn':_0x46735e,'isDefault':_0x2a4230===_0x123df2,...buildAppProfileListFields(_0x97a799)});}return _0x3be36b;}function buildMergedItems(_0x566b87,_0x43b729){const _0x564b54=a21_0x153f,{apps:apps={},defaultApp:_0x45d1e4}=_0x566b87,_0x3668fe=_0x43b729[_0x564b54(0x205)]['apps']&&typeof _0x43b729['globalConfig'][_0x564b54(0x1f7)]==='object'?_0x43b729[_0x564b54(0x205)][_0x564b54(0x1f7)]:{},_0x31a3d0=_0x43b729[_0x564b54(0x1ec)][_0x564b54(0x1f7)]&&typeof _0x43b729[_0x564b54(0x1ec)]['apps']===_0x564b54(0x202)?_0x43b729[_0x564b54(0x1ec)][_0x564b54(0x1f7)]:{},_0x6ab8b6=_0x43b729[_0x564b54(0x1ec)][_0x564b54(0x20d)]===![],_0x4d591c=Object['entries'](apps),_0x596332=_0x4d591c[_0x564b54(0x1f1)](([_0x476dfc,_0x39d227])=>({'name':_0x476dfc,'appcode':_0x39d227[_0x564b54(0x200)],'named':!![],'definedIn':appDefinedIn(_0x476dfc,_0x3668fe,_0x31a3d0,_0x6ab8b6),'isDefault':_0x476dfc===_0x45d1e4,...buildAppProfileListFields(_0x39d227)}));return _0x596332;}async function execute(_0x1182c2){const _0x215f1b=a21_0x153f,_0x4393a6=_0x1182c2[_0x215f1b(0x1f6)](_0x215f1b(0x1f0)),_0x9d032c=_0x1182c2[_0x215f1b(0x1f6)](_0x215f1b(0x1ff)),_0x38c01a=_0x4393a6?_0x215f1b(0x1f0):_0x9d032c?'project':_0x215f1b(0x20a),{config:_0x4b810e,layers:_0x34d0b6}=readRawConfigWithLayers(),_0x538940=resolveDefaultAppSource(_0x34d0b6),{defaultApp:_0xce8ef7}=_0x4b810e;let _0x2ad058,_0x2463a9;switch(_0x38c01a){case _0x215f1b(0x1f0):_0x2ad058=buildItemsFromLayer(_0x34d0b6[_0x215f1b(0x205)],_0x215f1b(0x1f0)),_0x2463a9=_0x34d0b6[_0x215f1b(0x1f2)];break;case _0x215f1b(0x1ff):_0x2ad058=buildItemsFromLayer(_0x34d0b6[_0x215f1b(0x1ec)],_0x215f1b(0x1ff)),_0x2463a9=_0x34d0b6[_0x215f1b(0x1ef)];break;default:_0x2ad058=buildMergedItems(_0x4b810e,_0x34d0b6);break;}enrichAppListItemsWithMergedSelection(_0x2ad058,_0x1182c2[_0x215f1b(0x201)]);if(_0x2ad058['length']===0x0){const _0x1a033a=_0x38c01a==='merged'?'':_0x215f1b(0x1ee)+_0x38c01a+_0x215f1b(0x1f9);return{'ok':!![],'data':[],'message':_0x215f1b(0x20e)+_0x1a033a+_0x215f1b(0x204)+CLI_BIN_NAME+_0x215f1b(0x20c)};}const _0x483279=_0x2ad058[_0x215f1b(0x203)](_0x5725da=>_0x5725da[_0x215f1b(0x20f)]===!![]),_0x5b0e1a=_0xce8ef7??_0x483279?.['appcode']??null,_0x240249=_0x38c01a==='merged'?{'globalPath':_0x34d0b6['globalPath']??null,'projectPath':_0x34d0b6[_0x215f1b(0x1ef)]??null,'defaultApp':_0x5b0e1a,'defaultAppSource':_0xce8ef7!=null?_0x538940:null}:{'scope':_0x38c01a,'configPath':_0x2463a9??null};return{'ok':!![],'data':{'items':_0x2ad058,'meta':_0x240249}};}export const appListDefinition={'service':a21_0xbafc39(0x1f8),'command':a21_0xbafc39(0x206),'description':a21_0xbafc39(0x1fd),'risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[{'name':a21_0xbafc39(0x1f0),'type':a21_0xbafc39(0x1fe),'description':a21_0xbafc39(0x1ed),'default':![]},{'name':a21_0xbafc39(0x1ff),'type':'boolean','description':a21_0xbafc39(0x1fa),'default':![]}],'execute':execute};
@@ -1 +1 @@
1
- function a22_0x37aa(_0x4fcb1c,_0x1ba18c){_0x4fcb1c=_0x4fcb1c-0x138;const _0x506c6a=a22_0x506c();let _0x37aa6d=_0x506c6a[_0x4fcb1c];return _0x37aa6d;}const a22_0x59add5=a22_0x37aa;(function(_0x3e420f,_0xd22555){const _0x41cec2=a22_0x37aa,_0xce172e=_0x3e420f();while(!![]){try{const _0x57209b=-parseInt(_0x41cec2(0x142))/0x1+-parseInt(_0x41cec2(0x14d))/0x2+-parseInt(_0x41cec2(0x13b))/0x3+-parseInt(_0x41cec2(0x153))/0x4*(-parseInt(_0x41cec2(0x159))/0x5)+parseInt(_0x41cec2(0x144))/0x6*(parseInt(_0x41cec2(0x155))/0x7)+-parseInt(_0x41cec2(0x139))/0x8+-parseInt(_0x41cec2(0x156))/0x9*(-parseInt(_0x41cec2(0x143))/0xa);if(_0x57209b===_0xd22555)break;else _0xce172e['push'](_0xce172e['shift']());}catch(_0x52ff2e){_0xce172e['push'](_0xce172e['shift']());}}}(a22_0x506c,0x2ebc8));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(_0x11f20b){const _0x59d853=a22_0x37aa,_0x51c23f=_0x11f20b[_0x59d853(0x14c)][0x0]?.[_0x59d853(0x140)]();if(!_0x51c23f)throw CliErrors[_0x59d853(0x154)](_0x59d853(0x13d),_0x59d853(0x149)+CLI_BIN_NAME+'\x20app\x20remove\x20<name>\x20[--global]');}function a22_0x506c(){const _0x2ed209=['both','defaultApp','\x20Default\x20app\x20changed\x20to\x20\x22','project','31852zTyJrb','validation','21aJWisX','27gnAZGr','globalConfig','length','85pRpZkt','\x22\x20not\x20found.','apps','keys','480984rxQhhz','high-risk-write','266520qfxmpS','App\x20\x22','Missing\x20app\x20name.','boolean','projectConfig','trim','\x20app\x20remove\x20<name>\x20[--global]','239131GtTDxu','1383130rkrVon','187134noQGiJ','global','\x20Note:\x20app\x20\x22','object','inherit','Usage:\x20','bool','remove','args','128702HWxNnR','name'];a22_0x506c=function(){return _0x2ed209;};return a22_0x506c();}async function execute(_0x576ffd){const _0x3f662c=a22_0x37aa,_0x4b64a1=_0x576ffd[_0x3f662c(0x14c)][0x0]?.[_0x3f662c(0x140)]();if(!_0x4b64a1)throw CliErrors[_0x3f662c(0x154)](_0x3f662c(0x13d),'Usage:\x20'+CLI_BIN_NAME+_0x3f662c(0x141));const _0x4d1ba8=_0x576ffd[_0x3f662c(0x14a)]('global'),{config:_0x5ec4cd,layers:_0xb87617}=readRawConfigWithLayers(),_0x3596ad=_0x5ec4cd[_0x3f662c(0x15b)]??{};if(!_0x3596ad[_0x4b64a1])throw CliErrors[_0x3f662c(0x154)]('App\x20\x22'+_0x4b64a1+'\x22\x20not\x20found.');const _0x162b44=_0xb87617[_0x3f662c(0x157)][_0x3f662c(0x15b)]&&typeof _0xb87617[_0x3f662c(0x157)][_0x3f662c(0x15b)]===_0x3f662c(0x147)?_0xb87617[_0x3f662c(0x157)][_0x3f662c(0x15b)]:{},_0x27b555=_0xb87617[_0x3f662c(0x13f)][_0x3f662c(0x15b)]&&typeof _0xb87617[_0x3f662c(0x13f)][_0x3f662c(0x15b)]==='object'?_0xb87617[_0x3f662c(0x13f)][_0x3f662c(0x15b)]:{},_0x44d8c1=appDefinedIn(_0x4b64a1,_0x162b44,_0x27b555,_0xb87617[_0x3f662c(0x13f)][_0x3f662c(0x148)]===![]),_0x8286d8=resolveAppScopeForWrite(_0x4b64a1,_0x4d1ba8,_0xb87617),_0x16436a={'global':_0x8286d8===_0x3f662c(0x145)},_0x44df32=readConfig(_0x16436a),_0x514f85=_0x44df32[_0x3f662c(0x15b)];if(!_0x514f85||!_0x514f85[_0x4b64a1])throw CliErrors[_0x3f662c(0x154)](_0x3f662c(0x13c)+_0x4b64a1+_0x3f662c(0x15a));delete _0x514f85[_0x4b64a1];let _0x5e0e6a='';if(_0x44df32[_0x3f662c(0x150)]===_0x4b64a1){const _0x471f78=Object[_0x3f662c(0x138)](_0x514f85);_0x44df32[_0x3f662c(0x150)]=_0x471f78[_0x3f662c(0x158)]>0x0?_0x471f78[0x0]:undefined,_0x44df32[_0x3f662c(0x150)]?_0x5e0e6a=_0x3f662c(0x151)+_0x44df32[_0x3f662c(0x150)]+'\x22.':delete _0x44df32[_0x3f662c(0x150)];}Object['keys'](_0x514f85)[_0x3f662c(0x158)]===0x0&&(delete _0x44df32['apps'],delete _0x44df32[_0x3f662c(0x150)]);writeConfig(_0x44df32,_0x16436a);const _0x64479c=_0x44d8c1===_0x3f662c(0x14f)?_0x3f662c(0x146)+_0x4b64a1+'\x22\x20still\x20defined\x20in\x20'+(_0x8286d8===_0x3f662c(0x152)?_0x3f662c(0x145):_0x3f662c(0x152))+'\x20config.':'';return{'ok':!![],'message':'Removed\x20app\x20\x22'+_0x4b64a1+'\x22'+scopeLabel(_0x16436a)+'.'+_0x5e0e6a+_0x64479c};}export const appRemoveDefinition={'service':'app','command':a22_0x59add5(0x14b),'description':'Remove\x20an\x20app\x20from\x20config','risk':a22_0x59add5(0x13a),'requiresAuth':![],'requiresAppCode':![],'args':[{'name':a22_0x59add5(0x14e),'description':'App\x20profile\x20name\x20to\x20remove','required':!![]}],'flags':[{'name':a22_0x59add5(0x145),'type':a22_0x59add5(0x13e),'description':'Use\x20global\x20config\x20scope','default':![]}],'validate':validateArgs,'execute':execute};
1
+ const a22_0x3b4a26=a22_0x1b3d;(function(_0x4b08ae,_0x2a23a0){const _0x52e1fd=a22_0x1b3d,_0x3d2641=_0x4b08ae();while(!![]){try{const _0x48cddd=-parseInt(_0x52e1fd(0x113))/0x1+-parseInt(_0x52e1fd(0x120))/0x2*(parseInt(_0x52e1fd(0x101))/0x3)+parseInt(_0x52e1fd(0x11d))/0x4*(parseInt(_0x52e1fd(0x10e))/0x5)+parseInt(_0x52e1fd(0x122))/0x6+-parseInt(_0x52e1fd(0x10f))/0x7*(-parseInt(_0x52e1fd(0x103))/0x8)+parseInt(_0x52e1fd(0x111))/0x9+parseInt(_0x52e1fd(0x116))/0xa*(parseInt(_0x52e1fd(0x109))/0xb);if(_0x48cddd===_0x2a23a0)break;else _0x3d2641['push'](_0x3d2641['shift']());}catch(_0x37e55a){_0x3d2641['push'](_0x3d2641['shift']());}}}(a22_0x54a3,0x36114));function a22_0x1b3d(_0x36aab9,_0x3e9cf7){_0x36aab9=_0x36aab9-0x100;const _0x54a30a=a22_0x54a3();let _0x1b3da3=_0x54a30a[_0x36aab9];return _0x1b3da3;}import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';function a22_0x54a3(){const _0x24d439=['344457VFOlEV','keys','327427LVqeiK','Usage:\x20','App\x20\x22','25980xbXHjS','defaultApp','bool','args','\x20Default\x20app\x20changed\x20to\x20\x22','object','globalConfig','222980goPSwx','Removed\x20app\x20\x22','app','2aQZhaF','project','2510544UVkbWr','\x22\x20still\x20defined\x20in\x20','global','validation','1172229eCBxno','Use\x20global\x20config\x20scope','8HkrHEK','\x22\x20not\x20found.','boolean','\x20Note:\x20app\x20\x22','projectConfig','trim','11Vepopa','length','App\x20profile\x20name\x20to\x20remove','apps','Missing\x20app\x20name.','25qSftVY','1411270HnRRfb','\x20app\x20remove\x20<name>\x20[--global]'];a22_0x54a3=function(){return _0x24d439;};return a22_0x54a3();}import{readRawConfigWithLayers}from'../../context.js';import{readConfig,writeConfig,scopeLabel,resolveAppScopeForWrite,appDefinedIn}from'../../commands/app/shared.js';async function validateArgs(_0x5514bb){const _0x279c39=a22_0x1b3d,_0x3f9a5f=_0x5514bb[_0x279c39(0x119)][0x0]?.[_0x279c39(0x108)]();if(!_0x3f9a5f)throw CliErrors[_0x279c39(0x100)](_0x279c39(0x10d),'Usage:\x20'+CLI_BIN_NAME+_0x279c39(0x110));}async function execute(_0x19888e){const _0xa5891a=a22_0x1b3d,_0x29f533=_0x19888e[_0xa5891a(0x119)][0x0]?.[_0xa5891a(0x108)]();if(!_0x29f533)throw CliErrors[_0xa5891a(0x100)](_0xa5891a(0x10d),_0xa5891a(0x114)+CLI_BIN_NAME+_0xa5891a(0x110));const _0x1be8c9=_0x19888e[_0xa5891a(0x118)](_0xa5891a(0x124)),{config:_0x8eaae5,layers:_0x261181}=readRawConfigWithLayers(),_0x538d5c=_0x8eaae5[_0xa5891a(0x10c)]??{};if(!_0x538d5c[_0x29f533])throw CliErrors['validation'](_0xa5891a(0x115)+_0x29f533+'\x22\x20not\x20found.');const _0x490a63=_0x261181[_0xa5891a(0x11c)][_0xa5891a(0x10c)]&&typeof _0x261181[_0xa5891a(0x11c)][_0xa5891a(0x10c)]===_0xa5891a(0x11b)?_0x261181[_0xa5891a(0x11c)][_0xa5891a(0x10c)]:{},_0x1e9c6a=_0x261181[_0xa5891a(0x107)][_0xa5891a(0x10c)]&&typeof _0x261181['projectConfig'][_0xa5891a(0x10c)]==='object'?_0x261181[_0xa5891a(0x107)]['apps']:{},_0x50e1ca=appDefinedIn(_0x29f533,_0x490a63,_0x1e9c6a,_0x261181[_0xa5891a(0x107)]['inherit']===![]),_0x12c551=resolveAppScopeForWrite(_0x29f533,_0x1be8c9,_0x261181),_0x15cd6f={'global':_0x12c551==='global'},_0x5a1991=readConfig(_0x15cd6f),_0x51847f=_0x5a1991[_0xa5891a(0x10c)];if(!_0x51847f||!_0x51847f[_0x29f533])throw CliErrors['validation'](_0xa5891a(0x115)+_0x29f533+_0xa5891a(0x104));delete _0x51847f[_0x29f533];let _0x5187ec='';if(_0x5a1991[_0xa5891a(0x117)]===_0x29f533){const _0x16b3c0=Object[_0xa5891a(0x112)](_0x51847f);_0x5a1991[_0xa5891a(0x117)]=_0x16b3c0[_0xa5891a(0x10a)]>0x0?_0x16b3c0[0x0]:undefined,_0x5a1991[_0xa5891a(0x117)]?_0x5187ec=_0xa5891a(0x11a)+_0x5a1991[_0xa5891a(0x117)]+'\x22.':delete _0x5a1991[_0xa5891a(0x117)];}Object[_0xa5891a(0x112)](_0x51847f)[_0xa5891a(0x10a)]===0x0&&(delete _0x5a1991['apps'],delete _0x5a1991[_0xa5891a(0x117)]);writeConfig(_0x5a1991,_0x15cd6f);const _0x359256=_0x50e1ca==='both'?_0xa5891a(0x106)+_0x29f533+_0xa5891a(0x123)+(_0x12c551===_0xa5891a(0x121)?_0xa5891a(0x124):_0xa5891a(0x121))+'\x20config.':'';return{'ok':!![],'message':_0xa5891a(0x11e)+_0x29f533+'\x22'+scopeLabel(_0x15cd6f)+'.'+_0x5187ec+_0x359256};}export const appRemoveDefinition={'service':a22_0x3b4a26(0x11f),'command':'remove','description':'Remove\x20an\x20app\x20from\x20config','risk':'high-risk-write','requiresAuth':![],'requiresAppCode':![],'args':[{'name':'name','description':a22_0x3b4a26(0x10b),'required':!![]}],'flags':[{'name':'global','type':a22_0x3b4a26(0x105),'description':a22_0x3b4a26(0x102),'default':![]}],'validate':validateArgs,'execute':execute};
@@ -1 +1 @@
1
- (function(_0x53563f,_0x24cdbd){const _0x4d4c3b=a23_0x3c21,_0xe06439=_0x53563f();while(!![]){try{const _0x4294ed=parseInt(_0x4d4c3b(0xa4))/0x1+parseInt(_0x4d4c3b(0xa5))/0x2*(parseInt(_0x4d4c3b(0xc1))/0x3)+-parseInt(_0x4d4c3b(0xaf))/0x4+-parseInt(_0x4d4c3b(0xac))/0x5+-parseInt(_0x4d4c3b(0xae))/0x6*(-parseInt(_0x4d4c3b(0xb8))/0x7)+-parseInt(_0x4d4c3b(0xb0))/0x8*(-parseInt(_0x4d4c3b(0xc2))/0x9)+parseInt(_0x4d4c3b(0xba))/0xa*(-parseInt(_0x4d4c3b(0xa7))/0xb);if(_0x4294ed===_0x24cdbd)break;else _0xe06439['push'](_0xe06439['shift']());}catch(_0x4ce82d){_0xe06439['push'](_0xe06439['shift']());}}}(a23_0x4d29,0x60164));import{resolveWriteConfigPath,readConfigFile,writeConfigFile}from'../../context.js';export function enrichAppListItemsWithMergedSelection(_0x53d52a,_0x264bfc){const _0x2a610f=a23_0x3c21;if(!_0x264bfc)return;const _0x437925=_0x264bfc[_0x2a610f(0xa8)]&&typeof _0x264bfc[_0x2a610f(0xa8)]===_0x2a610f(0xb7)?_0x264bfc[_0x2a610f(0xa8)]:{},_0x50a7c6=Object['keys'](_0x437925)['length']>0x0;for(const _0x5c8cff of _0x53d52a){_0x5c8cff['isCurrent']=![];}const _0x9eaf13=_0x264bfc['appCode']!=null?String(_0x264bfc['appCode'])[_0x2a610f(0xaa)]():'';if(_0x50a7c6){const _0x342073=_0x264bfc[_0x2a610f(0xbc)]??_0x264bfc[_0x2a610f(0xa6)];if(_0x342073)for(const _0x12a087 of _0x53d52a){_0x12a087[_0x2a610f(0xbe)]===!![]&&_0x12a087[_0x2a610f(0xb9)]===_0x342073&&(_0x12a087['isCurrent']=!![]);}for(const _0x15f48a of _0x53d52a){if(_0x15f48a[_0x2a610f(0xbe)]!==![])continue;if(_0x264bfc[_0x2a610f(0xa6)])continue;_0x9eaf13&&String(_0x15f48a[_0x2a610f(0xb5)]??'')['trim']()===_0x9eaf13&&(_0x15f48a['isCurrent']=!![]);}return;}if(!_0x9eaf13)return;for(const _0x3b4a66 of _0x53d52a){String(_0x3b4a66[_0x2a610f(0xb5)]??'')[_0x2a610f(0xaa)]()===_0x9eaf13&&(_0x3b4a66[_0x2a610f(0xbd)]=!![]);}}export function resolveAppScopeForWrite(_0x2775c5,_0x3c0b01,_0x950995){const _0x4b31ec=a23_0x3c21;if(_0x3c0b01)return'global';const _0x3b3d72=_0x950995['projectConfig'][_0x4b31ec(0xa8)]&&typeof _0x950995['projectConfig'][_0x4b31ec(0xa8)]===_0x4b31ec(0xb7)?_0x950995[_0x4b31ec(0xab)][_0x4b31ec(0xa8)]:{},_0x1b563b=_0x950995[_0x4b31ec(0xbf)][_0x4b31ec(0xa8)]&&typeof _0x950995['globalConfig'][_0x4b31ec(0xa8)]===_0x4b31ec(0xb7)?_0x950995[_0x4b31ec(0xbf)][_0x4b31ec(0xa8)]:{};if(Object['prototype'][_0x4b31ec(0xb3)][_0x4b31ec(0xb6)](_0x3b3d72,_0x2775c5))return _0x4b31ec(0xad);if(Object['prototype'][_0x4b31ec(0xb3)][_0x4b31ec(0xb6)](_0x1b563b,_0x2775c5))return _0x4b31ec(0xb2);return _0x4b31ec(0xad);}export function appDefinedIn(_0x485bbf,_0x8ef0f8,_0x5e69ce,_0x156a15){const _0x4ba691=a23_0x3c21;if(_0x156a15)return Object[_0x4ba691(0xb4)][_0x4ba691(0xb3)][_0x4ba691(0xb6)](_0x5e69ce,_0x485bbf)?_0x4ba691(0xad):'global';const _0x3079fd=Object[_0x4ba691(0xb4)][_0x4ba691(0xb3)][_0x4ba691(0xb6)](_0x8ef0f8,_0x485bbf),_0x28a200=Object['prototype'][_0x4ba691(0xb3)][_0x4ba691(0xb6)](_0x5e69ce,_0x485bbf);if(_0x3079fd&&_0x28a200)return _0x4ba691(0xbb);if(_0x28a200)return _0x4ba691(0xad);return _0x4ba691(0xb2);}function a23_0x3c21(_0x2bbf07,_0x4fef28){_0x2bbf07=_0x2bbf07-0xa4;const _0x4d291e=a23_0x4d29();let _0x3c21d4=_0x4d291e[_0x2bbf07];return _0x3c21d4;}export function resolveDefaultAppSource(_0x41e100){const _0x518cd4=a23_0x3c21,_0x5b865f=_0x41e100[_0x518cd4(0xab)]['apps']&&typeof _0x41e100[_0x518cd4(0xab)][_0x518cd4(0xa8)]==='object'?_0x41e100['projectConfig'][_0x518cd4(0xa8)]:{};if(_0x518cd4(0xa6)in _0x41e100[_0x518cd4(0xab)])return _0x518cd4(0xad);if(Object[_0x518cd4(0xa9)](_0x5b865f)[_0x518cd4(0xb1)]>0x0)return _0x518cd4(0xad);if(_0x41e100[_0x518cd4(0xab)][_0x518cd4(0xc0)]===![])return null;if(_0x41e100[_0x518cd4(0xbf)][_0x518cd4(0xa6)])return _0x518cd4(0xb2);return null;}export function getConfigPath(_0x507bba={}){const _0x5099df=a23_0x3c21,_0x1afd1c=_0x507bba[_0x5099df(0xb2)]?_0x5099df(0xb2):'project';return resolveWriteConfigPath(_0x1afd1c);}export function readConfig(_0x182649={}){return readConfigFile(getConfigPath(_0x182649));}export function writeConfig(_0x183ac3,_0xb72d40={}){writeConfigFile(getConfigPath(_0xb72d40),_0x183ac3);}function a23_0x4d29(){const _0x2f375f=['call','object','595iNCjrp','name','2942140OpDfxG','both','currentApp','isCurrent','named','globalConfig','inherit','252519tJeTmQ','25587gxAbqP','617130OrpSgw','2PBAJsD','defaultApp','11tWMeTR','apps','keys','trim','projectConfig','1479520zFptGr','project','38466rBNYEU','3108524IEkTAK','1448YmxNzb','length','global','hasOwnProperty','prototype','appcode'];a23_0x4d29=function(){return _0x2f375f;};return a23_0x4d29();}export function scopeLabel(_0x164eb5){const _0x4b443c=a23_0x3c21;return _0x164eb5[_0x4b443c(0xb2)]?'\x20(global)':'';}
1
+ (function(_0x48a3f,_0x5b9bf8){const _0x13b153=a23_0x35c6,_0x2a0e55=_0x48a3f();while(!![]){try{const _0x579d23=-parseInt(_0x13b153(0xc4))/0x1*(parseInt(_0x13b153(0xd8))/0x2)+-parseInt(_0x13b153(0xd1))/0x3*(parseInt(_0x13b153(0xcc))/0x4)+parseInt(_0x13b153(0xc2))/0x5+parseInt(_0x13b153(0xc5))/0x6+parseInt(_0x13b153(0xc6))/0x7+-parseInt(_0x13b153(0xc8))/0x8*(-parseInt(_0x13b153(0xd9))/0x9)+-parseInt(_0x13b153(0xc1))/0xa;if(_0x579d23===_0x5b9bf8)break;else _0x2a0e55['push'](_0x2a0e55['shift']());}catch(_0x1fd873){_0x2a0e55['push'](_0x2a0e55['shift']());}}}(a23_0x12ae,0x3cdf8));function a23_0x35c6(_0x63667,_0x19b12d){_0x63667=_0x63667-0xc0;const _0x12aea7=a23_0x12ae();let _0x35c673=_0x12aea7[_0x63667];return _0x35c673;}import{resolveWriteConfigPath,readConfigFile,writeConfigFile}from'../../context.js';export function enrichAppListItemsWithMergedSelection(_0x5362d8,_0x309f95){const _0x2d5afd=a23_0x35c6;if(!_0x309f95)return;const _0x2ae1fb=_0x309f95[_0x2d5afd(0xc9)]&&typeof _0x309f95[_0x2d5afd(0xc9)]===_0x2d5afd(0xcb)?_0x309f95[_0x2d5afd(0xc9)]:{},_0x5e55a6=Object[_0x2d5afd(0xd4)](_0x2ae1fb)[_0x2d5afd(0xd5)]>0x0;for(const _0x558350 of _0x5362d8){_0x558350[_0x2d5afd(0xdc)]=![];}const _0x53c26b=_0x309f95[_0x2d5afd(0xcd)]!=null?String(_0x309f95[_0x2d5afd(0xcd)])[_0x2d5afd(0xd0)]():'';if(_0x5e55a6){const _0x2a3123=_0x309f95[_0x2d5afd(0xd2)]??_0x309f95['defaultApp'];if(_0x2a3123)for(const _0x588b91 of _0x5362d8){_0x588b91['named']===!![]&&_0x588b91[_0x2d5afd(0xc7)]===_0x2a3123&&(_0x588b91['isCurrent']=!![]);}for(const _0x1c7789 of _0x5362d8){if(_0x1c7789['named']!==![])continue;if(_0x309f95['defaultApp'])continue;_0x53c26b&&String(_0x1c7789[_0x2d5afd(0xcf)]??'')[_0x2d5afd(0xd0)]()===_0x53c26b&&(_0x1c7789[_0x2d5afd(0xdc)]=!![]);}return;}if(!_0x53c26b)return;for(const _0x24c4b2 of _0x5362d8){String(_0x24c4b2['appcode']??'')[_0x2d5afd(0xd0)]()===_0x53c26b&&(_0x24c4b2[_0x2d5afd(0xdc)]=!![]);}}export function resolveAppScopeForWrite(_0x15e414,_0x136c79,_0x49c593){const _0x169e27=a23_0x35c6;if(_0x136c79)return'global';const _0x55c357=_0x49c593[_0x169e27(0xda)][_0x169e27(0xc9)]&&typeof _0x49c593[_0x169e27(0xda)][_0x169e27(0xc9)]==='object'?_0x49c593[_0x169e27(0xda)][_0x169e27(0xc9)]:{},_0x2a7c55=_0x49c593[_0x169e27(0xc0)][_0x169e27(0xc9)]&&typeof _0x49c593['globalConfig'][_0x169e27(0xc9)]===_0x169e27(0xcb)?_0x49c593['globalConfig'][_0x169e27(0xc9)]:{};if(Object['prototype']['hasOwnProperty'][_0x169e27(0xca)](_0x55c357,_0x15e414))return'project';if(Object[_0x169e27(0xd6)][_0x169e27(0xd7)][_0x169e27(0xca)](_0x2a7c55,_0x15e414))return _0x169e27(0xce);return _0x169e27(0xc3);}export function appDefinedIn(_0x336dab,_0x2aeba7,_0x141ca0,_0x13aaf2){const _0x257073=a23_0x35c6;if(_0x13aaf2)return Object[_0x257073(0xd6)][_0x257073(0xd7)][_0x257073(0xca)](_0x141ca0,_0x336dab)?'project':_0x257073(0xce);const _0x3691b1=Object[_0x257073(0xd6)][_0x257073(0xd7)]['call'](_0x2aeba7,_0x336dab),_0x53e27a=Object[_0x257073(0xd6)][_0x257073(0xd7)]['call'](_0x141ca0,_0x336dab);if(_0x3691b1&&_0x53e27a)return _0x257073(0xde);if(_0x53e27a)return'project';return _0x257073(0xce);}export function resolveDefaultAppSource(_0xa6b37c){const _0x3391ff=a23_0x35c6,_0x238992=_0xa6b37c[_0x3391ff(0xda)]['apps']&&typeof _0xa6b37c[_0x3391ff(0xda)]['apps']===_0x3391ff(0xcb)?_0xa6b37c[_0x3391ff(0xda)]['apps']:{};if(_0x3391ff(0xd3)in _0xa6b37c[_0x3391ff(0xda)])return _0x3391ff(0xc3);if(Object[_0x3391ff(0xd4)](_0x238992)[_0x3391ff(0xd5)]>0x0)return _0x3391ff(0xc3);if(_0xa6b37c[_0x3391ff(0xda)][_0x3391ff(0xdb)]===![])return null;if(_0xa6b37c[_0x3391ff(0xc0)][_0x3391ff(0xd3)])return _0x3391ff(0xce);return null;}function a23_0x12ae(){const _0x3254f2=['prototype','hasOwnProperty','296892pQjgJJ','14130hykzqq','projectConfig','inherit','isCurrent','\x20(global)','both','globalConfig','1334870uXxDDK','239005eXrkFh','project','1nTIGKb','724470ThspEu','1444884WpzmEi','name','872Yufecq','apps','call','object','4elUsFp','appCode','global','appcode','trim','44457DBZKER','currentApp','defaultApp','keys','length'];a23_0x12ae=function(){return _0x3254f2;};return a23_0x12ae();}export function getConfigPath(_0x33c721={}){const _0x4d41d9=a23_0x35c6,_0x3a963c=_0x33c721[_0x4d41d9(0xce)]?_0x4d41d9(0xce):_0x4d41d9(0xc3);return resolveWriteConfigPath(_0x3a963c);}export function readConfig(_0x10e2fe={}){return readConfigFile(getConfigPath(_0x10e2fe));}export function writeConfig(_0x2c30e9,_0x1774fc={}){writeConfigFile(getConfigPath(_0x1774fc),_0x2c30e9);}export function scopeLabel(_0x146895){const _0x593b5f=a23_0x35c6;return _0x146895['global']?_0x593b5f(0xdd):'';}
@@ -1 +1 @@
1
- const a24_0xb5f61a=a24_0xfb4d;(function(_0x3167eb,_0x2d5f77){const _0x2f1866=a24_0xfb4d,_0x44b690=_0x3167eb();while(!![]){try{const _0x37ec8e=-parseInt(_0x2f1866(0x88))/0x1*(parseInt(_0x2f1866(0x89))/0x2)+-parseInt(_0x2f1866(0x99))/0x3+parseInt(_0x2f1866(0xa1))/0x4+-parseInt(_0x2f1866(0x9c))/0x5*(parseInt(_0x2f1866(0x9f))/0x6)+parseInt(_0x2f1866(0x7e))/0x7*(-parseInt(_0x2f1866(0x7f))/0x8)+-parseInt(_0x2f1866(0x7d))/0x9*(parseInt(_0x2f1866(0x95))/0xa)+parseInt(_0x2f1866(0x9d))/0xb*(parseInt(_0x2f1866(0x83))/0xc);if(_0x37ec8e===_0x2d5f77)break;else _0x44b690['push'](_0x44b690['shift']());}catch(_0x422f31){_0x44b690['push'](_0x44b690['shift']());}}}(a24_0x1b28,0x8393b));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{readRawConfigWithLayers,isInProject}from'../../context.js';function a24_0xfb4d(_0x3e6ba3,_0x59ab9b){_0x3e6ba3=_0x3e6ba3-0x78;const _0x1b2831=a24_0x1b28();let _0xfb4d8a=_0x1b2831[_0x3e6ba3];return _0xfb4d8a;}import{readConfig,writeConfig,scopeLabel}from'../../commands/app/shared.js';async function validateArgs(_0x42de5b){const _0x2a45c7=a24_0xfb4d,_0x320eea=_0x42de5b['args'][0x0]?.[_0x2a45c7(0x7a)]();if(!_0x320eea)throw CliErrors[_0x2a45c7(0x97)]('Missing\x20app\x20name.',_0x2a45c7(0x8b)+CLI_BIN_NAME+_0x2a45c7(0x94));}async function execute(_0x2fa918){const _0x2edc29=a24_0xfb4d,_0x4382e0=_0x2fa918[_0x2edc29(0x9a)][0x0]?.[_0x2edc29(0x7a)]();if(!_0x4382e0)throw CliErrors[_0x2edc29(0x97)](_0x2edc29(0x93),'Usage:\x20'+CLI_BIN_NAME+_0x2edc29(0x94));const _0x55ee18=_0x2fa918['bool']('global'),{config:_0x1f6446,layers:_0x508f94}=readRawConfigWithLayers(),_0x409338=_0x1f6446['apps']??{},_0xfc277b=_0x508f94[_0x2edc29(0x8d)][_0x2edc29(0x82)]&&typeof _0x508f94[_0x2edc29(0x8d)][_0x2edc29(0x82)]===_0x2edc29(0x78)?_0x508f94[_0x2edc29(0x8d)][_0x2edc29(0x82)]:{},_0x4c8595={..._0xfc277b,..._0x409338};if(!_0x4c8595[_0x4382e0]){const _0x207179=Object[_0x2edc29(0x98)](_0x4c8595),_0x3d43b7=_0x207179[_0x2edc29(0x87)]===0x0?_0x2edc29(0x80)+CLI_BIN_NAME+_0x2edc29(0x8f)+_0x4382e0+_0x2edc29(0x9b):'Available:\x20'+_0x207179[_0x2edc29(0x96)](',\x20');throw CliErrors[_0x2edc29(0x97)](_0x2edc29(0x7b)+_0x4382e0+_0x2edc29(0x81),_0x3d43b7);}let _0x25f440,_0x367cbc='';if(_0x55ee18)_0x25f440={'global':!![]};else{const _0x3e6ee3=isInProject()&&!!_0x508f94[_0x2edc29(0x8e)];_0x25f440={'global':!_0x3e6ee3};}const _0x383d40=readConfig(_0x25f440);_0x383d40['defaultApp']=_0x4382e0;if(!_0x25f440[_0x2edc29(0x90)]){const _0x52ab72=_0x383d40[_0x2edc29(0x82)]&&typeof _0x383d40[_0x2edc29(0x82)]===_0x2edc29(0x78)?_0x383d40[_0x2edc29(0x82)]:{};!Object[_0x2edc29(0xa0)][_0x2edc29(0x7c)][_0x2edc29(0x85)](_0x52ab72,_0x4382e0)&&(_0x383d40['apps']={..._0x52ab72,[_0x4382e0]:_0x4c8595[_0x4382e0]},_0x367cbc=_0x2edc29(0x84)+_0x4382e0+_0x2edc29(0xa2));}return writeConfig(_0x383d40,_0x25f440),{'ok':!![],'message':'Default\x20app\x20set\x20to\x20\x22'+_0x4382e0+_0x2edc29(0x8a)+_0x4c8595[_0x4382e0][_0x2edc29(0x9e)]+')'+scopeLabel(_0x25f440)+_0x367cbc};}export const appUseDefinition={'service':a24_0xb5f61a(0x86),'command':a24_0xb5f61a(0x79),'description':'Switch\x20the\x20default\x20app','risk':a24_0xb5f61a(0x8c),'requiresAuth':![],'requiresAppCode':![],'args':[{'name':a24_0xb5f61a(0x91),'description':'App\x20profile\x20name\x20to\x20activate','required':!![]}],'flags':[{'name':a24_0xb5f61a(0x90),'type':a24_0xb5f61a(0x92),'description':'Use\x20global\x20config\x20scope','default':![]}],'validate':validateArgs,'execute':execute};function a24_0x1b28(){const _0xdbd663=['4550LZNzHL','join','validation','keys','2059224NyAKpj','args','\x20--appcode\x20<code>`\x20first.','35OpoMwR','110dSoYXs','appcode','141234hnDUMR','prototype','3717724EXtXiI','\x22\x20was\x20defined\x20in\x20global\x20config;\x20profile\x20copied\x20into\x20project\x20so\x20the\x20project\x20config\x20self-resolves\x20under\x20the\x20default\x20project-first\x20inherit\x20policy.','object','use','trim','App\x20\x22','hasOwnProperty','20691CeHjYr','775222pMvWwM','8whIaFX','Use\x20`','\x22\x20not\x20found.','apps','3062184iXkoGT','\x0aNote:\x20\x22','call','app','length','110GhMezB','16988EbLXyM','\x22\x20(appcode:\x20','Usage:\x20','write','globalConfig','projectPath','\x20app\x20add\x20','global','name','boolean','Missing\x20app\x20name.','\x20app\x20use\x20<name>\x20[--global]'];a24_0x1b28=function(){return _0xdbd663;};return a24_0x1b28();}
1
+ const a24_0x40ef61=a24_0x29e9;function a24_0x29e9(_0xcf5686,_0x5f27dc){_0xcf5686=_0xcf5686-0xee;const _0x1d043b=a24_0x1d04();let _0x29e9e2=_0x1d043b[_0xcf5686];return _0x29e9e2;}function a24_0x1d04(){const _0x571743=['Usage:\x20','Missing\x20app\x20name.','1134196AAasXh','4045120dFuZSp','1697400SIsQKD','1166GPjemV','app','\x20app\x20add\x20','Default\x20app\x20set\x20to\x20\x22','Available:\x20','\x20--appcode\x20<code>`\x20first.','boolean','App\x20profile\x20name\x20to\x20activate','7oWWupi','projectPath','trim','validation','\x22\x20(appcode:\x20','Use\x20global\x20config\x20scope','write','name','object','defaultApp','\x22\x20not\x20found.','9qWvhgE','23839ZHKbRe','global','App\x20\x22','6FjVuTn','apps','2898570djjDFr','use','bool','Use\x20`','call','86310jVZYmF','31641288OQPLha','args','12WZvMeD','\x20app\x20use\x20<name>\x20[--global]','globalConfig','\x0aNote:\x20\x22','hasOwnProperty','keys'];a24_0x1d04=function(){return _0x571743;};return a24_0x1d04();}(function(_0x548988,_0x371fb0){const _0xc028b0=a24_0x29e9,_0x45eca3=_0x548988();while(!![]){try{const _0x535c23=parseInt(_0xc028b0(0x107))/0x1*(-parseInt(_0xc028b0(0x10a))/0x2)+-parseInt(_0xc028b0(0x114))/0x3*(-parseInt(_0xc028b0(0xf0))/0x4)+parseInt(_0xc028b0(0xf2))/0x5+-parseInt(_0xc028b0(0x10c))/0x6*(-parseInt(_0xc028b0(0xfb))/0x7)+-parseInt(_0xc028b0(0xf1))/0x8*(-parseInt(_0xc028b0(0x106))/0x9)+-parseInt(_0xc028b0(0x111))/0xa*(-parseInt(_0xc028b0(0xf3))/0xb)+-parseInt(_0xc028b0(0x112))/0xc;if(_0x535c23===_0x371fb0)break;else _0x45eca3['push'](_0x45eca3['shift']());}catch(_0x550b96){_0x45eca3['push'](_0x45eca3['shift']());}}}(a24_0x1d04,0xa354e));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(_0x255399){const _0x3682a3=a24_0x29e9,_0x420d02=_0x255399[_0x3682a3(0x113)][0x0]?.[_0x3682a3(0xfd)]();if(!_0x420d02)throw CliErrors['validation']('Missing\x20app\x20name.',_0x3682a3(0xee)+CLI_BIN_NAME+_0x3682a3(0x115));}async function execute(_0x2f0844){const _0x2dbffa=a24_0x29e9,_0x415285=_0x2f0844[_0x2dbffa(0x113)][0x0]?.[_0x2dbffa(0xfd)]();if(!_0x415285)throw CliErrors['validation'](_0x2dbffa(0xef),_0x2dbffa(0xee)+CLI_BIN_NAME+'\x20app\x20use\x20<name>\x20[--global]');const _0x129184=_0x2f0844[_0x2dbffa(0x10e)](_0x2dbffa(0x108)),{config:_0x4f978e,layers:_0x52b029}=readRawConfigWithLayers(),_0x121069=_0x4f978e['apps']??{},_0x1ffc1f=_0x52b029['globalConfig']['apps']&&typeof _0x52b029['globalConfig'][_0x2dbffa(0x10b)]==='object'?_0x52b029[_0x2dbffa(0x116)][_0x2dbffa(0x10b)]:{},_0x3cad81={..._0x1ffc1f,..._0x121069};if(!_0x3cad81[_0x415285]){const _0xcc61fe=Object[_0x2dbffa(0x119)](_0x3cad81),_0x48e6e=_0xcc61fe['length']===0x0?_0x2dbffa(0x10f)+CLI_BIN_NAME+_0x2dbffa(0xf5)+_0x415285+_0x2dbffa(0xf8):_0x2dbffa(0xf7)+_0xcc61fe['join'](',\x20');throw CliErrors[_0x2dbffa(0xfe)](_0x2dbffa(0x109)+_0x415285+_0x2dbffa(0x105),_0x48e6e);}let _0x5b0531,_0x26ea1c='';if(_0x129184)_0x5b0531={'global':!![]};else{const _0x48f254=isInProject()&&!!_0x52b029[_0x2dbffa(0xfc)];_0x5b0531={'global':!_0x48f254};}const _0x58c36a=readConfig(_0x5b0531);_0x58c36a[_0x2dbffa(0x104)]=_0x415285;if(!_0x5b0531[_0x2dbffa(0x108)]){const _0x3e3174=_0x58c36a['apps']&&typeof _0x58c36a[_0x2dbffa(0x10b)]===_0x2dbffa(0x103)?_0x58c36a[_0x2dbffa(0x10b)]:{};!Object['prototype'][_0x2dbffa(0x118)][_0x2dbffa(0x110)](_0x3e3174,_0x415285)&&(_0x58c36a[_0x2dbffa(0x10b)]={..._0x3e3174,[_0x415285]:_0x3cad81[_0x415285]},_0x26ea1c=_0x2dbffa(0x117)+_0x415285+'\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(_0x58c36a,_0x5b0531),{'ok':!![],'message':_0x2dbffa(0xf6)+_0x415285+_0x2dbffa(0xff)+_0x3cad81[_0x415285]['appcode']+')'+scopeLabel(_0x5b0531)+_0x26ea1c};}export const appUseDefinition={'service':a24_0x40ef61(0xf4),'command':a24_0x40ef61(0x10d),'description':'Switch\x20the\x20default\x20app','risk':a24_0x40ef61(0x101),'requiresAuth':![],'requiresAppCode':![],'args':[{'name':a24_0x40ef61(0x102),'description':a24_0x40ef61(0xfa),'required':!![]}],'flags':[{'name':a24_0x40ef61(0x108),'type':a24_0x40ef61(0xf9),'description':a24_0x40ef61(0x100),'default':![]}],'validate':validateArgs,'execute':execute};
@@ -1 +1 @@
1
- const a25_0xba213=a25_0x51a8;function a25_0x5da5(){const _0x173e77=['boolean','674700KURFvg','179199hLBEIe','✓\x20Logged\x20out','909955gGJnkr','logout','1422240FnDUdn','Clear\x20login\x20session','Skip\x20login\x20confirmation\x20and\x20start\x20browser\x20auth\x20immediately','log','yes','1159466QJvwAf','read','4053604NwViTq','bool','write','!\x20Not\x20logged\x20in','2hTIhEN','1575429pqQylP','../../auth/auth-server-ui.js','Login\x20via\x20browser','24nnEpgN','login'];a25_0x5da5=function(){return _0x173e77;};return a25_0x5da5();}(function(_0x42a083,_0x4ec2b1){const _0x531de8=a25_0x51a8,_0x290016=_0x42a083();while(!![]){try{const _0x31e61d=parseInt(_0x531de8(0x1c9))/0x1+parseInt(_0x531de8(0x1d6))/0x2*(parseInt(_0x531de8(0x1d7))/0x3)+-parseInt(_0x531de8(0x1d2))/0x4+parseInt(_0x531de8(0x1c6))/0x5+-parseInt(_0x531de8(0x1cb))/0x6+parseInt(_0x531de8(0x1d0))/0x7+parseInt(_0x531de8(0x1da))/0x8*(parseInt(_0x531de8(0x1c7))/0x9);if(_0x31e61d===_0x4ec2b1)break;else _0x290016['push'](_0x290016['shift']());}catch(_0x4e164f){_0x290016['push'](_0x290016['shift']());}}}(a25_0x5da5,0x850c8));import{unlinkSync,existsSync}from'node:fs';import{cookieFile}from'../../auth/constant.js';function a25_0x51a8(_0x2f9481,_0x549be5){_0x2f9481=_0x2f9481-0x1c6;const _0x5da5aa=a25_0x5da5();let _0x51a838=_0x5da5aa[_0x2f9481];return _0x51a838;}export const authDefinitions=[{'service':'auth','command':a25_0xba213(0x1db),'description':a25_0xba213(0x1d9),'risk':a25_0xba213(0x1d1),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a25_0xba213(0x1cf),'type':a25_0xba213(0x1dc),'description':a25_0xba213(0x1cd),'default':![]}],async 'execute'(_0x183437){const _0x58f78d=a25_0xba213,{runAuthServer:_0x2d9a03}=await import(_0x58f78d(0x1d8));return await _0x2d9a03({'autoYes':_0x183437[_0x58f78d(0x1d3)](_0x58f78d(0x1cf)),'nonInteractive':_0x183437['nonInteractive']}),{'ok':!![]};}},{'service':'auth','command':a25_0xba213(0x1ca),'description':a25_0xba213(0x1cc),'risk':a25_0xba213(0x1d4),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x375f1e){const _0x394a9c=a25_0xba213;return existsSync(cookieFile)?(unlinkSync(cookieFile),console[_0x394a9c(0x1ce)](_0x394a9c(0x1c8))):console['log'](_0x394a9c(0x1d5)),{'ok':!![]};}}];
1
+ const a25_0x133808=a25_0x17cf;function a25_0x3293(){const _0x155f9c=['yes','write','907732pRZbas','login','logout','✓\x20Logged\x20out','../../auth/auth-server-ui.js','Skip\x20login\x20confirmation\x20and\x20start\x20browser\x20auth\x20immediately','2418836AjjFEl','2824555xTEhWe','boolean','398667VhTRFo','Clear\x20login\x20session','3446695lzletQ','25695376aZSytf','14kAWari','Login\x20via\x20browser','auth','bool','1970118xLBZZy','read'];a25_0x3293=function(){return _0x155f9c;};return a25_0x3293();}(function(_0x21f322,_0x3d51f5){const _0x16f220=a25_0x17cf,_0x3dd6e2=_0x21f322();while(!![]){try{const _0x12f6e8=parseInt(_0x16f220(0x1ff))/0x1+parseInt(_0x16f220(0x1f7))/0x2*(parseInt(_0x16f220(0x1f3))/0x3)+parseInt(_0x16f220(0x1f0))/0x4+parseInt(_0x16f220(0x1f1))/0x5+parseInt(_0x16f220(0x1fb))/0x6+parseInt(_0x16f220(0x1f5))/0x7+-parseInt(_0x16f220(0x1f6))/0x8;if(_0x12f6e8===_0x3d51f5)break;else _0x3dd6e2['push'](_0x3dd6e2['shift']());}catch(_0x115ae9){_0x3dd6e2['push'](_0x3dd6e2['shift']());}}}(a25_0x3293,0x967c7));import{unlinkSync,existsSync}from'node:fs';import{cookieFile}from'../../auth/constant.js';function a25_0x17cf(_0x5ecfba,_0x18bd56){_0x5ecfba=_0x5ecfba-0x1eb;const _0x3293d4=a25_0x3293();let _0x17cf7a=_0x3293d4[_0x5ecfba];return _0x17cf7a;}export const authDefinitions=[{'service':a25_0x133808(0x1f9),'command':a25_0x133808(0x1eb),'description':a25_0x133808(0x1f8),'risk':a25_0x133808(0x1fc),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a25_0x133808(0x1fd),'type':a25_0x133808(0x1f2),'description':a25_0x133808(0x1ef),'default':![]}],async 'execute'(_0x7733c7){const _0x40d1ec=a25_0x133808,{runAuthServer:_0x54c8be}=await import(_0x40d1ec(0x1ee));return await _0x54c8be({'autoYes':_0x7733c7[_0x40d1ec(0x1fa)](_0x40d1ec(0x1fd)),'nonInteractive':_0x7733c7['nonInteractive']}),{'ok':!![]};}},{'service':a25_0x133808(0x1f9),'command':a25_0x133808(0x1ec),'description':a25_0x133808(0x1f4),'risk':a25_0x133808(0x1fe),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x1ace7d){const _0x3c4ca0=a25_0x133808;return existsSync(cookieFile)?(unlinkSync(cookieFile),console['log'](_0x3c4ca0(0x1ed))):console['log']('!\x20Not\x20logged\x20in'),{'ok':!![]};}}];
@@ -1 +1 @@
1
- const a26_0x2a7b98=a26_0x3f0d;(function(_0x215ad8,_0x1bf797){const _0x5d982f=a26_0x3f0d,_0x31d0cf=_0x215ad8();while(!![]){try{const _0x328c68=-parseInt(_0x5d982f(0x1a5))/0x1*(-parseInt(_0x5d982f(0x1c5))/0x2)+-parseInt(_0x5d982f(0x1c9))/0x3*(-parseInt(_0x5d982f(0x1d9))/0x4)+-parseInt(_0x5d982f(0x1a7))/0x5*(parseInt(_0x5d982f(0x18d))/0x6)+parseInt(_0x5d982f(0x1be))/0x7+parseInt(_0x5d982f(0x1b2))/0x8+-parseInt(_0x5d982f(0x1bc))/0x9+parseInt(_0x5d982f(0x1c8))/0xa;if(_0x328c68===_0x1bf797)break;else _0x31d0cf['push'](_0x31d0cf['shift']());}catch(_0x4f9ad3){_0x31d0cf['push'](_0x31d0cf['shift']());}}}(a26_0x5443,0x9c4d6));import{createInterface}from'node:readline';import{mkdir,writeFile}from'node:fs/promises';import{dirname,join}from'node:path';import{listDatasets,listBffDatasetOperations}from'../../core/api-client.js';function a26_0x3f0d(_0x430990,_0x700c4){_0x430990=_0x430990-0x187;const _0x5443bf=a26_0x5443();let _0x3f0de4=_0x5443bf[_0x430990];return _0x3f0de4;}import{loadAliasMap,resolveAlias}from'../../core/alias-resolver.js';import{resolveApiFilePath}from'../../context.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{fileExists}from'../../core/bff/file-system.js';import{isValidBffFunctionName,normalizeHookFunctionNode}from'../../core/bff/utils.js';import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{assertDatasetSupportsLocalDevelopment,filterDbBackedDatasets}from'../../commands/dataset/capability.js';export const bffCreate={'service':a26_0x2a7b98(0x1d5),'command':a26_0x2a7b98(0x1a6),'description':'Scaffold\x20a\x20new\x20BFF\x20function\x20from\x20template','risk':'write','flags':[{'name':a26_0x2a7b98(0x1cf),'type':a26_0x2a7b98(0x187),'required':!![],'enum':['COMMON',a26_0x2a7b98(0x1d7),a26_0x2a7b98(0x1c3)],'description':'Script\x20type'},{'name':'name','type':'string','required':!![],'description':'Function\x20name\x20(valid\x20JS\x20identifier)'},{'name':a26_0x2a7b98(0x196),'type':a26_0x2a7b98(0x187),'description':a26_0x2a7b98(0x1ab)},{'name':a26_0x2a7b98(0x1e0),'type':'string','description':a26_0x2a7b98(0x189)},{'name':'datasetcode','type':a26_0x2a7b98(0x187),'description':'Dataset\x20code\x20(HOOK\x20only,\x20fallback\x20when\x20alias\x20unavailable)'},{'name':a26_0x2a7b98(0x1b5),'type':a26_0x2a7b98(0x187),'description':a26_0x2a7b98(0x1d6)},{'name':a26_0x2a7b98(0x19a),'type':'string','description':a26_0x2a7b98(0x1ae),'enum':['before',a26_0x2a7b98(0x1b1)]}],async 'validate'(_0x2efdd6){const _0x2bfce2=a26_0x2a7b98,_0x5486df=_0x2efdd6['str'](_0x2bfce2(0x193));if(!isValidBffFunctionName(_0x5486df))throw CliErrors[_0x2bfce2(0x1c2)](_0x2bfce2(0x198)+_0x5486df+_0x2bfce2(0x190));},async 'execute'(_0x522b9b){const _0x2b5399=a26_0x2a7b98,_0xc34438=loadBffProjectConfig(_0x522b9b[_0x2b5399(0x18c)]),_0x137e85=_0x522b9b[_0x2b5399(0x1b3)](_0x2b5399(0x1cf)),_0x5fb29e=_0x522b9b['str']('name'),_0x579607=_0x522b9b['str'](_0x2b5399(0x196))||undefined,_0x36a75b=_0x137e85===_0x2b5399(0x1c3)?await resolveHookOptions(_0xc34438,_0x522b9b):undefined,_0x1a3be9=buildFilePath(_0xc34438,_0x137e85,_0x5fb29e,_0x36a75b);if(await fileExists(_0x1a3be9))throw CliErrors['validation'](_0x2b5399(0x1d4)+_0x1a3be9);await mkdir(dirname(_0x1a3be9),{'recursive':!![]});const _0xc8eee5=generateTemplate(_0x137e85,_0x5fb29e,_0x522b9b['appCode'],_0x579607,_0x36a75b);await writeFile(_0x1a3be9,_0xc8eee5,_0x2b5399(0x18f));const _0x326504={'type':_0x137e85,'name':_0x5fb29e,'path':_0x1a3be9};if(_0x579607)_0x326504['description']=_0x579607;if(_0x36a75b){if(_0x36a75b['alias'])_0x326504['alias']=_0x36a75b[_0x2b5399(0x1e0)];_0x326504['datasetCode']=_0x36a75b[_0x2b5399(0x1c0)],_0x326504[_0x2b5399(0x1da)]=_0x36a75b['operationType'],_0x326504[_0x2b5399(0x1a4)]=_0x36a75b[_0x2b5399(0x1a4)];}return{'ok':!![],'data':_0x326504,'message':_0x2b5399(0x1d3)+_0x137e85+_0x2b5399(0x1e2)+_0x5fb29e};}};async function resolveHookOptions(_0x18caf8,_0x1e8d90){const _0x4d3818=a26_0x2a7b98,_0x1ce3ce=loadAliasMap(_0x1e8d90['apiDir'],undefined,resolveApiFilePath(_0x1e8d90['apiDir'],_0x1e8d90[_0x4d3818(0x18c)])),_0x3eb5b5=_0x1ce3ce['length']>0x0;let _0x4fe4e6,_0x3c5dbe,_0x4ac8f7;const _0x2572d6=_0x1e8d90[_0x4d3818(0x1b3)](_0x4d3818(0x1e0)),_0x3157c2=_0x1e8d90[_0x4d3818(0x1b3)](_0x4d3818(0x1c1));if(_0x2572d6){const _0x22f3f8=resolveAlias(_0x1e8d90[_0x4d3818(0x1a8)],_0x2572d6,undefined,resolveApiFilePath(_0x1e8d90[_0x4d3818(0x1a8)],_0x1e8d90[_0x4d3818(0x18c)]));if(!_0x22f3f8){const _0x60cfd9=_0x3eb5b5?_0x4d3818(0x1c7)+_0x1ce3ce[_0x4d3818(0x1dc)](_0x1c41ed=>_0x1c41ed[_0x4d3818(0x1e0)])[_0x4d3818(0x1d8)](',\x20'):_0x4d3818(0x1a9)+CLI_BIN_NAME+_0x4d3818(0x1de);throw CliErrors[_0x4d3818(0x1c2)](_0x4d3818(0x1a2)+_0x2572d6+_0x4d3818(0x19d)+_0x60cfd9);}_0x4fe4e6=_0x2572d6,_0x3c5dbe=_0x22f3f8;}else{if(_0x3157c2){_0x3c5dbe=_0x3157c2;const _0x36d06e=_0x1ce3ce[_0x4d3818(0x194)](_0x2e8ef7=>_0x2e8ef7[_0x4d3818(0x1c0)]===_0x3157c2);_0x4fe4e6=_0x36d06e?.[_0x4d3818(0x1e0)];}else{if(_0x1e8d90[_0x4d3818(0x1e3)])throw CliErrors[_0x4d3818(0x1c2)](_0x4d3818(0x18e));else{if(_0x3eb5b5){const _0x3fbbac=_0x1ce3ce[_0x4d3818(0x1dc)](_0x208341=>_0x208341['alias']+'\x20('+_0x208341[_0x4d3818(0x1d0)]+')'),_0x5651d1=await promptSelect(_0x4d3818(0x1cb),_0x3fbbac),_0x89988d=_0x1ce3ce[_0x5651d1];if(!_0x89988d)throw CliErrors[_0x4d3818(0x1c2)](_0x4d3818(0x1a1));_0x4fe4e6=_0x89988d['alias'],_0x3c5dbe=_0x89988d[_0x4d3818(0x1c0)];}else{const _0x158abf=await listDatasets(_0x1e8d90[_0x4d3818(0x18c)]),_0x22d098=filterDbBackedDatasets(_0x158abf);if(_0x22d098['length']===0x0)throw CliErrors[_0x4d3818(0x1c2)](_0x158abf['length']===0x0?'No\x20datasets\x20found\x20for\x20this\x20app.':_0x4d3818(0x191));const _0x307a4d=_0x22d098[_0x4d3818(0x1dc)](_0x1babd6=>_0x1babd6['name']+'\x20('+_0x1babd6[_0x4d3818(0x1db)]+')'),_0x3a8d3b=await promptSelect(_0x4d3818(0x1cb),_0x307a4d),_0xe2c0cf=_0x22d098[_0x3a8d3b];if(!_0xe2c0cf)throw CliErrors[_0x4d3818(0x1c2)](_0x4d3818(0x1a1));_0x3c5dbe=_0xe2c0cf[_0x4d3818(0x1db)],_0x4fe4e6=undefined;}}}}const _0x1634e1=await listDatasets(_0x1e8d90[_0x4d3818(0x18c)]),_0x155973=_0x1634e1[_0x4d3818(0x194)](_0x1e651e=>_0x1e651e[_0x4d3818(0x1db)]===_0x3c5dbe);if(!_0x155973)throw CliErrors[_0x4d3818(0x1c2)](_0x4d3818(0x1d1)+_0x3c5dbe+_0x4d3818(0x1ce)+(_0x4fe4e6?_0x4d3818(0x1af)+CLI_BIN_NAME+'\x20api\x20pull`\x20to\x20refresh.':''));assertDatasetSupportsLocalDevelopment(_0x155973,'BFF\x20HOOK'),_0x4ac8f7=_0x155973['id'];const _0x33599a=_0x4fe4e6??_0x3c5dbe,_0x1a25cd=await listBffDatasetOperations(_0x1e8d90[_0x4d3818(0x18c)],_0x4ac8f7),_0x30e967=_0x1a25cd?Object[_0x4d3818(0x1b8)](_0x1a25cd):[];if(_0x30e967[_0x4d3818(0x1ca)]===0x0)throw CliErrors['validation'](_0x4d3818(0x1b4)+_0x33599a+'.');let _0x5f5a7c;const _0x31eca3=_0x1e8d90['str'](_0x4d3818(0x1b5));if(_0x31eca3){if(!_0x30e967[_0x4d3818(0x1a0)](_0x31eca3))throw CliErrors[_0x4d3818(0x1c2)](_0x4d3818(0x1c6)+_0x31eca3+_0x4d3818(0x1b7)+_0x33599a+'.\x20'+(_0x4d3818(0x188)+_0x30e967['join'](',\x20')));_0x5f5a7c=_0x31eca3;}else{if(_0x1e8d90[_0x4d3818(0x1e3)])throw CliErrors[_0x4d3818(0x1c2)](_0x4d3818(0x1ad));const _0x1daad0=await promptSelect(_0x4d3818(0x19e),_0x30e967);_0x5f5a7c=_0x30e967[_0x1daad0]??_0x30e967[0x0];}let _0x542d2f=normalizeHookFunctionNode(_0x1e8d90[_0x4d3818(0x1b3)]('function-node'));if(!_0x542d2f){if(_0x1e8d90[_0x4d3818(0x1b3)](_0x4d3818(0x19a)))throw CliErrors[_0x4d3818(0x1c2)](_0x4d3818(0x1bd));if(_0x1e8d90[_0x4d3818(0x1e3)])throw CliErrors['validation'](_0x4d3818(0x19f));const _0x1624d=await promptSelect(_0x4d3818(0x1b9),['before','after']);_0x542d2f=[_0x4d3818(0x1b6),_0x4d3818(0x1b1)][_0x1624d]??_0x4d3818(0x1b6);}return{'alias':_0x4fe4e6,'datasetCode':_0x3c5dbe,'datasetId':_0x4ac8f7,'operationType':_0x5f5a7c,'functionNode':_0x542d2f};}function a26_0x5443(){const _0x4d03bf=['File\x20already\x20exists:\x20','bff','Operation\x20type\x20(HOOK\x20only)','ENDPOINT','join','17192LIYSXn','operationType','code','map','/**\x0a\x20*\x20ENDPOINT\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','\x20api\x20pull`\x20first,\x20or\x20use\x20--datasetcode\x20instead.','question','alias','isInteger','\x20function:\x20','nonInteractive','string','Available:\x20','Dataset\x20alias\x20from\x20api.ts\x20(HOOK\x20only,\x20preferred)','.js','scriptsRootDir','appCode','2200038tOXPao','--alias\x20or\x20--datasetcode\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','utf8','\x22.\x20Must\x20be\x20a\x20valid\x20JS\x20identifier\x20(e.g.\x20createOrder,\x20beforeFilter).','No\x20DB\x20table\x20datasets\x20found\x20for\x20this\x20app.\x20METADATA\x20datasets\x20cannot\x20be\x20used\x20for\x20BFF\x20HOOK\x20development\x20because\x20the\x20workflow\x20depends\x20on\x20SQL\x20execution.','write','name','find','/**\x0a\x20*\x20COMMON\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','description','stdin','Invalid\x20function\x20name\x20\x22','.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','function-node','close','stderr','\x22\x20not\x20found.\x20','Select\x20operation\x20type:','--function-node\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','includes','Invalid\x20dataset\x20selection.','Alias\x20\x22','HOOK\x20requires\x20hookOptions\x20for\x20template\x20generation.','functionNode','185pOINEb','create','15LVwvAr','apiDir','No\x20api.ts\x20found.\x20Run\x20`','\x0a\x20*\x20[脚本类型]\x20COMMON\x0a\x20*\x20[本地路径]\x20.rabetbase/bff/COMMON/','Script\x20description','\x0a\x20*\x20[触发节点]\x20','--operation-type\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','Trigger\x20node\x20(HOOK\x20only)','The\x20api.ts\x20may\x20be\x20stale\x20—\x20run\x20`','parseInt','after','6864840hvPbAK','str','No\x20operation\x20types\x20found\x20for\x20dataset\x20','operation-type','before','\x22\x20not\x20found\x20for\x20dataset\x20','keys','Select\x20trigger\x20node:','trim','TODO:\x20add\x20script\x20description','9545805XOOVIo','--function-node\x20must\x20be\x20\x27before\x27\x20or\x20\x27after\x27.','658812yUwfzc','COMMON','datasetCode','datasetcode','validation','HOOK','\x0a\x20*\x20[接口路径]\x20POST\x20/api/endpoint/{appCode}/{scriptName}\x0a\x20*\x20[当前示例]\x20POST\x20/api/endpoint/','5718hpqHCX','Operation\x20type\x20\x22','Available\x20aliases:\x20','5504000ojBBmU','537iyAFLj','length','Select\x20dataset:','\x0a\x20*\x20[接口路径]\x20POST\x20/api/','(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a','\x22.\x20','type','tableName','Dataset\x20not\x20found\x20for\x20code\x20\x22','\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','Created\x20'];a26_0x5443=function(){return _0x4d03bf;};return a26_0x5443();}async function promptSelect(_0x579a0a,_0x2ac526){const _0x1568c9=a26_0x2a7b98;if(_0x2ac526[_0x1568c9(0x1ca)]===0x1)return 0x0;for(const [_0x1f704b,_0x4f0507]of _0x2ac526['entries']()){process[_0x1568c9(0x19c)][_0x1568c9(0x192)]('\x20\x20'+(_0x1f704b+0x1)+'.\x20'+_0x4f0507+'\x0a');}const _0x104397=createInterface({'input':process[_0x1568c9(0x197)],'output':process['stderr']});while(!![]){const _0x99e1eb=await new Promise(_0xc5141b=>{const _0x24ec8c=_0x1568c9;_0x104397[_0x24ec8c(0x1df)](_0x579a0a+'\x20',_0xc5141b);}),_0x13e45c=Number[_0x1568c9(0x1b0)](_0x99e1eb[_0x1568c9(0x1ba)](),0xa);if(Number[_0x1568c9(0x1e1)](_0x13e45c)&&_0x13e45c>=0x1&&_0x13e45c<=_0x2ac526[_0x1568c9(0x1ca)])return _0x104397[_0x1568c9(0x19b)](),_0x13e45c-0x1;process[_0x1568c9(0x19c)]['write']('\x20\x20Enter\x20a\x20number\x20between\x201\x20and\x20'+_0x2ac526['length']+'.\x0a');}}function buildFilePath(_0x4df942,_0x24a559,_0x2b438e,_0x493e38){const _0x37f37c=a26_0x2a7b98;if(_0x24a559===_0x37f37c(0x1c3)){if(!_0x493e38)throw CliErrors['validation']('HOOK\x20requires\x20alias/operation/node\x20options.');const _0x4fcca2=_0x493e38[_0x37f37c(0x1e0)]??_0x493e38[_0x37f37c(0x1c0)];return join(_0x4df942[_0x37f37c(0x18b)],_0x37f37c(0x1c3),_0x4fcca2,_0x493e38[_0x37f37c(0x1da)],_0x493e38[_0x37f37c(0x1a4)],_0x2b438e+'.js');}return join(_0x4df942[_0x37f37c(0x18b)],_0x24a559,_0x2b438e+_0x37f37c(0x18a));}export function generateTemplate(_0x44beb0,_0x454921,_0x5449c3,_0x4bb843,_0x2f4d43){const _0x286305=a26_0x2a7b98,_0x4e8b91=_0x4bb843?.[_0x286305(0x1ba)]()||_0x286305(0x1bb);if(_0x44beb0===_0x286305(0x1bf))return _0x286305(0x195)+_0x4e8b91+'\x0a\x20*\x20[脚本名称]\x20'+_0x454921+_0x286305(0x1aa)+_0x454921+_0x286305(0x199)+_0x454921+_0x286305(0x1cd);if(_0x44beb0===_0x286305(0x1d7))return _0x286305(0x1dd)+_0x4e8b91+_0x286305(0x1c4)+_0x5449c3+'/'+_0x454921+'\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'+_0x454921+_0x286305(0x1cd);if(!_0x2f4d43)throw CliErrors[_0x286305(0x1c2)](_0x286305(0x1a3));return'/**\x0a\x20*\x20HOOK\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20'+_0x4e8b91+_0x286305(0x1cc)+_0x5449c3+'/'+_0x2f4d43[_0x286305(0x1c0)]+'/'+_0x2f4d43[_0x286305(0x1da)]+_0x286305(0x1ac)+_0x2f4d43[_0x286305(0x1a4)]+_0x286305(0x1d2)+_0x454921+'(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a';}
1
+ const a26_0x48c13f=a26_0x30b0;(function(_0x121c0b,_0x1f9b5c){const _0x327926=a26_0x30b0,_0x27dc37=_0x121c0b();while(!![]){try{const _0xbd0bb4=parseInt(_0x327926(0xd0))/0x1*(parseInt(_0x327926(0xfd))/0x2)+parseInt(_0x327926(0xf4))/0x3*(parseInt(_0x327926(0xf2))/0x4)+parseInt(_0x327926(0xdd))/0x5+-parseInt(_0x327926(0x101))/0x6+-parseInt(_0x327926(0x10a))/0x7+-parseInt(_0x327926(0xfe))/0x8*(-parseInt(_0x327926(0xff))/0x9)+-parseInt(_0x327926(0xde))/0xa;if(_0xbd0bb4===_0x1f9b5c)break;else _0x27dc37['push'](_0x27dc37['shift']());}catch(_0x57a765){_0x27dc37['push'](_0x27dc37['shift']());}}}(a26_0x59af,0x9adc1));import{createInterface}from'node:readline';import{mkdir,writeFile}from'node:fs/promises';import{dirname,join}from'node:path';function a26_0x30b0(_0x3c6572,_0x5922f9){_0x3c6572=_0x3c6572-0xb6;const _0x59af59=a26_0x59af();let _0x30b05b=_0x59af59[_0x3c6572];return _0x30b05b;}import{listDatasets,listBffDatasetOperations}from'../../core/api-client.js';function a26_0x59af(){const _0x2baa88=['Invalid\x20dataset\x20selection.','string','Scaffold\x20a\x20new\x20BFF\x20function\x20from\x20template','close','operation-type','\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','TODO:\x20add\x20script\x20description','after','--function-node\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a','name','length','code','alias','--operation-type\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','\x20\x20Enter\x20a\x20number\x20between\x201\x20and\x20','4990780PmTwmO','keys','3XpwqRx','Dataset\x20not\x20found\x20for\x20code\x20\x22','functionNode',']\x20(','Created\x20','/**\x0a\x20*\x20COMMON\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','\x0a\x20*\x20[接口路径]\x20POST\x20/api/endpoint/{appCode}/{scriptName}\x0a\x20*\x20[当前示例]\x20POST\x20/api/endpoint/','Trigger\x20node\x20(HOOK\x20only)','--alias\x20or\x20--datasetcode\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','1826FlYnpH','334440QIBsgf','90Eltnwv','str','6665568qpWgHA','Select\x20dataset:','\x0a\x20*\x20[接口路径]\x20POST\x20/api/','Available:\x20','type','HOOK','validation','datasetCode','The\x20api.ts\x20may\x20be\x20stale\x20—\x20run\x20`','4979674JYtyIr','tableName','isInteger','Function\x20name\x20(valid\x20JS\x20identifier)','appCode','utf8','Script\x20type','join','operationType','find','\x0a\x20*\x20[脚本类型]\x20COMMON\x0a\x20*\x20[本地路径]\x20.rabetbase/bff/COMMON/','stderr','function-node','nonInteractive','Invalid\x20function\x20name\x20\x22','source','scriptsRootDir','datasetcode','Operation\x20type\x20(HOOK\x20only)','apiDir','/**\x0a\x20*\x20ENDPOINT\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','/**\x0a\x20*\x20HOOK\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','before','includes','\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','write','trim','\x22.\x20Must\x20be\x20a\x20valid\x20JS\x20identifier\x20(e.g.\x20createOrder,\x20beforeFilter).','1187LHwLLd','ENDPOINT','UNKNOWN','\x20api\x20pull`\x20to\x20refresh.','Operation\x20type\x20\x22','Script\x20description','parseInt','\x22\x20not\x20found.\x20','map','description','question','\x0a\x20*\x20[脚本名称]\x20','--function-node\x20must\x20be\x20\x27before\x27\x20or\x20\x27after\x27.','5284405SMWnbA','13497420qUrGth','COMMON','Select\x20operation\x20type:','.js'];a26_0x59af=function(){return _0x2baa88;};return a26_0x59af();}import{loadAliasMap,resolveAlias}from'../../core/alias-resolver.js';import{resolveApiFilePath}from'../../context.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{fileExists}from'../../core/bff/file-system.js';import{isValidBffFunctionName,normalizeHookFunctionNode}from'../../core/bff/utils.js';import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';export const bffCreate={'service':'bff','command':'create','description':a26_0x48c13f(0xe4),'risk':a26_0x48c13f(0xcd),'flags':[{'name':a26_0x48c13f(0x105),'type':'string','required':!![],'enum':[a26_0x48c13f(0xdf),'ENDPOINT','HOOK'],'description':a26_0x48c13f(0xba)},{'name':'name','type':a26_0x48c13f(0xe3),'required':!![],'description':a26_0x48c13f(0xb7)},{'name':a26_0x48c13f(0xd9),'type':a26_0x48c13f(0xe3),'description':a26_0x48c13f(0xd5)},{'name':a26_0x48c13f(0xef),'type':a26_0x48c13f(0xe3),'description':'Dataset\x20alias\x20from\x20api.ts\x20(HOOK\x20only,\x20preferred)'},{'name':a26_0x48c13f(0xc5),'type':'string','description':'Dataset\x20code\x20(HOOK\x20only,\x20fallback\x20when\x20alias\x20unavailable)'},{'name':a26_0x48c13f(0xe6),'type':a26_0x48c13f(0xe3),'description':a26_0x48c13f(0xc6)},{'name':a26_0x48c13f(0xc0),'type':a26_0x48c13f(0xe3),'description':a26_0x48c13f(0xfb),'enum':['before',a26_0x48c13f(0xe9)]}],async 'validate'(_0x22276a){const _0xfc135b=a26_0x48c13f,_0x24df0b=_0x22276a['str']('name');if(!isValidBffFunctionName(_0x24df0b))throw CliErrors[_0xfc135b(0x107)](_0xfc135b(0xc2)+_0x24df0b+_0xfc135b(0xcf));},async 'execute'(_0x687a93){const _0xe1f24c=a26_0x48c13f,_0x144847=loadBffProjectConfig(_0x687a93[_0xe1f24c(0xb8)]),_0x2bfe7e=_0x687a93[_0xe1f24c(0x100)](_0xe1f24c(0x105)),_0x294712=_0x687a93['str'](_0xe1f24c(0xec)),_0x5ef249=_0x687a93['str'](_0xe1f24c(0xd9))||undefined,_0x2c223d=_0x2bfe7e===_0xe1f24c(0x106)?await resolveHookOptions(_0x144847,_0x687a93):undefined,_0x518195=buildFilePath(_0x144847,_0x2bfe7e,_0x294712,_0x2c223d);if(await fileExists(_0x518195))throw CliErrors['validation']('File\x20already\x20exists:\x20'+_0x518195);await mkdir(dirname(_0x518195),{'recursive':!![]});const _0x10e738=generateTemplate(_0x2bfe7e,_0x294712,_0x687a93[_0xe1f24c(0xb8)],_0x5ef249,_0x2c223d);await writeFile(_0x518195,_0x10e738,_0xe1f24c(0xb9));const _0x3ce5d4={'type':_0x2bfe7e,'name':_0x294712,'path':_0x518195};if(_0x5ef249)_0x3ce5d4[_0xe1f24c(0xd9)]=_0x5ef249;if(_0x2c223d){if(_0x2c223d[_0xe1f24c(0xef)])_0x3ce5d4[_0xe1f24c(0xef)]=_0x2c223d[_0xe1f24c(0xef)];_0x3ce5d4[_0xe1f24c(0x108)]=_0x2c223d['datasetCode'],_0x3ce5d4[_0xe1f24c(0xbc)]=_0x2c223d[_0xe1f24c(0xbc)],_0x3ce5d4[_0xe1f24c(0xf6)]=_0x2c223d[_0xe1f24c(0xf6)];}return{'ok':!![],'data':_0x3ce5d4,'message':_0xe1f24c(0xf8)+_0x2bfe7e+'\x20function:\x20'+_0x294712};}};async function resolveHookOptions(_0x26b0fc,_0x5dcd2c){const _0x450a16=a26_0x48c13f,_0x5a78b7=loadAliasMap(_0x5dcd2c[_0x450a16(0xc7)],undefined,resolveApiFilePath(_0x5dcd2c[_0x450a16(0xc7)],_0x5dcd2c[_0x450a16(0xb8)])),_0x5f06e8=_0x5a78b7[_0x450a16(0xed)]>0x0;let _0x1743a2,_0x4ab799,_0x36235a;const _0x2d15ab=_0x5dcd2c[_0x450a16(0x100)](_0x450a16(0xef)),_0x13b94e=_0x5dcd2c[_0x450a16(0x100)](_0x450a16(0xc5));if(_0x2d15ab){const _0x1042d2=resolveAlias(_0x5dcd2c[_0x450a16(0xc7)],_0x2d15ab,undefined,resolveApiFilePath(_0x5dcd2c[_0x450a16(0xc7)],_0x5dcd2c['appCode']));if(!_0x1042d2){const _0x5bff5a=_0x5f06e8?'Available\x20aliases:\x20'+_0x5a78b7['map'](_0x30f2bd=>_0x30f2bd[_0x450a16(0xef)])[_0x450a16(0xbb)](',\x20'):'No\x20api.ts\x20found.\x20Run\x20`'+CLI_BIN_NAME+'\x20api\x20pull`\x20first,\x20or\x20use\x20--datasetcode\x20instead.';throw CliErrors[_0x450a16(0x107)]('Alias\x20\x22'+_0x2d15ab+_0x450a16(0xd7)+_0x5bff5a);}_0x1743a2=_0x2d15ab,_0x4ab799=_0x1042d2;}else{if(_0x13b94e){_0x4ab799=_0x13b94e;const _0x75d6a4=_0x5a78b7[_0x450a16(0xbd)](_0x3a1aef=>_0x3a1aef[_0x450a16(0x108)]===_0x13b94e);_0x1743a2=_0x75d6a4?.[_0x450a16(0xef)];}else{if(_0x5dcd2c[_0x450a16(0xc1)])throw CliErrors[_0x450a16(0x107)](_0x450a16(0xfc));else{if(_0x5f06e8){const _0x5ded8e=_0x5a78b7['map'](_0x33cbd9=>_0x33cbd9['alias']+'\x20('+_0x33cbd9[_0x450a16(0x10b)]+')'),_0x740fe4=await promptSelect(_0x450a16(0x102),_0x5ded8e),_0x1a2e61=_0x5a78b7[_0x740fe4];if(!_0x1a2e61)throw CliErrors[_0x450a16(0x107)](_0x450a16(0xe2));_0x1743a2=_0x1a2e61['alias'],_0x4ab799=_0x1a2e61[_0x450a16(0x108)];}else{const _0x36e4e6=await listDatasets(_0x5dcd2c[_0x450a16(0xb8)]);if(_0x36e4e6[_0x450a16(0xed)]===0x0)throw CliErrors[_0x450a16(0x107)]('No\x20datasets\x20found\x20for\x20this\x20app.');const _0x36cb7a=_0x36e4e6[_0x450a16(0xd8)](_0x1c545e=>_0x1c545e[_0x450a16(0xec)]+'\x20['+(_0x1c545e[_0x450a16(0xc3)]??_0x450a16(0xd2))+_0x450a16(0xf7)+_0x1c545e[_0x450a16(0xee)]+')'),_0x2ffd8b=await promptSelect('Select\x20dataset:',_0x36cb7a),_0x5ef51a=_0x36e4e6[_0x2ffd8b];if(!_0x5ef51a)throw CliErrors[_0x450a16(0x107)](_0x450a16(0xe2));_0x4ab799=_0x5ef51a[_0x450a16(0xee)],_0x1743a2=undefined;}}}}const _0x1ea409=await listDatasets(_0x5dcd2c[_0x450a16(0xb8)]),_0x4c7c2c=_0x1ea409[_0x450a16(0xbd)](_0x21af01=>_0x21af01[_0x450a16(0xee)]===_0x4ab799);if(!_0x4c7c2c)throw CliErrors['validation'](_0x450a16(0xf5)+_0x4ab799+'\x22.\x20'+(_0x1743a2?_0x450a16(0x109)+CLI_BIN_NAME+_0x450a16(0xd3):''));_0x36235a=_0x4c7c2c['id'];const _0x3e64a5=_0x1743a2??_0x4ab799,_0x40c614=await listBffDatasetOperations(_0x5dcd2c['appCode'],_0x36235a),_0x1b3caa=_0x40c614?Object[_0x450a16(0xf3)](_0x40c614):[];if(_0x1b3caa[_0x450a16(0xed)]===0x0)throw CliErrors[_0x450a16(0x107)]('No\x20operation\x20types\x20found\x20for\x20dataset\x20'+_0x3e64a5+'.');let _0x5477db;const _0x3c6414=_0x5dcd2c[_0x450a16(0x100)]('operation-type');if(_0x3c6414){if(!_0x1b3caa[_0x450a16(0xcb)](_0x3c6414))throw CliErrors[_0x450a16(0x107)](_0x450a16(0xd4)+_0x3c6414+'\x22\x20not\x20found\x20for\x20dataset\x20'+_0x3e64a5+'.\x20'+(_0x450a16(0x104)+_0x1b3caa[_0x450a16(0xbb)](',\x20')));_0x5477db=_0x3c6414;}else{if(_0x5dcd2c[_0x450a16(0xc1)])throw CliErrors[_0x450a16(0x107)](_0x450a16(0xf0));const _0x1b86eb=await promptSelect(_0x450a16(0xe0),_0x1b3caa);_0x5477db=_0x1b3caa[_0x1b86eb]??_0x1b3caa[0x0];}let _0x4cd7ef=normalizeHookFunctionNode(_0x5dcd2c['str'](_0x450a16(0xc0)));if(!_0x4cd7ef){if(_0x5dcd2c[_0x450a16(0x100)]('function-node'))throw CliErrors[_0x450a16(0x107)](_0x450a16(0xdc));if(_0x5dcd2c[_0x450a16(0xc1)])throw CliErrors[_0x450a16(0x107)](_0x450a16(0xea));const _0x3af1d9=await promptSelect('Select\x20trigger\x20node:',[_0x450a16(0xca),_0x450a16(0xe9)]);_0x4cd7ef=[_0x450a16(0xca),_0x450a16(0xe9)][_0x3af1d9]??_0x450a16(0xca);}return{'alias':_0x1743a2,'datasetCode':_0x4ab799,'datasetId':_0x36235a,'operationType':_0x5477db,'functionNode':_0x4cd7ef};}async function promptSelect(_0x41fe4e,_0x3f0f46){const _0x54e08e=a26_0x48c13f;if(_0x3f0f46[_0x54e08e(0xed)]===0x1)return 0x0;for(const [_0x6a4365,_0x3e0134]of _0x3f0f46['entries']()){process[_0x54e08e(0xbf)][_0x54e08e(0xcd)]('\x20\x20'+(_0x6a4365+0x1)+'.\x20'+_0x3e0134+'\x0a');}const _0x99d0e4=createInterface({'input':process['stdin'],'output':process['stderr']});while(!![]){const _0x274cdb=await new Promise(_0x295e4a=>{const _0x20f3d3=_0x54e08e;_0x99d0e4[_0x20f3d3(0xda)](_0x41fe4e+'\x20',_0x295e4a);}),_0x2472e4=Number[_0x54e08e(0xd6)](_0x274cdb[_0x54e08e(0xce)](),0xa);if(Number[_0x54e08e(0xb6)](_0x2472e4)&&_0x2472e4>=0x1&&_0x2472e4<=_0x3f0f46['length'])return _0x99d0e4[_0x54e08e(0xe5)](),_0x2472e4-0x1;process['stderr'][_0x54e08e(0xcd)](_0x54e08e(0xf1)+_0x3f0f46['length']+'.\x0a');}}function buildFilePath(_0x86eaa,_0x3ce421,_0x3576ce,_0x26c42f){const _0x354963=a26_0x48c13f;if(_0x3ce421==='HOOK'){if(!_0x26c42f)throw CliErrors[_0x354963(0x107)]('HOOK\x20requires\x20alias/operation/node\x20options.');const _0x2ec368=_0x26c42f[_0x354963(0xef)]??_0x26c42f[_0x354963(0x108)];return join(_0x86eaa[_0x354963(0xc4)],_0x354963(0x106),_0x2ec368,_0x26c42f[_0x354963(0xbc)],_0x26c42f[_0x354963(0xf6)],_0x3576ce+_0x354963(0xe1));}return join(_0x86eaa[_0x354963(0xc4)],_0x3ce421,_0x3576ce+_0x354963(0xe1));}export function generateTemplate(_0x3393fb,_0x5062bd,_0xf1fc3a,_0x55f47f,_0x537abc){const _0x4d5878=a26_0x48c13f,_0x400671=_0x55f47f?.[_0x4d5878(0xce)]()||_0x4d5878(0xe8);if(_0x3393fb===_0x4d5878(0xdf))return _0x4d5878(0xf9)+_0x400671+_0x4d5878(0xdb)+_0x5062bd+_0x4d5878(0xbe)+_0x5062bd+'.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'+_0x5062bd+_0x4d5878(0xeb);if(_0x3393fb===_0x4d5878(0xd1))return _0x4d5878(0xc8)+_0x400671+_0x4d5878(0xfa)+_0xf1fc3a+'/'+_0x5062bd+_0x4d5878(0xe7)+_0x5062bd+_0x4d5878(0xeb);if(!_0x537abc)throw CliErrors[_0x4d5878(0x107)]('HOOK\x20requires\x20hookOptions\x20for\x20template\x20generation.');return _0x4d5878(0xc9)+_0x400671+_0x4d5878(0x103)+_0xf1fc3a+'/'+_0x537abc[_0x4d5878(0x108)]+'/'+_0x537abc['operationType']+'\x0a\x20*\x20[触发节点]\x20'+_0x537abc[_0x4d5878(0xf6)]+_0x4d5878(0xcc)+_0x5062bd+_0x4d5878(0xeb);}
@@ -1 +1 @@
1
- const a27_0x21249c=a27_0x2775;(function(_0x597c0,_0x2ec0cb){const _0x170703=a27_0x2775,_0x13090f=_0x597c0();while(!![]){try{const _0x48b497=-parseInt(_0x170703(0x217))/0x1*(parseInt(_0x170703(0x1f9))/0x2)+parseInt(_0x170703(0x1f0))/0x3+-parseInt(_0x170703(0x206))/0x4*(-parseInt(_0x170703(0x221))/0x5)+-parseInt(_0x170703(0x216))/0x6*(parseInt(_0x170703(0x211))/0x7)+parseInt(_0x170703(0x200))/0x8*(-parseInt(_0x170703(0x1ff))/0x9)+-parseInt(_0x170703(0x1f6))/0xa*(-parseInt(_0x170703(0x1fa))/0xb)+parseInt(_0x170703(0x220))/0xc;if(_0x48b497===_0x2ec0cb)break;else _0x13090f['push'](_0x13090f['shift']());}catch(_0x2733c9){_0x13090f['push'](_0x13090f['shift']());}}}(a27_0x1d2a,0xed037));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';function a27_0x2775(_0x3db3e6,_0x45a537){_0x3db3e6=_0x3db3e6-0x1ed;const _0x1d2a7d=a27_0x1d2a();let _0x27757c=_0x1d2a7d[_0x3db3e6];return _0x27757c;}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_0x21249c(0x1fc),'command':a27_0x21249c(0x210),'description':a27_0x21249c(0x1f3),'risk':a27_0x21249c(0x1f1),'flags':[{'name':a27_0x21249c(0x215),'type':a27_0x21249c(0x209),'required':!![],'description':a27_0x21249c(0x21d)}],async 'validate'(_0x4b7b9b){const _0x207f4e=a27_0x21249c,_0xbf522b=loadBffProjectConfig(_0x4b7b9b[_0x207f4e(0x1fe)]),_0x4030b4=await readBffLockFile(_0xbf522b['lockFilePath']);if(!_0x4030b4)throw CliErrors[_0x207f4e(0x214)](_0x207f4e(0x207));},async 'dryRun'(_0x22dd76){const _0x44520a=a27_0x21249c,_0x473bcd=loadBffProjectConfig(_0x22dd76['appCode']),_0xf1ade1=await readBffLockFile(_0x473bcd[_0x44520a(0x21c)]);if(!_0xf1ade1)throw CliErrors['validation']('BFF\x20lock\x20file\x20not\x20found.');const {appLock:_0xa76bbb}=ensureLockScope(_0xf1ade1,_0x22dd76['appCode'],_0x473bcd[_0x44520a(0x1f8)],'delete'),_0xfe50f1=_0x22dd76[_0x44520a(0x218)]('target'),_0x348506=Object['keys'](_0xa76bbb[_0x44520a(0x21a)]),_0x1ed509=resolveDeleteTarget(_0xfe50f1,_0x348506),_0xe0ce32=_0xa76bbb[_0x44520a(0x21a)][_0x1ed509];if(!_0xe0ce32)throw CliErrors[_0x44520a(0x214)](_0x44520a(0x1ef)+_0x1ed509+'\x22.');const _0x16de28=resolveLocalFilePathFromLockKey(_0x473bcd,_0x1ed509),_0xf7a506=relative(_0x473bcd[_0x44520a(0x20c)],_0x16de28),_0x217217=join(_0x473bcd['trashDir'],_0x44520a(0x21f),_0xf7a506);return{'method':_0x44520a(0x20b),'url':'/api/management/library/scripts/delete','body':{'appCode':_0x22dd76[_0x44520a(0x1fe)],'target':_0x1ed509,'remoteId':_0xe0ce32[_0x44520a(0x20a)],'localFilePath':_0x16de28,'trashedPath':_0x217217},'description':_0x44520a(0x212)+_0x1ed509+_0x44520a(0x20d)};},async 'execute'(_0x1b8179){const _0x223ecc=a27_0x21249c,_0x3fb7d4=loadBffProjectConfig(_0x1b8179['appCode']),_0x215539=await readBffLockFile(_0x3fb7d4[_0x223ecc(0x21c)]);if(!_0x215539)throw CliErrors[_0x223ecc(0x214)](_0x223ecc(0x1fd));const {lockData:_0x417362,appLock:_0x45fdcf}=ensureLockScope(_0x215539,_0x1b8179[_0x223ecc(0x1fe)],_0x3fb7d4['scriptsRoot'],'delete'),_0x3e21ed=JSON['parse'](JSON[_0x223ecc(0x222)](_0x417362)),_0x50479b=_0x3e21ed['apps'][_0x1b8179[_0x223ecc(0x1fe)]];if(!_0x50479b)throw new Error(_0x223ecc(0x208)+_0x1b8179['appCode']+_0x223ecc(0x1f2));const _0x1f0e89=_0x1b8179[_0x223ecc(0x218)](_0x223ecc(0x215)),_0x3eb7d2=Object[_0x223ecc(0x1ee)](_0x50479b[_0x223ecc(0x21a)]),_0x5cbf74=resolveDeleteTarget(_0x1f0e89,_0x3eb7d2),_0x51fe25=_0x50479b['functions'][_0x5cbf74];if(!_0x51fe25)throw CliErrors[_0x223ecc(0x214)](_0x223ecc(0x1ef)+_0x5cbf74+'\x22.');await deleteBffScript(_0x51fe25['remoteId']),delete _0x50479b[_0x223ecc(0x21a)][_0x5cbf74],_0x50479b['lastSync']=new Date()[_0x223ecc(0x1ed)](),await writeBffLockFile(_0x3fb7d4[_0x223ecc(0x21c)],_0x3e21ed);const _0x1966e6=resolveLocalFilePathFromLockKey(_0x3fb7d4,_0x5cbf74);let _0x312501;await fileExists(_0x1966e6)&&(_0x312501=await moveToTrash(_0x3fb7d4[_0x223ecc(0x20c)],_0x3fb7d4[_0x223ecc(0x204)],_0x1966e6),await cleanupEmptyDirectories(dirname(_0x1966e6),_0x3fb7d4[_0x223ecc(0x203)]));await waitForDeleteSettlement(_0x3fb7d4['lockFilePath'],_0x1b8179['appCode'],_0x5cbf74,_0x1966e6),await sleep(0x96);const _0x42c10a={'deleted':_0x5cbf74,'remoteId':_0x51fe25['remoteId']};if(_0x312501)_0x42c10a['trashedTo']=_0x312501;return{'ok':!![],'data':_0x42c10a,'message':_0x223ecc(0x1f7)+_0x5cbf74+(_0x312501?_0x223ecc(0x20e):'')};}};function resolveDeleteTarget(_0xfa829b,_0x297954){const _0x1e3ea8=a27_0x21249c;if(_0xfa829b[_0x1e3ea8(0x21b)]('/')){const _0x1d95f9=_0x297954['find'](_0x2c8991=>_0x2c8991===_0xfa829b);if(!_0x1d95f9)throw CliErrors[_0x1e3ea8(0x214)](_0x1e3ea8(0x202)+_0xfa829b);return _0x1d95f9;}const _0x41d424=_0x297954['filter'](_0x30569d=>_0x30569d[_0x1e3ea8(0x1fb)]('/')['at'](-0x1)===_0xfa829b);if(_0x41d424[_0x1e3ea8(0x1f5)]===0x0)throw CliErrors[_0x1e3ea8(0x214)](_0x1e3ea8(0x202)+_0xfa829b);if(_0x41d424[_0x1e3ea8(0x1f5)]>0x1)throw CliErrors[_0x1e3ea8(0x214)](_0x1e3ea8(0x219)+_0xfa829b+_0x1e3ea8(0x213)+_0x41d424[_0x1e3ea8(0x20f)](_0x32f7ea=>_0x1e3ea8(0x1f4)+_0x32f7ea)[_0x1e3ea8(0x205)]('\x0a'));return _0x41d424[0x0];}async function moveToTrash(_0x44301a,_0x52758a,_0xc63450){const _0x4f7478=a27_0x21249c,_0xafdc03=new Date()['toISOString']()[_0x4f7478(0x201)](/[:.]/g,'-'),_0x10732f=relative(_0x44301a,_0xc63450),_0x21dd9d=join(_0x52758a,_0xafdc03,_0x10732f);return await mkdir(dirname(_0x21dd9d),{'recursive':!![]}),await rename(_0xc63450,_0x21dd9d),_0x21dd9d;}async function cleanupEmptyDirectories(_0x5e7d78,_0x174b30){const _0x25a680=a27_0x21249c;let _0x5263c9=resolve(_0x5e7d78);const _0x49194b=resolve(_0x174b30);while(_0x5263c9[_0x25a680(0x223)](''+_0x49194b+sep)||_0x5263c9===_0x49194b){if(_0x5263c9===_0x49194b)return;try{const _0x2fe3ef=await readdir(_0x5263c9);if(_0x2fe3ef['length']>0x0)return;await rmdir(_0x5263c9);}catch{return;}_0x5263c9=dirname(_0x5263c9);}}const DELETE_SETTLE_RETRY_COUNT=0x14,DELETE_SETTLE_DELAY_MS=0x64;function a27_0x1d2a(){const _0x4f19b6=['toISOString','keys','No\x20lock\x20entry\x20found\x20for\x20\x22','2376309DHEdOt','high-risk-write','\x22\x20not\x20found\x20after\x20ensureLockScope.','Delete\x20a\x20BFF\x20script\x20from\x20remote\x20and\x20local','\x20\x20-\x20','length','15808290ZBGsQQ','Deleted\x20','scriptsRoot','2SoCKdQ','11QsrUDb','split','bff','BFF\x20lock\x20file\x20not\x20found.','appCode','873TMZOgz','131608sShNQL','replace','Function\x20not\x20found:\x20','scriptsRootDir','trashDir','join','6074592VLAsQD','BFF\x20lock\x20file\x20not\x20found.\x20Run\x20`push`\x20or\x20`pull`\x20first\x20to\x20initialize\x20sync\x20state.','Lock\x20scope\x20for\x20app\x20\x22','string','remoteId','POST','projectRoot','\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20trash','\x20(local\x20file\x20moved\x20to\x20trash)','map','delete','14SsUtgK','Would\x20delete\x20','\x22.\x20Use\x20the\x20full\x20lock\x20key:\x0a','validation','target','3296598ajDkCR','438647JxQtvt','str','Multiple\x20functions\x20match\x20\x22','functions','includes','lockFilePath','Lock\x20key\x20(e.g.\x20ENDPOINT/createOrder)\x20or\x20short\x20function\x20name','apps','<timestamp>','2549844PVZLBO','5TekiCr','stringify','startsWith'];a27_0x1d2a=function(){return _0x4f19b6;};return a27_0x1d2a();}async function waitForDeleteSettlement(_0x5ee103,_0x4a90a8,_0x3b43f5,_0x1fc0e6){const _0xad661a=a27_0x21249c;for(let _0x523849=0x0;_0x523849<DELETE_SETTLE_RETRY_COUNT;_0x523849+=0x1){const _0xcb76ab=await readBffLockFile(_0x5ee103),_0x25f128=!!_0xcb76ab?.[_0xad661a(0x21e)]?.[_0x4a90a8]?.['functions']?.[_0x3b43f5],_0x278071=await fileExists(_0x1fc0e6);if(!_0x25f128&&!_0x278071)return;await sleep(DELETE_SETTLE_DELAY_MS);}throw new Error('Local\x20delete\x20not\x20settled\x20for\x20'+_0x3b43f5+'.');}
1
+ const a27_0xe1e703=a27_0x4e49;(function(_0x4b6ec4,_0x4d52fb){const _0x4734d9=a27_0x4e49,_0x55b65a=_0x4b6ec4();while(!![]){try{const _0x92897b=parseInt(_0x4734d9(0x19e))/0x1*(parseInt(_0x4734d9(0x1b6))/0x2)+parseInt(_0x4734d9(0x1ab))/0x3*(-parseInt(_0x4734d9(0x1a1))/0x4)+parseInt(_0x4734d9(0x1a3))/0x5+parseInt(_0x4734d9(0x191))/0x6+parseInt(_0x4734d9(0x1a0))/0x7+parseInt(_0x4734d9(0x1b9))/0x8+-parseInt(_0x4734d9(0x1bc))/0x9;if(_0x92897b===_0x4d52fb)break;else _0x55b65a['push'](_0x55b65a['shift']());}catch(_0x494629){_0x55b65a['push'](_0x55b65a['shift']());}}}(a27_0x37a0,0x4fbe5));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_0xe1e703(0x1a4),'command':'delete','description':'Delete\x20a\x20BFF\x20script\x20from\x20remote\x20and\x20local','risk':a27_0xe1e703(0x19d),'flags':[{'name':a27_0xe1e703(0x19a),'type':a27_0xe1e703(0x1a9),'required':!![],'description':a27_0xe1e703(0x18f)}],async 'validate'(_0x2a65c2){const _0x1a9799=a27_0xe1e703,_0x251976=loadBffProjectConfig(_0x2a65c2[_0x1a9799(0x19f)]),_0x451f93=await readBffLockFile(_0x251976[_0x1a9799(0x1c0)]);if(!_0x451f93)throw CliErrors[_0x1a9799(0x1ba)](_0x1a9799(0x1ad));},async 'dryRun'(_0x34e564){const _0x5b01a0=a27_0xe1e703,_0x377a7c=loadBffProjectConfig(_0x34e564['appCode']),_0x420266=await readBffLockFile(_0x377a7c[_0x5b01a0(0x1c0)]);if(!_0x420266)throw CliErrors['validation']('BFF\x20lock\x20file\x20not\x20found.');const {appLock:_0x5644a6}=ensureLockScope(_0x420266,_0x34e564[_0x5b01a0(0x19f)],_0x377a7c[_0x5b01a0(0x1c1)],'delete'),_0x4fe00e=_0x34e564[_0x5b01a0(0x1ae)](_0x5b01a0(0x19a)),_0x211eda=Object['keys'](_0x5644a6[_0x5b01a0(0x19c)]),_0x4cfd66=resolveDeleteTarget(_0x4fe00e,_0x211eda),_0x3784cd=_0x5644a6['functions'][_0x4cfd66];if(!_0x3784cd)throw CliErrors[_0x5b01a0(0x1ba)](_0x5b01a0(0x1b5)+_0x4cfd66+'\x22.');const _0x1f6276=resolveLocalFilePathFromLockKey(_0x377a7c,_0x4cfd66),_0x266488=relative(_0x377a7c['projectRoot'],_0x1f6276),_0x1f27cc=join(_0x377a7c[_0x5b01a0(0x1b4)],_0x5b01a0(0x190),_0x266488);return{'method':_0x5b01a0(0x1aa),'url':'/api/management/library/scripts/delete','body':{'appCode':_0x34e564[_0x5b01a0(0x19f)],'target':_0x4cfd66,'remoteId':_0x3784cd[_0x5b01a0(0x195)],'localFilePath':_0x1f6276,'trashedPath':_0x1f27cc},'description':_0x5b01a0(0x1a5)+_0x4cfd66+'\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20trash'};},async 'execute'(_0x463184){const _0x9ded01=a27_0xe1e703,_0x574ddc=loadBffProjectConfig(_0x463184['appCode']),_0x16be31=await readBffLockFile(_0x574ddc[_0x9ded01(0x1c0)]);if(!_0x16be31)throw CliErrors['validation'](_0x9ded01(0x198));const {lockData:_0x29b2fa,appLock:_0x2f620f}=ensureLockScope(_0x16be31,_0x463184[_0x9ded01(0x19f)],_0x574ddc[_0x9ded01(0x1c1)],_0x9ded01(0x1b3)),_0x73aedb=JSON['parse'](JSON[_0x9ded01(0x19b)](_0x29b2fa)),_0x276e87=_0x73aedb[_0x9ded01(0x1b1)][_0x463184['appCode']];if(!_0x276e87)throw new Error('Lock\x20scope\x20for\x20app\x20\x22'+_0x463184[_0x9ded01(0x19f)]+_0x9ded01(0x1a7));const _0x15999c=_0x463184[_0x9ded01(0x1ae)]('target'),_0x510382=Object[_0x9ded01(0x1a6)](_0x276e87[_0x9ded01(0x19c)]),_0x2d71c9=resolveDeleteTarget(_0x15999c,_0x510382),_0x2e8231=_0x276e87[_0x9ded01(0x19c)][_0x2d71c9];if(!_0x2e8231)throw CliErrors[_0x9ded01(0x1ba)](_0x9ded01(0x1b5)+_0x2d71c9+'\x22.');await deleteBffScript(_0x2e8231[_0x9ded01(0x195)]),delete _0x276e87[_0x9ded01(0x19c)][_0x2d71c9],_0x276e87[_0x9ded01(0x1af)]=new Date()[_0x9ded01(0x1be)](),await writeBffLockFile(_0x574ddc[_0x9ded01(0x1c0)],_0x73aedb);const _0x103401=resolveLocalFilePathFromLockKey(_0x574ddc,_0x2d71c9);let _0x2109f1;await fileExists(_0x103401)&&(_0x2109f1=await moveToTrash(_0x574ddc[_0x9ded01(0x193)],_0x574ddc[_0x9ded01(0x1b4)],_0x103401),await cleanupEmptyDirectories(dirname(_0x103401),_0x574ddc['scriptsRootDir']));await waitForDeleteSettlement(_0x574ddc[_0x9ded01(0x1c0)],_0x463184[_0x9ded01(0x19f)],_0x2d71c9,_0x103401),await sleep(0x96);const _0x27ddba={'deleted':_0x2d71c9,'remoteId':_0x2e8231[_0x9ded01(0x195)]};if(_0x2109f1)_0x27ddba[_0x9ded01(0x199)]=_0x2109f1;return{'ok':!![],'data':_0x27ddba,'message':_0x9ded01(0x1b0)+_0x2d71c9+(_0x2109f1?_0x9ded01(0x1a2):'')};}};function a27_0x37a0(){const _0x280363=['1742240uIkmEJ','bff','Would\x20delete\x20','keys','\x22\x20not\x20found\x20after\x20ensureLockScope.','find','string','POST','3jdbUqZ','\x22.\x20Use\x20the\x20full\x20lock\x20key:\x0a','BFF\x20lock\x20file\x20not\x20found.\x20Run\x20`push`\x20or\x20`pull`\x20first\x20to\x20initialize\x20sync\x20state.','str','lastSync','Deleted\x20','apps','startsWith','delete','trashDir','No\x20lock\x20entry\x20found\x20for\x20\x22','21344fuqhbO','replace','join','3530592oPCVtB','validation','Local\x20delete\x20not\x20settled\x20for\x20','16329312ZMzJbq','Multiple\x20functions\x20match\x20\x22','toISOString','map','lockFilePath','scriptsRoot','Lock\x20key\x20(e.g.\x20ENDPOINT/createOrder)\x20or\x20short\x20function\x20name','<timestamp>','3559158HhNLbC','\x20\x20-\x20','projectRoot','filter','remoteId','split','length','BFF\x20lock\x20file\x20not\x20found.','trashedTo','target','stringify','functions','high-risk-write','58wAVQjZ','appCode','3320037WOaDlK','1340940EaXzUl','\x20(local\x20file\x20moved\x20to\x20trash)'];a27_0x37a0=function(){return _0x280363;};return a27_0x37a0();}function resolveDeleteTarget(_0x359660,_0x21bdf0){const _0x4691b3=a27_0xe1e703;if(_0x359660['includes']('/')){const _0x1954f3=_0x21bdf0[_0x4691b3(0x1a8)](_0x3aab91=>_0x3aab91===_0x359660);if(!_0x1954f3)throw CliErrors[_0x4691b3(0x1ba)]('Function\x20not\x20found:\x20'+_0x359660);return _0x1954f3;}const _0x1cae9f=_0x21bdf0[_0x4691b3(0x194)](_0x32bc42=>_0x32bc42[_0x4691b3(0x196)]('/')['at'](-0x1)===_0x359660);if(_0x1cae9f['length']===0x0)throw CliErrors[_0x4691b3(0x1ba)]('Function\x20not\x20found:\x20'+_0x359660);if(_0x1cae9f['length']>0x1)throw CliErrors['validation'](_0x4691b3(0x1bd)+_0x359660+_0x4691b3(0x1ac)+_0x1cae9f[_0x4691b3(0x1bf)](_0x50ceed=>_0x4691b3(0x192)+_0x50ceed)[_0x4691b3(0x1b8)]('\x0a'));return _0x1cae9f[0x0];}async function moveToTrash(_0x373909,_0x1388ee,_0x4a951c){const _0xfd8eed=a27_0xe1e703,_0x549dfa=new Date()[_0xfd8eed(0x1be)]()[_0xfd8eed(0x1b7)](/[:.]/g,'-'),_0x1da023=relative(_0x373909,_0x4a951c),_0x1d38cf=join(_0x1388ee,_0x549dfa,_0x1da023);return await mkdir(dirname(_0x1d38cf),{'recursive':!![]}),await rename(_0x4a951c,_0x1d38cf),_0x1d38cf;}async function cleanupEmptyDirectories(_0x4d851c,_0x6780a6){const _0xf0bd11=a27_0xe1e703;let _0x225fe2=resolve(_0x4d851c);const _0x5b3d52=resolve(_0x6780a6);while(_0x225fe2[_0xf0bd11(0x1b2)](''+_0x5b3d52+sep)||_0x225fe2===_0x5b3d52){if(_0x225fe2===_0x5b3d52)return;try{const _0x514a19=await readdir(_0x225fe2);if(_0x514a19[_0xf0bd11(0x197)]>0x0)return;await rmdir(_0x225fe2);}catch{return;}_0x225fe2=dirname(_0x225fe2);}}function a27_0x4e49(_0x29600d,_0x4bc130){_0x29600d=_0x29600d-0x18f;const _0x37a032=a27_0x37a0();let _0x4e49cb=_0x37a032[_0x29600d];return _0x4e49cb;}const DELETE_SETTLE_RETRY_COUNT=0x14,DELETE_SETTLE_DELAY_MS=0x64;async function waitForDeleteSettlement(_0x3fc8b8,_0x10cff4,_0x50d3b2,_0x30e0d4){const _0x54ecd9=a27_0xe1e703;for(let _0x269f7e=0x0;_0x269f7e<DELETE_SETTLE_RETRY_COUNT;_0x269f7e+=0x1){const _0x49c7b5=await readBffLockFile(_0x3fc8b8),_0x17f6b9=!!_0x49c7b5?.[_0x54ecd9(0x1b1)]?.[_0x10cff4]?.['functions']?.[_0x50d3b2],_0x1eb595=await fileExists(_0x30e0d4);if(!_0x17f6b9&&!_0x1eb595)return;await sleep(DELETE_SETTLE_DELAY_MS);}throw new Error(_0x54ecd9(0x1bb)+_0x50d3b2+'.');}
@@ -1 +1 @@
1
- const a28_0x433caf=a28_0x5f08;(function(_0x3d794a,_0x2b9867){const _0x610382=a28_0x5f08,_0x4398a9=_0x3d794a();while(!![]){try{const _0x599699=parseInt(_0x610382(0x17d))/0x1*(-parseInt(_0x610382(0x17a))/0x2)+-parseInt(_0x610382(0x16c))/0x3+parseInt(_0x610382(0x176))/0x4*(parseInt(_0x610382(0x16f))/0x5)+-parseInt(_0x610382(0x16a))/0x6+-parseInt(_0x610382(0x180))/0x7*(-parseInt(_0x610382(0x169))/0x8)+parseInt(_0x610382(0x175))/0x9*(-parseInt(_0x610382(0x170))/0xa)+-parseInt(_0x610382(0x173))/0xb*(-parseInt(_0x610382(0x16b))/0xc);if(_0x599699===_0x2b9867)break;else _0x4398a9['push'](_0x4398a9['shift']());}catch(_0x32d791){_0x4398a9['push'](_0x4398a9['shift']());}}}(a28_0x199e,0x54ec5));function a28_0x5f08(_0x1d897a,_0x68c336){_0x1d897a=_0x1d897a-0x167;const _0x199e42=a28_0x199e();let _0x5f080c=_0x199e42[_0x1d897a];return _0x5f080c;}import{getBffScriptInfo}from'../../core/api-client.js';export const bffDetail={'service':'bff','command':a28_0x433caf(0x172),'description':a28_0x433caf(0x171),'risk':a28_0x433caf(0x174),'flags':[{'name':'id','type':a28_0x433caf(0x16d),'required':!![],'description':a28_0x433caf(0x17b)},{'name':a28_0x433caf(0x17e),'type':a28_0x433caf(0x167),'description':a28_0x433caf(0x177)}],async 'execute'(_0x28a984){const _0xea5663=a28_0x433caf,_0x1a6b8e=await getBffScriptInfo(_0x28a984[_0xea5663(0x17c)]('id')),_0xeb22e7=_0x28a984[_0xea5663(0x168)](_0xea5663(0x17e));if(_0xeb22e7)return{'ok':!![],'data':_0x1a6b8e};return{'ok':!![],'data':{'id':_0x1a6b8e['id'],'appCode':_0x1a6b8e[_0xea5663(0x179)],'scriptType':_0x1a6b8e[_0xea5663(0x181)],'description':_0x1a6b8e[_0xea5663(0x182)]||'(none)','createdTime':_0x1a6b8e[_0xea5663(0x17f)]??'','updatedTime':_0x1a6b8e[_0xea5663(0x178)]??'','scriptContent':_0x1a6b8e[_0xea5663(0x16e)]??''}};}};function a28_0x199e(){const _0x16827f=['Return\x20full\x20raw\x20script\x20object','updatedTime','appCode','630248LALfgO','Script\x20ID','num','2fsgjrS','verbose','createdTime','5110vfKkQE','scriptType','description','boolean','bool','1768UgASRV','95604QANgTX','528zdpaPF','510198YWhDIs','number','scriptContent','58810apMxVv','6148470xslSIJ','Get\x20BFF\x20script\x20details\x20by\x20ID','detail','313247jsKmBm','read','9dJJKFH','124kxqHRT'];a28_0x199e=function(){return _0x16827f;};return a28_0x199e();}
1
+ const a28_0x2dfc61=a28_0x2776;function a28_0x2776(_0x4b89c4,_0x2b123d){_0x4b89c4=_0x4b89c4-0xd6;const _0x21c3b6=a28_0x21c3();let _0x277633=_0x21c3b6[_0x4b89c4];return _0x277633;}(function(_0x2e2cf6,_0x5c839f){const _0x1cd836=a28_0x2776,_0x2ccb89=_0x2e2cf6();while(!![]){try{const _0x46a0f1=parseInt(_0x1cd836(0xd7))/0x1+-parseInt(_0x1cd836(0xec))/0x2*(-parseInt(_0x1cd836(0xd9))/0x3)+parseInt(_0x1cd836(0xe7))/0x4*(parseInt(_0x1cd836(0xde))/0x5)+parseInt(_0x1cd836(0xeb))/0x6*(parseInt(_0x1cd836(0xe5))/0x7)+-parseInt(_0x1cd836(0xdc))/0x8*(parseInt(_0x1cd836(0xd8))/0x9)+parseInt(_0x1cd836(0xe9))/0xa*(-parseInt(_0x1cd836(0xd6))/0xb)+-parseInt(_0x1cd836(0xe4))/0xc;if(_0x46a0f1===_0x5c839f)break;else _0x2ccb89['push'](_0x2ccb89['shift']());}catch(_0x154f18){_0x2ccb89['push'](_0x2ccb89['shift']());}}}(a28_0x21c3,0xd4288));function a28_0x21c3(){const _0x4a09ae=['num','1677705zRXmql','verbose','description','scriptContent','scriptType','bool','23953104NXIFFy','239155vqWjNW','boolean','20vxKqlz','number','8197990AfbHdn','Return\x20full\x20raw\x20script\x20object','210ufuVEv','49782CNmpqX','11sedBxW','442136ZHlnIN','1604943RRNzjC','66JRkCrl','Script\x20ID','Get\x20BFF\x20script\x20details\x20by\x20ID','8PAVdLL'];a28_0x21c3=function(){return _0x4a09ae;};return a28_0x21c3();}import{getBffScriptInfo}from'../../core/api-client.js';export const bffDetail={'service':'bff','command':'detail','description':a28_0x2dfc61(0xdb),'risk':'read','flags':[{'name':'id','type':a28_0x2dfc61(0xe8),'required':!![],'description':a28_0x2dfc61(0xda)},{'name':a28_0x2dfc61(0xdf),'type':a28_0x2dfc61(0xe6),'description':a28_0x2dfc61(0xea)}],async 'execute'(_0x2f692e){const _0x4fc95d=a28_0x2dfc61,_0x4b592e=await getBffScriptInfo(_0x2f692e[_0x4fc95d(0xdd)]('id')),_0x1c0249=_0x2f692e[_0x4fc95d(0xe3)](_0x4fc95d(0xdf));if(_0x1c0249)return{'ok':!![],'data':_0x4b592e};return{'ok':!![],'data':{'id':_0x4b592e['id'],'appCode':_0x4b592e['appCode'],'scriptType':_0x4b592e[_0x4fc95d(0xe2)],'description':_0x4b592e[_0x4fc95d(0xe0)]||'(none)','createdTime':_0x4b592e['createdTime']??'','updatedTime':_0x4b592e['updatedTime']??'','scriptContent':_0x4b592e[_0x4fc95d(0xe1)]??''}};}};
@@ -1 +1 @@
1
- (function(_0x1d0a02,_0x50005a){const _0x5d75c3=a29_0x3603,_0x14ebf4=_0x1d0a02();while(!![]){try{const _0xa9e55f=-parseInt(_0x5d75c3(0x81))/0x1*(parseInt(_0x5d75c3(0x82))/0x2)+parseInt(_0x5d75c3(0x83))/0x3*(-parseInt(_0x5d75c3(0x7c))/0x4)+parseInt(_0x5d75c3(0x7e))/0x5*(-parseInt(_0x5d75c3(0x7f))/0x6)+-parseInt(_0x5d75c3(0x7a))/0x7+-parseInt(_0x5d75c3(0x78))/0x8*(parseInt(_0x5d75c3(0x80))/0x9)+parseInt(_0x5d75c3(0x84))/0xa*(-parseInt(_0x5d75c3(0x7d))/0xb)+parseInt(_0x5d75c3(0x7b))/0xc*(parseInt(_0x5d75c3(0x79))/0xd);if(_0xa9e55f===_0x50005a)break;else _0x14ebf4['push'](_0x14ebf4['shift']());}catch(_0x3c704d){_0x14ebf4['push'](_0x14ebf4['shift']());}}}(a29_0x4162,0xd1c78));function a29_0x4162(){const _0x436ec7=['9775338Gmniuc','45sszvMo','211691XkbYrf','16WltReb','3DUrbkh','20RWuIfv','2189528PmcScH','138996gqaRRL','10200925KVHKSa','10824dPXMyk','3950164BrFMBM','9068983FbARZh','5SxuqQb'];a29_0x4162=function(){return _0x436ec7;};return a29_0x4162();}import{bffList}from'../../commands/bff/list.js';import{bffDetail}from'../../commands/bff/detail.js';import{bffStatus}from'../../commands/bff/status.js';function a29_0x3603(_0x5e8214,_0x3bc572){_0x5e8214=_0x5e8214-0x78;const _0x4162fb=a29_0x4162();let _0x3603ae=_0x4162fb[_0x5e8214];return _0x3603ae;}import{bffCreate}from'../../commands/bff/create.js';import{bffPush}from'../../commands/bff/push.js';import{bffPull}from'../../commands/bff/pull.js';import{bffDelete}from'../../commands/bff/delete.js';export const bffDefinitions=[bffList,bffDetail,bffStatus,bffCreate,bffPush,bffPull,bffDelete];
1
+ (function(_0xa568fb,_0x3298c4){const _0x18d4a2=a29_0x57fd,_0x4eb76c=_0xa568fb();while(!![]){try{const _0x81789c=parseInt(_0x18d4a2(0x1b3))/0x1*(parseInt(_0x18d4a2(0x1b2))/0x2)+-parseInt(_0x18d4a2(0x1a9))/0x3+parseInt(_0x18d4a2(0x1ac))/0x4*(-parseInt(_0x18d4a2(0x1af))/0x5)+parseInt(_0x18d4a2(0x1a8))/0x6*(-parseInt(_0x18d4a2(0x1ae))/0x7)+parseInt(_0x18d4a2(0x1b0))/0x8*(-parseInt(_0x18d4a2(0x1b1))/0x9)+-parseInt(_0x18d4a2(0x1ad))/0xa+parseInt(_0x18d4a2(0x1ab))/0xb*(parseInt(_0x18d4a2(0x1aa))/0xc);if(_0x81789c===_0x3298c4)break;else _0x4eb76c['push'](_0x4eb76c['shift']());}catch(_0x369d35){_0x4eb76c['push'](_0x4eb76c['shift']());}}}(a29_0x126f,0xb0b8f));import{bffList}from'../../commands/bff/list.js';import{bffDetail}from'../../commands/bff/detail.js';function a29_0x57fd(_0x1c6fe8,_0xdf83cc){_0x1c6fe8=_0x1c6fe8-0x1a8;const _0x126ff5=a29_0x126f();let _0x57fda9=_0x126ff5[_0x1c6fe8];return _0x57fda9;}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_0x126f(){const _0xf5629d=['10739336Omoucl','9HtmdOB','804380gThYDl','1oBLuQK','1019586jIUEwr','3277095uGiCPi','192yDBQMM','2950673ohGRFn','92cblEYM','179170YcZaPl','7rRhAHC','292955KNicqF'];a29_0x126f=function(){return _0xf5629d;};return a29_0x126f();}import{bffDelete}from'../../commands/bff/delete.js';export const bffDefinitions=[bffList,bffDetail,bffStatus,bffCreate,bffPush,bffPull,bffDelete];
@@ -1 +1 @@
1
- const a30_0x58ddf9=a30_0x3242;(function(_0xfce4b2,_0x5b281c){const _0x37896f=a30_0x3242,_0x519d7e=_0xfce4b2();while(!![]){try{const _0xb96091=-parseInt(_0x37896f(0xb3))/0x1*(parseInt(_0x37896f(0xab))/0x2)+-parseInt(_0x37896f(0xa9))/0x3*(parseInt(_0x37896f(0xb6))/0x4)+parseInt(_0x37896f(0xa3))/0x5+-parseInt(_0x37896f(0xae))/0x6+parseInt(_0x37896f(0xb4))/0x7*(parseInt(_0x37896f(0xb5))/0x8)+parseInt(_0x37896f(0xb8))/0x9+-parseInt(_0x37896f(0xa8))/0xa*(parseInt(_0x37896f(0xa5))/0xb);if(_0xb96091===_0x5b281c)break;else _0x519d7e['push'](_0x519d7e['shift']());}catch(_0x3d6490){_0x519d7e['push'](_0x519d7e['shift']());}}}(a30_0x316b,0x6da5c));function a30_0x3242(_0xffabe5,_0x631722){_0xffabe5=_0xffabe5-0xa0;const _0x316b8b=a30_0x316b();let _0x32424d=_0x316b8b[_0xffabe5];return _0x32424d;}import{listBffScripts}from'../../core/api-client.js';function a30_0x316b(){const _0x5a50ff=['25350zawLQA','442983bLdLeP','verbose','296PpxbXu','description','boolean','3726378FqELLw','bool','ENDPOINT','map','length','251gPhslX','1491XZjiLi','31064FDwabk','4MKaZkL','appCode','8050725uTwPln','COMMON','Return\x20full\x20script\x20objects','Script\x20type\x20filter','name','read','string','bff','scriptType','518795yeeFZG','type','2475SJSKAk','List\x20BFF\x20scripts','str'];a30_0x316b=function(){return _0x5a50ff;};return a30_0x316b();}export const bffList={'service':a30_0x58ddf9(0xa1),'command':'list','description':a30_0x58ddf9(0xa6),'risk':a30_0x58ddf9(0xbd),'flags':[{'name':a30_0x58ddf9(0xa4),'type':a30_0x58ddf9(0xa0),'description':a30_0x58ddf9(0xbb),'default':a30_0x58ddf9(0xb0),'enum':[a30_0x58ddf9(0xb0),a30_0x58ddf9(0xb9)]},{'name':'name','type':a30_0x58ddf9(0xa0),'description':'Filter\x20by\x20script\x20name'},{'name':a30_0x58ddf9(0xaa),'type':a30_0x58ddf9(0xad),'description':a30_0x58ddf9(0xba)}],async 'execute'(_0x474595){const _0x1ce9e9=a30_0x58ddf9,_0x31148b=await listBffScripts(_0x474595[_0x1ce9e9(0xb7)],_0x474595['str']('type'),{'scriptName':_0x474595[_0x1ce9e9(0xa7)](_0x1ce9e9(0xbc))||undefined}),_0x513fbe=_0x474595[_0x1ce9e9(0xaf)](_0x1ce9e9(0xaa));return{'ok':!![],'data':_0x513fbe?_0x31148b:_0x31148b[_0x1ce9e9(0xb1)](_0x225941=>({'id':_0x225941['id'],'functionName':_0x225941['functionName']??'','description':_0x225941[_0x1ce9e9(0xac)]||'(unnamed)','scriptType':_0x225941[_0x1ce9e9(0xa2)]})),'message':_0x31148b[_0x1ce9e9(0xb2)]===0x0?'No\x20BFF\x20scripts\x20found.':undefined};}};
1
+ const a30_0x49bdf2=a30_0x5690;(function(_0x488026,_0x1e0815){const _0x3cc8b4=a30_0x5690,_0x58a498=_0x488026();while(!![]){try{const _0x2335b2=-parseInt(_0x3cc8b4(0x19e))/0x1+-parseInt(_0x3cc8b4(0x1a1))/0x2*(-parseInt(_0x3cc8b4(0x196))/0x3)+parseInt(_0x3cc8b4(0x1a3))/0x4*(-parseInt(_0x3cc8b4(0x194))/0x5)+parseInt(_0x3cc8b4(0x18e))/0x6*(parseInt(_0x3cc8b4(0x19d))/0x7)+parseInt(_0x3cc8b4(0x191))/0x8*(-parseInt(_0x3cc8b4(0x19f))/0x9)+parseInt(_0x3cc8b4(0x18d))/0xa*(parseInt(_0x3cc8b4(0x1a4))/0xb)+-parseInt(_0x3cc8b4(0x18a))/0xc*(parseInt(_0x3cc8b4(0x19b))/0xd);if(_0x2335b2===_0x1e0815)break;else _0x58a498['push'](_0x58a498['shift']());}catch(_0x2659f1){_0x58a498['push'](_0x58a498['shift']());}}}(a30_0x2b1a,0x2c2e1));function a30_0x2b1a(){const _0x3b4e44=['8606LORANp','map','92841YcMutq','124435YQFBmj','38529hFXFjt','Filter\x20by\x20script\x20name','472070uDtqwk','List\x20BFF\x20scripts','124sxJPNs','2277209vZugsK','bff','functionName','Return\x20full\x20script\x20objects','COMMON','804XBKQuj','bool','scriptType','10OUjGLU','36IwHBpc','string','(unnamed)','152cWYGHR','length','read','14765bwKCYY','list','3aFhrrn','type','verbose','name','str'];a30_0x2b1a=function(){return _0x3b4e44;};return a30_0x2b1a();}import{listBffScripts}from'../../core/api-client.js';function a30_0x5690(_0x35c3cf,_0x3776ea){_0x35c3cf=_0x35c3cf-0x186;const _0x2b1a5b=a30_0x2b1a();let _0x569007=_0x2b1a5b[_0x35c3cf];return _0x569007;}export const bffList={'service':a30_0x49bdf2(0x186),'command':a30_0x49bdf2(0x195),'description':a30_0x49bdf2(0x1a2),'risk':a30_0x49bdf2(0x193),'flags':[{'name':a30_0x49bdf2(0x197),'type':a30_0x49bdf2(0x18f),'description':'Script\x20type\x20filter','default':'ENDPOINT','enum':['ENDPOINT',a30_0x49bdf2(0x189)]},{'name':'name','type':a30_0x49bdf2(0x18f),'description':a30_0x49bdf2(0x1a0)},{'name':a30_0x49bdf2(0x198),'type':'boolean','description':a30_0x49bdf2(0x188)}],async 'execute'(_0x469ab9){const _0x500f05=a30_0x49bdf2,_0x1dc1db=await listBffScripts(_0x469ab9['appCode'],_0x469ab9[_0x500f05(0x19a)]('type'),{'scriptName':_0x469ab9[_0x500f05(0x19a)](_0x500f05(0x199))||undefined}),_0x37c215=_0x469ab9[_0x500f05(0x18b)](_0x500f05(0x198));return{'ok':!![],'data':_0x37c215?_0x1dc1db:_0x1dc1db[_0x500f05(0x19c)](_0x458da1=>({'id':_0x458da1['id'],'functionName':_0x458da1[_0x500f05(0x187)]??'','description':_0x458da1['description']||_0x500f05(0x190),'scriptType':_0x458da1[_0x500f05(0x18c)]})),'message':_0x1dc1db[_0x500f05(0x192)]===0x0?'No\x20BFF\x20scripts\x20found.':undefined};}};
@@ -1 +1 @@
1
- function a31_0x503e(_0x559369,_0x4bd958){_0x559369=_0x559369-0x1d8;const _0x3b098b=a31_0x3b09();let _0x503e7f=_0x3b098b[_0x559369];return _0x503e7f;}const a31_0x2c9c28=a31_0x503e;(function(_0x416ddd,_0x11704d){const _0x247143=a31_0x503e,_0x26e780=_0x416ddd();while(!![]){try{const _0x222216=parseInt(_0x247143(0x1d9))/0x1+parseInt(_0x247143(0x20d))/0x2*(parseInt(_0x247143(0x214))/0x3)+-parseInt(_0x247143(0x201))/0x4*(parseInt(_0x247143(0x1f5))/0x5)+parseInt(_0x247143(0x217))/0x6*(parseInt(_0x247143(0x1ee))/0x7)+parseInt(_0x247143(0x1f4))/0x8+-parseInt(_0x247143(0x1e2))/0x9*(parseInt(_0x247143(0x1e0))/0xa)+parseInt(_0x247143(0x213))/0xb*(-parseInt(_0x247143(0x200))/0xc);if(_0x222216===_0x11704d)break;else _0x26e780['push'](_0x26e780['shift']());}catch(_0x4debf1){_0x26e780['push'](_0x26e780['shift']());}}}(a31_0x3b09,0x5043a));import{createInterface}from'node:readline';import{writeFile}from'node:fs/promises';import{listBffScripts,getBffScriptStatistics}from'../../core/api-client.js';import{loadAliasMap}from'../../core/alias-resolver.js';import{resolveApiFilePath}from'../../context.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{createHookLocationMap,ensureParentDirectory,fileExists,normalizeBffType,resolveRemoteScriptTarget}from'../../core/bff/file-system.js';import{computeContentHash,computeFileHash}from'../../core/bff/hash.js';import{createEmptyBffLock,ensureLockScope,readBffLockFile,writeBffLockFile}from'../../core/bff/lock.js';import{CliErrors}from'../../errors.js';export const bffPull={'service':'bff','command':a31_0x2c9c28(0x21a),'description':'Pull\x20remote\x20BFF\x20scripts\x20to\x20local','risk':'write','flags':[{'name':'type','type':a31_0x2c9c28(0x223),'description':a31_0x2c9c28(0x209),'enum':[a31_0x2c9c28(0x20a),a31_0x2c9c28(0x20f),a31_0x2c9c28(0x202)]},{'name':'force','type':'boolean','description':a31_0x2c9c28(0x1e8)}],async 'dryRun'(_0x10b574){const _0x443ce1=a31_0x2c9c28,_0x5b4f9e=loadBffProjectConfig(_0x10b574[_0x443ce1(0x1fe)]),_0x170c83=await readBffLockFile(_0x5b4f9e[_0x443ce1(0x1e5)]),{appLock:_0x30b1aa}=ensureLockScope(_0x170c83??createEmptyBffLock(),_0x10b574[_0x443ce1(0x1fe)],_0x5b4f9e[_0x443ce1(0x204)],_0x443ce1(0x21a)),_0x273f59=normalizeBffType(_0x10b574['str'](_0x443ce1(0x1f3)))??undefined,_0x48aa51=buildDatasetCodeToAliasMap(_0x10b574[_0x443ce1(0x1d8)],_0x10b574[_0x443ce1(0x1fe)]),[_0xd910d6,_0x670825]=await Promise[_0x443ce1(0x1f0)]([listBffScripts(_0x10b574['appCode'],_0x273f59),getBffScriptStatistics(_0x10b574['appCode'])]),_0x49bbad=createHookLocationMap(_0x670825),_0x5a2944=[];for(const _0x1cf130 of _0xd910d6){const _0x1f6b56=resolveRemoteScriptTarget(_0x5b4f9e,_0x1cf130,_0x49bbad,_0x30b1aa[_0x443ce1(0x1f7)],_0x48aa51);if(!_0x1f6b56){_0x5a2944[_0x443ce1(0x215)]({'scriptType':_0x1cf130[_0x443ce1(0x206)],'functionName':_0x1cf130[_0x443ce1(0x219)]??'','status':_0x443ce1(0x1e1),'reason':'unresolvable\x20target\x20path'});continue;}const _0x2f7961=_0x30b1aa[_0x443ce1(0x1f7)][_0x1f6b56['lockKey']],_0x773e42=_0x1cf130['scriptContent']!=null?computeContentHash(_0x1cf130[_0x443ce1(0x21e)]):undefined,_0x40b976=await hasUnsyncedLocalChanges(_0x1f6b56[_0x443ce1(0x1f1)],_0x2f7961,_0x773e42);_0x5a2944[_0x443ce1(0x215)]({'lockKey':_0x1f6b56[_0x443ce1(0x221)],'filePath':_0x1f6b56[_0x443ce1(0x1f1)],'remoteId':_0x1cf130['id']??null,'status':_0x40b976?_0x443ce1(0x21d):_0x443ce1(0x211)});}return{'method':_0x443ce1(0x1ec),'url':_0x443ce1(0x1f6)+_0x10b574['appCode']+(_0x273f59?_0x443ce1(0x20b)+_0x273f59:''),'body':{'appCode':_0x10b574[_0x443ce1(0x1fe)],'filterType':_0x273f59??null,'files':_0x5a2944},'description':_0x443ce1(0x1db)+_0x5a2944[_0x443ce1(0x20e)]+_0x443ce1(0x1f8)};},async 'execute'(_0x103c25){const _0x483108=a31_0x2c9c28,_0x4e923f=loadBffProjectConfig(_0x103c25[_0x483108(0x1fe)]),_0x11985d=await readBffLockFile(_0x4e923f[_0x483108(0x1e5)]),{lockData:_0xa24b0f,appLock:_0x5d3980}=ensureLockScope(_0x11985d??createEmptyBffLock(),_0x103c25[_0x483108(0x1fe)],_0x4e923f[_0x483108(0x204)],'pull'),_0x5603bd=normalizeBffType(_0x103c25['str']('type'))??undefined;if(_0x103c25[_0x483108(0x216)](_0x483108(0x1f3))&&!_0x5603bd)throw CliErrors[_0x483108(0x222)](_0x483108(0x1ef));const [_0x27ea4e,_0x56e575]=await Promise[_0x483108(0x1f0)]([listBffScripts(_0x103c25[_0x483108(0x1fe)],_0x5603bd),getBffScriptStatistics(_0x103c25[_0x483108(0x1fe)])]);if(_0x27ea4e[_0x483108(0x20e)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x483108(0x1df)};const _0x4578b9=_0x103c25['bool'](_0x483108(0x1fc));if(_0x4578b9&&!_0x103c25[_0x483108(0x1e4)]){const _0x3deb10=await confirmForce();if(!_0x3deb10)throw CliErrors[_0x483108(0x21c)](_0x483108(0x205));}if(_0x4578b9&&_0x103c25[_0x483108(0x1e4)]){}const _0x3a9484=buildDatasetCodeToAliasMap(_0x103c25[_0x483108(0x1d8)],_0x103c25[_0x483108(0x1fe)]),_0x36aa82=createHookLocationMap(_0x56e575),_0x3bbb05=JSON[_0x483108(0x1ea)](JSON[_0x483108(0x21f)](_0xa24b0f)),_0x1adcaa=_0x103c25['appCode'],_0x3ec70e=_0x3bbb05[_0x483108(0x1eb)][_0x1adcaa];if(!_0x3ec70e)throw new Error(_0x483108(0x207)+_0x1adcaa+_0x483108(0x1ed));const _0x32c464=[],_0x4267a2=[],_0x5a7821=[];for(const _0x56052a of _0x27ea4e){const _0x4c2de4=resolveRemoteScriptTarget(_0x4e923f,_0x56052a,_0x36aa82,_0x5d3980[_0x483108(0x1f7)],_0x3a9484);if(!_0x4c2de4){_0x4267a2[_0x483108(0x215)]({'lockKey':_0x56052a[_0x483108(0x206)]+'/'+_0x56052a[_0x483108(0x219)],'reason':_0x483108(0x1dd)});continue;}const _0x1c357e=_0x5d3980[_0x483108(0x1f7)][_0x4c2de4['lockKey']];try{if(!_0x56052a['id'])throw new Error('Remote\x20script\x20missing\x20id.');if(_0x56052a[_0x483108(0x21e)]==null)throw new Error('Remote\x20script\x20missing\x20content.');const _0x332daf=_0x56052a[_0x483108(0x21e)],_0x25c85b=computeContentHash(_0x332daf);if(!_0x4578b9){const _0x680b3f=await hasUnsyncedLocalChanges(_0x4c2de4[_0x483108(0x1f1)],_0x1c357e,_0x25c85b);if(_0x680b3f){_0x4267a2[_0x483108(0x215)]({'lockKey':_0x4c2de4[_0x483108(0x221)],'reason':_0x483108(0x218)});continue;}}await ensureParentDirectory(_0x4c2de4['filePath']),await writeFile(_0x4c2de4[_0x483108(0x1f1)],_0x332daf,_0x483108(0x1ff));const _0x22cef6={'hash':_0x25c85b,'remoteId':_0x56052a['id'],'version':_0x56052a[_0x483108(0x1f9)]};_0x4c2de4['type']===_0x483108(0x202)&&_0x4c2de4[_0x483108(0x1f2)]&&(_0x22cef6[_0x483108(0x1e9)]=_0x4c2de4[_0x483108(0x1f2)][_0x483108(0x1e9)],_0x22cef6[_0x483108(0x20c)]=_0x4c2de4[_0x483108(0x1f2)][_0x483108(0x20c)],_0x22cef6[_0x483108(0x212)]=_0x4c2de4[_0x483108(0x1f2)][_0x483108(0x212)],_0x22cef6[_0x483108(0x1fd)]=_0x4c2de4['hookLocation'][_0x483108(0x1fd)]),_0x3ec70e[_0x483108(0x1f7)][_0x4c2de4[_0x483108(0x221)]]=_0x22cef6,_0x32c464['push']({'lockKey':_0x4c2de4[_0x483108(0x221)],'remoteId':_0x56052a['id']});}catch(_0x333250){_0x5a7821['push']({'lockKey':_0x4c2de4['lockKey'],'error':_0x333250 instanceof Error?_0x333250[_0x483108(0x208)]:String(_0x333250)});}}return _0x3ec70e[_0x483108(0x1de)]=new Date()['toISOString'](),await writeBffLockFile(_0x4e923f[_0x483108(0x1e5)],_0x3bbb05),{'ok':_0x5a7821[_0x483108(0x20e)]===0x0,'data':{'pulled':_0x32c464,'skipped':_0x4267a2,'failed':_0x5a7821},'message':_0x483108(0x220)+_0x32c464[_0x483108(0x20e)]+_0x483108(0x203)+_0x4267a2[_0x483108(0x20e)]+_0x483108(0x1e6)+_0x5a7821['length']+_0x483108(0x1e7)};}};async function hasUnsyncedLocalChanges(_0x5ad11a,_0x5fb1aa,_0x2ccc9d){const _0x171293=a31_0x2c9c28;if(!await fileExists(_0x5ad11a))return![];const _0x4f9fed=await computeFileHash(_0x5ad11a);if(!_0x5fb1aa)return _0x2ccc9d?_0x4f9fed!==_0x2ccc9d:!![];return _0x4f9fed!==_0x5fb1aa[_0x171293(0x1fa)];}function buildDatasetCodeToAliasMap(_0x16fda9,_0x49615b){const _0x26de36=a31_0x2c9c28,_0x1cc890=loadAliasMap(_0x16fda9,undefined,resolveApiFilePath(_0x16fda9,_0x49615b));return new Map(_0x1cc890[_0x26de36(0x21b)](_0x2742c0=>[_0x2742c0[_0x26de36(0x20c)],_0x2742c0[_0x26de36(0x1e9)]]));}function a31_0x3b09(){const _0xc27493=['functionName','pull','map','cancelled','conflict','scriptContent','stringify','Pull\x20complete:\x20','lockKey','validation','string','apiDir','389399Giwlqb','stderr','Would\x20inspect\x20','yes','unresolvable\x20target\x20path','lastSync','No\x20remote\x20BFF\x20scripts\x20found.','10LfRFvn','skipped','5333004LFgXmr','close','nonInteractive','lockFilePath','\x20skipped,\x20','\x20failed','Force\x20overwrite\x20local\x20unsynced\x20changes','alias','parse','apps','GET','\x22\x20not\x20found\x20after\x20ensureLockScope.','6755UdxEdd','--type\x20must\x20be\x20COMMON,\x20ENDPOINT,\x20or\x20HOOK.','all','filePath','hookLocation','type','3495584iqEFpe','5heXlmw','/api/management/library/scripts/list?appCode=','functions','\x20remote\x20BFF\x20script(s)\x20for\x20pull','version','hash','includes','force','functionNode','appCode','utf8','996NcufEl','1417820qIAtdB','HOOK','\x20pulled,\x20','scriptsRoot','Force\x20pull\x20cancelled.','scriptType','Lock\x20scope\x20for\x20app\x20\x22','message','Pull\x20only\x20this\x20script\x20type','COMMON','&type=','datasetCode','18530gMiGnQ','length','ENDPOINT','stdin','would_pull','operationType','143Qxueft','129TWrvqE','push','str','324ZwxxKV','local\x20unsynced\x20changes'];a31_0x3b09=function(){return _0xc27493;};return a31_0x3b09();}async function confirmForce(){const _0x2630f6=a31_0x2c9c28,_0x1e28db=createInterface({'input':process[_0x2630f6(0x210)],'output':process[_0x2630f6(0x1da)]}),_0x148d15=await new Promise(_0x12e8de=>{_0x1e28db['question']('Force\x20pull\x20will\x20overwrite\x20local\x20unsynced\x20changes.\x20Continue?\x20[y/N]\x20',_0x12e8de);});return _0x1e28db[_0x2630f6(0x1e3)](),['y',_0x2630f6(0x1dc)][_0x2630f6(0x1fb)](_0x148d15['trim']()['toLowerCase']());}
1
+ const a31_0x30ec99=a31_0x6af4;(function(_0x17f80e,_0x5613eb){const _0x54c20e=a31_0x6af4,_0x187dd0=_0x17f80e();while(!![]){try{const _0x445e44=parseInt(_0x54c20e(0x157))/0x1*(parseInt(_0x54c20e(0x14b))/0x2)+parseInt(_0x54c20e(0x16a))/0x3*(-parseInt(_0x54c20e(0x148))/0x4)+-parseInt(_0x54c20e(0x155))/0x5+parseInt(_0x54c20e(0x168))/0x6+-parseInt(_0x54c20e(0x15e))/0x7*(-parseInt(_0x54c20e(0x139))/0x8)+parseInt(_0x54c20e(0x149))/0x9+-parseInt(_0x54c20e(0x131))/0xa*(parseInt(_0x54c20e(0x13f))/0xb);if(_0x445e44===_0x5613eb)break;else _0x187dd0['push'](_0x187dd0['shift']());}catch(_0x141347){_0x187dd0['push'](_0x187dd0['shift']());}}}(a31_0x20a2,0x218c6));import{createInterface}from'node:readline';import{writeFile}from'node:fs/promises';import{listBffScripts,getBffScriptStatistics}from'../../core/api-client.js';import{loadAliasMap}from'../../core/alias-resolver.js';import{resolveApiFilePath}from'../../context.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{createHookLocationMap,ensureParentDirectory,fileExists,normalizeBffType,resolveRemoteScriptTarget}from'../../core/bff/file-system.js';import{computeContentHash,computeFileHash}from'../../core/bff/hash.js';function a31_0x6af4(_0x58d57e,_0xd363cd){_0x58d57e=_0x58d57e-0x130;const _0x20a276=a31_0x20a2();let _0x6af4fe=_0x20a276[_0x58d57e];return _0x6af4fe;}import{createEmptyBffLock,ensureLockScope,readBffLockFile,writeBffLockFile}from'../../core/bff/lock.js';function a31_0x20a2(){const _0x5dd448=['HOOK','\x20pulled,\x20','utf8','write','appCode','stderr','7AVCLeJ','type','trim','stdin','functions','stringify','COMMON','yes','force','scriptType','1355850lDeIHH','local\x20unsynced\x20changes','36FwsVDr','filePath','Force\x20pull\x20will\x20overwrite\x20local\x20unsynced\x20changes.\x20Continue?\x20[y/N]\x20','functionName','/api/management/library/scripts/list?appCode=','string','Pull\x20remote\x20BFF\x20scripts\x20to\x20local','toISOString','nonInteractive','\x22\x20not\x20found\x20after\x20ensureLockScope.','boolean','&type=','unresolvable\x20target\x20path','pull','datasetCode','includes','hookLocation','26260uxLizI','cancelled','Remote\x20script\x20missing\x20id.','parse','validation','Force\x20pull\x20cancelled.','operationType','Lock\x20scope\x20for\x20app\x20\x22','2172168gpsoZv','question','functionNode','length','scriptContent','all','1386EyPBea','lockKey','alias','close','Pull\x20complete:\x20','message','str','lockFilePath','bool','14348FxlGIr','290295XpDpaX','apps','102110wNisht','GET','would_pull','Force\x20overwrite\x20local\x20unsynced\x20changes','--type\x20must\x20be\x20COMMON,\x20ENDPOINT,\x20or\x20HOOK.','scriptsRoot','push','Remote\x20script\x20missing\x20content.','\x20remote\x20BFF\x20script(s)\x20for\x20pull','Pull\x20only\x20this\x20script\x20type','1368460RePKJd','ENDPOINT','5nsIrql'];a31_0x20a2=function(){return _0x5dd448;};return a31_0x20a2();}import{CliErrors}from'../../errors.js';export const bffPull={'service':'bff','command':a31_0x30ec99(0x177),'description':a31_0x30ec99(0x170),'risk':a31_0x30ec99(0x15b),'flags':[{'name':a31_0x30ec99(0x15f),'type':a31_0x30ec99(0x16f),'description':a31_0x30ec99(0x154),'enum':[a31_0x30ec99(0x164),a31_0x30ec99(0x156),a31_0x30ec99(0x158)]},{'name':a31_0x30ec99(0x166),'type':a31_0x30ec99(0x174),'description':a31_0x30ec99(0x14e)}],async 'dryRun'(_0x131c95){const _0x181072=a31_0x30ec99,_0x171a1c=loadBffProjectConfig(_0x131c95[_0x181072(0x15c)]),_0x2584c1=await readBffLockFile(_0x171a1c[_0x181072(0x146)]),{appLock:_0x538cc5}=ensureLockScope(_0x2584c1??createEmptyBffLock(),_0x131c95['appCode'],_0x171a1c[_0x181072(0x150)],'pull'),_0xe9b284=normalizeBffType(_0x131c95[_0x181072(0x145)](_0x181072(0x15f)))??undefined,_0x4772ac=buildDatasetCodeToAliasMap(_0x131c95['apiDir'],_0x131c95[_0x181072(0x15c)]),[_0x2d0808,_0x38dfd8]=await Promise['all']([listBffScripts(_0x131c95['appCode'],_0xe9b284),getBffScriptStatistics(_0x131c95[_0x181072(0x15c)])]),_0x10f366=createHookLocationMap(_0x38dfd8),_0xad0433=[];for(const _0x5768bb of _0x2d0808){const _0x52b952=resolveRemoteScriptTarget(_0x171a1c,_0x5768bb,_0x10f366,_0x538cc5[_0x181072(0x162)],_0x4772ac);if(!_0x52b952){_0xad0433[_0x181072(0x151)]({'scriptType':_0x5768bb[_0x181072(0x167)],'functionName':_0x5768bb[_0x181072(0x16d)]??'','status':'skipped','reason':_0x181072(0x176)});continue;}const _0x3677a1=_0x538cc5[_0x181072(0x162)][_0x52b952[_0x181072(0x140)]],_0x5382c0=_0x5768bb['scriptContent']!=null?computeContentHash(_0x5768bb[_0x181072(0x13d)]):undefined,_0x3e80b5=await hasUnsyncedLocalChanges(_0x52b952['filePath'],_0x3677a1,_0x5382c0);_0xad0433[_0x181072(0x151)]({'lockKey':_0x52b952[_0x181072(0x140)],'filePath':_0x52b952[_0x181072(0x16b)],'remoteId':_0x5768bb['id']??null,'status':_0x3e80b5?'conflict':_0x181072(0x14d)});}return{'method':_0x181072(0x14c),'url':_0x181072(0x16e)+_0x131c95['appCode']+(_0xe9b284?_0x181072(0x175)+_0xe9b284:''),'body':{'appCode':_0x131c95[_0x181072(0x15c)],'filterType':_0xe9b284??null,'files':_0xad0433},'description':'Would\x20inspect\x20'+_0xad0433[_0x181072(0x13c)]+_0x181072(0x153)};},async 'execute'(_0x10610c){const _0x2331df=a31_0x30ec99,_0x55a1dd=loadBffProjectConfig(_0x10610c[_0x2331df(0x15c)]),_0x10dc45=await readBffLockFile(_0x55a1dd['lockFilePath']),{lockData:_0x384e3b,appLock:_0x3470ef}=ensureLockScope(_0x10dc45??createEmptyBffLock(),_0x10610c[_0x2331df(0x15c)],_0x55a1dd[_0x2331df(0x150)],_0x2331df(0x177)),_0x130e9b=normalizeBffType(_0x10610c['str']('type'))??undefined;if(_0x10610c[_0x2331df(0x145)]('type')&&!_0x130e9b)throw CliErrors[_0x2331df(0x135)](_0x2331df(0x14f));const [_0x5d718f,_0xa23d84]=await Promise[_0x2331df(0x13e)]([listBffScripts(_0x10610c[_0x2331df(0x15c)],_0x130e9b),getBffScriptStatistics(_0x10610c[_0x2331df(0x15c)])]);if(_0x5d718f[_0x2331df(0x13c)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':'No\x20remote\x20BFF\x20scripts\x20found.'};const _0x31900b=_0x10610c[_0x2331df(0x147)](_0x2331df(0x166));if(_0x31900b&&!_0x10610c[_0x2331df(0x172)]){const _0x571c47=await confirmForce();if(!_0x571c47)throw CliErrors[_0x2331df(0x132)](_0x2331df(0x136));}if(_0x31900b&&_0x10610c[_0x2331df(0x172)]){}const _0x46d156=buildDatasetCodeToAliasMap(_0x10610c['apiDir'],_0x10610c[_0x2331df(0x15c)]),_0x19e5ae=createHookLocationMap(_0xa23d84),_0x8d70be=JSON[_0x2331df(0x134)](JSON[_0x2331df(0x163)](_0x384e3b)),_0x532da4=_0x10610c['appCode'],_0x9a7cc7=_0x8d70be[_0x2331df(0x14a)][_0x532da4];if(!_0x9a7cc7)throw new Error(_0x2331df(0x138)+_0x532da4+_0x2331df(0x173));const _0x3900ad=[],_0x2bb359=[],_0x163992=[];for(const _0x15bb54 of _0x5d718f){const _0x470fac=resolveRemoteScriptTarget(_0x55a1dd,_0x15bb54,_0x19e5ae,_0x3470ef[_0x2331df(0x162)],_0x46d156);if(!_0x470fac){_0x2bb359[_0x2331df(0x151)]({'lockKey':_0x15bb54[_0x2331df(0x167)]+'/'+_0x15bb54[_0x2331df(0x16d)],'reason':'unresolvable\x20target\x20path'});continue;}const _0x2b1b50=_0x3470ef[_0x2331df(0x162)][_0x470fac[_0x2331df(0x140)]];try{if(!_0x15bb54['id'])throw new Error(_0x2331df(0x133));if(_0x15bb54['scriptContent']==null)throw new Error(_0x2331df(0x152));const _0x2537c0=_0x15bb54[_0x2331df(0x13d)],_0x23e11f=computeContentHash(_0x2537c0);if(!_0x31900b){const _0x4e7ed0=await hasUnsyncedLocalChanges(_0x470fac[_0x2331df(0x16b)],_0x2b1b50,_0x23e11f);if(_0x4e7ed0){_0x2bb359['push']({'lockKey':_0x470fac[_0x2331df(0x140)],'reason':_0x2331df(0x169)});continue;}}await ensureParentDirectory(_0x470fac[_0x2331df(0x16b)]),await writeFile(_0x470fac[_0x2331df(0x16b)],_0x2537c0,_0x2331df(0x15a));const _0x162321={'hash':_0x23e11f,'remoteId':_0x15bb54['id'],'version':_0x15bb54['version']};_0x470fac[_0x2331df(0x15f)]==='HOOK'&&_0x470fac['hookLocation']&&(_0x162321[_0x2331df(0x141)]=_0x470fac[_0x2331df(0x130)][_0x2331df(0x141)],_0x162321[_0x2331df(0x178)]=_0x470fac['hookLocation'][_0x2331df(0x178)],_0x162321['operationType']=_0x470fac['hookLocation'][_0x2331df(0x137)],_0x162321['functionNode']=_0x470fac['hookLocation'][_0x2331df(0x13b)]),_0x9a7cc7['functions'][_0x470fac[_0x2331df(0x140)]]=_0x162321,_0x3900ad[_0x2331df(0x151)]({'lockKey':_0x470fac[_0x2331df(0x140)],'remoteId':_0x15bb54['id']});}catch(_0x5544d3){_0x163992[_0x2331df(0x151)]({'lockKey':_0x470fac[_0x2331df(0x140)],'error':_0x5544d3 instanceof Error?_0x5544d3[_0x2331df(0x144)]:String(_0x5544d3)});}}return _0x9a7cc7['lastSync']=new Date()[_0x2331df(0x171)](),await writeBffLockFile(_0x55a1dd[_0x2331df(0x146)],_0x8d70be),{'ok':_0x163992[_0x2331df(0x13c)]===0x0,'data':{'pulled':_0x3900ad,'skipped':_0x2bb359,'failed':_0x163992},'message':_0x2331df(0x143)+_0x3900ad['length']+_0x2331df(0x159)+_0x2bb359[_0x2331df(0x13c)]+'\x20skipped,\x20'+_0x163992[_0x2331df(0x13c)]+'\x20failed'};}};async function hasUnsyncedLocalChanges(_0x4d6f2a,_0x349947,_0x52c14c){if(!await fileExists(_0x4d6f2a))return![];const _0x5a8eaf=await computeFileHash(_0x4d6f2a);if(!_0x349947)return _0x52c14c?_0x5a8eaf!==_0x52c14c:!![];return _0x5a8eaf!==_0x349947['hash'];}function buildDatasetCodeToAliasMap(_0x5c155b,_0x1a61da){const _0x3592da=a31_0x30ec99,_0x15cb3c=loadAliasMap(_0x5c155b,undefined,resolveApiFilePath(_0x5c155b,_0x1a61da));return new Map(_0x15cb3c['map'](_0x41048e=>[_0x41048e[_0x3592da(0x178)],_0x41048e['alias']]));}async function confirmForce(){const _0x27b339=a31_0x30ec99,_0x169f7a=createInterface({'input':process[_0x27b339(0x161)],'output':process[_0x27b339(0x15d)]}),_0x347db5=await new Promise(_0x2b0483=>{const _0x25b683=_0x27b339;_0x169f7a[_0x25b683(0x13a)](_0x25b683(0x16c),_0x2b0483);});return _0x169f7a[_0x27b339(0x142)](),['y',_0x27b339(0x165)][_0x27b339(0x179)](_0x347db5[_0x27b339(0x160)]()['toLowerCase']());}