@lovrabet/rabetbase-cli 2.1.8 → 2.1.10-beta.0

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 (197) hide show
  1. package/lib/api/api-doc.js +1 -1
  2. package/lib/api/fetch-model-list.js +1 -1
  3. package/lib/api/generate-api-file.js +1 -1
  4. package/lib/auth/auth-server-ui.js +1 -1
  5. package/lib/auth/auth-server.js +1 -1
  6. package/lib/auth/constant.js +1 -1
  7. package/lib/auth/get-cookie.js +1 -1
  8. package/lib/auth/get-session-user.js +1 -1
  9. package/lib/auth/is-session-valid.js +1 -1
  10. package/lib/auth/login-success-html.js +1 -1
  11. package/lib/auth/logout.js +1 -1
  12. package/lib/cli-flags.js +1 -1
  13. package/lib/cli.js +1 -1
  14. package/lib/commands/api/generate.js +1 -1
  15. package/lib/commands/api/index.js +1 -1
  16. package/lib/commands/api/list.js +1 -1
  17. package/lib/commands/api/pull.js +1 -1
  18. package/lib/commands/api/shared.js +1 -1
  19. package/lib/commands/app/add.js +1 -1
  20. package/lib/commands/app/discover.js +1 -1
  21. package/lib/commands/app/index.js +1 -1
  22. package/lib/commands/app/list.js +1 -1
  23. package/lib/commands/app/remove.js +1 -1
  24. package/lib/commands/app/shared.js +1 -1
  25. package/lib/commands/app/use.js +1 -1
  26. package/lib/commands/auth/index.js +1 -1
  27. package/lib/commands/bff/create.js +1 -1
  28. package/lib/commands/bff/delete.js +1 -1
  29. package/lib/commands/bff/detail.js +1 -1
  30. package/lib/commands/bff/index.js +1 -1
  31. package/lib/commands/bff/list.js +1 -1
  32. package/lib/commands/bff/pull.js +1 -1
  33. package/lib/commands/bff/push.js +1 -1
  34. package/lib/commands/bff/status.js +1 -1
  35. package/lib/commands/cli-update.js +1 -1
  36. package/lib/commands/codegen/index.js +1 -1
  37. package/lib/commands/codegen/sdk.js +1 -1
  38. package/lib/commands/codegen/sql.js +1 -1
  39. package/lib/commands/common/app-selector.js +1 -1
  40. package/lib/commands/common/flags.js +1 -1
  41. package/lib/commands/common/validate.js +1 -1
  42. package/lib/commands/config/get.js +1 -1
  43. package/lib/commands/config/index.js +1 -1
  44. package/lib/commands/config/list.js +1 -1
  45. package/lib/commands/config/set.js +1 -1
  46. package/lib/commands/config/shared.js +1 -1
  47. package/lib/commands/data/filter.js +1 -1
  48. package/lib/commands/data/getOne.js +1 -1
  49. package/lib/commands/data/index.js +1 -1
  50. package/lib/commands/data/shared.js +1 -1
  51. package/lib/commands/dataset/delete.js +1 -1
  52. package/lib/commands/dataset/detail.js +1 -1
  53. package/lib/commands/dataset/field-update.js +1 -0
  54. package/lib/commands/dataset/index.js +1 -1
  55. package/lib/commands/dataset/link-create.js +1 -1
  56. package/lib/commands/dataset/link-delete.js +1 -1
  57. package/lib/commands/dataset/link-shared.js +1 -1
  58. package/lib/commands/dataset/link-update.js +1 -1
  59. package/lib/commands/dataset/links.js +1 -1
  60. package/lib/commands/dataset/list.js +1 -1
  61. package/lib/commands/dataset/operations.js +1 -1
  62. package/lib/commands/db/analyze-cancel.js +1 -1
  63. package/lib/commands/db/analyze-start.js +1 -1
  64. package/lib/commands/db/analyze-status.js +1 -1
  65. package/lib/commands/db/create.js +1 -1
  66. package/lib/commands/db/delete.js +1 -1
  67. package/lib/commands/db/detail.js +1 -1
  68. package/lib/commands/db/diff.js +1 -1
  69. package/lib/commands/db/index.js +1 -1
  70. package/lib/commands/db/list.js +1 -1
  71. package/lib/commands/db/shared.js +1 -1
  72. package/lib/commands/db/tables.js +1 -1
  73. package/lib/commands/db/test.js +1 -1
  74. package/lib/commands/db/update.js +1 -1
  75. package/lib/commands/doctor.js +1 -1
  76. package/lib/commands/init/index.js +1 -1
  77. package/lib/commands/issue/index.js +1 -1
  78. package/lib/commands/issue/report.js +1 -1
  79. package/lib/commands/logs/index.js +1 -1
  80. package/lib/commands/menu/index.js +1 -1
  81. package/lib/commands/menu/shared/compare-table.js +1 -1
  82. package/lib/commands/menu/shared/index.js +1 -1
  83. package/lib/commands/menu/shared/inquirer.js +1 -1
  84. package/lib/commands/menu/shared/local-pages.js +1 -1
  85. package/lib/commands/menu/shared/logic.js +1 -1
  86. package/lib/commands/menu/shared/service.js +1 -1
  87. package/lib/commands/menu/shared/sync-core.js +1 -1
  88. package/lib/commands/menu/shared/update-core.js +1 -1
  89. package/lib/commands/menu/shared/valid-url.js +1 -1
  90. package/lib/commands/menu/sync.js +1 -1
  91. package/lib/commands/menu/update.js +1 -1
  92. package/lib/commands/page/generate-start.js +1 -1
  93. package/lib/commands/page/generate-status.js +1 -1
  94. package/lib/commands/page/index.js +1 -1
  95. package/lib/commands/page/pull.js +1 -1
  96. package/lib/commands/page/push.js +1 -1
  97. package/lib/commands/page/shared.js +1 -1
  98. package/lib/commands/page/standard-page-status.js +1 -1
  99. package/lib/commands/page/sync.js +1 -1
  100. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  101. package/lib/commands/project/create/format-elapsed.js +1 -1
  102. package/lib/commands/project/create/main.js +1 -1
  103. package/lib/commands/project/create/non-interactive.js +1 -1
  104. package/lib/commands/project/create/project-template-path.js +1 -1
  105. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  106. package/lib/commands/project/create/use-format-code.js +1 -1
  107. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  108. package/lib/commands/project/index.js +1 -1
  109. package/lib/commands/project/init.js +1 -1
  110. package/lib/commands/project/upgrade.js +1 -1
  111. package/lib/commands/registry.js +1 -1
  112. package/lib/commands/run/index.js +1 -1
  113. package/lib/commands/schema.js +1 -1
  114. package/lib/commands/skill/index.js +1 -1
  115. package/lib/commands/sql/create.js +1 -1
  116. package/lib/commands/sql/delete.js +1 -1
  117. package/lib/commands/sql/detail.js +1 -1
  118. package/lib/commands/sql/exec.js +1 -1
  119. package/lib/commands/sql/index.js +1 -1
  120. package/lib/commands/sql/list.js +1 -1
  121. package/lib/commands/sql/pull.js +1 -1
  122. package/lib/commands/sql/push.js +1 -1
  123. package/lib/commands/sql/save.js +1 -1
  124. package/lib/commands/sql/shared.js +1 -1
  125. package/lib/commands/sql/status.js +1 -1
  126. package/lib/commands/sql/validate.js +1 -1
  127. package/lib/config/schema.js +1 -1
  128. package/lib/constant/cdn.js +1 -1
  129. package/lib/constant/cli.js +1 -1
  130. package/lib/constant/defaults.js +1 -1
  131. package/lib/constant/domain.js +1 -1
  132. package/lib/constant/env.js +1 -1
  133. package/lib/constant/output.js +1 -1
  134. package/lib/constant/paths.js +1 -1
  135. package/lib/constant/risk.js +1 -1
  136. package/lib/context.js +1 -1
  137. package/lib/core/alias-resolver.js +1 -1
  138. package/lib/core/api-client.js +1 -1
  139. package/lib/core/bff/config.js +1 -1
  140. package/lib/core/bff/file-system.js +1 -1
  141. package/lib/core/bff/hash.js +1 -1
  142. package/lib/core/bff/lock.js +1 -1
  143. package/lib/core/bff/utils.js +1 -1
  144. package/lib/core/db-resolver.js +1 -1
  145. package/lib/core/page/file-system.js +1 -1
  146. package/lib/core/page/hash.js +1 -1
  147. package/lib/core/page/lock.js +1 -1
  148. package/lib/core/sql-sync/config.js +1 -1
  149. package/lib/core/sql-sync/file-system.js +1 -1
  150. package/lib/core/sql-sync/hash.js +1 -1
  151. package/lib/core/sql-sync/lock.js +1 -1
  152. package/lib/core/sql-sync/utils.js +1 -1
  153. package/lib/core/sql-validator.js +1 -1
  154. package/lib/errors.js +1 -1
  155. package/lib/framework/build-all-flags.js +1 -1
  156. package/lib/framework/flags.js +1 -1
  157. package/lib/framework/help.js +1 -1
  158. package/lib/framework/index.js +1 -1
  159. package/lib/framework/output.js +1 -1
  160. package/lib/framework/response.js +1 -1
  161. package/lib/framework/runner-alias.js +1 -1
  162. package/lib/framework/runner.js +1 -1
  163. package/lib/framework/schema-export.js +1 -1
  164. package/lib/framework/types.js +1 -1
  165. package/lib/generated/build-info.js +1 -1
  166. package/lib/help.js +1 -1
  167. package/lib/skills/main.js +1 -1
  168. package/lib/skills/npx-skills-add.js +1 -1
  169. package/lib/telemetry/cli-command-trace.js +1 -1
  170. package/lib/telemetry/cli-help-trace.js +1 -1
  171. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  172. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  173. package/lib/telemetry/send-cli-trace-log.js +1 -1
  174. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  175. package/lib/utils/ai_config.js +1 -1
  176. package/lib/utils/apply-jq-filter.js +1 -1
  177. package/lib/utils/cdn-config.js +1 -1
  178. package/lib/utils/check-sdk-version.js +1 -1
  179. package/lib/utils/cli-version-check.js +1 -1
  180. package/lib/utils/cli-version-policy.js +1 -1
  181. package/lib/utils/config.js +1 -1
  182. package/lib/utils/copy-directory.js +1 -1
  183. package/lib/utils/entity-with-id.js +1 -1
  184. package/lib/utils/file-utils.js +1 -1
  185. package/lib/utils/guides-cdn.js +1 -1
  186. package/lib/utils/http-client.js +1 -1
  187. package/lib/utils/is-non-interactive.js +1 -1
  188. package/lib/utils/logger.js +1 -1
  189. package/lib/utils/params.js +1 -1
  190. package/lib/utils/platform.js +1 -1
  191. package/lib/utils/rules-cdn.js +1 -1
  192. package/lib/utils/sleep.js +1 -1
  193. package/lib/utils/template-replacer.js +1 -1
  194. package/lib/utils/version.js +1 -1
  195. package/lib/utils/with-active-cookie.js +1 -1
  196. package/lib/utils/write-cli-side-channel.js +1 -1
  197. package/package.json +1 -1
@@ -1 +1 @@
1
- const a19_0x3d4390=a19_0x6133;function a19_0x6133(_0x1ed642,_0x479cc0){_0x1ed642=_0x1ed642-0xab;const _0xbc6596=a19_0xbc65();let _0x6133ce=_0xbc6596[_0x1ed642];return _0x6133ce;}(function(_0x49860a,_0x203427){const _0x3899a1=a19_0x6133,_0x3af96f=_0x49860a();while(!![]){try{const _0x11036e=-parseInt(_0x3899a1(0xbd))/0x1*(parseInt(_0x3899a1(0xae))/0x2)+-parseInt(_0x3899a1(0xbb))/0x3*(-parseInt(_0x3899a1(0xad))/0x4)+-parseInt(_0x3899a1(0xb4))/0x5+parseInt(_0x3899a1(0xb3))/0x6*(parseInt(_0x3899a1(0xba))/0x7)+parseInt(_0x3899a1(0xb8))/0x8+-parseInt(_0x3899a1(0xab))/0x9*(parseInt(_0x3899a1(0xb0))/0xa)+parseInt(_0x3899a1(0xb6))/0xb*(parseInt(_0x3899a1(0xb1))/0xc);if(_0x11036e===_0x203427)break;else _0x3af96f['push'](_0x3af96f['shift']());}catch(_0x587853){_0x3af96f['push'](_0x3af96f['shift']());}}}(a19_0xbc65,0x95523));import{listRemoteApps}from'../../core/api-client.js';async function execute(_0x4888c9){const _0x20428f=a19_0x6133,{setActiveCookie:_0x18b89d}=await import(_0x20428f(0xb5));_0x18b89d(_0x4888c9['cookie']);const _0xe0969c=await listRemoteApps();return{'ok':!![],'data':{'items':_0xe0969c[_0x20428f(0xb7)](_0x35b6dd=>({..._0x35b6dd['id']!=null?{'id':_0x35b6dd['id']}:{},'appCode':_0x35b6dd[_0x20428f(0xbc)],'appName':_0x35b6dd[_0x20428f(0xac)],..._0x35b6dd[_0x20428f(0xb9)]!=null?{'appDesc':_0x35b6dd[_0x20428f(0xb9)]}:{}})),'meta':{'source':'platform'}}};}export const appRemoteDefinition={'service':'app','command':a19_0x3d4390(0xaf),'description':'List\x20apps\x20available\x20on\x20the\x20platform\x20for\x20the\x20current\x20login','risk':a19_0x3d4390(0xb2),'requiresAuth':!![],'requiresAppCode':![],'flags':[],'execute':execute};function a19_0xbc65(){const _0x52432d=['564DLMDMt','27xlOySe','appName','4vAihhT','558Ahsqrg','remote','3488630jMXDLV','17317320gtmYma','read','5406RKsbfB','2606765AyQHBv','../../core/api-client.js','11QUPnLQ','map','1181256huiaCc','appDesc','5446YbzhxD','135516AcGNvh','appCode'];a19_0xbc65=function(){return _0x52432d;};return a19_0xbc65();}
1
+ const a19_0x1a0d8c=a19_0x188d;(function(_0x29aa48,_0x22fb78){const _0x25ce5a=a19_0x188d,_0x2678d1=_0x29aa48();while(!![]){try{const _0x144a4f=parseInt(_0x25ce5a(0xc4))/0x1*(-parseInt(_0x25ce5a(0xd2))/0x2)+-parseInt(_0x25ce5a(0xc6))/0x3+parseInt(_0x25ce5a(0xc9))/0x4*(-parseInt(_0x25ce5a(0xd4))/0x5)+-parseInt(_0x25ce5a(0xce))/0x6+parseInt(_0x25ce5a(0xc7))/0x7+-parseInt(_0x25ce5a(0xc5))/0x8+parseInt(_0x25ce5a(0xd3))/0x9;if(_0x144a4f===_0x22fb78)break;else _0x2678d1['push'](_0x2678d1['shift']());}catch(_0x40651e){_0x2678d1['push'](_0x2678d1['shift']());}}}(a19_0x2466,0xd83f9));import{listRemoteApps}from'../../core/api-client.js';function a19_0x2466(){const _0x494015=['35732COIfIZ','51694830Obnsav','25yhRNFc','67fqdaPU','11829544aLZxts','4946376BQiAOt','2649759yBYKwd','../../core/api-client.js','224268UdQwrI','app','appName','cookie','appDesc','3790872ATNgGs','remote','List\x20apps\x20available\x20on\x20the\x20platform\x20for\x20the\x20current\x20login','appCode'];a19_0x2466=function(){return _0x494015;};return a19_0x2466();}async function execute(_0x22ab0f){const _0xfcf74d=a19_0x188d,{setActiveCookie:_0x51b94d}=await import(_0xfcf74d(0xc8));_0x51b94d(_0x22ab0f[_0xfcf74d(0xcc)]);const _0x4fe456=await listRemoteApps();return{'ok':!![],'data':{'items':_0x4fe456['map'](_0x1edf87=>({..._0x1edf87['id']!=null?{'id':_0x1edf87['id']}:{},'appCode':_0x1edf87[_0xfcf74d(0xd1)],'appName':_0x1edf87[_0xfcf74d(0xcb)],..._0x1edf87[_0xfcf74d(0xcd)]!=null?{'appDesc':_0x1edf87[_0xfcf74d(0xcd)]}:{}})),'meta':{'source':'platform'}}};}function a19_0x188d(_0x2707b3,_0x376f77){_0x2707b3=_0x2707b3-0xc4;const _0x246663=a19_0x2466();let _0x188da0=_0x246663[_0x2707b3];return _0x188da0;}export const appRemoteDefinition={'service':a19_0x1a0d8c(0xca),'command':a19_0x1a0d8c(0xcf),'description':a19_0x1a0d8c(0xd0),'risk':'read','requiresAuth':!![],'requiresAppCode':![],'flags':[],'execute':execute};
@@ -1 +1 @@
1
- (function(_0x4e1685,_0x5bda21){const _0x511184=a20_0x454d,_0x56f5ee=_0x4e1685();while(!![]){try{const _0x48c7f8=parseInt(_0x511184(0x93))/0x1+-parseInt(_0x511184(0x97))/0x2+parseInt(_0x511184(0x94))/0x3+parseInt(_0x511184(0x90))/0x4+parseInt(_0x511184(0x96))/0x5*(-parseInt(_0x511184(0x95))/0x6)+parseInt(_0x511184(0x92))/0x7+-parseInt(_0x511184(0x91))/0x8;if(_0x48c7f8===_0x5bda21)break;else _0x56f5ee['push'](_0x56f5ee['shift']());}catch(_0x9b6e22){_0x56f5ee['push'](_0x56f5ee['shift']());}}}(a20_0x4276,0x2acbb));import{appListDefinition}from'../../commands/app/list.js';import{appRemoteDefinition}from'../../commands/app/discover.js';function a20_0x454d(_0x5a5f3a,_0xbcd83d){_0x5a5f3a=_0x5a5f3a-0x90;const _0x42764c=a20_0x4276();let _0x454d25=_0x42764c[_0x5a5f3a];return _0x454d25;}import{appUseDefinition}from'../../commands/app/use.js';import{appAddDefinition}from'../../commands/app/add.js';function a20_0x4276(){const _0x22992d=['641165fkForh','190872VHPJAE','887421lRHpbD','260310WExPkC','15AhuYRN','317020gbvPft','1034492SiEbGw','2983528JeAPOd'];a20_0x4276=function(){return _0x22992d;};return a20_0x4276();}import{appRemoveDefinition}from'../../commands/app/remove.js';export const appDefinitions=[appListDefinition,appRemoteDefinition,appUseDefinition,appAddDefinition,appRemoveDefinition];
1
+ (function(_0x43688b,_0xcf3e52){const _0x46ca9a=a20_0x1f48,_0xe6672b=_0x43688b();while(!![]){try{const _0x1ee619=parseInt(_0x46ca9a(0xf7))/0x1*(-parseInt(_0x46ca9a(0xf0))/0x2)+-parseInt(_0x46ca9a(0xf5))/0x3+-parseInt(_0x46ca9a(0xf3))/0x4+parseInt(_0x46ca9a(0xf1))/0x5*(-parseInt(_0x46ca9a(0xee))/0x6)+-parseInt(_0x46ca9a(0xf6))/0x7*(parseInt(_0x46ca9a(0xef))/0x8)+-parseInt(_0x46ca9a(0xf2))/0x9*(parseInt(_0x46ca9a(0xf4))/0xa)+-parseInt(_0x46ca9a(0xf8))/0xb*(-parseInt(_0x46ca9a(0xed))/0xc);if(_0x1ee619===_0xcf3e52)break;else _0xe6672b['push'](_0xe6672b['shift']());}catch(_0xb45d6d){_0xe6672b['push'](_0xe6672b['shift']());}}}(a20_0x4a55,0x2e352));import{appListDefinition}from'../../commands/app/list.js';import{appRemoteDefinition}from'../../commands/app/discover.js';import{appUseDefinition}from'../../commands/app/use.js';function a20_0x1f48(_0xe2d2e7,_0x4e9f4b){_0xe2d2e7=_0xe2d2e7-0xed;const _0x4a55e0=a20_0x4a55();let _0x1f48d2=_0x4a55e0[_0xe2d2e7];return _0x1f48d2;}import{appAddDefinition}from'../../commands/app/add.js';import{appRemoveDefinition}from'../../commands/app/remove.js';function a20_0x4a55(){const _0x301819=['335631bNYInV','14qRyuMT','7OhvxXZ','7997ptuUPW','24468WwFAdK','13254cjEiNp','260120MuiQMS','91330DEloPM','415DmLuaA','3681EWZrga','1387676PYihur','6510OMAvMN'];a20_0x4a55=function(){return _0x301819;};return a20_0x4a55();}export const appDefinitions=[appListDefinition,appRemoteDefinition,appUseDefinition,appAddDefinition,appRemoveDefinition];
@@ -1 +1 @@
1
- function a21_0x4b55(_0x194203,_0x13a627){_0x194203=_0x194203-0x131;const _0x68e11e=a21_0x68e1();let _0x4b5534=_0x68e11e[_0x194203];return _0x4b5534;}const a21_0x24c3e7=a21_0x4b55;function a21_0x68e1(){const _0x358277=['app','\x20in\x20','\x20app\x20add\x20<name>\x20--appcode\x20<code>`\x20to\x20add\x20one.','11261856lHjGOH','map','558SdxecH','Show\x20only\x20apps\x20from\x20global\x20~/.rabetbase.json','1011329zRiMzh','apps','Show\x20only\x20apps\x20from\x20project\x20.rabetbase.json','54355SliQxd','list','find','50NiXxVM','366dTRAnV','27YHDOvG','global','List\x20all\x20configured\x20apps','object','66658Xhlnlm','globalConfig','defaultApp','4IlYqbR','project','1916450MRTcWA','43240AlRUyX','boolean','43880LCNWky','entries','push','projectConfig','inherit','isCurrent','No\x20apps\x20configured','globalPath','mergedCli','merged','bool','appcode'];a21_0x68e1=function(){return _0x358277;};return a21_0x68e1();}(function(_0x5ee44d,_0x318998){const _0x21a597=a21_0x4b55,_0xf92197=_0x5ee44d();while(!![]){try{const _0x171266=parseInt(_0x21a597(0x155))/0x1+-parseInt(_0x21a597(0x14d))/0x2*(-parseInt(_0x21a597(0x149))/0x3)+parseInt(_0x21a597(0x150))/0x4*(-parseInt(_0x21a597(0x152))/0x5)+-parseInt(_0x21a597(0x148))/0x6*(-parseInt(_0x21a597(0x144))/0x7)+-parseInt(_0x21a597(0x153))/0x8*(-parseInt(_0x21a597(0x13f))/0x9)+-parseInt(_0x21a597(0x147))/0xa*(-parseInt(_0x21a597(0x141))/0xb)+-parseInt(_0x21a597(0x13d))/0xc;if(_0x171266===_0x318998)break;else _0xf92197['push'](_0xf92197['shift']());}catch(_0x385162){_0xf92197['push'](_0xf92197['shift']());}}}(a21_0x68e1,0x46ee5));import{readRawConfigWithLayers}from'../../context.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{buildAppProfileListFields}from'../../config/schema.js';import{appDefinedIn,enrichAppListItemsWithMergedSelection,resolveDefaultAppSource}from'../../commands/app/shared.js';function buildItemsFromLayer(_0x4266ad,_0x14c4ec){const _0x1a3086=a21_0x4b55,_0x3be0d0=[],_0x2f4216=_0x4266ad[_0x1a3086(0x142)]&&typeof _0x4266ad[_0x1a3086(0x142)]===_0x1a3086(0x14c)?_0x4266ad[_0x1a3086(0x142)]:{},_0x44573c=_0x4266ad[_0x1a3086(0x14f)]||undefined;for(const [_0x56f154,_0x4b3307]of Object[_0x1a3086(0x156)](_0x2f4216)){if(!_0x4b3307||typeof _0x4b3307!==_0x1a3086(0x14c)||!_0x4b3307[_0x1a3086(0x139)])continue;_0x3be0d0[_0x1a3086(0x157)]({'name':_0x56f154,'appcode':_0x4b3307[_0x1a3086(0x139)],'named':!![],'definedIn':_0x14c4ec,'isDefault':_0x56f154===_0x44573c,...buildAppProfileListFields(_0x4b3307)});}return _0x3be0d0;}function buildMergedItems(_0x5d2233,_0x5b10ae){const _0x53dc5c=a21_0x4b55,{apps:apps={},defaultApp:_0x166ebd}=_0x5d2233,_0x4bae5c=_0x5b10ae['globalConfig'][_0x53dc5c(0x142)]&&typeof _0x5b10ae['globalConfig'][_0x53dc5c(0x142)]===_0x53dc5c(0x14c)?_0x5b10ae[_0x53dc5c(0x14e)][_0x53dc5c(0x142)]:{},_0x64fb01=_0x5b10ae[_0x53dc5c(0x131)][_0x53dc5c(0x142)]&&typeof _0x5b10ae['projectConfig']['apps']==='object'?_0x5b10ae[_0x53dc5c(0x131)][_0x53dc5c(0x142)]:{},_0x18cf8f=_0x5b10ae['projectConfig'][_0x53dc5c(0x132)]===![],_0x2371c0=Object[_0x53dc5c(0x156)](apps),_0x1b1d04=_0x2371c0[_0x53dc5c(0x13e)](([_0x4b98aa,_0x4b4799])=>({'name':_0x4b98aa,'appcode':_0x4b4799[_0x53dc5c(0x139)],'named':!![],'definedIn':appDefinedIn(_0x4b98aa,_0x4bae5c,_0x64fb01,_0x18cf8f),'isDefault':_0x4b98aa===_0x166ebd,...buildAppProfileListFields(_0x4b4799)}));return _0x1b1d04;}async function execute(_0x5f4f1a){const _0x405673=a21_0x4b55,_0x3dc383=_0x5f4f1a[_0x405673(0x138)]('global'),_0x2092d1=_0x5f4f1a[_0x405673(0x138)](_0x405673(0x151)),_0x1d82c8=_0x3dc383?_0x405673(0x14a):_0x2092d1?_0x405673(0x151):'merged',{config:_0x3d9c49,layers:_0x553848}=readRawConfigWithLayers(),_0x2a5700=resolveDefaultAppSource(_0x553848),{defaultApp:_0xd170c6}=_0x3d9c49;let _0x431dc4,_0x30aa5c;switch(_0x1d82c8){case _0x405673(0x14a):_0x431dc4=buildItemsFromLayer(_0x553848[_0x405673(0x14e)],_0x405673(0x14a)),_0x30aa5c=_0x553848[_0x405673(0x135)];break;case _0x405673(0x151):_0x431dc4=buildItemsFromLayer(_0x553848['projectConfig'],_0x405673(0x151)),_0x30aa5c=_0x553848['projectPath'];break;default:_0x431dc4=buildMergedItems(_0x3d9c49,_0x553848);break;}enrichAppListItemsWithMergedSelection(_0x431dc4,_0x5f4f1a[_0x405673(0x136)]);if(_0x431dc4['length']===0x0){const _0x1b6e63=_0x1d82c8===_0x405673(0x137)?'':_0x405673(0x13b)+_0x1d82c8+'\x20config';return{'ok':!![],'data':[],'message':_0x405673(0x134)+_0x1b6e63+'.\x20Use\x20`'+CLI_BIN_NAME+_0x405673(0x13c)};}const _0x4f6398=_0x431dc4[_0x405673(0x146)](_0x49ee80=>_0x49ee80[_0x405673(0x133)]===!![]),_0x2da125=_0xd170c6??_0x4f6398?.[_0x405673(0x139)]??null,_0x2da361=_0x1d82c8===_0x405673(0x137)?{'globalPath':_0x553848[_0x405673(0x135)]??null,'projectPath':_0x553848['projectPath']??null,'defaultApp':_0x2da125,'defaultAppSource':_0xd170c6!=null?_0x2a5700:null}:{'scope':_0x1d82c8,'configPath':_0x30aa5c??null};return{'ok':!![],'data':{'items':_0x431dc4,'meta':_0x2da361}};}export const appListDefinition={'service':a21_0x24c3e7(0x13a),'command':a21_0x24c3e7(0x145),'description':a21_0x24c3e7(0x14b),'risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[{'name':a21_0x24c3e7(0x14a),'type':'boolean','description':a21_0x24c3e7(0x140),'default':![]},{'name':a21_0x24c3e7(0x151),'type':a21_0x24c3e7(0x154),'description':a21_0x24c3e7(0x143),'default':![]}],'execute':execute};
1
+ const a21_0x1d7314=a21_0xaefc;(function(_0x119a5b,_0xdebf5c){const _0x3f5333=a21_0xaefc,_0x1e3b8d=_0x119a5b();while(!![]){try{const _0x3cdf78=-parseInt(_0x3f5333(0x1ea))/0x1*(-parseInt(_0x3f5333(0x1f9))/0x2)+-parseInt(_0x3f5333(0x1f4))/0x3+parseInt(_0x3f5333(0x1f6))/0x4*(parseInt(_0x3f5333(0x1e7))/0x5)+parseInt(_0x3f5333(0x1fa))/0x6*(-parseInt(_0x3f5333(0x1e8))/0x7)+-parseInt(_0x3f5333(0x1ec))/0x8*(-parseInt(_0x3f5333(0x1eb))/0x9)+parseInt(_0x3f5333(0x209))/0xa+-parseInt(_0x3f5333(0x205))/0xb*(parseInt(_0x3f5333(0x1e9))/0xc);if(_0x3cdf78===_0xdebf5c)break;else _0x1e3b8d['push'](_0x1e3b8d['shift']());}catch(_0x521929){_0x1e3b8d['push'](_0x1e3b8d['shift']());}}}(a21_0x568c,0xec6d5));import{readRawConfigWithLayers}from'../../context.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{buildAppProfileListFields}from'../../config/schema.js';import{appDefinedIn,enrichAppListItemsWithMergedSelection,resolveDefaultAppSource}from'../../commands/app/shared.js';function buildItemsFromLayer(_0x414416,_0x38da79){const _0x263573=a21_0xaefc,_0x5d66d1=[],_0x5c8ceb=_0x414416[_0x263573(0x201)]&&typeof _0x414416[_0x263573(0x201)]===_0x263573(0x1f7)?_0x414416[_0x263573(0x201)]:{},_0x30785f=_0x414416['defaultApp']||undefined;for(const [_0x55d45b,_0x3a0b1e]of Object[_0x263573(0x1fd)](_0x5c8ceb)){if(!_0x3a0b1e||typeof _0x3a0b1e!=='object'||!_0x3a0b1e[_0x263573(0x1f8)])continue;_0x5d66d1[_0x263573(0x1ef)]({'name':_0x55d45b,'appcode':_0x3a0b1e['appcode'],'named':!![],'definedIn':_0x38da79,'isDefault':_0x55d45b===_0x30785f,...buildAppProfileListFields(_0x3a0b1e)});}return _0x5d66d1;}function a21_0xaefc(_0x5e59fc,_0x1b39fc){_0x5e59fc=_0x5e59fc-0x1e5;const _0x568cca=a21_0x568c();let _0xaefc3b=_0x568cca[_0x5e59fc];return _0xaefc3b;}function buildMergedItems(_0x2bc21c,_0xbbecad){const _0x5f2fbf=a21_0xaefc,{apps:apps={},defaultApp:_0xd604eb}=_0x2bc21c,_0x37c8a1=_0xbbecad[_0x5f2fbf(0x1ff)][_0x5f2fbf(0x201)]&&typeof _0xbbecad[_0x5f2fbf(0x1ff)]['apps']===_0x5f2fbf(0x1f7)?_0xbbecad[_0x5f2fbf(0x1ff)][_0x5f2fbf(0x201)]:{},_0x3da890=_0xbbecad[_0x5f2fbf(0x1e6)]['apps']&&typeof _0xbbecad[_0x5f2fbf(0x1e6)]['apps']===_0x5f2fbf(0x1f7)?_0xbbecad[_0x5f2fbf(0x1e6)]['apps']:{},_0x3cbf04=_0xbbecad[_0x5f2fbf(0x1e6)][_0x5f2fbf(0x207)]===![],_0x364099=Object[_0x5f2fbf(0x1fd)](apps),_0x1fd00c=_0x364099[_0x5f2fbf(0x202)](([_0x3b815a,_0x4b7868])=>({'name':_0x3b815a,'appcode':_0x4b7868[_0x5f2fbf(0x1f8)],'named':!![],'definedIn':appDefinedIn(_0x3b815a,_0x37c8a1,_0x3da890,_0x3cbf04),'isDefault':_0x3b815a===_0xd604eb,...buildAppProfileListFields(_0x4b7868)}));return _0x1fd00c;}function a21_0x568c(){const _0x1a3475=['Show\x20only\x20apps\x20from\x20project\x20.rabetbase.json','12103950bTKNQE','\x20config','read','global','boolean','projectConfig','3203905LfqIvU','4659074lUtVFo','36vGrYsR','1fbEUyH','11061mBZDQI','9584mcuxrR','No\x20apps\x20configured','app','push','isCurrent','list','\x20in\x20','globalPath','4581492VFTMGb','merged','4dUjKuC','object','appcode','1166042rsgLKl','12QvBydw','bool','\x20app\x20add\x20<name>\x20--appcode\x20<code>`\x20to\x20add\x20one.','entries','project','globalConfig','List\x20all\x20configured\x20apps','apps','map','.\x20Use\x20`','projectPath','292622tSHsOQ','length','inherit'];a21_0x568c=function(){return _0x1a3475;};return a21_0x568c();}async function execute(_0x3b35fd){const _0x4ddd26=a21_0xaefc,_0x2ffb64=_0x3b35fd[_0x4ddd26(0x1fb)](_0x4ddd26(0x20c)),_0x1afb96=_0x3b35fd['bool'](_0x4ddd26(0x1fe)),_0x120ac4=_0x2ffb64?_0x4ddd26(0x20c):_0x1afb96?_0x4ddd26(0x1fe):'merged',{config:_0x355f1e,layers:_0x1d065f}=readRawConfigWithLayers(),_0x36b1dd=resolveDefaultAppSource(_0x1d065f),{defaultApp:_0x496ef2}=_0x355f1e;let _0x4153ef,_0x3040d6;switch(_0x120ac4){case'global':_0x4153ef=buildItemsFromLayer(_0x1d065f[_0x4ddd26(0x1ff)],_0x4ddd26(0x20c)),_0x3040d6=_0x1d065f[_0x4ddd26(0x1f3)];break;case _0x4ddd26(0x1fe):_0x4153ef=buildItemsFromLayer(_0x1d065f[_0x4ddd26(0x1e6)],_0x4ddd26(0x1fe)),_0x3040d6=_0x1d065f[_0x4ddd26(0x204)];break;default:_0x4153ef=buildMergedItems(_0x355f1e,_0x1d065f);break;}enrichAppListItemsWithMergedSelection(_0x4153ef,_0x3b35fd['mergedCli']);if(_0x4153ef[_0x4ddd26(0x206)]===0x0){const _0x4ce911=_0x120ac4==='merged'?'':_0x4ddd26(0x1f2)+_0x120ac4+_0x4ddd26(0x20a);return{'ok':!![],'data':[],'message':_0x4ddd26(0x1ed)+_0x4ce911+_0x4ddd26(0x203)+CLI_BIN_NAME+_0x4ddd26(0x1fc)};}const _0x102162=_0x4153ef['find'](_0x1174d6=>_0x1174d6[_0x4ddd26(0x1f0)]===!![]),_0x5c14e4=_0x496ef2??_0x102162?.['appcode']??null,_0x2c240e=_0x120ac4===_0x4ddd26(0x1f5)?{'globalPath':_0x1d065f[_0x4ddd26(0x1f3)]??null,'projectPath':_0x1d065f[_0x4ddd26(0x204)]??null,'defaultApp':_0x5c14e4,'defaultAppSource':_0x496ef2!=null?_0x36b1dd:null}:{'scope':_0x120ac4,'configPath':_0x3040d6??null};return{'ok':!![],'data':{'items':_0x4153ef,'meta':_0x2c240e}};}export const appListDefinition={'service':a21_0x1d7314(0x1ee),'command':a21_0x1d7314(0x1f1),'description':a21_0x1d7314(0x200),'risk':a21_0x1d7314(0x20b),'requiresAuth':![],'requiresAppCode':![],'flags':[{'name':a21_0x1d7314(0x20c),'type':a21_0x1d7314(0x1e5),'description':'Show\x20only\x20apps\x20from\x20global\x20~/.rabetbase.json','default':![]},{'name':'project','type':'boolean','description':a21_0x1d7314(0x208),'default':![]}],'execute':execute};
@@ -1 +1 @@
1
- function a22_0x4b69(){const _0x3c7b7f=['Use\x20global\x20config\x20scope','90162WIndgZ','boolean','\x20Note:\x20app\x20\x22','keys','globalConfig','6SLBbDH','24280668lZNSCb','5706708yEAspQ','high-risk-write','inherit','both','app','2213852QDhxnY','object','global','length','validation','projectConfig','Removed\x20app\x20\x22','3546165aGABop','\x20config.','Missing\x20app\x20name.','\x22\x20still\x20defined\x20in\x20','bool','915410HJDGUc','remove','defaultApp','args','4248230UwgTmn','Remove\x20an\x20app\x20from\x20config','\x20Default\x20app\x20changed\x20to\x20\x22','project','Usage:\x20','8TgayoS','trim','App\x20\x22','App\x20profile\x20name\x20to\x20remove','\x20app\x20remove\x20<name>\x20[--global]','\x22\x20not\x20found.','name','apps'];a22_0x4b69=function(){return _0x3c7b7f;};return a22_0x4b69();}const a22_0x39032d=a22_0x4bfd;(function(_0x333d6a,_0x55f1d8){const _0x4a6c61=a22_0x4bfd,_0x2c21d5=_0x333d6a();while(!![]){try{const _0x24492c=parseInt(_0x4a6c61(0x1db))/0x1+-parseInt(_0x4a6c61(0x1ed))/0x2*(-parseInt(_0x4a6c61(0x1f2))/0x3)+-parseInt(_0x4a6c61(0x1f9))/0x4+-parseInt(_0x4a6c61(0x1d6))/0x5+-parseInt(_0x4a6c61(0x1f4))/0x6+-parseInt(_0x4a6c61(0x1df))/0x7+parseInt(_0x4a6c61(0x1e4))/0x8*(parseInt(_0x4a6c61(0x1f3))/0x9);if(_0x24492c===_0x55f1d8)break;else _0x2c21d5['push'](_0x2c21d5['shift']());}catch(_0x3c9c9c){_0x2c21d5['push'](_0x2c21d5['shift']());}}}(a22_0x4b69,0xd7820));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{readRawConfigWithLayers}from'../../context.js';import{readConfig,writeConfig,scopeLabel,resolveAppScopeForWrite,appDefinedIn}from'../../commands/app/shared.js';function a22_0x4bfd(_0x285ac8,_0x50db5c){_0x285ac8=_0x285ac8-0x1d5;const _0x4b695d=a22_0x4b69();let _0x4bfd57=_0x4b695d[_0x285ac8];return _0x4bfd57;}async function validateArgs(_0x2ec567){const _0x3952c9=a22_0x4bfd,_0x2cff11=_0x2ec567[_0x3952c9(0x1de)][0x0]?.[_0x3952c9(0x1e5)]();if(!_0x2cff11)throw CliErrors[_0x3952c9(0x1fd)](_0x3952c9(0x1d8),_0x3952c9(0x1e3)+CLI_BIN_NAME+_0x3952c9(0x1e8));}async function execute(_0x4538d7){const _0x4c1b60=a22_0x4bfd,_0x1b4dda=_0x4538d7[_0x4c1b60(0x1de)][0x0]?.[_0x4c1b60(0x1e5)]();if(!_0x1b4dda)throw CliErrors[_0x4c1b60(0x1fd)]('Missing\x20app\x20name.',_0x4c1b60(0x1e3)+CLI_BIN_NAME+'\x20app\x20remove\x20<name>\x20[--global]');const _0x3e3a88=_0x4538d7[_0x4c1b60(0x1da)](_0x4c1b60(0x1fb)),{config:_0x4b05f8,layers:_0x2b7395}=readRawConfigWithLayers(),_0x7f6ecd=_0x4b05f8[_0x4c1b60(0x1eb)]??{};if(!_0x7f6ecd[_0x1b4dda])throw CliErrors['validation']('App\x20\x22'+_0x1b4dda+_0x4c1b60(0x1e9));const _0x4bfc02=_0x2b7395[_0x4c1b60(0x1f1)][_0x4c1b60(0x1eb)]&&typeof _0x2b7395['globalConfig'][_0x4c1b60(0x1eb)]===_0x4c1b60(0x1fa)?_0x2b7395[_0x4c1b60(0x1f1)]['apps']:{},_0x2c745b=_0x2b7395[_0x4c1b60(0x1fe)]['apps']&&typeof _0x2b7395[_0x4c1b60(0x1fe)][_0x4c1b60(0x1eb)]===_0x4c1b60(0x1fa)?_0x2b7395[_0x4c1b60(0x1fe)][_0x4c1b60(0x1eb)]:{},_0x3a4f71=appDefinedIn(_0x1b4dda,_0x4bfc02,_0x2c745b,_0x2b7395['projectConfig'][_0x4c1b60(0x1f6)]===![]),_0x285f06=resolveAppScopeForWrite(_0x1b4dda,_0x3e3a88,_0x2b7395),_0x29004={'global':_0x285f06===_0x4c1b60(0x1fb)},_0x1fa667=readConfig(_0x29004),_0x23047f=_0x1fa667[_0x4c1b60(0x1eb)];if(!_0x23047f||!_0x23047f[_0x1b4dda])throw CliErrors[_0x4c1b60(0x1fd)](_0x4c1b60(0x1e6)+_0x1b4dda+_0x4c1b60(0x1e9));delete _0x23047f[_0x1b4dda];let _0x4f4669='';if(_0x1fa667[_0x4c1b60(0x1dd)]===_0x1b4dda){const _0x113f3b=Object['keys'](_0x23047f);_0x1fa667['defaultApp']=_0x113f3b[_0x4c1b60(0x1fc)]>0x0?_0x113f3b[0x0]:undefined,_0x1fa667[_0x4c1b60(0x1dd)]?_0x4f4669=_0x4c1b60(0x1e1)+_0x1fa667[_0x4c1b60(0x1dd)]+'\x22.':delete _0x1fa667[_0x4c1b60(0x1dd)];}Object[_0x4c1b60(0x1f0)](_0x23047f)[_0x4c1b60(0x1fc)]===0x0&&(delete _0x1fa667[_0x4c1b60(0x1eb)],delete _0x1fa667[_0x4c1b60(0x1dd)]);writeConfig(_0x1fa667,_0x29004);const _0x3c518a=_0x3a4f71===_0x4c1b60(0x1f7)?_0x4c1b60(0x1ef)+_0x1b4dda+_0x4c1b60(0x1d9)+(_0x285f06===_0x4c1b60(0x1e2)?'global':_0x4c1b60(0x1e2))+_0x4c1b60(0x1d7):'';return{'ok':!![],'message':_0x4c1b60(0x1d5)+_0x1b4dda+'\x22'+scopeLabel(_0x29004)+'.'+_0x4f4669+_0x3c518a};}export const appRemoveDefinition={'service':a22_0x39032d(0x1f8),'command':a22_0x39032d(0x1dc),'description':a22_0x39032d(0x1e0),'risk':a22_0x39032d(0x1f5),'requiresAuth':![],'requiresAppCode':![],'args':[{'name':a22_0x39032d(0x1ea),'description':a22_0x39032d(0x1e7),'required':!![]}],'flags':[{'name':a22_0x39032d(0x1fb),'type':a22_0x39032d(0x1ee),'description':a22_0x39032d(0x1ec),'default':![]}],'validate':validateArgs,'execute':execute};
1
+ const a22_0x4ff9d9=a22_0x2db5;(function(_0x1e9db9,_0x54d75d){const _0x298ec6=a22_0x2db5,_0x490e93=_0x1e9db9();while(!![]){try{const _0xd824f1=-parseInt(_0x298ec6(0x1f2))/0x1*(-parseInt(_0x298ec6(0x1e8))/0x2)+parseInt(_0x298ec6(0x1da))/0x3*(parseInt(_0x298ec6(0x1ed))/0x4)+-parseInt(_0x298ec6(0x1d3))/0x5+parseInt(_0x298ec6(0x1f0))/0x6*(-parseInt(_0x298ec6(0x1e5))/0x7)+parseInt(_0x298ec6(0x1de))/0x8*(parseInt(_0x298ec6(0x1ee))/0x9)+-parseInt(_0x298ec6(0x1e2))/0xa*(parseInt(_0x298ec6(0x1d4))/0xb)+-parseInt(_0x298ec6(0x1d2))/0xc*(parseInt(_0x298ec6(0x1e1))/0xd);if(_0xd824f1===_0x54d75d)break;else _0x490e93['push'](_0x490e93['shift']());}catch(_0x1a72ba){_0x490e93['push'](_0x490e93['shift']());}}}(a22_0x4a56,0xe8ee4));function a22_0x2db5(_0x4061bb,_0x5e6ea4){_0x4061bb=_0x4061bb-0x1cd;const _0x4a565=a22_0x4a56();let _0x2db5a2=_0x4a565[_0x4061bb];return _0x2db5a2;}import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{readRawConfigWithLayers}from'../../context.js';import{readConfig,writeConfig,scopeLabel,resolveAppScopeForWrite,appDefinedIn}from'../../commands/app/shared.js';async function validateArgs(_0x3e0816){const _0x4b8a67=a22_0x2db5,_0x1d7a40=_0x3e0816['args'][0x0]?.[_0x4b8a67(0x1ef)]();if(!_0x1d7a40)throw CliErrors[_0x4b8a67(0x1e3)](_0x4b8a67(0x1d6),_0x4b8a67(0x1d0)+CLI_BIN_NAME+_0x4b8a67(0x1eb));}function a22_0x4a56(){const _0x1ba114=['trim','3756oCRxZf','keys','26ZWmiPT','apps','\x22\x20not\x20found.','App\x20profile\x20name\x20to\x20remove','projectConfig','globalConfig','Usage:\x20','bool','304644APuPPZ','2023875KydEle','11vtdVfd','\x20Default\x20app\x20changed\x20to\x20\x22','Missing\x20app\x20name.','Remove\x20an\x20app\x20from\x20config','boolean','inherit','936501gxWYGk','app','Removed\x20app\x20\x22','defaultApp','8UyPIcF','object','global','13GfvEkD','9465110nFECfU','validation','Use\x20global\x20config\x20scope','18935xaUZoI','project','high-risk-write','69772gPPJLY','args','length','\x20app\x20remove\x20<name>\x20[--global]','\x20config.','20CyfXem','14005944ZpvtAG'];a22_0x4a56=function(){return _0x1ba114;};return a22_0x4a56();}async function execute(_0x26b71c){const _0xfaefe1=a22_0x2db5,_0x39721c=_0x26b71c[_0xfaefe1(0x1e9)][0x0]?.[_0xfaefe1(0x1ef)]();if(!_0x39721c)throw CliErrors['validation']('Missing\x20app\x20name.',_0xfaefe1(0x1d0)+CLI_BIN_NAME+_0xfaefe1(0x1eb));const _0x18cf71=_0x26b71c[_0xfaefe1(0x1d1)]('global'),{config:_0x2d706d,layers:_0x11b367}=readRawConfigWithLayers(),_0x547c0f=_0x2d706d[_0xfaefe1(0x1f3)]??{};if(!_0x547c0f[_0x39721c])throw CliErrors[_0xfaefe1(0x1e3)]('App\x20\x22'+_0x39721c+_0xfaefe1(0x1f4));const _0x31831e=_0x11b367['globalConfig'][_0xfaefe1(0x1f3)]&&typeof _0x11b367[_0xfaefe1(0x1cf)]['apps']===_0xfaefe1(0x1df)?_0x11b367[_0xfaefe1(0x1cf)][_0xfaefe1(0x1f3)]:{},_0x217d69=_0x11b367[_0xfaefe1(0x1ce)][_0xfaefe1(0x1f3)]&&typeof _0x11b367['projectConfig']['apps']===_0xfaefe1(0x1df)?_0x11b367[_0xfaefe1(0x1ce)][_0xfaefe1(0x1f3)]:{},_0x51b86f=appDefinedIn(_0x39721c,_0x31831e,_0x217d69,_0x11b367[_0xfaefe1(0x1ce)][_0xfaefe1(0x1d9)]===![]),_0x1c08de=resolveAppScopeForWrite(_0x39721c,_0x18cf71,_0x11b367),_0x666a1a={'global':_0x1c08de===_0xfaefe1(0x1e0)},_0x367f03=readConfig(_0x666a1a),_0x422553=_0x367f03[_0xfaefe1(0x1f3)];if(!_0x422553||!_0x422553[_0x39721c])throw CliErrors['validation']('App\x20\x22'+_0x39721c+_0xfaefe1(0x1f4));delete _0x422553[_0x39721c];let _0x42bed4='';if(_0x367f03[_0xfaefe1(0x1dd)]===_0x39721c){const _0x5eb866=Object[_0xfaefe1(0x1f1)](_0x422553);_0x367f03['defaultApp']=_0x5eb866[_0xfaefe1(0x1ea)]>0x0?_0x5eb866[0x0]:undefined,_0x367f03[_0xfaefe1(0x1dd)]?_0x42bed4=_0xfaefe1(0x1d5)+_0x367f03[_0xfaefe1(0x1dd)]+'\x22.':delete _0x367f03[_0xfaefe1(0x1dd)];}Object[_0xfaefe1(0x1f1)](_0x422553)[_0xfaefe1(0x1ea)]===0x0&&(delete _0x367f03[_0xfaefe1(0x1f3)],delete _0x367f03['defaultApp']);writeConfig(_0x367f03,_0x666a1a);const _0x1ee38a=_0x51b86f==='both'?'\x20Note:\x20app\x20\x22'+_0x39721c+'\x22\x20still\x20defined\x20in\x20'+(_0x1c08de===_0xfaefe1(0x1e6)?_0xfaefe1(0x1e0):_0xfaefe1(0x1e6))+_0xfaefe1(0x1ec):'';return{'ok':!![],'message':_0xfaefe1(0x1dc)+_0x39721c+'\x22'+scopeLabel(_0x666a1a)+'.'+_0x42bed4+_0x1ee38a};}export const appRemoveDefinition={'service':a22_0x4ff9d9(0x1db),'command':'remove','description':a22_0x4ff9d9(0x1d7),'risk':a22_0x4ff9d9(0x1e7),'requiresAuth':![],'requiresAppCode':![],'args':[{'name':'name','description':a22_0x4ff9d9(0x1cd),'required':!![]}],'flags':[{'name':a22_0x4ff9d9(0x1e0),'type':a22_0x4ff9d9(0x1d8),'description':a22_0x4ff9d9(0x1e4),'default':![]}],'validate':validateArgs,'execute':execute};
@@ -1 +1 @@
1
- (function(_0x16cb55,_0x4415d5){const _0x120971=a23_0x501b,_0x147f18=_0x16cb55();while(!![]){try{const _0x5dc157=-parseInt(_0x120971(0xe7))/0x1*(parseInt(_0x120971(0xe9))/0x2)+-parseInt(_0x120971(0xec))/0x3*(parseInt(_0x120971(0xe6))/0x4)+parseInt(_0x120971(0xdc))/0x5+-parseInt(_0x120971(0xf7))/0x6+parseInt(_0x120971(0xf1))/0x7*(parseInt(_0x120971(0xeb))/0x8)+parseInt(_0x120971(0xf5))/0x9+-parseInt(_0x120971(0xf4))/0xa;if(_0x5dc157===_0x4415d5)break;else _0x147f18['push'](_0x147f18['shift']());}catch(_0x31e7ce){_0x147f18['push'](_0x147f18['shift']());}}}(a23_0xd0b2,0x488f9));import{resolveWriteConfigPath,readConfigFile,writeConfigFile}from'../../context.js';function a23_0x501b(_0x284cc0,_0x7671b9){_0x284cc0=_0x284cc0-0xdb;const _0xd0b2de=a23_0xd0b2();let _0x501ba0=_0xd0b2de[_0x284cc0];return _0x501ba0;}export function enrichAppListItemsWithMergedSelection(_0x4a85e4,_0x2f3f68){const _0x446947=a23_0x501b;if(!_0x2f3f68)return;const _0x3f324e=_0x2f3f68[_0x446947(0xdb)]&&typeof _0x2f3f68['apps']==='object'?_0x2f3f68[_0x446947(0xdb)]:{},_0x5f5491=Object['keys'](_0x3f324e)[_0x446947(0xed)]>0x0;for(const _0x35ebda of _0x4a85e4){_0x35ebda[_0x446947(0xf6)]=![];}const _0x2da8c8=_0x2f3f68[_0x446947(0xe5)]!=null?String(_0x2f3f68[_0x446947(0xe5)])['trim']():'';if(_0x5f5491){const _0x325bb1=_0x2f3f68['currentApp']??_0x2f3f68[_0x446947(0xf0)];if(_0x325bb1)for(const _0x589f5f of _0x4a85e4){_0x589f5f['named']===!![]&&_0x589f5f[_0x446947(0xe3)]===_0x325bb1&&(_0x589f5f['isCurrent']=!![]);}for(const _0xca3e1f of _0x4a85e4){if(_0xca3e1f[_0x446947(0xdd)]!==![])continue;if(_0x2f3f68[_0x446947(0xf0)])continue;_0x2da8c8&&String(_0xca3e1f[_0x446947(0xdf)]??'')[_0x446947(0xe1)]()===_0x2da8c8&&(_0xca3e1f[_0x446947(0xf6)]=!![]);}return;}if(!_0x2da8c8)return;for(const _0x14060b of _0x4a85e4){String(_0x14060b[_0x446947(0xdf)]??'')['trim']()===_0x2da8c8&&(_0x14060b[_0x446947(0xf6)]=!![]);}}export function resolveAppScopeForWrite(_0x4cc162,_0xa6bacc,_0x2b9680){const _0x5c7e42=a23_0x501b;if(_0xa6bacc)return _0x5c7e42(0xef);const _0x2266ac=_0x2b9680[_0x5c7e42(0xde)][_0x5c7e42(0xdb)]&&typeof _0x2b9680['projectConfig'][_0x5c7e42(0xdb)]===_0x5c7e42(0xe0)?_0x2b9680[_0x5c7e42(0xde)][_0x5c7e42(0xdb)]:{},_0x177fd3=_0x2b9680[_0x5c7e42(0xf8)]['apps']&&typeof _0x2b9680[_0x5c7e42(0xf8)][_0x5c7e42(0xdb)]===_0x5c7e42(0xe0)?_0x2b9680['globalConfig'][_0x5c7e42(0xdb)]:{};if(Object[_0x5c7e42(0xea)][_0x5c7e42(0xe2)][_0x5c7e42(0xf2)](_0x2266ac,_0x4cc162))return _0x5c7e42(0xee);if(Object[_0x5c7e42(0xea)][_0x5c7e42(0xe2)][_0x5c7e42(0xf2)](_0x177fd3,_0x4cc162))return _0x5c7e42(0xef);return _0x5c7e42(0xee);}export function appDefinedIn(_0x45ae55,_0x308463,_0x126d79,_0x433965){const _0x3c9f18=a23_0x501b;if(_0x433965)return Object[_0x3c9f18(0xea)][_0x3c9f18(0xe2)][_0x3c9f18(0xf2)](_0x126d79,_0x45ae55)?_0x3c9f18(0xee):_0x3c9f18(0xef);const _0x10a92a=Object[_0x3c9f18(0xea)]['hasOwnProperty'][_0x3c9f18(0xf2)](_0x308463,_0x45ae55),_0x4149b5=Object[_0x3c9f18(0xea)][_0x3c9f18(0xe2)][_0x3c9f18(0xf2)](_0x126d79,_0x45ae55);if(_0x10a92a&&_0x4149b5)return _0x3c9f18(0xe8);if(_0x4149b5)return _0x3c9f18(0xee);return _0x3c9f18(0xef);}export function resolveDefaultAppSource(_0x2cd579){const _0x5c7587=a23_0x501b,_0x5d7ede=_0x2cd579[_0x5c7587(0xde)]['apps']&&typeof _0x2cd579['projectConfig'][_0x5c7587(0xdb)]==='object'?_0x2cd579[_0x5c7587(0xde)]['apps']:{};if(_0x5c7587(0xf0)in _0x2cd579['projectConfig'])return _0x5c7587(0xee);if(Object[_0x5c7587(0xf3)](_0x5d7ede)[_0x5c7587(0xed)]>0x0)return _0x5c7587(0xee);if(_0x2cd579[_0x5c7587(0xde)]['inherit']===![])return null;if(_0x2cd579['globalConfig'][_0x5c7587(0xf0)])return _0x5c7587(0xef);return null;}export function getConfigPath(_0x1cfe26={}){const _0x209d9f=a23_0x501b,_0x784c4c=_0x1cfe26['global']?_0x209d9f(0xef):'project';return resolveWriteConfigPath(_0x784c4c);}function a23_0xd0b2(){const _0x73521a=['both','655908LnhjBs','prototype','931272GfjNpg','21585IOSmuq','length','project','global','defaultApp','35hHksMM','call','keys','2694150JvAAtZ','4736664rnDCkL','isCurrent','1603206gvjQeR','globalConfig','apps','2353740ZESUpQ','named','projectConfig','appcode','object','trim','hasOwnProperty','name','\x20(global)','appCode','232toeSwG','1NLPjBJ'];a23_0xd0b2=function(){return _0x73521a;};return a23_0xd0b2();}export function readConfig(_0x2e1821={}){return readConfigFile(getConfigPath(_0x2e1821));}export function writeConfig(_0x94fc5c,_0xb94f={}){writeConfigFile(getConfigPath(_0xb94f),_0x94fc5c);}export function scopeLabel(_0x193f50){const _0x286dfb=a23_0x501b;return _0x193f50[_0x286dfb(0xef)]?_0x286dfb(0xe4):'';}
1
+ (function(_0x132011,_0x3453d3){const _0x3c4955=a23_0x26e0,_0x18e10c=_0x132011();while(!![]){try{const _0x1e498f=-parseInt(_0x3c4955(0x9d))/0x1*(parseInt(_0x3c4955(0xa5))/0x2)+-parseInt(_0x3c4955(0x96))/0x3*(-parseInt(_0x3c4955(0x95))/0x4)+parseInt(_0x3c4955(0xa0))/0x5*(parseInt(_0x3c4955(0x93))/0x6)+-parseInt(_0x3c4955(0x90))/0x7+-parseInt(_0x3c4955(0x97))/0x8+parseInt(_0x3c4955(0x9b))/0x9+-parseInt(_0x3c4955(0x8c))/0xa;if(_0x1e498f===_0x3453d3)break;else _0x18e10c['push'](_0x18e10c['shift']());}catch(_0x4fed01){_0x18e10c['push'](_0x18e10c['shift']());}}}(a23_0x21ee,0xd8fca));import{resolveWriteConfigPath,readConfigFile,writeConfigFile}from'../../context.js';export function enrichAppListItemsWithMergedSelection(_0x4b3b1f,_0x94b067){const _0x3e70e1=a23_0x26e0;if(!_0x94b067)return;const _0x2ba67e=_0x94b067[_0x3e70e1(0xa3)]&&typeof _0x94b067['apps']==='object'?_0x94b067[_0x3e70e1(0xa3)]:{},_0x10e46f=Object['keys'](_0x2ba67e)[_0x3e70e1(0x9a)]>0x0;for(const _0xb49067 of _0x4b3b1f){_0xb49067[_0x3e70e1(0x9c)]=![];}const _0x353a9d=_0x94b067[_0x3e70e1(0x91)]!=null?String(_0x94b067[_0x3e70e1(0x91)])['trim']():'';if(_0x10e46f){const _0x27716e=_0x94b067[_0x3e70e1(0x9f)]??_0x94b067[_0x3e70e1(0x9e)];if(_0x27716e)for(const _0xb6c882 of _0x4b3b1f){_0xb6c882['named']===!![]&&_0xb6c882['name']===_0x27716e&&(_0xb6c882['isCurrent']=!![]);}for(const _0x575465 of _0x4b3b1f){if(_0x575465['named']!==![])continue;if(_0x94b067[_0x3e70e1(0x9e)])continue;_0x353a9d&&String(_0x575465[_0x3e70e1(0xa4)]??'')[_0x3e70e1(0xa1)]()===_0x353a9d&&(_0x575465[_0x3e70e1(0x9c)]=!![]);}return;}if(!_0x353a9d)return;for(const _0x544b90 of _0x4b3b1f){String(_0x544b90[_0x3e70e1(0xa4)]??'')[_0x3e70e1(0xa1)]()===_0x353a9d&&(_0x544b90[_0x3e70e1(0x9c)]=!![]);}}function a23_0x26e0(_0x1bd191,_0x291d64){_0x1bd191=_0x1bd191-0x8b;const _0x21ee25=a23_0x21ee();let _0x26e0a3=_0x21ee25[_0x1bd191];return _0x26e0a3;}export function resolveAppScopeForWrite(_0x18189f,_0x12821d,_0x18484f){const _0x49b2a0=a23_0x26e0;if(_0x12821d)return'global';const _0xc97b61=_0x18484f[_0x49b2a0(0x99)][_0x49b2a0(0xa3)]&&typeof _0x18484f[_0x49b2a0(0x99)][_0x49b2a0(0xa3)]==='object'?_0x18484f[_0x49b2a0(0x99)][_0x49b2a0(0xa3)]:{},_0x504d61=_0x18484f[_0x49b2a0(0x94)][_0x49b2a0(0xa3)]&&typeof _0x18484f[_0x49b2a0(0x94)]['apps']===_0x49b2a0(0x98)?_0x18484f[_0x49b2a0(0x94)]['apps']:{};if(Object['prototype'][_0x49b2a0(0x8d)][_0x49b2a0(0xa6)](_0xc97b61,_0x18189f))return'project';if(Object[_0x49b2a0(0x92)][_0x49b2a0(0x8d)]['call'](_0x504d61,_0x18189f))return _0x49b2a0(0x8e);return _0x49b2a0(0x8f);}export function appDefinedIn(_0x4f37df,_0x5ce2dc,_0x61bf53,_0x1b87c9){const _0x12758f=a23_0x26e0;if(_0x1b87c9)return Object[_0x12758f(0x92)]['hasOwnProperty'][_0x12758f(0xa6)](_0x61bf53,_0x4f37df)?_0x12758f(0x8f):'global';const _0x12b723=Object['prototype'][_0x12758f(0x8d)]['call'](_0x5ce2dc,_0x4f37df),_0x270227=Object['prototype']['hasOwnProperty'][_0x12758f(0xa6)](_0x61bf53,_0x4f37df);if(_0x12b723&&_0x270227)return _0x12758f(0x8b);if(_0x270227)return'project';return _0x12758f(0x8e);}export function resolveDefaultAppSource(_0x4c96f8){const _0x3e7216=a23_0x26e0,_0x1c51e8=_0x4c96f8[_0x3e7216(0x99)]['apps']&&typeof _0x4c96f8['projectConfig'][_0x3e7216(0xa3)]===_0x3e7216(0x98)?_0x4c96f8[_0x3e7216(0x99)]['apps']:{};if(_0x3e7216(0x9e)in _0x4c96f8[_0x3e7216(0x99)])return _0x3e7216(0x8f);if(Object['keys'](_0x1c51e8)[_0x3e7216(0x9a)]>0x0)return'project';if(_0x4c96f8[_0x3e7216(0x99)][_0x3e7216(0xa2)]===![])return null;if(_0x4c96f8[_0x3e7216(0x94)][_0x3e7216(0x9e)])return _0x3e7216(0x8e);return null;}export function getConfigPath(_0x4054ac={}){const _0x5ca8f3=a23_0x26e0,_0x19b5da=_0x4054ac[_0x5ca8f3(0x8e)]?_0x5ca8f3(0x8e):_0x5ca8f3(0x8f);return resolveWriteConfigPath(_0x19b5da);}export function readConfig(_0x3192fc={}){return readConfigFile(getConfigPath(_0x3192fc));}export function writeConfig(_0x52ec38,_0x23cca7={}){writeConfigFile(getConfigPath(_0x23cca7),_0x52ec38);}export function scopeLabel(_0x4cecda){const _0x1fc4ec=a23_0x26e0;return _0x4cecda[_0x1fc4ec(0x8e)]?'\x20(global)':'';}function a23_0x21ee(){const _0x2eb0c0=['688974ADvVCL','globalConfig','1661060PSgSlc','3cCzcoi','11200720WXACaU','object','projectConfig','length','10549755QUmRyc','isCurrent','3WpvRKw','defaultApp','currentApp','60ReWZha','trim','inherit','apps','appcode','124846lwDZXv','call','both','1853790XLFFHn','hasOwnProperty','global','project','2127244LhTzKR','appCode','prototype'];a23_0x21ee=function(){return _0x2eb0c0;};return a23_0x21ee();}
@@ -1 +1 @@
1
- const a24_0x56bcbb=a24_0x6cce;function a24_0x6aa0(){const _0x3116a8=['6526828PApFcd','appcode','apps','App\x20\x22','934rzZnak','hasOwnProperty','Usage:\x20','Missing\x20app\x20name.','validation','\x20app\x20use\x20<name>\x20[--global]','prototype','use','Available:\x20','bool','Default\x20app\x20set\x20to\x20\x22','join','projectPath','\x22\x20(appcode:\x20','50nTHQwe','473013QfrQAL','object','8614333OLllzG','keys','projectConfig','global','defaultApp','74kyuVdG','\x22\x20is\x20defined\x20in\x20global\x20config;\x20defaultApp\x20written\x20to\x20project\x20to\x20take\x20effect\x20in\x20merged\x20view.','19514682iFUWQj','2466530ybGRrq','app','Use\x20global\x20config\x20scope','171456DMaPyL','call','args','\x20app\x20add\x20','3Cqvqgf','trim','boolean','App\x20profile\x20name\x20to\x20activate','Use\x20`','Switch\x20the\x20default\x20app','\x22\x20not\x20found.','8rjzhxW'];a24_0x6aa0=function(){return _0x3116a8;};return a24_0x6aa0();}(function(_0x54b986,_0x430b00){const _0x45a0a9=a24_0x6cce,_0x45ce49=_0x54b986();while(!![]){try{const _0x122844=-parseInt(_0x45a0a9(0xe6))/0x1*(parseInt(_0x45a0a9(0xd0))/0x2)+-parseInt(_0x45a0a9(0xc4))/0x3*(parseInt(_0x45a0a9(0xcc))/0x4)+parseInt(_0x45a0a9(0xde))/0x5*(-parseInt(_0x45a0a9(0xc0))/0x6)+parseInt(_0x45a0a9(0xe1))/0x7+parseInt(_0x45a0a9(0xcb))/0x8*(parseInt(_0x45a0a9(0xdf))/0x9)+-parseInt(_0x45a0a9(0xbd))/0xa+parseInt(_0x45a0a9(0xbc))/0xb;if(_0x122844===_0x430b00)break;else _0x45ce49['push'](_0x45ce49['shift']());}catch(_0x3e306c){_0x45ce49['push'](_0x45ce49['shift']());}}}(a24_0x6aa0,0xd19c0));import{CliErrors}from'../../errors.js';function a24_0x6cce(_0x58f2de,_0x36800a){_0x58f2de=_0x58f2de-0xbc;const _0x6aa0af=a24_0x6aa0();let _0x6cce0d=_0x6aa0af[_0x58f2de];return _0x6cce0d;}import{CLI_BIN_NAME}from'../../constant/cli.js';import{readRawConfigWithLayers,isInProject}from'../../context.js';import{readConfig,writeConfig,scopeLabel}from'../../commands/app/shared.js';async function validateArgs(_0x148b5d){const _0x7320f7=a24_0x6cce,_0x14fd7b=_0x148b5d['args'][0x0]?.[_0x7320f7(0xc5)]();if(!_0x14fd7b)throw CliErrors[_0x7320f7(0xd4)](_0x7320f7(0xd3),_0x7320f7(0xd2)+CLI_BIN_NAME+_0x7320f7(0xd5));}async function execute(_0x34992e){const _0x2c687e=a24_0x6cce,_0x564c24=_0x34992e[_0x2c687e(0xc2)][0x0]?.[_0x2c687e(0xc5)]();if(!_0x564c24)throw CliErrors['validation'](_0x2c687e(0xd3),_0x2c687e(0xd2)+CLI_BIN_NAME+_0x2c687e(0xd5));const _0x3575db=_0x34992e[_0x2c687e(0xd9)](_0x2c687e(0xe4)),{config:_0x511a96,layers:_0x3fbc0d}=readRawConfigWithLayers(),_0x37252a=_0x511a96['apps']??{};if(!_0x37252a[_0x564c24]){const _0x2c4dd7=Object[_0x2c687e(0xe2)](_0x37252a),_0x5c276a=_0x2c4dd7['length']===0x0?_0x2c687e(0xc8)+CLI_BIN_NAME+_0x2c687e(0xc3)+_0x564c24+'\x20--appcode\x20<code>`\x20first.':_0x2c687e(0xd8)+_0x2c4dd7[_0x2c687e(0xdb)](',\x20');throw CliErrors[_0x2c687e(0xd4)](_0x2c687e(0xcf)+_0x564c24+_0x2c687e(0xca),_0x5c276a);}let _0x15e6e1,_0x29b1af='';if(_0x3575db)_0x15e6e1={'global':!![]};else{const _0x14ebc1=isInProject()&&!!_0x3fbc0d[_0x2c687e(0xdc)];_0x15e6e1={'global':!_0x14ebc1};if(_0x14ebc1){const _0xf3fd9d=_0x3fbc0d[_0x2c687e(0xe3)]['apps']&&typeof _0x3fbc0d[_0x2c687e(0xe3)][_0x2c687e(0xce)]===_0x2c687e(0xe0)?_0x3fbc0d[_0x2c687e(0xe3)]['apps']:{};!Object[_0x2c687e(0xd6)][_0x2c687e(0xd1)][_0x2c687e(0xc1)](_0xf3fd9d,_0x564c24)&&(_0x29b1af='\x0aNote:\x20\x22'+_0x564c24+_0x2c687e(0xe7));}}const _0x5dc264=readConfig(_0x15e6e1);return _0x5dc264[_0x2c687e(0xe5)]=_0x564c24,writeConfig(_0x5dc264,_0x15e6e1),{'ok':!![],'message':_0x2c687e(0xda)+_0x564c24+_0x2c687e(0xdd)+_0x37252a[_0x564c24][_0x2c687e(0xcd)]+')'+scopeLabel(_0x15e6e1)+_0x29b1af};}export const appUseDefinition={'service':a24_0x56bcbb(0xbe),'command':a24_0x56bcbb(0xd7),'description':a24_0x56bcbb(0xc9),'risk':'write','requiresAuth':![],'requiresAppCode':![],'args':[{'name':'name','description':a24_0x56bcbb(0xc7),'required':!![]}],'flags':[{'name':'global','type':a24_0x56bcbb(0xc6),'description':a24_0x56bcbb(0xbf),'default':![]}],'validate':validateArgs,'execute':execute};
1
+ const a24_0x1f1451=a24_0x5157;(function(_0xa2e1cb,_0x39fc56){const _0xc5bf9d=a24_0x5157,_0x2ef73f=_0xa2e1cb();while(!![]){try{const _0x1cd61a=-parseInt(_0xc5bf9d(0x1a5))/0x1+-parseInt(_0xc5bf9d(0x1a8))/0x2*(parseInt(_0xc5bf9d(0x1a9))/0x3)+-parseInt(_0xc5bf9d(0x1ba))/0x4+parseInt(_0xc5bf9d(0x1be))/0x5+parseInt(_0xc5bf9d(0x1ab))/0x6+-parseInt(_0xc5bf9d(0x1b5))/0x7*(parseInt(_0xc5bf9d(0x1b1))/0x8)+parseInt(_0xc5bf9d(0x1bc))/0x9*(parseInt(_0xc5bf9d(0x1aa))/0xa);if(_0x1cd61a===_0x39fc56)break;else _0x2ef73f['push'](_0x2ef73f['shift']());}catch(_0x1f1f32){_0x2ef73f['push'](_0x2ef73f['shift']());}}}(a24_0x4f90,0x810c3));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{readRawConfigWithLayers,isInProject}from'../../context.js';import{readConfig,writeConfig,scopeLabel}from'../../commands/app/shared.js';function a24_0x5157(_0x5eb6be,_0x53a450){_0x5eb6be=_0x5eb6be-0x1a4;const _0x4f904a=a24_0x4f90();let _0x5157c0=_0x4f904a[_0x5eb6be];return _0x5157c0;}async function validateArgs(_0x2770d1){const _0x3cd479=a24_0x5157,_0x2273a1=_0x2770d1[_0x3cd479(0x1c3)][0x0]?.['trim']();if(!_0x2273a1)throw CliErrors['validation'](_0x3cd479(0x1a7),'Usage:\x20'+CLI_BIN_NAME+'\x20app\x20use\x20<name>\x20[--global]');}async function execute(_0x3f2489){const _0x1d9e99=a24_0x5157,_0x3409fd=_0x3f2489['args'][0x0]?.[_0x1d9e99(0x1b4)]();if(!_0x3409fd)throw CliErrors[_0x1d9e99(0x1a4)](_0x1d9e99(0x1a7),_0x1d9e99(0x1af)+CLI_BIN_NAME+_0x1d9e99(0x1c2));const _0x149e39=_0x3f2489[_0x1d9e99(0x1b0)]('global'),{config:_0x37f4fe,layers:_0xd686c2}=readRawConfigWithLayers(),_0x472508=_0x37f4fe[_0x1d9e99(0x1ac)]??{};if(!_0x472508[_0x3409fd]){const _0x34bf64=Object['keys'](_0x472508),_0x2f5ebb=_0x34bf64[_0x1d9e99(0x1b8)]===0x0?_0x1d9e99(0x1bf)+CLI_BIN_NAME+'\x20app\x20add\x20'+_0x3409fd+_0x1d9e99(0x1c4):'Available:\x20'+_0x34bf64[_0x1d9e99(0x1c5)](',\x20');throw CliErrors['validation'](_0x1d9e99(0x1b2)+_0x3409fd+'\x22\x20not\x20found.',_0x2f5ebb);}let _0x8dba47,_0xd49cb7='';if(_0x149e39)_0x8dba47={'global':!![]};else{const _0xad40d6=isInProject()&&!!_0xd686c2['projectPath'];_0x8dba47={'global':!_0xad40d6};if(_0xad40d6){const _0x295a49=_0xd686c2[_0x1d9e99(0x1b9)][_0x1d9e99(0x1ac)]&&typeof _0xd686c2[_0x1d9e99(0x1b9)][_0x1d9e99(0x1ac)]==='object'?_0xd686c2[_0x1d9e99(0x1b9)][_0x1d9e99(0x1ac)]:{};!Object[_0x1d9e99(0x1bd)]['hasOwnProperty'][_0x1d9e99(0x1c1)](_0x295a49,_0x3409fd)&&(_0xd49cb7=_0x1d9e99(0x1ad)+_0x3409fd+'\x22\x20is\x20defined\x20in\x20global\x20config;\x20defaultApp\x20written\x20to\x20project\x20to\x20take\x20effect\x20in\x20merged\x20view.');}}const _0x20ad7f=readConfig(_0x8dba47);return _0x20ad7f['defaultApp']=_0x3409fd,writeConfig(_0x20ad7f,_0x8dba47),{'ok':!![],'message':'Default\x20app\x20set\x20to\x20\x22'+_0x3409fd+_0x1d9e99(0x1a6)+_0x472508[_0x3409fd]['appcode']+')'+scopeLabel(_0x8dba47)+_0xd49cb7};}function a24_0x4f90(){const _0x401903=['prototype','1772730krfekE','Use\x20`','write','call','\x20app\x20use\x20<name>\x20[--global]','args','\x20--appcode\x20<code>`\x20first.','join','validation','922980NnLoUf','\x22\x20(appcode:\x20','Missing\x20app\x20name.','2EbqERq','2554635sOHoKP','6840620oqSgmk','3273732kvwOwd','apps','\x0aNote:\x20\x22','boolean','Usage:\x20','bool','1839584QJRvoS','App\x20\x22','use','trim','21doLasi','name','Use\x20global\x20config\x20scope','length','projectConfig','2573872FVLMFX','App\x20profile\x20name\x20to\x20activate','36PuVwEg'];a24_0x4f90=function(){return _0x401903;};return a24_0x4f90();}export const appUseDefinition={'service':'app','command':a24_0x1f1451(0x1b3),'description':'Switch\x20the\x20default\x20app','risk':a24_0x1f1451(0x1c0),'requiresAuth':![],'requiresAppCode':![],'args':[{'name':a24_0x1f1451(0x1b6),'description':a24_0x1f1451(0x1bb),'required':!![]}],'flags':[{'name':'global','type':a24_0x1f1451(0x1ae),'description':a24_0x1f1451(0x1b7),'default':![]}],'validate':validateArgs,'execute':execute};
@@ -1 +1 @@
1
- const a25_0x2253a2=a25_0x362d;(function(_0x4aea57,_0x194d84){const _0x3330ac=a25_0x362d,_0x246f0a=_0x4aea57();while(!![]){try{const _0x23a030=-parseInt(_0x3330ac(0xc9))/0x1*(-parseInt(_0x3330ac(0xc5))/0x2)+-parseInt(_0x3330ac(0xb9))/0x3*(-parseInt(_0x3330ac(0xc1))/0x4)+parseInt(_0x3330ac(0xc3))/0x5*(-parseInt(_0x3330ac(0xbd))/0x6)+-parseInt(_0x3330ac(0xbf))/0x7+parseInt(_0x3330ac(0xc2))/0x8*(parseInt(_0x3330ac(0xbe))/0x9)+-parseInt(_0x3330ac(0xca))/0xa*(-parseInt(_0x3330ac(0xd1))/0xb)+-parseInt(_0x3330ac(0xcc))/0xc*(parseInt(_0x3330ac(0xbb))/0xd);if(_0x23a030===_0x194d84)break;else _0x246f0a['push'](_0x246f0a['shift']());}catch(_0x1e4c6c){_0x246f0a['push'](_0x246f0a['shift']());}}}(a25_0x1efc,0x70fd8));function a25_0x362d(_0x2e6ef4,_0x51377a){_0x2e6ef4=_0x2e6ef4-0xb7;const _0x1efcac=a25_0x1efc();let _0x362d41=_0x1efcac[_0x2e6ef4];return _0x362d41;}import{unlinkSync,existsSync}from'node:fs';import{cookieFile}from'../../auth/constant.js';export const authDefinitions=[{'service':'auth','command':a25_0x2253a2(0xd0),'description':a25_0x2253a2(0xc6),'risk':a25_0x2253a2(0xcb),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a25_0x2253a2(0xc0),'type':a25_0x2253a2(0xc8),'description':a25_0x2253a2(0xcf),'default':![]}],async 'execute'(_0x2797a5){const _0x2b5c65=a25_0x2253a2,{runAuthServer:_0x7f26ba}=await import('../../auth/auth-server-ui.js');return await _0x7f26ba({'autoYes':_0x2797a5[_0x2b5c65(0xba)](_0x2b5c65(0xc0)),'nonInteractive':_0x2797a5[_0x2b5c65(0xbc)]}),{'ok':!![]};}},{'service':a25_0x2253a2(0xce),'command':a25_0x2253a2(0xb7),'description':a25_0x2253a2(0xc7),'risk':'write','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x570e74){const _0x1d653e=a25_0x2253a2;return existsSync(cookieFile)?(unlinkSync(cookieFile),console[_0x1d653e(0xc4)](_0x1d653e(0xcd))):console[_0x1d653e(0xc4)](_0x1d653e(0xb8)),{'ok':!![]};}}];function a25_0x1efc(){const _0x210b94=['auth','Skip\x20login\x20confirmation\x20and\x20start\x20browser\x20auth\x20immediately','login','6937876KpxtvQ','logout','!\x20Not\x20logged\x20in','85263vitBuo','bool','559BoKgwb','nonInteractive','774bDHqkz','801mSmriI','6412889QLTOqF','yes','124WcjqAW','34840CdKvjL','24715mEnTwR','log','26538tURnkO','Login\x20via\x20browser','Clear\x20login\x20session','boolean','19KPhguK','10RZDazg','read','37644okCadn','✓\x20Logged\x20out'];a25_0x1efc=function(){return _0x210b94;};return a25_0x1efc();}
1
+ function a25_0x5a93(_0x1d6512,_0x15d429){_0x1d6512=_0x1d6512-0x14d;const _0x3d6249=a25_0x3d62();let _0x5a93ef=_0x3d6249[_0x1d6512];return _0x5a93ef;}const a25_0x5f1650=a25_0x5a93;(function(_0x48c75f,_0xe8077f){const _0x1aeed1=a25_0x5a93,_0x5c1add=_0x48c75f();while(!![]){try{const _0x46af76=parseInt(_0x1aeed1(0x162))/0x1*(-parseInt(_0x1aeed1(0x14f))/0x2)+-parseInt(_0x1aeed1(0x154))/0x3+-parseInt(_0x1aeed1(0x15a))/0x4*(-parseInt(_0x1aeed1(0x15d))/0x5)+parseInt(_0x1aeed1(0x15e))/0x6*(-parseInt(_0x1aeed1(0x14d))/0x7)+-parseInt(_0x1aeed1(0x151))/0x8+-parseInt(_0x1aeed1(0x156))/0x9+-parseInt(_0x1aeed1(0x14e))/0xa*(-parseInt(_0x1aeed1(0x150))/0xb);if(_0x46af76===_0xe8077f)break;else _0x5c1add['push'](_0x5c1add['shift']());}catch(_0x528b9f){_0x5c1add['push'](_0x5c1add['shift']());}}}(a25_0x3d62,0x9faad));import{unlinkSync,existsSync}from'node:fs';function a25_0x3d62(){const _0x11d14d=['log','17785rmMEDQ','6MftYDl','auth','yes','!\x20Not\x20logged\x20in','54959lIbDmn','1018535nvtDTN','148590UYDyEm','38ydqawC','2805jqdqfG','3626176HrdPck','../../auth/auth-server-ui.js','nonInteractive','3834657VDqkRH','read','6118182CyQBtO','logout','boolean','login','524KpieMj','bool'];a25_0x3d62=function(){return _0x11d14d;};return a25_0x3d62();}import{cookieFile}from'../../auth/constant.js';export const authDefinitions=[{'service':'auth','command':a25_0x5f1650(0x159),'description':'Login\x20via\x20browser','risk':a25_0x5f1650(0x155),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a25_0x5f1650(0x160),'type':a25_0x5f1650(0x158),'description':'Skip\x20login\x20confirmation\x20and\x20start\x20browser\x20auth\x20immediately','default':![]}],async 'execute'(_0x370b60){const _0x31f28f=a25_0x5f1650,{runAuthServer:_0x2adb18}=await import(_0x31f28f(0x152));return await _0x2adb18({'autoYes':_0x370b60[_0x31f28f(0x15b)](_0x31f28f(0x160)),'nonInteractive':_0x370b60[_0x31f28f(0x153)]}),{'ok':!![]};}},{'service':a25_0x5f1650(0x15f),'command':a25_0x5f1650(0x157),'description':'Clear\x20login\x20session','risk':'write','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x6292a6){const _0x117fe7=a25_0x5f1650;return existsSync(cookieFile)?(unlinkSync(cookieFile),console[_0x117fe7(0x15c)]('✓\x20Logged\x20out')):console['log'](_0x117fe7(0x161)),{'ok':!![]};}}];
@@ -1 +1 @@
1
- const a26_0x5cd868=a26_0x3ea4;(function(_0x2f99a4,_0x4e429d){const _0x47418b=a26_0x3ea4,_0x1de8c1=_0x2f99a4();while(!![]){try{const _0x4cd53d=-parseInt(_0x47418b(0x14f))/0x1*(parseInt(_0x47418b(0x148))/0x2)+parseInt(_0x47418b(0x15c))/0x3+parseInt(_0x47418b(0x179))/0x4*(-parseInt(_0x47418b(0x160))/0x5)+parseInt(_0x47418b(0x15e))/0x6*(parseInt(_0x47418b(0x139))/0x7)+-parseInt(_0x47418b(0x170))/0x8*(-parseInt(_0x47418b(0x152))/0x9)+-parseInt(_0x47418b(0x132))/0xa*(parseInt(_0x47418b(0x13e))/0xb)+parseInt(_0x47418b(0x13b))/0xc*(parseInt(_0x47418b(0x147))/0xd);if(_0x4cd53d===_0x4e429d)break;else _0x1de8c1['push'](_0x1de8c1['shift']());}catch(_0x382fac){_0x1de8c1['push'](_0x1de8c1['shift']());}}}(a26_0x87e4,0x78a0f));import{createInterface}from'node:readline';import{mkdir,writeFile}from'node:fs/promises';import{dirname,join}from'node:path';import{listDatasets,listBffDatasetOperations}from'../../core/api-client.js';import{loadAliasMap,resolveAlias}from'../../core/alias-resolver.js';import{resolveApiFilePath}from'../../context.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{fileExists}from'../../core/bff/file-system.js';import{isValidBffFunctionName,normalizeHookFunctionNode}from'../../core/bff/utils.js';import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';function a26_0x87e4(){const _0x57f1c1=['\x22.\x20Must\x20be\x20a\x20valid\x20JS\x20identifier\x20(e.g.\x20createOrder,\x20beforeFilter).','\x22\x20not\x20found.\x20','710EniGLa','description','stderr','HOOK\x20requires\x20hookOptions\x20for\x20template\x20generation.','\x0a\x20*\x20[触发节点]\x20','The\x20api.ts\x20may\x20be\x20stale\x20—\x20run\x20`','string','67130WYougv','name','6291372JGzDek','--function-node\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','str','43109dWaiSJ','Dataset\x20code\x20(HOOK\x20only,\x20fallback\x20when\x20alias\x20unavailable)','/**\x0a\x20*\x20HOOK\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','datasetcode','\x0a\x20*\x0a\x20*\x20@param\x20{Object}\x20params\x20-\x20Request\x20parameters.\x0a\x20*\x20@param\x20{Object}\x20context\x20-\x20Execution\x20context\x20(injected\x20by\x20platform).\x0a\x20*\x20@returns\x20{Promise<Object>}\x20Business\x20result\x20(wrapped\x20in\x20response.data).\x0a\x20*/\x0aexport\x20default\x20async\x20function\x20','scriptsRootDir','Created\x20','\x0a\x20*\x20[脚本名称]\x20','\x22.\x20','13tyUPwY','132IvNccc','\x22\x20not\x20found\x20for\x20dataset\x20','--function-node\x20must\x20be\x20\x27before\x27\x20or\x20\x27after\x27.','bff','length','COMMON','apiDir','1227dLNWHe','parseInt','function-node','1860246DgVNWp','after','utf8','Dataset\x20not\x20found\x20for\x20code\x20\x22','alias','Scaffold\x20a\x20new\x20BFF\x20function\x20from\x20template','nonInteractive','\x20function:\x20','\x20\x20Enter\x20a\x20number\x20between\x201\x20and\x20','Dataset\x20alias\x20from\x20api.ts\x20(HOOK\x20only,\x20preferred)','614700gHGOjE','Select\x20dataset:','90HuwUaD','Trigger\x20node\x20(HOOK\x20only)','3198935xKgMnz','Operation\x20type\x20\x22','type','write','ENDPOINT','operation-type','HOOK','appCode','.js\x0a\x20*\x0a\x20*\x20@param\x20{Object}\x20params\x20-\x20Input\x20parameters.\x0a\x20*\x20@param\x20{Object}\x20context\x20-\x20Execution\x20context\x20(injected\x20by\x20platform).\x0a\x20*\x20@returns\x20{Promise<Object>}\x20Processing\x20result.\x0a\x20*/\x0aexport\x20default\x20async\x20function\x20','\x20api\x20pull`\x20first,\x20or\x20use\x20--datasetcode\x20instead.','find','No\x20datasets\x20found\x20for\x20this\x20app.','\x20api\x20pull`\x20to\x20refresh.','Alias\x20\x22','code','map','24OndMgY','\x0a\x20*\x20[接口路径]\x20POST\x20/api/endpoint/{appCode}/{scriptName}\x0a\x20*\x20[当前示例]\x20POST\x20/api/endpoint/','/**\x0a\x20*\x20COMMON\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','join','Available\x20aliases:\x20','.js','functionNode','create','--alias\x20or\x20--datasetcode\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','4vCfmwV','datasetCode','Available:\x20','Operation\x20type\x20(HOOK\x20only)','No\x20api.ts\x20found.\x20Run\x20`','TODO:\x20add\x20script\x20description','validation','operationType','(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a','Script\x20type','before','tableName'];a26_0x87e4=function(){return _0x57f1c1;};return a26_0x87e4();}function a26_0x3ea4(_0xddcc2b,_0x3126bf){_0xddcc2b=_0xddcc2b-0x128;const _0x87e4b5=a26_0x87e4();let _0x3ea411=_0x87e4b5[_0xddcc2b];return _0x3ea411;}export const bffCreate={'service':a26_0x5cd868(0x14b),'command':a26_0x5cd868(0x177),'description':a26_0x5cd868(0x157),'risk':a26_0x5cd868(0x163),'flags':[{'name':a26_0x5cd868(0x162),'type':'string','required':!![],'enum':[a26_0x5cd868(0x14d),a26_0x5cd868(0x164),a26_0x5cd868(0x166)],'description':a26_0x5cd868(0x12d)},{'name':a26_0x5cd868(0x13a),'type':a26_0x5cd868(0x138),'required':!![],'description':'Function\x20name\x20(valid\x20JS\x20identifier)'},{'name':a26_0x5cd868(0x133),'type':a26_0x5cd868(0x138),'description':'Script\x20description'},{'name':a26_0x5cd868(0x156),'type':a26_0x5cd868(0x138),'description':a26_0x5cd868(0x15b)},{'name':a26_0x5cd868(0x141),'type':a26_0x5cd868(0x138),'description':a26_0x5cd868(0x13f)},{'name':a26_0x5cd868(0x165),'type':a26_0x5cd868(0x138),'description':a26_0x5cd868(0x17c)},{'name':a26_0x5cd868(0x151),'type':'string','description':a26_0x5cd868(0x15f),'enum':[a26_0x5cd868(0x12e),a26_0x5cd868(0x153)]}],async 'validate'(_0xab9017){const _0x32f701=a26_0x5cd868,_0x1b40e2=_0xab9017[_0x32f701(0x13d)]('name');if(!isValidBffFunctionName(_0x1b40e2))throw CliErrors[_0x32f701(0x12a)]('Invalid\x20function\x20name\x20\x22'+_0x1b40e2+_0x32f701(0x130));},async 'execute'(_0x4e5d5b){const _0x2dbbe3=a26_0x5cd868,_0x4f5116=loadBffProjectConfig(_0x4e5d5b['appCode']),_0x2f95a8=_0x4e5d5b[_0x2dbbe3(0x13d)](_0x2dbbe3(0x162)),_0x5ca103=_0x4e5d5b[_0x2dbbe3(0x13d)](_0x2dbbe3(0x13a)),_0x5b0e46=_0x4e5d5b[_0x2dbbe3(0x13d)](_0x2dbbe3(0x133))||undefined,_0x2c9ae0=_0x2f95a8==='HOOK'?await resolveHookOptions(_0x4f5116,_0x4e5d5b):undefined,_0x5ecbe8=buildFilePath(_0x4f5116,_0x2f95a8,_0x5ca103,_0x2c9ae0);if(await fileExists(_0x5ecbe8))throw CliErrors[_0x2dbbe3(0x12a)]('File\x20already\x20exists:\x20'+_0x5ecbe8);await mkdir(dirname(_0x5ecbe8),{'recursive':!![]});const _0x13777e=generateTemplate(_0x2f95a8,_0x5ca103,_0x4e5d5b[_0x2dbbe3(0x167)],_0x5b0e46,_0x2c9ae0);await writeFile(_0x5ecbe8,_0x13777e,_0x2dbbe3(0x154));const _0x5eb562={'type':_0x2f95a8,'name':_0x5ca103,'path':_0x5ecbe8};if(_0x5b0e46)_0x5eb562[_0x2dbbe3(0x133)]=_0x5b0e46;if(_0x2c9ae0){if(_0x2c9ae0['alias'])_0x5eb562[_0x2dbbe3(0x156)]=_0x2c9ae0[_0x2dbbe3(0x156)];_0x5eb562[_0x2dbbe3(0x17a)]=_0x2c9ae0[_0x2dbbe3(0x17a)],_0x5eb562[_0x2dbbe3(0x12b)]=_0x2c9ae0[_0x2dbbe3(0x12b)],_0x5eb562[_0x2dbbe3(0x176)]=_0x2c9ae0['functionNode'];}return{'ok':!![],'data':_0x5eb562,'message':_0x2dbbe3(0x144)+_0x2f95a8+_0x2dbbe3(0x159)+_0x5ca103};}};async function resolveHookOptions(_0xa6dc70,_0x4bdfad){const _0x38a635=a26_0x5cd868,_0x1aba81=loadAliasMap(_0x4bdfad[_0x38a635(0x14e)],undefined,resolveApiFilePath(_0x4bdfad[_0x38a635(0x14e)],_0x4bdfad[_0x38a635(0x167)])),_0x5e818d=_0x1aba81['length']>0x0;let _0x3dfbff,_0x2f34a9,_0x5e24f2;const _0xc078b6=_0x4bdfad['str'](_0x38a635(0x156)),_0x2d6d9e=_0x4bdfad[_0x38a635(0x13d)](_0x38a635(0x141));if(_0xc078b6){const _0x24c6bf=resolveAlias(_0x4bdfad[_0x38a635(0x14e)],_0xc078b6,undefined,resolveApiFilePath(_0x4bdfad[_0x38a635(0x14e)],_0x4bdfad[_0x38a635(0x167)]));if(!_0x24c6bf){const _0x4d8881=_0x5e818d?_0x38a635(0x174)+_0x1aba81[_0x38a635(0x16f)](_0x31d252=>_0x31d252[_0x38a635(0x156)])[_0x38a635(0x173)](',\x20'):_0x38a635(0x128)+CLI_BIN_NAME+_0x38a635(0x169);throw CliErrors[_0x38a635(0x12a)](_0x38a635(0x16d)+_0xc078b6+_0x38a635(0x131)+_0x4d8881);}_0x3dfbff=_0xc078b6,_0x2f34a9=_0x24c6bf;}else{if(_0x2d6d9e){_0x2f34a9=_0x2d6d9e;const _0x3c92a9=_0x1aba81[_0x38a635(0x16a)](_0x3cb9a1=>_0x3cb9a1[_0x38a635(0x17a)]===_0x2d6d9e);_0x3dfbff=_0x3c92a9?.[_0x38a635(0x156)];}else{if(_0x4bdfad[_0x38a635(0x158)])throw CliErrors['validation'](_0x38a635(0x178));else{if(_0x5e818d){const _0x200d6d=_0x1aba81['map'](_0x53c496=>_0x53c496[_0x38a635(0x156)]+'\x20('+_0x53c496[_0x38a635(0x12f)]+')'),_0x1f80ba=await promptSelect(_0x38a635(0x15d),_0x200d6d),_0x172a41=_0x1aba81[_0x1f80ba];if(!_0x172a41)throw CliErrors[_0x38a635(0x12a)]('Invalid\x20dataset\x20selection.');_0x3dfbff=_0x172a41[_0x38a635(0x156)],_0x2f34a9=_0x172a41['datasetCode'];}else{const _0x106157=await listDatasets(_0x4bdfad['appCode']);if(_0x106157[_0x38a635(0x14c)]===0x0)throw CliErrors[_0x38a635(0x12a)](_0x38a635(0x16b));const _0x3915d1=_0x106157[_0x38a635(0x16f)](_0x2f073b=>_0x2f073b[_0x38a635(0x13a)]+'\x20('+_0x2f073b['code']+')'),_0x2b7513=await promptSelect(_0x38a635(0x15d),_0x3915d1),_0x2591a1=_0x106157[_0x2b7513];if(!_0x2591a1)throw CliErrors[_0x38a635(0x12a)]('Invalid\x20dataset\x20selection.');_0x2f34a9=_0x2591a1[_0x38a635(0x16e)],_0x3dfbff=undefined;}}}}const _0x7b39a5=await listDatasets(_0x4bdfad[_0x38a635(0x167)]),_0x2fb2b8=_0x7b39a5[_0x38a635(0x16a)](_0x45edc4=>_0x45edc4[_0x38a635(0x16e)]===_0x2f34a9);if(!_0x2fb2b8)throw CliErrors['validation'](_0x38a635(0x155)+_0x2f34a9+_0x38a635(0x146)+(_0x3dfbff?_0x38a635(0x137)+CLI_BIN_NAME+_0x38a635(0x16c):''));_0x5e24f2=_0x2fb2b8['id'];const _0x361080=_0x3dfbff??_0x2f34a9,_0x47c900=await listBffDatasetOperations(_0x4bdfad['appCode'],_0x5e24f2),_0x2228e5=_0x47c900?Object['keys'](_0x47c900):[];if(_0x2228e5[_0x38a635(0x14c)]===0x0)throw CliErrors[_0x38a635(0x12a)]('No\x20operation\x20types\x20found\x20for\x20dataset\x20'+_0x361080+'.');let _0x1beaa1;const _0xb21b87=_0x4bdfad[_0x38a635(0x13d)]('operation-type');if(_0xb21b87){if(!_0x2228e5['includes'](_0xb21b87))throw CliErrors[_0x38a635(0x12a)](_0x38a635(0x161)+_0xb21b87+_0x38a635(0x149)+_0x361080+'.\x20'+(_0x38a635(0x17b)+_0x2228e5['join'](',\x20')));_0x1beaa1=_0xb21b87;}else{if(_0x4bdfad[_0x38a635(0x158)])throw CliErrors[_0x38a635(0x12a)]('--operation-type\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.');const _0x3000cc=await promptSelect('Select\x20operation\x20type:',_0x2228e5);_0x1beaa1=_0x2228e5[_0x3000cc]??_0x2228e5[0x0];}let _0x3a6d15=normalizeHookFunctionNode(_0x4bdfad[_0x38a635(0x13d)](_0x38a635(0x151)));if(!_0x3a6d15){if(_0x4bdfad['str'](_0x38a635(0x151)))throw CliErrors['validation'](_0x38a635(0x14a));if(_0x4bdfad['nonInteractive'])throw CliErrors[_0x38a635(0x12a)](_0x38a635(0x13c));const _0x1da043=await promptSelect('Select\x20trigger\x20node:',['before',_0x38a635(0x153)]);_0x3a6d15=[_0x38a635(0x12e),_0x38a635(0x153)][_0x1da043]??_0x38a635(0x12e);}return{'alias':_0x3dfbff,'datasetCode':_0x2f34a9,'datasetId':_0x5e24f2,'operationType':_0x1beaa1,'functionNode':_0x3a6d15};}async function promptSelect(_0x17544c,_0x3c81e4){const _0x399e84=a26_0x5cd868;if(_0x3c81e4[_0x399e84(0x14c)]===0x1)return 0x0;for(const [_0x10754a,_0x519e88]of _0x3c81e4['entries']()){process[_0x399e84(0x134)][_0x399e84(0x163)]('\x20\x20'+(_0x10754a+0x1)+'.\x20'+_0x519e88+'\x0a');}const _0x265103=createInterface({'input':process['stdin'],'output':process[_0x399e84(0x134)]});while(!![]){const _0x4bcf31=await new Promise(_0x3f27b3=>{_0x265103['question'](_0x17544c+'\x20',_0x3f27b3);}),_0x2ea8f3=Number[_0x399e84(0x150)](_0x4bcf31['trim'](),0xa);if(Number['isInteger'](_0x2ea8f3)&&_0x2ea8f3>=0x1&&_0x2ea8f3<=_0x3c81e4[_0x399e84(0x14c)])return _0x265103['close'](),_0x2ea8f3-0x1;process[_0x399e84(0x134)][_0x399e84(0x163)](_0x399e84(0x15a)+_0x3c81e4['length']+'.\x0a');}}function buildFilePath(_0x45b9e9,_0x39cd01,_0x2998bd,_0x4d9f44){const _0x144848=a26_0x5cd868;if(_0x39cd01===_0x144848(0x166)){if(!_0x4d9f44)throw CliErrors[_0x144848(0x12a)]('HOOK\x20requires\x20alias/operation/node\x20options.');const _0x28523d=_0x4d9f44['alias']??_0x4d9f44[_0x144848(0x17a)];return join(_0x45b9e9[_0x144848(0x143)],_0x144848(0x166),_0x28523d,_0x4d9f44['operationType'],_0x4d9f44[_0x144848(0x176)],_0x2998bd+_0x144848(0x175));}return join(_0x45b9e9['scriptsRootDir'],_0x39cd01,_0x2998bd+'.js');}export function generateTemplate(_0x2a9e2b,_0x4967af,_0xe0e455,_0x1f78d5,_0x5a633a){const _0xdf1c30=a26_0x5cd868,_0x31d1ee=_0x1f78d5?.['trim']()||_0xdf1c30(0x129);if(_0x2a9e2b==='COMMON')return _0xdf1c30(0x172)+_0x31d1ee+_0xdf1c30(0x145)+_0x4967af+'\x0a\x20*\x20[脚本类型]\x20COMMON\x0a\x20*\x20[本地路径]\x20.rabetbase/bff/COMMON/'+_0x4967af+_0xdf1c30(0x168)+_0x4967af+_0xdf1c30(0x12c);if(_0x2a9e2b===_0xdf1c30(0x164))return'/**\x0a\x20*\x20ENDPOINT\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20'+_0x31d1ee+_0xdf1c30(0x171)+_0xe0e455+'/'+_0x4967af+_0xdf1c30(0x142)+_0x4967af+'(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a';if(!_0x5a633a)throw CliErrors[_0xdf1c30(0x12a)](_0xdf1c30(0x135));return _0xdf1c30(0x140)+_0x31d1ee+'\x0a\x20*\x20[接口路径]\x20POST\x20/api/'+_0xe0e455+'/'+_0x5a633a['datasetCode']+'/'+_0x5a633a[_0xdf1c30(0x12b)]+_0xdf1c30(0x136)+_0x5a633a[_0xdf1c30(0x176)]+'\x0a\x20*\x0a\x20*\x20@param\x20{Object}\x20params\x20-\x20Current\x20request\x20params\x20or\x20response\x20result.\x0a\x20*\x20@param\x20{Object}\x20context\x20-\x20Execution\x20context\x20(injected\x20by\x20platform).\x0a\x20*\x20@returns\x20{Promise<Object>}\x20Modified\x20params\x20object.\x0a\x20*/\x0aexport\x20default\x20async\x20function\x20'+_0x4967af+_0xdf1c30(0x12c);}
1
+ function a26_0x4e8f(_0x5630c7,_0x1e09a7){_0x5630c7=_0x5630c7-0x1bb;const _0x4493e3=a26_0x4493();let _0x4e8f83=_0x4493e3[_0x5630c7];return _0x4e8f83;}const a26_0xf1da0f=a26_0x4e8f;(function(_0x1eebed,_0x17afe4){const _0x11a9ca=a26_0x4e8f,_0x2218ea=_0x1eebed();while(!![]){try{const _0x32b0ad=parseInt(_0x11a9ca(0x1ea))/0x1*(parseInt(_0x11a9ca(0x1f7))/0x2)+parseInt(_0x11a9ca(0x1c9))/0x3*(parseInt(_0x11a9ca(0x1f1))/0x4)+parseInt(_0x11a9ca(0x1f6))/0x5+parseInt(_0x11a9ca(0x1cd))/0x6*(-parseInt(_0x11a9ca(0x1f3))/0x7)+-parseInt(_0x11a9ca(0x1c2))/0x8+-parseInt(_0x11a9ca(0x1d9))/0x9*(-parseInt(_0x11a9ca(0x1d1))/0xa)+parseInt(_0x11a9ca(0x203))/0xb*(-parseInt(_0x11a9ca(0x1db))/0xc);if(_0x32b0ad===_0x17afe4)break;else _0x2218ea['push'](_0x2218ea['shift']());}catch(_0x327ddd){_0x2218ea['push'](_0x2218ea['shift']());}}}(a26_0x4493,0xa7a56));import{createInterface}from'node:readline';import{mkdir,writeFile}from'node:fs/promises';import{dirname,join}from'node:path';import{listDatasets,listBffDatasetOperations}from'../../core/api-client.js';import{loadAliasMap,resolveAlias}from'../../core/alias-resolver.js';import{resolveApiFilePath}from'../../context.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{fileExists}from'../../core/bff/file-system.js';import{isValidBffFunctionName,normalizeHookFunctionNode}from'../../core/bff/utils.js';import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';export const bffCreate={'service':a26_0xf1da0f(0x20c),'command':a26_0xf1da0f(0x1c1),'description':a26_0xf1da0f(0x1ca),'risk':a26_0xf1da0f(0x1df),'flags':[{'name':'type','type':a26_0xf1da0f(0x1e9),'required':!![],'enum':[a26_0xf1da0f(0x1ce),a26_0xf1da0f(0x1fe),a26_0xf1da0f(0x1f8)],'description':a26_0xf1da0f(0x1bb)},{'name':a26_0xf1da0f(0x1f5),'type':a26_0xf1da0f(0x1e9),'required':!![],'description':a26_0xf1da0f(0x1cc)},{'name':a26_0xf1da0f(0x1e6),'type':a26_0xf1da0f(0x1e9),'description':a26_0xf1da0f(0x1c6)},{'name':a26_0xf1da0f(0x1c0),'type':a26_0xf1da0f(0x1e9),'description':'Dataset\x20alias\x20from\x20api.ts\x20(HOOK\x20only,\x20preferred)'},{'name':'datasetcode','type':'string','description':a26_0xf1da0f(0x214)},{'name':'operation-type','type':a26_0xf1da0f(0x1e9),'description':'Operation\x20type\x20(HOOK\x20only)'},{'name':a26_0xf1da0f(0x1dc),'type':'string','description':a26_0xf1da0f(0x1e3),'enum':['before',a26_0xf1da0f(0x1c5)]}],async 'validate'(_0x4cca7a){const _0x511fe6=a26_0xf1da0f,_0x446c7c=_0x4cca7a['str'](_0x511fe6(0x1f5));if(!isValidBffFunctionName(_0x446c7c))throw CliErrors['validation'](_0x511fe6(0x1d0)+_0x446c7c+_0x511fe6(0x1d8));},async 'execute'(_0x292fbc){const _0x427a16=a26_0xf1da0f,_0x377851=loadBffProjectConfig(_0x292fbc['appCode']),_0x3e2d58=_0x292fbc['str']('type'),_0x4b7065=_0x292fbc[_0x427a16(0x1bf)](_0x427a16(0x1f5)),_0x5580b8=_0x292fbc[_0x427a16(0x1bf)](_0x427a16(0x1e6))||undefined,_0x46fc6f=_0x3e2d58==='HOOK'?await resolveHookOptions(_0x377851,_0x292fbc):undefined,_0x4f58b9=buildFilePath(_0x377851,_0x3e2d58,_0x4b7065,_0x46fc6f);if(await fileExists(_0x4f58b9))throw CliErrors[_0x427a16(0x1fc)](_0x427a16(0x1f2)+_0x4f58b9);await mkdir(dirname(_0x4f58b9),{'recursive':!![]});const _0x39331d=generateTemplate(_0x3e2d58,_0x4b7065,_0x292fbc['appCode'],_0x5580b8,_0x46fc6f);await writeFile(_0x4f58b9,_0x39331d,_0x427a16(0x1c4));const _0x31e52f={'type':_0x3e2d58,'name':_0x4b7065,'path':_0x4f58b9};if(_0x5580b8)_0x31e52f[_0x427a16(0x1e6)]=_0x5580b8;if(_0x46fc6f){if(_0x46fc6f[_0x427a16(0x1c0)])_0x31e52f[_0x427a16(0x1c0)]=_0x46fc6f['alias'];_0x31e52f['datasetCode']=_0x46fc6f[_0x427a16(0x20d)],_0x31e52f['operationType']=_0x46fc6f[_0x427a16(0x1d6)],_0x31e52f[_0x427a16(0x1ed)]=_0x46fc6f[_0x427a16(0x1ed)];}return{'ok':!![],'data':_0x31e52f,'message':_0x427a16(0x205)+_0x3e2d58+_0x427a16(0x1dd)+_0x4b7065};}};async function resolveHookOptions(_0x5d1303,_0x5c4d45){const _0x39c13a=a26_0xf1da0f,_0x55dd61=loadAliasMap(_0x5c4d45[_0x39c13a(0x209)],undefined,resolveApiFilePath(_0x5c4d45[_0x39c13a(0x209)],_0x5c4d45[_0x39c13a(0x1cb)])),_0x5681b9=_0x55dd61[_0x39c13a(0x1fa)]>0x0;let _0x200d7a,_0x559311,_0x4fce6e;const _0xedbb20=_0x5c4d45[_0x39c13a(0x1bf)](_0x39c13a(0x1c0)),_0x32c0d2=_0x5c4d45[_0x39c13a(0x1bf)](_0x39c13a(0x1da));if(_0xedbb20){const _0x3cb834=resolveAlias(_0x5c4d45[_0x39c13a(0x209)],_0xedbb20,undefined,resolveApiFilePath(_0x5c4d45[_0x39c13a(0x209)],_0x5c4d45[_0x39c13a(0x1cb)]));if(!_0x3cb834){const _0x44833d=_0x5681b9?_0x39c13a(0x1eb)+_0x55dd61[_0x39c13a(0x212)](_0x1d85a4=>_0x1d85a4[_0x39c13a(0x1c0)])[_0x39c13a(0x1e7)](',\x20'):_0x39c13a(0x1d2)+CLI_BIN_NAME+_0x39c13a(0x1ec);throw CliErrors['validation']('Alias\x20\x22'+_0xedbb20+_0x39c13a(0x1d4)+_0x44833d);}_0x200d7a=_0xedbb20,_0x559311=_0x3cb834;}else{if(_0x32c0d2){_0x559311=_0x32c0d2;const _0x3d08e=_0x55dd61[_0x39c13a(0x1f4)](_0x3d6bf0=>_0x3d6bf0[_0x39c13a(0x20d)]===_0x32c0d2);_0x200d7a=_0x3d08e?.[_0x39c13a(0x1c0)];}else{if(_0x5c4d45[_0x39c13a(0x1c8)])throw CliErrors[_0x39c13a(0x1fc)](_0x39c13a(0x1fb));else{if(_0x5681b9){const _0xe294e9=_0x55dd61['map'](_0x235e7c=>_0x235e7c[_0x39c13a(0x1c0)]+'\x20('+_0x235e7c[_0x39c13a(0x1e0)]+')'),_0x481970=await promptSelect(_0x39c13a(0x1ee),_0xe294e9),_0x5e03f4=_0x55dd61[_0x481970];if(!_0x5e03f4)throw CliErrors[_0x39c13a(0x1fc)]('Invalid\x20dataset\x20selection.');_0x200d7a=_0x5e03f4[_0x39c13a(0x1c0)],_0x559311=_0x5e03f4['datasetCode'];}else{const _0x4ca7ca=await listDatasets(_0x5c4d45[_0x39c13a(0x1cb)]);if(_0x4ca7ca['length']===0x0)throw CliErrors[_0x39c13a(0x1fc)](_0x39c13a(0x1d5));const _0x531e00=_0x4ca7ca['map'](_0x305754=>_0x305754[_0x39c13a(0x1f5)]+'\x20('+_0x305754[_0x39c13a(0x213)]+')'),_0x56b395=await promptSelect(_0x39c13a(0x1ee),_0x531e00),_0x50e110=_0x4ca7ca[_0x56b395];if(!_0x50e110)throw CliErrors[_0x39c13a(0x1fc)]('Invalid\x20dataset\x20selection.');_0x559311=_0x50e110[_0x39c13a(0x213)],_0x200d7a=undefined;}}}}const _0x2daf99=await listDatasets(_0x5c4d45[_0x39c13a(0x1cb)]),_0x3b1f81=_0x2daf99[_0x39c13a(0x1f4)](_0x166c14=>_0x166c14['code']===_0x559311);if(!_0x3b1f81)throw CliErrors[_0x39c13a(0x1fc)](_0x39c13a(0x1c7)+_0x559311+_0x39c13a(0x208)+(_0x200d7a?'The\x20api.ts\x20may\x20be\x20stale\x20—\x20run\x20`'+CLI_BIN_NAME+'\x20api\x20pull`\x20to\x20refresh.':''));_0x4fce6e=_0x3b1f81['id'];const _0x407e1a=_0x200d7a??_0x559311,_0x30432f=await listBffDatasetOperations(_0x5c4d45[_0x39c13a(0x1cb)],_0x4fce6e),_0x34eace=_0x30432f?Object[_0x39c13a(0x1e4)](_0x30432f):[];if(_0x34eace[_0x39c13a(0x1fa)]===0x0)throw CliErrors[_0x39c13a(0x1fc)](_0x39c13a(0x20f)+_0x407e1a+'.');let _0x3cc66a;const _0x118271=_0x5c4d45[_0x39c13a(0x1bf)]('operation-type');if(_0x118271){if(!_0x34eace[_0x39c13a(0x1be)](_0x118271))throw CliErrors[_0x39c13a(0x1fc)](_0x39c13a(0x20a)+_0x118271+_0x39c13a(0x201)+_0x407e1a+'.\x20'+(_0x39c13a(0x211)+_0x34eace[_0x39c13a(0x1e7)](',\x20')));_0x3cc66a=_0x118271;}else{if(_0x5c4d45['nonInteractive'])throw CliErrors['validation'](_0x39c13a(0x1d7));const _0x534758=await promptSelect(_0x39c13a(0x1de),_0x34eace);_0x3cc66a=_0x34eace[_0x534758]??_0x34eace[0x0];}let _0x2a8862=normalizeHookFunctionNode(_0x5c4d45['str'](_0x39c13a(0x1dc)));if(!_0x2a8862){if(_0x5c4d45[_0x39c13a(0x1bf)](_0x39c13a(0x1dc)))throw CliErrors[_0x39c13a(0x1fc)](_0x39c13a(0x1bd));if(_0x5c4d45[_0x39c13a(0x1c8)])throw CliErrors[_0x39c13a(0x1fc)](_0x39c13a(0x1bc));const _0x46d8fa=await promptSelect('Select\x20trigger\x20node:',[_0x39c13a(0x1c3),'after']);_0x2a8862=[_0x39c13a(0x1c3),_0x39c13a(0x1c5)][_0x46d8fa]??'before';}return{'alias':_0x200d7a,'datasetCode':_0x559311,'datasetId':_0x4fce6e,'operationType':_0x3cc66a,'functionNode':_0x2a8862};}async function promptSelect(_0x38b4ac,_0xc74ca9){const _0x2afa89=a26_0xf1da0f;if(_0xc74ca9[_0x2afa89(0x1fa)]===0x1)return 0x0;for(const [_0x7e8830,_0x3b8f1d]of _0xc74ca9['entries']()){process[_0x2afa89(0x215)][_0x2afa89(0x1df)]('\x20\x20'+(_0x7e8830+0x1)+'.\x20'+_0x3b8f1d+'\x0a');}const _0x4ae0ba=createInterface({'input':process[_0x2afa89(0x202)],'output':process[_0x2afa89(0x215)]});while(!![]){const _0x168c4d=await new Promise(_0x2b066e=>{const _0x5baa80=_0x2afa89;_0x4ae0ba[_0x5baa80(0x20e)](_0x38b4ac+'\x20',_0x2b066e);}),_0x344306=Number[_0x2afa89(0x1ff)](_0x168c4d[_0x2afa89(0x200)](),0xa);if(Number[_0x2afa89(0x1ef)](_0x344306)&&_0x344306>=0x1&&_0x344306<=_0xc74ca9[_0x2afa89(0x1fa)])return _0x4ae0ba[_0x2afa89(0x1e8)](),_0x344306-0x1;process[_0x2afa89(0x215)][_0x2afa89(0x1df)]('\x20\x20Enter\x20a\x20number\x20between\x201\x20and\x20'+_0xc74ca9[_0x2afa89(0x1fa)]+'.\x0a');}}function a26_0x4493(){const _0x1c5732=['before','utf8','after','Script\x20description','Dataset\x20not\x20found\x20for\x20code\x20\x22','nonInteractive','395598mQIalX','Scaffold\x20a\x20new\x20BFF\x20function\x20from\x20template','appCode','Function\x20name\x20(valid\x20JS\x20identifier)','3138ijaFsc','COMMON','.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\x20function\x20name\x20\x22','13048980uWSjhK','No\x20api.ts\x20found.\x20Run\x20`','TODO:\x20add\x20script\x20description','\x22\x20not\x20found.\x20','No\x20datasets\x20found\x20for\x20this\x20app.','operationType','--operation-type\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','\x22.\x20Must\x20be\x20a\x20valid\x20JS\x20identifier\x20(e.g.\x20createOrder,\x20beforeFilter).','9TUlMyk','datasetcode','149676vVkibC','function-node','\x20function:\x20','Select\x20operation\x20type:','write','tableName','HOOK\x20requires\x20hookOptions\x20for\x20template\x20generation.','\x0a\x20*\x20[脚本类型]\x20COMMON\x0a\x20*\x20[本地路径]\x20.rabetbase/bff/COMMON/','Trigger\x20node\x20(HOOK\x20only)','keys','/**\x0a\x20*\x20COMMON\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','description','join','close','string','1xQckka','Available\x20aliases:\x20','\x20api\x20pull`\x20first,\x20or\x20use\x20--datasetcode\x20instead.','functionNode','Select\x20dataset:','isInteger','scriptsRootDir','4xGexJr','File\x20already\x20exists:\x20','35lNGQZL','find','name','5238490RRefyZ','2245286vSMqpp','HOOK','/**\x0a\x20*\x20ENDPOINT\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','length','--alias\x20or\x20--datasetcode\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','validation','/**\x0a\x20*\x20HOOK\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','ENDPOINT','parseInt','trim','\x22\x20not\x20found\x20for\x20dataset\x20','stdin','2343cfLOlC','HOOK\x20requires\x20alias/operation/node\x20options.','Created\x20','\x0a\x20*\x20[接口路径]\x20POST\x20/api/','.js','\x22.\x20','apiDir','Operation\x20type\x20\x22','\x0a\x20*\x20[触发节点]\x20','bff','datasetCode','question','No\x20operation\x20types\x20found\x20for\x20dataset\x20','\x0a\x20*\x20[脚本名称]\x20','Available:\x20','map','code','Dataset\x20code\x20(HOOK\x20only,\x20fallback\x20when\x20alias\x20unavailable)','stderr','(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a','Script\x20type','--function-node\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','--function-node\x20must\x20be\x20\x27before\x27\x20or\x20\x27after\x27.','includes','str','alias','create','2088504jAdroQ'];a26_0x4493=function(){return _0x1c5732;};return a26_0x4493();}function buildFilePath(_0x2f158e,_0x2360ca,_0x359fb4,_0x2e5b9e){const _0x4210ee=a26_0xf1da0f;if(_0x2360ca===_0x4210ee(0x1f8)){if(!_0x2e5b9e)throw CliErrors['validation'](_0x4210ee(0x204));const _0x561e37=_0x2e5b9e[_0x4210ee(0x1c0)]??_0x2e5b9e[_0x4210ee(0x20d)];return join(_0x2f158e[_0x4210ee(0x1f0)],'HOOK',_0x561e37,_0x2e5b9e[_0x4210ee(0x1d6)],_0x2e5b9e['functionNode'],_0x359fb4+_0x4210ee(0x207));}return join(_0x2f158e[_0x4210ee(0x1f0)],_0x2360ca,_0x359fb4+_0x4210ee(0x207));}export function generateTemplate(_0x574f76,_0x30fb02,_0x463ddf,_0x3d8d4a,_0x1f761d){const _0x5279e1=a26_0xf1da0f,_0x48fea9=_0x3d8d4a?.['trim']()||_0x5279e1(0x1d3);if(_0x574f76===_0x5279e1(0x1ce))return _0x5279e1(0x1e5)+_0x48fea9+_0x5279e1(0x210)+_0x30fb02+_0x5279e1(0x1e2)+_0x30fb02+_0x5279e1(0x1cf)+_0x30fb02+'(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a';if(_0x574f76===_0x5279e1(0x1fe))return _0x5279e1(0x1f9)+_0x48fea9+'\x0a\x20*\x20[接口路径]\x20POST\x20/api/endpoint/{appCode}/{scriptName}\x0a\x20*\x20[当前示例]\x20POST\x20/api/endpoint/'+_0x463ddf+'/'+_0x30fb02+'\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'+_0x30fb02+_0x5279e1(0x216);if(!_0x1f761d)throw CliErrors[_0x5279e1(0x1fc)](_0x5279e1(0x1e1));return _0x5279e1(0x1fd)+_0x48fea9+_0x5279e1(0x206)+_0x463ddf+'/'+_0x1f761d[_0x5279e1(0x20d)]+'/'+_0x1f761d[_0x5279e1(0x1d6)]+_0x5279e1(0x20b)+_0x1f761d[_0x5279e1(0x1ed)]+'\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'+_0x30fb02+_0x5279e1(0x216);}
@@ -1 +1 @@
1
- function a27_0x779f(_0x9aef8a,_0x273321){_0x9aef8a=_0x9aef8a-0x1ca;const _0x350522=a27_0x3505();let _0x779ff3=_0x350522[_0x9aef8a];return _0x779ff3;}const a27_0x364b59=a27_0x779f;(function(_0x16095b,_0x2aa9c5){const _0x2eefb5=a27_0x779f,_0x1d1c9e=_0x16095b();while(!![]){try{const _0x2d17f7=parseInt(_0x2eefb5(0x1fe))/0x1*(-parseInt(_0x2eefb5(0x1db))/0x2)+parseInt(_0x2eefb5(0x1e6))/0x3+-parseInt(_0x2eefb5(0x200))/0x4+-parseInt(_0x2eefb5(0x1dd))/0x5*(-parseInt(_0x2eefb5(0x1cc))/0x6)+-parseInt(_0x2eefb5(0x1ef))/0x7+-parseInt(_0x2eefb5(0x1e5))/0x8*(parseInt(_0x2eefb5(0x1f1))/0x9)+parseInt(_0x2eefb5(0x1ee))/0xa;if(_0x2d17f7===_0x2aa9c5)break;else _0x1d1c9e['push'](_0x1d1c9e['shift']());}catch(_0x399af7){_0x1d1c9e['push'](_0x1d1c9e['shift']());}}}(a27_0x3505,0xe3f3d));import{mkdir,readdir,rename,rmdir}from'node:fs/promises';import{dirname,join,relative,resolve,sep}from'node:path';import{deleteBffScript}from'../../core/api-client.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{fileExists,resolveLocalFilePathFromLockKey}from'../../core/bff/file-system.js';import{ensureLockScope,readBffLockFile,writeBffLockFile}from'../../core/bff/lock.js';import{CliErrors}from'../../errors.js';function a27_0x3505(){const _0x52ef93=['32748520MWAhjl','722890XrXlzM','filter','16707537xrnjyx','bff','string','find','No\x20lock\x20entry\x20found\x20for\x20\x22','scriptsRoot','trashedTo','appCode','startsWith','validation','scriptsRootDir','lastSync','apps','41418wwHAQO','BFF\x20lock\x20file\x20not\x20found.\x20Run\x20`push`\x20or\x20`pull`\x20first\x20to\x20initialize\x20sync\x20state.','3816756QNwIwi','\x20\x20-\x20','Deleted\x20','str','7074762EgTFXp','\x22\x20not\x20found\x20after\x20ensureLockScope.','delete','includes','high-risk-write','replace','stringify','remoteId','\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20trash','parse','/api/management/library/scripts/delete','trashDir','toISOString','lockFilePath','map','74fOIYEe','Lock\x20key\x20(e.g.\x20ENDPOINT/createOrder)\x20or\x20short\x20function\x20name','5mDgogQ','Would\x20delete\x20','\x22.\x20Use\x20the\x20full\x20lock\x20key:\x0a','Lock\x20scope\x20for\x20app\x20\x22','Delete\x20a\x20BFF\x20script\x20from\x20remote\x20and\x20local','length','target','keys','8Dazdnw','2778096BNuTWX','BFF\x20lock\x20file\x20not\x20found.','projectRoot','join','Function\x20not\x20found:\x20','Local\x20delete\x20not\x20settled\x20for\x20','functions','POST'];a27_0x3505=function(){return _0x52ef93;};return a27_0x3505();}import{sleep}from'../../utils/sleep.js';export const bffDelete={'service':a27_0x364b59(0x1f2),'command':a27_0x364b59(0x1ce),'description':a27_0x364b59(0x1e1),'risk':a27_0x364b59(0x1d0),'flags':[{'name':a27_0x364b59(0x1e3),'type':a27_0x364b59(0x1f3),'required':!![],'description':a27_0x364b59(0x1dc)}],async 'validate'(_0x45fd59){const _0x167581=a27_0x364b59,_0x3e0786=loadBffProjectConfig(_0x45fd59[_0x167581(0x1f8)]),_0x5f3ffe=await readBffLockFile(_0x3e0786[_0x167581(0x1d9)]);if(!_0x5f3ffe)throw CliErrors[_0x167581(0x1fa)](_0x167581(0x1ff));},async 'dryRun'(_0x314b8e){const _0x1c3e8f=a27_0x364b59,_0xbb03ee=loadBffProjectConfig(_0x314b8e['appCode']),_0x12cd1f=await readBffLockFile(_0xbb03ee[_0x1c3e8f(0x1d9)]);if(!_0x12cd1f)throw CliErrors['validation'](_0x1c3e8f(0x1e7));const {appLock:_0x1e1fd9}=ensureLockScope(_0x12cd1f,_0x314b8e[_0x1c3e8f(0x1f8)],_0xbb03ee[_0x1c3e8f(0x1f6)],_0x1c3e8f(0x1ce)),_0x6b3172=_0x314b8e[_0x1c3e8f(0x1cb)](_0x1c3e8f(0x1e3)),_0x376dc1=Object[_0x1c3e8f(0x1e4)](_0x1e1fd9[_0x1c3e8f(0x1ec)]),_0x5b5949=resolveDeleteTarget(_0x6b3172,_0x376dc1),_0x528139=_0x1e1fd9[_0x1c3e8f(0x1ec)][_0x5b5949];if(!_0x528139)throw CliErrors[_0x1c3e8f(0x1fa)]('No\x20lock\x20entry\x20found\x20for\x20\x22'+_0x5b5949+'\x22.');const _0x1bf2d0=resolveLocalFilePathFromLockKey(_0xbb03ee,_0x5b5949),_0x4d92c7=relative(_0xbb03ee[_0x1c3e8f(0x1e8)],_0x1bf2d0),_0x3d50dd=join(_0xbb03ee[_0x1c3e8f(0x1d7)],'<timestamp>',_0x4d92c7);return{'method':_0x1c3e8f(0x1ed),'url':_0x1c3e8f(0x1d6),'body':{'appCode':_0x314b8e[_0x1c3e8f(0x1f8)],'target':_0x5b5949,'remoteId':_0x528139[_0x1c3e8f(0x1d3)],'localFilePath':_0x1bf2d0,'trashedPath':_0x3d50dd},'description':_0x1c3e8f(0x1de)+_0x5b5949+_0x1c3e8f(0x1d4)};},async 'execute'(_0x395ff2){const _0x3e59a5=a27_0x364b59,_0x4b64f6=loadBffProjectConfig(_0x395ff2['appCode']),_0x45ead3=await readBffLockFile(_0x4b64f6[_0x3e59a5(0x1d9)]);if(!_0x45ead3)throw CliErrors['validation'](_0x3e59a5(0x1e7));const {lockData:_0x576a39,appLock:_0x55e9d0}=ensureLockScope(_0x45ead3,_0x395ff2[_0x3e59a5(0x1f8)],_0x4b64f6[_0x3e59a5(0x1f6)],'delete'),_0x28e233=JSON[_0x3e59a5(0x1d5)](JSON[_0x3e59a5(0x1d2)](_0x576a39)),_0x2fde8d=_0x28e233['apps'][_0x395ff2[_0x3e59a5(0x1f8)]];if(!_0x2fde8d)throw new Error(_0x3e59a5(0x1e0)+_0x395ff2['appCode']+_0x3e59a5(0x1cd));const _0x20e7f2=_0x395ff2[_0x3e59a5(0x1cb)](_0x3e59a5(0x1e3)),_0x15a9d8=Object[_0x3e59a5(0x1e4)](_0x2fde8d[_0x3e59a5(0x1ec)]),_0x2176bd=resolveDeleteTarget(_0x20e7f2,_0x15a9d8),_0x12cc70=_0x2fde8d['functions'][_0x2176bd];if(!_0x12cc70)throw CliErrors['validation'](_0x3e59a5(0x1f5)+_0x2176bd+'\x22.');await deleteBffScript(_0x12cc70['remoteId']),delete _0x2fde8d[_0x3e59a5(0x1ec)][_0x2176bd],_0x2fde8d[_0x3e59a5(0x1fc)]=new Date()[_0x3e59a5(0x1d8)](),await writeBffLockFile(_0x4b64f6[_0x3e59a5(0x1d9)],_0x28e233);const _0x538051=resolveLocalFilePathFromLockKey(_0x4b64f6,_0x2176bd);let _0x11c59f;await fileExists(_0x538051)&&(_0x11c59f=await moveToTrash(_0x4b64f6[_0x3e59a5(0x1e8)],_0x4b64f6[_0x3e59a5(0x1d7)],_0x538051),await cleanupEmptyDirectories(dirname(_0x538051),_0x4b64f6[_0x3e59a5(0x1fb)]));await waitForDeleteSettlement(_0x4b64f6[_0x3e59a5(0x1d9)],_0x395ff2[_0x3e59a5(0x1f8)],_0x2176bd,_0x538051),await sleep(0x96);const _0x302c9c={'deleted':_0x2176bd,'remoteId':_0x12cc70[_0x3e59a5(0x1d3)]};if(_0x11c59f)_0x302c9c[_0x3e59a5(0x1f7)]=_0x11c59f;return{'ok':!![],'data':_0x302c9c,'message':_0x3e59a5(0x1ca)+_0x2176bd+(_0x11c59f?'\x20(local\x20file\x20moved\x20to\x20trash)':'')};}};function resolveDeleteTarget(_0x6dc330,_0x24d162){const _0x41e245=a27_0x364b59;if(_0x6dc330[_0x41e245(0x1cf)]('/')){const _0x8c9102=_0x24d162[_0x41e245(0x1f4)](_0x47eba4=>_0x47eba4===_0x6dc330);if(!_0x8c9102)throw CliErrors[_0x41e245(0x1fa)](_0x41e245(0x1ea)+_0x6dc330);return _0x8c9102;}const _0x4e46e5=_0x24d162[_0x41e245(0x1f0)](_0x342cd1=>_0x342cd1['split']('/')['at'](-0x1)===_0x6dc330);if(_0x4e46e5[_0x41e245(0x1e2)]===0x0)throw CliErrors[_0x41e245(0x1fa)](_0x41e245(0x1ea)+_0x6dc330);if(_0x4e46e5['length']>0x1)throw CliErrors[_0x41e245(0x1fa)]('Multiple\x20functions\x20match\x20\x22'+_0x6dc330+_0x41e245(0x1df)+_0x4e46e5[_0x41e245(0x1da)](_0x1eb7f1=>_0x41e245(0x201)+_0x1eb7f1)[_0x41e245(0x1e9)]('\x0a'));return _0x4e46e5[0x0];}async function moveToTrash(_0x5e5db3,_0x26ef8e,_0x3c3840){const _0x2a521b=a27_0x364b59,_0x5ea1fb=new Date()['toISOString']()[_0x2a521b(0x1d1)](/[:.]/g,'-'),_0x5e1411=relative(_0x5e5db3,_0x3c3840),_0x524b13=join(_0x26ef8e,_0x5ea1fb,_0x5e1411);return await mkdir(dirname(_0x524b13),{'recursive':!![]}),await rename(_0x3c3840,_0x524b13),_0x524b13;}async function cleanupEmptyDirectories(_0x1a4bb7,_0x488926){const _0x32ce0e=a27_0x364b59;let _0x3cf2ac=resolve(_0x1a4bb7);const _0xb181c2=resolve(_0x488926);while(_0x3cf2ac[_0x32ce0e(0x1f9)](''+_0xb181c2+sep)||_0x3cf2ac===_0xb181c2){if(_0x3cf2ac===_0xb181c2)return;try{const _0x17c512=await readdir(_0x3cf2ac);if(_0x17c512[_0x32ce0e(0x1e2)]>0x0)return;await rmdir(_0x3cf2ac);}catch{return;}_0x3cf2ac=dirname(_0x3cf2ac);}}const DELETE_SETTLE_RETRY_COUNT=0x14,DELETE_SETTLE_DELAY_MS=0x64;async function waitForDeleteSettlement(_0x578aa9,_0x14f3d7,_0x58d5b5,_0x85d67d){const _0x4d96a1=a27_0x364b59;for(let _0xc007d2=0x0;_0xc007d2<DELETE_SETTLE_RETRY_COUNT;_0xc007d2+=0x1){const _0x1cf1fa=await readBffLockFile(_0x578aa9),_0x3eeb98=!!_0x1cf1fa?.[_0x4d96a1(0x1fd)]?.[_0x14f3d7]?.[_0x4d96a1(0x1ec)]?.[_0x58d5b5],_0x338c4f=await fileExists(_0x85d67d);if(!_0x3eeb98&&!_0x338c4f)return;await sleep(DELETE_SETTLE_DELAY_MS);}throw new Error(_0x4d96a1(0x1eb)+_0x58d5b5+'.');}
1
+ const a27_0x4c8b2e=a27_0x503d;(function(_0x51c5e3,_0x190e76){const _0x59afa6=a27_0x503d,_0x184902=_0x51c5e3();while(!![]){try{const _0x4eb947=parseInt(_0x59afa6(0xd1))/0x1*(parseInt(_0x59afa6(0xee))/0x2)+parseInt(_0x59afa6(0xd2))/0x3+-parseInt(_0x59afa6(0xc4))/0x4*(parseInt(_0x59afa6(0xc5))/0x5)+-parseInt(_0x59afa6(0xdb))/0x6*(-parseInt(_0x59afa6(0xf4))/0x7)+parseInt(_0x59afa6(0xc9))/0x8*(parseInt(_0x59afa6(0xf3))/0x9)+parseInt(_0x59afa6(0xc7))/0xa+parseInt(_0x59afa6(0xe8))/0xb*(-parseInt(_0x59afa6(0xf2))/0xc);if(_0x4eb947===_0x190e76)break;else _0x184902['push'](_0x184902['shift']());}catch(_0x3d7a00){_0x184902['push'](_0x184902['shift']());}}}(a27_0x2299,0x300a7));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';function a27_0x503d(_0x380720,_0x3b9fa0){_0x380720=_0x380720-0xbf;const _0x2299f1=a27_0x2299();let _0x503d64=_0x2299f1[_0x380720];return _0x503d64;}import{CliErrors}from'../../errors.js';function a27_0x2299(){const _0x5bdac7=['str','target','lockFilePath','trashDir','Lock\x20scope\x20for\x20app\x20\x22','37grhTaJ','374946RuSsHg','Delete\x20a\x20BFF\x20script\x20from\x20remote\x20and\x20local','scriptsRootDir','join','length','No\x20lock\x20entry\x20found\x20for\x20\x22','keys','toISOString','\x22\x20not\x20found\x20after\x20ensureLockScope.','1176966xHVjhP','BFF\x20lock\x20file\x20not\x20found.\x20Run\x20`push`\x20or\x20`pull`\x20first\x20to\x20initialize\x20sync\x20state.','apps','bff','\x20\x20-\x20','delete','filter','POST','Function\x20not\x20found:\x20','scriptsRoot','Local\x20delete\x20not\x20settled\x20for\x20','<timestamp>','find','11jNktDC','startsWith','/api/management/library/scripts/delete','functions','high-risk-write','Multiple\x20functions\x20match\x20\x22','17668xAmMYF','split','Deleted\x20','includes','12341916hWHyVG','873GbLXti','14yerSVn','remoteId','stringify','map','Would\x20delete\x20','parse','\x20(local\x20file\x20moved\x20to\x20trash)','string','273044wcuLct','20mXJLni','projectRoot','3329830BTngSx','appCode','26488XvcYGs','BFF\x20lock\x20file\x20not\x20found.','validation'];a27_0x2299=function(){return _0x5bdac7;};return a27_0x2299();}import{sleep}from'../../utils/sleep.js';export const bffDelete={'service':a27_0x4c8b2e(0xde),'command':a27_0x4c8b2e(0xe0),'description':a27_0x4c8b2e(0xd3),'risk':a27_0x4c8b2e(0xec),'flags':[{'name':'target','type':a27_0x4c8b2e(0xc3),'required':!![],'description':'Lock\x20key\x20(e.g.\x20ENDPOINT/createOrder)\x20or\x20short\x20function\x20name'}],async 'validate'(_0x451e3d){const _0x1839db=a27_0x4c8b2e,_0x112a85=loadBffProjectConfig(_0x451e3d['appCode']),_0x16c1f6=await readBffLockFile(_0x112a85[_0x1839db(0xce)]);if(!_0x16c1f6)throw CliErrors['validation'](_0x1839db(0xdc));},async 'dryRun'(_0x5334c0){const _0xdee529=a27_0x4c8b2e,_0x4018b8=loadBffProjectConfig(_0x5334c0[_0xdee529(0xc8)]),_0x3ad0fb=await readBffLockFile(_0x4018b8['lockFilePath']);if(!_0x3ad0fb)throw CliErrors[_0xdee529(0xcb)](_0xdee529(0xca));const {appLock:_0x10b376}=ensureLockScope(_0x3ad0fb,_0x5334c0[_0xdee529(0xc8)],_0x4018b8[_0xdee529(0xe4)],_0xdee529(0xe0)),_0x1be924=_0x5334c0[_0xdee529(0xcc)](_0xdee529(0xcd)),_0x1cf5df=Object[_0xdee529(0xd8)](_0x10b376[_0xdee529(0xeb)]),_0x16523f=resolveDeleteTarget(_0x1be924,_0x1cf5df),_0x3be8a3=_0x10b376[_0xdee529(0xeb)][_0x16523f];if(!_0x3be8a3)throw CliErrors[_0xdee529(0xcb)](_0xdee529(0xd7)+_0x16523f+'\x22.');const _0x3395fa=resolveLocalFilePathFromLockKey(_0x4018b8,_0x16523f),_0x445473=relative(_0x4018b8[_0xdee529(0xc6)],_0x3395fa),_0xf8a575=join(_0x4018b8[_0xdee529(0xcf)],_0xdee529(0xe6),_0x445473);return{'method':_0xdee529(0xe2),'url':_0xdee529(0xea),'body':{'appCode':_0x5334c0[_0xdee529(0xc8)],'target':_0x16523f,'remoteId':_0x3be8a3[_0xdee529(0xf5)],'localFilePath':_0x3395fa,'trashedPath':_0xf8a575},'description':_0xdee529(0xc0)+_0x16523f+'\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20trash'};},async 'execute'(_0x3f4c57){const _0x46adc3=a27_0x4c8b2e,_0x315337=loadBffProjectConfig(_0x3f4c57[_0x46adc3(0xc8)]),_0x4e4680=await readBffLockFile(_0x315337['lockFilePath']);if(!_0x4e4680)throw CliErrors[_0x46adc3(0xcb)](_0x46adc3(0xca));const {lockData:_0x49b397,appLock:_0x5985d9}=ensureLockScope(_0x4e4680,_0x3f4c57[_0x46adc3(0xc8)],_0x315337[_0x46adc3(0xe4)],_0x46adc3(0xe0)),_0x55cdd4=JSON[_0x46adc3(0xc1)](JSON[_0x46adc3(0xf6)](_0x49b397)),_0x45f23d=_0x55cdd4['apps'][_0x3f4c57['appCode']];if(!_0x45f23d)throw new Error(_0x46adc3(0xd0)+_0x3f4c57['appCode']+_0x46adc3(0xda));const _0x2062b1=_0x3f4c57[_0x46adc3(0xcc)](_0x46adc3(0xcd)),_0x1d9353=Object[_0x46adc3(0xd8)](_0x45f23d['functions']),_0x495e60=resolveDeleteTarget(_0x2062b1,_0x1d9353),_0x79ecc6=_0x45f23d[_0x46adc3(0xeb)][_0x495e60];if(!_0x79ecc6)throw CliErrors[_0x46adc3(0xcb)](_0x46adc3(0xd7)+_0x495e60+'\x22.');await deleteBffScript(_0x79ecc6['remoteId']),delete _0x45f23d[_0x46adc3(0xeb)][_0x495e60],_0x45f23d['lastSync']=new Date()[_0x46adc3(0xd9)](),await writeBffLockFile(_0x315337['lockFilePath'],_0x55cdd4);const _0x164e92=resolveLocalFilePathFromLockKey(_0x315337,_0x495e60);let _0x315af8;await fileExists(_0x164e92)&&(_0x315af8=await moveToTrash(_0x315337[_0x46adc3(0xc6)],_0x315337[_0x46adc3(0xcf)],_0x164e92),await cleanupEmptyDirectories(dirname(_0x164e92),_0x315337[_0x46adc3(0xd4)]));await waitForDeleteSettlement(_0x315337[_0x46adc3(0xce)],_0x3f4c57[_0x46adc3(0xc8)],_0x495e60,_0x164e92),await sleep(0x96);const _0x52aa2d={'deleted':_0x495e60,'remoteId':_0x79ecc6[_0x46adc3(0xf5)]};if(_0x315af8)_0x52aa2d['trashedTo']=_0x315af8;return{'ok':!![],'data':_0x52aa2d,'message':_0x46adc3(0xf0)+_0x495e60+(_0x315af8?_0x46adc3(0xc2):'')};}};function resolveDeleteTarget(_0x1cda06,_0x2454e8){const _0xe0f668=a27_0x4c8b2e;if(_0x1cda06[_0xe0f668(0xf1)]('/')){const _0x31e99b=_0x2454e8[_0xe0f668(0xe7)](_0x117a2d=>_0x117a2d===_0x1cda06);if(!_0x31e99b)throw CliErrors['validation'](_0xe0f668(0xe3)+_0x1cda06);return _0x31e99b;}const _0x20a572=_0x2454e8[_0xe0f668(0xe1)](_0x341c05=>_0x341c05[_0xe0f668(0xef)]('/')['at'](-0x1)===_0x1cda06);if(_0x20a572[_0xe0f668(0xd6)]===0x0)throw CliErrors[_0xe0f668(0xcb)](_0xe0f668(0xe3)+_0x1cda06);if(_0x20a572['length']>0x1)throw CliErrors['validation'](_0xe0f668(0xed)+_0x1cda06+'\x22.\x20Use\x20the\x20full\x20lock\x20key:\x0a'+_0x20a572[_0xe0f668(0xbf)](_0x5d9947=>_0xe0f668(0xdf)+_0x5d9947)[_0xe0f668(0xd5)]('\x0a'));return _0x20a572[0x0];}async function moveToTrash(_0x57f74c,_0x379c3e,_0x3b3675){const _0x327c73=a27_0x4c8b2e,_0x17f296=new Date()[_0x327c73(0xd9)]()['replace'](/[:.]/g,'-'),_0x33dfb0=relative(_0x57f74c,_0x3b3675),_0x2659b5=join(_0x379c3e,_0x17f296,_0x33dfb0);return await mkdir(dirname(_0x2659b5),{'recursive':!![]}),await rename(_0x3b3675,_0x2659b5),_0x2659b5;}async function cleanupEmptyDirectories(_0x235c26,_0x3f273a){const _0x4e5ad6=a27_0x4c8b2e;let _0x521239=resolve(_0x235c26);const _0x3064b3=resolve(_0x3f273a);while(_0x521239[_0x4e5ad6(0xe9)](''+_0x3064b3+sep)||_0x521239===_0x3064b3){if(_0x521239===_0x3064b3)return;try{const _0x1aceab=await readdir(_0x521239);if(_0x1aceab[_0x4e5ad6(0xd6)]>0x0)return;await rmdir(_0x521239);}catch{return;}_0x521239=dirname(_0x521239);}}const DELETE_SETTLE_RETRY_COUNT=0x14,DELETE_SETTLE_DELAY_MS=0x64;async function waitForDeleteSettlement(_0x1ee324,_0x57e9d1,_0xb06a2e,_0x43bc0f){const _0x1786d3=a27_0x4c8b2e;for(let _0x473233=0x0;_0x473233<DELETE_SETTLE_RETRY_COUNT;_0x473233+=0x1){const _0x3d0110=await readBffLockFile(_0x1ee324),_0x1ec462=!!_0x3d0110?.[_0x1786d3(0xdd)]?.[_0x57e9d1]?.['functions']?.[_0xb06a2e],_0x58d9a6=await fileExists(_0x43bc0f);if(!_0x1ec462&&!_0x58d9a6)return;await sleep(DELETE_SETTLE_DELAY_MS);}throw new Error(_0x1786d3(0xe5)+_0xb06a2e+'.');}
@@ -1 +1 @@
1
- const a28_0x3dda8c=a28_0x54ab;function a28_0x94a1(){const _0x191f3f=['bff','bool','6FzRTYN','Script\x20ID','(none)','scriptType','verbose','1293595VYwnXv','scriptContent','appCode','3173892NxzJyo','1558550gYQFIe','num','read','1909932xsHSaq','10991561CWcBWj','10567888YWLNTG','101979SvpkES','updatedTime','description'];a28_0x94a1=function(){return _0x191f3f;};return a28_0x94a1();}(function(_0x30d0e6,_0x2336c6){const _0x1cc325=a28_0x54ab,_0x21fa50=_0x30d0e6();while(!![]){try{const _0x2a47dd=parseInt(_0x1cc325(0x18d))/0x1+-parseInt(_0x1cc325(0x187))/0x2+-parseInt(_0x1cc325(0x186))/0x3+-parseInt(_0x1cc325(0x18a))/0x4+parseInt(_0x1cc325(0x183))/0x5+parseInt(_0x1cc325(0x192))/0x6*(parseInt(_0x1cc325(0x18b))/0x7)+parseInt(_0x1cc325(0x18c))/0x8;if(_0x2a47dd===_0x2336c6)break;else _0x21fa50['push'](_0x21fa50['shift']());}catch(_0x42d14b){_0x21fa50['push'](_0x21fa50['shift']());}}}(a28_0x94a1,0xe4ce1));import{getBffScriptInfo}from'../../core/api-client.js';function a28_0x54ab(_0x363609,_0x37af38){_0x363609=_0x363609-0x182;const _0x94a193=a28_0x94a1();let _0x54abaa=_0x94a193[_0x363609];return _0x54abaa;}export const bffDetail={'service':a28_0x3dda8c(0x190),'command':'detail','description':'Get\x20BFF\x20script\x20details\x20by\x20ID','risk':a28_0x3dda8c(0x189),'flags':[{'name':'id','type':'number','required':!![],'description':a28_0x3dda8c(0x193)},{'name':'verbose','type':'boolean','description':'Return\x20full\x20raw\x20script\x20object'}],async 'execute'(_0xd389d){const _0x30e506=a28_0x3dda8c,_0x4d786b=await getBffScriptInfo(_0xd389d[_0x30e506(0x188)]('id')),_0x22c2a0=_0xd389d[_0x30e506(0x191)](_0x30e506(0x182));if(_0x22c2a0)return{'ok':!![],'data':_0x4d786b};return{'ok':!![],'data':{'id':_0x4d786b['id'],'appCode':_0x4d786b[_0x30e506(0x185)],'scriptType':_0x4d786b[_0x30e506(0x195)],'description':_0x4d786b[_0x30e506(0x18f)]||_0x30e506(0x194),'createdTime':_0x4d786b['createdTime']??'','updatedTime':_0x4d786b[_0x30e506(0x18e)]??'','scriptContent':_0x4d786b[_0x30e506(0x184)]??''}};}};
1
+ function a28_0x4009(){const _0x548d28=['Get\x20BFF\x20script\x20details\x20by\x20ID','updatedTime','198226jvxPKP','number','verbose','(none)','read','Script\x20ID','35aNUJAS','11jstKvJ','description','3133959zkUhZA','42317nEYTwe','bff','Return\x20full\x20raw\x20script\x20object','104948jhCaCn','96fhczME','1030iTOYev','74352wQjWNo','boolean','5403983YXDxOh','285372krqlLf','scriptType','85OAMkPF','appCode','240lvJmIO','num'];a28_0x4009=function(){return _0x548d28;};return a28_0x4009();}function a28_0x270f(_0x594925,_0x7853db){_0x594925=_0x594925-0x165;const _0x4009f2=a28_0x4009();let _0x270fa3=_0x4009f2[_0x594925];return _0x270fa3;}const a28_0x2e4a95=a28_0x270f;(function(_0x99e7e6,_0x1c1681){const _0x3060cc=a28_0x270f,_0xef65d=_0x99e7e6();while(!![]){try{const _0x409d7c=-parseInt(_0x3060cc(0x17d))/0x1*(-parseInt(_0x3060cc(0x176))/0x2)+parseInt(_0x3060cc(0x17f))/0x3+parseInt(_0x3060cc(0x168))/0x4*(parseInt(_0x3060cc(0x170))/0x5)+parseInt(_0x3060cc(0x16b))/0x6*(parseInt(_0x3060cc(0x17c))/0x7)+parseInt(_0x3060cc(0x172))/0x8*(parseInt(_0x3060cc(0x16e))/0x9)+-parseInt(_0x3060cc(0x16a))/0xa*(-parseInt(_0x3060cc(0x165))/0xb)+parseInt(_0x3060cc(0x169))/0xc*(-parseInt(_0x3060cc(0x16d))/0xd);if(_0x409d7c===_0x1c1681)break;else _0xef65d['push'](_0xef65d['shift']());}catch(_0x5725b4){_0xef65d['push'](_0xef65d['shift']());}}}(a28_0x4009,0xa2506));import{getBffScriptInfo}from'../../core/api-client.js';export const bffDetail={'service':a28_0x2e4a95(0x166),'command':'detail','description':a28_0x2e4a95(0x174),'risk':a28_0x2e4a95(0x17a),'flags':[{'name':'id','type':a28_0x2e4a95(0x177),'required':!![],'description':a28_0x2e4a95(0x17b)},{'name':a28_0x2e4a95(0x178),'type':a28_0x2e4a95(0x16c),'description':a28_0x2e4a95(0x167)}],async 'execute'(_0x347a5f){const _0x312c1d=a28_0x2e4a95,_0x162f21=await getBffScriptInfo(_0x347a5f[_0x312c1d(0x173)]('id')),_0x15950a=_0x347a5f['bool']('verbose');if(_0x15950a)return{'ok':!![],'data':_0x162f21};return{'ok':!![],'data':{'id':_0x162f21['id'],'appCode':_0x162f21[_0x312c1d(0x171)],'scriptType':_0x162f21[_0x312c1d(0x16f)],'description':_0x162f21[_0x312c1d(0x17e)]||_0x312c1d(0x179),'createdTime':_0x162f21['createdTime']??'','updatedTime':_0x162f21[_0x312c1d(0x175)]??'','scriptContent':_0x162f21['scriptContent']??''}};}};
@@ -1 +1 @@
1
- (function(_0x29a684,_0x25c4d4){const _0x39c76e=a29_0x3501,_0x2c6acf=_0x29a684();while(!![]){try{const _0x3d5d08=parseInt(_0x39c76e(0xbc))/0x1+parseInt(_0x39c76e(0xbe))/0x2*(parseInt(_0x39c76e(0xc1))/0x3)+-parseInt(_0x39c76e(0xc5))/0x4*(parseInt(_0x39c76e(0xc0))/0x5)+parseInt(_0x39c76e(0xc4))/0x6+parseInt(_0x39c76e(0xbf))/0x7*(-parseInt(_0x39c76e(0xc2))/0x8)+parseInt(_0x39c76e(0xc3))/0x9+-parseInt(_0x39c76e(0xbd))/0xa;if(_0x3d5d08===_0x25c4d4)break;else _0x2c6acf['push'](_0x2c6acf['shift']());}catch(_0x2a6918){_0x2c6acf['push'](_0x2c6acf['shift']());}}}(a29_0x3110,0xc2b88));import{bffList}from'../../commands/bff/list.js';import{bffDetail}from'../../commands/bff/detail.js';import{bffStatus}from'../../commands/bff/status.js';import{bffCreate}from'../../commands/bff/create.js';import{bffPush}from'../../commands/bff/push.js';function a29_0x3501(_0x16c279,_0x4c4a64){_0x16c279=_0x16c279-0xbc;const _0x31103f=a29_0x3110();let _0x35014e=_0x31103f[_0x16c279];return _0x35014e;}function a29_0x3110(){const _0x446e0f=['1400567YGTtRD','19413790jAFaUk','8952qcQOUn','21JXzquK','5PHDrTg','15fWiLbK','36744CFfYSO','6645249zPDvFS','6912060VEHfla','2242336vloSyr'];a29_0x3110=function(){return _0x446e0f;};return a29_0x3110();}import{bffPull}from'../../commands/bff/pull.js';import{bffDelete}from'../../commands/bff/delete.js';export const bffDefinitions=[bffList,bffDetail,bffStatus,bffCreate,bffPush,bffPull,bffDelete];
1
+ function a29_0x4aac(_0x1028b4,_0x4c9ab2){_0x1028b4=_0x1028b4-0xa2;const _0x14648b=a29_0x1464();let _0x4aac54=_0x14648b[_0x1028b4];return _0x4aac54;}(function(_0x1d32ef,_0x5e12cd){const _0x1a1bbe=a29_0x4aac,_0x55c77b=_0x1d32ef();while(!![]){try{const _0x14ff74=parseInt(_0x1a1bbe(0xa6))/0x1*(-parseInt(_0x1a1bbe(0xab))/0x2)+-parseInt(_0x1a1bbe(0xa3))/0x3+parseInt(_0x1a1bbe(0xa9))/0x4+parseInt(_0x1a1bbe(0xaa))/0x5+-parseInt(_0x1a1bbe(0xac))/0x6*(parseInt(_0x1a1bbe(0xa5))/0x7)+-parseInt(_0x1a1bbe(0xa4))/0x8*(parseInt(_0x1a1bbe(0xa7))/0x9)+-parseInt(_0x1a1bbe(0xa8))/0xa*(-parseInt(_0x1a1bbe(0xa2))/0xb);if(_0x14ff74===_0x5e12cd)break;else _0x55c77b['push'](_0x55c77b['shift']());}catch(_0x480890){_0x55c77b['push'](_0x55c77b['shift']());}}}(a29_0x1464,0x9d833));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';function a29_0x1464(){const _0x369023=['369UiINIx','886330NDHkIl','4662340TYgsFE','4995445RFEjeH','866068toXTcY','8808SEooch','253gIRLOx','3485475UUvKfn','242136hLjFRS','3444ZpeubU','1llBoNs'];a29_0x1464=function(){return _0x369023;};return a29_0x1464();}import{bffPush}from'../../commands/bff/push.js';import{bffPull}from'../../commands/bff/pull.js';import{bffDelete}from'../../commands/bff/delete.js';export const bffDefinitions=[bffList,bffDetail,bffStatus,bffCreate,bffPush,bffPull,bffDelete];
@@ -1 +1 @@
1
- const a30_0x240b61=a30_0x164b;function a30_0x164b(_0x3e03c5,_0x33751c){_0x3e03c5=_0x3e03c5-0x108;const _0x5c17e1=a30_0x5c17();let _0x164bc8=_0x5c17e1[_0x3e03c5];return _0x164bc8;}(function(_0x3eb3fd,_0x4e06d3){const _0x2e77ec=a30_0x164b,_0x45744d=_0x3eb3fd();while(!![]){try{const _0x234b02=-parseInt(_0x2e77ec(0x11c))/0x1+-parseInt(_0x2e77ec(0x115))/0x2+-parseInt(_0x2e77ec(0x10e))/0x3*(parseInt(_0x2e77ec(0x10a))/0x4)+-parseInt(_0x2e77ec(0x114))/0x5+-parseInt(_0x2e77ec(0x116))/0x6+parseInt(_0x2e77ec(0x10c))/0x7+parseInt(_0x2e77ec(0x122))/0x8;if(_0x234b02===_0x4e06d3)break;else _0x45744d['push'](_0x45744d['shift']());}catch(_0x17a00f){_0x45744d['push'](_0x45744d['shift']());}}}(a30_0x5c17,0x6dce1));function a30_0x5c17(){const _0x1ed65e=['4803258AwsDXm','type','COMMON','bool','Filter\x20by\x20script\x20name','map','431125oapXWk','boolean','List\x20BFF\x20scripts','name','scriptType','string','21639152QHsNfa','ENDPOINT','Return\x20full\x20script\x20objects','20cFfbVG','length','159103vzbPGk','verbose','234474YOSLRk','str','description','list','appCode','read','2692230drfjmk','233916fKgvKg'];a30_0x5c17=function(){return _0x1ed65e;};return a30_0x5c17();}import{listBffScripts}from'../../core/api-client.js';export const bffList={'service':'bff','command':a30_0x240b61(0x111),'description':a30_0x240b61(0x11e),'risk':a30_0x240b61(0x113),'flags':[{'name':a30_0x240b61(0x117),'type':a30_0x240b61(0x121),'description':'Script\x20type\x20filter','default':a30_0x240b61(0x108),'enum':[a30_0x240b61(0x108),a30_0x240b61(0x118)]},{'name':a30_0x240b61(0x11f),'type':a30_0x240b61(0x121),'description':a30_0x240b61(0x11a)},{'name':a30_0x240b61(0x10d),'type':a30_0x240b61(0x11d),'description':a30_0x240b61(0x109)}],async 'execute'(_0x51a609){const _0x5a2eef=a30_0x240b61,_0x4f2e86=await listBffScripts(_0x51a609[_0x5a2eef(0x112)],_0x51a609[_0x5a2eef(0x10f)](_0x5a2eef(0x117)),{'scriptName':_0x51a609[_0x5a2eef(0x10f)](_0x5a2eef(0x11f))||undefined}),_0xd7604c=_0x51a609[_0x5a2eef(0x119)](_0x5a2eef(0x10d));return{'ok':!![],'data':_0xd7604c?_0x4f2e86:_0x4f2e86[_0x5a2eef(0x11b)](_0x4ba338=>({'id':_0x4ba338['id'],'functionName':_0x4ba338['functionName']??'','description':_0x4ba338[_0x5a2eef(0x110)]||'(unnamed)','scriptType':_0x4ba338[_0x5a2eef(0x120)]})),'message':_0x4f2e86[_0x5a2eef(0x10b)]===0x0?'No\x20BFF\x20scripts\x20found.':undefined};}};
1
+ function a30_0x4786(_0x3c32e6,_0x1dbde1){_0x3c32e6=_0x3c32e6-0x191;const _0x399c45=a30_0x399c();let _0x4786e7=_0x399c45[_0x3c32e6];return _0x4786e7;}function a30_0x399c(){const _0x3cb4ee=['bool','10qESrwf','3169593fUmFIz','1750432fDXaFS','length','map','COMMON','functionName','6701262mHkODs','read','330AlYgIx','426820esTasQ','string','type','verbose','588591JVWRgp','(unnamed)','Filter\x20by\x20script\x20name','No\x20BFF\x20scripts\x20found.','str','scriptType','2336980IDepeR','1922954pzHMTU','name','Script\x20type\x20filter','3wQAKhP'];a30_0x399c=function(){return _0x3cb4ee;};return a30_0x399c();}const a30_0x63d07e=a30_0x4786;(function(_0x4e1d41,_0x17e1fe){const _0x1c2f87=a30_0x4786,_0xb89885=_0x4e1d41();while(!![]){try{const _0x5403f6=-parseInt(_0x1c2f87(0x1a4))/0x1+parseInt(_0x1c2f87(0x195))/0x2*(-parseInt(_0x1c2f87(0x198))/0x3)+-parseInt(_0x1c2f87(0x194))/0x4*(-parseInt(_0x1c2f87(0x19a))/0x5)+-parseInt(_0x1c2f87(0x1a1))/0x6+-parseInt(_0x1c2f87(0x19b))/0x7+parseInt(_0x1c2f87(0x19c))/0x8+parseInt(_0x1c2f87(0x1a8))/0x9*(parseInt(_0x1c2f87(0x1a3))/0xa);if(_0x5403f6===_0x17e1fe)break;else _0xb89885['push'](_0xb89885['shift']());}catch(_0x4a67f0){_0xb89885['push'](_0xb89885['shift']());}}}(a30_0x399c,0x8f6e0));import{listBffScripts}from'../../core/api-client.js';export const bffList={'service':'bff','command':'list','description':'List\x20BFF\x20scripts','risk':a30_0x63d07e(0x1a2),'flags':[{'name':a30_0x63d07e(0x1a6),'type':'string','description':a30_0x63d07e(0x197),'default':'ENDPOINT','enum':['ENDPOINT',a30_0x63d07e(0x19f)]},{'name':a30_0x63d07e(0x196),'type':a30_0x63d07e(0x1a5),'description':a30_0x63d07e(0x1aa)},{'name':a30_0x63d07e(0x1a7),'type':'boolean','description':'Return\x20full\x20script\x20objects'}],async 'execute'(_0x4b4da0){const _0x19cba1=a30_0x63d07e,_0x596d4d=await listBffScripts(_0x4b4da0['appCode'],_0x4b4da0['str']('type'),{'scriptName':_0x4b4da0[_0x19cba1(0x192)](_0x19cba1(0x196))||undefined}),_0x44286f=_0x4b4da0[_0x19cba1(0x199)](_0x19cba1(0x1a7));return{'ok':!![],'data':_0x44286f?_0x596d4d:_0x596d4d[_0x19cba1(0x19e)](_0x155b0e=>({'id':_0x155b0e['id'],'functionName':_0x155b0e[_0x19cba1(0x1a0)]??'','description':_0x155b0e['description']||_0x19cba1(0x1a9),'scriptType':_0x155b0e[_0x19cba1(0x193)]})),'message':_0x596d4d[_0x19cba1(0x19d)]===0x0?_0x19cba1(0x191):undefined};}};
@@ -1 +1 @@
1
- const a31_0x44ad25=a31_0x326a;(function(_0x2e1c48,_0x1a67fe){const _0xaeca0e=a31_0x326a,_0x11a06e=_0x2e1c48();while(!![]){try{const _0x23e6b4=parseInt(_0xaeca0e(0xc1))/0x1+parseInt(_0xaeca0e(0x9c))/0x2+parseInt(_0xaeca0e(0xcc))/0x3*(parseInt(_0xaeca0e(0xd2))/0x4)+-parseInt(_0xaeca0e(0xa9))/0x5+parseInt(_0xaeca0e(0xb0))/0x6*(-parseInt(_0xaeca0e(0xa5))/0x7)+parseInt(_0xaeca0e(0xa3))/0x8*(parseInt(_0xaeca0e(0xce))/0x9)+parseInt(_0xaeca0e(0xc2))/0xa;if(_0x23e6b4===_0x1a67fe)break;else _0x11a06e['push'](_0x11a06e['shift']());}catch(_0x3be8f0){_0x11a06e['push'](_0x11a06e['shift']());}}}(a31_0x440f,0x97945));import{createInterface}from'node:readline';function a31_0x440f(){const _0x3351ba=['stderr','pull','type','functionName','5207658VAbwhI','lockFilePath','functionNode','lockKey','scriptsRoot','datasetCode','COMMON','filePath','cancelled','apps','Would\x20inspect\x20','question','close','unresolvable\x20target\x20path','operationType','scriptType','bool','642976wyzNkJ','10817770QHWdAb','\x20pulled,\x20','Pull\x20remote\x20BFF\x20scripts\x20to\x20local','&type=','str','Pull\x20complete:\x20','all','No\x20remote\x20BFF\x20scripts\x20found.','appCode','Lock\x20scope\x20for\x20app\x20\x22','374037KGOMjR','functions','45hwZzmZ','--type\x20must\x20be\x20COMMON,\x20ENDPOINT,\x20or\x20HOOK.','Pull\x20only\x20this\x20script\x20type','stringify','8UfRqjD','alias','\x20skipped,\x20','ENDPOINT','write','boolean','scriptContent','nonInteractive','Force\x20overwrite\x20local\x20unsynced\x20changes','lastSync','Remote\x20script\x20missing\x20content.','trim','push','hash','\x22\x20not\x20found\x20after\x20ensureLockScope.','Force\x20pull\x20cancelled.','version','Force\x20pull\x20will\x20overwrite\x20local\x20unsynced\x20changes.\x20Continue?\x20[y/N]\x20','1039712PgYNLC','length','/api/management/library/scripts/list?appCode=','HOOK','apiDir','force','utf8','81568wFigvr','parse','7CpgFFJ','skipped','bff','hookLocation','5280675FVfNhs','toISOString','would_pull'];a31_0x440f=function(){return _0x3351ba;};return a31_0x440f();}import{writeFile}from'node:fs/promises';import{listBffScripts,getBffScriptStatistics}from'../../core/api-client.js';import{loadAliasMap}from'../../core/alias-resolver.js';import{resolveApiFilePath}from'../../context.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{createHookLocationMap,ensureParentDirectory,fileExists,normalizeBffType,resolveRemoteScriptTarget}from'../../core/bff/file-system.js';import{computeContentHash,computeFileHash}from'../../core/bff/hash.js';import{createEmptyBffLock,ensureLockScope,readBffLockFile,writeBffLockFile}from'../../core/bff/lock.js';function a31_0x326a(_0xab36e1,_0x5682cb){_0xab36e1=_0xab36e1-0x91;const _0x440fb7=a31_0x440f();let _0x326a5c=_0x440fb7[_0xab36e1];return _0x326a5c;}import{CliErrors}from'../../errors.js';export const bffPull={'service':a31_0x44ad25(0xa7),'command':a31_0x44ad25(0xad),'description':a31_0x44ad25(0xc4),'risk':a31_0x44ad25(0xd6),'flags':[{'name':a31_0x44ad25(0xae),'type':'string','description':a31_0x44ad25(0xd0),'enum':[a31_0x44ad25(0xb6),a31_0x44ad25(0xd5),a31_0x44ad25(0x9f)]},{'name':a31_0x44ad25(0xa1),'type':a31_0x44ad25(0xd7),'description':a31_0x44ad25(0x92)}],async 'dryRun'(_0x5b1263){const _0x198cd9=a31_0x44ad25,_0x5f19dd=loadBffProjectConfig(_0x5b1263[_0x198cd9(0xca)]),_0x176876=await readBffLockFile(_0x5f19dd['lockFilePath']),{appLock:_0x564419}=ensureLockScope(_0x176876??createEmptyBffLock(),_0x5b1263[_0x198cd9(0xca)],_0x5f19dd[_0x198cd9(0xb4)],_0x198cd9(0xad)),_0x371988=normalizeBffType(_0x5b1263['str'](_0x198cd9(0xae)))??undefined,_0x5b79a6=buildDatasetCodeToAliasMap(_0x5b1263['apiDir'],_0x5b1263[_0x198cd9(0xca)]),[_0x5084b8,_0x31597f]=await Promise[_0x198cd9(0xc8)]([listBffScripts(_0x5b1263['appCode'],_0x371988),getBffScriptStatistics(_0x5b1263[_0x198cd9(0xca)])]),_0x52f42e=createHookLocationMap(_0x31597f),_0xcac661=[];for(const _0x458aaa of _0x5084b8){const _0x702916=resolveRemoteScriptTarget(_0x5f19dd,_0x458aaa,_0x52f42e,_0x564419[_0x198cd9(0xcd)],_0x5b79a6);if(!_0x702916){_0xcac661[_0x198cd9(0x96)]({'scriptType':_0x458aaa[_0x198cd9(0xbf)],'functionName':_0x458aaa[_0x198cd9(0xaf)]??'','status':_0x198cd9(0xa6),'reason':_0x198cd9(0xbd)});continue;}const _0x590121=_0x564419[_0x198cd9(0xcd)][_0x702916[_0x198cd9(0xb3)]],_0x4f81da=_0x458aaa['scriptContent']!=null?computeContentHash(_0x458aaa[_0x198cd9(0xd8)]):undefined,_0x53b90b=await hasUnsyncedLocalChanges(_0x702916[_0x198cd9(0xb7)],_0x590121,_0x4f81da);_0xcac661[_0x198cd9(0x96)]({'lockKey':_0x702916[_0x198cd9(0xb3)],'filePath':_0x702916[_0x198cd9(0xb7)],'remoteId':_0x458aaa['id']??null,'status':_0x53b90b?'conflict':_0x198cd9(0xab)});}return{'method':'GET','url':_0x198cd9(0x9e)+_0x5b1263[_0x198cd9(0xca)]+(_0x371988?_0x198cd9(0xc5)+_0x371988:''),'body':{'appCode':_0x5b1263[_0x198cd9(0xca)],'filterType':_0x371988??null,'files':_0xcac661},'description':_0x198cd9(0xba)+_0xcac661[_0x198cd9(0x9d)]+'\x20remote\x20BFF\x20script(s)\x20for\x20pull'};},async 'execute'(_0x2196eb){const _0x37be49=a31_0x44ad25,_0x42421b=loadBffProjectConfig(_0x2196eb[_0x37be49(0xca)]),_0x328cf2=await readBffLockFile(_0x42421b['lockFilePath']),{lockData:_0x465508,appLock:_0x3cc327}=ensureLockScope(_0x328cf2??createEmptyBffLock(),_0x2196eb[_0x37be49(0xca)],_0x42421b[_0x37be49(0xb4)],_0x37be49(0xad)),_0x5d63e1=normalizeBffType(_0x2196eb[_0x37be49(0xc6)]('type'))??undefined;if(_0x2196eb[_0x37be49(0xc6)](_0x37be49(0xae))&&!_0x5d63e1)throw CliErrors['validation'](_0x37be49(0xcf));const [_0x4dc342,_0x398e07]=await Promise['all']([listBffScripts(_0x2196eb[_0x37be49(0xca)],_0x5d63e1),getBffScriptStatistics(_0x2196eb[_0x37be49(0xca)])]);if(_0x4dc342[_0x37be49(0x9d)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x37be49(0xc9)};const _0x272d75=_0x2196eb[_0x37be49(0xc0)](_0x37be49(0xa1));if(_0x272d75&&!_0x2196eb[_0x37be49(0x91)]){const _0x5dfed4=await confirmForce();if(!_0x5dfed4)throw CliErrors[_0x37be49(0xb8)](_0x37be49(0x99));}if(_0x272d75&&_0x2196eb[_0x37be49(0x91)]){}const _0x228e19=buildDatasetCodeToAliasMap(_0x2196eb[_0x37be49(0xa0)],_0x2196eb['appCode']),_0x4dafe1=createHookLocationMap(_0x398e07),_0x101b7f=JSON[_0x37be49(0xa4)](JSON[_0x37be49(0xd1)](_0x465508)),_0x39f847=_0x2196eb['appCode'],_0x559d26=_0x101b7f[_0x37be49(0xb9)][_0x39f847];if(!_0x559d26)throw new Error(_0x37be49(0xcb)+_0x39f847+_0x37be49(0x98));const _0x30d70c=[],_0x1ee592=[],_0xe50c7b=[];for(const _0x5df6b8 of _0x4dc342){const _0x2442bf=resolveRemoteScriptTarget(_0x42421b,_0x5df6b8,_0x4dafe1,_0x3cc327[_0x37be49(0xcd)],_0x228e19);if(!_0x2442bf){_0x1ee592[_0x37be49(0x96)]({'lockKey':_0x5df6b8[_0x37be49(0xbf)]+'/'+_0x5df6b8['functionName'],'reason':_0x37be49(0xbd)});continue;}const _0x4696bd=_0x3cc327[_0x37be49(0xcd)][_0x2442bf['lockKey']];try{if(!_0x5df6b8['id'])throw new Error('Remote\x20script\x20missing\x20id.');if(_0x5df6b8['scriptContent']==null)throw new Error(_0x37be49(0x94));const _0x113303=_0x5df6b8[_0x37be49(0xd8)],_0x246844=computeContentHash(_0x113303);if(!_0x272d75){const _0x4c280c=await hasUnsyncedLocalChanges(_0x2442bf['filePath'],_0x4696bd,_0x246844);if(_0x4c280c){_0x1ee592[_0x37be49(0x96)]({'lockKey':_0x2442bf['lockKey'],'reason':'local\x20unsynced\x20changes'});continue;}}await ensureParentDirectory(_0x2442bf[_0x37be49(0xb7)]),await writeFile(_0x2442bf[_0x37be49(0xb7)],_0x113303,_0x37be49(0xa2));const _0x2ac34f={'hash':_0x246844,'remoteId':_0x5df6b8['id'],'version':_0x5df6b8[_0x37be49(0x9a)]};_0x2442bf[_0x37be49(0xae)]===_0x37be49(0x9f)&&_0x2442bf[_0x37be49(0xa8)]&&(_0x2ac34f[_0x37be49(0xd3)]=_0x2442bf[_0x37be49(0xa8)][_0x37be49(0xd3)],_0x2ac34f[_0x37be49(0xb5)]=_0x2442bf[_0x37be49(0xa8)][_0x37be49(0xb5)],_0x2ac34f[_0x37be49(0xbe)]=_0x2442bf[_0x37be49(0xa8)][_0x37be49(0xbe)],_0x2ac34f[_0x37be49(0xb2)]=_0x2442bf[_0x37be49(0xa8)][_0x37be49(0xb2)]),_0x559d26[_0x37be49(0xcd)][_0x2442bf[_0x37be49(0xb3)]]=_0x2ac34f,_0x30d70c[_0x37be49(0x96)]({'lockKey':_0x2442bf[_0x37be49(0xb3)],'remoteId':_0x5df6b8['id']});}catch(_0x3f2005){_0xe50c7b['push']({'lockKey':_0x2442bf[_0x37be49(0xb3)],'error':_0x3f2005 instanceof Error?_0x3f2005['message']:String(_0x3f2005)});}}return _0x559d26[_0x37be49(0x93)]=new Date()[_0x37be49(0xaa)](),await writeBffLockFile(_0x42421b[_0x37be49(0xb1)],_0x101b7f),{'ok':_0xe50c7b[_0x37be49(0x9d)]===0x0,'data':{'pulled':_0x30d70c,'skipped':_0x1ee592,'failed':_0xe50c7b},'message':_0x37be49(0xc7)+_0x30d70c[_0x37be49(0x9d)]+_0x37be49(0xc3)+_0x1ee592[_0x37be49(0x9d)]+_0x37be49(0xd4)+_0xe50c7b['length']+'\x20failed'};}};async function hasUnsyncedLocalChanges(_0x3067e5,_0xa59cda,_0x445866){const _0x44870a=a31_0x44ad25;if(!await fileExists(_0x3067e5))return![];const _0x63aaa5=await computeFileHash(_0x3067e5);if(!_0xa59cda)return _0x445866?_0x63aaa5!==_0x445866:!![];return _0x63aaa5!==_0xa59cda[_0x44870a(0x97)];}function buildDatasetCodeToAliasMap(_0x230617,_0x3244bc){const _0x2623ff=a31_0x44ad25,_0x4b6cd2=loadAliasMap(_0x230617,undefined,resolveApiFilePath(_0x230617,_0x3244bc));return new Map(_0x4b6cd2['map'](_0x152d28=>[_0x152d28[_0x2623ff(0xb5)],_0x152d28['alias']]));}async function confirmForce(){const _0x961903=a31_0x44ad25,_0x18c545=createInterface({'input':process['stdin'],'output':process[_0x961903(0xac)]}),_0xa037f8=await new Promise(_0x394214=>{const _0x23b925=_0x961903;_0x18c545[_0x23b925(0xbb)](_0x23b925(0x9b),_0x394214);});return _0x18c545[_0x961903(0xbc)](),['y','yes']['includes'](_0xa037f8[_0x961903(0x95)]()['toLowerCase']());}
1
+ const a31_0x3f0579=a31_0x3373;function a31_0x3373(_0x1065e6,_0x3610e2){_0x1065e6=_0x1065e6-0xd9;const _0xcb4ee8=a31_0xcb4e();let _0x33736b=_0xcb4ee8[_0x1065e6];return _0x33736b;}(function(_0x144af1,_0x553bd8){const _0x559637=a31_0x3373,_0x124341=_0x144af1();while(!![]){try{const _0x1c08d0=-parseInt(_0x559637(0x116))/0x1+-parseInt(_0x559637(0xfb))/0x2+-parseInt(_0x559637(0xed))/0x3*(-parseInt(_0x559637(0xf2))/0x4)+-parseInt(_0x559637(0xf5))/0x5*(parseInt(_0x559637(0xf7))/0x6)+parseInt(_0x559637(0x127))/0x7*(-parseInt(_0x559637(0xec))/0x8)+-parseInt(_0x559637(0x115))/0x9*(-parseInt(_0x559637(0x103))/0xa)+parseInt(_0x559637(0xe9))/0xb;if(_0x1c08d0===_0x553bd8)break;else _0x124341['push'](_0x124341['shift']());}catch(_0x30513d){_0x124341['push'](_0x124341['shift']());}}}(a31_0xcb4e,0x65c29));import{createInterface}from'node:readline';function a31_0xcb4e(){const _0x1757f3=['GET','local\x20unsynced\x20changes','No\x20remote\x20BFF\x20scripts\x20found.','utf8','stringify','appCode','\x20pulled,\x20','question','message','cancelled','Remote\x20script\x20missing\x20content.','length','\x22\x20not\x20found\x20after\x20ensureLockScope.','7651MnhGFE','Remote\x20script\x20missing\x20id.','lockKey','pull','Force\x20pull\x20cancelled.','trim','conflict','Pull\x20remote\x20BFF\x20scripts\x20to\x20local','--type\x20must\x20be\x20COMMON,\x20ENDPOINT,\x20or\x20HOOK.','\x20skipped,\x20','scriptsRoot','skipped','lockFilePath','Pull\x20only\x20this\x20script\x20type','type','would_pull','Pull\x20complete:\x20','Would\x20inspect\x20','11375617LEEQfS','close','operationType','4696pHvieq','3DjNqWd','hookLocation','bool','bff','validation','1337916uAqQMl','version','&type=','5yZHCaK','string','40614dwMdvj','all','hash','/api/management/library/scripts/list?appCode=','515346yCwntH','push','datasetCode','scriptContent','functions','ENDPOINT','stderr','\x20remote\x20BFF\x20script(s)\x20for\x20pull','150210WzHttF','includes','stdin','Lock\x20scope\x20for\x20app\x20\x22','functionName','alias','scriptType','HOOK','unresolvable\x20target\x20path','nonInteractive','Force\x20pull\x20will\x20overwrite\x20local\x20unsynced\x20changes.\x20Continue?\x20[y/N]\x20','toLowerCase','yes','toISOString','filePath','lastSync','COMMON','force','45qCeDSg','120889yGrfqV','apiDir','functionNode','str'];a31_0xcb4e=function(){return _0x1757f3;};return a31_0xcb4e();}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_0x3f0579(0xf0),'command':a31_0x3f0579(0xda),'description':a31_0x3f0579(0xde),'risk':'write','flags':[{'name':'type','type':a31_0x3f0579(0xf6),'description':a31_0x3f0579(0xe4),'enum':[a31_0x3f0579(0x113),a31_0x3f0579(0x100),a31_0x3f0579(0x10a)]},{'name':a31_0x3f0579(0x114),'type':'boolean','description':'Force\x20overwrite\x20local\x20unsynced\x20changes'}],async 'dryRun'(_0x30fbf8){const _0x44a614=a31_0x3f0579,_0x5669fc=loadBffProjectConfig(_0x30fbf8[_0x44a614(0x11f)]),_0x498c11=await readBffLockFile(_0x5669fc['lockFilePath']),{appLock:_0x5a7a97}=ensureLockScope(_0x498c11??createEmptyBffLock(),_0x30fbf8['appCode'],_0x5669fc['scriptsRoot'],_0x44a614(0xda)),_0x335d83=normalizeBffType(_0x30fbf8['str']('type'))??undefined,_0x5c2f59=buildDatasetCodeToAliasMap(_0x30fbf8['apiDir'],_0x30fbf8['appCode']),[_0x450c4a,_0x10df12]=await Promise[_0x44a614(0xf8)]([listBffScripts(_0x30fbf8[_0x44a614(0x11f)],_0x335d83),getBffScriptStatistics(_0x30fbf8[_0x44a614(0x11f)])]),_0x2737b2=createHookLocationMap(_0x10df12),_0x4bdab9=[];for(const _0x246e89 of _0x450c4a){const _0x5738aa=resolveRemoteScriptTarget(_0x5669fc,_0x246e89,_0x2737b2,_0x5a7a97[_0x44a614(0xff)],_0x5c2f59);if(!_0x5738aa){_0x4bdab9[_0x44a614(0xfc)]({'scriptType':_0x246e89[_0x44a614(0x109)],'functionName':_0x246e89['functionName']??'','status':_0x44a614(0xe2),'reason':_0x44a614(0x10b)});continue;}const _0x502ebe=_0x5a7a97['functions'][_0x5738aa[_0x44a614(0xd9)]],_0x1cc095=_0x246e89['scriptContent']!=null?computeContentHash(_0x246e89['scriptContent']):undefined,_0x2d4f70=await hasUnsyncedLocalChanges(_0x5738aa[_0x44a614(0x111)],_0x502ebe,_0x1cc095);_0x4bdab9[_0x44a614(0xfc)]({'lockKey':_0x5738aa['lockKey'],'filePath':_0x5738aa[_0x44a614(0x111)],'remoteId':_0x246e89['id']??null,'status':_0x2d4f70?_0x44a614(0xdd):_0x44a614(0xe6)});}return{'method':_0x44a614(0x11a),'url':_0x44a614(0xfa)+_0x30fbf8[_0x44a614(0x11f)]+(_0x335d83?_0x44a614(0xf4)+_0x335d83:''),'body':{'appCode':_0x30fbf8[_0x44a614(0x11f)],'filterType':_0x335d83??null,'files':_0x4bdab9},'description':_0x44a614(0xe8)+_0x4bdab9[_0x44a614(0x125)]+_0x44a614(0x102)};},async 'execute'(_0x46d1ea){const _0xaefc27=a31_0x3f0579,_0x37e527=loadBffProjectConfig(_0x46d1ea[_0xaefc27(0x11f)]),_0x88edb7=await readBffLockFile(_0x37e527['lockFilePath']),{lockData:_0x2c99b6,appLock:_0x3b6806}=ensureLockScope(_0x88edb7??createEmptyBffLock(),_0x46d1ea[_0xaefc27(0x11f)],_0x37e527[_0xaefc27(0xe1)],_0xaefc27(0xda)),_0x1174e9=normalizeBffType(_0x46d1ea[_0xaefc27(0x119)]('type'))??undefined;if(_0x46d1ea['str'](_0xaefc27(0xe5))&&!_0x1174e9)throw CliErrors[_0xaefc27(0xf1)](_0xaefc27(0xdf));const [_0x252bd9,_0x1f0d64]=await Promise[_0xaefc27(0xf8)]([listBffScripts(_0x46d1ea[_0xaefc27(0x11f)],_0x1174e9),getBffScriptStatistics(_0x46d1ea[_0xaefc27(0x11f)])]);if(_0x252bd9[_0xaefc27(0x125)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0xaefc27(0x11c)};const _0x29acb5=_0x46d1ea[_0xaefc27(0xef)]('force');if(_0x29acb5&&!_0x46d1ea[_0xaefc27(0x10c)]){const _0x26b42d=await confirmForce();if(!_0x26b42d)throw CliErrors[_0xaefc27(0x123)](_0xaefc27(0xdb));}if(_0x29acb5&&_0x46d1ea['nonInteractive']){}const _0xf554ae=buildDatasetCodeToAliasMap(_0x46d1ea[_0xaefc27(0x117)],_0x46d1ea['appCode']),_0x2869ab=createHookLocationMap(_0x1f0d64),_0x3c2353=JSON['parse'](JSON[_0xaefc27(0x11e)](_0x2c99b6)),_0x52b9de=_0x46d1ea[_0xaefc27(0x11f)],_0x1d1061=_0x3c2353['apps'][_0x52b9de];if(!_0x1d1061)throw new Error(_0xaefc27(0x106)+_0x52b9de+_0xaefc27(0x126));const _0x2e55e7=[],_0x566072=[],_0x58b951=[];for(const _0xa25384 of _0x252bd9){const _0x3adb6d=resolveRemoteScriptTarget(_0x37e527,_0xa25384,_0x2869ab,_0x3b6806[_0xaefc27(0xff)],_0xf554ae);if(!_0x3adb6d){_0x566072['push']({'lockKey':_0xa25384[_0xaefc27(0x109)]+'/'+_0xa25384[_0xaefc27(0x107)],'reason':_0xaefc27(0x10b)});continue;}const _0x114d16=_0x3b6806[_0xaefc27(0xff)][_0x3adb6d[_0xaefc27(0xd9)]];try{if(!_0xa25384['id'])throw new Error(_0xaefc27(0x128));if(_0xa25384[_0xaefc27(0xfe)]==null)throw new Error(_0xaefc27(0x124));const _0x19fbc4=_0xa25384[_0xaefc27(0xfe)],_0x19073f=computeContentHash(_0x19fbc4);if(!_0x29acb5){const _0x120968=await hasUnsyncedLocalChanges(_0x3adb6d[_0xaefc27(0x111)],_0x114d16,_0x19073f);if(_0x120968){_0x566072[_0xaefc27(0xfc)]({'lockKey':_0x3adb6d[_0xaefc27(0xd9)],'reason':_0xaefc27(0x11b)});continue;}}await ensureParentDirectory(_0x3adb6d[_0xaefc27(0x111)]),await writeFile(_0x3adb6d['filePath'],_0x19fbc4,_0xaefc27(0x11d));const _0x2683ad={'hash':_0x19073f,'remoteId':_0xa25384['id'],'version':_0xa25384[_0xaefc27(0xf3)]};_0x3adb6d[_0xaefc27(0xe5)]===_0xaefc27(0x10a)&&_0x3adb6d[_0xaefc27(0xee)]&&(_0x2683ad[_0xaefc27(0x108)]=_0x3adb6d[_0xaefc27(0xee)][_0xaefc27(0x108)],_0x2683ad[_0xaefc27(0xfd)]=_0x3adb6d['hookLocation'][_0xaefc27(0xfd)],_0x2683ad[_0xaefc27(0xeb)]=_0x3adb6d[_0xaefc27(0xee)][_0xaefc27(0xeb)],_0x2683ad['functionNode']=_0x3adb6d[_0xaefc27(0xee)][_0xaefc27(0x118)]),_0x1d1061['functions'][_0x3adb6d[_0xaefc27(0xd9)]]=_0x2683ad,_0x2e55e7[_0xaefc27(0xfc)]({'lockKey':_0x3adb6d[_0xaefc27(0xd9)],'remoteId':_0xa25384['id']});}catch(_0xab9046){_0x58b951[_0xaefc27(0xfc)]({'lockKey':_0x3adb6d[_0xaefc27(0xd9)],'error':_0xab9046 instanceof Error?_0xab9046[_0xaefc27(0x122)]:String(_0xab9046)});}}return _0x1d1061[_0xaefc27(0x112)]=new Date()[_0xaefc27(0x110)](),await writeBffLockFile(_0x37e527[_0xaefc27(0xe3)],_0x3c2353),{'ok':_0x58b951['length']===0x0,'data':{'pulled':_0x2e55e7,'skipped':_0x566072,'failed':_0x58b951},'message':_0xaefc27(0xe7)+_0x2e55e7['length']+_0xaefc27(0x120)+_0x566072[_0xaefc27(0x125)]+_0xaefc27(0xe0)+_0x58b951[_0xaefc27(0x125)]+'\x20failed'};}};async function hasUnsyncedLocalChanges(_0x322bc3,_0x4bf8d7,_0x58c69b){const _0x55bcfe=a31_0x3f0579;if(!await fileExists(_0x322bc3))return![];const _0x3cd826=await computeFileHash(_0x322bc3);if(!_0x4bf8d7)return _0x58c69b?_0x3cd826!==_0x58c69b:!![];return _0x3cd826!==_0x4bf8d7[_0x55bcfe(0xf9)];}function buildDatasetCodeToAliasMap(_0x1003dc,_0x2e817a){const _0x2de853=a31_0x3f0579,_0x399bce=loadAliasMap(_0x1003dc,undefined,resolveApiFilePath(_0x1003dc,_0x2e817a));return new Map(_0x399bce['map'](_0x287cf0=>[_0x287cf0[_0x2de853(0xfd)],_0x287cf0[_0x2de853(0x108)]]));}async function confirmForce(){const _0xec7efd=a31_0x3f0579,_0x3a6764=createInterface({'input':process[_0xec7efd(0x105)],'output':process[_0xec7efd(0x101)]}),_0x546ed8=await new Promise(_0x341df8=>{const _0x501782=_0xec7efd;_0x3a6764[_0x501782(0x121)](_0x501782(0x10d),_0x341df8);});return _0x3a6764[_0xec7efd(0xea)](),['y',_0xec7efd(0x10f)][_0xec7efd(0x104)](_0x546ed8[_0xec7efd(0xdc)]()[_0xec7efd(0x10e)]());}
@@ -1 +1 @@
1
- const a32_0x2fadf1=a32_0x1140;(function(_0x113017,_0x13ccbe){const _0x254637=a32_0x1140,_0x57b044=_0x113017();while(!![]){try{const _0x4a8d7d=parseInt(_0x254637(0xb4))/0x1+-parseInt(_0x254637(0x86))/0x2*(-parseInt(_0x254637(0x95))/0x3)+-parseInt(_0x254637(0xc3))/0x4+-parseInt(_0x254637(0xa4))/0x5*(parseInt(_0x254637(0xbe))/0x6)+-parseInt(_0x254637(0x77))/0x7+-parseInt(_0x254637(0x99))/0x8*(parseInt(_0x254637(0x84))/0x9)+parseInt(_0x254637(0x9a))/0xa*(parseInt(_0x254637(0xa0))/0xb);if(_0x4a8d7d===_0x13ccbe)break;else _0x57b044['push'](_0x57b044['shift']());}catch(_0x1a65ee){_0x57b044['push'](_0x57b044['shift']());}}}(a32_0x53f3,0x87b3f));import{readFile}from'node:fs/promises';import{saveBffScript,getBffScriptInfo,listDatasets,clearBffScriptCache}from'../../core/api-client.js';function a32_0x53f3(){const _0x5c6bd7=['9MBYHCl','bool','780418MKXbCV','type','every','datasetCode','has','str','runtime\x20cache\x20clear\x20failed','stringify','Push\x20only\x20this\x20script\x20type','join','Cannot\x20resolve\x20dataset\x20for\x20\x22','name','aliasToDatasetCode','utf8','Push\x20complete:\x20','3BaaXjk','\x20uploaded,\x20','lockFilePath','Runtime\x20script\x20cache\x20cleared.','2002168RaXJgz','3514850TjXVOw','\x22.\x20','filter','boolean','COMMON','Lock\x20scope\x20for\x20app\x20\x22','22uEFFoY','script','\x20skipped,\x20','create','96665EfQZFy','attempted','POST','version','lastSync','high-risk-write','map','set','Would\x20inspect\x20','hash','remoteId','appCode','No\x20local\x20BFF\x20functions\x20found.','functions','force','unchanged','555747NqKimr','apps','datasetId','alias','some','functionNode','bff','\x20failed,\x20','datasetCodeToId','get','174NvPcHw','lockKey','status','Incomplete\x20HOOK\x20path:\x20','\x20local\x20BFF\x20script(s)\x20for\x20push\x20and\x20clear\x20runtime\x20cache\x20if\x20files\x20are\x20uploaded','208oOxrFK','operationType','apiDir','code',':\x20missing\x20remote\x20version.\x20Run\x20`push`\x20after\x20`pull`\x20to\x20sync\x20version\x20info.','runtime\x20cache\x20not\x20needed','Push\x20local\x20BFF\x20scripts\x20to\x20remote','filePath','1974749twfMCw','string','Push\x20only\x20the\x20named\x20function\x20(requires\x20--type)','validation','/api/management/library/scripts/save','toISOString','scriptsRoot','ENDPOINT','push','cleared','HOOK','parse','length'];a32_0x53f3=function(){return _0x5c6bd7;};return a32_0x53f3();}import{loadAliasMap}from'../../core/alias-resolver.js';import{resolveApiFilePath}from'../../context.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{normalizeBffType,scanLocalBffFunctions}from'../../core/bff/file-system.js';import{computeFileHash}from'../../core/bff/hash.js';import{createEmptyBffLock,ensureLockScope,readBffLockFile,writeBffLockFile}from'../../core/bff/lock.js';import{extractScriptDescription}from'../../core/bff/utils.js';import{sleep}from'../../utils/sleep.js';import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';const CACHE_CLEAR_ATTEMPTS=0x2,CACHE_CLEAR_INTERVAL_MS=0x12c;export const bffPush={'service':a32_0x2fadf1(0xba),'command':a32_0x2fadf1(0x7f),'description':a32_0x2fadf1(0x75),'risk':a32_0x2fadf1(0xa9),'flags':[{'name':a32_0x2fadf1(0x87),'type':a32_0x2fadf1(0x78),'description':a32_0x2fadf1(0x8e),'enum':[a32_0x2fadf1(0x9e),a32_0x2fadf1(0x7e),'HOOK']},{'name':a32_0x2fadf1(0x91),'type':a32_0x2fadf1(0x78),'description':a32_0x2fadf1(0x79)},{'name':a32_0x2fadf1(0xb2),'type':a32_0x2fadf1(0x9d),'description':'Force\x20push\x20ignoring\x20hash\x20protection'}],async 'dryRun'(_0x6a32a1){const _0x461776=a32_0x2fadf1,_0x45d37b=loadBffProjectConfig(_0x6a32a1['appCode']),_0x300ba9=await readBffLockFile(_0x45d37b[_0x461776(0x97)]),{appLock:_0x12b369}=ensureLockScope(_0x300ba9??createEmptyBffLock(),_0x6a32a1[_0x461776(0xaf)],_0x45d37b['scriptsRoot'],_0x461776(0x7f)),_0x14fbdc=await getTargetFunctions(_0x45d37b,_0x6a32a1),_0x3a160a=_0x6a32a1[_0x461776(0x85)](_0x461776(0xb2)),_0x12d73e=[];for(const _0x41b420 of _0x14fbdc){const _0x3e7fa5=await computeFileHash(_0x41b420[_0x461776(0x76)]),_0xa4d382=_0x12b369[_0x461776(0xb1)][_0x41b420[_0x461776(0xbf)]],_0x5e53e7=!!_0xa4d382&&_0xa4d382[_0x461776(0xad)]===_0x3e7fa5;_0x12d73e[_0x461776(0x7f)]({'lockKey':_0x41b420[_0x461776(0xbf)],'filePath':_0x41b420['filePath'],'remoteId':_0xa4d382?.[_0x461776(0xae)]??null,'mode':_0xa4d382?.['remoteId']?'update':_0x461776(0xa3),'status':!_0x3a160a&&_0x5e53e7?_0x461776(0xb3):'would_push'});}return{'method':_0x461776(0xa6),'url':_0x461776(0x7b),'body':{'appCode':_0x6a32a1[_0x461776(0xaf)],'force':_0x3a160a,'files':_0x12d73e,'cacheClearAtRuntime':_0x12d73e[_0x461776(0xb8)](_0x7d283c=>_0x7d283c[_0x461776(0xc0)]==='would_push'),'cacheClearAtRuntimeTimes':_0x12d73e[_0x461776(0xb8)](_0x1f2af1=>_0x1f2af1[_0x461776(0xc0)]==='would_push')?CACHE_CLEAR_ATTEMPTS:0x0},'description':_0x461776(0xac)+_0x12d73e[_0x461776(0x83)]+_0x461776(0xc2)};},async 'execute'(_0x2b7d2e){const _0x251cea=a32_0x2fadf1,_0x396e2b=loadBffProjectConfig(_0x2b7d2e[_0x251cea(0xaf)]),_0x5dbb02=await readBffLockFile(_0x396e2b[_0x251cea(0x97)]),{lockData:_0x5656a6,appLock:_0x5de104}=ensureLockScope(_0x5dbb02??createEmptyBffLock(),_0x2b7d2e['appCode'],_0x396e2b[_0x251cea(0x7d)],_0x251cea(0x7f)),_0x56373b=await getTargetFunctions(_0x396e2b,_0x2b7d2e);if(_0x56373b[_0x251cea(0x83)]===0x0)return{'ok':!![],'data':{'uploaded':[],'skipped':[],'failed':[]},'message':_0x251cea(0xb0)};const _0x355e1d=_0x2b7d2e[_0x251cea(0x85)](_0x251cea(0xb2)),_0x31fc8e=JSON[_0x251cea(0x82)](JSON[_0x251cea(0x8d)](_0x5656a6)),_0x1b6b55=_0x31fc8e[_0x251cea(0xb5)][_0x2b7d2e[_0x251cea(0xaf)]];if(!_0x1b6b55)throw new Error(_0x251cea(0x9f)+_0x2b7d2e[_0x251cea(0xaf)]+'\x22\x20not\x20found\x20after\x20ensureLockScope.');const _0x21edbe=await buildHookMaps(_0x2b7d2e[_0x251cea(0xaf)],_0x2b7d2e[_0x251cea(0xc5)],_0x56373b,_0x1b6b55),_0x5391be=[],_0x29ab92=[],_0x1272b6=[];for(const _0x3ce658 of _0x56373b){const _0x444fc4=await computeFileHash(_0x3ce658['filePath']),_0x543acc=_0x1b6b55[_0x251cea(0xb1)][_0x3ce658['lockKey']];if(!_0x355e1d&&_0x543acc&&_0x543acc[_0x251cea(0xad)]===_0x444fc4){_0x29ab92[_0x251cea(0x7f)]({'lockKey':_0x3ce658[_0x251cea(0xbf)],'reason':_0x251cea(0xb3)});continue;}try{await uploadSingleFunction(_0x2b7d2e[_0x251cea(0xaf)],_0x3ce658,_0x1b6b55,_0x21edbe);const _0x80955f=_0x1b6b55[_0x251cea(0xb1)][_0x3ce658['lockKey']];_0x5391be[_0x251cea(0x7f)]({'lockKey':_0x3ce658[_0x251cea(0xbf)],'remoteId':_0x80955f?.['remoteId']??0x0});}catch(_0x279229){_0x1272b6[_0x251cea(0x7f)]({'lockKey':_0x3ce658['lockKey'],'error':_0x279229 instanceof Error?_0x279229['message']:String(_0x279229)});}}_0x1b6b55[_0x251cea(0xa8)]=new Date()[_0x251cea(0x7c)](),await writeBffLockFile(_0x396e2b[_0x251cea(0x97)],_0x31fc8e),await waitForUploadedLockEntries(_0x396e2b['lockFilePath'],_0x2b7d2e['appCode'],_0x5391be[_0x251cea(0xaa)](_0x4d811b=>_0x4d811b[_0x251cea(0xbf)]));let _0x4114f1={'attempted':![],'cleared':![]};if(_0x5391be[_0x251cea(0x83)]>0x0)try{let _0x42236b='';for(let _0xb08ae2=0x0;_0xb08ae2<CACHE_CLEAR_ATTEMPTS;_0xb08ae2+=0x1){_0x42236b=await clearBffScriptCache(),_0xb08ae2<CACHE_CLEAR_ATTEMPTS-0x1&&await sleep(CACHE_CLEAR_INTERVAL_MS);}_0x4114f1={'attempted':!![],'cleared':!![],'message':_0x42236b||_0x251cea(0x98)};}catch(_0x449b39){_0x4114f1={'attempted':!![],'cleared':![],'error':_0x449b39 instanceof Error?_0x449b39['message']:String(_0x449b39)};}const _0x201dfe=_0x1272b6['length']===0x0&&(_0x4114f1[_0x251cea(0xa5)]?_0x4114f1['cleared']:!![]),_0x136859=_0x4114f1[_0x251cea(0xa5)]?_0x4114f1[_0x251cea(0x80)]?'runtime\x20cache\x20cleared':_0x251cea(0x8c):_0x251cea(0x74);return{'ok':_0x201dfe,'data':{'uploaded':_0x5391be,'skipped':_0x29ab92,'failed':_0x1272b6,'cacheClear':_0x4114f1},'message':_0x251cea(0x94)+_0x5391be[_0x251cea(0x83)]+_0x251cea(0x96)+_0x29ab92[_0x251cea(0x83)]+_0x251cea(0xa2)+_0x1272b6[_0x251cea(0x83)]+_0x251cea(0xbb)+_0x136859};}};async function getTargetFunctions(_0x51a62b,_0x43566a){const _0x1bb59b=a32_0x2fadf1,_0x19bfe0=_0x43566a['str'](_0x1bb59b(0x87)),_0x519beb=_0x43566a[_0x1bb59b(0x8b)](_0x1bb59b(0x91)),_0x562698=normalizeBffType(_0x19bfe0)??undefined;if(_0x519beb&&!_0x562698)throw CliErrors[_0x1bb59b(0x7a)]('--name\x20requires\x20--type\x20to\x20identify\x20the\x20function.');const _0x4557bd=await scanLocalBffFunctions(_0x51a62b,_0x562698);if(_0x519beb){const _0x3c7e15=_0x4557bd[_0x1bb59b(0x9c)](_0x475e07=>_0x475e07['name']===_0x519beb);if(_0x3c7e15[_0x1bb59b(0x83)]===0x0)throw CliErrors['validation']('Local\x20function\x20not\x20found:\x20'+_0x562698+'/'+_0x519beb);return _0x3c7e15;}return _0x4557bd;}async function buildHookMaps(_0x2e3da0,_0x238c06,_0xd59c50,_0x12bd0a){const _0x22ac7d=a32_0x2fadf1,_0xe6cd3b=_0xd59c50[_0x22ac7d(0xb8)](_0x4a15b9=>_0x4a15b9[_0x22ac7d(0x87)]===_0x22ac7d(0x81));if(!_0xe6cd3b)return{'aliasToDatasetCode':new Map(),'datasetCodeToId':new Map()};const _0x49892c=loadAliasMap(_0x238c06,undefined,resolveApiFilePath(_0x238c06,_0x2e3da0)),_0xf5d7e1=new Map(_0x49892c[_0x22ac7d(0xaa)](_0x2fe0bb=>[_0x2fe0bb[_0x22ac7d(0xb7)],_0x2fe0bb['datasetCode']]));for(const _0x2b3ceb of Object['values'](_0x12bd0a[_0x22ac7d(0xb1)])){_0x2b3ceb[_0x22ac7d(0xb7)]&&_0x2b3ceb[_0x22ac7d(0x89)]&&!_0xf5d7e1[_0x22ac7d(0x8a)](_0x2b3ceb[_0x22ac7d(0xb7)])&&_0xf5d7e1[_0x22ac7d(0xab)](_0x2b3ceb[_0x22ac7d(0xb7)],_0x2b3ceb[_0x22ac7d(0x89)]);}const _0x5e9d4f=await listDatasets(_0x2e3da0),_0x993de6=new Map(_0x5e9d4f[_0x22ac7d(0xaa)](_0x1996b1=>[_0x1996b1[_0x22ac7d(0xc6)],_0x1996b1['id']]));return{'aliasToDatasetCode':_0xf5d7e1,'datasetCodeToId':_0x993de6};}async function uploadSingleFunction(_0x18b9f9,_0xc87d54,_0x203649,_0x8c463d){const _0x3997c6=a32_0x2fadf1,_0x457100=await readFile(_0xc87d54[_0x3997c6(0x76)],_0x3997c6(0x93)),_0x465bb8=await computeFileHash(_0xc87d54[_0x3997c6(0x76)]),_0x1c4aaa=_0x203649[_0x3997c6(0xb1)][_0xc87d54['lockKey']];if(_0x1c4aaa?.[_0x3997c6(0xae)]&&_0x1c4aaa[_0x3997c6(0xa7)]==null)throw CliErrors[_0x3997c6(0x7a)](_0xc87d54[_0x3997c6(0xbf)]+_0x3997c6(0xc7));let _0x20606d=extractScriptDescription(_0x457100);if(!_0x20606d&&_0x1c4aaa?.[_0x3997c6(0xae)]){const _0x270151=await getBffScriptInfo(_0x1c4aaa[_0x3997c6(0xae)]);_0x20606d=_0x270151['description']||undefined;}const _0x42ab52={'appCode':_0x18b9f9,'functionName':_0xc87d54['name'],'scriptType':_0xc87d54[_0x3997c6(0x87)],'scriptContent':_0x457100};if(_0x1c4aaa?.['remoteId'])_0x42ab52['id']=_0x1c4aaa['remoteId'];if(_0x1c4aaa?.[_0x3997c6(0xa7)]!=null)_0x42ab52['version']=_0x1c4aaa[_0x3997c6(0xa7)];if(_0x20606d)_0x42ab52['description']=_0x20606d;if(_0xc87d54['type']===_0x3997c6(0x81)){const _0x41de49=_0xc87d54[_0x3997c6(0xb7)];if(!_0x41de49||!_0xc87d54['operationType']||!_0xc87d54[_0x3997c6(0xb9)])throw CliErrors[_0x3997c6(0x7a)](_0x3997c6(0xc1)+_0xc87d54[_0x3997c6(0xbf)]);const _0x19631d=_0x8c463d[_0x3997c6(0x92)][_0x3997c6(0xbd)](_0x41de49)??_0x1c4aaa?.[_0x3997c6(0x89)]??_0x41de49,_0x58657e=_0x8c463d[_0x3997c6(0xbc)][_0x3997c6(0xbd)](_0x19631d);if(!_0x58657e)throw CliErrors['validation'](_0x3997c6(0x90)+_0x41de49+_0x3997c6(0x9b)+('Run\x20`'+CLI_BIN_NAME+'\x20api\x20pull`\x20to\x20refresh\x20api.ts,\x20or\x20verify\x20the\x20dataset\x20exists.'));_0x42ab52[_0x3997c6(0xb6)]=_0x58657e,_0x42ab52[_0x3997c6(0xc4)]=_0xc87d54[_0x3997c6(0xc4)],_0x42ab52[_0x3997c6(0xb9)]=_0xc87d54[_0x3997c6(0xb9)];}const _0x6716cd=await saveBffScript(_0x42ab52),_0x5d9af7=_0x6716cd['id'],_0x180dd3=_0x6716cd[_0x3997c6(0xa1)]??await getBffScriptInfo(_0x5d9af7),_0x56b792={'hash':_0x465bb8,'remoteId':_0x5d9af7,'version':_0x180dd3[_0x3997c6(0xa7)]};if(_0xc87d54['type']==='HOOK'){const _0x26ae61=_0xc87d54[_0x3997c6(0xb7)],_0x285b9c=_0x8c463d[_0x3997c6(0x92)][_0x3997c6(0xbd)](_0x26ae61)??_0x1c4aaa?.[_0x3997c6(0x89)]??_0x26ae61;_0x8c463d[_0x3997c6(0x92)][_0x3997c6(0x8a)](_0x26ae61)?_0x56b792[_0x3997c6(0xb7)]=_0x26ae61:_0x56b792[_0x3997c6(0xb7)]=_0x1c4aaa?.[_0x3997c6(0xb7)],_0x56b792[_0x3997c6(0x89)]=_0x285b9c,_0x56b792[_0x3997c6(0xc4)]=_0xc87d54[_0x3997c6(0xc4)],_0x56b792['functionNode']=_0xc87d54[_0x3997c6(0xb9)];}_0x203649[_0x3997c6(0xb1)][_0xc87d54['lockKey']]=_0x56b792;}const LOCK_SETTLE_RETRY_COUNT=0x14,LOCK_SETTLE_DELAY_MS=0x64;function a32_0x1140(_0x5f37f5,_0x59109a){_0x5f37f5=_0x5f37f5-0x74;const _0x53f32f=a32_0x53f3();let _0x11404f=_0x53f32f[_0x5f37f5];return _0x11404f;}async function waitForUploadedLockEntries(_0x578cc5,_0x25db30,_0x1d1008){const _0x4d7ea8=a32_0x2fadf1;if(_0x1d1008[_0x4d7ea8(0x83)]===0x0)return;for(let _0x4617ac=0x0;_0x4617ac<LOCK_SETTLE_RETRY_COUNT;_0x4617ac+=0x1){const _0x437423=await readBffLockFile(_0x578cc5),_0x60aa19=_0x437423?.[_0x4d7ea8(0xb5)]?.[_0x25db30]?.[_0x4d7ea8(0xb1)]??{},_0x5313b9=_0x1d1008[_0x4d7ea8(0x88)](_0xa55dbc=>!!_0x60aa19[_0xa55dbc]?.[_0x4d7ea8(0xae)]);if(_0x5313b9)return;await sleep(LOCK_SETTLE_DELAY_MS);}throw new Error('Lock\x20file\x20not\x20settled\x20after\x20push\x20for\x20'+_0x1d1008[_0x4d7ea8(0x8f)](',\x20')+'.');}
1
+ const a32_0x5292f6=a32_0x1ac7;(function(_0x37a888,_0x4c6595){const _0x2e42f3=a32_0x1ac7,_0x3b61c8=_0x37a888();while(!![]){try{const _0x5679df=-parseInt(_0x2e42f3(0xca))/0x1*(-parseInt(_0x2e42f3(0x76))/0x2)+parseInt(_0x2e42f3(0x8b))/0x3*(-parseInt(_0x2e42f3(0x7f))/0x4)+-parseInt(_0x2e42f3(0x78))/0x5*(parseInt(_0x2e42f3(0x87))/0x6)+parseInt(_0x2e42f3(0xa1))/0x7+-parseInt(_0x2e42f3(0x85))/0x8+-parseInt(_0x2e42f3(0x8e))/0x9*(parseInt(_0x2e42f3(0xa4))/0xa)+-parseInt(_0x2e42f3(0xaf))/0xb;if(_0x5679df===_0x4c6595)break;else _0x3b61c8['push'](_0x3b61c8['shift']());}catch(_0x255fd3){_0x3b61c8['push'](_0x3b61c8['shift']());}}}(a32_0x250c,0x2bfb5));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;function a32_0x250c(){const _0x35b6bf=['unchanged','str','Would\x20inspect\x20','filePath','functions','61777vQsDNF','Force\x20push\x20ignoring\x20hash\x20protection','10srkRlZ','ENDPOINT','6245AjLWsX','Cannot\x20resolve\x20dataset\x20for\x20\x22','lockFilePath','datasetCode','Lock\x20file\x20not\x20settled\x20after\x20push\x20for\x20','high-risk-write','Push\x20complete:\x20','4056KoFFGz','Local\x20function\x20not\x20found:\x20','utf8','parse','datasetId','force','584024VUOWHv','bool','816OFDXjq','Push\x20only\x20this\x20script\x20type','name','\x20uploaded,\x20','246TsBosj','remoteId','map','162aLTtxq','attempted','validation','version','set','alias','POST','COMMON','Push\x20local\x20BFF\x20scripts\x20to\x20remote','string','No\x20local\x20BFF\x20functions\x20found.','description','/api/management/library/scripts/save','code','would_push','aliasToDatasetCode','functionNode','some','filter','1856358bQMLtZ','\x20failed,\x20','apps','25700bdouWG','operationType','bff','\x22.\x20','HOOK','Push\x20only\x20the\x20named\x20function\x20(requires\x20--type)','get','lockKey','\x20api\x20pull`\x20to\x20refresh\x20api.ts,\x20or\x20verify\x20the\x20dataset\x20exists.','create','scriptsRoot','238205lCDDtO','update','push','length','\x22\x20not\x20found\x20after\x20ensureLockScope.','join','runtime\x20cache\x20cleared','runtime\x20cache\x20not\x20needed','cleared','appCode','Run\x20`','has',':\x20missing\x20remote\x20version.\x20Run\x20`push`\x20after\x20`pull`\x20to\x20sync\x20version\x20info.','message','values','runtime\x20cache\x20clear\x20failed','apiDir','script','type','Lock\x20scope\x20for\x20app\x20\x22','every','status'];a32_0x250c=function(){return _0x35b6bf;};return a32_0x250c();}export const bffPush={'service':a32_0x5292f6(0xa6),'command':'push','description':a32_0x5292f6(0x96),'risk':a32_0x5292f6(0x7d),'flags':[{'name':a32_0x5292f6(0xc1),'type':a32_0x5292f6(0x97),'description':a32_0x5292f6(0x88),'enum':[a32_0x5292f6(0x95),a32_0x5292f6(0x77),a32_0x5292f6(0xa8)]},{'name':'name','type':a32_0x5292f6(0x97),'description':a32_0x5292f6(0xa9)},{'name':a32_0x5292f6(0x84),'type':'boolean','description':a32_0x5292f6(0x75)}],async 'dryRun'(_0x5cdc78){const _0x5d70a1=a32_0x5292f6,_0x47148c=loadBffProjectConfig(_0x5cdc78['appCode']),_0x18611d=await readBffLockFile(_0x47148c[_0x5d70a1(0x7a)]),{appLock:_0x1ffb6d}=ensureLockScope(_0x18611d??createEmptyBffLock(),_0x5cdc78['appCode'],_0x47148c[_0x5d70a1(0xae)],_0x5d70a1(0xb1)),_0x1136ef=await getTargetFunctions(_0x47148c,_0x5cdc78),_0x50d07c=_0x5cdc78[_0x5d70a1(0x86)](_0x5d70a1(0x84)),_0x5b9c2b=[];for(const _0x8c8f8d of _0x1136ef){const _0x2309de=await computeFileHash(_0x8c8f8d[_0x5d70a1(0xc8)]),_0x123a20=_0x1ffb6d[_0x5d70a1(0xc9)][_0x8c8f8d['lockKey']],_0x253bd=!!_0x123a20&&_0x123a20['hash']===_0x2309de;_0x5b9c2b[_0x5d70a1(0xb1)]({'lockKey':_0x8c8f8d[_0x5d70a1(0xab)],'filePath':_0x8c8f8d[_0x5d70a1(0xc8)],'remoteId':_0x123a20?.[_0x5d70a1(0x8c)]??null,'mode':_0x123a20?.[_0x5d70a1(0x8c)]?_0x5d70a1(0xb0):_0x5d70a1(0xad),'status':!_0x50d07c&&_0x253bd?_0x5d70a1(0xc5):_0x5d70a1(0x9c)});}return{'method':_0x5d70a1(0x94),'url':_0x5d70a1(0x9a),'body':{'appCode':_0x5cdc78[_0x5d70a1(0xb8)],'force':_0x50d07c,'files':_0x5b9c2b,'cacheClearAtRuntime':_0x5b9c2b[_0x5d70a1(0x9f)](_0x3006e7=>_0x3006e7[_0x5d70a1(0xc4)]===_0x5d70a1(0x9c)),'cacheClearAtRuntimeTimes':_0x5b9c2b[_0x5d70a1(0x9f)](_0x2db570=>_0x2db570[_0x5d70a1(0xc4)]===_0x5d70a1(0x9c))?CACHE_CLEAR_ATTEMPTS:0x0},'description':_0x5d70a1(0xc7)+_0x5b9c2b[_0x5d70a1(0xb2)]+'\x20local\x20BFF\x20script(s)\x20for\x20push\x20and\x20clear\x20runtime\x20cache\x20if\x20files\x20are\x20uploaded'};},async 'execute'(_0x19dc56){const _0xd0d50e=a32_0x5292f6,_0x4100c0=loadBffProjectConfig(_0x19dc56[_0xd0d50e(0xb8)]),_0x15186b=await readBffLockFile(_0x4100c0[_0xd0d50e(0x7a)]),{lockData:_0x11dc6a,appLock:_0x27efb9}=ensureLockScope(_0x15186b??createEmptyBffLock(),_0x19dc56[_0xd0d50e(0xb8)],_0x4100c0[_0xd0d50e(0xae)],'push'),_0x111da0=await getTargetFunctions(_0x4100c0,_0x19dc56);if(_0x111da0['length']===0x0)return{'ok':!![],'data':{'uploaded':[],'skipped':[],'failed':[]},'message':_0xd0d50e(0x98)};const _0x2e2e2d=_0x19dc56[_0xd0d50e(0x86)]('force'),_0x319e2c=JSON[_0xd0d50e(0x82)](JSON['stringify'](_0x11dc6a)),_0x3bbf83=_0x319e2c[_0xd0d50e(0xa3)][_0x19dc56[_0xd0d50e(0xb8)]];if(!_0x3bbf83)throw new Error(_0xd0d50e(0xc2)+_0x19dc56[_0xd0d50e(0xb8)]+_0xd0d50e(0xb3));const _0x30fbbe=await buildHookMaps(_0x19dc56[_0xd0d50e(0xb8)],_0x19dc56[_0xd0d50e(0xbf)],_0x111da0,_0x3bbf83),_0x307aa9=[],_0x401059=[],_0xa26d3a=[];for(const _0x439ffe of _0x111da0){const _0x5b097c=await computeFileHash(_0x439ffe[_0xd0d50e(0xc8)]),_0x3fb6f5=_0x3bbf83[_0xd0d50e(0xc9)][_0x439ffe[_0xd0d50e(0xab)]];if(!_0x2e2e2d&&_0x3fb6f5&&_0x3fb6f5['hash']===_0x5b097c){_0x401059[_0xd0d50e(0xb1)]({'lockKey':_0x439ffe['lockKey'],'reason':_0xd0d50e(0xc5)});continue;}try{await uploadSingleFunction(_0x19dc56[_0xd0d50e(0xb8)],_0x439ffe,_0x3bbf83,_0x30fbbe);const _0x1df417=_0x3bbf83[_0xd0d50e(0xc9)][_0x439ffe['lockKey']];_0x307aa9['push']({'lockKey':_0x439ffe[_0xd0d50e(0xab)],'remoteId':_0x1df417?.[_0xd0d50e(0x8c)]??0x0});}catch(_0x42dcaf){_0xa26d3a[_0xd0d50e(0xb1)]({'lockKey':_0x439ffe[_0xd0d50e(0xab)],'error':_0x42dcaf instanceof Error?_0x42dcaf[_0xd0d50e(0xbc)]:String(_0x42dcaf)});}}_0x3bbf83['lastSync']=new Date()['toISOString'](),await writeBffLockFile(_0x4100c0[_0xd0d50e(0x7a)],_0x319e2c),await waitForUploadedLockEntries(_0x4100c0[_0xd0d50e(0x7a)],_0x19dc56[_0xd0d50e(0xb8)],_0x307aa9[_0xd0d50e(0x8d)](_0x39d6a4=>_0x39d6a4[_0xd0d50e(0xab)]));let _0x3b94f7={'attempted':![],'cleared':![]};if(_0x307aa9[_0xd0d50e(0xb2)]>0x0)try{let _0x177855='';for(let _0x4c3c34=0x0;_0x4c3c34<CACHE_CLEAR_ATTEMPTS;_0x4c3c34+=0x1){_0x177855=await clearBffScriptCache(),_0x4c3c34<CACHE_CLEAR_ATTEMPTS-0x1&&await sleep(CACHE_CLEAR_INTERVAL_MS);}_0x3b94f7={'attempted':!![],'cleared':!![],'message':_0x177855||'Runtime\x20script\x20cache\x20cleared.'};}catch(_0x4611d3){_0x3b94f7={'attempted':!![],'cleared':![],'error':_0x4611d3 instanceof Error?_0x4611d3['message']:String(_0x4611d3)};}const _0x1add8f=_0xa26d3a[_0xd0d50e(0xb2)]===0x0&&(_0x3b94f7[_0xd0d50e(0x8f)]?_0x3b94f7['cleared']:!![]),_0x524af1=_0x3b94f7[_0xd0d50e(0x8f)]?_0x3b94f7[_0xd0d50e(0xb7)]?_0xd0d50e(0xb5):_0xd0d50e(0xbe):_0xd0d50e(0xb6);return{'ok':_0x1add8f,'data':{'uploaded':_0x307aa9,'skipped':_0x401059,'failed':_0xa26d3a,'cacheClear':_0x3b94f7},'message':_0xd0d50e(0x7e)+_0x307aa9[_0xd0d50e(0xb2)]+_0xd0d50e(0x8a)+_0x401059[_0xd0d50e(0xb2)]+'\x20skipped,\x20'+_0xa26d3a[_0xd0d50e(0xb2)]+_0xd0d50e(0xa2)+_0x524af1};}};async function getTargetFunctions(_0x2c31c0,_0x5f5d3c){const _0x5a89f8=a32_0x5292f6,_0x1feb30=_0x5f5d3c[_0x5a89f8(0xc6)](_0x5a89f8(0xc1)),_0x42bff2=_0x5f5d3c['str']('name'),_0x5c581a=normalizeBffType(_0x1feb30)??undefined;if(_0x42bff2&&!_0x5c581a)throw CliErrors[_0x5a89f8(0x90)]('--name\x20requires\x20--type\x20to\x20identify\x20the\x20function.');const _0x3adb44=await scanLocalBffFunctions(_0x2c31c0,_0x5c581a);if(_0x42bff2){const _0x4f9ca5=_0x3adb44[_0x5a89f8(0xa0)](_0x162670=>_0x162670[_0x5a89f8(0x89)]===_0x42bff2);if(_0x4f9ca5[_0x5a89f8(0xb2)]===0x0)throw CliErrors[_0x5a89f8(0x90)](_0x5a89f8(0x80)+_0x5c581a+'/'+_0x42bff2);return _0x4f9ca5;}return _0x3adb44;}function a32_0x1ac7(_0x270ed,_0x49a282){_0x270ed=_0x270ed-0x75;const _0x250cd9=a32_0x250c();let _0x1ac7e8=_0x250cd9[_0x270ed];return _0x1ac7e8;}async function buildHookMaps(_0x57b6b0,_0x2cfd88,_0x14879a,_0x3c2e71){const _0x19cae3=a32_0x5292f6,_0x893b0a=_0x14879a[_0x19cae3(0x9f)](_0x527b54=>_0x527b54[_0x19cae3(0xc1)]===_0x19cae3(0xa8));if(!_0x893b0a)return{'aliasToDatasetCode':new Map(),'datasetCodeToId':new Map()};const _0x4ea5d0=loadAliasMap(_0x2cfd88,undefined,resolveApiFilePath(_0x2cfd88,_0x57b6b0)),_0x533840=new Map(_0x4ea5d0[_0x19cae3(0x8d)](_0x297ae4=>[_0x297ae4[_0x19cae3(0x93)],_0x297ae4[_0x19cae3(0x7b)]]));for(const _0x789469 of Object[_0x19cae3(0xbd)](_0x3c2e71[_0x19cae3(0xc9)])){_0x789469[_0x19cae3(0x93)]&&_0x789469['datasetCode']&&!_0x533840[_0x19cae3(0xba)](_0x789469['alias'])&&_0x533840[_0x19cae3(0x92)](_0x789469['alias'],_0x789469['datasetCode']);}const _0x3e417e=await listDatasets(_0x57b6b0),_0x566d27=new Map(_0x3e417e[_0x19cae3(0x8d)](_0x2e091c=>[_0x2e091c[_0x19cae3(0x9b)],_0x2e091c['id']]));return{'aliasToDatasetCode':_0x533840,'datasetCodeToId':_0x566d27};}async function uploadSingleFunction(_0x3968b7,_0x444434,_0x2767e9,_0x357c19){const _0x3732a6=a32_0x5292f6,_0x539972=await readFile(_0x444434[_0x3732a6(0xc8)],_0x3732a6(0x81)),_0x3c0e3d=await computeFileHash(_0x444434[_0x3732a6(0xc8)]),_0x3f8e9a=_0x2767e9[_0x3732a6(0xc9)][_0x444434['lockKey']];if(_0x3f8e9a?.[_0x3732a6(0x8c)]&&_0x3f8e9a['version']==null)throw CliErrors['validation'](_0x444434[_0x3732a6(0xab)]+_0x3732a6(0xbb));let _0x1aeeb4=extractScriptDescription(_0x539972);if(!_0x1aeeb4&&_0x3f8e9a?.['remoteId']){const _0x5e0e0a=await getBffScriptInfo(_0x3f8e9a[_0x3732a6(0x8c)]);_0x1aeeb4=_0x5e0e0a['description']||undefined;}const _0x1829d6={'appCode':_0x3968b7,'functionName':_0x444434[_0x3732a6(0x89)],'scriptType':_0x444434[_0x3732a6(0xc1)],'scriptContent':_0x539972};if(_0x3f8e9a?.[_0x3732a6(0x8c)])_0x1829d6['id']=_0x3f8e9a['remoteId'];if(_0x3f8e9a?.[_0x3732a6(0x91)]!=null)_0x1829d6[_0x3732a6(0x91)]=_0x3f8e9a[_0x3732a6(0x91)];if(_0x1aeeb4)_0x1829d6[_0x3732a6(0x99)]=_0x1aeeb4;if(_0x444434[_0x3732a6(0xc1)]===_0x3732a6(0xa8)){const _0x1237e1=_0x444434[_0x3732a6(0x93)];if(!_0x1237e1||!_0x444434[_0x3732a6(0xa5)]||!_0x444434[_0x3732a6(0x9e)])throw CliErrors['validation']('Incomplete\x20HOOK\x20path:\x20'+_0x444434[_0x3732a6(0xab)]);const _0x956b2a=_0x357c19[_0x3732a6(0x9d)][_0x3732a6(0xaa)](_0x1237e1)??_0x3f8e9a?.[_0x3732a6(0x7b)]??_0x1237e1,_0x20aa55=_0x357c19['datasetCodeToId'][_0x3732a6(0xaa)](_0x956b2a);if(!_0x20aa55)throw CliErrors[_0x3732a6(0x90)](_0x3732a6(0x79)+_0x1237e1+_0x3732a6(0xa7)+(_0x3732a6(0xb9)+CLI_BIN_NAME+_0x3732a6(0xac)));_0x1829d6[_0x3732a6(0x83)]=_0x20aa55,_0x1829d6['operationType']=_0x444434[_0x3732a6(0xa5)],_0x1829d6[_0x3732a6(0x9e)]=_0x444434['functionNode'];}const _0x2d3d76=await saveBffScript(_0x1829d6),_0x5e8dd9=_0x2d3d76['id'],_0x1885b3=_0x2d3d76[_0x3732a6(0xc0)]??await getBffScriptInfo(_0x5e8dd9),_0x638f44={'hash':_0x3c0e3d,'remoteId':_0x5e8dd9,'version':_0x1885b3[_0x3732a6(0x91)]};if(_0x444434[_0x3732a6(0xc1)]===_0x3732a6(0xa8)){const _0x30ef96=_0x444434[_0x3732a6(0x93)],_0x53da18=_0x357c19[_0x3732a6(0x9d)]['get'](_0x30ef96)??_0x3f8e9a?.[_0x3732a6(0x7b)]??_0x30ef96;_0x357c19[_0x3732a6(0x9d)][_0x3732a6(0xba)](_0x30ef96)?_0x638f44[_0x3732a6(0x93)]=_0x30ef96:_0x638f44[_0x3732a6(0x93)]=_0x3f8e9a?.[_0x3732a6(0x93)],_0x638f44[_0x3732a6(0x7b)]=_0x53da18,_0x638f44[_0x3732a6(0xa5)]=_0x444434[_0x3732a6(0xa5)],_0x638f44[_0x3732a6(0x9e)]=_0x444434['functionNode'];}_0x2767e9[_0x3732a6(0xc9)][_0x444434[_0x3732a6(0xab)]]=_0x638f44;}const LOCK_SETTLE_RETRY_COUNT=0x14,LOCK_SETTLE_DELAY_MS=0x64;async function waitForUploadedLockEntries(_0x44d859,_0x45a5e5,_0x8634ab){const _0x2e335f=a32_0x5292f6;if(_0x8634ab[_0x2e335f(0xb2)]===0x0)return;for(let _0x3bf440=0x0;_0x3bf440<LOCK_SETTLE_RETRY_COUNT;_0x3bf440+=0x1){const _0x48dfa7=await readBffLockFile(_0x44d859),_0x5e8f76=_0x48dfa7?.[_0x2e335f(0xa3)]?.[_0x45a5e5]?.[_0x2e335f(0xc9)]??{},_0x3bc9c1=_0x8634ab[_0x2e335f(0xc3)](_0x3223b8=>!!_0x5e8f76[_0x3223b8]?.[_0x2e335f(0x8c)]);if(_0x3bc9c1)return;await sleep(LOCK_SETTLE_DELAY_MS);}throw new Error(_0x2e335f(0x7c)+_0x8634ab[_0x2e335f(0xb4)](',\x20')+'.');}