@lovrabet/rabetbase-cli 2.2.0-beta.1 → 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 (204) hide show
  1. package/lib/api/api-doc.js +1 -1
  2. package/lib/api/fetch-model-list.js +1 -1
  3. package/lib/api/generate-api-file.js +1 -1
  4. package/lib/auth/auth-server-ui.js +1 -1
  5. package/lib/auth/auth-server.js +1 -1
  6. package/lib/auth/constant.js +1 -1
  7. package/lib/auth/get-cookie.js +1 -1
  8. package/lib/auth/get-session-user.js +1 -1
  9. package/lib/auth/is-session-valid.js +1 -1
  10. package/lib/auth/login-success-html.js +1 -1
  11. package/lib/auth/logout.js +1 -1
  12. package/lib/cli-flags.js +1 -1
  13. package/lib/cli.js +1 -1
  14. package/lib/commands/api/generate.js +1 -1
  15. package/lib/commands/api/index.js +1 -1
  16. package/lib/commands/api/list.js +1 -1
  17. package/lib/commands/api/pull.js +1 -1
  18. package/lib/commands/api/shared.js +1 -1
  19. package/lib/commands/app/add.js +1 -1
  20. package/lib/commands/app/discover.js +1 -1
  21. package/lib/commands/app/index.js +1 -1
  22. package/lib/commands/app/list.js +1 -1
  23. package/lib/commands/app/remove.js +1 -1
  24. package/lib/commands/app/shared.js +1 -1
  25. package/lib/commands/app/use.js +1 -1
  26. package/lib/commands/auth/index.js +1 -1
  27. package/lib/commands/bff/create.js +1 -1
  28. package/lib/commands/bff/delete.js +1 -1
  29. package/lib/commands/bff/detail.js +1 -1
  30. package/lib/commands/bff/index.js +1 -1
  31. package/lib/commands/bff/list.js +1 -1
  32. package/lib/commands/bff/pull.js +1 -1
  33. package/lib/commands/bff/push.js +1 -1
  34. package/lib/commands/bff/status.js +1 -1
  35. package/lib/commands/cli-update.js +1 -1
  36. package/lib/commands/codegen/index.js +1 -1
  37. package/lib/commands/codegen/sdk.js +1 -1
  38. package/lib/commands/codegen/sql.js +1 -1
  39. package/lib/commands/common/app-selector.js +1 -1
  40. package/lib/commands/common/flags.js +1 -1
  41. package/lib/commands/common/validate.js +1 -1
  42. package/lib/commands/config/get.js +1 -1
  43. package/lib/commands/config/index.js +1 -1
  44. package/lib/commands/config/list.js +1 -1
  45. package/lib/commands/config/set.js +1 -1
  46. package/lib/commands/config/shared.js +1 -1
  47. package/lib/commands/data/filter.js +1 -1
  48. package/lib/commands/data/getOne.js +1 -1
  49. package/lib/commands/data/index.js +1 -1
  50. package/lib/commands/data/shared.js +1 -1
  51. package/lib/commands/dataset/capability.js +1 -1
  52. package/lib/commands/dataset/delete.js +1 -1
  53. package/lib/commands/dataset/detail.js +1 -1
  54. package/lib/commands/dataset/extend-update.js +1 -1
  55. package/lib/commands/dataset/field-update.js +1 -1
  56. package/lib/commands/dataset/index.js +1 -1
  57. package/lib/commands/dataset/list.js +1 -1
  58. package/lib/commands/dataset/operations.js +1 -1
  59. package/lib/commands/dataset/relation-create.js +1 -1
  60. package/lib/commands/dataset/relation-delete.js +1 -1
  61. package/lib/commands/dataset/relation-shared.js +1 -1
  62. package/lib/commands/dataset/relation-update.js +1 -1
  63. package/lib/commands/dataset/relations.js +1 -1
  64. package/lib/commands/dataset/rename.js +1 -1
  65. package/lib/commands/db/analyze-cancel.js +1 -1
  66. package/lib/commands/db/analyze-start.js +1 -1
  67. package/lib/commands/db/analyze-status.js +1 -1
  68. package/lib/commands/db/create.js +1 -1
  69. package/lib/commands/db/delete.js +1 -1
  70. package/lib/commands/db/detail.js +1 -1
  71. package/lib/commands/db/diff.js +1 -1
  72. package/lib/commands/db/index.js +1 -1
  73. package/lib/commands/db/list.js +1 -1
  74. package/lib/commands/db/shared.js +1 -1
  75. package/lib/commands/db/tables.js +1 -1
  76. package/lib/commands/db/test.js +1 -1
  77. package/lib/commands/db/update.js +1 -1
  78. package/lib/commands/doctor.js +1 -1
  79. package/lib/commands/init/index.js +1 -1
  80. package/lib/commands/issue/index.js +1 -1
  81. package/lib/commands/issue/nudge.js +1 -1
  82. package/lib/commands/issue/report.js +1 -1
  83. package/lib/commands/issue/shared.js +1 -1
  84. package/lib/commands/logs/index.js +1 -1
  85. package/lib/commands/menu/index.js +1 -1
  86. package/lib/commands/menu/shared/compare-table.js +1 -1
  87. package/lib/commands/menu/shared/index.js +1 -1
  88. package/lib/commands/menu/shared/inquirer.js +1 -1
  89. package/lib/commands/menu/shared/local-pages.js +1 -1
  90. package/lib/commands/menu/shared/logic.js +1 -1
  91. package/lib/commands/menu/shared/service.js +1 -1
  92. package/lib/commands/menu/shared/sync-core.js +1 -1
  93. package/lib/commands/menu/shared/update-core.js +1 -1
  94. package/lib/commands/menu/shared/valid-url.js +1 -1
  95. package/lib/commands/menu/sync.js +1 -1
  96. package/lib/commands/menu/update.js +1 -1
  97. package/lib/commands/page/generate-start.js +1 -1
  98. package/lib/commands/page/generate-status.js +1 -1
  99. package/lib/commands/page/index.js +1 -1
  100. package/lib/commands/page/pull.js +1 -1
  101. package/lib/commands/page/push.js +1 -1
  102. package/lib/commands/page/relation-audit.js +1 -1
  103. package/lib/commands/page/shared.js +1 -1
  104. package/lib/commands/page/standard-page-status.js +1 -1
  105. package/lib/commands/page/sync.js +1 -1
  106. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  107. package/lib/commands/project/create/format-elapsed.js +1 -1
  108. package/lib/commands/project/create/main.js +1 -1
  109. package/lib/commands/project/create/non-interactive.js +1 -1
  110. package/lib/commands/project/create/project-template-path.js +1 -1
  111. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  112. package/lib/commands/project/create/use-format-code.js +1 -1
  113. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  114. package/lib/commands/project/index.js +1 -1
  115. package/lib/commands/project/init.js +1 -1
  116. package/lib/commands/project/upgrade.js +1 -1
  117. package/lib/commands/registry.js +1 -1
  118. package/lib/commands/run/index.js +1 -1
  119. package/lib/commands/schema.js +1 -1
  120. package/lib/commands/skill/index.js +1 -1
  121. package/lib/commands/sql/create.js +1 -1
  122. package/lib/commands/sql/delete.js +1 -1
  123. package/lib/commands/sql/detail.js +1 -1
  124. package/lib/commands/sql/exec.js +1 -1
  125. package/lib/commands/sql/index.js +1 -1
  126. package/lib/commands/sql/list.js +1 -1
  127. package/lib/commands/sql/pull.js +1 -1
  128. package/lib/commands/sql/push.js +1 -1
  129. package/lib/commands/sql/save.js +1 -1
  130. package/lib/commands/sql/shared.js +1 -1
  131. package/lib/commands/sql/status.js +1 -1
  132. package/lib/commands/sql/validate.js +1 -1
  133. package/lib/config/schema.js +1 -1
  134. package/lib/constant/cdn.js +1 -1
  135. package/lib/constant/cli.js +1 -1
  136. package/lib/constant/defaults.js +1 -1
  137. package/lib/constant/domain.js +1 -1
  138. package/lib/constant/env.js +1 -1
  139. package/lib/constant/output.js +1 -1
  140. package/lib/constant/paths.js +1 -1
  141. package/lib/constant/risk.js +1 -1
  142. package/lib/context.js +1 -1
  143. package/lib/core/alias-resolver.js +1 -1
  144. package/lib/core/api-client.js +1 -1
  145. package/lib/core/bff/config.js +1 -1
  146. package/lib/core/bff/file-system.js +1 -1
  147. package/lib/core/bff/hash.js +1 -1
  148. package/lib/core/bff/lock.js +1 -1
  149. package/lib/core/bff/utils.js +1 -1
  150. package/lib/core/db-resolver.js +1 -1
  151. package/lib/core/page/file-system.js +1 -1
  152. package/lib/core/page/hash.js +1 -1
  153. package/lib/core/page/lock.js +1 -1
  154. package/lib/core/sql-sync/config.js +1 -1
  155. package/lib/core/sql-sync/file-system.js +1 -1
  156. package/lib/core/sql-sync/hash.js +1 -1
  157. package/lib/core/sql-sync/lock.js +1 -1
  158. package/lib/core/sql-sync/utils.js +1 -1
  159. package/lib/core/sql-validator.js +1 -1
  160. package/lib/errors.js +1 -1
  161. package/lib/framework/build-all-flags.js +1 -1
  162. package/lib/framework/flags.js +1 -1
  163. package/lib/framework/help.js +1 -1
  164. package/lib/framework/index.js +1 -1
  165. package/lib/framework/output.js +1 -1
  166. package/lib/framework/response.js +1 -1
  167. package/lib/framework/runner-alias.js +1 -1
  168. package/lib/framework/runner.js +1 -1
  169. package/lib/framework/schema-export.js +1 -1
  170. package/lib/framework/types.js +1 -1
  171. package/lib/generated/build-info.js +1 -1
  172. package/lib/help.js +1 -1
  173. package/lib/skills/main.js +1 -1
  174. package/lib/skills/npx-skills-add.js +1 -1
  175. package/lib/telemetry/cli-command-trace.js +1 -1
  176. package/lib/telemetry/cli-help-trace.js +1 -1
  177. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  178. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  179. package/lib/telemetry/send-cli-trace-log.js +1 -1
  180. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  181. package/lib/utils/ai_config.js +1 -1
  182. package/lib/utils/apply-jq-filter.js +1 -1
  183. package/lib/utils/cdn-config.js +1 -1
  184. package/lib/utils/check-sdk-version.js +1 -1
  185. package/lib/utils/cli-version-check.js +1 -1
  186. package/lib/utils/cli-version-policy.js +1 -1
  187. package/lib/utils/config.js +1 -1
  188. package/lib/utils/copy-directory.js +1 -1
  189. package/lib/utils/entity-with-id.js +1 -1
  190. package/lib/utils/file-utils.js +1 -1
  191. package/lib/utils/guides-cdn.js +1 -1
  192. package/lib/utils/http-client.js +1 -1
  193. package/lib/utils/is-non-interactive.js +1 -1
  194. package/lib/utils/logger.js +1 -1
  195. package/lib/utils/params.js +1 -1
  196. package/lib/utils/platform.js +1 -1
  197. package/lib/utils/rules-cdn.js +1 -1
  198. package/lib/utils/sleep.js +1 -1
  199. package/lib/utils/template-replacer.js +1 -1
  200. package/lib/utils/update-notice.js +1 -1
  201. package/lib/utils/version.js +1 -1
  202. package/lib/utils/with-active-cookie.js +1 -1
  203. package/lib/utils/write-cli-side-channel.js +1 -1
  204. package/package.json +1 -1
@@ -1 +1 @@
1
- const a19_0x35ec18=a19_0x1653;(function(_0x829e80,_0x4bc06f){const _0xfad06c=a19_0x1653,_0x299ad9=_0x829e80();while(!![]){try{const _0x293e7f=-parseInt(_0xfad06c(0xce))/0x1*(parseInt(_0xfad06c(0xc2))/0x2)+parseInt(_0xfad06c(0xd1))/0x3+parseInt(_0xfad06c(0xca))/0x4*(parseInt(_0xfad06c(0xd3))/0x5)+parseInt(_0xfad06c(0xc3))/0x6*(parseInt(_0xfad06c(0xcd))/0x7)+parseInt(_0xfad06c(0xc4))/0x8*(-parseInt(_0xfad06c(0xd2))/0x9)+-parseInt(_0xfad06c(0xd0))/0xa*(-parseInt(_0xfad06c(0xc6))/0xb)+parseInt(_0xfad06c(0xcb))/0xc*(-parseInt(_0xfad06c(0xd5))/0xd);if(_0x293e7f===_0x4bc06f)break;else _0x299ad9['push'](_0x299ad9['shift']());}catch(_0xab2230){_0x299ad9['push'](_0x299ad9['shift']());}}}(a19_0x106c,0xc91b5));function a19_0x106c(){const _0x4db5be=['cookie','4064980ZqAbFg','4825608AtTiCE','1131381tLtcam','5TAMDJv','map','377mKNHWZ','4etZYnv','6LhkpXb','88fJQVfT','../../core/api-client.js','33gjyYoM','read','List\x20apps\x20available\x20on\x20the\x20platform\x20for\x20the\x20current\x20login','appName','2987188HiubXN','652248uHyGkQ','appDesc','7081515GXGQQW','401837FeTZZh'];a19_0x106c=function(){return _0x4db5be;};return a19_0x106c();}import{listRemoteApps}from'../../core/api-client.js';function a19_0x1653(_0x31eefb,_0x2948da){_0x31eefb=_0x31eefb-0xc2;const _0x106c95=a19_0x106c();let _0x1653d1=_0x106c95[_0x31eefb];return _0x1653d1;}async function execute(_0x20b6c5){const _0x5e2740=a19_0x1653,{setActiveCookie:_0x334584}=await import(_0x5e2740(0xc5));_0x334584(_0x20b6c5[_0x5e2740(0xcf)]);const _0x1c5e17=await listRemoteApps();return{'ok':!![],'data':{'items':_0x1c5e17[_0x5e2740(0xd4)](_0x4a6762=>({..._0x4a6762['id']!=null?{'id':_0x4a6762['id']}:{},'appCode':_0x4a6762['appCode'],'appName':_0x4a6762[_0x5e2740(0xc9)],..._0x4a6762[_0x5e2740(0xcc)]!=null?{'appDesc':_0x4a6762[_0x5e2740(0xcc)]}:{}})),'meta':{'source':'platform'}}};}export const appRemoteDefinition={'service':'app','command':'remote','description':a19_0x35ec18(0xc8),'risk':a19_0x35ec18(0xc7),'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(_0x204dbc,_0x25cf6d){const _0x1b8b7f=a20_0x543d,_0x4b59fb=_0x204dbc();while(!![]){try{const _0x5abab1=parseInt(_0x1b8b7f(0x84))/0x1*(parseInt(_0x1b8b7f(0x7d))/0x2)+parseInt(_0x1b8b7f(0x7e))/0x3+-parseInt(_0x1b8b7f(0x80))/0x4+-parseInt(_0x1b8b7f(0x85))/0x5*(parseInt(_0x1b8b7f(0x82))/0x6)+parseInt(_0x1b8b7f(0x83))/0x7*(parseInt(_0x1b8b7f(0x7f))/0x8)+parseInt(_0x1b8b7f(0x81))/0x9+-parseInt(_0x1b8b7f(0x7c))/0xa;if(_0x5abab1===_0x25cf6d)break;else _0x4b59fb['push'](_0x4b59fb['shift']());}catch(_0x249a11){_0x4b59fb['push'](_0x4b59fb['shift']());}}}(a20_0x4204,0x25c35));function a20_0x543d(_0x1c1134,_0x2c224d){_0x1c1134=_0x1c1134-0x7c;const _0x4204ee=a20_0x4204();let _0x543d06=_0x4204ee[_0x1c1134];return _0x543d06;}import{appListDefinition}from'../../commands/app/list.js';function a20_0x4204(){const _0x3d5ef8=['28gWKmni','10301QAgAjg','180290EWaOsw','2695190dCcdlg','26yHtgRG','664812dXlbDf','573392oDXfHf','1222352mbWKAK','2086227DOJWJv','24BoRCay'];a20_0x4204=function(){return _0x3d5ef8;};return a20_0x4204();}import{appRemoteDefinition}from'../../commands/app/discover.js';import{appUseDefinition}from'../../commands/app/use.js';import{appAddDefinition}from'../../commands/app/add.js';import{appRemoveDefinition}from'../../commands/app/remove.js';export const appDefinitions=[appListDefinition,appRemoteDefinition,appUseDefinition,appAddDefinition,appRemoveDefinition];
1
+ (function(_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_0x3b204d=a21_0x3eeb;(function(_0x161506,_0x16f03e){const _0x1a27f3=a21_0x3eeb,_0x56a1cc=_0x161506();while(!![]){try{const _0x1d5eeb=parseInt(_0x1a27f3(0x1ae))/0x1*(-parseInt(_0x1a27f3(0x199))/0x2)+parseInt(_0x1a27f3(0x1a1))/0x3*(-parseInt(_0x1a27f3(0x19b))/0x4)+parseInt(_0x1a27f3(0x1b1))/0x5*(-parseInt(_0x1a27f3(0x19a))/0x6)+parseInt(_0x1a27f3(0x196))/0x7*(parseInt(_0x1a27f3(0x1b0))/0x8)+parseInt(_0x1a27f3(0x19c))/0x9*(parseInt(_0x1a27f3(0x1a8))/0xa)+-parseInt(_0x1a27f3(0x1ac))/0xb+parseInt(_0x1a27f3(0x1a6))/0xc;if(_0x1d5eeb===_0x16f03e)break;else _0x56a1cc['push'](_0x56a1cc['shift']());}catch(_0x4f27a0){_0x56a1cc['push'](_0x56a1cc['shift']());}}}(a21_0x49ea,0x37e0d));import{readRawConfigWithLayers}from'../../context.js';function a21_0x3eeb(_0x5e9c96,_0x4120d3){_0x5e9c96=_0x5e9c96-0x196;const _0x49ea38=a21_0x49ea();let _0x3eebdd=_0x49ea38[_0x5e9c96];return _0x3eebdd;}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(_0x47e383,_0x453993){const _0x569740=a21_0x3eeb,_0x39c176=[],_0x55e929=_0x47e383[_0x569740(0x1ad)]&&typeof _0x47e383['apps']===_0x569740(0x1b2)?_0x47e383[_0x569740(0x1ad)]:{},_0x52863a=_0x47e383[_0x569740(0x1b5)]||undefined;for(const [_0x5b3e9b,_0x12927b]of Object['entries'](_0x55e929)){if(!_0x12927b||typeof _0x12927b!==_0x569740(0x1b2)||!_0x12927b[_0x569740(0x1aa)])continue;_0x39c176[_0x569740(0x1b7)]({'name':_0x5b3e9b,'appcode':_0x12927b['appcode'],'named':!![],'definedIn':_0x453993,'isDefault':_0x5b3e9b===_0x52863a,...buildAppProfileListFields(_0x12927b)});}return _0x39c176;}function buildMergedItems(_0x13041a,_0x339a48){const _0x3dfb95=a21_0x3eeb,{apps:apps={},defaultApp:_0x479f47}=_0x13041a,_0x3dba75=_0x339a48[_0x3dfb95(0x1a7)][_0x3dfb95(0x1ad)]&&typeof _0x339a48['globalConfig'][_0x3dfb95(0x1ad)]===_0x3dfb95(0x1b2)?_0x339a48['globalConfig'][_0x3dfb95(0x1ad)]:{},_0x5c3daf=_0x339a48[_0x3dfb95(0x1a3)][_0x3dfb95(0x1ad)]&&typeof _0x339a48[_0x3dfb95(0x1a3)][_0x3dfb95(0x1ad)]==='object'?_0x339a48[_0x3dfb95(0x1a3)][_0x3dfb95(0x1ad)]:{},_0x37f524=_0x339a48[_0x3dfb95(0x1a3)][_0x3dfb95(0x1b4)]===![],_0xedd426=Object[_0x3dfb95(0x19e)](apps),_0x5e11f0=_0xedd426[_0x3dfb95(0x1a5)](([_0x2a87fb,_0x21efe8])=>({'name':_0x2a87fb,'appcode':_0x21efe8[_0x3dfb95(0x1aa)],'named':!![],'definedIn':appDefinedIn(_0x2a87fb,_0x3dba75,_0x5c3daf,_0x37f524),'isDefault':_0x2a87fb===_0x479f47,...buildAppProfileListFields(_0x21efe8)}));return _0x5e11f0;}async function execute(_0x551a34){const _0xf74218=a21_0x3eeb,_0x172c29=_0x551a34[_0xf74218(0x19f)]('global'),_0x16e99e=_0x551a34['bool']('project'),_0x5c267f=_0x172c29?_0xf74218(0x1b3):_0x16e99e?'project':_0xf74218(0x1a0),{config:_0x2d6e62,layers:_0x1e5029}=readRawConfigWithLayers(),_0x116c47=resolveDefaultAppSource(_0x1e5029),{defaultApp:_0x1bc01b}=_0x2d6e62;let _0xc012ad,_0x444662;switch(_0x5c267f){case _0xf74218(0x1b3):_0xc012ad=buildItemsFromLayer(_0x1e5029[_0xf74218(0x1a7)],'global'),_0x444662=_0x1e5029[_0xf74218(0x1a9)];break;case _0xf74218(0x1a4):_0xc012ad=buildItemsFromLayer(_0x1e5029[_0xf74218(0x1a3)],_0xf74218(0x1a4)),_0x444662=_0x1e5029['projectPath'];break;default:_0xc012ad=buildMergedItems(_0x2d6e62,_0x1e5029);break;}enrichAppListItemsWithMergedSelection(_0xc012ad,_0x551a34['mergedCli']);if(_0xc012ad['length']===0x0){const _0x230298=_0x5c267f===_0xf74218(0x1a0)?'':'\x20in\x20'+_0x5c267f+'\x20config';return{'ok':!![],'data':[],'message':'No\x20apps\x20configured'+_0x230298+'.\x20Use\x20`'+CLI_BIN_NAME+_0xf74218(0x19d)};}const _0x45a37c=_0xc012ad[_0xf74218(0x198)](_0x2662f4=>_0x2662f4[_0xf74218(0x1b8)]===!![]),_0x1b2b46=_0x1bc01b??_0x45a37c?.[_0xf74218(0x1aa)]??null,_0x165a59=_0x5c267f===_0xf74218(0x1a0)?{'globalPath':_0x1e5029[_0xf74218(0x1a9)]??null,'projectPath':_0x1e5029[_0xf74218(0x1af)]??null,'defaultApp':_0x1b2b46,'defaultAppSource':_0x1bc01b!=null?_0x116c47:null}:{'scope':_0x5c267f,'configPath':_0x444662??null};return{'ok':!![],'data':{'items':_0xc012ad,'meta':_0x165a59}};}function a21_0x49ea(){const _0x1b68a5=['8RAVzIc','65fizeuT','object','global','inherit','defaultApp','boolean','push','isCurrent','List\x20all\x20configured\x20apps','2751077uAwtdU','app','find','61044iWWqDy','90978peCzon','4dXbUoE','36bDjMwf','\x20app\x20add\x20<name>\x20--appcode\x20<code>`\x20to\x20add\x20one.','entries','bool','merged','392628uyWhGU','Show\x20only\x20apps\x20from\x20project\x20.rabetbase.json','projectConfig','project','map','7357980rzcxZb','globalConfig','278860SNzWMh','globalPath','appcode','list','2140424ERhIGG','apps','12fANzyC','projectPath'];a21_0x49ea=function(){return _0x1b68a5;};return a21_0x49ea();}export const appListDefinition={'service':a21_0x3b204d(0x197),'command':a21_0x3b204d(0x1ab),'description':a21_0x3b204d(0x1b9),'risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[{'name':'global','type':a21_0x3b204d(0x1b6),'description':'Show\x20only\x20apps\x20from\x20global\x20~/.rabetbase.json','default':![]},{'name':a21_0x3b204d(0x1a4),'type':a21_0x3b204d(0x1b6),'description':a21_0x3b204d(0x1a2),'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
- const a22_0x53b11d=a22_0x547a;(function(_0x207d66,_0x3a831c){const _0x1c157b=a22_0x547a,_0x4f5daa=_0x207d66();while(!![]){try{const _0x26c2c4=parseInt(_0x1c157b(0x1dd))/0x1+parseInt(_0x1c157b(0x1d5))/0x2+-parseInt(_0x1c157b(0x1e6))/0x3*(parseInt(_0x1c157b(0x1d4))/0x4)+-parseInt(_0x1c157b(0x1da))/0x5+parseInt(_0x1c157b(0x1e4))/0x6+-parseInt(_0x1c157b(0x1e0))/0x7*(-parseInt(_0x1c157b(0x1e1))/0x8)+-parseInt(_0x1c157b(0x1e8))/0x9*(parseInt(_0x1c157b(0x1d0))/0xa);if(_0x26c2c4===_0x3a831c)break;else _0x4f5daa['push'](_0x4f5daa['shift']());}catch(_0x5afd0e){_0x4f5daa['push'](_0x4f5daa['shift']());}}}(a22_0x3df4,0x2b890));import{CliErrors}from'../../errors.js';function a22_0x547a(_0x1817dd,_0x4cb520){_0x1817dd=_0x1817dd-0x1c4;const _0x3df40c=a22_0x3df4();let _0x547aea=_0x3df40c[_0x1817dd];return _0x547aea;}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(_0x540ae8){const _0x560860=a22_0x547a,_0x2171d3=_0x540ae8['args'][0x0]?.['trim']();if(!_0x2171d3)throw CliErrors[_0x560860(0x1cf)](_0x560860(0x1d2),_0x560860(0x1d3)+CLI_BIN_NAME+_0x560860(0x1ca));}function a22_0x3df4(){const _0x1760b6=['App\x20profile\x20name\x20to\x20remove','354229zxgLgW','keys','\x22\x20not\x20found.','4767reNSzK','3912rrQLAk','\x22\x20still\x20defined\x20in\x20','both','1598610ahEXqD','project','3132kELdZr','high-risk-write','198NYGqRc','app','Removed\x20app\x20\x22','defaultApp','bool','Remove\x20an\x20app\x20from\x20config','inherit','global','trim','\x20app\x20remove\x20<name>\x20[--global]','projectConfig','boolean','\x20Default\x20app\x20changed\x20to\x20\x22','name','validation','391360MvfbQa','object','Missing\x20app\x20name.','Usage:\x20','692AJBkwW','693404fbnRMj','\x20Note:\x20app\x20\x22','App\x20\x22','length','Use\x20global\x20config\x20scope','402255GqZSIX','apps'];a22_0x3df4=function(){return _0x1760b6;};return a22_0x3df4();}async function execute(_0x2ec3b5){const _0xf0575e=a22_0x547a,_0x4c5418=_0x2ec3b5['args'][0x0]?.[_0xf0575e(0x1c9)]();if(!_0x4c5418)throw CliErrors[_0xf0575e(0x1cf)](_0xf0575e(0x1d2),_0xf0575e(0x1d3)+CLI_BIN_NAME+_0xf0575e(0x1ca));const _0x27874=_0x2ec3b5[_0xf0575e(0x1c5)](_0xf0575e(0x1c8)),{config:_0x52ab43,layers:_0x2d8baa}=readRawConfigWithLayers(),_0x3d0791=_0x52ab43[_0xf0575e(0x1db)]??{};if(!_0x3d0791[_0x4c5418])throw CliErrors[_0xf0575e(0x1cf)](_0xf0575e(0x1d7)+_0x4c5418+_0xf0575e(0x1df));const _0x2e27bc=_0x2d8baa['globalConfig'][_0xf0575e(0x1db)]&&typeof _0x2d8baa['globalConfig']['apps']===_0xf0575e(0x1d1)?_0x2d8baa['globalConfig']['apps']:{},_0xd49928=_0x2d8baa[_0xf0575e(0x1cb)][_0xf0575e(0x1db)]&&typeof _0x2d8baa[_0xf0575e(0x1cb)][_0xf0575e(0x1db)]===_0xf0575e(0x1d1)?_0x2d8baa[_0xf0575e(0x1cb)]['apps']:{},_0x4063f6=appDefinedIn(_0x4c5418,_0x2e27bc,_0xd49928,_0x2d8baa[_0xf0575e(0x1cb)][_0xf0575e(0x1c7)]===![]),_0x2dff64=resolveAppScopeForWrite(_0x4c5418,_0x27874,_0x2d8baa),_0x59cb79={'global':_0x2dff64===_0xf0575e(0x1c8)},_0x1529d9=readConfig(_0x59cb79),_0x585b64=_0x1529d9[_0xf0575e(0x1db)];if(!_0x585b64||!_0x585b64[_0x4c5418])throw CliErrors[_0xf0575e(0x1cf)](_0xf0575e(0x1d7)+_0x4c5418+_0xf0575e(0x1df));delete _0x585b64[_0x4c5418];let _0x1d7dac='';if(_0x1529d9[_0xf0575e(0x1c4)]===_0x4c5418){const _0x2414dd=Object[_0xf0575e(0x1de)](_0x585b64);_0x1529d9[_0xf0575e(0x1c4)]=_0x2414dd['length']>0x0?_0x2414dd[0x0]:undefined,_0x1529d9[_0xf0575e(0x1c4)]?_0x1d7dac=_0xf0575e(0x1cd)+_0x1529d9[_0xf0575e(0x1c4)]+'\x22.':delete _0x1529d9[_0xf0575e(0x1c4)];}Object[_0xf0575e(0x1de)](_0x585b64)[_0xf0575e(0x1d8)]===0x0&&(delete _0x1529d9[_0xf0575e(0x1db)],delete _0x1529d9[_0xf0575e(0x1c4)]);writeConfig(_0x1529d9,_0x59cb79);const _0x43c566=_0x4063f6===_0xf0575e(0x1e3)?_0xf0575e(0x1d6)+_0x4c5418+_0xf0575e(0x1e2)+(_0x2dff64==='project'?'global':_0xf0575e(0x1e5))+'\x20config.':'';return{'ok':!![],'message':_0xf0575e(0x1ea)+_0x4c5418+'\x22'+scopeLabel(_0x59cb79)+'.'+_0x1d7dac+_0x43c566};}export const appRemoveDefinition={'service':a22_0x53b11d(0x1e9),'command':'remove','description':a22_0x53b11d(0x1c6),'risk':a22_0x53b11d(0x1e7),'requiresAuth':![],'requiresAppCode':![],'args':[{'name':a22_0x53b11d(0x1ce),'description':a22_0x53b11d(0x1dc),'required':!![]}],'flags':[{'name':a22_0x53b11d(0x1c8),'type':a22_0x53b11d(0x1cc),'description':a22_0x53b11d(0x1d9),'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(_0x70b110,_0x14fb91){const _0x1a7533=a23_0x1574,_0xcc479c=_0x70b110();while(!![]){try{const _0x4196a5=-parseInt(_0x1a7533(0xb0))/0x1*(parseInt(_0x1a7533(0xb3))/0x2)+-parseInt(_0x1a7533(0xb2))/0x3+-parseInt(_0x1a7533(0xc7))/0x4*(parseInt(_0x1a7533(0xc2))/0x5)+-parseInt(_0x1a7533(0xbf))/0x6+-parseInt(_0x1a7533(0xae))/0x7+parseInt(_0x1a7533(0xad))/0x8*(parseInt(_0x1a7533(0xca))/0x9)+parseInt(_0x1a7533(0xc8))/0xa*(parseInt(_0x1a7533(0xaf))/0xb);if(_0x4196a5===_0x14fb91)break;else _0xcc479c['push'](_0xcc479c['shift']());}catch(_0x5f01aa){_0xcc479c['push'](_0xcc479c['shift']());}}}(a23_0x1289,0x9b436));import{resolveWriteConfigPath,readConfigFile,writeConfigFile}from'../../context.js';export function enrichAppListItemsWithMergedSelection(_0x3cc668,_0x403760){const _0x374b13=a23_0x1574;if(!_0x403760)return;const _0xfe76e3=_0x403760[_0x374b13(0xb6)]&&typeof _0x403760[_0x374b13(0xb6)]===_0x374b13(0xb5)?_0x403760[_0x374b13(0xb6)]:{},_0x58c4bd=Object['keys'](_0xfe76e3)[_0x374b13(0xc5)]>0x0;for(const _0xb336b7 of _0x3cc668){_0xb336b7[_0x374b13(0xb4)]=![];}const _0x5411c3=_0x403760[_0x374b13(0xb7)]!=null?String(_0x403760[_0x374b13(0xb7)])['trim']():'';if(_0x58c4bd){const _0xb5a0de=_0x403760[_0x374b13(0xc0)]??_0x403760['defaultApp'];if(_0xb5a0de)for(const _0x400d85 of _0x3cc668){_0x400d85[_0x374b13(0xbc)]===!![]&&_0x400d85['name']===_0xb5a0de&&(_0x400d85[_0x374b13(0xb4)]=!![]);}for(const _0x372813 of _0x3cc668){if(_0x372813[_0x374b13(0xbc)]!==![])continue;if(_0x403760['defaultApp'])continue;_0x5411c3&&String(_0x372813[_0x374b13(0xb9)]??'')[_0x374b13(0xc4)]()===_0x5411c3&&(_0x372813[_0x374b13(0xb4)]=!![]);}return;}if(!_0x5411c3)return;for(const _0xc06fbf of _0x3cc668){String(_0xc06fbf[_0x374b13(0xb9)]??'')[_0x374b13(0xc4)]()===_0x5411c3&&(_0xc06fbf[_0x374b13(0xb4)]=!![]);}}export function resolveAppScopeForWrite(_0xff52f9,_0x3c0a4b,_0xfcb7dd){const _0x52b158=a23_0x1574;if(_0x3c0a4b)return _0x52b158(0xbb);const _0x171c86=_0xfcb7dd[_0x52b158(0xc9)][_0x52b158(0xb6)]&&typeof _0xfcb7dd['projectConfig'][_0x52b158(0xb6)]===_0x52b158(0xb5)?_0xfcb7dd[_0x52b158(0xc9)][_0x52b158(0xb6)]:{},_0x3e9d50=_0xfcb7dd[_0x52b158(0xc1)]['apps']&&typeof _0xfcb7dd[_0x52b158(0xc1)][_0x52b158(0xb6)]==='object'?_0xfcb7dd[_0x52b158(0xc1)][_0x52b158(0xb6)]:{};if(Object[_0x52b158(0xc3)][_0x52b158(0xcb)][_0x52b158(0xb1)](_0x171c86,_0xff52f9))return _0x52b158(0xba);if(Object[_0x52b158(0xc3)][_0x52b158(0xcb)][_0x52b158(0xb1)](_0x3e9d50,_0xff52f9))return _0x52b158(0xbb);return _0x52b158(0xba);}export function appDefinedIn(_0x1c19f6,_0x8a06a4,_0x12c72d,_0xa0a09a){const _0x1971a3=a23_0x1574;if(_0xa0a09a)return Object[_0x1971a3(0xc3)]['hasOwnProperty'][_0x1971a3(0xb1)](_0x12c72d,_0x1c19f6)?_0x1971a3(0xba):_0x1971a3(0xbb);const _0xe1995d=Object[_0x1971a3(0xc3)][_0x1971a3(0xcb)]['call'](_0x8a06a4,_0x1c19f6),_0x6ec2ba=Object['prototype']['hasOwnProperty'][_0x1971a3(0xb1)](_0x12c72d,_0x1c19f6);if(_0xe1995d&&_0x6ec2ba)return _0x1971a3(0xbe);if(_0x6ec2ba)return _0x1971a3(0xba);return _0x1971a3(0xbb);}function a23_0x1574(_0x380140,_0x161c80){_0x380140=_0x380140-0xad;const _0x1289a5=a23_0x1289();let _0x157443=_0x1289a5[_0x380140];return _0x157443;}export function resolveDefaultAppSource(_0x5b944e){const _0x172688=a23_0x1574,_0x39cce1=_0x5b944e[_0x172688(0xc9)][_0x172688(0xb6)]&&typeof _0x5b944e[_0x172688(0xc9)]['apps']===_0x172688(0xb5)?_0x5b944e[_0x172688(0xc9)][_0x172688(0xb6)]:{};if(_0x172688(0xb8)in _0x5b944e[_0x172688(0xc9)])return _0x172688(0xba);if(Object[_0x172688(0xc6)](_0x39cce1)['length']>0x0)return _0x172688(0xba);if(_0x5b944e[_0x172688(0xc9)][_0x172688(0xbd)]===![])return null;if(_0x5b944e['globalConfig']['defaultApp'])return _0x172688(0xbb);return null;}export function getConfigPath(_0x5cdb37={}){const _0x178222=a23_0x1574,_0x22c28e=_0x5cdb37['global']?'global':_0x178222(0xba);return resolveWriteConfigPath(_0x22c28e);}export function readConfig(_0x482f44={}){return readConfigFile(getConfigPath(_0x482f44));}export function writeConfig(_0x30ba01,_0x37ea89={}){writeConfigFile(getConfigPath(_0x37ea89),_0x30ba01);}export function scopeLabel(_0x564503){const _0xc0cac0=a23_0x1574;return _0x564503[_0xc0cac0(0xbb)]?'\x20(global)':'';}function a23_0x1289(){const _0x489fc6=['6663354WsIOQL','currentApp','globalConfig','1789175hbAFct','prototype','trim','length','keys','4tAygqi','408010VuBFZC','projectConfig','2188899wtiyry','hasOwnProperty','8gKZSCM','4810477xNycHH','990siGgBY','1zaFlel','call','1994937XFViFw','917518YIMZzG','isCurrent','object','apps','appCode','defaultApp','appcode','project','global','named','inherit','both'];a23_0x1289=function(){return _0x489fc6;};return a23_0x1289();}
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_0x213be8=a24_0x1bbd;(function(_0x394f98,_0xc511b5){const _0x19dc0a=a24_0x1bbd,_0x5bcbcc=_0x394f98();while(!![]){try{const _0x1811c0=parseInt(_0x19dc0a(0x1b3))/0x1*(parseInt(_0x19dc0a(0x1b9))/0x2)+-parseInt(_0x19dc0a(0x1b2))/0x3+-parseInt(_0x19dc0a(0x1b7))/0x4+parseInt(_0x19dc0a(0x1ca))/0x5+parseInt(_0x19dc0a(0x1c5))/0x6+parseInt(_0x19dc0a(0x1b6))/0x7*(-parseInt(_0x19dc0a(0x1c0))/0x8)+parseInt(_0x19dc0a(0x1b8))/0x9;if(_0x1811c0===_0xc511b5)break;else _0x5bcbcc['push'](_0x5bcbcc['shift']());}catch(_0x14e450){_0x5bcbcc['push'](_0x5bcbcc['shift']());}}}(a24_0x47e0,0x6811c));import{CliErrors}from'../../errors.js';function a24_0x1bbd(_0x560f96,_0x5b97ff){_0x560f96=_0x560f96-0x1a2;const _0x47e0a9=a24_0x47e0();let _0x1bbd45=_0x47e0a9[_0x560f96];return _0x1bbd45;}import{CLI_BIN_NAME}from'../../constant/cli.js';import{readRawConfigWithLayers,isInProject}from'../../context.js';function a24_0x47e0(){const _0x23bc29=['Missing\x20app\x20name.','\x22\x20was\x20defined\x20in\x20global\x20config;\x20profile\x20copied\x20into\x20project\x20so\x20the\x20project\x20config\x20self-resolves\x20under\x20the\x20default\x20project-first\x20inherit\x20policy.','name','appcode','\x0aNote:\x20\x22','1912LuSTJw','\x20--appcode\x20<code>`\x20first.','Default\x20app\x20set\x20to\x20\x22','boolean','\x22\x20not\x20found.','4517100NjyEzv','defaultApp','validation','bool','use','3357185pXgnko','write','Use\x20`','keys','object','Switch\x20the\x20default\x20app','App\x20\x22','Use\x20global\x20config\x20scope','Usage:\x20','Available:\x20','hasOwnProperty','trim','\x20app\x20use\x20<name>\x20[--global]','apps','call','join','args','global','1548615cyGhHn','20820ltgqFB','globalConfig','App\x20profile\x20name\x20to\x20activate','3654ffibSW','3381024OVbcjF','2145240JXZmZR','24MQKjQU','app'];a24_0x47e0=function(){return _0x23bc29;};return a24_0x47e0();}import{readConfig,writeConfig,scopeLabel}from'../../commands/app/shared.js';async function validateArgs(_0x579e5f){const _0x37e218=a24_0x1bbd,_0x4aba06=_0x579e5f[_0x37e218(0x1b0)][0x0]?.[_0x37e218(0x1ab)]();if(!_0x4aba06)throw CliErrors[_0x37e218(0x1c7)](_0x37e218(0x1bb),'Usage:\x20'+CLI_BIN_NAME+'\x20app\x20use\x20<name>\x20[--global]');}async function execute(_0xf39c51){const _0x4b5ba7=a24_0x1bbd,_0x551736=_0xf39c51[_0x4b5ba7(0x1b0)][0x0]?.['trim']();if(!_0x551736)throw CliErrors[_0x4b5ba7(0x1c7)]('Missing\x20app\x20name.',_0x4b5ba7(0x1a8)+CLI_BIN_NAME+_0x4b5ba7(0x1ac));const _0xc482f8=_0xf39c51[_0x4b5ba7(0x1c8)](_0x4b5ba7(0x1b1)),{config:_0x43c7c0,layers:_0x4d6fee}=readRawConfigWithLayers(),_0x33980e=_0x43c7c0[_0x4b5ba7(0x1ad)]??{},_0xabe49d=_0x4d6fee[_0x4b5ba7(0x1b4)][_0x4b5ba7(0x1ad)]&&typeof _0x4d6fee['globalConfig'][_0x4b5ba7(0x1ad)]===_0x4b5ba7(0x1a4)?_0x4d6fee['globalConfig'][_0x4b5ba7(0x1ad)]:{},_0x4be619={..._0xabe49d,..._0x33980e};if(!_0x4be619[_0x551736]){const _0x21410d=Object[_0x4b5ba7(0x1a3)](_0x4be619),_0x2e903d=_0x21410d['length']===0x0?_0x4b5ba7(0x1a2)+CLI_BIN_NAME+'\x20app\x20add\x20'+_0x551736+_0x4b5ba7(0x1c1):_0x4b5ba7(0x1a9)+_0x21410d[_0x4b5ba7(0x1af)](',\x20');throw CliErrors['validation'](_0x4b5ba7(0x1a6)+_0x551736+_0x4b5ba7(0x1c4),_0x2e903d);}let _0x4b4732,_0x3df9f1='';if(_0xc482f8)_0x4b4732={'global':!![]};else{const _0x1e5cfc=isInProject()&&!!_0x4d6fee['projectPath'];_0x4b4732={'global':!_0x1e5cfc};}const _0x3a3e14=readConfig(_0x4b4732);_0x3a3e14[_0x4b5ba7(0x1c6)]=_0x551736;if(!_0x4b4732[_0x4b5ba7(0x1b1)]){const _0x4cd66e=_0x3a3e14[_0x4b5ba7(0x1ad)]&&typeof _0x3a3e14[_0x4b5ba7(0x1ad)]===_0x4b5ba7(0x1a4)?_0x3a3e14[_0x4b5ba7(0x1ad)]:{};!Object['prototype'][_0x4b5ba7(0x1aa)][_0x4b5ba7(0x1ae)](_0x4cd66e,_0x551736)&&(_0x3a3e14['apps']={..._0x4cd66e,[_0x551736]:_0x4be619[_0x551736]},_0x3df9f1=_0x4b5ba7(0x1bf)+_0x551736+_0x4b5ba7(0x1bc));}return writeConfig(_0x3a3e14,_0x4b4732),{'ok':!![],'message':_0x4b5ba7(0x1c2)+_0x551736+'\x22\x20(appcode:\x20'+_0x4be619[_0x551736][_0x4b5ba7(0x1be)]+')'+scopeLabel(_0x4b4732)+_0x3df9f1};}export const appUseDefinition={'service':a24_0x213be8(0x1ba),'command':a24_0x213be8(0x1c9),'description':a24_0x213be8(0x1a5),'risk':a24_0x213be8(0x1cb),'requiresAuth':![],'requiresAppCode':![],'args':[{'name':a24_0x213be8(0x1bd),'description':a24_0x213be8(0x1b5),'required':!![]}],'flags':[{'name':a24_0x213be8(0x1b1),'type':a24_0x213be8(0x1c3),'description':a24_0x213be8(0x1a7),'default':![]}],'validate':validateArgs,'execute':execute};
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_0x41c357=a25_0x25fe;function a25_0x25fe(_0x7b083d,_0x1540a4){_0x7b083d=_0x7b083d-0x75;const _0x48214e=a25_0x4821();let _0x25feea=_0x48214e[_0x7b083d];return _0x25feea;}(function(_0x305f94,_0x321819){const _0x452a63=a25_0x25fe,_0x10c9fe=_0x305f94();while(!![]){try{const _0x485f65=-parseInt(_0x452a63(0x79))/0x1*(parseInt(_0x452a63(0x85))/0x2)+-parseInt(_0x452a63(0x87))/0x3*(-parseInt(_0x452a63(0x84))/0x4)+-parseInt(_0x452a63(0x8b))/0x5+-parseInt(_0x452a63(0x7c))/0x6*(-parseInt(_0x452a63(0x77))/0x7)+-parseInt(_0x452a63(0x81))/0x8+parseInt(_0x452a63(0x83))/0x9*(-parseInt(_0x452a63(0x8a))/0xa)+parseInt(_0x452a63(0x7a))/0xb;if(_0x485f65===_0x321819)break;else _0x10c9fe['push'](_0x10c9fe['shift']());}catch(_0x4197f7){_0x10c9fe['push'](_0x10c9fe['shift']());}}}(a25_0x4821,0xc6d32));function a25_0x4821(){const _0x32ff45=['boolean','!\x20Not\x20logged\x20in','5156473AUUTcT','nonInteractive','8ZdBcmo','30543513PAhbxl','✓\x20Logged\x20out','6JTeTWA','Clear\x20login\x20session','../../auth/auth-server-ui.js','read','write','709536VDoGFc','login','4193253uhrkIh','2251764fSrIEU','374282sxOPZC','yes','3fqQXtc','auth','Skip\x20login\x20confirmation\x20and\x20start\x20browser\x20auth\x20immediately','30bMffKP','1391530oQDJdm','Login\x20via\x20browser','log'];a25_0x4821=function(){return _0x32ff45;};return a25_0x4821();}import{unlinkSync,existsSync}from'node:fs';import{cookieFile}from'../../auth/constant.js';export const authDefinitions=[{'service':a25_0x41c357(0x88),'command':a25_0x41c357(0x82),'description':a25_0x41c357(0x8c),'risk':a25_0x41c357(0x7f),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a25_0x41c357(0x86),'type':a25_0x41c357(0x75),'description':a25_0x41c357(0x89),'default':![]}],async 'execute'(_0x49756b){const _0x1f389e=a25_0x41c357,{runAuthServer:_0x19c7c7}=await import(_0x1f389e(0x7e));return await _0x19c7c7({'autoYes':_0x49756b['bool']('yes'),'nonInteractive':_0x49756b[_0x1f389e(0x78)]}),{'ok':!![]};}},{'service':'auth','command':'logout','description':a25_0x41c357(0x7d),'risk':a25_0x41c357(0x80),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x4ca44e){const _0x5c848c=a25_0x41c357;return existsSync(cookieFile)?(unlinkSync(cookieFile),console[_0x5c848c(0x8d)](_0x5c848c(0x7b))):console[_0x5c848c(0x8d)](_0x5c848c(0x76)),{'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_0x1f091b=a26_0x3e52;function a26_0x2e02(){const _0xdf326f=['operation-type','HOOK\x20requires\x20alias/operation/node\x20options.','scriptsRootDir','--function-node\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','apiDir','trim','Function\x20name\x20(valid\x20JS\x20identifier)','Select\x20operation\x20type:','map','\x0a\x20*\x20[触发节点]\x20','Alias\x20\x22','Script\x20type','code','4023726epVbAj','192AYXtVT','includes','Available:\x20','Dataset\x20alias\x20from\x20api.ts\x20(HOOK\x20only,\x20preferred)','No\x20operation\x20types\x20found\x20for\x20dataset\x20','stderr','/**\x0a\x20*\x20HOOK\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','keys','1500234tecYip','/**\x0a\x20*\x20ENDPOINT\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','nonInteractive','Scaffold\x20a\x20new\x20BFF\x20function\x20from\x20template','parseInt','HOOK\x20requires\x20hookOptions\x20for\x20template\x20generation.','\x22\x20not\x20found\x20for\x20dataset\x20','\x20function:\x20','entries','(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a','--operation-type\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','5174379ZgfyfF','isInteger','Invalid\x20dataset\x20selection.','ENDPOINT','\x0a\x20*\x20[脚本名称]\x20','Select\x20trigger\x20node:','question','str','functionNode','datasetCode','Operation\x20type\x20\x22','name','Invalid\x20function\x20name\x20\x22','datasetcode','HOOK','appCode','6628zNtIqX','--alias\x20or\x20--datasetcode\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','Select\x20dataset:','No\x20DB\x20table\x20datasets\x20found\x20for\x20this\x20app.\x20METADATA\x20datasets\x20cannot\x20be\x20used\x20for\x20BFF\x20HOOK\x20development\x20because\x20the\x20workflow\x20depends\x20on\x20SQL\x20execution.','validation','string','Available\x20aliases:\x20','Operation\x20type\x20(HOOK\x20only)','write','Script\x20description','alias','create','function-node','operationType','length','Dataset\x20code\x20(HOOK\x20only,\x20fallback\x20when\x20alias\x20unavailable)','description','2213825btfMiV','18576616XfKcJc','The\x20api.ts\x20may\x20be\x20stale\x20—\x20run\x20`','\x22.\x20','type','/**\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/','find','--function-node\x20must\x20be\x20\x27before\x27\x20or\x20\x27after\x27.','\x20\x20Enter\x20a\x20number\x20between\x201\x20and\x20','No\x20datasets\x20found\x20for\x20this\x20app.','join','before','\x20api\x20pull`\x20to\x20refresh.','.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','\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','after','bff','Trigger\x20node\x20(HOOK\x20only)','4052544gUXpor','Dataset\x20not\x20found\x20for\x20code\x20\x22','\x0a\x20*\x20[接口路径]\x20POST\x20/api/','stdin','\x22.\x20Must\x20be\x20a\x20valid\x20JS\x20identifier\x20(e.g.\x20createOrder,\x20beforeFilter).','\x0a\x20*\x20[脚本类型]\x20COMMON\x0a\x20*\x20[本地路径]\x20.rabetbase/bff/COMMON/','Created\x20','\x20api\x20pull`\x20first,\x20or\x20use\x20--datasetcode\x20instead.','\x22\x20not\x20found.\x20'];a26_0x2e02=function(){return _0xdf326f;};return a26_0x2e02();}(function(_0x49f14a,_0x1bdfbd){const _0x478b8c=a26_0x3e52,_0x372e8b=_0x49f14a();while(!![]){try{const _0x33dd2c=-parseInt(_0x478b8c(0x1c8))/0x1*(parseInt(_0x478b8c(0x203))/0x2)+-parseInt(_0x478b8c(0x202))/0x3+parseInt(_0x478b8c(0x1ec))/0x4+parseInt(_0x478b8c(0x1d9))/0x5+-parseInt(_0x478b8c(0x20b))/0x6+-parseInt(_0x478b8c(0x216))/0x7+parseInt(_0x478b8c(0x1da))/0x8;if(_0x33dd2c===_0x1bdfbd)break;else _0x372e8b['push'](_0x372e8b['shift']());}catch(_0x1b7436){_0x372e8b['push'](_0x372e8b['shift']());}}}(a26_0x2e02,0xc60cc));import{createInterface}from'node:readline';import{mkdir,writeFile}from'node:fs/promises';function a26_0x3e52(_0x3fe714,_0x5db3f1){_0x3fe714=_0x3fe714-0x1be;const _0x2e027e=a26_0x2e02();let _0x3e52ad=_0x2e027e[_0x3fe714];return _0x3e52ad;}import{dirname,join}from'node:path';import{listDatasets,listBffDatasetOperations}from'../../core/api-client.js';import{loadAliasMap,resolveAlias}from'../../core/alias-resolver.js';import{resolveApiFilePath}from'../../context.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{fileExists}from'../../core/bff/file-system.js';import{isValidBffFunctionName,normalizeHookFunctionNode}from'../../core/bff/utils.js';import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{assertDatasetSupportsLocalDevelopment,filterDbBackedDatasets}from'../../commands/dataset/capability.js';export const bffCreate={'service':a26_0x1f091b(0x1ea),'command':a26_0x1f091b(0x1d3),'description':a26_0x1f091b(0x20e),'risk':a26_0x1f091b(0x1d0),'flags':[{'name':a26_0x1f091b(0x1dd),'type':a26_0x1f091b(0x1cd),'required':!![],'enum':['COMMON','ENDPOINT','HOOK'],'description':a26_0x1f091b(0x200)},{'name':a26_0x1f091b(0x1c3),'type':a26_0x1f091b(0x1cd),'required':!![],'description':a26_0x1f091b(0x1fb)},{'name':a26_0x1f091b(0x1d8),'type':a26_0x1f091b(0x1cd),'description':a26_0x1f091b(0x1d1)},{'name':'alias','type':a26_0x1f091b(0x1cd),'description':a26_0x1f091b(0x206)},{'name':a26_0x1f091b(0x1c5),'type':a26_0x1f091b(0x1cd),'description':a26_0x1f091b(0x1d7)},{'name':a26_0x1f091b(0x1f5),'type':a26_0x1f091b(0x1cd),'description':a26_0x1f091b(0x1cf)},{'name':a26_0x1f091b(0x1d4),'type':a26_0x1f091b(0x1cd),'description':a26_0x1f091b(0x1eb),'enum':['before',a26_0x1f091b(0x1e9)]}],async 'validate'(_0x503433){const _0xd72506=a26_0x1f091b,_0x3a3624=_0x503433[_0xd72506(0x1bf)](_0xd72506(0x1c3));if(!isValidBffFunctionName(_0x3a3624))throw CliErrors[_0xd72506(0x1cc)](_0xd72506(0x1c4)+_0x3a3624+_0xd72506(0x1f0));},async 'execute'(_0x5b8680){const _0x5cba22=a26_0x1f091b,_0x314f41=loadBffProjectConfig(_0x5b8680[_0x5cba22(0x1c7)]),_0x5d0088=_0x5b8680[_0x5cba22(0x1bf)](_0x5cba22(0x1dd)),_0x2c0e6d=_0x5b8680[_0x5cba22(0x1bf)]('name'),_0x3ba404=_0x5b8680[_0x5cba22(0x1bf)]('description')||undefined,_0x1b6944=_0x5d0088===_0x5cba22(0x1c6)?await resolveHookOptions(_0x314f41,_0x5b8680):undefined,_0x5a0bbd=buildFilePath(_0x314f41,_0x5d0088,_0x2c0e6d,_0x1b6944);if(await fileExists(_0x5a0bbd))throw CliErrors['validation']('File\x20already\x20exists:\x20'+_0x5a0bbd);await mkdir(dirname(_0x5a0bbd),{'recursive':!![]});const _0x16a578=generateTemplate(_0x5d0088,_0x2c0e6d,_0x5b8680['appCode'],_0x3ba404,_0x1b6944);await writeFile(_0x5a0bbd,_0x16a578,'utf8');const _0x1a0d59={'type':_0x5d0088,'name':_0x2c0e6d,'path':_0x5a0bbd};if(_0x3ba404)_0x1a0d59[_0x5cba22(0x1d8)]=_0x3ba404;if(_0x1b6944){if(_0x1b6944[_0x5cba22(0x1d2)])_0x1a0d59[_0x5cba22(0x1d2)]=_0x1b6944[_0x5cba22(0x1d2)];_0x1a0d59['datasetCode']=_0x1b6944[_0x5cba22(0x1c1)],_0x1a0d59['operationType']=_0x1b6944[_0x5cba22(0x1d5)],_0x1a0d59[_0x5cba22(0x1c0)]=_0x1b6944[_0x5cba22(0x1c0)];}return{'ok':!![],'data':_0x1a0d59,'message':_0x5cba22(0x1f2)+_0x5d0088+_0x5cba22(0x212)+_0x2c0e6d};}};async function resolveHookOptions(_0xc6b7ab,_0x2f4724){const _0xdebf0e=a26_0x1f091b,_0x656897=loadAliasMap(_0x2f4724['apiDir'],undefined,resolveApiFilePath(_0x2f4724[_0xdebf0e(0x1f9)],_0x2f4724[_0xdebf0e(0x1c7)])),_0x25f99e=_0x656897['length']>0x0;let _0x575f51,_0x513f32,_0x3389d0;const _0x48d4e3=_0x2f4724[_0xdebf0e(0x1bf)]('alias'),_0x2f0d16=_0x2f4724[_0xdebf0e(0x1bf)](_0xdebf0e(0x1c5));if(_0x48d4e3){const _0x52c642=resolveAlias(_0x2f4724[_0xdebf0e(0x1f9)],_0x48d4e3,undefined,resolveApiFilePath(_0x2f4724[_0xdebf0e(0x1f9)],_0x2f4724[_0xdebf0e(0x1c7)]));if(!_0x52c642){const _0x4025d6=_0x25f99e?_0xdebf0e(0x1ce)+_0x656897[_0xdebf0e(0x1fd)](_0x443abf=>_0x443abf[_0xdebf0e(0x1d2)])['join'](',\x20'):'No\x20api.ts\x20found.\x20Run\x20`'+CLI_BIN_NAME+_0xdebf0e(0x1f3);throw CliErrors[_0xdebf0e(0x1cc)](_0xdebf0e(0x1ff)+_0x48d4e3+_0xdebf0e(0x1f4)+_0x4025d6);}_0x575f51=_0x48d4e3,_0x513f32=_0x52c642;}else{if(_0x2f0d16){_0x513f32=_0x2f0d16;const _0x2e6e1b=_0x656897[_0xdebf0e(0x1e0)](_0x5a69e=>_0x5a69e['datasetCode']===_0x2f0d16);_0x575f51=_0x2e6e1b?.[_0xdebf0e(0x1d2)];}else{if(_0x2f4724[_0xdebf0e(0x20d)])throw CliErrors[_0xdebf0e(0x1cc)](_0xdebf0e(0x1c9));else{if(_0x25f99e){const _0x490ed1=_0x656897[_0xdebf0e(0x1fd)](_0x2d881c=>_0x2d881c[_0xdebf0e(0x1d2)]+'\x20('+_0x2d881c['tableName']+')'),_0x1afddb=await promptSelect(_0xdebf0e(0x1ca),_0x490ed1),_0xe347a0=_0x656897[_0x1afddb];if(!_0xe347a0)throw CliErrors[_0xdebf0e(0x1cc)]('Invalid\x20dataset\x20selection.');_0x575f51=_0xe347a0[_0xdebf0e(0x1d2)],_0x513f32=_0xe347a0[_0xdebf0e(0x1c1)];}else{const _0xf61cb=await listDatasets(_0x2f4724[_0xdebf0e(0x1c7)]),_0x53b809=filterDbBackedDatasets(_0xf61cb);if(_0x53b809[_0xdebf0e(0x1d6)]===0x0)throw CliErrors['validation'](_0xf61cb[_0xdebf0e(0x1d6)]===0x0?_0xdebf0e(0x1e3):_0xdebf0e(0x1cb));const _0x107a67=_0x53b809[_0xdebf0e(0x1fd)](_0x3d702a=>_0x3d702a['name']+'\x20('+_0x3d702a[_0xdebf0e(0x201)]+')'),_0x1b1a5d=await promptSelect(_0xdebf0e(0x1ca),_0x107a67),_0x566f74=_0x53b809[_0x1b1a5d];if(!_0x566f74)throw CliErrors[_0xdebf0e(0x1cc)](_0xdebf0e(0x218));_0x513f32=_0x566f74[_0xdebf0e(0x201)],_0x575f51=undefined;}}}}const _0xddc023=await listDatasets(_0x2f4724[_0xdebf0e(0x1c7)]),_0x21ac83=_0xddc023['find'](_0x9cfcef=>_0x9cfcef[_0xdebf0e(0x201)]===_0x513f32);if(!_0x21ac83)throw CliErrors['validation'](_0xdebf0e(0x1ed)+_0x513f32+_0xdebf0e(0x1dc)+(_0x575f51?_0xdebf0e(0x1db)+CLI_BIN_NAME+_0xdebf0e(0x1e6):''));assertDatasetSupportsLocalDevelopment(_0x21ac83,'BFF\x20HOOK'),_0x3389d0=_0x21ac83['id'];const _0x4342fb=_0x575f51??_0x513f32,_0x25fe45=await listBffDatasetOperations(_0x2f4724[_0xdebf0e(0x1c7)],_0x3389d0),_0x3789f1=_0x25fe45?Object[_0xdebf0e(0x20a)](_0x25fe45):[];if(_0x3789f1[_0xdebf0e(0x1d6)]===0x0)throw CliErrors[_0xdebf0e(0x1cc)](_0xdebf0e(0x207)+_0x4342fb+'.');let _0x3b67df;const _0x5646e9=_0x2f4724[_0xdebf0e(0x1bf)]('operation-type');if(_0x5646e9){if(!_0x3789f1[_0xdebf0e(0x204)](_0x5646e9))throw CliErrors[_0xdebf0e(0x1cc)](_0xdebf0e(0x1c2)+_0x5646e9+_0xdebf0e(0x211)+_0x4342fb+'.\x20'+(_0xdebf0e(0x205)+_0x3789f1[_0xdebf0e(0x1e4)](',\x20')));_0x3b67df=_0x5646e9;}else{if(_0x2f4724[_0xdebf0e(0x20d)])throw CliErrors['validation'](_0xdebf0e(0x215));const _0x5b1b71=await promptSelect(_0xdebf0e(0x1fc),_0x3789f1);_0x3b67df=_0x3789f1[_0x5b1b71]??_0x3789f1[0x0];}let _0x1fa123=normalizeHookFunctionNode(_0x2f4724[_0xdebf0e(0x1bf)](_0xdebf0e(0x1d4)));if(!_0x1fa123){if(_0x2f4724[_0xdebf0e(0x1bf)](_0xdebf0e(0x1d4)))throw CliErrors['validation'](_0xdebf0e(0x1e1));if(_0x2f4724[_0xdebf0e(0x20d)])throw CliErrors[_0xdebf0e(0x1cc)](_0xdebf0e(0x1f8));const _0x351a3b=await promptSelect(_0xdebf0e(0x21b),[_0xdebf0e(0x1e5),_0xdebf0e(0x1e9)]);_0x1fa123=[_0xdebf0e(0x1e5),_0xdebf0e(0x1e9)][_0x351a3b]??_0xdebf0e(0x1e5);}return{'alias':_0x575f51,'datasetCode':_0x513f32,'datasetId':_0x3389d0,'operationType':_0x3b67df,'functionNode':_0x1fa123};}async function promptSelect(_0x3dbceb,_0x568043){const _0x418219=a26_0x1f091b;if(_0x568043['length']===0x1)return 0x0;for(const [_0x10c62d,_0x1262f6]of _0x568043[_0x418219(0x213)]()){process[_0x418219(0x208)][_0x418219(0x1d0)]('\x20\x20'+(_0x10c62d+0x1)+'.\x20'+_0x1262f6+'\x0a');}const _0x4c2458=createInterface({'input':process[_0x418219(0x1ef)],'output':process[_0x418219(0x208)]});while(!![]){const _0x1eda79=await new Promise(_0x235121=>{const _0x486c71=_0x418219;_0x4c2458[_0x486c71(0x1be)](_0x3dbceb+'\x20',_0x235121);}),_0x8fb9ce=Number[_0x418219(0x20f)](_0x1eda79['trim'](),0xa);if(Number[_0x418219(0x217)](_0x8fb9ce)&&_0x8fb9ce>=0x1&&_0x8fb9ce<=_0x568043[_0x418219(0x1d6)])return _0x4c2458['close'](),_0x8fb9ce-0x1;process['stderr'][_0x418219(0x1d0)](_0x418219(0x1e2)+_0x568043[_0x418219(0x1d6)]+'.\x0a');}}function buildFilePath(_0x2bc024,_0x1754de,_0x4c6657,_0x252943){const _0x58c41a=a26_0x1f091b;if(_0x1754de===_0x58c41a(0x1c6)){if(!_0x252943)throw CliErrors['validation'](_0x58c41a(0x1f6));const _0x2440dd=_0x252943['alias']??_0x252943['datasetCode'];return join(_0x2bc024[_0x58c41a(0x1f7)],_0x58c41a(0x1c6),_0x2440dd,_0x252943['operationType'],_0x252943[_0x58c41a(0x1c0)],_0x4c6657+'.js');}return join(_0x2bc024[_0x58c41a(0x1f7)],_0x1754de,_0x4c6657+'.js');}export function generateTemplate(_0x5a6e89,_0x4f80b8,_0x197f2b,_0xf963f,_0x5a7c27){const _0x7364e3=a26_0x1f091b,_0x308772=_0xf963f?.[_0x7364e3(0x1fa)]()||'TODO:\x20add\x20script\x20description';if(_0x5a6e89==='COMMON')return _0x7364e3(0x1de)+_0x308772+_0x7364e3(0x21a)+_0x4f80b8+_0x7364e3(0x1f1)+_0x4f80b8+_0x7364e3(0x1e7)+_0x4f80b8+_0x7364e3(0x214);if(_0x5a6e89===_0x7364e3(0x219))return _0x7364e3(0x20c)+_0x308772+_0x7364e3(0x1df)+_0x197f2b+'/'+_0x4f80b8+_0x7364e3(0x1e8)+_0x4f80b8+_0x7364e3(0x214);if(!_0x5a7c27)throw CliErrors[_0x7364e3(0x1cc)](_0x7364e3(0x210));return _0x7364e3(0x209)+_0x308772+_0x7364e3(0x1ee)+_0x197f2b+'/'+_0x5a7c27[_0x7364e3(0x1c1)]+'/'+_0x5a7c27[_0x7364e3(0x1d5)]+_0x7364e3(0x1fe)+_0x5a7c27[_0x7364e3(0x1c0)]+'\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'+_0x4f80b8+_0x7364e3(0x214);}
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_0x57c87f=a27_0x26c4;(function(_0x47e0cf,_0x2b2ae9){const _0x533e73=a27_0x26c4,_0x37f807=_0x47e0cf();while(!![]){try{const _0xc9ebfe=-parseInt(_0x533e73(0x132))/0x1+parseInt(_0x533e73(0x12a))/0x2+parseInt(_0x533e73(0x149))/0x3*(-parseInt(_0x533e73(0x14c))/0x4)+parseInt(_0x533e73(0x150))/0x5*(-parseInt(_0x533e73(0x148))/0x6)+-parseInt(_0x533e73(0x140))/0x7+parseInt(_0x533e73(0x15c))/0x8+parseInt(_0x533e73(0x12f))/0x9;if(_0xc9ebfe===_0x2b2ae9)break;else _0x37f807['push'](_0x37f807['shift']());}catch(_0x208131){_0x37f807['push'](_0x37f807['shift']());}}}(a27_0x56d9,0x2f280));function a27_0x56d9(){const _0x32a4fa=['171435ZkiFtr','Lock\x20key\x20(e.g.\x20ENDPOINT/createOrder)\x20or\x20short\x20function\x20name','Lock\x20scope\x20for\x20app\x20\x22','string','str','\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20trash','appCode','Would\x20delete\x20','keys','split','\x22\x20not\x20found\x20after\x20ensureLockScope.','apps','scriptsRoot','No\x20lock\x20entry\x20found\x20for\x20\x22','2634254aSMpNJ','BFF\x20lock\x20file\x20not\x20found.\x20Run\x20`push`\x20or\x20`pull`\x20first\x20to\x20initialize\x20sync\x20state.','toISOString','length','map','high-risk-write','functions','projectRoot','12BWBXrb','32841kYMhJx','includes','startsWith','112DMndlW','POST','bff','/api/management/library/scripts/delete','683235iWklKN','stringify','validation','lockFilePath','filter','join','Delete\x20a\x20BFF\x20script\x20from\x20remote\x20and\x20local','Deleted\x20','replace','scriptsRootDir','trashDir','\x20(local\x20file\x20moved\x20to\x20trash)','2785096ZNVJaP','Local\x20delete\x20not\x20settled\x20for\x20','BFF\x20lock\x20file\x20not\x20found.','615578iDrLLv','find','\x20\x20-\x20','target','parse','5983137scuygU','delete','remoteId'];a27_0x56d9=function(){return _0x32a4fa;};return a27_0x56d9();}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';function a27_0x26c4(_0x1666b0,_0x2780d7){_0x1666b0=_0x1666b0-0x12a;const _0x56d96e=a27_0x56d9();let _0x26c47f=_0x56d96e[_0x1666b0];return _0x26c47f;}import{sleep}from'../../utils/sleep.js';export const bffDelete={'service':a27_0x57c87f(0x14e),'command':a27_0x57c87f(0x130),'description':a27_0x57c87f(0x156),'risk':a27_0x57c87f(0x145),'flags':[{'name':a27_0x57c87f(0x12d),'type':a27_0x57c87f(0x135),'required':!![],'description':a27_0x57c87f(0x133)}],async 'validate'(_0x19ec15){const _0x3accf1=a27_0x57c87f,_0x148b58=loadBffProjectConfig(_0x19ec15[_0x3accf1(0x138)]),_0x595e45=await readBffLockFile(_0x148b58['lockFilePath']);if(!_0x595e45)throw CliErrors[_0x3accf1(0x152)](_0x3accf1(0x141));},async 'dryRun'(_0x19340c){const _0x20fe16=a27_0x57c87f,_0x54267e=loadBffProjectConfig(_0x19340c[_0x20fe16(0x138)]),_0x41da59=await readBffLockFile(_0x54267e[_0x20fe16(0x153)]);if(!_0x41da59)throw CliErrors[_0x20fe16(0x152)](_0x20fe16(0x15e));const {appLock:_0x2dc855}=ensureLockScope(_0x41da59,_0x19340c['appCode'],_0x54267e[_0x20fe16(0x13e)],_0x20fe16(0x130)),_0x3380ad=_0x19340c[_0x20fe16(0x136)](_0x20fe16(0x12d)),_0xe94c0b=Object['keys'](_0x2dc855[_0x20fe16(0x146)]),_0x25b440=resolveDeleteTarget(_0x3380ad,_0xe94c0b),_0x273ab8=_0x2dc855[_0x20fe16(0x146)][_0x25b440];if(!_0x273ab8)throw CliErrors[_0x20fe16(0x152)](_0x20fe16(0x13f)+_0x25b440+'\x22.');const _0x23e8d6=resolveLocalFilePathFromLockKey(_0x54267e,_0x25b440),_0xddba9c=relative(_0x54267e[_0x20fe16(0x147)],_0x23e8d6),_0x3fbe67=join(_0x54267e[_0x20fe16(0x15a)],'<timestamp>',_0xddba9c);return{'method':_0x20fe16(0x14d),'url':_0x20fe16(0x14f),'body':{'appCode':_0x19340c['appCode'],'target':_0x25b440,'remoteId':_0x273ab8[_0x20fe16(0x131)],'localFilePath':_0x23e8d6,'trashedPath':_0x3fbe67},'description':_0x20fe16(0x139)+_0x25b440+_0x20fe16(0x137)};},async 'execute'(_0x5b0631){const _0x54f7a9=a27_0x57c87f,_0xbf4e7e=loadBffProjectConfig(_0x5b0631[_0x54f7a9(0x138)]),_0x3448b9=await readBffLockFile(_0xbf4e7e[_0x54f7a9(0x153)]);if(!_0x3448b9)throw CliErrors['validation'](_0x54f7a9(0x15e));const {lockData:_0x312128,appLock:_0x51b336}=ensureLockScope(_0x3448b9,_0x5b0631[_0x54f7a9(0x138)],_0xbf4e7e['scriptsRoot'],_0x54f7a9(0x130)),_0x1f06f8=JSON[_0x54f7a9(0x12e)](JSON[_0x54f7a9(0x151)](_0x312128)),_0x27cf10=_0x1f06f8[_0x54f7a9(0x13d)][_0x5b0631['appCode']];if(!_0x27cf10)throw new Error(_0x54f7a9(0x134)+_0x5b0631['appCode']+_0x54f7a9(0x13c));const _0x4766c5=_0x5b0631['str'](_0x54f7a9(0x12d)),_0x5bda2d=Object[_0x54f7a9(0x13a)](_0x27cf10['functions']),_0x66865e=resolveDeleteTarget(_0x4766c5,_0x5bda2d),_0xb61f60=_0x27cf10[_0x54f7a9(0x146)][_0x66865e];if(!_0xb61f60)throw CliErrors[_0x54f7a9(0x152)](_0x54f7a9(0x13f)+_0x66865e+'\x22.');await deleteBffScript(_0xb61f60[_0x54f7a9(0x131)]),delete _0x27cf10['functions'][_0x66865e],_0x27cf10['lastSync']=new Date()[_0x54f7a9(0x142)](),await writeBffLockFile(_0xbf4e7e['lockFilePath'],_0x1f06f8);const _0x5be5d1=resolveLocalFilePathFromLockKey(_0xbf4e7e,_0x66865e);let _0x56b224;await fileExists(_0x5be5d1)&&(_0x56b224=await moveToTrash(_0xbf4e7e[_0x54f7a9(0x147)],_0xbf4e7e[_0x54f7a9(0x15a)],_0x5be5d1),await cleanupEmptyDirectories(dirname(_0x5be5d1),_0xbf4e7e[_0x54f7a9(0x159)]));await waitForDeleteSettlement(_0xbf4e7e[_0x54f7a9(0x153)],_0x5b0631[_0x54f7a9(0x138)],_0x66865e,_0x5be5d1),await sleep(0x96);const _0x38b77e={'deleted':_0x66865e,'remoteId':_0xb61f60['remoteId']};if(_0x56b224)_0x38b77e['trashedTo']=_0x56b224;return{'ok':!![],'data':_0x38b77e,'message':_0x54f7a9(0x157)+_0x66865e+(_0x56b224?_0x54f7a9(0x15b):'')};}};function resolveDeleteTarget(_0x511112,_0x5c90da){const _0x75b9fe=a27_0x57c87f;if(_0x511112[_0x75b9fe(0x14a)]('/')){const _0x3a35d5=_0x5c90da[_0x75b9fe(0x12b)](_0x15011a=>_0x15011a===_0x511112);if(!_0x3a35d5)throw CliErrors[_0x75b9fe(0x152)]('Function\x20not\x20found:\x20'+_0x511112);return _0x3a35d5;}const _0x2275a7=_0x5c90da[_0x75b9fe(0x154)](_0x22d5c6=>_0x22d5c6[_0x75b9fe(0x13b)]('/')['at'](-0x1)===_0x511112);if(_0x2275a7['length']===0x0)throw CliErrors[_0x75b9fe(0x152)]('Function\x20not\x20found:\x20'+_0x511112);if(_0x2275a7[_0x75b9fe(0x143)]>0x1)throw CliErrors[_0x75b9fe(0x152)]('Multiple\x20functions\x20match\x20\x22'+_0x511112+'\x22.\x20Use\x20the\x20full\x20lock\x20key:\x0a'+_0x2275a7[_0x75b9fe(0x144)](_0x5b8f7e=>_0x75b9fe(0x12c)+_0x5b8f7e)[_0x75b9fe(0x155)]('\x0a'));return _0x2275a7[0x0];}async function moveToTrash(_0x19a49b,_0x39db1e,_0xcdfb5b){const _0x56b63a=a27_0x57c87f,_0x3025c8=new Date()[_0x56b63a(0x142)]()[_0x56b63a(0x158)](/[:.]/g,'-'),_0x4a35a4=relative(_0x19a49b,_0xcdfb5b),_0x28c1b6=join(_0x39db1e,_0x3025c8,_0x4a35a4);return await mkdir(dirname(_0x28c1b6),{'recursive':!![]}),await rename(_0xcdfb5b,_0x28c1b6),_0x28c1b6;}async function cleanupEmptyDirectories(_0x443e3d,_0x4b2970){const _0x378c15=a27_0x57c87f;let _0x103f11=resolve(_0x443e3d);const _0x1d5759=resolve(_0x4b2970);while(_0x103f11[_0x378c15(0x14b)](''+_0x1d5759+sep)||_0x103f11===_0x1d5759){if(_0x103f11===_0x1d5759)return;try{const _0x3dd473=await readdir(_0x103f11);if(_0x3dd473[_0x378c15(0x143)]>0x0)return;await rmdir(_0x103f11);}catch{return;}_0x103f11=dirname(_0x103f11);}}const DELETE_SETTLE_RETRY_COUNT=0x14,DELETE_SETTLE_DELAY_MS=0x64;async function waitForDeleteSettlement(_0x62d948,_0x579f36,_0x307d32,_0x54f4bb){const _0x85f1b0=a27_0x57c87f;for(let _0x5cec0f=0x0;_0x5cec0f<DELETE_SETTLE_RETRY_COUNT;_0x5cec0f+=0x1){const _0x11c623=await readBffLockFile(_0x62d948),_0x3ba928=!!_0x11c623?.[_0x85f1b0(0x13d)]?.[_0x579f36]?.[_0x85f1b0(0x146)]?.[_0x307d32],_0x489462=await fileExists(_0x54f4bb);if(!_0x3ba928&&!_0x489462)return;await sleep(DELETE_SETTLE_DELAY_MS);}throw new Error(_0x85f1b0(0x15d)+_0x307d32+'.');}
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
- function a28_0x2f3e(_0x53f53a,_0x505a3d){_0x53f53a=_0x53f53a-0x106;const _0xf9bf7e=a28_0xf9bf();let _0x2f3e2b=_0xf9bf7e[_0x53f53a];return _0x2f3e2b;}const a28_0x20890f=a28_0x2f3e;function a28_0xf9bf(){const _0x465943=['3kWnBHI','1126083OVBrpP','Script\x20ID','bff','Return\x20full\x20raw\x20script\x20object','description','280506HicZKP','35608MhOJOe','105tSluCr','9pdHvrw','createdTime','9215ELdgIh','1154256idcJRQ','read','scriptContent','verbose','2957520fTuvgm','984366DeFEQr','Get\x20BFF\x20script\x20details\x20by\x20ID','scriptType','boolean','detail','bool'];a28_0xf9bf=function(){return _0x465943;};return a28_0xf9bf();}(function(_0x5951ad,_0x19fdce){const _0x4ba5ac=a28_0x2f3e,_0x5d9fd2=_0x5951ad();while(!![]){try{const _0xff4ed=parseInt(_0x4ba5ac(0x115))/0x1+-parseInt(_0x4ba5ac(0x110))/0x2*(-parseInt(_0x4ba5ac(0x10a))/0x3)+-parseInt(_0x4ba5ac(0x111))/0x4*(parseInt(_0x4ba5ac(0x112))/0x5)+-parseInt(_0x4ba5ac(0x11b))/0x6+parseInt(_0x4ba5ac(0x10b))/0x7+-parseInt(_0x4ba5ac(0x116))/0x8*(parseInt(_0x4ba5ac(0x113))/0x9)+parseInt(_0x4ba5ac(0x11a))/0xa;if(_0xff4ed===_0x19fdce)break;else _0x5d9fd2['push'](_0x5d9fd2['shift']());}catch(_0x232666){_0x5d9fd2['push'](_0x5d9fd2['shift']());}}}(a28_0xf9bf,0x1b0d4));import{getBffScriptInfo}from'../../core/api-client.js';export const bffDetail={'service':a28_0x20890f(0x10d),'command':a28_0x20890f(0x108),'description':a28_0x20890f(0x11c),'risk':a28_0x20890f(0x117),'flags':[{'name':'id','type':'number','required':!![],'description':a28_0x20890f(0x10c)},{'name':a28_0x20890f(0x119),'type':a28_0x20890f(0x107),'description':a28_0x20890f(0x10e)}],async 'execute'(_0x4fc22f){const _0x547c2d=a28_0x20890f,_0xf8d1fd=await getBffScriptInfo(_0x4fc22f['num']('id')),_0x55d01e=_0x4fc22f[_0x547c2d(0x109)]('verbose');if(_0x55d01e)return{'ok':!![],'data':_0xf8d1fd};return{'ok':!![],'data':{'id':_0xf8d1fd['id'],'appCode':_0xf8d1fd['appCode'],'scriptType':_0xf8d1fd[_0x547c2d(0x106)],'description':_0xf8d1fd[_0x547c2d(0x10f)]||'(none)','createdTime':_0xf8d1fd[_0x547c2d(0x114)]??'','updatedTime':_0xf8d1fd['updatedTime']??'','scriptContent':_0xf8d1fd[_0x547c2d(0x118)]??''}};}};
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(_0x1b8aa4,_0x2a3ec3){const _0x2760cc=a29_0x3638,_0x50fbd2=_0x1b8aa4();while(!![]){try{const _0x4de200=parseInt(_0x2760cc(0x1b7))/0x1*(-parseInt(_0x2760cc(0x1b4))/0x2)+-parseInt(_0x2760cc(0x1b3))/0x3+parseInt(_0x2760cc(0x1b1))/0x4+-parseInt(_0x2760cc(0x1af))/0x5*(-parseInt(_0x2760cc(0x1b0))/0x6)+-parseInt(_0x2760cc(0x1b5))/0x7*(-parseInt(_0x2760cc(0x1b6))/0x8)+-parseInt(_0x2760cc(0x1b8))/0x9*(parseInt(_0x2760cc(0x1b2))/0xa)+-parseInt(_0x2760cc(0x1ae))/0xb;if(_0x4de200===_0x2a3ec3)break;else _0x50fbd2['push'](_0x50fbd2['shift']());}catch(_0x115090){_0x50fbd2['push'](_0x50fbd2['shift']());}}}(a29_0x3367,0xd7331));function a29_0x3638(_0xca543e,_0x5869de){_0xca543e=_0xca543e-0x1ae;const _0x33678f=a29_0x3367();let _0x36386c=_0x33678f[_0xca543e];return _0x36386c;}import{bffList}from'../../commands/bff/list.js';import{bffDetail}from'../../commands/bff/detail.js';import{bffStatus}from'../../commands/bff/status.js';import{bffCreate}from'../../commands/bff/create.js';import{bffPush}from'../../commands/bff/push.js';import{bffPull}from'../../commands/bff/pull.js';import{bffDelete}from'../../commands/bff/delete.js';function a29_0x3367(){const _0x1d4aae=['44881zfPlBZ','18AVLQbU','13134495GRvKdR','6841565bOssXP','6pjcEMZ','3399752saHspW','5257430NYpyfU','26361AJJvrT','26qxlwoL','27433KLxPhf','3064ysPYjs'];a29_0x3367=function(){return _0x1d4aae;};return a29_0x3367();}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_0x2c6f4f=a30_0x3e31;(function(_0x3f1ff9,_0x5f4c47){const _0x25c2a3=a30_0x3e31,_0x3ec1d2=_0x3f1ff9();while(!![]){try{const _0x334e97=parseInt(_0x25c2a3(0x1ae))/0x1+parseInt(_0x25c2a3(0x19e))/0x2+parseInt(_0x25c2a3(0x1a9))/0x3*(-parseInt(_0x25c2a3(0x1ab))/0x4)+parseInt(_0x25c2a3(0x1a6))/0x5*(parseInt(_0x25c2a3(0x19c))/0x6)+parseInt(_0x25c2a3(0x19d))/0x7*(parseInt(_0x25c2a3(0x1b0))/0x8)+parseInt(_0x25c2a3(0x198))/0x9+-parseInt(_0x25c2a3(0x196))/0xa*(parseInt(_0x25c2a3(0x195))/0xb);if(_0x334e97===_0x5f4c47)break;else _0x3ec1d2['push'](_0x3ec1d2['shift']());}catch(_0xec0151){_0x3ec1d2['push'](_0x3ec1d2['shift']());}}}(a30_0x2223,0xe7d69));import{listBffScripts}from'../../core/api-client.js';function a30_0x3e31(_0x497a7d,_0x33dacf){_0x497a7d=_0x497a7d-0x195;const _0x22233e=a30_0x2223();let _0x3e316f=_0x22233e[_0x497a7d];return _0x3e316f;}export const bffList={'service':a30_0x2c6f4f(0x1a8),'command':a30_0x2c6f4f(0x199),'description':'List\x20BFF\x20scripts','risk':'read','flags':[{'name':a30_0x2c6f4f(0x1ad),'type':'string','description':a30_0x2c6f4f(0x1af),'default':a30_0x2c6f4f(0x1ac),'enum':['ENDPOINT',a30_0x2c6f4f(0x1a4)]},{'name':a30_0x2c6f4f(0x1a0),'type':a30_0x2c6f4f(0x1a3),'description':a30_0x2c6f4f(0x19b)},{'name':a30_0x2c6f4f(0x1a1),'type':a30_0x2c6f4f(0x197),'description':'Return\x20full\x20script\x20objects'}],async 'execute'(_0x10f58){const _0x144b4e=a30_0x2c6f4f,_0x15db27=await listBffScripts(_0x10f58['appCode'],_0x10f58[_0x144b4e(0x1a2)](_0x144b4e(0x1ad)),{'scriptName':_0x10f58[_0x144b4e(0x1a2)](_0x144b4e(0x1a0))||undefined}),_0x2c4890=_0x10f58['bool'](_0x144b4e(0x1a1));return{'ok':!![],'data':_0x2c4890?_0x15db27:_0x15db27[_0x144b4e(0x1a7)](_0x320648=>({'id':_0x320648['id'],'functionName':_0x320648[_0x144b4e(0x1aa)]??'','description':_0x320648[_0x144b4e(0x19f)]||_0x144b4e(0x1b1),'scriptType':_0x320648['scriptType']})),'message':_0x15db27[_0x144b4e(0x19a)]===0x0?_0x144b4e(0x1a5):undefined};}};function a30_0x2223(){const _0x2dada5=['Script\x20type\x20filter','4399792XtrKqb','(unnamed)','77QixSuT','5277040VlLRhv','boolean','10409877NlzgnR','list','length','Filter\x20by\x20script\x20name','2193240UCotMM','21uwOuBU','1017104iKcgAQ','description','name','verbose','str','string','COMMON','No\x20BFF\x20scripts\x20found.','25PYHSqx','map','bff','3591zdjfVX','functionName','5528DarlDx','ENDPOINT','type','1154964kkGHIb'];a30_0x2223=function(){return _0x2dada5;};return a30_0x2223();}
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
- const a31_0x4c0f15=a31_0xb98d;(function(_0x57e48d,_0x1db999){const _0xa66a8=a31_0xb98d,_0x443e68=_0x57e48d();while(!![]){try{const _0xf3bf20=parseInt(_0xa66a8(0x101))/0x1+-parseInt(_0xa66a8(0xe5))/0x2*(-parseInt(_0xa66a8(0xfd))/0x3)+-parseInt(_0xa66a8(0x106))/0x4+parseInt(_0xa66a8(0xff))/0x5+parseInt(_0xa66a8(0xdc))/0x6*(-parseInt(_0xa66a8(0xef))/0x7)+parseInt(_0xa66a8(0x117))/0x8*(-parseInt(_0xa66a8(0x103))/0x9)+parseInt(_0xa66a8(0xde))/0xa;if(_0xf3bf20===_0x1db999)break;else _0x443e68['push'](_0x443e68['shift']());}catch(_0xdc127c){_0x443e68['push'](_0x443e68['shift']());}}}(a31_0x5e9f,0x7a793));import{createInterface}from'node:readline';import{writeFile}from'node:fs/promises';import{listBffScripts,getBffScriptStatistics}from'../../core/api-client.js';import{loadAliasMap}from'../../core/alias-resolver.js';function a31_0x5e9f(){const _0x49c3d4=['Force\x20pull\x20will\x20overwrite\x20local\x20unsynced\x20changes.\x20Continue?\x20[y/N]\x20','scriptContent','operationType','Would\x20inspect\x20','functionName','lockKey','Pull\x20remote\x20BFF\x20scripts\x20to\x20local','str','force','68838LzthPf','version','write','stdin','nonInteractive','Remote\x20script\x20missing\x20id.','functionNode','pull','appCode','validation','yes','map','unresolvable\x20target\x20path','ENDPOINT','3YyFAPf','\x20failed','258530pytHqG','push','169695zAYNQx','Force\x20overwrite\x20local\x20unsynced\x20changes','3429olhZon','type','local\x20unsynced\x20changes','1499800HRMdgH','stderr','lockFilePath','string','boolean','No\x20remote\x20BFF\x20scripts\x20found.','parse','scriptsRoot','question','utf8','toLowerCase','Pull\x20complete:\x20','COMMON','\x20remote\x20BFF\x20script(s)\x20for\x20pull','\x20skipped,\x20','all','length','12872cEJgNo','toISOString','includes','hookLocation','Lock\x20scope\x20for\x20app\x20\x22','functions','datasetCode','--type\x20must\x20be\x20COMMON,\x20ENDPOINT,\x20or\x20HOOK.','stringify','HOOK','conflict','\x20pulled,\x20','/api/management/library/scripts/list?appCode=','Remote\x20script\x20missing\x20content.','apps','hash','18NKPRTa','apiDir','10111400UGdqHz','alias','skipped','bff','filePath','Force\x20pull\x20cancelled.','scriptType','573182PHZjCW'];a31_0x5e9f=function(){return _0x49c3d4;};return a31_0x5e9f();}import{resolveApiFilePath}from'../../context.js';function a31_0xb98d(_0x504f04,_0x129a22){_0x504f04=_0x504f04-0xd2;const _0x5e9fd0=a31_0x5e9f();let _0xb98d0f=_0x5e9fd0[_0x504f04];return _0xb98d0f;}import{loadBffProjectConfig}from'../../core/bff/config.js';import{createHookLocationMap,ensureParentDirectory,fileExists,normalizeBffType,resolveRemoteScriptTarget}from'../../core/bff/file-system.js';import{computeContentHash,computeFileHash}from'../../core/bff/hash.js';import{createEmptyBffLock,ensureLockScope,readBffLockFile,writeBffLockFile}from'../../core/bff/lock.js';import{CliErrors}from'../../errors.js';export const bffPull={'service':a31_0x4c0f15(0xe1),'command':a31_0x4c0f15(0xf6),'description':a31_0x4c0f15(0xec),'risk':a31_0x4c0f15(0xf1),'flags':[{'name':'type','type':a31_0x4c0f15(0x109),'description':'Pull\x20only\x20this\x20script\x20type','enum':[a31_0x4c0f15(0x112),a31_0x4c0f15(0xfc),a31_0x4c0f15(0xd5)]},{'name':a31_0x4c0f15(0xee),'type':a31_0x4c0f15(0x10a),'description':a31_0x4c0f15(0x102)}],async 'dryRun'(_0x3ffea6){const _0x2cbd0c=a31_0x4c0f15,_0x263ab2=loadBffProjectConfig(_0x3ffea6[_0x2cbd0c(0xf7)]),_0x59b6bc=await readBffLockFile(_0x263ab2['lockFilePath']),{appLock:_0x1c27b4}=ensureLockScope(_0x59b6bc??createEmptyBffLock(),_0x3ffea6[_0x2cbd0c(0xf7)],_0x263ab2['scriptsRoot'],_0x2cbd0c(0xf6)),_0x806d61=normalizeBffType(_0x3ffea6['str']('type'))??undefined,_0x295726=buildDatasetCodeToAliasMap(_0x3ffea6[_0x2cbd0c(0xdd)],_0x3ffea6[_0x2cbd0c(0xf7)]),[_0x2ab5c8,_0x331487]=await Promise[_0x2cbd0c(0x115)]([listBffScripts(_0x3ffea6[_0x2cbd0c(0xf7)],_0x806d61),getBffScriptStatistics(_0x3ffea6[_0x2cbd0c(0xf7)])]),_0xaee916=createHookLocationMap(_0x331487),_0x163e0d=[];for(const _0x28b35f of _0x2ab5c8){const _0x121d2e=resolveRemoteScriptTarget(_0x263ab2,_0x28b35f,_0xaee916,_0x1c27b4[_0x2cbd0c(0x11c)],_0x295726);if(!_0x121d2e){_0x163e0d[_0x2cbd0c(0x100)]({'scriptType':_0x28b35f['scriptType'],'functionName':_0x28b35f['functionName']??'','status':_0x2cbd0c(0xe0),'reason':_0x2cbd0c(0xfb)});continue;}const _0x278e4e=_0x1c27b4['functions'][_0x121d2e[_0x2cbd0c(0xeb)]],_0x33e03e=_0x28b35f[_0x2cbd0c(0xe7)]!=null?computeContentHash(_0x28b35f[_0x2cbd0c(0xe7)]):undefined,_0x200ccb=await hasUnsyncedLocalChanges(_0x121d2e['filePath'],_0x278e4e,_0x33e03e);_0x163e0d['push']({'lockKey':_0x121d2e['lockKey'],'filePath':_0x121d2e[_0x2cbd0c(0xe2)],'remoteId':_0x28b35f['id']??null,'status':_0x200ccb?_0x2cbd0c(0xd6):'would_pull'});}return{'method':'GET','url':_0x2cbd0c(0xd8)+_0x3ffea6['appCode']+(_0x806d61?'&type='+_0x806d61:''),'body':{'appCode':_0x3ffea6[_0x2cbd0c(0xf7)],'filterType':_0x806d61??null,'files':_0x163e0d},'description':_0x2cbd0c(0xe9)+_0x163e0d[_0x2cbd0c(0x116)]+_0x2cbd0c(0x113)};},async 'execute'(_0xbcfdd6){const _0x53a3f5=a31_0x4c0f15,_0xa6a884=loadBffProjectConfig(_0xbcfdd6[_0x53a3f5(0xf7)]),_0x138811=await readBffLockFile(_0xa6a884[_0x53a3f5(0x108)]),{lockData:_0xb6bd64,appLock:_0x5d9ccd}=ensureLockScope(_0x138811??createEmptyBffLock(),_0xbcfdd6[_0x53a3f5(0xf7)],_0xa6a884[_0x53a3f5(0x10d)],_0x53a3f5(0xf6)),_0x576375=normalizeBffType(_0xbcfdd6[_0x53a3f5(0xed)](_0x53a3f5(0x104)))??undefined;if(_0xbcfdd6[_0x53a3f5(0xed)]('type')&&!_0x576375)throw CliErrors[_0x53a3f5(0xf8)](_0x53a3f5(0xd3));const [_0x3bf0f0,_0x33cd9d]=await Promise['all']([listBffScripts(_0xbcfdd6[_0x53a3f5(0xf7)],_0x576375),getBffScriptStatistics(_0xbcfdd6['appCode'])]);if(_0x3bf0f0[_0x53a3f5(0x116)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x53a3f5(0x10b)};const _0x5b266b=_0xbcfdd6['bool'](_0x53a3f5(0xee));if(_0x5b266b&&!_0xbcfdd6['nonInteractive']){const _0x5d170c=await confirmForce();if(!_0x5d170c)throw CliErrors['cancelled'](_0x53a3f5(0xe3));}if(_0x5b266b&&_0xbcfdd6[_0x53a3f5(0xf3)]){}const _0x311c91=buildDatasetCodeToAliasMap(_0xbcfdd6[_0x53a3f5(0xdd)],_0xbcfdd6['appCode']),_0x1763d4=createHookLocationMap(_0x33cd9d),_0x3b1c23=JSON[_0x53a3f5(0x10c)](JSON[_0x53a3f5(0xd4)](_0xb6bd64)),_0x1fd13f=_0xbcfdd6[_0x53a3f5(0xf7)],_0x1f2fc3=_0x3b1c23[_0x53a3f5(0xda)][_0x1fd13f];if(!_0x1f2fc3)throw new Error(_0x53a3f5(0x11b)+_0x1fd13f+'\x22\x20not\x20found\x20after\x20ensureLockScope.');const _0x229a5d=[],_0x13a2ad=[],_0x12b88d=[];for(const _0x2d9ebd of _0x3bf0f0){const _0x533100=resolveRemoteScriptTarget(_0xa6a884,_0x2d9ebd,_0x1763d4,_0x5d9ccd[_0x53a3f5(0x11c)],_0x311c91);if(!_0x533100){_0x13a2ad[_0x53a3f5(0x100)]({'lockKey':_0x2d9ebd[_0x53a3f5(0xe4)]+'/'+_0x2d9ebd[_0x53a3f5(0xea)],'reason':_0x53a3f5(0xfb)});continue;}const _0xa72fa6=_0x5d9ccd[_0x53a3f5(0x11c)][_0x533100[_0x53a3f5(0xeb)]];try{if(!_0x2d9ebd['id'])throw new Error(_0x53a3f5(0xf4));if(_0x2d9ebd['scriptContent']==null)throw new Error(_0x53a3f5(0xd9));const _0x12b2ad=_0x2d9ebd[_0x53a3f5(0xe7)],_0x3bc1c2=computeContentHash(_0x12b2ad);if(!_0x5b266b){const _0x3dae1f=await hasUnsyncedLocalChanges(_0x533100[_0x53a3f5(0xe2)],_0xa72fa6,_0x3bc1c2);if(_0x3dae1f){_0x13a2ad[_0x53a3f5(0x100)]({'lockKey':_0x533100[_0x53a3f5(0xeb)],'reason':_0x53a3f5(0x105)});continue;}}await ensureParentDirectory(_0x533100[_0x53a3f5(0xe2)]),await writeFile(_0x533100['filePath'],_0x12b2ad,_0x53a3f5(0x10f));const _0x448bed={'hash':_0x3bc1c2,'remoteId':_0x2d9ebd['id'],'version':_0x2d9ebd[_0x53a3f5(0xf0)]};_0x533100[_0x53a3f5(0x104)]===_0x53a3f5(0xd5)&&_0x533100[_0x53a3f5(0x11a)]&&(_0x448bed['alias']=_0x533100[_0x53a3f5(0x11a)][_0x53a3f5(0xdf)],_0x448bed[_0x53a3f5(0xd2)]=_0x533100['hookLocation'][_0x53a3f5(0xd2)],_0x448bed[_0x53a3f5(0xe8)]=_0x533100[_0x53a3f5(0x11a)][_0x53a3f5(0xe8)],_0x448bed[_0x53a3f5(0xf5)]=_0x533100[_0x53a3f5(0x11a)]['functionNode']),_0x1f2fc3[_0x53a3f5(0x11c)][_0x533100['lockKey']]=_0x448bed,_0x229a5d[_0x53a3f5(0x100)]({'lockKey':_0x533100[_0x53a3f5(0xeb)],'remoteId':_0x2d9ebd['id']});}catch(_0x4e50cb){_0x12b88d[_0x53a3f5(0x100)]({'lockKey':_0x533100['lockKey'],'error':_0x4e50cb instanceof Error?_0x4e50cb['message']:String(_0x4e50cb)});}}return _0x1f2fc3['lastSync']=new Date()[_0x53a3f5(0x118)](),await writeBffLockFile(_0xa6a884['lockFilePath'],_0x3b1c23),{'ok':_0x12b88d[_0x53a3f5(0x116)]===0x0,'data':{'pulled':_0x229a5d,'skipped':_0x13a2ad,'failed':_0x12b88d},'message':_0x53a3f5(0x111)+_0x229a5d['length']+_0x53a3f5(0xd7)+_0x13a2ad[_0x53a3f5(0x116)]+_0x53a3f5(0x114)+_0x12b88d[_0x53a3f5(0x116)]+_0x53a3f5(0xfe)};}};async function hasUnsyncedLocalChanges(_0x523c3c,_0x5052bd,_0x2f9eab){const _0x280535=a31_0x4c0f15;if(!await fileExists(_0x523c3c))return![];const _0xa9d237=await computeFileHash(_0x523c3c);if(!_0x5052bd)return _0x2f9eab?_0xa9d237!==_0x2f9eab:!![];return _0xa9d237!==_0x5052bd[_0x280535(0xdb)];}function buildDatasetCodeToAliasMap(_0x2bf57f,_0x32b1b2){const _0x37ef90=a31_0x4c0f15,_0x337d34=loadAliasMap(_0x2bf57f,undefined,resolveApiFilePath(_0x2bf57f,_0x32b1b2));return new Map(_0x337d34[_0x37ef90(0xfa)](_0x5460e2=>[_0x5460e2['datasetCode'],_0x5460e2['alias']]));}async function confirmForce(){const _0x1c03cc=a31_0x4c0f15,_0x27ee7a=createInterface({'input':process[_0x1c03cc(0xf2)],'output':process[_0x1c03cc(0x107)]}),_0x14aae1=await new Promise(_0x53289e=>{const _0x57c718=_0x1c03cc;_0x27ee7a[_0x57c718(0x10e)](_0x57c718(0xe6),_0x53289e);});return _0x27ee7a['close'](),['y',_0x1c03cc(0xf9)][_0x1c03cc(0x119)](_0x14aae1['trim']()[_0x1c03cc(0x110)]());}
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']());}