@lovrabet/rabetbase-cli 2.2.2-beta.1 → 2.2.3-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 -0
  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_0x533661=a19_0x3223;(function(_0x402afa,_0x265b38){const _0x19a86c=a19_0x3223,_0x4d6f09=_0x402afa();while(!![]){try{const _0x2dd208=-parseInt(_0x19a86c(0x191))/0x1*(-parseInt(_0x19a86c(0x18f))/0x2)+parseInt(_0x19a86c(0x18d))/0x3+parseInt(_0x19a86c(0x196))/0x4*(parseInt(_0x19a86c(0x184))/0x5)+parseInt(_0x19a86c(0x185))/0x6*(-parseInt(_0x19a86c(0x189))/0x7)+-parseInt(_0x19a86c(0x195))/0x8+-parseInt(_0x19a86c(0x198))/0x9+parseInt(_0x19a86c(0x18b))/0xa*(parseInt(_0x19a86c(0x188))/0xb);if(_0x2dd208===_0x265b38)break;else _0x4d6f09['push'](_0x4d6f09['shift']());}catch(_0x4163a0){_0x4d6f09['push'](_0x4d6f09['shift']());}}}(a19_0x315f,0x4230f));import{listRemoteApps}from'../../core/api-client.js';function a19_0x315f(){const _0xcca30f=['appName','6oJnUqo','appDesc','80890UbLTJu','map','app','List\x20apps\x20available\x20on\x20the\x20platform\x20for\x20the\x20current\x20login','3511424blNbMT','4PmJRBd','../../core/api-client.js','2653794XLoCDn','2053755oQthBr','24PacVFm','appCode','remote','38907SLlFZu','474369pjpHlu','read','1480FxPhSf','cookie','297252ZRJwvM'];a19_0x315f=function(){return _0xcca30f;};return a19_0x315f();}function a19_0x3223(_0xbed27f,_0x42d74b){_0xbed27f=_0xbed27f-0x184;const _0x315f50=a19_0x315f();let _0x322395=_0x315f50[_0xbed27f];return _0x322395;}async function execute(_0x26c823){const _0xa5c3fd=a19_0x3223,{setActiveCookie:_0x2df3b5}=await import(_0xa5c3fd(0x197));_0x2df3b5(_0x26c823[_0xa5c3fd(0x18c)]);const _0x559dc3=await listRemoteApps();return{'ok':!![],'data':{'items':_0x559dc3[_0xa5c3fd(0x192)](_0x231667=>({..._0x231667['id']!=null?{'id':_0x231667['id']}:{},'appCode':_0x231667[_0xa5c3fd(0x186)],'appName':_0x231667[_0xa5c3fd(0x18e)],..._0x231667[_0xa5c3fd(0x190)]!=null?{'appDesc':_0x231667[_0xa5c3fd(0x190)]}:{}})),'meta':{'source':'platform'}}};}export const appRemoteDefinition={'service':a19_0x533661(0x193),'command':a19_0x533661(0x187),'description':a19_0x533661(0x194),'risk':a19_0x533661(0x18a),'requiresAuth':!![],'requiresAppCode':![],'flags':[],'execute':execute};
1
+ const a19_0x345931=a19_0x5d72;function a19_0x5d72(_0x383901,_0x11a2ef){_0x383901=_0x383901-0x6b;const _0x5a9fc4=a19_0x5a9f();let _0x5d72e5=_0x5a9fc4[_0x383901];return _0x5d72e5;}function a19_0x5a9f(){const _0x1babe1=['12jRdblR','1802133IqJBer','164gWUXqf','../../core/api-client.js','app','3823239gKZtCz','appDesc','21180252szrVyx','appCode','14523360rmpHMd','380zfmROx','9228syevCj','platform','22WtAPnv','cookie','9754866LmbXJY','16Fcmqkm','13223qUwUZs','List\x20apps\x20available\x20on\x20the\x20platform\x20for\x20the\x20current\x20login'];a19_0x5a9f=function(){return _0x1babe1;};return a19_0x5a9f();}(function(_0x484e16,_0x490862){const _0x2a2cd7=a19_0x5d72,_0x406655=_0x484e16();while(!![]){try{const _0x9819af=parseInt(_0x2a2cd7(0x7c))/0x1*(parseInt(_0x2a2cd7(0x6d))/0x2)+-parseInt(_0x2a2cd7(0x6c))/0x3*(-parseInt(_0x2a2cd7(0x6b))/0x4)+parseInt(_0x2a2cd7(0x75))/0x5*(parseInt(_0x2a2cd7(0x76))/0x6)+parseInt(_0x2a2cd7(0x70))/0x7*(-parseInt(_0x2a2cd7(0x7b))/0x8)+parseInt(_0x2a2cd7(0x7a))/0x9+parseInt(_0x2a2cd7(0x74))/0xa+parseInt(_0x2a2cd7(0x78))/0xb*(-parseInt(_0x2a2cd7(0x72))/0xc);if(_0x9819af===_0x490862)break;else _0x406655['push'](_0x406655['shift']());}catch(_0x245a90){_0x406655['push'](_0x406655['shift']());}}}(a19_0x5a9f,0xdfe81));import{listRemoteApps}from'../../core/api-client.js';async function execute(_0x486698){const _0x5c47ca=a19_0x5d72,{setActiveCookie:_0x2bb368}=await import(_0x5c47ca(0x6e));_0x2bb368(_0x486698[_0x5c47ca(0x79)]);const _0xf1797=await listRemoteApps();return{'ok':!![],'data':{'items':_0xf1797['map'](_0x275ec4=>({..._0x275ec4['id']!=null?{'id':_0x275ec4['id']}:{},'appCode':_0x275ec4[_0x5c47ca(0x73)],'appName':_0x275ec4['appName'],..._0x275ec4[_0x5c47ca(0x71)]!=null?{'appDesc':_0x275ec4[_0x5c47ca(0x71)]}:{}})),'meta':{'source':_0x5c47ca(0x77)}}};}export const appRemoteDefinition={'service':a19_0x345931(0x6f),'command':'remote','description':a19_0x345931(0x7d),'risk':'read','requiresAuth':!![],'requiresAppCode':![],'flags':[],'execute':execute};
@@ -1 +1 @@
1
- (function(_0x4a56c7,_0x31f194){const _0x5ce36c=a20_0x1207,_0x2fca64=_0x4a56c7();while(!![]){try{const _0x535a9c=parseInt(_0x5ce36c(0x8b))/0x1+-parseInt(_0x5ce36c(0x89))/0x2+parseInt(_0x5ce36c(0x83))/0x3+-parseInt(_0x5ce36c(0x84))/0x4*(parseInt(_0x5ce36c(0x85))/0x5)+parseInt(_0x5ce36c(0x8c))/0x6*(parseInt(_0x5ce36c(0x86))/0x7)+parseInt(_0x5ce36c(0x88))/0x8+parseInt(_0x5ce36c(0x8a))/0x9*(parseInt(_0x5ce36c(0x87))/0xa);if(_0x535a9c===_0x31f194)break;else _0x2fca64['push'](_0x2fca64['shift']());}catch(_0x2c1407){_0x2fca64['push'](_0x2fca64['shift']());}}}(a20_0x30a5,0x808b2));import{appListDefinition}from'../../commands/app/list.js';function a20_0x30a5(){const _0x1b5a3f=['1323GJIAVD','82502NZPamc','72144xljbXF','1272561ZRdLRg','116056wNAwKz','140CyUJbQ','525FNMgaw','6550Momrjk','6138672NKYmxj','1866404WzbpzC'];a20_0x30a5=function(){return _0x1b5a3f;};return a20_0x30a5();}import{appRemoteDefinition}from'../../commands/app/discover.js';function a20_0x1207(_0xed70d6,_0x566ddb){_0xed70d6=_0xed70d6-0x83;const _0x30a5d0=a20_0x30a5();let _0x12077b=_0x30a5d0[_0xed70d6];return _0x12077b;}import{appUseDefinition}from'../../commands/app/use.js';import{appAddDefinition}from'../../commands/app/add.js';import{appRemoveDefinition}from'../../commands/app/remove.js';export const appDefinitions=[appListDefinition,appRemoteDefinition,appUseDefinition,appAddDefinition,appRemoveDefinition];
1
+ function a20_0x934a(){const _0x4a8b08=['6585395UwibqL','4314258MGroBr','871961cmQOqx','4931127NcXjJj','29599507iWbgbf','2411084OpzQeL','780276KBWYRU'];a20_0x934a=function(){return _0x4a8b08;};return a20_0x934a();}(function(_0x1b552a,_0x361a96){const _0x310867=a20_0x4d3c,_0x43d257=_0x1b552a();while(!![]){try{const _0x35da90=-parseInt(_0x310867(0xf0))/0x1+-parseInt(_0x310867(0xf3))/0x2+-parseInt(_0x310867(0xf1))/0x3+-parseInt(_0x310867(0xf4))/0x4+parseInt(_0x310867(0xf5))/0x5+-parseInt(_0x310867(0xef))/0x6+parseInt(_0x310867(0xf2))/0x7;if(_0x35da90===_0x361a96)break;else _0x43d257['push'](_0x43d257['shift']());}catch(_0x2d3164){_0x43d257['push'](_0x43d257['shift']());}}}(a20_0x934a,0xde3b0));import{appListDefinition}from'../../commands/app/list.js';import{appRemoteDefinition}from'../../commands/app/discover.js';import{appUseDefinition}from'../../commands/app/use.js';import{appAddDefinition}from'../../commands/app/add.js';import{appRemoveDefinition}from'../../commands/app/remove.js';function a20_0x4d3c(_0xca2b13,_0x2dc4ab){_0xca2b13=_0xca2b13-0xef;const _0x934ad8=a20_0x934a();let _0x4d3c8c=_0x934ad8[_0xca2b13];return _0x4d3c8c;}export const appDefinitions=[appListDefinition,appRemoteDefinition,appUseDefinition,appAddDefinition,appRemoveDefinition];
@@ -1 +1 @@
1
- const a21_0xead002=a21_0x1bed;(function(_0xcc560f,_0x15fbf2){const _0x2caf70=a21_0x1bed,_0x2fcbe9=_0xcc560f();while(!![]){try{const _0x1ae558=-parseInt(_0x2caf70(0x160))/0x1+parseInt(_0x2caf70(0x159))/0x2+parseInt(_0x2caf70(0x15a))/0x3*(parseInt(_0x2caf70(0x14b))/0x4)+-parseInt(_0x2caf70(0x163))/0x5+parseInt(_0x2caf70(0x167))/0x6*(-parseInt(_0x2caf70(0x169))/0x7)+-parseInt(_0x2caf70(0x14c))/0x8+parseInt(_0x2caf70(0x164))/0x9*(parseInt(_0x2caf70(0x14d))/0xa);if(_0x1ae558===_0x15fbf2)break;else _0x2fcbe9['push'](_0x2fcbe9['shift']());}catch(_0x507b61){_0x2fcbe9['push'](_0x2fcbe9['shift']());}}}(a21_0xdfc7,0xae1d9));import{readRawConfigWithLayers}from'../../context.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{buildAppProfileListFields}from'../../config/schema.js';function a21_0x1bed(_0x16f74c,_0x5643d0){_0x16f74c=_0x16f74c-0x145;const _0xdfc75c=a21_0xdfc7();let _0x1bed42=_0xdfc75c[_0x16f74c];return _0x1bed42;}import{appDefinedIn,enrichAppListItemsWithMergedSelection,resolveDefaultAppSource}from'../../commands/app/shared.js';function buildItemsFromLayer(_0x303798,_0x3dcf7d){const _0x20db67=a21_0x1bed,_0x51a44b=[],_0x3424c7=_0x303798[_0x20db67(0x147)]&&typeof _0x303798[_0x20db67(0x147)]===_0x20db67(0x148)?_0x303798[_0x20db67(0x147)]:{},_0x101e7a=_0x303798['defaultApp']||undefined;for(const [_0xeb1ff9,_0x7ef364]of Object[_0x20db67(0x158)](_0x3424c7)){if(!_0x7ef364||typeof _0x7ef364!==_0x20db67(0x148)||!_0x7ef364[_0x20db67(0x151)])continue;_0x51a44b[_0x20db67(0x155)]({'name':_0xeb1ff9,'appcode':_0x7ef364[_0x20db67(0x151)],'named':!![],'definedIn':_0x3dcf7d,'isDefault':_0xeb1ff9===_0x101e7a,...buildAppProfileListFields(_0x7ef364)});}return _0x51a44b;}function buildMergedItems(_0x3fbdd9,_0xb9cfbd){const _0x2c01e7=a21_0x1bed,{apps:apps={},defaultApp:_0xcd6c85}=_0x3fbdd9,_0x4796ad=_0xb9cfbd[_0x2c01e7(0x168)]['apps']&&typeof _0xb9cfbd[_0x2c01e7(0x168)]['apps']===_0x2c01e7(0x148)?_0xb9cfbd[_0x2c01e7(0x168)][_0x2c01e7(0x147)]:{},_0x54b3bd=_0xb9cfbd[_0x2c01e7(0x152)][_0x2c01e7(0x147)]&&typeof _0xb9cfbd[_0x2c01e7(0x152)]['apps']===_0x2c01e7(0x148)?_0xb9cfbd[_0x2c01e7(0x152)]['apps']:{},_0x23d1a2=_0xb9cfbd[_0x2c01e7(0x152)][_0x2c01e7(0x14f)]===![],_0x2faf02=Object[_0x2c01e7(0x158)](apps),_0x5c4a42=_0x2faf02[_0x2c01e7(0x16a)](([_0x22f72f,_0x45156f])=>({'name':_0x22f72f,'appcode':_0x45156f[_0x2c01e7(0x151)],'named':!![],'definedIn':appDefinedIn(_0x22f72f,_0x4796ad,_0x54b3bd,_0x23d1a2),'isDefault':_0x22f72f===_0xcd6c85,...buildAppProfileListFields(_0x45156f)}));return _0x5c4a42;}async function execute(_0x50b467){const _0x41d787=a21_0x1bed,_0x46769b=_0x50b467['bool'](_0x41d787(0x161)),_0x22048b=_0x50b467[_0x41d787(0x146)]('project'),_0x58f3c5=_0x46769b?_0x41d787(0x161):_0x22048b?_0x41d787(0x149):_0x41d787(0x15b),{config:_0x439c11,layers:_0x4c2fc1}=readRawConfigWithLayers(),_0x28b99b=resolveDefaultAppSource(_0x4c2fc1),{defaultApp:_0x15b167}=_0x439c11;let _0x167df7,_0x1d183f;switch(_0x58f3c5){case'global':_0x167df7=buildItemsFromLayer(_0x4c2fc1[_0x41d787(0x168)],'global'),_0x1d183f=_0x4c2fc1['globalPath'];break;case'project':_0x167df7=buildItemsFromLayer(_0x4c2fc1[_0x41d787(0x152)],_0x41d787(0x149)),_0x1d183f=_0x4c2fc1[_0x41d787(0x15d)];break;default:_0x167df7=buildMergedItems(_0x439c11,_0x4c2fc1);break;}enrichAppListItemsWithMergedSelection(_0x167df7,_0x50b467[_0x41d787(0x15f)]);if(_0x167df7[_0x41d787(0x156)]===0x0){const _0x69165a=_0x58f3c5===_0x41d787(0x15b)?'':_0x41d787(0x14a)+_0x58f3c5+_0x41d787(0x165);return{'ok':!![],'data':[],'message':_0x41d787(0x154)+_0x69165a+_0x41d787(0x14e)+CLI_BIN_NAME+'\x20app\x20add\x20<name>\x20--appcode\x20<code>`\x20to\x20add\x20one.'};}const _0x5d1d99=_0x167df7[_0x41d787(0x15e)](_0x1da833=>_0x1da833[_0x41d787(0x150)]===!![]),_0x277543=_0x15b167??_0x5d1d99?.[_0x41d787(0x151)]??null,_0x40bfd6=_0x58f3c5===_0x41d787(0x15b)?{'globalPath':_0x4c2fc1[_0x41d787(0x162)]??null,'projectPath':_0x4c2fc1[_0x41d787(0x15d)]??null,'defaultApp':_0x277543,'defaultAppSource':_0x15b167!=null?_0x28b99b:null}:{'scope':_0x58f3c5,'configPath':_0x1d183f??null};return{'ok':!![],'data':{'items':_0x167df7,'meta':_0x40bfd6}};}function a21_0xdfc7(){const _0x2cceab=['find','mergedCli','1307739NbYQHU','global','globalPath','6603890nklxHp','2904921PpiOWn','\x20config','app','627162tqitNK','globalConfig','21UTiZcQ','map','Show\x20only\x20apps\x20from\x20global\x20~/.rabetbase.json','bool','apps','object','project','\x20in\x20','196YLbSJZ','7634456dYJGhe','70vzSVzI','.\x20Use\x20`','inherit','isCurrent','appcode','projectConfig','list','No\x20apps\x20configured','push','length','read','entries','2499220XDUjYg','67383vJLACK','merged','boolean','projectPath'];a21_0xdfc7=function(){return _0x2cceab;};return a21_0xdfc7();}export const appListDefinition={'service':a21_0xead002(0x166),'command':a21_0xead002(0x153),'description':'List\x20all\x20configured\x20apps','risk':a21_0xead002(0x157),'requiresAuth':![],'requiresAppCode':![],'flags':[{'name':a21_0xead002(0x161),'type':a21_0xead002(0x15c),'description':a21_0xead002(0x145),'default':![]},{'name':a21_0xead002(0x149),'type':'boolean','description':'Show\x20only\x20apps\x20from\x20project\x20.rabetbase.json','default':![]}],'execute':execute};
1
+ const a21_0x9bf46d=a21_0x1778;function a21_0x57fe(){const _0x24d9ab=['28378xkwfqT','22020sDoxMX','No\x20apps\x20configured','isCurrent','object','2hsrbbI','globalPath','\x20config','project','globalConfig','109150ACvPUt','length','9ptJYui','entries','mergedCli','global','appcode','app','88578IwgzfJ','330FeMlzz','598800YWsXDH','351920LBZDdj','apps','Show\x20only\x20apps\x20from\x20global\x20~/.rabetbase.json','push','bool','.\x20Use\x20`','inherit','read','projectPath','81071pfwvUU','merged','defaultApp','projectConfig'];a21_0x57fe=function(){return _0x24d9ab;};return a21_0x57fe();}(function(_0xe52374,_0x1f512c){const _0x4b8542=a21_0x1778,_0x229643=_0xe52374();while(!![]){try{const _0x1977e6=-parseInt(_0x4b8542(0xa5))/0x1*(-parseInt(_0x4b8542(0xae))/0x2)+parseInt(_0x4b8542(0xbb))/0x3+-parseInt(_0x4b8542(0xbd))/0x4+-parseInt(_0x4b8542(0xb3))/0x5+parseInt(_0x4b8542(0xbc))/0x6*(parseInt(_0x4b8542(0xa9))/0x7)+-parseInt(_0x4b8542(0xbe))/0x8+parseInt(_0x4b8542(0xb5))/0x9*(-parseInt(_0x4b8542(0xaa))/0xa);if(_0x1977e6===_0x1f512c)break;else _0x229643['push'](_0x229643['shift']());}catch(_0x1cc065){_0x229643['push'](_0x229643['shift']());}}}(a21_0x57fe,0x1c485));import{readRawConfigWithLayers}from'../../context.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{buildAppProfileListFields}from'../../config/schema.js';function a21_0x1778(_0x13f609,_0x31540e){_0x13f609=_0x13f609-0xa3;const _0x57fe11=a21_0x57fe();let _0x177837=_0x57fe11[_0x13f609];return _0x177837;}import{appDefinedIn,enrichAppListItemsWithMergedSelection,resolveDefaultAppSource}from'../../commands/app/shared.js';function buildItemsFromLayer(_0x3327ec,_0xdfcaa2){const _0x4073cf=a21_0x1778,_0x454447=[],_0x2947ae=_0x3327ec[_0x4073cf(0xbf)]&&typeof _0x3327ec[_0x4073cf(0xbf)]===_0x4073cf(0xad)?_0x3327ec['apps']:{},_0x4efe06=_0x3327ec[_0x4073cf(0xa7)]||undefined;for(const [_0x451edc,_0x287054]of Object[_0x4073cf(0xb6)](_0x2947ae)){if(!_0x287054||typeof _0x287054!==_0x4073cf(0xad)||!_0x287054[_0x4073cf(0xb9)])continue;_0x454447[_0x4073cf(0xc1)]({'name':_0x451edc,'appcode':_0x287054['appcode'],'named':!![],'definedIn':_0xdfcaa2,'isDefault':_0x451edc===_0x4efe06,...buildAppProfileListFields(_0x287054)});}return _0x454447;}function buildMergedItems(_0x305f04,_0x4e8940){const _0x35fc25=a21_0x1778,{apps:apps={},defaultApp:_0x1bee46}=_0x305f04,_0x5de663=_0x4e8940[_0x35fc25(0xb2)][_0x35fc25(0xbf)]&&typeof _0x4e8940[_0x35fc25(0xb2)]['apps']===_0x35fc25(0xad)?_0x4e8940[_0x35fc25(0xb2)][_0x35fc25(0xbf)]:{},_0x578a68=_0x4e8940[_0x35fc25(0xa8)][_0x35fc25(0xbf)]&&typeof _0x4e8940[_0x35fc25(0xa8)][_0x35fc25(0xbf)]===_0x35fc25(0xad)?_0x4e8940['projectConfig'][_0x35fc25(0xbf)]:{},_0x5c5426=_0x4e8940[_0x35fc25(0xa8)][_0x35fc25(0xc4)]===![],_0x176068=Object['entries'](apps),_0x1c3de7=_0x176068['map'](([_0x3f7422,_0x4a8468])=>({'name':_0x3f7422,'appcode':_0x4a8468['appcode'],'named':!![],'definedIn':appDefinedIn(_0x3f7422,_0x5de663,_0x578a68,_0x5c5426),'isDefault':_0x3f7422===_0x1bee46,...buildAppProfileListFields(_0x4a8468)}));return _0x1c3de7;}async function execute(_0x355733){const _0x59bbc5=a21_0x1778,_0x40bc94=_0x355733[_0x59bbc5(0xc2)](_0x59bbc5(0xb8)),_0x2cf985=_0x355733[_0x59bbc5(0xc2)](_0x59bbc5(0xb1)),_0xc76c62=_0x40bc94?_0x59bbc5(0xb8):_0x2cf985?'project':_0x59bbc5(0xa6),{config:_0x19251e,layers:_0x392f3b}=readRawConfigWithLayers(),_0x4801f2=resolveDefaultAppSource(_0x392f3b),{defaultApp:_0x4244f7}=_0x19251e;let _0x1acde3,_0x3bf46d;switch(_0xc76c62){case _0x59bbc5(0xb8):_0x1acde3=buildItemsFromLayer(_0x392f3b['globalConfig'],_0x59bbc5(0xb8)),_0x3bf46d=_0x392f3b[_0x59bbc5(0xaf)];break;case'project':_0x1acde3=buildItemsFromLayer(_0x392f3b[_0x59bbc5(0xa8)],'project'),_0x3bf46d=_0x392f3b[_0x59bbc5(0xa4)];break;default:_0x1acde3=buildMergedItems(_0x19251e,_0x392f3b);break;}enrichAppListItemsWithMergedSelection(_0x1acde3,_0x355733[_0x59bbc5(0xb7)]);if(_0x1acde3[_0x59bbc5(0xb4)]===0x0){const _0x4a58f3=_0xc76c62===_0x59bbc5(0xa6)?'':'\x20in\x20'+_0xc76c62+_0x59bbc5(0xb0);return{'ok':!![],'data':[],'message':_0x59bbc5(0xab)+_0x4a58f3+_0x59bbc5(0xc3)+CLI_BIN_NAME+'\x20app\x20add\x20<name>\x20--appcode\x20<code>`\x20to\x20add\x20one.'};}const _0x8598a5=_0x1acde3['find'](_0x298b87=>_0x298b87[_0x59bbc5(0xac)]===!![]),_0xbf2df5=_0x4244f7??_0x8598a5?.['appcode']??null,_0x158ba4=_0xc76c62==='merged'?{'globalPath':_0x392f3b['globalPath']??null,'projectPath':_0x392f3b[_0x59bbc5(0xa4)]??null,'defaultApp':_0xbf2df5,'defaultAppSource':_0x4244f7!=null?_0x4801f2:null}:{'scope':_0xc76c62,'configPath':_0x3bf46d??null};return{'ok':!![],'data':{'items':_0x1acde3,'meta':_0x158ba4}};}export const appListDefinition={'service':a21_0x9bf46d(0xba),'command':'list','description':'List\x20all\x20configured\x20apps','risk':a21_0x9bf46d(0xa3),'requiresAuth':![],'requiresAppCode':![],'flags':[{'name':a21_0x9bf46d(0xb8),'type':'boolean','description':a21_0x9bf46d(0xc0),'default':![]},{'name':a21_0x9bf46d(0xb1),'type':'boolean','description':'Show\x20only\x20apps\x20from\x20project\x20.rabetbase.json','default':![]}],'execute':execute};
@@ -1 +1 @@
1
- const a22_0x340396=a22_0x5efa;(function(_0x562a75,_0x2ce35a){const _0x331e6b=a22_0x5efa,_0xd3a56e=_0x562a75();while(!![]){try{const _0x5adcda=-parseInt(_0x331e6b(0xd1))/0x1+-parseInt(_0x331e6b(0xcd))/0x2*(parseInt(_0x331e6b(0xc6))/0x3)+-parseInt(_0x331e6b(0xb9))/0x4+parseInt(_0x331e6b(0xcb))/0x5*(parseInt(_0x331e6b(0xb6))/0x6)+parseInt(_0x331e6b(0xc5))/0x7*(parseInt(_0x331e6b(0xac))/0x8)+parseInt(_0x331e6b(0xbb))/0x9*(parseInt(_0x331e6b(0xb3))/0xa)+parseInt(_0x331e6b(0xc3))/0xb*(parseInt(_0x331e6b(0xca))/0xc);if(_0x5adcda===_0x2ce35a)break;else _0xd3a56e['push'](_0xd3a56e['shift']());}catch(_0x16f3fe){_0xd3a56e['push'](_0xd3a56e['shift']());}}}(a22_0x13db,0xb84f1));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{readRawConfigWithLayers}from'../../context.js';function a22_0x13db(){const _0x325ac4=['defaultApp','App\x20\x22','147209DjLyZt','\x20Note:\x20app\x20\x22','6805688rcDxkY','boolean','Missing\x20app\x20name.','Removed\x20app\x20\x22','trim','project','remove','4745140FJXsCx','\x22\x20not\x20found.','object','4656558NRxBod','global','\x22\x20still\x20defined\x20in\x20','2115592MjJMKJ','\x20app\x20remove\x20<name>\x20[--global]','9UEtaBL','high-risk-write','\x20config.','validation','args','apps','\x20Default\x20app\x20changed\x20to\x20\x22','keys','7447NJMWpp','inherit','7MdjUJd','1137QKogMf','projectConfig','name','Usage:\x20','10980JkgJqL','5waklXk','globalConfig','6806Sozdab','length'];a22_0x13db=function(){return _0x325ac4;};return a22_0x13db();}import{readConfig,writeConfig,scopeLabel,resolveAppScopeForWrite,appDefinedIn}from'../../commands/app/shared.js';async function validateArgs(_0xa0196d){const _0x6c14d1=a22_0x5efa,_0x844c6d=_0xa0196d[_0x6c14d1(0xbf)][0x0]?.[_0x6c14d1(0xb0)]();if(!_0x844c6d)throw CliErrors[_0x6c14d1(0xbe)](_0x6c14d1(0xae),_0x6c14d1(0xc9)+CLI_BIN_NAME+_0x6c14d1(0xba));}function a22_0x5efa(_0x107cda,_0x590beb){_0x107cda=_0x107cda-0xac;const _0x13dbc5=a22_0x13db();let _0x5efa75=_0x13dbc5[_0x107cda];return _0x5efa75;}async function execute(_0x1dc688){const _0x3bffd8=a22_0x5efa,_0x18cba8=_0x1dc688['args'][0x0]?.[_0x3bffd8(0xb0)]();if(!_0x18cba8)throw CliErrors['validation']('Missing\x20app\x20name.',_0x3bffd8(0xc9)+CLI_BIN_NAME+_0x3bffd8(0xba));const _0x76abc=_0x1dc688['bool'](_0x3bffd8(0xb7)),{config:_0x398f54,layers:_0x466bc2}=readRawConfigWithLayers(),_0x3ad877=_0x398f54[_0x3bffd8(0xc0)]??{};if(!_0x3ad877[_0x18cba8])throw CliErrors['validation'](_0x3bffd8(0xd0)+_0x18cba8+_0x3bffd8(0xb4));const _0x1b031d=_0x466bc2[_0x3bffd8(0xcc)]['apps']&&typeof _0x466bc2[_0x3bffd8(0xcc)][_0x3bffd8(0xc0)]===_0x3bffd8(0xb5)?_0x466bc2['globalConfig'][_0x3bffd8(0xc0)]:{},_0xf18d4d=_0x466bc2[_0x3bffd8(0xc7)][_0x3bffd8(0xc0)]&&typeof _0x466bc2[_0x3bffd8(0xc7)][_0x3bffd8(0xc0)]===_0x3bffd8(0xb5)?_0x466bc2[_0x3bffd8(0xc7)][_0x3bffd8(0xc0)]:{},_0x47bc0e=appDefinedIn(_0x18cba8,_0x1b031d,_0xf18d4d,_0x466bc2[_0x3bffd8(0xc7)][_0x3bffd8(0xc4)]===![]),_0x1ef720=resolveAppScopeForWrite(_0x18cba8,_0x76abc,_0x466bc2),_0x33ddb8={'global':_0x1ef720===_0x3bffd8(0xb7)},_0x17eb71=readConfig(_0x33ddb8),_0x48853f=_0x17eb71[_0x3bffd8(0xc0)];if(!_0x48853f||!_0x48853f[_0x18cba8])throw CliErrors['validation'](_0x3bffd8(0xd0)+_0x18cba8+_0x3bffd8(0xb4));delete _0x48853f[_0x18cba8];let _0xf5c818='';if(_0x17eb71[_0x3bffd8(0xcf)]===_0x18cba8){const _0x3ea4a3=Object[_0x3bffd8(0xc2)](_0x48853f);_0x17eb71[_0x3bffd8(0xcf)]=_0x3ea4a3['length']>0x0?_0x3ea4a3[0x0]:undefined,_0x17eb71[_0x3bffd8(0xcf)]?_0xf5c818=_0x3bffd8(0xc1)+_0x17eb71['defaultApp']+'\x22.':delete _0x17eb71[_0x3bffd8(0xcf)];}Object[_0x3bffd8(0xc2)](_0x48853f)[_0x3bffd8(0xce)]===0x0&&(delete _0x17eb71[_0x3bffd8(0xc0)],delete _0x17eb71['defaultApp']);writeConfig(_0x17eb71,_0x33ddb8);const _0x42ac22=_0x47bc0e==='both'?_0x3bffd8(0xd2)+_0x18cba8+_0x3bffd8(0xb8)+(_0x1ef720===_0x3bffd8(0xb1)?_0x3bffd8(0xb7):_0x3bffd8(0xb1))+_0x3bffd8(0xbd):'';return{'ok':!![],'message':_0x3bffd8(0xaf)+_0x18cba8+'\x22'+scopeLabel(_0x33ddb8)+'.'+_0xf5c818+_0x42ac22};}export const appRemoveDefinition={'service':'app','command':a22_0x340396(0xb2),'description':'Remove\x20an\x20app\x20from\x20config','risk':a22_0x340396(0xbc),'requiresAuth':![],'requiresAppCode':![],'args':[{'name':a22_0x340396(0xc8),'description':'App\x20profile\x20name\x20to\x20remove','required':!![]}],'flags':[{'name':a22_0x340396(0xb7),'type':a22_0x340396(0xad),'description':'Use\x20global\x20config\x20scope','default':![]}],'validate':validateArgs,'execute':execute};
1
+ const a22_0x53bace=a22_0x5f30;(function(_0x4def36,_0x83e704){const _0x58366f=a22_0x5f30,_0x24e4ed=_0x4def36();while(!![]){try{const _0x44ed36=parseInt(_0x58366f(0xf4))/0x1*(parseInt(_0x58366f(0x113))/0x2)+parseInt(_0x58366f(0x104))/0x3*(parseInt(_0x58366f(0xf5))/0x4)+parseInt(_0x58366f(0x10f))/0x5*(parseInt(_0x58366f(0xfd))/0x6)+-parseInt(_0x58366f(0xfc))/0x7+parseInt(_0x58366f(0x107))/0x8+-parseInt(_0x58366f(0x100))/0x9*(-parseInt(_0x58366f(0xf6))/0xa)+-parseInt(_0x58366f(0xef))/0xb;if(_0x44ed36===_0x83e704)break;else _0x24e4ed['push'](_0x24e4ed['shift']());}catch(_0x5d4dd3){_0x24e4ed['push'](_0x24e4ed['shift']());}}}(a22_0x263c,0xac19f));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';function a22_0x5f30(_0x47beaa,_0x43d137){_0x47beaa=_0x47beaa-0xef;const _0x263cef=a22_0x263c();let _0x5f304c=_0x263cef[_0x47beaa];return _0x5f304c;}function a22_0x263c(){const _0x305770=['Use\x20global\x20config\x20scope','validation','bool','projectConfig','Usage:\x20','565glPDcM','project','\x20config.','\x20Default\x20app\x20changed\x20to\x20\x22','7186QaJPRv','keys','11561550KKlWJz','trim','global','\x20app\x20remove\x20<name>\x20[--global]','App\x20\x22','84aiuSRK','4DfISSm','40760lExeZq','apps','Removed\x20app\x20\x22','name','defaultApp','object','5837790IVKrFY','29622GkCCwp','\x22\x20not\x20found.','length','1575HRfPtr','remove','Missing\x20app\x20name.','inherit','2497008zuLrFo','both','App\x20profile\x20name\x20to\x20remove','1476944AUvCSY','app','globalConfig'];a22_0x263c=function(){return _0x305770;};return a22_0x263c();}import{readRawConfigWithLayers}from'../../context.js';import{readConfig,writeConfig,scopeLabel,resolveAppScopeForWrite,appDefinedIn}from'../../commands/app/shared.js';async function validateArgs(_0x5e3185){const _0x24fd93=a22_0x5f30,_0x5d20f3=_0x5e3185['args'][0x0]?.[_0x24fd93(0xf0)]();if(!_0x5d20f3)throw CliErrors[_0x24fd93(0x10b)](_0x24fd93(0x102),'Usage:\x20'+CLI_BIN_NAME+_0x24fd93(0xf2));}async function execute(_0x25e1b7){const _0x13afc3=a22_0x5f30,_0xf48d8f=_0x25e1b7['args'][0x0]?.['trim']();if(!_0xf48d8f)throw CliErrors[_0x13afc3(0x10b)](_0x13afc3(0x102),_0x13afc3(0x10e)+CLI_BIN_NAME+_0x13afc3(0xf2));const _0x86604a=_0x25e1b7[_0x13afc3(0x10c)](_0x13afc3(0xf1)),{config:_0x360cbe,layers:_0xfc130f}=readRawConfigWithLayers(),_0xeed9bd=_0x360cbe['apps']??{};if(!_0xeed9bd[_0xf48d8f])throw CliErrors[_0x13afc3(0x10b)](_0x13afc3(0xf3)+_0xf48d8f+'\x22\x20not\x20found.');const _0x37910d=_0xfc130f[_0x13afc3(0x109)]['apps']&&typeof _0xfc130f[_0x13afc3(0x109)][_0x13afc3(0xf7)]===_0x13afc3(0xfb)?_0xfc130f['globalConfig'][_0x13afc3(0xf7)]:{},_0x94a46c=_0xfc130f[_0x13afc3(0x10d)][_0x13afc3(0xf7)]&&typeof _0xfc130f[_0x13afc3(0x10d)][_0x13afc3(0xf7)]===_0x13afc3(0xfb)?_0xfc130f[_0x13afc3(0x10d)][_0x13afc3(0xf7)]:{},_0xe5b512=appDefinedIn(_0xf48d8f,_0x37910d,_0x94a46c,_0xfc130f[_0x13afc3(0x10d)][_0x13afc3(0x103)]===![]),_0x43cb45=resolveAppScopeForWrite(_0xf48d8f,_0x86604a,_0xfc130f),_0x510166={'global':_0x43cb45===_0x13afc3(0xf1)},_0x238369=readConfig(_0x510166),_0x2db289=_0x238369[_0x13afc3(0xf7)];if(!_0x2db289||!_0x2db289[_0xf48d8f])throw CliErrors[_0x13afc3(0x10b)](_0x13afc3(0xf3)+_0xf48d8f+_0x13afc3(0xfe));delete _0x2db289[_0xf48d8f];let _0x2e2025='';if(_0x238369[_0x13afc3(0xfa)]===_0xf48d8f){const _0x172ac1=Object[_0x13afc3(0x114)](_0x2db289);_0x238369['defaultApp']=_0x172ac1[_0x13afc3(0xff)]>0x0?_0x172ac1[0x0]:undefined,_0x238369['defaultApp']?_0x2e2025=_0x13afc3(0x112)+_0x238369[_0x13afc3(0xfa)]+'\x22.':delete _0x238369[_0x13afc3(0xfa)];}Object[_0x13afc3(0x114)](_0x2db289)[_0x13afc3(0xff)]===0x0&&(delete _0x238369[_0x13afc3(0xf7)],delete _0x238369['defaultApp']);writeConfig(_0x238369,_0x510166);const _0x2ea84a=_0xe5b512===_0x13afc3(0x105)?'\x20Note:\x20app\x20\x22'+_0xf48d8f+'\x22\x20still\x20defined\x20in\x20'+(_0x43cb45===_0x13afc3(0x110)?_0x13afc3(0xf1):_0x13afc3(0x110))+_0x13afc3(0x111):'';return{'ok':!![],'message':_0x13afc3(0xf8)+_0xf48d8f+'\x22'+scopeLabel(_0x510166)+'.'+_0x2e2025+_0x2ea84a};}export const appRemoveDefinition={'service':a22_0x53bace(0x108),'command':a22_0x53bace(0x101),'description':'Remove\x20an\x20app\x20from\x20config','risk':'high-risk-write','requiresAuth':![],'requiresAppCode':![],'args':[{'name':a22_0x53bace(0xf9),'description':a22_0x53bace(0x106),'required':!![]}],'flags':[{'name':'global','type':'boolean','description':a22_0x53bace(0x10a),'default':![]}],'validate':validateArgs,'execute':execute};
@@ -1 +1 @@
1
- (function(_0x5cb799,_0x228fc8){const _0x3fa613=a23_0x8d66,_0x151244=_0x5cb799();while(!![]){try{const _0xb08e0a=parseInt(_0x3fa613(0x11f))/0x1*(parseInt(_0x3fa613(0x11e))/0x2)+parseInt(_0x3fa613(0x126))/0x3*(-parseInt(_0x3fa613(0x11c))/0x4)+-parseInt(_0x3fa613(0x123))/0x5+parseInt(_0x3fa613(0x119))/0x6*(parseInt(_0x3fa613(0x114))/0x7)+-parseInt(_0x3fa613(0x11d))/0x8*(-parseInt(_0x3fa613(0x117))/0x9)+-parseInt(_0x3fa613(0x113))/0xa*(-parseInt(_0x3fa613(0x127))/0xb)+-parseInt(_0x3fa613(0x111))/0xc*(parseInt(_0x3fa613(0x121))/0xd);if(_0xb08e0a===_0x228fc8)break;else _0x151244['push'](_0x151244['shift']());}catch(_0x7d2ecc){_0x151244['push'](_0x151244['shift']());}}}(a23_0x2341,0x6725d));import{resolveWriteConfigPath,readConfigFile,writeConfigFile}from'../../context.js';export function enrichAppListItemsWithMergedSelection(_0x26c224,_0x1fd6ab){const _0x44fda6=a23_0x8d66;if(!_0x1fd6ab)return;const _0x2a682d=_0x1fd6ab[_0x44fda6(0x116)]&&typeof _0x1fd6ab['apps']===_0x44fda6(0x10f)?_0x1fd6ab[_0x44fda6(0x116)]:{},_0x2f681f=Object['keys'](_0x2a682d)[_0x44fda6(0x12c)]>0x0;for(const _0xcb1449 of _0x26c224){_0xcb1449[_0x44fda6(0x128)]=![];}const _0xeeaf97=_0x1fd6ab[_0x44fda6(0x12b)]!=null?String(_0x1fd6ab[_0x44fda6(0x12b)])['trim']():'';if(_0x2f681f){const _0x1b3b1c=_0x1fd6ab[_0x44fda6(0x112)]??_0x1fd6ab[_0x44fda6(0x12f)];if(_0x1b3b1c)for(const _0x3e249 of _0x26c224){_0x3e249[_0x44fda6(0x110)]===!![]&&_0x3e249['name']===_0x1b3b1c&&(_0x3e249[_0x44fda6(0x128)]=!![]);}for(const _0x55cb88 of _0x26c224){if(_0x55cb88[_0x44fda6(0x110)]!==![])continue;if(_0x1fd6ab[_0x44fda6(0x12f)])continue;_0xeeaf97&&String(_0x55cb88['appcode']??'')[_0x44fda6(0x124)]()===_0xeeaf97&&(_0x55cb88[_0x44fda6(0x128)]=!![]);}return;}if(!_0xeeaf97)return;for(const _0x3cf48d of _0x26c224){String(_0x3cf48d[_0x44fda6(0x115)]??'')['trim']()===_0xeeaf97&&(_0x3cf48d[_0x44fda6(0x128)]=!![]);}}export function resolveAppScopeForWrite(_0x3dc8bf,_0x33f33f,_0x2f5e16){const _0x2863c2=a23_0x8d66;if(_0x33f33f)return'global';const _0x175ef9=_0x2f5e16[_0x2863c2(0x118)]['apps']&&typeof _0x2f5e16[_0x2863c2(0x118)][_0x2863c2(0x116)]===_0x2863c2(0x10f)?_0x2f5e16[_0x2863c2(0x118)][_0x2863c2(0x116)]:{},_0x5afde4=_0x2f5e16[_0x2863c2(0x12a)][_0x2863c2(0x116)]&&typeof _0x2f5e16['globalConfig'][_0x2863c2(0x116)]===_0x2863c2(0x10f)?_0x2f5e16[_0x2863c2(0x12a)][_0x2863c2(0x116)]:{};if(Object[_0x2863c2(0x11b)][_0x2863c2(0x129)][_0x2863c2(0x125)](_0x175ef9,_0x3dc8bf))return _0x2863c2(0x12d);if(Object['prototype'][_0x2863c2(0x129)][_0x2863c2(0x125)](_0x5afde4,_0x3dc8bf))return _0x2863c2(0x12e);return _0x2863c2(0x12d);}export function appDefinedIn(_0x18601f,_0x30f834,_0x557840,_0x266c00){const _0x3e2187=a23_0x8d66;if(_0x266c00)return Object[_0x3e2187(0x11b)][_0x3e2187(0x129)][_0x3e2187(0x125)](_0x557840,_0x18601f)?_0x3e2187(0x12d):_0x3e2187(0x12e);const _0x4091f6=Object['prototype']['hasOwnProperty'][_0x3e2187(0x125)](_0x30f834,_0x18601f),_0x2b5037=Object[_0x3e2187(0x11b)]['hasOwnProperty'][_0x3e2187(0x125)](_0x557840,_0x18601f);if(_0x4091f6&&_0x2b5037)return'both';if(_0x2b5037)return'project';return _0x3e2187(0x12e);}export function resolveDefaultAppSource(_0x4e6eca){const _0x2e5b37=a23_0x8d66,_0x3ea9b9=_0x4e6eca['projectConfig'][_0x2e5b37(0x116)]&&typeof _0x4e6eca[_0x2e5b37(0x118)]['apps']===_0x2e5b37(0x10f)?_0x4e6eca['projectConfig'][_0x2e5b37(0x116)]:{};if(_0x2e5b37(0x12f)in _0x4e6eca[_0x2e5b37(0x118)])return _0x2e5b37(0x12d);if(Object[_0x2e5b37(0x11a)](_0x3ea9b9)[_0x2e5b37(0x12c)]>0x0)return _0x2e5b37(0x12d);if(_0x4e6eca['projectConfig'][_0x2e5b37(0x122)]===![])return null;if(_0x4e6eca['globalConfig']['defaultApp'])return _0x2e5b37(0x12e);return null;}export function getConfigPath(_0x4c6bd5={}){const _0x44bf70=a23_0x8d66,_0x2bab58=_0x4c6bd5['global']?_0x44bf70(0x12e):_0x44bf70(0x12d);return resolveWriteConfigPath(_0x2bab58);}export function readConfig(_0x3ba8b0={}){return readConfigFile(getConfigPath(_0x3ba8b0));}function a23_0x8d66(_0x1ece6e,_0x22fb5e){_0x1ece6e=_0x1ece6e-0x10f;const _0x234101=a23_0x2341();let _0x8d666d=_0x234101[_0x1ece6e];return _0x8d666d;}function a23_0x2341(){const _0x25923e=['trim','call','21NZCYTx','11fJhlHJ','isCurrent','hasOwnProperty','globalConfig','appCode','length','project','global','defaultApp','object','named','12tCqhSn','currentApp','6045420awvxCl','3738hoRNOC','appcode','apps','306lfZiHR','projectConfig','2466IkwBjs','keys','prototype','378708ZSgZxn','84200JfhMiw','64772OTIEDr','2mVjnEQ','\x20(global)','358007yrvsmx','inherit','669335XgLkDi'];a23_0x2341=function(){return _0x25923e;};return a23_0x2341();}export function writeConfig(_0x3eac2c,_0x193fa3={}){writeConfigFile(getConfigPath(_0x193fa3),_0x3eac2c);}export function scopeLabel(_0x2a50e4){const _0x10185c=a23_0x8d66;return _0x2a50e4['global']?_0x10185c(0x120):'';}
1
+ (function(_0x744d19,_0x59eac2){const _0xfa3bf0=a23_0x5206,_0x589a9f=_0x744d19();while(!![]){try{const _0x36a2f9=parseInt(_0xfa3bf0(0xfd))/0x1+-parseInt(_0xfa3bf0(0x109))/0x2*(parseInt(_0xfa3bf0(0x106))/0x3)+-parseInt(_0xfa3bf0(0x111))/0x4*(-parseInt(_0xfa3bf0(0xf9))/0x5)+-parseInt(_0xfa3bf0(0xfe))/0x6*(-parseInt(_0xfa3bf0(0xfb))/0x7)+parseInt(_0xfa3bf0(0xfc))/0x8*(-parseInt(_0xfa3bf0(0xfa))/0x9)+parseInt(_0xfa3bf0(0xf7))/0xa+-parseInt(_0xfa3bf0(0x113))/0xb;if(_0x36a2f9===_0x59eac2)break;else _0x589a9f['push'](_0x589a9f['shift']());}catch(_0x3f5558){_0x589a9f['push'](_0x589a9f['shift']());}}}(a23_0x45e6,0x2697a));import{resolveWriteConfigPath,readConfigFile,writeConfigFile}from'../../context.js';export function enrichAppListItemsWithMergedSelection(_0x24b6d6,_0x518631){const _0x252bcf=a23_0x5206;if(!_0x518631)return;const _0xa49c1e=_0x518631[_0x252bcf(0x112)]&&typeof _0x518631[_0x252bcf(0x112)]===_0x252bcf(0x114)?_0x518631[_0x252bcf(0x112)]:{},_0xd94c1=Object[_0x252bcf(0x10d)](_0xa49c1e)[_0x252bcf(0x10f)]>0x0;for(const _0x45db31 of _0x24b6d6){_0x45db31['isCurrent']=![];}const _0x930f3f=_0x518631['appCode']!=null?String(_0x518631[_0x252bcf(0x100)])[_0x252bcf(0x110)]():'';if(_0xd94c1){const _0x2b5609=_0x518631[_0x252bcf(0x10c)]??_0x518631[_0x252bcf(0x103)];if(_0x2b5609)for(const _0x334d1e of _0x24b6d6){_0x334d1e[_0x252bcf(0x10e)]===!![]&&_0x334d1e[_0x252bcf(0x105)]===_0x2b5609&&(_0x334d1e['isCurrent']=!![]);}for(const _0x455cfb of _0x24b6d6){if(_0x455cfb[_0x252bcf(0x10e)]!==![])continue;if(_0x518631[_0x252bcf(0x103)])continue;_0x930f3f&&String(_0x455cfb['appcode']??'')['trim']()===_0x930f3f&&(_0x455cfb['isCurrent']=!![]);}return;}if(!_0x930f3f)return;for(const _0x60abca of _0x24b6d6){String(_0x60abca['appcode']??'')['trim']()===_0x930f3f&&(_0x60abca[_0x252bcf(0x10a)]=!![]);}}export function resolveAppScopeForWrite(_0x49da01,_0x35aabd,_0x1f8ed1){const _0x5987a0=a23_0x5206;if(_0x35aabd)return'global';const _0x1c352f=_0x1f8ed1[_0x5987a0(0x107)][_0x5987a0(0x112)]&&typeof _0x1f8ed1[_0x5987a0(0x107)][_0x5987a0(0x112)]===_0x5987a0(0x114)?_0x1f8ed1[_0x5987a0(0x107)][_0x5987a0(0x112)]:{},_0x2960dc=_0x1f8ed1[_0x5987a0(0x101)][_0x5987a0(0x112)]&&typeof _0x1f8ed1[_0x5987a0(0x101)][_0x5987a0(0x112)]===_0x5987a0(0x114)?_0x1f8ed1[_0x5987a0(0x101)][_0x5987a0(0x112)]:{};if(Object[_0x5987a0(0x116)][_0x5987a0(0x115)][_0x5987a0(0x102)](_0x1c352f,_0x49da01))return'project';if(Object['prototype'][_0x5987a0(0x115)][_0x5987a0(0x102)](_0x2960dc,_0x49da01))return _0x5987a0(0xf8);return _0x5987a0(0x108);}function a23_0x45e6(){const _0x3626d2=['prototype','1467070FRTYAi','global','367445QprkXK','221949dELlBc','12271scpSAQ','32AXlYnP','298590qQKwkj','1050ZEIQJN','\x20(global)','appCode','globalConfig','call','defaultApp','both','name','606039xnFNsM','projectConfig','project','2bVpwTw','isCurrent','inherit','currentApp','keys','named','length','trim','12vAvbPk','apps','5651888aMcuLL','object','hasOwnProperty'];a23_0x45e6=function(){return _0x3626d2;};return a23_0x45e6();}export function appDefinedIn(_0x36de38,_0x19565d,_0x21b4e6,_0x465139){const _0x327c91=a23_0x5206;if(_0x465139)return Object[_0x327c91(0x116)]['hasOwnProperty'][_0x327c91(0x102)](_0x21b4e6,_0x36de38)?_0x327c91(0x108):_0x327c91(0xf8);const _0x484824=Object[_0x327c91(0x116)][_0x327c91(0x115)][_0x327c91(0x102)](_0x19565d,_0x36de38),_0x242743=Object[_0x327c91(0x116)][_0x327c91(0x115)][_0x327c91(0x102)](_0x21b4e6,_0x36de38);if(_0x484824&&_0x242743)return _0x327c91(0x104);if(_0x242743)return _0x327c91(0x108);return'global';}export function resolveDefaultAppSource(_0x54b87d){const _0x3f7d34=a23_0x5206,_0x1aded0=_0x54b87d[_0x3f7d34(0x107)][_0x3f7d34(0x112)]&&typeof _0x54b87d[_0x3f7d34(0x107)][_0x3f7d34(0x112)]===_0x3f7d34(0x114)?_0x54b87d['projectConfig'][_0x3f7d34(0x112)]:{};if(_0x3f7d34(0x103)in _0x54b87d['projectConfig'])return'project';if(Object[_0x3f7d34(0x10d)](_0x1aded0)['length']>0x0)return _0x3f7d34(0x108);if(_0x54b87d['projectConfig'][_0x3f7d34(0x10b)]===![])return null;if(_0x54b87d[_0x3f7d34(0x101)][_0x3f7d34(0x103)])return _0x3f7d34(0xf8);return null;}function a23_0x5206(_0x1df5c3,_0x3f1c04){_0x1df5c3=_0x1df5c3-0xf7;const _0x45e6a2=a23_0x45e6();let _0x52060a=_0x45e6a2[_0x1df5c3];return _0x52060a;}export function getConfigPath(_0x5cc1ad={}){const _0x164bc9=a23_0x5206,_0x3200a6=_0x5cc1ad[_0x164bc9(0xf8)]?_0x164bc9(0xf8):_0x164bc9(0x108);return resolveWriteConfigPath(_0x3200a6);}export function readConfig(_0x49a4ce={}){return readConfigFile(getConfigPath(_0x49a4ce));}export function writeConfig(_0x5b6cbc,_0x5c822a={}){writeConfigFile(getConfigPath(_0x5c822a),_0x5b6cbc);}export function scopeLabel(_0x478b75){const _0x2c5f3c=a23_0x5206;return _0x478b75[_0x2c5f3c(0xf8)]?_0x2c5f3c(0xff):'';}
@@ -1 +1 @@
1
- const a24_0x664511=a24_0x1efd;(function(_0x4d25af,_0x24d002){const _0x32a986=a24_0x1efd,_0x142af0=_0x4d25af();while(!![]){try{const _0x7ef42=-parseInt(_0x32a986(0x142))/0x1+parseInt(_0x32a986(0x146))/0x2+parseInt(_0x32a986(0x139))/0x3+parseInt(_0x32a986(0x140))/0x4+parseInt(_0x32a986(0x13b))/0x5*(parseInt(_0x32a986(0x145))/0x6)+-parseInt(_0x32a986(0x13e))/0x7+-parseInt(_0x32a986(0x12e))/0x8;if(_0x7ef42===_0x24d002)break;else _0x142af0['push'](_0x142af0['shift']());}catch(_0x31ca6a){_0x142af0['push'](_0x142af0['shift']());}}}(a24_0x165c,0xb540f));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{readRawConfigWithLayers,isInProject}from'../../context.js';import{readConfig,writeConfig,scopeLabel}from'../../commands/app/shared.js';async function validateArgs(_0xa8292b){const _0x26ca25=a24_0x1efd,_0x1edb66=_0xa8292b[_0x26ca25(0x127)][0x0]?.[_0x26ca25(0x149)]();if(!_0x1edb66)throw CliErrors[_0x26ca25(0x144)]('Missing\x20app\x20name.','Usage:\x20'+CLI_BIN_NAME+_0x26ca25(0x137));}function a24_0x1efd(_0x518850,_0x384faa){_0x518850=_0x518850-0x125;const _0x165c2f=a24_0x165c();let _0x1efd7d=_0x165c2f[_0x518850];return _0x1efd7d;}async function execute(_0x1b02ae){const _0x4f7e90=a24_0x1efd,_0x54ab8b=_0x1b02ae[_0x4f7e90(0x127)][0x0]?.[_0x4f7e90(0x149)]();if(!_0x54ab8b)throw CliErrors['validation'](_0x4f7e90(0x129),_0x4f7e90(0x131)+CLI_BIN_NAME+_0x4f7e90(0x137));const _0x17f7c8=_0x1b02ae[_0x4f7e90(0x141)](_0x4f7e90(0x12a)),{config:_0x4bb824,layers:_0x473d3e}=readRawConfigWithLayers(),_0x333c01=_0x4bb824['apps']??{},_0x404091=_0x473d3e[_0x4f7e90(0x13c)][_0x4f7e90(0x12d)]&&typeof _0x473d3e[_0x4f7e90(0x13c)][_0x4f7e90(0x12d)]===_0x4f7e90(0x12f)?_0x473d3e[_0x4f7e90(0x13c)][_0x4f7e90(0x12d)]:{},_0x2a6bce={..._0x404091,..._0x333c01};if(!_0x2a6bce[_0x54ab8b]){const _0x180e85=Object[_0x4f7e90(0x133)](_0x2a6bce),_0x12b393=_0x180e85['length']===0x0?'Use\x20`'+CLI_BIN_NAME+_0x4f7e90(0x12c)+_0x54ab8b+'\x20--appcode\x20<code>`\x20first.':_0x4f7e90(0x132)+_0x180e85['join'](',\x20');throw CliErrors[_0x4f7e90(0x144)]('App\x20\x22'+_0x54ab8b+_0x4f7e90(0x148),_0x12b393);}let _0x2e9445,_0x1d2c9f='';if(_0x17f7c8)_0x2e9445={'global':!![]};else{const _0x12ac3d=isInProject()&&!!_0x473d3e['projectPath'];_0x2e9445={'global':!_0x12ac3d};}const _0x47428a=readConfig(_0x2e9445);_0x47428a[_0x4f7e90(0x13a)]=_0x54ab8b;if(!_0x2e9445[_0x4f7e90(0x12a)]){const _0x2815e1=_0x47428a[_0x4f7e90(0x12d)]&&typeof _0x47428a[_0x4f7e90(0x12d)]===_0x4f7e90(0x12f)?_0x47428a[_0x4f7e90(0x12d)]:{};!Object[_0x4f7e90(0x126)][_0x4f7e90(0x12b)][_0x4f7e90(0x143)](_0x2815e1,_0x54ab8b)&&(_0x47428a['apps']={..._0x2815e1,[_0x54ab8b]:_0x2a6bce[_0x54ab8b]},_0x1d2c9f=_0x4f7e90(0x13f)+_0x54ab8b+_0x4f7e90(0x135));}return writeConfig(_0x47428a,_0x2e9445),{'ok':!![],'message':_0x4f7e90(0x125)+_0x54ab8b+_0x4f7e90(0x13d)+_0x2a6bce[_0x54ab8b]['appcode']+')'+scopeLabel(_0x2e9445)+_0x1d2c9f};}export const appUseDefinition={'service':a24_0x664511(0x128),'command':a24_0x664511(0x14a),'description':a24_0x664511(0x130),'risk':a24_0x664511(0x138),'requiresAuth':![],'requiresAppCode':![],'args':[{'name':'name','description':a24_0x664511(0x136),'required':!![]}],'flags':[{'name':a24_0x664511(0x12a),'type':a24_0x664511(0x134),'description':a24_0x664511(0x147),'default':![]}],'validate':validateArgs,'execute':execute};function a24_0x165c(){const _0x222714=['2212266OZdmnK','\x0aNote:\x20\x22','3986712MnjKqc','bool','1334764dmNygR','call','validation','6JLcYGK','678866NNnLmE','Use\x20global\x20config\x20scope','\x22\x20not\x20found.','trim','use','Default\x20app\x20set\x20to\x20\x22','prototype','args','app','Missing\x20app\x20name.','global','hasOwnProperty','\x20app\x20add\x20','apps','4318856KJsGxz','object','Switch\x20the\x20default\x20app','Usage:\x20','Available:\x20','keys','boolean','\x22\x20was\x20defined\x20in\x20global\x20config;\x20profile\x20copied\x20into\x20project\x20so\x20the\x20project\x20config\x20self-resolves\x20under\x20the\x20default\x20project-first\x20inherit\x20policy.','App\x20profile\x20name\x20to\x20activate','\x20app\x20use\x20<name>\x20[--global]','write','2652678wgVgtV','defaultApp','3563685Ucxwrc','globalConfig','\x22\x20(appcode:\x20'];a24_0x165c=function(){return _0x222714;};return a24_0x165c();}
1
+ const a24_0x17daff=a24_0x50ea;(function(_0x3ecee6,_0x2734f2){const _0x565a06=a24_0x50ea,_0x4377e9=_0x3ecee6();while(!![]){try{const _0x32978c=-parseInt(_0x565a06(0x1cc))/0x1*(-parseInt(_0x565a06(0x1e5))/0x2)+parseInt(_0x565a06(0x1d8))/0x3*(-parseInt(_0x565a06(0x1e2))/0x4)+parseInt(_0x565a06(0x1ca))/0x5+parseInt(_0x565a06(0x1e8))/0x6*(-parseInt(_0x565a06(0x1c9))/0x7)+parseInt(_0x565a06(0x1e4))/0x8*(parseInt(_0x565a06(0x1c5))/0x9)+-parseInt(_0x565a06(0x1d7))/0xa*(-parseInt(_0x565a06(0x1ed))/0xb)+-parseInt(_0x565a06(0x1ef))/0xc;if(_0x32978c===_0x2734f2)break;else _0x4377e9['push'](_0x4377e9['shift']());}catch(_0x521de5){_0x4377e9['push'](_0x4377e9['shift']());}}}(a24_0x1fb8,0xeec12));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{readRawConfigWithLayers,isInProject}from'../../context.js';import{readConfig,writeConfig,scopeLabel}from'../../commands/app/shared.js';async function validateArgs(_0x54fc16){const _0x37123a=a24_0x50ea,_0x3b5f66=_0x54fc16[_0x37123a(0x1d3)][0x0]?.['trim']();if(!_0x3b5f66)throw CliErrors[_0x37123a(0x1ec)](_0x37123a(0x1d1),_0x37123a(0x1e3)+CLI_BIN_NAME+'\x20app\x20use\x20<name>\x20[--global]');}function a24_0x1fb8(){const _0x3492a9=['validation','22KjqTOx','App\x20\x22','10020240RotFaj','name','2007MyvBBR','Available:\x20','trim','length','167391lVahBz','8706095ukXDDl','boolean','688981JcAGRd','prototype','Switch\x20the\x20default\x20app','\x22\x20not\x20found.','app','Missing\x20app\x20name.','apps','args','\x20app\x20use\x20<name>\x20[--global]','defaultApp','\x22\x20was\x20defined\x20in\x20global\x20config;\x20profile\x20copied\x20into\x20project\x20so\x20the\x20project\x20config\x20self-resolves\x20under\x20the\x20default\x20project-first\x20inherit\x20policy.','610960HEcOHD','57jtzMNs','call','Use\x20`','object','projectPath','keys','write','global','App\x20profile\x20name\x20to\x20activate','Use\x20global\x20config\x20scope','104240VAFrjT','Usage:\x20','55576LsTRxx','2BIsdpX','\x22\x20(appcode:\x20','\x20--appcode\x20<code>`\x20first.','450nYcIBZ','join','globalConfig','bool'];a24_0x1fb8=function(){return _0x3492a9;};return a24_0x1fb8();}function a24_0x50ea(_0x290d90,_0x27c395){_0x290d90=_0x290d90-0x1c5;const _0x1fb82d=a24_0x1fb8();let _0x50eabf=_0x1fb82d[_0x290d90];return _0x50eabf;}async function execute(_0x3d08a0){const _0x45980b=a24_0x50ea,_0x28aa1a=_0x3d08a0[_0x45980b(0x1d3)][0x0]?.[_0x45980b(0x1c7)]();if(!_0x28aa1a)throw CliErrors[_0x45980b(0x1ec)](_0x45980b(0x1d1),_0x45980b(0x1e3)+CLI_BIN_NAME+_0x45980b(0x1d4));const _0x10fd73=_0x3d08a0[_0x45980b(0x1eb)](_0x45980b(0x1df)),{config:_0x3334c1,layers:_0x5da3bf}=readRawConfigWithLayers(),_0x322e95=_0x3334c1[_0x45980b(0x1d2)]??{},_0x34b8a2=_0x5da3bf[_0x45980b(0x1ea)][_0x45980b(0x1d2)]&&typeof _0x5da3bf['globalConfig']['apps']===_0x45980b(0x1db)?_0x5da3bf['globalConfig'][_0x45980b(0x1d2)]:{},_0x5a47a3={..._0x34b8a2,..._0x322e95};if(!_0x5a47a3[_0x28aa1a]){const _0x25ca71=Object[_0x45980b(0x1dd)](_0x5a47a3),_0x2afd93=_0x25ca71[_0x45980b(0x1c8)]===0x0?_0x45980b(0x1da)+CLI_BIN_NAME+'\x20app\x20add\x20'+_0x28aa1a+_0x45980b(0x1e7):_0x45980b(0x1c6)+_0x25ca71[_0x45980b(0x1e9)](',\x20');throw CliErrors[_0x45980b(0x1ec)](_0x45980b(0x1ee)+_0x28aa1a+_0x45980b(0x1cf),_0x2afd93);}let _0x5ec161,_0x48dd08='';if(_0x10fd73)_0x5ec161={'global':!![]};else{const _0xffcaa6=isInProject()&&!!_0x5da3bf[_0x45980b(0x1dc)];_0x5ec161={'global':!_0xffcaa6};}const _0x57b67e=readConfig(_0x5ec161);_0x57b67e[_0x45980b(0x1d5)]=_0x28aa1a;if(!_0x5ec161[_0x45980b(0x1df)]){const _0x2f15a7=_0x57b67e['apps']&&typeof _0x57b67e[_0x45980b(0x1d2)]===_0x45980b(0x1db)?_0x57b67e[_0x45980b(0x1d2)]:{};!Object[_0x45980b(0x1cd)]['hasOwnProperty'][_0x45980b(0x1d9)](_0x2f15a7,_0x28aa1a)&&(_0x57b67e[_0x45980b(0x1d2)]={..._0x2f15a7,[_0x28aa1a]:_0x5a47a3[_0x28aa1a]},_0x48dd08='\x0aNote:\x20\x22'+_0x28aa1a+_0x45980b(0x1d6));}return writeConfig(_0x57b67e,_0x5ec161),{'ok':!![],'message':'Default\x20app\x20set\x20to\x20\x22'+_0x28aa1a+_0x45980b(0x1e6)+_0x5a47a3[_0x28aa1a]['appcode']+')'+scopeLabel(_0x5ec161)+_0x48dd08};}export const appUseDefinition={'service':a24_0x17daff(0x1d0),'command':'use','description':a24_0x17daff(0x1ce),'risk':a24_0x17daff(0x1de),'requiresAuth':![],'requiresAppCode':![],'args':[{'name':a24_0x17daff(0x1f0),'description':a24_0x17daff(0x1e0),'required':!![]}],'flags':[{'name':a24_0x17daff(0x1df),'type':a24_0x17daff(0x1cb),'description':a24_0x17daff(0x1e1),'default':![]}],'validate':validateArgs,'execute':execute};
@@ -1 +1 @@
1
- const a25_0x227440=a25_0x33a5;(function(_0x598912,_0x52adcb){const _0xa1bcbe=a25_0x33a5,_0x2e4792=_0x598912();while(!![]){try{const _0x47fa46=-parseInt(_0xa1bcbe(0x10d))/0x1+parseInt(_0xa1bcbe(0x116))/0x2*(parseInt(_0xa1bcbe(0x102))/0x3)+-parseInt(_0xa1bcbe(0x112))/0x4*(parseInt(_0xa1bcbe(0x110))/0x5)+-parseInt(_0xa1bcbe(0x100))/0x6+parseInt(_0xa1bcbe(0x10a))/0x7*(parseInt(_0xa1bcbe(0x111))/0x8)+-parseInt(_0xa1bcbe(0x10b))/0x9+-parseInt(_0xa1bcbe(0x105))/0xa*(-parseInt(_0xa1bcbe(0x107))/0xb);if(_0x47fa46===_0x52adcb)break;else _0x2e4792['push'](_0x2e4792['shift']());}catch(_0x411fe3){_0x2e4792['push'](_0x2e4792['shift']());}}}(a25_0x31d6,0x32343));import{unlinkSync,existsSync}from'node:fs';function a25_0x33a5(_0x20ba2c,_0x9be63e){_0x20ba2c=_0x20ba2c-0x100;const _0x31d606=a25_0x31d6();let _0x33a58d=_0x31d606[_0x20ba2c];return _0x33a58d;}import{cookieFile}from'../../auth/constant.js';function a25_0x31d6(){const _0x24bcac=['Skip\x20login\x20confirmation\x20and\x20start\x20browser\x20auth\x20immediately','61917qcEZZd','!\x20Not\x20logged\x20in','nonInteractive','10zYBqsY','boolean','4021479kgvRQn','Clear\x20login\x20session','write','49UplEGk','1416303EOYqzM','bool','208050JqxoxC','log','auth','6095jAOLaK','433064vlOpqE','660wnANNw','✓\x20Logged\x20out','yes','login','34JmlXEL','1939176xPjBLN'];a25_0x31d6=function(){return _0x24bcac;};return a25_0x31d6();}export const authDefinitions=[{'service':a25_0x227440(0x10f),'command':a25_0x227440(0x115),'description':'Login\x20via\x20browser','risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a25_0x227440(0x114),'type':a25_0x227440(0x106),'description':a25_0x227440(0x101),'default':![]}],async 'execute'(_0x1b2749){const _0x14d881=a25_0x227440,{runAuthServer:_0x3ab1e6}=await import('../../auth/auth-server-ui.js');return await _0x3ab1e6({'autoYes':_0x1b2749[_0x14d881(0x10c)]('yes'),'nonInteractive':_0x1b2749[_0x14d881(0x104)]}),{'ok':!![]};}},{'service':a25_0x227440(0x10f),'command':'logout','description':a25_0x227440(0x108),'risk':a25_0x227440(0x109),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x43200e){const _0x1f3b6a=a25_0x227440;return existsSync(cookieFile)?(unlinkSync(cookieFile),console[_0x1f3b6a(0x10e)](_0x1f3b6a(0x113))):console[_0x1f3b6a(0x10e)](_0x1f3b6a(0x103)),{'ok':!![]};}}];
1
+ const a25_0x83c2eb=a25_0x4d67;function a25_0x23ba(){const _0xe51602=['12350880RkhhhK','1256754tWDLLm','25Tsyjsa','nonInteractive','auth','Login\x20via\x20browser','2534yRSMMP','212RcGYnv','56uUXYda','Clear\x20login\x20session','login','3133932RsgeBY','880649ajIPVG','1871944bMVAZn','../../auth/auth-server-ui.js','logout','70AQUXvN','log','803671wWtNlW','bool','yes'];a25_0x23ba=function(){return _0xe51602;};return a25_0x23ba();}function a25_0x4d67(_0xc9217e,_0x2372c6){_0xc9217e=_0xc9217e-0x72;const _0x23ba19=a25_0x23ba();let _0x4d67dd=_0x23ba19[_0xc9217e];return _0x4d67dd;}(function(_0x3b805c,_0x3ee318){const _0x5b1bfa=a25_0x4d67,_0x55a41e=_0x3b805c();while(!![]){try{const _0x4514f9=parseInt(_0x5b1bfa(0x7d))/0x1*(parseInt(_0x5b1bfa(0x7e))/0x2)+parseInt(_0x5b1bfa(0x82))/0x3+-parseInt(_0x5b1bfa(0x84))/0x4+parseInt(_0x5b1bfa(0x79))/0x5*(parseInt(_0x5b1bfa(0x78))/0x6)+parseInt(_0x5b1bfa(0x83))/0x7*(parseInt(_0x5b1bfa(0x7f))/0x8)+-parseInt(_0x5b1bfa(0x77))/0x9+parseInt(_0x5b1bfa(0x72))/0xa*(-parseInt(_0x5b1bfa(0x74))/0xb);if(_0x4514f9===_0x3ee318)break;else _0x55a41e['push'](_0x55a41e['shift']());}catch(_0x2de8b3){_0x55a41e['push'](_0x55a41e['shift']());}}}(a25_0x23ba,0xd9273));import{unlinkSync,existsSync}from'node:fs';import{cookieFile}from'../../auth/constant.js';export const authDefinitions=[{'service':a25_0x83c2eb(0x7b),'command':a25_0x83c2eb(0x81),'description':a25_0x83c2eb(0x7c),'risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a25_0x83c2eb(0x76),'type':'boolean','description':'Skip\x20login\x20confirmation\x20and\x20start\x20browser\x20auth\x20immediately','default':![]}],async 'execute'(_0x35dde0){const _0x324ccc=a25_0x83c2eb,{runAuthServer:_0x3e8a03}=await import(_0x324ccc(0x85));return await _0x3e8a03({'autoYes':_0x35dde0[_0x324ccc(0x75)](_0x324ccc(0x76)),'nonInteractive':_0x35dde0[_0x324ccc(0x7a)]}),{'ok':!![]};}},{'service':a25_0x83c2eb(0x7b),'command':a25_0x83c2eb(0x86),'description':a25_0x83c2eb(0x80),'risk':'write','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x17191e){const _0x3ea3a6=a25_0x83c2eb;return existsSync(cookieFile)?(unlinkSync(cookieFile),console[_0x3ea3a6(0x73)]('✓\x20Logged\x20out')):console[_0x3ea3a6(0x73)]('!\x20Not\x20logged\x20in'),{'ok':!![]};}}];
@@ -1 +1 @@
1
- const a26_0x2abed4=a26_0x5a67;(function(_0xe5128b,_0xa5732a){const _0x2a3ff5=a26_0x5a67,_0x2cebf3=_0xe5128b();while(!![]){try{const _0x113352=-parseInt(_0x2a3ff5(0x190))/0x1*(parseInt(_0x2a3ff5(0x1b8))/0x2)+parseInt(_0x2a3ff5(0x1c6))/0x3*(-parseInt(_0x2a3ff5(0x19c))/0x4)+-parseInt(_0x2a3ff5(0x1e0))/0x5+parseInt(_0x2a3ff5(0x1bb))/0x6*(parseInt(_0x2a3ff5(0x1b7))/0x7)+-parseInt(_0x2a3ff5(0x1b2))/0x8*(-parseInt(_0x2a3ff5(0x1b1))/0x9)+parseInt(_0x2a3ff5(0x18c))/0xa*(-parseInt(_0x2a3ff5(0x1d5))/0xb)+-parseInt(_0x2a3ff5(0x199))/0xc*(-parseInt(_0x2a3ff5(0x1d4))/0xd);if(_0x113352===_0xa5732a)break;else _0x2cebf3['push'](_0x2cebf3['shift']());}catch(_0x30faa0){_0x2cebf3['push'](_0x2cebf3['shift']());}}}(a26_0x4af1,0x52c01));import{createInterface}from'node:readline';import{mkdir,writeFile}from'node:fs/promises';import{dirname,join}from'node:path';import{listDatasets,listBffDatasetOperations}from'../../core/api-client.js';function a26_0x4af1(){const _0x265cf0=['168tYBWRJ','4pqxpHB','--function-node\x20must\x20be\x20\x27before\x27\x20or\x20\x27after\x27.','find','25434hgjHai','functionNode','Trigger\x20node\x20(HOOK\x20only)','\x0a\x20*\x20[接口路径]\x20POST\x20/api/endpoint/{appCode}/{scriptName}\x0a\x20*\x20[当前示例]\x20POST\x20/api/endpoint/','trim','validation','Created\x20','--function-node\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','bff','Available\x20aliases:\x20','source','696537VVPDqH','length','\x22.\x20Must\x20be\x20a\x20valid\x20JS\x20identifier\x20(e.g.\x20createOrder,\x20beforeFilter).','description','UNKNOWN','\x22\x20not\x20found\x20for\x20dataset\x20','isInteger','\x20\x20Enter\x20a\x20number\x20between\x201\x20and\x20','scriptsRootDir','apiDir','write','No\x20datasets\x20found\x20for\x20this\x20app.','\x22\x20not\x20found.\x20','after','13beYpRS','8030iRyVOd','\x0a\x20*\x20[脚本类型]\x20COMMON\x0a\x20*\x20[本地路径]\x20.rabetbase/bff/COMMON/','before','Dataset\x20not\x20found\x20for\x20code\x20\x22','.js','operation-type','keys','datasetcode','\x20api\x20pull`\x20first,\x20or\x20use\x20--datasetcode\x20instead.','Dataset\x20alias\x20from\x20api.ts\x20(HOOK\x20only,\x20preferred)','--operation-type\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','3167360hXRBEy','\x20function:\x20','question','join','entries','\x0a\x20*\x20[脚本名称]\x20','3130JPQzFo','str','parseInt','stderr','139193FbFzvD','Operation\x20type\x20(HOOK\x20only)','operationType','nonInteractive','Scaffold\x20a\x20new\x20BFF\x20function\x20from\x20template','includes','utf8','Alias\x20\x22','Script\x20type','17916420OWeHvQ','appCode','\x20api\x20pull`\x20to\x20refresh.','4MEGEvX','(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a','Operation\x20type\x20\x22','stdin','HOOK\x20requires\x20hookOptions\x20for\x20template\x20generation.','Function\x20name\x20(valid\x20JS\x20identifier)','TODO:\x20add\x20script\x20description','tableName','File\x20already\x20exists:\x20','ENDPOINT','code','Select\x20dataset:','close','string','name','.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','map','/**\x0a\x20*\x20COMMON\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','function-node','Invalid\x20dataset\x20selection.','\x22.\x20','80793ALhDEy','104qAEvLM','alias','datasetCode','Invalid\x20function\x20name\x20\x22','HOOK'];a26_0x4af1=function(){return _0x265cf0;};return a26_0x4af1();}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_0x2abed4(0x1c3),'command':'create','description':a26_0x2abed4(0x194),'risk':a26_0x2abed4(0x1d0),'flags':[{'name':'type','type':a26_0x2abed4(0x1a9),'required':!![],'enum':['COMMON',a26_0x2abed4(0x1a5),a26_0x2abed4(0x1b6)],'description':a26_0x2abed4(0x198)},{'name':a26_0x2abed4(0x1aa),'type':a26_0x2abed4(0x1a9),'required':!![],'description':a26_0x2abed4(0x1a1)},{'name':a26_0x2abed4(0x1c9),'type':a26_0x2abed4(0x1a9),'description':'Script\x20description'},{'name':'alias','type':'string','description':a26_0x2abed4(0x1de)},{'name':a26_0x2abed4(0x1dc),'type':a26_0x2abed4(0x1a9),'description':'Dataset\x20code\x20(HOOK\x20only,\x20fallback\x20when\x20alias\x20unavailable)'},{'name':a26_0x2abed4(0x1da),'type':a26_0x2abed4(0x1a9),'description':a26_0x2abed4(0x191)},{'name':a26_0x2abed4(0x1ae),'type':a26_0x2abed4(0x1a9),'description':a26_0x2abed4(0x1bd),'enum':[a26_0x2abed4(0x1d7),a26_0x2abed4(0x1d3)]}],async 'validate'(_0x14f590){const _0x36a575=a26_0x2abed4,_0x2aa694=_0x14f590[_0x36a575(0x18d)](_0x36a575(0x1aa));if(!isValidBffFunctionName(_0x2aa694))throw CliErrors[_0x36a575(0x1c0)](_0x36a575(0x1b5)+_0x2aa694+_0x36a575(0x1c8));},async 'execute'(_0x4fceff){const _0x599ec2=a26_0x2abed4,_0x2da232=loadBffProjectConfig(_0x4fceff[_0x599ec2(0x19a)]),_0x1f16c1=_0x4fceff['str']('type'),_0x13d3f1=_0x4fceff[_0x599ec2(0x18d)]('name'),_0x2737a0=_0x4fceff['str'](_0x599ec2(0x1c9))||undefined,_0x20f5cb=_0x1f16c1===_0x599ec2(0x1b6)?await resolveHookOptions(_0x2da232,_0x4fceff):undefined,_0x581e3c=buildFilePath(_0x2da232,_0x1f16c1,_0x13d3f1,_0x20f5cb);if(await fileExists(_0x581e3c))throw CliErrors[_0x599ec2(0x1c0)](_0x599ec2(0x1a4)+_0x581e3c);await mkdir(dirname(_0x581e3c),{'recursive':!![]});const _0x1a8b23=generateTemplate(_0x1f16c1,_0x13d3f1,_0x4fceff['appCode'],_0x2737a0,_0x20f5cb);await writeFile(_0x581e3c,_0x1a8b23,_0x599ec2(0x196));const _0xba8a33={'type':_0x1f16c1,'name':_0x13d3f1,'path':_0x581e3c};if(_0x2737a0)_0xba8a33['description']=_0x2737a0;if(_0x20f5cb){if(_0x20f5cb[_0x599ec2(0x1b3)])_0xba8a33[_0x599ec2(0x1b3)]=_0x20f5cb[_0x599ec2(0x1b3)];_0xba8a33[_0x599ec2(0x1b4)]=_0x20f5cb[_0x599ec2(0x1b4)],_0xba8a33[_0x599ec2(0x192)]=_0x20f5cb[_0x599ec2(0x192)],_0xba8a33[_0x599ec2(0x1bc)]=_0x20f5cb['functionNode'];}return{'ok':!![],'data':_0xba8a33,'message':_0x599ec2(0x1c1)+_0x1f16c1+_0x599ec2(0x1e1)+_0x13d3f1};}};async function resolveHookOptions(_0x376cf1,_0x5e882e){const _0x35b38f=a26_0x2abed4,_0x455cdd=loadAliasMap(_0x5e882e[_0x35b38f(0x1cf)],undefined,resolveApiFilePath(_0x5e882e['apiDir'],_0x5e882e[_0x35b38f(0x19a)])),_0x471131=_0x455cdd[_0x35b38f(0x1c7)]>0x0;let _0x578321,_0xd477e,_0x32c9ba;const _0x229eea=_0x5e882e[_0x35b38f(0x18d)](_0x35b38f(0x1b3)),_0x4c7a85=_0x5e882e[_0x35b38f(0x18d)]('datasetcode');if(_0x229eea){const _0x289155=resolveAlias(_0x5e882e[_0x35b38f(0x1cf)],_0x229eea,undefined,resolveApiFilePath(_0x5e882e[_0x35b38f(0x1cf)],_0x5e882e[_0x35b38f(0x19a)]));if(!_0x289155){const _0x3ec62d=_0x471131?_0x35b38f(0x1c4)+_0x455cdd[_0x35b38f(0x1ac)](_0x7fae2a=>_0x7fae2a[_0x35b38f(0x1b3)])[_0x35b38f(0x189)](',\x20'):'No\x20api.ts\x20found.\x20Run\x20`'+CLI_BIN_NAME+_0x35b38f(0x1dd);throw CliErrors[_0x35b38f(0x1c0)](_0x35b38f(0x197)+_0x229eea+_0x35b38f(0x1d2)+_0x3ec62d);}_0x578321=_0x229eea,_0xd477e=_0x289155;}else{if(_0x4c7a85){_0xd477e=_0x4c7a85;const _0x1cd1bf=_0x455cdd['find'](_0x243a0b=>_0x243a0b['datasetCode']===_0x4c7a85);_0x578321=_0x1cd1bf?.[_0x35b38f(0x1b3)];}else{if(_0x5e882e[_0x35b38f(0x193)])throw CliErrors[_0x35b38f(0x1c0)]('--alias\x20or\x20--datasetcode\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.');else{if(_0x471131){const _0x2c2aec=_0x455cdd[_0x35b38f(0x1ac)](_0x113e99=>_0x113e99[_0x35b38f(0x1b3)]+'\x20('+_0x113e99[_0x35b38f(0x1a3)]+')'),_0xe94ef5=await promptSelect(_0x35b38f(0x1a7),_0x2c2aec),_0x3c392e=_0x455cdd[_0xe94ef5];if(!_0x3c392e)throw CliErrors[_0x35b38f(0x1c0)](_0x35b38f(0x1af));_0x578321=_0x3c392e[_0x35b38f(0x1b3)],_0xd477e=_0x3c392e[_0x35b38f(0x1b4)];}else{const _0x46d2cf=await listDatasets(_0x5e882e[_0x35b38f(0x19a)]);if(_0x46d2cf[_0x35b38f(0x1c7)]===0x0)throw CliErrors[_0x35b38f(0x1c0)](_0x35b38f(0x1d1));const _0x5df4ab=_0x46d2cf[_0x35b38f(0x1ac)](_0x2fbfe0=>_0x2fbfe0['name']+'\x20['+(_0x2fbfe0[_0x35b38f(0x1c5)]??_0x35b38f(0x1ca))+']\x20('+_0x2fbfe0['code']+')'),_0x1bebc1=await promptSelect(_0x35b38f(0x1a7),_0x5df4ab),_0x7f0c0b=_0x46d2cf[_0x1bebc1];if(!_0x7f0c0b)throw CliErrors[_0x35b38f(0x1c0)](_0x35b38f(0x1af));_0xd477e=_0x7f0c0b[_0x35b38f(0x1a6)],_0x578321=undefined;}}}}const _0x460097=await listDatasets(_0x5e882e[_0x35b38f(0x19a)]),_0x139d14=_0x460097[_0x35b38f(0x1ba)](_0x3d2ef6=>_0x3d2ef6[_0x35b38f(0x1a6)]===_0xd477e);if(!_0x139d14)throw CliErrors[_0x35b38f(0x1c0)](_0x35b38f(0x1d8)+_0xd477e+_0x35b38f(0x1b0)+(_0x578321?'The\x20api.ts\x20may\x20be\x20stale\x20—\x20run\x20`'+CLI_BIN_NAME+_0x35b38f(0x19b):''));_0x32c9ba=_0x139d14['id'];const _0x4443a0=_0x578321??_0xd477e,_0x121dba=await listBffDatasetOperations(_0x5e882e[_0x35b38f(0x19a)],_0x32c9ba),_0x2989b4=_0x121dba?Object[_0x35b38f(0x1db)](_0x121dba):[];if(_0x2989b4[_0x35b38f(0x1c7)]===0x0)throw CliErrors[_0x35b38f(0x1c0)]('No\x20operation\x20types\x20found\x20for\x20dataset\x20'+_0x4443a0+'.');let _0x26cb33;const _0x355322=_0x5e882e[_0x35b38f(0x18d)](_0x35b38f(0x1da));if(_0x355322){if(!_0x2989b4[_0x35b38f(0x195)](_0x355322))throw CliErrors[_0x35b38f(0x1c0)](_0x35b38f(0x19e)+_0x355322+_0x35b38f(0x1cb)+_0x4443a0+'.\x20'+('Available:\x20'+_0x2989b4[_0x35b38f(0x189)](',\x20')));_0x26cb33=_0x355322;}else{if(_0x5e882e['nonInteractive'])throw CliErrors[_0x35b38f(0x1c0)](_0x35b38f(0x1df));const _0x580da8=await promptSelect('Select\x20operation\x20type:',_0x2989b4);_0x26cb33=_0x2989b4[_0x580da8]??_0x2989b4[0x0];}let _0x196300=normalizeHookFunctionNode(_0x5e882e[_0x35b38f(0x18d)]('function-node'));if(!_0x196300){if(_0x5e882e[_0x35b38f(0x18d)]('function-node'))throw CliErrors['validation'](_0x35b38f(0x1b9));if(_0x5e882e[_0x35b38f(0x193)])throw CliErrors[_0x35b38f(0x1c0)](_0x35b38f(0x1c2));const _0x5c4453=await promptSelect('Select\x20trigger\x20node:',['before',_0x35b38f(0x1d3)]);_0x196300=[_0x35b38f(0x1d7),_0x35b38f(0x1d3)][_0x5c4453]??_0x35b38f(0x1d7);}return{'alias':_0x578321,'datasetCode':_0xd477e,'datasetId':_0x32c9ba,'operationType':_0x26cb33,'functionNode':_0x196300};}async function promptSelect(_0x32738b,_0x142e33){const _0x7368ba=a26_0x2abed4;if(_0x142e33['length']===0x1)return 0x0;for(const [_0xafffc3,_0x108e58]of _0x142e33[_0x7368ba(0x18a)]()){process[_0x7368ba(0x18f)][_0x7368ba(0x1d0)]('\x20\x20'+(_0xafffc3+0x1)+'.\x20'+_0x108e58+'\x0a');}const _0x391c57=createInterface({'input':process[_0x7368ba(0x19f)],'output':process[_0x7368ba(0x18f)]});while(!![]){const _0xb7781a=await new Promise(_0x1448b8=>{const _0x362818=_0x7368ba;_0x391c57[_0x362818(0x188)](_0x32738b+'\x20',_0x1448b8);}),_0x510ca4=Number[_0x7368ba(0x18e)](_0xb7781a[_0x7368ba(0x1bf)](),0xa);if(Number[_0x7368ba(0x1cc)](_0x510ca4)&&_0x510ca4>=0x1&&_0x510ca4<=_0x142e33[_0x7368ba(0x1c7)])return _0x391c57[_0x7368ba(0x1a8)](),_0x510ca4-0x1;process['stderr']['write'](_0x7368ba(0x1cd)+_0x142e33[_0x7368ba(0x1c7)]+'.\x0a');}}function a26_0x5a67(_0x588cf5,_0x31b7be){_0x588cf5=_0x588cf5-0x188;const _0x4af191=a26_0x4af1();let _0x5a675d=_0x4af191[_0x588cf5];return _0x5a675d;}function buildFilePath(_0x35cefe,_0x1162e0,_0x5ecc58,_0x1c74b9){const _0x3cbdac=a26_0x2abed4;if(_0x1162e0===_0x3cbdac(0x1b6)){if(!_0x1c74b9)throw CliErrors[_0x3cbdac(0x1c0)]('HOOK\x20requires\x20alias/operation/node\x20options.');const _0x544af4=_0x1c74b9[_0x3cbdac(0x1b3)]??_0x1c74b9['datasetCode'];return join(_0x35cefe[_0x3cbdac(0x1ce)],_0x3cbdac(0x1b6),_0x544af4,_0x1c74b9[_0x3cbdac(0x192)],_0x1c74b9[_0x3cbdac(0x1bc)],_0x5ecc58+_0x3cbdac(0x1d9));}return join(_0x35cefe['scriptsRootDir'],_0x1162e0,_0x5ecc58+_0x3cbdac(0x1d9));}export function generateTemplate(_0x32ea92,_0x3cf9a9,_0x3e0dd6,_0x573a71,_0x354bbb){const _0x224eda=a26_0x2abed4,_0x443c70=_0x573a71?.['trim']()||_0x224eda(0x1a2);if(_0x32ea92==='COMMON')return _0x224eda(0x1ad)+_0x443c70+_0x224eda(0x18b)+_0x3cf9a9+_0x224eda(0x1d6)+_0x3cf9a9+_0x224eda(0x1ab)+_0x3cf9a9+'(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a';if(_0x32ea92==='ENDPOINT')return'/**\x0a\x20*\x20ENDPOINT\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20'+_0x443c70+_0x224eda(0x1be)+_0x3e0dd6+'/'+_0x3cf9a9+'\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'+_0x3cf9a9+_0x224eda(0x19d);if(!_0x354bbb)throw CliErrors[_0x224eda(0x1c0)](_0x224eda(0x1a0));return'/**\x0a\x20*\x20HOOK\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20'+_0x443c70+'\x0a\x20*\x20[接口路径]\x20POST\x20/api/'+_0x3e0dd6+'/'+_0x354bbb[_0x224eda(0x1b4)]+'/'+_0x354bbb['operationType']+'\x0a\x20*\x20[触发节点]\x20'+_0x354bbb[_0x224eda(0x1bc)]+'\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'+_0x3cf9a9+_0x224eda(0x19d);}
1
+ const a26_0x16cd6a=a26_0x334a;(function(_0x2c25b4,_0x44dc98){const _0x559f3c=a26_0x334a,_0x1785e2=_0x2c25b4();while(!![]){try{const _0x568bbe=parseInt(_0x559f3c(0x152))/0x1+-parseInt(_0x559f3c(0x120))/0x2*(-parseInt(_0x559f3c(0x130))/0x3)+parseInt(_0x559f3c(0x15e))/0x4+parseInt(_0x559f3c(0x118))/0x5*(parseInt(_0x559f3c(0x150))/0x6)+-parseInt(_0x559f3c(0x121))/0x7+-parseInt(_0x559f3c(0x10b))/0x8+-parseInt(_0x559f3c(0x127))/0x9;if(_0x568bbe===_0x44dc98)break;else _0x1785e2['push'](_0x1785e2['shift']());}catch(_0x24f2e0){_0x1785e2['push'](_0x1785e2['shift']());}}}(a26_0x32e9,0xee044));function a26_0x334a(_0x5ad6d2,_0x4f4b11){_0x5ad6d2=_0x5ad6d2-0x10b;const _0x32e946=a26_0x32e9();let _0x334aea=_0x32e946[_0x5ad6d2];return _0x334aea;}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';function a26_0x32e9(){const _0x32468e=['327aoOaNw','\x0a\x20*\x20[触发节点]\x20','trim','appCode','name','HOOK','datasetCode','.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','Invalid\x20dataset\x20selection.','TODO:\x20add\x20script\x20description','Operation\x20type\x20\x22','\x20function:\x20','functionNode','apiDir','Invalid\x20function\x20name\x20\x22','scriptsRootDir','/**\x0a\x20*\x20HOOK\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','Available\x20aliases:\x20','stderr','alias','\x22\x20not\x20found\x20for\x20dataset\x20','bff','map','nonInteractive','\x0a\x20*\x20[脚本名称]\x20','\x20\x20Enter\x20a\x20number\x20between\x201\x20and\x20','create','after','validation','\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','\x22.\x20','operation-type','474ZzVSMy','HOOK\x20requires\x20alias/operation/node\x20options.','1153641HicFkH','string','\x0a\x20*\x20[接口路径]\x20POST\x20/api/','/**\x0a\x20*\x20COMMON\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','includes','description','--function-node\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','function-node','source','--operation-type\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','join','Trigger\x20node\x20(HOOK\x20only)','6376408dcOICf','Function\x20name\x20(valid\x20JS\x20identifier)','13729792pfMRrz','\x22.\x20Must\x20be\x20a\x20valid\x20JS\x20identifier\x20(e.g.\x20createOrder,\x20beforeFilter).','parseInt','Available:\x20','COMMON','No\x20operation\x20types\x20found\x20for\x20dataset\x20','code','type','operationType','Created\x20','HOOK\x20requires\x20hookOptions\x20for\x20template\x20generation.','File\x20already\x20exists:\x20','tableName','105940DCLBgN','datasetcode','question','ENDPOINT','(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a','No\x20api.ts\x20found.\x20Run\x20`','length','Select\x20operation\x20type:','24536bYViDg','12147702qDJjMW','Script\x20type','Script\x20description','Dataset\x20alias\x20from\x20api.ts\x20(HOOK\x20only,\x20preferred)','find','The\x20api.ts\x20may\x20be\x20stale\x20—\x20run\x20`','11990529UqlCwZ','str','isInteger','Dataset\x20not\x20found\x20for\x20code\x20\x22','/**\x0a\x20*\x20ENDPOINT\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','write','.js','before','keys'];a26_0x32e9=function(){return _0x32468e;};return a26_0x32e9();}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_0x16cd6a(0x145),'command':a26_0x16cd6a(0x14a),'description':'Scaffold\x20a\x20new\x20BFF\x20function\x20from\x20template','risk':a26_0x16cd6a(0x12c),'flags':[{'name':a26_0x16cd6a(0x112),'type':a26_0x16cd6a(0x153),'required':!![],'enum':[a26_0x16cd6a(0x10f),a26_0x16cd6a(0x11b),a26_0x16cd6a(0x135)],'description':a26_0x16cd6a(0x122)},{'name':a26_0x16cd6a(0x134),'type':'string','required':!![],'description':a26_0x16cd6a(0x15f)},{'name':a26_0x16cd6a(0x157),'type':a26_0x16cd6a(0x153),'description':a26_0x16cd6a(0x123)},{'name':a26_0x16cd6a(0x143),'type':a26_0x16cd6a(0x153),'description':a26_0x16cd6a(0x124)},{'name':a26_0x16cd6a(0x119),'type':a26_0x16cd6a(0x153),'description':'Dataset\x20code\x20(HOOK\x20only,\x20fallback\x20when\x20alias\x20unavailable)'},{'name':a26_0x16cd6a(0x14f),'type':a26_0x16cd6a(0x153),'description':'Operation\x20type\x20(HOOK\x20only)'},{'name':a26_0x16cd6a(0x159),'type':'string','description':a26_0x16cd6a(0x15d),'enum':[a26_0x16cd6a(0x12e),a26_0x16cd6a(0x14b)]}],async 'validate'(_0x4cf6e0){const _0x3a397c=a26_0x16cd6a,_0x20d66c=_0x4cf6e0['str'](_0x3a397c(0x134));if(!isValidBffFunctionName(_0x20d66c))throw CliErrors[_0x3a397c(0x14c)](_0x3a397c(0x13e)+_0x20d66c+_0x3a397c(0x10c));},async 'execute'(_0x417e1a){const _0x32b79d=a26_0x16cd6a,_0x14bc4b=loadBffProjectConfig(_0x417e1a[_0x32b79d(0x133)]),_0x5c4cc3=_0x417e1a[_0x32b79d(0x128)](_0x32b79d(0x112)),_0x590635=_0x417e1a[_0x32b79d(0x128)](_0x32b79d(0x134)),_0x94fe2e=_0x417e1a[_0x32b79d(0x128)](_0x32b79d(0x157))||undefined,_0x242db0=_0x5c4cc3===_0x32b79d(0x135)?await resolveHookOptions(_0x14bc4b,_0x417e1a):undefined,_0x42ec7a=buildFilePath(_0x14bc4b,_0x5c4cc3,_0x590635,_0x242db0);if(await fileExists(_0x42ec7a))throw CliErrors[_0x32b79d(0x14c)](_0x32b79d(0x116)+_0x42ec7a);await mkdir(dirname(_0x42ec7a),{'recursive':!![]});const _0x9d2d39=generateTemplate(_0x5c4cc3,_0x590635,_0x417e1a['appCode'],_0x94fe2e,_0x242db0);await writeFile(_0x42ec7a,_0x9d2d39,'utf8');const _0x1e7ccb={'type':_0x5c4cc3,'name':_0x590635,'path':_0x42ec7a};if(_0x94fe2e)_0x1e7ccb[_0x32b79d(0x157)]=_0x94fe2e;if(_0x242db0){if(_0x242db0[_0x32b79d(0x143)])_0x1e7ccb[_0x32b79d(0x143)]=_0x242db0[_0x32b79d(0x143)];_0x1e7ccb[_0x32b79d(0x136)]=_0x242db0[_0x32b79d(0x136)],_0x1e7ccb[_0x32b79d(0x113)]=_0x242db0['operationType'],_0x1e7ccb[_0x32b79d(0x13c)]=_0x242db0[_0x32b79d(0x13c)];}return{'ok':!![],'data':_0x1e7ccb,'message':_0x32b79d(0x114)+_0x5c4cc3+_0x32b79d(0x13b)+_0x590635};}};async function resolveHookOptions(_0x402a0c,_0x1a9587){const _0x870dc8=a26_0x16cd6a,_0x1cf90d=loadAliasMap(_0x1a9587[_0x870dc8(0x13d)],undefined,resolveApiFilePath(_0x1a9587[_0x870dc8(0x13d)],_0x1a9587['appCode'])),_0x258593=_0x1cf90d[_0x870dc8(0x11e)]>0x0;let _0x281be6,_0xb4892b,_0x10c192;const _0x2a90d8=_0x1a9587['str'](_0x870dc8(0x143)),_0x26664a=_0x1a9587[_0x870dc8(0x128)]('datasetcode');if(_0x2a90d8){const _0x11806a=resolveAlias(_0x1a9587[_0x870dc8(0x13d)],_0x2a90d8,undefined,resolveApiFilePath(_0x1a9587['apiDir'],_0x1a9587[_0x870dc8(0x133)]));if(!_0x11806a){const _0x4940b7=_0x258593?_0x870dc8(0x141)+_0x1cf90d[_0x870dc8(0x146)](_0x581c86=>_0x581c86[_0x870dc8(0x143)])[_0x870dc8(0x15c)](',\x20'):_0x870dc8(0x11d)+CLI_BIN_NAME+'\x20api\x20pull`\x20first,\x20or\x20use\x20--datasetcode\x20instead.';throw CliErrors[_0x870dc8(0x14c)]('Alias\x20\x22'+_0x2a90d8+'\x22\x20not\x20found.\x20'+_0x4940b7);}_0x281be6=_0x2a90d8,_0xb4892b=_0x11806a;}else{if(_0x26664a){_0xb4892b=_0x26664a;const _0x36de32=_0x1cf90d['find'](_0x360e58=>_0x360e58[_0x870dc8(0x136)]===_0x26664a);_0x281be6=_0x36de32?.[_0x870dc8(0x143)];}else{if(_0x1a9587[_0x870dc8(0x147)])throw CliErrors[_0x870dc8(0x14c)]('--alias\x20or\x20--datasetcode\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.');else{if(_0x258593){const _0x3d13ba=_0x1cf90d['map'](_0x1515c3=>_0x1515c3[_0x870dc8(0x143)]+'\x20('+_0x1515c3[_0x870dc8(0x117)]+')'),_0x2d1d13=await promptSelect('Select\x20dataset:',_0x3d13ba),_0x4e6940=_0x1cf90d[_0x2d1d13];if(!_0x4e6940)throw CliErrors['validation'](_0x870dc8(0x138));_0x281be6=_0x4e6940[_0x870dc8(0x143)],_0xb4892b=_0x4e6940['datasetCode'];}else{const _0x5a3e82=await listDatasets(_0x1a9587[_0x870dc8(0x133)]);if(_0x5a3e82[_0x870dc8(0x11e)]===0x0)throw CliErrors[_0x870dc8(0x14c)]('No\x20datasets\x20found\x20for\x20this\x20app.');const _0x54ffc9=_0x5a3e82[_0x870dc8(0x146)](_0x250e3e=>_0x250e3e['name']+'\x20['+(_0x250e3e[_0x870dc8(0x15a)]??'UNKNOWN')+']\x20('+_0x250e3e[_0x870dc8(0x111)]+')'),_0x3cb4e1=await promptSelect('Select\x20dataset:',_0x54ffc9),_0x44e06b=_0x5a3e82[_0x3cb4e1];if(!_0x44e06b)throw CliErrors['validation'](_0x870dc8(0x138));_0xb4892b=_0x44e06b[_0x870dc8(0x111)],_0x281be6=undefined;}}}}const _0x43a73f=await listDatasets(_0x1a9587[_0x870dc8(0x133)]),_0x5195a5=_0x43a73f[_0x870dc8(0x125)](_0x3b27b7=>_0x3b27b7[_0x870dc8(0x111)]===_0xb4892b);if(!_0x5195a5)throw CliErrors['validation'](_0x870dc8(0x12a)+_0xb4892b+_0x870dc8(0x14e)+(_0x281be6?_0x870dc8(0x126)+CLI_BIN_NAME+'\x20api\x20pull`\x20to\x20refresh.':''));_0x10c192=_0x5195a5['id'];const _0x2a301a=_0x281be6??_0xb4892b,_0x2173df=await listBffDatasetOperations(_0x1a9587[_0x870dc8(0x133)],_0x10c192),_0x39e88b=_0x2173df?Object[_0x870dc8(0x12f)](_0x2173df):[];if(_0x39e88b[_0x870dc8(0x11e)]===0x0)throw CliErrors[_0x870dc8(0x14c)](_0x870dc8(0x110)+_0x2a301a+'.');let _0x53519d;const _0x5c8567=_0x1a9587[_0x870dc8(0x128)]('operation-type');if(_0x5c8567){if(!_0x39e88b[_0x870dc8(0x156)](_0x5c8567))throw CliErrors[_0x870dc8(0x14c)](_0x870dc8(0x13a)+_0x5c8567+_0x870dc8(0x144)+_0x2a301a+'.\x20'+(_0x870dc8(0x10e)+_0x39e88b[_0x870dc8(0x15c)](',\x20')));_0x53519d=_0x5c8567;}else{if(_0x1a9587['nonInteractive'])throw CliErrors[_0x870dc8(0x14c)](_0x870dc8(0x15b));const _0x4edd93=await promptSelect(_0x870dc8(0x11f),_0x39e88b);_0x53519d=_0x39e88b[_0x4edd93]??_0x39e88b[0x0];}let _0x4d73be=normalizeHookFunctionNode(_0x1a9587[_0x870dc8(0x128)](_0x870dc8(0x159)));if(!_0x4d73be){if(_0x1a9587[_0x870dc8(0x128)]('function-node'))throw CliErrors['validation']('--function-node\x20must\x20be\x20\x27before\x27\x20or\x20\x27after\x27.');if(_0x1a9587[_0x870dc8(0x147)])throw CliErrors[_0x870dc8(0x14c)](_0x870dc8(0x158));const _0x256730=await promptSelect('Select\x20trigger\x20node:',[_0x870dc8(0x12e),_0x870dc8(0x14b)]);_0x4d73be=['before','after'][_0x256730]??_0x870dc8(0x12e);}return{'alias':_0x281be6,'datasetCode':_0xb4892b,'datasetId':_0x10c192,'operationType':_0x53519d,'functionNode':_0x4d73be};}async function promptSelect(_0x51aef7,_0x4877a0){const _0x40c74b=a26_0x16cd6a;if(_0x4877a0[_0x40c74b(0x11e)]===0x1)return 0x0;for(const [_0x4dc553,_0x189c08]of _0x4877a0['entries']()){process['stderr'][_0x40c74b(0x12c)]('\x20\x20'+(_0x4dc553+0x1)+'.\x20'+_0x189c08+'\x0a');}const _0x4ed07d=createInterface({'input':process['stdin'],'output':process[_0x40c74b(0x142)]});while(!![]){const _0x3942b1=await new Promise(_0x2e132a=>{const _0x2ee273=_0x40c74b;_0x4ed07d[_0x2ee273(0x11a)](_0x51aef7+'\x20',_0x2e132a);}),_0x1e2210=Number[_0x40c74b(0x10d)](_0x3942b1[_0x40c74b(0x132)](),0xa);if(Number[_0x40c74b(0x129)](_0x1e2210)&&_0x1e2210>=0x1&&_0x1e2210<=_0x4877a0['length'])return _0x4ed07d['close'](),_0x1e2210-0x1;process[_0x40c74b(0x142)][_0x40c74b(0x12c)](_0x40c74b(0x149)+_0x4877a0[_0x40c74b(0x11e)]+'.\x0a');}}function buildFilePath(_0x153fab,_0xf22f7d,_0x144408,_0x509d23){const _0x163a0d=a26_0x16cd6a;if(_0xf22f7d===_0x163a0d(0x135)){if(!_0x509d23)throw CliErrors[_0x163a0d(0x14c)](_0x163a0d(0x151));const _0x5c3729=_0x509d23[_0x163a0d(0x143)]??_0x509d23[_0x163a0d(0x136)];return join(_0x153fab[_0x163a0d(0x13f)],_0x163a0d(0x135),_0x5c3729,_0x509d23['operationType'],_0x509d23[_0x163a0d(0x13c)],_0x144408+_0x163a0d(0x12d));}return join(_0x153fab[_0x163a0d(0x13f)],_0xf22f7d,_0x144408+_0x163a0d(0x12d));}export function generateTemplate(_0x435d14,_0x4e8661,_0x1e7913,_0x5a60bf,_0xbae6cd){const _0x1c7fb4=a26_0x16cd6a,_0x50ea6b=_0x5a60bf?.[_0x1c7fb4(0x132)]()||_0x1c7fb4(0x139);if(_0x435d14===_0x1c7fb4(0x10f))return _0x1c7fb4(0x155)+_0x50ea6b+_0x1c7fb4(0x148)+_0x4e8661+'\x0a\x20*\x20[脚本类型]\x20COMMON\x0a\x20*\x20[本地路径]\x20.rabetbase/bff/COMMON/'+_0x4e8661+_0x1c7fb4(0x137)+_0x4e8661+'(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a';if(_0x435d14===_0x1c7fb4(0x11b))return _0x1c7fb4(0x12b)+_0x50ea6b+'\x0a\x20*\x20[接口路径]\x20POST\x20/api/endpoint/{appCode}/{scriptName}\x0a\x20*\x20[当前示例]\x20POST\x20/api/endpoint/'+_0x1e7913+'/'+_0x4e8661+_0x1c7fb4(0x14d)+_0x4e8661+_0x1c7fb4(0x11c);if(!_0xbae6cd)throw CliErrors[_0x1c7fb4(0x14c)](_0x1c7fb4(0x115));return _0x1c7fb4(0x140)+_0x50ea6b+_0x1c7fb4(0x154)+_0x1e7913+'/'+_0xbae6cd[_0x1c7fb4(0x136)]+'/'+_0xbae6cd[_0x1c7fb4(0x113)]+_0x1c7fb4(0x131)+_0xbae6cd[_0x1c7fb4(0x13c)]+'\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'+_0x4e8661+_0x1c7fb4(0x11c);}
@@ -1 +1 @@
1
- const a27_0x34c4c2=a27_0x194e;(function(_0x987658,_0x57bdc0){const _0x6f95c8=a27_0x194e,_0xaf535d=_0x987658();while(!![]){try{const _0x2478ba=-parseInt(_0x6f95c8(0x210))/0x1*(-parseInt(_0x6f95c8(0x1fa))/0x2)+-parseInt(_0x6f95c8(0x1e7))/0x3*(-parseInt(_0x6f95c8(0x202))/0x4)+parseInt(_0x6f95c8(0x207))/0x5+-parseInt(_0x6f95c8(0x211))/0x6+-parseInt(_0x6f95c8(0x21a))/0x7*(parseInt(_0x6f95c8(0x1f8))/0x8)+parseInt(_0x6f95c8(0x201))/0x9+parseInt(_0x6f95c8(0x1f5))/0xa;if(_0x2478ba===_0x57bdc0)break;else _0xaf535d['push'](_0xaf535d['shift']());}catch(_0x37bf47){_0xaf535d['push'](_0xaf535d['shift']());}}}(a27_0x316a,0xcaa52));import{mkdir,readdir,rename,rmdir}from'node:fs/promises';import{dirname,join,relative,resolve,sep}from'node:path';import{deleteBffScript}from'../../core/api-client.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{fileExists,resolveLocalFilePathFromLockKey}from'../../core/bff/file-system.js';import{ensureLockScope,readBffLockFile,writeBffLockFile}from'../../core/bff/lock.js';import{CliErrors}from'../../errors.js';import{sleep}from'../../utils/sleep.js';export const bffDelete={'service':a27_0x34c4c2(0x213),'command':a27_0x34c4c2(0x208),'description':a27_0x34c4c2(0x215),'risk':a27_0x34c4c2(0x212),'flags':[{'name':a27_0x34c4c2(0x1ed),'type':a27_0x34c4c2(0x1fc),'required':!![],'description':a27_0x34c4c2(0x203)}],async 'validate'(_0x3d136c){const _0xcd1d9d=a27_0x34c4c2,_0x14ecff=loadBffProjectConfig(_0x3d136c['appCode']),_0x223e5b=await readBffLockFile(_0x14ecff[_0xcd1d9d(0x20a)]);if(!_0x223e5b)throw CliErrors[_0xcd1d9d(0x209)]('BFF\x20lock\x20file\x20not\x20found.\x20Run\x20`push`\x20or\x20`pull`\x20first\x20to\x20initialize\x20sync\x20state.');},async 'dryRun'(_0x5ebddd){const _0x378da6=a27_0x34c4c2,_0x34abe4=loadBffProjectConfig(_0x5ebddd[_0x378da6(0x20d)]),_0x5e43d9=await readBffLockFile(_0x34abe4['lockFilePath']);if(!_0x5e43d9)throw CliErrors[_0x378da6(0x209)]('BFF\x20lock\x20file\x20not\x20found.');const {appLock:_0x3dd660}=ensureLockScope(_0x5e43d9,_0x5ebddd[_0x378da6(0x20d)],_0x34abe4[_0x378da6(0x20b)],'delete'),_0x5095c1=_0x5ebddd['str'](_0x378da6(0x1ed)),_0x368986=Object['keys'](_0x3dd660[_0x378da6(0x20e)]),_0x16d848=resolveDeleteTarget(_0x5095c1,_0x368986),_0x5b4717=_0x3dd660[_0x378da6(0x20e)][_0x16d848];if(!_0x5b4717)throw CliErrors[_0x378da6(0x209)]('No\x20lock\x20entry\x20found\x20for\x20\x22'+_0x16d848+'\x22.');const _0x515eaf=resolveLocalFilePathFromLockKey(_0x34abe4,_0x16d848),_0x18b5de=relative(_0x34abe4[_0x378da6(0x21b)],_0x515eaf),_0x350d0f=join(_0x34abe4[_0x378da6(0x218)],_0x378da6(0x1ea),_0x18b5de);return{'method':_0x378da6(0x20c),'url':_0x378da6(0x20f),'body':{'appCode':_0x5ebddd[_0x378da6(0x20d)],'target':_0x16d848,'remoteId':_0x5b4717[_0x378da6(0x217)],'localFilePath':_0x515eaf,'trashedPath':_0x350d0f},'description':'Would\x20delete\x20'+_0x16d848+_0x378da6(0x1ff)};},async 'execute'(_0x344c5c){const _0x416f34=a27_0x34c4c2,_0x225a10=loadBffProjectConfig(_0x344c5c[_0x416f34(0x20d)]),_0xeb3a97=await readBffLockFile(_0x225a10['lockFilePath']);if(!_0xeb3a97)throw CliErrors[_0x416f34(0x209)](_0x416f34(0x1eb));const {lockData:_0x2af9ee,appLock:_0x3d307f}=ensureLockScope(_0xeb3a97,_0x344c5c[_0x416f34(0x20d)],_0x225a10[_0x416f34(0x20b)],_0x416f34(0x208)),_0x71a0dc=JSON['parse'](JSON[_0x416f34(0x1e9)](_0x2af9ee)),_0x5aca06=_0x71a0dc[_0x416f34(0x1f7)][_0x344c5c[_0x416f34(0x20d)]];if(!_0x5aca06)throw new Error(_0x416f34(0x1f1)+_0x344c5c['appCode']+_0x416f34(0x204));const _0x23c9f2=_0x344c5c[_0x416f34(0x1ec)](_0x416f34(0x1ed)),_0x2c3986=Object[_0x416f34(0x219)](_0x5aca06['functions']),_0x1b867e=resolveDeleteTarget(_0x23c9f2,_0x2c3986),_0x489fab=_0x5aca06[_0x416f34(0x20e)][_0x1b867e];if(!_0x489fab)throw CliErrors[_0x416f34(0x209)](_0x416f34(0x1f9)+_0x1b867e+'\x22.');await deleteBffScript(_0x489fab[_0x416f34(0x217)]),delete _0x5aca06[_0x416f34(0x20e)][_0x1b867e],_0x5aca06['lastSync']=new Date()[_0x416f34(0x1f6)](),await writeBffLockFile(_0x225a10[_0x416f34(0x20a)],_0x71a0dc);const _0x1809d2=resolveLocalFilePathFromLockKey(_0x225a10,_0x1b867e);let _0x3edd01;await fileExists(_0x1809d2)&&(_0x3edd01=await moveToTrash(_0x225a10[_0x416f34(0x21b)],_0x225a10[_0x416f34(0x218)],_0x1809d2),await cleanupEmptyDirectories(dirname(_0x1809d2),_0x225a10[_0x416f34(0x205)]));await waitForDeleteSettlement(_0x225a10[_0x416f34(0x20a)],_0x344c5c[_0x416f34(0x20d)],_0x1b867e,_0x1809d2),await sleep(0x96);const _0x1e2d4c={'deleted':_0x1b867e,'remoteId':_0x489fab['remoteId']};if(_0x3edd01)_0x1e2d4c[_0x416f34(0x200)]=_0x3edd01;return{'ok':!![],'data':_0x1e2d4c,'message':_0x416f34(0x1f0)+_0x1b867e+(_0x3edd01?_0x416f34(0x1f3):'')};}};function resolveDeleteTarget(_0x4dece6,_0x1a421e){const _0x4b8865=a27_0x34c4c2;if(_0x4dece6[_0x4b8865(0x1e6)]('/')){const _0x1abe0e=_0x1a421e[_0x4b8865(0x1ee)](_0x1ef62f=>_0x1ef62f===_0x4dece6);if(!_0x1abe0e)throw CliErrors[_0x4b8865(0x209)](_0x4b8865(0x214)+_0x4dece6);return _0x1abe0e;}const _0x31f733=_0x1a421e[_0x4b8865(0x1e8)](_0x539b1f=>_0x539b1f[_0x4b8865(0x206)]('/')['at'](-0x1)===_0x4dece6);if(_0x31f733[_0x4b8865(0x1fd)]===0x0)throw CliErrors[_0x4b8865(0x209)](_0x4b8865(0x214)+_0x4dece6);if(_0x31f733['length']>0x1)throw CliErrors[_0x4b8865(0x209)]('Multiple\x20functions\x20match\x20\x22'+_0x4dece6+_0x4b8865(0x1f2)+_0x31f733[_0x4b8865(0x1ef)](_0xb29e4c=>_0x4b8865(0x1f4)+_0xb29e4c)[_0x4b8865(0x1fe)]('\x0a'));return _0x31f733[0x0];}async function moveToTrash(_0x559d24,_0x5346cb,_0x4242cf){const _0x10bac3=a27_0x34c4c2,_0x3147c5=new Date()[_0x10bac3(0x1f6)]()[_0x10bac3(0x216)](/[:.]/g,'-'),_0x2406d0=relative(_0x559d24,_0x4242cf),_0x55bf3b=join(_0x5346cb,_0x3147c5,_0x2406d0);return await mkdir(dirname(_0x55bf3b),{'recursive':!![]}),await rename(_0x4242cf,_0x55bf3b),_0x55bf3b;}function a27_0x194e(_0x44c783,_0x3cce6c){_0x44c783=_0x44c783-0x1e6;const _0x316ae6=a27_0x316a();let _0x194e45=_0x316ae6[_0x44c783];return _0x194e45;}async function cleanupEmptyDirectories(_0xc6944a,_0x5ab137){const _0x407096=a27_0x34c4c2;let _0x3c9246=resolve(_0xc6944a);const _0x4cc55c=resolve(_0x5ab137);while(_0x3c9246[_0x407096(0x1fb)](''+_0x4cc55c+sep)||_0x3c9246===_0x4cc55c){if(_0x3c9246===_0x4cc55c)return;try{const _0x1f4ef9=await readdir(_0x3c9246);if(_0x1f4ef9[_0x407096(0x1fd)]>0x0)return;await rmdir(_0x3c9246);}catch{return;}_0x3c9246=dirname(_0x3c9246);}}const DELETE_SETTLE_RETRY_COUNT=0x14,DELETE_SETTLE_DELAY_MS=0x64;function a27_0x316a(){const _0x469fcd=['Function\x20not\x20found:\x20','Delete\x20a\x20BFF\x20script\x20from\x20remote\x20and\x20local','replace','remoteId','trashDir','keys','230643AAUqno','projectRoot','includes','117pzaGtZ','filter','stringify','<timestamp>','BFF\x20lock\x20file\x20not\x20found.','str','target','find','map','Deleted\x20','Lock\x20scope\x20for\x20app\x20\x22','\x22.\x20Use\x20the\x20full\x20lock\x20key:\x0a','\x20(local\x20file\x20moved\x20to\x20trash)','\x20\x20-\x20','8422180zZgveH','toISOString','apps','296jTwfnv','No\x20lock\x20entry\x20found\x20for\x20\x22','260394JJHQis','startsWith','string','length','join','\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20trash','trashedTo','5388696KCDnPn','92476cJAuSr','Lock\x20key\x20(e.g.\x20ENDPOINT/createOrder)\x20or\x20short\x20function\x20name','\x22\x20not\x20found\x20after\x20ensureLockScope.','scriptsRootDir','split','5172780XKKkRQ','delete','validation','lockFilePath','scriptsRoot','POST','appCode','functions','/api/management/library/scripts/delete','2DqANPg','9530436ppoFFH','high-risk-write','bff'];a27_0x316a=function(){return _0x469fcd;};return a27_0x316a();}async function waitForDeleteSettlement(_0x3862ac,_0x230509,_0x5a26bd,_0x8a3c87){const _0x27974f=a27_0x34c4c2;for(let _0xb7335d=0x0;_0xb7335d<DELETE_SETTLE_RETRY_COUNT;_0xb7335d+=0x1){const _0x1e93e8=await readBffLockFile(_0x3862ac),_0xd63f92=!!_0x1e93e8?.[_0x27974f(0x1f7)]?.[_0x230509]?.[_0x27974f(0x20e)]?.[_0x5a26bd],_0x457b68=await fileExists(_0x8a3c87);if(!_0xd63f92&&!_0x457b68)return;await sleep(DELETE_SETTLE_DELAY_MS);}throw new Error('Local\x20delete\x20not\x20settled\x20for\x20'+_0x5a26bd+'.');}
1
+ const a27_0x316c87=a27_0x5be7;function a27_0x5be7(_0x34dbc3,_0x2ad639){_0x34dbc3=_0x34dbc3-0x8d;const _0x8eb5f5=a27_0x8eb5();let _0x5be701=_0x8eb5f5[_0x34dbc3];return _0x5be701;}(function(_0x518e43,_0x546353){const _0x235ea4=a27_0x5be7,_0x2fe768=_0x518e43();while(!![]){try{const _0x2a8517=-parseInt(_0x235ea4(0x95))/0x1+parseInt(_0x235ea4(0xac))/0x2+parseInt(_0x235ea4(0x93))/0x3+parseInt(_0x235ea4(0x9a))/0x4*(parseInt(_0x235ea4(0xbc))/0x5)+-parseInt(_0x235ea4(0xa8))/0x6+parseInt(_0x235ea4(0xb7))/0x7*(parseInt(_0x235ea4(0xb2))/0x8)+parseInt(_0x235ea4(0xa2))/0x9*(-parseInt(_0x235ea4(0x8e))/0xa);if(_0x2a8517===_0x546353)break;else _0x2fe768['push'](_0x2fe768['shift']());}catch(_0x4b8572){_0x2fe768['push'](_0x2fe768['shift']());}}}(a27_0x8eb5,0x24c7b));import{mkdir,readdir,rename,rmdir}from'node:fs/promises';function a27_0x8eb5(){const _0x54b598=['Lock\x20scope\x20for\x20app\x20\x22','bff','Multiple\x20functions\x20match\x20\x22','No\x20lock\x20entry\x20found\x20for\x20\x22','7911tUkKeD','appCode','map','Lock\x20key\x20(e.g.\x20ENDPOINT/createOrder)\x20or\x20short\x20function\x20name','find','BFF\x20lock\x20file\x20not\x20found.','1115682pRoQVH','split','Local\x20delete\x20not\x20settled\x20for\x20','stringify','448446AfsHmF','target','keys','BFF\x20lock\x20file\x20not\x20found.\x20Run\x20`push`\x20or\x20`pull`\x20first\x20to\x20initialize\x20sync\x20state.','includes','Delete\x20a\x20BFF\x20script\x20from\x20remote\x20and\x20local','1512tTkqKc','\x22.\x20Use\x20the\x20full\x20lock\x20key:\x0a','remoteId','\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20trash','apps','63CtXHld','Would\x20delete\x20','replace','str','Deleted\x20','9680kmKcMn','validation','POST','lastSync','length','filter','join','\x20\x20-\x20','1510FlZvar','startsWith','delete','<timestamp>','high-risk-write','513081rkcNkS','scriptsRoot','63144KWlWdE','trashedTo','toISOString','functions','Function\x20not\x20found:\x20','280zlWusQ','\x22\x20not\x20found\x20after\x20ensureLockScope.','trashDir','lockFilePath'];a27_0x8eb5=function(){return _0x54b598;};return a27_0x8eb5();}import{dirname,join,relative,resolve,sep}from'node:path';import{deleteBffScript}from'../../core/api-client.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{fileExists,resolveLocalFilePathFromLockKey}from'../../core/bff/file-system.js';import{ensureLockScope,readBffLockFile,writeBffLockFile}from'../../core/bff/lock.js';import{CliErrors}from'../../errors.js';import{sleep}from'../../utils/sleep.js';export const bffDelete={'service':a27_0x316c87(0x9f),'command':a27_0x316c87(0x90),'description':a27_0x316c87(0xb1),'risk':a27_0x316c87(0x92),'flags':[{'name':'target','type':'string','required':!![],'description':a27_0x316c87(0xa5)}],async 'validate'(_0x185537){const _0x11f981=a27_0x316c87,_0x4f71fe=loadBffProjectConfig(_0x185537[_0x11f981(0xa3)]),_0x219491=await readBffLockFile(_0x4f71fe['lockFilePath']);if(!_0x219491)throw CliErrors[_0x11f981(0xbd)](_0x11f981(0xaf));},async 'dryRun'(_0x2b499b){const _0xb6a54a=a27_0x316c87,_0x3ec68c=loadBffProjectConfig(_0x2b499b['appCode']),_0x4677bf=await readBffLockFile(_0x3ec68c[_0xb6a54a(0x9d)]);if(!_0x4677bf)throw CliErrors[_0xb6a54a(0xbd)](_0xb6a54a(0xa7));const {appLock:_0x1c36be}=ensureLockScope(_0x4677bf,_0x2b499b[_0xb6a54a(0xa3)],_0x3ec68c[_0xb6a54a(0x94)],_0xb6a54a(0x90)),_0x124fca=_0x2b499b['str'](_0xb6a54a(0xad)),_0x5ad6c1=Object[_0xb6a54a(0xae)](_0x1c36be[_0xb6a54a(0x98)]),_0x355dcf=resolveDeleteTarget(_0x124fca,_0x5ad6c1),_0x3cbb28=_0x1c36be[_0xb6a54a(0x98)][_0x355dcf];if(!_0x3cbb28)throw CliErrors[_0xb6a54a(0xbd)]('No\x20lock\x20entry\x20found\x20for\x20\x22'+_0x355dcf+'\x22.');const _0x28913c=resolveLocalFilePathFromLockKey(_0x3ec68c,_0x355dcf),_0x3b17e5=relative(_0x3ec68c['projectRoot'],_0x28913c),_0x576276=join(_0x3ec68c[_0xb6a54a(0x9c)],_0xb6a54a(0x91),_0x3b17e5);return{'method':_0xb6a54a(0xbe),'url':'/api/management/library/scripts/delete','body':{'appCode':_0x2b499b[_0xb6a54a(0xa3)],'target':_0x355dcf,'remoteId':_0x3cbb28['remoteId'],'localFilePath':_0x28913c,'trashedPath':_0x576276},'description':_0xb6a54a(0xb8)+_0x355dcf+_0xb6a54a(0xb5)};},async 'execute'(_0x210669){const _0x149a64=a27_0x316c87,_0x4bf61c=loadBffProjectConfig(_0x210669[_0x149a64(0xa3)]),_0x2e4b55=await readBffLockFile(_0x4bf61c['lockFilePath']);if(!_0x2e4b55)throw CliErrors[_0x149a64(0xbd)](_0x149a64(0xa7));const {lockData:_0x6400e0,appLock:_0x30c8f4}=ensureLockScope(_0x2e4b55,_0x210669[_0x149a64(0xa3)],_0x4bf61c[_0x149a64(0x94)],'delete'),_0x1a3345=JSON['parse'](JSON[_0x149a64(0xab)](_0x6400e0)),_0x234bc4=_0x1a3345[_0x149a64(0xb6)][_0x210669['appCode']];if(!_0x234bc4)throw new Error(_0x149a64(0x9e)+_0x210669['appCode']+_0x149a64(0x9b));const _0x10eb06=_0x210669[_0x149a64(0xba)]('target'),_0x127201=Object['keys'](_0x234bc4[_0x149a64(0x98)]),_0x382e62=resolveDeleteTarget(_0x10eb06,_0x127201),_0x3105b1=_0x234bc4[_0x149a64(0x98)][_0x382e62];if(!_0x3105b1)throw CliErrors[_0x149a64(0xbd)](_0x149a64(0xa1)+_0x382e62+'\x22.');await deleteBffScript(_0x3105b1[_0x149a64(0xb4)]),delete _0x234bc4[_0x149a64(0x98)][_0x382e62],_0x234bc4[_0x149a64(0xbf)]=new Date()[_0x149a64(0x97)](),await writeBffLockFile(_0x4bf61c[_0x149a64(0x9d)],_0x1a3345);const _0x20a5ef=resolveLocalFilePathFromLockKey(_0x4bf61c,_0x382e62);let _0x5afb36;await fileExists(_0x20a5ef)&&(_0x5afb36=await moveToTrash(_0x4bf61c['projectRoot'],_0x4bf61c[_0x149a64(0x9c)],_0x20a5ef),await cleanupEmptyDirectories(dirname(_0x20a5ef),_0x4bf61c['scriptsRootDir']));await waitForDeleteSettlement(_0x4bf61c[_0x149a64(0x9d)],_0x210669[_0x149a64(0xa3)],_0x382e62,_0x20a5ef),await sleep(0x96);const _0x5666b6={'deleted':_0x382e62,'remoteId':_0x3105b1[_0x149a64(0xb4)]};if(_0x5afb36)_0x5666b6[_0x149a64(0x96)]=_0x5afb36;return{'ok':!![],'data':_0x5666b6,'message':_0x149a64(0xbb)+_0x382e62+(_0x5afb36?'\x20(local\x20file\x20moved\x20to\x20trash)':'')};}};function resolveDeleteTarget(_0x1b9f48,_0x4b10ad){const _0x17899d=a27_0x316c87;if(_0x1b9f48[_0x17899d(0xb0)]('/')){const _0x4ae521=_0x4b10ad[_0x17899d(0xa6)](_0x33d0a6=>_0x33d0a6===_0x1b9f48);if(!_0x4ae521)throw CliErrors[_0x17899d(0xbd)](_0x17899d(0x99)+_0x1b9f48);return _0x4ae521;}const _0x2b426a=_0x4b10ad[_0x17899d(0xc1)](_0x152d39=>_0x152d39[_0x17899d(0xa9)]('/')['at'](-0x1)===_0x1b9f48);if(_0x2b426a[_0x17899d(0xc0)]===0x0)throw CliErrors[_0x17899d(0xbd)](_0x17899d(0x99)+_0x1b9f48);if(_0x2b426a[_0x17899d(0xc0)]>0x1)throw CliErrors[_0x17899d(0xbd)](_0x17899d(0xa0)+_0x1b9f48+_0x17899d(0xb3)+_0x2b426a[_0x17899d(0xa4)](_0x44ba84=>_0x17899d(0x8d)+_0x44ba84)[_0x17899d(0xc2)]('\x0a'));return _0x2b426a[0x0];}async function moveToTrash(_0x90d561,_0x251f0c,_0x286bc7){const _0x46a3f9=a27_0x316c87,_0x145836=new Date()[_0x46a3f9(0x97)]()[_0x46a3f9(0xb9)](/[:.]/g,'-'),_0x4d23d6=relative(_0x90d561,_0x286bc7),_0x2f1fd5=join(_0x251f0c,_0x145836,_0x4d23d6);return await mkdir(dirname(_0x2f1fd5),{'recursive':!![]}),await rename(_0x286bc7,_0x2f1fd5),_0x2f1fd5;}async function cleanupEmptyDirectories(_0x472d41,_0x398a1e){const _0x198f82=a27_0x316c87;let _0x53b3d3=resolve(_0x472d41);const _0x2aaae1=resolve(_0x398a1e);while(_0x53b3d3[_0x198f82(0x8f)](''+_0x2aaae1+sep)||_0x53b3d3===_0x2aaae1){if(_0x53b3d3===_0x2aaae1)return;try{const _0x4fb1c5=await readdir(_0x53b3d3);if(_0x4fb1c5[_0x198f82(0xc0)]>0x0)return;await rmdir(_0x53b3d3);}catch{return;}_0x53b3d3=dirname(_0x53b3d3);}}const DELETE_SETTLE_RETRY_COUNT=0x14,DELETE_SETTLE_DELAY_MS=0x64;async function waitForDeleteSettlement(_0x845897,_0x54a833,_0x250488,_0x4d5500){const _0x336ffd=a27_0x316c87;for(let _0x5cc095=0x0;_0x5cc095<DELETE_SETTLE_RETRY_COUNT;_0x5cc095+=0x1){const _0x3f9971=await readBffLockFile(_0x845897),_0x591e37=!!_0x3f9971?.[_0x336ffd(0xb6)]?.[_0x54a833]?.[_0x336ffd(0x98)]?.[_0x250488],_0x26474f=await fileExists(_0x4d5500);if(!_0x591e37&&!_0x26474f)return;await sleep(DELETE_SETTLE_DELAY_MS);}throw new Error(_0x336ffd(0xaa)+_0x250488+'.');}
@@ -1 +1 @@
1
- const a28_0x31cb6c=a28_0x2c28;function a28_0x2c28(_0x22c66e,_0x470c7c){_0x22c66e=_0x22c66e-0x84;const _0x5f1882=a28_0x5f18();let _0x2c2853=_0x5f1882[_0x22c66e];return _0x2c2853;}(function(_0x2994ad,_0x45443a){const _0x212bb8=a28_0x2c28,_0x463a21=_0x2994ad();while(!![]){try{const _0x3f7954=parseInt(_0x212bb8(0x91))/0x1*(-parseInt(_0x212bb8(0x92))/0x2)+parseInt(_0x212bb8(0x9b))/0x3*(-parseInt(_0x212bb8(0x8a))/0x4)+parseInt(_0x212bb8(0x8b))/0x5+parseInt(_0x212bb8(0x94))/0x6*(-parseInt(_0x212bb8(0x99))/0x7)+parseInt(_0x212bb8(0x9a))/0x8*(parseInt(_0x212bb8(0x93))/0x9)+parseInt(_0x212bb8(0x84))/0xa+-parseInt(_0x212bb8(0x85))/0xb;if(_0x3f7954===_0x45443a)break;else _0x463a21['push'](_0x463a21['shift']());}catch(_0x1d4212){_0x463a21['push'](_0x463a21['shift']());}}}(a28_0x5f18,0x9d62a));import{getBffScriptInfo}from'../../core/api-client.js';function a28_0x5f18(){const _0x423832=['195419SqRIFn','40PaDPyK','6OySigB','12267400qlynqo','5194255vUUSGY','number','scriptContent','updatedTime','description','1805164vFfSHm','6260615mNgpDc','Get\x20BFF\x20script\x20details\x20by\x20ID','Script\x20ID','Return\x20full\x20raw\x20script\x20object','num','boolean','616089XSQUHa','2ThREJY','583497fhOEvP','36CvObqz','verbose','scriptType','appCode','(none)'];a28_0x5f18=function(){return _0x423832;};return a28_0x5f18();}export const bffDetail={'service':'bff','command':'detail','description':a28_0x31cb6c(0x8c),'risk':'read','flags':[{'name':'id','type':a28_0x31cb6c(0x86),'required':!![],'description':a28_0x31cb6c(0x8d)},{'name':'verbose','type':a28_0x31cb6c(0x90),'description':a28_0x31cb6c(0x8e)}],async 'execute'(_0x3dd679){const _0x35e727=a28_0x31cb6c,_0x1b940a=await getBffScriptInfo(_0x3dd679[_0x35e727(0x8f)]('id')),_0x35636d=_0x3dd679['bool'](_0x35e727(0x95));if(_0x35636d)return{'ok':!![],'data':_0x1b940a};return{'ok':!![],'data':{'id':_0x1b940a['id'],'appCode':_0x1b940a[_0x35e727(0x97)],'scriptType':_0x1b940a[_0x35e727(0x96)],'description':_0x1b940a[_0x35e727(0x89)]||_0x35e727(0x98),'createdTime':_0x1b940a['createdTime']??'','updatedTime':_0x1b940a[_0x35e727(0x88)]??'','scriptContent':_0x1b940a[_0x35e727(0x87)]??''}};}};
1
+ const a28_0x24b155=a28_0x3e81;function a28_0x21d4(){const _0xbc9fd3=['249036vZvsrZ','detail','1017464ofpdxQ','44210CyemNS','Script\x20ID','number','16065288beQLIi','(none)','10NXOikL','updatedTime','verbose','Get\x20BFF\x20script\x20details\x20by\x20ID','createdTime','boolean','Return\x20full\x20raw\x20script\x20object','90RQuTNX','1024834cfYLzv','description','232337xMEcxo','bff','1362051WRvvva','scriptContent','212WQwDTb','read','num'];a28_0x21d4=function(){return _0xbc9fd3;};return a28_0x21d4();}function a28_0x3e81(_0x15d585,_0x451fdc){_0x15d585=_0x15d585-0x13d;const _0x21d4af=a28_0x21d4();let _0x3e810d=_0x21d4af[_0x15d585];return _0x3e810d;}(function(_0x431234,_0x2368bf){const _0x8a297=a28_0x3e81,_0x3d746b=_0x431234();while(!![]){try{const _0x22fe8c=-parseInt(_0x8a297(0x150))/0x1+-parseInt(_0x8a297(0x147))/0x2+-parseInt(_0x8a297(0x14b))/0x3+parseInt(_0x8a297(0x14d))/0x4*(parseInt(_0x8a297(0x153))/0x5)+parseInt(_0x8a297(0x146))/0x6*(-parseInt(_0x8a297(0x149))/0x7)+-parseInt(_0x8a297(0x152))/0x8+parseInt(_0x8a297(0x13d))/0x9*(parseInt(_0x8a297(0x13f))/0xa);if(_0x22fe8c===_0x2368bf)break;else _0x3d746b['push'](_0x3d746b['shift']());}catch(_0x56c560){_0x3d746b['push'](_0x3d746b['shift']());}}}(a28_0x21d4,0x64dd4));import{getBffScriptInfo}from'../../core/api-client.js';export const bffDetail={'service':a28_0x24b155(0x14a),'command':a28_0x24b155(0x151),'description':a28_0x24b155(0x142),'risk':a28_0x24b155(0x14e),'flags':[{'name':'id','type':a28_0x24b155(0x155),'required':!![],'description':a28_0x24b155(0x154)},{'name':a28_0x24b155(0x141),'type':a28_0x24b155(0x144),'description':a28_0x24b155(0x145)}],async 'execute'(_0x43ac2c){const _0x6091e9=a28_0x24b155,_0x808f8f=await getBffScriptInfo(_0x43ac2c[_0x6091e9(0x14f)]('id')),_0x18ef8d=_0x43ac2c['bool']('verbose');if(_0x18ef8d)return{'ok':!![],'data':_0x808f8f};return{'ok':!![],'data':{'id':_0x808f8f['id'],'appCode':_0x808f8f['appCode'],'scriptType':_0x808f8f['scriptType'],'description':_0x808f8f[_0x6091e9(0x148)]||_0x6091e9(0x13e),'createdTime':_0x808f8f[_0x6091e9(0x143)]??'','updatedTime':_0x808f8f[_0x6091e9(0x140)]??'','scriptContent':_0x808f8f[_0x6091e9(0x14c)]??''}};}};
@@ -1 +1 @@
1
- (function(_0x5ec853,_0x963bf6){const _0x3d356e=a29_0xb4f3,_0x303ad7=_0x5ec853();while(!![]){try{const _0x16615a=-parseInt(_0x3d356e(0x8e))/0x1*(-parseInt(_0x3d356e(0x86))/0x2)+-parseInt(_0x3d356e(0x8a))/0x3*(-parseInt(_0x3d356e(0x8b))/0x4)+-parseInt(_0x3d356e(0x8f))/0x5+-parseInt(_0x3d356e(0x8d))/0x6*(parseInt(_0x3d356e(0x89))/0x7)+parseInt(_0x3d356e(0x88))/0x8*(-parseInt(_0x3d356e(0x8c))/0x9)+-parseInt(_0x3d356e(0x87))/0xa+parseInt(_0x3d356e(0x85))/0xb;if(_0x16615a===_0x963bf6)break;else _0x303ad7['push'](_0x303ad7['shift']());}catch(_0x36ba52){_0x303ad7['push'](_0x303ad7['shift']());}}}(a29_0xaece,0x408fa));import{bffList}from'../../commands/bff/list.js';import{bffDetail}from'../../commands/bff/detail.js';function a29_0xaece(){const _0x452e42=['8842042aZeITT','468luvJEo','3489070tQZvYW','904UwZLkb','7DiheRV','3042QglWLN','2036WRVqlY','23481MSxEjv','1424262ZHtqXI','619noTeQR','1596255NJmmXR'];a29_0xaece=function(){return _0x452e42;};return a29_0xaece();}import{bffStatus}from'../../commands/bff/status.js';import{bffCreate}from'../../commands/bff/create.js';import{bffPush}from'../../commands/bff/push.js';import{bffPull}from'../../commands/bff/pull.js';import{bffDelete}from'../../commands/bff/delete.js';function a29_0xb4f3(_0x9d60b4,_0x6a5b51){_0x9d60b4=_0x9d60b4-0x85;const _0xaeceb6=a29_0xaece();let _0xb4f393=_0xaeceb6[_0x9d60b4];return _0xb4f393;}export const bffDefinitions=[bffList,bffDetail,bffStatus,bffCreate,bffPush,bffPull,bffDelete];
1
+ (function(_0x1a0d6d,_0x1efa70){const _0xa177a7=a29_0x1fe4,_0xe8f6ed=_0x1a0d6d();while(!![]){try{const _0x5164fc=-parseInt(_0xa177a7(0x1e8))/0x1+parseInt(_0xa177a7(0x1e9))/0x2*(-parseInt(_0xa177a7(0x1e4))/0x3)+-parseInt(_0xa177a7(0x1e5))/0x4+-parseInt(_0xa177a7(0x1e6))/0x5+-parseInt(_0xa177a7(0x1e2))/0x6+parseInt(_0xa177a7(0x1e3))/0x7*(parseInt(_0xa177a7(0x1e1))/0x8)+-parseInt(_0xa177a7(0x1e7))/0x9*(-parseInt(_0xa177a7(0x1e0))/0xa);if(_0x5164fc===_0x1efa70)break;else _0xe8f6ed['push'](_0xe8f6ed['shift']());}catch(_0x77a4dd){_0xe8f6ed['push'](_0xe8f6ed['shift']());}}}(a29_0x9eee,0xe354a));import{bffList}from'../../commands/bff/list.js';import{bffDetail}from'../../commands/bff/detail.js';import{bffStatus}from'../../commands/bff/status.js';import{bffCreate}from'../../commands/bff/create.js';import{bffPush}from'../../commands/bff/push.js';import{bffPull}from'../../commands/bff/pull.js';import{bffDelete}from'../../commands/bff/delete.js';function a29_0x1fe4(_0x86d05,_0x16e923){_0x86d05=_0x86d05-0x1e0;const _0x9eee9=a29_0x9eee();let _0x1fe46a=_0x9eee9[_0x86d05];return _0x1fe46a;}function a29_0x9eee(){const _0x45cdc3=['2799ewZWsq','5514724QJlomy','3764980GhMDXe','9bmsxio','750148jOmEsW','2102bpYKuj','42390290pYNXHX','8464072tuLqgV','3020904dIiJcN','7ZsfHpG'];a29_0x9eee=function(){return _0x45cdc3;};return a29_0x9eee();}export const bffDefinitions=[bffList,bffDetail,bffStatus,bffCreate,bffPush,bffPull,bffDelete];
@@ -1 +1 @@
1
- const a30_0x255bf5=a30_0x12bf;(function(_0x2b96ac,_0x560c31){const _0x3a4514=a30_0x12bf,_0x54920a=_0x2b96ac();while(!![]){try{const _0x53c7ae=-parseInt(_0x3a4514(0x14e))/0x1+-parseInt(_0x3a4514(0x151))/0x2+-parseInt(_0x3a4514(0x140))/0x3+parseInt(_0x3a4514(0x14c))/0x4+parseInt(_0x3a4514(0x158))/0x5+parseInt(_0x3a4514(0x149))/0x6*(parseInt(_0x3a4514(0x156))/0x7)+-parseInt(_0x3a4514(0x150))/0x8*(-parseInt(_0x3a4514(0x142))/0x9);if(_0x53c7ae===_0x560c31)break;else _0x54920a['push'](_0x54920a['shift']());}catch(_0x8c1b2c){_0x54920a['push'](_0x54920a['shift']());}}}(a30_0x1c6c,0x354af));function a30_0x1c6c(){const _0x21fa71=['bool','214947GSlpLV','appCode','176xgHhSM','649736apQoxc','read','bff','description','string','1178387fmXspN','Filter\x20by\x20script\x20name','564785pnMyGL','str','ENDPOINT','map','list','114153SUdvCj','Script\x20type\x20filter','83511WIyvNi','boolean','name','verbose','Return\x20full\x20script\x20objects','type','COMMON','12cToegl','(unnamed)','No\x20BFF\x20scripts\x20found.','569504hcgXHd'];a30_0x1c6c=function(){return _0x21fa71;};return a30_0x1c6c();}function a30_0x12bf(_0x5844ec,_0x5d30a6){_0x5844ec=_0x5844ec-0x13e;const _0x1c6cc2=a30_0x1c6c();let _0x12bf1d=_0x1c6cc2[_0x5844ec];return _0x12bf1d;}import{listBffScripts}from'../../core/api-client.js';export const bffList={'service':a30_0x255bf5(0x153),'command':a30_0x255bf5(0x13f),'description':'List\x20BFF\x20scripts','risk':a30_0x255bf5(0x152),'flags':[{'name':a30_0x255bf5(0x147),'type':'string','description':a30_0x255bf5(0x141),'default':a30_0x255bf5(0x15a),'enum':['ENDPOINT',a30_0x255bf5(0x148)]},{'name':'name','type':a30_0x255bf5(0x155),'description':a30_0x255bf5(0x157)},{'name':'verbose','type':a30_0x255bf5(0x143),'description':a30_0x255bf5(0x146)}],async 'execute'(_0x3c4159){const _0x248757=a30_0x255bf5,_0x192907=await listBffScripts(_0x3c4159[_0x248757(0x14f)],_0x3c4159[_0x248757(0x159)](_0x248757(0x147)),{'scriptName':_0x3c4159[_0x248757(0x159)](_0x248757(0x144))||undefined}),_0x11eeed=_0x3c4159[_0x248757(0x14d)](_0x248757(0x145));return{'ok':!![],'data':_0x11eeed?_0x192907:_0x192907[_0x248757(0x13e)](_0x57f3c9=>({'id':_0x57f3c9['id'],'functionName':_0x57f3c9['functionName']??'','description':_0x57f3c9[_0x248757(0x154)]||_0x248757(0x14a),'scriptType':_0x57f3c9['scriptType']})),'message':_0x192907['length']===0x0?_0x248757(0x14b):undefined};}};
1
+ const a30_0x480423=a30_0x2f9c;(function(_0x1b77dd,_0xa01d6){const _0x2a0306=a30_0x2f9c,_0x295bb2=_0x1b77dd();while(!![]){try{const _0x24e1e6=-parseInt(_0x2a0306(0x116))/0x1+parseInt(_0x2a0306(0x120))/0x2*(-parseInt(_0x2a0306(0x12c))/0x3)+-parseInt(_0x2a0306(0x123))/0x4*(parseInt(_0x2a0306(0x113))/0x5)+parseInt(_0x2a0306(0x118))/0x6*(-parseInt(_0x2a0306(0x126))/0x7)+-parseInt(_0x2a0306(0x11c))/0x8*(parseInt(_0x2a0306(0x11f))/0x9)+-parseInt(_0x2a0306(0x11b))/0xa+parseInt(_0x2a0306(0x11e))/0xb;if(_0x24e1e6===_0xa01d6)break;else _0x295bb2['push'](_0x295bb2['shift']());}catch(_0xf36c33){_0x295bb2['push'](_0x295bb2['shift']());}}}(a30_0x5511,0xc7bf5));function a30_0x5511(){const _0x50b07f=['7848318FFxUom','COMMON','scriptType','12473530MvSPcA','75736JgdWAI','Script\x20type\x20filter','81079999AjFrDp','693aTEdmi','562322VXRtNU','verbose','str','1138612rNRFnI','description','Return\x20full\x20script\x20objects','7PBVTbX','appCode','List\x20BFF\x20scripts','type','length','No\x20BFF\x20scripts\x20found.','15UwamDW','ENDPOINT','functionName','map','name','20zbyxlU','read','Filter\x20by\x20script\x20name','723962ZMuubg','string'];a30_0x5511=function(){return _0x50b07f;};return a30_0x5511();}function a30_0x2f9c(_0x1cb4df,_0x553b7d){_0x1cb4df=_0x1cb4df-0x112;const _0x551140=a30_0x5511();let _0x2f9c39=_0x551140[_0x1cb4df];return _0x2f9c39;}import{listBffScripts}from'../../core/api-client.js';export const bffList={'service':'bff','command':'list','description':a30_0x480423(0x128),'risk':a30_0x480423(0x114),'flags':[{'name':a30_0x480423(0x129),'type':'string','description':a30_0x480423(0x11d),'default':a30_0x480423(0x12d),'enum':['ENDPOINT',a30_0x480423(0x119)]},{'name':a30_0x480423(0x112),'type':a30_0x480423(0x117),'description':a30_0x480423(0x115)},{'name':a30_0x480423(0x121),'type':'boolean','description':a30_0x480423(0x125)}],async 'execute'(_0x213d48){const _0x20d5de=a30_0x480423,_0x5e4e20=await listBffScripts(_0x213d48[_0x20d5de(0x127)],_0x213d48['str']('type'),{'scriptName':_0x213d48[_0x20d5de(0x122)]('name')||undefined}),_0x5f5659=_0x213d48['bool']('verbose');return{'ok':!![],'data':_0x5f5659?_0x5e4e20:_0x5e4e20[_0x20d5de(0x12f)](_0xc3443a=>({'id':_0xc3443a['id'],'functionName':_0xc3443a[_0x20d5de(0x12e)]??'','description':_0xc3443a[_0x20d5de(0x124)]||'(unnamed)','scriptType':_0xc3443a[_0x20d5de(0x11a)]})),'message':_0x5e4e20[_0x20d5de(0x12a)]===0x0?_0x20d5de(0x12b):undefined};}};
@@ -1 +1 @@
1
- const a31_0x180738=a31_0x2202;(function(_0x545954,_0x4f02d5){const _0x2d0cbb=a31_0x2202,_0xdb1ee8=_0x545954();while(!![]){try{const _0x532969=-parseInt(_0x2d0cbb(0x12c))/0x1*(parseInt(_0x2d0cbb(0x15e))/0x2)+-parseInt(_0x2d0cbb(0x163))/0x3*(-parseInt(_0x2d0cbb(0x130))/0x4)+-parseInt(_0x2d0cbb(0x134))/0x5+-parseInt(_0x2d0cbb(0x14b))/0x6*(parseInt(_0x2d0cbb(0x158))/0x7)+parseInt(_0x2d0cbb(0x148))/0x8+parseInt(_0x2d0cbb(0x135))/0x9*(parseInt(_0x2d0cbb(0x12e))/0xa)+-parseInt(_0x2d0cbb(0x142))/0xb;if(_0x532969===_0x4f02d5)break;else _0xdb1ee8['push'](_0xdb1ee8['shift']());}catch(_0xadfe45){_0xdb1ee8['push'](_0xdb1ee8['shift']());}}}(a31_0x595b,0xa6965));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';function a31_0x595b(){const _0x5c504=['COMMON','question','lockKey','&type=','hookLocation','stderr','string','72ZEqxlw','/api/management/library/scripts/list?appCode=','291070KCoAqV','type','117688PTDPaQ','scriptType','str','trim','5743180nKUxPl','342viRypz','\x20failed','bff','toLowerCase','ENDPOINT','filePath','bool','\x22\x20not\x20found\x20after\x20ensureLockScope.','push','message','unresolvable\x20target\x20path','Remote\x20script\x20missing\x20content.','datasetCode','6854661jDoHHa','alias','map','scriptsRoot','--type\x20must\x20be\x20COMMON,\x20ENDPOINT,\x20or\x20HOOK.','appCode','7793552wWzOwf','boolean','\x20pulled,\x20','408EEdPjt','skipped','Pull\x20only\x20this\x20script\x20type','Lock\x20scope\x20for\x20app\x20\x22','toISOString','length','lastSync','yes','Force\x20pull\x20cancelled.','lockFilePath','\x20remote\x20BFF\x20script(s)\x20for\x20pull','apiDir','would_pull','74256AhLqIz','operationType','functions','stringify','apps','HOOK','634HDYhmA','Pull\x20remote\x20BFF\x20scripts\x20to\x20local','pull','force','cancelled','114srLJeE','all','Force\x20pull\x20will\x20overwrite\x20local\x20unsynced\x20changes.\x20Continue?\x20[y/N]\x20','Would\x20inspect\x20','functionNode','stdin','Force\x20overwrite\x20local\x20unsynced\x20changes','No\x20remote\x20BFF\x20scripts\x20found.','Remote\x20script\x20missing\x20id.','scriptContent'];a31_0x595b=function(){return _0x5c504;};return a31_0x595b();}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_0x180738(0x137),'command':a31_0x180738(0x160),'description':a31_0x180738(0x15f),'risk':'write','flags':[{'name':a31_0x180738(0x12f),'type':a31_0x180738(0x12b),'description':a31_0x180738(0x14d),'enum':[a31_0x180738(0x125),a31_0x180738(0x139),a31_0x180738(0x15d)]},{'name':'force','type':a31_0x180738(0x149),'description':a31_0x180738(0x121)}],async 'dryRun'(_0x5cdd36){const _0x254016=a31_0x180738,_0x49c78a=loadBffProjectConfig(_0x5cdd36[_0x254016(0x147)]),_0x2cb64d=await readBffLockFile(_0x49c78a[_0x254016(0x154)]),{appLock:_0x5538b7}=ensureLockScope(_0x2cb64d??createEmptyBffLock(),_0x5cdd36[_0x254016(0x147)],_0x49c78a[_0x254016(0x145)],'pull'),_0xd2dcff=normalizeBffType(_0x5cdd36['str'](_0x254016(0x12f)))??undefined,_0x3bee87=buildDatasetCodeToAliasMap(_0x5cdd36['apiDir'],_0x5cdd36[_0x254016(0x147)]),[_0x22e610,_0x179b2c]=await Promise[_0x254016(0x164)]([listBffScripts(_0x5cdd36['appCode'],_0xd2dcff),getBffScriptStatistics(_0x5cdd36[_0x254016(0x147)])]),_0x15a6ec=createHookLocationMap(_0x179b2c),_0x4e72e4=[];for(const _0x451b8c of _0x22e610){const _0x38543a=resolveRemoteScriptTarget(_0x49c78a,_0x451b8c,_0x15a6ec,_0x5538b7[_0x254016(0x15a)],_0x3bee87);if(!_0x38543a){_0x4e72e4[_0x254016(0x13d)]({'scriptType':_0x451b8c[_0x254016(0x131)],'functionName':_0x451b8c['functionName']??'','status':_0x254016(0x14c),'reason':_0x254016(0x13f)});continue;}const _0x4f2612=_0x5538b7['functions'][_0x38543a[_0x254016(0x127)]],_0x5d844c=_0x451b8c[_0x254016(0x124)]!=null?computeContentHash(_0x451b8c[_0x254016(0x124)]):undefined,_0x43b095=await hasUnsyncedLocalChanges(_0x38543a[_0x254016(0x13a)],_0x4f2612,_0x5d844c);_0x4e72e4['push']({'lockKey':_0x38543a[_0x254016(0x127)],'filePath':_0x38543a[_0x254016(0x13a)],'remoteId':_0x451b8c['id']??null,'status':_0x43b095?'conflict':_0x254016(0x157)});}return{'method':'GET','url':_0x254016(0x12d)+_0x5cdd36[_0x254016(0x147)]+(_0xd2dcff?_0x254016(0x128)+_0xd2dcff:''),'body':{'appCode':_0x5cdd36[_0x254016(0x147)],'filterType':_0xd2dcff??null,'files':_0x4e72e4},'description':_0x254016(0x166)+_0x4e72e4[_0x254016(0x150)]+_0x254016(0x155)};},async 'execute'(_0x276c14){const _0x4be06c=a31_0x180738,_0x29f642=loadBffProjectConfig(_0x276c14[_0x4be06c(0x147)]),_0x4ee5a7=await readBffLockFile(_0x29f642['lockFilePath']),{lockData:_0x4a6acf,appLock:_0x5e7824}=ensureLockScope(_0x4ee5a7??createEmptyBffLock(),_0x276c14[_0x4be06c(0x147)],_0x29f642[_0x4be06c(0x145)],_0x4be06c(0x160)),_0x10e6bf=normalizeBffType(_0x276c14[_0x4be06c(0x132)](_0x4be06c(0x12f)))??undefined;if(_0x276c14[_0x4be06c(0x132)](_0x4be06c(0x12f))&&!_0x10e6bf)throw CliErrors['validation'](_0x4be06c(0x146));const [_0x16ca76,_0x570ed0]=await Promise[_0x4be06c(0x164)]([listBffScripts(_0x276c14[_0x4be06c(0x147)],_0x10e6bf),getBffScriptStatistics(_0x276c14[_0x4be06c(0x147)])]);if(_0x16ca76[_0x4be06c(0x150)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x4be06c(0x122)};const _0x278bdd=_0x276c14[_0x4be06c(0x13b)](_0x4be06c(0x161));if(_0x278bdd&&!_0x276c14['nonInteractive']){const _0x49fb8e=await confirmForce();if(!_0x49fb8e)throw CliErrors[_0x4be06c(0x162)](_0x4be06c(0x153));}if(_0x278bdd&&_0x276c14['nonInteractive']){}const _0xf3e3b1=buildDatasetCodeToAliasMap(_0x276c14[_0x4be06c(0x156)],_0x276c14[_0x4be06c(0x147)]),_0x401c4d=createHookLocationMap(_0x570ed0),_0x30b5a4=JSON['parse'](JSON[_0x4be06c(0x15b)](_0x4a6acf)),_0x739cc6=_0x276c14[_0x4be06c(0x147)],_0x2cbcb6=_0x30b5a4[_0x4be06c(0x15c)][_0x739cc6];if(!_0x2cbcb6)throw new Error(_0x4be06c(0x14e)+_0x739cc6+_0x4be06c(0x13c));const _0x13f7c7=[],_0x2cc943=[],_0x27da6f=[];for(const _0x4cbfa7 of _0x16ca76){const _0x20b020=resolveRemoteScriptTarget(_0x29f642,_0x4cbfa7,_0x401c4d,_0x5e7824[_0x4be06c(0x15a)],_0xf3e3b1);if(!_0x20b020){_0x2cc943['push']({'lockKey':_0x4cbfa7['scriptType']+'/'+_0x4cbfa7['functionName'],'reason':_0x4be06c(0x13f)});continue;}const _0x3c1184=_0x5e7824['functions'][_0x20b020[_0x4be06c(0x127)]];try{if(!_0x4cbfa7['id'])throw new Error(_0x4be06c(0x123));if(_0x4cbfa7['scriptContent']==null)throw new Error(_0x4be06c(0x140));const _0x25b857=_0x4cbfa7[_0x4be06c(0x124)],_0x3202f4=computeContentHash(_0x25b857);if(!_0x278bdd){const _0x3cdede=await hasUnsyncedLocalChanges(_0x20b020['filePath'],_0x3c1184,_0x3202f4);if(_0x3cdede){_0x2cc943[_0x4be06c(0x13d)]({'lockKey':_0x20b020[_0x4be06c(0x127)],'reason':'local\x20unsynced\x20changes'});continue;}}await ensureParentDirectory(_0x20b020['filePath']),await writeFile(_0x20b020[_0x4be06c(0x13a)],_0x25b857,'utf8');const _0x16fa3b={'hash':_0x3202f4,'remoteId':_0x4cbfa7['id'],'version':_0x4cbfa7['version']};_0x20b020['type']===_0x4be06c(0x15d)&&_0x20b020[_0x4be06c(0x129)]&&(_0x16fa3b[_0x4be06c(0x143)]=_0x20b020[_0x4be06c(0x129)][_0x4be06c(0x143)],_0x16fa3b['datasetCode']=_0x20b020[_0x4be06c(0x129)][_0x4be06c(0x141)],_0x16fa3b[_0x4be06c(0x159)]=_0x20b020[_0x4be06c(0x129)]['operationType'],_0x16fa3b[_0x4be06c(0x167)]=_0x20b020[_0x4be06c(0x129)][_0x4be06c(0x167)]),_0x2cbcb6['functions'][_0x20b020[_0x4be06c(0x127)]]=_0x16fa3b,_0x13f7c7[_0x4be06c(0x13d)]({'lockKey':_0x20b020['lockKey'],'remoteId':_0x4cbfa7['id']});}catch(_0x127ccd){_0x27da6f['push']({'lockKey':_0x20b020['lockKey'],'error':_0x127ccd instanceof Error?_0x127ccd[_0x4be06c(0x13e)]:String(_0x127ccd)});}}return _0x2cbcb6[_0x4be06c(0x151)]=new Date()[_0x4be06c(0x14f)](),await writeBffLockFile(_0x29f642['lockFilePath'],_0x30b5a4),{'ok':_0x27da6f[_0x4be06c(0x150)]===0x0,'data':{'pulled':_0x13f7c7,'skipped':_0x2cc943,'failed':_0x27da6f},'message':'Pull\x20complete:\x20'+_0x13f7c7[_0x4be06c(0x150)]+_0x4be06c(0x14a)+_0x2cc943[_0x4be06c(0x150)]+'\x20skipped,\x20'+_0x27da6f[_0x4be06c(0x150)]+_0x4be06c(0x136)};}};function a31_0x2202(_0x44a248,_0x1703c7){_0x44a248=_0x44a248-0x120;const _0x595b16=a31_0x595b();let _0x220245=_0x595b16[_0x44a248];return _0x220245;}async function hasUnsyncedLocalChanges(_0x587384,_0x332f62,_0x4f1407){if(!await fileExists(_0x587384))return![];const _0x2ebf81=await computeFileHash(_0x587384);if(!_0x332f62)return _0x4f1407?_0x2ebf81!==_0x4f1407:!![];return _0x2ebf81!==_0x332f62['hash'];}function buildDatasetCodeToAliasMap(_0x22233f,_0x191c93){const _0x67d55d=a31_0x180738,_0x177d82=loadAliasMap(_0x22233f,undefined,resolveApiFilePath(_0x22233f,_0x191c93));return new Map(_0x177d82[_0x67d55d(0x144)](_0x5345d5=>[_0x5345d5['datasetCode'],_0x5345d5[_0x67d55d(0x143)]]));}async function confirmForce(){const _0x5db07d=a31_0x180738,_0x193ed3=createInterface({'input':process[_0x5db07d(0x120)],'output':process[_0x5db07d(0x12a)]}),_0xd65d3c=await new Promise(_0x5f0c7c=>{const _0x5ec89c=_0x5db07d;_0x193ed3[_0x5ec89c(0x126)](_0x5ec89c(0x165),_0x5f0c7c);});return _0x193ed3['close'](),['y',_0x5db07d(0x152)]['includes'](_0xd65d3c[_0x5db07d(0x133)]()[_0x5db07d(0x138)]());}
1
+ const a31_0xb5e7c5=a31_0x3e38;(function(_0x2d5ee2,_0x50073b){const _0x499fc3=a31_0x3e38,_0x548a8d=_0x2d5ee2();while(!![]){try{const _0x5e93b4=parseInt(_0x499fc3(0x19b))/0x1+parseInt(_0x499fc3(0x1ab))/0x2*(-parseInt(_0x499fc3(0x196))/0x3)+parseInt(_0x499fc3(0x18d))/0x4*(-parseInt(_0x499fc3(0x186))/0x5)+-parseInt(_0x499fc3(0x16f))/0x6+parseInt(_0x499fc3(0x19f))/0x7+-parseInt(_0x499fc3(0x181))/0x8+parseInt(_0x499fc3(0x1a3))/0x9*(parseInt(_0x499fc3(0x16d))/0xa);if(_0x5e93b4===_0x50073b)break;else _0x548a8d['push'](_0x548a8d['shift']());}catch(_0x344798){_0x548a8d['push'](_0x548a8d['shift']());}}}(a31_0x5d00,0x911f9));function a31_0x5d00(){const _0x1c9f66=['scriptsRoot','length','alias','\x20failed','Force\x20overwrite\x20local\x20unsynced\x20changes','validation','Remote\x20script\x20missing\x20id.','Force\x20pull\x20cancelled.','54915uPkXfT','apps','version','includes','type','895527epVbfU','unresolvable\x20target\x20path','filePath','Lock\x20scope\x20for\x20app\x20\x22','6027609YuqueJ','appCode','functionName','trim','10412154Tdawae','Would\x20inspect\x20','utf8','scriptContent','Remote\x20script\x20missing\x20content.','bff','hash','lockKey','114kuDbZr','bool','map','local\x20unsynced\x20changes','cancelled','Pull\x20complete:\x20','pull','\x20remote\x20BFF\x20script(s)\x20for\x20pull','conflict','force','10oxljDh','parse','1424718vrKUbG','operationType','nonInteractive','functions','datasetCode','Force\x20pull\x20will\x20overwrite\x20local\x20unsynced\x20changes.\x20Continue?\x20[y/N]\x20','would_pull','Pull\x20remote\x20BFF\x20scripts\x20to\x20local','toISOString','lockFilePath','toLowerCase','COMMON','scriptType','hookLocation','push','GET','HOOK','skipped','3426584BZnjeL','No\x20remote\x20BFF\x20scripts\x20found.','stderr','functionNode','\x20skipped,\x20','117295CdEYNc','stdin','message','\x22\x20not\x20found\x20after\x20ensureLockScope.','apiDir','all','str','104iZrWyk'];a31_0x5d00=function(){return _0x1c9f66;};return a31_0x5d00();}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_0xb5e7c5(0x1a8),'command':a31_0xb5e7c5(0x1b1),'description':a31_0xb5e7c5(0x176),'risk':'write','flags':[{'name':'type','type':'string','description':'Pull\x20only\x20this\x20script\x20type','enum':[a31_0xb5e7c5(0x17a),'ENDPOINT',a31_0xb5e7c5(0x17f)]},{'name':a31_0xb5e7c5(0x16c),'type':'boolean','description':a31_0xb5e7c5(0x192)}],async 'dryRun'(_0x2a4a7b){const _0x5c7b6f=a31_0xb5e7c5,_0x181ff9=loadBffProjectConfig(_0x2a4a7b[_0x5c7b6f(0x1a0)]),_0x46337f=await readBffLockFile(_0x181ff9['lockFilePath']),{appLock:_0x1339f5}=ensureLockScope(_0x46337f??createEmptyBffLock(),_0x2a4a7b[_0x5c7b6f(0x1a0)],_0x181ff9[_0x5c7b6f(0x18e)],_0x5c7b6f(0x1b1)),_0x331a27=normalizeBffType(_0x2a4a7b['str'](_0x5c7b6f(0x19a)))??undefined,_0x1ee3e5=buildDatasetCodeToAliasMap(_0x2a4a7b['apiDir'],_0x2a4a7b['appCode']),[_0x1ff21c,_0x4db55f]=await Promise[_0x5c7b6f(0x18b)]([listBffScripts(_0x2a4a7b[_0x5c7b6f(0x1a0)],_0x331a27),getBffScriptStatistics(_0x2a4a7b[_0x5c7b6f(0x1a0)])]),_0x19a2bf=createHookLocationMap(_0x4db55f),_0x58b235=[];for(const _0xff6ff7 of _0x1ff21c){const _0x34a5a5=resolveRemoteScriptTarget(_0x181ff9,_0xff6ff7,_0x19a2bf,_0x1339f5[_0x5c7b6f(0x172)],_0x1ee3e5);if(!_0x34a5a5){_0x58b235[_0x5c7b6f(0x17d)]({'scriptType':_0xff6ff7[_0x5c7b6f(0x17b)],'functionName':_0xff6ff7[_0x5c7b6f(0x1a1)]??'','status':_0x5c7b6f(0x180),'reason':_0x5c7b6f(0x19c)});continue;}const _0x3bfeed=_0x1339f5[_0x5c7b6f(0x172)][_0x34a5a5[_0x5c7b6f(0x1aa)]],_0x4b3b1e=_0xff6ff7[_0x5c7b6f(0x1a6)]!=null?computeContentHash(_0xff6ff7[_0x5c7b6f(0x1a6)]):undefined,_0x3ca623=await hasUnsyncedLocalChanges(_0x34a5a5[_0x5c7b6f(0x19d)],_0x3bfeed,_0x4b3b1e);_0x58b235[_0x5c7b6f(0x17d)]({'lockKey':_0x34a5a5[_0x5c7b6f(0x1aa)],'filePath':_0x34a5a5[_0x5c7b6f(0x19d)],'remoteId':_0xff6ff7['id']??null,'status':_0x3ca623?_0x5c7b6f(0x16b):_0x5c7b6f(0x175)});}return{'method':_0x5c7b6f(0x17e),'url':'/api/management/library/scripts/list?appCode='+_0x2a4a7b[_0x5c7b6f(0x1a0)]+(_0x331a27?'&type='+_0x331a27:''),'body':{'appCode':_0x2a4a7b[_0x5c7b6f(0x1a0)],'filterType':_0x331a27??null,'files':_0x58b235},'description':_0x5c7b6f(0x1a4)+_0x58b235['length']+_0x5c7b6f(0x16a)};},async 'execute'(_0x249af3){const _0x4790f5=a31_0xb5e7c5,_0x3ea664=loadBffProjectConfig(_0x249af3[_0x4790f5(0x1a0)]),_0x1344c8=await readBffLockFile(_0x3ea664[_0x4790f5(0x178)]),{lockData:_0x2183d6,appLock:_0x41ce36}=ensureLockScope(_0x1344c8??createEmptyBffLock(),_0x249af3[_0x4790f5(0x1a0)],_0x3ea664[_0x4790f5(0x18e)],_0x4790f5(0x1b1)),_0x259d6d=normalizeBffType(_0x249af3[_0x4790f5(0x18c)]('type'))??undefined;if(_0x249af3[_0x4790f5(0x18c)](_0x4790f5(0x19a))&&!_0x259d6d)throw CliErrors[_0x4790f5(0x193)]('--type\x20must\x20be\x20COMMON,\x20ENDPOINT,\x20or\x20HOOK.');const [_0x3385de,_0x4ad375]=await Promise[_0x4790f5(0x18b)]([listBffScripts(_0x249af3[_0x4790f5(0x1a0)],_0x259d6d),getBffScriptStatistics(_0x249af3[_0x4790f5(0x1a0)])]);if(_0x3385de[_0x4790f5(0x18f)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x4790f5(0x182)};const _0x361be7=_0x249af3[_0x4790f5(0x1ac)](_0x4790f5(0x16c));if(_0x361be7&&!_0x249af3[_0x4790f5(0x171)]){const _0x7f6df8=await confirmForce();if(!_0x7f6df8)throw CliErrors[_0x4790f5(0x1af)](_0x4790f5(0x195));}if(_0x361be7&&_0x249af3[_0x4790f5(0x171)]){}const _0x181a58=buildDatasetCodeToAliasMap(_0x249af3[_0x4790f5(0x18a)],_0x249af3['appCode']),_0x478803=createHookLocationMap(_0x4ad375),_0x1032ed=JSON[_0x4790f5(0x16e)](JSON['stringify'](_0x2183d6)),_0x5c5cf0=_0x249af3['appCode'],_0x30732f=_0x1032ed[_0x4790f5(0x197)][_0x5c5cf0];if(!_0x30732f)throw new Error(_0x4790f5(0x19e)+_0x5c5cf0+_0x4790f5(0x189));const _0x479062=[],_0x197324=[],_0x3c1f69=[];for(const _0x303e7a of _0x3385de){const _0x10c65e=resolveRemoteScriptTarget(_0x3ea664,_0x303e7a,_0x478803,_0x41ce36['functions'],_0x181a58);if(!_0x10c65e){_0x197324['push']({'lockKey':_0x303e7a[_0x4790f5(0x17b)]+'/'+_0x303e7a[_0x4790f5(0x1a1)],'reason':_0x4790f5(0x19c)});continue;}const _0x263f0a=_0x41ce36[_0x4790f5(0x172)][_0x10c65e[_0x4790f5(0x1aa)]];try{if(!_0x303e7a['id'])throw new Error(_0x4790f5(0x194));if(_0x303e7a[_0x4790f5(0x1a6)]==null)throw new Error(_0x4790f5(0x1a7));const _0x4b8bd4=_0x303e7a[_0x4790f5(0x1a6)],_0x5ea1cf=computeContentHash(_0x4b8bd4);if(!_0x361be7){const _0x41d980=await hasUnsyncedLocalChanges(_0x10c65e[_0x4790f5(0x19d)],_0x263f0a,_0x5ea1cf);if(_0x41d980){_0x197324['push']({'lockKey':_0x10c65e['lockKey'],'reason':_0x4790f5(0x1ae)});continue;}}await ensureParentDirectory(_0x10c65e[_0x4790f5(0x19d)]),await writeFile(_0x10c65e[_0x4790f5(0x19d)],_0x4b8bd4,_0x4790f5(0x1a5));const _0x24a6a9={'hash':_0x5ea1cf,'remoteId':_0x303e7a['id'],'version':_0x303e7a[_0x4790f5(0x198)]};_0x10c65e[_0x4790f5(0x19a)]===_0x4790f5(0x17f)&&_0x10c65e[_0x4790f5(0x17c)]&&(_0x24a6a9['alias']=_0x10c65e['hookLocation'][_0x4790f5(0x190)],_0x24a6a9[_0x4790f5(0x173)]=_0x10c65e[_0x4790f5(0x17c)]['datasetCode'],_0x24a6a9[_0x4790f5(0x170)]=_0x10c65e[_0x4790f5(0x17c)]['operationType'],_0x24a6a9[_0x4790f5(0x184)]=_0x10c65e[_0x4790f5(0x17c)]['functionNode']),_0x30732f[_0x4790f5(0x172)][_0x10c65e[_0x4790f5(0x1aa)]]=_0x24a6a9,_0x479062['push']({'lockKey':_0x10c65e[_0x4790f5(0x1aa)],'remoteId':_0x303e7a['id']});}catch(_0x60e0c){_0x3c1f69[_0x4790f5(0x17d)]({'lockKey':_0x10c65e[_0x4790f5(0x1aa)],'error':_0x60e0c instanceof Error?_0x60e0c[_0x4790f5(0x188)]:String(_0x60e0c)});}}return _0x30732f['lastSync']=new Date()[_0x4790f5(0x177)](),await writeBffLockFile(_0x3ea664[_0x4790f5(0x178)],_0x1032ed),{'ok':_0x3c1f69[_0x4790f5(0x18f)]===0x0,'data':{'pulled':_0x479062,'skipped':_0x197324,'failed':_0x3c1f69},'message':_0x4790f5(0x1b0)+_0x479062[_0x4790f5(0x18f)]+'\x20pulled,\x20'+_0x197324[_0x4790f5(0x18f)]+_0x4790f5(0x185)+_0x3c1f69[_0x4790f5(0x18f)]+_0x4790f5(0x191)};}};async function hasUnsyncedLocalChanges(_0x7006af,_0x451f6c,_0x493016){const _0x526a46=a31_0xb5e7c5;if(!await fileExists(_0x7006af))return![];const _0x10354e=await computeFileHash(_0x7006af);if(!_0x451f6c)return _0x493016?_0x10354e!==_0x493016:!![];return _0x10354e!==_0x451f6c[_0x526a46(0x1a9)];}function a31_0x3e38(_0x4e1240,_0x453a70){_0x4e1240=_0x4e1240-0x16a;const _0x5d0061=a31_0x5d00();let _0x3e3817=_0x5d0061[_0x4e1240];return _0x3e3817;}function buildDatasetCodeToAliasMap(_0x4a70a0,_0x22580e){const _0x3f190b=a31_0xb5e7c5,_0x39eac7=loadAliasMap(_0x4a70a0,undefined,resolveApiFilePath(_0x4a70a0,_0x22580e));return new Map(_0x39eac7[_0x3f190b(0x1ad)](_0x1b923a=>[_0x1b923a[_0x3f190b(0x173)],_0x1b923a[_0x3f190b(0x190)]]));}async function confirmForce(){const _0x181d85=a31_0xb5e7c5,_0x2c9e21=createInterface({'input':process[_0x181d85(0x187)],'output':process[_0x181d85(0x183)]}),_0xde11b6=await new Promise(_0x5516fa=>{const _0x45c0a4=_0x181d85;_0x2c9e21['question'](_0x45c0a4(0x174),_0x5516fa);});return _0x2c9e21['close'](),['y','yes'][_0x181d85(0x199)](_0xde11b6[_0x181d85(0x1a2)]()[_0x181d85(0x179)]());}
@@ -1 +1 @@
1
- const a32_0x246b19=a32_0x2f92;(function(_0x1b6dff,_0x5e7dbe){const _0x54d0a8=a32_0x2f92,_0x2443ab=_0x1b6dff();while(!![]){try{const _0x1f7f17=parseInt(_0x54d0a8(0xf0))/0x1*(-parseInt(_0x54d0a8(0x102))/0x2)+-parseInt(_0x54d0a8(0xec))/0x3*(parseInt(_0x54d0a8(0x10a))/0x4)+parseInt(_0x54d0a8(0x114))/0x5*(-parseInt(_0x54d0a8(0x11a))/0x6)+-parseInt(_0x54d0a8(0x129))/0x7+-parseInt(_0x54d0a8(0xdc))/0x8+-parseInt(_0x54d0a8(0x122))/0x9*(-parseInt(_0x54d0a8(0x104))/0xa)+parseInt(_0x54d0a8(0xe6))/0xb;if(_0x1f7f17===_0x5e7dbe)break;else _0x2443ab['push'](_0x2443ab['shift']());}catch(_0x4dd8bd){_0x2443ab['push'](_0x2443ab['shift']());}}}(a32_0x2d82,0xee5a9));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';function a32_0x2d82(){const _0x3d2735=['\x20skipped,\x20','bool','Incomplete\x20HOOK\x20path:\x20','scriptsRoot','length','datasetCode','lockFilePath','alias','filter','Force\x20push\x20ignoring\x20hash\x20protection','appCode','HOOK','Runtime\x20script\x20cache\x20cleared.','1802366IUHdVJ','push','2410Iqwuwo','operationType','would_push','functions','toISOString','Would\x20inspect\x20','959132YkZhge','\x22.\x20','type','datasetCodeToDataset','lastSync','join','high-risk-write','POST','hash','description','60DPHkIC','string','validation','aliasToDatasetCode','update','remoteId','665094dozODT',':\x20missing\x20remote\x20version.\x20Run\x20`push`\x20after\x20`pull`\x20to\x20sync\x20version\x20info.','script','values','boolean','/api/management/library/scripts/save','map','Run\x20`','28269RSVMpO','unchanged','code','filePath','runtime\x20cache\x20cleared','datasetId','Lock\x20scope\x20for\x20app\x20\x22','6617821CttvPh','\x20failed,\x20','COMMON','\x22\x20not\x20found\x20after\x20ensureLockScope.','Local\x20function\x20not\x20found:\x20','some','13700024qOskoi','name','apps','Lock\x20file\x20not\x20settled\x20after\x20push\x20for\x20','\x20uploaded,\x20','version','status','lockKey','str','force','64107362MyHhpG','bff','functionNode','No\x20local\x20BFF\x20functions\x20found.','message','Push\x20only\x20the\x20named\x20function\x20(requires\x20--type)','9rvtlOS','create','get','has','1ukrahN','cleared','parse','--name\x20requires\x20--type\x20to\x20identify\x20the\x20function.','set'];a32_0x2d82=function(){return _0x3d2735;};return a32_0x2d82();}import{normalizeBffType,scanLocalBffFunctions}from'../../core/bff/file-system.js';import{computeFileHash}from'../../core/bff/hash.js';import{createEmptyBffLock,ensureLockScope,readBffLockFile,writeBffLockFile}from'../../core/bff/lock.js';import{extractScriptDescription}from'../../core/bff/utils.js';import{sleep}from'../../utils/sleep.js';import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';const CACHE_CLEAR_ATTEMPTS=0x2,CACHE_CLEAR_INTERVAL_MS=0x12c;export const bffPush={'service':a32_0x246b19(0xe7),'command':'push','description':'Push\x20local\x20BFF\x20scripts\x20to\x20remote','risk':a32_0x246b19(0x110),'flags':[{'name':a32_0x246b19(0x10c),'type':a32_0x246b19(0x115),'description':'Push\x20only\x20this\x20script\x20type','enum':[a32_0x246b19(0x12b),'ENDPOINT','HOOK']},{'name':a32_0x246b19(0xdd),'type':a32_0x246b19(0x115),'description':a32_0x246b19(0xeb)},{'name':a32_0x246b19(0xe5),'type':a32_0x246b19(0x11e),'description':a32_0x246b19(0xfe)}],async 'dryRun'(_0x12d237){const _0x74599a=a32_0x246b19,_0x160f8d=loadBffProjectConfig(_0x12d237[_0x74599a(0xff)]),_0x25bfbd=await readBffLockFile(_0x160f8d[_0x74599a(0xfb)]),{appLock:_0x467c56}=ensureLockScope(_0x25bfbd??createEmptyBffLock(),_0x12d237[_0x74599a(0xff)],_0x160f8d[_0x74599a(0xf8)],_0x74599a(0x103)),_0x53f419=await getTargetFunctions(_0x160f8d,_0x12d237),_0x249edb=_0x12d237[_0x74599a(0xf6)](_0x74599a(0xe5)),_0x4d34bc=[];for(const _0x246291 of _0x53f419){const _0x4bc337=await computeFileHash(_0x246291[_0x74599a(0x125)]),_0x162f2c=_0x467c56[_0x74599a(0x107)][_0x246291[_0x74599a(0xe3)]],_0x1d8ba0=!!_0x162f2c&&_0x162f2c[_0x74599a(0x112)]===_0x4bc337;_0x4d34bc[_0x74599a(0x103)]({'lockKey':_0x246291['lockKey'],'filePath':_0x246291['filePath'],'remoteId':_0x162f2c?.['remoteId']??null,'mode':_0x162f2c?.[_0x74599a(0x119)]?_0x74599a(0x118):_0x74599a(0xed),'status':!_0x249edb&&_0x1d8ba0?'unchanged':_0x74599a(0x106)});}return{'method':_0x74599a(0x111),'url':_0x74599a(0x11f),'body':{'appCode':_0x12d237[_0x74599a(0xff)],'force':_0x249edb,'files':_0x4d34bc,'cacheClearAtRuntime':_0x4d34bc[_0x74599a(0x12e)](_0xfdba18=>_0xfdba18[_0x74599a(0xe2)]==='would_push'),'cacheClearAtRuntimeTimes':_0x4d34bc[_0x74599a(0x12e)](_0xd19098=>_0xd19098[_0x74599a(0xe2)]==='would_push')?CACHE_CLEAR_ATTEMPTS:0x0},'description':_0x74599a(0x109)+_0x4d34bc[_0x74599a(0xf9)]+'\x20local\x20BFF\x20script(s)\x20for\x20push\x20and\x20clear\x20runtime\x20cache\x20if\x20files\x20are\x20uploaded'};},async 'execute'(_0x47a5cd){const _0x4ac5d0=a32_0x246b19,_0x2a5233=loadBffProjectConfig(_0x47a5cd[_0x4ac5d0(0xff)]),_0x34cb98=await readBffLockFile(_0x2a5233[_0x4ac5d0(0xfb)]),{lockData:_0x561658,appLock:_0x50e335}=ensureLockScope(_0x34cb98??createEmptyBffLock(),_0x47a5cd[_0x4ac5d0(0xff)],_0x2a5233[_0x4ac5d0(0xf8)],'push'),_0xba348a=await getTargetFunctions(_0x2a5233,_0x47a5cd);if(_0xba348a['length']===0x0)return{'ok':!![],'data':{'uploaded':[],'skipped':[],'failed':[]},'message':_0x4ac5d0(0xe9)};const _0x115374=_0x47a5cd[_0x4ac5d0(0xf6)](_0x4ac5d0(0xe5)),_0x7a5155=JSON[_0x4ac5d0(0xf2)](JSON['stringify'](_0x561658)),_0x3fb6f4=_0x7a5155[_0x4ac5d0(0xde)][_0x47a5cd[_0x4ac5d0(0xff)]];if(!_0x3fb6f4)throw new Error(_0x4ac5d0(0x128)+_0x47a5cd['appCode']+_0x4ac5d0(0x12c));const _0x12e22b=await buildHookMaps(_0x47a5cd[_0x4ac5d0(0xff)],_0x47a5cd['apiDir'],_0xba348a,_0x3fb6f4),_0x213313=[],_0x114c79=[],_0x16da27=[];for(const _0x3dc7a6 of _0xba348a){const _0x3588ac=await computeFileHash(_0x3dc7a6['filePath']),_0x34f640=_0x3fb6f4[_0x4ac5d0(0x107)][_0x3dc7a6[_0x4ac5d0(0xe3)]];if(!_0x115374&&_0x34f640&&_0x34f640[_0x4ac5d0(0x112)]===_0x3588ac){_0x114c79[_0x4ac5d0(0x103)]({'lockKey':_0x3dc7a6[_0x4ac5d0(0xe3)],'reason':_0x4ac5d0(0x123)});continue;}try{await uploadSingleFunction(_0x47a5cd[_0x4ac5d0(0xff)],_0x3dc7a6,_0x3fb6f4,_0x12e22b);const _0x4e065d=_0x3fb6f4[_0x4ac5d0(0x107)][_0x3dc7a6[_0x4ac5d0(0xe3)]];_0x213313[_0x4ac5d0(0x103)]({'lockKey':_0x3dc7a6[_0x4ac5d0(0xe3)],'remoteId':_0x4e065d?.[_0x4ac5d0(0x119)]??0x0});}catch(_0x18afb7){_0x16da27[_0x4ac5d0(0x103)]({'lockKey':_0x3dc7a6['lockKey'],'error':_0x18afb7 instanceof Error?_0x18afb7[_0x4ac5d0(0xea)]:String(_0x18afb7)});}}_0x3fb6f4[_0x4ac5d0(0x10e)]=new Date()[_0x4ac5d0(0x108)](),await writeBffLockFile(_0x2a5233['lockFilePath'],_0x7a5155),await waitForUploadedLockEntries(_0x2a5233[_0x4ac5d0(0xfb)],_0x47a5cd[_0x4ac5d0(0xff)],_0x213313[_0x4ac5d0(0x120)](_0x4e2b16=>_0x4e2b16[_0x4ac5d0(0xe3)]));let _0x529c46={'attempted':![],'cleared':![]};if(_0x213313[_0x4ac5d0(0xf9)]>0x0)try{let _0x22826d='';for(let _0x10db62=0x0;_0x10db62<CACHE_CLEAR_ATTEMPTS;_0x10db62+=0x1){_0x22826d=await clearBffScriptCache(),_0x10db62<CACHE_CLEAR_ATTEMPTS-0x1&&await sleep(CACHE_CLEAR_INTERVAL_MS);}_0x529c46={'attempted':!![],'cleared':!![],'message':_0x22826d||_0x4ac5d0(0x101)};}catch(_0x32dc1f){_0x529c46={'attempted':!![],'cleared':![],'error':_0x32dc1f instanceof Error?_0x32dc1f[_0x4ac5d0(0xea)]:String(_0x32dc1f)};}const _0x15cfd4=_0x16da27['length']===0x0&&(_0x529c46['attempted']?_0x529c46[_0x4ac5d0(0xf1)]:!![]),_0x8322ab=_0x529c46['attempted']?_0x529c46[_0x4ac5d0(0xf1)]?_0x4ac5d0(0x126):'runtime\x20cache\x20clear\x20failed':'runtime\x20cache\x20not\x20needed';return{'ok':_0x15cfd4,'data':{'uploaded':_0x213313,'skipped':_0x114c79,'failed':_0x16da27,'cacheClear':_0x529c46},'message':'Push\x20complete:\x20'+_0x213313['length']+_0x4ac5d0(0xe0)+_0x114c79[_0x4ac5d0(0xf9)]+_0x4ac5d0(0xf5)+_0x16da27[_0x4ac5d0(0xf9)]+_0x4ac5d0(0x12a)+_0x8322ab};}};async function getTargetFunctions(_0x43f91d,_0x45b996){const _0x32625c=a32_0x246b19,_0x1cdbcf=_0x45b996['str'](_0x32625c(0x10c)),_0x59f7d0=_0x45b996[_0x32625c(0xe4)](_0x32625c(0xdd)),_0x535253=normalizeBffType(_0x1cdbcf)??undefined;if(_0x59f7d0&&!_0x535253)throw CliErrors[_0x32625c(0x116)](_0x32625c(0xf3));const _0x1bd5ce=await scanLocalBffFunctions(_0x43f91d,_0x535253);if(_0x59f7d0){const _0xeeacb5=_0x1bd5ce[_0x32625c(0xfd)](_0x44b959=>_0x44b959[_0x32625c(0xdd)]===_0x59f7d0);if(_0xeeacb5[_0x32625c(0xf9)]===0x0)throw CliErrors[_0x32625c(0x116)](_0x32625c(0x12d)+_0x535253+'/'+_0x59f7d0);return _0xeeacb5;}return _0x1bd5ce;}function a32_0x2f92(_0x410725,_0x2ed327){_0x410725=_0x410725-0xdc;const _0x2d82c0=a32_0x2d82();let _0x2f926c=_0x2d82c0[_0x410725];return _0x2f926c;}async function buildHookMaps(_0x4f92f7,_0x5ac357,_0x29906b,_0x8e07df){const _0x41484f=a32_0x246b19,_0x48ac9a=_0x29906b[_0x41484f(0x12e)](_0x39338a=>_0x39338a['type']==='HOOK');if(!_0x48ac9a)return{'aliasToDatasetCode':new Map(),'datasetCodeToDataset':new Map()};const _0x28c07d=loadAliasMap(_0x5ac357,undefined,resolveApiFilePath(_0x5ac357,_0x4f92f7)),_0x1165c1=new Map(_0x28c07d[_0x41484f(0x120)](_0x2bf0c5=>[_0x2bf0c5[_0x41484f(0xfc)],_0x2bf0c5['datasetCode']]));for(const _0x58c643 of Object[_0x41484f(0x11d)](_0x8e07df[_0x41484f(0x107)])){_0x58c643[_0x41484f(0xfc)]&&_0x58c643[_0x41484f(0xfa)]&&!_0x1165c1[_0x41484f(0xef)](_0x58c643[_0x41484f(0xfc)])&&_0x1165c1[_0x41484f(0xf4)](_0x58c643[_0x41484f(0xfc)],_0x58c643['datasetCode']);}const _0x219664=await listDatasets(_0x4f92f7),_0x3708fd=new Map(_0x219664[_0x41484f(0x120)](_0x57246e=>[_0x57246e[_0x41484f(0x124)],_0x57246e]));return{'aliasToDatasetCode':_0x1165c1,'datasetCodeToDataset':_0x3708fd};}async function uploadSingleFunction(_0x4cf675,_0x259478,_0x5d6108,_0x2bf34a){const _0x4f61ee=a32_0x246b19,_0x599468=await readFile(_0x259478[_0x4f61ee(0x125)],'utf8'),_0x36be80=await computeFileHash(_0x259478['filePath']),_0x865018=_0x5d6108[_0x4f61ee(0x107)][_0x259478[_0x4f61ee(0xe3)]];if(_0x865018?.[_0x4f61ee(0x119)]&&_0x865018[_0x4f61ee(0xe1)]==null)throw CliErrors[_0x4f61ee(0x116)](_0x259478['lockKey']+_0x4f61ee(0x11b));let _0x685779=extractScriptDescription(_0x599468);if(!_0x685779&&_0x865018?.['remoteId']){const _0x3a32fe=await getBffScriptInfo(_0x865018['remoteId']);_0x685779=_0x3a32fe['description']||undefined;}const _0xc84076={'appCode':_0x4cf675,'functionName':_0x259478[_0x4f61ee(0xdd)],'scriptType':_0x259478[_0x4f61ee(0x10c)],'scriptContent':_0x599468};if(_0x865018?.[_0x4f61ee(0x119)])_0xc84076['id']=_0x865018['remoteId'];if(_0x865018?.[_0x4f61ee(0xe1)]!=null)_0xc84076[_0x4f61ee(0xe1)]=_0x865018[_0x4f61ee(0xe1)];if(_0x685779)_0xc84076[_0x4f61ee(0x113)]=_0x685779;if(_0x259478[_0x4f61ee(0x10c)]===_0x4f61ee(0x100)){const _0x1e1bf4=_0x259478[_0x4f61ee(0xfc)];if(!_0x1e1bf4||!_0x259478['operationType']||!_0x259478[_0x4f61ee(0xe8)])throw CliErrors[_0x4f61ee(0x116)](_0x4f61ee(0xf7)+_0x259478[_0x4f61ee(0xe3)]);const _0x38baf4=_0x2bf34a[_0x4f61ee(0x117)][_0x4f61ee(0xee)](_0x1e1bf4)??_0x865018?.[_0x4f61ee(0xfa)]??_0x1e1bf4,_0xb0ea38=_0x2bf34a[_0x4f61ee(0x10d)][_0x4f61ee(0xee)](_0x38baf4);if(!_0xb0ea38)throw CliErrors[_0x4f61ee(0x116)]('Cannot\x20resolve\x20dataset\x20for\x20\x22'+_0x1e1bf4+_0x4f61ee(0x10b)+(_0x4f61ee(0x121)+CLI_BIN_NAME+'\x20api\x20pull`\x20to\x20refresh\x20api.ts,\x20or\x20verify\x20the\x20dataset\x20exists.'));_0xc84076[_0x4f61ee(0x127)]=_0xb0ea38['id'],_0xc84076[_0x4f61ee(0x105)]=_0x259478[_0x4f61ee(0x105)],_0xc84076[_0x4f61ee(0xe8)]=_0x259478[_0x4f61ee(0xe8)];}const _0x236426=await saveBffScript(_0xc84076),_0x5e88e8=_0x236426['id'],_0x2780cb=_0x236426[_0x4f61ee(0x11c)]??await getBffScriptInfo(_0x5e88e8),_0x4496f1={'hash':_0x36be80,'remoteId':_0x5e88e8,'version':_0x2780cb['version']};if(_0x259478['type']===_0x4f61ee(0x100)){const _0xcdcede=_0x259478[_0x4f61ee(0xfc)],_0x5ae43d=_0x2bf34a['aliasToDatasetCode'][_0x4f61ee(0xee)](_0xcdcede)??_0x865018?.['datasetCode']??_0xcdcede;_0x2bf34a[_0x4f61ee(0x117)][_0x4f61ee(0xef)](_0xcdcede)?_0x4496f1['alias']=_0xcdcede:_0x4496f1['alias']=_0x865018?.[_0x4f61ee(0xfc)],_0x4496f1[_0x4f61ee(0xfa)]=_0x5ae43d,_0x4496f1[_0x4f61ee(0x105)]=_0x259478[_0x4f61ee(0x105)],_0x4496f1[_0x4f61ee(0xe8)]=_0x259478['functionNode'];}_0x5d6108[_0x4f61ee(0x107)][_0x259478['lockKey']]=_0x4496f1;}const LOCK_SETTLE_RETRY_COUNT=0x14,LOCK_SETTLE_DELAY_MS=0x64;async function waitForUploadedLockEntries(_0x575edc,_0x5c3960,_0x429e15){const _0x46332c=a32_0x246b19;if(_0x429e15[_0x46332c(0xf9)]===0x0)return;for(let _0x32c8bf=0x0;_0x32c8bf<LOCK_SETTLE_RETRY_COUNT;_0x32c8bf+=0x1){const _0x2ce0e2=await readBffLockFile(_0x575edc),_0x5ea4e4=_0x2ce0e2?.[_0x46332c(0xde)]?.[_0x5c3960]?.[_0x46332c(0x107)]??{},_0x2d6cba=_0x429e15['every'](_0x518046=>!!_0x5ea4e4[_0x518046]?.['remoteId']);if(_0x2d6cba)return;await sleep(LOCK_SETTLE_DELAY_MS);}throw new Error(_0x46332c(0xdf)+_0x429e15[_0x46332c(0x10f)](',\x20')+'.');}
1
+ const a32_0x2f85bb=a32_0xef14;(function(_0x596d3c,_0x3ff3e7){const _0x1802cb=a32_0xef14,_0x3b6db3=_0x596d3c();while(!![]){try{const _0x3eb2dd=-parseInt(_0x1802cb(0x13e))/0x1+-parseInt(_0x1802cb(0x181))/0x2+parseInt(_0x1802cb(0x16a))/0x3*(parseInt(_0x1802cb(0x162))/0x4)+-parseInt(_0x1802cb(0x170))/0x5*(parseInt(_0x1802cb(0x13c))/0x6)+-parseInt(_0x1802cb(0x153))/0x7*(parseInt(_0x1802cb(0x16e))/0x8)+parseInt(_0x1802cb(0x189))/0x9+parseInt(_0x1802cb(0x149))/0xa*(parseInt(_0x1802cb(0x178))/0xb);if(_0x3eb2dd===_0x3ff3e7)break;else _0x3b6db3['push'](_0x3b6db3['shift']());}catch(_0x1c39cf){_0x3b6db3['push'](_0x3b6db3['shift']());}}}(a32_0x1ef7,0x8f085));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':a32_0x2f85bb(0x14e),'command':a32_0x2f85bb(0x144),'description':a32_0x2f85bb(0x17a),'risk':a32_0x2f85bb(0x14d),'flags':[{'name':a32_0x2f85bb(0x186),'type':a32_0x2f85bb(0x16d),'description':a32_0x2f85bb(0x145),'enum':['COMMON',a32_0x2f85bb(0x141),'HOOK']},{'name':a32_0x2f85bb(0x17e),'type':a32_0x2f85bb(0x16d),'description':a32_0x2f85bb(0x15b)},{'name':a32_0x2f85bb(0x177),'type':a32_0x2f85bb(0x14b),'description':a32_0x2f85bb(0x13d)}],async 'dryRun'(_0x53b612){const _0x494e2e=a32_0x2f85bb,_0x42ecaa=loadBffProjectConfig(_0x53b612['appCode']),_0x46ded7=await readBffLockFile(_0x42ecaa[_0x494e2e(0x140)]),{appLock:_0x194d58}=ensureLockScope(_0x46ded7??createEmptyBffLock(),_0x53b612['appCode'],_0x42ecaa['scriptsRoot'],_0x494e2e(0x144)),_0x3b8e45=await getTargetFunctions(_0x42ecaa,_0x53b612),_0x23f561=_0x53b612[_0x494e2e(0x147)](_0x494e2e(0x177)),_0x155cbf=[];for(const _0xf112e0 of _0x3b8e45){const _0x1f6350=await computeFileHash(_0xf112e0[_0x494e2e(0x152)]),_0x880d8b=_0x194d58[_0x494e2e(0x157)][_0xf112e0['lockKey']],_0x1d7b45=!!_0x880d8b&&_0x880d8b[_0x494e2e(0x17c)]===_0x1f6350;_0x155cbf[_0x494e2e(0x144)]({'lockKey':_0xf112e0[_0x494e2e(0x185)],'filePath':_0xf112e0[_0x494e2e(0x152)],'remoteId':_0x880d8b?.[_0x494e2e(0x151)]??null,'mode':_0x880d8b?.[_0x494e2e(0x151)]?_0x494e2e(0x165):_0x494e2e(0x172),'status':!_0x23f561&&_0x1d7b45?_0x494e2e(0x180):_0x494e2e(0x171)});}return{'method':_0x494e2e(0x161),'url':_0x494e2e(0x167),'body':{'appCode':_0x53b612[_0x494e2e(0x17d)],'force':_0x23f561,'files':_0x155cbf,'cacheClearAtRuntime':_0x155cbf['some'](_0x16ef6d=>_0x16ef6d[_0x494e2e(0x148)]==='would_push'),'cacheClearAtRuntimeTimes':_0x155cbf['some'](_0x16cebc=>_0x16cebc['status']==='would_push')?CACHE_CLEAR_ATTEMPTS:0x0},'description':_0x494e2e(0x18b)+_0x155cbf['length']+'\x20local\x20BFF\x20script(s)\x20for\x20push\x20and\x20clear\x20runtime\x20cache\x20if\x20files\x20are\x20uploaded'};},async 'execute'(_0x314374){const _0x247da8=a32_0x2f85bb,_0x57d40f=loadBffProjectConfig(_0x314374[_0x247da8(0x17d)]),_0x53f5ef=await readBffLockFile(_0x57d40f[_0x247da8(0x140)]),{lockData:_0x4f048c,appLock:_0x1bb112}=ensureLockScope(_0x53f5ef??createEmptyBffLock(),_0x314374[_0x247da8(0x17d)],_0x57d40f[_0x247da8(0x16c)],_0x247da8(0x144)),_0xe197cf=await getTargetFunctions(_0x57d40f,_0x314374);if(_0xe197cf[_0x247da8(0x142)]===0x0)return{'ok':!![],'data':{'uploaded':[],'skipped':[],'failed':[]},'message':'No\x20local\x20BFF\x20functions\x20found.'};const _0xb5cda=_0x314374[_0x247da8(0x147)](_0x247da8(0x177)),_0x2a4760=JSON[_0x247da8(0x174)](JSON[_0x247da8(0x18d)](_0x4f048c)),_0x54adcd=_0x2a4760['apps'][_0x314374[_0x247da8(0x17d)]];if(!_0x54adcd)throw new Error('Lock\x20scope\x20for\x20app\x20\x22'+_0x314374[_0x247da8(0x17d)]+_0x247da8(0x187));const _0x3014f9=await buildHookMaps(_0x314374[_0x247da8(0x17d)],_0x314374[_0x247da8(0x18a)],_0xe197cf,_0x54adcd),_0x4a0d7f=[],_0x196afb=[],_0x54f82d=[];for(const _0x501860 of _0xe197cf){const _0x4d053e=await computeFileHash(_0x501860[_0x247da8(0x152)]),_0x2ee6ca=_0x54adcd[_0x247da8(0x157)][_0x501860[_0x247da8(0x185)]];if(!_0xb5cda&&_0x2ee6ca&&_0x2ee6ca['hash']===_0x4d053e){_0x196afb[_0x247da8(0x144)]({'lockKey':_0x501860['lockKey'],'reason':_0x247da8(0x180)});continue;}try{await uploadSingleFunction(_0x314374[_0x247da8(0x17d)],_0x501860,_0x54adcd,_0x3014f9);const _0x228d01=_0x54adcd[_0x247da8(0x157)][_0x501860['lockKey']];_0x4a0d7f[_0x247da8(0x144)]({'lockKey':_0x501860[_0x247da8(0x185)],'remoteId':_0x228d01?.['remoteId']??0x0});}catch(_0x3fb800){_0x54f82d[_0x247da8(0x144)]({'lockKey':_0x501860[_0x247da8(0x185)],'error':_0x3fb800 instanceof Error?_0x3fb800[_0x247da8(0x143)]:String(_0x3fb800)});}}_0x54adcd['lastSync']=new Date()['toISOString'](),await writeBffLockFile(_0x57d40f[_0x247da8(0x140)],_0x2a4760),await waitForUploadedLockEntries(_0x57d40f[_0x247da8(0x140)],_0x314374[_0x247da8(0x17d)],_0x4a0d7f['map'](_0x55d018=>_0x55d018[_0x247da8(0x185)]));let _0x3a8480={'attempted':![],'cleared':![]};if(_0x4a0d7f['length']>0x0)try{let _0x396c98='';for(let _0x14ddfe=0x0;_0x14ddfe<CACHE_CLEAR_ATTEMPTS;_0x14ddfe+=0x1){_0x396c98=await clearBffScriptCache(),_0x14ddfe<CACHE_CLEAR_ATTEMPTS-0x1&&await sleep(CACHE_CLEAR_INTERVAL_MS);}_0x3a8480={'attempted':!![],'cleared':!![],'message':_0x396c98||_0x247da8(0x15e)};}catch(_0x3276ee){_0x3a8480={'attempted':!![],'cleared':![],'error':_0x3276ee instanceof Error?_0x3276ee[_0x247da8(0x143)]:String(_0x3276ee)};}const _0x115426=_0x54f82d[_0x247da8(0x142)]===0x0&&(_0x3a8480[_0x247da8(0x15f)]?_0x3a8480[_0x247da8(0x163)]:!![]),_0x215b07=_0x3a8480['attempted']?_0x3a8480['cleared']?_0x247da8(0x155):_0x247da8(0x15d):_0x247da8(0x146);return{'ok':_0x115426,'data':{'uploaded':_0x4a0d7f,'skipped':_0x196afb,'failed':_0x54f82d,'cacheClear':_0x3a8480},'message':_0x247da8(0x14f)+_0x4a0d7f[_0x247da8(0x142)]+'\x20uploaded,\x20'+_0x196afb[_0x247da8(0x142)]+'\x20skipped,\x20'+_0x54f82d[_0x247da8(0x142)]+'\x20failed,\x20'+_0x215b07};}};function a32_0x1ef7(){const _0x59f99a=['map','Local\x20function\x20not\x20found:\x20','force','2247179NAScrp','HOOK','Push\x20local\x20BFF\x20scripts\x20to\x20remote','\x22.\x20','hash','appCode','name','aliasToDatasetCode','unchanged','552102IkYyfo','description','filter','apps','lockKey','type','\x22\x20not\x20found\x20after\x20ensureLockScope.','has','6987087ylNwTO','apiDir','Would\x20inspect\x20','version','stringify','alias','16686kEoMpG','Force\x20push\x20ignoring\x20hash\x20protection','848103FSBFQz','validation','lockFilePath','ENDPOINT','length','message','push','Push\x20only\x20this\x20script\x20type','runtime\x20cache\x20not\x20needed','bool','status','50farldK','values','boolean','Lock\x20file\x20not\x20settled\x20after\x20push\x20for\x20','high-risk-write','bff','Push\x20complete:\x20','code','remoteId','filePath','21yToqKT','operationType','runtime\x20cache\x20cleared','Run\x20`','functions','Incomplete\x20HOOK\x20path:\x20','Cannot\x20resolve\x20dataset\x20for\x20\x22','datasetCodeToDataset','Push\x20only\x20the\x20named\x20function\x20(requires\x20--type)','str','runtime\x20cache\x20clear\x20failed','Runtime\x20script\x20cache\x20cleared.','attempted','functionNode','POST','16804gdzZdx','cleared','set','update','get','/api/management/library/scripts/save','\x20api\x20pull`\x20to\x20refresh\x20api.ts,\x20or\x20verify\x20the\x20dataset\x20exists.','--name\x20requires\x20--type\x20to\x20identify\x20the\x20function.','165nTRLxr','datasetCode','scriptsRoot','string','249512rxHxJp','every','405hTdOWT','would_push','create','utf8','parse'];a32_0x1ef7=function(){return _0x59f99a;};return a32_0x1ef7();}function a32_0xef14(_0x27ae33,_0x2f2658){_0x27ae33=_0x27ae33-0x13c;const _0x1ef7da=a32_0x1ef7();let _0xef14bc=_0x1ef7da[_0x27ae33];return _0xef14bc;}async function getTargetFunctions(_0x3d6c48,_0xf3f3a1){const _0x522ee6=a32_0x2f85bb,_0x186271=_0xf3f3a1[_0x522ee6(0x15c)](_0x522ee6(0x186)),_0xcd4151=_0xf3f3a1[_0x522ee6(0x15c)](_0x522ee6(0x17e)),_0x1cc233=normalizeBffType(_0x186271)??undefined;if(_0xcd4151&&!_0x1cc233)throw CliErrors[_0x522ee6(0x13f)](_0x522ee6(0x169));const _0x3bb4b2=await scanLocalBffFunctions(_0x3d6c48,_0x1cc233);if(_0xcd4151){const _0x23d76d=_0x3bb4b2[_0x522ee6(0x183)](_0x34f0b1=>_0x34f0b1[_0x522ee6(0x17e)]===_0xcd4151);if(_0x23d76d[_0x522ee6(0x142)]===0x0)throw CliErrors[_0x522ee6(0x13f)](_0x522ee6(0x176)+_0x1cc233+'/'+_0xcd4151);return _0x23d76d;}return _0x3bb4b2;}async function buildHookMaps(_0x38e038,_0x124b30,_0x1ad431,_0x8f6e1){const _0x1b41e1=a32_0x2f85bb,_0x161776=_0x1ad431['some'](_0x3250c7=>_0x3250c7['type']===_0x1b41e1(0x179));if(!_0x161776)return{'aliasToDatasetCode':new Map(),'datasetCodeToDataset':new Map()};const _0x527cd8=loadAliasMap(_0x124b30,undefined,resolveApiFilePath(_0x124b30,_0x38e038)),_0x9ef988=new Map(_0x527cd8['map'](_0x24b568=>[_0x24b568[_0x1b41e1(0x18e)],_0x24b568[_0x1b41e1(0x16b)]]));for(const _0xd87918 of Object[_0x1b41e1(0x14a)](_0x8f6e1[_0x1b41e1(0x157)])){_0xd87918[_0x1b41e1(0x18e)]&&_0xd87918[_0x1b41e1(0x16b)]&&!_0x9ef988[_0x1b41e1(0x188)](_0xd87918[_0x1b41e1(0x18e)])&&_0x9ef988[_0x1b41e1(0x164)](_0xd87918[_0x1b41e1(0x18e)],_0xd87918[_0x1b41e1(0x16b)]);}const _0xe35f8b=await listDatasets(_0x38e038),_0x2a0c88=new Map(_0xe35f8b[_0x1b41e1(0x175)](_0x52e365=>[_0x52e365[_0x1b41e1(0x150)],_0x52e365]));return{'aliasToDatasetCode':_0x9ef988,'datasetCodeToDataset':_0x2a0c88};}async function uploadSingleFunction(_0x167bc8,_0x1d4924,_0x522e4a,_0x2887f4){const _0x1a01d0=a32_0x2f85bb,_0x399edc=await readFile(_0x1d4924[_0x1a01d0(0x152)],_0x1a01d0(0x173)),_0x8674ec=await computeFileHash(_0x1d4924[_0x1a01d0(0x152)]),_0x275172=_0x522e4a['functions'][_0x1d4924['lockKey']];if(_0x275172?.['remoteId']&&_0x275172['version']==null)throw CliErrors[_0x1a01d0(0x13f)](_0x1d4924['lockKey']+':\x20missing\x20remote\x20version.\x20Run\x20`push`\x20after\x20`pull`\x20to\x20sync\x20version\x20info.');let _0x32ab95=extractScriptDescription(_0x399edc);if(!_0x32ab95&&_0x275172?.['remoteId']){const _0x3f4855=await getBffScriptInfo(_0x275172['remoteId']);_0x32ab95=_0x3f4855['description']||undefined;}const _0xe28127={'appCode':_0x167bc8,'functionName':_0x1d4924['name'],'scriptType':_0x1d4924[_0x1a01d0(0x186)],'scriptContent':_0x399edc};if(_0x275172?.[_0x1a01d0(0x151)])_0xe28127['id']=_0x275172[_0x1a01d0(0x151)];if(_0x275172?.[_0x1a01d0(0x18c)]!=null)_0xe28127[_0x1a01d0(0x18c)]=_0x275172[_0x1a01d0(0x18c)];if(_0x32ab95)_0xe28127[_0x1a01d0(0x182)]=_0x32ab95;if(_0x1d4924[_0x1a01d0(0x186)]===_0x1a01d0(0x179)){const _0x2d8a37=_0x1d4924[_0x1a01d0(0x18e)];if(!_0x2d8a37||!_0x1d4924[_0x1a01d0(0x154)]||!_0x1d4924[_0x1a01d0(0x160)])throw CliErrors['validation'](_0x1a01d0(0x158)+_0x1d4924[_0x1a01d0(0x185)]);const _0x3ed6be=_0x2887f4[_0x1a01d0(0x17f)][_0x1a01d0(0x166)](_0x2d8a37)??_0x275172?.[_0x1a01d0(0x16b)]??_0x2d8a37,_0x35f664=_0x2887f4[_0x1a01d0(0x15a)]['get'](_0x3ed6be);if(!_0x35f664)throw CliErrors[_0x1a01d0(0x13f)](_0x1a01d0(0x159)+_0x2d8a37+_0x1a01d0(0x17b)+(_0x1a01d0(0x156)+CLI_BIN_NAME+_0x1a01d0(0x168)));_0xe28127['datasetId']=_0x35f664['id'],_0xe28127['operationType']=_0x1d4924[_0x1a01d0(0x154)],_0xe28127[_0x1a01d0(0x160)]=_0x1d4924[_0x1a01d0(0x160)];}const _0x2ddec4=await saveBffScript(_0xe28127),_0x56ba26=_0x2ddec4['id'],_0x2a3d46=_0x2ddec4['script']??await getBffScriptInfo(_0x56ba26),_0x4a6f26={'hash':_0x8674ec,'remoteId':_0x56ba26,'version':_0x2a3d46[_0x1a01d0(0x18c)]};if(_0x1d4924[_0x1a01d0(0x186)]==='HOOK'){const _0x2eae1a=_0x1d4924[_0x1a01d0(0x18e)],_0x119799=_0x2887f4[_0x1a01d0(0x17f)][_0x1a01d0(0x166)](_0x2eae1a)??_0x275172?.[_0x1a01d0(0x16b)]??_0x2eae1a;_0x2887f4[_0x1a01d0(0x17f)][_0x1a01d0(0x188)](_0x2eae1a)?_0x4a6f26[_0x1a01d0(0x18e)]=_0x2eae1a:_0x4a6f26[_0x1a01d0(0x18e)]=_0x275172?.['alias'],_0x4a6f26[_0x1a01d0(0x16b)]=_0x119799,_0x4a6f26[_0x1a01d0(0x154)]=_0x1d4924['operationType'],_0x4a6f26[_0x1a01d0(0x160)]=_0x1d4924[_0x1a01d0(0x160)];}_0x522e4a['functions'][_0x1d4924[_0x1a01d0(0x185)]]=_0x4a6f26;}const LOCK_SETTLE_RETRY_COUNT=0x14,LOCK_SETTLE_DELAY_MS=0x64;async function waitForUploadedLockEntries(_0x49efc4,_0x1e7dc9,_0x25f2f6){const _0x8b95cf=a32_0x2f85bb;if(_0x25f2f6['length']===0x0)return;for(let _0x33e31f=0x0;_0x33e31f<LOCK_SETTLE_RETRY_COUNT;_0x33e31f+=0x1){const _0x1bd03f=await readBffLockFile(_0x49efc4),_0x5cad4f=_0x1bd03f?.[_0x8b95cf(0x184)]?.[_0x1e7dc9]?.[_0x8b95cf(0x157)]??{},_0xe6f944=_0x25f2f6[_0x8b95cf(0x16f)](_0x4e86c9=>!!_0x5cad4f[_0x4e86c9]?.[_0x8b95cf(0x151)]);if(_0xe6f944)return;await sleep(LOCK_SETTLE_DELAY_MS);}throw new Error(_0x8b95cf(0x14c)+_0x25f2f6['join'](',\x20')+'.');}