@lovrabet/rabetbase-cli 2.2.3-beta.2 → 2.2.4-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (205) hide show
  1. package/lib/api/api-doc.js +1 -1
  2. package/lib/api/fetch-model-list.js +1 -1
  3. package/lib/api/generate-api-file.js +1 -1
  4. package/lib/auth/auth-server-ui.js +1 -1
  5. package/lib/auth/auth-server.js +1 -1
  6. package/lib/auth/constant.js +1 -1
  7. package/lib/auth/get-cookie.js +1 -1
  8. package/lib/auth/get-session-user.js +1 -1
  9. package/lib/auth/is-session-valid.js +1 -1
  10. package/lib/auth/login-success-html.js +1 -1
  11. package/lib/auth/logout.js +1 -1
  12. package/lib/cli-flags.js +1 -1
  13. package/lib/cli.js +1 -1
  14. package/lib/commands/api/generate.js +1 -1
  15. package/lib/commands/api/index.js +1 -1
  16. package/lib/commands/api/list.js +1 -1
  17. package/lib/commands/api/pull.js +1 -1
  18. package/lib/commands/api/shared.js +1 -1
  19. package/lib/commands/app/add.js +1 -1
  20. package/lib/commands/app/discover.js +1 -1
  21. package/lib/commands/app/index.js +1 -1
  22. package/lib/commands/app/list.js +1 -1
  23. package/lib/commands/app/remove.js +1 -1
  24. package/lib/commands/app/shared.js +1 -1
  25. package/lib/commands/app/use.js +1 -1
  26. package/lib/commands/auth/index.js +1 -1
  27. package/lib/commands/bff/create.js +1 -1
  28. package/lib/commands/bff/delete.js +1 -1
  29. package/lib/commands/bff/detail.js +1 -1
  30. package/lib/commands/bff/index.js +1 -1
  31. package/lib/commands/bff/list.js +1 -1
  32. package/lib/commands/bff/pull.js +1 -1
  33. package/lib/commands/bff/push.js +1 -1
  34. package/lib/commands/bff/status.js +1 -1
  35. package/lib/commands/cli-update.js +1 -1
  36. package/lib/commands/codegen/index.js +1 -1
  37. package/lib/commands/codegen/sdk.js +1 -1
  38. package/lib/commands/codegen/sql.js +1 -1
  39. package/lib/commands/common/app-selector.js +1 -1
  40. package/lib/commands/common/flags.js +1 -1
  41. package/lib/commands/common/validate.js +1 -1
  42. package/lib/commands/config/get.js +1 -1
  43. package/lib/commands/config/index.js +1 -1
  44. package/lib/commands/config/list.js +1 -1
  45. package/lib/commands/config/set.js +1 -1
  46. package/lib/commands/config/shared.js +1 -1
  47. package/lib/commands/data/filter.js +1 -1
  48. package/lib/commands/data/getOne.js +1 -1
  49. package/lib/commands/data/index.js +1 -1
  50. package/lib/commands/data/shared.js +1 -1
  51. package/lib/commands/dataset/capability.js +1 -1
  52. package/lib/commands/dataset/delete.js +1 -1
  53. package/lib/commands/dataset/detail.js +1 -1
  54. package/lib/commands/dataset/extend-update.js +1 -1
  55. package/lib/commands/dataset/field-update.js +1 -1
  56. package/lib/commands/dataset/index.js +1 -1
  57. package/lib/commands/dataset/list.js +1 -1
  58. package/lib/commands/dataset/operations.js +1 -1
  59. package/lib/commands/dataset/relation-create.js +1 -1
  60. package/lib/commands/dataset/relation-delete.js +1 -1
  61. package/lib/commands/dataset/relation-shared.js +1 -1
  62. package/lib/commands/dataset/relation-update.js +1 -1
  63. package/lib/commands/dataset/relations.js +1 -1
  64. package/lib/commands/dataset/rename.js +1 -1
  65. package/lib/commands/db/analyze-cancel.js +1 -1
  66. package/lib/commands/db/analyze-start.js +1 -1
  67. package/lib/commands/db/analyze-status.js +1 -1
  68. package/lib/commands/db/create.js +1 -1
  69. package/lib/commands/db/delete.js +1 -1
  70. package/lib/commands/db/detail.js +1 -1
  71. package/lib/commands/db/diff.js +1 -1
  72. package/lib/commands/db/index.js +1 -1
  73. package/lib/commands/db/list.js +1 -1
  74. package/lib/commands/db/shared.js +1 -1
  75. package/lib/commands/db/tables.js +1 -1
  76. package/lib/commands/db/test.js +1 -1
  77. package/lib/commands/db/update.js +1 -1
  78. package/lib/commands/doctor.js +1 -1
  79. package/lib/commands/init/index.js +1 -1
  80. package/lib/commands/issue/index.js +1 -1
  81. package/lib/commands/issue/nudge.js +1 -1
  82. package/lib/commands/issue/report.js +1 -1
  83. package/lib/commands/issue/shared.js +1 -1
  84. package/lib/commands/logs/index.js +1 -1
  85. package/lib/commands/menu/index.js +1 -1
  86. package/lib/commands/menu/list.js +1 -1
  87. package/lib/commands/menu/shared/compare-table.js +1 -1
  88. package/lib/commands/menu/shared/index.js +1 -1
  89. package/lib/commands/menu/shared/inquirer.js +1 -1
  90. package/lib/commands/menu/shared/local-pages.js +1 -1
  91. package/lib/commands/menu/shared/logic.js +1 -1
  92. package/lib/commands/menu/shared/service.js +1 -1
  93. package/lib/commands/menu/shared/sync-core.js +1 -1
  94. package/lib/commands/menu/shared/update-core.js +1 -1
  95. package/lib/commands/menu/shared/valid-url.js +1 -1
  96. package/lib/commands/menu/sync.js +1 -1
  97. package/lib/commands/menu/update.js +1 -1
  98. package/lib/commands/page/generate-start.js +1 -1
  99. package/lib/commands/page/generate-status.js +1 -1
  100. package/lib/commands/page/index.js +1 -1
  101. package/lib/commands/page/pull.js +1 -1
  102. package/lib/commands/page/push.js +1 -1
  103. package/lib/commands/page/relation-audit.js +1 -1
  104. package/lib/commands/page/shared.js +1 -1
  105. package/lib/commands/page/standard-page-status.js +1 -1
  106. package/lib/commands/page/sync.js +1 -1
  107. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  108. package/lib/commands/project/create/format-elapsed.js +1 -1
  109. package/lib/commands/project/create/main.js +1 -1
  110. package/lib/commands/project/create/non-interactive.js +1 -1
  111. package/lib/commands/project/create/project-template-path.js +1 -1
  112. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  113. package/lib/commands/project/create/use-format-code.js +1 -1
  114. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  115. package/lib/commands/project/index.js +1 -1
  116. package/lib/commands/project/init.js +1 -1
  117. package/lib/commands/project/upgrade.js +1 -1
  118. package/lib/commands/registry.js +1 -1
  119. package/lib/commands/run/index.js +1 -1
  120. package/lib/commands/schema.js +1 -1
  121. package/lib/commands/skill/index.js +1 -1
  122. package/lib/commands/sql/create.js +1 -1
  123. package/lib/commands/sql/delete.js +1 -1
  124. package/lib/commands/sql/detail.js +1 -1
  125. package/lib/commands/sql/exec.js +1 -1
  126. package/lib/commands/sql/index.js +1 -1
  127. package/lib/commands/sql/list.js +1 -1
  128. package/lib/commands/sql/pull.js +1 -1
  129. package/lib/commands/sql/push.js +1 -1
  130. package/lib/commands/sql/save.js +1 -1
  131. package/lib/commands/sql/shared.js +1 -1
  132. package/lib/commands/sql/status.js +1 -1
  133. package/lib/commands/sql/validate.js +1 -1
  134. package/lib/config/schema.js +1 -1
  135. package/lib/constant/cdn.js +1 -1
  136. package/lib/constant/cli.js +1 -1
  137. package/lib/constant/defaults.js +1 -1
  138. package/lib/constant/domain.js +1 -1
  139. package/lib/constant/env.js +1 -1
  140. package/lib/constant/output.js +1 -1
  141. package/lib/constant/paths.js +1 -1
  142. package/lib/constant/risk.js +1 -1
  143. package/lib/context.js +1 -1
  144. package/lib/core/alias-resolver.js +1 -1
  145. package/lib/core/api-client.js +1 -1
  146. package/lib/core/bff/config.js +1 -1
  147. package/lib/core/bff/file-system.js +1 -1
  148. package/lib/core/bff/hash.js +1 -1
  149. package/lib/core/bff/lock.js +1 -1
  150. package/lib/core/bff/utils.js +1 -1
  151. package/lib/core/db-resolver.js +1 -1
  152. package/lib/core/page/file-system.js +1 -1
  153. package/lib/core/page/hash.js +1 -1
  154. package/lib/core/page/lock.js +1 -1
  155. package/lib/core/sql-sync/config.js +1 -1
  156. package/lib/core/sql-sync/file-system.js +1 -1
  157. package/lib/core/sql-sync/hash.js +1 -1
  158. package/lib/core/sql-sync/lock.js +1 -1
  159. package/lib/core/sql-sync/utils.js +1 -1
  160. package/lib/core/sql-validator.js +1 -1
  161. package/lib/errors.js +1 -1
  162. package/lib/framework/build-all-flags.js +1 -1
  163. package/lib/framework/flags.js +1 -1
  164. package/lib/framework/help.js +1 -1
  165. package/lib/framework/index.js +1 -1
  166. package/lib/framework/output.js +1 -1
  167. package/lib/framework/response.js +1 -1
  168. package/lib/framework/runner-alias.js +1 -1
  169. package/lib/framework/runner.js +1 -1
  170. package/lib/framework/schema-export.js +1 -1
  171. package/lib/framework/types.js +1 -1
  172. package/lib/generated/build-info.js +1 -1
  173. package/lib/help.js +1 -1
  174. package/lib/skills/main.js +1 -1
  175. package/lib/skills/npx-skills-add.js +1 -1
  176. package/lib/telemetry/cli-command-trace.js +1 -1
  177. package/lib/telemetry/cli-help-trace.js +1 -1
  178. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  179. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  180. package/lib/telemetry/send-cli-trace-log.js +1 -1
  181. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  182. package/lib/utils/ai_config.js +1 -1
  183. package/lib/utils/apply-jq-filter.js +1 -1
  184. package/lib/utils/cdn-config.js +1 -1
  185. package/lib/utils/check-sdk-version.js +1 -1
  186. package/lib/utils/cli-version-check.js +1 -1
  187. package/lib/utils/cli-version-policy.js +1 -1
  188. package/lib/utils/config.js +1 -1
  189. package/lib/utils/copy-directory.js +1 -1
  190. package/lib/utils/entity-with-id.js +1 -1
  191. package/lib/utils/file-utils.js +1 -1
  192. package/lib/utils/guides-cdn.js +1 -1
  193. package/lib/utils/http-client.js +1 -1
  194. package/lib/utils/is-non-interactive.js +1 -1
  195. package/lib/utils/logger.js +1 -1
  196. package/lib/utils/params.js +1 -1
  197. package/lib/utils/platform.js +1 -1
  198. package/lib/utils/rules-cdn.js +1 -1
  199. package/lib/utils/sleep.js +1 -1
  200. package/lib/utils/template-replacer.js +1 -1
  201. package/lib/utils/update-notice.js +1 -1
  202. package/lib/utils/version.js +1 -1
  203. package/lib/utils/with-active-cookie.js +1 -1
  204. package/lib/utils/write-cli-side-channel.js +1 -1
  205. package/package.json +1 -1
@@ -1 +1 @@
1
- const a19_0x5017cb=a19_0x2b58;function a19_0x1c3d(){const _0xf697a6=['2MWepbP','945280GGLmrM','6106800gUQpGA','3574878FbcKyq','appDesc','appCode','cookie','1335280jrByTr','remote','799556MAnCjL','appName','3062529OpWcoZ','map','413652DgwPnJ','../../core/api-client.js','List\x20apps\x20available\x20on\x20the\x20platform\x20for\x20the\x20current\x20login','70RxMrhK'];a19_0x1c3d=function(){return _0xf697a6;};return a19_0x1c3d();}(function(_0x438946,_0x9c23b9){const _0x285a52=a19_0x2b58,_0x511519=_0x438946();while(!![]){try{const _0x1c01f8=parseInt(_0x285a52(0x171))/0x1*(parseInt(_0x285a52(0x178))/0x2)+parseInt(_0x285a52(0x174))/0x3+-parseInt(_0x285a52(0x17a))/0x4+parseInt(_0x285a52(0x172))/0x5+-parseInt(_0x285a52(0x16d))/0x6*(parseInt(_0x285a52(0x170))/0x7)+-parseInt(_0x285a52(0x173))/0x8+-parseInt(_0x285a52(0x16b))/0x9;if(_0x1c01f8===_0x9c23b9)break;else _0x511519['push'](_0x511519['shift']());}catch(_0x44c6f1){_0x511519['push'](_0x511519['shift']());}}}(a19_0x1c3d,0xb084e));import{listRemoteApps}from'../../core/api-client.js';async function execute(_0x4ec4b5){const _0x235f14=a19_0x2b58,{setActiveCookie:_0x133fe9}=await import(_0x235f14(0x16e));_0x133fe9(_0x4ec4b5[_0x235f14(0x177)]);const _0x4c285e=await listRemoteApps();return{'ok':!![],'data':{'items':_0x4c285e[_0x235f14(0x16c)](_0x1f929d=>({..._0x1f929d['id']!=null?{'id':_0x1f929d['id']}:{},'appCode':_0x1f929d[_0x235f14(0x176)],'appName':_0x1f929d[_0x235f14(0x16a)],..._0x1f929d[_0x235f14(0x175)]!=null?{'appDesc':_0x1f929d[_0x235f14(0x175)]}:{}})),'meta':{'source':'platform'}}};}function a19_0x2b58(_0x2cebd8,_0x4616b0){_0x2cebd8=_0x2cebd8-0x16a;const _0x1c3d15=a19_0x1c3d();let _0x2b58c1=_0x1c3d15[_0x2cebd8];return _0x2b58c1;}export const appRemoteDefinition={'service':'app','command':a19_0x5017cb(0x179),'description':a19_0x5017cb(0x16f),'risk':'read','requiresAuth':!![],'requiresAppCode':![],'flags':[],'execute':execute};
1
+ const a19_0x3edeb3=a19_0x5c43;(function(_0x26e502,_0x38d031){const _0x38a328=a19_0x5c43,_0x494072=_0x26e502();while(!![]){try{const _0x419833=-parseInt(_0x38a328(0x10d))/0x1*(parseInt(_0x38a328(0x115))/0x2)+-parseInt(_0x38a328(0x117))/0x3*(parseInt(_0x38a328(0x108))/0x4)+parseInt(_0x38a328(0x113))/0x5*(parseInt(_0x38a328(0x110))/0x6)+parseInt(_0x38a328(0x10f))/0x7*(parseInt(_0x38a328(0x106))/0x8)+parseInt(_0x38a328(0x112))/0x9*(-parseInt(_0x38a328(0x111))/0xa)+parseInt(_0x38a328(0x118))/0xb+-parseInt(_0x38a328(0x10e))/0xc*(-parseInt(_0x38a328(0x116))/0xd);if(_0x419833===_0x38d031)break;else _0x494072['push'](_0x494072['shift']());}catch(_0x549d3f){_0x494072['push'](_0x494072['shift']());}}}(a19_0x120b,0xe27e9));import{listRemoteApps}from'../../core/api-client.js';function a19_0x5c43(_0x364bfc,_0x1bdb35){_0x364bfc=_0x364bfc-0x106;const _0x120be6=a19_0x120b();let _0x5c435a=_0x120be6[_0x364bfc];return _0x5c435a;}async function execute(_0x544408){const _0x24e849=a19_0x5c43,{setActiveCookie:_0x590df0}=await import('../../core/api-client.js');_0x590df0(_0x544408[_0x24e849(0x107)]);const _0x3c4579=await listRemoteApps();return{'ok':!![],'data':{'items':_0x3c4579[_0x24e849(0x11b)](_0x3e054a=>({..._0x3e054a['id']!=null?{'id':_0x3e054a['id']}:{},'appCode':_0x3e054a['appCode'],'appName':_0x3e054a[_0x24e849(0x10a)],..._0x3e054a['appDesc']!=null?{'appDesc':_0x3e054a[_0x24e849(0x10c)]}:{}})),'meta':{'source':_0x24e849(0x10b)}}};}function a19_0x120b(){const _0x1b3e87=['120XagBym','cookie','964ZDYgnV','app','appName','platform','appDesc','805108MHFWPy','12GSbCZf','304955iyKHHq','18ZuoCaj','10JJzSPf','7923438jmwExC','2825545YfmtLR','remote','2rGLDXQ','4013269qlgsXW','3774ANDbsp','2847614LcVRTz','List\x20apps\x20available\x20on\x20the\x20platform\x20for\x20the\x20current\x20login','read','map'];a19_0x120b=function(){return _0x1b3e87;};return a19_0x120b();}export const appRemoteDefinition={'service':a19_0x3edeb3(0x109),'command':a19_0x3edeb3(0x114),'description':a19_0x3edeb3(0x119),'risk':a19_0x3edeb3(0x11a),'requiresAuth':!![],'requiresAppCode':![],'flags':[],'execute':execute};
@@ -1 +1 @@
1
- (function(_0x32b38f,_0x3d5935){const _0x3f3fca=a20_0x20fa,_0x4183a0=_0x32b38f();while(!![]){try{const _0x410736=parseInt(_0x3f3fca(0xc9))/0x1*(-parseInt(_0x3f3fca(0xc8))/0x2)+-parseInt(_0x3f3fca(0xc7))/0x3*(-parseInt(_0x3f3fca(0xc4))/0x4)+parseInt(_0x3f3fca(0xc1))/0x5+-parseInt(_0x3f3fca(0xc3))/0x6+-parseInt(_0x3f3fca(0xca))/0x7+parseInt(_0x3f3fca(0xc0))/0x8*(parseInt(_0x3f3fca(0xc5))/0x9)+-parseInt(_0x3f3fca(0xc2))/0xa*(-parseInt(_0x3f3fca(0xc6))/0xb);if(_0x410736===_0x3d5935)break;else _0x4183a0['push'](_0x4183a0['shift']());}catch(_0x1e9816){_0x4183a0['push'](_0x4183a0['shift']());}}}(a20_0xce6c,0x8d95c));import{appListDefinition}from'../../commands/app/list.js';import{appRemoteDefinition}from'../../commands/app/discover.js';import{appUseDefinition}from'../../commands/app/use.js';function a20_0x20fa(_0x35230b,_0x58cfb5){_0x35230b=_0x35230b-0xc0;const _0xce6cfb=a20_0xce6c();let _0x20faa1=_0xce6cfb[_0x35230b];return _0x20faa1;}function a20_0xce6c(){const _0x16037f=['16bgERav','4295075ftUQWC','6535800QmMJoD','3664440WQoFiQ','128812eERWSu','1924623OjFsNw','11ISVyPM','9uxVUKf','865370sTdWgT','1RTGEhJ','2894787syETFr'];a20_0xce6c=function(){return _0x16037f;};return a20_0xce6c();}import{appAddDefinition}from'../../commands/app/add.js';import{appRemoveDefinition}from'../../commands/app/remove.js';export const appDefinitions=[appListDefinition,appRemoteDefinition,appUseDefinition,appAddDefinition,appRemoveDefinition];
1
+ (function(_0x3422c3,_0x14c432){const _0x181812=a20_0x3d4e,_0xb63b38=_0x3422c3();while(!![]){try{const _0x4f0931=parseInt(_0x181812(0x19a))/0x1*(-parseInt(_0x181812(0x193))/0x2)+parseInt(_0x181812(0x19b))/0x3+-parseInt(_0x181812(0x196))/0x4*(parseInt(_0x181812(0x198))/0x5)+-parseInt(_0x181812(0x199))/0x6*(parseInt(_0x181812(0x197))/0x7)+parseInt(_0x181812(0x191))/0x8+-parseInt(_0x181812(0x192))/0x9+-parseInt(_0x181812(0x194))/0xa*(-parseInt(_0x181812(0x195))/0xb);if(_0x4f0931===_0x14c432)break;else _0xb63b38['push'](_0xb63b38['shift']());}catch(_0x15f693){_0xb63b38['push'](_0xb63b38['shift']());}}}(a20_0x59d8,0x5e8e1));import{appListDefinition}from'../../commands/app/list.js';import{appRemoteDefinition}from'../../commands/app/discover.js';function a20_0x59d8(){const _0x5ccd33=['368ajJTvF','16345PfrZyi','23770unjEpW','1902EJgUpl','10RVlwad','1838535pppjEA','3803680jbtBUf','5228622jAZzgl','44512nAhgjx','30KPuHLq','4693601rFOXft'];a20_0x59d8=function(){return _0x5ccd33;};return a20_0x59d8();}import{appUseDefinition}from'../../commands/app/use.js';import{appAddDefinition}from'../../commands/app/add.js';function a20_0x3d4e(_0xfae42c,_0x592dbe){_0xfae42c=_0xfae42c-0x191;const _0x59d87b=a20_0x59d8();let _0x3d4e57=_0x59d87b[_0xfae42c];return _0x3d4e57;}import{appRemoveDefinition}from'../../commands/app/remove.js';export const appDefinitions=[appListDefinition,appRemoteDefinition,appUseDefinition,appAddDefinition,appRemoveDefinition];
@@ -1 +1 @@
1
- function a21_0xbcbe(_0x3cca1d,_0x1ecda6){_0x3cca1d=_0x3cca1d-0xc2;const _0x2b4b3f=a21_0x2b4b();let _0xbcbe48=_0x2b4b3f[_0x3cca1d];return _0xbcbe48;}const a21_0x35b180=a21_0xbcbe;(function(_0x16e9cd,_0x2f99f4){const _0x4f9c1f=a21_0xbcbe,_0x112174=_0x16e9cd();while(!![]){try{const _0x47224c=parseInt(_0x4f9c1f(0xd8))/0x1+-parseInt(_0x4f9c1f(0xce))/0x2+parseInt(_0x4f9c1f(0xc5))/0x3*(parseInt(_0x4f9c1f(0xd7))/0x4)+parseInt(_0x4f9c1f(0xda))/0x5+parseInt(_0x4f9c1f(0xd6))/0x6+-parseInt(_0x4f9c1f(0xe3))/0x7*(-parseInt(_0x4f9c1f(0xd4))/0x8)+parseInt(_0x4f9c1f(0xe5))/0x9*(-parseInt(_0x4f9c1f(0xe2))/0xa);if(_0x47224c===_0x2f99f4)break;else _0x112174['push'](_0x112174['shift']());}catch(_0x469c50){_0x112174['push'](_0x112174['shift']());}}}(a21_0x2b4b,0x9b880));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(_0x1c79c4,_0x389209){const _0x2b7e0b=a21_0xbcbe,_0x26045f=[],_0x9944bb=_0x1c79c4[_0x2b7e0b(0xe1)]&&typeof _0x1c79c4['apps']===_0x2b7e0b(0xcc)?_0x1c79c4[_0x2b7e0b(0xe1)]:{},_0x16c315=_0x1c79c4['defaultApp']||undefined;for(const [_0x26e44a,_0x360bc7]of Object[_0x2b7e0b(0xd3)](_0x9944bb)){if(!_0x360bc7||typeof _0x360bc7!==_0x2b7e0b(0xcc)||!_0x360bc7[_0x2b7e0b(0xe0)])continue;_0x26045f[_0x2b7e0b(0xdd)]({'name':_0x26e44a,'appcode':_0x360bc7[_0x2b7e0b(0xe0)],'named':!![],'definedIn':_0x389209,'isDefault':_0x26e44a===_0x16c315,...buildAppProfileListFields(_0x360bc7)});}return _0x26045f;}function buildMergedItems(_0x2d7c76,_0x5a5f2b){const _0xee0e33=a21_0xbcbe,{apps:apps={},defaultApp:_0x33944f}=_0x2d7c76,_0x1c7777=_0x5a5f2b[_0xee0e33(0xcb)]['apps']&&typeof _0x5a5f2b['globalConfig'][_0xee0e33(0xe1)]===_0xee0e33(0xcc)?_0x5a5f2b['globalConfig'][_0xee0e33(0xe1)]:{},_0x51a859=_0x5a5f2b[_0xee0e33(0xc9)][_0xee0e33(0xe1)]&&typeof _0x5a5f2b[_0xee0e33(0xc9)][_0xee0e33(0xe1)]==='object'?_0x5a5f2b[_0xee0e33(0xc9)]['apps']:{},_0x5b0f67=_0x5a5f2b[_0xee0e33(0xc9)][_0xee0e33(0xd5)]===![],_0x4cf0e1=Object['entries'](apps),_0x2ad387=_0x4cf0e1[_0xee0e33(0xdc)](([_0x4eee5d,_0x36d4ca])=>({'name':_0x4eee5d,'appcode':_0x36d4ca[_0xee0e33(0xe0)],'named':!![],'definedIn':appDefinedIn(_0x4eee5d,_0x1c7777,_0x51a859,_0x5b0f67),'isDefault':_0x4eee5d===_0x33944f,...buildAppProfileListFields(_0x36d4ca)}));return _0x2ad387;}async function execute(_0x34930a){const _0x23e469=a21_0xbcbe,_0x3f5365=_0x34930a['bool'](_0x23e469(0xc3)),_0x36814c=_0x34930a['bool'](_0x23e469(0xcd)),_0x554332=_0x3f5365?'global':_0x36814c?_0x23e469(0xcd):_0x23e469(0xc6),{config:_0x78e12a,layers:_0x97e29c}=readRawConfigWithLayers(),_0x58f8bc=resolveDefaultAppSource(_0x97e29c),{defaultApp:_0x309360}=_0x78e12a;let _0x523a46,_0x3aab44;switch(_0x554332){case _0x23e469(0xc3):_0x523a46=buildItemsFromLayer(_0x97e29c[_0x23e469(0xcb)],_0x23e469(0xc3)),_0x3aab44=_0x97e29c[_0x23e469(0xe6)];break;case'project':_0x523a46=buildItemsFromLayer(_0x97e29c[_0x23e469(0xc9)],_0x23e469(0xcd)),_0x3aab44=_0x97e29c[_0x23e469(0xcf)];break;default:_0x523a46=buildMergedItems(_0x78e12a,_0x97e29c);break;}enrichAppListItemsWithMergedSelection(_0x523a46,_0x34930a[_0x23e469(0xde)]);if(_0x523a46[_0x23e469(0xc4)]===0x0){const _0x1953e5=_0x554332===_0x23e469(0xc6)?'':'\x20in\x20'+_0x554332+_0x23e469(0xc2);return{'ok':!![],'data':[],'message':_0x23e469(0xc7)+_0x1953e5+_0x23e469(0xd2)+CLI_BIN_NAME+_0x23e469(0xd1)};}const _0x2b3d6e=_0x523a46[_0x23e469(0xdb)](_0x553319=>_0x553319[_0x23e469(0xd0)]===!![]),_0xace444=_0x309360??_0x2b3d6e?.[_0x23e469(0xe0)]??null,_0x3d96dd=_0x554332===_0x23e469(0xc6)?{'globalPath':_0x97e29c[_0x23e469(0xe6)]??null,'projectPath':_0x97e29c[_0x23e469(0xcf)]??null,'defaultApp':_0xace444,'defaultAppSource':_0x309360!=null?_0x58f8bc:null}:{'scope':_0x554332,'configPath':_0x3aab44??null};return{'ok':!![],'data':{'items':_0x523a46,'meta':_0x3d96dd}};}export const appListDefinition={'service':a21_0x35b180(0xc8),'command':a21_0x35b180(0xca),'description':'List\x20all\x20configured\x20apps','risk':a21_0x35b180(0xd9),'requiresAuth':![],'requiresAppCode':![],'flags':[{'name':a21_0x35b180(0xc3),'type':a21_0x35b180(0xdf),'description':'Show\x20only\x20apps\x20from\x20global\x20~/.rabetbase.json','default':![]},{'name':a21_0x35b180(0xcd),'type':a21_0x35b180(0xdf),'description':a21_0x35b180(0xe4),'default':![]}],'execute':execute};function a21_0x2b4b(){const _0x28575d=['20699FUObwM','Show\x20only\x20apps\x20from\x20project\x20.rabetbase.json','41634WrUpzj','globalPath','\x20config','global','length','3aTfmru','merged','No\x20apps\x20configured','app','projectConfig','list','globalConfig','object','project','848270wDxNkC','projectPath','isCurrent','\x20app\x20add\x20<name>\x20--appcode\x20<code>`\x20to\x20add\x20one.','.\x20Use\x20`','entries','296QqmrHY','inherit','2048862vZiUxK','306716nXywyi','706235SdAzoZ','read','3832345PaCLQK','find','map','push','mergedCli','boolean','appcode','apps','2030VeGVtv'];a21_0x2b4b=function(){return _0x28575d;};return a21_0x2b4b();}
1
+ const a21_0x32ab56=a21_0x3e0e;(function(_0x3727b4,_0x32b21f){const _0x573696=a21_0x3e0e,_0x35eb3c=_0x3727b4();while(!![]){try{const _0x108651=-parseInt(_0x573696(0x1bb))/0x1+-parseInt(_0x573696(0x1af))/0x2+-parseInt(_0x573696(0x1c3))/0x3+parseInt(_0x573696(0x1c8))/0x4*(parseInt(_0x573696(0x1cf))/0x5)+-parseInt(_0x573696(0x1d0))/0x6+parseInt(_0x573696(0x1cc))/0x7+parseInt(_0x573696(0x1ca))/0x8;if(_0x108651===_0x32b21f)break;else _0x35eb3c['push'](_0x35eb3c['shift']());}catch(_0x29ebc1){_0x35eb3c['push'](_0x35eb3c['shift']());}}}(a21_0x120f,0x4c8e9));import{readRawConfigWithLayers}from'../../context.js';function a21_0x3e0e(_0x845ce7,_0x1933fe){_0x845ce7=_0x845ce7-0x1ae;const _0x120f59=a21_0x120f();let _0x3e0ecc=_0x120f59[_0x845ce7];return _0x3e0ecc;}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(_0x434770,_0x597947){const _0x34395c=a21_0x3e0e,_0x457603=[],_0x576976=_0x434770['apps']&&typeof _0x434770['apps']===_0x34395c(0x1c6)?_0x434770[_0x34395c(0x1b8)]:{},_0x47a8e1=_0x434770[_0x34395c(0x1d3)]||undefined;for(const [_0x433fa0,_0x6b5b0]of Object[_0x34395c(0x1cd)](_0x576976)){if(!_0x6b5b0||typeof _0x6b5b0!=='object'||!_0x6b5b0['appcode'])continue;_0x457603[_0x34395c(0x1be)]({'name':_0x433fa0,'appcode':_0x6b5b0[_0x34395c(0x1ce)],'named':!![],'definedIn':_0x597947,'isDefault':_0x433fa0===_0x47a8e1,...buildAppProfileListFields(_0x6b5b0)});}return _0x457603;}function buildMergedItems(_0x353beb,_0x474cae){const _0x844d4a=a21_0x3e0e,{apps:apps={},defaultApp:_0x57560f}=_0x353beb,_0x46efae=_0x474cae[_0x844d4a(0x1c4)][_0x844d4a(0x1b8)]&&typeof _0x474cae[_0x844d4a(0x1c4)][_0x844d4a(0x1b8)]===_0x844d4a(0x1c6)?_0x474cae['globalConfig'][_0x844d4a(0x1b8)]:{},_0x39796a=_0x474cae[_0x844d4a(0x1b9)][_0x844d4a(0x1b8)]&&typeof _0x474cae[_0x844d4a(0x1b9)][_0x844d4a(0x1b8)]===_0x844d4a(0x1c6)?_0x474cae[_0x844d4a(0x1b9)][_0x844d4a(0x1b8)]:{},_0x490afd=_0x474cae[_0x844d4a(0x1b9)][_0x844d4a(0x1b7)]===![],_0x55cadb=Object[_0x844d4a(0x1cd)](apps),_0x226a8b=_0x55cadb[_0x844d4a(0x1c9)](([_0x2656ba,_0x59d310])=>({'name':_0x2656ba,'appcode':_0x59d310[_0x844d4a(0x1ce)],'named':!![],'definedIn':appDefinedIn(_0x2656ba,_0x46efae,_0x39796a,_0x490afd),'isDefault':_0x2656ba===_0x57560f,...buildAppProfileListFields(_0x59d310)}));return _0x226a8b;}async function execute(_0x309102){const _0x567305=a21_0x3e0e,_0x33e80e=_0x309102[_0x567305(0x1c2)](_0x567305(0x1c1)),_0x32b7e1=_0x309102[_0x567305(0x1c2)](_0x567305(0x1ba)),_0x4c0cf3=_0x33e80e?_0x567305(0x1c1):_0x32b7e1?_0x567305(0x1ba):_0x567305(0x1d2),{config:_0x59c3cb,layers:_0x5bbd74}=readRawConfigWithLayers(),_0x4e8175=resolveDefaultAppSource(_0x5bbd74),{defaultApp:_0x2d1bb2}=_0x59c3cb;let _0x217bea,_0x488f47;switch(_0x4c0cf3){case _0x567305(0x1c1):_0x217bea=buildItemsFromLayer(_0x5bbd74[_0x567305(0x1c4)],'global'),_0x488f47=_0x5bbd74[_0x567305(0x1c5)];break;case _0x567305(0x1ba):_0x217bea=buildItemsFromLayer(_0x5bbd74[_0x567305(0x1b9)],'project'),_0x488f47=_0x5bbd74['projectPath'];break;default:_0x217bea=buildMergedItems(_0x59c3cb,_0x5bbd74);break;}enrichAppListItemsWithMergedSelection(_0x217bea,_0x309102[_0x567305(0x1b3)]);if(_0x217bea[_0x567305(0x1c0)]===0x0){const _0x530c9e=_0x4c0cf3===_0x567305(0x1d2)?'':_0x567305(0x1c7)+_0x4c0cf3+_0x567305(0x1b1);return{'ok':!![],'data':[],'message':_0x567305(0x1b4)+_0x530c9e+_0x567305(0x1b6)+CLI_BIN_NAME+_0x567305(0x1b5)};}const _0x235278=_0x217bea[_0x567305(0x1bd)](_0x4ee6e9=>_0x4ee6e9[_0x567305(0x1bc)]===!![]),_0x4b054d=_0x2d1bb2??_0x235278?.[_0x567305(0x1ce)]??null,_0x2d21f6=_0x4c0cf3==='merged'?{'globalPath':_0x5bbd74[_0x567305(0x1c5)]??null,'projectPath':_0x5bbd74[_0x567305(0x1d1)]??null,'defaultApp':_0x4b054d,'defaultAppSource':_0x2d1bb2!=null?_0x4e8175:null}:{'scope':_0x4c0cf3,'configPath':_0x488f47??null};return{'ok':!![],'data':{'items':_0x217bea,'meta':_0x2d21f6}};}function a21_0x120f(){const _0xb079cf=['Show\x20only\x20apps\x20from\x20project\x20.rabetbase.json','length','global','bool','507957mMuGxy','globalConfig','globalPath','object','\x20in\x20','10116cUVmjW','map','7757320qUwFmm','boolean','746956GiKfXd','entries','appcode','970vPJjXS','1518828ttniHp','projectPath','merged','defaultApp','List\x20all\x20configured\x20apps','1233856ZJUkGQ','read','\x20config','app','mergedCli','No\x20apps\x20configured','\x20app\x20add\x20<name>\x20--appcode\x20<code>`\x20to\x20add\x20one.','.\x20Use\x20`','inherit','apps','projectConfig','project','214037PPTKaL','isCurrent','find','push'];a21_0x120f=function(){return _0xb079cf;};return a21_0x120f();}export const appListDefinition={'service':a21_0x32ab56(0x1b2),'command':'list','description':a21_0x32ab56(0x1ae),'risk':a21_0x32ab56(0x1b0),'requiresAuth':![],'requiresAppCode':![],'flags':[{'name':a21_0x32ab56(0x1c1),'type':a21_0x32ab56(0x1cb),'description':'Show\x20only\x20apps\x20from\x20global\x20~/.rabetbase.json','default':![]},{'name':'project','type':a21_0x32ab56(0x1cb),'description':a21_0x32ab56(0x1bf),'default':![]}],'execute':execute};
@@ -1 +1 @@
1
- function a22_0x33bc(){const _0x134835=['high-risk-write','apps','remove','object','1663xMUYdw','4501365nHoDAy','app','49776zvSDpB','inherit','global','\x22\x20not\x20found.','projectConfig','176115IQekmf','\x20Default\x20app\x20changed\x20to\x20\x22','both','length','Use\x20global\x20config\x20scope','Usage:\x20','3490JwhtoO','trim','Removed\x20app\x20\x22','\x20config.','\x20app\x20remove\x20<name>\x20[--global]','name','keys','Missing\x20app\x20name.','16OUCLQP','1466087KoNpoG','validation','project','defaultApp','63fxtyQx','160mTOALp','Remove\x20an\x20app\x20from\x20config','\x22\x20still\x20defined\x20in\x20','532CaBGQS','boolean','args','742348UONuAj','App\x20\x22','globalConfig'];a22_0x33bc=function(){return _0x134835;};return a22_0x33bc();}const a22_0x33725e=a22_0x404b;(function(_0x126e80,_0x327fce){const _0x113fc7=a22_0x404b,_0xfe9e97=_0x126e80();while(!![]){try{const _0x219e56=-parseInt(_0x113fc7(0x1eb))/0x1*(parseInt(_0x113fc7(0x1e1))/0x2)+-parseInt(_0x113fc7(0x1ca))/0x3+parseInt(_0x113fc7(0x1e4))/0x4+parseInt(_0x113fc7(0x1de))/0x5*(-parseInt(_0x113fc7(0x1ee))/0x6)+-parseInt(_0x113fc7(0x1d9))/0x7*(-parseInt(_0x113fc7(0x1d8))/0x8)+-parseInt(_0x113fc7(0x1dd))/0x9*(-parseInt(_0x113fc7(0x1d0))/0xa)+parseInt(_0x113fc7(0x1ec))/0xb;if(_0x219e56===_0x327fce)break;else _0xfe9e97['push'](_0xfe9e97['shift']());}catch(_0x311418){_0xfe9e97['push'](_0xfe9e97['shift']());}}}(a22_0x33bc,0x3cef8));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{readRawConfigWithLayers}from'../../context.js';function a22_0x404b(_0x5ed9e1,_0x34329a){_0x5ed9e1=_0x5ed9e1-0x1c9;const _0x33bcb7=a22_0x33bc();let _0x404be6=_0x33bcb7[_0x5ed9e1];return _0x404be6;}import{readConfig,writeConfig,scopeLabel,resolveAppScopeForWrite,appDefinedIn}from'../../commands/app/shared.js';async function validateArgs(_0x4e6008){const _0x2c8831=a22_0x404b,_0x6d9576=_0x4e6008[_0x2c8831(0x1e3)][0x0]?.['trim']();if(!_0x6d9576)throw CliErrors['validation']('Missing\x20app\x20name.',_0x2c8831(0x1cf)+CLI_BIN_NAME+_0x2c8831(0x1d4));}async function execute(_0x414a91){const _0x368832=a22_0x404b,_0x3b010b=_0x414a91[_0x368832(0x1e3)][0x0]?.[_0x368832(0x1d1)]();if(!_0x3b010b)throw CliErrors['validation'](_0x368832(0x1d7),_0x368832(0x1cf)+CLI_BIN_NAME+_0x368832(0x1d4));const _0x49e2e5=_0x414a91['bool'](_0x368832(0x1f0)),{config:_0x573c06,layers:_0x2ef4ee}=readRawConfigWithLayers(),_0x585f93=_0x573c06[_0x368832(0x1e8)]??{};if(!_0x585f93[_0x3b010b])throw CliErrors['validation'](_0x368832(0x1e5)+_0x3b010b+_0x368832(0x1f1));const _0x8e9ad7=_0x2ef4ee[_0x368832(0x1e6)][_0x368832(0x1e8)]&&typeof _0x2ef4ee[_0x368832(0x1e6)]['apps']===_0x368832(0x1ea)?_0x2ef4ee[_0x368832(0x1e6)]['apps']:{},_0x44f64a=_0x2ef4ee[_0x368832(0x1c9)][_0x368832(0x1e8)]&&typeof _0x2ef4ee[_0x368832(0x1c9)]['apps']===_0x368832(0x1ea)?_0x2ef4ee['projectConfig']['apps']:{},_0x379096=appDefinedIn(_0x3b010b,_0x8e9ad7,_0x44f64a,_0x2ef4ee[_0x368832(0x1c9)][_0x368832(0x1ef)]===![]),_0x3a5837=resolveAppScopeForWrite(_0x3b010b,_0x49e2e5,_0x2ef4ee),_0x5df08f={'global':_0x3a5837===_0x368832(0x1f0)},_0x359d3c=readConfig(_0x5df08f),_0x2b6409=_0x359d3c[_0x368832(0x1e8)];if(!_0x2b6409||!_0x2b6409[_0x3b010b])throw CliErrors[_0x368832(0x1da)](_0x368832(0x1e5)+_0x3b010b+_0x368832(0x1f1));delete _0x2b6409[_0x3b010b];let _0xdf53df='';if(_0x359d3c[_0x368832(0x1dc)]===_0x3b010b){const _0x34b569=Object[_0x368832(0x1d6)](_0x2b6409);_0x359d3c[_0x368832(0x1dc)]=_0x34b569[_0x368832(0x1cd)]>0x0?_0x34b569[0x0]:undefined,_0x359d3c[_0x368832(0x1dc)]?_0xdf53df=_0x368832(0x1cb)+_0x359d3c[_0x368832(0x1dc)]+'\x22.':delete _0x359d3c['defaultApp'];}Object[_0x368832(0x1d6)](_0x2b6409)[_0x368832(0x1cd)]===0x0&&(delete _0x359d3c[_0x368832(0x1e8)],delete _0x359d3c[_0x368832(0x1dc)]);writeConfig(_0x359d3c,_0x5df08f);const _0x2fe6b5=_0x379096===_0x368832(0x1cc)?'\x20Note:\x20app\x20\x22'+_0x3b010b+_0x368832(0x1e0)+(_0x3a5837===_0x368832(0x1db)?'global':_0x368832(0x1db))+_0x368832(0x1d3):'';return{'ok':!![],'message':_0x368832(0x1d2)+_0x3b010b+'\x22'+scopeLabel(_0x5df08f)+'.'+_0xdf53df+_0x2fe6b5};}export const appRemoveDefinition={'service':a22_0x33725e(0x1ed),'command':a22_0x33725e(0x1e9),'description':a22_0x33725e(0x1df),'risk':a22_0x33725e(0x1e7),'requiresAuth':![],'requiresAppCode':![],'args':[{'name':a22_0x33725e(0x1d5),'description':'App\x20profile\x20name\x20to\x20remove','required':!![]}],'flags':[{'name':a22_0x33725e(0x1f0),'type':a22_0x33725e(0x1e2),'description':a22_0x33725e(0x1ce),'default':![]}],'validate':validateArgs,'execute':execute};
1
+ const a22_0x149399=a22_0x2e25;(function(_0x3341c0,_0x571e95){const _0x4b93f6=a22_0x2e25,_0x18fe56=_0x3341c0();while(!![]){try{const _0x3657cf=-parseInt(_0x4b93f6(0x133))/0x1+parseInt(_0x4b93f6(0x126))/0x2+-parseInt(_0x4b93f6(0x141))/0x3*(parseInt(_0x4b93f6(0x146))/0x4)+-parseInt(_0x4b93f6(0x144))/0x5*(parseInt(_0x4b93f6(0x127))/0x6)+parseInt(_0x4b93f6(0x13b))/0x7*(parseInt(_0x4b93f6(0x12a))/0x8)+-parseInt(_0x4b93f6(0x12d))/0x9*(-parseInt(_0x4b93f6(0x143))/0xa)+parseInt(_0x4b93f6(0x13a))/0xb;if(_0x3657cf===_0x571e95)break;else _0x18fe56['push'](_0x18fe56['shift']());}catch(_0x431ca2){_0x18fe56['push'](_0x18fe56['shift']());}}}(a22_0x1028,0xc4d1c));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_0x1028(){const _0x4f1bca=['1308490iDOLYi','66ONkBRL','Remove\x20an\x20app\x20from\x20config','global','777016wzpEur','bool','App\x20\x22','9LqGfLD','remove','apps','object','\x22\x20still\x20defined\x20in\x20','validation','1603534lQmfuu','Missing\x20app\x20name.','both','inherit','\x20Default\x20app\x20changed\x20to\x20\x22','App\x20profile\x20name\x20to\x20remove','project','22686708sPNaYd','42vfPvFM','\x20Note:\x20app\x20\x22','args','keys','boolean','defaultApp','1491798YkfcOk','\x20app\x20remove\x20<name>\x20[--global]','15487180PGMVlf','656325PAUwit','Use\x20global\x20config\x20scope','8SDrMmY','Usage:\x20','Removed\x20app\x20\x22','\x22\x20not\x20found.','globalConfig','projectConfig'];a22_0x1028=function(){return _0x4f1bca;};return a22_0x1028();}async function validateArgs(_0x5f151a){const _0x41c8e0=a22_0x2e25,_0x25c775=_0x5f151a['args'][0x0]?.['trim']();if(!_0x25c775)throw CliErrors[_0x41c8e0(0x132)]('Missing\x20app\x20name.',_0x41c8e0(0x121)+CLI_BIN_NAME+_0x41c8e0(0x142));}function a22_0x2e25(_0x16fde0,_0x113931){_0x16fde0=_0x16fde0-0x121;const _0x1028f9=a22_0x1028();let _0x2e25f2=_0x1028f9[_0x16fde0];return _0x2e25f2;}async function execute(_0x23f7e6){const _0x1b5aff=a22_0x2e25,_0x44224e=_0x23f7e6[_0x1b5aff(0x13d)][0x0]?.['trim']();if(!_0x44224e)throw CliErrors[_0x1b5aff(0x132)](_0x1b5aff(0x134),_0x1b5aff(0x121)+CLI_BIN_NAME+_0x1b5aff(0x142));const _0x287f6c=_0x23f7e6[_0x1b5aff(0x12b)](_0x1b5aff(0x129)),{config:_0x55cc46,layers:_0x57d2ea}=readRawConfigWithLayers(),_0x8a74b9=_0x55cc46[_0x1b5aff(0x12f)]??{};if(!_0x8a74b9[_0x44224e])throw CliErrors[_0x1b5aff(0x132)](_0x1b5aff(0x12c)+_0x44224e+_0x1b5aff(0x123));const _0x5d39a6=_0x57d2ea[_0x1b5aff(0x124)][_0x1b5aff(0x12f)]&&typeof _0x57d2ea['globalConfig'][_0x1b5aff(0x12f)]===_0x1b5aff(0x130)?_0x57d2ea[_0x1b5aff(0x124)][_0x1b5aff(0x12f)]:{},_0x5bb0a2=_0x57d2ea[_0x1b5aff(0x125)][_0x1b5aff(0x12f)]&&typeof _0x57d2ea[_0x1b5aff(0x125)][_0x1b5aff(0x12f)]==='object'?_0x57d2ea[_0x1b5aff(0x125)][_0x1b5aff(0x12f)]:{},_0x2ac7b0=appDefinedIn(_0x44224e,_0x5d39a6,_0x5bb0a2,_0x57d2ea[_0x1b5aff(0x125)][_0x1b5aff(0x136)]===![]),_0x1a354d=resolveAppScopeForWrite(_0x44224e,_0x287f6c,_0x57d2ea),_0x5842de={'global':_0x1a354d===_0x1b5aff(0x129)},_0x20b0e7=readConfig(_0x5842de),_0x53fc59=_0x20b0e7[_0x1b5aff(0x12f)];if(!_0x53fc59||!_0x53fc59[_0x44224e])throw CliErrors[_0x1b5aff(0x132)](_0x1b5aff(0x12c)+_0x44224e+_0x1b5aff(0x123));delete _0x53fc59[_0x44224e];let _0x135a77='';if(_0x20b0e7[_0x1b5aff(0x140)]===_0x44224e){const _0x52bc6e=Object[_0x1b5aff(0x13e)](_0x53fc59);_0x20b0e7[_0x1b5aff(0x140)]=_0x52bc6e['length']>0x0?_0x52bc6e[0x0]:undefined,_0x20b0e7[_0x1b5aff(0x140)]?_0x135a77=_0x1b5aff(0x137)+_0x20b0e7['defaultApp']+'\x22.':delete _0x20b0e7[_0x1b5aff(0x140)];}Object['keys'](_0x53fc59)['length']===0x0&&(delete _0x20b0e7[_0x1b5aff(0x12f)],delete _0x20b0e7['defaultApp']);writeConfig(_0x20b0e7,_0x5842de);const _0x3bd813=_0x2ac7b0===_0x1b5aff(0x135)?_0x1b5aff(0x13c)+_0x44224e+_0x1b5aff(0x131)+(_0x1a354d===_0x1b5aff(0x139)?'global':_0x1b5aff(0x139))+'\x20config.':'';return{'ok':!![],'message':_0x1b5aff(0x122)+_0x44224e+'\x22'+scopeLabel(_0x5842de)+'.'+_0x135a77+_0x3bd813};}export const appRemoveDefinition={'service':'app','command':a22_0x149399(0x12e),'description':a22_0x149399(0x128),'risk':'high-risk-write','requiresAuth':![],'requiresAppCode':![],'args':[{'name':'name','description':a22_0x149399(0x138),'required':!![]}],'flags':[{'name':a22_0x149399(0x129),'type':a22_0x149399(0x13f),'description':a22_0x149399(0x145),'default':![]}],'validate':validateArgs,'execute':execute};
@@ -1 +1 @@
1
- (function(_0x4fce64,_0x504abe){const _0x508427=a23_0x2582,_0xc874f7=_0x4fce64();while(!![]){try{const _0x17c215=parseInt(_0x508427(0x16f))/0x1*(-parseInt(_0x508427(0x165))/0x2)+parseInt(_0x508427(0x157))/0x3+parseInt(_0x508427(0x168))/0x4*(-parseInt(_0x508427(0x160))/0x5)+parseInt(_0x508427(0x166))/0x6*(-parseInt(_0x508427(0x172))/0x7)+parseInt(_0x508427(0x163))/0x8+parseInt(_0x508427(0x16e))/0x9*(-parseInt(_0x508427(0x15b))/0xa)+-parseInt(_0x508427(0x16b))/0xb*(-parseInt(_0x508427(0x15c))/0xc);if(_0x17c215===_0x504abe)break;else _0xc874f7['push'](_0xc874f7['shift']());}catch(_0x2045d7){_0xc874f7['push'](_0xc874f7['shift']());}}}(a23_0x35e5,0xa5520));import{resolveWriteConfigPath,readConfigFile,writeConfigFile}from'../../context.js';export function enrichAppListItemsWithMergedSelection(_0x3b9f9d,_0x2ca009){const _0xe8823=a23_0x2582;if(!_0x2ca009)return;const _0x383778=_0x2ca009[_0xe8823(0x154)]&&typeof _0x2ca009['apps']===_0xe8823(0x16d)?_0x2ca009[_0xe8823(0x154)]:{},_0x1f473b=Object[_0xe8823(0x155)](_0x383778)[_0xe8823(0x152)]>0x0;for(const _0x285e41 of _0x3b9f9d){_0x285e41['isCurrent']=![];}const _0x4286bc=_0x2ca009['appCode']!=null?String(_0x2ca009[_0xe8823(0x15f)])[_0xe8823(0x153)]():'';if(_0x1f473b){const _0x697ca2=_0x2ca009[_0xe8823(0x15e)]??_0x2ca009[_0xe8823(0x167)];if(_0x697ca2)for(const _0x348a46 of _0x3b9f9d){_0x348a46[_0xe8823(0x15a)]===!![]&&_0x348a46[_0xe8823(0x171)]===_0x697ca2&&(_0x348a46[_0xe8823(0x16a)]=!![]);}for(const _0xa84c25 of _0x3b9f9d){if(_0xa84c25[_0xe8823(0x15a)]!==![])continue;if(_0x2ca009[_0xe8823(0x167)])continue;_0x4286bc&&String(_0xa84c25[_0xe8823(0x156)]??'')[_0xe8823(0x153)]()===_0x4286bc&&(_0xa84c25[_0xe8823(0x16a)]=!![]);}return;}if(!_0x4286bc)return;for(const _0x18c99d of _0x3b9f9d){String(_0x18c99d['appcode']??'')['trim']()===_0x4286bc&&(_0x18c99d[_0xe8823(0x16a)]=!![]);}}export function resolveAppScopeForWrite(_0x4db8d0,_0x271114,_0x5301ce){const _0x4f7548=a23_0x2582;if(_0x271114)return _0x4f7548(0x162);const _0x3dedc9=_0x5301ce[_0x4f7548(0x159)][_0x4f7548(0x154)]&&typeof _0x5301ce['projectConfig'][_0x4f7548(0x154)]==='object'?_0x5301ce['projectConfig']['apps']:{},_0x4f782b=_0x5301ce[_0x4f7548(0x164)][_0x4f7548(0x154)]&&typeof _0x5301ce[_0x4f7548(0x164)]['apps']===_0x4f7548(0x16d)?_0x5301ce[_0x4f7548(0x164)]['apps']:{};if(Object[_0x4f7548(0x169)]['hasOwnProperty']['call'](_0x3dedc9,_0x4db8d0))return'project';if(Object['prototype'][_0x4f7548(0x158)][_0x4f7548(0x16c)](_0x4f782b,_0x4db8d0))return'global';return _0x4f7548(0x170);}export function appDefinedIn(_0x228e4a,_0x35b4d7,_0x58918b,_0x12fbd9){const _0x448a94=a23_0x2582;if(_0x12fbd9)return Object[_0x448a94(0x169)][_0x448a94(0x158)][_0x448a94(0x16c)](_0x58918b,_0x228e4a)?'project':_0x448a94(0x162);const _0x112cb0=Object[_0x448a94(0x169)][_0x448a94(0x158)][_0x448a94(0x16c)](_0x35b4d7,_0x228e4a),_0xe2022d=Object[_0x448a94(0x169)][_0x448a94(0x158)][_0x448a94(0x16c)](_0x58918b,_0x228e4a);if(_0x112cb0&&_0xe2022d)return _0x448a94(0x15d);if(_0xe2022d)return _0x448a94(0x170);return _0x448a94(0x162);}export function resolveDefaultAppSource(_0x452c9f){const _0x18898d=a23_0x2582,_0x4a2df5=_0x452c9f[_0x18898d(0x159)]['apps']&&typeof _0x452c9f[_0x18898d(0x159)]['apps']===_0x18898d(0x16d)?_0x452c9f[_0x18898d(0x159)][_0x18898d(0x154)]:{};if(_0x18898d(0x167)in _0x452c9f['projectConfig'])return _0x18898d(0x170);if(Object['keys'](_0x4a2df5)['length']>0x0)return _0x18898d(0x170);if(_0x452c9f[_0x18898d(0x159)]['inherit']===![])return null;if(_0x452c9f[_0x18898d(0x164)][_0x18898d(0x167)])return'global';return null;}export function getConfigPath(_0x1d9df3={}){const _0x1d9e35=a23_0x2582,_0x40476b=_0x1d9df3[_0x1d9e35(0x162)]?'global':'project';return resolveWriteConfigPath(_0x40476b);}function a23_0x2582(_0x410245,_0x2ee31d){_0x410245=_0x410245-0x152;const _0x35e5de=a23_0x35e5();let _0x258258=_0x35e5de[_0x410245];return _0x258258;}export function readConfig(_0x323df7={}){return readConfigFile(getConfigPath(_0x323df7));}function a23_0x35e5(){const _0x2015ee=['isCurrent','10468986ejiWMN','call','object','49050lBwnUx','2oNgtGI','project','name','7dsDZxa','length','trim','apps','keys','appcode','2483397pgcZhV','hasOwnProperty','projectConfig','named','1630OtRUez','24XLPKrV','both','currentApp','appCode','5mQsIcy','\x20(global)','global','9648768iqmBwO','globalConfig','909774BwEeBv','3204852XGwRBm','defaultApp','3711716lDsFSX','prototype'];a23_0x35e5=function(){return _0x2015ee;};return a23_0x35e5();}export function writeConfig(_0x32ee69,_0x2e4184={}){writeConfigFile(getConfigPath(_0x2e4184),_0x32ee69);}export function scopeLabel(_0x4c560d){const _0x22f4a1=a23_0x2582;return _0x4c560d['global']?_0x22f4a1(0x161):'';}
1
+ function a23_0x173b(){const _0x7fa0ac=['1017480wtbrwh','2yoEXvk','235yRMeJG','call','prototype','isCurrent','appCode','both','defaultApp','trim','5749YTUyDM','globalConfig','apps','380828olmfti','6957OWJwQV','keys','named','inherit','710ghoiRT','currentApp','hasOwnProperty','length','215988pnYhlc','project','993456Bdjzkx','18980uNsvBr','object','appcode','projectConfig','global','\x20(global)'];a23_0x173b=function(){return _0x7fa0ac;};return a23_0x173b();}(function(_0x2c65cc,_0x2301e7){const _0xb88ea8=a23_0x3d1a,_0x7673ec=_0x2c65cc();while(!![]){try{const _0x18c824=-parseInt(_0xb88ea8(0x1f8))/0x1*(parseInt(_0xb88ea8(0x1ef))/0x2)+parseInt(_0xb88ea8(0x1e5))/0x3+parseInt(_0xb88ea8(0x1e8))/0x4*(parseInt(_0xb88ea8(0x1f0))/0x5)+-parseInt(_0xb88ea8(0x1e7))/0x6+-parseInt(_0xb88ea8(0x1fb))/0x7+parseInt(_0xb88ea8(0x1ee))/0x8+parseInt(_0xb88ea8(0x1fc))/0x9*(-parseInt(_0xb88ea8(0x1e1))/0xa);if(_0x18c824===_0x2301e7)break;else _0x7673ec['push'](_0x7673ec['shift']());}catch(_0x377edd){_0x7673ec['push'](_0x7673ec['shift']());}}}(a23_0x173b,0x22910));import{resolveWriteConfigPath,readConfigFile,writeConfigFile}from'../../context.js';export function enrichAppListItemsWithMergedSelection(_0x492ff7,_0x418358){const _0x55c206=a23_0x3d1a;if(!_0x418358)return;const _0x23072c=_0x418358[_0x55c206(0x1fa)]&&typeof _0x418358[_0x55c206(0x1fa)]==='object'?_0x418358[_0x55c206(0x1fa)]:{},_0x2c4bf7=Object[_0x55c206(0x1de)](_0x23072c)[_0x55c206(0x1e4)]>0x0;for(const _0x8c3177 of _0x492ff7){_0x8c3177[_0x55c206(0x1f3)]=![];}const _0x4fc1f1=_0x418358[_0x55c206(0x1f4)]!=null?String(_0x418358[_0x55c206(0x1f4)])['trim']():'';if(_0x2c4bf7){const _0xafc07c=_0x418358[_0x55c206(0x1e2)]??_0x418358[_0x55c206(0x1f6)];if(_0xafc07c)for(const _0xf8e379 of _0x492ff7){_0xf8e379[_0x55c206(0x1df)]===!![]&&_0xf8e379['name']===_0xafc07c&&(_0xf8e379[_0x55c206(0x1f3)]=!![]);}for(const _0x4d1e20 of _0x492ff7){if(_0x4d1e20['named']!==![])continue;if(_0x418358[_0x55c206(0x1f6)])continue;_0x4fc1f1&&String(_0x4d1e20[_0x55c206(0x1ea)]??'')[_0x55c206(0x1f7)]()===_0x4fc1f1&&(_0x4d1e20[_0x55c206(0x1f3)]=!![]);}return;}if(!_0x4fc1f1)return;for(const _0x2df549 of _0x492ff7){String(_0x2df549[_0x55c206(0x1ea)]??'')['trim']()===_0x4fc1f1&&(_0x2df549[_0x55c206(0x1f3)]=!![]);}}export function resolveAppScopeForWrite(_0x2f4e44,_0x1c6779,_0xcf161f){const _0x334e05=a23_0x3d1a;if(_0x1c6779)return'global';const _0x583f30=_0xcf161f[_0x334e05(0x1eb)]['apps']&&typeof _0xcf161f['projectConfig']['apps']===_0x334e05(0x1e9)?_0xcf161f[_0x334e05(0x1eb)]['apps']:{},_0x4d9d5b=_0xcf161f[_0x334e05(0x1f9)]['apps']&&typeof _0xcf161f[_0x334e05(0x1f9)]['apps']==='object'?_0xcf161f[_0x334e05(0x1f9)][_0x334e05(0x1fa)]:{};if(Object[_0x334e05(0x1f2)]['hasOwnProperty'][_0x334e05(0x1f1)](_0x583f30,_0x2f4e44))return _0x334e05(0x1e6);if(Object[_0x334e05(0x1f2)][_0x334e05(0x1e3)]['call'](_0x4d9d5b,_0x2f4e44))return _0x334e05(0x1ec);return'project';}export function appDefinedIn(_0x419ce8,_0x4cce56,_0x3912b,_0x586ca1){const _0x370c87=a23_0x3d1a;if(_0x586ca1)return Object['prototype'][_0x370c87(0x1e3)][_0x370c87(0x1f1)](_0x3912b,_0x419ce8)?_0x370c87(0x1e6):_0x370c87(0x1ec);const _0x33c30d=Object['prototype'][_0x370c87(0x1e3)][_0x370c87(0x1f1)](_0x4cce56,_0x419ce8),_0x46e07b=Object[_0x370c87(0x1f2)]['hasOwnProperty'][_0x370c87(0x1f1)](_0x3912b,_0x419ce8);if(_0x33c30d&&_0x46e07b)return _0x370c87(0x1f5);if(_0x46e07b)return'project';return _0x370c87(0x1ec);}function a23_0x3d1a(_0x461974,_0xa57dc5){_0x461974=_0x461974-0x1de;const _0x173be0=a23_0x173b();let _0x3d1a50=_0x173be0[_0x461974];return _0x3d1a50;}export function resolveDefaultAppSource(_0x38f82d){const _0x4ea59b=a23_0x3d1a,_0x17a0bd=_0x38f82d[_0x4ea59b(0x1eb)][_0x4ea59b(0x1fa)]&&typeof _0x38f82d[_0x4ea59b(0x1eb)][_0x4ea59b(0x1fa)]==='object'?_0x38f82d['projectConfig'][_0x4ea59b(0x1fa)]:{};if(_0x4ea59b(0x1f6)in _0x38f82d[_0x4ea59b(0x1eb)])return _0x4ea59b(0x1e6);if(Object[_0x4ea59b(0x1de)](_0x17a0bd)[_0x4ea59b(0x1e4)]>0x0)return _0x4ea59b(0x1e6);if(_0x38f82d['projectConfig'][_0x4ea59b(0x1e0)]===![])return null;if(_0x38f82d[_0x4ea59b(0x1f9)][_0x4ea59b(0x1f6)])return'global';return null;}export function getConfigPath(_0xbb702d={}){const _0x2af96e=a23_0x3d1a,_0x1a3e18=_0xbb702d['global']?_0x2af96e(0x1ec):_0x2af96e(0x1e6);return resolveWriteConfigPath(_0x1a3e18);}export function readConfig(_0x5485f4={}){return readConfigFile(getConfigPath(_0x5485f4));}export function writeConfig(_0x24aac7,_0x910e0a={}){writeConfigFile(getConfigPath(_0x910e0a),_0x24aac7);}export function scopeLabel(_0x4b1991){const _0x3b4bdd=a23_0x3d1a;return _0x4b1991[_0x3b4bdd(0x1ec)]?_0x3b4bdd(0x1ed):'';}
@@ -1 +1 @@
1
- const a24_0x1ce4a5=a24_0x428e;(function(_0xdd5aa1,_0x5b1273){const _0x2a7893=a24_0x428e,_0x137d90=_0xdd5aa1();while(!![]){try{const _0x43a245=-parseInt(_0x2a7893(0xef))/0x1*(-parseInt(_0x2a7893(0xf7))/0x2)+parseInt(_0x2a7893(0xec))/0x3*(-parseInt(_0x2a7893(0x107))/0x4)+-parseInt(_0x2a7893(0x111))/0x5+parseInt(_0x2a7893(0x105))/0x6+-parseInt(_0x2a7893(0x10d))/0x7*(parseInt(_0x2a7893(0xff))/0x8)+-parseInt(_0x2a7893(0x10c))/0x9*(parseInt(_0x2a7893(0x101))/0xa)+-parseInt(_0x2a7893(0x109))/0xb*(-parseInt(_0x2a7893(0x10b))/0xc);if(_0x43a245===_0x5b1273)break;else _0x137d90['push'](_0x137d90['shift']());}catch(_0x5083e8){_0x137d90['push'](_0x137d90['shift']());}}}(a24_0x3b5e,0x95a94));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';function a24_0x3b5e(){const _0x113112=['\x22\x20was\x20defined\x20in\x20global\x20config;\x20profile\x20copied\x20into\x20project\x20so\x20the\x20project\x20config\x20self-resolves\x20under\x20the\x20default\x20project-first\x20inherit\x20policy.','name','app','6402492yZHXHS','\x22\x20not\x20found.','1230708OqNUTs','appcode','4258562fJCdiC','object','12OQniGL','8587224pAhwiD','1617phdRGE','keys','Missing\x20app\x20name.','defaultApp','195060zKUWGO','apps','projectPath','args','global','boolean','6eJODBQ','Usage:\x20','prototype','871933IwMHLz','App\x20\x22','bool','\x22\x20(appcode:\x20','Use\x20global\x20config\x20scope','\x0aNote:\x20\x22','Default\x20app\x20set\x20to\x20\x22','trim','2bLWWsQ','\x20--appcode\x20<code>`\x20first.','Use\x20`','globalConfig','validation','use','\x20app\x20use\x20<name>\x20[--global]','Available:\x20','3624WMiDxx','call','10FqyeJI'];a24_0x3b5e=function(){return _0x113112;};return a24_0x3b5e();}import{readRawConfigWithLayers,isInProject}from'../../context.js';import{readConfig,writeConfig,scopeLabel}from'../../commands/app/shared.js';async function validateArgs(_0x5d0a02){const _0x532c12=a24_0x428e,_0x3edd04=_0x5d0a02[_0x532c12(0x114)][0x0]?.[_0x532c12(0xf6)]();if(!_0x3edd04)throw CliErrors['validation'](_0x532c12(0x10f),_0x532c12(0xed)+CLI_BIN_NAME+_0x532c12(0xfd));}function a24_0x428e(_0x313970,_0x1fa779){_0x313970=_0x313970-0xec;const _0x3b5ef0=a24_0x3b5e();let _0x428e03=_0x3b5ef0[_0x313970];return _0x428e03;}async function execute(_0x42533b){const _0x38103c=a24_0x428e,_0x5078c3=_0x42533b['args'][0x0]?.[_0x38103c(0xf6)]();if(!_0x5078c3)throw CliErrors[_0x38103c(0xfb)](_0x38103c(0x10f),_0x38103c(0xed)+CLI_BIN_NAME+_0x38103c(0xfd));const _0x395e66=_0x42533b[_0x38103c(0xf1)](_0x38103c(0x115)),{config:_0x564ead,layers:_0x3f189f}=readRawConfigWithLayers(),_0x523a06=_0x564ead[_0x38103c(0x112)]??{},_0x4098d5=_0x3f189f[_0x38103c(0xfa)][_0x38103c(0x112)]&&typeof _0x3f189f[_0x38103c(0xfa)]['apps']===_0x38103c(0x10a)?_0x3f189f[_0x38103c(0xfa)][_0x38103c(0x112)]:{},_0xef1498={..._0x4098d5,..._0x523a06};if(!_0xef1498[_0x5078c3]){const _0x106374=Object[_0x38103c(0x10e)](_0xef1498),_0x8604de=_0x106374['length']===0x0?_0x38103c(0xf9)+CLI_BIN_NAME+'\x20app\x20add\x20'+_0x5078c3+_0x38103c(0xf8):_0x38103c(0xfe)+_0x106374['join'](',\x20');throw CliErrors[_0x38103c(0xfb)](_0x38103c(0xf0)+_0x5078c3+_0x38103c(0x106),_0x8604de);}let _0x419735,_0x1e423a='';if(_0x395e66)_0x419735={'global':!![]};else{const _0x209504=isInProject()&&!!_0x3f189f[_0x38103c(0x113)];_0x419735={'global':!_0x209504};}const _0x5c4948=readConfig(_0x419735);_0x5c4948[_0x38103c(0x110)]=_0x5078c3;if(!_0x419735['global']){const _0x5a3a81=_0x5c4948['apps']&&typeof _0x5c4948[_0x38103c(0x112)]===_0x38103c(0x10a)?_0x5c4948[_0x38103c(0x112)]:{};!Object[_0x38103c(0xee)]['hasOwnProperty'][_0x38103c(0x100)](_0x5a3a81,_0x5078c3)&&(_0x5c4948[_0x38103c(0x112)]={..._0x5a3a81,[_0x5078c3]:_0xef1498[_0x5078c3]},_0x1e423a=_0x38103c(0xf4)+_0x5078c3+_0x38103c(0x102));}return writeConfig(_0x5c4948,_0x419735),{'ok':!![],'message':_0x38103c(0xf5)+_0x5078c3+_0x38103c(0xf2)+_0xef1498[_0x5078c3][_0x38103c(0x108)]+')'+scopeLabel(_0x419735)+_0x1e423a};}export const appUseDefinition={'service':a24_0x1ce4a5(0x104),'command':a24_0x1ce4a5(0xfc),'description':'Switch\x20the\x20default\x20app','risk':'write','requiresAuth':![],'requiresAppCode':![],'args':[{'name':a24_0x1ce4a5(0x103),'description':'App\x20profile\x20name\x20to\x20activate','required':!![]}],'flags':[{'name':a24_0x1ce4a5(0x115),'type':a24_0x1ce4a5(0x116),'description':a24_0x1ce4a5(0xf3),'default':![]}],'validate':validateArgs,'execute':execute};
1
+ const a24_0x53ca26=a24_0x2de8;(function(_0x5cd8f5,_0x5b3c64){const _0x44b42e=a24_0x2de8,_0x4e02d0=_0x5cd8f5();while(!![]){try{const _0x67d80=-parseInt(_0x44b42e(0x17b))/0x1*(-parseInt(_0x44b42e(0x158))/0x2)+parseInt(_0x44b42e(0x165))/0x3+-parseInt(_0x44b42e(0x17f))/0x4+parseInt(_0x44b42e(0x16a))/0x5*(-parseInt(_0x44b42e(0x180))/0x6)+-parseInt(_0x44b42e(0x172))/0x7*(-parseInt(_0x44b42e(0x177))/0x8)+parseInt(_0x44b42e(0x179))/0x9*(parseInt(_0x44b42e(0x162))/0xa)+-parseInt(_0x44b42e(0x166))/0xb;if(_0x67d80===_0x5b3c64)break;else _0x4e02d0['push'](_0x4e02d0['shift']());}catch(_0x59aea8){_0x4e02d0['push'](_0x4e02d0['shift']());}}}(a24_0x1c0b,0xee00d));import{CliErrors}from'../../errors.js';function a24_0x2de8(_0x47bfa8,_0x101707){_0x47bfa8=_0x47bfa8-0x158;const _0x1c0b7f=a24_0x1c0b();let _0x2de8e5=_0x1c0b7f[_0x47bfa8];return _0x2de8e5;}import{CLI_BIN_NAME}from'../../constant/cli.js';function a24_0x1c0b(){const _0x5383f6=['924517VcGHgf','\x0aNote:\x20\x22','join','call','5gItKaB','global','bool','\x22\x20not\x20found.','Missing\x20app\x20name.','Usage:\x20','Available:\x20','Use\x20`','1584226DzsqwH','Use\x20global\x20config\x20scope','globalConfig','hasOwnProperty','defaultApp','32mXMBja','Default\x20app\x20set\x20to\x20\x22','21555xapbaN','use','3UnTKTk','boolean','args','\x20app\x20add\x20','3309740oWFOwT','7860378qlafpw','apps','trim','462998iilmpY','projectPath','\x22\x20was\x20defined\x20in\x20global\x20config;\x20profile\x20copied\x20into\x20project\x20so\x20the\x20project\x20config\x20self-resolves\x20under\x20the\x20default\x20project-first\x20inherit\x20policy.','name','appcode','App\x20profile\x20name\x20to\x20activate','\x22\x20(appcode:\x20','prototype','length','\x20--appcode\x20<code>`\x20first.','6020taKWlx','write','\x20app\x20use\x20<name>\x20[--global]','464541zrHzSP'];a24_0x1c0b=function(){return _0x5383f6;};return a24_0x1c0b();}import{readRawConfigWithLayers,isInProject}from'../../context.js';import{readConfig,writeConfig,scopeLabel}from'../../commands/app/shared.js';async function validateArgs(_0x16bf9d){const _0x3b027a=a24_0x2de8,_0x1d128e=_0x16bf9d[_0x3b027a(0x17d)][0x0]?.[_0x3b027a(0x182)]();if(!_0x1d128e)throw CliErrors['validation'](_0x3b027a(0x16e),_0x3b027a(0x16f)+CLI_BIN_NAME+_0x3b027a(0x164));}async function execute(_0x32d95b){const _0x21b583=a24_0x2de8,_0x1b4c27=_0x32d95b['args'][0x0]?.[_0x21b583(0x182)]();if(!_0x1b4c27)throw CliErrors['validation'](_0x21b583(0x16e),_0x21b583(0x16f)+CLI_BIN_NAME+_0x21b583(0x164));const _0x48a9b9=_0x32d95b[_0x21b583(0x16c)]('global'),{config:_0x56dc57,layers:_0x6769aa}=readRawConfigWithLayers(),_0x196d80=_0x56dc57[_0x21b583(0x181)]??{},_0x4c42d4=_0x6769aa[_0x21b583(0x174)]['apps']&&typeof _0x6769aa[_0x21b583(0x174)]['apps']==='object'?_0x6769aa['globalConfig'][_0x21b583(0x181)]:{},_0x2e9feb={..._0x4c42d4,..._0x196d80};if(!_0x2e9feb[_0x1b4c27]){const _0x35d56f=Object['keys'](_0x2e9feb),_0x1f3dd6=_0x35d56f[_0x21b583(0x160)]===0x0?_0x21b583(0x171)+CLI_BIN_NAME+_0x21b583(0x17e)+_0x1b4c27+_0x21b583(0x161):_0x21b583(0x170)+_0x35d56f[_0x21b583(0x168)](',\x20');throw CliErrors['validation']('App\x20\x22'+_0x1b4c27+_0x21b583(0x16d),_0x1f3dd6);}let _0xac19c7,_0xc673aa='';if(_0x48a9b9)_0xac19c7={'global':!![]};else{const _0x44186b=isInProject()&&!!_0x6769aa[_0x21b583(0x159)];_0xac19c7={'global':!_0x44186b};}const _0x2a84a0=readConfig(_0xac19c7);_0x2a84a0[_0x21b583(0x176)]=_0x1b4c27;if(!_0xac19c7['global']){const _0x15c2ce=_0x2a84a0['apps']&&typeof _0x2a84a0[_0x21b583(0x181)]==='object'?_0x2a84a0['apps']:{};!Object[_0x21b583(0x15f)][_0x21b583(0x175)][_0x21b583(0x169)](_0x15c2ce,_0x1b4c27)&&(_0x2a84a0[_0x21b583(0x181)]={..._0x15c2ce,[_0x1b4c27]:_0x2e9feb[_0x1b4c27]},_0xc673aa=_0x21b583(0x167)+_0x1b4c27+_0x21b583(0x15a));}return writeConfig(_0x2a84a0,_0xac19c7),{'ok':!![],'message':_0x21b583(0x178)+_0x1b4c27+_0x21b583(0x15e)+_0x2e9feb[_0x1b4c27][_0x21b583(0x15c)]+')'+scopeLabel(_0xac19c7)+_0xc673aa};}export const appUseDefinition={'service':'app','command':a24_0x53ca26(0x17a),'description':'Switch\x20the\x20default\x20app','risk':a24_0x53ca26(0x163),'requiresAuth':![],'requiresAppCode':![],'args':[{'name':a24_0x53ca26(0x15b),'description':a24_0x53ca26(0x15d),'required':!![]}],'flags':[{'name':a24_0x53ca26(0x16b),'type':a24_0x53ca26(0x17c),'description':a24_0x53ca26(0x173),'default':![]}],'validate':validateArgs,'execute':execute};
@@ -1 +1 @@
1
- function a25_0x3db2(){const _0x28621b=['../../auth/auth-server-ui.js','logout','5066235OzboFX','auth','31938zEdcOm','nonInteractive','438496JkGnlS','yes','20UMEigs','Clear\x20login\x20session','3EGcTxO','login','boolean','log','1180265EoMtNY','301oxJIuI','4zZmALA','Login\x20via\x20browser','262534xBuJcf','Skip\x20login\x20confirmation\x20and\x20start\x20browser\x20auth\x20immediately','write','6506621DoZjEs','1253840aiPsAp'];a25_0x3db2=function(){return _0x28621b;};return a25_0x3db2();}const a25_0x1e4a51=a25_0x4204;(function(_0x40cd3b,_0x596d7e){const _0x2ed1d6=a25_0x4204,_0x22dc9e=_0x40cd3b();while(!![]){try{const _0x583090=parseInt(_0x2ed1d6(0x101))/0x1+-parseInt(_0x2ed1d6(0xf6))/0x2*(parseInt(_0x2ed1d6(0x105))/0x3)+parseInt(_0x2ed1d6(0x10b))/0x4*(-parseInt(_0x2ed1d6(0x109))/0x5)+-parseInt(_0x2ed1d6(0xff))/0x6*(parseInt(_0x2ed1d6(0x10a))/0x7)+-parseInt(_0x2ed1d6(0xfa))/0x8+-parseInt(_0x2ed1d6(0xfd))/0x9+-parseInt(_0x2ed1d6(0x103))/0xa*(-parseInt(_0x2ed1d6(0xf9))/0xb);if(_0x583090===_0x596d7e)break;else _0x22dc9e['push'](_0x22dc9e['shift']());}catch(_0x310fa9){_0x22dc9e['push'](_0x22dc9e['shift']());}}}(a25_0x3db2,0x4aa00));import{unlinkSync,existsSync}from'node:fs';function a25_0x4204(_0x20bbe0,_0x4d037b){_0x20bbe0=_0x20bbe0-0xf5;const _0x3db2cc=a25_0x3db2();let _0x4204c7=_0x3db2cc[_0x20bbe0];return _0x4204c7;}import{cookieFile}from'../../auth/constant.js';export const authDefinitions=[{'service':a25_0x1e4a51(0xfe),'command':a25_0x1e4a51(0x106),'description':a25_0x1e4a51(0xf5),'risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':'yes','type':a25_0x1e4a51(0x107),'description':a25_0x1e4a51(0xf7),'default':![]}],async 'execute'(_0x1b8063){const _0x2d17eb=a25_0x1e4a51,{runAuthServer:_0x1e2c9f}=await import(_0x2d17eb(0xfb));return await _0x1e2c9f({'autoYes':_0x1b8063['bool'](_0x2d17eb(0x102)),'nonInteractive':_0x1b8063[_0x2d17eb(0x100)]}),{'ok':!![]};}},{'service':'auth','command':a25_0x1e4a51(0xfc),'description':a25_0x1e4a51(0x104),'risk':a25_0x1e4a51(0xf8),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0xcf47e4){const _0x2ea3d6=a25_0x1e4a51;return existsSync(cookieFile)?(unlinkSync(cookieFile),console[_0x2ea3d6(0x108)]('✓\x20Logged\x20out')):console[_0x2ea3d6(0x108)]('!\x20Not\x20logged\x20in'),{'ok':!![]};}}];
1
+ const a25_0x3caa2d=a25_0x199a;(function(_0x4e07ea,_0x2c10ee){const _0x126f14=a25_0x199a,_0x9ccdb8=_0x4e07ea();while(!![]){try{const _0x3af85d=-parseInt(_0x126f14(0xf8))/0x1+parseInt(_0x126f14(0xf5))/0x2*(-parseInt(_0x126f14(0xe7))/0x3)+-parseInt(_0x126f14(0xe9))/0x4+parseInt(_0x126f14(0xfb))/0x5+parseInt(_0x126f14(0xf7))/0x6*(parseInt(_0x126f14(0xe8))/0x7)+-parseInt(_0x126f14(0xea))/0x8*(-parseInt(_0x126f14(0xf9))/0x9)+parseInt(_0x126f14(0xfc))/0xa;if(_0x3af85d===_0x2c10ee)break;else _0x9ccdb8['push'](_0x9ccdb8['shift']());}catch(_0x2ac2b5){_0x9ccdb8['push'](_0x9ccdb8['shift']());}}}(a25_0x1032,0xe7b87));import{unlinkSync,existsSync}from'node:fs';function a25_0x199a(_0x437e1b,_0x275ec2){_0x437e1b=_0x437e1b-0xe7;const _0x1032e1=a25_0x1032();let _0x199a35=_0x1032e1[_0x437e1b];return _0x199a35;}import{cookieFile}from'../../auth/constant.js';function a25_0x1032(){const _0x5b6867=['logout','2060750WDZmXe','1567120QjWCxH','../../auth/auth-server-ui.js','18wwTYto','7OhHmIu','1211188iLdzos','79040CrXKmU','bool','auth','nonInteractive','read','Clear\x20login\x20session','Skip\x20login\x20confirmation\x20and\x20start\x20browser\x20auth\x20immediately','log','boolean','yes','✓\x20Logged\x20out','87726PusjfW','!\x20Not\x20logged\x20in','8815548MhhMmE','888578FFtBav','333oyLgQd'];a25_0x1032=function(){return _0x5b6867;};return a25_0x1032();}export const authDefinitions=[{'service':a25_0x3caa2d(0xec),'command':'login','description':'Login\x20via\x20browser','risk':a25_0x3caa2d(0xee),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a25_0x3caa2d(0xf3),'type':a25_0x3caa2d(0xf2),'description':a25_0x3caa2d(0xf0),'default':![]}],async 'execute'(_0x34c016){const _0x2d2521=a25_0x3caa2d,{runAuthServer:_0x3fc865}=await import(_0x2d2521(0xfd));return await _0x3fc865({'autoYes':_0x34c016[_0x2d2521(0xeb)](_0x2d2521(0xf3)),'nonInteractive':_0x34c016[_0x2d2521(0xed)]}),{'ok':!![]};}},{'service':a25_0x3caa2d(0xec),'command':a25_0x3caa2d(0xfa),'description':a25_0x3caa2d(0xef),'risk':'write','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x44bb6b){const _0x497784=a25_0x3caa2d;return existsSync(cookieFile)?(unlinkSync(cookieFile),console['log'](_0x497784(0xf4))):console[_0x497784(0xf1)](_0x497784(0xf6)),{'ok':!![]};}}];
@@ -1 +1 @@
1
- function a26_0x30f0(){const _0x4b7e7e=['HOOK','Created\x20','apiDir','functionNode','Dataset\x20alias\x20from\x20api.ts\x20(HOOK\x20only,\x20preferred)','Select\x20operation\x20type:','\x20\x20Enter\x20a\x20number\x20between\x201\x20and\x20','type','validation','File\x20already\x20exists:\x20','Available\x20aliases:\x20','UNKNOWN','write','code','Select\x20dataset:','TODO:\x20add\x20script\x20description','\x0a\x20*\x20[接口路径]\x20POST\x20/api/endpoint/{appCode}/{scriptName}\x0a\x20*\x20[当前示例]\x20POST\x20/api/endpoint/','No\x20operation\x20types\x20found\x20for\x20dataset\x20','Alias\x20\x22','\x22.\x20Must\x20be\x20a\x20valid\x20JS\x20identifier\x20(e.g.\x20createOrder,\x20beforeFilter).','HOOK\x20requires\x20hookOptions\x20for\x20template\x20generation.','before','nonInteractive','after','Script\x20type','388983wgWVcq','\x0a\x20*\x20[脚本类型]\x20COMMON\x0a\x20*\x20[本地路径]\x20.rabetbase/bff/COMMON/','The\x20api.ts\x20may\x20be\x20stale\x20—\x20run\x20`','4837oWMRXm','utf8','(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a','Invalid\x20function\x20name\x20\x22','12JPNygC','Operation\x20type\x20(HOOK\x20only)','string','1196424YpwRiR','trim','name','\x22\x20not\x20found\x20for\x20dataset\x20','--function-node\x20must\x20be\x20\x27before\x27\x20or\x20\x27after\x27.','635162dKzqFV','\x0a\x20*\x20[触发节点]\x20','join','Script\x20description','--function-node\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','Dataset\x20code\x20(HOOK\x20only,\x20fallback\x20when\x20alias\x20unavailable)','--operation-type\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','COMMON','/**\x0a\x20*\x20ENDPOINT\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','length','includes','function-node','datasetcode','/**\x0a\x20*\x20HOOK\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','scriptsRootDir','No\x20datasets\x20found\x20for\x20this\x20app.','119038LSqJrh','keys','--alias\x20or\x20--datasetcode\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','.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','\x22\x20not\x20found.\x20','operation-type','\x20api\x20pull`\x20to\x20refresh.','tableName','map','ENDPOINT','Scaffold\x20a\x20new\x20BFF\x20function\x20from\x20template','alias','stderr','1303010RdmfaN','description','\x20api\x20pull`\x20first,\x20or\x20use\x20--datasetcode\x20instead.','\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','1986pEVLXj','\x22.\x20','.js','stdin','operationType','HOOK\x20requires\x20alias/operation/node\x20options.','find','Operation\x20type\x20\x22','Available:\x20','appCode','1178487iHxAkK','datasetCode','create','str','Trigger\x20node\x20(HOOK\x20only)'];a26_0x30f0=function(){return _0x4b7e7e;};return a26_0x30f0();}const a26_0x40bf71=a26_0xac7f;(function(_0x283678,_0x1cdb28){const _0xf7166d=a26_0xac7f,_0x1244d1=_0x283678();while(!![]){try{const _0x36f87b=-parseInt(_0xf7166d(0xd2))/0x1+parseInt(_0xf7166d(0x11a))/0x2+parseInt(_0xf7166d(0x10b))/0x3*(parseInt(_0xf7166d(0x112))/0x4)+-parseInt(_0xf7166d(0xdf))/0x5+parseInt(_0xf7166d(0xe3))/0x6*(parseInt(_0xf7166d(0x10e))/0x7)+-parseInt(_0xf7166d(0x115))/0x8+-parseInt(_0xf7166d(0xed))/0x9;if(_0x36f87b===_0x1cdb28)break;else _0x1244d1['push'](_0x1244d1['shift']());}catch(_0x2a1e06){_0x1244d1['push'](_0x1244d1['shift']());}}}(a26_0x30f0,0x432cd));import{createInterface}from'node:readline';import{mkdir,writeFile}from'node:fs/promises';function a26_0xac7f(_0x36887e,_0x2a6e70){_0x36887e=_0x36887e-0xce;const _0x30f039=a26_0x30f0();let _0xac7fa9=_0x30f039[_0x36887e];return _0xac7fa9;}import{dirname,join}from'node:path';import{listDatasets,listBffDatasetOperations}from'../../core/api-client.js';import{loadAliasMap,resolveAlias}from'../../core/alias-resolver.js';import{resolveApiFilePath}from'../../context.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{fileExists}from'../../core/bff/file-system.js';import{isValidBffFunctionName,normalizeHookFunctionNode}from'../../core/bff/utils.js';import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';export const bffCreate={'service':'bff','command':a26_0x40bf71(0xef),'description':a26_0x40bf71(0xdc),'risk':a26_0x40bf71(0xfe),'flags':[{'name':a26_0x40bf71(0xf9),'type':a26_0x40bf71(0x114),'required':!![],'enum':[a26_0x40bf71(0x121),a26_0x40bf71(0xdb),a26_0x40bf71(0xf2)],'description':a26_0x40bf71(0x10a)},{'name':a26_0x40bf71(0x117),'type':a26_0x40bf71(0x114),'required':!![],'description':'Function\x20name\x20(valid\x20JS\x20identifier)'},{'name':a26_0x40bf71(0xe0),'type':a26_0x40bf71(0x114),'description':a26_0x40bf71(0x11d)},{'name':a26_0x40bf71(0xdd),'type':a26_0x40bf71(0x114),'description':a26_0x40bf71(0xf6)},{'name':a26_0x40bf71(0xce),'type':a26_0x40bf71(0x114),'description':a26_0x40bf71(0x11f)},{'name':a26_0x40bf71(0xd7),'type':a26_0x40bf71(0x114),'description':a26_0x40bf71(0x113)},{'name':a26_0x40bf71(0x125),'type':a26_0x40bf71(0x114),'description':a26_0x40bf71(0xf1),'enum':[a26_0x40bf71(0x107),a26_0x40bf71(0x109)]}],async 'validate'(_0xa039eb){const _0x2f14d3=a26_0x40bf71,_0x1afba1=_0xa039eb['str'](_0x2f14d3(0x117));if(!isValidBffFunctionName(_0x1afba1))throw CliErrors[_0x2f14d3(0xfa)](_0x2f14d3(0x111)+_0x1afba1+_0x2f14d3(0x105));},async 'execute'(_0x15bd77){const _0x153858=a26_0x40bf71,_0x2d68da=loadBffProjectConfig(_0x15bd77[_0x153858(0xec)]),_0x50df8c=_0x15bd77['str'](_0x153858(0xf9)),_0x3e89c9=_0x15bd77[_0x153858(0xf0)](_0x153858(0x117)),_0x351565=_0x15bd77[_0x153858(0xf0)](_0x153858(0xe0))||undefined,_0x1d7620=_0x50df8c==='HOOK'?await resolveHookOptions(_0x2d68da,_0x15bd77):undefined,_0x1c5cc8=buildFilePath(_0x2d68da,_0x50df8c,_0x3e89c9,_0x1d7620);if(await fileExists(_0x1c5cc8))throw CliErrors[_0x153858(0xfa)](_0x153858(0xfb)+_0x1c5cc8);await mkdir(dirname(_0x1c5cc8),{'recursive':!![]});const _0x4f540b=generateTemplate(_0x50df8c,_0x3e89c9,_0x15bd77[_0x153858(0xec)],_0x351565,_0x1d7620);await writeFile(_0x1c5cc8,_0x4f540b,_0x153858(0x10f));const _0x4b6133={'type':_0x50df8c,'name':_0x3e89c9,'path':_0x1c5cc8};if(_0x351565)_0x4b6133[_0x153858(0xe0)]=_0x351565;if(_0x1d7620){if(_0x1d7620['alias'])_0x4b6133['alias']=_0x1d7620[_0x153858(0xdd)];_0x4b6133[_0x153858(0xee)]=_0x1d7620[_0x153858(0xee)],_0x4b6133[_0x153858(0xe7)]=_0x1d7620[_0x153858(0xe7)],_0x4b6133[_0x153858(0xf5)]=_0x1d7620['functionNode'];}return{'ok':!![],'data':_0x4b6133,'message':_0x153858(0xf3)+_0x50df8c+'\x20function:\x20'+_0x3e89c9};}};async function resolveHookOptions(_0x3a3673,_0x9ceda8){const _0x471a9d=a26_0x40bf71,_0x453a2c=loadAliasMap(_0x9ceda8[_0x471a9d(0xf4)],undefined,resolveApiFilePath(_0x9ceda8[_0x471a9d(0xf4)],_0x9ceda8[_0x471a9d(0xec)])),_0x4457c4=_0x453a2c['length']>0x0;let _0xdd4784,_0x51979a,_0xf52bfd;const _0x5cfd24=_0x9ceda8[_0x471a9d(0xf0)](_0x471a9d(0xdd)),_0x594e62=_0x9ceda8['str'](_0x471a9d(0xce));if(_0x5cfd24){const _0x45ce1a=resolveAlias(_0x9ceda8[_0x471a9d(0xf4)],_0x5cfd24,undefined,resolveApiFilePath(_0x9ceda8[_0x471a9d(0xf4)],_0x9ceda8[_0x471a9d(0xec)]));if(!_0x45ce1a){const _0x4c63a9=_0x4457c4?_0x471a9d(0xfc)+_0x453a2c[_0x471a9d(0xda)](_0x233d10=>_0x233d10[_0x471a9d(0xdd)])[_0x471a9d(0x11c)](',\x20'):'No\x20api.ts\x20found.\x20Run\x20`'+CLI_BIN_NAME+_0x471a9d(0xe1);throw CliErrors[_0x471a9d(0xfa)](_0x471a9d(0x104)+_0x5cfd24+_0x471a9d(0xd6)+_0x4c63a9);}_0xdd4784=_0x5cfd24,_0x51979a=_0x45ce1a;}else{if(_0x594e62){_0x51979a=_0x594e62;const _0x48093e=_0x453a2c[_0x471a9d(0xe9)](_0x4da425=>_0x4da425[_0x471a9d(0xee)]===_0x594e62);_0xdd4784=_0x48093e?.[_0x471a9d(0xdd)];}else{if(_0x9ceda8[_0x471a9d(0x108)])throw CliErrors['validation'](_0x471a9d(0xd4));else{if(_0x4457c4){const _0x276bb6=_0x453a2c[_0x471a9d(0xda)](_0x1b8014=>_0x1b8014['alias']+'\x20('+_0x1b8014[_0x471a9d(0xd9)]+')'),_0x3b6467=await promptSelect(_0x471a9d(0x100),_0x276bb6),_0x2463ba=_0x453a2c[_0x3b6467];if(!_0x2463ba)throw CliErrors[_0x471a9d(0xfa)]('Invalid\x20dataset\x20selection.');_0xdd4784=_0x2463ba[_0x471a9d(0xdd)],_0x51979a=_0x2463ba[_0x471a9d(0xee)];}else{const _0x1394b4=await listDatasets(_0x9ceda8['appCode']);if(_0x1394b4[_0x471a9d(0x123)]===0x0)throw CliErrors[_0x471a9d(0xfa)](_0x471a9d(0xd1));const _0x5956e1=_0x1394b4[_0x471a9d(0xda)](_0x235c86=>_0x235c86['name']+'\x20['+(_0x235c86['source']??_0x471a9d(0xfd))+']\x20('+_0x235c86['code']+')'),_0x198a24=await promptSelect('Select\x20dataset:',_0x5956e1),_0x57686a=_0x1394b4[_0x198a24];if(!_0x57686a)throw CliErrors['validation']('Invalid\x20dataset\x20selection.');_0x51979a=_0x57686a[_0x471a9d(0xff)],_0xdd4784=undefined;}}}}const _0x4fb94b=await listDatasets(_0x9ceda8[_0x471a9d(0xec)]),_0x17a01f=_0x4fb94b[_0x471a9d(0xe9)](_0x34d149=>_0x34d149[_0x471a9d(0xff)]===_0x51979a);if(!_0x17a01f)throw CliErrors[_0x471a9d(0xfa)]('Dataset\x20not\x20found\x20for\x20code\x20\x22'+_0x51979a+_0x471a9d(0xe4)+(_0xdd4784?_0x471a9d(0x10d)+CLI_BIN_NAME+_0x471a9d(0xd8):''));_0xf52bfd=_0x17a01f['id'];const _0x523c68=_0xdd4784??_0x51979a,_0x1cdcc8=await listBffDatasetOperations(_0x9ceda8[_0x471a9d(0xec)],_0xf52bfd),_0x25d592=_0x1cdcc8?Object[_0x471a9d(0xd3)](_0x1cdcc8):[];if(_0x25d592[_0x471a9d(0x123)]===0x0)throw CliErrors[_0x471a9d(0xfa)](_0x471a9d(0x103)+_0x523c68+'.');let _0x54a091;const _0x395582=_0x9ceda8[_0x471a9d(0xf0)]('operation-type');if(_0x395582){if(!_0x25d592[_0x471a9d(0x124)](_0x395582))throw CliErrors[_0x471a9d(0xfa)](_0x471a9d(0xea)+_0x395582+_0x471a9d(0x118)+_0x523c68+'.\x20'+(_0x471a9d(0xeb)+_0x25d592['join'](',\x20')));_0x54a091=_0x395582;}else{if(_0x9ceda8['nonInteractive'])throw CliErrors[_0x471a9d(0xfa)](_0x471a9d(0x120));const _0x13ec89=await promptSelect(_0x471a9d(0xf7),_0x25d592);_0x54a091=_0x25d592[_0x13ec89]??_0x25d592[0x0];}let _0x1fa9e9=normalizeHookFunctionNode(_0x9ceda8[_0x471a9d(0xf0)](_0x471a9d(0x125)));if(!_0x1fa9e9){if(_0x9ceda8[_0x471a9d(0xf0)](_0x471a9d(0x125)))throw CliErrors[_0x471a9d(0xfa)](_0x471a9d(0x119));if(_0x9ceda8['nonInteractive'])throw CliErrors[_0x471a9d(0xfa)](_0x471a9d(0x11e));const _0x36d8d3=await promptSelect('Select\x20trigger\x20node:',[_0x471a9d(0x107),_0x471a9d(0x109)]);_0x1fa9e9=['before',_0x471a9d(0x109)][_0x36d8d3]??_0x471a9d(0x107);}return{'alias':_0xdd4784,'datasetCode':_0x51979a,'datasetId':_0xf52bfd,'operationType':_0x54a091,'functionNode':_0x1fa9e9};}async function promptSelect(_0xd8fcef,_0x430fd7){const _0x9be82f=a26_0x40bf71;if(_0x430fd7[_0x9be82f(0x123)]===0x1)return 0x0;for(const [_0x7a094d,_0x233faa]of _0x430fd7['entries']()){process[_0x9be82f(0xde)][_0x9be82f(0xfe)]('\x20\x20'+(_0x7a094d+0x1)+'.\x20'+_0x233faa+'\x0a');}const _0x61b46=createInterface({'input':process[_0x9be82f(0xe6)],'output':process[_0x9be82f(0xde)]});while(!![]){const _0x30d85c=await new Promise(_0x424804=>{_0x61b46['question'](_0xd8fcef+'\x20',_0x424804);}),_0xc6cea7=Number['parseInt'](_0x30d85c[_0x9be82f(0x116)](),0xa);if(Number['isInteger'](_0xc6cea7)&&_0xc6cea7>=0x1&&_0xc6cea7<=_0x430fd7['length'])return _0x61b46['close'](),_0xc6cea7-0x1;process[_0x9be82f(0xde)][_0x9be82f(0xfe)](_0x9be82f(0xf8)+_0x430fd7[_0x9be82f(0x123)]+'.\x0a');}}function buildFilePath(_0x260b97,_0x16d164,_0x5a5c3e,_0x52df46){const _0xdbd7b2=a26_0x40bf71;if(_0x16d164===_0xdbd7b2(0xf2)){if(!_0x52df46)throw CliErrors[_0xdbd7b2(0xfa)](_0xdbd7b2(0xe8));const _0x53dad5=_0x52df46['alias']??_0x52df46[_0xdbd7b2(0xee)];return join(_0x260b97[_0xdbd7b2(0xd0)],_0xdbd7b2(0xf2),_0x53dad5,_0x52df46[_0xdbd7b2(0xe7)],_0x52df46[_0xdbd7b2(0xf5)],_0x5a5c3e+_0xdbd7b2(0xe5));}return join(_0x260b97[_0xdbd7b2(0xd0)],_0x16d164,_0x5a5c3e+_0xdbd7b2(0xe5));}export function generateTemplate(_0x3b8313,_0xf22f64,_0x264876,_0x40d9bf,_0x9155a2){const _0x21f8a6=a26_0x40bf71,_0x3a04e4=_0x40d9bf?.[_0x21f8a6(0x116)]()||_0x21f8a6(0x101);if(_0x3b8313===_0x21f8a6(0x121))return'/**\x0a\x20*\x20COMMON\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20'+_0x3a04e4+'\x0a\x20*\x20[脚本名称]\x20'+_0xf22f64+_0x21f8a6(0x10c)+_0xf22f64+_0x21f8a6(0xd5)+_0xf22f64+_0x21f8a6(0x110);if(_0x3b8313===_0x21f8a6(0xdb))return _0x21f8a6(0x122)+_0x3a04e4+_0x21f8a6(0x102)+_0x264876+'/'+_0xf22f64+'\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'+_0xf22f64+_0x21f8a6(0x110);if(!_0x9155a2)throw CliErrors['validation'](_0x21f8a6(0x106));return _0x21f8a6(0xcf)+_0x3a04e4+'\x0a\x20*\x20[接口路径]\x20POST\x20/api/'+_0x264876+'/'+_0x9155a2[_0x21f8a6(0xee)]+'/'+_0x9155a2[_0x21f8a6(0xe7)]+_0x21f8a6(0x11b)+_0x9155a2['functionNode']+_0x21f8a6(0xe2)+_0xf22f64+_0x21f8a6(0x110);}
1
+ const a26_0x252dd9=a26_0x20dc;(function(_0x517abb,_0x13570d){const _0x4c84ad=a26_0x20dc,_0x9feb02=_0x517abb();while(!![]){try{const _0x1f3349=-parseInt(_0x4c84ad(0x165))/0x1+-parseInt(_0x4c84ad(0x18b))/0x2+-parseInt(_0x4c84ad(0x1b9))/0x3+-parseInt(_0x4c84ad(0x188))/0x4+parseInt(_0x4c84ad(0x184))/0x5+-parseInt(_0x4c84ad(0x1aa))/0x6*(parseInt(_0x4c84ad(0x168))/0x7)+parseInt(_0x4c84ad(0x1b3))/0x8*(parseInt(_0x4c84ad(0x177))/0x9);if(_0x1f3349===_0x13570d)break;else _0x9feb02['push'](_0x9feb02['shift']());}catch(_0x40777e){_0x9feb02['push'](_0x9feb02['shift']());}}}(a26_0xbe9f,0x5c0f1));function a26_0x20dc(_0x1c2569,_0x38b1f2){_0x1c2569=_0x1c2569-0x165;const _0xbe9f86=a26_0xbe9f();let _0x20dc80=_0xbe9f86[_0x1c2569];return _0x20dc80;}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_0x252dd9(0x1ab),'command':a26_0x252dd9(0x19f),'description':'Scaffold\x20a\x20new\x20BFF\x20function\x20from\x20template','risk':a26_0x252dd9(0x1af),'flags':[{'name':'type','type':a26_0x252dd9(0x1ae),'required':!![],'enum':['COMMON','ENDPOINT',a26_0x252dd9(0x191)],'description':a26_0x252dd9(0x186)},{'name':a26_0x252dd9(0x1a7),'type':a26_0x252dd9(0x1ae),'required':!![],'description':a26_0x252dd9(0x17d)},{'name':a26_0x252dd9(0x196),'type':a26_0x252dd9(0x1ae),'description':a26_0x252dd9(0x185)},{'name':a26_0x252dd9(0x189),'type':a26_0x252dd9(0x1ae),'description':a26_0x252dd9(0x16b)},{'name':a26_0x252dd9(0x1b5),'type':'string','description':a26_0x252dd9(0x180)},{'name':a26_0x252dd9(0x179),'type':a26_0x252dd9(0x1ae),'description':a26_0x252dd9(0x172)},{'name':a26_0x252dd9(0x16e),'type':'string','description':a26_0x252dd9(0x18a),'enum':[a26_0x252dd9(0x1b4),a26_0x252dd9(0x1a2)]}],async 'validate'(_0x2ee0a4){const _0x30e180=a26_0x252dd9,_0x12a3c7=_0x2ee0a4[_0x30e180(0x171)]('name');if(!isValidBffFunctionName(_0x12a3c7))throw CliErrors[_0x30e180(0x17a)]('Invalid\x20function\x20name\x20\x22'+_0x12a3c7+'\x22.\x20Must\x20be\x20a\x20valid\x20JS\x20identifier\x20(e.g.\x20createOrder,\x20beforeFilter).');},async 'execute'(_0x28fce3){const _0xb95658=a26_0x252dd9,_0x6cbbcc=loadBffProjectConfig(_0x28fce3[_0xb95658(0x1a5)]),_0x25e99e=_0x28fce3[_0xb95658(0x171)](_0xb95658(0x198)),_0x2e3a8e=_0x28fce3['str']('name'),_0x32ea18=_0x28fce3[_0xb95658(0x171)]('description')||undefined,_0x8f3215=_0x25e99e===_0xb95658(0x191)?await resolveHookOptions(_0x6cbbcc,_0x28fce3):undefined,_0x3b8f04=buildFilePath(_0x6cbbcc,_0x25e99e,_0x2e3a8e,_0x8f3215);if(await fileExists(_0x3b8f04))throw CliErrors[_0xb95658(0x17a)](_0xb95658(0x17e)+_0x3b8f04);await mkdir(dirname(_0x3b8f04),{'recursive':!![]});const _0x5e1a24=generateTemplate(_0x25e99e,_0x2e3a8e,_0x28fce3[_0xb95658(0x1a5)],_0x32ea18,_0x8f3215);await writeFile(_0x3b8f04,_0x5e1a24,'utf8');const _0x5c9f62={'type':_0x25e99e,'name':_0x2e3a8e,'path':_0x3b8f04};if(_0x32ea18)_0x5c9f62[_0xb95658(0x196)]=_0x32ea18;if(_0x8f3215){if(_0x8f3215[_0xb95658(0x189)])_0x5c9f62[_0xb95658(0x189)]=_0x8f3215[_0xb95658(0x189)];_0x5c9f62[_0xb95658(0x1b0)]=_0x8f3215[_0xb95658(0x1b0)],_0x5c9f62[_0xb95658(0x18c)]=_0x8f3215[_0xb95658(0x18c)],_0x5c9f62[_0xb95658(0x178)]=_0x8f3215[_0xb95658(0x178)];}return{'ok':!![],'data':_0x5c9f62,'message':_0xb95658(0x19b)+_0x25e99e+'\x20function:\x20'+_0x2e3a8e};}};async function resolveHookOptions(_0x4417c0,_0x19f3a9){const _0x29a44c=a26_0x252dd9,_0x5c9d16=loadAliasMap(_0x19f3a9[_0x29a44c(0x1ac)],undefined,resolveApiFilePath(_0x19f3a9[_0x29a44c(0x1ac)],_0x19f3a9[_0x29a44c(0x1a5)])),_0x344f35=_0x5c9d16[_0x29a44c(0x173)]>0x0;let _0x2b22d8,_0x31dc4b,_0x545730;const _0x78e9f4=_0x19f3a9[_0x29a44c(0x171)](_0x29a44c(0x189)),_0x539db9=_0x19f3a9['str'](_0x29a44c(0x1b5));if(_0x78e9f4){const _0x374e77=resolveAlias(_0x19f3a9[_0x29a44c(0x1ac)],_0x78e9f4,undefined,resolveApiFilePath(_0x19f3a9[_0x29a44c(0x1ac)],_0x19f3a9['appCode']));if(!_0x374e77){const _0x33315d=_0x344f35?'Available\x20aliases:\x20'+_0x5c9d16[_0x29a44c(0x190)](_0x1626de=>_0x1626de[_0x29a44c(0x189)])[_0x29a44c(0x174)](',\x20'):_0x29a44c(0x193)+CLI_BIN_NAME+'\x20api\x20pull`\x20first,\x20or\x20use\x20--datasetcode\x20instead.';throw CliErrors[_0x29a44c(0x17a)](_0x29a44c(0x16a)+_0x78e9f4+'\x22\x20not\x20found.\x20'+_0x33315d);}_0x2b22d8=_0x78e9f4,_0x31dc4b=_0x374e77;}else{if(_0x539db9){_0x31dc4b=_0x539db9;const _0x196bb0=_0x5c9d16[_0x29a44c(0x1b6)](_0x10bc93=>_0x10bc93[_0x29a44c(0x1b0)]===_0x539db9);_0x2b22d8=_0x196bb0?.[_0x29a44c(0x189)];}else{if(_0x19f3a9[_0x29a44c(0x195)])throw CliErrors[_0x29a44c(0x17a)](_0x29a44c(0x175));else{if(_0x344f35){const _0x25b532=_0x5c9d16['map'](_0x164a65=>_0x164a65['alias']+'\x20('+_0x164a65[_0x29a44c(0x1b7)]+')'),_0x2d06b2=await promptSelect('Select\x20dataset:',_0x25b532),_0x30e6f5=_0x5c9d16[_0x2d06b2];if(!_0x30e6f5)throw CliErrors[_0x29a44c(0x17a)](_0x29a44c(0x1b8));_0x2b22d8=_0x30e6f5[_0x29a44c(0x189)],_0x31dc4b=_0x30e6f5['datasetCode'];}else{const _0xc4eba=await listDatasets(_0x19f3a9[_0x29a44c(0x1a5)]);if(_0xc4eba[_0x29a44c(0x173)]===0x0)throw CliErrors[_0x29a44c(0x17a)](_0x29a44c(0x1bb));const _0x1b3200=_0xc4eba[_0x29a44c(0x190)](_0x1b1e64=>_0x1b1e64[_0x29a44c(0x1a7)]+'\x20['+(_0x1b1e64[_0x29a44c(0x183)]??'UNKNOWN')+_0x29a44c(0x187)+_0x1b1e64['code']+')'),_0x20b570=await promptSelect(_0x29a44c(0x192),_0x1b3200),_0x32bb84=_0xc4eba[_0x20b570];if(!_0x32bb84)throw CliErrors[_0x29a44c(0x17a)](_0x29a44c(0x1b8));_0x31dc4b=_0x32bb84[_0x29a44c(0x18e)],_0x2b22d8=undefined;}}}}const _0x230e43=await listDatasets(_0x19f3a9[_0x29a44c(0x1a5)]),_0x38bcd7=_0x230e43[_0x29a44c(0x1b6)](_0x4cbb68=>_0x4cbb68[_0x29a44c(0x18e)]===_0x31dc4b);if(!_0x38bcd7)throw CliErrors[_0x29a44c(0x17a)]('Dataset\x20not\x20found\x20for\x20code\x20\x22'+_0x31dc4b+'\x22.\x20'+(_0x2b22d8?'The\x20api.ts\x20may\x20be\x20stale\x20—\x20run\x20`'+CLI_BIN_NAME+_0x29a44c(0x18f):''));_0x545730=_0x38bcd7['id'];const _0x215217=_0x2b22d8??_0x31dc4b,_0x778572=await listBffDatasetOperations(_0x19f3a9[_0x29a44c(0x1a5)],_0x545730),_0x3a98d3=_0x778572?Object[_0x29a44c(0x182)](_0x778572):[];if(_0x3a98d3[_0x29a44c(0x173)]===0x0)throw CliErrors[_0x29a44c(0x17a)](_0x29a44c(0x16f)+_0x215217+'.');let _0x171b09;const _0x554969=_0x19f3a9[_0x29a44c(0x171)]('operation-type');if(_0x554969){if(!_0x3a98d3['includes'](_0x554969))throw CliErrors[_0x29a44c(0x17a)]('Operation\x20type\x20\x22'+_0x554969+_0x29a44c(0x1b2)+_0x215217+'.\x20'+(_0x29a44c(0x170)+_0x3a98d3['join'](',\x20')));_0x171b09=_0x554969;}else{if(_0x19f3a9[_0x29a44c(0x195)])throw CliErrors['validation'](_0x29a44c(0x199));const _0x4c2a38=await promptSelect(_0x29a44c(0x166),_0x3a98d3);_0x171b09=_0x3a98d3[_0x4c2a38]??_0x3a98d3[0x0];}let _0x160927=normalizeHookFunctionNode(_0x19f3a9[_0x29a44c(0x171)]('function-node'));if(!_0x160927){if(_0x19f3a9[_0x29a44c(0x171)]('function-node'))throw CliErrors['validation'](_0x29a44c(0x1ad));if(_0x19f3a9[_0x29a44c(0x195)])throw CliErrors['validation'](_0x29a44c(0x1a8));const _0x56ae7b=await promptSelect(_0x29a44c(0x1b1),[_0x29a44c(0x1b4),'after']);_0x160927=[_0x29a44c(0x1b4),_0x29a44c(0x1a2)][_0x56ae7b]??_0x29a44c(0x1b4);}return{'alias':_0x2b22d8,'datasetCode':_0x31dc4b,'datasetId':_0x545730,'operationType':_0x171b09,'functionNode':_0x160927};}async function promptSelect(_0x58e24e,_0x39ec13){const _0x1b7f83=a26_0x252dd9;if(_0x39ec13[_0x1b7f83(0x173)]===0x1)return 0x0;for(const [_0x5d62d1,_0x1449e3]of _0x39ec13[_0x1b7f83(0x19c)]()){process['stderr'][_0x1b7f83(0x1af)]('\x20\x20'+(_0x5d62d1+0x1)+'.\x20'+_0x1449e3+'\x0a');}const _0x29ec90=createInterface({'input':process['stdin'],'output':process[_0x1b7f83(0x16d)]});while(!![]){const _0x5c8be7=await new Promise(_0x16472b=>{const _0x4582e5=_0x1b7f83;_0x29ec90[_0x4582e5(0x194)](_0x58e24e+'\x20',_0x16472b);}),_0x3c2d2c=Number[_0x1b7f83(0x1a0)](_0x5c8be7['trim'](),0xa);if(Number[_0x1b7f83(0x1ba)](_0x3c2d2c)&&_0x3c2d2c>=0x1&&_0x3c2d2c<=_0x39ec13[_0x1b7f83(0x173)])return _0x29ec90[_0x1b7f83(0x1a9)](),_0x3c2d2c-0x1;process['stderr']['write'](_0x1b7f83(0x167)+_0x39ec13[_0x1b7f83(0x173)]+'.\x0a');}}function buildFilePath(_0x3c3fc6,_0x5e2097,_0x5139f4,_0x257f8a){const _0x4bc43d=a26_0x252dd9;if(_0x5e2097==='HOOK'){if(!_0x257f8a)throw CliErrors[_0x4bc43d(0x17a)](_0x4bc43d(0x18d));const _0x54ef43=_0x257f8a['alias']??_0x257f8a['datasetCode'];return join(_0x3c3fc6[_0x4bc43d(0x19a)],_0x4bc43d(0x191),_0x54ef43,_0x257f8a[_0x4bc43d(0x18c)],_0x257f8a[_0x4bc43d(0x178)],_0x5139f4+_0x4bc43d(0x17c));}return join(_0x3c3fc6[_0x4bc43d(0x19a)],_0x5e2097,_0x5139f4+_0x4bc43d(0x17c));}export function generateTemplate(_0x52c916,_0x192a9a,_0x2349e5,_0x825e99,_0xc3345b){const _0x1ec7fe=a26_0x252dd9,_0x85a7b7=_0x825e99?.[_0x1ec7fe(0x19d)]()||_0x1ec7fe(0x1a1);if(_0x52c916===_0x1ec7fe(0x17b))return _0x1ec7fe(0x1bc)+_0x85a7b7+_0x1ec7fe(0x1a6)+_0x192a9a+_0x1ec7fe(0x197)+_0x192a9a+'.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'+_0x192a9a+_0x1ec7fe(0x181);if(_0x52c916===_0x1ec7fe(0x1a3))return'/**\x0a\x20*\x20ENDPOINT\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20'+_0x85a7b7+_0x1ec7fe(0x169)+_0x2349e5+'/'+_0x192a9a+_0x1ec7fe(0x176)+_0x192a9a+'(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a';if(!_0xc3345b)throw CliErrors[_0x1ec7fe(0x17a)](_0x1ec7fe(0x19e));return'/**\x0a\x20*\x20HOOK\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20'+_0x85a7b7+_0x1ec7fe(0x17f)+_0x2349e5+'/'+_0xc3345b[_0x1ec7fe(0x1b0)]+'/'+_0xc3345b[_0x1ec7fe(0x18c)]+_0x1ec7fe(0x16c)+_0xc3345b[_0x1ec7fe(0x178)]+_0x1ec7fe(0x1a4)+_0x192a9a+_0x1ec7fe(0x181);}function a26_0xbe9f(){const _0x2f8ba7=['--alias\x20or\x20--datasetcode\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','\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','9QEUMgN','functionNode','operation-type','validation','COMMON','.js','Function\x20name\x20(valid\x20JS\x20identifier)','File\x20already\x20exists:\x20','\x0a\x20*\x20[接口路径]\x20POST\x20/api/','Dataset\x20code\x20(HOOK\x20only,\x20fallback\x20when\x20alias\x20unavailable)','(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a','keys','source','2496525wXzVvq','Script\x20description','Script\x20type',']\x20(','2160328uYOabm','alias','Trigger\x20node\x20(HOOK\x20only)','123592xZCMMY','operationType','HOOK\x20requires\x20alias/operation/node\x20options.','code','\x20api\x20pull`\x20to\x20refresh.','map','HOOK','Select\x20dataset:','No\x20api.ts\x20found.\x20Run\x20`','question','nonInteractive','description','\x0a\x20*\x20[脚本类型]\x20COMMON\x0a\x20*\x20[本地路径]\x20.rabetbase/bff/COMMON/','type','--operation-type\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','scriptsRootDir','Created\x20','entries','trim','HOOK\x20requires\x20hookOptions\x20for\x20template\x20generation.','create','parseInt','TODO:\x20add\x20script\x20description','after','ENDPOINT','\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','appCode','\x0a\x20*\x20[脚本名称]\x20','name','--function-node\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','close','1818YShyAz','bff','apiDir','--function-node\x20must\x20be\x20\x27before\x27\x20or\x20\x27after\x27.','string','write','datasetCode','Select\x20trigger\x20node:','\x22\x20not\x20found\x20for\x20dataset\x20','8746280lZlDod','before','datasetcode','find','tableName','Invalid\x20dataset\x20selection.','834729ezXEsd','isInteger','No\x20datasets\x20found\x20for\x20this\x20app.','/**\x0a\x20*\x20COMMON\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','86633IkxCmj','Select\x20operation\x20type:','\x20\x20Enter\x20a\x20number\x20between\x201\x20and\x20','5747VrOcNB','\x0a\x20*\x20[接口路径]\x20POST\x20/api/endpoint/{appCode}/{scriptName}\x0a\x20*\x20[当前示例]\x20POST\x20/api/endpoint/','Alias\x20\x22','Dataset\x20alias\x20from\x20api.ts\x20(HOOK\x20only,\x20preferred)','\x0a\x20*\x20[触发节点]\x20','stderr','function-node','No\x20operation\x20types\x20found\x20for\x20dataset\x20','Available:\x20','str','Operation\x20type\x20(HOOK\x20only)','length','join'];a26_0xbe9f=function(){return _0x2f8ba7;};return a26_0xbe9f();}
@@ -1 +1 @@
1
- const a27_0x212cec=a27_0xe8ea;(function(_0x155cc7,_0x27c68d){const _0x422657=a27_0xe8ea,_0x3e5caf=_0x155cc7();while(!![]){try{const _0x401a15=parseInt(_0x422657(0x186))/0x1+-parseInt(_0x422657(0x181))/0x2+parseInt(_0x422657(0x177))/0x3+-parseInt(_0x422657(0x184))/0x4*(parseInt(_0x422657(0x17d))/0x5)+parseInt(_0x422657(0x16c))/0x6*(parseInt(_0x422657(0x161))/0x7)+parseInt(_0x422657(0x155))/0x8*(-parseInt(_0x422657(0x165))/0x9)+-parseInt(_0x422657(0x15b))/0xa*(-parseInt(_0x422657(0x158))/0xb);if(_0x401a15===_0x27c68d)break;else _0x3e5caf['push'](_0x3e5caf['shift']());}catch(_0x277129){_0x3e5caf['push'](_0x3e5caf['shift']());}}}(a27_0x23e7,0xe0bcf));import{mkdir,readdir,rename,rmdir}from'node:fs/promises';import{dirname,join,relative,resolve,sep}from'node:path';import{deleteBffScript}from'../../core/api-client.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{fileExists,resolveLocalFilePathFromLockKey}from'../../core/bff/file-system.js';import{ensureLockScope,readBffLockFile,writeBffLockFile}from'../../core/bff/lock.js';import{CliErrors}from'../../errors.js';import{sleep}from'../../utils/sleep.js';export const bffDelete={'service':'bff','command':a27_0x212cec(0x187),'description':'Delete\x20a\x20BFF\x20script\x20from\x20remote\x20and\x20local','risk':a27_0x212cec(0x173),'flags':[{'name':a27_0x212cec(0x164),'type':a27_0x212cec(0x156),'required':!![],'description':a27_0x212cec(0x17a)}],async 'validate'(_0x3b8b78){const _0x1557c7=a27_0x212cec,_0x120648=loadBffProjectConfig(_0x3b8b78['appCode']),_0x15179d=await readBffLockFile(_0x120648[_0x1557c7(0x15a)]);if(!_0x15179d)throw CliErrors[_0x1557c7(0x183)](_0x1557c7(0x174));},async 'dryRun'(_0x4b4404){const _0xe51ca6=a27_0x212cec,_0x4099d5=loadBffProjectConfig(_0x4b4404[_0xe51ca6(0x17e)]),_0x12ae84=await readBffLockFile(_0x4099d5[_0xe51ca6(0x15a)]);if(!_0x12ae84)throw CliErrors[_0xe51ca6(0x183)](_0xe51ca6(0x16d));const {appLock:_0x11538c}=ensureLockScope(_0x12ae84,_0x4b4404[_0xe51ca6(0x17e)],_0x4099d5[_0xe51ca6(0x175)],_0xe51ca6(0x187)),_0x75de31=_0x4b4404['str'](_0xe51ca6(0x164)),_0x52c028=Object[_0xe51ca6(0x179)](_0x11538c['functions']),_0x39b917=resolveDeleteTarget(_0x75de31,_0x52c028),_0x5b5d47=_0x11538c[_0xe51ca6(0x15f)][_0x39b917];if(!_0x5b5d47)throw CliErrors[_0xe51ca6(0x183)](_0xe51ca6(0x180)+_0x39b917+'\x22.');const _0x1acb73=resolveLocalFilePathFromLockKey(_0x4099d5,_0x39b917),_0x4b425d=relative(_0x4099d5['projectRoot'],_0x1acb73),_0x515aec=join(_0x4099d5[_0xe51ca6(0x17c)],'<timestamp>',_0x4b425d);return{'method':_0xe51ca6(0x172),'url':_0xe51ca6(0x16e),'body':{'appCode':_0x4b4404[_0xe51ca6(0x17e)],'target':_0x39b917,'remoteId':_0x5b5d47[_0xe51ca6(0x17f)],'localFilePath':_0x1acb73,'trashedPath':_0x515aec},'description':_0xe51ca6(0x170)+_0x39b917+_0xe51ca6(0x16f)};},async 'execute'(_0x6a4037){const _0x20013c=a27_0x212cec,_0x54fade=loadBffProjectConfig(_0x6a4037[_0x20013c(0x17e)]),_0x3b2ea2=await readBffLockFile(_0x54fade[_0x20013c(0x15a)]);if(!_0x3b2ea2)throw CliErrors[_0x20013c(0x183)]('BFF\x20lock\x20file\x20not\x20found.');const {lockData:_0x3a6fe9,appLock:_0x5b1173}=ensureLockScope(_0x3b2ea2,_0x6a4037['appCode'],_0x54fade[_0x20013c(0x175)],_0x20013c(0x187)),_0x157689=JSON['parse'](JSON['stringify'](_0x3a6fe9)),_0x40c9f4=_0x157689['apps'][_0x6a4037[_0x20013c(0x17e)]];if(!_0x40c9f4)throw new Error(_0x20013c(0x15d)+_0x6a4037[_0x20013c(0x17e)]+_0x20013c(0x17b));const _0x3f9e43=_0x6a4037['str'](_0x20013c(0x164)),_0x553e05=Object[_0x20013c(0x179)](_0x40c9f4[_0x20013c(0x15f)]),_0x52da09=resolveDeleteTarget(_0x3f9e43,_0x553e05),_0x25f6b9=_0x40c9f4[_0x20013c(0x15f)][_0x52da09];if(!_0x25f6b9)throw CliErrors[_0x20013c(0x183)](_0x20013c(0x180)+_0x52da09+'\x22.');await deleteBffScript(_0x25f6b9['remoteId']),delete _0x40c9f4[_0x20013c(0x15f)][_0x52da09],_0x40c9f4[_0x20013c(0x15c)]=new Date()[_0x20013c(0x162)](),await writeBffLockFile(_0x54fade[_0x20013c(0x15a)],_0x157689);const _0x43d8da=resolveLocalFilePathFromLockKey(_0x54fade,_0x52da09);let _0x421718;await fileExists(_0x43d8da)&&(_0x421718=await moveToTrash(_0x54fade[_0x20013c(0x182)],_0x54fade[_0x20013c(0x17c)],_0x43d8da),await cleanupEmptyDirectories(dirname(_0x43d8da),_0x54fade[_0x20013c(0x160)]));await waitForDeleteSettlement(_0x54fade[_0x20013c(0x15a)],_0x6a4037[_0x20013c(0x17e)],_0x52da09,_0x43d8da),await sleep(0x96);const _0x14cb06={'deleted':_0x52da09,'remoteId':_0x25f6b9[_0x20013c(0x17f)]};if(_0x421718)_0x14cb06[_0x20013c(0x176)]=_0x421718;return{'ok':!![],'data':_0x14cb06,'message':_0x20013c(0x169)+_0x52da09+(_0x421718?_0x20013c(0x16b):'')};}};function resolveDeleteTarget(_0x3c5e81,_0x116d1f){const _0x5cd27a=a27_0x212cec;if(_0x3c5e81[_0x5cd27a(0x171)]('/')){const _0x468994=_0x116d1f[_0x5cd27a(0x178)](_0x2308ec=>_0x2308ec===_0x3c5e81);if(!_0x468994)throw CliErrors[_0x5cd27a(0x183)](_0x5cd27a(0x167)+_0x3c5e81);return _0x468994;}const _0x564e98=_0x116d1f[_0x5cd27a(0x159)](_0xf719e0=>_0xf719e0['split']('/')['at'](-0x1)===_0x3c5e81);if(_0x564e98[_0x5cd27a(0x16a)]===0x0)throw CliErrors[_0x5cd27a(0x183)](_0x5cd27a(0x167)+_0x3c5e81);if(_0x564e98[_0x5cd27a(0x16a)]>0x1)throw CliErrors[_0x5cd27a(0x183)](_0x5cd27a(0x185)+_0x3c5e81+_0x5cd27a(0x163)+_0x564e98[_0x5cd27a(0x168)](_0x2576de=>'\x20\x20-\x20'+_0x2576de)[_0x5cd27a(0x157)]('\x0a'));return _0x564e98[0x0];}async function moveToTrash(_0x13c5ab,_0x1f64a5,_0xa6accb){const _0x22d7e3=a27_0x212cec,_0x37eda2=new Date()[_0x22d7e3(0x162)]()['replace'](/[:.]/g,'-'),_0xda5e42=relative(_0x13c5ab,_0xa6accb),_0x59c5a5=join(_0x1f64a5,_0x37eda2,_0xda5e42);return await mkdir(dirname(_0x59c5a5),{'recursive':!![]}),await rename(_0xa6accb,_0x59c5a5),_0x59c5a5;}async function cleanupEmptyDirectories(_0x2cf896,_0x2356c4){const _0x21d562=a27_0x212cec;let _0x3a03a3=resolve(_0x2cf896);const _0x45c342=resolve(_0x2356c4);while(_0x3a03a3[_0x21d562(0x166)](''+_0x45c342+sep)||_0x3a03a3===_0x45c342){if(_0x3a03a3===_0x45c342)return;try{const _0x333d59=await readdir(_0x3a03a3);if(_0x333d59[_0x21d562(0x16a)]>0x0)return;await rmdir(_0x3a03a3);}catch{return;}_0x3a03a3=dirname(_0x3a03a3);}}const DELETE_SETTLE_RETRY_COUNT=0x14,DELETE_SETTLE_DELAY_MS=0x64;function a27_0xe8ea(_0x16f5d1,_0x1c2e23){_0x16f5d1=_0x16f5d1-0x155;const _0x23e7ea=a27_0x23e7();let _0xe8eaa1=_0x23e7ea[_0x16f5d1];return _0xe8eaa1;}function a27_0x23e7(){const _0x294a10=['length','\x20(local\x20file\x20moved\x20to\x20trash)','3066tgwiGK','BFF\x20lock\x20file\x20not\x20found.','/api/management/library/scripts/delete','\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20trash','Would\x20delete\x20','includes','POST','high-risk-write','BFF\x20lock\x20file\x20not\x20found.\x20Run\x20`push`\x20or\x20`pull`\x20first\x20to\x20initialize\x20sync\x20state.','scriptsRoot','trashedTo','3077946qVIqMJ','find','keys','Lock\x20key\x20(e.g.\x20ENDPOINT/createOrder)\x20or\x20short\x20function\x20name','\x22\x20not\x20found\x20after\x20ensureLockScope.','trashDir','131745KDOVjV','appCode','remoteId','No\x20lock\x20entry\x20found\x20for\x20\x22','3094340INZSxN','projectRoot','validation','148IhBEWX','Multiple\x20functions\x20match\x20\x22','1370457wHWUCC','delete','13112sfMNuA','string','join','21378214EfgXmL','filter','lockFilePath','10GaDQkv','lastSync','Lock\x20scope\x20for\x20app\x20\x22','Local\x20delete\x20not\x20settled\x20for\x20','functions','scriptsRootDir','8162XKexis','toISOString','\x22.\x20Use\x20the\x20full\x20lock\x20key:\x0a','target','8199ReKlhK','startsWith','Function\x20not\x20found:\x20','map','Deleted\x20'];a27_0x23e7=function(){return _0x294a10;};return a27_0x23e7();}async function waitForDeleteSettlement(_0x3d18ae,_0xf1749a,_0x29af10,_0x2379a6){const _0x15c43f=a27_0x212cec;for(let _0x4140de=0x0;_0x4140de<DELETE_SETTLE_RETRY_COUNT;_0x4140de+=0x1){const _0x43460d=await readBffLockFile(_0x3d18ae),_0x320fbc=!!_0x43460d?.['apps']?.[_0xf1749a]?.['functions']?.[_0x29af10],_0x24702c=await fileExists(_0x2379a6);if(!_0x320fbc&&!_0x24702c)return;await sleep(DELETE_SETTLE_DELAY_MS);}throw new Error(_0x15c43f(0x15e)+_0x29af10+'.');}
1
+ const a27_0x4f954c=a27_0x3054;(function(_0x17b790,_0x28a62c){const _0x529c1e=a27_0x3054,_0x3a78f9=_0x17b790();while(!![]){try{const _0x1dde5c=parseInt(_0x529c1e(0x1d2))/0x1+parseInt(_0x529c1e(0x1f9))/0x2+-parseInt(_0x529c1e(0x1e8))/0x3*(-parseInt(_0x529c1e(0x1e0))/0x4)+-parseInt(_0x529c1e(0x1ce))/0x5*(parseInt(_0x529c1e(0x1d4))/0x6)+-parseInt(_0x529c1e(0x1e7))/0x7*(-parseInt(_0x529c1e(0x1f0))/0x8)+-parseInt(_0x529c1e(0x1cd))/0x9*(parseInt(_0x529c1e(0x1e3))/0xa)+-parseInt(_0x529c1e(0x1d0))/0xb;if(_0x1dde5c===_0x28a62c)break;else _0x3a78f9['push'](_0x3a78f9['shift']());}catch(_0x3074da){_0x3a78f9['push'](_0x3a78f9['shift']());}}}(a27_0x2ab1,0x9ac83));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';function a27_0x2ab1(){const _0x41a448=['length','\x22\x20not\x20found\x20after\x20ensureLockScope.','BFF\x20lock\x20file\x20not\x20found.','Would\x20delete\x20','startsWith','stringify','879146czUbbk','find','scriptsRootDir','6587037jBsYaU','4021855MrxBEW','lastSync','1686091YktaFq','Local\x20delete\x20not\x20settled\x20for\x20','688451RjOysh','Deleted\x20','6JvyiEU','Lock\x20key\x20(e.g.\x20ENDPOINT/createOrder)\x20or\x20short\x20function\x20name','lockFilePath','\x22.\x20Use\x20the\x20full\x20lock\x20key:\x0a','Multiple\x20functions\x20match\x20\x22','scriptsRoot','trashDir','appCode','functions','remoteId','apps','keys','28nYZiSE','str','toISOString','10kmbmma','validation','Function\x20not\x20found:\x20','string','22127HKBwmK','277995xQUsQr','join','target','No\x20lock\x20entry\x20found\x20for\x20\x22','includes','\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20trash','Delete\x20a\x20BFF\x20script\x20from\x20remote\x20and\x20local','split','1384MpWkyg','trashedTo','projectRoot'];a27_0x2ab1=function(){return _0x41a448;};return a27_0x2ab1();}import{fileExists,resolveLocalFilePathFromLockKey}from'../../core/bff/file-system.js';import{ensureLockScope,readBffLockFile,writeBffLockFile}from'../../core/bff/lock.js';import{CliErrors}from'../../errors.js';import{sleep}from'../../utils/sleep.js';export const bffDelete={'service':'bff','command':'delete','description':a27_0x4f954c(0x1ee),'risk':'high-risk-write','flags':[{'name':a27_0x4f954c(0x1ea),'type':a27_0x4f954c(0x1e6),'required':!![],'description':a27_0x4f954c(0x1d5)}],async 'validate'(_0x58e93c){const _0x551eaa=a27_0x4f954c,_0x5a4484=loadBffProjectConfig(_0x58e93c[_0x551eaa(0x1db)]),_0x5230cb=await readBffLockFile(_0x5a4484[_0x551eaa(0x1d6)]);if(!_0x5230cb)throw CliErrors[_0x551eaa(0x1e4)]('BFF\x20lock\x20file\x20not\x20found.\x20Run\x20`push`\x20or\x20`pull`\x20first\x20to\x20initialize\x20sync\x20state.');},async 'dryRun'(_0xc15f49){const _0x48f17d=a27_0x4f954c,_0x15d374=loadBffProjectConfig(_0xc15f49[_0x48f17d(0x1db)]),_0x1d9cfd=await readBffLockFile(_0x15d374[_0x48f17d(0x1d6)]);if(!_0x1d9cfd)throw CliErrors[_0x48f17d(0x1e4)](_0x48f17d(0x1f5));const {appLock:_0x2bedf1}=ensureLockScope(_0x1d9cfd,_0xc15f49['appCode'],_0x15d374[_0x48f17d(0x1d9)],'delete'),_0x55c0e1=_0xc15f49[_0x48f17d(0x1e1)](_0x48f17d(0x1ea)),_0x60b424=Object['keys'](_0x2bedf1[_0x48f17d(0x1dc)]),_0x34e236=resolveDeleteTarget(_0x55c0e1,_0x60b424),_0x74e6fc=_0x2bedf1['functions'][_0x34e236];if(!_0x74e6fc)throw CliErrors[_0x48f17d(0x1e4)](_0x48f17d(0x1eb)+_0x34e236+'\x22.');const _0x1b1bb2=resolveLocalFilePathFromLockKey(_0x15d374,_0x34e236),_0x2d5cbf=relative(_0x15d374[_0x48f17d(0x1f2)],_0x1b1bb2),_0x141f1a=join(_0x15d374[_0x48f17d(0x1da)],'<timestamp>',_0x2d5cbf);return{'method':'POST','url':'/api/management/library/scripts/delete','body':{'appCode':_0xc15f49[_0x48f17d(0x1db)],'target':_0x34e236,'remoteId':_0x74e6fc[_0x48f17d(0x1dd)],'localFilePath':_0x1b1bb2,'trashedPath':_0x141f1a},'description':_0x48f17d(0x1f6)+_0x34e236+_0x48f17d(0x1ed)};},async 'execute'(_0x18d46d){const _0x346063=a27_0x4f954c,_0x4fbe86=loadBffProjectConfig(_0x18d46d[_0x346063(0x1db)]),_0x84043f=await readBffLockFile(_0x4fbe86[_0x346063(0x1d6)]);if(!_0x84043f)throw CliErrors['validation'](_0x346063(0x1f5));const {lockData:_0x1be578,appLock:_0x28b8fe}=ensureLockScope(_0x84043f,_0x18d46d[_0x346063(0x1db)],_0x4fbe86[_0x346063(0x1d9)],'delete'),_0x59fd6e=JSON['parse'](JSON[_0x346063(0x1f8)](_0x1be578)),_0x493d75=_0x59fd6e['apps'][_0x18d46d[_0x346063(0x1db)]];if(!_0x493d75)throw new Error('Lock\x20scope\x20for\x20app\x20\x22'+_0x18d46d[_0x346063(0x1db)]+_0x346063(0x1f4));const _0x474cb7=_0x18d46d[_0x346063(0x1e1)]('target'),_0x45a100=Object[_0x346063(0x1df)](_0x493d75[_0x346063(0x1dc)]),_0x571d76=resolveDeleteTarget(_0x474cb7,_0x45a100),_0x189373=_0x493d75['functions'][_0x571d76];if(!_0x189373)throw CliErrors[_0x346063(0x1e4)](_0x346063(0x1eb)+_0x571d76+'\x22.');await deleteBffScript(_0x189373[_0x346063(0x1dd)]),delete _0x493d75[_0x346063(0x1dc)][_0x571d76],_0x493d75[_0x346063(0x1cf)]=new Date()[_0x346063(0x1e2)](),await writeBffLockFile(_0x4fbe86[_0x346063(0x1d6)],_0x59fd6e);const _0x5ca967=resolveLocalFilePathFromLockKey(_0x4fbe86,_0x571d76);let _0x11d1b9;await fileExists(_0x5ca967)&&(_0x11d1b9=await moveToTrash(_0x4fbe86[_0x346063(0x1f2)],_0x4fbe86['trashDir'],_0x5ca967),await cleanupEmptyDirectories(dirname(_0x5ca967),_0x4fbe86[_0x346063(0x1cc)]));await waitForDeleteSettlement(_0x4fbe86[_0x346063(0x1d6)],_0x18d46d['appCode'],_0x571d76,_0x5ca967),await sleep(0x96);const _0x31141c={'deleted':_0x571d76,'remoteId':_0x189373[_0x346063(0x1dd)]};if(_0x11d1b9)_0x31141c[_0x346063(0x1f1)]=_0x11d1b9;return{'ok':!![],'data':_0x31141c,'message':_0x346063(0x1d3)+_0x571d76+(_0x11d1b9?'\x20(local\x20file\x20moved\x20to\x20trash)':'')};}};function resolveDeleteTarget(_0x589e72,_0x1fac98){const _0x46d5d4=a27_0x4f954c;if(_0x589e72[_0x46d5d4(0x1ec)]('/')){const _0x2e29ca=_0x1fac98[_0x46d5d4(0x1fa)](_0x3e9ed3=>_0x3e9ed3===_0x589e72);if(!_0x2e29ca)throw CliErrors[_0x46d5d4(0x1e4)](_0x46d5d4(0x1e5)+_0x589e72);return _0x2e29ca;}const _0x4c575c=_0x1fac98['filter'](_0x256732=>_0x256732[_0x46d5d4(0x1ef)]('/')['at'](-0x1)===_0x589e72);if(_0x4c575c[_0x46d5d4(0x1f3)]===0x0)throw CliErrors[_0x46d5d4(0x1e4)]('Function\x20not\x20found:\x20'+_0x589e72);if(_0x4c575c[_0x46d5d4(0x1f3)]>0x1)throw CliErrors[_0x46d5d4(0x1e4)](_0x46d5d4(0x1d8)+_0x589e72+_0x46d5d4(0x1d7)+_0x4c575c['map'](_0x3d50b5=>'\x20\x20-\x20'+_0x3d50b5)[_0x46d5d4(0x1e9)]('\x0a'));return _0x4c575c[0x0];}async function moveToTrash(_0x153898,_0x2f54d2,_0x4485e7){const _0x19cefc=a27_0x4f954c,_0x5d6c70=new Date()[_0x19cefc(0x1e2)]()['replace'](/[:.]/g,'-'),_0x5010a8=relative(_0x153898,_0x4485e7),_0xd749ce=join(_0x2f54d2,_0x5d6c70,_0x5010a8);return await mkdir(dirname(_0xd749ce),{'recursive':!![]}),await rename(_0x4485e7,_0xd749ce),_0xd749ce;}async function cleanupEmptyDirectories(_0x2efdf3,_0x99eca5){const _0x57e36c=a27_0x4f954c;let _0x2aeab2=resolve(_0x2efdf3);const _0x25700e=resolve(_0x99eca5);while(_0x2aeab2[_0x57e36c(0x1f7)](''+_0x25700e+sep)||_0x2aeab2===_0x25700e){if(_0x2aeab2===_0x25700e)return;try{const _0x518102=await readdir(_0x2aeab2);if(_0x518102[_0x57e36c(0x1f3)]>0x0)return;await rmdir(_0x2aeab2);}catch{return;}_0x2aeab2=dirname(_0x2aeab2);}}function a27_0x3054(_0x5a9caf,_0x327499){_0x5a9caf=_0x5a9caf-0x1cc;const _0x2ab19f=a27_0x2ab1();let _0x305481=_0x2ab19f[_0x5a9caf];return _0x305481;}const DELETE_SETTLE_RETRY_COUNT=0x14,DELETE_SETTLE_DELAY_MS=0x64;async function waitForDeleteSettlement(_0x1af84c,_0x42295b,_0x9b9c69,_0x108ecf){const _0x2fae58=a27_0x4f954c;for(let _0x36a935=0x0;_0x36a935<DELETE_SETTLE_RETRY_COUNT;_0x36a935+=0x1){const _0xbe3e43=await readBffLockFile(_0x1af84c),_0x2d51c3=!!_0xbe3e43?.[_0x2fae58(0x1de)]?.[_0x42295b]?.['functions']?.[_0x9b9c69],_0xac9c5b=await fileExists(_0x108ecf);if(!_0x2d51c3&&!_0xac9c5b)return;await sleep(DELETE_SETTLE_DELAY_MS);}throw new Error(_0x2fae58(0x1d1)+_0x9b9c69+'.');}
@@ -1 +1 @@
1
- function a28_0x2984(_0x321a45,_0x522949){_0x321a45=_0x321a45-0x113;const _0x44eb90=a28_0x44eb();let _0x298432=_0x44eb90[_0x321a45];return _0x298432;}function a28_0x44eb(){const _0x13a5d9=['9zHwLZO','description','createdTime','read','12804wSYGAa','119991cvbPRR','1221822odNFDy','178444mJszVM','updatedTime','number','360297ZXuHOy','249160JwPzjW','5rPuxBd','69tiuVgo','detail','3040NeBtXe','Return\x20full\x20raw\x20script\x20object','18984aOUmCf'];a28_0x44eb=function(){return _0x13a5d9;};return a28_0x44eb();}const a28_0x96c9f6=a28_0x2984;(function(_0x505a33,_0x26ee10){const _0x4c228e=a28_0x2984,_0x467840=_0x505a33();while(!![]){try{const _0x2e0e0d=-parseInt(_0x4c228e(0x11f))/0x1+-parseInt(_0x4c228e(0x119))/0x2*(-parseInt(_0x4c228e(0x115))/0x3)+-parseInt(_0x4c228e(0x121))/0x4*(parseInt(_0x4c228e(0x114))/0x5)+-parseInt(_0x4c228e(0x120))/0x6+-parseInt(_0x4c228e(0x124))/0x7+-parseInt(_0x4c228e(0x113))/0x8*(parseInt(_0x4c228e(0x11a))/0x9)+parseInt(_0x4c228e(0x117))/0xa*(parseInt(_0x4c228e(0x11e))/0xb);if(_0x2e0e0d===_0x26ee10)break;else _0x467840['push'](_0x467840['shift']());}catch(_0xb2f7ee){_0x467840['push'](_0x467840['shift']());}}}(a28_0x44eb,0x1d9e5));import{getBffScriptInfo}from'../../core/api-client.js';export const bffDetail={'service':'bff','command':a28_0x96c9f6(0x116),'description':'Get\x20BFF\x20script\x20details\x20by\x20ID','risk':a28_0x96c9f6(0x11d),'flags':[{'name':'id','type':a28_0x96c9f6(0x123),'required':!![],'description':'Script\x20ID'},{'name':'verbose','type':'boolean','description':a28_0x96c9f6(0x118)}],async 'execute'(_0x509366){const _0xcccc65=a28_0x96c9f6,_0x28a709=await getBffScriptInfo(_0x509366['num']('id')),_0x2d8df6=_0x509366['bool']('verbose');if(_0x2d8df6)return{'ok':!![],'data':_0x28a709};return{'ok':!![],'data':{'id':_0x28a709['id'],'appCode':_0x28a709['appCode'],'scriptType':_0x28a709['scriptType'],'description':_0x28a709[_0xcccc65(0x11b)]||'(none)','createdTime':_0x28a709[_0xcccc65(0x11c)]??'','updatedTime':_0x28a709[_0xcccc65(0x122)]??'','scriptContent':_0x28a709['scriptContent']??''}};}};
1
+ function a28_0x1964(){const _0x42d445=['5cSlUwb','boolean','scriptType','num','(none)','description','643376tZaMam','verbose','Return\x20full\x20raw\x20script\x20object','createdTime','Get\x20BFF\x20script\x20details\x20by\x20ID','90YAdMkA','9885680iHjdkt','3249810gwLiXp','42090730Stlpcg','detail','537818jsaDAX','number','95768GizMrh','read','bool','bff','Script\x20ID','2916XFLkpc','updatedTime','4824egztIU'];a28_0x1964=function(){return _0x42d445;};return a28_0x1964();}const a28_0x41944f=a28_0x5b66;(function(_0x2a86f9,_0x3f348a){const _0x55ee20=a28_0x5b66,_0x540132=_0x2a86f9();while(!![]){try{const _0x3b3f1c=-parseInt(_0x55ee20(0x12b))/0x1+parseInt(_0x55ee20(0x121))/0x2+-parseInt(_0x55ee20(0x11a))/0x3*(parseInt(_0x55ee20(0x132))/0x4)+-parseInt(_0x55ee20(0x11b))/0x5*(parseInt(_0x55ee20(0x128))/0x6)+-parseInt(_0x55ee20(0x127))/0x7+-parseInt(_0x55ee20(0x12d))/0x8*(-parseInt(_0x55ee20(0x126))/0x9)+parseInt(_0x55ee20(0x129))/0xa;if(_0x3b3f1c===_0x3f348a)break;else _0x540132['push'](_0x540132['shift']());}catch(_0x3f68bf){_0x540132['push'](_0x540132['shift']());}}}(a28_0x1964,0xf0db2));function a28_0x5b66(_0x1863c7,_0x53d667){_0x1863c7=_0x1863c7-0x119;const _0x1964ef=a28_0x1964();let _0x5b663e=_0x1964ef[_0x1863c7];return _0x5b663e;}import{getBffScriptInfo}from'../../core/api-client.js';export const bffDetail={'service':a28_0x41944f(0x130),'command':a28_0x41944f(0x12a),'description':a28_0x41944f(0x125),'risk':a28_0x41944f(0x12e),'flags':[{'name':'id','type':a28_0x41944f(0x12c),'required':!![],'description':a28_0x41944f(0x131)},{'name':a28_0x41944f(0x122),'type':a28_0x41944f(0x11c),'description':a28_0x41944f(0x123)}],async 'execute'(_0x4fe443){const _0x3a73d6=a28_0x41944f,_0x4b5a2=await getBffScriptInfo(_0x4fe443[_0x3a73d6(0x11e)]('id')),_0x289dac=_0x4fe443[_0x3a73d6(0x12f)](_0x3a73d6(0x122));if(_0x289dac)return{'ok':!![],'data':_0x4b5a2};return{'ok':!![],'data':{'id':_0x4b5a2['id'],'appCode':_0x4b5a2['appCode'],'scriptType':_0x4b5a2[_0x3a73d6(0x11d)],'description':_0x4b5a2[_0x3a73d6(0x120)]||_0x3a73d6(0x11f),'createdTime':_0x4b5a2[_0x3a73d6(0x124)]??'','updatedTime':_0x4b5a2[_0x3a73d6(0x119)]??'','scriptContent':_0x4b5a2['scriptContent']??''}};}};
@@ -1 +1 @@
1
- function a29_0x4a3e(){const _0x3f4c03=['1150934tgzgED','28025112yEzzVC','340NkxysS','5381012uOjXch','1894154nWOQNJ','5500038miheAZ','2838qKSRsT','5302365tLpkst'];a29_0x4a3e=function(){return _0x3f4c03;};return a29_0x4a3e();}(function(_0xa5c88b,_0x4cb440){const _0x12ea61=a29_0xee8d,_0x3ed171=_0xa5c88b();while(!![]){try{const _0x60fdec=-parseInt(_0x12ea61(0x1a9))/0x1+-parseInt(_0x12ea61(0x1ad))/0x2+-parseInt(_0x12ea61(0x1a7))/0x3*(-parseInt(_0x12ea61(0x1ab))/0x4)+parseInt(_0x12ea61(0x1a8))/0x5+-parseInt(_0x12ea61(0x1a6))/0x6+-parseInt(_0x12ea61(0x1ac))/0x7+parseInt(_0x12ea61(0x1aa))/0x8;if(_0x60fdec===_0x4cb440)break;else _0x3ed171['push'](_0x3ed171['shift']());}catch(_0x4575c6){_0x3ed171['push'](_0x3ed171['shift']());}}}(a29_0x4a3e,0xd21ce));import{bffList}from'../../commands/bff/list.js';import{bffDetail}from'../../commands/bff/detail.js';import{bffStatus}from'../../commands/bff/status.js';import{bffCreate}from'../../commands/bff/create.js';import{bffPush}from'../../commands/bff/push.js';import{bffPull}from'../../commands/bff/pull.js';function a29_0xee8d(_0x148bbc,_0x42b715){_0x148bbc=_0x148bbc-0x1a6;const _0x4a3e0c=a29_0x4a3e();let _0xee8d26=_0x4a3e0c[_0x148bbc];return _0xee8d26;}import{bffDelete}from'../../commands/bff/delete.js';export const bffDefinitions=[bffList,bffDetail,bffStatus,bffCreate,bffPush,bffPull,bffDelete];
1
+ function a29_0x87b2(){const _0x501597=['30bEGxUd','651707PwnRqL','228520fgewTQ','242dVaKcK','18994032SZQrTk','79bhZOZO','284YegPJF','17768zRnDSJ','3161331FsdKDN','509930aKsrdZ','423FfLvsT','27315uhzQCD'];a29_0x87b2=function(){return _0x501597;};return a29_0x87b2();}(function(_0x433f01,_0x13d138){const _0x15eceb=a29_0x1bd4,_0x291ecd=_0x433f01();while(!![]){try{const _0x1a08d9=parseInt(_0x15eceb(0xcd))/0x1*(parseInt(_0x15eceb(0xcf))/0x2)+parseInt(_0x15eceb(0xd0))/0x3+parseInt(_0x15eceb(0xce))/0x4*(parseInt(_0x15eceb(0xd3))/0x5)+-parseInt(_0x15eceb(0xd4))/0x6*(-parseInt(_0x15eceb(0xd5))/0x7)+parseInt(_0x15eceb(0xca))/0x8*(-parseInt(_0x15eceb(0xd2))/0x9)+parseInt(_0x15eceb(0xd1))/0xa*(parseInt(_0x15eceb(0xcb))/0xb)+-parseInt(_0x15eceb(0xcc))/0xc;if(_0x1a08d9===_0x13d138)break;else _0x291ecd['push'](_0x291ecd['shift']());}catch(_0x23983e){_0x291ecd['push'](_0x291ecd['shift']());}}}(a29_0x87b2,0xc4a46));import{bffList}from'../../commands/bff/list.js';import{bffDetail}from'../../commands/bff/detail.js';import{bffStatus}from'../../commands/bff/status.js';function a29_0x1bd4(_0x47ab18,_0x2fde97){_0x47ab18=_0x47ab18-0xca;const _0x87b26c=a29_0x87b2();let _0x1bd484=_0x87b26c[_0x47ab18];return _0x1bd484;}import{bffCreate}from'../../commands/bff/create.js';import{bffPush}from'../../commands/bff/push.js';import{bffPull}from'../../commands/bff/pull.js';import{bffDelete}from'../../commands/bff/delete.js';export const bffDefinitions=[bffList,bffDetail,bffStatus,bffCreate,bffPush,bffPull,bffDelete];
@@ -1 +1 @@
1
- const a30_0x3ec48f=a30_0xf339;(function(_0x468603,_0x596ad9){const _0x1b3c22=a30_0xf339,_0x1467a0=_0x468603();while(!![]){try{const _0x5b26f0=parseInt(_0x1b3c22(0xe4))/0x1+-parseInt(_0x1b3c22(0xea))/0x2*(parseInt(_0x1b3c22(0xec))/0x3)+parseInt(_0x1b3c22(0xdf))/0x4+-parseInt(_0x1b3c22(0xed))/0x5+parseInt(_0x1b3c22(0xe1))/0x6*(-parseInt(_0x1b3c22(0xe7))/0x7)+parseInt(_0x1b3c22(0xdd))/0x8+parseInt(_0x1b3c22(0xe8))/0x9;if(_0x5b26f0===_0x596ad9)break;else _0x1467a0['push'](_0x1467a0['shift']());}catch(_0x707926){_0x1467a0['push'](_0x1467a0['shift']());}}}(a30_0x462e,0xa65be));import{listBffScripts}from'../../core/api-client.js';function a30_0x462e(){const _0x46b23b=['bool','appCode','COMMON','Return\x20full\x20script\x20objects','type','verbose','string','bff','No\x20BFF\x20scripts\x20found.','Script\x20type\x20filter','length','List\x20BFF\x20scripts','5513232mPQbAM','Filter\x20by\x20script\x20name','1906368eqJExh','str','7369284DdPqYo','boolean','ENDPOINT','1352604FUuEMW','scriptType','(unnamed)','7AzdzjT','15329070BNkMJt','map','21578MhPSZv','list','357SKTxWs','5140345OqtkHs'];a30_0x462e=function(){return _0x46b23b;};return a30_0x462e();}function a30_0xf339(_0x405f6d,_0x37ab29){_0x405f6d=_0x405f6d-0xd8;const _0x462e6d=a30_0x462e();let _0xf3399c=_0x462e6d[_0x405f6d];return _0xf3399c;}export const bffList={'service':a30_0x3ec48f(0xd8),'command':a30_0x3ec48f(0xeb),'description':a30_0x3ec48f(0xdc),'risk':'read','flags':[{'name':'type','type':a30_0x3ec48f(0xf4),'description':a30_0x3ec48f(0xda),'default':a30_0x3ec48f(0xe3),'enum':[a30_0x3ec48f(0xe3),a30_0x3ec48f(0xf0)]},{'name':'name','type':a30_0x3ec48f(0xf4),'description':a30_0x3ec48f(0xde)},{'name':a30_0x3ec48f(0xf3),'type':a30_0x3ec48f(0xe2),'description':a30_0x3ec48f(0xf1)}],async 'execute'(_0x99e4e6){const _0x304d14=a30_0x3ec48f,_0x33e064=await listBffScripts(_0x99e4e6[_0x304d14(0xef)],_0x99e4e6[_0x304d14(0xe0)](_0x304d14(0xf2)),{'scriptName':_0x99e4e6[_0x304d14(0xe0)]('name')||undefined}),_0x4b5fa9=_0x99e4e6[_0x304d14(0xee)](_0x304d14(0xf3));return{'ok':!![],'data':_0x4b5fa9?_0x33e064:_0x33e064[_0x304d14(0xe9)](_0x42cae5=>({'id':_0x42cae5['id'],'functionName':_0x42cae5['functionName']??'','description':_0x42cae5['description']||_0x304d14(0xe6),'scriptType':_0x42cae5[_0x304d14(0xe5)]})),'message':_0x33e064[_0x304d14(0xdb)]===0x0?_0x304d14(0xd9):undefined};}};
1
+ const a30_0x2bb7e3=a30_0x236e;function a30_0x236e(_0x5ac87e,_0x4c4182){_0x5ac87e=_0x5ac87e-0x15e;const _0x29a0fd=a30_0x29a0();let _0x236e67=_0x29a0fd[_0x5ac87e];return _0x236e67;}(function(_0x8918f7,_0xc96113){const _0x466cc7=a30_0x236e,_0x277f4e=_0x8918f7();while(!![]){try{const _0x29628d=parseInt(_0x466cc7(0x178))/0x1+parseInt(_0x466cc7(0x174))/0x2+parseInt(_0x466cc7(0x16e))/0x3+parseInt(_0x466cc7(0x16b))/0x4*(-parseInt(_0x466cc7(0x166))/0x5)+parseInt(_0x466cc7(0x161))/0x6*(parseInt(_0x466cc7(0x16a))/0x7)+-parseInt(_0x466cc7(0x170))/0x8+-parseInt(_0x466cc7(0x16c))/0x9;if(_0x29628d===_0xc96113)break;else _0x277f4e['push'](_0x277f4e['shift']());}catch(_0x314b49){_0x277f4e['push'](_0x277f4e['shift']());}}}(a30_0x29a0,0x3af05));function a30_0x29a0(){const _0x547244=['COMMON','ENDPOINT','scriptType','90520eskSAu','appCode','description','bool','100044yetoPQ','functionName','Script\x20type\x20filter','string','map','35HqQgBa','(unnamed)','boolean','type','63sNgLSx','82284QVLLzt','3002805fjRDxG','verbose','1227723IIVWkz','str','851168zZOdKY','Filter\x20by\x20script\x20name','Return\x20full\x20script\x20objects','bff','351248xRifII'];a30_0x29a0=function(){return _0x547244;};return a30_0x29a0();}import{listBffScripts}from'../../core/api-client.js';export const bffList={'service':a30_0x2bb7e3(0x173),'command':'list','description':'List\x20BFF\x20scripts','risk':'read','flags':[{'name':a30_0x2bb7e3(0x169),'type':a30_0x2bb7e3(0x164),'description':a30_0x2bb7e3(0x163),'default':a30_0x2bb7e3(0x176),'enum':['ENDPOINT',a30_0x2bb7e3(0x175)]},{'name':'name','type':a30_0x2bb7e3(0x164),'description':a30_0x2bb7e3(0x171)},{'name':'verbose','type':a30_0x2bb7e3(0x168),'description':a30_0x2bb7e3(0x172)}],async 'execute'(_0x358a4e){const _0x1be451=a30_0x2bb7e3,_0x383d60=await listBffScripts(_0x358a4e[_0x1be451(0x15e)],_0x358a4e[_0x1be451(0x16f)]('type'),{'scriptName':_0x358a4e[_0x1be451(0x16f)]('name')||undefined}),_0x10907d=_0x358a4e[_0x1be451(0x160)](_0x1be451(0x16d));return{'ok':!![],'data':_0x10907d?_0x383d60:_0x383d60[_0x1be451(0x165)](_0x48a1d1=>({'id':_0x48a1d1['id'],'functionName':_0x48a1d1[_0x1be451(0x162)]??'','description':_0x48a1d1[_0x1be451(0x15f)]||_0x1be451(0x167),'scriptType':_0x48a1d1[_0x1be451(0x177)]})),'message':_0x383d60['length']===0x0?'No\x20BFF\x20scripts\x20found.':undefined};}};
@@ -1 +1 @@
1
- function a31_0x2862(){const _0x46f933=['functionNode','appCode','includes','&type=','bool','9MCBnah','HOOK','parse','type','Pull\x20only\x20this\x20script\x20type','Remote\x20script\x20missing\x20content.','Pull\x20remote\x20BFF\x20scripts\x20to\x20local','160098QtQQps','\x20remote\x20BFF\x20script(s)\x20for\x20pull','lockFilePath','alias','287267thngAR','ENDPOINT','/api/management/library/scripts/list?appCode=','filePath','lastSync','\x20failed','conflict','toISOString','nonInteractive','scriptsRoot','boolean','Pull\x20complete:\x20','toLowerCase','functions','stderr','927006bFxMit','\x20pulled,\x20','bff','validation','hookLocation','Force\x20overwrite\x20local\x20unsynced\x20changes','push','COMMON','would_pull','852400FapZhk','all','functionName','Would\x20inspect\x20','datasetCode','operationType','Lock\x20scope\x20for\x20app\x20\x22','scriptContent','\x20skipped,\x20','No\x20remote\x20BFF\x20scripts\x20found.','write','stdin','str','hash','9gmtqqY','skipped','--type\x20must\x20be\x20COMMON,\x20ENDPOINT,\x20or\x20HOOK.','utf8','GET','apps','4023082qzOIUM','1682815PnanDI','unresolvable\x20target\x20path','apiDir','pull','map','lockKey','Remote\x20script\x20missing\x20id.','length','yes','1200056DXCEIK','string','scriptType'];a31_0x2862=function(){return _0x46f933;};return a31_0x2862();}const a31_0x16f27b=a31_0x1f26;(function(_0x106216,_0x460fc8){const _0x32f52e=a31_0x1f26,_0x4c5c5f=_0x106216();while(!![]){try{const _0xa9256c=-parseInt(_0x32f52e(0x194))/0x1+-parseInt(_0x32f52e(0x1d9))/0x2*(-parseInt(_0x32f52e(0x1d2))/0x3)+-parseInt(_0x32f52e(0x1ca))/0x4+parseInt(_0x32f52e(0x1c1))/0x5+-parseInt(_0x32f52e(0x1a3))/0x6+parseInt(_0x32f52e(0x1c0))/0x7+-parseInt(_0x32f52e(0x1ac))/0x8*(parseInt(_0x32f52e(0x1ba))/0x9);if(_0xa9256c===_0x460fc8)break;else _0x4c5c5f['push'](_0x4c5c5f['shift']());}catch(_0x2e81e7){_0x4c5c5f['push'](_0x4c5c5f['shift']());}}}(a31_0x2862,0x4a000));import{createInterface}from'node:readline';import{writeFile}from'node:fs/promises';import{listBffScripts,getBffScriptStatistics}from'../../core/api-client.js';import{loadAliasMap}from'../../core/alias-resolver.js';import{resolveApiFilePath}from'../../context.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{createHookLocationMap,ensureParentDirectory,fileExists,normalizeBffType,resolveRemoteScriptTarget}from'../../core/bff/file-system.js';import{computeContentHash,computeFileHash}from'../../core/bff/hash.js';import{createEmptyBffLock,ensureLockScope,readBffLockFile,writeBffLockFile}from'../../core/bff/lock.js';import{CliErrors}from'../../errors.js';export const bffPull={'service':a31_0x16f27b(0x1a5),'command':a31_0x16f27b(0x1c4),'description':a31_0x16f27b(0x1d8),'risk':a31_0x16f27b(0x1b6),'flags':[{'name':'type','type':a31_0x16f27b(0x1cb),'description':a31_0x16f27b(0x1d6),'enum':[a31_0x16f27b(0x1aa),a31_0x16f27b(0x195),'HOOK']},{'name':'force','type':a31_0x16f27b(0x19e),'description':a31_0x16f27b(0x1a8)}],async 'dryRun'(_0x1e5da7){const _0xa5b286=a31_0x16f27b,_0x23f259=loadBffProjectConfig(_0x1e5da7[_0xa5b286(0x1ce)]),_0x2e8814=await readBffLockFile(_0x23f259[_0xa5b286(0x192)]),{appLock:_0x233076}=ensureLockScope(_0x2e8814??createEmptyBffLock(),_0x1e5da7[_0xa5b286(0x1ce)],_0x23f259[_0xa5b286(0x19d)],_0xa5b286(0x1c4)),_0xb11ec1=normalizeBffType(_0x1e5da7[_0xa5b286(0x1b8)](_0xa5b286(0x1d5)))??undefined,_0x95fde1=buildDatasetCodeToAliasMap(_0x1e5da7['apiDir'],_0x1e5da7[_0xa5b286(0x1ce)]),[_0x168f9f,_0x4a832e]=await Promise[_0xa5b286(0x1ad)]([listBffScripts(_0x1e5da7[_0xa5b286(0x1ce)],_0xb11ec1),getBffScriptStatistics(_0x1e5da7[_0xa5b286(0x1ce)])]),_0x2d9cfa=createHookLocationMap(_0x4a832e),_0x5dc438=[];for(const _0x2057ab of _0x168f9f){const _0x59f801=resolveRemoteScriptTarget(_0x23f259,_0x2057ab,_0x2d9cfa,_0x233076[_0xa5b286(0x1a1)],_0x95fde1);if(!_0x59f801){_0x5dc438[_0xa5b286(0x1a9)]({'scriptType':_0x2057ab['scriptType'],'functionName':_0x2057ab[_0xa5b286(0x1ae)]??'','status':_0xa5b286(0x1bb),'reason':'unresolvable\x20target\x20path'});continue;}const _0x2f95bd=_0x233076[_0xa5b286(0x1a1)][_0x59f801['lockKey']],_0x467108=_0x2057ab[_0xa5b286(0x1b3)]!=null?computeContentHash(_0x2057ab[_0xa5b286(0x1b3)]):undefined,_0x48f71d=await hasUnsyncedLocalChanges(_0x59f801[_0xa5b286(0x197)],_0x2f95bd,_0x467108);_0x5dc438[_0xa5b286(0x1a9)]({'lockKey':_0x59f801[_0xa5b286(0x1c6)],'filePath':_0x59f801[_0xa5b286(0x197)],'remoteId':_0x2057ab['id']??null,'status':_0x48f71d?_0xa5b286(0x19a):_0xa5b286(0x1ab)});}return{'method':_0xa5b286(0x1be),'url':_0xa5b286(0x196)+_0x1e5da7[_0xa5b286(0x1ce)]+(_0xb11ec1?_0xa5b286(0x1d0)+_0xb11ec1:''),'body':{'appCode':_0x1e5da7['appCode'],'filterType':_0xb11ec1??null,'files':_0x5dc438},'description':_0xa5b286(0x1af)+_0x5dc438[_0xa5b286(0x1c8)]+_0xa5b286(0x1da)};},async 'execute'(_0x2f501e){const _0x540e9e=a31_0x16f27b,_0x436770=loadBffProjectConfig(_0x2f501e[_0x540e9e(0x1ce)]),_0x70b3dd=await readBffLockFile(_0x436770[_0x540e9e(0x192)]),{lockData:_0x26dba8,appLock:_0x26370c}=ensureLockScope(_0x70b3dd??createEmptyBffLock(),_0x2f501e[_0x540e9e(0x1ce)],_0x436770[_0x540e9e(0x19d)],_0x540e9e(0x1c4)),_0x2878fc=normalizeBffType(_0x2f501e[_0x540e9e(0x1b8)](_0x540e9e(0x1d5)))??undefined;if(_0x2f501e[_0x540e9e(0x1b8)](_0x540e9e(0x1d5))&&!_0x2878fc)throw CliErrors[_0x540e9e(0x1a6)](_0x540e9e(0x1bc));const [_0x4ec08c,_0x546e95]=await Promise['all']([listBffScripts(_0x2f501e['appCode'],_0x2878fc),getBffScriptStatistics(_0x2f501e['appCode'])]);if(_0x4ec08c[_0x540e9e(0x1c8)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x540e9e(0x1b5)};const _0x1576fc=_0x2f501e[_0x540e9e(0x1d1)]('force');if(_0x1576fc&&!_0x2f501e[_0x540e9e(0x19c)]){const _0x273369=await confirmForce();if(!_0x273369)throw CliErrors['cancelled']('Force\x20pull\x20cancelled.');}if(_0x1576fc&&_0x2f501e[_0x540e9e(0x19c)]){}const _0x5e295c=buildDatasetCodeToAliasMap(_0x2f501e[_0x540e9e(0x1c3)],_0x2f501e['appCode']),_0x163b18=createHookLocationMap(_0x546e95),_0x32aece=JSON[_0x540e9e(0x1d4)](JSON['stringify'](_0x26dba8)),_0x4da0da=_0x2f501e['appCode'],_0x527ec5=_0x32aece[_0x540e9e(0x1bf)][_0x4da0da];if(!_0x527ec5)throw new Error(_0x540e9e(0x1b2)+_0x4da0da+'\x22\x20not\x20found\x20after\x20ensureLockScope.');const _0x52dce3=[],_0x7de733=[],_0x487e87=[];for(const _0x54e3ca of _0x4ec08c){const _0x489e69=resolveRemoteScriptTarget(_0x436770,_0x54e3ca,_0x163b18,_0x26370c[_0x540e9e(0x1a1)],_0x5e295c);if(!_0x489e69){_0x7de733[_0x540e9e(0x1a9)]({'lockKey':_0x54e3ca[_0x540e9e(0x1cc)]+'/'+_0x54e3ca['functionName'],'reason':_0x540e9e(0x1c2)});continue;}const _0x28f707=_0x26370c[_0x540e9e(0x1a1)][_0x489e69[_0x540e9e(0x1c6)]];try{if(!_0x54e3ca['id'])throw new Error(_0x540e9e(0x1c7));if(_0x54e3ca[_0x540e9e(0x1b3)]==null)throw new Error(_0x540e9e(0x1d7));const _0x3e4ca1=_0x54e3ca[_0x540e9e(0x1b3)],_0x5d61cb=computeContentHash(_0x3e4ca1);if(!_0x1576fc){const _0xffeb8=await hasUnsyncedLocalChanges(_0x489e69[_0x540e9e(0x197)],_0x28f707,_0x5d61cb);if(_0xffeb8){_0x7de733[_0x540e9e(0x1a9)]({'lockKey':_0x489e69[_0x540e9e(0x1c6)],'reason':'local\x20unsynced\x20changes'});continue;}}await ensureParentDirectory(_0x489e69[_0x540e9e(0x197)]),await writeFile(_0x489e69[_0x540e9e(0x197)],_0x3e4ca1,_0x540e9e(0x1bd));const _0x499ada={'hash':_0x5d61cb,'remoteId':_0x54e3ca['id'],'version':_0x54e3ca['version']};_0x489e69[_0x540e9e(0x1d5)]===_0x540e9e(0x1d3)&&_0x489e69[_0x540e9e(0x1a7)]&&(_0x499ada[_0x540e9e(0x193)]=_0x489e69[_0x540e9e(0x1a7)][_0x540e9e(0x193)],_0x499ada['datasetCode']=_0x489e69[_0x540e9e(0x1a7)]['datasetCode'],_0x499ada[_0x540e9e(0x1b1)]=_0x489e69['hookLocation'][_0x540e9e(0x1b1)],_0x499ada[_0x540e9e(0x1cd)]=_0x489e69[_0x540e9e(0x1a7)][_0x540e9e(0x1cd)]),_0x527ec5['functions'][_0x489e69[_0x540e9e(0x1c6)]]=_0x499ada,_0x52dce3[_0x540e9e(0x1a9)]({'lockKey':_0x489e69[_0x540e9e(0x1c6)],'remoteId':_0x54e3ca['id']});}catch(_0x4e20bb){_0x487e87[_0x540e9e(0x1a9)]({'lockKey':_0x489e69[_0x540e9e(0x1c6)],'error':_0x4e20bb instanceof Error?_0x4e20bb['message']:String(_0x4e20bb)});}}return _0x527ec5[_0x540e9e(0x198)]=new Date()[_0x540e9e(0x19b)](),await writeBffLockFile(_0x436770[_0x540e9e(0x192)],_0x32aece),{'ok':_0x487e87[_0x540e9e(0x1c8)]===0x0,'data':{'pulled':_0x52dce3,'skipped':_0x7de733,'failed':_0x487e87},'message':_0x540e9e(0x19f)+_0x52dce3[_0x540e9e(0x1c8)]+_0x540e9e(0x1a4)+_0x7de733['length']+_0x540e9e(0x1b4)+_0x487e87[_0x540e9e(0x1c8)]+_0x540e9e(0x199)};}};async function hasUnsyncedLocalChanges(_0x857172,_0x243f03,_0x10b541){const _0x33ad80=a31_0x16f27b;if(!await fileExists(_0x857172))return![];const _0x1f436b=await computeFileHash(_0x857172);if(!_0x243f03)return _0x10b541?_0x1f436b!==_0x10b541:!![];return _0x1f436b!==_0x243f03[_0x33ad80(0x1b9)];}function a31_0x1f26(_0x3d06eb,_0x10c193){_0x3d06eb=_0x3d06eb-0x192;const _0x2862a3=a31_0x2862();let _0x1f2681=_0x2862a3[_0x3d06eb];return _0x1f2681;}function buildDatasetCodeToAliasMap(_0x37554f,_0x315849){const _0x335719=a31_0x16f27b,_0x3df11a=loadAliasMap(_0x37554f,undefined,resolveApiFilePath(_0x37554f,_0x315849));return new Map(_0x3df11a[_0x335719(0x1c5)](_0x116929=>[_0x116929[_0x335719(0x1b0)],_0x116929['alias']]));}async function confirmForce(){const _0x95735e=a31_0x16f27b,_0x93c583=createInterface({'input':process[_0x95735e(0x1b7)],'output':process[_0x95735e(0x1a2)]}),_0x1a8a7b=await new Promise(_0x519b9a=>{_0x93c583['question']('Force\x20pull\x20will\x20overwrite\x20local\x20unsynced\x20changes.\x20Continue?\x20[y/N]\x20',_0x519b9a);});return _0x93c583['close'](),['y',_0x95735e(0x1c9)][_0x95735e(0x1cf)](_0x1a8a7b['trim']()[_0x95735e(0x1a0)]());}
1
+ const a31_0x25d013=a31_0x41ee;(function(_0x4ce3ef,_0x28f28b){const _0x325358=a31_0x41ee,_0x309d41=_0x4ce3ef();while(!![]){try{const _0x5d8f26=parseInt(_0x325358(0x17d))/0x1*(-parseInt(_0x325358(0x145))/0x2)+parseInt(_0x325358(0x15a))/0x3+-parseInt(_0x325358(0x18c))/0x4+-parseInt(_0x325358(0x153))/0x5+parseInt(_0x325358(0x185))/0x6*(-parseInt(_0x325358(0x172))/0x7)+-parseInt(_0x325358(0x147))/0x8*(parseInt(_0x325358(0x170))/0x9)+parseInt(_0x325358(0x168))/0xa*(parseInt(_0x325358(0x16a))/0xb);if(_0x5d8f26===_0x28f28b)break;else _0x309d41['push'](_0x309d41['shift']());}catch(_0x5ebb35){_0x309d41['push'](_0x309d41['shift']());}}}(a31_0x5541,0xd7c8a));import{createInterface}from'node:readline';import{writeFile}from'node:fs/promises';import{listBffScripts,getBffScriptStatistics}from'../../core/api-client.js';import{loadAliasMap}from'../../core/alias-resolver.js';function a31_0x41ee(_0x10966f,_0x507a63){_0x10966f=_0x10966f-0x145;const _0x554174=a31_0x5541();let _0x41ee6f=_0x554174[_0x10966f];return _0x41ee6f;}import{resolveApiFilePath}from'../../context.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{createHookLocationMap,ensureParentDirectory,fileExists,normalizeBffType,resolveRemoteScriptTarget}from'../../core/bff/file-system.js';import{computeContentHash,computeFileHash}from'../../core/bff/hash.js';import{createEmptyBffLock,ensureLockScope,readBffLockFile,writeBffLockFile}from'../../core/bff/lock.js';import{CliErrors}from'../../errors.js';export const bffPull={'service':'bff','command':a31_0x25d013(0x161),'description':a31_0x25d013(0x184),'risk':a31_0x25d013(0x17e),'flags':[{'name':a31_0x25d013(0x175),'type':'string','description':a31_0x25d013(0x15d),'enum':[a31_0x25d013(0x146),a31_0x25d013(0x150),'HOOK']},{'name':'force','type':a31_0x25d013(0x155),'description':a31_0x25d013(0x177)}],async 'dryRun'(_0x326395){const _0x4a83bf=a31_0x25d013,_0x19bf06=loadBffProjectConfig(_0x326395['appCode']),_0x36e8ec=await readBffLockFile(_0x19bf06[_0x4a83bf(0x16d)]),{appLock:_0x529c41}=ensureLockScope(_0x36e8ec??createEmptyBffLock(),_0x326395['appCode'],_0x19bf06[_0x4a83bf(0x183)],_0x4a83bf(0x161)),_0x5d06b5=normalizeBffType(_0x326395[_0x4a83bf(0x15b)]('type'))??undefined,_0x1faedd=buildDatasetCodeToAliasMap(_0x326395['apiDir'],_0x326395[_0x4a83bf(0x152)]),[_0x444c64,_0x425379]=await Promise[_0x4a83bf(0x166)]([listBffScripts(_0x326395['appCode'],_0x5d06b5),getBffScriptStatistics(_0x326395[_0x4a83bf(0x152)])]),_0x4aa228=createHookLocationMap(_0x425379),_0x38ae40=[];for(const _0x17e8e6 of _0x444c64){const _0x4ce29b=resolveRemoteScriptTarget(_0x19bf06,_0x17e8e6,_0x4aa228,_0x529c41[_0x4a83bf(0x17c)],_0x1faedd);if(!_0x4ce29b){_0x38ae40[_0x4a83bf(0x16e)]({'scriptType':_0x17e8e6[_0x4a83bf(0x17a)],'functionName':_0x17e8e6[_0x4a83bf(0x18d)]??'','status':_0x4a83bf(0x187),'reason':_0x4a83bf(0x14f)});continue;}const _0x397812=_0x529c41[_0x4a83bf(0x17c)][_0x4ce29b['lockKey']],_0x37cf25=_0x17e8e6[_0x4a83bf(0x14d)]!=null?computeContentHash(_0x17e8e6[_0x4a83bf(0x14d)]):undefined,_0x4fda5d=await hasUnsyncedLocalChanges(_0x4ce29b[_0x4a83bf(0x169)],_0x397812,_0x37cf25);_0x38ae40[_0x4a83bf(0x16e)]({'lockKey':_0x4ce29b[_0x4a83bf(0x182)],'filePath':_0x4ce29b[_0x4a83bf(0x169)],'remoteId':_0x17e8e6['id']??null,'status':_0x4fda5d?_0x4a83bf(0x173):_0x4a83bf(0x167)});}return{'method':_0x4a83bf(0x14b),'url':_0x4a83bf(0x164)+_0x326395[_0x4a83bf(0x152)]+(_0x5d06b5?_0x4a83bf(0x14e)+_0x5d06b5:''),'body':{'appCode':_0x326395[_0x4a83bf(0x152)],'filterType':_0x5d06b5??null,'files':_0x38ae40},'description':_0x4a83bf(0x159)+_0x38ae40[_0x4a83bf(0x180)]+_0x4a83bf(0x189)};},async 'execute'(_0x12ab30){const _0x1e7c9c=a31_0x25d013,_0x15841b=loadBffProjectConfig(_0x12ab30['appCode']),_0x29f93b=await readBffLockFile(_0x15841b[_0x1e7c9c(0x16d)]),{lockData:_0xd5cb28,appLock:_0x4b9313}=ensureLockScope(_0x29f93b??createEmptyBffLock(),_0x12ab30[_0x1e7c9c(0x152)],_0x15841b[_0x1e7c9c(0x183)],_0x1e7c9c(0x161)),_0x605d94=normalizeBffType(_0x12ab30[_0x1e7c9c(0x15b)](_0x1e7c9c(0x175)))??undefined;if(_0x12ab30['str'](_0x1e7c9c(0x175))&&!_0x605d94)throw CliErrors['validation']('--type\x20must\x20be\x20COMMON,\x20ENDPOINT,\x20or\x20HOOK.');const [_0x130047,_0x1833ef]=await Promise[_0x1e7c9c(0x166)]([listBffScripts(_0x12ab30[_0x1e7c9c(0x152)],_0x605d94),getBffScriptStatistics(_0x12ab30[_0x1e7c9c(0x152)])]);if(_0x130047[_0x1e7c9c(0x180)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x1e7c9c(0x163)};const _0x411a67=_0x12ab30[_0x1e7c9c(0x16c)](_0x1e7c9c(0x16f));if(_0x411a67&&!_0x12ab30[_0x1e7c9c(0x188)]){const _0x29af29=await confirmForce();if(!_0x29af29)throw CliErrors['cancelled'](_0x1e7c9c(0x154));}if(_0x411a67&&_0x12ab30[_0x1e7c9c(0x188)]){}const _0x432381=buildDatasetCodeToAliasMap(_0x12ab30[_0x1e7c9c(0x15c)],_0x12ab30[_0x1e7c9c(0x152)]),_0x1bd784=createHookLocationMap(_0x1833ef),_0x48bbc3=JSON[_0x1e7c9c(0x179)](JSON[_0x1e7c9c(0x157)](_0xd5cb28)),_0x389659=_0x12ab30[_0x1e7c9c(0x152)],_0xda9234=_0x48bbc3['apps'][_0x389659];if(!_0xda9234)throw new Error(_0x1e7c9c(0x165)+_0x389659+_0x1e7c9c(0x181));const _0x42f788=[],_0x527872=[],_0x47578c=[];for(const _0x568a01 of _0x130047){const _0x2f88cf=resolveRemoteScriptTarget(_0x15841b,_0x568a01,_0x1bd784,_0x4b9313['functions'],_0x432381);if(!_0x2f88cf){_0x527872[_0x1e7c9c(0x16e)]({'lockKey':_0x568a01[_0x1e7c9c(0x17a)]+'/'+_0x568a01[_0x1e7c9c(0x18d)],'reason':_0x1e7c9c(0x14f)});continue;}const _0x380695=_0x4b9313[_0x1e7c9c(0x17c)][_0x2f88cf[_0x1e7c9c(0x182)]];try{if(!_0x568a01['id'])throw new Error(_0x1e7c9c(0x18b));if(_0x568a01[_0x1e7c9c(0x14d)]==null)throw new Error(_0x1e7c9c(0x148));const _0x4d5ff1=_0x568a01['scriptContent'],_0x1319f1=computeContentHash(_0x4d5ff1);if(!_0x411a67){const _0x21836a=await hasUnsyncedLocalChanges(_0x2f88cf[_0x1e7c9c(0x169)],_0x380695,_0x1319f1);if(_0x21836a){_0x527872[_0x1e7c9c(0x16e)]({'lockKey':_0x2f88cf[_0x1e7c9c(0x182)],'reason':'local\x20unsynced\x20changes'});continue;}}await ensureParentDirectory(_0x2f88cf[_0x1e7c9c(0x169)]),await writeFile(_0x2f88cf['filePath'],_0x4d5ff1,_0x1e7c9c(0x162));const _0x820289={'hash':_0x1319f1,'remoteId':_0x568a01['id'],'version':_0x568a01[_0x1e7c9c(0x18a)]};_0x2f88cf[_0x1e7c9c(0x175)]===_0x1e7c9c(0x17b)&&_0x2f88cf[_0x1e7c9c(0x174)]&&(_0x820289[_0x1e7c9c(0x14a)]=_0x2f88cf[_0x1e7c9c(0x174)]['alias'],_0x820289[_0x1e7c9c(0x160)]=_0x2f88cf[_0x1e7c9c(0x174)][_0x1e7c9c(0x160)],_0x820289[_0x1e7c9c(0x15e)]=_0x2f88cf[_0x1e7c9c(0x174)][_0x1e7c9c(0x15e)],_0x820289[_0x1e7c9c(0x171)]=_0x2f88cf[_0x1e7c9c(0x174)][_0x1e7c9c(0x171)]),_0xda9234['functions'][_0x2f88cf['lockKey']]=_0x820289,_0x42f788[_0x1e7c9c(0x16e)]({'lockKey':_0x2f88cf['lockKey'],'remoteId':_0x568a01['id']});}catch(_0x38f8c7){_0x47578c['push']({'lockKey':_0x2f88cf[_0x1e7c9c(0x182)],'error':_0x38f8c7 instanceof Error?_0x38f8c7['message']:String(_0x38f8c7)});}}return _0xda9234['lastSync']=new Date()[_0x1e7c9c(0x156)](),await writeBffLockFile(_0x15841b[_0x1e7c9c(0x16d)],_0x48bbc3),{'ok':_0x47578c['length']===0x0,'data':{'pulled':_0x42f788,'skipped':_0x527872,'failed':_0x47578c},'message':'Pull\x20complete:\x20'+_0x42f788[_0x1e7c9c(0x180)]+_0x1e7c9c(0x149)+_0x527872['length']+'\x20skipped,\x20'+_0x47578c[_0x1e7c9c(0x180)]+_0x1e7c9c(0x17f)};}};async function hasUnsyncedLocalChanges(_0x5ccaf0,_0x1750d5,_0x593f24){if(!await fileExists(_0x5ccaf0))return![];const _0x38648f=await computeFileHash(_0x5ccaf0);if(!_0x1750d5)return _0x593f24?_0x38648f!==_0x593f24:!![];return _0x38648f!==_0x1750d5['hash'];}function buildDatasetCodeToAliasMap(_0x55bd41,_0x107be9){const _0x3c0938=a31_0x25d013,_0x7fe33=loadAliasMap(_0x55bd41,undefined,resolveApiFilePath(_0x55bd41,_0x107be9));return new Map(_0x7fe33['map'](_0x49d81c=>[_0x49d81c['datasetCode'],_0x49d81c[_0x3c0938(0x14a)]]));}async function confirmForce(){const _0x4906a7=a31_0x25d013,_0xc83285=createInterface({'input':process[_0x4906a7(0x176)],'output':process[_0x4906a7(0x14c)]}),_0x2f000d=await new Promise(_0x5b9b90=>{const _0x3ea58b=_0x4906a7;_0xc83285[_0x3ea58b(0x158)](_0x3ea58b(0x151),_0x5b9b90);});return _0xc83285[_0x4906a7(0x178)](),['y','yes'][_0x4906a7(0x186)](_0x2f000d[_0x4906a7(0x15f)]()[_0x4906a7(0x16b)]());}function a31_0x5541(){const _0x427183=['trim','datasetCode','pull','utf8','No\x20remote\x20BFF\x20scripts\x20found.','/api/management/library/scripts/list?appCode=','Lock\x20scope\x20for\x20app\x20\x22','all','would_pull','6110HXKDjN','filePath','86042qBZBBp','toLowerCase','bool','lockFilePath','push','force','4203MuNuYI','functionNode','7eYToBL','conflict','hookLocation','type','stdin','Force\x20overwrite\x20local\x20unsynced\x20changes','close','parse','scriptType','HOOK','functions','65864NyQOtN','write','\x20failed','length','\x22\x20not\x20found\x20after\x20ensureLockScope.','lockKey','scriptsRoot','Pull\x20remote\x20BFF\x20scripts\x20to\x20local','2071422ONMmer','includes','skipped','nonInteractive','\x20remote\x20BFF\x20script(s)\x20for\x20pull','version','Remote\x20script\x20missing\x20id.','5862596xEwPUP','functionName','18oUynEq','COMMON','5176XhChCl','Remote\x20script\x20missing\x20content.','\x20pulled,\x20','alias','GET','stderr','scriptContent','&type=','unresolvable\x20target\x20path','ENDPOINT','Force\x20pull\x20will\x20overwrite\x20local\x20unsynced\x20changes.\x20Continue?\x20[y/N]\x20','appCode','6306355cAFiTS','Force\x20pull\x20cancelled.','boolean','toISOString','stringify','question','Would\x20inspect\x20','215070odMqCy','str','apiDir','Pull\x20only\x20this\x20script\x20type','operationType'];a31_0x5541=function(){return _0x427183;};return a31_0x5541();}
@@ -1 +1 @@
1
- const a32_0x4506e3=a32_0x21d4;(function(_0x1f3015,_0x114c9a){const _0x303513=a32_0x21d4,_0x417827=_0x1f3015();while(!![]){try{const _0xf586b3=-parseInt(_0x303513(0x1b6))/0x1+-parseInt(_0x303513(0x1de))/0x2+parseInt(_0x303513(0x1df))/0x3*(-parseInt(_0x303513(0x1a9))/0x4)+parseInt(_0x303513(0x1da))/0x5*(-parseInt(_0x303513(0x1f7))/0x6)+parseInt(_0x303513(0x1f3))/0x7*(-parseInt(_0x303513(0x1cb))/0x8)+parseInt(_0x303513(0x1dc))/0x9+-parseInt(_0x303513(0x1b5))/0xa*(-parseInt(_0x303513(0x1c9))/0xb);if(_0xf586b3===_0x114c9a)break;else _0x417827['push'](_0x417827['shift']());}catch(_0x26c2c9){_0x417827['push'](_0x417827['shift']());}}}(a32_0x2d2d,0x32726));import{readFile}from'node:fs/promises';import{saveBffScript,getBffScriptInfo,listDatasets,clearBffScriptCache}from'../../core/api-client.js';import{loadAliasMap}from'../../core/alias-resolver.js';import{resolveApiFilePath}from'../../context.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{normalizeBffType,scanLocalBffFunctions}from'../../core/bff/file-system.js';import{computeFileHash}from'../../core/bff/hash.js';import{createEmptyBffLock,ensureLockScope,readBffLockFile,writeBffLockFile}from'../../core/bff/lock.js';import{extractScriptDescription}from'../../core/bff/utils.js';import{sleep}from'../../utils/sleep.js';import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';const CACHE_CLEAR_ATTEMPTS=0x2,CACHE_CLEAR_INTERVAL_MS=0x12c;export const bffPush={'service':'bff','command':'push','description':a32_0x4506e3(0x1b1),'risk':a32_0x4506e3(0x1ae),'flags':[{'name':a32_0x4506e3(0x1bb),'type':a32_0x4506e3(0x1d8),'description':a32_0x4506e3(0x1f2),'enum':[a32_0x4506e3(0x1d9),a32_0x4506e3(0x1ea),a32_0x4506e3(0x1ac)]},{'name':'name','type':a32_0x4506e3(0x1d8),'description':'Push\x20only\x20the\x20named\x20function\x20(requires\x20--type)'},{'name':a32_0x4506e3(0x1c6),'type':'boolean','description':'Force\x20push\x20ignoring\x20hash\x20protection'}],async 'dryRun'(_0x456eb6){const _0x38fef5=a32_0x4506e3,_0x203288=loadBffProjectConfig(_0x456eb6[_0x38fef5(0x1b7)]),_0x544d14=await readBffLockFile(_0x203288[_0x38fef5(0x1b3)]),{appLock:_0x280679}=ensureLockScope(_0x544d14??createEmptyBffLock(),_0x456eb6[_0x38fef5(0x1b7)],_0x203288[_0x38fef5(0x1be)],_0x38fef5(0x1ba)),_0x92602b=await getTargetFunctions(_0x203288,_0x456eb6),_0x41db0f=_0x456eb6[_0x38fef5(0x1e7)](_0x38fef5(0x1c6)),_0x5c1f0f=[];for(const _0x28afd0 of _0x92602b){const _0x35df37=await computeFileHash(_0x28afd0['filePath']),_0x51e467=_0x280679[_0x38fef5(0x1ad)][_0x28afd0['lockKey']],_0x1cdcdf=!!_0x51e467&&_0x51e467['hash']===_0x35df37;_0x5c1f0f[_0x38fef5(0x1ba)]({'lockKey':_0x28afd0[_0x38fef5(0x1e1)],'filePath':_0x28afd0[_0x38fef5(0x1a8)],'remoteId':_0x51e467?.[_0x38fef5(0x1c0)]??null,'mode':_0x51e467?.[_0x38fef5(0x1c0)]?_0x38fef5(0x1c1):_0x38fef5(0x1e5),'status':!_0x41db0f&&_0x1cdcdf?_0x38fef5(0x1bf):_0x38fef5(0x1b8)});}return{'method':_0x38fef5(0x1fc),'url':_0x38fef5(0x1d3),'body':{'appCode':_0x456eb6[_0x38fef5(0x1b7)],'force':_0x41db0f,'files':_0x5c1f0f,'cacheClearAtRuntime':_0x5c1f0f['some'](_0x4ed3ef=>_0x4ed3ef[_0x38fef5(0x1b0)]===_0x38fef5(0x1b8)),'cacheClearAtRuntimeTimes':_0x5c1f0f[_0x38fef5(0x1af)](_0x3bdfb4=>_0x3bdfb4[_0x38fef5(0x1b0)]==='would_push')?CACHE_CLEAR_ATTEMPTS:0x0},'description':_0x38fef5(0x1c8)+_0x5c1f0f[_0x38fef5(0x1ec)]+_0x38fef5(0x1e8)};},async 'execute'(_0x427f75){const _0x161330=a32_0x4506e3,_0x1ced5a=loadBffProjectConfig(_0x427f75[_0x161330(0x1b7)]),_0x14c0ca=await readBffLockFile(_0x1ced5a[_0x161330(0x1b3)]),{lockData:_0x232e7c,appLock:_0x114ec5}=ensureLockScope(_0x14c0ca??createEmptyBffLock(),_0x427f75[_0x161330(0x1b7)],_0x1ced5a[_0x161330(0x1be)],_0x161330(0x1ba)),_0x4fae09=await getTargetFunctions(_0x1ced5a,_0x427f75);if(_0x4fae09[_0x161330(0x1ec)]===0x0)return{'ok':!![],'data':{'uploaded':[],'skipped':[],'failed':[]},'message':_0x161330(0x1ca)};const _0x98daf4=_0x427f75[_0x161330(0x1e7)](_0x161330(0x1c6)),_0x224ef9=JSON[_0x161330(0x1f1)](JSON['stringify'](_0x232e7c)),_0x540ce2=_0x224ef9[_0x161330(0x1cd)][_0x427f75[_0x161330(0x1b7)]];if(!_0x540ce2)throw new Error(_0x161330(0x1e0)+_0x427f75[_0x161330(0x1b7)]+_0x161330(0x1f4));const _0x5a80e8=await buildHookMaps(_0x427f75['appCode'],_0x427f75[_0x161330(0x1fa)],_0x4fae09,_0x540ce2),_0xbaee47=[],_0x50d1d0=[],_0x4f5bc1=[];for(const _0x31614a of _0x4fae09){const _0x3334df=await computeFileHash(_0x31614a[_0x161330(0x1a8)]),_0x352c2e=_0x540ce2['functions'][_0x31614a[_0x161330(0x1e1)]];if(!_0x98daf4&&_0x352c2e&&_0x352c2e['hash']===_0x3334df){_0x50d1d0['push']({'lockKey':_0x31614a['lockKey'],'reason':_0x161330(0x1bf)});continue;}try{await uploadSingleFunction(_0x427f75[_0x161330(0x1b7)],_0x31614a,_0x540ce2,_0x5a80e8);const _0x260dc2=_0x540ce2[_0x161330(0x1ad)][_0x31614a[_0x161330(0x1e1)]];_0xbaee47[_0x161330(0x1ba)]({'lockKey':_0x31614a[_0x161330(0x1e1)],'remoteId':_0x260dc2?.[_0x161330(0x1c0)]??0x0});}catch(_0x4cac1b){_0x4f5bc1[_0x161330(0x1ba)]({'lockKey':_0x31614a[_0x161330(0x1e1)],'error':_0x4cac1b instanceof Error?_0x4cac1b[_0x161330(0x1b9)]:String(_0x4cac1b)});}}_0x540ce2[_0x161330(0x1d5)]=new Date()[_0x161330(0x1f8)](),await writeBffLockFile(_0x1ced5a[_0x161330(0x1b3)],_0x224ef9),await waitForUploadedLockEntries(_0x1ced5a[_0x161330(0x1b3)],_0x427f75[_0x161330(0x1b7)],_0xbaee47['map'](_0x1b98d8=>_0x1b98d8[_0x161330(0x1e1)]));let _0x57a6ef={'attempted':![],'cleared':![]};if(_0xbaee47[_0x161330(0x1ec)]>0x0)try{let _0x1ccb20='';for(let _0x184b30=0x0;_0x184b30<CACHE_CLEAR_ATTEMPTS;_0x184b30+=0x1){_0x1ccb20=await clearBffScriptCache(),_0x184b30<CACHE_CLEAR_ATTEMPTS-0x1&&await sleep(CACHE_CLEAR_INTERVAL_MS);}_0x57a6ef={'attempted':!![],'cleared':!![],'message':_0x1ccb20||_0x161330(0x1d6)};}catch(_0x4972d6){_0x57a6ef={'attempted':!![],'cleared':![],'error':_0x4972d6 instanceof Error?_0x4972d6[_0x161330(0x1b9)]:String(_0x4972d6)};}const _0x40bd7d=_0x4f5bc1[_0x161330(0x1ec)]===0x0&&(_0x57a6ef[_0x161330(0x1d0)]?_0x57a6ef[_0x161330(0x1e2)]:!![]),_0x13bb1a=_0x57a6ef[_0x161330(0x1d0)]?_0x57a6ef['cleared']?_0x161330(0x1cc):_0x161330(0x1d4):_0x161330(0x1e4);return{'ok':_0x40bd7d,'data':{'uploaded':_0xbaee47,'skipped':_0x50d1d0,'failed':_0x4f5bc1,'cacheClear':_0x57a6ef},'message':'Push\x20complete:\x20'+_0xbaee47[_0x161330(0x1ec)]+_0x161330(0x1f6)+_0x50d1d0[_0x161330(0x1ec)]+_0x161330(0x1fe)+_0x4f5bc1[_0x161330(0x1ec)]+'\x20failed,\x20'+_0x13bb1a};}};function a32_0x2d2d(){const _0x55f29=['950424DFCRtv','runtime\x20cache\x20cleared','apps','Incomplete\x20HOOK\x20path:\x20','utf8','attempted','code','values','/api/management/library/scripts/save','runtime\x20cache\x20clear\x20failed','lastSync','Runtime\x20script\x20cache\x20cleared.','datasetCode','string','COMMON','239645gaHjwQ','aliasToDatasetCode','3101085gAEbZR','datasetCodeToDataset','178790sWqCbD','7149RFGmqm','Lock\x20scope\x20for\x20app\x20\x22','lockKey','cleared','every','runtime\x20cache\x20not\x20needed','create','Run\x20`','bool','\x20local\x20BFF\x20script(s)\x20for\x20push\x20and\x20clear\x20runtime\x20cache\x20if\x20files\x20are\x20uploaded',':\x20missing\x20remote\x20version.\x20Run\x20`push`\x20after\x20`pull`\x20to\x20sync\x20version\x20info.','ENDPOINT','functionNode','length','filter','join','datasetId','\x20api\x20pull`\x20to\x20refresh\x20api.ts,\x20or\x20verify\x20the\x20dataset\x20exists.','parse','Push\x20only\x20this\x20script\x20type','21fuyOfQ','\x22\x20not\x20found\x20after\x20ensureLockScope.','Local\x20function\x20not\x20found:\x20','\x20uploaded,\x20','18SnPqLH','toISOString','str','apiDir','\x22.\x20','POST','set','\x20skipped,\x20','filePath','356cNuWIE','name','get','HOOK','functions','high-risk-write','some','status','Push\x20local\x20BFF\x20scripts\x20to\x20remote','has','lockFilePath','version','8521390vDUldY','188396rOPXFP','appCode','would_push','message','push','type','map','Cannot\x20resolve\x20dataset\x20for\x20\x22','scriptsRoot','unchanged','remoteId','update','operationType','description','alias','Lock\x20file\x20not\x20settled\x20after\x20push\x20for\x20','force','validation','Would\x20inspect\x20','11DDecqc','No\x20local\x20BFF\x20functions\x20found.'];a32_0x2d2d=function(){return _0x55f29;};return a32_0x2d2d();}async function getTargetFunctions(_0x2a0a62,_0x4ab3b7){const _0x36d37e=a32_0x4506e3,_0xb1e1a1=_0x4ab3b7[_0x36d37e(0x1f9)](_0x36d37e(0x1bb)),_0x50e638=_0x4ab3b7[_0x36d37e(0x1f9)](_0x36d37e(0x1aa)),_0x49db59=normalizeBffType(_0xb1e1a1)??undefined;if(_0x50e638&&!_0x49db59)throw CliErrors[_0x36d37e(0x1c7)]('--name\x20requires\x20--type\x20to\x20identify\x20the\x20function.');const _0x4507fb=await scanLocalBffFunctions(_0x2a0a62,_0x49db59);if(_0x50e638){const _0x1c424d=_0x4507fb[_0x36d37e(0x1ed)](_0x116190=>_0x116190[_0x36d37e(0x1aa)]===_0x50e638);if(_0x1c424d[_0x36d37e(0x1ec)]===0x0)throw CliErrors['validation'](_0x36d37e(0x1f5)+_0x49db59+'/'+_0x50e638);return _0x1c424d;}return _0x4507fb;}async function buildHookMaps(_0x2dc8a5,_0x4ea1bc,_0x455bbd,_0xd04200){const _0x3f4326=a32_0x4506e3,_0x145989=_0x455bbd[_0x3f4326(0x1af)](_0x18aba7=>_0x18aba7[_0x3f4326(0x1bb)]===_0x3f4326(0x1ac));if(!_0x145989)return{'aliasToDatasetCode':new Map(),'datasetCodeToDataset':new Map()};const _0x236d05=loadAliasMap(_0x4ea1bc,undefined,resolveApiFilePath(_0x4ea1bc,_0x2dc8a5)),_0x34836a=new Map(_0x236d05[_0x3f4326(0x1bc)](_0x10dd28=>[_0x10dd28[_0x3f4326(0x1c4)],_0x10dd28[_0x3f4326(0x1d7)]]));for(const _0x5c5f53 of Object[_0x3f4326(0x1d2)](_0xd04200[_0x3f4326(0x1ad)])){_0x5c5f53[_0x3f4326(0x1c4)]&&_0x5c5f53['datasetCode']&&!_0x34836a[_0x3f4326(0x1b2)](_0x5c5f53[_0x3f4326(0x1c4)])&&_0x34836a[_0x3f4326(0x1fd)](_0x5c5f53[_0x3f4326(0x1c4)],_0x5c5f53[_0x3f4326(0x1d7)]);}const _0x160551=await listDatasets(_0x2dc8a5),_0x3b3c25=new Map(_0x160551['map'](_0x2be0de=>[_0x2be0de[_0x3f4326(0x1d1)],_0x2be0de]));return{'aliasToDatasetCode':_0x34836a,'datasetCodeToDataset':_0x3b3c25};}async function uploadSingleFunction(_0xbfe1b3,_0xd88710,_0x2b06d7,_0x11d7e5){const _0x5e9edf=a32_0x4506e3,_0x30514a=await readFile(_0xd88710[_0x5e9edf(0x1a8)],_0x5e9edf(0x1cf)),_0x196007=await computeFileHash(_0xd88710['filePath']),_0x26eb8d=_0x2b06d7[_0x5e9edf(0x1ad)][_0xd88710[_0x5e9edf(0x1e1)]];if(_0x26eb8d?.[_0x5e9edf(0x1c0)]&&_0x26eb8d[_0x5e9edf(0x1b4)]==null)throw CliErrors['validation'](_0xd88710['lockKey']+_0x5e9edf(0x1e9));let _0x19f01d=extractScriptDescription(_0x30514a);if(!_0x19f01d&&_0x26eb8d?.[_0x5e9edf(0x1c0)]){const _0x14abd2=await getBffScriptInfo(_0x26eb8d['remoteId']);_0x19f01d=_0x14abd2[_0x5e9edf(0x1c3)]||undefined;}const _0x56b935={'appCode':_0xbfe1b3,'functionName':_0xd88710[_0x5e9edf(0x1aa)],'scriptType':_0xd88710[_0x5e9edf(0x1bb)],'scriptContent':_0x30514a};if(_0x26eb8d?.['remoteId'])_0x56b935['id']=_0x26eb8d[_0x5e9edf(0x1c0)];if(_0x26eb8d?.[_0x5e9edf(0x1b4)]!=null)_0x56b935['version']=_0x26eb8d[_0x5e9edf(0x1b4)];if(_0x19f01d)_0x56b935[_0x5e9edf(0x1c3)]=_0x19f01d;if(_0xd88710[_0x5e9edf(0x1bb)]==='HOOK'){const _0x477004=_0xd88710[_0x5e9edf(0x1c4)];if(!_0x477004||!_0xd88710[_0x5e9edf(0x1c2)]||!_0xd88710[_0x5e9edf(0x1eb)])throw CliErrors[_0x5e9edf(0x1c7)](_0x5e9edf(0x1ce)+_0xd88710[_0x5e9edf(0x1e1)]);const _0xa4ef21=_0x11d7e5['aliasToDatasetCode']['get'](_0x477004)??_0x26eb8d?.['datasetCode']??_0x477004,_0x2f636d=_0x11d7e5[_0x5e9edf(0x1dd)][_0x5e9edf(0x1ab)](_0xa4ef21);if(!_0x2f636d)throw CliErrors['validation'](_0x5e9edf(0x1bd)+_0x477004+_0x5e9edf(0x1fb)+(_0x5e9edf(0x1e6)+CLI_BIN_NAME+_0x5e9edf(0x1f0)));_0x56b935[_0x5e9edf(0x1ef)]=_0x2f636d['id'],_0x56b935[_0x5e9edf(0x1c2)]=_0xd88710[_0x5e9edf(0x1c2)],_0x56b935[_0x5e9edf(0x1eb)]=_0xd88710['functionNode'];}const _0x3bb04a=await saveBffScript(_0x56b935),_0x36ae34=_0x3bb04a['id'],_0x3935d8=_0x3bb04a['script']??await getBffScriptInfo(_0x36ae34),_0x298ad2={'hash':_0x196007,'remoteId':_0x36ae34,'version':_0x3935d8[_0x5e9edf(0x1b4)]};if(_0xd88710[_0x5e9edf(0x1bb)]==='HOOK'){const _0x354570=_0xd88710['alias'],_0x2bd041=_0x11d7e5[_0x5e9edf(0x1db)][_0x5e9edf(0x1ab)](_0x354570)??_0x26eb8d?.['datasetCode']??_0x354570;_0x11d7e5[_0x5e9edf(0x1db)]['has'](_0x354570)?_0x298ad2[_0x5e9edf(0x1c4)]=_0x354570:_0x298ad2[_0x5e9edf(0x1c4)]=_0x26eb8d?.['alias'],_0x298ad2[_0x5e9edf(0x1d7)]=_0x2bd041,_0x298ad2['operationType']=_0xd88710[_0x5e9edf(0x1c2)],_0x298ad2[_0x5e9edf(0x1eb)]=_0xd88710[_0x5e9edf(0x1eb)];}_0x2b06d7['functions'][_0xd88710[_0x5e9edf(0x1e1)]]=_0x298ad2;}function a32_0x21d4(_0x450796,_0x336db3){_0x450796=_0x450796-0x1a8;const _0x2d2d83=a32_0x2d2d();let _0x21d423=_0x2d2d83[_0x450796];return _0x21d423;}const LOCK_SETTLE_RETRY_COUNT=0x14,LOCK_SETTLE_DELAY_MS=0x64;async function waitForUploadedLockEntries(_0x769cdb,_0x4d40de,_0x2351eb){const _0x518e2f=a32_0x4506e3;if(_0x2351eb[_0x518e2f(0x1ec)]===0x0)return;for(let _0x299960=0x0;_0x299960<LOCK_SETTLE_RETRY_COUNT;_0x299960+=0x1){const _0xb4faa9=await readBffLockFile(_0x769cdb),_0x71cf47=_0xb4faa9?.[_0x518e2f(0x1cd)]?.[_0x4d40de]?.[_0x518e2f(0x1ad)]??{},_0x2f5146=_0x2351eb[_0x518e2f(0x1e3)](_0x1d0dda=>!!_0x71cf47[_0x1d0dda]?.['remoteId']);if(_0x2f5146)return;await sleep(LOCK_SETTLE_DELAY_MS);}throw new Error(_0x518e2f(0x1c5)+_0x2351eb[_0x518e2f(0x1ee)](',\x20')+'.');}
1
+ const a32_0x494a98=a32_0x4b0b;(function(_0x3a5db9,_0x394c14){const _0x1c249f=a32_0x4b0b,_0x2e4e7f=_0x3a5db9();while(!![]){try{const _0x4c78fc=-parseInt(_0x1c249f(0x13f))/0x1+-parseInt(_0x1c249f(0x187))/0x2*(parseInt(_0x1c249f(0x163))/0x3)+-parseInt(_0x1c249f(0x161))/0x4*(-parseInt(_0x1c249f(0x157))/0x5)+-parseInt(_0x1c249f(0x170))/0x6*(-parseInt(_0x1c249f(0x152))/0x7)+parseInt(_0x1c249f(0x151))/0x8*(-parseInt(_0x1c249f(0x171))/0x9)+parseInt(_0x1c249f(0x15c))/0xa*(parseInt(_0x1c249f(0x13e))/0xb)+-parseInt(_0x1c249f(0x15b))/0xc*(-parseInt(_0x1c249f(0x178))/0xd);if(_0x4c78fc===_0x394c14)break;else _0x2e4e7f['push'](_0x2e4e7f['shift']());}catch(_0x153e8a){_0x2e4e7f['push'](_0x2e4e7f['shift']());}}}(a32_0x22ef,0xf0178));import{readFile}from'node:fs/promises';import{saveBffScript,getBffScriptInfo,listDatasets,clearBffScriptCache}from'../../core/api-client.js';import{loadAliasMap}from'../../core/alias-resolver.js';import{resolveApiFilePath}from'../../context.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{normalizeBffType,scanLocalBffFunctions}from'../../core/bff/file-system.js';import{computeFileHash}from'../../core/bff/hash.js';import{createEmptyBffLock,ensureLockScope,readBffLockFile,writeBffLockFile}from'../../core/bff/lock.js';import{extractScriptDescription}from'../../core/bff/utils.js';function a32_0x4b0b(_0x4aad0e,_0x2659bc){_0x4aad0e=_0x4aad0e-0x139;const _0x22ef72=a32_0x22ef();let _0x4b0b8b=_0x22ef72[_0x4aad0e];return _0x4b0b8b;}import{sleep}from'../../utils/sleep.js';function a32_0x22ef(){const _0x4cb7bb=['name','179635BrjilI','stringify','datasetCodeToDataset','filePath','6974868mEiRlo','7370deGitQ','ENDPOINT','get','description','join','184NeVGCj','Push\x20only\x20the\x20named\x20function\x20(requires\x20--type)','8457GVIfnj','some','\x22.\x20','bool','filter','\x20uploaded,\x20','has','Lock\x20file\x20not\x20settled\x20after\x20push\x20for\x20','Lock\x20scope\x20for\x20app\x20\x22','type','would_push','runtime\x20cache\x20not\x20needed','No\x20local\x20BFF\x20functions\x20found.','78KPcAyL','9VFkqRt','update','version','string','Local\x20function\x20not\x20found:\x20','runtime\x20cache\x20clear\x20failed','map','26cEuXlO','HOOK','script','push','lockKey','toISOString','attempted','validation','alias','utf8','lastSync','\x22\x20not\x20found\x20after\x20ensureLockScope.','apps','set','Push\x20only\x20this\x20script\x20type','806SRDaqx','lockFilePath','Cannot\x20resolve\x20dataset\x20for\x20\x22','bff','operationType','Would\x20inspect\x20','status','Push\x20complete:\x20','Incomplete\x20HOOK\x20path:\x20','remoteId','values','create','26785QawttS','1597778RDGaMW','code','functions','COMMON','Push\x20local\x20BFF\x20scripts\x20to\x20remote','datasetCode','\x20failed,\x20',':\x20missing\x20remote\x20version.\x20Run\x20`push`\x20after\x20`pull`\x20to\x20sync\x20version\x20info.','scriptsRoot','hash','appCode','str','\x20local\x20BFF\x20script(s)\x20for\x20push\x20and\x20clear\x20runtime\x20cache\x20if\x20files\x20are\x20uploaded','Force\x20push\x20ignoring\x20hash\x20protection','force','aliasToDatasetCode','functionNode','cleared','14501144HGFtkA','495481MRUTGW','unchanged','length','Runtime\x20script\x20cache\x20cleared.'];a32_0x22ef=function(){return _0x4cb7bb;};return a32_0x22ef();}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_0x494a98(0x18a),'command':'push','description':a32_0x494a98(0x143),'risk':'high-risk-write','flags':[{'name':a32_0x494a98(0x16c),'type':a32_0x494a98(0x174),'description':a32_0x494a98(0x186),'enum':[a32_0x494a98(0x142),a32_0x494a98(0x15d),a32_0x494a98(0x179)]},{'name':a32_0x494a98(0x156),'type':'string','description':a32_0x494a98(0x162)},{'name':a32_0x494a98(0x14d),'type':'boolean','description':a32_0x494a98(0x14c)}],async 'dryRun'(_0x3f7e59){const _0x431a2f=a32_0x494a98,_0x28277f=loadBffProjectConfig(_0x3f7e59[_0x431a2f(0x149)]),_0x3a66b9=await readBffLockFile(_0x28277f[_0x431a2f(0x188)]),{appLock:_0x2a1d7b}=ensureLockScope(_0x3a66b9??createEmptyBffLock(),_0x3f7e59[_0x431a2f(0x149)],_0x28277f[_0x431a2f(0x147)],_0x431a2f(0x17b)),_0x35acc0=await getTargetFunctions(_0x28277f,_0x3f7e59),_0x1b9572=_0x3f7e59[_0x431a2f(0x166)](_0x431a2f(0x14d)),_0x33eed5=[];for(const _0x597d0d of _0x35acc0){const _0x1f1bb0=await computeFileHash(_0x597d0d[_0x431a2f(0x15a)]),_0x126774=_0x2a1d7b[_0x431a2f(0x141)][_0x597d0d['lockKey']],_0x20143a=!!_0x126774&&_0x126774[_0x431a2f(0x148)]===_0x1f1bb0;_0x33eed5['push']({'lockKey':_0x597d0d['lockKey'],'filePath':_0x597d0d[_0x431a2f(0x15a)],'remoteId':_0x126774?.['remoteId']??null,'mode':_0x126774?.[_0x431a2f(0x13b)]?_0x431a2f(0x172):_0x431a2f(0x13d),'status':!_0x1b9572&&_0x20143a?_0x431a2f(0x153):_0x431a2f(0x16d)});}return{'method':'POST','url':'/api/management/library/scripts/save','body':{'appCode':_0x3f7e59[_0x431a2f(0x149)],'force':_0x1b9572,'files':_0x33eed5,'cacheClearAtRuntime':_0x33eed5[_0x431a2f(0x164)](_0x35f238=>_0x35f238[_0x431a2f(0x18d)]===_0x431a2f(0x16d)),'cacheClearAtRuntimeTimes':_0x33eed5[_0x431a2f(0x164)](_0x58562a=>_0x58562a[_0x431a2f(0x18d)]==='would_push')?CACHE_CLEAR_ATTEMPTS:0x0},'description':_0x431a2f(0x18c)+_0x33eed5[_0x431a2f(0x154)]+_0x431a2f(0x14b)};},async 'execute'(_0x21d864){const _0x264901=a32_0x494a98,_0xfe5f0f=loadBffProjectConfig(_0x21d864['appCode']),_0x44af3b=await readBffLockFile(_0xfe5f0f['lockFilePath']),{lockData:_0x36a8e7,appLock:_0x5bdc2d}=ensureLockScope(_0x44af3b??createEmptyBffLock(),_0x21d864[_0x264901(0x149)],_0xfe5f0f['scriptsRoot'],'push'),_0x2970cf=await getTargetFunctions(_0xfe5f0f,_0x21d864);if(_0x2970cf[_0x264901(0x154)]===0x0)return{'ok':!![],'data':{'uploaded':[],'skipped':[],'failed':[]},'message':_0x264901(0x16f)};const _0x2a4283=_0x21d864[_0x264901(0x166)](_0x264901(0x14d)),_0x3f32e2=JSON['parse'](JSON[_0x264901(0x158)](_0x36a8e7)),_0x350c53=_0x3f32e2[_0x264901(0x184)][_0x21d864['appCode']];if(!_0x350c53)throw new Error(_0x264901(0x16b)+_0x21d864['appCode']+_0x264901(0x183));const _0x18fbf6=await buildHookMaps(_0x21d864[_0x264901(0x149)],_0x21d864['apiDir'],_0x2970cf,_0x350c53),_0x302a1e=[],_0x5e2766=[],_0xdf8d7d=[];for(const _0x43a44e of _0x2970cf){const _0x584efb=await computeFileHash(_0x43a44e[_0x264901(0x15a)]),_0x10fa91=_0x350c53['functions'][_0x43a44e[_0x264901(0x17c)]];if(!_0x2a4283&&_0x10fa91&&_0x10fa91[_0x264901(0x148)]===_0x584efb){_0x5e2766[_0x264901(0x17b)]({'lockKey':_0x43a44e['lockKey'],'reason':_0x264901(0x153)});continue;}try{await uploadSingleFunction(_0x21d864[_0x264901(0x149)],_0x43a44e,_0x350c53,_0x18fbf6);const _0x17497d=_0x350c53[_0x264901(0x141)][_0x43a44e[_0x264901(0x17c)]];_0x302a1e[_0x264901(0x17b)]({'lockKey':_0x43a44e[_0x264901(0x17c)],'remoteId':_0x17497d?.[_0x264901(0x13b)]??0x0});}catch(_0x4e4dd8){_0xdf8d7d['push']({'lockKey':_0x43a44e[_0x264901(0x17c)],'error':_0x4e4dd8 instanceof Error?_0x4e4dd8['message']:String(_0x4e4dd8)});}}_0x350c53[_0x264901(0x182)]=new Date()[_0x264901(0x17d)](),await writeBffLockFile(_0xfe5f0f[_0x264901(0x188)],_0x3f32e2),await waitForUploadedLockEntries(_0xfe5f0f[_0x264901(0x188)],_0x21d864[_0x264901(0x149)],_0x302a1e[_0x264901(0x177)](_0x40e564=>_0x40e564['lockKey']));let _0x542308={'attempted':![],'cleared':![]};if(_0x302a1e[_0x264901(0x154)]>0x0)try{let _0x2d84c='';for(let _0x1c53a2=0x0;_0x1c53a2<CACHE_CLEAR_ATTEMPTS;_0x1c53a2+=0x1){_0x2d84c=await clearBffScriptCache(),_0x1c53a2<CACHE_CLEAR_ATTEMPTS-0x1&&await sleep(CACHE_CLEAR_INTERVAL_MS);}_0x542308={'attempted':!![],'cleared':!![],'message':_0x2d84c||_0x264901(0x155)};}catch(_0x2ee8de){_0x542308={'attempted':!![],'cleared':![],'error':_0x2ee8de instanceof Error?_0x2ee8de['message']:String(_0x2ee8de)};}const _0x17851e=_0xdf8d7d[_0x264901(0x154)]===0x0&&(_0x542308['attempted']?_0x542308[_0x264901(0x150)]:!![]),_0x3d1815=_0x542308[_0x264901(0x17e)]?_0x542308['cleared']?'runtime\x20cache\x20cleared':_0x264901(0x176):_0x264901(0x16e);return{'ok':_0x17851e,'data':{'uploaded':_0x302a1e,'skipped':_0x5e2766,'failed':_0xdf8d7d,'cacheClear':_0x542308},'message':_0x264901(0x139)+_0x302a1e[_0x264901(0x154)]+_0x264901(0x168)+_0x5e2766[_0x264901(0x154)]+'\x20skipped,\x20'+_0xdf8d7d[_0x264901(0x154)]+_0x264901(0x145)+_0x3d1815};}};async function getTargetFunctions(_0x42e9b3,_0x15aadf){const _0x219e67=a32_0x494a98,_0x42cbd4=_0x15aadf[_0x219e67(0x14a)](_0x219e67(0x16c)),_0x195fd2=_0x15aadf[_0x219e67(0x14a)](_0x219e67(0x156)),_0x45dd0c=normalizeBffType(_0x42cbd4)??undefined;if(_0x195fd2&&!_0x45dd0c)throw CliErrors[_0x219e67(0x17f)]('--name\x20requires\x20--type\x20to\x20identify\x20the\x20function.');const _0x120de5=await scanLocalBffFunctions(_0x42e9b3,_0x45dd0c);if(_0x195fd2){const _0x530486=_0x120de5[_0x219e67(0x167)](_0x4050c7=>_0x4050c7[_0x219e67(0x156)]===_0x195fd2);if(_0x530486['length']===0x0)throw CliErrors['validation'](_0x219e67(0x175)+_0x45dd0c+'/'+_0x195fd2);return _0x530486;}return _0x120de5;}async function buildHookMaps(_0x2f7f41,_0x2a8020,_0x1c77af,_0x2a2918){const _0x2291c9=a32_0x494a98,_0x4d6114=_0x1c77af[_0x2291c9(0x164)](_0x1fd71c=>_0x1fd71c[_0x2291c9(0x16c)]===_0x2291c9(0x179));if(!_0x4d6114)return{'aliasToDatasetCode':new Map(),'datasetCodeToDataset':new Map()};const _0x3861fb=loadAliasMap(_0x2a8020,undefined,resolveApiFilePath(_0x2a8020,_0x2f7f41)),_0x191b7c=new Map(_0x3861fb[_0x2291c9(0x177)](_0x5cb7e7=>[_0x5cb7e7[_0x2291c9(0x180)],_0x5cb7e7[_0x2291c9(0x144)]]));for(const _0xd09880 of Object[_0x2291c9(0x13c)](_0x2a2918[_0x2291c9(0x141)])){_0xd09880[_0x2291c9(0x180)]&&_0xd09880[_0x2291c9(0x144)]&&!_0x191b7c[_0x2291c9(0x169)](_0xd09880[_0x2291c9(0x180)])&&_0x191b7c[_0x2291c9(0x185)](_0xd09880[_0x2291c9(0x180)],_0xd09880[_0x2291c9(0x144)]);}const _0x4e777c=await listDatasets(_0x2f7f41),_0x17552d=new Map(_0x4e777c['map'](_0x39c131=>[_0x39c131[_0x2291c9(0x140)],_0x39c131]));return{'aliasToDatasetCode':_0x191b7c,'datasetCodeToDataset':_0x17552d};}async function uploadSingleFunction(_0xce6370,_0x596db3,_0x234997,_0x2e68b2){const _0x33b15e=a32_0x494a98,_0x1a44d7=await readFile(_0x596db3['filePath'],_0x33b15e(0x181)),_0x59d973=await computeFileHash(_0x596db3['filePath']),_0x55b58=_0x234997[_0x33b15e(0x141)][_0x596db3[_0x33b15e(0x17c)]];if(_0x55b58?.[_0x33b15e(0x13b)]&&_0x55b58['version']==null)throw CliErrors[_0x33b15e(0x17f)](_0x596db3['lockKey']+_0x33b15e(0x146));let _0x20cbc9=extractScriptDescription(_0x1a44d7);if(!_0x20cbc9&&_0x55b58?.['remoteId']){const _0x394943=await getBffScriptInfo(_0x55b58['remoteId']);_0x20cbc9=_0x394943[_0x33b15e(0x15f)]||undefined;}const _0x2b5256={'appCode':_0xce6370,'functionName':_0x596db3['name'],'scriptType':_0x596db3[_0x33b15e(0x16c)],'scriptContent':_0x1a44d7};if(_0x55b58?.['remoteId'])_0x2b5256['id']=_0x55b58[_0x33b15e(0x13b)];if(_0x55b58?.[_0x33b15e(0x173)]!=null)_0x2b5256[_0x33b15e(0x173)]=_0x55b58[_0x33b15e(0x173)];if(_0x20cbc9)_0x2b5256[_0x33b15e(0x15f)]=_0x20cbc9;if(_0x596db3[_0x33b15e(0x16c)]===_0x33b15e(0x179)){const _0x239295=_0x596db3[_0x33b15e(0x180)];if(!_0x239295||!_0x596db3['operationType']||!_0x596db3['functionNode'])throw CliErrors['validation'](_0x33b15e(0x13a)+_0x596db3[_0x33b15e(0x17c)]);const _0x22db50=_0x2e68b2[_0x33b15e(0x14e)]['get'](_0x239295)??_0x55b58?.['datasetCode']??_0x239295,_0x21d712=_0x2e68b2[_0x33b15e(0x159)][_0x33b15e(0x15e)](_0x22db50);if(!_0x21d712)throw CliErrors[_0x33b15e(0x17f)](_0x33b15e(0x189)+_0x239295+_0x33b15e(0x165)+('Run\x20`'+CLI_BIN_NAME+'\x20api\x20pull`\x20to\x20refresh\x20api.ts,\x20or\x20verify\x20the\x20dataset\x20exists.'));_0x2b5256['datasetId']=_0x21d712['id'],_0x2b5256[_0x33b15e(0x18b)]=_0x596db3['operationType'],_0x2b5256[_0x33b15e(0x14f)]=_0x596db3[_0x33b15e(0x14f)];}const _0xee5e99=await saveBffScript(_0x2b5256),_0x1b63c8=_0xee5e99['id'],_0x2878af=_0xee5e99[_0x33b15e(0x17a)]??await getBffScriptInfo(_0x1b63c8),_0x79f92c={'hash':_0x59d973,'remoteId':_0x1b63c8,'version':_0x2878af[_0x33b15e(0x173)]};if(_0x596db3[_0x33b15e(0x16c)]===_0x33b15e(0x179)){const _0x17c449=_0x596db3[_0x33b15e(0x180)],_0x490bb2=_0x2e68b2[_0x33b15e(0x14e)][_0x33b15e(0x15e)](_0x17c449)??_0x55b58?.[_0x33b15e(0x144)]??_0x17c449;_0x2e68b2['aliasToDatasetCode'][_0x33b15e(0x169)](_0x17c449)?_0x79f92c['alias']=_0x17c449:_0x79f92c[_0x33b15e(0x180)]=_0x55b58?.[_0x33b15e(0x180)],_0x79f92c['datasetCode']=_0x490bb2,_0x79f92c[_0x33b15e(0x18b)]=_0x596db3['operationType'],_0x79f92c[_0x33b15e(0x14f)]=_0x596db3['functionNode'];}_0x234997[_0x33b15e(0x141)][_0x596db3[_0x33b15e(0x17c)]]=_0x79f92c;}const LOCK_SETTLE_RETRY_COUNT=0x14,LOCK_SETTLE_DELAY_MS=0x64;async function waitForUploadedLockEntries(_0x5209b3,_0x57e011,_0x12245e){const _0x326e5a=a32_0x494a98;if(_0x12245e[_0x326e5a(0x154)]===0x0)return;for(let _0x23ce35=0x0;_0x23ce35<LOCK_SETTLE_RETRY_COUNT;_0x23ce35+=0x1){const _0x51dbf2=await readBffLockFile(_0x5209b3),_0x37ba98=_0x51dbf2?.['apps']?.[_0x57e011]?.[_0x326e5a(0x141)]??{},_0x4f0163=_0x12245e['every'](_0x1cfad0=>!!_0x37ba98[_0x1cfad0]?.[_0x326e5a(0x13b)]);if(_0x4f0163)return;await sleep(LOCK_SETTLE_DELAY_MS);}throw new Error(_0x326e5a(0x16a)+_0x12245e[_0x326e5a(0x160)](',\x20')+'.');}