@lovrabet/rabetbase-cli 2.1.6-beta.0 → 2.1.7-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 (196) hide show
  1. package/lib/api/api-doc.js +1 -1
  2. package/lib/api/fetch-model-list.js +1 -1
  3. package/lib/api/generate-api-file.js +1 -1
  4. package/lib/auth/auth-server-ui.js +1 -1
  5. package/lib/auth/auth-server.js +1 -1
  6. package/lib/auth/constant.js +1 -1
  7. package/lib/auth/get-cookie.js +1 -1
  8. package/lib/auth/get-session-user.js +1 -1
  9. package/lib/auth/is-session-valid.js +1 -1
  10. package/lib/auth/login-success-html.js +1 -1
  11. package/lib/auth/logout.js +1 -1
  12. package/lib/cli-flags.js +1 -1
  13. package/lib/cli.js +1 -1
  14. package/lib/commands/api/generate.js +1 -1
  15. package/lib/commands/api/index.js +1 -1
  16. package/lib/commands/api/list.js +1 -1
  17. package/lib/commands/api/pull.js +1 -1
  18. package/lib/commands/api/shared.js +1 -1
  19. package/lib/commands/app/add.js +1 -1
  20. package/lib/commands/app/discover.js +1 -1
  21. package/lib/commands/app/index.js +1 -1
  22. package/lib/commands/app/list.js +1 -1
  23. package/lib/commands/app/remove.js +1 -1
  24. package/lib/commands/app/shared.js +1 -1
  25. package/lib/commands/app/use.js +1 -1
  26. package/lib/commands/auth/index.js +1 -1
  27. package/lib/commands/bff/create.js +1 -1
  28. package/lib/commands/bff/delete.js +1 -1
  29. package/lib/commands/bff/detail.js +1 -1
  30. package/lib/commands/bff/index.js +1 -1
  31. package/lib/commands/bff/list.js +1 -1
  32. package/lib/commands/bff/pull.js +1 -1
  33. package/lib/commands/bff/push.js +1 -1
  34. package/lib/commands/bff/status.js +1 -1
  35. package/lib/commands/cli-update.js +1 -1
  36. package/lib/commands/codegen/index.js +1 -1
  37. package/lib/commands/codegen/sdk.js +1 -1
  38. package/lib/commands/codegen/sql.js +1 -1
  39. package/lib/commands/common/app-selector.js +1 -1
  40. package/lib/commands/common/flags.js +1 -1
  41. package/lib/commands/common/validate.js +1 -1
  42. package/lib/commands/config/get.js +1 -1
  43. package/lib/commands/config/index.js +1 -1
  44. package/lib/commands/config/list.js +1 -1
  45. package/lib/commands/config/set.js +1 -1
  46. package/lib/commands/config/shared.js +1 -1
  47. package/lib/commands/data/filter.js +1 -1
  48. package/lib/commands/data/getOne.js +1 -1
  49. package/lib/commands/data/index.js +1 -1
  50. package/lib/commands/data/shared.js +1 -1
  51. package/lib/commands/dataset/delete.js +1 -0
  52. package/lib/commands/dataset/detail.js +1 -1
  53. package/lib/commands/dataset/index.js +1 -1
  54. package/lib/commands/dataset/link-create.js +1 -0
  55. package/lib/commands/dataset/link-delete.js +1 -0
  56. package/lib/commands/dataset/link-shared.js +1 -0
  57. package/lib/commands/dataset/link-update.js +1 -0
  58. package/lib/commands/dataset/links.js +1 -1
  59. package/lib/commands/dataset/list.js +1 -1
  60. package/lib/commands/dataset/operations.js +1 -1
  61. package/lib/commands/db/analyze-cancel.js +1 -1
  62. package/lib/commands/db/analyze-start.js +1 -1
  63. package/lib/commands/db/analyze-status.js +1 -1
  64. package/lib/commands/db/create.js +1 -1
  65. package/lib/commands/db/delete.js +1 -1
  66. package/lib/commands/db/detail.js +1 -1
  67. package/lib/commands/db/diff.js +1 -1
  68. package/lib/commands/db/index.js +1 -1
  69. package/lib/commands/db/list.js +1 -1
  70. package/lib/commands/db/shared.js +1 -1
  71. package/lib/commands/db/tables.js +1 -1
  72. package/lib/commands/db/test.js +1 -1
  73. package/lib/commands/db/update.js +1 -1
  74. package/lib/commands/doctor.js +1 -1
  75. package/lib/commands/init/index.js +1 -1
  76. package/lib/commands/issue/index.js +1 -0
  77. package/lib/commands/issue/report.js +1 -0
  78. package/lib/commands/logs/index.js +1 -1
  79. package/lib/commands/menu/index.js +1 -1
  80. package/lib/commands/menu/shared/compare-table.js +1 -1
  81. package/lib/commands/menu/shared/index.js +1 -1
  82. package/lib/commands/menu/shared/inquirer.js +1 -1
  83. package/lib/commands/menu/shared/local-pages.js +1 -1
  84. package/lib/commands/menu/shared/logic.js +1 -1
  85. package/lib/commands/menu/shared/service.js +1 -1
  86. package/lib/commands/menu/shared/sync-core.js +1 -1
  87. package/lib/commands/menu/shared/update-core.js +1 -1
  88. package/lib/commands/menu/shared/valid-url.js +1 -1
  89. package/lib/commands/menu/sync.js +1 -1
  90. package/lib/commands/menu/update.js +1 -1
  91. package/lib/commands/page/generate-start.js +1 -1
  92. package/lib/commands/page/generate-status.js +1 -1
  93. package/lib/commands/page/index.js +1 -1
  94. package/lib/commands/page/pull.js +1 -1
  95. package/lib/commands/page/push.js +1 -1
  96. package/lib/commands/page/shared.js +1 -1
  97. package/lib/commands/page/standard-page-status.js +1 -1
  98. package/lib/commands/page/sync.js +1 -1
  99. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  100. package/lib/commands/project/create/format-elapsed.js +1 -1
  101. package/lib/commands/project/create/main.js +1 -1
  102. package/lib/commands/project/create/non-interactive.js +1 -1
  103. package/lib/commands/project/create/project-template-path.js +1 -1
  104. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  105. package/lib/commands/project/create/use-format-code.js +1 -1
  106. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  107. package/lib/commands/project/index.js +1 -1
  108. package/lib/commands/project/init.js +1 -1
  109. package/lib/commands/project/upgrade.js +1 -1
  110. package/lib/commands/registry.js +1 -1
  111. package/lib/commands/run/index.js +1 -1
  112. package/lib/commands/schema.js +1 -1
  113. package/lib/commands/skill/index.js +1 -1
  114. package/lib/commands/sql/create.js +1 -1
  115. package/lib/commands/sql/delete.js +1 -1
  116. package/lib/commands/sql/detail.js +1 -1
  117. package/lib/commands/sql/exec.js +1 -1
  118. package/lib/commands/sql/index.js +1 -1
  119. package/lib/commands/sql/list.js +1 -1
  120. package/lib/commands/sql/pull.js +1 -1
  121. package/lib/commands/sql/push.js +1 -1
  122. package/lib/commands/sql/save.js +1 -1
  123. package/lib/commands/sql/shared.js +1 -1
  124. package/lib/commands/sql/status.js +1 -1
  125. package/lib/commands/sql/validate.js +1 -1
  126. package/lib/config/schema.js +1 -1
  127. package/lib/constant/cdn.js +1 -1
  128. package/lib/constant/cli.js +1 -1
  129. package/lib/constant/defaults.js +1 -1
  130. package/lib/constant/domain.js +1 -1
  131. package/lib/constant/env.js +1 -1
  132. package/lib/constant/output.js +1 -1
  133. package/lib/constant/paths.js +1 -1
  134. package/lib/constant/risk.js +1 -1
  135. package/lib/context.js +1 -1
  136. package/lib/core/alias-resolver.js +1 -1
  137. package/lib/core/api-client.js +1 -1
  138. package/lib/core/bff/config.js +1 -1
  139. package/lib/core/bff/file-system.js +1 -1
  140. package/lib/core/bff/hash.js +1 -1
  141. package/lib/core/bff/lock.js +1 -1
  142. package/lib/core/bff/utils.js +1 -1
  143. package/lib/core/db-resolver.js +1 -1
  144. package/lib/core/page/file-system.js +1 -1
  145. package/lib/core/page/hash.js +1 -1
  146. package/lib/core/page/lock.js +1 -1
  147. package/lib/core/sql-sync/config.js +1 -1
  148. package/lib/core/sql-sync/file-system.js +1 -1
  149. package/lib/core/sql-sync/hash.js +1 -1
  150. package/lib/core/sql-sync/lock.js +1 -1
  151. package/lib/core/sql-sync/utils.js +1 -1
  152. package/lib/core/sql-validator.js +1 -1
  153. package/lib/errors.js +1 -1
  154. package/lib/framework/build-all-flags.js +1 -1
  155. package/lib/framework/flags.js +1 -1
  156. package/lib/framework/help.js +1 -1
  157. package/lib/framework/index.js +1 -1
  158. package/lib/framework/output.js +1 -1
  159. package/lib/framework/response.js +1 -1
  160. package/lib/framework/runner-alias.js +1 -1
  161. package/lib/framework/runner.js +1 -1
  162. package/lib/framework/schema-export.js +1 -1
  163. package/lib/framework/types.js +1 -1
  164. package/lib/generated/build-info.js +1 -1
  165. package/lib/help.js +1 -1
  166. package/lib/skills/main.js +1 -1
  167. package/lib/skills/npx-skills-add.js +1 -1
  168. package/lib/telemetry/cli-command-trace.js +1 -1
  169. package/lib/telemetry/cli-help-trace.js +1 -1
  170. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  171. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  172. package/lib/telemetry/send-cli-trace-log.js +1 -1
  173. package/lib/telemetry/send-platform-issue-collect-log.js +1 -0
  174. package/lib/utils/ai_config.js +1 -1
  175. package/lib/utils/apply-jq-filter.js +1 -1
  176. package/lib/utils/cdn-config.js +1 -1
  177. package/lib/utils/check-sdk-version.js +1 -1
  178. package/lib/utils/cli-version-check.js +1 -1
  179. package/lib/utils/cli-version-policy.js +1 -1
  180. package/lib/utils/config.js +1 -1
  181. package/lib/utils/copy-directory.js +1 -1
  182. package/lib/utils/entity-with-id.js +1 -1
  183. package/lib/utils/file-utils.js +1 -1
  184. package/lib/utils/guides-cdn.js +1 -1
  185. package/lib/utils/http-client.js +1 -1
  186. package/lib/utils/is-non-interactive.js +1 -1
  187. package/lib/utils/logger.js +1 -1
  188. package/lib/utils/params.js +1 -1
  189. package/lib/utils/platform.js +1 -1
  190. package/lib/utils/rules-cdn.js +1 -1
  191. package/lib/utils/sleep.js +1 -1
  192. package/lib/utils/template-replacer.js +1 -1
  193. package/lib/utils/version.js +1 -1
  194. package/lib/utils/with-active-cookie.js +1 -1
  195. package/lib/utils/write-cli-side-channel.js +1 -1
  196. package/package.json +2 -1
@@ -1 +1 @@
1
- (function(_0x376230,_0xef75c2){const _0x36ac7b=a20_0x5388,_0x3174b4=_0x376230();while(!![]){try{const _0x34b2ee=-parseInt(_0x36ac7b(0xdd))/0x1*(-parseInt(_0x36ac7b(0xd8))/0x2)+parseInt(_0x36ac7b(0xdb))/0x3*(-parseInt(_0x36ac7b(0xe2))/0x4)+parseInt(_0x36ac7b(0xda))/0x5*(-parseInt(_0x36ac7b(0xe0))/0x6)+-parseInt(_0x36ac7b(0xdf))/0x7*(-parseInt(_0x36ac7b(0xde))/0x8)+-parseInt(_0x36ac7b(0xdc))/0x9+parseInt(_0x36ac7b(0xd9))/0xa*(-parseInt(_0x36ac7b(0xe1))/0xb)+-parseInt(_0x36ac7b(0xe3))/0xc*(-parseInt(_0x36ac7b(0xd7))/0xd);if(_0x34b2ee===_0xef75c2)break;else _0x3174b4['push'](_0x3174b4['shift']());}catch(_0xf4f667){_0x3174b4['push'](_0x3174b4['shift']());}}}(a20_0x1dcf,0x5c89b));import{appListDefinition}from'../../commands/app/list.js';import{appRemoteDefinition}from'../../commands/app/discover.js';import{appUseDefinition}from'../../commands/app/use.js';function a20_0x1dcf(){const _0x405f3e=['13cUjUgA','146YxQlBV','30gDuinH','77920Xmybrr','83319tbNrnQ','1875114MElZlv','5845LyVMCY','38272RKexhg','259tOGnNC','258mOYjXz','1550868dIAVes','96ALYmGO','20919792rWBYvM'];a20_0x1dcf=function(){return _0x405f3e;};return a20_0x1dcf();}function a20_0x5388(_0x2ed2a3,_0x47c9bc){_0x2ed2a3=_0x2ed2a3-0xd7;const _0x1dcff6=a20_0x1dcf();let _0x53884c=_0x1dcff6[_0x2ed2a3];return _0x53884c;}import{appAddDefinition}from'../../commands/app/add.js';import{appRemoveDefinition}from'../../commands/app/remove.js';export const appDefinitions=[appListDefinition,appRemoteDefinition,appUseDefinition,appAddDefinition,appRemoveDefinition];
1
+ function a20_0x1f5b(){const _0x12ac7b=['4293915jdDGaa','959076qpgAmp','6lIAssn','10604630IaHCIs','1301908mdpNjI','6CfRiWK','40XaujSK','5033147fTRtKB','673325XVOzMa','1793384lmgPpO'];a20_0x1f5b=function(){return _0x12ac7b;};return a20_0x1f5b();}(function(_0x503064,_0xcef6a3){const _0x5e026a=a20_0x4c1c,_0x10d699=_0x503064();while(!![]){try{const _0x3cb7a2=-parseInt(_0x5e026a(0x1be))/0x1+parseInt(_0x5e026a(0x1bf))/0x2+parseInt(_0x5e026a(0x1c2))/0x3*(parseInt(_0x5e026a(0x1ba))/0x4)+parseInt(_0x5e026a(0x1c0))/0x5*(parseInt(_0x5e026a(0x1bb))/0x6)+-parseInt(_0x5e026a(0x1bd))/0x7+-parseInt(_0x5e026a(0x1bc))/0x8*(-parseInt(_0x5e026a(0x1c1))/0x9)+-parseInt(_0x5e026a(0x1c3))/0xa;if(_0x3cb7a2===_0xcef6a3)break;else _0x10d699['push'](_0x10d699['shift']());}catch(_0x23c368){_0x10d699['push'](_0x10d699['shift']());}}}(a20_0x1f5b,0x76c28));function a20_0x4c1c(_0x41ee3a,_0x2f2c7a){_0x41ee3a=_0x41ee3a-0x1ba;const _0x1f5bbc=a20_0x1f5b();let _0x4c1c34=_0x1f5bbc[_0x41ee3a];return _0x4c1c34;}import{appListDefinition}from'../../commands/app/list.js';import{appRemoteDefinition}from'../../commands/app/discover.js';import{appUseDefinition}from'../../commands/app/use.js';import{appAddDefinition}from'../../commands/app/add.js';import{appRemoveDefinition}from'../../commands/app/remove.js';export const appDefinitions=[appListDefinition,appRemoteDefinition,appUseDefinition,appAddDefinition,appRemoveDefinition];
@@ -1 +1 @@
1
- const a21_0x2b9f47=a21_0x22e1;function a21_0x22e1(_0x4dac0b,_0x152e8b){_0x4dac0b=_0x4dac0b-0x15a;const _0x1f5746=a21_0x1f57();let _0x22e12c=_0x1f5746[_0x4dac0b];return _0x22e12c;}(function(_0xa3d0a,_0x20d4a1){const _0x4f3473=a21_0x22e1,_0x4a4952=_0xa3d0a();while(!![]){try{const _0x2f9b8e=-parseInt(_0x4f3473(0x17a))/0x1+parseInt(_0x4f3473(0x15a))/0x2*(-parseInt(_0x4f3473(0x176))/0x3)+parseInt(_0x4f3473(0x160))/0x4*(-parseInt(_0x4f3473(0x16d))/0x5)+-parseInt(_0x4f3473(0x174))/0x6+-parseInt(_0x4f3473(0x16c))/0x7*(parseInt(_0x4f3473(0x175))/0x8)+-parseInt(_0x4f3473(0x15b))/0x9+-parseInt(_0x4f3473(0x16b))/0xa*(-parseInt(_0x4f3473(0x17c))/0xb);if(_0x2f9b8e===_0x20d4a1)break;else _0x4a4952['push'](_0x4a4952['shift']());}catch(_0x1b135e){_0x4a4952['push'](_0x4a4952['shift']());}}}(a21_0x1f57,0x7d632));import{readRawConfigWithLayers}from'../../context.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{buildAppProfileListFields}from'../../config/schema.js';import{appDefinedIn,enrichAppListItemsWithMergedSelection,resolveDefaultAppSource}from'../../commands/app/shared.js';function buildItemsFromLayer(_0x30d33b,_0x8d57f0){const _0x1aca3f=a21_0x22e1,_0x2ddadd=[],_0x3afede=_0x30d33b['apps']&&typeof _0x30d33b[_0x1aca3f(0x172)]===_0x1aca3f(0x173)?_0x30d33b[_0x1aca3f(0x172)]:{},_0x4bfde4=_0x30d33b[_0x1aca3f(0x15f)]||undefined;for(const [_0x170b51,_0x42c851]of Object[_0x1aca3f(0x15e)](_0x3afede)){if(!_0x42c851||typeof _0x42c851!==_0x1aca3f(0x173)||!_0x42c851[_0x1aca3f(0x165)])continue;_0x2ddadd[_0x1aca3f(0x179)]({'name':_0x170b51,'appcode':_0x42c851[_0x1aca3f(0x165)],'named':!![],'definedIn':_0x8d57f0,'isDefault':_0x170b51===_0x4bfde4,...buildAppProfileListFields(_0x42c851)});}return _0x2ddadd;}function a21_0x1f57(){const _0x14f3cc=['\x20app\x20add\x20<name>\x20--appcode\x20<code>`\x20to\x20add\x20one.','push','438158LMTQcb','boolean','187NpeKrv','map','length','2qckWjf','2577771mvMdVY','find','global','entries','defaultApp','908fUOZOO','\x20in\x20','bool','Show\x20only\x20apps\x20from\x20project\x20.rabetbase.json','inherit','appcode','\x20config','No\x20apps\x20configured','project','projectPath','projectConfig','2573250bClTij','6229321XNxreO','21020cGRAta','globalPath','app','globalConfig','merged','apps','object','4930854kouoab','8SOYqzP','1411026SVYngy','list'];a21_0x1f57=function(){return _0x14f3cc;};return a21_0x1f57();}function buildMergedItems(_0x33bf60,_0x2b8a70){const _0x3fe0ef=a21_0x22e1,{apps:apps={},defaultApp:_0x46a235}=_0x33bf60,_0x356a94=_0x2b8a70[_0x3fe0ef(0x170)][_0x3fe0ef(0x172)]&&typeof _0x2b8a70[_0x3fe0ef(0x170)][_0x3fe0ef(0x172)]===_0x3fe0ef(0x173)?_0x2b8a70[_0x3fe0ef(0x170)][_0x3fe0ef(0x172)]:{},_0x117b14=_0x2b8a70['projectConfig']['apps']&&typeof _0x2b8a70[_0x3fe0ef(0x16a)][_0x3fe0ef(0x172)]===_0x3fe0ef(0x173)?_0x2b8a70[_0x3fe0ef(0x16a)][_0x3fe0ef(0x172)]:{},_0x997e74=_0x2b8a70['projectConfig'][_0x3fe0ef(0x164)]===![],_0x3547a1=Object[_0x3fe0ef(0x15e)](apps),_0x20ac6f=_0x3547a1[_0x3fe0ef(0x17d)](([_0x25f2b7,_0x4cc9da])=>({'name':_0x25f2b7,'appcode':_0x4cc9da[_0x3fe0ef(0x165)],'named':!![],'definedIn':appDefinedIn(_0x25f2b7,_0x356a94,_0x117b14,_0x997e74),'isDefault':_0x25f2b7===_0x46a235,...buildAppProfileListFields(_0x4cc9da)}));return _0x20ac6f;}async function execute(_0x30ee61){const _0x1894b4=a21_0x22e1,_0x4e3cbd=_0x30ee61[_0x1894b4(0x162)](_0x1894b4(0x15d)),_0x2126df=_0x30ee61[_0x1894b4(0x162)](_0x1894b4(0x168)),_0x12c2ec=_0x4e3cbd?'global':_0x2126df?_0x1894b4(0x168):_0x1894b4(0x171),{config:_0x2d5f2b,layers:_0x2dea52}=readRawConfigWithLayers(),_0x295e49=resolveDefaultAppSource(_0x2dea52),{defaultApp:_0x43ec5b}=_0x2d5f2b;let _0x13c17a,_0x30a0bc;switch(_0x12c2ec){case _0x1894b4(0x15d):_0x13c17a=buildItemsFromLayer(_0x2dea52['globalConfig'],_0x1894b4(0x15d)),_0x30a0bc=_0x2dea52[_0x1894b4(0x16e)];break;case _0x1894b4(0x168):_0x13c17a=buildItemsFromLayer(_0x2dea52['projectConfig'],_0x1894b4(0x168)),_0x30a0bc=_0x2dea52[_0x1894b4(0x169)];break;default:_0x13c17a=buildMergedItems(_0x2d5f2b,_0x2dea52);break;}enrichAppListItemsWithMergedSelection(_0x13c17a,_0x30ee61['mergedCli']);if(_0x13c17a[_0x1894b4(0x17e)]===0x0){const _0x26efd0=_0x12c2ec===_0x1894b4(0x171)?'':_0x1894b4(0x161)+_0x12c2ec+_0x1894b4(0x166);return{'ok':!![],'data':[],'message':_0x1894b4(0x167)+_0x26efd0+'.\x20Use\x20`'+CLI_BIN_NAME+_0x1894b4(0x178)};}const _0x970660=_0x13c17a[_0x1894b4(0x15c)](_0x1088f5=>_0x1088f5['isCurrent']===!![]),_0x237707=_0x43ec5b??_0x970660?.[_0x1894b4(0x165)]??null,_0x2e0898=_0x12c2ec==='merged'?{'globalPath':_0x2dea52[_0x1894b4(0x16e)]??null,'projectPath':_0x2dea52[_0x1894b4(0x169)]??null,'defaultApp':_0x237707,'defaultAppSource':_0x43ec5b!=null?_0x295e49:null}:{'scope':_0x12c2ec,'configPath':_0x30a0bc??null};return{'ok':!![],'data':{'items':_0x13c17a,'meta':_0x2e0898}};}export const appListDefinition={'service':a21_0x2b9f47(0x16f),'command':a21_0x2b9f47(0x177),'description':'List\x20all\x20configured\x20apps','risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[{'name':a21_0x2b9f47(0x15d),'type':a21_0x2b9f47(0x17b),'description':'Show\x20only\x20apps\x20from\x20global\x20~/.rabetbase.json','default':![]},{'name':a21_0x2b9f47(0x168),'type':'boolean','description':a21_0x2b9f47(0x163),'default':![]}],'execute':execute};
1
+ function a21_0x4fbf(_0x54203c,_0x417ae5){_0x54203c=_0x54203c-0x1ac;const _0xdf3896=a21_0xdf38();let _0x4fbfbf=_0xdf3896[_0x54203c];return _0x4fbfbf;}const a21_0x40d94f=a21_0x4fbf;(function(_0x10dd5c,_0x71afab){const _0x439cc1=a21_0x4fbf,_0x11b170=_0x10dd5c();while(!![]){try{const _0x2bba33=-parseInt(_0x439cc1(0x1c8))/0x1*(-parseInt(_0x439cc1(0x1b1))/0x2)+-parseInt(_0x439cc1(0x1b2))/0x3+-parseInt(_0x439cc1(0x1bd))/0x4+parseInt(_0x439cc1(0x1ac))/0x5*(parseInt(_0x439cc1(0x1b7))/0x6)+parseInt(_0x439cc1(0x1cc))/0x7+parseInt(_0x439cc1(0x1c7))/0x8*(parseInt(_0x439cc1(0x1c3))/0x9)+parseInt(_0x439cc1(0x1bb))/0xa*(-parseInt(_0x439cc1(0x1bf))/0xb);if(_0x2bba33===_0x71afab)break;else _0x11b170['push'](_0x11b170['shift']());}catch(_0x2ac4cd){_0x11b170['push'](_0x11b170['shift']());}}}(a21_0xdf38,0x39d22));import{readRawConfigWithLayers}from'../../context.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{buildAppProfileListFields}from'../../config/schema.js';import{appDefinedIn,enrichAppListItemsWithMergedSelection,resolveDefaultAppSource}from'../../commands/app/shared.js';function a21_0xdf38(){const _0x47ab02=['No\x20apps\x20configured','25ZpPRTP','list','object','boolean','defaultApp','10UkZPcZ','1263492RuBqYF','mergedCli','global','length','\x20in\x20','84426dCgQPT','globalConfig','isCurrent','project','90THuGfS','List\x20all\x20configured\x20apps','1235780JshknX','projectPath','112321WZDkWb','merged','entries','bool','3932892OmBucl','push','inherit','.\x20Use\x20`','8TDKlBT','76547ApLRkV','appcode','apps','globalPath','1181348dXFekf','projectConfig'];a21_0xdf38=function(){return _0x47ab02;};return a21_0xdf38();}function buildItemsFromLayer(_0x3a9694,_0x164a0a){const _0x2cf053=a21_0x4fbf,_0x615c80=[],_0x41463a=_0x3a9694[_0x2cf053(0x1ca)]&&typeof _0x3a9694[_0x2cf053(0x1ca)]===_0x2cf053(0x1ae)?_0x3a9694[_0x2cf053(0x1ca)]:{},_0x122c72=_0x3a9694[_0x2cf053(0x1b0)]||undefined;for(const [_0x24b5aa,_0x227758]of Object[_0x2cf053(0x1c1)](_0x41463a)){if(!_0x227758||typeof _0x227758!==_0x2cf053(0x1ae)||!_0x227758[_0x2cf053(0x1c9)])continue;_0x615c80[_0x2cf053(0x1c4)]({'name':_0x24b5aa,'appcode':_0x227758['appcode'],'named':!![],'definedIn':_0x164a0a,'isDefault':_0x24b5aa===_0x122c72,...buildAppProfileListFields(_0x227758)});}return _0x615c80;}function buildMergedItems(_0x20bbc4,_0x2bf6b2){const _0xac6a87=a21_0x4fbf,{apps:apps={},defaultApp:_0x4218d2}=_0x20bbc4,_0x17dba8=_0x2bf6b2[_0xac6a87(0x1b8)][_0xac6a87(0x1ca)]&&typeof _0x2bf6b2[_0xac6a87(0x1b8)][_0xac6a87(0x1ca)]===_0xac6a87(0x1ae)?_0x2bf6b2['globalConfig'][_0xac6a87(0x1ca)]:{},_0x410663=_0x2bf6b2['projectConfig'][_0xac6a87(0x1ca)]&&typeof _0x2bf6b2['projectConfig']['apps']===_0xac6a87(0x1ae)?_0x2bf6b2['projectConfig'][_0xac6a87(0x1ca)]:{},_0x30a289=_0x2bf6b2[_0xac6a87(0x1cd)][_0xac6a87(0x1c5)]===![],_0x2f84fc=Object[_0xac6a87(0x1c1)](apps),_0x1781af=_0x2f84fc['map'](([_0x1c81ff,_0x44fb90])=>({'name':_0x1c81ff,'appcode':_0x44fb90[_0xac6a87(0x1c9)],'named':!![],'definedIn':appDefinedIn(_0x1c81ff,_0x17dba8,_0x410663,_0x30a289),'isDefault':_0x1c81ff===_0x4218d2,...buildAppProfileListFields(_0x44fb90)}));return _0x1781af;}async function execute(_0x26dddb){const _0xd57b01=a21_0x4fbf,_0x38b918=_0x26dddb[_0xd57b01(0x1c2)](_0xd57b01(0x1b4)),_0x3d92b6=_0x26dddb['bool']('project'),_0x222288=_0x38b918?_0xd57b01(0x1b4):_0x3d92b6?_0xd57b01(0x1ba):_0xd57b01(0x1c0),{config:_0x3b1752,layers:_0x142f58}=readRawConfigWithLayers(),_0x5896d9=resolveDefaultAppSource(_0x142f58),{defaultApp:_0x471359}=_0x3b1752;let _0xe74a65,_0x298240;switch(_0x222288){case _0xd57b01(0x1b4):_0xe74a65=buildItemsFromLayer(_0x142f58[_0xd57b01(0x1b8)],'global'),_0x298240=_0x142f58[_0xd57b01(0x1cb)];break;case _0xd57b01(0x1ba):_0xe74a65=buildItemsFromLayer(_0x142f58[_0xd57b01(0x1cd)],_0xd57b01(0x1ba)),_0x298240=_0x142f58[_0xd57b01(0x1be)];break;default:_0xe74a65=buildMergedItems(_0x3b1752,_0x142f58);break;}enrichAppListItemsWithMergedSelection(_0xe74a65,_0x26dddb[_0xd57b01(0x1b3)]);if(_0xe74a65[_0xd57b01(0x1b5)]===0x0){const _0x5b2c94=_0x222288===_0xd57b01(0x1c0)?'':_0xd57b01(0x1b6)+_0x222288+'\x20config';return{'ok':!![],'data':[],'message':_0xd57b01(0x1ce)+_0x5b2c94+_0xd57b01(0x1c6)+CLI_BIN_NAME+'\x20app\x20add\x20<name>\x20--appcode\x20<code>`\x20to\x20add\x20one.'};}const _0x3f73ee=_0xe74a65['find'](_0x56df35=>_0x56df35[_0xd57b01(0x1b9)]===!![]),_0x433eaf=_0x471359??_0x3f73ee?.['appcode']??null,_0x2edc00=_0x222288===_0xd57b01(0x1c0)?{'globalPath':_0x142f58['globalPath']??null,'projectPath':_0x142f58['projectPath']??null,'defaultApp':_0x433eaf,'defaultAppSource':_0x471359!=null?_0x5896d9:null}:{'scope':_0x222288,'configPath':_0x298240??null};return{'ok':!![],'data':{'items':_0xe74a65,'meta':_0x2edc00}};}export const appListDefinition={'service':'app','command':a21_0x40d94f(0x1ad),'description':a21_0x40d94f(0x1bc),'risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[{'name':a21_0x40d94f(0x1b4),'type':a21_0x40d94f(0x1af),'description':'Show\x20only\x20apps\x20from\x20global\x20~/.rabetbase.json','default':![]},{'name':a21_0x40d94f(0x1ba),'type':'boolean','description':'Show\x20only\x20apps\x20from\x20project\x20.rabetbase.json','default':![]}],'execute':execute};
@@ -1 +1 @@
1
- function a22_0x1869(){const _0xfd33e8=['3627840WTpQtF','Use\x20global\x20config\x20scope','\x20config.','6938919UirxKH','2639346MnxAMO','\x22\x20not\x20found.','77zrMcUu','validation','Usage:\x20','project','apps','remove','projectConfig','keys','app','trim','both','8193710JLUGdj','args','name','6qXDqHb','\x20app\x20remove\x20<name>\x20[--global]','high-risk-write','3635145wbRTuK','3045363SXvQoh','defaultApp','Missing\x20app\x20name.','8wmXCkN','boolean','337710fQIgwT','App\x20\x22','global','bool','globalConfig','1CeuZNg','\x20Note:\x20app\x20\x22','Remove\x20an\x20app\x20from\x20config'];a22_0x1869=function(){return _0xfd33e8;};return a22_0x1869();}const a22_0x23233b=a22_0x5b06;(function(_0x2b353e,_0x6ae551){const _0x56cfc1=a22_0x5b06,_0x5f4b96=_0x2b353e();while(!![]){try{const _0x4896eb=-parseInt(_0x56cfc1(0x17e))/0x1*(parseInt(_0x56cfc1(0x185))/0x2)+parseInt(_0x56cfc1(0x174))/0x3+parseInt(_0x56cfc1(0x181))/0x4+parseInt(_0x56cfc1(0x173))/0x5+-parseInt(_0x56cfc1(0x170))/0x6*(parseInt(_0x56cfc1(0x16d))/0x7)+-parseInt(_0x56cfc1(0x177))/0x8*(-parseInt(_0x56cfc1(0x184))/0x9)+parseInt(_0x56cfc1(0x179))/0xa*(-parseInt(_0x56cfc1(0x162))/0xb);if(_0x4896eb===_0x6ae551)break;else _0x5f4b96['push'](_0x5f4b96['shift']());}catch(_0x34761f){_0x5f4b96['push'](_0x5f4b96['shift']());}}}(a22_0x1869,0xa94fd));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{readRawConfigWithLayers}from'../../context.js';import{readConfig,writeConfig,scopeLabel,resolveAppScopeForWrite,appDefinedIn}from'../../commands/app/shared.js';function a22_0x5b06(_0xb29763,_0x33bcf3){_0xb29763=_0xb29763-0x162;const _0x1869df=a22_0x1869();let _0x5b068b=_0x1869df[_0xb29763];return _0x5b068b;}async function validateArgs(_0xec7b38){const _0x463ba4=a22_0x5b06,_0x2d059b=_0xec7b38[_0x463ba4(0x16e)][0x0]?.['trim']();if(!_0x2d059b)throw CliErrors[_0x463ba4(0x163)](_0x463ba4(0x176),_0x463ba4(0x164)+CLI_BIN_NAME+_0x463ba4(0x171));}async function execute(_0x55210a){const _0x3ec759=a22_0x5b06,_0x123997=_0x55210a[_0x3ec759(0x16e)][0x0]?.[_0x3ec759(0x16b)]();if(!_0x123997)throw CliErrors['validation']('Missing\x20app\x20name.',_0x3ec759(0x164)+CLI_BIN_NAME+'\x20app\x20remove\x20<name>\x20[--global]');const _0x29d963=_0x55210a[_0x3ec759(0x17c)](_0x3ec759(0x17b)),{config:_0x2073ba,layers:_0x3c080d}=readRawConfigWithLayers(),_0x47e873=_0x2073ba[_0x3ec759(0x166)]??{};if(!_0x47e873[_0x123997])throw CliErrors[_0x3ec759(0x163)](_0x3ec759(0x17a)+_0x123997+_0x3ec759(0x186));const _0x45110c=_0x3c080d[_0x3ec759(0x17d)][_0x3ec759(0x166)]&&typeof _0x3c080d['globalConfig'][_0x3ec759(0x166)]==='object'?_0x3c080d[_0x3ec759(0x17d)]['apps']:{},_0x1b7d74=_0x3c080d['projectConfig'][_0x3ec759(0x166)]&&typeof _0x3c080d[_0x3ec759(0x168)][_0x3ec759(0x166)]==='object'?_0x3c080d['projectConfig'][_0x3ec759(0x166)]:{},_0x219bbf=appDefinedIn(_0x123997,_0x45110c,_0x1b7d74,_0x3c080d[_0x3ec759(0x168)]['inherit']===![]),_0x40ad24=resolveAppScopeForWrite(_0x123997,_0x29d963,_0x3c080d),_0x2955fc={'global':_0x40ad24==='global'},_0xf90e7c=readConfig(_0x2955fc),_0x203281=_0xf90e7c[_0x3ec759(0x166)];if(!_0x203281||!_0x203281[_0x123997])throw CliErrors[_0x3ec759(0x163)](_0x3ec759(0x17a)+_0x123997+_0x3ec759(0x186));delete _0x203281[_0x123997];let _0x2df2d1='';if(_0xf90e7c[_0x3ec759(0x175)]===_0x123997){const _0x117a9c=Object[_0x3ec759(0x169)](_0x203281);_0xf90e7c[_0x3ec759(0x175)]=_0x117a9c['length']>0x0?_0x117a9c[0x0]:undefined,_0xf90e7c[_0x3ec759(0x175)]?_0x2df2d1='\x20Default\x20app\x20changed\x20to\x20\x22'+_0xf90e7c[_0x3ec759(0x175)]+'\x22.':delete _0xf90e7c['defaultApp'];}Object[_0x3ec759(0x169)](_0x203281)['length']===0x0&&(delete _0xf90e7c[_0x3ec759(0x166)],delete _0xf90e7c[_0x3ec759(0x175)]);writeConfig(_0xf90e7c,_0x2955fc);const _0x1128d6=_0x219bbf===_0x3ec759(0x16c)?_0x3ec759(0x17f)+_0x123997+'\x22\x20still\x20defined\x20in\x20'+(_0x40ad24==='project'?'global':_0x3ec759(0x165))+_0x3ec759(0x183):'';return{'ok':!![],'message':'Removed\x20app\x20\x22'+_0x123997+'\x22'+scopeLabel(_0x2955fc)+'.'+_0x2df2d1+_0x1128d6};}export const appRemoveDefinition={'service':a22_0x23233b(0x16a),'command':a22_0x23233b(0x167),'description':a22_0x23233b(0x180),'risk':a22_0x23233b(0x172),'requiresAuth':![],'requiresAppCode':![],'args':[{'name':a22_0x23233b(0x16f),'description':'App\x20profile\x20name\x20to\x20remove','required':!![]}],'flags':[{'name':a22_0x23233b(0x17b),'type':a22_0x23233b(0x178),'description':a22_0x23233b(0x182),'default':![]}],'validate':validateArgs,'execute':execute};
1
+ const a22_0x59f42c=a22_0x3fe2;(function(_0x2baae7,_0x504e23){const _0x1b2938=a22_0x3fe2,_0x5ba7b3=_0x2baae7();while(!![]){try{const _0x4a1572=parseInt(_0x1b2938(0x1c6))/0x1+parseInt(_0x1b2938(0x1d1))/0x2+parseInt(_0x1b2938(0x1c9))/0x3*(parseInt(_0x1b2938(0x1c5))/0x4)+-parseInt(_0x1b2938(0x1ba))/0x5*(parseInt(_0x1b2938(0x1ce))/0x6)+parseInt(_0x1b2938(0x1aa))/0x7*(-parseInt(_0x1b2938(0x1c8))/0x8)+-parseInt(_0x1b2938(0x1cf))/0x9*(parseInt(_0x1b2938(0x1b7))/0xa)+parseInt(_0x1b2938(0x1c1))/0xb;if(_0x4a1572===_0x504e23)break;else _0x5ba7b3['push'](_0x5ba7b3['shift']());}catch(_0x32ce27){_0x5ba7b3['push'](_0x5ba7b3['shift']());}}}(a22_0x2442,0x8c699));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';function a22_0x3fe2(_0x104920,_0x3c6221){_0x104920=_0x104920-0x1aa;const _0x2442d3=a22_0x2442();let _0x3fe28c=_0x2442d3[_0x104920];return _0x3fe28c;}import{readRawConfigWithLayers}from'../../context.js';import{readConfig,writeConfig,scopeLabel,resolveAppScopeForWrite,appDefinedIn}from'../../commands/app/shared.js';async function validateArgs(_0x3a38dc){const _0x4c5395=a22_0x3fe2,_0x26f61e=_0x3a38dc[_0x4c5395(0x1ad)][0x0]?.[_0x4c5395(0x1ae)]();if(!_0x26f61e)throw CliErrors[_0x4c5395(0x1c2)](_0x4c5395(0x1b9),_0x4c5395(0x1b6)+CLI_BIN_NAME+_0x4c5395(0x1cd));}async function execute(_0x18b496){const _0x2b3e7b=a22_0x3fe2,_0x5528eb=_0x18b496[_0x2b3e7b(0x1ad)][0x0]?.[_0x2b3e7b(0x1ae)]();if(!_0x5528eb)throw CliErrors[_0x2b3e7b(0x1c2)](_0x2b3e7b(0x1b9),_0x2b3e7b(0x1b6)+CLI_BIN_NAME+_0x2b3e7b(0x1cd));const _0x150973=_0x18b496[_0x2b3e7b(0x1b3)](_0x2b3e7b(0x1d0)),{config:_0x225f31,layers:_0x5aaad8}=readRawConfigWithLayers(),_0x1092eb=_0x225f31[_0x2b3e7b(0x1cb)]??{};if(!_0x1092eb[_0x5528eb])throw CliErrors[_0x2b3e7b(0x1c2)]('App\x20\x22'+_0x5528eb+_0x2b3e7b(0x1be));const _0x348608=_0x5aaad8[_0x2b3e7b(0x1c4)][_0x2b3e7b(0x1cb)]&&typeof _0x5aaad8[_0x2b3e7b(0x1c4)]['apps']===_0x2b3e7b(0x1ac)?_0x5aaad8[_0x2b3e7b(0x1c4)]['apps']:{},_0x323878=_0x5aaad8[_0x2b3e7b(0x1ca)][_0x2b3e7b(0x1cb)]&&typeof _0x5aaad8['projectConfig'][_0x2b3e7b(0x1cb)]===_0x2b3e7b(0x1ac)?_0x5aaad8[_0x2b3e7b(0x1ca)]['apps']:{},_0x4fcad5=appDefinedIn(_0x5528eb,_0x348608,_0x323878,_0x5aaad8[_0x2b3e7b(0x1ca)][_0x2b3e7b(0x1b1)]===![]),_0x334d51=resolveAppScopeForWrite(_0x5528eb,_0x150973,_0x5aaad8),_0x23edac={'global':_0x334d51==='global'},_0x5ba8f1=readConfig(_0x23edac),_0x475e20=_0x5ba8f1[_0x2b3e7b(0x1cb)];if(!_0x475e20||!_0x475e20[_0x5528eb])throw CliErrors['validation'](_0x2b3e7b(0x1c3)+_0x5528eb+_0x2b3e7b(0x1be));delete _0x475e20[_0x5528eb];let _0x47834e='';if(_0x5ba8f1[_0x2b3e7b(0x1b0)]===_0x5528eb){const _0x112615=Object[_0x2b3e7b(0x1bb)](_0x475e20);_0x5ba8f1[_0x2b3e7b(0x1b0)]=_0x112615[_0x2b3e7b(0x1c0)]>0x0?_0x112615[0x0]:undefined,_0x5ba8f1[_0x2b3e7b(0x1b0)]?_0x47834e='\x20Default\x20app\x20changed\x20to\x20\x22'+_0x5ba8f1[_0x2b3e7b(0x1b0)]+'\x22.':delete _0x5ba8f1[_0x2b3e7b(0x1b0)];}Object[_0x2b3e7b(0x1bb)](_0x475e20)[_0x2b3e7b(0x1c0)]===0x0&&(delete _0x5ba8f1['apps'],delete _0x5ba8f1[_0x2b3e7b(0x1b0)]);writeConfig(_0x5ba8f1,_0x23edac);const _0x334d26=_0x4fcad5===_0x2b3e7b(0x1bc)?'\x20Note:\x20app\x20\x22'+_0x5528eb+_0x2b3e7b(0x1b2)+(_0x334d51===_0x2b3e7b(0x1b4)?_0x2b3e7b(0x1d0):'project')+_0x2b3e7b(0x1b8):'';return{'ok':!![],'message':'Removed\x20app\x20\x22'+_0x5528eb+'\x22'+scopeLabel(_0x23edac)+'.'+_0x47834e+_0x334d26};}export const appRemoveDefinition={'service':a22_0x59f42c(0x1b5),'command':a22_0x59f42c(0x1bf),'description':a22_0x59f42c(0x1ab),'risk':a22_0x59f42c(0x1cc),'requiresAuth':![],'requiresAppCode':![],'args':[{'name':a22_0x59f42c(0x1c7),'description':a22_0x59f42c(0x1af),'required':!![]}],'flags':[{'name':a22_0x59f42c(0x1d0),'type':a22_0x59f42c(0x1bd),'description':'Use\x20global\x20config\x20scope','default':![]}],'validate':validateArgs,'execute':execute};function a22_0x2442(){const _0x3a8a82=['Usage:\x20','1212610kcoycs','\x20config.','Missing\x20app\x20name.','28385kmgJpR','keys','both','boolean','\x22\x20not\x20found.','remove','length','2459897yXgGdL','validation','App\x20\x22','globalConfig','6320LoiQMd','956614GkZcOz','name','32JawmzG','1368RNNJGA','projectConfig','apps','high-risk-write','\x20app\x20remove\x20<name>\x20[--global]','654aGdljv','72TYkRzn','global','2085946xXXKsM','1364447ZysvGB','Remove\x20an\x20app\x20from\x20config','object','args','trim','App\x20profile\x20name\x20to\x20remove','defaultApp','inherit','\x22\x20still\x20defined\x20in\x20','bool','project','app'];a22_0x2442=function(){return _0x3a8a82;};return a22_0x2442();}
@@ -1 +1 @@
1
- (function(_0xd12c13,_0x3198d3){const _0x48cb5a=a23_0x37c9,_0x5db972=_0xd12c13();while(!![]){try{const _0x567ee9=parseInt(_0x48cb5a(0x1df))/0x1+parseInt(_0x48cb5a(0x1d1))/0x2+-parseInt(_0x48cb5a(0x1d4))/0x3*(-parseInt(_0x48cb5a(0x1dc))/0x4)+-parseInt(_0x48cb5a(0x1cc))/0x5*(parseInt(_0x48cb5a(0x1de))/0x6)+-parseInt(_0x48cb5a(0x1d7))/0x7*(-parseInt(_0x48cb5a(0x1cb))/0x8)+-parseInt(_0x48cb5a(0x1cd))/0x9*(-parseInt(_0x48cb5a(0x1e6))/0xa)+-parseInt(_0x48cb5a(0x1e8))/0xb;if(_0x567ee9===_0x3198d3)break;else _0x5db972['push'](_0x5db972['shift']());}catch(_0x53f745){_0x5db972['push'](_0x5db972['shift']());}}}(a23_0x5562,0xe627c));import{resolveWriteConfigPath,readConfigFile,writeConfigFile}from'../../context.js';export function enrichAppListItemsWithMergedSelection(_0x5c06ae,_0x5438fe){const _0x585062=a23_0x37c9;if(!_0x5438fe)return;const _0x4fb65d=_0x5438fe[_0x585062(0x1d0)]&&typeof _0x5438fe['apps']===_0x585062(0x1e4)?_0x5438fe['apps']:{},_0xcd571b=Object[_0x585062(0x1db)](_0x4fb65d)['length']>0x0;for(const _0x1fde91 of _0x5c06ae){_0x1fde91[_0x585062(0x1d6)]=![];}const _0x25ae89=_0x5438fe[_0x585062(0x1ce)]!=null?String(_0x5438fe[_0x585062(0x1ce)])[_0x585062(0x1d3)]():'';if(_0xcd571b){const _0x27a6ce=_0x5438fe[_0x585062(0x1d9)]??_0x5438fe[_0x585062(0x1e3)];if(_0x27a6ce)for(const _0x51983e of _0x5c06ae){_0x51983e[_0x585062(0x1da)]===!![]&&_0x51983e[_0x585062(0x1cf)]===_0x27a6ce&&(_0x51983e['isCurrent']=!![]);}for(const _0x457bc7 of _0x5c06ae){if(_0x457bc7[_0x585062(0x1da)]!==![])continue;if(_0x5438fe['defaultApp'])continue;_0x25ae89&&String(_0x457bc7[_0x585062(0x1e1)]??'')[_0x585062(0x1d3)]()===_0x25ae89&&(_0x457bc7[_0x585062(0x1d6)]=!![]);}return;}if(!_0x25ae89)return;for(const _0x38088c of _0x5c06ae){String(_0x38088c[_0x585062(0x1e1)]??'')[_0x585062(0x1d3)]()===_0x25ae89&&(_0x38088c[_0x585062(0x1d6)]=!![]);}}export function resolveAppScopeForWrite(_0x301049,_0x244ff1,_0x1bee7b){const _0x4ee98c=a23_0x37c9;if(_0x244ff1)return _0x4ee98c(0x1ea);const _0x41128b=_0x1bee7b[_0x4ee98c(0x1e5)][_0x4ee98c(0x1d0)]&&typeof _0x1bee7b['projectConfig']['apps']===_0x4ee98c(0x1e4)?_0x1bee7b[_0x4ee98c(0x1e5)][_0x4ee98c(0x1d0)]:{},_0x34dfca=_0x1bee7b['globalConfig'][_0x4ee98c(0x1d0)]&&typeof _0x1bee7b[_0x4ee98c(0x1e2)][_0x4ee98c(0x1d0)]===_0x4ee98c(0x1e4)?_0x1bee7b['globalConfig'][_0x4ee98c(0x1d0)]:{};if(Object['prototype'][_0x4ee98c(0x1d8)]['call'](_0x41128b,_0x301049))return'project';if(Object[_0x4ee98c(0x1e9)]['hasOwnProperty'][_0x4ee98c(0x1e0)](_0x34dfca,_0x301049))return'global';return _0x4ee98c(0x1d5);}export function appDefinedIn(_0x14bbe2,_0x343a23,_0x83880f,_0x492d44){const _0x44347d=a23_0x37c9;if(_0x492d44)return Object[_0x44347d(0x1e9)]['hasOwnProperty'][_0x44347d(0x1e0)](_0x83880f,_0x14bbe2)?_0x44347d(0x1d5):_0x44347d(0x1ea);const _0x1c6503=Object[_0x44347d(0x1e9)]['hasOwnProperty']['call'](_0x343a23,_0x14bbe2),_0x2a5255=Object['prototype'][_0x44347d(0x1d8)]['call'](_0x83880f,_0x14bbe2);if(_0x1c6503&&_0x2a5255)return _0x44347d(0x1d2);if(_0x2a5255)return _0x44347d(0x1d5);return _0x44347d(0x1ea);}export function resolveDefaultAppSource(_0x387578){const _0x2d53d8=a23_0x37c9,_0x4d3a57=_0x387578[_0x2d53d8(0x1e5)][_0x2d53d8(0x1d0)]&&typeof _0x387578['projectConfig'][_0x2d53d8(0x1d0)]===_0x2d53d8(0x1e4)?_0x387578['projectConfig'][_0x2d53d8(0x1d0)]:{};if(_0x2d53d8(0x1e3)in _0x387578[_0x2d53d8(0x1e5)])return'project';if(Object[_0x2d53d8(0x1db)](_0x4d3a57)[_0x2d53d8(0x1dd)]>0x0)return _0x2d53d8(0x1d5);if(_0x387578[_0x2d53d8(0x1e5)]['inherit']===![])return null;if(_0x387578['globalConfig'][_0x2d53d8(0x1e3)])return _0x2d53d8(0x1ea);return null;}export function getConfigPath(_0x3d6d38={}){const _0x27836e=a23_0x37c9,_0x2fe9ee=_0x3d6d38[_0x27836e(0x1ea)]?_0x27836e(0x1ea):'project';return resolveWriteConfigPath(_0x2fe9ee);}function a23_0x37c9(_0xf811f7,_0xf5733){_0xf811f7=_0xf811f7-0x1cb;const _0x556284=a23_0x5562();let _0x37c940=_0x556284[_0xf811f7];return _0x37c940;}export function readConfig(_0x381527={}){return readConfigFile(getConfigPath(_0x381527));}export function writeConfig(_0x1b1c88,_0x1921d3={}){writeConfigFile(getConfigPath(_0x1921d3),_0x1b1c88);}export function scopeLabel(_0x242b31){const _0x1c343c=a23_0x37c9;return _0x242b31[_0x1c343c(0x1ea)]?_0x1c343c(0x1e7):'';}function a23_0x5562(){const _0x15cf6c=['globalConfig','defaultApp','object','projectConfig','70ZbYLeK','\x20(global)','3327093qVxYIc','prototype','global','18072OHxBUl','5VAqDvt','1403145nizjMp','appCode','name','apps','1078162EdPVoX','both','trim','50457TYMgUA','project','isCurrent','2226lFKEYa','hasOwnProperty','currentApp','named','keys','96byXgPe','length','10144854TzkETK','183554hEEsEY','call','appcode'];a23_0x5562=function(){return _0x15cf6c;};return a23_0x5562();}
1
+ function a23_0x364c(_0x59152a,_0x129b81){_0x59152a=_0x59152a-0x86;const _0xa4eea4=a23_0xa4ee();let _0x364cd4=_0xa4eea4[_0x59152a];return _0x364cd4;}(function(_0x15298e,_0x19fb5c){const _0x2cf201=a23_0x364c,_0x343d27=_0x15298e();while(!![]){try{const _0x14d72e=parseInt(_0x2cf201(0x92))/0x1*(-parseInt(_0x2cf201(0xa3))/0x2)+parseInt(_0x2cf201(0x91))/0x3+parseInt(_0x2cf201(0x8a))/0x4*(parseInt(_0x2cf201(0x96))/0x5)+-parseInt(_0x2cf201(0x99))/0x6*(parseInt(_0x2cf201(0x8f))/0x7)+-parseInt(_0x2cf201(0xa2))/0x8+-parseInt(_0x2cf201(0x9f))/0x9*(parseInt(_0x2cf201(0x95))/0xa)+parseInt(_0x2cf201(0x86))/0xb;if(_0x14d72e===_0x19fb5c)break;else _0x343d27['push'](_0x343d27['shift']());}catch(_0x20e3ed){_0x343d27['push'](_0x343d27['shift']());}}}(a23_0xa4ee,0x45dee));import{resolveWriteConfigPath,readConfigFile,writeConfigFile}from'../../context.js';export function enrichAppListItemsWithMergedSelection(_0x48f35f,_0x1e6540){const _0x2353fb=a23_0x364c;if(!_0x1e6540)return;const _0x3f12a2=_0x1e6540[_0x2353fb(0x8d)]&&typeof _0x1e6540[_0x2353fb(0x8d)]===_0x2353fb(0x9a)?_0x1e6540['apps']:{},_0x5c6a50=Object[_0x2353fb(0xa0)](_0x3f12a2)[_0x2353fb(0x8e)]>0x0;for(const _0x22a07c of _0x48f35f){_0x22a07c[_0x2353fb(0x93)]=![];}const _0x3a84c8=_0x1e6540[_0x2353fb(0x90)]!=null?String(_0x1e6540[_0x2353fb(0x90)])['trim']():'';if(_0x5c6a50){const _0x5a71d5=_0x1e6540[_0x2353fb(0x88)]??_0x1e6540[_0x2353fb(0x89)];if(_0x5a71d5)for(const _0x34d0e4 of _0x48f35f){_0x34d0e4['named']===!![]&&_0x34d0e4[_0x2353fb(0xa1)]===_0x5a71d5&&(_0x34d0e4[_0x2353fb(0x93)]=!![]);}for(const _0x338407 of _0x48f35f){if(_0x338407[_0x2353fb(0x9e)]!==![])continue;if(_0x1e6540[_0x2353fb(0x89)])continue;_0x3a84c8&&String(_0x338407[_0x2353fb(0x97)]??'')[_0x2353fb(0x94)]()===_0x3a84c8&&(_0x338407[_0x2353fb(0x93)]=!![]);}return;}if(!_0x3a84c8)return;for(const _0xc87f7e of _0x48f35f){String(_0xc87f7e[_0x2353fb(0x97)]??'')['trim']()===_0x3a84c8&&(_0xc87f7e[_0x2353fb(0x93)]=!![]);}}export function resolveAppScopeForWrite(_0x523766,_0x43c3ad,_0x16e9e5){const _0x86f486=a23_0x364c;if(_0x43c3ad)return _0x86f486(0x9d);const _0x5067f9=_0x16e9e5['projectConfig']['apps']&&typeof _0x16e9e5['projectConfig'][_0x86f486(0x8d)]===_0x86f486(0x9a)?_0x16e9e5['projectConfig'][_0x86f486(0x8d)]:{},_0x524e5a=_0x16e9e5['globalConfig'][_0x86f486(0x8d)]&&typeof _0x16e9e5['globalConfig'][_0x86f486(0x8d)]==='object'?_0x16e9e5[_0x86f486(0x8c)][_0x86f486(0x8d)]:{};if(Object[_0x86f486(0x87)][_0x86f486(0x9c)][_0x86f486(0x9b)](_0x5067f9,_0x523766))return _0x86f486(0x98);if(Object[_0x86f486(0x87)]['hasOwnProperty']['call'](_0x524e5a,_0x523766))return _0x86f486(0x9d);return _0x86f486(0x98);}export function appDefinedIn(_0x3798ae,_0x420ce8,_0x1c18a4,_0x55363c){const _0x38a7d7=a23_0x364c;if(_0x55363c)return Object[_0x38a7d7(0x87)][_0x38a7d7(0x9c)][_0x38a7d7(0x9b)](_0x1c18a4,_0x3798ae)?'project':_0x38a7d7(0x9d);const _0x20c186=Object[_0x38a7d7(0x87)][_0x38a7d7(0x9c)][_0x38a7d7(0x9b)](_0x420ce8,_0x3798ae),_0x20aa74=Object[_0x38a7d7(0x87)][_0x38a7d7(0x9c)][_0x38a7d7(0x9b)](_0x1c18a4,_0x3798ae);if(_0x20c186&&_0x20aa74)return'both';if(_0x20aa74)return _0x38a7d7(0x98);return _0x38a7d7(0x9d);}function a23_0xa4ee(){const _0x1e5271=['projectConfig','7217232ShGbiB','prototype','currentApp','defaultApp','15944FdzgnN','inherit','globalConfig','apps','length','259UZMxgx','appCode','1431981JBKMHW','1kTSGUw','isCurrent','trim','115370JzOSBK','95tjAjYu','appcode','project','27678AEzQjx','object','call','hasOwnProperty','global','named','342LpHbdS','keys','name','1456GXcGGc','627428WeMYLE'];a23_0xa4ee=function(){return _0x1e5271;};return a23_0xa4ee();}export function resolveDefaultAppSource(_0xdbfdb1){const _0x43fdf4=a23_0x364c,_0xdfd63b=_0xdbfdb1[_0x43fdf4(0xa4)]['apps']&&typeof _0xdbfdb1[_0x43fdf4(0xa4)][_0x43fdf4(0x8d)]===_0x43fdf4(0x9a)?_0xdbfdb1[_0x43fdf4(0xa4)][_0x43fdf4(0x8d)]:{};if(_0x43fdf4(0x89)in _0xdbfdb1[_0x43fdf4(0xa4)])return _0x43fdf4(0x98);if(Object[_0x43fdf4(0xa0)](_0xdfd63b)['length']>0x0)return _0x43fdf4(0x98);if(_0xdbfdb1[_0x43fdf4(0xa4)][_0x43fdf4(0x8b)]===![])return null;if(_0xdbfdb1[_0x43fdf4(0x8c)][_0x43fdf4(0x89)])return _0x43fdf4(0x9d);return null;}export function getConfigPath(_0x4e30d0={}){const _0x274ae4=a23_0x364c,_0x268f13=_0x4e30d0[_0x274ae4(0x9d)]?_0x274ae4(0x9d):_0x274ae4(0x98);return resolveWriteConfigPath(_0x268f13);}export function readConfig(_0x53fabe={}){return readConfigFile(getConfigPath(_0x53fabe));}export function writeConfig(_0x4db50e,_0x196ccc={}){writeConfigFile(getConfigPath(_0x196ccc),_0x4db50e);}export function scopeLabel(_0x39bbb6){const _0x2d123e=a23_0x364c;return _0x39bbb6[_0x2d123e(0x9d)]?'\x20(global)':'';}
@@ -1 +1 @@
1
- const a24_0x3b78db=a24_0x766c;(function(_0x51d38d,_0x3113df){const _0x3529f3=a24_0x766c,_0x21d06b=_0x51d38d();while(!![]){try{const _0x425341=-parseInt(_0x3529f3(0x1f9))/0x1*(-parseInt(_0x3529f3(0x1f7))/0x2)+parseInt(_0x3529f3(0x1f4))/0x3+-parseInt(_0x3529f3(0x1ff))/0x4*(-parseInt(_0x3529f3(0x1e9))/0x5)+parseInt(_0x3529f3(0x208))/0x6*(parseInt(_0x3529f3(0x1fc))/0x7)+-parseInt(_0x3529f3(0x1f0))/0x8+-parseInt(_0x3529f3(0x1e7))/0x9+-parseInt(_0x3529f3(0x205))/0xa;if(_0x425341===_0x3113df)break;else _0x21d06b['push'](_0x21d06b['shift']());}catch(_0x5a5a35){_0x21d06b['push'](_0x21d06b['shift']());}}}(a24_0x31cc,0xd58a7));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(_0x1a4463){const _0x227372=a24_0x766c,_0x5c9fd9=_0x1a4463[_0x227372(0x1f6)][0x0]?.['trim']();if(!_0x5c9fd9)throw CliErrors[_0x227372(0x1fb)](_0x227372(0x203),_0x227372(0x1fe)+CLI_BIN_NAME+_0x227372(0x202));}function a24_0x31cc(){const _0x363e0a=['hasOwnProperty','trim','app','bool','Available:\x20','5315776uPAAAB','appcode','object','Default\x20app\x20set\x20to\x20\x22','1854684HySasT','apps','args','82582vNypGK','App\x20profile\x20name\x20to\x20activate','4cquDmk','\x22\x20is\x20defined\x20in\x20global\x20config;\x20defaultApp\x20written\x20to\x20project\x20to\x20take\x20effect\x20in\x20merged\x20view.','validation','9064195ODLeAr','App\x20\x22','Usage:\x20','59116IxXVyU','prototype','Use\x20`','\x20app\x20use\x20<name>\x20[--global]','Missing\x20app\x20name.','call','6716040vCMBpT','\x22\x20not\x20found.','keys','6UKKrBb','use','global','projectConfig','\x20--appcode\x20<code>`\x20first.','join','boolean','projectPath','\x22\x20(appcode:\x20','length','6256458JqOkBY','\x20app\x20add\x20','280IaUjoX','write'];a24_0x31cc=function(){return _0x363e0a;};return a24_0x31cc();}function a24_0x766c(_0x40d717,_0x44889a){_0x40d717=_0x40d717-0x1e0;const _0x31cce6=a24_0x31cc();let _0x766c6c=_0x31cce6[_0x40d717];return _0x766c6c;}async function execute(_0x200af9){const _0x412847=a24_0x766c,_0x9a164d=_0x200af9[_0x412847(0x1f6)][0x0]?.[_0x412847(0x1ec)]();if(!_0x9a164d)throw CliErrors[_0x412847(0x1fb)](_0x412847(0x203),_0x412847(0x1fe)+CLI_BIN_NAME+_0x412847(0x202));const _0x1d8652=_0x200af9[_0x412847(0x1ee)](_0x412847(0x20a)),{config:_0x56ff91,layers:_0x11160a}=readRawConfigWithLayers(),_0x9e08bc=_0x56ff91[_0x412847(0x1f5)]??{};if(!_0x9e08bc[_0x9a164d]){const _0x24de68=Object[_0x412847(0x207)](_0x9e08bc),_0x4a16e2=_0x24de68[_0x412847(0x1e6)]===0x0?_0x412847(0x201)+CLI_BIN_NAME+_0x412847(0x1e8)+_0x9a164d+_0x412847(0x1e1):_0x412847(0x1ef)+_0x24de68[_0x412847(0x1e2)](',\x20');throw CliErrors[_0x412847(0x1fb)](_0x412847(0x1fd)+_0x9a164d+_0x412847(0x206),_0x4a16e2);}let _0x72d359,_0xe56d69='';if(_0x1d8652)_0x72d359={'global':!![]};else{const _0x4e2fa9=isInProject()&&!!_0x11160a[_0x412847(0x1e4)];_0x72d359={'global':!_0x4e2fa9};if(_0x4e2fa9){const _0x144cb2=_0x11160a[_0x412847(0x1e0)][_0x412847(0x1f5)]&&typeof _0x11160a[_0x412847(0x1e0)][_0x412847(0x1f5)]===_0x412847(0x1f2)?_0x11160a['projectConfig'][_0x412847(0x1f5)]:{};!Object[_0x412847(0x200)][_0x412847(0x1eb)][_0x412847(0x204)](_0x144cb2,_0x9a164d)&&(_0xe56d69='\x0aNote:\x20\x22'+_0x9a164d+_0x412847(0x1fa));}}const _0x58416a=readConfig(_0x72d359);return _0x58416a['defaultApp']=_0x9a164d,writeConfig(_0x58416a,_0x72d359),{'ok':!![],'message':_0x412847(0x1f3)+_0x9a164d+_0x412847(0x1e5)+_0x9e08bc[_0x9a164d][_0x412847(0x1f1)]+')'+scopeLabel(_0x72d359)+_0xe56d69};}export const appUseDefinition={'service':a24_0x3b78db(0x1ed),'command':a24_0x3b78db(0x209),'description':'Switch\x20the\x20default\x20app','risk':a24_0x3b78db(0x1ea),'requiresAuth':![],'requiresAppCode':![],'args':[{'name':'name','description':a24_0x3b78db(0x1f8),'required':!![]}],'flags':[{'name':'global','type':a24_0x3b78db(0x1e3),'description':'Use\x20global\x20config\x20scope','default':![]}],'validate':validateArgs,'execute':execute};
1
+ const a24_0x5b5aee=a24_0x149d;(function(_0x2284dd,_0x461de3){const _0xc535a5=a24_0x149d,_0xc1e32=_0x2284dd();while(!![]){try{const _0x37e4a9=parseInt(_0xc535a5(0x1c0))/0x1+parseInt(_0xc535a5(0x1c6))/0x2+parseInt(_0xc535a5(0x1ba))/0x3*(parseInt(_0xc535a5(0x1c1))/0x4)+-parseInt(_0xc535a5(0x1b3))/0x5*(-parseInt(_0xc535a5(0x1b2))/0x6)+-parseInt(_0xc535a5(0x1af))/0x7+-parseInt(_0xc535a5(0x1bd))/0x8*(-parseInt(_0xc535a5(0x1b9))/0x9)+-parseInt(_0xc535a5(0x1bf))/0xa*(parseInt(_0xc535a5(0x1ac))/0xb);if(_0x37e4a9===_0x461de3)break;else _0xc1e32['push'](_0xc1e32['shift']());}catch(_0x157dd0){_0xc1e32['push'](_0xc1e32['shift']());}}}(a24_0x2525,0x50374));function a24_0x2525(){const _0x42fc4a=['use','4191WtJGjS','validation','Missing\x20app\x20name.','2101743QPHHJl','\x22\x20not\x20found.','\x22\x20(appcode:\x20','18QMvaUh','957050vxnKuM','Available:\x20','\x20app\x20add\x20','Usage:\x20','boolean','global','1350TNNfOW','3XIoozp','Switch\x20the\x20default\x20app','call','16056xfNFcV','App\x20\x22','41180oyEDpC','92154JXVluq','2609276PdzRFd','prototype','write','trim','\x20app\x20use\x20<name>\x20[--global]','1156036gQsVTC','join','Use\x20`','keys','bool','appcode','projectPath','App\x20profile\x20name\x20to\x20activate','app','apps','Default\x20app\x20set\x20to\x20\x22','projectConfig','args'];a24_0x2525=function(){return _0x42fc4a;};return a24_0x2525();}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(_0x36a5a6){const _0x7340e6=a24_0x149d,_0x325e01=_0x36a5a6[_0x7340e6(0x1aa)][0x0]?.[_0x7340e6(0x1c4)]();if(!_0x325e01)throw CliErrors[_0x7340e6(0x1ad)](_0x7340e6(0x1ae),_0x7340e6(0x1b6)+CLI_BIN_NAME+_0x7340e6(0x1c5));}async function execute(_0x1a76a0){const _0x553e85=a24_0x149d,_0x5bda41=_0x1a76a0[_0x553e85(0x1aa)][0x0]?.['trim']();if(!_0x5bda41)throw CliErrors[_0x553e85(0x1ad)]('Missing\x20app\x20name.','Usage:\x20'+CLI_BIN_NAME+_0x553e85(0x1c5));const _0x4a1507=_0x1a76a0[_0x553e85(0x1ca)](_0x553e85(0x1b8)),{config:_0x510014,layers:_0x2520d2}=readRawConfigWithLayers(),_0x295932=_0x510014[_0x553e85(0x1cf)]??{};if(!_0x295932[_0x5bda41]){const _0x12fd29=Object[_0x553e85(0x1c9)](_0x295932),_0x711d24=_0x12fd29['length']===0x0?_0x553e85(0x1c8)+CLI_BIN_NAME+_0x553e85(0x1b5)+_0x5bda41+'\x20--appcode\x20<code>`\x20first.':_0x553e85(0x1b4)+_0x12fd29[_0x553e85(0x1c7)](',\x20');throw CliErrors['validation'](_0x553e85(0x1be)+_0x5bda41+_0x553e85(0x1b0),_0x711d24);}let _0xedd006,_0xac5cbe='';if(_0x4a1507)_0xedd006={'global':!![]};else{const _0x4b8012=isInProject()&&!!_0x2520d2[_0x553e85(0x1cc)];_0xedd006={'global':!_0x4b8012};if(_0x4b8012){const _0x45b9fd=_0x2520d2[_0x553e85(0x1d1)][_0x553e85(0x1cf)]&&typeof _0x2520d2[_0x553e85(0x1d1)]['apps']==='object'?_0x2520d2[_0x553e85(0x1d1)][_0x553e85(0x1cf)]:{};!Object[_0x553e85(0x1c2)]['hasOwnProperty'][_0x553e85(0x1bc)](_0x45b9fd,_0x5bda41)&&(_0xac5cbe='\x0aNote:\x20\x22'+_0x5bda41+'\x22\x20is\x20defined\x20in\x20global\x20config;\x20defaultApp\x20written\x20to\x20project\x20to\x20take\x20effect\x20in\x20merged\x20view.');}}const _0x4ee739=readConfig(_0xedd006);return _0x4ee739['defaultApp']=_0x5bda41,writeConfig(_0x4ee739,_0xedd006),{'ok':!![],'message':_0x553e85(0x1d0)+_0x5bda41+_0x553e85(0x1b1)+_0x295932[_0x5bda41][_0x553e85(0x1cb)]+')'+scopeLabel(_0xedd006)+_0xac5cbe};}function a24_0x149d(_0x6228d5,_0x2c95fa){_0x6228d5=_0x6228d5-0x1aa;const _0x252557=a24_0x2525();let _0x149df3=_0x252557[_0x6228d5];return _0x149df3;}export const appUseDefinition={'service':a24_0x5b5aee(0x1ce),'command':a24_0x5b5aee(0x1ab),'description':a24_0x5b5aee(0x1bb),'risk':a24_0x5b5aee(0x1c3),'requiresAuth':![],'requiresAppCode':![],'args':[{'name':'name','description':a24_0x5b5aee(0x1cd),'required':!![]}],'flags':[{'name':a24_0x5b5aee(0x1b8),'type':a24_0x5b5aee(0x1b7),'description':'Use\x20global\x20config\x20scope','default':![]}],'validate':validateArgs,'execute':execute};
@@ -1 +1 @@
1
- const a25_0xc519f1=a25_0x4858;(function(_0x5bdbb6,_0xf175bf){const _0x4a7e75=a25_0x4858,_0x2933df=_0x5bdbb6();while(!![]){try{const _0x321078=-parseInt(_0x4a7e75(0x10a))/0x1*(parseInt(_0x4a7e75(0xf8))/0x2)+-parseInt(_0x4a7e75(0x106))/0x3*(-parseInt(_0x4a7e75(0xfb))/0x4)+-parseInt(_0x4a7e75(0x105))/0x5+-parseInt(_0x4a7e75(0x109))/0x6*(-parseInt(_0x4a7e75(0x100))/0x7)+parseInt(_0x4a7e75(0x10e))/0x8*(parseInt(_0x4a7e75(0x10d))/0x9)+-parseInt(_0x4a7e75(0x10b))/0xa*(parseInt(_0x4a7e75(0x107))/0xb)+parseInt(_0x4a7e75(0xfa))/0xc;if(_0x321078===_0xf175bf)break;else _0x2933df['push'](_0x2933df['shift']());}catch(_0x312d55){_0x2933df['push'](_0x2933df['shift']());}}}(a25_0x3912,0x25698));import{unlinkSync,existsSync}from'node:fs';function a25_0x3912(){const _0x3c7e15=['logout','794615amzsHw','310113fpPvRW','11DHlhWc','write','12SFYYqj','2VqgCfT','2999440NjnwqH','Login\x20via\x20browser','776133gORpAt','24PnzxsZ','nonInteractive','Skip\x20login\x20confirmation\x20and\x20start\x20browser\x20auth\x20immediately','147304OGOADZ','boolean','2792196TOmkQm','4WjiWye','Clear\x20login\x20session','auth','../../auth/auth-server-ui.js','read','576261kKVZxY','yes','log','login'];a25_0x3912=function(){return _0x3c7e15;};return a25_0x3912();}import{cookieFile}from'../../auth/constant.js';function a25_0x4858(_0x3dea6e,_0x5b0d38){_0x3dea6e=_0x3dea6e-0xf7;const _0x39121e=a25_0x3912();let _0x485885=_0x39121e[_0x3dea6e];return _0x485885;}export const authDefinitions=[{'service':a25_0xc519f1(0xfd),'command':a25_0xc519f1(0x103),'description':a25_0xc519f1(0x10c),'risk':a25_0xc519f1(0xff),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a25_0xc519f1(0x101),'type':a25_0xc519f1(0xf9),'description':a25_0xc519f1(0xf7),'default':![]}],async 'execute'(_0x1a07dd){const _0x121298=a25_0xc519f1,{runAuthServer:_0x334ac}=await import(_0x121298(0xfe));return await _0x334ac({'autoYes':_0x1a07dd['bool']('yes'),'nonInteractive':_0x1a07dd[_0x121298(0x10f)]}),{'ok':!![]};}},{'service':'auth','command':a25_0xc519f1(0x104),'description':a25_0xc519f1(0xfc),'risk':a25_0xc519f1(0x108),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x300c9a){const _0x5ace75=a25_0xc519f1;return existsSync(cookieFile)?(unlinkSync(cookieFile),console[_0x5ace75(0x102)]('✓\x20Logged\x20out')):console[_0x5ace75(0x102)]('!\x20Not\x20logged\x20in'),{'ok':!![]};}}];
1
+ const a25_0x2c168b=a25_0x337f;(function(_0x515760,_0x3f002d){const _0x4eef95=a25_0x337f,_0x59af78=_0x515760();while(!![]){try{const _0xf3055a=-parseInt(_0x4eef95(0xa2))/0x1*(parseInt(_0x4eef95(0xa5))/0x2)+-parseInt(_0x4eef95(0xb0))/0x3*(-parseInt(_0x4eef95(0xac))/0x4)+parseInt(_0x4eef95(0xae))/0x5*(-parseInt(_0x4eef95(0xb7))/0x6)+parseInt(_0x4eef95(0xab))/0x7*(parseInt(_0x4eef95(0xb5))/0x8)+-parseInt(_0x4eef95(0xb6))/0x9*(-parseInt(_0x4eef95(0xb2))/0xa)+-parseInt(_0x4eef95(0xaf))/0xb*(-parseInt(_0x4eef95(0xb3))/0xc)+parseInt(_0x4eef95(0xad))/0xd*(-parseInt(_0x4eef95(0xa1))/0xe);if(_0xf3055a===_0x3f002d)break;else _0x59af78['push'](_0x59af78['shift']());}catch(_0x2593e8){_0x59af78['push'](_0x59af78['shift']());}}}(a25_0x5435,0x88e49));function a25_0x5435(){const _0x5222d0=['write','!\x20Not\x20logged\x20in','auth','login','Skip\x20login\x20confirmation\x20and\x20start\x20browser\x20auth\x20immediately','7vLVUcP','148340xbkOhN','143793mlstuN','1336805tjBddg','88SWtNbk','69Dnwpfo','Clear\x20login\x20session','2230KBwLbM','1666236edneyH','yes','1437256LzEJHp','18783ArBysx','6WRCaNF','✓\x20Logged\x20out','Login\x20via\x20browser','bool','882tKfulK','3985RgRQQg','nonInteractive','log','544FRsHLN'];a25_0x5435=function(){return _0x5222d0;};return a25_0x5435();}function a25_0x337f(_0x18f000,_0x4d34b4){_0x18f000=_0x18f000-0xa0;const _0x543596=a25_0x5435();let _0x337f20=_0x543596[_0x18f000];return _0x337f20;}import{unlinkSync,existsSync}from'node:fs';import{cookieFile}from'../../auth/constant.js';export const authDefinitions=[{'service':a25_0x2c168b(0xa8),'command':a25_0x2c168b(0xa9),'description':a25_0x2c168b(0xb9),'risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a25_0x2c168b(0xb4),'type':'boolean','description':a25_0x2c168b(0xaa),'default':![]}],async 'execute'(_0x4d375d){const _0x5ef860=a25_0x2c168b,{runAuthServer:_0x119b27}=await import('../../auth/auth-server-ui.js');return await _0x119b27({'autoYes':_0x4d375d[_0x5ef860(0xa0)]('yes'),'nonInteractive':_0x4d375d[_0x5ef860(0xa3)]}),{'ok':!![]};}},{'service':'auth','command':'logout','description':a25_0x2c168b(0xb1),'risk':a25_0x2c168b(0xa6),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x452b50){const _0x11b776=a25_0x2c168b;return existsSync(cookieFile)?(unlinkSync(cookieFile),console[_0x11b776(0xa4)](_0x11b776(0xb8))):console[_0x11b776(0xa4)](_0x11b776(0xa7)),{'ok':!![]};}}];
@@ -1 +1 @@
1
- const a26_0x4a974c=a26_0x256a;(function(_0x4cae0f,_0x1d5e70){const _0x3abf29=a26_0x256a,_0x5e8fc2=_0x4cae0f();while(!![]){try{const _0x354f15=-parseInt(_0x3abf29(0x200))/0x1+parseInt(_0x3abf29(0x1e7))/0x2+-parseInt(_0x3abf29(0x1c0))/0x3+-parseInt(_0x3abf29(0x1e1))/0x4*(parseInt(_0x3abf29(0x1f5))/0x5)+parseInt(_0x3abf29(0x1cd))/0x6+parseInt(_0x3abf29(0x1ba))/0x7+parseInt(_0x3abf29(0x1b6))/0x8*(parseInt(_0x3abf29(0x1fd))/0x9);if(_0x354f15===_0x1d5e70)break;else _0x5e8fc2['push'](_0x5e8fc2['shift']());}catch(_0x1545ff){_0x5e8fc2['push'](_0x5e8fc2['shift']());}}}(a26_0xf142,0x89e3b));import{createInterface}from'node:readline';function a26_0x256a(_0x55af53,_0x485585){_0x55af53=_0x55af53-0x1b6;const _0xf142ea=a26_0xf142();let _0x256ad5=_0xf142ea[_0x55af53];return _0x256ad5;}import{mkdir,writeFile}from'node:fs/promises';import{dirname,join}from'node:path';import{listDatasets,listBffDatasetOperations}from'../../core/api-client.js';import{loadAliasMap,resolveAlias}from'../../core/alias-resolver.js';import{resolveApiFilePath}from'../../context.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{fileExists}from'../../core/bff/file-system.js';import{isValidBffFunctionName,normalizeHookFunctionNode}from'../../core/bff/utils.js';import{CliErrors}from'../../errors.js';function a26_0xf142(){const _0x2bab78=['operationType','description','No\x20operation\x20types\x20found\x20for\x20dataset\x20','\x20function:\x20','\x0a\x20*\x20[触发节点]\x20','.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','108sMxBWN','length','isInteger','160525HtXCin','question','The\x20api.ts\x20may\x20be\x20stale\x20—\x20run\x20`','before','str','File\x20already\x20exists:\x20','datasetCode','\x0a\x20*\x20[接口路径]\x20POST\x20/api/','/**\x0a\x20*\x20ENDPOINT\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','string','find','HOOK\x20requires\x20hookOptions\x20for\x20template\x20generation.','bff','Dataset\x20alias\x20from\x20api.ts\x20(HOOK\x20only,\x20preferred)','176936XpEYME','stdin','Operation\x20type\x20\x22','COMMON','5080663GumxvZ','write','nonInteractive','\x0a\x20*\x20[脚本名称]\x20','function-node','datasetcode','2201313btoSGQ','Dataset\x20not\x20found\x20for\x20code\x20\x22','code','Select\x20dataset:','\x20\x20Enter\x20a\x20number\x20between\x201\x20and\x20','(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a','--function-node\x20must\x20be\x20\x27before\x27\x20or\x20\x27after\x27.','\x20api\x20pull`\x20to\x20refresh.','tableName','after','Alias\x20\x22','Invalid\x20dataset\x20selection.','stderr','6509244idcJkt','Operation\x20type\x20(HOOK\x20only)','close','name','Select\x20trigger\x20node:','trim','Invalid\x20function\x20name\x20\x22','validation','--alias\x20or\x20--datasetcode\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','Function\x20name\x20(valid\x20JS\x20identifier)','No\x20datasets\x20found\x20for\x20this\x20app.','.js','utf8','map','Available:\x20','\x22\x20not\x20found.\x20','HOOK','keys','operation-type','includes','4JxblWT','appCode','Script\x20description','\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','\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','type','1002672jFsGvy','parseInt','Select\x20operation\x20type:','functionNode','\x20api\x20pull`\x20first,\x20or\x20use\x20--datasetcode\x20instead.','\x0a\x20*\x20[脚本类型]\x20COMMON\x0a\x20*\x20[本地路径]\x20.rabetbase/bff/COMMON/','ENDPOINT','join','scriptsRootDir','\x22.\x20Must\x20be\x20a\x20valid\x20JS\x20identifier\x20(e.g.\x20createOrder,\x20beforeFilter).','Created\x20','apiDir','alias','TODO:\x20add\x20script\x20description','5591660JHehUp','--operation-type\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.'];a26_0xf142=function(){return _0x2bab78;};return a26_0xf142();}import{CLI_BIN_NAME}from'../../constant/cli.js';export const bffCreate={'service':a26_0x4a974c(0x20c),'command':'create','description':'Scaffold\x20a\x20new\x20BFF\x20function\x20from\x20template','risk':a26_0x4a974c(0x1bb),'flags':[{'name':'type','type':a26_0x4a974c(0x209),'required':!![],'enum':[a26_0x4a974c(0x1b9),a26_0x4a974c(0x1ed),a26_0x4a974c(0x1dd)],'description':'Script\x20type'},{'name':a26_0x4a974c(0x1d0),'type':a26_0x4a974c(0x209),'required':!![],'description':a26_0x4a974c(0x1d6)},{'name':a26_0x4a974c(0x1f8),'type':'string','description':a26_0x4a974c(0x1e3)},{'name':a26_0x4a974c(0x1f3),'type':'string','description':a26_0x4a974c(0x20d)},{'name':a26_0x4a974c(0x1bf),'type':a26_0x4a974c(0x209),'description':'Dataset\x20code\x20(HOOK\x20only,\x20fallback\x20when\x20alias\x20unavailable)'},{'name':a26_0x4a974c(0x1df),'type':a26_0x4a974c(0x209),'description':a26_0x4a974c(0x1ce)},{'name':a26_0x4a974c(0x1be),'type':'string','description':'Trigger\x20node\x20(HOOK\x20only)','enum':['before',a26_0x4a974c(0x1c9)]}],async 'validate'(_0x466312){const _0x1fe7ad=a26_0x4a974c,_0x3bfb6b=_0x466312[_0x1fe7ad(0x204)](_0x1fe7ad(0x1d0));if(!isValidBffFunctionName(_0x3bfb6b))throw CliErrors['validation'](_0x1fe7ad(0x1d3)+_0x3bfb6b+_0x1fe7ad(0x1f0));},async 'execute'(_0x2058f4){const _0x13fcc3=a26_0x4a974c,_0x58065f=loadBffProjectConfig(_0x2058f4['appCode']),_0x3c46c9=_0x2058f4[_0x13fcc3(0x204)](_0x13fcc3(0x1e6)),_0x4d5ff6=_0x2058f4['str'](_0x13fcc3(0x1d0)),_0x4e3cf7=_0x2058f4['str'](_0x13fcc3(0x1f8))||undefined,_0x6a739c=_0x3c46c9===_0x13fcc3(0x1dd)?await resolveHookOptions(_0x58065f,_0x2058f4):undefined,_0x9e0ab=buildFilePath(_0x58065f,_0x3c46c9,_0x4d5ff6,_0x6a739c);if(await fileExists(_0x9e0ab))throw CliErrors[_0x13fcc3(0x1d4)](_0x13fcc3(0x205)+_0x9e0ab);await mkdir(dirname(_0x9e0ab),{'recursive':!![]});const _0x15b8d8=generateTemplate(_0x3c46c9,_0x4d5ff6,_0x2058f4[_0x13fcc3(0x1e2)],_0x4e3cf7,_0x6a739c);await writeFile(_0x9e0ab,_0x15b8d8,_0x13fcc3(0x1d9));const _0x487879={'type':_0x3c46c9,'name':_0x4d5ff6,'path':_0x9e0ab};if(_0x4e3cf7)_0x487879[_0x13fcc3(0x1f8)]=_0x4e3cf7;if(_0x6a739c){if(_0x6a739c[_0x13fcc3(0x1f3)])_0x487879[_0x13fcc3(0x1f3)]=_0x6a739c[_0x13fcc3(0x1f3)];_0x487879['datasetCode']=_0x6a739c[_0x13fcc3(0x206)],_0x487879[_0x13fcc3(0x1f7)]=_0x6a739c[_0x13fcc3(0x1f7)],_0x487879[_0x13fcc3(0x1ea)]=_0x6a739c[_0x13fcc3(0x1ea)];}return{'ok':!![],'data':_0x487879,'message':_0x13fcc3(0x1f1)+_0x3c46c9+_0x13fcc3(0x1fa)+_0x4d5ff6};}};async function resolveHookOptions(_0x5bb905,_0x2e8b67){const _0x303c99=a26_0x4a974c,_0x4c1257=loadAliasMap(_0x2e8b67[_0x303c99(0x1f2)],undefined,resolveApiFilePath(_0x2e8b67[_0x303c99(0x1f2)],_0x2e8b67['appCode'])),_0x429a9b=_0x4c1257[_0x303c99(0x1fe)]>0x0;let _0x36b449,_0x58f19c,_0x16c816;const _0x56b408=_0x2e8b67[_0x303c99(0x204)](_0x303c99(0x1f3)),_0x1c7dd2=_0x2e8b67['str'](_0x303c99(0x1bf));if(_0x56b408){const _0x41b425=resolveAlias(_0x2e8b67[_0x303c99(0x1f2)],_0x56b408,undefined,resolveApiFilePath(_0x2e8b67[_0x303c99(0x1f2)],_0x2e8b67[_0x303c99(0x1e2)]));if(!_0x41b425){const _0x3fd940=_0x429a9b?'Available\x20aliases:\x20'+_0x4c1257[_0x303c99(0x1da)](_0x359ed0=>_0x359ed0[_0x303c99(0x1f3)])['join'](',\x20'):'No\x20api.ts\x20found.\x20Run\x20`'+CLI_BIN_NAME+_0x303c99(0x1eb);throw CliErrors[_0x303c99(0x1d4)](_0x303c99(0x1ca)+_0x56b408+_0x303c99(0x1dc)+_0x3fd940);}_0x36b449=_0x56b408,_0x58f19c=_0x41b425;}else{if(_0x1c7dd2){_0x58f19c=_0x1c7dd2;const _0x473eaf=_0x4c1257[_0x303c99(0x20a)](_0x1a33ce=>_0x1a33ce[_0x303c99(0x206)]===_0x1c7dd2);_0x36b449=_0x473eaf?.['alias'];}else{if(_0x2e8b67['nonInteractive'])throw CliErrors[_0x303c99(0x1d4)](_0x303c99(0x1d5));else{if(_0x429a9b){const _0x33be3c=_0x4c1257['map'](_0x53547c=>_0x53547c[_0x303c99(0x1f3)]+'\x20('+_0x53547c[_0x303c99(0x1c8)]+')'),_0x1e9d14=await promptSelect('Select\x20dataset:',_0x33be3c),_0x22121d=_0x4c1257[_0x1e9d14];if(!_0x22121d)throw CliErrors[_0x303c99(0x1d4)](_0x303c99(0x1cb));_0x36b449=_0x22121d[_0x303c99(0x1f3)],_0x58f19c=_0x22121d[_0x303c99(0x206)];}else{const _0x96c01a=await listDatasets(_0x2e8b67[_0x303c99(0x1e2)]);if(_0x96c01a[_0x303c99(0x1fe)]===0x0)throw CliErrors[_0x303c99(0x1d4)](_0x303c99(0x1d7));const _0x1ba5ea=_0x96c01a[_0x303c99(0x1da)](_0x31aa4f=>_0x31aa4f[_0x303c99(0x1d0)]+'\x20('+_0x31aa4f[_0x303c99(0x1c2)]+')'),_0x3857db=await promptSelect(_0x303c99(0x1c3),_0x1ba5ea),_0x34ae2e=_0x96c01a[_0x3857db];if(!_0x34ae2e)throw CliErrors[_0x303c99(0x1d4)]('Invalid\x20dataset\x20selection.');_0x58f19c=_0x34ae2e['code'],_0x36b449=undefined;}}}}const _0x1ece62=await listDatasets(_0x2e8b67[_0x303c99(0x1e2)]),_0x39c213=_0x1ece62['find'](_0x59ad31=>_0x59ad31[_0x303c99(0x1c2)]===_0x58f19c);if(!_0x39c213)throw CliErrors[_0x303c99(0x1d4)](_0x303c99(0x1c1)+_0x58f19c+'\x22.\x20'+(_0x36b449?_0x303c99(0x202)+CLI_BIN_NAME+_0x303c99(0x1c7):''));_0x16c816=_0x39c213['id'];const _0x595843=_0x36b449??_0x58f19c,_0x11c38d=await listBffDatasetOperations(_0x2e8b67[_0x303c99(0x1e2)],_0x16c816),_0x4253e1=_0x11c38d?Object[_0x303c99(0x1de)](_0x11c38d):[];if(_0x4253e1[_0x303c99(0x1fe)]===0x0)throw CliErrors['validation'](_0x303c99(0x1f9)+_0x595843+'.');let _0x59aca7;const _0x9d1098=_0x2e8b67['str'](_0x303c99(0x1df));if(_0x9d1098){if(!_0x4253e1[_0x303c99(0x1e0)](_0x9d1098))throw CliErrors[_0x303c99(0x1d4)](_0x303c99(0x1b8)+_0x9d1098+'\x22\x20not\x20found\x20for\x20dataset\x20'+_0x595843+'.\x20'+(_0x303c99(0x1db)+_0x4253e1[_0x303c99(0x1ee)](',\x20')));_0x59aca7=_0x9d1098;}else{if(_0x2e8b67['nonInteractive'])throw CliErrors[_0x303c99(0x1d4)](_0x303c99(0x1f6));const _0x1ae87c=await promptSelect(_0x303c99(0x1e9),_0x4253e1);_0x59aca7=_0x4253e1[_0x1ae87c]??_0x4253e1[0x0];}let _0x4ac934=normalizeHookFunctionNode(_0x2e8b67[_0x303c99(0x204)](_0x303c99(0x1be)));if(!_0x4ac934){if(_0x2e8b67[_0x303c99(0x204)](_0x303c99(0x1be)))throw CliErrors[_0x303c99(0x1d4)](_0x303c99(0x1c6));if(_0x2e8b67[_0x303c99(0x1bc)])throw CliErrors[_0x303c99(0x1d4)]('--function-node\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.');const _0x4a2786=await promptSelect(_0x303c99(0x1d1),['before',_0x303c99(0x1c9)]);_0x4ac934=[_0x303c99(0x203),_0x303c99(0x1c9)][_0x4a2786]??_0x303c99(0x203);}return{'alias':_0x36b449,'datasetCode':_0x58f19c,'datasetId':_0x16c816,'operationType':_0x59aca7,'functionNode':_0x4ac934};}async function promptSelect(_0x153465,_0x4d342c){const _0x303b58=a26_0x4a974c;if(_0x4d342c['length']===0x1)return 0x0;for(const [_0x4ff54b,_0x148bf5]of _0x4d342c['entries']()){process[_0x303b58(0x1cc)][_0x303b58(0x1bb)]('\x20\x20'+(_0x4ff54b+0x1)+'.\x20'+_0x148bf5+'\x0a');}const _0x51746f=createInterface({'input':process[_0x303b58(0x1b7)],'output':process['stderr']});while(!![]){const _0x439c7d=await new Promise(_0x4ec0a7=>{const _0x1d8268=_0x303b58;_0x51746f[_0x1d8268(0x201)](_0x153465+'\x20',_0x4ec0a7);}),_0x25ad72=Number[_0x303b58(0x1e8)](_0x439c7d[_0x303b58(0x1d2)](),0xa);if(Number[_0x303b58(0x1ff)](_0x25ad72)&&_0x25ad72>=0x1&&_0x25ad72<=_0x4d342c[_0x303b58(0x1fe)])return _0x51746f[_0x303b58(0x1cf)](),_0x25ad72-0x1;process[_0x303b58(0x1cc)][_0x303b58(0x1bb)](_0x303b58(0x1c4)+_0x4d342c[_0x303b58(0x1fe)]+'.\x0a');}}function buildFilePath(_0xd1e1db,_0x500ddc,_0x342e72,_0x2de3ff){const _0x1c5e8a=a26_0x4a974c;if(_0x500ddc===_0x1c5e8a(0x1dd)){if(!_0x2de3ff)throw CliErrors[_0x1c5e8a(0x1d4)]('HOOK\x20requires\x20alias/operation/node\x20options.');const _0x19bc7f=_0x2de3ff[_0x1c5e8a(0x1f3)]??_0x2de3ff[_0x1c5e8a(0x206)];return join(_0xd1e1db[_0x1c5e8a(0x1ef)],_0x1c5e8a(0x1dd),_0x19bc7f,_0x2de3ff[_0x1c5e8a(0x1f7)],_0x2de3ff[_0x1c5e8a(0x1ea)],_0x342e72+_0x1c5e8a(0x1d8));}return join(_0xd1e1db[_0x1c5e8a(0x1ef)],_0x500ddc,_0x342e72+_0x1c5e8a(0x1d8));}export function generateTemplate(_0x1705bc,_0x407bf8,_0x3feda6,_0x4c9f14,_0x102a2f){const _0x14699c=a26_0x4a974c,_0x75b007=_0x4c9f14?.['trim']()||_0x14699c(0x1f4);if(_0x1705bc===_0x14699c(0x1b9))return'/**\x0a\x20*\x20COMMON\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20'+_0x75b007+_0x14699c(0x1bd)+_0x407bf8+_0x14699c(0x1ec)+_0x407bf8+_0x14699c(0x1fc)+_0x407bf8+_0x14699c(0x1c5);if(_0x1705bc===_0x14699c(0x1ed))return _0x14699c(0x208)+_0x75b007+'\x0a\x20*\x20[接口路径]\x20POST\x20/api/endpoint/{appCode}/{scriptName}\x0a\x20*\x20[当前示例]\x20POST\x20/api/endpoint/'+_0x3feda6+'/'+_0x407bf8+_0x14699c(0x1e5)+_0x407bf8+_0x14699c(0x1c5);if(!_0x102a2f)throw CliErrors[_0x14699c(0x1d4)](_0x14699c(0x20b));return'/**\x0a\x20*\x20HOOK\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20'+_0x75b007+_0x14699c(0x207)+_0x3feda6+'/'+_0x102a2f['datasetCode']+'/'+_0x102a2f[_0x14699c(0x1f7)]+_0x14699c(0x1fb)+_0x102a2f[_0x14699c(0x1ea)]+_0x14699c(0x1e4)+_0x407bf8+'(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a';}
1
+ const a26_0x347fd2=a26_0xb46f;(function(_0x215cb6,_0x3a88a2){const _0x4236cd=a26_0xb46f,_0x4d9411=_0x215cb6();while(!![]){try{const _0x5828fd=parseInt(_0x4236cd(0x1d7))/0x1+parseInt(_0x4236cd(0x19c))/0x2+parseInt(_0x4236cd(0x1b9))/0x3+parseInt(_0x4236cd(0x1e0))/0x4*(parseInt(_0x4236cd(0x1aa))/0x5)+parseInt(_0x4236cd(0x1b7))/0x6+-parseInt(_0x4236cd(0x1b3))/0x7+parseInt(_0x4236cd(0x1c9))/0x8*(-parseInt(_0x4236cd(0x1a3))/0x9);if(_0x5828fd===_0x3a88a2)break;else _0x4d9411['push'](_0x4d9411['shift']());}catch(_0x10e06c){_0x4d9411['push'](_0x4d9411['shift']());}}}(a26_0x469f,0x44b50));import{createInterface}from'node:readline';import{mkdir,writeFile}from'node:fs/promises';function a26_0xb46f(_0x44b907,_0x5632ff){_0x44b907=_0x44b907-0x195;const _0x469fff=a26_0x469f();let _0xb46f76=_0x469fff[_0x44b907];return _0xb46f76;}function a26_0x469f(){const _0x3cc40c=['utf8','datasetCode','scriptsRootDir','question','--alias\x20or\x20--datasetcode\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','stderr','function-node','\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','Trigger\x20node\x20(HOOK\x20only)','includes','Alias\x20\x22','\x0a\x20*\x20[接口路径]\x20POST\x20/api/','198342GQNOao','Invalid\x20function\x20name\x20\x22','Select\x20dataset:','tableName','stdin','The\x20api.ts\x20may\x20be\x20stale\x20—\x20run\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','18INooYx','COMMON','Dataset\x20not\x20found\x20for\x20code\x20\x22','\x22\x20not\x20found\x20for\x20dataset\x20','trim','Script\x20type','after','62710KiPQGT','Select\x20trigger\x20node:','/**\x0a\x20*\x20HOOK\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','Script\x20description','parseInt','before','functionNode','code','Available:\x20','3023629JfzZut','operationType','Invalid\x20dataset\x20selection.','join','3364626HyTSbf','--function-node\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','1603614WIypeT','Dataset\x20alias\x20from\x20api.ts\x20(HOOK\x20only,\x20preferred)','apiDir','.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','write','\x20api\x20pull`\x20first,\x20or\x20use\x20--datasetcode\x20instead.','name','map','validation','ENDPOINT','/**\x0a\x20*\x20ENDPOINT\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','close','string','Operation\x20type\x20(HOOK\x20only)','No\x20datasets\x20found\x20for\x20this\x20app.','length','3045048JAhXmT','Function\x20name\x20(valid\x20JS\x20identifier)','\x0a\x20*\x20[脚本名称]\x20','/**\x0a\x20*\x20COMMON\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a','description','TODO:\x20add\x20script\x20description','.js','\x22.\x20Must\x20be\x20a\x20valid\x20JS\x20identifier\x20(e.g.\x20createOrder,\x20beforeFilter).','Created\x20','Dataset\x20code\x20(HOOK\x20only,\x20fallback\x20when\x20alias\x20unavailable)','appCode','\x0a\x20*\x20[脚本类型]\x20COMMON\x0a\x20*\x20[本地路径]\x20.rabetbase/bff/COMMON/','\x20api\x20pull`\x20to\x20refresh.','204901fISWec','find','HOOK','No\x20operation\x20types\x20found\x20for\x20dataset\x20','No\x20api.ts\x20found.\x20Run\x20`','--function-node\x20must\x20be\x20\x27before\x27\x20or\x20\x27after\x27.','type','str','operation-type','24ZezxPa','nonInteractive','Operation\x20type\x20\x22','alias','keys','HOOK\x20requires\x20hookOptions\x20for\x20template\x20generation.'];a26_0x469f=function(){return _0x3cc40c;};return a26_0x469f();}import{dirname,join}from'node:path';import{listDatasets,listBffDatasetOperations}from'../../core/api-client.js';import{loadAliasMap,resolveAlias}from'../../core/alias-resolver.js';import{resolveApiFilePath}from'../../context.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{fileExists}from'../../core/bff/file-system.js';import{isValidBffFunctionName,normalizeHookFunctionNode}from'../../core/bff/utils.js';import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';export const bffCreate={'service':'bff','command':'create','description':'Scaffold\x20a\x20new\x20BFF\x20function\x20from\x20template','risk':a26_0x347fd2(0x1bd),'flags':[{'name':a26_0x347fd2(0x1dd),'type':a26_0x347fd2(0x1c5),'required':!![],'enum':[a26_0x347fd2(0x1a4),a26_0x347fd2(0x1c2),a26_0x347fd2(0x1d9)],'description':a26_0x347fd2(0x1a8)},{'name':a26_0x347fd2(0x1bf),'type':'string','required':!![],'description':a26_0x347fd2(0x1ca)},{'name':a26_0x347fd2(0x1ce),'type':a26_0x347fd2(0x1c5),'description':a26_0x347fd2(0x1ad)},{'name':a26_0x347fd2(0x1e3),'type':a26_0x347fd2(0x1c5),'description':a26_0x347fd2(0x1ba)},{'name':'datasetcode','type':a26_0x347fd2(0x1c5),'description':a26_0x347fd2(0x1d3)},{'name':a26_0x347fd2(0x1df),'type':'string','description':a26_0x347fd2(0x1c6)},{'name':a26_0x347fd2(0x196),'type':'string','description':a26_0x347fd2(0x198),'enum':[a26_0x347fd2(0x1af),a26_0x347fd2(0x1a9)]}],async 'validate'(_0x4f307f){const _0x41c2c4=a26_0x347fd2,_0x48faef=_0x4f307f['str']('name');if(!isValidBffFunctionName(_0x48faef))throw CliErrors[_0x41c2c4(0x1c1)](_0x41c2c4(0x19d)+_0x48faef+_0x41c2c4(0x1d1));},async 'execute'(_0x2d8bcb){const _0x5ba7ef=a26_0x347fd2,_0x3be1df=loadBffProjectConfig(_0x2d8bcb[_0x5ba7ef(0x1d4)]),_0x46ffd6=_0x2d8bcb[_0x5ba7ef(0x1de)]('type'),_0x4b7729=_0x2d8bcb[_0x5ba7ef(0x1de)](_0x5ba7ef(0x1bf)),_0x42ea00=_0x2d8bcb[_0x5ba7ef(0x1de)](_0x5ba7ef(0x1ce))||undefined,_0x4617de=_0x46ffd6==='HOOK'?await resolveHookOptions(_0x3be1df,_0x2d8bcb):undefined,_0x20a6b0=buildFilePath(_0x3be1df,_0x46ffd6,_0x4b7729,_0x4617de);if(await fileExists(_0x20a6b0))throw CliErrors['validation']('File\x20already\x20exists:\x20'+_0x20a6b0);await mkdir(dirname(_0x20a6b0),{'recursive':!![]});const _0xedf75c=generateTemplate(_0x46ffd6,_0x4b7729,_0x2d8bcb['appCode'],_0x42ea00,_0x4617de);await writeFile(_0x20a6b0,_0xedf75c,_0x5ba7ef(0x1e6));const _0x215ff7={'type':_0x46ffd6,'name':_0x4b7729,'path':_0x20a6b0};if(_0x42ea00)_0x215ff7['description']=_0x42ea00;if(_0x4617de){if(_0x4617de[_0x5ba7ef(0x1e3)])_0x215ff7['alias']=_0x4617de[_0x5ba7ef(0x1e3)];_0x215ff7[_0x5ba7ef(0x1e7)]=_0x4617de[_0x5ba7ef(0x1e7)],_0x215ff7[_0x5ba7ef(0x1b4)]=_0x4617de[_0x5ba7ef(0x1b4)],_0x215ff7[_0x5ba7ef(0x1b0)]=_0x4617de['functionNode'];}return{'ok':!![],'data':_0x215ff7,'message':_0x5ba7ef(0x1d2)+_0x46ffd6+'\x20function:\x20'+_0x4b7729};}};async function resolveHookOptions(_0x208833,_0x3470f9){const _0x8c1ff3=a26_0x347fd2,_0x544569=loadAliasMap(_0x3470f9[_0x8c1ff3(0x1bb)],undefined,resolveApiFilePath(_0x3470f9[_0x8c1ff3(0x1bb)],_0x3470f9[_0x8c1ff3(0x1d4)])),_0x36299b=_0x544569[_0x8c1ff3(0x1c8)]>0x0;let _0x15c645,_0x56e28c,_0x4adc3a;const _0x5a8dc8=_0x3470f9[_0x8c1ff3(0x1de)](_0x8c1ff3(0x1e3)),_0x30e1ec=_0x3470f9[_0x8c1ff3(0x1de)]('datasetcode');if(_0x5a8dc8){const _0x2ef05d=resolveAlias(_0x3470f9[_0x8c1ff3(0x1bb)],_0x5a8dc8,undefined,resolveApiFilePath(_0x3470f9['apiDir'],_0x3470f9['appCode']));if(!_0x2ef05d){const _0xea3d6b=_0x36299b?'Available\x20aliases:\x20'+_0x544569[_0x8c1ff3(0x1c0)](_0x17ab47=>_0x17ab47[_0x8c1ff3(0x1e3)])[_0x8c1ff3(0x1b6)](',\x20'):_0x8c1ff3(0x1db)+CLI_BIN_NAME+_0x8c1ff3(0x1be);throw CliErrors[_0x8c1ff3(0x1c1)](_0x8c1ff3(0x19a)+_0x5a8dc8+'\x22\x20not\x20found.\x20'+_0xea3d6b);}_0x15c645=_0x5a8dc8,_0x56e28c=_0x2ef05d;}else{if(_0x30e1ec){_0x56e28c=_0x30e1ec;const _0x3c270e=_0x544569[_0x8c1ff3(0x1d8)](_0x12ca25=>_0x12ca25[_0x8c1ff3(0x1e7)]===_0x30e1ec);_0x15c645=_0x3c270e?.['alias'];}else{if(_0x3470f9['nonInteractive'])throw CliErrors[_0x8c1ff3(0x1c1)](_0x8c1ff3(0x1ea));else{if(_0x36299b){const _0x557fb1=_0x544569[_0x8c1ff3(0x1c0)](_0x4e71a9=>_0x4e71a9[_0x8c1ff3(0x1e3)]+'\x20('+_0x4e71a9[_0x8c1ff3(0x19f)]+')'),_0x1db8fd=await promptSelect(_0x8c1ff3(0x19e),_0x557fb1),_0x303e45=_0x544569[_0x1db8fd];if(!_0x303e45)throw CliErrors[_0x8c1ff3(0x1c1)](_0x8c1ff3(0x1b5));_0x15c645=_0x303e45[_0x8c1ff3(0x1e3)],_0x56e28c=_0x303e45[_0x8c1ff3(0x1e7)];}else{const _0x1d16b7=await listDatasets(_0x3470f9['appCode']);if(_0x1d16b7[_0x8c1ff3(0x1c8)]===0x0)throw CliErrors['validation'](_0x8c1ff3(0x1c7));const _0x37a0c3=_0x1d16b7[_0x8c1ff3(0x1c0)](_0x1c0031=>_0x1c0031['name']+'\x20('+_0x1c0031['code']+')'),_0x1e6589=await promptSelect(_0x8c1ff3(0x19e),_0x37a0c3),_0x1d47fa=_0x1d16b7[_0x1e6589];if(!_0x1d47fa)throw CliErrors['validation'](_0x8c1ff3(0x1b5));_0x56e28c=_0x1d47fa[_0x8c1ff3(0x1b1)],_0x15c645=undefined;}}}}const _0x50c60a=await listDatasets(_0x3470f9[_0x8c1ff3(0x1d4)]),_0x14eea0=_0x50c60a[_0x8c1ff3(0x1d8)](_0x5923a2=>_0x5923a2[_0x8c1ff3(0x1b1)]===_0x56e28c);if(!_0x14eea0)throw CliErrors[_0x8c1ff3(0x1c1)](_0x8c1ff3(0x1a5)+_0x56e28c+'\x22.\x20'+(_0x15c645?_0x8c1ff3(0x1a1)+CLI_BIN_NAME+_0x8c1ff3(0x1d6):''));_0x4adc3a=_0x14eea0['id'];const _0x2901f6=_0x15c645??_0x56e28c,_0x48615f=await listBffDatasetOperations(_0x3470f9['appCode'],_0x4adc3a),_0x13a7c2=_0x48615f?Object[_0x8c1ff3(0x1e4)](_0x48615f):[];if(_0x13a7c2[_0x8c1ff3(0x1c8)]===0x0)throw CliErrors[_0x8c1ff3(0x1c1)](_0x8c1ff3(0x1da)+_0x2901f6+'.');let _0x5ca240;const _0x1c36aa=_0x3470f9[_0x8c1ff3(0x1de)](_0x8c1ff3(0x1df));if(_0x1c36aa){if(!_0x13a7c2[_0x8c1ff3(0x199)](_0x1c36aa))throw CliErrors[_0x8c1ff3(0x1c1)](_0x8c1ff3(0x1e2)+_0x1c36aa+_0x8c1ff3(0x1a6)+_0x2901f6+'.\x20'+(_0x8c1ff3(0x1b2)+_0x13a7c2[_0x8c1ff3(0x1b6)](',\x20')));_0x5ca240=_0x1c36aa;}else{if(_0x3470f9[_0x8c1ff3(0x1e1)])throw CliErrors[_0x8c1ff3(0x1c1)]('--operation-type\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.');const _0x39d16=await promptSelect('Select\x20operation\x20type:',_0x13a7c2);_0x5ca240=_0x13a7c2[_0x39d16]??_0x13a7c2[0x0];}let _0x8e030d=normalizeHookFunctionNode(_0x3470f9[_0x8c1ff3(0x1de)](_0x8c1ff3(0x196)));if(!_0x8e030d){if(_0x3470f9[_0x8c1ff3(0x1de)]('function-node'))throw CliErrors[_0x8c1ff3(0x1c1)](_0x8c1ff3(0x1dc));if(_0x3470f9['nonInteractive'])throw CliErrors[_0x8c1ff3(0x1c1)](_0x8c1ff3(0x1b8));const _0x5cc36e=await promptSelect(_0x8c1ff3(0x1ab),['before',_0x8c1ff3(0x1a9)]);_0x8e030d=[_0x8c1ff3(0x1af),_0x8c1ff3(0x1a9)][_0x5cc36e]??'before';}return{'alias':_0x15c645,'datasetCode':_0x56e28c,'datasetId':_0x4adc3a,'operationType':_0x5ca240,'functionNode':_0x8e030d};}async function promptSelect(_0x1172c0,_0x3a27fd){const _0x51b7b8=a26_0x347fd2;if(_0x3a27fd[_0x51b7b8(0x1c8)]===0x1)return 0x0;for(const [_0xd9019e,_0x16371f]of _0x3a27fd['entries']()){process[_0x51b7b8(0x195)][_0x51b7b8(0x1bd)]('\x20\x20'+(_0xd9019e+0x1)+'.\x20'+_0x16371f+'\x0a');}const _0x14a87c=createInterface({'input':process[_0x51b7b8(0x1a0)],'output':process[_0x51b7b8(0x195)]});while(!![]){const _0x134f92=await new Promise(_0x483c4e=>{const _0x92e9d0=_0x51b7b8;_0x14a87c[_0x92e9d0(0x1e9)](_0x1172c0+'\x20',_0x483c4e);}),_0x21a8c0=Number[_0x51b7b8(0x1ae)](_0x134f92[_0x51b7b8(0x1a7)](),0xa);if(Number['isInteger'](_0x21a8c0)&&_0x21a8c0>=0x1&&_0x21a8c0<=_0x3a27fd[_0x51b7b8(0x1c8)])return _0x14a87c[_0x51b7b8(0x1c4)](),_0x21a8c0-0x1;process[_0x51b7b8(0x195)]['write']('\x20\x20Enter\x20a\x20number\x20between\x201\x20and\x20'+_0x3a27fd['length']+'.\x0a');}}function buildFilePath(_0x27887d,_0x5c98dd,_0xd15031,_0x3e46ac){const _0xac8364=a26_0x347fd2;if(_0x5c98dd===_0xac8364(0x1d9)){if(!_0x3e46ac)throw CliErrors[_0xac8364(0x1c1)]('HOOK\x20requires\x20alias/operation/node\x20options.');const _0x4a8733=_0x3e46ac[_0xac8364(0x1e3)]??_0x3e46ac[_0xac8364(0x1e7)];return join(_0x27887d[_0xac8364(0x1e8)],'HOOK',_0x4a8733,_0x3e46ac[_0xac8364(0x1b4)],_0x3e46ac[_0xac8364(0x1b0)],_0xd15031+'.js');}return join(_0x27887d[_0xac8364(0x1e8)],_0x5c98dd,_0xd15031+_0xac8364(0x1d0));}export function generateTemplate(_0x5a44f5,_0x4b33e4,_0x357f75,_0x12f880,_0x44f786){const _0x4fb141=a26_0x347fd2,_0x81018c=_0x12f880?.['trim']()||_0x4fb141(0x1cf);if(_0x5a44f5==='COMMON')return _0x4fb141(0x1cc)+_0x81018c+_0x4fb141(0x1cb)+_0x4b33e4+_0x4fb141(0x1d5)+_0x4b33e4+_0x4fb141(0x1bc)+_0x4b33e4+'(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a';if(_0x5a44f5===_0x4fb141(0x1c2))return _0x4fb141(0x1c3)+_0x81018c+'\x0a\x20*\x20[接口路径]\x20POST\x20/api/endpoint/{appCode}/{scriptName}\x0a\x20*\x20[当前示例]\x20POST\x20/api/endpoint/'+_0x357f75+'/'+_0x4b33e4+_0x4fb141(0x1a2)+_0x4b33e4+'(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a';if(!_0x44f786)throw CliErrors[_0x4fb141(0x1c1)](_0x4fb141(0x1e5));return _0x4fb141(0x1ac)+_0x81018c+_0x4fb141(0x19b)+_0x357f75+'/'+_0x44f786[_0x4fb141(0x1e7)]+'/'+_0x44f786[_0x4fb141(0x1b4)]+'\x0a\x20*\x20[触发节点]\x20'+_0x44f786[_0x4fb141(0x1b0)]+_0x4fb141(0x197)+_0x4b33e4+_0x4fb141(0x1cd);}
@@ -1 +1 @@
1
- const a27_0x22e844=a27_0x129f;(function(_0x4ac53c,_0x2417aa){const _0xd97a7a=a27_0x129f,_0x50bbf1=_0x4ac53c();while(!![]){try{const _0x2bd1b9=parseInt(_0xd97a7a(0x209))/0x1+-parseInt(_0xd97a7a(0x1f8))/0x2+parseInt(_0xd97a7a(0x1e7))/0x3*(-parseInt(_0xd97a7a(0x1e3))/0x4)+parseInt(_0xd97a7a(0x1ec))/0x5*(parseInt(_0xd97a7a(0x201))/0x6)+parseInt(_0xd97a7a(0x206))/0x7*(parseInt(_0xd97a7a(0x207))/0x8)+-parseInt(_0xd97a7a(0x202))/0x9*(-parseInt(_0xd97a7a(0x1dc))/0xa)+parseInt(_0xd97a7a(0x1e6))/0xb;if(_0x2bd1b9===_0x2417aa)break;else _0x50bbf1['push'](_0x50bbf1['shift']());}catch(_0x3a679a){_0x50bbf1['push'](_0x50bbf1['shift']());}}}(a27_0x9855,0xc4cad));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';export const bffDelete={'service':a27_0x22e844(0x1ea),'command':a27_0x22e844(0x1f9),'description':a27_0x22e844(0x1e4),'risk':'high-risk-write','flags':[{'name':a27_0x22e844(0x1f1),'type':'string','required':!![],'description':a27_0x22e844(0x208)}],async 'validate'(_0x4c1856){const _0xcd7034=a27_0x22e844,_0x2a4cfa=loadBffProjectConfig(_0x4c1856[_0xcd7034(0x1fd)]),_0x4e50c5=await readBffLockFile(_0x2a4cfa[_0xcd7034(0x1ed)]);if(!_0x4e50c5)throw CliErrors[_0xcd7034(0x1e5)](_0xcd7034(0x205));},async 'dryRun'(_0x4a7817){const _0x2764e1=a27_0x22e844,_0x4b2c29=loadBffProjectConfig(_0x4a7817[_0x2764e1(0x1fd)]),_0x33f4d1=await readBffLockFile(_0x4b2c29[_0x2764e1(0x1ed)]);if(!_0x33f4d1)throw CliErrors[_0x2764e1(0x1e5)](_0x2764e1(0x20a));const {appLock:_0x3574f2}=ensureLockScope(_0x33f4d1,_0x4a7817[_0x2764e1(0x1fd)],_0x4b2c29[_0x2764e1(0x20b)],_0x2764e1(0x1f9)),_0x11f432=_0x4a7817[_0x2764e1(0x1de)]('target'),_0x5bcdbb=Object[_0x2764e1(0x1e1)](_0x3574f2[_0x2764e1(0x1df)]),_0x20eda9=resolveDeleteTarget(_0x11f432,_0x5bcdbb),_0x5797af=_0x3574f2[_0x2764e1(0x1df)][_0x20eda9];if(!_0x5797af)throw CliErrors[_0x2764e1(0x1e5)](_0x2764e1(0x204)+_0x20eda9+'\x22.');const _0x6714fa=resolveLocalFilePathFromLockKey(_0x4b2c29,_0x20eda9),_0x1d3c5c=relative(_0x4b2c29[_0x2764e1(0x1fe)],_0x6714fa),_0x46b66c=join(_0x4b2c29['trashDir'],_0x2764e1(0x1f4),_0x1d3c5c);return{'method':_0x2764e1(0x1fc),'url':'/api/management/library/scripts/delete','body':{'appCode':_0x4a7817[_0x2764e1(0x1fd)],'target':_0x20eda9,'remoteId':_0x5797af[_0x2764e1(0x1e9)],'localFilePath':_0x6714fa,'trashedPath':_0x46b66c},'description':'Would\x20delete\x20'+_0x20eda9+_0x2764e1(0x1ff)};},async 'execute'(_0xf48af1){const _0xaecceb=a27_0x22e844,_0x2e623f=loadBffProjectConfig(_0xf48af1[_0xaecceb(0x1fd)]),_0x56b5f8=await readBffLockFile(_0x2e623f[_0xaecceb(0x1ed)]);if(!_0x56b5f8)throw CliErrors[_0xaecceb(0x1e5)](_0xaecceb(0x20a));const {lockData:_0x75db26,appLock:_0x35637a}=ensureLockScope(_0x56b5f8,_0xf48af1[_0xaecceb(0x1fd)],_0x2e623f[_0xaecceb(0x20b)],_0xaecceb(0x1f9)),_0x332ca9=_0xf48af1['str'](_0xaecceb(0x1f1)),_0x42c738=Object[_0xaecceb(0x1e1)](_0x35637a['functions']),_0x8d3d7e=resolveDeleteTarget(_0x332ca9,_0x42c738),_0x25831a=_0x35637a[_0xaecceb(0x1df)][_0x8d3d7e];if(!_0x25831a)throw CliErrors['validation'](_0xaecceb(0x204)+_0x8d3d7e+'\x22.');await deleteBffScript(_0x25831a['remoteId']),delete _0x35637a[_0xaecceb(0x1df)][_0x8d3d7e],_0x35637a[_0xaecceb(0x1f6)]=new Date()[_0xaecceb(0x1f2)](),await writeBffLockFile(_0x2e623f['lockFilePath'],_0x75db26);const _0x2a87af=resolveLocalFilePathFromLockKey(_0x2e623f,_0x8d3d7e);let _0x11d2c7;await fileExists(_0x2a87af)&&(_0x11d2c7=await moveToTrash(_0x2e623f[_0xaecceb(0x1fe)],_0x2e623f[_0xaecceb(0x200)],_0x2a87af),await cleanupEmptyDirectories(dirname(_0x2a87af),_0x2e623f[_0xaecceb(0x1eb)]));const _0x17d38e={'deleted':_0x8d3d7e,'remoteId':_0x25831a[_0xaecceb(0x1e9)]};if(_0x11d2c7)_0x17d38e[_0xaecceb(0x1f3)]=_0x11d2c7;return{'ok':!![],'data':_0x17d38e,'message':_0xaecceb(0x1e8)+_0x8d3d7e+(_0x11d2c7?_0xaecceb(0x1dd):'')};}};function resolveDeleteTarget(_0x25255f,_0x503ae1){const _0x1025f1=a27_0x22e844;if(_0x25255f[_0x1025f1(0x1f0)]('/')){const _0x350768=_0x503ae1[_0x1025f1(0x1e2)](_0x3722b9=>_0x3722b9===_0x25255f);if(!_0x350768)throw CliErrors[_0x1025f1(0x1e5)](_0x1025f1(0x203)+_0x25255f);return _0x350768;}const _0x705cc7=_0x503ae1['filter'](_0x1b41f5=>_0x1b41f5[_0x1025f1(0x1ef)]('/')['at'](-0x1)===_0x25255f);if(_0x705cc7[_0x1025f1(0x1e0)]===0x0)throw CliErrors['validation'](_0x1025f1(0x203)+_0x25255f);if(_0x705cc7[_0x1025f1(0x1e0)]>0x1)throw CliErrors['validation'](_0x1025f1(0x1f5)+_0x25255f+'\x22.\x20Use\x20the\x20full\x20lock\x20key:\x0a'+_0x705cc7[_0x1025f1(0x1fb)](_0x541371=>_0x1025f1(0x1fa)+_0x541371)[_0x1025f1(0x1f7)]('\x0a'));return _0x705cc7[0x0];}function a27_0x9855(){const _0x306a88=['projectRoot','\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20trash','trashDir','59322Qhfpzx','9RChmJg','Function\x20not\x20found:\x20','No\x20lock\x20entry\x20found\x20for\x20\x22','BFF\x20lock\x20file\x20not\x20found.\x20Run\x20`push`\x20or\x20`pull`\x20first\x20to\x20initialize\x20sync\x20state.','73311jUfbHA','272fmcRtn','Lock\x20key\x20(e.g.\x20ENDPOINT/createOrder)\x20or\x20short\x20function\x20name','229906rPIeJf','BFF\x20lock\x20file\x20not\x20found.','scriptsRoot','3664390XuOmBX','\x20(local\x20file\x20moved\x20to\x20trash)','str','functions','length','keys','find','8yAadzx','Delete\x20a\x20BFF\x20script\x20from\x20remote\x20and\x20local','validation','11580800Maafqx','448350WJGjZB','Deleted\x20','remoteId','bff','scriptsRootDir','45mAMpig','lockFilePath','replace','split','includes','target','toISOString','trashedTo','<timestamp>','Multiple\x20functions\x20match\x20\x22','lastSync','join','1978498euQaKs','delete','\x20\x20-\x20','map','POST','appCode'];a27_0x9855=function(){return _0x306a88;};return a27_0x9855();}function a27_0x129f(_0x4e6891,_0x1e3787){_0x4e6891=_0x4e6891-0x1dc;const _0x985593=a27_0x9855();let _0x129fac=_0x985593[_0x4e6891];return _0x129fac;}async function moveToTrash(_0x39803e,_0x26505e,_0x35995c){const _0x54d2c3=a27_0x22e844,_0x23689d=new Date()[_0x54d2c3(0x1f2)]()[_0x54d2c3(0x1ee)](/[:.]/g,'-'),_0x2c98f5=relative(_0x39803e,_0x35995c),_0x5766bb=join(_0x26505e,_0x23689d,_0x2c98f5);return await mkdir(dirname(_0x5766bb),{'recursive':!![]}),await rename(_0x35995c,_0x5766bb),_0x5766bb;}async function cleanupEmptyDirectories(_0x486fbd,_0xa6e413){let _0x5ab386=resolve(_0x486fbd);const _0x2c588e=resolve(_0xa6e413);while(_0x5ab386['startsWith'](''+_0x2c588e+sep)||_0x5ab386===_0x2c588e){if(_0x5ab386===_0x2c588e)return;try{const _0x31b2d2=await readdir(_0x5ab386);if(_0x31b2d2['length']>0x0)return;await rmdir(_0x5ab386);}catch{return;}_0x5ab386=dirname(_0x5ab386);}}
1
+ const a27_0x354861=a27_0x33d5;function a27_0x33d5(_0x36fbcf,_0x29b308){_0x36fbcf=_0x36fbcf-0x1a4;const _0x32e63c=a27_0x32e6();let _0x33d5fb=_0x32e63c[_0x36fbcf];return _0x33d5fb;}(function(_0x3b476a,_0x39317e){const _0x3944ff=a27_0x33d5,_0x70e073=_0x3b476a();while(!![]){try{const _0x2affc0=-parseInt(_0x3944ff(0x1c6))/0x1*(-parseInt(_0x3944ff(0x1d2))/0x2)+-parseInt(_0x3944ff(0x1ce))/0x3*(parseInt(_0x3944ff(0x1ba))/0x4)+parseInt(_0x3944ff(0x1ae))/0x5+-parseInt(_0x3944ff(0x1b0))/0x6*(-parseInt(_0x3944ff(0x1cb))/0x7)+parseInt(_0x3944ff(0x1b4))/0x8*(-parseInt(_0x3944ff(0x1b8))/0x9)+-parseInt(_0x3944ff(0x1c0))/0xa*(-parseInt(_0x3944ff(0x1a4))/0xb)+-parseInt(_0x3944ff(0x1a9))/0xc;if(_0x2affc0===_0x39317e)break;else _0x70e073['push'](_0x70e073['shift']());}catch(_0x54cff7){_0x70e073['push'](_0x70e073['shift']());}}}(a27_0x32e6,0x3f4c2));function a27_0x32e6(){const _0x37e7d4=['11jUfdDs','functions','Lock\x20key\x20(e.g.\x20ENDPOINT/createOrder)\x20or\x20short\x20function\x20name','Multiple\x20functions\x20match\x20\x22','str','6911088vBczKn','trashDir','trashedTo','BFF\x20lock\x20file\x20not\x20found.','join','1335305WeCKrP','No\x20lock\x20entry\x20found\x20for\x20\x22','6vUuCwk','Deleted\x20','appCode','/api/management/library/scripts/delete','668144mLCUXW','\x22.\x20Use\x20the\x20full\x20lock\x20key:\x0a','find','includes','36aPiAAT','projectRoot','21064SKYZiW','length','target','Would\x20delete\x20','scriptsRoot','remoteId','3838790NaAbZU','Delete\x20a\x20BFF\x20script\x20from\x20remote\x20and\x20local','BFF\x20lock\x20file\x20not\x20found.\x20Run\x20`push`\x20or\x20`pull`\x20first\x20to\x20initialize\x20sync\x20state.','\x20\x20-\x20','POST','high-risk-write','1wPVbGn','validation','bff','keys','lockFilePath','2116219RTxpMT','lastSync','delete','6BPQTgr','string','map','Function\x20not\x20found:\x20','453074XqWKNs','toISOString','scriptsRootDir'];a27_0x32e6=function(){return _0x37e7d4;};return a27_0x32e6();}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';export const bffDelete={'service':a27_0x354861(0x1c8),'command':'delete','description':a27_0x354861(0x1c1),'risk':a27_0x354861(0x1c5),'flags':[{'name':a27_0x354861(0x1bc),'type':a27_0x354861(0x1cf),'required':!![],'description':a27_0x354861(0x1a6)}],async 'validate'(_0x10d08e){const _0x595d3d=a27_0x354861,_0x5f040=loadBffProjectConfig(_0x10d08e[_0x595d3d(0x1b2)]),_0x59cf9f=await readBffLockFile(_0x5f040[_0x595d3d(0x1ca)]);if(!_0x59cf9f)throw CliErrors['validation'](_0x595d3d(0x1c2));},async 'dryRun'(_0x331e03){const _0x754026=a27_0x354861,_0x120480=loadBffProjectConfig(_0x331e03[_0x754026(0x1b2)]),_0x5630b6=await readBffLockFile(_0x120480['lockFilePath']);if(!_0x5630b6)throw CliErrors[_0x754026(0x1c7)](_0x754026(0x1ac));const {appLock:_0xb3a995}=ensureLockScope(_0x5630b6,_0x331e03[_0x754026(0x1b2)],_0x120480[_0x754026(0x1be)],_0x754026(0x1cd)),_0x4e2a8f=_0x331e03[_0x754026(0x1a8)](_0x754026(0x1bc)),_0x130471=Object[_0x754026(0x1c9)](_0xb3a995[_0x754026(0x1a5)]),_0x1225b8=resolveDeleteTarget(_0x4e2a8f,_0x130471),_0x133720=_0xb3a995[_0x754026(0x1a5)][_0x1225b8];if(!_0x133720)throw CliErrors['validation'](_0x754026(0x1af)+_0x1225b8+'\x22.');const _0x23d34d=resolveLocalFilePathFromLockKey(_0x120480,_0x1225b8),_0x3aa51f=relative(_0x120480[_0x754026(0x1b9)],_0x23d34d),_0x1afe9f=join(_0x120480[_0x754026(0x1aa)],'<timestamp>',_0x3aa51f);return{'method':_0x754026(0x1c4),'url':_0x754026(0x1b3),'body':{'appCode':_0x331e03[_0x754026(0x1b2)],'target':_0x1225b8,'remoteId':_0x133720[_0x754026(0x1bf)],'localFilePath':_0x23d34d,'trashedPath':_0x1afe9f},'description':_0x754026(0x1bd)+_0x1225b8+'\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20trash'};},async 'execute'(_0x293b86){const _0x1543d1=a27_0x354861,_0x116560=loadBffProjectConfig(_0x293b86[_0x1543d1(0x1b2)]),_0x10b753=await readBffLockFile(_0x116560['lockFilePath']);if(!_0x10b753)throw CliErrors[_0x1543d1(0x1c7)]('BFF\x20lock\x20file\x20not\x20found.');const {lockData:_0x5ecc9b,appLock:_0x2386ae}=ensureLockScope(_0x10b753,_0x293b86[_0x1543d1(0x1b2)],_0x116560[_0x1543d1(0x1be)],_0x1543d1(0x1cd)),_0x259171=_0x293b86[_0x1543d1(0x1a8)](_0x1543d1(0x1bc)),_0x107a40=Object[_0x1543d1(0x1c9)](_0x2386ae[_0x1543d1(0x1a5)]),_0x4ba57b=resolveDeleteTarget(_0x259171,_0x107a40),_0x45d5be=_0x2386ae[_0x1543d1(0x1a5)][_0x4ba57b];if(!_0x45d5be)throw CliErrors[_0x1543d1(0x1c7)](_0x1543d1(0x1af)+_0x4ba57b+'\x22.');await deleteBffScript(_0x45d5be[_0x1543d1(0x1bf)]),delete _0x2386ae[_0x1543d1(0x1a5)][_0x4ba57b],_0x2386ae[_0x1543d1(0x1cc)]=new Date()[_0x1543d1(0x1d3)](),await writeBffLockFile(_0x116560[_0x1543d1(0x1ca)],_0x5ecc9b);const _0x4cd827=resolveLocalFilePathFromLockKey(_0x116560,_0x4ba57b);let _0x4d32ae;await fileExists(_0x4cd827)&&(_0x4d32ae=await moveToTrash(_0x116560[_0x1543d1(0x1b9)],_0x116560['trashDir'],_0x4cd827),await cleanupEmptyDirectories(dirname(_0x4cd827),_0x116560[_0x1543d1(0x1d4)]));const _0x46d866={'deleted':_0x4ba57b,'remoteId':_0x45d5be[_0x1543d1(0x1bf)]};if(_0x4d32ae)_0x46d866[_0x1543d1(0x1ab)]=_0x4d32ae;return{'ok':!![],'data':_0x46d866,'message':_0x1543d1(0x1b1)+_0x4ba57b+(_0x4d32ae?'\x20(local\x20file\x20moved\x20to\x20trash)':'')};}};function resolveDeleteTarget(_0x2142c6,_0x4ab2df){const _0x108fba=a27_0x354861;if(_0x2142c6[_0x108fba(0x1b7)]('/')){const _0x19e633=_0x4ab2df[_0x108fba(0x1b6)](_0x56d2e2=>_0x56d2e2===_0x2142c6);if(!_0x19e633)throw CliErrors[_0x108fba(0x1c7)](_0x108fba(0x1d1)+_0x2142c6);return _0x19e633;}const _0x3bc805=_0x4ab2df['filter'](_0x16878a=>_0x16878a['split']('/')['at'](-0x1)===_0x2142c6);if(_0x3bc805['length']===0x0)throw CliErrors[_0x108fba(0x1c7)](_0x108fba(0x1d1)+_0x2142c6);if(_0x3bc805[_0x108fba(0x1bb)]>0x1)throw CliErrors[_0x108fba(0x1c7)](_0x108fba(0x1a7)+_0x2142c6+_0x108fba(0x1b5)+_0x3bc805[_0x108fba(0x1d0)](_0x55852e=>_0x108fba(0x1c3)+_0x55852e)[_0x108fba(0x1ad)]('\x0a'));return _0x3bc805[0x0];}async function moveToTrash(_0x40be85,_0x4153b4,_0x3b3229){const _0x450478=a27_0x354861,_0x9d2a57=new Date()[_0x450478(0x1d3)]()['replace'](/[:.]/g,'-'),_0x4b3388=relative(_0x40be85,_0x3b3229),_0x3769d9=join(_0x4153b4,_0x9d2a57,_0x4b3388);return await mkdir(dirname(_0x3769d9),{'recursive':!![]}),await rename(_0x3b3229,_0x3769d9),_0x3769d9;}async function cleanupEmptyDirectories(_0x30978b,_0xcec1ba){const _0x43a4bb=a27_0x354861;let _0x3ea6a2=resolve(_0x30978b);const _0x101da1=resolve(_0xcec1ba);while(_0x3ea6a2['startsWith'](''+_0x101da1+sep)||_0x3ea6a2===_0x101da1){if(_0x3ea6a2===_0x101da1)return;try{const _0x4c8d6c=await readdir(_0x3ea6a2);if(_0x4c8d6c[_0x43a4bb(0x1bb)]>0x0)return;await rmdir(_0x3ea6a2);}catch{return;}_0x3ea6a2=dirname(_0x3ea6a2);}}
@@ -1 +1 @@
1
- const a28_0x59eac7=a28_0x1910;(function(_0x16c55f,_0x311801){const _0x497bdd=a28_0x1910,_0x28d953=_0x16c55f();while(!![]){try{const _0x31a241=-parseInt(_0x497bdd(0x191))/0x1*(parseInt(_0x497bdd(0x189))/0x2)+parseInt(_0x497bdd(0x199))/0x3*(-parseInt(_0x497bdd(0x187))/0x4)+parseInt(_0x497bdd(0x190))/0x5*(-parseInt(_0x497bdd(0x18a))/0x6)+parseInt(_0x497bdd(0x194))/0x7+-parseInt(_0x497bdd(0x180))/0x8*(-parseInt(_0x497bdd(0x184))/0x9)+parseInt(_0x497bdd(0x18e))/0xa+-parseInt(_0x497bdd(0x186))/0xb;if(_0x31a241===_0x311801)break;else _0x28d953['push'](_0x28d953['shift']());}catch(_0x299b5c){_0x28d953['push'](_0x28d953['shift']());}}}(a28_0x4455,0x9d656));import{getBffScriptInfo}from'../../core/api-client.js';function a28_0x1910(_0x55b0c1,_0x383191){_0x55b0c1=_0x55b0c1-0x180;const _0x445598=a28_0x4455();let _0x191010=_0x445598[_0x55b0c1];return _0x191010;}function a28_0x4455(){const _0x22dd5c=['453117uaJrKI','scriptType','1712qkTeFv','createdTime','verbose','Get\x20BFF\x20script\x20details\x20by\x20ID','47970IjRSit','number','2106500paiioF','32wnjUOv','scriptContent','8794MmAKBT','774FUnsZz','appCode','detail','updatedTime','5716980xYlaQQ','description','4855IGqGKB','163EnNDZM','read','Return\x20full\x20raw\x20script\x20object','8219106yOAjBd','Script\x20ID','(none)','num','boolean'];a28_0x4455=function(){return _0x22dd5c;};return a28_0x4455();}export const bffDetail={'service':'bff','command':a28_0x59eac7(0x18c),'description':a28_0x59eac7(0x183),'risk':a28_0x59eac7(0x192),'flags':[{'name':'id','type':a28_0x59eac7(0x185),'required':!![],'description':a28_0x59eac7(0x195)},{'name':a28_0x59eac7(0x182),'type':a28_0x59eac7(0x198),'description':a28_0x59eac7(0x193)}],async 'execute'(_0x4e5b46){const _0x5de831=a28_0x59eac7,_0x323c87=await getBffScriptInfo(_0x4e5b46[_0x5de831(0x197)]('id')),_0x35e944=_0x4e5b46['bool'](_0x5de831(0x182));if(_0x35e944)return{'ok':!![],'data':_0x323c87};return{'ok':!![],'data':{'id':_0x323c87['id'],'appCode':_0x323c87[_0x5de831(0x18b)],'scriptType':_0x323c87[_0x5de831(0x19a)],'description':_0x323c87[_0x5de831(0x18f)]||_0x5de831(0x196),'createdTime':_0x323c87[_0x5de831(0x181)]??'','updatedTime':_0x323c87[_0x5de831(0x18d)]??'','scriptContent':_0x323c87[_0x5de831(0x188)]??''}};}};
1
+ function a28_0x5cca(_0x2c5172,_0x3b8967){_0x2c5172=_0x2c5172-0x10a;const _0x4a3f66=a28_0x4a3f();let _0x5cca12=_0x4a3f66[_0x2c5172];return _0x5cca12;}const a28_0x1e90d6=a28_0x5cca;(function(_0x44c984,_0xcc637b){const _0x4c699a=a28_0x5cca,_0x3d54ce=_0x44c984();while(!![]){try{const _0x18e06e=parseInt(_0x4c699a(0x117))/0x1+-parseInt(_0x4c699a(0x10a))/0x2*(-parseInt(_0x4c699a(0x116))/0x3)+-parseInt(_0x4c699a(0x119))/0x4+-parseInt(_0x4c699a(0x111))/0x5*(-parseInt(_0x4c699a(0x11a))/0x6)+-parseInt(_0x4c699a(0x11f))/0x7*(-parseInt(_0x4c699a(0x11c))/0x8)+parseInt(_0x4c699a(0x11e))/0x9*(-parseInt(_0x4c699a(0x120))/0xa)+-parseInt(_0x4c699a(0x121))/0xb*(-parseInt(_0x4c699a(0x122))/0xc);if(_0x18e06e===_0xcc637b)break;else _0x3d54ce['push'](_0x3d54ce['shift']());}catch(_0x32e8b4){_0x3d54ce['push'](_0x3d54ce['shift']());}}}(a28_0x4a3f,0x49c74));import{getBffScriptInfo}from'../../core/api-client.js';function a28_0x4a3f(){const _0x1eb06f=['Script\x20ID','4430efavIP','scriptContent','appCode','number','description','detail','createdTime','177575kujpyx','bool','num','bff','(none)','279YahpId','343599fRZgeS','boolean','875472dBeeKX','6neCbIO','Return\x20full\x20raw\x20script\x20object','600bzqiOG','verbose','365319yAPufP','14399GJkUBC','130fWamyB','1111oNrorj','36756uxDHkR','Get\x20BFF\x20script\x20details\x20by\x20ID','updatedTime','read'];a28_0x4a3f=function(){return _0x1eb06f;};return a28_0x4a3f();}export const bffDetail={'service':a28_0x1e90d6(0x114),'command':a28_0x1e90d6(0x10f),'description':a28_0x1e90d6(0x123),'risk':a28_0x1e90d6(0x125),'flags':[{'name':'id','type':a28_0x1e90d6(0x10d),'required':!![],'description':a28_0x1e90d6(0x126)},{'name':a28_0x1e90d6(0x11d),'type':a28_0x1e90d6(0x118),'description':a28_0x1e90d6(0x11b)}],async 'execute'(_0x46354b){const _0x39fcb7=a28_0x1e90d6,_0xb0e9cd=await getBffScriptInfo(_0x46354b[_0x39fcb7(0x113)]('id')),_0x2fc77f=_0x46354b[_0x39fcb7(0x112)]('verbose');if(_0x2fc77f)return{'ok':!![],'data':_0xb0e9cd};return{'ok':!![],'data':{'id':_0xb0e9cd['id'],'appCode':_0xb0e9cd[_0x39fcb7(0x10c)],'scriptType':_0xb0e9cd['scriptType'],'description':_0xb0e9cd[_0x39fcb7(0x10e)]||_0x39fcb7(0x115),'createdTime':_0xb0e9cd[_0x39fcb7(0x110)]??'','updatedTime':_0xb0e9cd[_0x39fcb7(0x124)]??'','scriptContent':_0xb0e9cd[_0x39fcb7(0x10b)]??''}};}};
@@ -1 +1 @@
1
- (function(_0x5d37ec,_0x3f608e){const _0x283c74=a29_0x3284,_0x2a46a6=_0x5d37ec();while(!![]){try{const _0x5d1f78=parseInt(_0x283c74(0x1c4))/0x1*(-parseInt(_0x283c74(0x1c0))/0x2)+parseInt(_0x283c74(0x1bf))/0x3+-parseInt(_0x283c74(0x1c2))/0x4+parseInt(_0x283c74(0x1be))/0x5*(parseInt(_0x283c74(0x1c3))/0x6)+parseInt(_0x283c74(0x1bb))/0x7+-parseInt(_0x283c74(0x1bd))/0x8*(-parseInt(_0x283c74(0x1c1))/0x9)+-parseInt(_0x283c74(0x1bc))/0xa;if(_0x5d1f78===_0x3f608e)break;else _0x2a46a6['push'](_0x2a46a6['shift']());}catch(_0x346775){_0x2a46a6['push'](_0x2a46a6['shift']());}}}(a29_0x213a,0x739a0));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';function a29_0x3284(_0x15f8d5,_0x33bc6f){_0x15f8d5=_0x15f8d5-0x1bb;const _0x213a4b=a29_0x213a();let _0x328454=_0x213a4b[_0x15f8d5];return _0x328454;}import{bffPull}from'../../commands/bff/pull.js';import{bffDelete}from'../../commands/bff/delete.js';export const bffDefinitions=[bffList,bffDetail,bffStatus,bffCreate,bffPush,bffPull,bffDelete];function a29_0x213a(){const _0x3fd2da=['11727SsLiPx','644692gESYNi','438GEChgs','459257bLFsvA','5880441XjAjrj','8614690kKJHQQ','2408Hishnf','17305BrFMkA','2789223fthQfD','4AhmwHS'];a29_0x213a=function(){return _0x3fd2da;};return a29_0x213a();}
1
+ (function(_0x2bc67a,_0xf7d606){const _0x5ae972=a29_0x20d1,_0x5d2fca=_0x2bc67a();while(!![]){try{const _0x187ec5=parseInt(_0x5ae972(0x111))/0x1*(-parseInt(_0x5ae972(0x10f))/0x2)+-parseInt(_0x5ae972(0x10c))/0x3+parseInt(_0x5ae972(0x10e))/0x4*(parseInt(_0x5ae972(0x10b))/0x5)+-parseInt(_0x5ae972(0x110))/0x6+-parseInt(_0x5ae972(0x109))/0x7*(-parseInt(_0x5ae972(0x10d))/0x8)+parseInt(_0x5ae972(0x10a))/0x9+-parseInt(_0x5ae972(0x112))/0xa;if(_0x187ec5===_0xf7d606)break;else _0x5d2fca['push'](_0x5d2fca['shift']());}catch(_0x42c53f){_0x5d2fca['push'](_0x5d2fca['shift']());}}}(a29_0x1994,0x57df2));function a29_0x20d1(_0x339f98,_0x119b24){_0x339f98=_0x339f98-0x109;const _0x19945c=a29_0x1994();let _0x20d1a0=_0x19945c[_0x339f98];return _0x20d1a0;}import{bffList}from'../../commands/bff/list.js';import{bffDetail}from'../../commands/bff/detail.js';import{bffStatus}from'../../commands/bff/status.js';import{bffCreate}from'../../commands/bff/create.js';import{bffPush}from'../../commands/bff/push.js';import{bffPull}from'../../commands/bff/pull.js';import{bffDelete}from'../../commands/bff/delete.js';export const bffDefinitions=[bffList,bffDetail,bffStatus,bffCreate,bffPush,bffPull,bffDelete];function a29_0x1994(){const _0x133bea=['2999115iMjgqJ','10LXiOiX','756990WpgwDI','8notkNA','906344uNMJYP','164OgsiOw','885084sThdBA','727dbbhmV','5689320QQdzmt','4213335VLuWrx'];a29_0x1994=function(){return _0x133bea;};return a29_0x1994();}
@@ -1 +1 @@
1
- const a30_0x5a41ab=a30_0xd9dc;(function(_0x1231a5,_0x3cbb32){const _0x5bd4b8=a30_0xd9dc,_0x4cbd03=_0x1231a5();while(!![]){try{const _0x398914=-parseInt(_0x5bd4b8(0x147))/0x1+parseInt(_0x5bd4b8(0x13a))/0x2+parseInt(_0x5bd4b8(0x149))/0x3+-parseInt(_0x5bd4b8(0x148))/0x4*(parseInt(_0x5bd4b8(0x13b))/0x5)+parseInt(_0x5bd4b8(0x14f))/0x6+-parseInt(_0x5bd4b8(0x14e))/0x7*(-parseInt(_0x5bd4b8(0x150))/0x8)+-parseInt(_0x5bd4b8(0x13c))/0x9*(parseInt(_0x5bd4b8(0x14a))/0xa);if(_0x398914===_0x3cbb32)break;else _0x4cbd03['push'](_0x4cbd03['shift']());}catch(_0x53a275){_0x4cbd03['push'](_0x4cbd03['shift']());}}}(a30_0x43fc,0x70b73));function a30_0xd9dc(_0x508008,_0x3afb44){_0x508008=_0x508008-0x136;const _0x43fc86=a30_0x43fc();let _0xd9dc5e=_0x43fc86[_0x508008];return _0xd9dc5e;}function a30_0x43fc(){const _0x4eea9e=['List\x20BFF\x20scripts','map','1589786GDwuBz','100IwdJGH','2007ConktK','verbose','appCode','(unnamed)','boolean','ENDPOINT','functionName','string','list','COMMON','bff','307825JjTkQK','84520fQBRoO','2154972MpdxnZ','34690XtJKda','scriptType','str','name','14DtZqCs','1673088nhFzgy','694520usIGQF','type','Return\x20full\x20script\x20objects','length'];a30_0x43fc=function(){return _0x4eea9e;};return a30_0x43fc();}import{listBffScripts}from'../../core/api-client.js';export const bffList={'service':a30_0x5a41ab(0x146),'command':a30_0x5a41ab(0x144),'description':a30_0x5a41ab(0x138),'risk':'read','flags':[{'name':a30_0x5a41ab(0x151),'type':a30_0x5a41ab(0x143),'description':'Script\x20type\x20filter','default':a30_0x5a41ab(0x141),'enum':['ENDPOINT',a30_0x5a41ab(0x145)]},{'name':a30_0x5a41ab(0x14d),'type':a30_0x5a41ab(0x143),'description':'Filter\x20by\x20script\x20name'},{'name':a30_0x5a41ab(0x13d),'type':a30_0x5a41ab(0x140),'description':a30_0x5a41ab(0x136)}],async 'execute'(_0x3c6c32){const _0x4a6a56=a30_0x5a41ab,_0x5a4eb1=await listBffScripts(_0x3c6c32[_0x4a6a56(0x13e)],_0x3c6c32['str'](_0x4a6a56(0x151)),{'scriptName':_0x3c6c32[_0x4a6a56(0x14c)](_0x4a6a56(0x14d))||undefined}),_0x47e4a3=_0x3c6c32['bool'](_0x4a6a56(0x13d));return{'ok':!![],'data':_0x47e4a3?_0x5a4eb1:_0x5a4eb1[_0x4a6a56(0x139)](_0x4a774b=>({'id':_0x4a774b['id'],'functionName':_0x4a774b[_0x4a6a56(0x142)]??'','description':_0x4a774b['description']||_0x4a6a56(0x13f),'scriptType':_0x4a774b[_0x4a6a56(0x14b)]})),'message':_0x5a4eb1[_0x4a6a56(0x137)]===0x0?'No\x20BFF\x20scripts\x20found.':undefined};}};
1
+ const a30_0x46ed47=a30_0x5d23;(function(_0x3da0cc,_0x2d76c9){const _0x139cb7=a30_0x5d23,_0x1036f1=_0x3da0cc();while(!![]){try{const _0x5588ae=-parseInt(_0x139cb7(0xee))/0x1*(-parseInt(_0x139cb7(0xef))/0x2)+parseInt(_0x139cb7(0xe2))/0x3*(-parseInt(_0x139cb7(0xe5))/0x4)+-parseInt(_0x139cb7(0xed))/0x5*(parseInt(_0x139cb7(0xf6))/0x6)+-parseInt(_0x139cb7(0xe0))/0x7*(-parseInt(_0x139cb7(0xfa))/0x8)+-parseInt(_0x139cb7(0xf2))/0x9*(parseInt(_0x139cb7(0xe3))/0xa)+parseInt(_0x139cb7(0xe7))/0xb+-parseInt(_0x139cb7(0xe4))/0xc*(-parseInt(_0x139cb7(0xfb))/0xd);if(_0x5588ae===_0x2d76c9)break;else _0x1036f1['push'](_0x1036f1['shift']());}catch(_0x457feb){_0x1036f1['push'](_0x1036f1['shift']());}}}(a30_0x1096,0xd37af));function a30_0x1096(){const _0x136809=['8VqtQwR','14183PWhggS','str','bff','type','Filter\x20by\x20script\x20name','map','1442630RFOeQS','read','12XJVCMJ','16450QEgYXy','22884qKYzvW','1710988PpqWTz','List\x20BFF\x20scripts','13577553BGJGAI','string','name','list','length','description','120MrVJeh','3QFBTjv','44248RpMehU','functionName','ENDPOINT','2907eDereJ','Return\x20full\x20script\x20objects','No\x20BFF\x20scripts\x20found.','bool','119694NZhxnV','(unnamed)','verbose','appCode'];a30_0x1096=function(){return _0x136809;};return a30_0x1096();}import{listBffScripts}from'../../core/api-client.js';function a30_0x5d23(_0x62907a,_0xc5912c){_0x62907a=_0x62907a-0xdc;const _0x109697=a30_0x1096();let _0x5d23d7=_0x109697[_0x62907a];return _0x5d23d7;}export const bffList={'service':a30_0x46ed47(0xdc),'command':a30_0x46ed47(0xea),'description':a30_0x46ed47(0xe6),'risk':a30_0x46ed47(0xe1),'flags':[{'name':a30_0x46ed47(0xdd),'type':'string','description':'Script\x20type\x20filter','default':'ENDPOINT','enum':[a30_0x46ed47(0xf1),'COMMON']},{'name':a30_0x46ed47(0xe9),'type':a30_0x46ed47(0xe8),'description':a30_0x46ed47(0xde)},{'name':a30_0x46ed47(0xf8),'type':'boolean','description':a30_0x46ed47(0xf3)}],async 'execute'(_0x276763){const _0x2dda52=a30_0x46ed47,_0x4074a1=await listBffScripts(_0x276763[_0x2dda52(0xf9)],_0x276763[_0x2dda52(0xfc)](_0x2dda52(0xdd)),{'scriptName':_0x276763[_0x2dda52(0xfc)]('name')||undefined}),_0x456fc7=_0x276763[_0x2dda52(0xf5)]('verbose');return{'ok':!![],'data':_0x456fc7?_0x4074a1:_0x4074a1[_0x2dda52(0xdf)](_0x19133d=>({'id':_0x19133d['id'],'functionName':_0x19133d[_0x2dda52(0xf0)]??'','description':_0x19133d[_0x2dda52(0xec)]||_0x2dda52(0xf7),'scriptType':_0x19133d['scriptType']})),'message':_0x4074a1[_0x2dda52(0xeb)]===0x0?_0x2dda52(0xf4):undefined};}};
@@ -1 +1 @@
1
- const a31_0x4f0f1d=a31_0x48a9;(function(_0x1f2c20,_0x54711d){const _0x37c06f=a31_0x48a9,_0x2b85a7=_0x1f2c20();while(!![]){try{const _0xea5a93=parseInt(_0x37c06f(0x159))/0x1*(-parseInt(_0x37c06f(0x15f))/0x2)+parseInt(_0x37c06f(0x197))/0x3*(-parseInt(_0x37c06f(0x171))/0x4)+parseInt(_0x37c06f(0x153))/0x5+-parseInt(_0x37c06f(0x162))/0x6+parseInt(_0x37c06f(0x198))/0x7*(parseInt(_0x37c06f(0x18a))/0x8)+-parseInt(_0x37c06f(0x17a))/0x9+parseInt(_0x37c06f(0x18f))/0xa;if(_0xea5a93===_0x54711d)break;else _0x2b85a7['push'](_0x2b85a7['shift']());}catch(_0xd675e4){_0x2b85a7['push'](_0x2b85a7['shift']());}}}(a31_0x156c,0x3b39c));import{createInterface}from'node:readline';function a31_0x156c(){const _0x41cff5=['nonInteractive','boolean','--type\x20must\x20be\x20COMMON,\x20ENDPOINT,\x20or\x20HOOK.','lastSync','scriptsRoot','string','COMMON','write','functionName','appCode','utf8','toISOString','395792sMsrkN','filePath','&type=','functions','question','570340jUzFey','Pull\x20remote\x20BFF\x20scripts\x20to\x20local','No\x20remote\x20BFF\x20scripts\x20found.','stringify','trim','bool','str','yes','99690IjFYME','63FUWtBZ','lockKey','parse','/api/management/library/scripts/list?appCode=','bff','message','validation','push','map','scriptContent','HOOK','alias','2169160GUSccV','stdin','close','conflict','Force\x20pull\x20will\x20overwrite\x20local\x20unsynced\x20changes.\x20Continue?\x20[y/N]\x20','functionNode','1pyCIqZ','type','Pull\x20only\x20this\x20script\x20type','all','version','\x20skipped,\x20','948356EKqEkh','Force\x20pull\x20cancelled.','datasetCode','101520ToaSlB','pull','apiDir','unresolvable\x20target\x20path','local\x20unsynced\x20changes','skipped','operationType','Force\x20overwrite\x20local\x20unsynced\x20changes','would_pull','includes','scriptType','length','\x20remote\x20BFF\x20script(s)\x20for\x20pull','Would\x20inspect\x20','lockFilePath','4SGgWwI','hookLocation','ENDPOINT','force','\x20pulled,\x20','cancelled','Pull\x20complete:\x20','hash','Lock\x20scope\x20for\x20app\x20\x22','1522944xcDGmN','toLowerCase','\x20failed','GET'];a31_0x156c=function(){return _0x41cff5;};return a31_0x156c();}import{writeFile}from'node:fs/promises';function a31_0x48a9(_0x21ec27,_0x335759){_0x21ec27=_0x21ec27-0x14e;const _0x156c1e=a31_0x156c();let _0x48a945=_0x156c1e[_0x21ec27];return _0x48a945;}import{listBffScripts,getBffScriptStatistics}from'../../core/api-client.js';import{loadAliasMap}from'../../core/alias-resolver.js';import{resolveApiFilePath}from'../../context.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{createHookLocationMap,ensureParentDirectory,fileExists,normalizeBffType,resolveRemoteScriptTarget}from'../../core/bff/file-system.js';import{computeContentHash,computeFileHash}from'../../core/bff/hash.js';import{createEmptyBffLock,ensureLockScope,readBffLockFile,writeBffLockFile}from'../../core/bff/lock.js';import{CliErrors}from'../../errors.js';export const bffPull={'service':a31_0x4f0f1d(0x19c),'command':a31_0x4f0f1d(0x163),'description':a31_0x4f0f1d(0x190),'risk':a31_0x4f0f1d(0x185),'flags':[{'name':'type','type':a31_0x4f0f1d(0x183),'description':a31_0x4f0f1d(0x15b),'enum':[a31_0x4f0f1d(0x184),a31_0x4f0f1d(0x173),a31_0x4f0f1d(0x151)]},{'name':'force','type':a31_0x4f0f1d(0x17f),'description':a31_0x4f0f1d(0x169)}],async 'dryRun'(_0x32ec69){const _0x21bd59=a31_0x4f0f1d,_0x10350d=loadBffProjectConfig(_0x32ec69[_0x21bd59(0x187)]),_0x26073a=await readBffLockFile(_0x10350d['lockFilePath']),{appLock:_0x54f7a6}=ensureLockScope(_0x26073a??createEmptyBffLock(),_0x32ec69[_0x21bd59(0x187)],_0x10350d['scriptsRoot'],_0x21bd59(0x163)),_0x226874=normalizeBffType(_0x32ec69[_0x21bd59(0x195)]('type'))??undefined,_0x582723=buildDatasetCodeToAliasMap(_0x32ec69[_0x21bd59(0x164)],_0x32ec69['appCode']),[_0x5b90ed,_0x4af1d4]=await Promise[_0x21bd59(0x15c)]([listBffScripts(_0x32ec69[_0x21bd59(0x187)],_0x226874),getBffScriptStatistics(_0x32ec69[_0x21bd59(0x187)])]),_0x5511e7=createHookLocationMap(_0x4af1d4),_0x11831f=[];for(const _0x118477 of _0x5b90ed){const _0x4bd5d3=resolveRemoteScriptTarget(_0x10350d,_0x118477,_0x5511e7,_0x54f7a6[_0x21bd59(0x18d)],_0x582723);if(!_0x4bd5d3){_0x11831f[_0x21bd59(0x14e)]({'scriptType':_0x118477['scriptType'],'functionName':_0x118477[_0x21bd59(0x186)]??'','status':_0x21bd59(0x167),'reason':_0x21bd59(0x165)});continue;}const _0x3f900e=_0x54f7a6['functions'][_0x4bd5d3['lockKey']],_0xa00571=_0x118477[_0x21bd59(0x150)]!=null?computeContentHash(_0x118477[_0x21bd59(0x150)]):undefined,_0x21b7eb=await hasUnsyncedLocalChanges(_0x4bd5d3['filePath'],_0x3f900e,_0xa00571);_0x11831f['push']({'lockKey':_0x4bd5d3[_0x21bd59(0x199)],'filePath':_0x4bd5d3[_0x21bd59(0x18b)],'remoteId':_0x118477['id']??null,'status':_0x21b7eb?_0x21bd59(0x156):_0x21bd59(0x16a)});}return{'method':_0x21bd59(0x17d),'url':_0x21bd59(0x19b)+_0x32ec69[_0x21bd59(0x187)]+(_0x226874?_0x21bd59(0x18c)+_0x226874:''),'body':{'appCode':_0x32ec69[_0x21bd59(0x187)],'filterType':_0x226874??null,'files':_0x11831f},'description':_0x21bd59(0x16f)+_0x11831f['length']+_0x21bd59(0x16e)};},async 'execute'(_0x22ff5f){const _0x2f75bd=a31_0x4f0f1d,_0x968588=loadBffProjectConfig(_0x22ff5f[_0x2f75bd(0x187)]),_0xe26a49=await readBffLockFile(_0x968588[_0x2f75bd(0x170)]),{lockData:_0x4a3885,appLock:_0x2026bc}=ensureLockScope(_0xe26a49??createEmptyBffLock(),_0x22ff5f['appCode'],_0x968588[_0x2f75bd(0x182)],_0x2f75bd(0x163)),_0x222279=normalizeBffType(_0x22ff5f['str'](_0x2f75bd(0x15a)))??undefined;if(_0x22ff5f[_0x2f75bd(0x195)](_0x2f75bd(0x15a))&&!_0x222279)throw CliErrors[_0x2f75bd(0x19e)](_0x2f75bd(0x180));const [_0x4c2730,_0x5c9ebf]=await Promise[_0x2f75bd(0x15c)]([listBffScripts(_0x22ff5f[_0x2f75bd(0x187)],_0x222279),getBffScriptStatistics(_0x22ff5f[_0x2f75bd(0x187)])]);if(_0x4c2730[_0x2f75bd(0x16d)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x2f75bd(0x191)};const _0x454a11=_0x22ff5f[_0x2f75bd(0x194)](_0x2f75bd(0x174));if(_0x454a11&&!_0x22ff5f[_0x2f75bd(0x17e)]){const _0x5b5c1f=await confirmForce();if(!_0x5b5c1f)throw CliErrors[_0x2f75bd(0x176)](_0x2f75bd(0x160));}if(_0x454a11&&_0x22ff5f[_0x2f75bd(0x17e)]){}const _0x1ae269=buildDatasetCodeToAliasMap(_0x22ff5f[_0x2f75bd(0x164)],_0x22ff5f[_0x2f75bd(0x187)]),_0x3d33be=createHookLocationMap(_0x5c9ebf),_0xbc945c=JSON[_0x2f75bd(0x19a)](JSON[_0x2f75bd(0x192)](_0x4a3885)),_0x41444d=_0x22ff5f[_0x2f75bd(0x187)],_0x4a5898=_0xbc945c['apps'][_0x41444d];if(!_0x4a5898)throw new Error(_0x2f75bd(0x179)+_0x41444d+'\x22\x20not\x20found\x20after\x20ensureLockScope.');const _0x12ab26=[],_0xe61175=[],_0x587157=[];for(const _0xae2365 of _0x4c2730){const _0x46fd34=resolveRemoteScriptTarget(_0x968588,_0xae2365,_0x3d33be,_0x2026bc[_0x2f75bd(0x18d)],_0x1ae269);if(!_0x46fd34){_0xe61175[_0x2f75bd(0x14e)]({'lockKey':_0xae2365[_0x2f75bd(0x16c)]+'/'+_0xae2365[_0x2f75bd(0x186)],'reason':_0x2f75bd(0x165)});continue;}const _0x540407=_0x2026bc[_0x2f75bd(0x18d)][_0x46fd34[_0x2f75bd(0x199)]];try{if(!_0xae2365['id'])throw new Error('Remote\x20script\x20missing\x20id.');if(_0xae2365['scriptContent']==null)throw new Error('Remote\x20script\x20missing\x20content.');const _0x245202=_0xae2365['scriptContent'],_0x2f5fac=computeContentHash(_0x245202);if(!_0x454a11){const _0x3a95a4=await hasUnsyncedLocalChanges(_0x46fd34[_0x2f75bd(0x18b)],_0x540407,_0x2f5fac);if(_0x3a95a4){_0xe61175[_0x2f75bd(0x14e)]({'lockKey':_0x46fd34[_0x2f75bd(0x199)],'reason':_0x2f75bd(0x166)});continue;}}await ensureParentDirectory(_0x46fd34[_0x2f75bd(0x18b)]),await writeFile(_0x46fd34[_0x2f75bd(0x18b)],_0x245202,_0x2f75bd(0x188));const _0x250f14={'hash':_0x2f5fac,'remoteId':_0xae2365['id'],'version':_0xae2365[_0x2f75bd(0x15d)]};_0x46fd34[_0x2f75bd(0x15a)]===_0x2f75bd(0x151)&&_0x46fd34[_0x2f75bd(0x172)]&&(_0x250f14[_0x2f75bd(0x152)]=_0x46fd34[_0x2f75bd(0x172)][_0x2f75bd(0x152)],_0x250f14[_0x2f75bd(0x161)]=_0x46fd34[_0x2f75bd(0x172)][_0x2f75bd(0x161)],_0x250f14['operationType']=_0x46fd34[_0x2f75bd(0x172)][_0x2f75bd(0x168)],_0x250f14[_0x2f75bd(0x158)]=_0x46fd34['hookLocation'][_0x2f75bd(0x158)]),_0x4a5898[_0x2f75bd(0x18d)][_0x46fd34[_0x2f75bd(0x199)]]=_0x250f14,_0x12ab26[_0x2f75bd(0x14e)]({'lockKey':_0x46fd34[_0x2f75bd(0x199)],'remoteId':_0xae2365['id']});}catch(_0x2ac84c){_0x587157['push']({'lockKey':_0x46fd34[_0x2f75bd(0x199)],'error':_0x2ac84c instanceof Error?_0x2ac84c[_0x2f75bd(0x19d)]:String(_0x2ac84c)});}}return _0x4a5898[_0x2f75bd(0x181)]=new Date()[_0x2f75bd(0x189)](),await writeBffLockFile(_0x968588[_0x2f75bd(0x170)],_0xbc945c),{'ok':_0x587157[_0x2f75bd(0x16d)]===0x0,'data':{'pulled':_0x12ab26,'skipped':_0xe61175,'failed':_0x587157},'message':_0x2f75bd(0x177)+_0x12ab26[_0x2f75bd(0x16d)]+_0x2f75bd(0x175)+_0xe61175['length']+_0x2f75bd(0x15e)+_0x587157['length']+_0x2f75bd(0x17c)};}};async function hasUnsyncedLocalChanges(_0x95186a,_0x171d67,_0x1cdf76){const _0x526902=a31_0x4f0f1d;if(!await fileExists(_0x95186a))return![];const _0x54ca51=await computeFileHash(_0x95186a);if(!_0x171d67)return _0x1cdf76?_0x54ca51!==_0x1cdf76:!![];return _0x54ca51!==_0x171d67[_0x526902(0x178)];}function buildDatasetCodeToAliasMap(_0x5cdcb0,_0x4c3daa){const _0x503b2a=a31_0x4f0f1d,_0x3529fb=loadAliasMap(_0x5cdcb0,undefined,resolveApiFilePath(_0x5cdcb0,_0x4c3daa));return new Map(_0x3529fb[_0x503b2a(0x14f)](_0x5d082c=>[_0x5d082c[_0x503b2a(0x161)],_0x5d082c[_0x503b2a(0x152)]]));}async function confirmForce(){const _0x38351e=a31_0x4f0f1d,_0x529c2a=createInterface({'input':process[_0x38351e(0x154)],'output':process['stderr']}),_0x247125=await new Promise(_0x35644a=>{const _0x44c697=_0x38351e;_0x529c2a[_0x44c697(0x18e)](_0x44c697(0x157),_0x35644a);});return _0x529c2a[_0x38351e(0x155)](),['y',_0x38351e(0x196)][_0x38351e(0x16b)](_0x247125[_0x38351e(0x193)]()[_0x38351e(0x17b)]());}
1
+ const a31_0x1affc9=a31_0x45f7;(function(_0x594c24,_0x3bd004){const _0x3da8ac=a31_0x45f7,_0x196709=_0x594c24();while(!![]){try{const _0xd1df88=-parseInt(_0x3da8ac(0x1ff))/0x1+-parseInt(_0x3da8ac(0x1f2))/0x2+parseInt(_0x3da8ac(0x1ef))/0x3*(parseInt(_0x3da8ac(0x1fe))/0x4)+parseInt(_0x3da8ac(0x1f8))/0x5+-parseInt(_0x3da8ac(0x1ec))/0x6+parseInt(_0x3da8ac(0x1d7))/0x7+-parseInt(_0x3da8ac(0x1f0))/0x8*(-parseInt(_0x3da8ac(0x1ea))/0x9);if(_0xd1df88===_0x3bd004)break;else _0x196709['push'](_0x196709['shift']());}catch(_0x279d9d){_0x196709['push'](_0x196709['shift']());}}}(a31_0x5680,0x7980b));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';function a31_0x5680(){const _0x26d27f=['boolean','1810170PXQHLn','includes','Would\x20inspect\x20','validation','would_pull','yes','9008wFACRS','768193CZeShu','operationType','bff','type','toLowerCase','Force\x20pull\x20will\x20overwrite\x20local\x20unsynced\x20changes.\x20Continue?\x20[y/N]\x20','conflict','nonInteractive','local\x20unsynced\x20changes','\x20skipped,\x20','pull','all','utf8','scriptType','length','COMMON','appCode','stdin','close','Pull\x20only\x20this\x20script\x20type','bool','question','version','/api/management/library/scripts/list?appCode=','lockKey','HOOK','\x20pulled,\x20','Pull\x20remote\x20BFF\x20scripts\x20to\x20local','No\x20remote\x20BFF\x20scripts\x20found.','Remote\x20script\x20missing\x20content.','functionNode','push','4243442FXqGnj','Lock\x20scope\x20for\x20app\x20\x22','\x22\x20not\x20found\x20after\x20ensureLockScope.','map','lockFilePath','\x20remote\x20BFF\x20script(s)\x20for\x20pull','hookLocation','scriptContent','unresolvable\x20target\x20path','string','Force\x20overwrite\x20local\x20unsynced\x20changes','force','--type\x20must\x20be\x20COMMON,\x20ENDPOINT,\x20or\x20HOOK.','message','scriptsRoot','apps','ENDPOINT','Remote\x20script\x20missing\x20id.','Pull\x20complete:\x20','5092749DGhALE','datasetCode','5922834phcBbo','functionName','functions','438yqVTpn','24HVQjWk','Force\x20pull\x20cancelled.','1483216xEVYcN','apiDir','filePath','str','alias'];a31_0x5680=function(){return _0x26d27f;};return a31_0x5680();}function a31_0x45f7(_0x3e4a38,_0x3d8b81){_0x3e4a38=_0x3e4a38-0x1c5;const _0x568093=a31_0x5680();let _0x45f70b=_0x568093[_0x3e4a38];return _0x45f70b;}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_0x1affc9(0x201),'command':a31_0x1affc9(0x209),'description':a31_0x1affc9(0x1d2),'risk':'write','flags':[{'name':a31_0x1affc9(0x202),'type':a31_0x1affc9(0x1e0),'description':a31_0x1affc9(0x1ca),'enum':[a31_0x1affc9(0x1c6),a31_0x1affc9(0x1e7),a31_0x1affc9(0x1d0)]},{'name':a31_0x1affc9(0x1e2),'type':a31_0x1affc9(0x1f7),'description':a31_0x1affc9(0x1e1)}],async 'dryRun'(_0x367299){const _0x593761=a31_0x1affc9,_0x1150b7=loadBffProjectConfig(_0x367299[_0x593761(0x1c7)]),_0x2fc562=await readBffLockFile(_0x1150b7[_0x593761(0x1db)]),{appLock:_0x51c956}=ensureLockScope(_0x2fc562??createEmptyBffLock(),_0x367299[_0x593761(0x1c7)],_0x1150b7[_0x593761(0x1e5)],_0x593761(0x209)),_0x20172a=normalizeBffType(_0x367299[_0x593761(0x1f5)]('type'))??undefined,_0x4f9084=buildDatasetCodeToAliasMap(_0x367299[_0x593761(0x1f3)],_0x367299[_0x593761(0x1c7)]),[_0x13d839,_0x3b78a6]=await Promise[_0x593761(0x20a)]([listBffScripts(_0x367299[_0x593761(0x1c7)],_0x20172a),getBffScriptStatistics(_0x367299['appCode'])]),_0x19fe05=createHookLocationMap(_0x3b78a6),_0x3e2bec=[];for(const _0x38706e of _0x13d839){const _0x588a90=resolveRemoteScriptTarget(_0x1150b7,_0x38706e,_0x19fe05,_0x51c956['functions'],_0x4f9084);if(!_0x588a90){_0x3e2bec[_0x593761(0x1d6)]({'scriptType':_0x38706e[_0x593761(0x20c)],'functionName':_0x38706e[_0x593761(0x1ed)]??'','status':'skipped','reason':_0x593761(0x1df)});continue;}const _0x3c94ed=_0x51c956['functions'][_0x588a90[_0x593761(0x1cf)]],_0x136fcd=_0x38706e[_0x593761(0x1de)]!=null?computeContentHash(_0x38706e[_0x593761(0x1de)]):undefined,_0x2402c9=await hasUnsyncedLocalChanges(_0x588a90[_0x593761(0x1f4)],_0x3c94ed,_0x136fcd);_0x3e2bec[_0x593761(0x1d6)]({'lockKey':_0x588a90['lockKey'],'filePath':_0x588a90[_0x593761(0x1f4)],'remoteId':_0x38706e['id']??null,'status':_0x2402c9?_0x593761(0x205):_0x593761(0x1fc)});}return{'method':'GET','url':_0x593761(0x1ce)+_0x367299['appCode']+(_0x20172a?'&type='+_0x20172a:''),'body':{'appCode':_0x367299[_0x593761(0x1c7)],'filterType':_0x20172a??null,'files':_0x3e2bec},'description':_0x593761(0x1fa)+_0x3e2bec[_0x593761(0x1c5)]+_0x593761(0x1dc)};},async 'execute'(_0x3f756b){const _0x25e457=a31_0x1affc9,_0x50d8b9=loadBffProjectConfig(_0x3f756b['appCode']),_0x25e4af=await readBffLockFile(_0x50d8b9[_0x25e457(0x1db)]),{lockData:_0x3bb724,appLock:_0x393d96}=ensureLockScope(_0x25e4af??createEmptyBffLock(),_0x3f756b[_0x25e457(0x1c7)],_0x50d8b9['scriptsRoot'],_0x25e457(0x209)),_0x832fc2=normalizeBffType(_0x3f756b[_0x25e457(0x1f5)](_0x25e457(0x202)))??undefined;if(_0x3f756b['str']('type')&&!_0x832fc2)throw CliErrors[_0x25e457(0x1fb)](_0x25e457(0x1e3));const [_0x3a8ba2,_0x6d74f9]=await Promise['all']([listBffScripts(_0x3f756b['appCode'],_0x832fc2),getBffScriptStatistics(_0x3f756b['appCode'])]);if(_0x3a8ba2[_0x25e457(0x1c5)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x25e457(0x1d3)};const _0x4d9a7b=_0x3f756b[_0x25e457(0x1cb)](_0x25e457(0x1e2));if(_0x4d9a7b&&!_0x3f756b[_0x25e457(0x206)]){const _0x37a748=await confirmForce();if(!_0x37a748)throw CliErrors['cancelled'](_0x25e457(0x1f1));}if(_0x4d9a7b&&_0x3f756b['nonInteractive']){}const _0xb193de=buildDatasetCodeToAliasMap(_0x3f756b[_0x25e457(0x1f3)],_0x3f756b[_0x25e457(0x1c7)]),_0x2bd20e=createHookLocationMap(_0x6d74f9),_0x23e965=JSON['parse'](JSON['stringify'](_0x3bb724)),_0x17b896=_0x3f756b[_0x25e457(0x1c7)],_0x3567d0=_0x23e965[_0x25e457(0x1e6)][_0x17b896];if(!_0x3567d0)throw new Error(_0x25e457(0x1d8)+_0x17b896+_0x25e457(0x1d9));const _0x5d3a9c=[],_0x1115d7=[],_0x50c3e3=[];for(const _0x195827 of _0x3a8ba2){const _0x34fac2=resolveRemoteScriptTarget(_0x50d8b9,_0x195827,_0x2bd20e,_0x393d96[_0x25e457(0x1ee)],_0xb193de);if(!_0x34fac2){_0x1115d7[_0x25e457(0x1d6)]({'lockKey':_0x195827[_0x25e457(0x20c)]+'/'+_0x195827['functionName'],'reason':_0x25e457(0x1df)});continue;}const _0x4f71c3=_0x393d96['functions'][_0x34fac2[_0x25e457(0x1cf)]];try{if(!_0x195827['id'])throw new Error(_0x25e457(0x1e8));if(_0x195827['scriptContent']==null)throw new Error(_0x25e457(0x1d4));const _0x33f42f=_0x195827['scriptContent'],_0x1d688c=computeContentHash(_0x33f42f);if(!_0x4d9a7b){const _0x5b8283=await hasUnsyncedLocalChanges(_0x34fac2[_0x25e457(0x1f4)],_0x4f71c3,_0x1d688c);if(_0x5b8283){_0x1115d7['push']({'lockKey':_0x34fac2[_0x25e457(0x1cf)],'reason':_0x25e457(0x207)});continue;}}await ensureParentDirectory(_0x34fac2['filePath']),await writeFile(_0x34fac2[_0x25e457(0x1f4)],_0x33f42f,_0x25e457(0x20b));const _0x29d01d={'hash':_0x1d688c,'remoteId':_0x195827['id'],'version':_0x195827[_0x25e457(0x1cd)]};_0x34fac2[_0x25e457(0x202)]===_0x25e457(0x1d0)&&_0x34fac2[_0x25e457(0x1dd)]&&(_0x29d01d[_0x25e457(0x1f6)]=_0x34fac2['hookLocation'][_0x25e457(0x1f6)],_0x29d01d[_0x25e457(0x1eb)]=_0x34fac2[_0x25e457(0x1dd)][_0x25e457(0x1eb)],_0x29d01d[_0x25e457(0x200)]=_0x34fac2[_0x25e457(0x1dd)]['operationType'],_0x29d01d[_0x25e457(0x1d5)]=_0x34fac2[_0x25e457(0x1dd)][_0x25e457(0x1d5)]),_0x3567d0['functions'][_0x34fac2[_0x25e457(0x1cf)]]=_0x29d01d,_0x5d3a9c[_0x25e457(0x1d6)]({'lockKey':_0x34fac2[_0x25e457(0x1cf)],'remoteId':_0x195827['id']});}catch(_0x589492){_0x50c3e3[_0x25e457(0x1d6)]({'lockKey':_0x34fac2[_0x25e457(0x1cf)],'error':_0x589492 instanceof Error?_0x589492[_0x25e457(0x1e4)]:String(_0x589492)});}}return _0x3567d0['lastSync']=new Date()['toISOString'](),await writeBffLockFile(_0x50d8b9[_0x25e457(0x1db)],_0x23e965),{'ok':_0x50c3e3['length']===0x0,'data':{'pulled':_0x5d3a9c,'skipped':_0x1115d7,'failed':_0x50c3e3},'message':_0x25e457(0x1e9)+_0x5d3a9c['length']+_0x25e457(0x1d1)+_0x1115d7['length']+_0x25e457(0x208)+_0x50c3e3[_0x25e457(0x1c5)]+'\x20failed'};}};async function hasUnsyncedLocalChanges(_0x10f475,_0x572464,_0x270ddd){if(!await fileExists(_0x10f475))return![];const _0x352cf4=await computeFileHash(_0x10f475);if(!_0x572464)return _0x270ddd?_0x352cf4!==_0x270ddd:!![];return _0x352cf4!==_0x572464['hash'];}function buildDatasetCodeToAliasMap(_0xe2af54,_0x294766){const _0x385a2=a31_0x1affc9,_0x1a01d0=loadAliasMap(_0xe2af54,undefined,resolveApiFilePath(_0xe2af54,_0x294766));return new Map(_0x1a01d0[_0x385a2(0x1da)](_0x6a9532=>[_0x6a9532[_0x385a2(0x1eb)],_0x6a9532[_0x385a2(0x1f6)]]));}async function confirmForce(){const _0x321f2e=a31_0x1affc9,_0x501217=createInterface({'input':process[_0x321f2e(0x1c8)],'output':process['stderr']}),_0x4c9855=await new Promise(_0x16f5ea=>{const _0x3cf2d5=_0x321f2e;_0x501217[_0x3cf2d5(0x1cc)](_0x3cf2d5(0x204),_0x16f5ea);});return _0x501217[_0x321f2e(0x1c9)](),['y',_0x321f2e(0x1fd)][_0x321f2e(0x1f9)](_0x4c9855['trim']()[_0x321f2e(0x203)]());}
@@ -1 +1 @@
1
- const a32_0x521383=a32_0x5614;(function(_0x59165a,_0x34188e){const _0x569a93=a32_0x5614,_0x2953da=_0x59165a();while(!![]){try{const _0x20e255=-parseInt(_0x569a93(0x187))/0x1+-parseInt(_0x569a93(0x199))/0x2*(parseInt(_0x569a93(0x1a7))/0x3)+-parseInt(_0x569a93(0x19b))/0x4+parseInt(_0x569a93(0x194))/0x5*(-parseInt(_0x569a93(0x193))/0x6)+parseInt(_0x569a93(0x1b7))/0x7+-parseInt(_0x569a93(0x1b0))/0x8*(-parseInt(_0x569a93(0x1a3))/0x9)+parseInt(_0x569a93(0x1a4))/0xa;if(_0x20e255===_0x34188e)break;else _0x2953da['push'](_0x2953da['shift']());}catch(_0x3da43a){_0x2953da['push'](_0x2953da['shift']());}}}(a32_0x50ea,0x7cdee));import{readFile}from'node:fs/promises';import{saveBffScript,getBffScriptInfo,listDatasets}from'../../core/api-client.js';function a32_0x50ea(){const _0x1a7ee5=['string','lockKey','lockFilePath','push','some','filePath','/api/management/library/scripts/save','24kkIZTX','name','Push\x20only\x20this\x20script\x20type','COMMON','toISOString','would_push','functions','5189520GjOVSL','appCode','set','lastSync','Incomplete\x20HOOK\x20path:\x20','get','validation','Push\x20complete:\x20','filter','aliasToDatasetCode','datasetCode','script','No\x20local\x20BFF\x20functions\x20found.','datasetCodeToId','bool','Cannot\x20resolve\x20dataset\x20for\x20\x22','version','\x20api\x20pull`\x20to\x20refresh\x20api.ts,\x20or\x20verify\x20the\x20dataset\x20exists.','unchanged','\x22.\x20','remoteId','apiDir','functionNode','high-risk-write','399248pLiNQp','Push\x20only\x20the\x20named\x20function\x20(requires\x20--type)','hash','operationType','str','utf8','\x20failed','\x20uploaded,\x20','description','length','has','Push\x20local\x20BFF\x20scripts\x20to\x20remote','43854ylDAAS','395HIhIbm','alias','POST','force','\x20local\x20BFF\x20script(s)\x20for\x20push','2Syeviv','HOOK','1476108hXUjYW','map','scriptsRoot','ENDPOINT','type','bff','Would\x20inspect\x20','create','1362735Bjjzhq','9483620ziIYhO',':\x20missing\x20remote\x20version.\x20Run\x20`push`\x20after\x20`pull`\x20to\x20sync\x20version\x20info.','boolean','860433JUoSJB','update'];a32_0x50ea=function(){return _0x1a7ee5;};return a32_0x50ea();}import{loadAliasMap}from'../../core/alias-resolver.js';import{resolveApiFilePath}from'../../context.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{normalizeBffType,scanLocalBffFunctions}from'../../core/bff/file-system.js';import{computeFileHash}from'../../core/bff/hash.js';import{createEmptyBffLock,ensureLockScope,readBffLockFile,writeBffLockFile}from'../../core/bff/lock.js';import{extractScriptDescription}from'../../core/bff/utils.js';import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';function a32_0x5614(_0x447bc7,_0x16116e){_0x447bc7=_0x447bc7-0x181;const _0x50ea7e=a32_0x50ea();let _0x5614cf=_0x50ea7e[_0x447bc7];return _0x5614cf;}export const bffPush={'service':a32_0x521383(0x1a0),'command':a32_0x521383(0x1ac),'description':a32_0x521383(0x192),'risk':a32_0x521383(0x186),'flags':[{'name':a32_0x521383(0x19f),'type':a32_0x521383(0x1a9),'description':a32_0x521383(0x1b2),'enum':[a32_0x521383(0x1b3),a32_0x521383(0x19e),a32_0x521383(0x19a)]},{'name':a32_0x521383(0x1b1),'type':a32_0x521383(0x1a9),'description':a32_0x521383(0x188)},{'name':a32_0x521383(0x197),'type':a32_0x521383(0x1a6),'description':'Force\x20push\x20ignoring\x20hash\x20protection'}],async 'dryRun'(_0x42e17c){const _0x20e5a2=a32_0x521383,_0x355a3d=loadBffProjectConfig(_0x42e17c[_0x20e5a2(0x1b8)]),_0x6b7153=await readBffLockFile(_0x355a3d['lockFilePath']),{appLock:_0x1e0a6c}=ensureLockScope(_0x6b7153??createEmptyBffLock(),_0x42e17c['appCode'],_0x355a3d[_0x20e5a2(0x19d)],_0x20e5a2(0x1ac)),_0x25d0c4=await getTargetFunctions(_0x355a3d,_0x42e17c),_0x1de61d=_0x42e17c[_0x20e5a2(0x1c5)](_0x20e5a2(0x197)),_0xe7af9f=[];for(const _0x370430 of _0x25d0c4){const _0x540df8=await computeFileHash(_0x370430['filePath']),_0x23185f=_0x1e0a6c[_0x20e5a2(0x1b6)][_0x370430['lockKey']],_0x55e260=!!_0x23185f&&_0x23185f['hash']===_0x540df8;_0xe7af9f['push']({'lockKey':_0x370430['lockKey'],'filePath':_0x370430[_0x20e5a2(0x1ae)],'remoteId':_0x23185f?.['remoteId']??null,'mode':_0x23185f?.[_0x20e5a2(0x183)]?_0x20e5a2(0x1a8):_0x20e5a2(0x1a2),'status':!_0x1de61d&&_0x55e260?_0x20e5a2(0x181):_0x20e5a2(0x1b5)});}return{'method':_0x20e5a2(0x196),'url':_0x20e5a2(0x1af),'body':{'appCode':_0x42e17c['appCode'],'force':_0x1de61d,'files':_0xe7af9f},'description':_0x20e5a2(0x1a1)+_0xe7af9f[_0x20e5a2(0x190)]+_0x20e5a2(0x198)};},async 'execute'(_0x9f930b){const _0x5a890f=a32_0x521383,_0x3ce75b=loadBffProjectConfig(_0x9f930b[_0x5a890f(0x1b8)]),_0x3292e9=await readBffLockFile(_0x3ce75b[_0x5a890f(0x1ab)]),{lockData:_0x274120,appLock:_0x6485e6}=ensureLockScope(_0x3292e9??createEmptyBffLock(),_0x9f930b['appCode'],_0x3ce75b[_0x5a890f(0x19d)],_0x5a890f(0x1ac)),_0x31330c=await getTargetFunctions(_0x3ce75b,_0x9f930b);if(_0x31330c['length']===0x0)return{'ok':!![],'data':{'uploaded':[],'skipped':[],'failed':[]},'message':_0x5a890f(0x1c3)};const _0xaffba4=_0x9f930b[_0x5a890f(0x1c5)](_0x5a890f(0x197)),_0x3479d3=await buildHookMaps(_0x9f930b[_0x5a890f(0x1b8)],_0x9f930b[_0x5a890f(0x184)],_0x31330c,_0x6485e6),_0x4d4879=[],_0x296765=[],_0x386c78=[];for(const _0x50a805 of _0x31330c){const _0x1463ed=await computeFileHash(_0x50a805['filePath']),_0x582b58=_0x6485e6[_0x5a890f(0x1b6)][_0x50a805['lockKey']];if(!_0xaffba4&&_0x582b58&&_0x582b58[_0x5a890f(0x189)]===_0x1463ed){_0x296765[_0x5a890f(0x1ac)]({'lockKey':_0x50a805[_0x5a890f(0x1aa)],'reason':_0x5a890f(0x181)});continue;}try{await uploadSingleFunction(_0x9f930b[_0x5a890f(0x1b8)],_0x50a805,_0x6485e6,_0x3479d3);const _0x36b0fc=_0x6485e6[_0x5a890f(0x1b6)][_0x50a805[_0x5a890f(0x1aa)]];_0x4d4879[_0x5a890f(0x1ac)]({'lockKey':_0x50a805['lockKey'],'remoteId':_0x36b0fc?.[_0x5a890f(0x183)]??0x0});}catch(_0x326459){_0x386c78[_0x5a890f(0x1ac)]({'lockKey':_0x50a805['lockKey'],'error':_0x326459 instanceof Error?_0x326459['message']:String(_0x326459)});}}return _0x6485e6[_0x5a890f(0x1ba)]=new Date()[_0x5a890f(0x1b4)](),await writeBffLockFile(_0x3ce75b[_0x5a890f(0x1ab)],_0x274120),{'ok':_0x386c78[_0x5a890f(0x190)]===0x0,'data':{'uploaded':_0x4d4879,'skipped':_0x296765,'failed':_0x386c78},'message':_0x5a890f(0x1be)+_0x4d4879[_0x5a890f(0x190)]+_0x5a890f(0x18e)+_0x296765[_0x5a890f(0x190)]+'\x20skipped,\x20'+_0x386c78[_0x5a890f(0x190)]+_0x5a890f(0x18d)};}};async function getTargetFunctions(_0x6e6973,_0x51c93b){const _0x201a90=a32_0x521383,_0x25b6a5=_0x51c93b[_0x201a90(0x18b)](_0x201a90(0x19f)),_0x3a6951=_0x51c93b['str'](_0x201a90(0x1b1)),_0x7bf089=normalizeBffType(_0x25b6a5)??undefined;if(_0x3a6951&&!_0x7bf089)throw CliErrors[_0x201a90(0x1bd)]('--name\x20requires\x20--type\x20to\x20identify\x20the\x20function.');const _0x36d7f2=await scanLocalBffFunctions(_0x6e6973,_0x7bf089);if(_0x3a6951){const _0x3a6198=_0x36d7f2[_0x201a90(0x1bf)](_0xbfc970=>_0xbfc970[_0x201a90(0x1b1)]===_0x3a6951);if(_0x3a6198[_0x201a90(0x190)]===0x0)throw CliErrors['validation']('Local\x20function\x20not\x20found:\x20'+_0x7bf089+'/'+_0x3a6951);return _0x3a6198;}return _0x36d7f2;}async function buildHookMaps(_0x2b6a18,_0x5813d9,_0x555034,_0x353064){const _0x368cac=a32_0x521383,_0x2408b9=_0x555034[_0x368cac(0x1ad)](_0x27b36c=>_0x27b36c[_0x368cac(0x19f)]===_0x368cac(0x19a));if(!_0x2408b9)return{'aliasToDatasetCode':new Map(),'datasetCodeToId':new Map()};const _0x14b616=loadAliasMap(_0x5813d9,undefined,resolveApiFilePath(_0x5813d9,_0x2b6a18)),_0x428e63=new Map(_0x14b616[_0x368cac(0x19c)](_0x2ed3aa=>[_0x2ed3aa[_0x368cac(0x195)],_0x2ed3aa[_0x368cac(0x1c1)]]));for(const _0x14747b of Object['values'](_0x353064[_0x368cac(0x1b6)])){_0x14747b['alias']&&_0x14747b['datasetCode']&&!_0x428e63[_0x368cac(0x191)](_0x14747b['alias'])&&_0x428e63[_0x368cac(0x1b9)](_0x14747b[_0x368cac(0x195)],_0x14747b['datasetCode']);}const _0x5764bc=await listDatasets(_0x2b6a18),_0x18f056=new Map(_0x5764bc[_0x368cac(0x19c)](_0x3bd1bd=>[_0x3bd1bd['code'],_0x3bd1bd['id']]));return{'aliasToDatasetCode':_0x428e63,'datasetCodeToId':_0x18f056};}async function uploadSingleFunction(_0xcd8770,_0x32dda3,_0x3227a6,_0x10d2c4){const _0x55c57c=a32_0x521383,_0x205406=await readFile(_0x32dda3['filePath'],_0x55c57c(0x18c)),_0x4c33f4=await computeFileHash(_0x32dda3[_0x55c57c(0x1ae)]),_0xdd2068=_0x3227a6[_0x55c57c(0x1b6)][_0x32dda3['lockKey']];if(_0xdd2068?.[_0x55c57c(0x183)]&&_0xdd2068[_0x55c57c(0x1c7)]==null)throw CliErrors['validation'](_0x32dda3[_0x55c57c(0x1aa)]+_0x55c57c(0x1a5));let _0x56a86f=extractScriptDescription(_0x205406);if(!_0x56a86f&&_0xdd2068?.[_0x55c57c(0x183)]){const _0x18d898=await getBffScriptInfo(_0xdd2068[_0x55c57c(0x183)]);_0x56a86f=_0x18d898[_0x55c57c(0x18f)]||undefined;}const _0x51acbb={'appCode':_0xcd8770,'functionName':_0x32dda3[_0x55c57c(0x1b1)],'scriptType':_0x32dda3[_0x55c57c(0x19f)],'scriptContent':_0x205406};if(_0xdd2068?.[_0x55c57c(0x183)])_0x51acbb['id']=_0xdd2068[_0x55c57c(0x183)];if(_0xdd2068?.[_0x55c57c(0x1c7)]!=null)_0x51acbb[_0x55c57c(0x1c7)]=_0xdd2068[_0x55c57c(0x1c7)];if(_0x56a86f)_0x51acbb['description']=_0x56a86f;if(_0x32dda3[_0x55c57c(0x19f)]===_0x55c57c(0x19a)){const _0x5dbbfa=_0x32dda3[_0x55c57c(0x195)];if(!_0x5dbbfa||!_0x32dda3[_0x55c57c(0x18a)]||!_0x32dda3[_0x55c57c(0x185)])throw CliErrors[_0x55c57c(0x1bd)](_0x55c57c(0x1bb)+_0x32dda3[_0x55c57c(0x1aa)]);const _0x246174=_0x10d2c4[_0x55c57c(0x1c0)][_0x55c57c(0x1bc)](_0x5dbbfa)??_0xdd2068?.[_0x55c57c(0x1c1)]??_0x5dbbfa,_0x2d221d=_0x10d2c4[_0x55c57c(0x1c4)][_0x55c57c(0x1bc)](_0x246174);if(!_0x2d221d)throw CliErrors['validation'](_0x55c57c(0x1c6)+_0x5dbbfa+_0x55c57c(0x182)+('Run\x20`'+CLI_BIN_NAME+_0x55c57c(0x1c8)));_0x51acbb['datasetId']=_0x2d221d,_0x51acbb['operationType']=_0x32dda3['operationType'],_0x51acbb['functionNode']=_0x32dda3[_0x55c57c(0x185)];}const _0x4083c0=await saveBffScript(_0x51acbb),_0x2da0f5=_0x4083c0['id'],_0x49c45e=_0x4083c0[_0x55c57c(0x1c2)]??await getBffScriptInfo(_0x2da0f5),_0x175cd3={'hash':_0x4c33f4,'remoteId':_0x2da0f5,'version':_0x49c45e[_0x55c57c(0x1c7)]};if(_0x32dda3['type']===_0x55c57c(0x19a)){const _0x41adfa=_0x32dda3[_0x55c57c(0x195)],_0x240b91=_0x10d2c4['aliasToDatasetCode'][_0x55c57c(0x1bc)](_0x41adfa)??_0xdd2068?.['datasetCode']??_0x41adfa;_0x10d2c4[_0x55c57c(0x1c0)]['has'](_0x41adfa)?_0x175cd3[_0x55c57c(0x195)]=_0x41adfa:_0x175cd3[_0x55c57c(0x195)]=_0xdd2068?.['alias'],_0x175cd3[_0x55c57c(0x1c1)]=_0x240b91,_0x175cd3['operationType']=_0x32dda3[_0x55c57c(0x18a)],_0x175cd3[_0x55c57c(0x185)]=_0x32dda3[_0x55c57c(0x185)];}_0x3227a6[_0x55c57c(0x1b6)][_0x32dda3['lockKey']]=_0x175cd3;}
1
+ const a32_0x347b62=a32_0xdf49;(function(_0x15d7b2,_0x357d48){const _0x48477e=a32_0xdf49,_0x15695f=_0x15d7b2();while(!![]){try{const _0x24f574=-parseInt(_0x48477e(0x149))/0x1*(parseInt(_0x48477e(0x15b))/0x2)+-parseInt(_0x48477e(0x151))/0x3*(-parseInt(_0x48477e(0x131))/0x4)+parseInt(_0x48477e(0x144))/0x5+parseInt(_0x48477e(0x150))/0x6*(parseInt(_0x48477e(0x135))/0x7)+-parseInt(_0x48477e(0x13b))/0x8+parseInt(_0x48477e(0x143))/0x9*(-parseInt(_0x48477e(0x138))/0xa)+parseInt(_0x48477e(0x12b))/0xb;if(_0x24f574===_0x357d48)break;else _0x15695f['push'](_0x15695f['shift']());}catch(_0x46f7cc){_0x15695f['push'](_0x15695f['shift']());}}}(a32_0x5b35,0x9300e));import{readFile}from'node:fs/promises';function a32_0x5b35(){const _0x4c2127=['datasetCode','boolean','ENDPOINT','get','hash','filter','filePath','bool',':\x20missing\x20remote\x20version.\x20Run\x20`push`\x20after\x20`pull`\x20to\x20sync\x20version\x20info.','values','aliasToDatasetCode','force','operationType','Cannot\x20resolve\x20dataset\x20for\x20\x22','has','push','validation','functions','map','5092120ukxaRS','set','update','Push\x20only\x20the\x20named\x20function\x20(requires\x20--type)','\x20skipped,\x20','Push\x20only\x20this\x20script\x20type','48844KyaCZj','No\x20local\x20BFF\x20functions\x20found.','utf8','lockKey','32466VqlZWo','alias','lastSync','2492510qlRxNM','type','unchanged','9375528VHuLXj','some','create','POST','remoteId','\x20local\x20BFF\x20script(s)\x20for\x20push','script','scriptsRoot','18ErcQoO','4832160YEfxpn','COMMON','HOOK','bff','appCode','285pjTSZs','str','datasetCodeToId','length','Would\x20inspect\x20','\x22.\x20','name','1494MRIvJL','165ZHBuUV','/api/management/library/scripts/save','version','\x20uploaded,\x20','datasetId','would_push','--name\x20requires\x20--type\x20to\x20identify\x20the\x20function.','string','Run\x20`','description','6900zZxXcS','\x20failed','functionNode'];a32_0x5b35=function(){return _0x4c2127;};return a32_0x5b35();}import{saveBffScript,getBffScriptInfo,listDatasets}from'../../core/api-client.js';import{loadAliasMap}from'../../core/alias-resolver.js';import{resolveApiFilePath}from'../../context.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{normalizeBffType,scanLocalBffFunctions}from'../../core/bff/file-system.js';import{computeFileHash}from'../../core/bff/hash.js';import{createEmptyBffLock,ensureLockScope,readBffLockFile,writeBffLockFile}from'../../core/bff/lock.js';import{extractScriptDescription}from'../../core/bff/utils.js';function a32_0xdf49(_0x381de7,_0x2c48d8){_0x381de7=_0x381de7-0x11b;const _0x5b3573=a32_0x5b35();let _0xdf49e5=_0x5b3573[_0x381de7];return _0xdf49e5;}import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';export const bffPush={'service':a32_0x347b62(0x147),'command':'push','description':'Push\x20local\x20BFF\x20scripts\x20to\x20remote','risk':'high-risk-write','flags':[{'name':a32_0x347b62(0x139),'type':'string','description':a32_0x347b62(0x130),'enum':[a32_0x347b62(0x145),a32_0x347b62(0x160),a32_0x347b62(0x146)]},{'name':a32_0x347b62(0x14f),'type':a32_0x347b62(0x158),'description':a32_0x347b62(0x12e)},{'name':a32_0x347b62(0x123),'type':a32_0x347b62(0x15f),'description':'Force\x20push\x20ignoring\x20hash\x20protection'}],async 'dryRun'(_0x12fa24){const _0x53ab32=a32_0x347b62,_0x983922=loadBffProjectConfig(_0x12fa24[_0x53ab32(0x148)]),_0x2f4903=await readBffLockFile(_0x983922['lockFilePath']),{appLock:_0xf44704}=ensureLockScope(_0x2f4903??createEmptyBffLock(),_0x12fa24['appCode'],_0x983922[_0x53ab32(0x142)],'push'),_0x47ccae=await getTargetFunctions(_0x983922,_0x12fa24),_0x3d67cc=_0x12fa24[_0x53ab32(0x11f)](_0x53ab32(0x123)),_0x1eb496=[];for(const _0x4af684 of _0x47ccae){const _0x51f5fc=await computeFileHash(_0x4af684[_0x53ab32(0x11e)]),_0x571029=_0xf44704['functions'][_0x4af684[_0x53ab32(0x134)]],_0x4903e4=!!_0x571029&&_0x571029[_0x53ab32(0x11c)]===_0x51f5fc;_0x1eb496['push']({'lockKey':_0x4af684['lockKey'],'filePath':_0x4af684[_0x53ab32(0x11e)],'remoteId':_0x571029?.[_0x53ab32(0x13f)]??null,'mode':_0x571029?.[_0x53ab32(0x13f)]?_0x53ab32(0x12d):_0x53ab32(0x13d),'status':!_0x3d67cc&&_0x4903e4?_0x53ab32(0x13a):_0x53ab32(0x156)});}return{'method':_0x53ab32(0x13e),'url':_0x53ab32(0x152),'body':{'appCode':_0x12fa24[_0x53ab32(0x148)],'force':_0x3d67cc,'files':_0x1eb496},'description':_0x53ab32(0x14d)+_0x1eb496[_0x53ab32(0x14c)]+_0x53ab32(0x140)};},async 'execute'(_0x33616f){const _0xa78295=a32_0x347b62,_0x5a9158=loadBffProjectConfig(_0x33616f[_0xa78295(0x148)]),_0x54cf07=await readBffLockFile(_0x5a9158['lockFilePath']),{lockData:_0x4cadd1,appLock:_0x8e2bff}=ensureLockScope(_0x54cf07??createEmptyBffLock(),_0x33616f[_0xa78295(0x148)],_0x5a9158['scriptsRoot'],_0xa78295(0x127)),_0xcfce95=await getTargetFunctions(_0x5a9158,_0x33616f);if(_0xcfce95[_0xa78295(0x14c)]===0x0)return{'ok':!![],'data':{'uploaded':[],'skipped':[],'failed':[]},'message':_0xa78295(0x132)};const _0xedd661=_0x33616f[_0xa78295(0x11f)](_0xa78295(0x123)),_0x1a6d7f=await buildHookMaps(_0x33616f[_0xa78295(0x148)],_0x33616f['apiDir'],_0xcfce95,_0x8e2bff),_0x48696b=[],_0x251bd7=[],_0x55f598=[];for(const _0x28fece of _0xcfce95){const _0x13e960=await computeFileHash(_0x28fece[_0xa78295(0x11e)]),_0x351cd4=_0x8e2bff[_0xa78295(0x129)][_0x28fece[_0xa78295(0x134)]];if(!_0xedd661&&_0x351cd4&&_0x351cd4['hash']===_0x13e960){_0x251bd7[_0xa78295(0x127)]({'lockKey':_0x28fece[_0xa78295(0x134)],'reason':_0xa78295(0x13a)});continue;}try{await uploadSingleFunction(_0x33616f[_0xa78295(0x148)],_0x28fece,_0x8e2bff,_0x1a6d7f);const _0x838a24=_0x8e2bff[_0xa78295(0x129)][_0x28fece[_0xa78295(0x134)]];_0x48696b[_0xa78295(0x127)]({'lockKey':_0x28fece['lockKey'],'remoteId':_0x838a24?.[_0xa78295(0x13f)]??0x0});}catch(_0x5bb246){_0x55f598['push']({'lockKey':_0x28fece['lockKey'],'error':_0x5bb246 instanceof Error?_0x5bb246['message']:String(_0x5bb246)});}}return _0x8e2bff[_0xa78295(0x137)]=new Date()['toISOString'](),await writeBffLockFile(_0x5a9158['lockFilePath'],_0x4cadd1),{'ok':_0x55f598['length']===0x0,'data':{'uploaded':_0x48696b,'skipped':_0x251bd7,'failed':_0x55f598},'message':'Push\x20complete:\x20'+_0x48696b[_0xa78295(0x14c)]+_0xa78295(0x154)+_0x251bd7['length']+_0xa78295(0x12f)+_0x55f598[_0xa78295(0x14c)]+_0xa78295(0x15c)};}};async function getTargetFunctions(_0x5f01d8,_0xb39a37){const _0x3d473f=a32_0x347b62,_0x2fd860=_0xb39a37[_0x3d473f(0x14a)](_0x3d473f(0x139)),_0x424b20=_0xb39a37[_0x3d473f(0x14a)](_0x3d473f(0x14f)),_0x4bf4f0=normalizeBffType(_0x2fd860)??undefined;if(_0x424b20&&!_0x4bf4f0)throw CliErrors[_0x3d473f(0x128)](_0x3d473f(0x157));const _0x3cce43=await scanLocalBffFunctions(_0x5f01d8,_0x4bf4f0);if(_0x424b20){const _0x89cfdd=_0x3cce43[_0x3d473f(0x11d)](_0x140683=>_0x140683[_0x3d473f(0x14f)]===_0x424b20);if(_0x89cfdd[_0x3d473f(0x14c)]===0x0)throw CliErrors['validation']('Local\x20function\x20not\x20found:\x20'+_0x4bf4f0+'/'+_0x424b20);return _0x89cfdd;}return _0x3cce43;}async function buildHookMaps(_0x2f05d7,_0x3127d7,_0x33037d,_0x1edbc4){const _0x54f4d9=a32_0x347b62,_0x846e5e=_0x33037d[_0x54f4d9(0x13c)](_0x66c1e9=>_0x66c1e9[_0x54f4d9(0x139)]==='HOOK');if(!_0x846e5e)return{'aliasToDatasetCode':new Map(),'datasetCodeToId':new Map()};const _0x421d95=loadAliasMap(_0x3127d7,undefined,resolveApiFilePath(_0x3127d7,_0x2f05d7)),_0x217282=new Map(_0x421d95[_0x54f4d9(0x12a)](_0x14cc33=>[_0x14cc33[_0x54f4d9(0x136)],_0x14cc33[_0x54f4d9(0x15e)]]));for(const _0x10bf6c of Object[_0x54f4d9(0x121)](_0x1edbc4[_0x54f4d9(0x129)])){_0x10bf6c[_0x54f4d9(0x136)]&&_0x10bf6c[_0x54f4d9(0x15e)]&&!_0x217282[_0x54f4d9(0x126)](_0x10bf6c[_0x54f4d9(0x136)])&&_0x217282[_0x54f4d9(0x12c)](_0x10bf6c[_0x54f4d9(0x136)],_0x10bf6c[_0x54f4d9(0x15e)]);}const _0x534092=await listDatasets(_0x2f05d7),_0x29ca78=new Map(_0x534092[_0x54f4d9(0x12a)](_0x312b55=>[_0x312b55['code'],_0x312b55['id']]));return{'aliasToDatasetCode':_0x217282,'datasetCodeToId':_0x29ca78};}async function uploadSingleFunction(_0x5ce0e7,_0x22ce77,_0x517280,_0x54523e){const _0x3bf955=a32_0x347b62,_0x2143b0=await readFile(_0x22ce77['filePath'],_0x3bf955(0x133)),_0x3a42be=await computeFileHash(_0x22ce77['filePath']),_0x2fcff5=_0x517280[_0x3bf955(0x129)][_0x22ce77[_0x3bf955(0x134)]];if(_0x2fcff5?.['remoteId']&&_0x2fcff5[_0x3bf955(0x153)]==null)throw CliErrors['validation'](_0x22ce77[_0x3bf955(0x134)]+_0x3bf955(0x120));let _0x48e984=extractScriptDescription(_0x2143b0);if(!_0x48e984&&_0x2fcff5?.[_0x3bf955(0x13f)]){const _0x28b38f=await getBffScriptInfo(_0x2fcff5['remoteId']);_0x48e984=_0x28b38f[_0x3bf955(0x15a)]||undefined;}const _0x31b674={'appCode':_0x5ce0e7,'functionName':_0x22ce77[_0x3bf955(0x14f)],'scriptType':_0x22ce77[_0x3bf955(0x139)],'scriptContent':_0x2143b0};if(_0x2fcff5?.[_0x3bf955(0x13f)])_0x31b674['id']=_0x2fcff5[_0x3bf955(0x13f)];if(_0x2fcff5?.[_0x3bf955(0x153)]!=null)_0x31b674[_0x3bf955(0x153)]=_0x2fcff5[_0x3bf955(0x153)];if(_0x48e984)_0x31b674[_0x3bf955(0x15a)]=_0x48e984;if(_0x22ce77['type']===_0x3bf955(0x146)){const _0x37e210=_0x22ce77[_0x3bf955(0x136)];if(!_0x37e210||!_0x22ce77[_0x3bf955(0x124)]||!_0x22ce77[_0x3bf955(0x15d)])throw CliErrors[_0x3bf955(0x128)]('Incomplete\x20HOOK\x20path:\x20'+_0x22ce77[_0x3bf955(0x134)]);const _0x44ea52=_0x54523e['aliasToDatasetCode']['get'](_0x37e210)??_0x2fcff5?.['datasetCode']??_0x37e210,_0x18effb=_0x54523e[_0x3bf955(0x14b)]['get'](_0x44ea52);if(!_0x18effb)throw CliErrors[_0x3bf955(0x128)](_0x3bf955(0x125)+_0x37e210+_0x3bf955(0x14e)+(_0x3bf955(0x159)+CLI_BIN_NAME+'\x20api\x20pull`\x20to\x20refresh\x20api.ts,\x20or\x20verify\x20the\x20dataset\x20exists.'));_0x31b674[_0x3bf955(0x155)]=_0x18effb,_0x31b674[_0x3bf955(0x124)]=_0x22ce77[_0x3bf955(0x124)],_0x31b674[_0x3bf955(0x15d)]=_0x22ce77[_0x3bf955(0x15d)];}const _0x22a090=await saveBffScript(_0x31b674),_0x30e8fe=_0x22a090['id'],_0x40f099=_0x22a090[_0x3bf955(0x141)]??await getBffScriptInfo(_0x30e8fe),_0x38aefa={'hash':_0x3a42be,'remoteId':_0x30e8fe,'version':_0x40f099[_0x3bf955(0x153)]};if(_0x22ce77[_0x3bf955(0x139)]===_0x3bf955(0x146)){const _0x60e4e4=_0x22ce77[_0x3bf955(0x136)],_0x29edca=_0x54523e['aliasToDatasetCode'][_0x3bf955(0x11b)](_0x60e4e4)??_0x2fcff5?.[_0x3bf955(0x15e)]??_0x60e4e4;_0x54523e[_0x3bf955(0x122)]['has'](_0x60e4e4)?_0x38aefa[_0x3bf955(0x136)]=_0x60e4e4:_0x38aefa['alias']=_0x2fcff5?.[_0x3bf955(0x136)],_0x38aefa[_0x3bf955(0x15e)]=_0x29edca,_0x38aefa[_0x3bf955(0x124)]=_0x22ce77[_0x3bf955(0x124)],_0x38aefa[_0x3bf955(0x15d)]=_0x22ce77['functionNode'];}_0x517280['functions'][_0x22ce77['lockKey']]=_0x38aefa;}