@lovrabet/rabetbase-cli 2.1.7-beta.8 → 2.1.8

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 -1
  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 -1
  55. package/lib/commands/dataset/link-delete.js +1 -1
  56. package/lib/commands/dataset/link-shared.js +1 -1
  57. package/lib/commands/dataset/link-update.js +1 -1
  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 -1
  77. package/lib/commands/issue/report.js +1 -1
  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 -1
  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 +1 -1
@@ -1 +1 @@
1
- (function(_0x51d9db,_0x3f72d9){const _0x81097a=a20_0x2c38,_0x572c0b=_0x51d9db();while(!![]){try{const _0x442598=parseInt(_0x81097a(0x9c))/0x1*(-parseInt(_0x81097a(0x96))/0x2)+parseInt(_0x81097a(0x93))/0x3*(-parseInt(_0x81097a(0x99))/0x4)+-parseInt(_0x81097a(0x98))/0x5*(-parseInt(_0x81097a(0x95))/0x6)+-parseInt(_0x81097a(0x9a))/0x7+-parseInt(_0x81097a(0x97))/0x8+parseInt(_0x81097a(0x9b))/0x9+parseInt(_0x81097a(0x94))/0xa;if(_0x442598===_0x3f72d9)break;else _0x572c0b['push'](_0x572c0b['shift']());}catch(_0x37f7cc){_0x572c0b['push'](_0x572c0b['shift']());}}}(a20_0x1a76,0xdb217));function a20_0x1a76(){const _0x3bc9f7=['4CiObvI','13241448UiKwQE','130wPrPQc','4RGxQIU','10982146riktyp','4829058MUIWct','187167VPLMQj','1322031iMPhKQ','39053650FOjIKI','114162HBexWc'];a20_0x1a76=function(){return _0x3bc9f7;};return a20_0x1a76();}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';function a20_0x2c38(_0x591ae8,_0x5e3cae){_0x591ae8=_0x591ae8-0x93;const _0x1a76e3=a20_0x1a76();let _0x2c38b7=_0x1a76e3[_0x591ae8];return _0x2c38b7;}import{appRemoveDefinition}from'../../commands/app/remove.js';export const appDefinitions=[appListDefinition,appRemoteDefinition,appUseDefinition,appAddDefinition,appRemoveDefinition];
1
+ (function(_0x4e1685,_0x5bda21){const _0x511184=a20_0x454d,_0x56f5ee=_0x4e1685();while(!![]){try{const _0x48c7f8=parseInt(_0x511184(0x93))/0x1+-parseInt(_0x511184(0x97))/0x2+parseInt(_0x511184(0x94))/0x3+parseInt(_0x511184(0x90))/0x4+parseInt(_0x511184(0x96))/0x5*(-parseInt(_0x511184(0x95))/0x6)+parseInt(_0x511184(0x92))/0x7+-parseInt(_0x511184(0x91))/0x8;if(_0x48c7f8===_0x5bda21)break;else _0x56f5ee['push'](_0x56f5ee['shift']());}catch(_0x9b6e22){_0x56f5ee['push'](_0x56f5ee['shift']());}}}(a20_0x4276,0x2acbb));import{appListDefinition}from'../../commands/app/list.js';import{appRemoteDefinition}from'../../commands/app/discover.js';function a20_0x454d(_0x5a5f3a,_0xbcd83d){_0x5a5f3a=_0x5a5f3a-0x90;const _0x42764c=a20_0x4276();let _0x454d25=_0x42764c[_0x5a5f3a];return _0x454d25;}import{appUseDefinition}from'../../commands/app/use.js';import{appAddDefinition}from'../../commands/app/add.js';function a20_0x4276(){const _0x22992d=['641165fkForh','190872VHPJAE','887421lRHpbD','260310WExPkC','15AhuYRN','317020gbvPft','1034492SiEbGw','2983528JeAPOd'];a20_0x4276=function(){return _0x22992d;};return a20_0x4276();}import{appRemoveDefinition}from'../../commands/app/remove.js';export const appDefinitions=[appListDefinition,appRemoteDefinition,appUseDefinition,appAddDefinition,appRemoveDefinition];
@@ -1 +1 @@
1
- const a21_0x3a183a=a21_0x3c75;(function(_0x3dee62,_0x24e4cf){const _0x1ec627=a21_0x3c75,_0x1e2086=_0x3dee62();while(!![]){try{const _0x4d84ac=parseInt(_0x1ec627(0x1d1))/0x1+-parseInt(_0x1ec627(0x1e4))/0x2+parseInt(_0x1ec627(0x1eb))/0x3+-parseInt(_0x1ec627(0x1de))/0x4*(-parseInt(_0x1ec627(0x1f0))/0x5)+-parseInt(_0x1ec627(0x1e1))/0x6*(-parseInt(_0x1ec627(0x1e8))/0x7)+-parseInt(_0x1ec627(0x1cf))/0x8*(parseInt(_0x1ec627(0x1ec))/0x9)+parseInt(_0x1ec627(0x1cb))/0xa*(-parseInt(_0x1ec627(0x1ea))/0xb);if(_0x4d84ac===_0x24e4cf)break;else _0x1e2086['push'](_0x1e2086['shift']());}catch(_0x2b9ad3){_0x1e2086['push'](_0x1e2086['shift']());}}}(a21_0x2e7b,0xcc34f));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(_0x5df910,_0x3cb106){const _0xc819bf=a21_0x3c75,_0x581a05=[],_0x371430=_0x5df910[_0xc819bf(0x1e9)]&&typeof _0x5df910['apps']===_0xc819bf(0x1d0)?_0x5df910[_0xc819bf(0x1e9)]:{},_0x1e8498=_0x5df910[_0xc819bf(0x1cd)]||undefined;for(const [_0x38875a,_0x2ba3b5]of Object[_0xc819bf(0x1ef)](_0x371430)){if(!_0x2ba3b5||typeof _0x2ba3b5!=='object'||!_0x2ba3b5[_0xc819bf(0x1d3)])continue;_0x581a05[_0xc819bf(0x1d5)]({'name':_0x38875a,'appcode':_0x2ba3b5[_0xc819bf(0x1d3)],'named':!![],'definedIn':_0x3cb106,'isDefault':_0x38875a===_0x1e8498,...buildAppProfileListFields(_0x2ba3b5)});}return _0x581a05;}function buildMergedItems(_0x2be73f,_0x2417c6){const _0x59aba4=a21_0x3c75,{apps:apps={},defaultApp:_0x20734c}=_0x2be73f,_0x5b5fd1=_0x2417c6['globalConfig'][_0x59aba4(0x1e9)]&&typeof _0x2417c6[_0x59aba4(0x1d7)]['apps']===_0x59aba4(0x1d0)?_0x2417c6[_0x59aba4(0x1d7)][_0x59aba4(0x1e9)]:{},_0x2f5c3a=_0x2417c6[_0x59aba4(0x1ed)][_0x59aba4(0x1e9)]&&typeof _0x2417c6[_0x59aba4(0x1ed)][_0x59aba4(0x1e9)]===_0x59aba4(0x1d0)?_0x2417c6[_0x59aba4(0x1ed)][_0x59aba4(0x1e9)]:{},_0x52fa2d=_0x2417c6[_0x59aba4(0x1ed)][_0x59aba4(0x1d2)]===![],_0x34dd29=Object['entries'](apps),_0x4934ef=_0x34dd29['map'](([_0x3118e8,_0x54cb13])=>({'name':_0x3118e8,'appcode':_0x54cb13['appcode'],'named':!![],'definedIn':appDefinedIn(_0x3118e8,_0x5b5fd1,_0x2f5c3a,_0x52fa2d),'isDefault':_0x3118e8===_0x20734c,...buildAppProfileListFields(_0x54cb13)}));return _0x4934ef;}function a21_0x2e7b(){const _0x5f1ec6=['bool','List\x20all\x20configured\x20apps','\x20config','global','length','\x20app\x20add\x20<name>\x20--appcode\x20<code>`\x20to\x20add\x20one.','4938372SUOWnZ','Show\x20only\x20apps\x20from\x20project\x20.rabetbase.json','No\x20apps\x20configured','3006138pVeukS','list','boolean','333714EjTYib','isCurrent','read','merged','7AGRLwM','apps','48323YARGKD','1179339hMXXIn','887103ICbgcu','projectConfig','Show\x20only\x20apps\x20from\x20global\x20~/.rabetbase.json','entries','5mvjmFu','find','1510ssQgHg','globalPath','defaultApp','projectPath','56lSEMZd','object','227871oHTqRu','inherit','appcode','app','push','project','globalConfig'];a21_0x2e7b=function(){return _0x5f1ec6;};return a21_0x2e7b();}function a21_0x3c75(_0x2b854b,_0x8d7ce4){_0x2b854b=_0x2b854b-0x1ca;const _0x2e7bcb=a21_0x2e7b();let _0x3c7514=_0x2e7bcb[_0x2b854b];return _0x3c7514;}async function execute(_0x1fa054){const _0x3fe176=a21_0x3c75,_0x329dbf=_0x1fa054[_0x3fe176(0x1d8)]('global'),_0x1e37e8=_0x1fa054['bool'](_0x3fe176(0x1d6)),_0x253f3b=_0x329dbf?_0x3fe176(0x1db):_0x1e37e8?'project':_0x3fe176(0x1e7),{config:_0x4b7ccf,layers:_0x20fe38}=readRawConfigWithLayers(),_0x383db9=resolveDefaultAppSource(_0x20fe38),{defaultApp:_0x41d6c9}=_0x4b7ccf;let _0x10cf3b,_0x3c5319;switch(_0x253f3b){case _0x3fe176(0x1db):_0x10cf3b=buildItemsFromLayer(_0x20fe38['globalConfig'],_0x3fe176(0x1db)),_0x3c5319=_0x20fe38[_0x3fe176(0x1cc)];break;case _0x3fe176(0x1d6):_0x10cf3b=buildItemsFromLayer(_0x20fe38[_0x3fe176(0x1ed)],_0x3fe176(0x1d6)),_0x3c5319=_0x20fe38['projectPath'];break;default:_0x10cf3b=buildMergedItems(_0x4b7ccf,_0x20fe38);break;}enrichAppListItemsWithMergedSelection(_0x10cf3b,_0x1fa054['mergedCli']);if(_0x10cf3b[_0x3fe176(0x1dc)]===0x0){const _0x4a6182=_0x253f3b===_0x3fe176(0x1e7)?'':'\x20in\x20'+_0x253f3b+_0x3fe176(0x1da);return{'ok':!![],'data':[],'message':_0x3fe176(0x1e0)+_0x4a6182+'.\x20Use\x20`'+CLI_BIN_NAME+_0x3fe176(0x1dd)};}const _0x4a50e9=_0x10cf3b[_0x3fe176(0x1ca)](_0x35a03f=>_0x35a03f[_0x3fe176(0x1e5)]===!![]),_0x5e1c97=_0x41d6c9??_0x4a50e9?.[_0x3fe176(0x1d3)]??null,_0x19da67=_0x253f3b===_0x3fe176(0x1e7)?{'globalPath':_0x20fe38[_0x3fe176(0x1cc)]??null,'projectPath':_0x20fe38[_0x3fe176(0x1ce)]??null,'defaultApp':_0x5e1c97,'defaultAppSource':_0x41d6c9!=null?_0x383db9:null}:{'scope':_0x253f3b,'configPath':_0x3c5319??null};return{'ok':!![],'data':{'items':_0x10cf3b,'meta':_0x19da67}};}export const appListDefinition={'service':a21_0x3a183a(0x1d4),'command':a21_0x3a183a(0x1e2),'description':a21_0x3a183a(0x1d9),'risk':a21_0x3a183a(0x1e6),'requiresAuth':![],'requiresAppCode':![],'flags':[{'name':'global','type':a21_0x3a183a(0x1e3),'description':a21_0x3a183a(0x1ee),'default':![]},{'name':a21_0x3a183a(0x1d6),'type':a21_0x3a183a(0x1e3),'description':a21_0x3a183a(0x1df),'default':![]}],'execute':execute};
1
+ function a21_0x4b55(_0x194203,_0x13a627){_0x194203=_0x194203-0x131;const _0x68e11e=a21_0x68e1();let _0x4b5534=_0x68e11e[_0x194203];return _0x4b5534;}const a21_0x24c3e7=a21_0x4b55;function a21_0x68e1(){const _0x358277=['app','\x20in\x20','\x20app\x20add\x20<name>\x20--appcode\x20<code>`\x20to\x20add\x20one.','11261856lHjGOH','map','558SdxecH','Show\x20only\x20apps\x20from\x20global\x20~/.rabetbase.json','1011329zRiMzh','apps','Show\x20only\x20apps\x20from\x20project\x20.rabetbase.json','54355SliQxd','list','find','50NiXxVM','366dTRAnV','27YHDOvG','global','List\x20all\x20configured\x20apps','object','66658Xhlnlm','globalConfig','defaultApp','4IlYqbR','project','1916450MRTcWA','43240AlRUyX','boolean','43880LCNWky','entries','push','projectConfig','inherit','isCurrent','No\x20apps\x20configured','globalPath','mergedCli','merged','bool','appcode'];a21_0x68e1=function(){return _0x358277;};return a21_0x68e1();}(function(_0x5ee44d,_0x318998){const _0x21a597=a21_0x4b55,_0xf92197=_0x5ee44d();while(!![]){try{const _0x171266=parseInt(_0x21a597(0x155))/0x1+-parseInt(_0x21a597(0x14d))/0x2*(-parseInt(_0x21a597(0x149))/0x3)+parseInt(_0x21a597(0x150))/0x4*(-parseInt(_0x21a597(0x152))/0x5)+-parseInt(_0x21a597(0x148))/0x6*(-parseInt(_0x21a597(0x144))/0x7)+-parseInt(_0x21a597(0x153))/0x8*(-parseInt(_0x21a597(0x13f))/0x9)+-parseInt(_0x21a597(0x147))/0xa*(-parseInt(_0x21a597(0x141))/0xb)+-parseInt(_0x21a597(0x13d))/0xc;if(_0x171266===_0x318998)break;else _0xf92197['push'](_0xf92197['shift']());}catch(_0x385162){_0xf92197['push'](_0xf92197['shift']());}}}(a21_0x68e1,0x46ee5));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(_0x4266ad,_0x14c4ec){const _0x1a3086=a21_0x4b55,_0x3be0d0=[],_0x2f4216=_0x4266ad[_0x1a3086(0x142)]&&typeof _0x4266ad[_0x1a3086(0x142)]===_0x1a3086(0x14c)?_0x4266ad[_0x1a3086(0x142)]:{},_0x44573c=_0x4266ad[_0x1a3086(0x14f)]||undefined;for(const [_0x56f154,_0x4b3307]of Object[_0x1a3086(0x156)](_0x2f4216)){if(!_0x4b3307||typeof _0x4b3307!==_0x1a3086(0x14c)||!_0x4b3307[_0x1a3086(0x139)])continue;_0x3be0d0[_0x1a3086(0x157)]({'name':_0x56f154,'appcode':_0x4b3307[_0x1a3086(0x139)],'named':!![],'definedIn':_0x14c4ec,'isDefault':_0x56f154===_0x44573c,...buildAppProfileListFields(_0x4b3307)});}return _0x3be0d0;}function buildMergedItems(_0x5d2233,_0x5b10ae){const _0x53dc5c=a21_0x4b55,{apps:apps={},defaultApp:_0x166ebd}=_0x5d2233,_0x4bae5c=_0x5b10ae['globalConfig'][_0x53dc5c(0x142)]&&typeof _0x5b10ae['globalConfig'][_0x53dc5c(0x142)]===_0x53dc5c(0x14c)?_0x5b10ae[_0x53dc5c(0x14e)][_0x53dc5c(0x142)]:{},_0x64fb01=_0x5b10ae[_0x53dc5c(0x131)][_0x53dc5c(0x142)]&&typeof _0x5b10ae['projectConfig']['apps']==='object'?_0x5b10ae[_0x53dc5c(0x131)][_0x53dc5c(0x142)]:{},_0x18cf8f=_0x5b10ae['projectConfig'][_0x53dc5c(0x132)]===![],_0x2371c0=Object[_0x53dc5c(0x156)](apps),_0x1b1d04=_0x2371c0[_0x53dc5c(0x13e)](([_0x4b98aa,_0x4b4799])=>({'name':_0x4b98aa,'appcode':_0x4b4799[_0x53dc5c(0x139)],'named':!![],'definedIn':appDefinedIn(_0x4b98aa,_0x4bae5c,_0x64fb01,_0x18cf8f),'isDefault':_0x4b98aa===_0x166ebd,...buildAppProfileListFields(_0x4b4799)}));return _0x1b1d04;}async function execute(_0x5f4f1a){const _0x405673=a21_0x4b55,_0x3dc383=_0x5f4f1a[_0x405673(0x138)]('global'),_0x2092d1=_0x5f4f1a[_0x405673(0x138)](_0x405673(0x151)),_0x1d82c8=_0x3dc383?_0x405673(0x14a):_0x2092d1?_0x405673(0x151):'merged',{config:_0x3d9c49,layers:_0x553848}=readRawConfigWithLayers(),_0x2a5700=resolveDefaultAppSource(_0x553848),{defaultApp:_0xd170c6}=_0x3d9c49;let _0x431dc4,_0x30aa5c;switch(_0x1d82c8){case _0x405673(0x14a):_0x431dc4=buildItemsFromLayer(_0x553848[_0x405673(0x14e)],_0x405673(0x14a)),_0x30aa5c=_0x553848[_0x405673(0x135)];break;case _0x405673(0x151):_0x431dc4=buildItemsFromLayer(_0x553848['projectConfig'],_0x405673(0x151)),_0x30aa5c=_0x553848['projectPath'];break;default:_0x431dc4=buildMergedItems(_0x3d9c49,_0x553848);break;}enrichAppListItemsWithMergedSelection(_0x431dc4,_0x5f4f1a[_0x405673(0x136)]);if(_0x431dc4['length']===0x0){const _0x1b6e63=_0x1d82c8===_0x405673(0x137)?'':_0x405673(0x13b)+_0x1d82c8+'\x20config';return{'ok':!![],'data':[],'message':_0x405673(0x134)+_0x1b6e63+'.\x20Use\x20`'+CLI_BIN_NAME+_0x405673(0x13c)};}const _0x4f6398=_0x431dc4[_0x405673(0x146)](_0x49ee80=>_0x49ee80[_0x405673(0x133)]===!![]),_0x2da125=_0xd170c6??_0x4f6398?.[_0x405673(0x139)]??null,_0x2da361=_0x1d82c8===_0x405673(0x137)?{'globalPath':_0x553848[_0x405673(0x135)]??null,'projectPath':_0x553848['projectPath']??null,'defaultApp':_0x2da125,'defaultAppSource':_0xd170c6!=null?_0x2a5700:null}:{'scope':_0x1d82c8,'configPath':_0x30aa5c??null};return{'ok':!![],'data':{'items':_0x431dc4,'meta':_0x2da361}};}export const appListDefinition={'service':a21_0x24c3e7(0x13a),'command':a21_0x24c3e7(0x145),'description':a21_0x24c3e7(0x14b),'risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[{'name':a21_0x24c3e7(0x14a),'type':'boolean','description':a21_0x24c3e7(0x140),'default':![]},{'name':a21_0x24c3e7(0x151),'type':a21_0x24c3e7(0x154),'description':a21_0x24c3e7(0x143),'default':![]}],'execute':execute};
@@ -1 +1 @@
1
- const a22_0x410e54=a22_0xbed8;(function(_0x2d84b5,_0x6f3e18){const _0x5bed78=a22_0xbed8,_0x4b5374=_0x2d84b5();while(!![]){try{const _0x29d944=parseInt(_0x5bed78(0x9c))/0x1*(-parseInt(_0x5bed78(0xac))/0x2)+parseInt(_0x5bed78(0xae))/0x3+-parseInt(_0x5bed78(0x91))/0x4*(-parseInt(_0x5bed78(0xa0))/0x5)+parseInt(_0x5bed78(0xa1))/0x6*(-parseInt(_0x5bed78(0x8d))/0x7)+-parseInt(_0x5bed78(0xa7))/0x8+parseInt(_0x5bed78(0xa8))/0x9+-parseInt(_0x5bed78(0x94))/0xa;if(_0x29d944===_0x6f3e18)break;else _0x4b5374['push'](_0x4b5374['shift']());}catch(_0x5014cd){_0x4b5374['push'](_0x4b5374['shift']());}}}(a22_0x3fa7,0x38cca));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';function a22_0xbed8(_0x4e07a5,_0x5b9f1c){_0x4e07a5=_0x4e07a5-0x88;const _0x3fa75b=a22_0x3fa7();let _0xbed81=_0x3fa75b[_0x4e07a5];return _0xbed81;}function a22_0x3fa7(){const _0x23aa9f=['2500BVUsLp','105810SXsCaJ','high-risk-write','object','Usage:\x20','\x22\x20still\x20defined\x20in\x20','defaultApp','2812448uLfXMc','2017080VwcLSb','trim','name','App\x20\x22','14iRatfg','args','1039569MFprDT','app','length','remove','\x20app\x20remove\x20<name>\x20[--global]','\x22\x20not\x20found.','7jlmsFc','\x20Default\x20app\x20changed\x20to\x20\x22','global','inherit','1332qjASZi','projectConfig','validation','1275670rdIEQj','keys','project','Use\x20global\x20config\x20scope','App\x20profile\x20name\x20to\x20remove','Missing\x20app\x20name.','Removed\x20app\x20\x22','Remove\x20an\x20app\x20from\x20config','1105LLCxlK','\x20Note:\x20app\x20\x22','globalConfig','apps'];a22_0x3fa7=function(){return _0x23aa9f;};return a22_0x3fa7();}import{readRawConfigWithLayers}from'../../context.js';import{readConfig,writeConfig,scopeLabel,resolveAppScopeForWrite,appDefinedIn}from'../../commands/app/shared.js';async function validateArgs(_0xf6f66){const _0x13638e=a22_0xbed8,_0x44ae75=_0xf6f66[_0x13638e(0xad)][0x0]?.[_0x13638e(0xa9)]();if(!_0x44ae75)throw CliErrors[_0x13638e(0x93)]('Missing\x20app\x20name.',_0x13638e(0xa4)+CLI_BIN_NAME+_0x13638e(0x8b));}async function execute(_0x10215f){const _0x12183c=a22_0xbed8,_0x447146=_0x10215f[_0x12183c(0xad)][0x0]?.['trim']();if(!_0x447146)throw CliErrors[_0x12183c(0x93)](_0x12183c(0x99),'Usage:\x20'+CLI_BIN_NAME+_0x12183c(0x8b));const _0x451658=_0x10215f['bool'](_0x12183c(0x8f)),{config:_0x370239,layers:_0x50e176}=readRawConfigWithLayers(),_0x3d6ffb=_0x370239[_0x12183c(0x9f)]??{};if(!_0x3d6ffb[_0x447146])throw CliErrors[_0x12183c(0x93)](_0x12183c(0xab)+_0x447146+'\x22\x20not\x20found.');const _0x50e2df=_0x50e176[_0x12183c(0x9e)]['apps']&&typeof _0x50e176[_0x12183c(0x9e)][_0x12183c(0x9f)]==='object'?_0x50e176['globalConfig'][_0x12183c(0x9f)]:{},_0x1e30e8=_0x50e176['projectConfig']['apps']&&typeof _0x50e176[_0x12183c(0x92)][_0x12183c(0x9f)]===_0x12183c(0xa3)?_0x50e176[_0x12183c(0x92)][_0x12183c(0x9f)]:{},_0x31b0f4=appDefinedIn(_0x447146,_0x50e2df,_0x1e30e8,_0x50e176[_0x12183c(0x92)][_0x12183c(0x90)]===![]),_0x37238c=resolveAppScopeForWrite(_0x447146,_0x451658,_0x50e176),_0x189b3e={'global':_0x37238c===_0x12183c(0x8f)},_0x3fb42b=readConfig(_0x189b3e),_0x190636=_0x3fb42b[_0x12183c(0x9f)];if(!_0x190636||!_0x190636[_0x447146])throw CliErrors[_0x12183c(0x93)]('App\x20\x22'+_0x447146+_0x12183c(0x8c));delete _0x190636[_0x447146];let _0x3f508b='';if(_0x3fb42b[_0x12183c(0xa6)]===_0x447146){const _0x181b5b=Object[_0x12183c(0x95)](_0x190636);_0x3fb42b[_0x12183c(0xa6)]=_0x181b5b[_0x12183c(0x89)]>0x0?_0x181b5b[0x0]:undefined,_0x3fb42b[_0x12183c(0xa6)]?_0x3f508b=_0x12183c(0x8e)+_0x3fb42b[_0x12183c(0xa6)]+'\x22.':delete _0x3fb42b['defaultApp'];}Object[_0x12183c(0x95)](_0x190636)[_0x12183c(0x89)]===0x0&&(delete _0x3fb42b['apps'],delete _0x3fb42b[_0x12183c(0xa6)]);writeConfig(_0x3fb42b,_0x189b3e);const _0x5643b6=_0x31b0f4==='both'?_0x12183c(0x9d)+_0x447146+_0x12183c(0xa5)+(_0x37238c===_0x12183c(0x96)?_0x12183c(0x8f):_0x12183c(0x96))+'\x20config.':'';return{'ok':!![],'message':_0x12183c(0x9a)+_0x447146+'\x22'+scopeLabel(_0x189b3e)+'.'+_0x3f508b+_0x5643b6};}export const appRemoveDefinition={'service':a22_0x410e54(0x88),'command':a22_0x410e54(0x8a),'description':a22_0x410e54(0x9b),'risk':a22_0x410e54(0xa2),'requiresAuth':![],'requiresAppCode':![],'args':[{'name':a22_0x410e54(0xaa),'description':a22_0x410e54(0x98),'required':!![]}],'flags':[{'name':a22_0x410e54(0x8f),'type':'boolean','description':a22_0x410e54(0x97),'default':![]}],'validate':validateArgs,'execute':execute};
1
+ function a22_0x4b69(){const _0x3c7b7f=['Use\x20global\x20config\x20scope','90162WIndgZ','boolean','\x20Note:\x20app\x20\x22','keys','globalConfig','6SLBbDH','24280668lZNSCb','5706708yEAspQ','high-risk-write','inherit','both','app','2213852QDhxnY','object','global','length','validation','projectConfig','Removed\x20app\x20\x22','3546165aGABop','\x20config.','Missing\x20app\x20name.','\x22\x20still\x20defined\x20in\x20','bool','915410HJDGUc','remove','defaultApp','args','4248230UwgTmn','Remove\x20an\x20app\x20from\x20config','\x20Default\x20app\x20changed\x20to\x20\x22','project','Usage:\x20','8TgayoS','trim','App\x20\x22','App\x20profile\x20name\x20to\x20remove','\x20app\x20remove\x20<name>\x20[--global]','\x22\x20not\x20found.','name','apps'];a22_0x4b69=function(){return _0x3c7b7f;};return a22_0x4b69();}const a22_0x39032d=a22_0x4bfd;(function(_0x333d6a,_0x55f1d8){const _0x4a6c61=a22_0x4bfd,_0x2c21d5=_0x333d6a();while(!![]){try{const _0x24492c=parseInt(_0x4a6c61(0x1db))/0x1+-parseInt(_0x4a6c61(0x1ed))/0x2*(-parseInt(_0x4a6c61(0x1f2))/0x3)+-parseInt(_0x4a6c61(0x1f9))/0x4+-parseInt(_0x4a6c61(0x1d6))/0x5+-parseInt(_0x4a6c61(0x1f4))/0x6+-parseInt(_0x4a6c61(0x1df))/0x7+parseInt(_0x4a6c61(0x1e4))/0x8*(parseInt(_0x4a6c61(0x1f3))/0x9);if(_0x24492c===_0x55f1d8)break;else _0x2c21d5['push'](_0x2c21d5['shift']());}catch(_0x3c9c9c){_0x2c21d5['push'](_0x2c21d5['shift']());}}}(a22_0x4b69,0xd7820));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_0x4bfd(_0x285ac8,_0x50db5c){_0x285ac8=_0x285ac8-0x1d5;const _0x4b695d=a22_0x4b69();let _0x4bfd57=_0x4b695d[_0x285ac8];return _0x4bfd57;}async function validateArgs(_0x2ec567){const _0x3952c9=a22_0x4bfd,_0x2cff11=_0x2ec567[_0x3952c9(0x1de)][0x0]?.[_0x3952c9(0x1e5)]();if(!_0x2cff11)throw CliErrors[_0x3952c9(0x1fd)](_0x3952c9(0x1d8),_0x3952c9(0x1e3)+CLI_BIN_NAME+_0x3952c9(0x1e8));}async function execute(_0x4538d7){const _0x4c1b60=a22_0x4bfd,_0x1b4dda=_0x4538d7[_0x4c1b60(0x1de)][0x0]?.[_0x4c1b60(0x1e5)]();if(!_0x1b4dda)throw CliErrors[_0x4c1b60(0x1fd)]('Missing\x20app\x20name.',_0x4c1b60(0x1e3)+CLI_BIN_NAME+'\x20app\x20remove\x20<name>\x20[--global]');const _0x3e3a88=_0x4538d7[_0x4c1b60(0x1da)](_0x4c1b60(0x1fb)),{config:_0x4b05f8,layers:_0x2b7395}=readRawConfigWithLayers(),_0x7f6ecd=_0x4b05f8[_0x4c1b60(0x1eb)]??{};if(!_0x7f6ecd[_0x1b4dda])throw CliErrors['validation']('App\x20\x22'+_0x1b4dda+_0x4c1b60(0x1e9));const _0x4bfc02=_0x2b7395[_0x4c1b60(0x1f1)][_0x4c1b60(0x1eb)]&&typeof _0x2b7395['globalConfig'][_0x4c1b60(0x1eb)]===_0x4c1b60(0x1fa)?_0x2b7395[_0x4c1b60(0x1f1)]['apps']:{},_0x2c745b=_0x2b7395[_0x4c1b60(0x1fe)]['apps']&&typeof _0x2b7395[_0x4c1b60(0x1fe)][_0x4c1b60(0x1eb)]===_0x4c1b60(0x1fa)?_0x2b7395[_0x4c1b60(0x1fe)][_0x4c1b60(0x1eb)]:{},_0x3a4f71=appDefinedIn(_0x1b4dda,_0x4bfc02,_0x2c745b,_0x2b7395['projectConfig'][_0x4c1b60(0x1f6)]===![]),_0x285f06=resolveAppScopeForWrite(_0x1b4dda,_0x3e3a88,_0x2b7395),_0x29004={'global':_0x285f06===_0x4c1b60(0x1fb)},_0x1fa667=readConfig(_0x29004),_0x23047f=_0x1fa667[_0x4c1b60(0x1eb)];if(!_0x23047f||!_0x23047f[_0x1b4dda])throw CliErrors[_0x4c1b60(0x1fd)](_0x4c1b60(0x1e6)+_0x1b4dda+_0x4c1b60(0x1e9));delete _0x23047f[_0x1b4dda];let _0x4f4669='';if(_0x1fa667[_0x4c1b60(0x1dd)]===_0x1b4dda){const _0x113f3b=Object['keys'](_0x23047f);_0x1fa667['defaultApp']=_0x113f3b[_0x4c1b60(0x1fc)]>0x0?_0x113f3b[0x0]:undefined,_0x1fa667[_0x4c1b60(0x1dd)]?_0x4f4669=_0x4c1b60(0x1e1)+_0x1fa667[_0x4c1b60(0x1dd)]+'\x22.':delete _0x1fa667[_0x4c1b60(0x1dd)];}Object[_0x4c1b60(0x1f0)](_0x23047f)[_0x4c1b60(0x1fc)]===0x0&&(delete _0x1fa667[_0x4c1b60(0x1eb)],delete _0x1fa667[_0x4c1b60(0x1dd)]);writeConfig(_0x1fa667,_0x29004);const _0x3c518a=_0x3a4f71===_0x4c1b60(0x1f7)?_0x4c1b60(0x1ef)+_0x1b4dda+_0x4c1b60(0x1d9)+(_0x285f06===_0x4c1b60(0x1e2)?'global':_0x4c1b60(0x1e2))+_0x4c1b60(0x1d7):'';return{'ok':!![],'message':_0x4c1b60(0x1d5)+_0x1b4dda+'\x22'+scopeLabel(_0x29004)+'.'+_0x4f4669+_0x3c518a};}export const appRemoveDefinition={'service':a22_0x39032d(0x1f8),'command':a22_0x39032d(0x1dc),'description':a22_0x39032d(0x1e0),'risk':a22_0x39032d(0x1f5),'requiresAuth':![],'requiresAppCode':![],'args':[{'name':a22_0x39032d(0x1ea),'description':a22_0x39032d(0x1e7),'required':!![]}],'flags':[{'name':a22_0x39032d(0x1fb),'type':a22_0x39032d(0x1ee),'description':a22_0x39032d(0x1ec),'default':![]}],'validate':validateArgs,'execute':execute};
@@ -1 +1 @@
1
- (function(_0x34020d,_0x321a79){const _0x9fd3f6=a23_0x5886,_0x4e5e37=_0x34020d();while(!![]){try{const _0x2f9397=-parseInt(_0x9fd3f6(0xf0))/0x1+-parseInt(_0x9fd3f6(0xef))/0x2*(parseInt(_0x9fd3f6(0xf9))/0x3)+-parseInt(_0x9fd3f6(0x105))/0x4*(-parseInt(_0x9fd3f6(0xfb))/0x5)+-parseInt(_0x9fd3f6(0xfd))/0x6*(parseInt(_0x9fd3f6(0x104))/0x7)+-parseInt(_0x9fd3f6(0xf5))/0x8+parseInt(_0x9fd3f6(0x108))/0x9*(parseInt(_0x9fd3f6(0xf6))/0xa)+parseInt(_0x9fd3f6(0xf7))/0xb;if(_0x2f9397===_0x321a79)break;else _0x4e5e37['push'](_0x4e5e37['shift']());}catch(_0x2042f8){_0x4e5e37['push'](_0x4e5e37['shift']());}}}(a23_0x4f1b,0xe66d5));import{resolveWriteConfigPath,readConfigFile,writeConfigFile}from'../../context.js';export function enrichAppListItemsWithMergedSelection(_0x503198,_0x138a80){const _0x413c1b=a23_0x5886;if(!_0x138a80)return;const _0x3ef1d7=_0x138a80[_0x413c1b(0xfe)]&&typeof _0x138a80[_0x413c1b(0xfe)]===_0x413c1b(0xf8)?_0x138a80[_0x413c1b(0xfe)]:{},_0x6fe8b2=Object[_0x413c1b(0xf2)](_0x3ef1d7)[_0x413c1b(0xf1)]>0x0;for(const _0x22369d of _0x503198){_0x22369d[_0x413c1b(0x106)]=![];}const _0x29103e=_0x138a80[_0x413c1b(0x107)]!=null?String(_0x138a80[_0x413c1b(0x107)])[_0x413c1b(0x103)]():'';if(_0x6fe8b2){const _0x1a28fa=_0x138a80[_0x413c1b(0xfc)]??_0x138a80['defaultApp'];if(_0x1a28fa)for(const _0x3a4591 of _0x503198){_0x3a4591[_0x413c1b(0x10d)]===!![]&&_0x3a4591[_0x413c1b(0x10b)]===_0x1a28fa&&(_0x3a4591[_0x413c1b(0x106)]=!![]);}for(const _0x156661 of _0x503198){if(_0x156661[_0x413c1b(0x10d)]!==![])continue;if(_0x138a80[_0x413c1b(0x109)])continue;_0x29103e&&String(_0x156661['appcode']??'')[_0x413c1b(0x103)]()===_0x29103e&&(_0x156661[_0x413c1b(0x106)]=!![]);}return;}if(!_0x29103e)return;for(const _0x434361 of _0x503198){String(_0x434361[_0x413c1b(0x102)]??'')[_0x413c1b(0x103)]()===_0x29103e&&(_0x434361['isCurrent']=!![]);}}export function resolveAppScopeForWrite(_0x59cb80,_0x3be084,_0x48c754){const _0x1ff424=a23_0x5886;if(_0x3be084)return'global';const _0x4777a4=_0x48c754[_0x1ff424(0x10c)][_0x1ff424(0xfe)]&&typeof _0x48c754['projectConfig'][_0x1ff424(0xfe)]==='object'?_0x48c754['projectConfig'][_0x1ff424(0xfe)]:{},_0x4aaa4c=_0x48c754[_0x1ff424(0x10a)][_0x1ff424(0xfe)]&&typeof _0x48c754[_0x1ff424(0x10a)][_0x1ff424(0xfe)]==='object'?_0x48c754[_0x1ff424(0x10a)][_0x1ff424(0xfe)]:{};if(Object[_0x1ff424(0xf3)][_0x1ff424(0xff)][_0x1ff424(0x101)](_0x4777a4,_0x59cb80))return _0x1ff424(0xfa);if(Object[_0x1ff424(0xf3)][_0x1ff424(0xff)][_0x1ff424(0x101)](_0x4aaa4c,_0x59cb80))return _0x1ff424(0xf4);return _0x1ff424(0xfa);}export function appDefinedIn(_0x5aa63b,_0xd549c0,_0x333a0b,_0x306340){const _0x2e1bed=a23_0x5886;if(_0x306340)return Object[_0x2e1bed(0xf3)][_0x2e1bed(0xff)][_0x2e1bed(0x101)](_0x333a0b,_0x5aa63b)?_0x2e1bed(0xfa):'global';const _0x2d1846=Object[_0x2e1bed(0xf3)][_0x2e1bed(0xff)][_0x2e1bed(0x101)](_0xd549c0,_0x5aa63b),_0x5a852d=Object['prototype']['hasOwnProperty'][_0x2e1bed(0x101)](_0x333a0b,_0x5aa63b);if(_0x2d1846&&_0x5a852d)return _0x2e1bed(0x100);if(_0x5a852d)return'project';return _0x2e1bed(0xf4);}export function resolveDefaultAppSource(_0x464726){const _0x20decf=a23_0x5886,_0x51ba8e=_0x464726[_0x20decf(0x10c)][_0x20decf(0xfe)]&&typeof _0x464726[_0x20decf(0x10c)][_0x20decf(0xfe)]===_0x20decf(0xf8)?_0x464726[_0x20decf(0x10c)][_0x20decf(0xfe)]:{};if(_0x20decf(0x109)in _0x464726[_0x20decf(0x10c)])return'project';if(Object[_0x20decf(0xf2)](_0x51ba8e)[_0x20decf(0xf1)]>0x0)return _0x20decf(0xfa);if(_0x464726[_0x20decf(0x10c)]['inherit']===![])return null;if(_0x464726[_0x20decf(0x10a)][_0x20decf(0x109)])return _0x20decf(0xf4);return null;}export function getConfigPath(_0x222b06={}){const _0x14126d=a23_0x5886,_0x26f0a1=_0x222b06[_0x14126d(0xf4)]?_0x14126d(0xf4):_0x14126d(0xfa);return resolveWriteConfigPath(_0x26f0a1);}function a23_0x4f1b(){const _0x4368af=['global','30704ZUVzyi','160ugHnan','30292471elPZaw','object','3oWSjzN','project','5ZVIuBE','currentApp','18hLmuJg','apps','hasOwnProperty','both','call','appcode','trim','3306933VgafsC','5571892mybXJk','isCurrent','appCode','5976RSEEPD','defaultApp','globalConfig','name','projectConfig','named','31478CVHvlp','1776795QuuuUm','length','keys','prototype'];a23_0x4f1b=function(){return _0x4368af;};return a23_0x4f1b();}function a23_0x5886(_0x575c57,_0x10950b){_0x575c57=_0x575c57-0xef;const _0x4f1b33=a23_0x4f1b();let _0x588633=_0x4f1b33[_0x575c57];return _0x588633;}export function readConfig(_0x155674={}){return readConfigFile(getConfigPath(_0x155674));}export function writeConfig(_0xb0ad19,_0x47b825={}){writeConfigFile(getConfigPath(_0x47b825),_0xb0ad19);}export function scopeLabel(_0x367989){const _0x4c0a55=a23_0x5886;return _0x367989[_0x4c0a55(0xf4)]?'\x20(global)':'';}
1
+ (function(_0x16cb55,_0x4415d5){const _0x120971=a23_0x501b,_0x147f18=_0x16cb55();while(!![]){try{const _0x5dc157=-parseInt(_0x120971(0xe7))/0x1*(parseInt(_0x120971(0xe9))/0x2)+-parseInt(_0x120971(0xec))/0x3*(parseInt(_0x120971(0xe6))/0x4)+parseInt(_0x120971(0xdc))/0x5+-parseInt(_0x120971(0xf7))/0x6+parseInt(_0x120971(0xf1))/0x7*(parseInt(_0x120971(0xeb))/0x8)+parseInt(_0x120971(0xf5))/0x9+-parseInt(_0x120971(0xf4))/0xa;if(_0x5dc157===_0x4415d5)break;else _0x147f18['push'](_0x147f18['shift']());}catch(_0x31e7ce){_0x147f18['push'](_0x147f18['shift']());}}}(a23_0xd0b2,0x488f9));import{resolveWriteConfigPath,readConfigFile,writeConfigFile}from'../../context.js';function a23_0x501b(_0x284cc0,_0x7671b9){_0x284cc0=_0x284cc0-0xdb;const _0xd0b2de=a23_0xd0b2();let _0x501ba0=_0xd0b2de[_0x284cc0];return _0x501ba0;}export function enrichAppListItemsWithMergedSelection(_0x4a85e4,_0x2f3f68){const _0x446947=a23_0x501b;if(!_0x2f3f68)return;const _0x3f324e=_0x2f3f68[_0x446947(0xdb)]&&typeof _0x2f3f68['apps']==='object'?_0x2f3f68[_0x446947(0xdb)]:{},_0x5f5491=Object['keys'](_0x3f324e)[_0x446947(0xed)]>0x0;for(const _0x35ebda of _0x4a85e4){_0x35ebda[_0x446947(0xf6)]=![];}const _0x2da8c8=_0x2f3f68[_0x446947(0xe5)]!=null?String(_0x2f3f68[_0x446947(0xe5)])['trim']():'';if(_0x5f5491){const _0x325bb1=_0x2f3f68['currentApp']??_0x2f3f68[_0x446947(0xf0)];if(_0x325bb1)for(const _0x589f5f of _0x4a85e4){_0x589f5f['named']===!![]&&_0x589f5f[_0x446947(0xe3)]===_0x325bb1&&(_0x589f5f['isCurrent']=!![]);}for(const _0xca3e1f of _0x4a85e4){if(_0xca3e1f[_0x446947(0xdd)]!==![])continue;if(_0x2f3f68[_0x446947(0xf0)])continue;_0x2da8c8&&String(_0xca3e1f[_0x446947(0xdf)]??'')[_0x446947(0xe1)]()===_0x2da8c8&&(_0xca3e1f[_0x446947(0xf6)]=!![]);}return;}if(!_0x2da8c8)return;for(const _0x14060b of _0x4a85e4){String(_0x14060b[_0x446947(0xdf)]??'')['trim']()===_0x2da8c8&&(_0x14060b[_0x446947(0xf6)]=!![]);}}export function resolveAppScopeForWrite(_0x4cc162,_0xa6bacc,_0x2b9680){const _0x5c7e42=a23_0x501b;if(_0xa6bacc)return _0x5c7e42(0xef);const _0x2266ac=_0x2b9680[_0x5c7e42(0xde)][_0x5c7e42(0xdb)]&&typeof _0x2b9680['projectConfig'][_0x5c7e42(0xdb)]===_0x5c7e42(0xe0)?_0x2b9680[_0x5c7e42(0xde)][_0x5c7e42(0xdb)]:{},_0x177fd3=_0x2b9680[_0x5c7e42(0xf8)]['apps']&&typeof _0x2b9680[_0x5c7e42(0xf8)][_0x5c7e42(0xdb)]===_0x5c7e42(0xe0)?_0x2b9680['globalConfig'][_0x5c7e42(0xdb)]:{};if(Object[_0x5c7e42(0xea)][_0x5c7e42(0xe2)][_0x5c7e42(0xf2)](_0x2266ac,_0x4cc162))return _0x5c7e42(0xee);if(Object[_0x5c7e42(0xea)][_0x5c7e42(0xe2)][_0x5c7e42(0xf2)](_0x177fd3,_0x4cc162))return _0x5c7e42(0xef);return _0x5c7e42(0xee);}export function appDefinedIn(_0x45ae55,_0x308463,_0x126d79,_0x433965){const _0x3c9f18=a23_0x501b;if(_0x433965)return Object[_0x3c9f18(0xea)][_0x3c9f18(0xe2)][_0x3c9f18(0xf2)](_0x126d79,_0x45ae55)?_0x3c9f18(0xee):_0x3c9f18(0xef);const _0x10a92a=Object[_0x3c9f18(0xea)]['hasOwnProperty'][_0x3c9f18(0xf2)](_0x308463,_0x45ae55),_0x4149b5=Object[_0x3c9f18(0xea)][_0x3c9f18(0xe2)][_0x3c9f18(0xf2)](_0x126d79,_0x45ae55);if(_0x10a92a&&_0x4149b5)return _0x3c9f18(0xe8);if(_0x4149b5)return _0x3c9f18(0xee);return _0x3c9f18(0xef);}export function resolveDefaultAppSource(_0x2cd579){const _0x5c7587=a23_0x501b,_0x5d7ede=_0x2cd579[_0x5c7587(0xde)]['apps']&&typeof _0x2cd579['projectConfig'][_0x5c7587(0xdb)]==='object'?_0x2cd579[_0x5c7587(0xde)]['apps']:{};if(_0x5c7587(0xf0)in _0x2cd579['projectConfig'])return _0x5c7587(0xee);if(Object[_0x5c7587(0xf3)](_0x5d7ede)[_0x5c7587(0xed)]>0x0)return _0x5c7587(0xee);if(_0x2cd579[_0x5c7587(0xde)]['inherit']===![])return null;if(_0x2cd579['globalConfig'][_0x5c7587(0xf0)])return _0x5c7587(0xef);return null;}export function getConfigPath(_0x1cfe26={}){const _0x209d9f=a23_0x501b,_0x784c4c=_0x1cfe26['global']?_0x209d9f(0xef):'project';return resolveWriteConfigPath(_0x784c4c);}function a23_0xd0b2(){const _0x73521a=['both','655908LnhjBs','prototype','931272GfjNpg','21585IOSmuq','length','project','global','defaultApp','35hHksMM','call','keys','2694150JvAAtZ','4736664rnDCkL','isCurrent','1603206gvjQeR','globalConfig','apps','2353740ZESUpQ','named','projectConfig','appcode','object','trim','hasOwnProperty','name','\x20(global)','appCode','232toeSwG','1NLPjBJ'];a23_0xd0b2=function(){return _0x73521a;};return a23_0xd0b2();}export function readConfig(_0x2e1821={}){return readConfigFile(getConfigPath(_0x2e1821));}export function writeConfig(_0x94fc5c,_0xb94f={}){writeConfigFile(getConfigPath(_0xb94f),_0x94fc5c);}export function scopeLabel(_0x193f50){const _0x286dfb=a23_0x501b;return _0x193f50[_0x286dfb(0xef)]?_0x286dfb(0xe4):'';}
@@ -1 +1 @@
1
- const a24_0x560509=a24_0x4286;(function(_0x114b8,_0x1acdba){const _0x2e86b5=a24_0x4286,_0x1af7c5=_0x114b8();while(!![]){try{const _0x2893e9=-parseInt(_0x2e86b5(0x196))/0x1*(parseInt(_0x2e86b5(0x1ad))/0x2)+-parseInt(_0x2e86b5(0x1ab))/0x3+parseInt(_0x2e86b5(0x1af))/0x4*(parseInt(_0x2e86b5(0x19f))/0x5)+-parseInt(_0x2e86b5(0x199))/0x6+-parseInt(_0x2e86b5(0x1a3))/0x7+parseInt(_0x2e86b5(0x1a0))/0x8*(-parseInt(_0x2e86b5(0x1a1))/0x9)+parseInt(_0x2e86b5(0x1a7))/0xa;if(_0x2893e9===_0x1acdba)break;else _0x1af7c5['push'](_0x1af7c5['shift']());}catch(_0x51f4e1){_0x1af7c5['push'](_0x1af7c5['shift']());}}}(a24_0x39b5,0x6fb6c));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';function a24_0x39b5(){const _0x1d388f=['2463903naAslc','\x20app\x20use\x20<name>\x20[--global]','22WnQdlg','keys','4YlhJPr','Available:\x20','app','use','join','projectConfig','projectPath','validation','App\x20\x22','\x22\x20not\x20found.','name','prototype','Missing\x20app\x20name.','\x20app\x20add\x20','bool','72667rKqWCO','Use\x20`','apps','641172sZVwfD','object','trim','args','Usage:\x20','\x20--appcode\x20<code>`\x20first.','2348930eAWAuX','1953608YFbDNK','18VOSMWu','Default\x20app\x20set\x20to\x20\x22','2266740HsoBrQ','global','call','Use\x20global\x20config\x20scope','25275160WuFcPK','Switch\x20the\x20default\x20app','\x22\x20is\x20defined\x20in\x20global\x20config;\x20defaultApp\x20written\x20to\x20project\x20to\x20take\x20effect\x20in\x20merged\x20view.','length'];a24_0x39b5=function(){return _0x1d388f;};return a24_0x39b5();}async function validateArgs(_0x26dc15){const _0x466ffa=a24_0x4286,_0x15af9c=_0x26dc15[_0x466ffa(0x19c)][0x0]?.[_0x466ffa(0x19b)]();if(!_0x15af9c)throw CliErrors['validation'](_0x466ffa(0x193),'Usage:\x20'+CLI_BIN_NAME+_0x466ffa(0x1ac));}async function execute(_0x23bee8){const _0x3a4c51=a24_0x4286,_0x58f577=_0x23bee8[_0x3a4c51(0x19c)][0x0]?.[_0x3a4c51(0x19b)]();if(!_0x58f577)throw CliErrors[_0x3a4c51(0x18e)](_0x3a4c51(0x193),_0x3a4c51(0x19d)+CLI_BIN_NAME+'\x20app\x20use\x20<name>\x20[--global]');const _0x147f5=_0x23bee8[_0x3a4c51(0x195)](_0x3a4c51(0x1a4)),{config:_0x3fcccc,layers:_0x23f124}=readRawConfigWithLayers(),_0x248bd2=_0x3fcccc[_0x3a4c51(0x198)]??{};if(!_0x248bd2[_0x58f577]){const _0x24383b=Object[_0x3a4c51(0x1ae)](_0x248bd2),_0x1ebdc9=_0x24383b[_0x3a4c51(0x1aa)]===0x0?_0x3a4c51(0x197)+CLI_BIN_NAME+_0x3a4c51(0x194)+_0x58f577+_0x3a4c51(0x19e):_0x3a4c51(0x1b0)+_0x24383b[_0x3a4c51(0x18b)](',\x20');throw CliErrors[_0x3a4c51(0x18e)](_0x3a4c51(0x18f)+_0x58f577+_0x3a4c51(0x190),_0x1ebdc9);}let _0x4e8d62,_0x4abd44='';if(_0x147f5)_0x4e8d62={'global':!![]};else{const _0x398172=isInProject()&&!!_0x23f124[_0x3a4c51(0x18d)];_0x4e8d62={'global':!_0x398172};if(_0x398172){const _0x2f2557=_0x23f124[_0x3a4c51(0x18c)][_0x3a4c51(0x198)]&&typeof _0x23f124[_0x3a4c51(0x18c)]['apps']===_0x3a4c51(0x19a)?_0x23f124[_0x3a4c51(0x18c)][_0x3a4c51(0x198)]:{};!Object[_0x3a4c51(0x192)]['hasOwnProperty'][_0x3a4c51(0x1a5)](_0x2f2557,_0x58f577)&&(_0x4abd44='\x0aNote:\x20\x22'+_0x58f577+_0x3a4c51(0x1a9));}}const _0x1551bd=readConfig(_0x4e8d62);return _0x1551bd['defaultApp']=_0x58f577,writeConfig(_0x1551bd,_0x4e8d62),{'ok':!![],'message':_0x3a4c51(0x1a2)+_0x58f577+'\x22\x20(appcode:\x20'+_0x248bd2[_0x58f577]['appcode']+')'+scopeLabel(_0x4e8d62)+_0x4abd44};}function a24_0x4286(_0x39a343,_0x3769c0){_0x39a343=_0x39a343-0x18a;const _0x39b595=a24_0x39b5();let _0x428688=_0x39b595[_0x39a343];return _0x428688;}export const appUseDefinition={'service':a24_0x560509(0x1b1),'command':a24_0x560509(0x18a),'description':a24_0x560509(0x1a8),'risk':'write','requiresAuth':![],'requiresAppCode':![],'args':[{'name':a24_0x560509(0x191),'description':'App\x20profile\x20name\x20to\x20activate','required':!![]}],'flags':[{'name':a24_0x560509(0x1a4),'type':'boolean','description':a24_0x560509(0x1a6),'default':![]}],'validate':validateArgs,'execute':execute};
1
+ const a24_0x56bcbb=a24_0x6cce;function a24_0x6aa0(){const _0x3116a8=['6526828PApFcd','appcode','apps','App\x20\x22','934rzZnak','hasOwnProperty','Usage:\x20','Missing\x20app\x20name.','validation','\x20app\x20use\x20<name>\x20[--global]','prototype','use','Available:\x20','bool','Default\x20app\x20set\x20to\x20\x22','join','projectPath','\x22\x20(appcode:\x20','50nTHQwe','473013QfrQAL','object','8614333OLllzG','keys','projectConfig','global','defaultApp','74kyuVdG','\x22\x20is\x20defined\x20in\x20global\x20config;\x20defaultApp\x20written\x20to\x20project\x20to\x20take\x20effect\x20in\x20merged\x20view.','19514682iFUWQj','2466530ybGRrq','app','Use\x20global\x20config\x20scope','171456DMaPyL','call','args','\x20app\x20add\x20','3Cqvqgf','trim','boolean','App\x20profile\x20name\x20to\x20activate','Use\x20`','Switch\x20the\x20default\x20app','\x22\x20not\x20found.','8rjzhxW'];a24_0x6aa0=function(){return _0x3116a8;};return a24_0x6aa0();}(function(_0x54b986,_0x430b00){const _0x45a0a9=a24_0x6cce,_0x45ce49=_0x54b986();while(!![]){try{const _0x122844=-parseInt(_0x45a0a9(0xe6))/0x1*(parseInt(_0x45a0a9(0xd0))/0x2)+-parseInt(_0x45a0a9(0xc4))/0x3*(parseInt(_0x45a0a9(0xcc))/0x4)+parseInt(_0x45a0a9(0xde))/0x5*(-parseInt(_0x45a0a9(0xc0))/0x6)+parseInt(_0x45a0a9(0xe1))/0x7+parseInt(_0x45a0a9(0xcb))/0x8*(parseInt(_0x45a0a9(0xdf))/0x9)+-parseInt(_0x45a0a9(0xbd))/0xa+parseInt(_0x45a0a9(0xbc))/0xb;if(_0x122844===_0x430b00)break;else _0x45ce49['push'](_0x45ce49['shift']());}catch(_0x3e306c){_0x45ce49['push'](_0x45ce49['shift']());}}}(a24_0x6aa0,0xd19c0));import{CliErrors}from'../../errors.js';function a24_0x6cce(_0x58f2de,_0x36800a){_0x58f2de=_0x58f2de-0xbc;const _0x6aa0af=a24_0x6aa0();let _0x6cce0d=_0x6aa0af[_0x58f2de];return _0x6cce0d;}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(_0x148b5d){const _0x7320f7=a24_0x6cce,_0x14fd7b=_0x148b5d['args'][0x0]?.[_0x7320f7(0xc5)]();if(!_0x14fd7b)throw CliErrors[_0x7320f7(0xd4)](_0x7320f7(0xd3),_0x7320f7(0xd2)+CLI_BIN_NAME+_0x7320f7(0xd5));}async function execute(_0x34992e){const _0x2c687e=a24_0x6cce,_0x564c24=_0x34992e[_0x2c687e(0xc2)][0x0]?.[_0x2c687e(0xc5)]();if(!_0x564c24)throw CliErrors['validation'](_0x2c687e(0xd3),_0x2c687e(0xd2)+CLI_BIN_NAME+_0x2c687e(0xd5));const _0x3575db=_0x34992e[_0x2c687e(0xd9)](_0x2c687e(0xe4)),{config:_0x511a96,layers:_0x3fbc0d}=readRawConfigWithLayers(),_0x37252a=_0x511a96['apps']??{};if(!_0x37252a[_0x564c24]){const _0x2c4dd7=Object[_0x2c687e(0xe2)](_0x37252a),_0x5c276a=_0x2c4dd7['length']===0x0?_0x2c687e(0xc8)+CLI_BIN_NAME+_0x2c687e(0xc3)+_0x564c24+'\x20--appcode\x20<code>`\x20first.':_0x2c687e(0xd8)+_0x2c4dd7[_0x2c687e(0xdb)](',\x20');throw CliErrors[_0x2c687e(0xd4)](_0x2c687e(0xcf)+_0x564c24+_0x2c687e(0xca),_0x5c276a);}let _0x15e6e1,_0x29b1af='';if(_0x3575db)_0x15e6e1={'global':!![]};else{const _0x14ebc1=isInProject()&&!!_0x3fbc0d[_0x2c687e(0xdc)];_0x15e6e1={'global':!_0x14ebc1};if(_0x14ebc1){const _0xf3fd9d=_0x3fbc0d[_0x2c687e(0xe3)]['apps']&&typeof _0x3fbc0d[_0x2c687e(0xe3)][_0x2c687e(0xce)]===_0x2c687e(0xe0)?_0x3fbc0d[_0x2c687e(0xe3)]['apps']:{};!Object[_0x2c687e(0xd6)][_0x2c687e(0xd1)][_0x2c687e(0xc1)](_0xf3fd9d,_0x564c24)&&(_0x29b1af='\x0aNote:\x20\x22'+_0x564c24+_0x2c687e(0xe7));}}const _0x5dc264=readConfig(_0x15e6e1);return _0x5dc264[_0x2c687e(0xe5)]=_0x564c24,writeConfig(_0x5dc264,_0x15e6e1),{'ok':!![],'message':_0x2c687e(0xda)+_0x564c24+_0x2c687e(0xdd)+_0x37252a[_0x564c24][_0x2c687e(0xcd)]+')'+scopeLabel(_0x15e6e1)+_0x29b1af};}export const appUseDefinition={'service':a24_0x56bcbb(0xbe),'command':a24_0x56bcbb(0xd7),'description':a24_0x56bcbb(0xc9),'risk':'write','requiresAuth':![],'requiresAppCode':![],'args':[{'name':'name','description':a24_0x56bcbb(0xc7),'required':!![]}],'flags':[{'name':'global','type':a24_0x56bcbb(0xc6),'description':a24_0x56bcbb(0xbf),'default':![]}],'validate':validateArgs,'execute':execute};
@@ -1 +1 @@
1
- const a25_0x4711f8=a25_0x5e43;function a25_0x1ef7(){const _0x66d8cf=['yes','14xhJDYG','81543IKpdOg','177470gwflBG','396ojOGWM','10647GjPkfh','log','860730ySgmHd','logout','1420385hehSyn','read','bool','1721172uvYQfv','✓\x20Logged\x20out','1832MOwAZb','login','Clear\x20login\x20session','4SjcRVY','auth','Skip\x20login\x20confirmation\x20and\x20start\x20browser\x20auth\x20immediately','18623dgtMJq','!\x20Not\x20logged\x20in','7kOtQkH'];a25_0x1ef7=function(){return _0x66d8cf;};return a25_0x1ef7();}(function(_0x39fbf0,_0x206aa1){const _0x1cc438=a25_0x5e43,_0x45f8de=_0x39fbf0();while(!![]){try{const _0x4d9a92=-parseInt(_0x1cc438(0x12e))/0x1+parseInt(_0x1cc438(0x12c))/0x2*(parseInt(_0x1cc438(0x12d))/0x3)+-parseInt(_0x1cc438(0x125))/0x4*(-parseInt(_0x1cc438(0x134))/0x5)+parseInt(_0x1cc438(0x120))/0x6*(parseInt(_0x1cc438(0x12a))/0x7)+-parseInt(_0x1cc438(0x122))/0x8*(parseInt(_0x1cc438(0x130))/0x9)+-parseInt(_0x1cc438(0x132))/0xa+parseInt(_0x1cc438(0x128))/0xb*(-parseInt(_0x1cc438(0x12f))/0xc);if(_0x4d9a92===_0x206aa1)break;else _0x45f8de['push'](_0x45f8de['shift']());}catch(_0xd95616){_0x45f8de['push'](_0x45f8de['shift']());}}}(a25_0x1ef7,0x29b87));import{unlinkSync,existsSync}from'node:fs';function a25_0x5e43(_0x2ad299,_0x39e530){_0x2ad299=_0x2ad299-0x11e;const _0x1ef70a=a25_0x1ef7();let _0x5e43f8=_0x1ef70a[_0x2ad299];return _0x5e43f8;}import{cookieFile}from'../../auth/constant.js';export const authDefinitions=[{'service':a25_0x4711f8(0x126),'command':a25_0x4711f8(0x123),'description':'Login\x20via\x20browser','risk':a25_0x4711f8(0x11e),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':'yes','type':'boolean','description':a25_0x4711f8(0x127),'default':![]}],async 'execute'(_0x1a3643){const _0x2fbaf4=a25_0x4711f8,{runAuthServer:_0x2be35b}=await import('../../auth/auth-server-ui.js');return await _0x2be35b({'autoYes':_0x1a3643[_0x2fbaf4(0x11f)](_0x2fbaf4(0x12b)),'nonInteractive':_0x1a3643['nonInteractive']}),{'ok':!![]};}},{'service':a25_0x4711f8(0x126),'command':a25_0x4711f8(0x133),'description':a25_0x4711f8(0x124),'risk':'write','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x1fa84f){const _0x2ece29=a25_0x4711f8;return existsSync(cookieFile)?(unlinkSync(cookieFile),console[_0x2ece29(0x131)](_0x2ece29(0x121))):console['log'](_0x2ece29(0x129)),{'ok':!![]};}}];
1
+ const a25_0x2253a2=a25_0x362d;(function(_0x4aea57,_0x194d84){const _0x3330ac=a25_0x362d,_0x246f0a=_0x4aea57();while(!![]){try{const _0x23a030=-parseInt(_0x3330ac(0xc9))/0x1*(-parseInt(_0x3330ac(0xc5))/0x2)+-parseInt(_0x3330ac(0xb9))/0x3*(-parseInt(_0x3330ac(0xc1))/0x4)+parseInt(_0x3330ac(0xc3))/0x5*(-parseInt(_0x3330ac(0xbd))/0x6)+-parseInt(_0x3330ac(0xbf))/0x7+parseInt(_0x3330ac(0xc2))/0x8*(parseInt(_0x3330ac(0xbe))/0x9)+-parseInt(_0x3330ac(0xca))/0xa*(-parseInt(_0x3330ac(0xd1))/0xb)+-parseInt(_0x3330ac(0xcc))/0xc*(parseInt(_0x3330ac(0xbb))/0xd);if(_0x23a030===_0x194d84)break;else _0x246f0a['push'](_0x246f0a['shift']());}catch(_0x1e4c6c){_0x246f0a['push'](_0x246f0a['shift']());}}}(a25_0x1efc,0x70fd8));function a25_0x362d(_0x2e6ef4,_0x51377a){_0x2e6ef4=_0x2e6ef4-0xb7;const _0x1efcac=a25_0x1efc();let _0x362d41=_0x1efcac[_0x2e6ef4];return _0x362d41;}import{unlinkSync,existsSync}from'node:fs';import{cookieFile}from'../../auth/constant.js';export const authDefinitions=[{'service':'auth','command':a25_0x2253a2(0xd0),'description':a25_0x2253a2(0xc6),'risk':a25_0x2253a2(0xcb),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a25_0x2253a2(0xc0),'type':a25_0x2253a2(0xc8),'description':a25_0x2253a2(0xcf),'default':![]}],async 'execute'(_0x2797a5){const _0x2b5c65=a25_0x2253a2,{runAuthServer:_0x7f26ba}=await import('../../auth/auth-server-ui.js');return await _0x7f26ba({'autoYes':_0x2797a5[_0x2b5c65(0xba)](_0x2b5c65(0xc0)),'nonInteractive':_0x2797a5[_0x2b5c65(0xbc)]}),{'ok':!![]};}},{'service':a25_0x2253a2(0xce),'command':a25_0x2253a2(0xb7),'description':a25_0x2253a2(0xc7),'risk':'write','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x570e74){const _0x1d653e=a25_0x2253a2;return existsSync(cookieFile)?(unlinkSync(cookieFile),console[_0x1d653e(0xc4)](_0x1d653e(0xcd))):console[_0x1d653e(0xc4)](_0x1d653e(0xb8)),{'ok':!![]};}}];function a25_0x1efc(){const _0x210b94=['auth','Skip\x20login\x20confirmation\x20and\x20start\x20browser\x20auth\x20immediately','login','6937876KpxtvQ','logout','!\x20Not\x20logged\x20in','85263vitBuo','bool','559BoKgwb','nonInteractive','774bDHqkz','801mSmriI','6412889QLTOqF','yes','124WcjqAW','34840CdKvjL','24715mEnTwR','log','26538tURnkO','Login\x20via\x20browser','Clear\x20login\x20session','boolean','19KPhguK','10RZDazg','read','37644okCadn','✓\x20Logged\x20out'];a25_0x1efc=function(){return _0x210b94;};return a25_0x1efc();}
@@ -1 +1 @@
1
- function a26_0xd080(){const _0x43d29b=['ENDPOINT','No\x20api.ts\x20found.\x20Run\x20`','/**\x0a\x20*\x20HOOK\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','COMMON','string','Alias\x20\x22','alias','before','scriptsRootDir','map','3698720rratlH','after','Dataset\x20alias\x20from\x20api.ts\x20(HOOK\x20only,\x20preferred)','Operation\x20type\x20(HOOK\x20only)','Operation\x20type\x20\x22','functionNode','Dataset\x20code\x20(HOOK\x20only,\x20fallback\x20when\x20alias\x20unavailable)','bff','utf8','keys','datasetCode','length','create','\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','join','3652230tCWhRN','6282416ZPQHxC','\x0a\x20*\x20[接口路径]\x20POST\x20/api/endpoint/{appCode}/{scriptName}\x0a\x20*\x20[当前示例]\x20POST\x20/api/endpoint/','nonInteractive','3TsONsI','\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','isInteger','5477900pxgbqI','name','(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a','HOOK\x20requires\x20hookOptions\x20for\x20template\x20generation.','2379186rkPfhH','code','Select\x20trigger\x20node:','Select\x20dataset:','tableName','apiDir','parseInt','\x0a\x20*\x20[触发节点]\x20','--function-node\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','Available\x20aliases:\x20','\x0a\x20*\x20[接口路径]\x20POST\x20/api/','write','24271616nIiCrZ','.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','Scaffold\x20a\x20new\x20BFF\x20function\x20from\x20template','function-node','\x20function:\x20','.js','File\x20already\x20exists:\x20','str','--alias\x20or\x20--datasetcode\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','stderr','HOOK','Available:\x20','721132bWMsop','\x22\x20not\x20found.\x20','The\x20api.ts\x20may\x20be\x20stale\x20—\x20run\x20`','Invalid\x20dataset\x20selection.','\x20api\x20pull`\x20to\x20refresh.','trim','validation','HOOK\x20requires\x20alias/operation/node\x20options.','operationType','\x22\x20not\x20found\x20for\x20dataset\x20','Select\x20operation\x20type:','--operation-type\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','appCode','datasetcode','operation-type','Trigger\x20node\x20(HOOK\x20only)','find','\x20api\x20pull`\x20first,\x20or\x20use\x20--datasetcode\x20instead.','/**\x0a\x20*\x20ENDPOINT\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','\x0a\x20*\x20[脚本名称]\x20','/**\x0a\x20*\x20COMMON\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','type','\x22.\x20Must\x20be\x20a\x20valid\x20JS\x20identifier\x20(e.g.\x20createOrder,\x20beforeFilter).','description'];a26_0xd080=function(){return _0x43d29b;};return a26_0xd080();}const a26_0x5420dc=a26_0x4799;(function(_0x2dfce0,_0x3f0e6b){const _0x3e813b=a26_0x4799,_0x186a8e=_0x2dfce0();while(!![]){try{const _0x116653=parseInt(_0x3e813b(0x181))/0x1+-parseInt(_0x3e813b(0x169))/0x2*(-parseInt(_0x3e813b(0x162))/0x3)+parseInt(_0x3e813b(0x1a3))/0x4+parseInt(_0x3e813b(0x165))/0x5+parseInt(_0x3e813b(0x1b2))/0x6+-parseInt(_0x3e813b(0x1b3))/0x7+-parseInt(_0x3e813b(0x175))/0x8;if(_0x116653===_0x3f0e6b)break;else _0x186a8e['push'](_0x186a8e['shift']());}catch(_0xe355d7){_0x186a8e['push'](_0x186a8e['shift']());}}}(a26_0xd080,0x947fa));import{createInterface}from'node:readline';import{mkdir,writeFile}from'node:fs/promises';import{dirname,join}from'node:path';import{listDatasets,listBffDatasetOperations}from'../../core/api-client.js';import{loadAliasMap,resolveAlias}from'../../core/alias-resolver.js';import{resolveApiFilePath}from'../../context.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{fileExists}from'../../core/bff/file-system.js';import{isValidBffFunctionName,normalizeHookFunctionNode}from'../../core/bff/utils.js';import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';export const bffCreate={'service':a26_0x5420dc(0x1aa),'command':a26_0x5420dc(0x1af),'description':a26_0x5420dc(0x177),'risk':'write','flags':[{'name':a26_0x5420dc(0x196),'type':'string','required':!![],'enum':['COMMON',a26_0x5420dc(0x199),a26_0x5420dc(0x17f)],'description':'Script\x20type'},{'name':a26_0x5420dc(0x166),'type':a26_0x5420dc(0x19d),'required':!![],'description':'Function\x20name\x20(valid\x20JS\x20identifier)'},{'name':a26_0x5420dc(0x198),'type':'string','description':'Script\x20description'},{'name':a26_0x5420dc(0x19f),'type':a26_0x5420dc(0x19d),'description':a26_0x5420dc(0x1a5)},{'name':a26_0x5420dc(0x18e),'type':a26_0x5420dc(0x19d),'description':a26_0x5420dc(0x1a9)},{'name':a26_0x5420dc(0x18f),'type':a26_0x5420dc(0x19d),'description':a26_0x5420dc(0x1a6)},{'name':'function-node','type':a26_0x5420dc(0x19d),'description':a26_0x5420dc(0x190),'enum':['before',a26_0x5420dc(0x1a4)]}],async 'validate'(_0x441b2b){const _0x37ab48=a26_0x5420dc,_0x2e81e2=_0x441b2b['str'](_0x37ab48(0x166));if(!isValidBffFunctionName(_0x2e81e2))throw CliErrors[_0x37ab48(0x187)]('Invalid\x20function\x20name\x20\x22'+_0x2e81e2+_0x37ab48(0x197));},async 'execute'(_0x4dbe1a){const _0x2f5874=a26_0x5420dc,_0x44d671=loadBffProjectConfig(_0x4dbe1a[_0x2f5874(0x18d)]),_0xdca351=_0x4dbe1a[_0x2f5874(0x17c)](_0x2f5874(0x196)),_0x5ff1dd=_0x4dbe1a['str']('name'),_0x368bcb=_0x4dbe1a[_0x2f5874(0x17c)](_0x2f5874(0x198))||undefined,_0x58f7c3=_0xdca351===_0x2f5874(0x17f)?await resolveHookOptions(_0x44d671,_0x4dbe1a):undefined,_0x4b6a8f=buildFilePath(_0x44d671,_0xdca351,_0x5ff1dd,_0x58f7c3);if(await fileExists(_0x4b6a8f))throw CliErrors[_0x2f5874(0x187)](_0x2f5874(0x17b)+_0x4b6a8f);await mkdir(dirname(_0x4b6a8f),{'recursive':!![]});const _0x364ceb=generateTemplate(_0xdca351,_0x5ff1dd,_0x4dbe1a['appCode'],_0x368bcb,_0x58f7c3);await writeFile(_0x4b6a8f,_0x364ceb,_0x2f5874(0x1ab));const _0x43db93={'type':_0xdca351,'name':_0x5ff1dd,'path':_0x4b6a8f};if(_0x368bcb)_0x43db93[_0x2f5874(0x198)]=_0x368bcb;if(_0x58f7c3){if(_0x58f7c3[_0x2f5874(0x19f)])_0x43db93[_0x2f5874(0x19f)]=_0x58f7c3[_0x2f5874(0x19f)];_0x43db93[_0x2f5874(0x1ad)]=_0x58f7c3[_0x2f5874(0x1ad)],_0x43db93[_0x2f5874(0x189)]=_0x58f7c3[_0x2f5874(0x189)],_0x43db93['functionNode']=_0x58f7c3[_0x2f5874(0x1a8)];}return{'ok':!![],'data':_0x43db93,'message':'Created\x20'+_0xdca351+_0x2f5874(0x179)+_0x5ff1dd};}};async function resolveHookOptions(_0xd74259,_0x18e56d){const _0x1aac37=a26_0x5420dc,_0x34f2e0=loadAliasMap(_0x18e56d[_0x1aac37(0x16e)],undefined,resolveApiFilePath(_0x18e56d[_0x1aac37(0x16e)],_0x18e56d['appCode'])),_0x16281d=_0x34f2e0[_0x1aac37(0x1ae)]>0x0;let _0xc6377,_0xd3c401,_0x473586;const _0x8287dd=_0x18e56d[_0x1aac37(0x17c)](_0x1aac37(0x19f)),_0x2f745b=_0x18e56d['str'](_0x1aac37(0x18e));if(_0x8287dd){const _0x4e9b59=resolveAlias(_0x18e56d[_0x1aac37(0x16e)],_0x8287dd,undefined,resolveApiFilePath(_0x18e56d[_0x1aac37(0x16e)],_0x18e56d['appCode']));if(!_0x4e9b59){const _0x25f682=_0x16281d?_0x1aac37(0x172)+_0x34f2e0[_0x1aac37(0x1a2)](_0x572c2c=>_0x572c2c[_0x1aac37(0x19f)])[_0x1aac37(0x1b1)](',\x20'):_0x1aac37(0x19a)+CLI_BIN_NAME+_0x1aac37(0x192);throw CliErrors[_0x1aac37(0x187)](_0x1aac37(0x19e)+_0x8287dd+_0x1aac37(0x182)+_0x25f682);}_0xc6377=_0x8287dd,_0xd3c401=_0x4e9b59;}else{if(_0x2f745b){_0xd3c401=_0x2f745b;const _0x6cc085=_0x34f2e0[_0x1aac37(0x191)](_0x21b5e2=>_0x21b5e2['datasetCode']===_0x2f745b);_0xc6377=_0x6cc085?.['alias'];}else{if(_0x18e56d[_0x1aac37(0x161)])throw CliErrors['validation'](_0x1aac37(0x17d));else{if(_0x16281d){const _0x5e91fc=_0x34f2e0['map'](_0xd47d8c=>_0xd47d8c[_0x1aac37(0x19f)]+'\x20('+_0xd47d8c[_0x1aac37(0x16d)]+')'),_0x2a42d0=await promptSelect(_0x1aac37(0x16c),_0x5e91fc),_0x99cf2f=_0x34f2e0[_0x2a42d0];if(!_0x99cf2f)throw CliErrors['validation'](_0x1aac37(0x184));_0xc6377=_0x99cf2f[_0x1aac37(0x19f)],_0xd3c401=_0x99cf2f[_0x1aac37(0x1ad)];}else{const _0x109249=await listDatasets(_0x18e56d['appCode']);if(_0x109249[_0x1aac37(0x1ae)]===0x0)throw CliErrors[_0x1aac37(0x187)]('No\x20datasets\x20found\x20for\x20this\x20app.');const _0x4b017b=_0x109249[_0x1aac37(0x1a2)](_0x37836f=>_0x37836f[_0x1aac37(0x166)]+'\x20('+_0x37836f[_0x1aac37(0x16a)]+')'),_0x4fb64f=await promptSelect(_0x1aac37(0x16c),_0x4b017b),_0x2296ad=_0x109249[_0x4fb64f];if(!_0x2296ad)throw CliErrors[_0x1aac37(0x187)](_0x1aac37(0x184));_0xd3c401=_0x2296ad[_0x1aac37(0x16a)],_0xc6377=undefined;}}}}const _0x3175e7=await listDatasets(_0x18e56d[_0x1aac37(0x18d)]),_0x3f5db2=_0x3175e7[_0x1aac37(0x191)](_0x10e45a=>_0x10e45a[_0x1aac37(0x16a)]===_0xd3c401);if(!_0x3f5db2)throw CliErrors['validation']('Dataset\x20not\x20found\x20for\x20code\x20\x22'+_0xd3c401+'\x22.\x20'+(_0xc6377?_0x1aac37(0x183)+CLI_BIN_NAME+_0x1aac37(0x185):''));_0x473586=_0x3f5db2['id'];const _0x1afc25=_0xc6377??_0xd3c401,_0x424f67=await listBffDatasetOperations(_0x18e56d[_0x1aac37(0x18d)],_0x473586),_0x32cf1c=_0x424f67?Object[_0x1aac37(0x1ac)](_0x424f67):[];if(_0x32cf1c[_0x1aac37(0x1ae)]===0x0)throw CliErrors[_0x1aac37(0x187)]('No\x20operation\x20types\x20found\x20for\x20dataset\x20'+_0x1afc25+'.');let _0x4dac86;const _0x124ef6=_0x18e56d[_0x1aac37(0x17c)](_0x1aac37(0x18f));if(_0x124ef6){if(!_0x32cf1c['includes'](_0x124ef6))throw CliErrors[_0x1aac37(0x187)](_0x1aac37(0x1a7)+_0x124ef6+_0x1aac37(0x18a)+_0x1afc25+'.\x20'+(_0x1aac37(0x180)+_0x32cf1c['join'](',\x20')));_0x4dac86=_0x124ef6;}else{if(_0x18e56d[_0x1aac37(0x161)])throw CliErrors[_0x1aac37(0x187)](_0x1aac37(0x18c));const _0x341d5c=await promptSelect(_0x1aac37(0x18b),_0x32cf1c);_0x4dac86=_0x32cf1c[_0x341d5c]??_0x32cf1c[0x0];}let _0x53f015=normalizeHookFunctionNode(_0x18e56d['str'](_0x1aac37(0x178)));if(!_0x53f015){if(_0x18e56d[_0x1aac37(0x17c)](_0x1aac37(0x178)))throw CliErrors[_0x1aac37(0x187)]('--function-node\x20must\x20be\x20\x27before\x27\x20or\x20\x27after\x27.');if(_0x18e56d[_0x1aac37(0x161)])throw CliErrors['validation'](_0x1aac37(0x171));const _0x5df29b=await promptSelect(_0x1aac37(0x16b),['before',_0x1aac37(0x1a4)]);_0x53f015=[_0x1aac37(0x1a0),_0x1aac37(0x1a4)][_0x5df29b]??'before';}return{'alias':_0xc6377,'datasetCode':_0xd3c401,'datasetId':_0x473586,'operationType':_0x4dac86,'functionNode':_0x53f015};}async function promptSelect(_0x4a74bc,_0x556595){const _0x2d4403=a26_0x5420dc;if(_0x556595['length']===0x1)return 0x0;for(const [_0xd918bf,_0x12c51c]of _0x556595['entries']()){process[_0x2d4403(0x17e)][_0x2d4403(0x174)]('\x20\x20'+(_0xd918bf+0x1)+'.\x20'+_0x12c51c+'\x0a');}const _0x4cd66a=createInterface({'input':process['stdin'],'output':process[_0x2d4403(0x17e)]});while(!![]){const _0x38d7f5=await new Promise(_0x16692c=>{_0x4cd66a['question'](_0x4a74bc+'\x20',_0x16692c);}),_0x5cbabf=Number[_0x2d4403(0x16f)](_0x38d7f5[_0x2d4403(0x186)](),0xa);if(Number[_0x2d4403(0x164)](_0x5cbabf)&&_0x5cbabf>=0x1&&_0x5cbabf<=_0x556595['length'])return _0x4cd66a['close'](),_0x5cbabf-0x1;process[_0x2d4403(0x17e)][_0x2d4403(0x174)]('\x20\x20Enter\x20a\x20number\x20between\x201\x20and\x20'+_0x556595[_0x2d4403(0x1ae)]+'.\x0a');}}function a26_0x4799(_0xc5d812,_0x34692d){_0xc5d812=_0xc5d812-0x161;const _0xd080e3=a26_0xd080();let _0x47995e=_0xd080e3[_0xc5d812];return _0x47995e;}function buildFilePath(_0x5aa757,_0xac153e,_0x58a267,_0x308ccc){const _0x2f3a4f=a26_0x5420dc;if(_0xac153e===_0x2f3a4f(0x17f)){if(!_0x308ccc)throw CliErrors[_0x2f3a4f(0x187)](_0x2f3a4f(0x188));const _0x277a22=_0x308ccc[_0x2f3a4f(0x19f)]??_0x308ccc['datasetCode'];return join(_0x5aa757[_0x2f3a4f(0x1a1)],_0x2f3a4f(0x17f),_0x277a22,_0x308ccc['operationType'],_0x308ccc[_0x2f3a4f(0x1a8)],_0x58a267+_0x2f3a4f(0x17a));}return join(_0x5aa757[_0x2f3a4f(0x1a1)],_0xac153e,_0x58a267+_0x2f3a4f(0x17a));}export function generateTemplate(_0x22d8f2,_0x3ab4c5,_0x150fa5,_0x3268f3,_0x5837a0){const _0x59e742=a26_0x5420dc,_0xb45222=_0x3268f3?.['trim']()||'TODO:\x20add\x20script\x20description';if(_0x22d8f2===_0x59e742(0x19c))return _0x59e742(0x195)+_0xb45222+_0x59e742(0x194)+_0x3ab4c5+'\x0a\x20*\x20[脚本类型]\x20COMMON\x0a\x20*\x20[本地路径]\x20.rabetbase/bff/COMMON/'+_0x3ab4c5+_0x59e742(0x176)+_0x3ab4c5+_0x59e742(0x167);if(_0x22d8f2===_0x59e742(0x199))return _0x59e742(0x193)+_0xb45222+_0x59e742(0x1b4)+_0x150fa5+'/'+_0x3ab4c5+_0x59e742(0x1b0)+_0x3ab4c5+_0x59e742(0x167);if(!_0x5837a0)throw CliErrors['validation'](_0x59e742(0x168));return _0x59e742(0x19b)+_0xb45222+_0x59e742(0x173)+_0x150fa5+'/'+_0x5837a0['datasetCode']+'/'+_0x5837a0['operationType']+_0x59e742(0x170)+_0x5837a0['functionNode']+_0x59e742(0x163)+_0x3ab4c5+_0x59e742(0x167);}
1
+ const a26_0x5cd868=a26_0x3ea4;(function(_0x2f99a4,_0x4e429d){const _0x47418b=a26_0x3ea4,_0x1de8c1=_0x2f99a4();while(!![]){try{const _0x4cd53d=-parseInt(_0x47418b(0x14f))/0x1*(parseInt(_0x47418b(0x148))/0x2)+parseInt(_0x47418b(0x15c))/0x3+parseInt(_0x47418b(0x179))/0x4*(-parseInt(_0x47418b(0x160))/0x5)+parseInt(_0x47418b(0x15e))/0x6*(parseInt(_0x47418b(0x139))/0x7)+-parseInt(_0x47418b(0x170))/0x8*(-parseInt(_0x47418b(0x152))/0x9)+-parseInt(_0x47418b(0x132))/0xa*(parseInt(_0x47418b(0x13e))/0xb)+parseInt(_0x47418b(0x13b))/0xc*(parseInt(_0x47418b(0x147))/0xd);if(_0x4cd53d===_0x4e429d)break;else _0x1de8c1['push'](_0x1de8c1['shift']());}catch(_0x382fac){_0x1de8c1['push'](_0x1de8c1['shift']());}}}(a26_0x87e4,0x78a0f));import{createInterface}from'node:readline';import{mkdir,writeFile}from'node:fs/promises';import{dirname,join}from'node:path';import{listDatasets,listBffDatasetOperations}from'../../core/api-client.js';import{loadAliasMap,resolveAlias}from'../../core/alias-resolver.js';import{resolveApiFilePath}from'../../context.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{fileExists}from'../../core/bff/file-system.js';import{isValidBffFunctionName,normalizeHookFunctionNode}from'../../core/bff/utils.js';import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';function a26_0x87e4(){const _0x57f1c1=['\x22.\x20Must\x20be\x20a\x20valid\x20JS\x20identifier\x20(e.g.\x20createOrder,\x20beforeFilter).','\x22\x20not\x20found.\x20','710EniGLa','description','stderr','HOOK\x20requires\x20hookOptions\x20for\x20template\x20generation.','\x0a\x20*\x20[触发节点]\x20','The\x20api.ts\x20may\x20be\x20stale\x20—\x20run\x20`','string','67130WYougv','name','6291372JGzDek','--function-node\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','str','43109dWaiSJ','Dataset\x20code\x20(HOOK\x20only,\x20fallback\x20when\x20alias\x20unavailable)','/**\x0a\x20*\x20HOOK\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','datasetcode','\x0a\x20*\x0a\x20*\x20@param\x20{Object}\x20params\x20-\x20Request\x20parameters.\x0a\x20*\x20@param\x20{Object}\x20context\x20-\x20Execution\x20context\x20(injected\x20by\x20platform).\x0a\x20*\x20@returns\x20{Promise<Object>}\x20Business\x20result\x20(wrapped\x20in\x20response.data).\x0a\x20*/\x0aexport\x20default\x20async\x20function\x20','scriptsRootDir','Created\x20','\x0a\x20*\x20[脚本名称]\x20','\x22.\x20','13tyUPwY','132IvNccc','\x22\x20not\x20found\x20for\x20dataset\x20','--function-node\x20must\x20be\x20\x27before\x27\x20or\x20\x27after\x27.','bff','length','COMMON','apiDir','1227dLNWHe','parseInt','function-node','1860246DgVNWp','after','utf8','Dataset\x20not\x20found\x20for\x20code\x20\x22','alias','Scaffold\x20a\x20new\x20BFF\x20function\x20from\x20template','nonInteractive','\x20function:\x20','\x20\x20Enter\x20a\x20number\x20between\x201\x20and\x20','Dataset\x20alias\x20from\x20api.ts\x20(HOOK\x20only,\x20preferred)','614700gHGOjE','Select\x20dataset:','90HuwUaD','Trigger\x20node\x20(HOOK\x20only)','3198935xKgMnz','Operation\x20type\x20\x22','type','write','ENDPOINT','operation-type','HOOK','appCode','.js\x0a\x20*\x0a\x20*\x20@param\x20{Object}\x20params\x20-\x20Input\x20parameters.\x0a\x20*\x20@param\x20{Object}\x20context\x20-\x20Execution\x20context\x20(injected\x20by\x20platform).\x0a\x20*\x20@returns\x20{Promise<Object>}\x20Processing\x20result.\x0a\x20*/\x0aexport\x20default\x20async\x20function\x20','\x20api\x20pull`\x20first,\x20or\x20use\x20--datasetcode\x20instead.','find','No\x20datasets\x20found\x20for\x20this\x20app.','\x20api\x20pull`\x20to\x20refresh.','Alias\x20\x22','code','map','24OndMgY','\x0a\x20*\x20[接口路径]\x20POST\x20/api/endpoint/{appCode}/{scriptName}\x0a\x20*\x20[当前示例]\x20POST\x20/api/endpoint/','/**\x0a\x20*\x20COMMON\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','join','Available\x20aliases:\x20','.js','functionNode','create','--alias\x20or\x20--datasetcode\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','4vCfmwV','datasetCode','Available:\x20','Operation\x20type\x20(HOOK\x20only)','No\x20api.ts\x20found.\x20Run\x20`','TODO:\x20add\x20script\x20description','validation','operationType','(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a','Script\x20type','before','tableName'];a26_0x87e4=function(){return _0x57f1c1;};return a26_0x87e4();}function a26_0x3ea4(_0xddcc2b,_0x3126bf){_0xddcc2b=_0xddcc2b-0x128;const _0x87e4b5=a26_0x87e4();let _0x3ea411=_0x87e4b5[_0xddcc2b];return _0x3ea411;}export const bffCreate={'service':a26_0x5cd868(0x14b),'command':a26_0x5cd868(0x177),'description':a26_0x5cd868(0x157),'risk':a26_0x5cd868(0x163),'flags':[{'name':a26_0x5cd868(0x162),'type':'string','required':!![],'enum':[a26_0x5cd868(0x14d),a26_0x5cd868(0x164),a26_0x5cd868(0x166)],'description':a26_0x5cd868(0x12d)},{'name':a26_0x5cd868(0x13a),'type':a26_0x5cd868(0x138),'required':!![],'description':'Function\x20name\x20(valid\x20JS\x20identifier)'},{'name':a26_0x5cd868(0x133),'type':a26_0x5cd868(0x138),'description':'Script\x20description'},{'name':a26_0x5cd868(0x156),'type':a26_0x5cd868(0x138),'description':a26_0x5cd868(0x15b)},{'name':a26_0x5cd868(0x141),'type':a26_0x5cd868(0x138),'description':a26_0x5cd868(0x13f)},{'name':a26_0x5cd868(0x165),'type':a26_0x5cd868(0x138),'description':a26_0x5cd868(0x17c)},{'name':a26_0x5cd868(0x151),'type':'string','description':a26_0x5cd868(0x15f),'enum':[a26_0x5cd868(0x12e),a26_0x5cd868(0x153)]}],async 'validate'(_0xab9017){const _0x32f701=a26_0x5cd868,_0x1b40e2=_0xab9017[_0x32f701(0x13d)]('name');if(!isValidBffFunctionName(_0x1b40e2))throw CliErrors[_0x32f701(0x12a)]('Invalid\x20function\x20name\x20\x22'+_0x1b40e2+_0x32f701(0x130));},async 'execute'(_0x4e5d5b){const _0x2dbbe3=a26_0x5cd868,_0x4f5116=loadBffProjectConfig(_0x4e5d5b['appCode']),_0x2f95a8=_0x4e5d5b[_0x2dbbe3(0x13d)](_0x2dbbe3(0x162)),_0x5ca103=_0x4e5d5b[_0x2dbbe3(0x13d)](_0x2dbbe3(0x13a)),_0x5b0e46=_0x4e5d5b[_0x2dbbe3(0x13d)](_0x2dbbe3(0x133))||undefined,_0x2c9ae0=_0x2f95a8==='HOOK'?await resolveHookOptions(_0x4f5116,_0x4e5d5b):undefined,_0x5ecbe8=buildFilePath(_0x4f5116,_0x2f95a8,_0x5ca103,_0x2c9ae0);if(await fileExists(_0x5ecbe8))throw CliErrors[_0x2dbbe3(0x12a)]('File\x20already\x20exists:\x20'+_0x5ecbe8);await mkdir(dirname(_0x5ecbe8),{'recursive':!![]});const _0x13777e=generateTemplate(_0x2f95a8,_0x5ca103,_0x4e5d5b[_0x2dbbe3(0x167)],_0x5b0e46,_0x2c9ae0);await writeFile(_0x5ecbe8,_0x13777e,_0x2dbbe3(0x154));const _0x5eb562={'type':_0x2f95a8,'name':_0x5ca103,'path':_0x5ecbe8};if(_0x5b0e46)_0x5eb562[_0x2dbbe3(0x133)]=_0x5b0e46;if(_0x2c9ae0){if(_0x2c9ae0['alias'])_0x5eb562[_0x2dbbe3(0x156)]=_0x2c9ae0[_0x2dbbe3(0x156)];_0x5eb562[_0x2dbbe3(0x17a)]=_0x2c9ae0[_0x2dbbe3(0x17a)],_0x5eb562[_0x2dbbe3(0x12b)]=_0x2c9ae0[_0x2dbbe3(0x12b)],_0x5eb562[_0x2dbbe3(0x176)]=_0x2c9ae0['functionNode'];}return{'ok':!![],'data':_0x5eb562,'message':_0x2dbbe3(0x144)+_0x2f95a8+_0x2dbbe3(0x159)+_0x5ca103};}};async function resolveHookOptions(_0xa6dc70,_0x4bdfad){const _0x38a635=a26_0x5cd868,_0x1aba81=loadAliasMap(_0x4bdfad[_0x38a635(0x14e)],undefined,resolveApiFilePath(_0x4bdfad[_0x38a635(0x14e)],_0x4bdfad[_0x38a635(0x167)])),_0x5e818d=_0x1aba81['length']>0x0;let _0x3dfbff,_0x2f34a9,_0x5e24f2;const _0xc078b6=_0x4bdfad['str'](_0x38a635(0x156)),_0x2d6d9e=_0x4bdfad[_0x38a635(0x13d)](_0x38a635(0x141));if(_0xc078b6){const _0x24c6bf=resolveAlias(_0x4bdfad[_0x38a635(0x14e)],_0xc078b6,undefined,resolveApiFilePath(_0x4bdfad[_0x38a635(0x14e)],_0x4bdfad[_0x38a635(0x167)]));if(!_0x24c6bf){const _0x4d8881=_0x5e818d?_0x38a635(0x174)+_0x1aba81[_0x38a635(0x16f)](_0x31d252=>_0x31d252[_0x38a635(0x156)])[_0x38a635(0x173)](',\x20'):_0x38a635(0x128)+CLI_BIN_NAME+_0x38a635(0x169);throw CliErrors[_0x38a635(0x12a)](_0x38a635(0x16d)+_0xc078b6+_0x38a635(0x131)+_0x4d8881);}_0x3dfbff=_0xc078b6,_0x2f34a9=_0x24c6bf;}else{if(_0x2d6d9e){_0x2f34a9=_0x2d6d9e;const _0x3c92a9=_0x1aba81[_0x38a635(0x16a)](_0x3cb9a1=>_0x3cb9a1[_0x38a635(0x17a)]===_0x2d6d9e);_0x3dfbff=_0x3c92a9?.[_0x38a635(0x156)];}else{if(_0x4bdfad[_0x38a635(0x158)])throw CliErrors['validation'](_0x38a635(0x178));else{if(_0x5e818d){const _0x200d6d=_0x1aba81['map'](_0x53c496=>_0x53c496[_0x38a635(0x156)]+'\x20('+_0x53c496[_0x38a635(0x12f)]+')'),_0x1f80ba=await promptSelect(_0x38a635(0x15d),_0x200d6d),_0x172a41=_0x1aba81[_0x1f80ba];if(!_0x172a41)throw CliErrors[_0x38a635(0x12a)]('Invalid\x20dataset\x20selection.');_0x3dfbff=_0x172a41[_0x38a635(0x156)],_0x2f34a9=_0x172a41['datasetCode'];}else{const _0x106157=await listDatasets(_0x4bdfad['appCode']);if(_0x106157[_0x38a635(0x14c)]===0x0)throw CliErrors[_0x38a635(0x12a)](_0x38a635(0x16b));const _0x3915d1=_0x106157[_0x38a635(0x16f)](_0x2f073b=>_0x2f073b[_0x38a635(0x13a)]+'\x20('+_0x2f073b['code']+')'),_0x2b7513=await promptSelect(_0x38a635(0x15d),_0x3915d1),_0x2591a1=_0x106157[_0x2b7513];if(!_0x2591a1)throw CliErrors[_0x38a635(0x12a)]('Invalid\x20dataset\x20selection.');_0x2f34a9=_0x2591a1[_0x38a635(0x16e)],_0x3dfbff=undefined;}}}}const _0x7b39a5=await listDatasets(_0x4bdfad[_0x38a635(0x167)]),_0x2fb2b8=_0x7b39a5[_0x38a635(0x16a)](_0x45edc4=>_0x45edc4[_0x38a635(0x16e)]===_0x2f34a9);if(!_0x2fb2b8)throw CliErrors['validation'](_0x38a635(0x155)+_0x2f34a9+_0x38a635(0x146)+(_0x3dfbff?_0x38a635(0x137)+CLI_BIN_NAME+_0x38a635(0x16c):''));_0x5e24f2=_0x2fb2b8['id'];const _0x361080=_0x3dfbff??_0x2f34a9,_0x47c900=await listBffDatasetOperations(_0x4bdfad['appCode'],_0x5e24f2),_0x2228e5=_0x47c900?Object['keys'](_0x47c900):[];if(_0x2228e5[_0x38a635(0x14c)]===0x0)throw CliErrors[_0x38a635(0x12a)]('No\x20operation\x20types\x20found\x20for\x20dataset\x20'+_0x361080+'.');let _0x1beaa1;const _0xb21b87=_0x4bdfad[_0x38a635(0x13d)]('operation-type');if(_0xb21b87){if(!_0x2228e5['includes'](_0xb21b87))throw CliErrors[_0x38a635(0x12a)](_0x38a635(0x161)+_0xb21b87+_0x38a635(0x149)+_0x361080+'.\x20'+(_0x38a635(0x17b)+_0x2228e5['join'](',\x20')));_0x1beaa1=_0xb21b87;}else{if(_0x4bdfad[_0x38a635(0x158)])throw CliErrors[_0x38a635(0x12a)]('--operation-type\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.');const _0x3000cc=await promptSelect('Select\x20operation\x20type:',_0x2228e5);_0x1beaa1=_0x2228e5[_0x3000cc]??_0x2228e5[0x0];}let _0x3a6d15=normalizeHookFunctionNode(_0x4bdfad[_0x38a635(0x13d)](_0x38a635(0x151)));if(!_0x3a6d15){if(_0x4bdfad['str'](_0x38a635(0x151)))throw CliErrors['validation'](_0x38a635(0x14a));if(_0x4bdfad['nonInteractive'])throw CliErrors[_0x38a635(0x12a)](_0x38a635(0x13c));const _0x1da043=await promptSelect('Select\x20trigger\x20node:',['before',_0x38a635(0x153)]);_0x3a6d15=[_0x38a635(0x12e),_0x38a635(0x153)][_0x1da043]??_0x38a635(0x12e);}return{'alias':_0x3dfbff,'datasetCode':_0x2f34a9,'datasetId':_0x5e24f2,'operationType':_0x1beaa1,'functionNode':_0x3a6d15};}async function promptSelect(_0x17544c,_0x3c81e4){const _0x399e84=a26_0x5cd868;if(_0x3c81e4[_0x399e84(0x14c)]===0x1)return 0x0;for(const [_0x10754a,_0x519e88]of _0x3c81e4['entries']()){process[_0x399e84(0x134)][_0x399e84(0x163)]('\x20\x20'+(_0x10754a+0x1)+'.\x20'+_0x519e88+'\x0a');}const _0x265103=createInterface({'input':process['stdin'],'output':process[_0x399e84(0x134)]});while(!![]){const _0x4bcf31=await new Promise(_0x3f27b3=>{_0x265103['question'](_0x17544c+'\x20',_0x3f27b3);}),_0x2ea8f3=Number[_0x399e84(0x150)](_0x4bcf31['trim'](),0xa);if(Number['isInteger'](_0x2ea8f3)&&_0x2ea8f3>=0x1&&_0x2ea8f3<=_0x3c81e4[_0x399e84(0x14c)])return _0x265103['close'](),_0x2ea8f3-0x1;process[_0x399e84(0x134)][_0x399e84(0x163)](_0x399e84(0x15a)+_0x3c81e4['length']+'.\x0a');}}function buildFilePath(_0x45b9e9,_0x39cd01,_0x2998bd,_0x4d9f44){const _0x144848=a26_0x5cd868;if(_0x39cd01===_0x144848(0x166)){if(!_0x4d9f44)throw CliErrors[_0x144848(0x12a)]('HOOK\x20requires\x20alias/operation/node\x20options.');const _0x28523d=_0x4d9f44['alias']??_0x4d9f44[_0x144848(0x17a)];return join(_0x45b9e9[_0x144848(0x143)],_0x144848(0x166),_0x28523d,_0x4d9f44['operationType'],_0x4d9f44[_0x144848(0x176)],_0x2998bd+_0x144848(0x175));}return join(_0x45b9e9['scriptsRootDir'],_0x39cd01,_0x2998bd+'.js');}export function generateTemplate(_0x2a9e2b,_0x4967af,_0xe0e455,_0x1f78d5,_0x5a633a){const _0xdf1c30=a26_0x5cd868,_0x31d1ee=_0x1f78d5?.['trim']()||_0xdf1c30(0x129);if(_0x2a9e2b==='COMMON')return _0xdf1c30(0x172)+_0x31d1ee+_0xdf1c30(0x145)+_0x4967af+'\x0a\x20*\x20[脚本类型]\x20COMMON\x0a\x20*\x20[本地路径]\x20.rabetbase/bff/COMMON/'+_0x4967af+_0xdf1c30(0x168)+_0x4967af+_0xdf1c30(0x12c);if(_0x2a9e2b===_0xdf1c30(0x164))return'/**\x0a\x20*\x20ENDPOINT\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20'+_0x31d1ee+_0xdf1c30(0x171)+_0xe0e455+'/'+_0x4967af+_0xdf1c30(0x142)+_0x4967af+'(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a';if(!_0x5a633a)throw CliErrors[_0xdf1c30(0x12a)](_0xdf1c30(0x135));return _0xdf1c30(0x140)+_0x31d1ee+'\x0a\x20*\x20[接口路径]\x20POST\x20/api/'+_0xe0e455+'/'+_0x5a633a['datasetCode']+'/'+_0x5a633a[_0xdf1c30(0x12b)]+_0xdf1c30(0x136)+_0x5a633a[_0xdf1c30(0x176)]+'\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'+_0x4967af+_0xdf1c30(0x12c);}
@@ -1 +1 @@
1
- const a27_0x2b02a0=a27_0x4bc6;function a27_0x4bc6(_0x32930b,_0x3e1345){_0x32930b=_0x32930b-0x1b3;const _0x5b62c3=a27_0x5b62();let _0x4bc6b5=_0x5b62c3[_0x32930b];return _0x4bc6b5;}(function(_0xcc2f0e,_0x21a77c){const _0xd5c96=a27_0x4bc6,_0xff5b82=_0xcc2f0e();while(!![]){try{const _0xb1eaee=parseInt(_0xd5c96(0x1b6))/0x1+parseInt(_0xd5c96(0x1de))/0x2+-parseInt(_0xd5c96(0x1cf))/0x3*(-parseInt(_0xd5c96(0x1da))/0x4)+-parseInt(_0xd5c96(0x1c5))/0x5*(parseInt(_0xd5c96(0x1d2))/0x6)+parseInt(_0xd5c96(0x1c9))/0x7+-parseInt(_0xd5c96(0x1d9))/0x8+-parseInt(_0xd5c96(0x1c8))/0x9;if(_0xb1eaee===_0x21a77c)break;else _0xff5b82['push'](_0xff5b82['shift']());}catch(_0x1e76f5){_0xff5b82['push'](_0xff5b82['shift']());}}}(a27_0x5b62,0x3da90));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_0x2b02a0(0x1c4),'command':a27_0x2b02a0(0x1bc),'description':a27_0x2b02a0(0x1b9),'risk':'high-risk-write','flags':[{'name':'target','type':a27_0x2b02a0(0x1c1),'required':!![],'description':a27_0x2b02a0(0x1c2)}],async 'validate'(_0x55c240){const _0x1cf650=a27_0x2b02a0,_0x3386db=loadBffProjectConfig(_0x55c240[_0x1cf650(0x1c0)]),_0x22373c=await readBffLockFile(_0x3386db[_0x1cf650(0x1bf)]);if(!_0x22373c)throw CliErrors[_0x1cf650(0x1d4)](_0x1cf650(0x1bd));},async 'dryRun'(_0x4553af){const _0x545bf0=a27_0x2b02a0,_0x29d85c=loadBffProjectConfig(_0x4553af[_0x545bf0(0x1c0)]),_0x44dd78=await readBffLockFile(_0x29d85c[_0x545bf0(0x1bf)]);if(!_0x44dd78)throw CliErrors['validation']('BFF\x20lock\x20file\x20not\x20found.');const {appLock:_0x15d677}=ensureLockScope(_0x44dd78,_0x4553af[_0x545bf0(0x1c0)],_0x29d85c[_0x545bf0(0x1ba)],'delete'),_0x2a46da=_0x4553af[_0x545bf0(0x1dc)](_0x545bf0(0x1bb)),_0x3fcd87=Object['keys'](_0x15d677[_0x545bf0(0x1d0)]),_0x106bf0=resolveDeleteTarget(_0x2a46da,_0x3fcd87),_0xd05d02=_0x15d677[_0x545bf0(0x1d0)][_0x106bf0];if(!_0xd05d02)throw CliErrors[_0x545bf0(0x1d4)](_0x545bf0(0x1d8)+_0x106bf0+'\x22.');const _0x1e3b19=resolveLocalFilePathFromLockKey(_0x29d85c,_0x106bf0),_0x4b17ad=relative(_0x29d85c[_0x545bf0(0x1c7)],_0x1e3b19),_0x3138c4=join(_0x29d85c[_0x545bf0(0x1be)],_0x545bf0(0x1b7),_0x4b17ad);return{'method':_0x545bf0(0x1db),'url':_0x545bf0(0x1e0),'body':{'appCode':_0x4553af[_0x545bf0(0x1c0)],'target':_0x106bf0,'remoteId':_0xd05d02['remoteId'],'localFilePath':_0x1e3b19,'trashedPath':_0x3138c4},'description':_0x545bf0(0x1cb)+_0x106bf0+'\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20trash'};},async 'execute'(_0x2fa337){const _0x32d900=a27_0x2b02a0,_0x2c1ea8=loadBffProjectConfig(_0x2fa337[_0x32d900(0x1c0)]),_0x47cbd3=await readBffLockFile(_0x2c1ea8[_0x32d900(0x1bf)]);if(!_0x47cbd3)throw CliErrors['validation'](_0x32d900(0x1df));const {lockData:_0x24b661,appLock:_0x175931}=ensureLockScope(_0x47cbd3,_0x2fa337[_0x32d900(0x1c0)],_0x2c1ea8[_0x32d900(0x1ba)],_0x32d900(0x1bc)),_0x4c54a5=_0x2fa337[_0x32d900(0x1dc)](_0x32d900(0x1bb)),_0x50526c=Object[_0x32d900(0x1dd)](_0x175931[_0x32d900(0x1d0)]),_0x3a75b6=resolveDeleteTarget(_0x4c54a5,_0x50526c),_0x4d7d8a=_0x175931[_0x32d900(0x1d0)][_0x3a75b6];if(!_0x4d7d8a)throw CliErrors[_0x32d900(0x1d4)]('No\x20lock\x20entry\x20found\x20for\x20\x22'+_0x3a75b6+'\x22.');await deleteBffScript(_0x4d7d8a[_0x32d900(0x1cd)]),delete _0x175931[_0x32d900(0x1d0)][_0x3a75b6],_0x175931[_0x32d900(0x1d1)]=new Date()[_0x32d900(0x1d5)](),await writeBffLockFile(_0x2c1ea8[_0x32d900(0x1bf)],_0x24b661);const _0x1c6121=resolveLocalFilePathFromLockKey(_0x2c1ea8,_0x3a75b6);let _0x3e7679;await fileExists(_0x1c6121)&&(_0x3e7679=await moveToTrash(_0x2c1ea8[_0x32d900(0x1c7)],_0x2c1ea8[_0x32d900(0x1be)],_0x1c6121),await cleanupEmptyDirectories(dirname(_0x1c6121),_0x2c1ea8[_0x32d900(0x1c6)]));const _0x1d38fc={'deleted':_0x3a75b6,'remoteId':_0x4d7d8a['remoteId']};if(_0x3e7679)_0x1d38fc[_0x32d900(0x1ca)]=_0x3e7679;return{'ok':!![],'data':_0x1d38fc,'message':_0x32d900(0x1d6)+_0x3a75b6+(_0x3e7679?'\x20(local\x20file\x20moved\x20to\x20trash)':'')};}};function a27_0x5b62(){const _0x109a5a=['Would\x20delete\x20','replace','remoteId','startsWith','1204563Rvrasq','functions','lastSync','157926pUrqWa','length','validation','toISOString','Deleted\x20','Multiple\x20functions\x20match\x20\x22','No\x20lock\x20entry\x20found\x20for\x20\x22','3404448HdyRnH','4pPqixt','POST','str','keys','572334HeEMzu','BFF\x20lock\x20file\x20not\x20found.','/api/management/library/scripts/delete','Function\x20not\x20found:\x20','includes','join','108262NhEBRt','<timestamp>','\x22.\x20Use\x20the\x20full\x20lock\x20key:\x0a','Delete\x20a\x20BFF\x20script\x20from\x20remote\x20and\x20local','scriptsRoot','target','delete','BFF\x20lock\x20file\x20not\x20found.\x20Run\x20`push`\x20or\x20`pull`\x20first\x20to\x20initialize\x20sync\x20state.','trashDir','lockFilePath','appCode','string','Lock\x20key\x20(e.g.\x20ENDPOINT/createOrder)\x20or\x20short\x20function\x20name','split','bff','10OSDAIE','scriptsRootDir','projectRoot','5096988cDSdye','3507980OByTmJ','trashedTo'];a27_0x5b62=function(){return _0x109a5a;};return a27_0x5b62();}function resolveDeleteTarget(_0x49406d,_0x217bf6){const _0xb40363=a27_0x2b02a0;if(_0x49406d[_0xb40363(0x1b4)]('/')){const _0x23fe3=_0x217bf6['find'](_0x1bfa3b=>_0x1bfa3b===_0x49406d);if(!_0x23fe3)throw CliErrors['validation'](_0xb40363(0x1b3)+_0x49406d);return _0x23fe3;}const _0x3a0439=_0x217bf6['filter'](_0x50866a=>_0x50866a[_0xb40363(0x1c3)]('/')['at'](-0x1)===_0x49406d);if(_0x3a0439['length']===0x0)throw CliErrors[_0xb40363(0x1d4)]('Function\x20not\x20found:\x20'+_0x49406d);if(_0x3a0439[_0xb40363(0x1d3)]>0x1)throw CliErrors['validation'](_0xb40363(0x1d7)+_0x49406d+_0xb40363(0x1b8)+_0x3a0439['map'](_0xb3b281=>'\x20\x20-\x20'+_0xb3b281)[_0xb40363(0x1b5)]('\x0a'));return _0x3a0439[0x0];}async function moveToTrash(_0x4f18d8,_0x63eef7,_0x2f4e19){const _0x109f0c=a27_0x2b02a0,_0x1ea96e=new Date()[_0x109f0c(0x1d5)]()[_0x109f0c(0x1cc)](/[:.]/g,'-'),_0xb49c43=relative(_0x4f18d8,_0x2f4e19),_0x1f04d0=join(_0x63eef7,_0x1ea96e,_0xb49c43);return await mkdir(dirname(_0x1f04d0),{'recursive':!![]}),await rename(_0x2f4e19,_0x1f04d0),_0x1f04d0;}async function cleanupEmptyDirectories(_0x398a42,_0x23a266){const _0x255e84=a27_0x2b02a0;let _0x5e2597=resolve(_0x398a42);const _0x5f3385=resolve(_0x23a266);while(_0x5e2597[_0x255e84(0x1ce)](''+_0x5f3385+sep)||_0x5e2597===_0x5f3385){if(_0x5e2597===_0x5f3385)return;try{const _0x281cbc=await readdir(_0x5e2597);if(_0x281cbc['length']>0x0)return;await rmdir(_0x5e2597);}catch{return;}_0x5e2597=dirname(_0x5e2597);}}
1
+ function a27_0x779f(_0x9aef8a,_0x273321){_0x9aef8a=_0x9aef8a-0x1ca;const _0x350522=a27_0x3505();let _0x779ff3=_0x350522[_0x9aef8a];return _0x779ff3;}const a27_0x364b59=a27_0x779f;(function(_0x16095b,_0x2aa9c5){const _0x2eefb5=a27_0x779f,_0x1d1c9e=_0x16095b();while(!![]){try{const _0x2d17f7=parseInt(_0x2eefb5(0x1fe))/0x1*(-parseInt(_0x2eefb5(0x1db))/0x2)+parseInt(_0x2eefb5(0x1e6))/0x3+-parseInt(_0x2eefb5(0x200))/0x4+-parseInt(_0x2eefb5(0x1dd))/0x5*(-parseInt(_0x2eefb5(0x1cc))/0x6)+-parseInt(_0x2eefb5(0x1ef))/0x7+-parseInt(_0x2eefb5(0x1e5))/0x8*(parseInt(_0x2eefb5(0x1f1))/0x9)+parseInt(_0x2eefb5(0x1ee))/0xa;if(_0x2d17f7===_0x2aa9c5)break;else _0x1d1c9e['push'](_0x1d1c9e['shift']());}catch(_0x399af7){_0x1d1c9e['push'](_0x1d1c9e['shift']());}}}(a27_0x3505,0xe3f3d));import{mkdir,readdir,rename,rmdir}from'node:fs/promises';import{dirname,join,relative,resolve,sep}from'node:path';import{deleteBffScript}from'../../core/api-client.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{fileExists,resolveLocalFilePathFromLockKey}from'../../core/bff/file-system.js';import{ensureLockScope,readBffLockFile,writeBffLockFile}from'../../core/bff/lock.js';import{CliErrors}from'../../errors.js';function a27_0x3505(){const _0x52ef93=['32748520MWAhjl','722890XrXlzM','filter','16707537xrnjyx','bff','string','find','No\x20lock\x20entry\x20found\x20for\x20\x22','scriptsRoot','trashedTo','appCode','startsWith','validation','scriptsRootDir','lastSync','apps','41418wwHAQO','BFF\x20lock\x20file\x20not\x20found.\x20Run\x20`push`\x20or\x20`pull`\x20first\x20to\x20initialize\x20sync\x20state.','3816756QNwIwi','\x20\x20-\x20','Deleted\x20','str','7074762EgTFXp','\x22\x20not\x20found\x20after\x20ensureLockScope.','delete','includes','high-risk-write','replace','stringify','remoteId','\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20trash','parse','/api/management/library/scripts/delete','trashDir','toISOString','lockFilePath','map','74fOIYEe','Lock\x20key\x20(e.g.\x20ENDPOINT/createOrder)\x20or\x20short\x20function\x20name','5mDgogQ','Would\x20delete\x20','\x22.\x20Use\x20the\x20full\x20lock\x20key:\x0a','Lock\x20scope\x20for\x20app\x20\x22','Delete\x20a\x20BFF\x20script\x20from\x20remote\x20and\x20local','length','target','keys','8Dazdnw','2778096BNuTWX','BFF\x20lock\x20file\x20not\x20found.','projectRoot','join','Function\x20not\x20found:\x20','Local\x20delete\x20not\x20settled\x20for\x20','functions','POST'];a27_0x3505=function(){return _0x52ef93;};return a27_0x3505();}import{sleep}from'../../utils/sleep.js';export const bffDelete={'service':a27_0x364b59(0x1f2),'command':a27_0x364b59(0x1ce),'description':a27_0x364b59(0x1e1),'risk':a27_0x364b59(0x1d0),'flags':[{'name':a27_0x364b59(0x1e3),'type':a27_0x364b59(0x1f3),'required':!![],'description':a27_0x364b59(0x1dc)}],async 'validate'(_0x45fd59){const _0x167581=a27_0x364b59,_0x3e0786=loadBffProjectConfig(_0x45fd59[_0x167581(0x1f8)]),_0x5f3ffe=await readBffLockFile(_0x3e0786[_0x167581(0x1d9)]);if(!_0x5f3ffe)throw CliErrors[_0x167581(0x1fa)](_0x167581(0x1ff));},async 'dryRun'(_0x314b8e){const _0x1c3e8f=a27_0x364b59,_0xbb03ee=loadBffProjectConfig(_0x314b8e['appCode']),_0x12cd1f=await readBffLockFile(_0xbb03ee[_0x1c3e8f(0x1d9)]);if(!_0x12cd1f)throw CliErrors['validation'](_0x1c3e8f(0x1e7));const {appLock:_0x1e1fd9}=ensureLockScope(_0x12cd1f,_0x314b8e[_0x1c3e8f(0x1f8)],_0xbb03ee[_0x1c3e8f(0x1f6)],_0x1c3e8f(0x1ce)),_0x6b3172=_0x314b8e[_0x1c3e8f(0x1cb)](_0x1c3e8f(0x1e3)),_0x376dc1=Object[_0x1c3e8f(0x1e4)](_0x1e1fd9[_0x1c3e8f(0x1ec)]),_0x5b5949=resolveDeleteTarget(_0x6b3172,_0x376dc1),_0x528139=_0x1e1fd9[_0x1c3e8f(0x1ec)][_0x5b5949];if(!_0x528139)throw CliErrors[_0x1c3e8f(0x1fa)]('No\x20lock\x20entry\x20found\x20for\x20\x22'+_0x5b5949+'\x22.');const _0x1bf2d0=resolveLocalFilePathFromLockKey(_0xbb03ee,_0x5b5949),_0x4d92c7=relative(_0xbb03ee[_0x1c3e8f(0x1e8)],_0x1bf2d0),_0x3d50dd=join(_0xbb03ee[_0x1c3e8f(0x1d7)],'<timestamp>',_0x4d92c7);return{'method':_0x1c3e8f(0x1ed),'url':_0x1c3e8f(0x1d6),'body':{'appCode':_0x314b8e[_0x1c3e8f(0x1f8)],'target':_0x5b5949,'remoteId':_0x528139[_0x1c3e8f(0x1d3)],'localFilePath':_0x1bf2d0,'trashedPath':_0x3d50dd},'description':_0x1c3e8f(0x1de)+_0x5b5949+_0x1c3e8f(0x1d4)};},async 'execute'(_0x395ff2){const _0x3e59a5=a27_0x364b59,_0x4b64f6=loadBffProjectConfig(_0x395ff2['appCode']),_0x45ead3=await readBffLockFile(_0x4b64f6[_0x3e59a5(0x1d9)]);if(!_0x45ead3)throw CliErrors['validation'](_0x3e59a5(0x1e7));const {lockData:_0x576a39,appLock:_0x55e9d0}=ensureLockScope(_0x45ead3,_0x395ff2[_0x3e59a5(0x1f8)],_0x4b64f6[_0x3e59a5(0x1f6)],'delete'),_0x28e233=JSON[_0x3e59a5(0x1d5)](JSON[_0x3e59a5(0x1d2)](_0x576a39)),_0x2fde8d=_0x28e233['apps'][_0x395ff2[_0x3e59a5(0x1f8)]];if(!_0x2fde8d)throw new Error(_0x3e59a5(0x1e0)+_0x395ff2['appCode']+_0x3e59a5(0x1cd));const _0x20e7f2=_0x395ff2[_0x3e59a5(0x1cb)](_0x3e59a5(0x1e3)),_0x15a9d8=Object[_0x3e59a5(0x1e4)](_0x2fde8d[_0x3e59a5(0x1ec)]),_0x2176bd=resolveDeleteTarget(_0x20e7f2,_0x15a9d8),_0x12cc70=_0x2fde8d['functions'][_0x2176bd];if(!_0x12cc70)throw CliErrors['validation'](_0x3e59a5(0x1f5)+_0x2176bd+'\x22.');await deleteBffScript(_0x12cc70['remoteId']),delete _0x2fde8d[_0x3e59a5(0x1ec)][_0x2176bd],_0x2fde8d[_0x3e59a5(0x1fc)]=new Date()[_0x3e59a5(0x1d8)](),await writeBffLockFile(_0x4b64f6[_0x3e59a5(0x1d9)],_0x28e233);const _0x538051=resolveLocalFilePathFromLockKey(_0x4b64f6,_0x2176bd);let _0x11c59f;await fileExists(_0x538051)&&(_0x11c59f=await moveToTrash(_0x4b64f6[_0x3e59a5(0x1e8)],_0x4b64f6[_0x3e59a5(0x1d7)],_0x538051),await cleanupEmptyDirectories(dirname(_0x538051),_0x4b64f6[_0x3e59a5(0x1fb)]));await waitForDeleteSettlement(_0x4b64f6[_0x3e59a5(0x1d9)],_0x395ff2[_0x3e59a5(0x1f8)],_0x2176bd,_0x538051),await sleep(0x96);const _0x302c9c={'deleted':_0x2176bd,'remoteId':_0x12cc70[_0x3e59a5(0x1d3)]};if(_0x11c59f)_0x302c9c[_0x3e59a5(0x1f7)]=_0x11c59f;return{'ok':!![],'data':_0x302c9c,'message':_0x3e59a5(0x1ca)+_0x2176bd+(_0x11c59f?'\x20(local\x20file\x20moved\x20to\x20trash)':'')};}};function resolveDeleteTarget(_0x6dc330,_0x24d162){const _0x41e245=a27_0x364b59;if(_0x6dc330[_0x41e245(0x1cf)]('/')){const _0x8c9102=_0x24d162[_0x41e245(0x1f4)](_0x47eba4=>_0x47eba4===_0x6dc330);if(!_0x8c9102)throw CliErrors[_0x41e245(0x1fa)](_0x41e245(0x1ea)+_0x6dc330);return _0x8c9102;}const _0x4e46e5=_0x24d162[_0x41e245(0x1f0)](_0x342cd1=>_0x342cd1['split']('/')['at'](-0x1)===_0x6dc330);if(_0x4e46e5[_0x41e245(0x1e2)]===0x0)throw CliErrors[_0x41e245(0x1fa)](_0x41e245(0x1ea)+_0x6dc330);if(_0x4e46e5['length']>0x1)throw CliErrors[_0x41e245(0x1fa)]('Multiple\x20functions\x20match\x20\x22'+_0x6dc330+_0x41e245(0x1df)+_0x4e46e5[_0x41e245(0x1da)](_0x1eb7f1=>_0x41e245(0x201)+_0x1eb7f1)[_0x41e245(0x1e9)]('\x0a'));return _0x4e46e5[0x0];}async function moveToTrash(_0x5e5db3,_0x26ef8e,_0x3c3840){const _0x2a521b=a27_0x364b59,_0x5ea1fb=new Date()['toISOString']()[_0x2a521b(0x1d1)](/[:.]/g,'-'),_0x5e1411=relative(_0x5e5db3,_0x3c3840),_0x524b13=join(_0x26ef8e,_0x5ea1fb,_0x5e1411);return await mkdir(dirname(_0x524b13),{'recursive':!![]}),await rename(_0x3c3840,_0x524b13),_0x524b13;}async function cleanupEmptyDirectories(_0x1a4bb7,_0x488926){const _0x32ce0e=a27_0x364b59;let _0x3cf2ac=resolve(_0x1a4bb7);const _0xb181c2=resolve(_0x488926);while(_0x3cf2ac[_0x32ce0e(0x1f9)](''+_0xb181c2+sep)||_0x3cf2ac===_0xb181c2){if(_0x3cf2ac===_0xb181c2)return;try{const _0x17c512=await readdir(_0x3cf2ac);if(_0x17c512[_0x32ce0e(0x1e2)]>0x0)return;await rmdir(_0x3cf2ac);}catch{return;}_0x3cf2ac=dirname(_0x3cf2ac);}}const DELETE_SETTLE_RETRY_COUNT=0x14,DELETE_SETTLE_DELAY_MS=0x64;async function waitForDeleteSettlement(_0x578aa9,_0x14f3d7,_0x58d5b5,_0x85d67d){const _0x4d96a1=a27_0x364b59;for(let _0xc007d2=0x0;_0xc007d2<DELETE_SETTLE_RETRY_COUNT;_0xc007d2+=0x1){const _0x1cf1fa=await readBffLockFile(_0x578aa9),_0x3eeb98=!!_0x1cf1fa?.[_0x4d96a1(0x1fd)]?.[_0x14f3d7]?.[_0x4d96a1(0x1ec)]?.[_0x58d5b5],_0x338c4f=await fileExists(_0x85d67d);if(!_0x3eeb98&&!_0x338c4f)return;await sleep(DELETE_SETTLE_DELAY_MS);}throw new Error(_0x4d96a1(0x1eb)+_0x58d5b5+'.');}
@@ -1 +1 @@
1
- function a28_0x2edc(_0x90bb34,_0x1d33ea){_0x90bb34=_0x90bb34-0x1a2;const _0x333fde=a28_0x333f();let _0x2edc3e=_0x333fde[_0x90bb34];return _0x2edc3e;}function a28_0x333f(){const _0x2b0c35=['24fNpreI','Script\x20ID','verbose','updatedTime','boolean','bff','createdTime','3399935iERgqc','9QZdCvn','(none)','Get\x20BFF\x20script\x20details\x20by\x20ID','12524536AuZcpd','number','319674XlgLGb','1304348FwnbLM','3573086qDUcDk','9336690hOXpNE','5bTehMP','3PqFuSA','detail','7ATrUiI','6114198bNHTLf'];a28_0x333f=function(){return _0x2b0c35;};return a28_0x333f();}const a28_0x36dce0=a28_0x2edc;(function(_0x1d33bc,_0x436126){const _0x1868cb=a28_0x2edc,_0x107165=_0x1d33bc();while(!![]){try{const _0x197594=parseInt(_0x1868cb(0x1a9))/0x1+-parseInt(_0x1868cb(0x1ab))/0x2*(-parseInt(_0x1868cb(0x1ae))/0x3)+parseInt(_0x1868cb(0x1aa))/0x4*(-parseInt(_0x1868cb(0x1ad))/0x5)+-parseInt(_0x1868cb(0x1b1))/0x6*(-parseInt(_0x1868cb(0x1b0))/0x7)+-parseInt(_0x1868cb(0x1a7))/0x8*(parseInt(_0x1868cb(0x1a4))/0x9)+-parseInt(_0x1868cb(0x1ac))/0xa+-parseInt(_0x1868cb(0x1a3))/0xb*(-parseInt(_0x1868cb(0x1b2))/0xc);if(_0x197594===_0x436126)break;else _0x107165['push'](_0x107165['shift']());}catch(_0x1b26ab){_0x107165['push'](_0x107165['shift']());}}}(a28_0x333f,0xe0251));import{getBffScriptInfo}from'../../core/api-client.js';export const bffDetail={'service':a28_0x36dce0(0x1b7),'command':a28_0x36dce0(0x1af),'description':a28_0x36dce0(0x1a6),'risk':'read','flags':[{'name':'id','type':a28_0x36dce0(0x1a8),'required':!![],'description':a28_0x36dce0(0x1b3)},{'name':a28_0x36dce0(0x1b4),'type':a28_0x36dce0(0x1b6),'description':'Return\x20full\x20raw\x20script\x20object'}],async 'execute'(_0x241c03){const _0x2031b0=a28_0x36dce0,_0x15dde8=await getBffScriptInfo(_0x241c03['num']('id')),_0x4e15d2=_0x241c03['bool'](_0x2031b0(0x1b4));if(_0x4e15d2)return{'ok':!![],'data':_0x15dde8};return{'ok':!![],'data':{'id':_0x15dde8['id'],'appCode':_0x15dde8['appCode'],'scriptType':_0x15dde8['scriptType'],'description':_0x15dde8['description']||_0x2031b0(0x1a5),'createdTime':_0x15dde8[_0x2031b0(0x1a2)]??'','updatedTime':_0x15dde8[_0x2031b0(0x1b5)]??'','scriptContent':_0x15dde8['scriptContent']??''}};}};
1
+ const a28_0x3dda8c=a28_0x54ab;function a28_0x94a1(){const _0x191f3f=['bff','bool','6FzRTYN','Script\x20ID','(none)','scriptType','verbose','1293595VYwnXv','scriptContent','appCode','3173892NxzJyo','1558550gYQFIe','num','read','1909932xsHSaq','10991561CWcBWj','10567888YWLNTG','101979SvpkES','updatedTime','description'];a28_0x94a1=function(){return _0x191f3f;};return a28_0x94a1();}(function(_0x30d0e6,_0x2336c6){const _0x1cc325=a28_0x54ab,_0x21fa50=_0x30d0e6();while(!![]){try{const _0x2a47dd=parseInt(_0x1cc325(0x18d))/0x1+-parseInt(_0x1cc325(0x187))/0x2+-parseInt(_0x1cc325(0x186))/0x3+-parseInt(_0x1cc325(0x18a))/0x4+parseInt(_0x1cc325(0x183))/0x5+parseInt(_0x1cc325(0x192))/0x6*(parseInt(_0x1cc325(0x18b))/0x7)+parseInt(_0x1cc325(0x18c))/0x8;if(_0x2a47dd===_0x2336c6)break;else _0x21fa50['push'](_0x21fa50['shift']());}catch(_0x42d14b){_0x21fa50['push'](_0x21fa50['shift']());}}}(a28_0x94a1,0xe4ce1));import{getBffScriptInfo}from'../../core/api-client.js';function a28_0x54ab(_0x363609,_0x37af38){_0x363609=_0x363609-0x182;const _0x94a193=a28_0x94a1();let _0x54abaa=_0x94a193[_0x363609];return _0x54abaa;}export const bffDetail={'service':a28_0x3dda8c(0x190),'command':'detail','description':'Get\x20BFF\x20script\x20details\x20by\x20ID','risk':a28_0x3dda8c(0x189),'flags':[{'name':'id','type':'number','required':!![],'description':a28_0x3dda8c(0x193)},{'name':'verbose','type':'boolean','description':'Return\x20full\x20raw\x20script\x20object'}],async 'execute'(_0xd389d){const _0x30e506=a28_0x3dda8c,_0x4d786b=await getBffScriptInfo(_0xd389d[_0x30e506(0x188)]('id')),_0x22c2a0=_0xd389d[_0x30e506(0x191)](_0x30e506(0x182));if(_0x22c2a0)return{'ok':!![],'data':_0x4d786b};return{'ok':!![],'data':{'id':_0x4d786b['id'],'appCode':_0x4d786b[_0x30e506(0x185)],'scriptType':_0x4d786b[_0x30e506(0x195)],'description':_0x4d786b[_0x30e506(0x18f)]||_0x30e506(0x194),'createdTime':_0x4d786b['createdTime']??'','updatedTime':_0x4d786b[_0x30e506(0x18e)]??'','scriptContent':_0x4d786b[_0x30e506(0x184)]??''}};}};
@@ -1 +1 @@
1
- (function(_0x375eb5,_0x5c208f){const _0x1babf4=a29_0x4ada,_0x113b5c=_0x375eb5();while(!![]){try{const _0x4b0bf4=parseInt(_0x1babf4(0x145))/0x1+parseInt(_0x1babf4(0x14d))/0x2+-parseInt(_0x1babf4(0x14b))/0x3+-parseInt(_0x1babf4(0x148))/0x4+parseInt(_0x1babf4(0x14e))/0x5*(parseInt(_0x1babf4(0x14a))/0x6)+parseInt(_0x1babf4(0x14c))/0x7*(parseInt(_0x1babf4(0x149))/0x8)+parseInt(_0x1babf4(0x146))/0x9*(parseInt(_0x1babf4(0x147))/0xa);if(_0x4b0bf4===_0x5c208f)break;else _0x113b5c['push'](_0x113b5c['shift']());}catch(_0x547ba2){_0x113b5c['push'](_0x113b5c['shift']());}}}(a29_0x53b2,0x67796));import{bffList}from'../../commands/bff/list.js';import{bffDetail}from'../../commands/bff/detail.js';function a29_0x4ada(_0x2d4918,_0x4b2c42){_0x2d4918=_0x2d4918-0x145;const _0x53b218=a29_0x53b2();let _0x4ada9d=_0x53b218[_0x2d4918];return _0x4ada9d;}import{bffStatus}from'../../commands/bff/status.js';import{bffCreate}from'../../commands/bff/create.js';function a29_0x53b2(){const _0x36c73e=['443343gVVKRJ','18JZtuwl','447620kFWzSM','2736260cHqQJO','8yQoUUr','426jBMbtg','1813323pJFjfh','3358859FTNdmW','323330TrRWjO','37885sEpApv'];a29_0x53b2=function(){return _0x36c73e;};return a29_0x53b2();}import{bffPush}from'../../commands/bff/push.js';import{bffPull}from'../../commands/bff/pull.js';import{bffDelete}from'../../commands/bff/delete.js';export const bffDefinitions=[bffList,bffDetail,bffStatus,bffCreate,bffPush,bffPull,bffDelete];
1
+ (function(_0x29a684,_0x25c4d4){const _0x39c76e=a29_0x3501,_0x2c6acf=_0x29a684();while(!![]){try{const _0x3d5d08=parseInt(_0x39c76e(0xbc))/0x1+parseInt(_0x39c76e(0xbe))/0x2*(parseInt(_0x39c76e(0xc1))/0x3)+-parseInt(_0x39c76e(0xc5))/0x4*(parseInt(_0x39c76e(0xc0))/0x5)+parseInt(_0x39c76e(0xc4))/0x6+parseInt(_0x39c76e(0xbf))/0x7*(-parseInt(_0x39c76e(0xc2))/0x8)+parseInt(_0x39c76e(0xc3))/0x9+-parseInt(_0x39c76e(0xbd))/0xa;if(_0x3d5d08===_0x25c4d4)break;else _0x2c6acf['push'](_0x2c6acf['shift']());}catch(_0x2a6918){_0x2c6acf['push'](_0x2c6acf['shift']());}}}(a29_0x3110,0xc2b88));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_0x3501(_0x16c279,_0x4c4a64){_0x16c279=_0x16c279-0xbc;const _0x31103f=a29_0x3110();let _0x35014e=_0x31103f[_0x16c279];return _0x35014e;}function a29_0x3110(){const _0x446e0f=['1400567YGTtRD','19413790jAFaUk','8952qcQOUn','21JXzquK','5PHDrTg','15fWiLbK','36744CFfYSO','6645249zPDvFS','6912060VEHfla','2242336vloSyr'];a29_0x3110=function(){return _0x446e0f;};return a29_0x3110();}import{bffPull}from'../../commands/bff/pull.js';import{bffDelete}from'../../commands/bff/delete.js';export const bffDefinitions=[bffList,bffDetail,bffStatus,bffCreate,bffPush,bffPull,bffDelete];
@@ -1 +1 @@
1
- function a30_0x198a(){const _0x461114=['functionName','262075doawgw','2250648ohwFrY','Filter\x20by\x20script\x20name','(unnamed)','430FKlFZH','scriptType','bool','COMMON','appCode','read','35sVXAtm','string','boolean','306198QhbaAP','Script\x20type\x20filter','Return\x20full\x20script\x20objects','ENDPOINT','24vVNGzO','1684768qFHZWV','name','List\x20BFF\x20scripts','str','type','176PDqCJU','43384rQxwXf','description','1700468oHiTRK','22179odPeIK'];a30_0x198a=function(){return _0x461114;};return a30_0x198a();}const a30_0x2344ae=a30_0x163b;(function(_0xa6d8b8,_0x4337e4){const _0x340a8e=a30_0x163b,_0x19d647=_0xa6d8b8();while(!![]){try{const _0x27daf6=parseInt(_0x340a8e(0x15b))/0x1*(-parseInt(_0x340a8e(0x162))/0x2)+-parseInt(_0x340a8e(0x165))/0x3*(parseInt(_0x340a8e(0x161))/0x4)+parseInt(_0x340a8e(0x171))/0x5*(parseInt(_0x340a8e(0x157))/0x6)+-parseInt(_0x340a8e(0x164))/0x7+-parseInt(_0x340a8e(0x15c))/0x8+parseInt(_0x340a8e(0x168))/0x9+-parseInt(_0x340a8e(0x16b))/0xa*(-parseInt(_0x340a8e(0x167))/0xb);if(_0x27daf6===_0x4337e4)break;else _0x19d647['push'](_0x19d647['shift']());}catch(_0x452250){_0x19d647['push'](_0x19d647['shift']());}}}(a30_0x198a,0x51246));import{listBffScripts}from'../../core/api-client.js';function a30_0x163b(_0x2b0e2e,_0x7e4747){_0x2b0e2e=_0x2b0e2e-0x157;const _0x198a65=a30_0x198a();let _0x163b17=_0x198a65[_0x2b0e2e];return _0x163b17;}export const bffList={'service':'bff','command':'list','description':a30_0x2344ae(0x15e),'risk':a30_0x2344ae(0x170),'flags':[{'name':a30_0x2344ae(0x160),'type':a30_0x2344ae(0x172),'description':a30_0x2344ae(0x158),'default':a30_0x2344ae(0x15a),'enum':[a30_0x2344ae(0x15a),a30_0x2344ae(0x16e)]},{'name':'name','type':'string','description':a30_0x2344ae(0x169)},{'name':'verbose','type':a30_0x2344ae(0x173),'description':a30_0x2344ae(0x159)}],async 'execute'(_0x10cc95){const _0xa3789=a30_0x2344ae,_0x1a2255=await listBffScripts(_0x10cc95[_0xa3789(0x16f)],_0x10cc95[_0xa3789(0x15f)](_0xa3789(0x160)),{'scriptName':_0x10cc95[_0xa3789(0x15f)](_0xa3789(0x15d))||undefined}),_0x1dd393=_0x10cc95[_0xa3789(0x16d)]('verbose');return{'ok':!![],'data':_0x1dd393?_0x1a2255:_0x1a2255['map'](_0x1fa7fe=>({'id':_0x1fa7fe['id'],'functionName':_0x1fa7fe[_0xa3789(0x166)]??'','description':_0x1fa7fe[_0xa3789(0x163)]||_0xa3789(0x16a),'scriptType':_0x1fa7fe[_0xa3789(0x16c)]})),'message':_0x1a2255['length']===0x0?'No\x20BFF\x20scripts\x20found.':undefined};}};
1
+ const a30_0x240b61=a30_0x164b;function a30_0x164b(_0x3e03c5,_0x33751c){_0x3e03c5=_0x3e03c5-0x108;const _0x5c17e1=a30_0x5c17();let _0x164bc8=_0x5c17e1[_0x3e03c5];return _0x164bc8;}(function(_0x3eb3fd,_0x4e06d3){const _0x2e77ec=a30_0x164b,_0x45744d=_0x3eb3fd();while(!![]){try{const _0x234b02=-parseInt(_0x2e77ec(0x11c))/0x1+-parseInt(_0x2e77ec(0x115))/0x2+-parseInt(_0x2e77ec(0x10e))/0x3*(parseInt(_0x2e77ec(0x10a))/0x4)+-parseInt(_0x2e77ec(0x114))/0x5+-parseInt(_0x2e77ec(0x116))/0x6+parseInt(_0x2e77ec(0x10c))/0x7+parseInt(_0x2e77ec(0x122))/0x8;if(_0x234b02===_0x4e06d3)break;else _0x45744d['push'](_0x45744d['shift']());}catch(_0x17a00f){_0x45744d['push'](_0x45744d['shift']());}}}(a30_0x5c17,0x6dce1));function a30_0x5c17(){const _0x1ed65e=['4803258AwsDXm','type','COMMON','bool','Filter\x20by\x20script\x20name','map','431125oapXWk','boolean','List\x20BFF\x20scripts','name','scriptType','string','21639152QHsNfa','ENDPOINT','Return\x20full\x20script\x20objects','20cFfbVG','length','159103vzbPGk','verbose','234474YOSLRk','str','description','list','appCode','read','2692230drfjmk','233916fKgvKg'];a30_0x5c17=function(){return _0x1ed65e;};return a30_0x5c17();}import{listBffScripts}from'../../core/api-client.js';export const bffList={'service':'bff','command':a30_0x240b61(0x111),'description':a30_0x240b61(0x11e),'risk':a30_0x240b61(0x113),'flags':[{'name':a30_0x240b61(0x117),'type':a30_0x240b61(0x121),'description':'Script\x20type\x20filter','default':a30_0x240b61(0x108),'enum':[a30_0x240b61(0x108),a30_0x240b61(0x118)]},{'name':a30_0x240b61(0x11f),'type':a30_0x240b61(0x121),'description':a30_0x240b61(0x11a)},{'name':a30_0x240b61(0x10d),'type':a30_0x240b61(0x11d),'description':a30_0x240b61(0x109)}],async 'execute'(_0x51a609){const _0x5a2eef=a30_0x240b61,_0x4f2e86=await listBffScripts(_0x51a609[_0x5a2eef(0x112)],_0x51a609[_0x5a2eef(0x10f)](_0x5a2eef(0x117)),{'scriptName':_0x51a609[_0x5a2eef(0x10f)](_0x5a2eef(0x11f))||undefined}),_0xd7604c=_0x51a609[_0x5a2eef(0x119)](_0x5a2eef(0x10d));return{'ok':!![],'data':_0xd7604c?_0x4f2e86:_0x4f2e86[_0x5a2eef(0x11b)](_0x4ba338=>({'id':_0x4ba338['id'],'functionName':_0x4ba338['functionName']??'','description':_0x4ba338[_0x5a2eef(0x110)]||'(unnamed)','scriptType':_0x4ba338[_0x5a2eef(0x120)]})),'message':_0x4f2e86[_0x5a2eef(0x10b)]===0x0?'No\x20BFF\x20scripts\x20found.':undefined};}};
@@ -1 +1 @@
1
- function a31_0x2237(_0x1c5d50,_0x42d050){_0x1c5d50=_0x1c5d50-0xff;const _0x51418c=a31_0x5141();let _0x22374d=_0x51418c[_0x1c5d50];return _0x22374d;}const a31_0x32d92e=a31_0x2237;(function(_0x59bc75,_0x3d0dd8){const _0x503163=a31_0x2237,_0x378e80=_0x59bc75();while(!![]){try{const _0x3a9356=parseInt(_0x503163(0x122))/0x1*(-parseInt(_0x503163(0x100))/0x2)+parseInt(_0x503163(0x104))/0x3+-parseInt(_0x503163(0x11d))/0x4+parseInt(_0x503163(0x13d))/0x5*(-parseInt(_0x503163(0x103))/0x6)+-parseInt(_0x503163(0x102))/0x7+-parseInt(_0x503163(0x13a))/0x8*(parseInt(_0x503163(0x12f))/0x9)+parseInt(_0x503163(0x112))/0xa;if(_0x3a9356===_0x3d0dd8)break;else _0x378e80['push'](_0x378e80['shift']());}catch(_0x27b061){_0x378e80['push'](_0x378e80['shift']());}}}(a31_0x5141,0x727ab));import{createInterface}from'node:readline';import{writeFile}from'node:fs/promises';import{listBffScripts,getBffScriptStatistics}from'../../core/api-client.js';import{loadAliasMap}from'../../core/alias-resolver.js';import{resolveApiFilePath}from'../../context.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{createHookLocationMap,ensureParentDirectory,fileExists,normalizeBffType,resolveRemoteScriptTarget}from'../../core/bff/file-system.js';function a31_0x5141(){const _0x5a32b1=['Pull\x20remote\x20BFF\x20scripts\x20to\x20local','skipped','Pull\x20complete:\x20','4kjLAfT','hash','1690969qRcDpB','369042Gujxqq','2614317kTopjo','length','Pull\x20only\x20this\x20script\x20type','question','--type\x20must\x20be\x20COMMON,\x20ENDPOINT,\x20or\x20HOOK.','functions','conflict','scriptType','stringify','Would\x20inspect\x20','operationType','Force\x20pull\x20cancelled.','COMMON','pull','14963260jIacHN','close','\x20skipped,\x20','functionNode','Force\x20overwrite\x20local\x20unsynced\x20changes','Lock\x20scope\x20for\x20app\x20\x22','GET','/api/management/library/scripts/list?appCode=','unresolvable\x20target\x20path','version','str','677304dtBDNt','scriptContent','filePath','includes','type','273363YzhDlD','lockKey','force','stderr','Force\x20pull\x20will\x20overwrite\x20local\x20unsynced\x20changes.\x20Continue?\x20[y/N]\x20','stdin','trim','write','yes','bff','map','alias','Remote\x20script\x20missing\x20content.','126PmLEzE','string','apps','boolean','appCode','datasetCode','\x20failed','push','\x20remote\x20BFF\x20script(s)\x20for\x20pull','apiDir','validation','10648nanEbq','lockFilePath','would_pull','75OIKSvn','scriptsRoot','lastSync','functionName','hookLocation','bool','Remote\x20script\x20missing\x20id.','all','toISOString','HOOK','&type=','\x22\x20not\x20found\x20after\x20ensureLockScope.'];a31_0x5141=function(){return _0x5a32b1;};return a31_0x5141();}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_0x32d92e(0x12b),'command':a31_0x32d92e(0x111),'description':a31_0x32d92e(0x149),'risk':a31_0x32d92e(0x129),'flags':[{'name':'type','type':a31_0x32d92e(0x130),'description':a31_0x32d92e(0x106),'enum':[a31_0x32d92e(0x110),'ENDPOINT',a31_0x32d92e(0x146)]},{'name':a31_0x32d92e(0x124),'type':a31_0x32d92e(0x132),'description':a31_0x32d92e(0x116)}],async 'dryRun'(_0x4d3700){const _0x3ee435=a31_0x32d92e,_0x568273=loadBffProjectConfig(_0x4d3700[_0x3ee435(0x133)]),_0x1a7b61=await readBffLockFile(_0x568273[_0x3ee435(0x13b)]),{appLock:_0x2e17cc}=ensureLockScope(_0x1a7b61??createEmptyBffLock(),_0x4d3700['appCode'],_0x568273[_0x3ee435(0x13e)],_0x3ee435(0x111)),_0x7f42f3=normalizeBffType(_0x4d3700[_0x3ee435(0x11c)](_0x3ee435(0x121)))??undefined,_0x49854d=buildDatasetCodeToAliasMap(_0x4d3700[_0x3ee435(0x138)],_0x4d3700['appCode']),[_0x47196e,_0x3c978c]=await Promise[_0x3ee435(0x144)]([listBffScripts(_0x4d3700[_0x3ee435(0x133)],_0x7f42f3),getBffScriptStatistics(_0x4d3700[_0x3ee435(0x133)])]),_0x1b2de9=createHookLocationMap(_0x3c978c),_0xa4109e=[];for(const _0x459462 of _0x47196e){const _0x112c73=resolveRemoteScriptTarget(_0x568273,_0x459462,_0x1b2de9,_0x2e17cc[_0x3ee435(0x109)],_0x49854d);if(!_0x112c73){_0xa4109e[_0x3ee435(0x136)]({'scriptType':_0x459462[_0x3ee435(0x10b)],'functionName':_0x459462[_0x3ee435(0x140)]??'','status':_0x3ee435(0x14a),'reason':_0x3ee435(0x11a)});continue;}const _0x48e3c5=_0x2e17cc['functions'][_0x112c73[_0x3ee435(0x123)]],_0x241202=_0x459462[_0x3ee435(0x11e)]!=null?computeContentHash(_0x459462[_0x3ee435(0x11e)]):undefined,_0x1ad818=await hasUnsyncedLocalChanges(_0x112c73[_0x3ee435(0x11f)],_0x48e3c5,_0x241202);_0xa4109e['push']({'lockKey':_0x112c73[_0x3ee435(0x123)],'filePath':_0x112c73[_0x3ee435(0x11f)],'remoteId':_0x459462['id']??null,'status':_0x1ad818?_0x3ee435(0x10a):_0x3ee435(0x13c)});}return{'method':_0x3ee435(0x118),'url':_0x3ee435(0x119)+_0x4d3700[_0x3ee435(0x133)]+(_0x7f42f3?_0x3ee435(0x147)+_0x7f42f3:''),'body':{'appCode':_0x4d3700['appCode'],'filterType':_0x7f42f3??null,'files':_0xa4109e},'description':_0x3ee435(0x10d)+_0xa4109e[_0x3ee435(0x105)]+_0x3ee435(0x137)};},async 'execute'(_0x407060){const _0x144ede=a31_0x32d92e,_0x5c8920=loadBffProjectConfig(_0x407060[_0x144ede(0x133)]),_0x5bd479=await readBffLockFile(_0x5c8920[_0x144ede(0x13b)]),{lockData:_0x1aa316,appLock:_0x375074}=ensureLockScope(_0x5bd479??createEmptyBffLock(),_0x407060[_0x144ede(0x133)],_0x5c8920[_0x144ede(0x13e)],_0x144ede(0x111)),_0x240c4e=normalizeBffType(_0x407060[_0x144ede(0x11c)]('type'))??undefined;if(_0x407060['str'](_0x144ede(0x121))&&!_0x240c4e)throw CliErrors[_0x144ede(0x139)](_0x144ede(0x108));const [_0x20c8ff,_0x3ff532]=await Promise[_0x144ede(0x144)]([listBffScripts(_0x407060[_0x144ede(0x133)],_0x240c4e),getBffScriptStatistics(_0x407060[_0x144ede(0x133)])]);if(_0x20c8ff[_0x144ede(0x105)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':'No\x20remote\x20BFF\x20scripts\x20found.'};const _0x24ced9=_0x407060[_0x144ede(0x142)](_0x144ede(0x124));if(_0x24ced9&&!_0x407060['nonInteractive']){const _0x2264c8=await confirmForce();if(!_0x2264c8)throw CliErrors['cancelled'](_0x144ede(0x10f));}if(_0x24ced9&&_0x407060['nonInteractive']){}const _0x5db840=buildDatasetCodeToAliasMap(_0x407060['apiDir'],_0x407060['appCode']),_0x4b310b=createHookLocationMap(_0x3ff532),_0x520b46=JSON['parse'](JSON[_0x144ede(0x10c)](_0x1aa316)),_0x34fbfd=_0x407060[_0x144ede(0x133)],_0x27664c=_0x520b46[_0x144ede(0x131)][_0x34fbfd];if(!_0x27664c)throw new Error(_0x144ede(0x117)+_0x34fbfd+_0x144ede(0x148));const _0x1b64e8=[],_0xe7b70b=[],_0xe90008=[];for(const _0x29ec0d of _0x20c8ff){const _0x37c9e9=resolveRemoteScriptTarget(_0x5c8920,_0x29ec0d,_0x4b310b,_0x375074[_0x144ede(0x109)],_0x5db840);if(!_0x37c9e9){_0xe7b70b[_0x144ede(0x136)]({'lockKey':_0x29ec0d[_0x144ede(0x10b)]+'/'+_0x29ec0d[_0x144ede(0x140)],'reason':_0x144ede(0x11a)});continue;}const _0x5cec0b=_0x375074[_0x144ede(0x109)][_0x37c9e9[_0x144ede(0x123)]];try{if(!_0x29ec0d['id'])throw new Error(_0x144ede(0x143));if(_0x29ec0d[_0x144ede(0x11e)]==null)throw new Error(_0x144ede(0x12e));const _0x371592=_0x29ec0d[_0x144ede(0x11e)],_0x5dbfa7=computeContentHash(_0x371592);if(!_0x24ced9){const _0xc8a8ab=await hasUnsyncedLocalChanges(_0x37c9e9['filePath'],_0x5cec0b,_0x5dbfa7);if(_0xc8a8ab){_0xe7b70b[_0x144ede(0x136)]({'lockKey':_0x37c9e9[_0x144ede(0x123)],'reason':'local\x20unsynced\x20changes'});continue;}}await ensureParentDirectory(_0x37c9e9[_0x144ede(0x11f)]),await writeFile(_0x37c9e9[_0x144ede(0x11f)],_0x371592,'utf8');const _0x240f21={'hash':_0x5dbfa7,'remoteId':_0x29ec0d['id'],'version':_0x29ec0d[_0x144ede(0x11b)]};_0x37c9e9['type']===_0x144ede(0x146)&&_0x37c9e9['hookLocation']&&(_0x240f21['alias']=_0x37c9e9['hookLocation']['alias'],_0x240f21[_0x144ede(0x134)]=_0x37c9e9[_0x144ede(0x141)][_0x144ede(0x134)],_0x240f21[_0x144ede(0x10e)]=_0x37c9e9['hookLocation'][_0x144ede(0x10e)],_0x240f21[_0x144ede(0x115)]=_0x37c9e9['hookLocation'][_0x144ede(0x115)]),_0x27664c[_0x144ede(0x109)][_0x37c9e9[_0x144ede(0x123)]]=_0x240f21,_0x1b64e8[_0x144ede(0x136)]({'lockKey':_0x37c9e9[_0x144ede(0x123)],'remoteId':_0x29ec0d['id']});}catch(_0x13da5d){_0xe90008['push']({'lockKey':_0x37c9e9[_0x144ede(0x123)],'error':_0x13da5d instanceof Error?_0x13da5d['message']:String(_0x13da5d)});}}return _0x27664c[_0x144ede(0x13f)]=new Date()[_0x144ede(0x145)](),await writeBffLockFile(_0x5c8920[_0x144ede(0x13b)],_0x520b46),{'ok':_0xe90008[_0x144ede(0x105)]===0x0,'data':{'pulled':_0x1b64e8,'skipped':_0xe7b70b,'failed':_0xe90008},'message':_0x144ede(0xff)+_0x1b64e8[_0x144ede(0x105)]+'\x20pulled,\x20'+_0xe7b70b[_0x144ede(0x105)]+_0x144ede(0x114)+_0xe90008[_0x144ede(0x105)]+_0x144ede(0x135)};}};async function hasUnsyncedLocalChanges(_0x15c661,_0x3beb97,_0x497ba2){const _0x15ebf4=a31_0x32d92e;if(!await fileExists(_0x15c661))return![];const _0x1ba69b=await computeFileHash(_0x15c661);if(!_0x3beb97)return _0x497ba2?_0x1ba69b!==_0x497ba2:!![];return _0x1ba69b!==_0x3beb97[_0x15ebf4(0x101)];}function buildDatasetCodeToAliasMap(_0x128be9,_0x3e6e34){const _0x117e50=a31_0x32d92e,_0xb5d080=loadAliasMap(_0x128be9,undefined,resolveApiFilePath(_0x128be9,_0x3e6e34));return new Map(_0xb5d080[_0x117e50(0x12c)](_0x5967dd=>[_0x5967dd[_0x117e50(0x134)],_0x5967dd[_0x117e50(0x12d)]]));}async function confirmForce(){const _0x4bfb41=a31_0x32d92e,_0x2b8d9c=createInterface({'input':process[_0x4bfb41(0x127)],'output':process[_0x4bfb41(0x125)]}),_0x3dc977=await new Promise(_0x1546e1=>{const _0x162172=_0x4bfb41;_0x2b8d9c[_0x162172(0x107)](_0x162172(0x126),_0x1546e1);});return _0x2b8d9c[_0x4bfb41(0x113)](),['y',_0x4bfb41(0x12a)][_0x4bfb41(0x120)](_0x3dc977[_0x4bfb41(0x128)]()['toLowerCase']());}
1
+ const a31_0x44ad25=a31_0x326a;(function(_0x2e1c48,_0x1a67fe){const _0xaeca0e=a31_0x326a,_0x11a06e=_0x2e1c48();while(!![]){try{const _0x23e6b4=parseInt(_0xaeca0e(0xc1))/0x1+parseInt(_0xaeca0e(0x9c))/0x2+parseInt(_0xaeca0e(0xcc))/0x3*(parseInt(_0xaeca0e(0xd2))/0x4)+-parseInt(_0xaeca0e(0xa9))/0x5+parseInt(_0xaeca0e(0xb0))/0x6*(-parseInt(_0xaeca0e(0xa5))/0x7)+parseInt(_0xaeca0e(0xa3))/0x8*(parseInt(_0xaeca0e(0xce))/0x9)+parseInt(_0xaeca0e(0xc2))/0xa;if(_0x23e6b4===_0x1a67fe)break;else _0x11a06e['push'](_0x11a06e['shift']());}catch(_0x3be8f0){_0x11a06e['push'](_0x11a06e['shift']());}}}(a31_0x440f,0x97945));import{createInterface}from'node:readline';function a31_0x440f(){const _0x3351ba=['stderr','pull','type','functionName','5207658VAbwhI','lockFilePath','functionNode','lockKey','scriptsRoot','datasetCode','COMMON','filePath','cancelled','apps','Would\x20inspect\x20','question','close','unresolvable\x20target\x20path','operationType','scriptType','bool','642976wyzNkJ','10817770QHWdAb','\x20pulled,\x20','Pull\x20remote\x20BFF\x20scripts\x20to\x20local','&type=','str','Pull\x20complete:\x20','all','No\x20remote\x20BFF\x20scripts\x20found.','appCode','Lock\x20scope\x20for\x20app\x20\x22','374037KGOMjR','functions','45hwZzmZ','--type\x20must\x20be\x20COMMON,\x20ENDPOINT,\x20or\x20HOOK.','Pull\x20only\x20this\x20script\x20type','stringify','8UfRqjD','alias','\x20skipped,\x20','ENDPOINT','write','boolean','scriptContent','nonInteractive','Force\x20overwrite\x20local\x20unsynced\x20changes','lastSync','Remote\x20script\x20missing\x20content.','trim','push','hash','\x22\x20not\x20found\x20after\x20ensureLockScope.','Force\x20pull\x20cancelled.','version','Force\x20pull\x20will\x20overwrite\x20local\x20unsynced\x20changes.\x20Continue?\x20[y/N]\x20','1039712PgYNLC','length','/api/management/library/scripts/list?appCode=','HOOK','apiDir','force','utf8','81568wFigvr','parse','7CpgFFJ','skipped','bff','hookLocation','5280675FVfNhs','toISOString','would_pull'];a31_0x440f=function(){return _0x3351ba;};return a31_0x440f();}import{writeFile}from'node:fs/promises';import{listBffScripts,getBffScriptStatistics}from'../../core/api-client.js';import{loadAliasMap}from'../../core/alias-resolver.js';import{resolveApiFilePath}from'../../context.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{createHookLocationMap,ensureParentDirectory,fileExists,normalizeBffType,resolveRemoteScriptTarget}from'../../core/bff/file-system.js';import{computeContentHash,computeFileHash}from'../../core/bff/hash.js';import{createEmptyBffLock,ensureLockScope,readBffLockFile,writeBffLockFile}from'../../core/bff/lock.js';function a31_0x326a(_0xab36e1,_0x5682cb){_0xab36e1=_0xab36e1-0x91;const _0x440fb7=a31_0x440f();let _0x326a5c=_0x440fb7[_0xab36e1];return _0x326a5c;}import{CliErrors}from'../../errors.js';export const bffPull={'service':a31_0x44ad25(0xa7),'command':a31_0x44ad25(0xad),'description':a31_0x44ad25(0xc4),'risk':a31_0x44ad25(0xd6),'flags':[{'name':a31_0x44ad25(0xae),'type':'string','description':a31_0x44ad25(0xd0),'enum':[a31_0x44ad25(0xb6),a31_0x44ad25(0xd5),a31_0x44ad25(0x9f)]},{'name':a31_0x44ad25(0xa1),'type':a31_0x44ad25(0xd7),'description':a31_0x44ad25(0x92)}],async 'dryRun'(_0x5b1263){const _0x198cd9=a31_0x44ad25,_0x5f19dd=loadBffProjectConfig(_0x5b1263[_0x198cd9(0xca)]),_0x176876=await readBffLockFile(_0x5f19dd['lockFilePath']),{appLock:_0x564419}=ensureLockScope(_0x176876??createEmptyBffLock(),_0x5b1263[_0x198cd9(0xca)],_0x5f19dd[_0x198cd9(0xb4)],_0x198cd9(0xad)),_0x371988=normalizeBffType(_0x5b1263['str'](_0x198cd9(0xae)))??undefined,_0x5b79a6=buildDatasetCodeToAliasMap(_0x5b1263['apiDir'],_0x5b1263[_0x198cd9(0xca)]),[_0x5084b8,_0x31597f]=await Promise[_0x198cd9(0xc8)]([listBffScripts(_0x5b1263['appCode'],_0x371988),getBffScriptStatistics(_0x5b1263[_0x198cd9(0xca)])]),_0x52f42e=createHookLocationMap(_0x31597f),_0xcac661=[];for(const _0x458aaa of _0x5084b8){const _0x702916=resolveRemoteScriptTarget(_0x5f19dd,_0x458aaa,_0x52f42e,_0x564419[_0x198cd9(0xcd)],_0x5b79a6);if(!_0x702916){_0xcac661[_0x198cd9(0x96)]({'scriptType':_0x458aaa[_0x198cd9(0xbf)],'functionName':_0x458aaa[_0x198cd9(0xaf)]??'','status':_0x198cd9(0xa6),'reason':_0x198cd9(0xbd)});continue;}const _0x590121=_0x564419[_0x198cd9(0xcd)][_0x702916[_0x198cd9(0xb3)]],_0x4f81da=_0x458aaa['scriptContent']!=null?computeContentHash(_0x458aaa[_0x198cd9(0xd8)]):undefined,_0x53b90b=await hasUnsyncedLocalChanges(_0x702916[_0x198cd9(0xb7)],_0x590121,_0x4f81da);_0xcac661[_0x198cd9(0x96)]({'lockKey':_0x702916[_0x198cd9(0xb3)],'filePath':_0x702916[_0x198cd9(0xb7)],'remoteId':_0x458aaa['id']??null,'status':_0x53b90b?'conflict':_0x198cd9(0xab)});}return{'method':'GET','url':_0x198cd9(0x9e)+_0x5b1263[_0x198cd9(0xca)]+(_0x371988?_0x198cd9(0xc5)+_0x371988:''),'body':{'appCode':_0x5b1263[_0x198cd9(0xca)],'filterType':_0x371988??null,'files':_0xcac661},'description':_0x198cd9(0xba)+_0xcac661[_0x198cd9(0x9d)]+'\x20remote\x20BFF\x20script(s)\x20for\x20pull'};},async 'execute'(_0x2196eb){const _0x37be49=a31_0x44ad25,_0x42421b=loadBffProjectConfig(_0x2196eb[_0x37be49(0xca)]),_0x328cf2=await readBffLockFile(_0x42421b['lockFilePath']),{lockData:_0x465508,appLock:_0x3cc327}=ensureLockScope(_0x328cf2??createEmptyBffLock(),_0x2196eb[_0x37be49(0xca)],_0x42421b[_0x37be49(0xb4)],_0x37be49(0xad)),_0x5d63e1=normalizeBffType(_0x2196eb[_0x37be49(0xc6)]('type'))??undefined;if(_0x2196eb[_0x37be49(0xc6)](_0x37be49(0xae))&&!_0x5d63e1)throw CliErrors['validation'](_0x37be49(0xcf));const [_0x4dc342,_0x398e07]=await Promise['all']([listBffScripts(_0x2196eb[_0x37be49(0xca)],_0x5d63e1),getBffScriptStatistics(_0x2196eb[_0x37be49(0xca)])]);if(_0x4dc342[_0x37be49(0x9d)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x37be49(0xc9)};const _0x272d75=_0x2196eb[_0x37be49(0xc0)](_0x37be49(0xa1));if(_0x272d75&&!_0x2196eb[_0x37be49(0x91)]){const _0x5dfed4=await confirmForce();if(!_0x5dfed4)throw CliErrors[_0x37be49(0xb8)](_0x37be49(0x99));}if(_0x272d75&&_0x2196eb[_0x37be49(0x91)]){}const _0x228e19=buildDatasetCodeToAliasMap(_0x2196eb[_0x37be49(0xa0)],_0x2196eb['appCode']),_0x4dafe1=createHookLocationMap(_0x398e07),_0x101b7f=JSON[_0x37be49(0xa4)](JSON[_0x37be49(0xd1)](_0x465508)),_0x39f847=_0x2196eb['appCode'],_0x559d26=_0x101b7f[_0x37be49(0xb9)][_0x39f847];if(!_0x559d26)throw new Error(_0x37be49(0xcb)+_0x39f847+_0x37be49(0x98));const _0x30d70c=[],_0x1ee592=[],_0xe50c7b=[];for(const _0x5df6b8 of _0x4dc342){const _0x2442bf=resolveRemoteScriptTarget(_0x42421b,_0x5df6b8,_0x4dafe1,_0x3cc327[_0x37be49(0xcd)],_0x228e19);if(!_0x2442bf){_0x1ee592[_0x37be49(0x96)]({'lockKey':_0x5df6b8[_0x37be49(0xbf)]+'/'+_0x5df6b8['functionName'],'reason':_0x37be49(0xbd)});continue;}const _0x4696bd=_0x3cc327[_0x37be49(0xcd)][_0x2442bf['lockKey']];try{if(!_0x5df6b8['id'])throw new Error('Remote\x20script\x20missing\x20id.');if(_0x5df6b8['scriptContent']==null)throw new Error(_0x37be49(0x94));const _0x113303=_0x5df6b8[_0x37be49(0xd8)],_0x246844=computeContentHash(_0x113303);if(!_0x272d75){const _0x4c280c=await hasUnsyncedLocalChanges(_0x2442bf['filePath'],_0x4696bd,_0x246844);if(_0x4c280c){_0x1ee592[_0x37be49(0x96)]({'lockKey':_0x2442bf['lockKey'],'reason':'local\x20unsynced\x20changes'});continue;}}await ensureParentDirectory(_0x2442bf[_0x37be49(0xb7)]),await writeFile(_0x2442bf[_0x37be49(0xb7)],_0x113303,_0x37be49(0xa2));const _0x2ac34f={'hash':_0x246844,'remoteId':_0x5df6b8['id'],'version':_0x5df6b8[_0x37be49(0x9a)]};_0x2442bf[_0x37be49(0xae)]===_0x37be49(0x9f)&&_0x2442bf[_0x37be49(0xa8)]&&(_0x2ac34f[_0x37be49(0xd3)]=_0x2442bf[_0x37be49(0xa8)][_0x37be49(0xd3)],_0x2ac34f[_0x37be49(0xb5)]=_0x2442bf[_0x37be49(0xa8)][_0x37be49(0xb5)],_0x2ac34f[_0x37be49(0xbe)]=_0x2442bf[_0x37be49(0xa8)][_0x37be49(0xbe)],_0x2ac34f[_0x37be49(0xb2)]=_0x2442bf[_0x37be49(0xa8)][_0x37be49(0xb2)]),_0x559d26[_0x37be49(0xcd)][_0x2442bf[_0x37be49(0xb3)]]=_0x2ac34f,_0x30d70c[_0x37be49(0x96)]({'lockKey':_0x2442bf[_0x37be49(0xb3)],'remoteId':_0x5df6b8['id']});}catch(_0x3f2005){_0xe50c7b['push']({'lockKey':_0x2442bf[_0x37be49(0xb3)],'error':_0x3f2005 instanceof Error?_0x3f2005['message']:String(_0x3f2005)});}}return _0x559d26[_0x37be49(0x93)]=new Date()[_0x37be49(0xaa)](),await writeBffLockFile(_0x42421b[_0x37be49(0xb1)],_0x101b7f),{'ok':_0xe50c7b[_0x37be49(0x9d)]===0x0,'data':{'pulled':_0x30d70c,'skipped':_0x1ee592,'failed':_0xe50c7b},'message':_0x37be49(0xc7)+_0x30d70c[_0x37be49(0x9d)]+_0x37be49(0xc3)+_0x1ee592[_0x37be49(0x9d)]+_0x37be49(0xd4)+_0xe50c7b['length']+'\x20failed'};}};async function hasUnsyncedLocalChanges(_0x3067e5,_0xa59cda,_0x445866){const _0x44870a=a31_0x44ad25;if(!await fileExists(_0x3067e5))return![];const _0x63aaa5=await computeFileHash(_0x3067e5);if(!_0xa59cda)return _0x445866?_0x63aaa5!==_0x445866:!![];return _0x63aaa5!==_0xa59cda[_0x44870a(0x97)];}function buildDatasetCodeToAliasMap(_0x230617,_0x3244bc){const _0x2623ff=a31_0x44ad25,_0x4b6cd2=loadAliasMap(_0x230617,undefined,resolveApiFilePath(_0x230617,_0x3244bc));return new Map(_0x4b6cd2['map'](_0x152d28=>[_0x152d28[_0x2623ff(0xb5)],_0x152d28['alias']]));}async function confirmForce(){const _0x961903=a31_0x44ad25,_0x18c545=createInterface({'input':process['stdin'],'output':process[_0x961903(0xac)]}),_0xa037f8=await new Promise(_0x394214=>{const _0x23b925=_0x961903;_0x18c545[_0x23b925(0xbb)](_0x23b925(0x9b),_0x394214);});return _0x18c545[_0x961903(0xbc)](),['y','yes']['includes'](_0xa037f8[_0x961903(0x95)]()['toLowerCase']());}
@@ -1 +1 @@
1
- const a32_0x1926c2=a32_0x1623;(function(_0x44c078,_0x1d76c5){const _0x42719f=a32_0x1623,_0x5c9c15=_0x44c078();while(!![]){try{const _0x33acd8=parseInt(_0x42719f(0x177))/0x1+-parseInt(_0x42719f(0x16b))/0x2*(parseInt(_0x42719f(0x182))/0x3)+-parseInt(_0x42719f(0x167))/0x4+-parseInt(_0x42719f(0x15f))/0x5*(parseInt(_0x42719f(0x147))/0x6)+parseInt(_0x42719f(0x14a))/0x7*(-parseInt(_0x42719f(0x176))/0x8)+parseInt(_0x42719f(0x183))/0x9*(-parseInt(_0x42719f(0x154))/0xa)+-parseInt(_0x42719f(0x175))/0xb*(-parseInt(_0x42719f(0x156))/0xc);if(_0x33acd8===_0x1d76c5)break;else _0x5c9c15['push'](_0x5c9c15['shift']());}catch(_0x5cfa49){_0x5c9c15['push'](_0x5c9c15['shift']());}}}(a32_0x315d,0x8894d));function a32_0x1623(_0x1ebc11,_0x377e2f){_0x1ebc11=_0x1ebc11-0x144;const _0x315db2=a32_0x315d();let _0x1623e2=_0x315db2[_0x1ebc11];return _0x1623e2;}import{readFile}from'node:fs/promises';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';function a32_0x315d(){const _0x21ea2f=['message','lastSync','type','11cFJIfV','16816ViHtTD','74606tubPoT','some','remoteId','validation','lockFilePath','Push\x20only\x20the\x20named\x20function\x20(requires\x20--type)','datasetCode','\x20api\x20pull`\x20to\x20refresh\x20api.ts,\x20or\x20verify\x20the\x20dataset\x20exists.','POST','unchanged','version','2974563ENYZZT','18927kFkLjn','Would\x20inspect\x20','HOOK','apiDir','push','update','appCode','No\x20local\x20BFF\x20functions\x20found.','toISOString','bool','Incomplete\x20HOOK\x20path:\x20','code','filePath','48HKGPDX',':\x20missing\x20remote\x20version.\x20Run\x20`push`\x20after\x20`pull`\x20to\x20sync\x20version\x20info.','lockKey','2751jypXbY','string','bff','operationType','script','\x22.\x20','set','filter','\x20failed','name','1220MJylUP','\x20skipped,\x20','48260040JzcwST','Force\x20push\x20ignoring\x20hash\x20protection','scriptsRoot','datasetCodeToId','create','boolean','hash','Local\x20function\x20not\x20found:\x20','Push\x20complete:\x20','476430EPIFzk','alias','aliasToDatasetCode','length','map','force','datasetId','would_push','2801512tfivUy','functionNode','description','Push\x20local\x20BFF\x20scripts\x20to\x20remote','2hGMABY','str','utf8','get','has','functions','ENDPOINT'];a32_0x315d=function(){return _0x21ea2f;};return a32_0x315d();}import{extractScriptDescription}from'../../core/bff/utils.js';import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';export const bffPush={'service':a32_0x1926c2(0x14c),'command':'push','description':a32_0x1926c2(0x16a),'risk':'high-risk-write','flags':[{'name':a32_0x1926c2(0x174),'type':a32_0x1926c2(0x14b),'description':'Push\x20only\x20this\x20script\x20type','enum':['COMMON',a32_0x1926c2(0x171),'HOOK']},{'name':a32_0x1926c2(0x153),'type':a32_0x1926c2(0x14b),'description':a32_0x1926c2(0x17c)},{'name':'force','type':a32_0x1926c2(0x15b),'description':a32_0x1926c2(0x157)}],async 'dryRun'(_0x120eff){const _0x31e053=a32_0x1926c2,_0x1389b7=loadBffProjectConfig(_0x120eff['appCode']),_0x37e5a7=await readBffLockFile(_0x1389b7[_0x31e053(0x17b)]),{appLock:_0x5e1854}=ensureLockScope(_0x37e5a7??createEmptyBffLock(),_0x120eff[_0x31e053(0x189)],_0x1389b7[_0x31e053(0x158)],_0x31e053(0x187)),_0x760aec=await getTargetFunctions(_0x1389b7,_0x120eff),_0x440789=_0x120eff[_0x31e053(0x18c)](_0x31e053(0x164)),_0xe9493b=[];for(const _0x5bc306 of _0x760aec){const _0x519874=await computeFileHash(_0x5bc306[_0x31e053(0x146)]),_0x49c717=_0x5e1854[_0x31e053(0x170)][_0x5bc306[_0x31e053(0x149)]],_0x1810a3=!!_0x49c717&&_0x49c717[_0x31e053(0x15c)]===_0x519874;_0xe9493b[_0x31e053(0x187)]({'lockKey':_0x5bc306[_0x31e053(0x149)],'filePath':_0x5bc306['filePath'],'remoteId':_0x49c717?.[_0x31e053(0x179)]??null,'mode':_0x49c717?.['remoteId']?_0x31e053(0x188):_0x31e053(0x15a),'status':!_0x440789&&_0x1810a3?_0x31e053(0x180):_0x31e053(0x166)});}return{'method':_0x31e053(0x17f),'url':'/api/management/library/scripts/save','body':{'appCode':_0x120eff[_0x31e053(0x189)],'force':_0x440789,'files':_0xe9493b},'description':_0x31e053(0x184)+_0xe9493b[_0x31e053(0x162)]+'\x20local\x20BFF\x20script(s)\x20for\x20push'};},async 'execute'(_0x4a2290){const _0x399986=a32_0x1926c2,_0x17dbb3=loadBffProjectConfig(_0x4a2290[_0x399986(0x189)]),_0x454c36=await readBffLockFile(_0x17dbb3[_0x399986(0x17b)]),{lockData:_0x24711b,appLock:_0x103a22}=ensureLockScope(_0x454c36??createEmptyBffLock(),_0x4a2290['appCode'],_0x17dbb3[_0x399986(0x158)],_0x399986(0x187)),_0x25d548=await getTargetFunctions(_0x17dbb3,_0x4a2290);if(_0x25d548[_0x399986(0x162)]===0x0)return{'ok':!![],'data':{'uploaded':[],'skipped':[],'failed':[]},'message':_0x399986(0x18a)};const _0x39b902=_0x4a2290['bool'](_0x399986(0x164)),_0x24c723=await buildHookMaps(_0x4a2290[_0x399986(0x189)],_0x4a2290[_0x399986(0x186)],_0x25d548,_0x103a22),_0x141041=[],_0x273f73=[],_0x3dc234=[];for(const _0x484bd5 of _0x25d548){const _0x6c2d8d=await computeFileHash(_0x484bd5[_0x399986(0x146)]),_0x8baa5d=_0x103a22[_0x399986(0x170)][_0x484bd5[_0x399986(0x149)]];if(!_0x39b902&&_0x8baa5d&&_0x8baa5d[_0x399986(0x15c)]===_0x6c2d8d){_0x273f73[_0x399986(0x187)]({'lockKey':_0x484bd5[_0x399986(0x149)],'reason':_0x399986(0x180)});continue;}try{await uploadSingleFunction(_0x4a2290[_0x399986(0x189)],_0x484bd5,_0x103a22,_0x24c723);const _0x34b785=_0x103a22[_0x399986(0x170)][_0x484bd5[_0x399986(0x149)]];_0x141041[_0x399986(0x187)]({'lockKey':_0x484bd5[_0x399986(0x149)],'remoteId':_0x34b785?.['remoteId']??0x0});}catch(_0x492b21){_0x3dc234['push']({'lockKey':_0x484bd5[_0x399986(0x149)],'error':_0x492b21 instanceof Error?_0x492b21[_0x399986(0x172)]:String(_0x492b21)});}}return _0x103a22[_0x399986(0x173)]=new Date()[_0x399986(0x18b)](),await writeBffLockFile(_0x17dbb3[_0x399986(0x17b)],_0x24711b),{'ok':_0x3dc234[_0x399986(0x162)]===0x0,'data':{'uploaded':_0x141041,'skipped':_0x273f73,'failed':_0x3dc234},'message':_0x399986(0x15e)+_0x141041[_0x399986(0x162)]+'\x20uploaded,\x20'+_0x273f73[_0x399986(0x162)]+_0x399986(0x155)+_0x3dc234[_0x399986(0x162)]+_0x399986(0x152)};}};async function getTargetFunctions(_0x116852,_0x2c8821){const _0x49482f=a32_0x1926c2,_0x3ddb90=_0x2c8821[_0x49482f(0x16c)]('type'),_0x2fee5f=_0x2c8821[_0x49482f(0x16c)]('name'),_0xc649b1=normalizeBffType(_0x3ddb90)??undefined;if(_0x2fee5f&&!_0xc649b1)throw CliErrors[_0x49482f(0x17a)]('--name\x20requires\x20--type\x20to\x20identify\x20the\x20function.');const _0xf59672=await scanLocalBffFunctions(_0x116852,_0xc649b1);if(_0x2fee5f){const _0x4ef764=_0xf59672[_0x49482f(0x151)](_0x54855b=>_0x54855b[_0x49482f(0x153)]===_0x2fee5f);if(_0x4ef764[_0x49482f(0x162)]===0x0)throw CliErrors[_0x49482f(0x17a)](_0x49482f(0x15d)+_0xc649b1+'/'+_0x2fee5f);return _0x4ef764;}return _0xf59672;}async function buildHookMaps(_0x5ec0a7,_0xc27c3c,_0x244d8c,_0x35f250){const _0x1676ac=a32_0x1926c2,_0x365879=_0x244d8c[_0x1676ac(0x178)](_0x10a90c=>_0x10a90c[_0x1676ac(0x174)]==='HOOK');if(!_0x365879)return{'aliasToDatasetCode':new Map(),'datasetCodeToId':new Map()};const _0x444c98=loadAliasMap(_0xc27c3c,undefined,resolveApiFilePath(_0xc27c3c,_0x5ec0a7)),_0x144e7f=new Map(_0x444c98[_0x1676ac(0x163)](_0x3d6971=>[_0x3d6971['alias'],_0x3d6971['datasetCode']]));for(const _0x49322f of Object['values'](_0x35f250[_0x1676ac(0x170)])){_0x49322f[_0x1676ac(0x160)]&&_0x49322f[_0x1676ac(0x17d)]&&!_0x144e7f['has'](_0x49322f['alias'])&&_0x144e7f[_0x1676ac(0x150)](_0x49322f[_0x1676ac(0x160)],_0x49322f[_0x1676ac(0x17d)]);}const _0x35ee30=await listDatasets(_0x5ec0a7),_0x75686=new Map(_0x35ee30[_0x1676ac(0x163)](_0xf3bc0b=>[_0xf3bc0b[_0x1676ac(0x145)],_0xf3bc0b['id']]));return{'aliasToDatasetCode':_0x144e7f,'datasetCodeToId':_0x75686};}async function uploadSingleFunction(_0x1fe6a1,_0x4c562a,_0x1fccc2,_0x59d833){const _0x240439=a32_0x1926c2,_0x2407aa=await readFile(_0x4c562a[_0x240439(0x146)],_0x240439(0x16d)),_0x8b5bd5=await computeFileHash(_0x4c562a['filePath']),_0x1a888b=_0x1fccc2[_0x240439(0x170)][_0x4c562a[_0x240439(0x149)]];if(_0x1a888b?.[_0x240439(0x179)]&&_0x1a888b[_0x240439(0x181)]==null)throw CliErrors[_0x240439(0x17a)](_0x4c562a[_0x240439(0x149)]+_0x240439(0x148));let _0x139748=extractScriptDescription(_0x2407aa);if(!_0x139748&&_0x1a888b?.['remoteId']){const _0x10a14e=await getBffScriptInfo(_0x1a888b[_0x240439(0x179)]);_0x139748=_0x10a14e[_0x240439(0x169)]||undefined;}const _0xa90c8f={'appCode':_0x1fe6a1,'functionName':_0x4c562a[_0x240439(0x153)],'scriptType':_0x4c562a['type'],'scriptContent':_0x2407aa};if(_0x1a888b?.['remoteId'])_0xa90c8f['id']=_0x1a888b[_0x240439(0x179)];if(_0x1a888b?.[_0x240439(0x181)]!=null)_0xa90c8f[_0x240439(0x181)]=_0x1a888b[_0x240439(0x181)];if(_0x139748)_0xa90c8f[_0x240439(0x169)]=_0x139748;if(_0x4c562a['type']==='HOOK'){const _0x183840=_0x4c562a['alias'];if(!_0x183840||!_0x4c562a[_0x240439(0x14d)]||!_0x4c562a['functionNode'])throw CliErrors[_0x240439(0x17a)](_0x240439(0x144)+_0x4c562a[_0x240439(0x149)]);const _0x1291a0=_0x59d833[_0x240439(0x161)][_0x240439(0x16e)](_0x183840)??_0x1a888b?.[_0x240439(0x17d)]??_0x183840,_0x4c22eb=_0x59d833[_0x240439(0x159)][_0x240439(0x16e)](_0x1291a0);if(!_0x4c22eb)throw CliErrors[_0x240439(0x17a)]('Cannot\x20resolve\x20dataset\x20for\x20\x22'+_0x183840+_0x240439(0x14f)+('Run\x20`'+CLI_BIN_NAME+_0x240439(0x17e)));_0xa90c8f[_0x240439(0x165)]=_0x4c22eb,_0xa90c8f[_0x240439(0x14d)]=_0x4c562a[_0x240439(0x14d)],_0xa90c8f['functionNode']=_0x4c562a[_0x240439(0x168)];}const _0x3e62b3=await saveBffScript(_0xa90c8f),_0x5129f6=_0x3e62b3['id'],_0x13fa83=_0x3e62b3[_0x240439(0x14e)]??await getBffScriptInfo(_0x5129f6),_0x4d7529={'hash':_0x8b5bd5,'remoteId':_0x5129f6,'version':_0x13fa83['version']};if(_0x4c562a[_0x240439(0x174)]===_0x240439(0x185)){const _0x18a842=_0x4c562a['alias'],_0x128c97=_0x59d833[_0x240439(0x161)][_0x240439(0x16e)](_0x18a842)??_0x1a888b?.[_0x240439(0x17d)]??_0x18a842;_0x59d833[_0x240439(0x161)][_0x240439(0x16f)](_0x18a842)?_0x4d7529[_0x240439(0x160)]=_0x18a842:_0x4d7529[_0x240439(0x160)]=_0x1a888b?.[_0x240439(0x160)],_0x4d7529[_0x240439(0x17d)]=_0x128c97,_0x4d7529[_0x240439(0x14d)]=_0x4c562a[_0x240439(0x14d)],_0x4d7529[_0x240439(0x168)]=_0x4c562a[_0x240439(0x168)];}_0x1fccc2[_0x240439(0x170)][_0x4c562a[_0x240439(0x149)]]=_0x4d7529;}
1
+ const a32_0x2fadf1=a32_0x1140;(function(_0x113017,_0x13ccbe){const _0x254637=a32_0x1140,_0x57b044=_0x113017();while(!![]){try{const _0x4a8d7d=parseInt(_0x254637(0xb4))/0x1+-parseInt(_0x254637(0x86))/0x2*(-parseInt(_0x254637(0x95))/0x3)+-parseInt(_0x254637(0xc3))/0x4+-parseInt(_0x254637(0xa4))/0x5*(parseInt(_0x254637(0xbe))/0x6)+-parseInt(_0x254637(0x77))/0x7+-parseInt(_0x254637(0x99))/0x8*(parseInt(_0x254637(0x84))/0x9)+parseInt(_0x254637(0x9a))/0xa*(parseInt(_0x254637(0xa0))/0xb);if(_0x4a8d7d===_0x13ccbe)break;else _0x57b044['push'](_0x57b044['shift']());}catch(_0x1a65ee){_0x57b044['push'](_0x57b044['shift']());}}}(a32_0x53f3,0x87b3f));import{readFile}from'node:fs/promises';import{saveBffScript,getBffScriptInfo,listDatasets,clearBffScriptCache}from'../../core/api-client.js';function a32_0x53f3(){const _0x5c6bd7=['9MBYHCl','bool','780418MKXbCV','type','every','datasetCode','has','str','runtime\x20cache\x20clear\x20failed','stringify','Push\x20only\x20this\x20script\x20type','join','Cannot\x20resolve\x20dataset\x20for\x20\x22','name','aliasToDatasetCode','utf8','Push\x20complete:\x20','3BaaXjk','\x20uploaded,\x20','lockFilePath','Runtime\x20script\x20cache\x20cleared.','2002168RaXJgz','3514850TjXVOw','\x22.\x20','filter','boolean','COMMON','Lock\x20scope\x20for\x20app\x20\x22','22uEFFoY','script','\x20skipped,\x20','create','96665EfQZFy','attempted','POST','version','lastSync','high-risk-write','map','set','Would\x20inspect\x20','hash','remoteId','appCode','No\x20local\x20BFF\x20functions\x20found.','functions','force','unchanged','555747NqKimr','apps','datasetId','alias','some','functionNode','bff','\x20failed,\x20','datasetCodeToId','get','174NvPcHw','lockKey','status','Incomplete\x20HOOK\x20path:\x20','\x20local\x20BFF\x20script(s)\x20for\x20push\x20and\x20clear\x20runtime\x20cache\x20if\x20files\x20are\x20uploaded','208oOxrFK','operationType','apiDir','code',':\x20missing\x20remote\x20version.\x20Run\x20`push`\x20after\x20`pull`\x20to\x20sync\x20version\x20info.','runtime\x20cache\x20not\x20needed','Push\x20local\x20BFF\x20scripts\x20to\x20remote','filePath','1974749twfMCw','string','Push\x20only\x20the\x20named\x20function\x20(requires\x20--type)','validation','/api/management/library/scripts/save','toISOString','scriptsRoot','ENDPOINT','push','cleared','HOOK','parse','length'];a32_0x53f3=function(){return _0x5c6bd7;};return a32_0x53f3();}import{loadAliasMap}from'../../core/alias-resolver.js';import{resolveApiFilePath}from'../../context.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{normalizeBffType,scanLocalBffFunctions}from'../../core/bff/file-system.js';import{computeFileHash}from'../../core/bff/hash.js';import{createEmptyBffLock,ensureLockScope,readBffLockFile,writeBffLockFile}from'../../core/bff/lock.js';import{extractScriptDescription}from'../../core/bff/utils.js';import{sleep}from'../../utils/sleep.js';import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';const CACHE_CLEAR_ATTEMPTS=0x2,CACHE_CLEAR_INTERVAL_MS=0x12c;export const bffPush={'service':a32_0x2fadf1(0xba),'command':a32_0x2fadf1(0x7f),'description':a32_0x2fadf1(0x75),'risk':a32_0x2fadf1(0xa9),'flags':[{'name':a32_0x2fadf1(0x87),'type':a32_0x2fadf1(0x78),'description':a32_0x2fadf1(0x8e),'enum':[a32_0x2fadf1(0x9e),a32_0x2fadf1(0x7e),'HOOK']},{'name':a32_0x2fadf1(0x91),'type':a32_0x2fadf1(0x78),'description':a32_0x2fadf1(0x79)},{'name':a32_0x2fadf1(0xb2),'type':a32_0x2fadf1(0x9d),'description':'Force\x20push\x20ignoring\x20hash\x20protection'}],async 'dryRun'(_0x6a32a1){const _0x461776=a32_0x2fadf1,_0x45d37b=loadBffProjectConfig(_0x6a32a1['appCode']),_0x300ba9=await readBffLockFile(_0x45d37b[_0x461776(0x97)]),{appLock:_0x12b369}=ensureLockScope(_0x300ba9??createEmptyBffLock(),_0x6a32a1[_0x461776(0xaf)],_0x45d37b['scriptsRoot'],_0x461776(0x7f)),_0x14fbdc=await getTargetFunctions(_0x45d37b,_0x6a32a1),_0x3a160a=_0x6a32a1[_0x461776(0x85)](_0x461776(0xb2)),_0x12d73e=[];for(const _0x41b420 of _0x14fbdc){const _0x3e7fa5=await computeFileHash(_0x41b420[_0x461776(0x76)]),_0xa4d382=_0x12b369[_0x461776(0xb1)][_0x41b420[_0x461776(0xbf)]],_0x5e53e7=!!_0xa4d382&&_0xa4d382[_0x461776(0xad)]===_0x3e7fa5;_0x12d73e[_0x461776(0x7f)]({'lockKey':_0x41b420[_0x461776(0xbf)],'filePath':_0x41b420['filePath'],'remoteId':_0xa4d382?.[_0x461776(0xae)]??null,'mode':_0xa4d382?.['remoteId']?'update':_0x461776(0xa3),'status':!_0x3a160a&&_0x5e53e7?_0x461776(0xb3):'would_push'});}return{'method':_0x461776(0xa6),'url':_0x461776(0x7b),'body':{'appCode':_0x6a32a1[_0x461776(0xaf)],'force':_0x3a160a,'files':_0x12d73e,'cacheClearAtRuntime':_0x12d73e[_0x461776(0xb8)](_0x7d283c=>_0x7d283c[_0x461776(0xc0)]==='would_push'),'cacheClearAtRuntimeTimes':_0x12d73e[_0x461776(0xb8)](_0x1f2af1=>_0x1f2af1[_0x461776(0xc0)]==='would_push')?CACHE_CLEAR_ATTEMPTS:0x0},'description':_0x461776(0xac)+_0x12d73e[_0x461776(0x83)]+_0x461776(0xc2)};},async 'execute'(_0x2b7d2e){const _0x251cea=a32_0x2fadf1,_0x396e2b=loadBffProjectConfig(_0x2b7d2e[_0x251cea(0xaf)]),_0x5dbb02=await readBffLockFile(_0x396e2b[_0x251cea(0x97)]),{lockData:_0x5656a6,appLock:_0x5de104}=ensureLockScope(_0x5dbb02??createEmptyBffLock(),_0x2b7d2e['appCode'],_0x396e2b[_0x251cea(0x7d)],_0x251cea(0x7f)),_0x56373b=await getTargetFunctions(_0x396e2b,_0x2b7d2e);if(_0x56373b[_0x251cea(0x83)]===0x0)return{'ok':!![],'data':{'uploaded':[],'skipped':[],'failed':[]},'message':_0x251cea(0xb0)};const _0x355e1d=_0x2b7d2e[_0x251cea(0x85)](_0x251cea(0xb2)),_0x31fc8e=JSON[_0x251cea(0x82)](JSON[_0x251cea(0x8d)](_0x5656a6)),_0x1b6b55=_0x31fc8e[_0x251cea(0xb5)][_0x2b7d2e[_0x251cea(0xaf)]];if(!_0x1b6b55)throw new Error(_0x251cea(0x9f)+_0x2b7d2e[_0x251cea(0xaf)]+'\x22\x20not\x20found\x20after\x20ensureLockScope.');const _0x21edbe=await buildHookMaps(_0x2b7d2e[_0x251cea(0xaf)],_0x2b7d2e[_0x251cea(0xc5)],_0x56373b,_0x1b6b55),_0x5391be=[],_0x29ab92=[],_0x1272b6=[];for(const _0x3ce658 of _0x56373b){const _0x444fc4=await computeFileHash(_0x3ce658['filePath']),_0x543acc=_0x1b6b55[_0x251cea(0xb1)][_0x3ce658['lockKey']];if(!_0x355e1d&&_0x543acc&&_0x543acc[_0x251cea(0xad)]===_0x444fc4){_0x29ab92[_0x251cea(0x7f)]({'lockKey':_0x3ce658[_0x251cea(0xbf)],'reason':_0x251cea(0xb3)});continue;}try{await uploadSingleFunction(_0x2b7d2e[_0x251cea(0xaf)],_0x3ce658,_0x1b6b55,_0x21edbe);const _0x80955f=_0x1b6b55[_0x251cea(0xb1)][_0x3ce658['lockKey']];_0x5391be[_0x251cea(0x7f)]({'lockKey':_0x3ce658[_0x251cea(0xbf)],'remoteId':_0x80955f?.['remoteId']??0x0});}catch(_0x279229){_0x1272b6[_0x251cea(0x7f)]({'lockKey':_0x3ce658['lockKey'],'error':_0x279229 instanceof Error?_0x279229['message']:String(_0x279229)});}}_0x1b6b55[_0x251cea(0xa8)]=new Date()[_0x251cea(0x7c)](),await writeBffLockFile(_0x396e2b[_0x251cea(0x97)],_0x31fc8e),await waitForUploadedLockEntries(_0x396e2b['lockFilePath'],_0x2b7d2e['appCode'],_0x5391be[_0x251cea(0xaa)](_0x4d811b=>_0x4d811b[_0x251cea(0xbf)]));let _0x4114f1={'attempted':![],'cleared':![]};if(_0x5391be[_0x251cea(0x83)]>0x0)try{let _0x42236b='';for(let _0xb08ae2=0x0;_0xb08ae2<CACHE_CLEAR_ATTEMPTS;_0xb08ae2+=0x1){_0x42236b=await clearBffScriptCache(),_0xb08ae2<CACHE_CLEAR_ATTEMPTS-0x1&&await sleep(CACHE_CLEAR_INTERVAL_MS);}_0x4114f1={'attempted':!![],'cleared':!![],'message':_0x42236b||_0x251cea(0x98)};}catch(_0x449b39){_0x4114f1={'attempted':!![],'cleared':![],'error':_0x449b39 instanceof Error?_0x449b39['message']:String(_0x449b39)};}const _0x201dfe=_0x1272b6['length']===0x0&&(_0x4114f1[_0x251cea(0xa5)]?_0x4114f1['cleared']:!![]),_0x136859=_0x4114f1[_0x251cea(0xa5)]?_0x4114f1[_0x251cea(0x80)]?'runtime\x20cache\x20cleared':_0x251cea(0x8c):_0x251cea(0x74);return{'ok':_0x201dfe,'data':{'uploaded':_0x5391be,'skipped':_0x29ab92,'failed':_0x1272b6,'cacheClear':_0x4114f1},'message':_0x251cea(0x94)+_0x5391be[_0x251cea(0x83)]+_0x251cea(0x96)+_0x29ab92[_0x251cea(0x83)]+_0x251cea(0xa2)+_0x1272b6[_0x251cea(0x83)]+_0x251cea(0xbb)+_0x136859};}};async function getTargetFunctions(_0x51a62b,_0x43566a){const _0x1bb59b=a32_0x2fadf1,_0x19bfe0=_0x43566a['str'](_0x1bb59b(0x87)),_0x519beb=_0x43566a[_0x1bb59b(0x8b)](_0x1bb59b(0x91)),_0x562698=normalizeBffType(_0x19bfe0)??undefined;if(_0x519beb&&!_0x562698)throw CliErrors[_0x1bb59b(0x7a)]('--name\x20requires\x20--type\x20to\x20identify\x20the\x20function.');const _0x4557bd=await scanLocalBffFunctions(_0x51a62b,_0x562698);if(_0x519beb){const _0x3c7e15=_0x4557bd[_0x1bb59b(0x9c)](_0x475e07=>_0x475e07['name']===_0x519beb);if(_0x3c7e15[_0x1bb59b(0x83)]===0x0)throw CliErrors['validation']('Local\x20function\x20not\x20found:\x20'+_0x562698+'/'+_0x519beb);return _0x3c7e15;}return _0x4557bd;}async function buildHookMaps(_0x2e3da0,_0x238c06,_0xd59c50,_0x12bd0a){const _0x22ac7d=a32_0x2fadf1,_0xe6cd3b=_0xd59c50[_0x22ac7d(0xb8)](_0x4a15b9=>_0x4a15b9[_0x22ac7d(0x87)]===_0x22ac7d(0x81));if(!_0xe6cd3b)return{'aliasToDatasetCode':new Map(),'datasetCodeToId':new Map()};const _0x49892c=loadAliasMap(_0x238c06,undefined,resolveApiFilePath(_0x238c06,_0x2e3da0)),_0xf5d7e1=new Map(_0x49892c[_0x22ac7d(0xaa)](_0x2fe0bb=>[_0x2fe0bb[_0x22ac7d(0xb7)],_0x2fe0bb['datasetCode']]));for(const _0x2b3ceb of Object['values'](_0x12bd0a[_0x22ac7d(0xb1)])){_0x2b3ceb[_0x22ac7d(0xb7)]&&_0x2b3ceb[_0x22ac7d(0x89)]&&!_0xf5d7e1[_0x22ac7d(0x8a)](_0x2b3ceb[_0x22ac7d(0xb7)])&&_0xf5d7e1[_0x22ac7d(0xab)](_0x2b3ceb[_0x22ac7d(0xb7)],_0x2b3ceb[_0x22ac7d(0x89)]);}const _0x5e9d4f=await listDatasets(_0x2e3da0),_0x993de6=new Map(_0x5e9d4f[_0x22ac7d(0xaa)](_0x1996b1=>[_0x1996b1[_0x22ac7d(0xc6)],_0x1996b1['id']]));return{'aliasToDatasetCode':_0xf5d7e1,'datasetCodeToId':_0x993de6};}async function uploadSingleFunction(_0x18b9f9,_0xc87d54,_0x203649,_0x8c463d){const _0x3997c6=a32_0x2fadf1,_0x457100=await readFile(_0xc87d54[_0x3997c6(0x76)],_0x3997c6(0x93)),_0x465bb8=await computeFileHash(_0xc87d54[_0x3997c6(0x76)]),_0x1c4aaa=_0x203649[_0x3997c6(0xb1)][_0xc87d54['lockKey']];if(_0x1c4aaa?.[_0x3997c6(0xae)]&&_0x1c4aaa[_0x3997c6(0xa7)]==null)throw CliErrors[_0x3997c6(0x7a)](_0xc87d54[_0x3997c6(0xbf)]+_0x3997c6(0xc7));let _0x20606d=extractScriptDescription(_0x457100);if(!_0x20606d&&_0x1c4aaa?.[_0x3997c6(0xae)]){const _0x270151=await getBffScriptInfo(_0x1c4aaa[_0x3997c6(0xae)]);_0x20606d=_0x270151['description']||undefined;}const _0x42ab52={'appCode':_0x18b9f9,'functionName':_0xc87d54['name'],'scriptType':_0xc87d54[_0x3997c6(0x87)],'scriptContent':_0x457100};if(_0x1c4aaa?.['remoteId'])_0x42ab52['id']=_0x1c4aaa['remoteId'];if(_0x1c4aaa?.[_0x3997c6(0xa7)]!=null)_0x42ab52['version']=_0x1c4aaa[_0x3997c6(0xa7)];if(_0x20606d)_0x42ab52['description']=_0x20606d;if(_0xc87d54['type']===_0x3997c6(0x81)){const _0x41de49=_0xc87d54[_0x3997c6(0xb7)];if(!_0x41de49||!_0xc87d54['operationType']||!_0xc87d54[_0x3997c6(0xb9)])throw CliErrors[_0x3997c6(0x7a)](_0x3997c6(0xc1)+_0xc87d54[_0x3997c6(0xbf)]);const _0x19631d=_0x8c463d[_0x3997c6(0x92)][_0x3997c6(0xbd)](_0x41de49)??_0x1c4aaa?.[_0x3997c6(0x89)]??_0x41de49,_0x58657e=_0x8c463d[_0x3997c6(0xbc)][_0x3997c6(0xbd)](_0x19631d);if(!_0x58657e)throw CliErrors['validation'](_0x3997c6(0x90)+_0x41de49+_0x3997c6(0x9b)+('Run\x20`'+CLI_BIN_NAME+'\x20api\x20pull`\x20to\x20refresh\x20api.ts,\x20or\x20verify\x20the\x20dataset\x20exists.'));_0x42ab52[_0x3997c6(0xb6)]=_0x58657e,_0x42ab52[_0x3997c6(0xc4)]=_0xc87d54[_0x3997c6(0xc4)],_0x42ab52[_0x3997c6(0xb9)]=_0xc87d54[_0x3997c6(0xb9)];}const _0x6716cd=await saveBffScript(_0x42ab52),_0x5d9af7=_0x6716cd['id'],_0x180dd3=_0x6716cd[_0x3997c6(0xa1)]??await getBffScriptInfo(_0x5d9af7),_0x56b792={'hash':_0x465bb8,'remoteId':_0x5d9af7,'version':_0x180dd3[_0x3997c6(0xa7)]};if(_0xc87d54['type']==='HOOK'){const _0x26ae61=_0xc87d54[_0x3997c6(0xb7)],_0x285b9c=_0x8c463d[_0x3997c6(0x92)][_0x3997c6(0xbd)](_0x26ae61)??_0x1c4aaa?.[_0x3997c6(0x89)]??_0x26ae61;_0x8c463d[_0x3997c6(0x92)][_0x3997c6(0x8a)](_0x26ae61)?_0x56b792[_0x3997c6(0xb7)]=_0x26ae61:_0x56b792[_0x3997c6(0xb7)]=_0x1c4aaa?.[_0x3997c6(0xb7)],_0x56b792[_0x3997c6(0x89)]=_0x285b9c,_0x56b792[_0x3997c6(0xc4)]=_0xc87d54[_0x3997c6(0xc4)],_0x56b792['functionNode']=_0xc87d54[_0x3997c6(0xb9)];}_0x203649[_0x3997c6(0xb1)][_0xc87d54['lockKey']]=_0x56b792;}const LOCK_SETTLE_RETRY_COUNT=0x14,LOCK_SETTLE_DELAY_MS=0x64;function a32_0x1140(_0x5f37f5,_0x59109a){_0x5f37f5=_0x5f37f5-0x74;const _0x53f32f=a32_0x53f3();let _0x11404f=_0x53f32f[_0x5f37f5];return _0x11404f;}async function waitForUploadedLockEntries(_0x578cc5,_0x25db30,_0x1d1008){const _0x4d7ea8=a32_0x2fadf1;if(_0x1d1008[_0x4d7ea8(0x83)]===0x0)return;for(let _0x4617ac=0x0;_0x4617ac<LOCK_SETTLE_RETRY_COUNT;_0x4617ac+=0x1){const _0x437423=await readBffLockFile(_0x578cc5),_0x60aa19=_0x437423?.[_0x4d7ea8(0xb5)]?.[_0x25db30]?.[_0x4d7ea8(0xb1)]??{},_0x5313b9=_0x1d1008[_0x4d7ea8(0x88)](_0xa55dbc=>!!_0x60aa19[_0xa55dbc]?.[_0x4d7ea8(0xae)]);if(_0x5313b9)return;await sleep(LOCK_SETTLE_DELAY_MS);}throw new Error('Lock\x20file\x20not\x20settled\x20after\x20push\x20for\x20'+_0x1d1008[_0x4d7ea8(0x8f)](',\x20')+'.');}