@lovrabet/rabetbase-cli 2.0.13 → 2.1.1-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 (155) hide show
  1. package/README.md +2 -2
  2. package/lib/api/api-doc.js +1 -1
  3. package/lib/api/fetch-model-list.js +1 -1
  4. package/lib/api/generate-api-file.js +1 -1
  5. package/lib/auth/auth-server-ui.js +1 -1
  6. package/lib/auth/auth-server.js +1 -1
  7. package/lib/auth/constant.js +1 -1
  8. package/lib/auth/get-cookie.js +1 -1
  9. package/lib/auth/get-session-user.js +1 -1
  10. package/lib/auth/is-session-valid.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/doc.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/index.js +1 -1
  21. package/lib/commands/app/list.js +1 -1
  22. package/lib/commands/app/remote.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/delete.js +1 -1
  28. package/lib/commands/bff/detail.js +1 -1
  29. package/lib/commands/bff/index.js +1 -1
  30. package/lib/commands/bff/list.js +1 -1
  31. package/lib/commands/bff/new.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/dataset/detail.js +1 -1
  48. package/lib/commands/dataset/index.js +1 -1
  49. package/lib/commands/dataset/links.js +1 -1
  50. package/lib/commands/dataset/list.js +1 -1
  51. package/lib/commands/dataset/operations.js +1 -1
  52. package/lib/commands/db/analyze-cancel.js +1 -0
  53. package/lib/commands/db/analyze-start.js +1 -0
  54. package/lib/commands/db/analyze-status.js +1 -0
  55. package/lib/commands/db/create.js +1 -0
  56. package/lib/commands/db/delete.js +1 -0
  57. package/lib/commands/db/detail.js +1 -0
  58. package/lib/commands/db/diff.js +1 -0
  59. package/lib/commands/db/index.js +1 -0
  60. package/lib/commands/db/list.js +1 -0
  61. package/lib/commands/db/shared.js +1 -0
  62. package/lib/commands/db/tables.js +1 -0
  63. package/lib/commands/db/test.js +1 -0
  64. package/lib/commands/db/update.js +1 -0
  65. package/lib/commands/doctor.js +1 -1
  66. package/lib/commands/init/index.js +1 -1
  67. package/lib/commands/logs/index.js +1 -1
  68. package/lib/commands/menu/index.js +1 -1
  69. package/lib/commands/menu/shared/compare-table.js +1 -1
  70. package/lib/commands/menu/shared/index.js +1 -1
  71. package/lib/commands/menu/shared/inquirer.js +1 -1
  72. package/lib/commands/menu/shared/local-pages.js +1 -1
  73. package/lib/commands/menu/shared/logic.js +1 -1
  74. package/lib/commands/menu/shared/service.js +1 -1
  75. package/lib/commands/menu/shared/sync-core.js +1 -1
  76. package/lib/commands/menu/shared/update-core.js +1 -1
  77. package/lib/commands/menu/shared/valid-url.js +1 -1
  78. package/lib/commands/menu/sync.js +1 -1
  79. package/lib/commands/menu/update.js +1 -1
  80. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  81. package/lib/commands/project/create/format-elapsed.js +1 -1
  82. package/lib/commands/project/create/main.js +1 -1
  83. package/lib/commands/project/create/non-interactive.js +1 -1
  84. package/lib/commands/project/create/project-template-path.js +1 -1
  85. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  86. package/lib/commands/project/create/use-format-code.js +1 -1
  87. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  88. package/lib/commands/project/index.js +1 -1
  89. package/lib/commands/project/init.js +1 -1
  90. package/lib/commands/project/upgrade.js +1 -1
  91. package/lib/commands/registry.js +1 -1
  92. package/lib/commands/run/index.js +1 -1
  93. package/lib/commands/schema.js +1 -1
  94. package/lib/commands/skill/index.js +1 -1
  95. package/lib/commands/sql/detail.js +1 -1
  96. package/lib/commands/sql/exec.js +1 -1
  97. package/lib/commands/sql/index.js +1 -1
  98. package/lib/commands/sql/list.js +1 -1
  99. package/lib/commands/sql/pull.js +1 -1
  100. package/lib/commands/sql/save.js +1 -1
  101. package/lib/commands/sql/shared.js +1 -1
  102. package/lib/commands/sql/validate.js +1 -1
  103. package/lib/constant/cli.js +1 -1
  104. package/lib/constant/domain.js +1 -1
  105. package/lib/constant/env.js +1 -1
  106. package/lib/constant/paths.js +1 -1
  107. package/lib/context.js +1 -1
  108. package/lib/core/alias-resolver.js +1 -1
  109. package/lib/core/api-client.js +1 -1
  110. package/lib/core/bff/config.js +1 -1
  111. package/lib/core/bff/file-system.js +1 -1
  112. package/lib/core/bff/hash.js +1 -1
  113. package/lib/core/bff/lock.js +1 -1
  114. package/lib/core/bff/utils.js +1 -1
  115. package/lib/core/db-resolver.js +1 -1
  116. package/lib/core/sql-validator.js +1 -1
  117. package/lib/errors.js +1 -1
  118. package/lib/framework/build-all-flags.js +1 -1
  119. package/lib/framework/flags.js +1 -1
  120. package/lib/framework/help.js +1 -1
  121. package/lib/framework/index.js +1 -1
  122. package/lib/framework/output.js +1 -1
  123. package/lib/framework/response.js +1 -1
  124. package/lib/framework/runner.js +1 -1
  125. package/lib/framework/schema-export.js +1 -1
  126. package/lib/framework/types.js +1 -1
  127. package/lib/generated/build-info.js +1 -1
  128. package/lib/help.js +1 -1
  129. package/lib/skills/main.js +1 -1
  130. package/lib/skills/npx-skills-add.js +1 -1
  131. package/lib/telemetry/cli-command-trace.js +1 -1
  132. package/lib/telemetry/cli-help-trace.js +1 -1
  133. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  134. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  135. package/lib/telemetry/send-cli-trace-log.js +1 -1
  136. package/lib/utils/ai_config.js +1 -1
  137. package/lib/utils/apply-jq-filter.js +1 -1
  138. package/lib/utils/cdn-config.js +1 -1
  139. package/lib/utils/check-sdk-version.js +1 -1
  140. package/lib/utils/cli-version-check.js +1 -1
  141. package/lib/utils/config.js +1 -1
  142. package/lib/utils/copy-directory.js +1 -1
  143. package/lib/utils/file-utils.js +1 -1
  144. package/lib/utils/guides-cdn.js +1 -1
  145. package/lib/utils/http-client.js +1 -1
  146. package/lib/utils/is-non-interactive.js +1 -1
  147. package/lib/utils/logger.js +1 -1
  148. package/lib/utils/platform.js +1 -1
  149. package/lib/utils/rules-cdn.js +1 -1
  150. package/lib/utils/sleep.js +1 -1
  151. package/lib/utils/template-replacer.js +1 -1
  152. package/lib/utils/version.js +1 -1
  153. package/lib/utils/with-active-cookie.js +1 -1
  154. package/lib/utils/write-cli-side-channel.js +1 -0
  155. package/package.json +1 -1
@@ -1 +1 @@
1
- const a19_0x5de91e=a19_0x4efd;(function(_0x4b756c,_0xf022a7){const _0x38cd9a=a19_0x4efd,_0x52826f=_0x4b756c();while(!![]){try{const _0x2d885f=parseInt(_0x38cd9a(0x97))/0x1*(parseInt(_0x38cd9a(0x82))/0x2)+parseInt(_0x38cd9a(0x98))/0x3+parseInt(_0x38cd9a(0x80))/0x4*(-parseInt(_0x38cd9a(0x88))/0x5)+-parseInt(_0x38cd9a(0x8a))/0x6+-parseInt(_0x38cd9a(0x96))/0x7*(parseInt(_0x38cd9a(0x7d))/0x8)+-parseInt(_0x38cd9a(0x7c))/0x9*(parseInt(_0x38cd9a(0x84))/0xa)+parseInt(_0x38cd9a(0x8b))/0xb;if(_0x2d885f===_0xf022a7)break;else _0x52826f['push'](_0x52826f['shift']());}catch(_0x9cecde){_0x52826f['push'](_0x52826f['shift']());}}}(a19_0x6900,0xca40b));function a19_0x4efd(_0x30a361,_0x2340ac){_0x30a361=_0x30a361-0x7c;const _0x69000a=a19_0x6900();let _0x4efdc9=_0x69000a[_0x30a361];return _0x4efdc9;}import{readRawConfigWithLayers}from'../../context.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{appDefinedIn,resolveDefaultAppSource}from'../../commands/app/shared.js';function a19_0x6900(){const _0x3dfe33=['inherit','apps','riskLevel','2176443IZNnnV','8SmgyaF','map','No\x20apps\x20configured.\x20Use\x20`','618232aORLZa','format','3017466QrkXku','\x20app\x20add\x20<name>\x20--appcode\x20<code>`\x20to\x20enable\x20multi-app\x20mode.','30JOqSjm','locale','appcode','list','40mYeggZ','cookie','4385850qZcCYx','23871320EcRtyn','globalPath','pageSize','List\x20all\x20configured\x20apps','\x20app\x20add\x20<name>\x20--appcode\x20<code>`\x20to\x20add\x20one.','env','length','globalConfig','projectConfig','object','projectPath','10272311njjAvU','1MSZTii','3929901DhIZKZ'];a19_0x6900=function(){return _0x3dfe33;};return a19_0x6900();}async function execute(_0x531157){const _0x4b6dae=a19_0x4efd,{config:_0x4008dd,layers:_0x33cdba}=readRawConfigWithLayers(),{apps:apps={},defaultApp:_0x301ad4,currentApp:_0x2eca58}=_0x4008dd,_0x1ef8bb=Object['entries'](apps),_0x5f0a29=_0x33cdba[_0x4b6dae(0x92)]['apps']&&typeof _0x33cdba[_0x4b6dae(0x92)][_0x4b6dae(0x9a)]==='object'?_0x33cdba[_0x4b6dae(0x92)][_0x4b6dae(0x9a)]:{},_0x23eb20=_0x33cdba[_0x4b6dae(0x93)]['apps']&&typeof _0x33cdba['projectConfig'][_0x4b6dae(0x9a)]===_0x4b6dae(0x94)?_0x33cdba['projectConfig'][_0x4b6dae(0x9a)]:{};if(_0x1ef8bb[_0x4b6dae(0x91)]===0x0){const _0x34733a=_0x4008dd[_0x4b6dae(0x86)];if(_0x34733a)return{'ok':!![],'data':{'mode':'single-app','appcode':_0x34733a,'env':_0x4008dd[_0x4b6dae(0x90)]},'message':'Single-app\x20mode.\x20Use\x20`'+CLI_BIN_NAME+_0x4b6dae(0x83)};return{'ok':!![],'data':[],'message':_0x4b6dae(0x7f)+CLI_BIN_NAME+_0x4b6dae(0x8f)};}const _0x525b9b=resolveDefaultAppSource(_0x33cdba),_0x2f9dc8=_0x33cdba[_0x4b6dae(0x93)][_0x4b6dae(0x99)]===![],_0x2c2742=_0x1ef8bb[_0x4b6dae(0x7e)](([_0x5573b8,_0xe99353])=>({'name':_0x5573b8,'appcode':_0xe99353[_0x4b6dae(0x86)],'definedIn':appDefinedIn(_0x5573b8,_0x5f0a29,_0x23eb20,_0x2f9dc8),'isDefault':_0x5573b8===_0x301ad4,'isCurrent':_0x5573b8===(_0x2eca58??_0x301ad4),'env':_0xe99353['env']??null,'apiDir':_0xe99353['apiDir']??null,'hasCookie':!!_0xe99353[_0x4b6dae(0x89)],'hasAccessKey':!!_0xe99353['accessKey'],'format':_0xe99353[_0x4b6dae(0x81)]??null,'pageSize':_0xe99353[_0x4b6dae(0x8d)]??null,'riskLevel':_0xe99353[_0x4b6dae(0x9b)]??null,'locale':_0xe99353[_0x4b6dae(0x85)]??null}));return{'ok':!![],'data':{'items':_0x2c2742,'meta':{'globalPath':_0x33cdba[_0x4b6dae(0x8c)]??null,'projectPath':_0x33cdba[_0x4b6dae(0x95)]??null,'defaultApp':_0x301ad4??null,'defaultAppSource':_0x301ad4!=null?_0x525b9b:null}}};}export const appListDefinition={'service':'app','command':a19_0x5de91e(0x87),'description':a19_0x5de91e(0x8e),'risk':'read','requiresAuth':![],'requiresAppCode':![],'flags':[],'execute':execute};
1
+ const a19_0x570dde=a19_0x3ee5;(function(_0x231236,_0x573c98){const _0x1771ad=a19_0x3ee5,_0x2bcd53=_0x231236();while(!![]){try{const _0x352c47=-parseInt(_0x1771ad(0xc4))/0x1*(-parseInt(_0x1771ad(0xb5))/0x2)+-parseInt(_0x1771ad(0xbc))/0x3+parseInt(_0x1771ad(0xc0))/0x4*(-parseInt(_0x1771ad(0x97))/0x5)+parseInt(_0x1771ad(0xb4))/0x6+parseInt(_0x1771ad(0xb1))/0x7*(parseInt(_0x1771ad(0x9b))/0x8)+-parseInt(_0x1771ad(0x9d))/0x9+parseInt(_0x1771ad(0xa4))/0xa*(parseInt(_0x1771ad(0x9f))/0xb);if(_0x352c47===_0x573c98)break;else _0x2bcd53['push'](_0x2bcd53['shift']());}catch(_0x2e0ff7){_0x2bcd53['push'](_0x2bcd53['shift']());}}}(a19_0x2a71,0x1b716));import{readRawConfigWithLayers}from'../../context.js';function a19_0x2a71(){const _0x5207b2=['project','1369044DntNVh','Show\x20only\x20apps\x20from\x20project\x20.rabetbase.json','200959CGbQaG','globalConfig','object','length','merged','150jfEBUx','\x20config','boolean','map','app','entries','env','read','\x20app\x20add\x20<name>\x20--appcode\x20<code>`\x20to\x20add\x20one.','keys','projectPath','apps','find','7CGZiFT','riskLevel','appcode','342222wbQLBd','4856zfAJrJ','locale','pageSize','cookie','format','projectConfig','global','281664hVbvmq','apiDir','globalPath','.\x20Use\x20`','4inHlJm','List\x20all\x20configured\x20apps','No\x20apps\x20configured','list','23bxNprI','inherit','204285rqALjL','accessKey','push','bool','98808BDewOA'];a19_0x2a71=function(){return _0x5207b2;};return a19_0x2a71();}import{CLI_BIN_NAME}from'../../constant/cli.js';import{appDefinedIn,resolveDefaultAppSource}from'../../commands/app/shared.js';function buildItemsFromLayer(_0x1e9456,_0x58c436){const _0x81c5e9=a19_0x3ee5,_0x26859f=[],_0x17cd10=_0x1e9456[_0x81c5e9(0xaf)]&&typeof _0x1e9456[_0x81c5e9(0xaf)]===_0x81c5e9(0xa1)?_0x1e9456[_0x81c5e9(0xaf)]:{},_0x40f52d=_0x1e9456['defaultApp']||undefined;for(const [_0x530bf0,_0x268f3a]of Object[_0x81c5e9(0xa9)](_0x17cd10)){if(!_0x268f3a||typeof _0x268f3a!==_0x81c5e9(0xa1)||!_0x268f3a[_0x81c5e9(0xb3)])continue;_0x26859f['push']({'name':_0x530bf0,'appcode':_0x268f3a[_0x81c5e9(0xb3)],'named':!![],'definedIn':_0x58c436,'isDefault':_0x530bf0===_0x40f52d,'env':_0x268f3a[_0x81c5e9(0xaa)]??null,'apiDir':_0x268f3a[_0x81c5e9(0xbd)]??null,'hasCookie':!!_0x268f3a[_0x81c5e9(0xb8)],'hasAccessKey':!!_0x268f3a[_0x81c5e9(0x98)],'format':_0x268f3a[_0x81c5e9(0xb9)]??null,'pageSize':_0x268f3a[_0x81c5e9(0xb7)]??null,'riskLevel':_0x268f3a[_0x81c5e9(0xb2)]??null,'locale':_0x268f3a[_0x81c5e9(0xb6)]??null});}const _0xf5381d=Object['keys'](_0x17cd10)['length']>0x0,_0x54ae11=_0x1e9456[_0x81c5e9(0xb3)]||_0x1e9456[_0x81c5e9(0xa8)];return _0x54ae11&&!_0xf5381d&&_0x26859f['push']({'name':null,'appcode':String(_0x54ae11),'named':![],'definedIn':_0x58c436,'isDefault':![],'env':_0x1e9456[_0x81c5e9(0xaa)]??null,'apiDir':_0x1e9456[_0x81c5e9(0xbd)]??null,'hasCookie':!!_0x1e9456[_0x81c5e9(0xb8)],'hasAccessKey':!!_0x1e9456['accessKey'],'format':_0x1e9456[_0x81c5e9(0xb9)]??null,'pageSize':_0x1e9456[_0x81c5e9(0xb7)]??null,'riskLevel':_0x1e9456[_0x81c5e9(0xb2)]??null,'locale':_0x1e9456[_0x81c5e9(0xb6)]??null}),_0x26859f;}function buildMergedItems(_0x398d50,_0x4fbd13){const _0x109794=a19_0x3ee5,{apps:apps={},defaultApp:_0x326d27,currentApp:_0x567007}=_0x398d50,_0x220c83=_0x4fbd13[_0x109794(0xa0)][_0x109794(0xaf)]&&typeof _0x4fbd13[_0x109794(0xa0)][_0x109794(0xaf)]===_0x109794(0xa1)?_0x4fbd13[_0x109794(0xa0)][_0x109794(0xaf)]:{},_0x472afd=_0x4fbd13[_0x109794(0xba)][_0x109794(0xaf)]&&typeof _0x4fbd13['projectConfig'][_0x109794(0xaf)]==='object'?_0x4fbd13['projectConfig']['apps']:{},_0x57d711=_0x4fbd13[_0x109794(0xba)][_0x109794(0xc5)]===![],_0x1a565e=Object[_0x109794(0xa9)](apps),_0x13b7f1=_0x1a565e[_0x109794(0xa7)](([_0x167b1f,_0x214e13])=>({'name':_0x167b1f,'appcode':_0x214e13[_0x109794(0xb3)],'named':!![],'definedIn':appDefinedIn(_0x167b1f,_0x220c83,_0x472afd,_0x57d711),'isDefault':_0x167b1f===_0x326d27,'isCurrent':_0x167b1f===(_0x567007??_0x326d27),'env':_0x214e13[_0x109794(0xaa)]??null,'apiDir':_0x214e13[_0x109794(0xbd)]??null,'hasCookie':!!_0x214e13[_0x109794(0xb8)],'hasAccessKey':!!_0x214e13[_0x109794(0x98)],'format':_0x214e13[_0x109794(0xb9)]??null,'pageSize':_0x214e13[_0x109794(0xb7)]??null,'riskLevel':_0x214e13[_0x109794(0xb2)]??null,'locale':_0x214e13[_0x109794(0xb6)]??null})),_0x3f59d2=(_0x4fbd13[_0x109794(0xba)][_0x109794(0xb3)]||_0x4fbd13[_0x109794(0xba)][_0x109794(0xa8)])&&(!_0x4fbd13[_0x109794(0xba)][_0x109794(0xaf)]||Object[_0x109794(0xad)](_0x4fbd13[_0x109794(0xba)][_0x109794(0xaf)])[_0x109794(0xa2)]===0x0)?String(_0x4fbd13['projectConfig'][_0x109794(0xb3)]||_0x4fbd13[_0x109794(0xba)][_0x109794(0xa8)]):undefined,_0x3a6248=(_0x4fbd13['globalConfig'][_0x109794(0xb3)]||_0x4fbd13[_0x109794(0xa0)][_0x109794(0xa8)])&&(!_0x4fbd13[_0x109794(0xa0)]['apps']||Object[_0x109794(0xad)](_0x4fbd13[_0x109794(0xa0)][_0x109794(0xaf)])[_0x109794(0xa2)]===0x0)?String(_0x4fbd13[_0x109794(0xa0)][_0x109794(0xb3)]||_0x4fbd13[_0x109794(0xa0)][_0x109794(0xa8)]):undefined;if(_0x3f59d2)_0x13b7f1[_0x109794(0x99)]({'name':null,'appcode':_0x3f59d2,'named':![],'definedIn':_0x109794(0x9c),'isDefault':![],'isCurrent':!_0x326d27,'env':_0x4fbd13['projectConfig']['env']??null,'apiDir':_0x4fbd13[_0x109794(0xba)][_0x109794(0xbd)]??null,'hasCookie':!!_0x4fbd13[_0x109794(0xba)]['cookie'],'hasAccessKey':!!_0x4fbd13[_0x109794(0xba)]['accessKey'],'format':_0x4fbd13[_0x109794(0xba)][_0x109794(0xb9)]??null,'pageSize':_0x4fbd13['projectConfig']['pageSize']??null,'riskLevel':_0x4fbd13['projectConfig'][_0x109794(0xb2)]??null,'locale':_0x4fbd13[_0x109794(0xba)][_0x109794(0xb6)]??null});else _0x3a6248&&_0x1a565e[_0x109794(0xa2)]===0x0&&_0x13b7f1[_0x109794(0x99)]({'name':null,'appcode':_0x3a6248,'named':![],'definedIn':'global','isDefault':![],'isCurrent':!_0x326d27,'env':_0x4fbd13[_0x109794(0xa0)][_0x109794(0xaa)]??null,'apiDir':_0x4fbd13['globalConfig'][_0x109794(0xbd)]??null,'hasCookie':!!_0x4fbd13[_0x109794(0xa0)][_0x109794(0xb8)],'hasAccessKey':!!_0x4fbd13['globalConfig'][_0x109794(0x98)],'format':_0x4fbd13[_0x109794(0xa0)][_0x109794(0xb9)]??null,'pageSize':_0x4fbd13[_0x109794(0xa0)][_0x109794(0xb7)]??null,'riskLevel':_0x4fbd13[_0x109794(0xa0)][_0x109794(0xb2)]??null,'locale':_0x4fbd13[_0x109794(0xa0)][_0x109794(0xb6)]??null});return _0x13b7f1;}function a19_0x3ee5(_0x5b755f,_0x311f0d){_0x5b755f=_0x5b755f-0x97;const _0x2a7146=a19_0x2a71();let _0x3ee546=_0x2a7146[_0x5b755f];return _0x3ee546;}async function execute(_0x5d9932){const _0x126950=a19_0x3ee5,_0x3a08b8=_0x5d9932[_0x126950(0x9a)]('global'),_0xd76da8=_0x5d9932[_0x126950(0x9a)](_0x126950(0x9c)),_0x582844=_0x3a08b8?_0x126950(0xbb):_0xd76da8?_0x126950(0x9c):_0x126950(0xa3),{config:_0x25fd61,layers:_0x3f4672}=readRawConfigWithLayers(),_0x49161e=resolveDefaultAppSource(_0x3f4672),{defaultApp:_0x53505d}=_0x25fd61;let _0x1795e3,_0x3ca40c;switch(_0x582844){case'global':_0x1795e3=buildItemsFromLayer(_0x3f4672[_0x126950(0xa0)],'global'),_0x3ca40c=_0x3f4672['globalPath'];break;case _0x126950(0x9c):_0x1795e3=buildItemsFromLayer(_0x3f4672[_0x126950(0xba)],_0x126950(0x9c)),_0x3ca40c=_0x3f4672[_0x126950(0xae)];break;default:_0x1795e3=buildMergedItems(_0x25fd61,_0x3f4672);break;}if(_0x1795e3[_0x126950(0xa2)]===0x0){const _0x26595b=_0x582844===_0x126950(0xa3)?'':'\x20in\x20'+_0x582844+_0x126950(0xa5);return{'ok':!![],'data':[],'message':_0x126950(0xc2)+_0x26595b+_0x126950(0xbf)+CLI_BIN_NAME+_0x126950(0xac)};}const _0x2fb104=_0x1795e3[_0x126950(0xb0)](_0x55d110=>_0x55d110['isCurrent']===!![]),_0x349658=_0x53505d??_0x2fb104?.[_0x126950(0xb3)]??null,_0x384f3b=_0x582844===_0x126950(0xa3)?{'globalPath':_0x3f4672[_0x126950(0xbe)]??null,'projectPath':_0x3f4672['projectPath']??null,'defaultApp':_0x349658,'defaultAppSource':_0x53505d!=null?_0x49161e:null}:{'scope':_0x582844,'configPath':_0x3ca40c??null};return{'ok':!![],'data':{'items':_0x1795e3,'meta':_0x384f3b}};}export const appListDefinition={'service':a19_0x570dde(0xa8),'command':a19_0x570dde(0xc3),'description':a19_0x570dde(0xc1),'risk':a19_0x570dde(0xab),'requiresAuth':![],'requiresAppCode':![],'flags':[{'name':a19_0x570dde(0xbb),'type':'boolean','description':'Show\x20only\x20apps\x20from\x20global\x20~/.rabetbase.json','default':![]},{'name':a19_0x570dde(0x9c),'type':a19_0x570dde(0xa6),'description':a19_0x570dde(0x9e),'default':![]}],'execute':execute};
@@ -1 +1 @@
1
- const a20_0x564391=a20_0x40d0;function a20_0x5cfc(){const _0x2b2bb0=['182220UhGbTi','269211VAgbhH','read','42ESFrLU','2064460jVBodP','1058120elzoKl','cookie','appDesc','appName','remote','../../core/api-client.js','map','576468BSjqvd','List\x20apps\x20available\x20on\x20the\x20platform','2355408DfnzMl','1953973DwiqFW'];a20_0x5cfc=function(){return _0x2b2bb0;};return a20_0x5cfc();}(function(_0x3e2047,_0x72a7c9){const _0x5919c5=a20_0x40d0,_0x35fd8e=_0x3e2047();while(!![]){try{const _0x131f9b=-parseInt(_0x5919c5(0x184))/0x1+parseInt(_0x5919c5(0x178))/0x2+-parseInt(_0x5919c5(0x17f))/0x3+parseInt(_0x5919c5(0x177))/0x4+parseInt(_0x5919c5(0x183))/0x5*(parseInt(_0x5919c5(0x176))/0x6)+-parseInt(_0x5919c5(0x182))/0x7+-parseInt(_0x5919c5(0x181))/0x8;if(_0x131f9b===_0x72a7c9)break;else _0x35fd8e['push'](_0x35fd8e['shift']());}catch(_0x5ef57c){_0x35fd8e['push'](_0x35fd8e['shift']());}}}(a20_0x5cfc,0x40c87));import{listRemoteApps}from'../../core/api-client.js';async function execute(_0x54bc09){const _0x456b6f=a20_0x40d0,{setActiveCookie:_0x5eb046}=await import(_0x456b6f(0x17d));_0x5eb046(_0x54bc09[_0x456b6f(0x179)]);const _0x561108=await listRemoteApps(),_0x3ebfb3=_0x561108[_0x456b6f(0x17e)](_0x77b974=>({..._0x77b974['id']!=null?{'id':_0x77b974['id']}:{},'appCode':_0x77b974['appCode'],'appName':_0x77b974[_0x456b6f(0x17b)],..._0x77b974[_0x456b6f(0x17a)]!=null?{'appDesc':_0x77b974['appDesc']}:{}}));return{'ok':!![],'data':_0x3ebfb3};}function a20_0x40d0(_0x26d66f,_0x1176ab){_0x26d66f=_0x26d66f-0x175;const _0x5cfce0=a20_0x5cfc();let _0x40d040=_0x5cfce0[_0x26d66f];return _0x40d040;}export const appRemoteDefinition={'service':'app','command':a20_0x564391(0x17c),'description':a20_0x564391(0x180),'risk':a20_0x564391(0x175),'requiresAuth':!![],'requiresAppCode':![],'flags':[],'execute':execute};
1
+ const a20_0x483a4a=a20_0x2a9b;(function(_0x5cd83b,_0x1d3a1c){const _0x3d42b5=a20_0x2a9b,_0x51a4cc=_0x5cd83b();while(!![]){try{const _0x15e4aa=parseInt(_0x3d42b5(0x108))/0x1+parseInt(_0x3d42b5(0x10f))/0x2*(parseInt(_0x3d42b5(0x102))/0x3)+parseInt(_0x3d42b5(0x111))/0x4+-parseInt(_0x3d42b5(0x110))/0x5*(parseInt(_0x3d42b5(0x106))/0x6)+-parseInt(_0x3d42b5(0x10d))/0x7*(-parseInt(_0x3d42b5(0x10e))/0x8)+parseInt(_0x3d42b5(0x103))/0x9+parseInt(_0x3d42b5(0x10a))/0xa*(-parseInt(_0x3d42b5(0x105))/0xb);if(_0x15e4aa===_0x1d3a1c)break;else _0x51a4cc['push'](_0x51a4cc['shift']());}catch(_0x22fdd6){_0x51a4cc['push'](_0x51a4cc['shift']());}}}(a20_0x185e,0xe5185));function a20_0x2a9b(_0x4a051c,_0x143c41){_0x4a051c=_0x4a051c-0x101;const _0x185e8d=a20_0x185e();let _0x2a9be3=_0x185e8d[_0x4a051c];return _0x2a9be3;}import{listRemoteApps}from'../../core/api-client.js';function a20_0x185e(){const _0x4a693a=['42CyVidJ','read','626323hFjVyH','List\x20apps\x20available\x20on\x20the\x20platform','3310ygUDpg','map','../../core/api-client.js','4340245pdthgj','8cexqZx','825876GzAyxy','273355AGTAUI','4706364qEAmmB','appDesc','6EzyrGH','3521079fflVYN','appCode','77066FdyxfO'];a20_0x185e=function(){return _0x4a693a;};return a20_0x185e();}async function execute(_0x20df05){const _0x38ad8b=a20_0x2a9b,{setActiveCookie:_0x2b336e}=await import(_0x38ad8b(0x10c));_0x2b336e(_0x20df05['cookie']);const _0x232977=await listRemoteApps(),_0x268487=_0x232977[_0x38ad8b(0x10b)](_0x5a4f5b=>({..._0x5a4f5b['id']!=null?{'id':_0x5a4f5b['id']}:{},'appCode':_0x5a4f5b[_0x38ad8b(0x104)],'appName':_0x5a4f5b['appName'],..._0x5a4f5b[_0x38ad8b(0x101)]!=null?{'appDesc':_0x5a4f5b['appDesc']}:{}}));return{'ok':!![],'data':_0x268487};}export const appRemoteDefinition={'service':'app','command':'remote','description':a20_0x483a4a(0x109),'risk':a20_0x483a4a(0x107),'requiresAuth':!![],'requiresAppCode':![],'flags':[],'execute':execute};
@@ -1 +1 @@
1
- const a21_0x11a8f3=a21_0x2b07;(function(_0xbe7050,_0x54466e){const _0x16877f=a21_0x2b07,_0x580fc0=_0xbe7050();while(!![]){try{const _0x24a3b8=-parseInt(_0x16877f(0x1a6))/0x1+parseInt(_0x16877f(0x1b4))/0x2+parseInt(_0x16877f(0x1b8))/0x3+parseInt(_0x16877f(0x1b5))/0x4*(parseInt(_0x16877f(0x1c1))/0x5)+parseInt(_0x16877f(0x1aa))/0x6+parseInt(_0x16877f(0x1bd))/0x7+-parseInt(_0x16877f(0x1c3))/0x8*(parseInt(_0x16877f(0x1a4))/0x9);if(_0x24a3b8===_0x54466e)break;else _0x580fc0['push'](_0x580fc0['shift']());}catch(_0x3bc0da){_0x580fc0['push'](_0x580fc0['shift']());}}}(a21_0x580d,0x2434d));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{readRawConfigWithLayers}from'../../context.js';function a21_0x2b07(_0x3b52d8,_0x11bcfa){_0x3b52d8=_0x3b52d8-0x1a3;const _0x580d2f=a21_0x580d();let _0x2b074b=_0x580d2f[_0x3b52d8];return _0x2b074b;}import{readConfig,writeConfig,scopeLabel,resolveAppScopeForWrite,appDefinedIn}from'../../commands/app/shared.js';async function validateArgs(_0x332b51){const _0x2ffbd7=a21_0x2b07,_0xf3c0fb=_0x332b51[_0x2ffbd7(0x1a9)][0x0]?.[_0x2ffbd7(0x1ac)]();if(!_0xf3c0fb)throw CliErrors[_0x2ffbd7(0x1c5)](_0x2ffbd7(0x1c0),_0x2ffbd7(0x1c8)+CLI_BIN_NAME+_0x2ffbd7(0x1ba));}function a21_0x580d(){const _0x4fe09b=['name','defaultApp','274057hPiTNH','App\x20profile\x20name\x20to\x20remove','projectConfig','Missing\x20app\x20name.','85QpZltJ','project','48zcjosS','\x20Default\x20app\x20changed\x20to\x20\x22','validation','remove','high-risk-write','Usage:\x20','object','globalConfig','853191WVdush','app','105176GvXKOv','keys','global','args','377868lkECij','bool','trim','inherit','Removed\x20app\x20\x22','App\x20\x22','\x22\x20not\x20found.','length','apps','\x20Note:\x20app\x20\x22','464214acJJZO','56216ucjvvz','boolean','Use\x20global\x20config\x20scope','747351OPsliI','\x22\x20still\x20defined\x20in\x20','\x20app\x20remove\x20<name>\x20[--global]'];a21_0x580d=function(){return _0x4fe09b;};return a21_0x580d();}async function execute(_0xef40f2){const _0x47cfbb=a21_0x2b07,_0x966f22=_0xef40f2[_0x47cfbb(0x1a9)][0x0]?.['trim']();if(!_0x966f22)throw CliErrors['validation'](_0x47cfbb(0x1c0),'Usage:\x20'+CLI_BIN_NAME+_0x47cfbb(0x1ba));const _0x45cdf1=_0xef40f2[_0x47cfbb(0x1ab)](_0x47cfbb(0x1a8)),{config:_0x107fec,layers:_0x36853b}=readRawConfigWithLayers(),_0x21f2b2=_0x107fec['apps']??{};if(!_0x21f2b2[_0x966f22])throw CliErrors[_0x47cfbb(0x1c5)]('App\x20\x22'+_0x966f22+_0x47cfbb(0x1b0));const _0x350598=_0x36853b[_0x47cfbb(0x1a3)][_0x47cfbb(0x1b2)]&&typeof _0x36853b[_0x47cfbb(0x1a3)][_0x47cfbb(0x1b2)]===_0x47cfbb(0x1c9)?_0x36853b[_0x47cfbb(0x1a3)][_0x47cfbb(0x1b2)]:{},_0x26936a=_0x36853b[_0x47cfbb(0x1bf)]['apps']&&typeof _0x36853b[_0x47cfbb(0x1bf)][_0x47cfbb(0x1b2)]===_0x47cfbb(0x1c9)?_0x36853b['projectConfig'][_0x47cfbb(0x1b2)]:{},_0x28e29d=appDefinedIn(_0x966f22,_0x350598,_0x26936a,_0x36853b[_0x47cfbb(0x1bf)][_0x47cfbb(0x1ad)]===![]),_0x381d0c=resolveAppScopeForWrite(_0x966f22,_0x45cdf1,_0x36853b),_0x2d23a9={'global':_0x381d0c===_0x47cfbb(0x1a8)},_0x27d36c=readConfig(_0x2d23a9),_0x516cc6=_0x27d36c[_0x47cfbb(0x1b2)];if(!_0x516cc6||!_0x516cc6[_0x966f22])throw CliErrors[_0x47cfbb(0x1c5)](_0x47cfbb(0x1af)+_0x966f22+'\x22\x20not\x20found.');delete _0x516cc6[_0x966f22];let _0x4b52d9='';if(_0x27d36c[_0x47cfbb(0x1bc)]===_0x966f22){const _0x213ee5=Object[_0x47cfbb(0x1a7)](_0x516cc6);_0x27d36c[_0x47cfbb(0x1bc)]=_0x213ee5[_0x47cfbb(0x1b1)]>0x0?_0x213ee5[0x0]:undefined,_0x27d36c[_0x47cfbb(0x1bc)]?_0x4b52d9=_0x47cfbb(0x1c4)+_0x27d36c[_0x47cfbb(0x1bc)]+'\x22.':delete _0x27d36c[_0x47cfbb(0x1bc)];}Object[_0x47cfbb(0x1a7)](_0x516cc6)[_0x47cfbb(0x1b1)]===0x0&&(delete _0x27d36c['apps'],delete _0x27d36c[_0x47cfbb(0x1bc)]);writeConfig(_0x27d36c,_0x2d23a9);const _0x4bf680=_0x28e29d==='both'?_0x47cfbb(0x1b3)+_0x966f22+_0x47cfbb(0x1b9)+(_0x381d0c==='project'?_0x47cfbb(0x1a8):_0x47cfbb(0x1c2))+'\x20config.':'';return{'ok':!![],'message':_0x47cfbb(0x1ae)+_0x966f22+'\x22'+scopeLabel(_0x2d23a9)+'.'+_0x4b52d9+_0x4bf680};}export const appRemoveDefinition={'service':a21_0x11a8f3(0x1a5),'command':a21_0x11a8f3(0x1c6),'description':'Remove\x20an\x20app\x20from\x20config','risk':a21_0x11a8f3(0x1c7),'requiresAuth':![],'requiresAppCode':![],'args':[{'name':a21_0x11a8f3(0x1bb),'description':a21_0x11a8f3(0x1be),'required':!![]}],'flags':[{'name':a21_0x11a8f3(0x1a8),'type':a21_0x11a8f3(0x1b6),'description':a21_0x11a8f3(0x1b7),'default':![]}],'validate':validateArgs,'execute':execute};
1
+ const a21_0x50d527=a21_0x14ed;(function(_0x29f45e,_0x4b820d){const _0x1a1576=a21_0x14ed,_0x2b33da=_0x29f45e();while(!![]){try{const _0x377162=-parseInt(_0x1a1576(0x163))/0x1*(parseInt(_0x1a1576(0x154))/0x2)+parseInt(_0x1a1576(0x14e))/0x3*(-parseInt(_0x1a1576(0x14d))/0x4)+-parseInt(_0x1a1576(0x152))/0x5*(parseInt(_0x1a1576(0x151))/0x6)+-parseInt(_0x1a1576(0x16c))/0x7+-parseInt(_0x1a1576(0x159))/0x8+parseInt(_0x1a1576(0x148))/0x9*(parseInt(_0x1a1576(0x14f))/0xa)+parseInt(_0x1a1576(0x158))/0xb*(parseInt(_0x1a1576(0x162))/0xc);if(_0x377162===_0x4b820d)break;else _0x2b33da['push'](_0x2b33da['shift']());}catch(_0x474849){_0x2b33da['push'](_0x2b33da['shift']());}}}(a21_0x466d,0x6488c));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{readRawConfigWithLayers}from'../../context.js';function a21_0x14ed(_0x56c04e,_0x70c93e){_0x56c04e=_0x56c04e-0x147;const _0x466d3f=a21_0x466d();let _0x14ed9b=_0x466d3f[_0x56c04e];return _0x14ed9b;}import{readConfig,writeConfig,scopeLabel,resolveAppScopeForWrite,appDefinedIn}from'../../commands/app/shared.js';async function validateArgs(_0x4d8a15){const _0x249d48=a21_0x14ed,_0x1f102a=_0x4d8a15[_0x249d48(0x168)][0x0]?.[_0x249d48(0x15d)]();if(!_0x1f102a)throw CliErrors['validation'](_0x249d48(0x157),_0x249d48(0x156)+CLI_BIN_NAME+'\x20app\x20remove\x20<name>\x20[--global]');}async function execute(_0x4d2d30){const _0x24e18e=a21_0x14ed,_0x31f1e9=_0x4d2d30[_0x24e18e(0x168)][0x0]?.[_0x24e18e(0x15d)]();if(!_0x31f1e9)throw CliErrors[_0x24e18e(0x16d)](_0x24e18e(0x157),'Usage:\x20'+CLI_BIN_NAME+_0x24e18e(0x16a));const _0x38ecf7=_0x4d2d30[_0x24e18e(0x153)](_0x24e18e(0x147)),{config:_0x4a1579,layers:_0x133ca5}=readRawConfigWithLayers(),_0x549e61=_0x4a1579[_0x24e18e(0x14c)]??{};if(!_0x549e61[_0x31f1e9])throw CliErrors[_0x24e18e(0x16d)](_0x24e18e(0x161)+_0x31f1e9+_0x24e18e(0x15c));const _0x255cdd=_0x133ca5[_0x24e18e(0x149)][_0x24e18e(0x14c)]&&typeof _0x133ca5[_0x24e18e(0x149)][_0x24e18e(0x14c)]===_0x24e18e(0x14a)?_0x133ca5['globalConfig'][_0x24e18e(0x14c)]:{},_0x384472=_0x133ca5['projectConfig'][_0x24e18e(0x14c)]&&typeof _0x133ca5[_0x24e18e(0x15f)][_0x24e18e(0x14c)]===_0x24e18e(0x14a)?_0x133ca5['projectConfig']['apps']:{},_0x4483db=appDefinedIn(_0x31f1e9,_0x255cdd,_0x384472,_0x133ca5[_0x24e18e(0x15f)][_0x24e18e(0x15b)]===![]),_0x39f679=resolveAppScopeForWrite(_0x31f1e9,_0x38ecf7,_0x133ca5),_0x5c3439={'global':_0x39f679==='global'},_0x288567=readConfig(_0x5c3439),_0x4ef6ae=_0x288567[_0x24e18e(0x14c)];if(!_0x4ef6ae||!_0x4ef6ae[_0x31f1e9])throw CliErrors[_0x24e18e(0x16d)](_0x24e18e(0x161)+_0x31f1e9+_0x24e18e(0x15c));delete _0x4ef6ae[_0x31f1e9];let _0x21e426='';if(_0x288567[_0x24e18e(0x15e)]===_0x31f1e9){const _0x3a6979=Object[_0x24e18e(0x164)](_0x4ef6ae);_0x288567[_0x24e18e(0x15e)]=_0x3a6979['length']>0x0?_0x3a6979[0x0]:undefined,_0x288567[_0x24e18e(0x15e)]?_0x21e426=_0x24e18e(0x16b)+_0x288567[_0x24e18e(0x15e)]+'\x22.':delete _0x288567['defaultApp'];}Object[_0x24e18e(0x164)](_0x4ef6ae)[_0x24e18e(0x14b)]===0x0&&(delete _0x288567[_0x24e18e(0x14c)],delete _0x288567[_0x24e18e(0x15e)]);writeConfig(_0x288567,_0x5c3439);const _0x502f90=_0x4483db==='both'?_0x24e18e(0x155)+_0x31f1e9+_0x24e18e(0x150)+(_0x39f679===_0x24e18e(0x166)?_0x24e18e(0x147):_0x24e18e(0x166))+'\x20config.':'';return{'ok':!![],'message':_0x24e18e(0x16e)+_0x31f1e9+'\x22'+scopeLabel(_0x5c3439)+'.'+_0x21e426+_0x502f90};}function a21_0x466d(){const _0x58abf1=['globalConfig','object','length','apps','4BQSnhh','897378YuwZMB','10RZMoEW','\x22\x20still\x20defined\x20in\x20','18SNGmlb','275395xXxTga','bool','609686TPlEhI','\x20Note:\x20app\x20\x22','Usage:\x20','Missing\x20app\x20name.','44wwoYns','6065432ZPRPZN','Use\x20global\x20config\x20scope','inherit','\x22\x20not\x20found.','trim','defaultApp','projectConfig','high-risk-write','App\x20\x22','7435272UsVuEO','1uaFdRe','keys','Remove\x20an\x20app\x20from\x20config','project','remove','args','boolean','\x20app\x20remove\x20<name>\x20[--global]','\x20Default\x20app\x20changed\x20to\x20\x22','3842244AiLqCi','validation','Removed\x20app\x20\x22','global','86769FFALww'];a21_0x466d=function(){return _0x58abf1;};return a21_0x466d();}export const appRemoveDefinition={'service':'app','command':a21_0x50d527(0x167),'description':a21_0x50d527(0x165),'risk':a21_0x50d527(0x160),'requiresAuth':![],'requiresAppCode':![],'args':[{'name':'name','description':'App\x20profile\x20name\x20to\x20remove','required':!![]}],'flags':[{'name':a21_0x50d527(0x147),'type':a21_0x50d527(0x169),'description':a21_0x50d527(0x15a),'default':![]}],'validate':validateArgs,'execute':execute};
@@ -1 +1 @@
1
- (function(_0x176b87,_0x59a0c9){const _0x21c17c=a22_0x268f,_0x1dcbe3=_0x176b87();while(!![]){try{const _0x3858b1=parseInt(_0x21c17c(0xbb))/0x1*(parseInt(_0x21c17c(0xb5))/0x2)+parseInt(_0x21c17c(0xd1))/0x3*(parseInt(_0x21c17c(0xc3))/0x4)+parseInt(_0x21c17c(0xd3))/0x5*(parseInt(_0x21c17c(0xc1))/0x6)+parseInt(_0x21c17c(0xb8))/0x7*(parseInt(_0x21c17c(0xcf))/0x8)+parseInt(_0x21c17c(0xc9))/0x9*(-parseInt(_0x21c17c(0xbd))/0xa)+-parseInt(_0x21c17c(0xc8))/0xb*(-parseInt(_0x21c17c(0xb9))/0xc)+-parseInt(_0x21c17c(0xbe))/0xd;if(_0x3858b1===_0x59a0c9)break;else _0x1dcbe3['push'](_0x1dcbe3['shift']());}catch(_0x6e1b7){_0x1dcbe3['push'](_0x1dcbe3['shift']());}}}(a22_0x2835,0x567ab));import{resolveWriteConfigPath,readConfigFile,writeConfigFile}from'../../context.js';export function resolveAppScopeForWrite(_0x1e1f25,_0x1f310c,_0x24fdc4){const _0x40c446=a22_0x268f;if(_0x1f310c)return _0x40c446(0xd4);const _0xbec410=_0x24fdc4['projectConfig']['apps']&&typeof _0x24fdc4[_0x40c446(0xc7)][_0x40c446(0xba)]===_0x40c446(0xd6)?_0x24fdc4['projectConfig'][_0x40c446(0xba)]:{},_0xa9a7e=_0x24fdc4[_0x40c446(0xcc)]['apps']&&typeof _0x24fdc4[_0x40c446(0xcc)][_0x40c446(0xba)]===_0x40c446(0xd6)?_0x24fdc4[_0x40c446(0xcc)][_0x40c446(0xba)]:{};if(Object['prototype']['hasOwnProperty'][_0x40c446(0xbf)](_0xbec410,_0x1e1f25))return _0x40c446(0xb2);if(Object[_0x40c446(0xcd)][_0x40c446(0xd0)][_0x40c446(0xbf)](_0xa9a7e,_0x1e1f25))return _0x40c446(0xd4);return _0x40c446(0xb2);}export function appDefinedIn(_0x156036,_0x319479,_0x3725f2,_0x4fab63){const _0x365dc8=a22_0x268f;if(_0x4fab63)return Object[_0x365dc8(0xcd)][_0x365dc8(0xd0)]['call'](_0x3725f2,_0x156036)?'project':'global';const _0x1bd305=Object[_0x365dc8(0xcd)][_0x365dc8(0xd0)][_0x365dc8(0xbf)](_0x319479,_0x156036),_0x5e5fa2=Object[_0x365dc8(0xcd)][_0x365dc8(0xd0)][_0x365dc8(0xbf)](_0x3725f2,_0x156036);if(_0x1bd305&&_0x5e5fa2)return'both';if(_0x5e5fa2)return'project';return _0x365dc8(0xd4);}function a22_0x2835(){const _0x3bce1f=['pageSize','34366XIfvRM','riskLevel','format','161hyMyDt','12HEVUqK','apps','2yraPaA','appcode','240rkLmlB','7572227qYzEYq','call','defaultApp','2639064QTbywY','app','10576ZyTnAv','length','inherit','env','projectConfig','1107271AjdWuK','189963RSboUt','accessKey','log','globalConfig','prototype','keys','245032HSjkBE','hasOwnProperty','186vQlWNg','Migrated\x20existing\x20app\x20\x22','5GzmsKk','global','cookie','object','project','locale'];a22_0x2835=function(){return _0x3bce1f;};return a22_0x2835();}function a22_0x268f(_0x5de346,_0x271d89){_0x5de346=_0x5de346-0xb2;const _0x283533=a22_0x2835();let _0x268f45=_0x283533[_0x5de346];return _0x268f45;}export function resolveDefaultAppSource(_0x343f6d){const _0x2fc924=a22_0x268f,_0x27f541=_0x343f6d[_0x2fc924(0xc7)][_0x2fc924(0xba)]&&typeof _0x343f6d[_0x2fc924(0xc7)]['apps']===_0x2fc924(0xd6)?_0x343f6d[_0x2fc924(0xc7)][_0x2fc924(0xba)]:{};if(_0x2fc924(0xc0)in _0x343f6d[_0x2fc924(0xc7)])return'project';if(Object[_0x2fc924(0xce)](_0x27f541)[_0x2fc924(0xc4)]>0x0)return _0x2fc924(0xb2);if(_0x343f6d[_0x2fc924(0xc7)][_0x2fc924(0xc5)]===![])return null;if(_0x343f6d[_0x2fc924(0xcc)][_0x2fc924(0xc0)])return'global';return null;}export function getConfigPath(_0x3a39a5={}){const _0x15caf4=a22_0x268f,_0x37f02a=_0x3a39a5[_0x15caf4(0xd4)]?_0x15caf4(0xd4):_0x15caf4(0xb2);return resolveWriteConfigPath(_0x37f02a);}export function readConfig(_0x42648c={}){return readConfigFile(getConfigPath(_0x42648c));}export function writeConfig(_0x305391,_0x3e11b0={}){writeConfigFile(getConfigPath(_0x3e11b0),_0x305391);}export function scopeLabel(_0x38624b){const _0x2ab448=a22_0x268f;return _0x38624b[_0x2ab448(0xd4)]?'\x20(global)':'';}export function migrateLegacySingleApp(_0x3fba4b,_0x47ea71){const _0x511473=a22_0x268f,_0x492df7=_0x3fba4b[_0x511473(0xbc)]||_0x3fba4b['app'];if(!_0x492df7)return;const _0x569f9f=String(_0x492df7);if(_0x569f9f===_0x47ea71)return;const _0x565af3=[_0x511473(0xc6),'apiDir',_0x511473(0xd5),_0x511473(0xca),_0x511473(0xb7),_0x511473(0xb4),_0x511473(0xb6),_0x511473(0xb3)],_0x3a2920={'appcode':_0x492df7};for(const _0x2b1ad5 of _0x565af3){if(_0x3fba4b[_0x2b1ad5]!=null)_0x3a2920[_0x2b1ad5]=_0x3fba4b[_0x2b1ad5];}_0x3fba4b[_0x511473(0xba)][_0x569f9f]=_0x3a2920,_0x3fba4b[_0x511473(0xc0)]=_0x569f9f,delete _0x3fba4b[_0x511473(0xbc)],delete _0x3fba4b[_0x511473(0xc2)],console[_0x511473(0xcb)](_0x511473(0xd2)+_0x569f9f+'\x22\x20to\x20multi-app\x20config\x20(set\x20as\x20default).');}
1
+ function a22_0x4008(_0x16ecb7,_0x2b2c59){_0x16ecb7=_0x16ecb7-0x6e;const _0x523b82=a22_0x523b();let _0x40082e=_0x523b82[_0x16ecb7];return _0x40082e;}(function(_0x504d47,_0x3abedf){const _0x3d3e13=a22_0x4008,_0x47f984=_0x504d47();while(!![]){try{const _0x10458b=parseInt(_0x3d3e13(0x6e))/0x1+parseInt(_0x3d3e13(0x7a))/0x2+parseInt(_0x3d3e13(0x7d))/0x3*(parseInt(_0x3d3e13(0x73))/0x4)+parseInt(_0x3d3e13(0x79))/0x5*(parseInt(_0x3d3e13(0x87))/0x6)+parseInt(_0x3d3e13(0x8d))/0x7+-parseInt(_0x3d3e13(0x7b))/0x8+-parseInt(_0x3d3e13(0x8e))/0x9*(parseInt(_0x3d3e13(0x75))/0xa);if(_0x10458b===_0x3abedf)break;else _0x47f984['push'](_0x47f984['shift']());}catch(_0x40915a){_0x47f984['push'](_0x47f984['shift']());}}}(a22_0x523b,0x1df7a));import{resolveWriteConfigPath,readConfigFile,writeConfigFile}from'../../context.js';export function resolveAppScopeForWrite(_0x11be79,_0x5e5eae,_0x40fea4){const _0x1015de=a22_0x4008;if(_0x5e5eae)return _0x1015de(0x89);const _0x4afa80=_0x40fea4[_0x1015de(0x71)]['apps']&&typeof _0x40fea4[_0x1015de(0x71)][_0x1015de(0x78)]===_0x1015de(0x81)?_0x40fea4[_0x1015de(0x71)][_0x1015de(0x78)]:{},_0x23fe73=_0x40fea4[_0x1015de(0x8a)][_0x1015de(0x78)]&&typeof _0x40fea4['globalConfig'][_0x1015de(0x78)]===_0x1015de(0x81)?_0x40fea4[_0x1015de(0x8a)][_0x1015de(0x78)]:{};if(Object[_0x1015de(0x72)][_0x1015de(0x7e)]['call'](_0x4afa80,_0x11be79))return _0x1015de(0x8c);if(Object[_0x1015de(0x72)][_0x1015de(0x7e)][_0x1015de(0x8b)](_0x23fe73,_0x11be79))return'global';return _0x1015de(0x8c);}export function appDefinedIn(_0x210a9c,_0x181e0d,_0x57f208,_0x2d9181){const _0x4b5c52=a22_0x4008;if(_0x2d9181)return Object[_0x4b5c52(0x72)]['hasOwnProperty'][_0x4b5c52(0x8b)](_0x57f208,_0x210a9c)?_0x4b5c52(0x8c):'global';const _0x53fcdc=Object['prototype'][_0x4b5c52(0x7e)][_0x4b5c52(0x8b)](_0x181e0d,_0x210a9c),_0x7e1306=Object[_0x4b5c52(0x72)]['hasOwnProperty']['call'](_0x57f208,_0x210a9c);if(_0x53fcdc&&_0x7e1306)return _0x4b5c52(0x88);if(_0x7e1306)return _0x4b5c52(0x8c);return _0x4b5c52(0x89);}export function resolveDefaultAppSource(_0x36120b){const _0x4e42a7=a22_0x4008,_0x1fb838=_0x36120b[_0x4e42a7(0x71)]['apps']&&typeof _0x36120b['projectConfig'][_0x4e42a7(0x78)]===_0x4e42a7(0x81)?_0x36120b[_0x4e42a7(0x71)][_0x4e42a7(0x78)]:{};if(_0x4e42a7(0x85)in _0x36120b[_0x4e42a7(0x71)])return _0x4e42a7(0x8c);if(Object[_0x4e42a7(0x70)](_0x1fb838)['length']>0x0)return'project';if(_0x36120b[_0x4e42a7(0x71)][_0x4e42a7(0x7c)]===![])return null;if(_0x36120b[_0x4e42a7(0x8a)]['defaultApp'])return'global';return null;}export function getConfigPath(_0x5619db={}){const _0x1831eb=a22_0x4008,_0x252ada=_0x5619db[_0x1831eb(0x89)]?_0x1831eb(0x89):_0x1831eb(0x8c);return resolveWriteConfigPath(_0x252ada);}function a22_0x523b(){const _0x4e70f9=['396296Hgynlk','pageSize','520MvytCe','apiDir','format','apps','60qcfOvG','172786HoWrgZ','606344Mewemu','inherit','6VgNpPX','hasOwnProperty','riskLevel','\x20(global)','object','cookie','locale','appcode','defaultApp','app','15414vvbfHz','both','global','globalConfig','call','project','714329rqKkdg','37890ktwZyC','43kycgnj','Migrated\x20existing\x20app\x20\x22','keys','projectConfig','prototype'];a22_0x523b=function(){return _0x4e70f9;};return a22_0x523b();}export function readConfig(_0x22f6d0={}){return readConfigFile(getConfigPath(_0x22f6d0));}export function writeConfig(_0x4a6819,_0x1e9ca3={}){writeConfigFile(getConfigPath(_0x1e9ca3),_0x4a6819);}export function scopeLabel(_0x386429){const _0x234a97=a22_0x4008;return _0x386429[_0x234a97(0x89)]?_0x234a97(0x80):'';}export function migrateLegacySingleApp(_0x4293d8,_0x2a8705){const _0x24bc96=a22_0x4008,_0x29bb26=_0x4293d8[_0x24bc96(0x84)]||_0x4293d8[_0x24bc96(0x86)];if(!_0x29bb26)return undefined;const _0x2228d5=String(_0x29bb26);if(_0x2228d5===_0x2a8705)return undefined;const _0x1fc96c=['env',_0x24bc96(0x76),_0x24bc96(0x82),'accessKey',_0x24bc96(0x77),_0x24bc96(0x74),_0x24bc96(0x7f),_0x24bc96(0x83)],_0x5d2dcd={'appcode':_0x29bb26};for(const _0x11ad54 of _0x1fc96c){if(_0x4293d8[_0x11ad54]!=null)_0x5d2dcd[_0x11ad54]=_0x4293d8[_0x11ad54];}return _0x4293d8['apps'][_0x2228d5]=_0x5d2dcd,_0x4293d8[_0x24bc96(0x85)]=_0x2228d5,delete _0x4293d8['appcode'],delete _0x4293d8['app'],_0x24bc96(0x6f)+_0x2228d5+'\x22\x20to\x20multi-app\x20config\x20(set\x20as\x20default).';}
@@ -1 +1 @@
1
- const a23_0xd0197b=a23_0x1429;(function(_0x49e120,_0x2250af){const _0xaaf98f=a23_0x1429,_0x59d998=_0x49e120();while(!![]){try{const _0x2baa81=parseInt(_0xaaf98f(0x18a))/0x1+-parseInt(_0xaaf98f(0x17a))/0x2+-parseInt(_0xaaf98f(0x18e))/0x3*(-parseInt(_0xaaf98f(0x190))/0x4)+parseInt(_0xaaf98f(0x198))/0x5*(-parseInt(_0xaaf98f(0x18c))/0x6)+-parseInt(_0xaaf98f(0x189))/0x7*(parseInt(_0xaaf98f(0x18d))/0x8)+parseInt(_0xaaf98f(0x177))/0x9*(-parseInt(_0xaaf98f(0x176))/0xa)+parseInt(_0xaaf98f(0x175))/0xb*(parseInt(_0xaaf98f(0x184))/0xc);if(_0x2baa81===_0x2250af)break;else _0x59d998['push'](_0x59d998['shift']());}catch(_0x56f380){_0x59d998['push'](_0x59d998['shift']());}}}(a23_0x1dc5,0x8a934));import{CliErrors}from'../../errors.js';function a23_0x1dc5(){const _0x28fbb6=['170bpCnMY','Use\x20`','2745358GHUdrY','440HIUyoG','69921QebKFT','defaultApp','App\x20profile\x20name\x20to\x20activate','269974yBEjef','Switch\x20the\x20default\x20app','trim','\x22\x20not\x20found.','Available:\x20','\x20--appcode\x20<code>`\x20first.','write','Missing\x20app\x20name.','Usage:\x20','\x20app\x20add\x20','96YssBHY','join','keys','use','name','14EqtMsy','514608Bojmfm','length','170952rSvHPn','4329680mcPLJU','27wjWNeb','boolean','259708nfJQnB','\x20app\x20use\x20<name>\x20[--global]','global','Default\x20app\x20set\x20to\x20\x22','app','args','validation','Use\x20global\x20config\x20scope'];a23_0x1dc5=function(){return _0x28fbb6;};return a23_0x1dc5();}import{CLI_BIN_NAME}from'../../constant/cli.js';import{readRawConfigWithLayers}from'../../context.js';function a23_0x1429(_0x369eda,_0x28e911){_0x369eda=_0x369eda-0x174;const _0x1dc50a=a23_0x1dc5();let _0x1429e9=_0x1dc50a[_0x369eda];return _0x1429e9;}import{readConfig,writeConfig,scopeLabel,resolveAppScopeForWrite}from'../../commands/app/shared.js';async function validateArgs(_0x3e5e0d){const _0x5eb1f8=a23_0x1429,_0x582b83=_0x3e5e0d[_0x5eb1f8(0x195)][0x0]?.[_0x5eb1f8(0x17c)]();if(!_0x582b83)throw CliErrors[_0x5eb1f8(0x196)](_0x5eb1f8(0x181),_0x5eb1f8(0x182)+CLI_BIN_NAME+_0x5eb1f8(0x191));}async function execute(_0x4974c9){const _0x14e830=a23_0x1429,_0x562c05=_0x4974c9[_0x14e830(0x195)][0x0]?.[_0x14e830(0x17c)]();if(!_0x562c05)throw CliErrors[_0x14e830(0x196)]('Missing\x20app\x20name.',_0x14e830(0x182)+CLI_BIN_NAME+_0x14e830(0x191));const _0x61569f=_0x4974c9['bool'](_0x14e830(0x192)),{config:_0x50272a,layers:_0xfa91cf}=readRawConfigWithLayers(),_0x53a7bd=_0x50272a['apps']??{};if(!_0x53a7bd[_0x562c05]){const _0xfe78b9=Object[_0x14e830(0x186)](_0x53a7bd),_0x3f8786=_0xfe78b9[_0x14e830(0x18b)]===0x0?_0x14e830(0x174)+CLI_BIN_NAME+_0x14e830(0x183)+_0x562c05+_0x14e830(0x17f):_0x14e830(0x17e)+_0xfe78b9[_0x14e830(0x185)](',\x20');throw CliErrors[_0x14e830(0x196)]('App\x20\x22'+_0x562c05+_0x14e830(0x17d),_0x3f8786);}const _0x562841=resolveAppScopeForWrite(_0x562c05,_0x61569f,_0xfa91cf),_0xdc16e1={'global':_0x562841==='global'},_0x5c37cd=readConfig(_0xdc16e1);return _0x5c37cd[_0x14e830(0x178)]=_0x562c05,writeConfig(_0x5c37cd,_0xdc16e1),{'ok':!![],'message':_0x14e830(0x193)+_0x562c05+'\x22\x20(appcode:\x20'+_0x53a7bd[_0x562c05]['appcode']+')'+scopeLabel(_0xdc16e1)};}export const appUseDefinition={'service':a23_0xd0197b(0x194),'command':a23_0xd0197b(0x187),'description':a23_0xd0197b(0x17b),'risk':a23_0xd0197b(0x180),'requiresAuth':![],'requiresAppCode':![],'args':[{'name':a23_0xd0197b(0x188),'description':a23_0xd0197b(0x179),'required':!![]}],'flags':[{'name':a23_0xd0197b(0x192),'type':a23_0xd0197b(0x18f),'description':a23_0xd0197b(0x197),'default':![]}],'validate':validateArgs,'execute':execute};
1
+ const a23_0x55addb=a23_0x490d;(function(_0x2b1cbc,_0x3cecda){const _0x55cec7=a23_0x490d,_0x49b31e=_0x2b1cbc();while(!![]){try{const _0x4ac77f=-parseInt(_0x55cec7(0x9d))/0x1*(parseInt(_0x55cec7(0x86))/0x2)+-parseInt(_0x55cec7(0x95))/0x3*(parseInt(_0x55cec7(0x99))/0x4)+parseInt(_0x55cec7(0x8e))/0x5*(parseInt(_0x55cec7(0x97))/0x6)+-parseInt(_0x55cec7(0x9e))/0x7*(parseInt(_0x55cec7(0x87))/0x8)+parseInt(_0x55cec7(0x93))/0x9*(-parseInt(_0x55cec7(0x8a))/0xa)+-parseInt(_0x55cec7(0x82))/0xb+parseInt(_0x55cec7(0x96))/0xc*(parseInt(_0x55cec7(0x92))/0xd);if(_0x4ac77f===_0x3cecda)break;else _0x49b31e['push'](_0x49b31e['shift']());}catch(_0x4bb36a){_0x49b31e['push'](_0x49b31e['shift']());}}}(a23_0x3e6e,0x7a2b7));import{CliErrors}from'../../errors.js';function a23_0x490d(_0x588da6,_0x53aae1){_0x588da6=_0x588da6-0x7d;const _0x3e6e1b=a23_0x3e6e();let _0x490db1=_0x3e6e1b[_0x588da6];return _0x490db1;}import{CLI_BIN_NAME}from'../../constant/cli.js';import{readRawConfigWithLayers}from'../../context.js';import{readConfig,writeConfig,scopeLabel,resolveAppScopeForWrite}from'../../commands/app/shared.js';async function validateArgs(_0x201854){const _0x464798=a23_0x490d,_0x1cb13f=_0x201854[_0x464798(0x81)][0x0]?.[_0x464798(0x8c)]();if(!_0x1cb13f)throw CliErrors[_0x464798(0x88)](_0x464798(0x7e),_0x464798(0xa1)+CLI_BIN_NAME+_0x464798(0x7d));}async function execute(_0x196120){const _0x5b940c=a23_0x490d,_0x24916c=_0x196120['args'][0x0]?.[_0x5b940c(0x8c)]();if(!_0x24916c)throw CliErrors[_0x5b940c(0x88)](_0x5b940c(0x7e),'Usage:\x20'+CLI_BIN_NAME+'\x20app\x20use\x20<name>\x20[--global]');const _0x58c446=_0x196120[_0x5b940c(0x8b)](_0x5b940c(0x94)),{config:_0x14cd12,layers:_0xb88cbb}=readRawConfigWithLayers(),_0x5a40fc=_0x14cd12[_0x5b940c(0x8f)]??{};if(!_0x5a40fc[_0x24916c]){const _0x33545e=Object['keys'](_0x5a40fc),_0x510c21=_0x33545e['length']===0x0?_0x5b940c(0x84)+CLI_BIN_NAME+_0x5b940c(0x9c)+_0x24916c+_0x5b940c(0x9f):_0x5b940c(0x8d)+_0x33545e[_0x5b940c(0x89)](',\x20');throw CliErrors[_0x5b940c(0x88)](_0x5b940c(0x7f)+_0x24916c+_0x5b940c(0x85),_0x510c21);}const _0x36a517=resolveAppScopeForWrite(_0x24916c,_0x58c446,_0xb88cbb),_0x5676c7={'global':_0x36a517==='global'},_0x4847b1=readConfig(_0x5676c7);return _0x4847b1['defaultApp']=_0x24916c,writeConfig(_0x4847b1,_0x5676c7),{'ok':!![],'message':_0x5b940c(0x91)+_0x24916c+'\x22\x20(appcode:\x20'+_0x5a40fc[_0x24916c]['appcode']+')'+scopeLabel(_0x5676c7)};}export const appUseDefinition={'service':a23_0x55addb(0x90),'command':'use','description':a23_0x55addb(0x9a),'risk':a23_0x55addb(0x9b),'requiresAuth':![],'requiresAppCode':![],'args':[{'name':a23_0x55addb(0x98),'description':a23_0x55addb(0xa0),'required':!![]}],'flags':[{'name':a23_0x55addb(0x94),'type':a23_0x55addb(0x83),'description':a23_0x55addb(0x80),'default':![]}],'validate':validateArgs,'execute':execute};function a23_0x3e6e(){const _0x2b59b0=['bool','trim','Available:\x20','5Ybfwhf','apps','app','Default\x20app\x20set\x20to\x20\x22','13JPpxLZ','81bgXkZq','global','2560707PJcWUP','35935452wtkWQS','2718396foioPt','name','4wcqAwF','Switch\x20the\x20default\x20app','write','\x20app\x20add\x20','34XcImzC','42jJdMft','\x20--appcode\x20<code>`\x20first.','App\x20profile\x20name\x20to\x20activate','Usage:\x20','\x20app\x20use\x20<name>\x20[--global]','Missing\x20app\x20name.','App\x20\x22','Use\x20global\x20config\x20scope','args','10674356vRsSZH','boolean','Use\x20`','\x22\x20not\x20found.','24962QOJHAY','664njkBPP','validation','join','776070dexIuw'];a23_0x3e6e=function(){return _0x2b59b0;};return a23_0x3e6e();}
@@ -1 +1 @@
1
- const a24_0x471036=a24_0x6ade;function a24_0x5de1(){const _0x4c83f1=['Login\x20via\x20browser','write','580683aSbeOz','5237120BBzjcW','login','828112DOUalx','1768095ghzcWo','auth','4739psxALd','read','4156ASFiuH','!\x20Not\x20logged\x20in','logout','log','✓\x20Logged\x20out','86dyuLNn','6hCUPeB','385ElYcBt','37429dXcFEU'];a24_0x5de1=function(){return _0x4c83f1;};return a24_0x5de1();}(function(_0x179dbd,_0x2f6a23){const _0x2c9335=a24_0x6ade,_0x4892a1=_0x179dbd();while(!![]){try{const _0x3731d5=-parseInt(_0x2c9335(0x193))/0x1*(parseInt(_0x2c9335(0x187))/0x2)+-parseInt(_0x2c9335(0x18d))/0x3+parseInt(_0x2c9335(0x195))/0x4*(-parseInt(_0x2c9335(0x189))/0x5)+-parseInt(_0x2c9335(0x188))/0x6*(-parseInt(_0x2c9335(0x18a))/0x7)+-parseInt(_0x2c9335(0x190))/0x8+parseInt(_0x2c9335(0x191))/0x9+parseInt(_0x2c9335(0x18e))/0xa;if(_0x3731d5===_0x2f6a23)break;else _0x4892a1['push'](_0x4892a1['shift']());}catch(_0x3f769c){_0x4892a1['push'](_0x4892a1['shift']());}}}(a24_0x5de1,0x23513));function a24_0x6ade(_0x171f44,_0x41c11f){_0x171f44=_0x171f44-0x183;const _0x5de13a=a24_0x5de1();let _0x6ade1e=_0x5de13a[_0x171f44];return _0x6ade1e;}import{unlinkSync,existsSync}from'node:fs';import{cookieFile}from'../../auth/constant.js';export const authDefinitions=[{'service':'auth','command':a24_0x471036(0x18f),'description':a24_0x471036(0x18b),'risk':a24_0x471036(0x194),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x37e6f0){const {runAuthServer:_0x555a74}=await import('../../auth/auth-server-ui.js');return await _0x555a74(),{'ok':!![]};}},{'service':a24_0x471036(0x192),'command':a24_0x471036(0x184),'description':'Clear\x20login\x20session','risk':a24_0x471036(0x18c),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x428af8){const _0x3a9dd5=a24_0x471036;return existsSync(cookieFile)?(unlinkSync(cookieFile),console['log'](_0x3a9dd5(0x186))):console[_0x3a9dd5(0x185)](_0x3a9dd5(0x183)),{'ok':!![]};}}];
1
+ const a24_0x23b708=a24_0x450d;(function(_0x33315b,_0x1f4a76){const _0x26a184=a24_0x450d,_0x3da849=_0x33315b();while(!![]){try{const _0x433e23=-parseInt(_0x26a184(0x179))/0x1*(parseInt(_0x26a184(0x169))/0x2)+-parseInt(_0x26a184(0x171))/0x3*(-parseInt(_0x26a184(0x175))/0x4)+parseInt(_0x26a184(0x173))/0x5+parseInt(_0x26a184(0x168))/0x6*(-parseInt(_0x26a184(0x16d))/0x7)+-parseInt(_0x26a184(0x16a))/0x8+parseInt(_0x26a184(0x16c))/0x9+-parseInt(_0x26a184(0x176))/0xa;if(_0x433e23===_0x1f4a76)break;else _0x3da849['push'](_0x3da849['shift']());}catch(_0x29bfb9){_0x3da849['push'](_0x3da849['shift']());}}}(a24_0x223f,0x5152f));import{unlinkSync,existsSync}from'node:fs';function a24_0x223f(){const _0x29ddf9=['9949OnNkrL','log','1453362VYkBWx','6tqCIWz','726912AFtkiu','read','5619213dErgYa','7VTIkym','auth','Login\x20via\x20browser','login','12tyJvHE','../../auth/auth-server-ui.js','1128750BDDXgq','!\x20Not\x20logged\x20in','474160MyNIaZ','6282260dRFdIT','Clear\x20login\x20session','✓\x20Logged\x20out'];a24_0x223f=function(){return _0x29ddf9;};return a24_0x223f();}function a24_0x450d(_0x2f1538,_0x1c915a){_0x2f1538=_0x2f1538-0x168;const _0x223f86=a24_0x223f();let _0x450dab=_0x223f86[_0x2f1538];return _0x450dab;}import{cookieFile}from'../../auth/constant.js';export const authDefinitions=[{'service':a24_0x23b708(0x16e),'command':a24_0x23b708(0x170),'description':a24_0x23b708(0x16f),'risk':a24_0x23b708(0x16b),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x37dde5){const _0x46ffa0=a24_0x23b708,{runAuthServer:_0x7f6671}=await import(_0x46ffa0(0x172));return await _0x7f6671(),{'ok':!![]};}},{'service':a24_0x23b708(0x16e),'command':'logout','description':a24_0x23b708(0x177),'risk':'write','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x3086a2){const _0x360e2f=a24_0x23b708;return existsSync(cookieFile)?(unlinkSync(cookieFile),console[_0x360e2f(0x17a)](_0x360e2f(0x178))):console[_0x360e2f(0x17a)](_0x360e2f(0x174)),{'ok':!![]};}}];
@@ -1 +1 @@
1
- function a25_0x4337(_0x177854,_0xb51de8){_0x177854=_0x177854-0xa2;const _0x13b1b0=a25_0x13b1();let _0x433798=_0x13b1b0[_0x177854];return _0x433798;}function a25_0x13b1(){const _0x2429c9=['83gJbnuQ','find','5892380QXCBtz','POST','scriptsRoot','BFF\x20lock\x20file\x20not\x20found.','remoteId','length','23258455dTMELx','join','toISOString','7097202FmrLqj','6LWiAwZ','delete','Multiple\x20functions\x20match\x20\x22','keys','BFF\x20lock\x20file\x20not\x20found.\x20Run\x20`push`\x20or\x20`pull`\x20first\x20to\x20initialize\x20sync\x20state.','projectRoot','includes','\x20(local\x20file\x20moved\x20to\x20trash)','appCode','map','scriptsRootDir','startsWith','high-risk-write','lockFilePath','bff','752421PtEQNy','20fucdUG','trashDir','trashedTo','str','3190McjWaL','10551933RUCeSf','Would\x20delete\x20','No\x20lock\x20entry\x20found\x20for\x20\x22','target','filter','validation','Function\x20not\x20found:\x20','10365744rstJFR','replace','functions','\x20\x20-\x20','20jHgKze'];a25_0x13b1=function(){return _0x2429c9;};return a25_0x13b1();}const a25_0x1bab50=a25_0x4337;(function(_0x5555bb,_0x34bbb4){const _0x20bbce=a25_0x4337,_0x5ad95b=_0x5555bb();while(!![]){try{const _0xc6eee7=parseInt(_0x20bbce(0xa3))/0x1*(parseInt(_0x20bbce(0xc3))/0x2)+parseInt(_0x20bbce(0xbe))/0x3*(parseInt(_0x20bbce(0xa2))/0x4)+-parseInt(_0x20bbce(0xa5))/0x5+parseInt(_0x20bbce(0xaf))/0x6*(-parseInt(_0x20bbce(0xae))/0x7)+-parseInt(_0x20bbce(0xcb))/0x8+-parseInt(_0x20bbce(0xc4))/0x9+-parseInt(_0x20bbce(0xbf))/0xa*(-parseInt(_0x20bbce(0xab))/0xb);if(_0xc6eee7===_0x34bbb4)break;else _0x5ad95b['push'](_0x5ad95b['shift']());}catch(_0x294392){_0x5ad95b['push'](_0x5ad95b['shift']());}}}(a25_0x13b1,0xe9159));import{mkdir,readdir,rename,rmdir}from'node:fs/promises';import{dirname,join,relative,resolve,sep}from'node:path';import{deleteBffScript}from'../../core/api-client.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{fileExists,resolveLocalFilePathFromLockKey}from'../../core/bff/file-system.js';import{ensureLockScope,readBffLockFile,writeBffLockFile}from'../../core/bff/lock.js';import{CliErrors}from'../../errors.js';export const bffDelete={'service':a25_0x1bab50(0xbd),'command':a25_0x1bab50(0xb0),'description':'Delete\x20a\x20BFF\x20script\x20from\x20remote\x20and\x20local','risk':a25_0x1bab50(0xbb),'flags':[{'name':a25_0x1bab50(0xc7),'type':'string','required':!![],'description':'Lock\x20key\x20(e.g.\x20ENDPOINT/createOrder)\x20or\x20short\x20function\x20name'}],async 'validate'(_0x2c4845){const _0x26819d=a25_0x1bab50,_0x3cae79=loadBffProjectConfig(_0x2c4845[_0x26819d(0xb7)]),_0x5316a3=await readBffLockFile(_0x3cae79[_0x26819d(0xbc)]);if(!_0x5316a3)throw CliErrors[_0x26819d(0xc9)](_0x26819d(0xb3));},async 'dryRun'(_0xb2d88e){const _0x30131f=a25_0x1bab50,_0x161430=loadBffProjectConfig(_0xb2d88e[_0x30131f(0xb7)]),_0x49b362=await readBffLockFile(_0x161430[_0x30131f(0xbc)]);if(!_0x49b362)throw CliErrors[_0x30131f(0xc9)](_0x30131f(0xa8));const {appLock:_0x212b49}=ensureLockScope(_0x49b362,_0xb2d88e[_0x30131f(0xb7)],_0x161430[_0x30131f(0xa7)],_0x30131f(0xb0)),_0x465681=_0xb2d88e[_0x30131f(0xc2)](_0x30131f(0xc7)),_0x230502=Object[_0x30131f(0xb2)](_0x212b49['functions']),_0x49bf57=resolveDeleteTarget(_0x465681,_0x230502),_0x14b5a0=_0x212b49[_0x30131f(0xcd)][_0x49bf57];if(!_0x14b5a0)throw CliErrors[_0x30131f(0xc9)](_0x30131f(0xc6)+_0x49bf57+'\x22.');const _0x4c21e5=resolveLocalFilePathFromLockKey(_0x161430,_0x49bf57),_0x863276=relative(_0x161430['projectRoot'],_0x4c21e5),_0x2e3062=join(_0x161430['trashDir'],'<timestamp>',_0x863276);return{'method':_0x30131f(0xa6),'url':'/api/management/library/scripts/delete','body':{'appCode':_0xb2d88e[_0x30131f(0xb7)],'target':_0x49bf57,'remoteId':_0x14b5a0[_0x30131f(0xa9)],'localFilePath':_0x4c21e5,'trashedPath':_0x2e3062},'description':_0x30131f(0xc5)+_0x49bf57+'\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20trash'};},async 'execute'(_0x4b1807){const _0x2319d4=a25_0x1bab50,_0x5a4095=loadBffProjectConfig(_0x4b1807[_0x2319d4(0xb7)]),_0x401a49=await readBffLockFile(_0x5a4095[_0x2319d4(0xbc)]);if(!_0x401a49)throw CliErrors[_0x2319d4(0xc9)](_0x2319d4(0xa8));const {lockData:_0xab4ca2,appLock:_0x4d8a18}=ensureLockScope(_0x401a49,_0x4b1807[_0x2319d4(0xb7)],_0x5a4095[_0x2319d4(0xa7)],_0x2319d4(0xb0)),_0x2a84f9=_0x4b1807[_0x2319d4(0xc2)]('target'),_0x471322=Object['keys'](_0x4d8a18[_0x2319d4(0xcd)]),_0x221571=resolveDeleteTarget(_0x2a84f9,_0x471322),_0x599bcb=_0x4d8a18[_0x2319d4(0xcd)][_0x221571];if(!_0x599bcb)throw CliErrors[_0x2319d4(0xc9)]('No\x20lock\x20entry\x20found\x20for\x20\x22'+_0x221571+'\x22.');await deleteBffScript(_0x599bcb[_0x2319d4(0xa9)]),delete _0x4d8a18['functions'][_0x221571],_0x4d8a18['lastSync']=new Date()[_0x2319d4(0xad)](),await writeBffLockFile(_0x5a4095[_0x2319d4(0xbc)],_0xab4ca2);const _0x560d40=resolveLocalFilePathFromLockKey(_0x5a4095,_0x221571);let _0xcb3278;await fileExists(_0x560d40)&&(_0xcb3278=await moveToTrash(_0x5a4095[_0x2319d4(0xb4)],_0x5a4095[_0x2319d4(0xc0)],_0x560d40),await cleanupEmptyDirectories(dirname(_0x560d40),_0x5a4095[_0x2319d4(0xb9)]));const _0x448d34={'deleted':_0x221571,'remoteId':_0x599bcb[_0x2319d4(0xa9)]};if(_0xcb3278)_0x448d34[_0x2319d4(0xc1)]=_0xcb3278;return{'ok':!![],'data':_0x448d34,'message':'Deleted\x20'+_0x221571+(_0xcb3278?_0x2319d4(0xb6):'')};}};function resolveDeleteTarget(_0x424932,_0xdebf7e){const _0x1b36f0=a25_0x1bab50;if(_0x424932[_0x1b36f0(0xb5)]('/')){const _0x21cffa=_0xdebf7e[_0x1b36f0(0xa4)](_0x3d8508=>_0x3d8508===_0x424932);if(!_0x21cffa)throw CliErrors[_0x1b36f0(0xc9)]('Function\x20not\x20found:\x20'+_0x424932);return _0x21cffa;}const _0x32d650=_0xdebf7e[_0x1b36f0(0xc8)](_0x2a4871=>_0x2a4871['split']('/')['at'](-0x1)===_0x424932);if(_0x32d650[_0x1b36f0(0xaa)]===0x0)throw CliErrors[_0x1b36f0(0xc9)](_0x1b36f0(0xca)+_0x424932);if(_0x32d650[_0x1b36f0(0xaa)]>0x1)throw CliErrors[_0x1b36f0(0xc9)](_0x1b36f0(0xb1)+_0x424932+'\x22.\x20Use\x20the\x20full\x20lock\x20key:\x0a'+_0x32d650[_0x1b36f0(0xb8)](_0x95be92=>_0x1b36f0(0xce)+_0x95be92)[_0x1b36f0(0xac)]('\x0a'));return _0x32d650[0x0];}async function moveToTrash(_0x59fc6e,_0x222d10,_0x51f93c){const _0xee305e=a25_0x1bab50,_0x4887a8=new Date()[_0xee305e(0xad)]()[_0xee305e(0xcc)](/[:.]/g,'-'),_0x357bef=relative(_0x59fc6e,_0x51f93c),_0x4a8bc8=join(_0x222d10,_0x4887a8,_0x357bef);return await mkdir(dirname(_0x4a8bc8),{'recursive':!![]}),await rename(_0x51f93c,_0x4a8bc8),_0x4a8bc8;}async function cleanupEmptyDirectories(_0x17c64f,_0x1b5a97){const _0x3944e7=a25_0x1bab50;let _0x484215=resolve(_0x17c64f);const _0x1610d9=resolve(_0x1b5a97);while(_0x484215[_0x3944e7(0xba)](''+_0x1610d9+sep)||_0x484215===_0x1610d9){if(_0x484215===_0x1610d9)return;try{const _0x33ad35=await readdir(_0x484215);if(_0x33ad35[_0x3944e7(0xaa)]>0x0)return;await rmdir(_0x484215);}catch{return;}_0x484215=dirname(_0x484215);}}
1
+ const a25_0x4a6f8a=a25_0x1768;(function(_0x4c3da1,_0x530f46){const _0xea113=a25_0x1768,_0x2b15b5=_0x4c3da1();while(!![]){try{const _0x265aa4=parseInt(_0xea113(0xaa))/0x1*(parseInt(_0xea113(0xbc))/0x2)+parseInt(_0xea113(0xaf))/0x3*(-parseInt(_0xea113(0x9b))/0x4)+parseInt(_0xea113(0x9e))/0x5*(-parseInt(_0xea113(0xad))/0x6)+-parseInt(_0xea113(0x9c))/0x7*(-parseInt(_0xea113(0xa1))/0x8)+parseInt(_0xea113(0x9f))/0x9*(-parseInt(_0xea113(0xa5))/0xa)+parseInt(_0xea113(0xa0))/0xb+parseInt(_0xea113(0xbb))/0xc*(-parseInt(_0xea113(0xca))/0xd);if(_0x265aa4===_0x530f46)break;else _0x2b15b5['push'](_0x2b15b5['shift']());}catch(_0x448aeb){_0x2b15b5['push'](_0x2b15b5['shift']());}}}(a25_0x5482,0xa94b4));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';function a25_0x5482(){const _0x124085=['functions','startsWith','BFF\x20lock\x20file\x20not\x20found.\x20Run\x20`push`\x20or\x20`pull`\x20first\x20to\x20initialize\x20sync\x20state.','includes','692884PBPCiS','518xijlmB','trashDir','2099795bYiEVX','4849587VgZIMR','14555332CLAroc','49152IjGZFq','map','Function\x20not\x20found:\x20','high-risk-write','20xHohyl','Delete\x20a\x20BFF\x20script\x20from\x20remote\x20and\x20local','\x20\x20-\x20','BFF\x20lock\x20file\x20not\x20found.','delete','1042jmFdRb','scriptsRoot','trashedTo','6zSmxlF','Multiple\x20functions\x20match\x20\x22','6upORdz','POST','Lock\x20key\x20(e.g.\x20ENDPOINT/createOrder)\x20or\x20short\x20function\x20name','keys','length','validation','join','split','replace','Would\x20delete\x20','str','projectRoot','12bNOsUX','1502xKyXwZ','lockFilePath','bff','appCode','scriptsRootDir','filter','\x20(local\x20file\x20moved\x20to\x20trash)','lastSync','\x22.\x20Use\x20the\x20full\x20lock\x20key:\x0a','No\x20lock\x20entry\x20found\x20for\x20\x22','remoteId','string','<timestamp>','find','297635HZsJeY','\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20trash'];a25_0x5482=function(){return _0x124085;};return a25_0x5482();}import{ensureLockScope,readBffLockFile,writeBffLockFile}from'../../core/bff/lock.js';import{CliErrors}from'../../errors.js';export const bffDelete={'service':a25_0x4a6f8a(0xbe),'command':a25_0x4a6f8a(0xa9),'description':a25_0x4a6f8a(0xa6),'risk':a25_0x4a6f8a(0xa4),'flags':[{'name':'target','type':a25_0x4a6f8a(0xc7),'required':!![],'description':a25_0x4a6f8a(0xb1)}],async 'validate'(_0x458e28){const _0x183ebc=a25_0x4a6f8a,_0x3549d7=loadBffProjectConfig(_0x458e28[_0x183ebc(0xbf)]),_0xaf7692=await readBffLockFile(_0x3549d7[_0x183ebc(0xbd)]);if(!_0xaf7692)throw CliErrors['validation'](_0x183ebc(0x99));},async 'dryRun'(_0x2e41eb){const _0xdc0e60=a25_0x4a6f8a,_0x22360f=loadBffProjectConfig(_0x2e41eb[_0xdc0e60(0xbf)]),_0x198097=await readBffLockFile(_0x22360f[_0xdc0e60(0xbd)]);if(!_0x198097)throw CliErrors[_0xdc0e60(0xb4)]('BFF\x20lock\x20file\x20not\x20found.');const {appLock:_0x327e83}=ensureLockScope(_0x198097,_0x2e41eb[_0xdc0e60(0xbf)],_0x22360f[_0xdc0e60(0xab)],_0xdc0e60(0xa9)),_0x2d0a72=_0x2e41eb[_0xdc0e60(0xb9)]('target'),_0x750217=Object[_0xdc0e60(0xb2)](_0x327e83[_0xdc0e60(0xcc)]),_0x1e9667=resolveDeleteTarget(_0x2d0a72,_0x750217),_0x5486ef=_0x327e83[_0xdc0e60(0xcc)][_0x1e9667];if(!_0x5486ef)throw CliErrors[_0xdc0e60(0xb4)](_0xdc0e60(0xc5)+_0x1e9667+'\x22.');const _0x2f9146=resolveLocalFilePathFromLockKey(_0x22360f,_0x1e9667),_0x19d10f=relative(_0x22360f[_0xdc0e60(0xba)],_0x2f9146),_0x33de59=join(_0x22360f[_0xdc0e60(0x9d)],_0xdc0e60(0xc8),_0x19d10f);return{'method':_0xdc0e60(0xb0),'url':'/api/management/library/scripts/delete','body':{'appCode':_0x2e41eb['appCode'],'target':_0x1e9667,'remoteId':_0x5486ef[_0xdc0e60(0xc6)],'localFilePath':_0x2f9146,'trashedPath':_0x33de59},'description':_0xdc0e60(0xb8)+_0x1e9667+_0xdc0e60(0xcb)};},async 'execute'(_0x3ddd31){const _0x20261f=a25_0x4a6f8a,_0x310d9d=loadBffProjectConfig(_0x3ddd31['appCode']),_0x2ac621=await readBffLockFile(_0x310d9d[_0x20261f(0xbd)]);if(!_0x2ac621)throw CliErrors[_0x20261f(0xb4)](_0x20261f(0xa8));const {lockData:_0x4b934d,appLock:_0x4f50d1}=ensureLockScope(_0x2ac621,_0x3ddd31[_0x20261f(0xbf)],_0x310d9d[_0x20261f(0xab)],'delete'),_0x641cfe=_0x3ddd31[_0x20261f(0xb9)]('target'),_0x4b4af5=Object['keys'](_0x4f50d1[_0x20261f(0xcc)]),_0x503036=resolveDeleteTarget(_0x641cfe,_0x4b4af5),_0x4b4068=_0x4f50d1[_0x20261f(0xcc)][_0x503036];if(!_0x4b4068)throw CliErrors['validation'](_0x20261f(0xc5)+_0x503036+'\x22.');await deleteBffScript(_0x4b4068['remoteId']),delete _0x4f50d1[_0x20261f(0xcc)][_0x503036],_0x4f50d1[_0x20261f(0xc3)]=new Date()['toISOString'](),await writeBffLockFile(_0x310d9d[_0x20261f(0xbd)],_0x4b934d);const _0x3e90ca=resolveLocalFilePathFromLockKey(_0x310d9d,_0x503036);let _0x1cffcf;await fileExists(_0x3e90ca)&&(_0x1cffcf=await moveToTrash(_0x310d9d[_0x20261f(0xba)],_0x310d9d[_0x20261f(0x9d)],_0x3e90ca),await cleanupEmptyDirectories(dirname(_0x3e90ca),_0x310d9d[_0x20261f(0xc0)]));const _0x1bb223={'deleted':_0x503036,'remoteId':_0x4b4068['remoteId']};if(_0x1cffcf)_0x1bb223[_0x20261f(0xac)]=_0x1cffcf;return{'ok':!![],'data':_0x1bb223,'message':'Deleted\x20'+_0x503036+(_0x1cffcf?_0x20261f(0xc2):'')};}};function resolveDeleteTarget(_0x5ec504,_0x4e69d7){const _0x5425d6=a25_0x4a6f8a;if(_0x5ec504[_0x5425d6(0x9a)]('/')){const _0x1a46f9=_0x4e69d7[_0x5425d6(0xc9)](_0x2ca423=>_0x2ca423===_0x5ec504);if(!_0x1a46f9)throw CliErrors['validation'](_0x5425d6(0xa3)+_0x5ec504);return _0x1a46f9;}const _0x48a93c=_0x4e69d7[_0x5425d6(0xc1)](_0x16232a=>_0x16232a[_0x5425d6(0xb6)]('/')['at'](-0x1)===_0x5ec504);if(_0x48a93c[_0x5425d6(0xb3)]===0x0)throw CliErrors[_0x5425d6(0xb4)]('Function\x20not\x20found:\x20'+_0x5ec504);if(_0x48a93c[_0x5425d6(0xb3)]>0x1)throw CliErrors[_0x5425d6(0xb4)](_0x5425d6(0xae)+_0x5ec504+_0x5425d6(0xc4)+_0x48a93c[_0x5425d6(0xa2)](_0x31a3bc=>_0x5425d6(0xa7)+_0x31a3bc)[_0x5425d6(0xb5)]('\x0a'));return _0x48a93c[0x0];}function a25_0x1768(_0x4c5d0b,_0x1282d0){_0x4c5d0b=_0x4c5d0b-0x99;const _0x5482f6=a25_0x5482();let _0x1768cc=_0x5482f6[_0x4c5d0b];return _0x1768cc;}async function moveToTrash(_0x440616,_0x2cc146,_0x5630a7){const _0x1f6058=a25_0x4a6f8a,_0x345f17=new Date()['toISOString']()[_0x1f6058(0xb7)](/[:.]/g,'-'),_0x4b13e5=relative(_0x440616,_0x5630a7),_0x91fe25=join(_0x2cc146,_0x345f17,_0x4b13e5);return await mkdir(dirname(_0x91fe25),{'recursive':!![]}),await rename(_0x5630a7,_0x91fe25),_0x91fe25;}async function cleanupEmptyDirectories(_0x3659eb,_0x5aa7e7){const _0x340dac=a25_0x4a6f8a;let _0x10ad05=resolve(_0x3659eb);const _0x239de1=resolve(_0x5aa7e7);while(_0x10ad05[_0x340dac(0xcd)](''+_0x239de1+sep)||_0x10ad05===_0x239de1){if(_0x10ad05===_0x239de1)return;try{const _0x2ba5a=await readdir(_0x10ad05);if(_0x2ba5a[_0x340dac(0xb3)]>0x0)return;await rmdir(_0x10ad05);}catch{return;}_0x10ad05=dirname(_0x10ad05);}}
@@ -1 +1 @@
1
- function a26_0x5a1e(_0xdcc971,_0x29aaa9){_0xdcc971=_0xdcc971-0xc9;const _0x25d662=a26_0x25d6();let _0x5a1e2e=_0x25d662[_0xdcc971];return _0x5a1e2e;}function a26_0x25d6(){const _0x3e6c10=['1145298dcCfkX','verbose','num','684sRIByZ','6380NRnPkK','(none)','detail','createdTime','192WvMKCF','read','6815WovyKk','10905XKxcdI','843748fAVQvw','appCode','Return\x20full\x20raw\x20script\x20object','7AKkGSD','8390jceXDA','1279860QSEmzw','104697KjxkRr'];a26_0x25d6=function(){return _0x3e6c10;};return a26_0x25d6();}const a26_0x526018=a26_0x5a1e;(function(_0x286f0c,_0x525919){const _0x1b3744=a26_0x5a1e,_0x544fc1=_0x286f0c();while(!![]){try{const _0x50b416=parseInt(_0x1b3744(0xd8))/0x1+parseInt(_0x1b3744(0xd9))/0x2+parseInt(_0x1b3744(0xcb))/0x3+parseInt(_0x1b3744(0xd0))/0x4*(-parseInt(_0x1b3744(0xd7))/0x5)+-parseInt(_0x1b3744(0xcd))/0x6*(parseInt(_0x1b3744(0xc9))/0x7)+parseInt(_0x1b3744(0xd5))/0x8*(parseInt(_0x1b3744(0xcc))/0x9)+parseInt(_0x1b3744(0xca))/0xa*(-parseInt(_0x1b3744(0xd1))/0xb);if(_0x50b416===_0x525919)break;else _0x544fc1['push'](_0x544fc1['shift']());}catch(_0x49bb3a){_0x544fc1['push'](_0x544fc1['shift']());}}}(a26_0x25d6,0x37aaf));import{getBffScriptInfo}from'../../core/api-client.js';export const bffDetail={'service':'bff','command':a26_0x526018(0xd3),'description':'Get\x20BFF\x20script\x20details\x20by\x20ID','risk':a26_0x526018(0xd6),'flags':[{'name':'id','type':'number','required':!![],'description':'Script\x20ID'},{'name':a26_0x526018(0xce),'type':'boolean','description':a26_0x526018(0xdb)}],async 'execute'(_0x93da44){const _0x2b571d=a26_0x526018,_0x1a50ea=await getBffScriptInfo(_0x93da44[_0x2b571d(0xcf)]('id')),_0x1972b8=_0x93da44['bool'](_0x2b571d(0xce));if(_0x1972b8)return{'ok':!![],'data':_0x1a50ea};return{'ok':!![],'data':{'id':_0x1a50ea['id'],'appCode':_0x1a50ea[_0x2b571d(0xda)],'scriptType':_0x1a50ea['scriptType'],'description':_0x1a50ea['description']||_0x2b571d(0xd2),'createdTime':_0x1a50ea[_0x2b571d(0xd4)]??'','updatedTime':_0x1a50ea['updatedTime']??'','scriptContent':_0x1a50ea['scriptContent']??''}};}};
1
+ const a26_0x46380c=a26_0x3ba4;(function(_0x15fb43,_0x2c2991){const _0x3e86c0=a26_0x3ba4,_0x5481d2=_0x15fb43();while(!![]){try{const _0x1fcaf6=parseInt(_0x3e86c0(0x87))/0x1*(parseInt(_0x3e86c0(0x7d))/0x2)+parseInt(_0x3e86c0(0x72))/0x3+parseInt(_0x3e86c0(0x81))/0x4*(-parseInt(_0x3e86c0(0x82))/0x5)+parseInt(_0x3e86c0(0x70))/0x6+parseInt(_0x3e86c0(0x7f))/0x7+-parseInt(_0x3e86c0(0x86))/0x8*(-parseInt(_0x3e86c0(0x73))/0x9)+-parseInt(_0x3e86c0(0x84))/0xa*(parseInt(_0x3e86c0(0x83))/0xb);if(_0x1fcaf6===_0x2c2991)break;else _0x5481d2['push'](_0x5481d2['shift']());}catch(_0x1ea4e5){_0x5481d2['push'](_0x5481d2['shift']());}}}(a26_0xadc9,0x28e70));function a26_0x3ba4(_0x373711,_0x573889){_0x373711=_0x373711-0x6d;const _0xadc94=a26_0xadc9();let _0x3ba4fd=_0xadc94[_0x373711];return _0x3ba4fd;}import{getBffScriptInfo}from'../../core/api-client.js';export const bffDetail={'service':a26_0x46380c(0x6d),'command':a26_0x46380c(0x80),'description':a26_0x46380c(0x7c),'risk':a26_0x46380c(0x75),'flags':[{'name':'id','type':a26_0x46380c(0x7e),'required':!![],'description':a26_0x46380c(0x74)},{'name':a26_0x46380c(0x85),'type':'boolean','description':a26_0x46380c(0x7a)}],async 'execute'(_0x1aa512){const _0x27a220=a26_0x46380c,_0x2e84f0=await getBffScriptInfo(_0x1aa512[_0x27a220(0x7b)]('id')),_0x10ce96=_0x1aa512[_0x27a220(0x71)](_0x27a220(0x85));if(_0x10ce96)return{'ok':!![],'data':_0x2e84f0};return{'ok':!![],'data':{'id':_0x2e84f0['id'],'appCode':_0x2e84f0[_0x27a220(0x76)],'scriptType':_0x2e84f0['scriptType'],'description':_0x2e84f0[_0x27a220(0x6e)]||_0x27a220(0x6f),'createdTime':_0x2e84f0[_0x27a220(0x79)]??'','updatedTime':_0x2e84f0[_0x27a220(0x78)]??'','scriptContent':_0x2e84f0[_0x27a220(0x77)]??''}};}};function a26_0xadc9(){const _0x5a08ab=['482475WiINkD','2827tbIXcq','21590ajYkYK','verbose','483208qIMdPH','105211NJPuKN','bff','description','(none)','1670892Tecnbc','bool','361611uKfmOS','18bzCHjb','Script\x20ID','read','appCode','scriptContent','updatedTime','createdTime','Return\x20full\x20raw\x20script\x20object','num','Get\x20BFF\x20script\x20details\x20by\x20ID','2zbhpUd','number','2032499pnaZjh','detail','8jatsgd'];a26_0xadc9=function(){return _0x5a08ab;};return a26_0xadc9();}
@@ -1 +1 @@
1
- (function(_0x5646d6,_0x51360e){const _0x146e14=a27_0x4bd5,_0x2abd24=_0x5646d6();while(!![]){try{const _0x15ff52=-parseInt(_0x146e14(0x1b7))/0x1*(parseInt(_0x146e14(0x1b6))/0x2)+-parseInt(_0x146e14(0x1ba))/0x3+-parseInt(_0x146e14(0x1b8))/0x4+-parseInt(_0x146e14(0x1b9))/0x5+parseInt(_0x146e14(0x1b4))/0x6*(parseInt(_0x146e14(0x1b5))/0x7)+parseInt(_0x146e14(0x1bb))/0x8*(parseInt(_0x146e14(0x1b1))/0x9)+-parseInt(_0x146e14(0x1b2))/0xa*(-parseInt(_0x146e14(0x1b3))/0xb);if(_0x15ff52===_0x51360e)break;else _0x2abd24['push'](_0x2abd24['shift']());}catch(_0x543a7c){_0x2abd24['push'](_0x2abd24['shift']());}}}(a27_0x14d7,0x23111));import{bffList}from'../../commands/bff/list.js';import{bffDetail}from'../../commands/bff/detail.js';function a27_0x4bd5(_0x2c351b,_0x36add5){_0x2c351b=_0x2c351b-0x1b1;const _0x14d737=a27_0x14d7();let _0x4bd5a1=_0x14d737[_0x2c351b];return _0x4bd5a1;}import{bffStatus}from'../../commands/bff/status.js';import{bffNew}from'../../commands/bff/new.js';function a27_0x14d7(){const _0x5f2200=['659349Buvfmc','248dQhiOO','46071CagYsr','30aTctBi','3251314zYSQwb','14898LKQMlp','28QpdNSG','25210mqydsC','20BLazPk','936764NUQART','1028180pGGdVX'];a27_0x14d7=function(){return _0x5f2200;};return a27_0x14d7();}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,bffNew,bffPush,bffPull,bffDelete];
1
+ (function(_0x126c8f,_0x3a2183){const _0x2a4e57=a27_0x5a6b,_0x2352ba=_0x126c8f();while(!![]){try{const _0x1da954=parseInt(_0x2a4e57(0x70))/0x1*(parseInt(_0x2a4e57(0x72))/0x2)+-parseInt(_0x2a4e57(0x77))/0x3+parseInt(_0x2a4e57(0x71))/0x4+-parseInt(_0x2a4e57(0x75))/0x5+parseInt(_0x2a4e57(0x73))/0x6+parseInt(_0x2a4e57(0x74))/0x7+-parseInt(_0x2a4e57(0x76))/0x8*(parseInt(_0x2a4e57(0x6f))/0x9);if(_0x1da954===_0x3a2183)break;else _0x2352ba['push'](_0x2352ba['shift']());}catch(_0x5a9e28){_0x2352ba['push'](_0x2352ba['shift']());}}}(a27_0x2824,0x91145));import{bffList}from'../../commands/bff/list.js';import{bffDetail}from'../../commands/bff/detail.js';import{bffStatus}from'../../commands/bff/status.js';import{bffNew}from'../../commands/bff/new.js';function a27_0x5a6b(_0x13491d,_0x14b5bf){_0x13491d=_0x13491d-0x6f;const _0x282443=a27_0x2824();let _0x5a6be2=_0x282443[_0x13491d];return _0x5a6be2;}import{bffPush}from'../../commands/bff/push.js';import{bffPull}from'../../commands/bff/pull.js';function a27_0x2824(){const _0x24072c=['1039710cIwyem','7107255GuNGRe','105489sAqWoy','108244tCvMsj','18atoGvS','6480174SUirud','3222191liDPXm','3931470mhshGP','8cjpwGE'];a27_0x2824=function(){return _0x24072c;};return a27_0x2824();}import{bffDelete}from'../../commands/bff/delete.js';export const bffDefinitions=[bffList,bffDetail,bffStatus,bffNew,bffPush,bffPull,bffDelete];
@@ -1 +1 @@
1
- const a28_0x532a90=a28_0x127a;(function(_0x23615d,_0x1789f9){const _0x211529=a28_0x127a,_0x37fbe4=_0x23615d();while(!![]){try{const _0x1db378=parseInt(_0x211529(0x17a))/0x1*(parseInt(_0x211529(0x17c))/0x2)+-parseInt(_0x211529(0x181))/0x3*(parseInt(_0x211529(0x180))/0x4)+parseInt(_0x211529(0x188))/0x5*(parseInt(_0x211529(0x187))/0x6)+-parseInt(_0x211529(0x18b))/0x7+-parseInt(_0x211529(0x186))/0x8+parseInt(_0x211529(0x184))/0x9+parseInt(_0x211529(0x189))/0xa;if(_0x1db378===_0x1789f9)break;else _0x37fbe4['push'](_0x37fbe4['shift']());}catch(_0xc70d97){_0x37fbe4['push'](_0x37fbe4['shift']());}}}(a28_0x4853,0xee23c));import{listBffScripts}from'../../core/api-client.js';function a28_0x127a(_0xea807b,_0x595ca3){_0xea807b=_0xea807b-0x177;const _0x485322=a28_0x4853();let _0x127af1=_0x485322[_0xea807b];return _0x127af1;}function a28_0x4853(){const _0x37b6f9=['name','read','4gYoXwW','219867rKVXpP','verbose','scriptType','5525919YuFQwi','Return\x20full\x20script\x20objects','14101328CDLNfw','318exNotl','182230txxNjv','7769580NFFMps','(unnamed)','10031448irtzAx','No\x20BFF\x20scripts\x20found.','ENDPOINT','type','length','List\x20BFF\x20scripts','boolean','str','5298SAhVlG','appCode','348fZJaFw','description'];a28_0x4853=function(){return _0x37b6f9;};return a28_0x4853();}export const bffList={'service':'bff','command':'list','description':a28_0x532a90(0x177),'risk':a28_0x532a90(0x17f),'flags':[{'name':'type','type':'string','description':'Script\x20type\x20filter','default':a28_0x532a90(0x18d),'enum':[a28_0x532a90(0x18d),'COMMON']},{'name':'name','type':'string','description':'Filter\x20by\x20script\x20name'},{'name':a28_0x532a90(0x182),'type':a28_0x532a90(0x178),'description':a28_0x532a90(0x185)}],async 'execute'(_0x175b71){const _0x2af040=a28_0x532a90,_0x38c41f=await listBffScripts(_0x175b71[_0x2af040(0x17b)],_0x175b71[_0x2af040(0x179)](_0x2af040(0x18e)),{'scriptName':_0x175b71[_0x2af040(0x179)](_0x2af040(0x17e))||undefined}),_0x25f2a9=_0x175b71['bool'](_0x2af040(0x182));return{'ok':!![],'data':_0x25f2a9?_0x38c41f:_0x38c41f['map'](_0x17fff8=>({'id':_0x17fff8['id'],'functionName':_0x17fff8['functionName']??'','description':_0x17fff8[_0x2af040(0x17d)]||_0x2af040(0x18a),'scriptType':_0x17fff8[_0x2af040(0x183)]})),'message':_0x38c41f[_0x2af040(0x18f)]===0x0?_0x2af040(0x18c):undefined};}};
1
+ const a28_0x44c280=a28_0x2a77;function a28_0x2a77(_0x28e5fc,_0x1cb354){_0x28e5fc=_0x28e5fc-0x144;const _0x2f6f5f=a28_0x2f6f();let _0x2a77af=_0x2f6f5f[_0x28e5fc];return _0x2a77af;}function a28_0x2f6f(){const _0xfa0ca5=['492EexGZw','read','702732lFpNet','32wgaBhE','bff','ENDPOINT','271101qQZGYi','functionName','76671TpGEgb','string','length','Filter\x20by\x20script\x20name','boolean','description','386557MVUEKj','str','3389080VIHrfI','scriptType','Script\x20type\x20filter','list','150rDsvpD','name','1710448mbPVxl','verbose','bool','319ODmuxv','map','4stWIVp','appCode','type','10171dqmNwx'];a28_0x2f6f=function(){return _0xfa0ca5;};return a28_0x2f6f();}(function(_0x53bf57,_0x34f27a){const _0x4c3b92=a28_0x2a77,_0x8df745=_0x53bf57();while(!![]){try{const _0x335f49=-parseInt(_0x4c3b92(0x156))/0x1*(-parseInt(_0x4c3b92(0x144))/0x2)+parseInt(_0x4c3b92(0x14e))/0x3*(parseInt(_0x4c3b92(0x14b))/0x4)+parseInt(_0x4c3b92(0x158))/0x5+-parseInt(_0x4c3b92(0x148))/0x6*(-parseInt(_0x4c3b92(0x147))/0x7)+-parseInt(_0x4c3b92(0x15e))/0x8+-parseInt(_0x4c3b92(0x150))/0x9*(-parseInt(_0x4c3b92(0x15c))/0xa)+parseInt(_0x4c3b92(0x161))/0xb*(-parseInt(_0x4c3b92(0x14a))/0xc);if(_0x335f49===_0x34f27a)break;else _0x8df745['push'](_0x8df745['shift']());}catch(_0x1bb743){_0x8df745['push'](_0x8df745['shift']());}}}(a28_0x2f6f,0x7c332));import{listBffScripts}from'../../core/api-client.js';export const bffList={'service':a28_0x44c280(0x14c),'command':a28_0x44c280(0x15b),'description':'List\x20BFF\x20scripts','risk':a28_0x44c280(0x149),'flags':[{'name':a28_0x44c280(0x146),'type':a28_0x44c280(0x151),'description':a28_0x44c280(0x15a),'default':a28_0x44c280(0x14d),'enum':[a28_0x44c280(0x14d),'COMMON']},{'name':a28_0x44c280(0x15d),'type':a28_0x44c280(0x151),'description':a28_0x44c280(0x153)},{'name':a28_0x44c280(0x15f),'type':a28_0x44c280(0x154),'description':'Return\x20full\x20script\x20objects'}],async 'execute'(_0x3332a6){const _0x1f70fe=a28_0x44c280,_0x3c4636=await listBffScripts(_0x3332a6[_0x1f70fe(0x145)],_0x3332a6[_0x1f70fe(0x157)](_0x1f70fe(0x146)),{'scriptName':_0x3332a6[_0x1f70fe(0x157)](_0x1f70fe(0x15d))||undefined}),_0x284713=_0x3332a6[_0x1f70fe(0x160)](_0x1f70fe(0x15f));return{'ok':!![],'data':_0x284713?_0x3c4636:_0x3c4636[_0x1f70fe(0x162)](_0x5356b4=>({'id':_0x5356b4['id'],'functionName':_0x5356b4[_0x1f70fe(0x14f)]??'','description':_0x5356b4[_0x1f70fe(0x155)]||'(unnamed)','scriptType':_0x5356b4[_0x1f70fe(0x159)]})),'message':_0x3c4636[_0x1f70fe(0x152)]===0x0?'No\x20BFF\x20scripts\x20found.':undefined};}};
@@ -1 +1 @@
1
- const a29_0x296fa4=a29_0x5148;(function(_0x25e7f3,_0x20bb70){const _0x122ea4=a29_0x5148,_0x225faf=_0x25e7f3();while(!![]){try{const _0x10ad25=-parseInt(_0x122ea4(0x10d))/0x1*(-parseInt(_0x122ea4(0xc3))/0x2)+-parseInt(_0x122ea4(0xbe))/0x3+-parseInt(_0x122ea4(0xbc))/0x4+-parseInt(_0x122ea4(0x10f))/0x5*(parseInt(_0x122ea4(0xbf))/0x6)+parseInt(_0x122ea4(0xee))/0x7+-parseInt(_0x122ea4(0x10b))/0x8*(parseInt(_0x122ea4(0xf7))/0x9)+parseInt(_0x122ea4(0x108))/0xa;if(_0x10ad25===_0x20bb70)break;else _0x225faf['push'](_0x225faf['shift']());}catch(_0x2b806b){_0x225faf['push'](_0x225faf['shift']());}}}(a29_0x1e53,0x777e2));import{createInterface}from'node:readline';import{mkdir,writeFile}from'node:fs/promises';import{dirname,join}from'node:path';import{listDatasets,listBffDatasetOperations}from'../../core/api-client.js';import{loadAliasMap,resolveAlias}from'../../core/alias-resolver.js';import{resolveApiFilePath}from'../../context.js';function a29_0x1e53(){const _0x17532a=['type','6479410MbCNZq','--function-node\x20must\x20be\x20\x27before\x27\x20or\x20\x27after\x27.','length','appCode','Available\x20aliases:\x20','\x20function:\x20','code','function-node','string','2645109AaJkFB','\x20api\x20pull`\x20to\x20refresh.','join','Select\x20dataset:','datasetcode','Dataset\x20not\x20found\x20for\x20code\x20\x22','utf8','The\x20api.ts\x20may\x20be\x20stale\x20—\x20run\x20`','/**\x0a\x20*\x20HOOK\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','alias','\x22.\x20','\x22\x20not\x20found.\x20','description','\x0a\x20*\x20[接口路径]\x20POST\x20/api/','No\x20datasets\x20found\x20for\x20this\x20app.','isInteger','\x0a\x20*\x20[脚本名称]\x20','10677300VzSqHd','\x20\x20Enter\x20a\x20number\x20between\x201\x20and\x20','functionNode','8BBJjrx','Operation\x20type\x20\x22','113434lQkGQX','apiDir','3739370KkxxHP','File\x20already\x20exists:\x20','Scaffold\x20a\x20new\x20BFF\x20function\x20from\x20template','includes','validation','2429844mqFlQa','--function-node\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','584952ofeqIZ','6TxyHMm','parseInt','operation-type','operationType','6jUPLuq','HOOK','ENDPOINT','Operation\x20type\x20(HOOK\x20only)','name','stderr','HOOK\x20requires\x20hookOptions\x20for\x20template\x20generation.','(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a','trim','Available:\x20','\x22\x20not\x20found\x20for\x20dataset\x20','Select\x20operation\x20type:','nonInteractive','COMMON','\x20api\x20pull`\x20first,\x20or\x20use\x20--datasetcode\x20instead.','HOOK\x20requires\x20alias/operation/node\x20options.','before','map','bff','/**\x0a\x20*\x20COMMON\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','after','\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','\x22.\x20Must\x20be\x20a\x20valid\x20JS\x20identifier\x20(e.g.\x20createOrder,\x20beforeFilter).','\x0a\x20*\x20[脚本类型]\x20COMMON\x0a\x20*\x20[本地路径]\x20.rabetbase/bff/COMMON/','datasetCode','.js','keys','str','write','\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','question','scriptsRootDir','\x0a\x20*\x20[触发节点]\x20','/**\x0a\x20*\x20ENDPOINT\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','Dataset\x20alias\x20from\x20api.ts\x20(HOOK\x20only,\x20preferred)','--operation-type\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','No\x20api.ts\x20found.\x20Run\x20`','--alias\x20or\x20--datasetcode\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','TODO:\x20add\x20script\x20description','Script\x20description','find','Select\x20trigger\x20node:'];a29_0x1e53=function(){return _0x17532a;};return a29_0x1e53();}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 bffNew={'service':a29_0x296fa4(0xd5),'command':'new','description':a29_0x296fa4(0x111),'risk':'write','flags':[{'name':'type','type':'string','required':!![],'enum':[a29_0x296fa4(0xd0),a29_0x296fa4(0xc5),a29_0x296fa4(0xc4)],'description':'Script\x20type'},{'name':a29_0x296fa4(0xc7),'type':a29_0x296fa4(0xf6),'required':!![],'description':'Function\x20name\x20(valid\x20JS\x20identifier)'},{'name':a29_0x296fa4(0x103),'type':a29_0x296fa4(0xf6),'description':a29_0x296fa4(0xea)},{'name':a29_0x296fa4(0x100),'type':'string','description':a29_0x296fa4(0xe5)},{'name':a29_0x296fa4(0xfb),'type':a29_0x296fa4(0xf6),'description':'Dataset\x20code\x20(HOOK\x20only,\x20fallback\x20when\x20alias\x20unavailable)'},{'name':'operation-type','type':'string','description':a29_0x296fa4(0xc6)},{'name':a29_0x296fa4(0xf5),'type':a29_0x296fa4(0xf6),'description':'Trigger\x20node\x20(HOOK\x20only)','enum':[a29_0x296fa4(0xd3),a29_0x296fa4(0xd7)]}],async 'validate'(_0x161f39){const _0x5a4921=a29_0x296fa4,_0x4e986d=_0x161f39[_0x5a4921(0xde)](_0x5a4921(0xc7));if(!isValidBffFunctionName(_0x4e986d))throw CliErrors[_0x5a4921(0x113)]('Invalid\x20function\x20name\x20\x22'+_0x4e986d+_0x5a4921(0xd9));},async 'execute'(_0x2d25b1){const _0x11c070=a29_0x296fa4,_0x5e346a=loadBffProjectConfig(_0x2d25b1[_0x11c070(0xf1)]),_0xe873b4=_0x2d25b1[_0x11c070(0xde)](_0x11c070(0xed)),_0x4d5ac7=_0x2d25b1[_0x11c070(0xde)](_0x11c070(0xc7)),_0x75edd5=_0x2d25b1[_0x11c070(0xde)](_0x11c070(0x103))||undefined,_0x3ee16f=_0xe873b4===_0x11c070(0xc4)?await resolveHookOptions(_0x5e346a,_0x2d25b1):undefined,_0xf307dd=buildFilePath(_0x5e346a,_0xe873b4,_0x4d5ac7,_0x3ee16f);if(await fileExists(_0xf307dd))throw CliErrors[_0x11c070(0x113)](_0x11c070(0x110)+_0xf307dd);await mkdir(dirname(_0xf307dd),{'recursive':!![]});const _0x51f130=generateTemplate(_0xe873b4,_0x4d5ac7,_0x2d25b1[_0x11c070(0xf1)],_0x75edd5,_0x3ee16f);await writeFile(_0xf307dd,_0x51f130,_0x11c070(0xfd));const _0x7781f0={'type':_0xe873b4,'name':_0x4d5ac7,'path':_0xf307dd};if(_0x75edd5)_0x7781f0[_0x11c070(0x103)]=_0x75edd5;if(_0x3ee16f){if(_0x3ee16f['alias'])_0x7781f0[_0x11c070(0x100)]=_0x3ee16f[_0x11c070(0x100)];_0x7781f0['datasetCode']=_0x3ee16f[_0x11c070(0xdb)],_0x7781f0[_0x11c070(0xc2)]=_0x3ee16f[_0x11c070(0xc2)],_0x7781f0[_0x11c070(0x10a)]=_0x3ee16f[_0x11c070(0x10a)];}return{'ok':!![],'data':_0x7781f0,'message':'Created\x20'+_0xe873b4+_0x11c070(0xf3)+_0x4d5ac7};}};async function resolveHookOptions(_0x542dd8,_0x5c3acc){const _0x42f31a=a29_0x296fa4,_0xb3ef11=loadAliasMap(_0x5c3acc['apiDir'],undefined,resolveApiFilePath(_0x5c3acc[_0x42f31a(0x10e)],_0x5c3acc[_0x42f31a(0xf1)])),_0x4269d6=_0xb3ef11[_0x42f31a(0xf0)]>0x0;let _0x45a4e1,_0x3018af,_0x58fb21;const _0x54cd7d=_0x5c3acc[_0x42f31a(0xde)](_0x42f31a(0x100)),_0x1beeba=_0x5c3acc[_0x42f31a(0xde)](_0x42f31a(0xfb));if(_0x54cd7d){const _0x42719b=resolveAlias(_0x5c3acc[_0x42f31a(0x10e)],_0x54cd7d,undefined,resolveApiFilePath(_0x5c3acc[_0x42f31a(0x10e)],_0x5c3acc[_0x42f31a(0xf1)]));if(!_0x42719b){const _0x4e58ee=_0x4269d6?_0x42f31a(0xf2)+_0xb3ef11['map'](_0x514e05=>_0x514e05[_0x42f31a(0x100)])['join'](',\x20'):_0x42f31a(0xe7)+CLI_BIN_NAME+_0x42f31a(0xd1);throw CliErrors[_0x42f31a(0x113)]('Alias\x20\x22'+_0x54cd7d+_0x42f31a(0x102)+_0x4e58ee);}_0x45a4e1=_0x54cd7d,_0x3018af=_0x42719b;}else{if(_0x1beeba){_0x3018af=_0x1beeba;const _0x2cee08=_0xb3ef11[_0x42f31a(0xeb)](_0xf8d1f3=>_0xf8d1f3[_0x42f31a(0xdb)]===_0x1beeba);_0x45a4e1=_0x2cee08?.['alias'];}else{if(_0x5c3acc[_0x42f31a(0xcf)])throw CliErrors['validation'](_0x42f31a(0xe8));else{if(_0x4269d6){const _0x14da2f=_0xb3ef11['map'](_0x298b55=>_0x298b55[_0x42f31a(0x100)]+'\x20('+_0x298b55['tableName']+')'),_0x25196e=await promptSelect(_0x42f31a(0xfa),_0x14da2f),_0x11ac84=_0xb3ef11[_0x25196e];if(!_0x11ac84)throw CliErrors[_0x42f31a(0x113)]('Invalid\x20dataset\x20selection.');_0x45a4e1=_0x11ac84[_0x42f31a(0x100)],_0x3018af=_0x11ac84['datasetCode'];}else{const _0x584788=await listDatasets(_0x5c3acc[_0x42f31a(0xf1)]);if(_0x584788['length']===0x0)throw CliErrors[_0x42f31a(0x113)](_0x42f31a(0x105));const _0x5014c2=_0x584788[_0x42f31a(0xd4)](_0x443c9a=>_0x443c9a[_0x42f31a(0xc7)]+'\x20('+_0x443c9a['code']+')'),_0x474936=await promptSelect('Select\x20dataset:',_0x5014c2),_0x6d1711=_0x584788[_0x474936];if(!_0x6d1711)throw CliErrors[_0x42f31a(0x113)]('Invalid\x20dataset\x20selection.');_0x3018af=_0x6d1711[_0x42f31a(0xf4)],_0x45a4e1=undefined;}}}}const _0x1deb0d=await listDatasets(_0x5c3acc['appCode']),_0x3bc969=_0x1deb0d[_0x42f31a(0xeb)](_0x13b499=>_0x13b499[_0x42f31a(0xf4)]===_0x3018af);if(!_0x3bc969)throw CliErrors[_0x42f31a(0x113)](_0x42f31a(0xfc)+_0x3018af+_0x42f31a(0x101)+(_0x45a4e1?_0x42f31a(0xfe)+CLI_BIN_NAME+_0x42f31a(0xf8):''));_0x58fb21=_0x3bc969['id'];const _0x3b2e61=_0x45a4e1??_0x3018af,_0x4cb242=await listBffDatasetOperations(_0x5c3acc[_0x42f31a(0xf1)],_0x58fb21),_0x3ce697=_0x4cb242?Object[_0x42f31a(0xdd)](_0x4cb242):[];if(_0x3ce697[_0x42f31a(0xf0)]===0x0)throw CliErrors[_0x42f31a(0x113)]('No\x20operation\x20types\x20found\x20for\x20dataset\x20'+_0x3b2e61+'.');let _0x5b88d9;const _0x5221ba=_0x5c3acc['str'](_0x42f31a(0xc1));if(_0x5221ba){if(!_0x3ce697[_0x42f31a(0x112)](_0x5221ba))throw CliErrors[_0x42f31a(0x113)](_0x42f31a(0x10c)+_0x5221ba+_0x42f31a(0xcd)+_0x3b2e61+'.\x20'+(_0x42f31a(0xcc)+_0x3ce697[_0x42f31a(0xf9)](',\x20')));_0x5b88d9=_0x5221ba;}else{if(_0x5c3acc['nonInteractive'])throw CliErrors[_0x42f31a(0x113)](_0x42f31a(0xe6));const _0x2dce16=await promptSelect(_0x42f31a(0xce),_0x3ce697);_0x5b88d9=_0x3ce697[_0x2dce16]??_0x3ce697[0x0];}let _0x44ff9d=normalizeHookFunctionNode(_0x5c3acc[_0x42f31a(0xde)](_0x42f31a(0xf5)));if(!_0x44ff9d){if(_0x5c3acc[_0x42f31a(0xde)](_0x42f31a(0xf5)))throw CliErrors['validation'](_0x42f31a(0xef));if(_0x5c3acc[_0x42f31a(0xcf)])throw CliErrors['validation'](_0x42f31a(0xbd));const _0x1aec1c=await promptSelect(_0x42f31a(0xec),[_0x42f31a(0xd3),_0x42f31a(0xd7)]);_0x44ff9d=[_0x42f31a(0xd3),_0x42f31a(0xd7)][_0x1aec1c]??_0x42f31a(0xd3);}return{'alias':_0x45a4e1,'datasetCode':_0x3018af,'datasetId':_0x58fb21,'operationType':_0x5b88d9,'functionNode':_0x44ff9d};}async function promptSelect(_0x2e14ed,_0x494262){const _0x58ca8d=a29_0x296fa4;if(_0x494262[_0x58ca8d(0xf0)]===0x1)return 0x0;for(const [_0x2d3028,_0x3aff42]of _0x494262['entries']()){process[_0x58ca8d(0xc8)]['write']('\x20\x20'+(_0x2d3028+0x1)+'.\x20'+_0x3aff42+'\x0a');}const _0x5316a4=createInterface({'input':process['stdin'],'output':process[_0x58ca8d(0xc8)]});while(!![]){const _0x31ecd6=await new Promise(_0x354301=>{const _0x3f69cd=_0x58ca8d;_0x5316a4[_0x3f69cd(0xe1)](_0x2e14ed+'\x20',_0x354301);}),_0x1ae790=Number[_0x58ca8d(0xc0)](_0x31ecd6[_0x58ca8d(0xcb)](),0xa);if(Number[_0x58ca8d(0x106)](_0x1ae790)&&_0x1ae790>=0x1&&_0x1ae790<=_0x494262[_0x58ca8d(0xf0)])return _0x5316a4['close'](),_0x1ae790-0x1;process['stderr'][_0x58ca8d(0xdf)](_0x58ca8d(0x109)+_0x494262[_0x58ca8d(0xf0)]+'.\x0a');}}function buildFilePath(_0x293ac4,_0x3c5dc3,_0x54b66a,_0x21b596){const _0x12c20d=a29_0x296fa4;if(_0x3c5dc3==='HOOK'){if(!_0x21b596)throw CliErrors[_0x12c20d(0x113)](_0x12c20d(0xd2));const _0x3ee708=_0x21b596[_0x12c20d(0x100)]??_0x21b596['datasetCode'];return join(_0x293ac4[_0x12c20d(0xe2)],'HOOK',_0x3ee708,_0x21b596['operationType'],_0x21b596['functionNode'],_0x54b66a+_0x12c20d(0xdc));}return join(_0x293ac4[_0x12c20d(0xe2)],_0x3c5dc3,_0x54b66a+_0x12c20d(0xdc));}function a29_0x5148(_0xf2ea50,_0x35ba8d){_0xf2ea50=_0xf2ea50-0xbc;const _0x1e53d3=a29_0x1e53();let _0x5148ed=_0x1e53d3[_0xf2ea50];return _0x5148ed;}export function generateTemplate(_0x2c1329,_0x14d145,_0x1ec564,_0x4acefa,_0x4bb816){const _0x45f90e=a29_0x296fa4,_0x2a9f93=_0x4acefa?.[_0x45f90e(0xcb)]()||_0x45f90e(0xe9);if(_0x2c1329===_0x45f90e(0xd0))return _0x45f90e(0xd6)+_0x2a9f93+_0x45f90e(0x107)+_0x14d145+_0x45f90e(0xda)+_0x14d145+'.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'+_0x14d145+'(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a';if(_0x2c1329===_0x45f90e(0xc5))return _0x45f90e(0xe4)+_0x2a9f93+_0x45f90e(0x104)+_0x1ec564+'/endpoint/'+_0x14d145+_0x45f90e(0xe0)+_0x14d145+'(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a';if(!_0x4bb816)throw CliErrors['validation'](_0x45f90e(0xc9));return _0x45f90e(0xff)+_0x2a9f93+_0x45f90e(0x104)+_0x1ec564+'/'+_0x4bb816[_0x45f90e(0xdb)]+'/'+_0x4bb816[_0x45f90e(0xc2)]+_0x45f90e(0xe3)+_0x4bb816[_0x45f90e(0x10a)]+_0x45f90e(0xd8)+_0x14d145+_0x45f90e(0xca);}
1
+ const a29_0x543ed9=a29_0x5c2e;(function(_0x146702,_0x1542ac){const _0x33f6b0=a29_0x5c2e,_0x2becae=_0x146702();while(!![]){try{const _0x1d7183=-parseInt(_0x33f6b0(0x164))/0x1*(parseInt(_0x33f6b0(0x178))/0x2)+parseInt(_0x33f6b0(0x158))/0x3+-parseInt(_0x33f6b0(0x140))/0x4+-parseInt(_0x33f6b0(0x12b))/0x5*(parseInt(_0x33f6b0(0x176))/0x6)+parseInt(_0x33f6b0(0x159))/0x7+parseInt(_0x33f6b0(0x16d))/0x8+parseInt(_0x33f6b0(0x146))/0x9*(-parseInt(_0x33f6b0(0x148))/0xa);if(_0x1d7183===_0x1542ac)break;else _0x2becae['push'](_0x2becae['shift']());}catch(_0x42af68){_0x2becae['push'](_0x2becae['shift']());}}}(a29_0x4767,0xa32cd));import{createInterface}from'node:readline';import{mkdir,writeFile}from'node:fs/promises';function a29_0x5c2e(_0x2db600,_0x1fe889){_0x2db600=_0x2db600-0x12b;const _0x476734=a29_0x4767();let _0x5c2ea6=_0x476734[_0x2db600];return _0x5c2ea6;}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';function a29_0x4767(){const _0xfba880=['includes','Created\x20','.js\x0a\x20*\x0a\x20*\x20@param\x20{Object}\x20params\x20-\x20Input\x20parameters.\x0a\x20*\x20@param\x20{Object}\x20context\x20-\x20Execution\x20context\x20(injected\x20by\x20platform).\x0a\x20*\x20@returns\x20{Promise<Object>}\x20Processing\x20result.\x0a\x20*/\x0aexport\x20default\x20async\x20function\x20','Select\x20trigger\x20node:','Select\x20operation\x20type:','10046312DpPQKg','\x20api\x20pull`\x20first,\x20or\x20use\x20--datasetcode\x20instead.','functionNode','join','code','validation','--function-node\x20must\x20be\x20\x27before\x27\x20or\x20\x27after\x27.','description','HOOK\x20requires\x20alias/operation/node\x20options.','5084952yHxEDQ','parseInt','6MiunGT','Invalid\x20function\x20name\x20\x22','map','stderr','trim','TODO:\x20add\x20script\x20description','Available:\x20','apiDir','No\x20datasets\x20found\x20for\x20this\x20app.','ENDPOINT','Select\x20dataset:','function-node','Invalid\x20dataset\x20selection.','string','\x0a\x20*\x20[脚本类型]\x20COMMON\x0a\x20*\x20[本地路径]\x20.rabetbase/bff/COMMON/','/**\x0a\x20*\x20ENDPOINT\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a','5yYJadM','\x0a\x20*\x20[接口路径]\x20POST\x20/api/','nonInteractive','--alias\x20or\x20--datasetcode\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','\x22.\x20','bff','/**\x0a\x20*\x20HOOK\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','datasetcode','operationType','operation-type','name','\x22.\x20Must\x20be\x20a\x20valid\x20JS\x20identifier\x20(e.g.\x20createOrder,\x20beforeFilter).','File\x20already\x20exists:\x20','\x0a\x20*\x0a\x20*\x20@param\x20{Object}\x20params\x20-\x20Request\x20parameters.\x0a\x20*\x20@param\x20{Object}\x20context\x20-\x20Execution\x20context\x20(injected\x20by\x20platform).\x0a\x20*\x20@returns\x20{Promise<Object>}\x20Business\x20result\x20(wrapped\x20in\x20response.data).\x0a\x20*/\x0aexport\x20default\x20async\x20function\x20','stdin','isInteger','.js','\x0a\x20*\x20[脚本名称]\x20','HOOK','\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','Script\x20type','4826924WuEHsz','\x22\x20not\x20found\x20for\x20dataset\x20','Dataset\x20code\x20(HOOK\x20only,\x20fallback\x20when\x20alias\x20unavailable)','after','question','\x20function:\x20','2529kRhTOA','No\x20operation\x20types\x20found\x20for\x20dataset\x20','13940ScYusU','str','length','Operation\x20type\x20(HOOK\x20only)','alias','\x20\x20Enter\x20a\x20number\x20between\x201\x20and\x20','Available\x20aliases:\x20','Trigger\x20node\x20(HOOK\x20only)','Script\x20description','Scaffold\x20a\x20new\x20BFF\x20function\x20from\x20template','entries','scriptsRootDir','Alias\x20\x22','/**\x0a\x20*\x20COMMON\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','datasetCode','close','3763281AUGIYi','6596541shURVQ','type','Operation\x20type\x20\x22','HOOK\x20requires\x20hookOptions\x20for\x20template\x20generation.','--function-node\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','keys','\x20api\x20pull`\x20to\x20refresh.','write','COMMON','appCode','Dataset\x20not\x20found\x20for\x20code\x20\x22','112759EZYWHz','before','/endpoint/','\x0a\x20*\x20[触发节点]\x20'];a29_0x4767=function(){return _0xfba880;};return a29_0x4767();}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 bffNew={'service':a29_0x543ed9(0x130),'command':'new','description':a29_0x543ed9(0x151),'risk':a29_0x543ed9(0x160),'flags':[{'name':a29_0x543ed9(0x15a),'type':a29_0x543ed9(0x185),'required':!![],'enum':[a29_0x543ed9(0x161),a29_0x543ed9(0x181),a29_0x543ed9(0x13d)],'description':a29_0x543ed9(0x13f)},{'name':a29_0x543ed9(0x135),'type':a29_0x543ed9(0x185),'required':!![],'description':'Function\x20name\x20(valid\x20JS\x20identifier)'},{'name':a29_0x543ed9(0x174),'type':a29_0x543ed9(0x185),'description':a29_0x543ed9(0x150)},{'name':a29_0x543ed9(0x14c),'type':a29_0x543ed9(0x185),'description':'Dataset\x20alias\x20from\x20api.ts\x20(HOOK\x20only,\x20preferred)'},{'name':a29_0x543ed9(0x132),'type':'string','description':a29_0x543ed9(0x142)},{'name':a29_0x543ed9(0x134),'type':a29_0x543ed9(0x185),'description':a29_0x543ed9(0x14b)},{'name':a29_0x543ed9(0x183),'type':a29_0x543ed9(0x185),'description':a29_0x543ed9(0x14f),'enum':['before',a29_0x543ed9(0x143)]}],async 'validate'(_0x297996){const _0x3bfe9f=a29_0x543ed9,_0xa2b3b8=_0x297996['str'](_0x3bfe9f(0x135));if(!isValidBffFunctionName(_0xa2b3b8))throw CliErrors[_0x3bfe9f(0x172)](_0x3bfe9f(0x179)+_0xa2b3b8+_0x3bfe9f(0x136));},async 'execute'(_0x344441){const _0x17bc51=a29_0x543ed9,_0x42f9ad=loadBffProjectConfig(_0x344441['appCode']),_0x2712ff=_0x344441['str'](_0x17bc51(0x15a)),_0x19d455=_0x344441[_0x17bc51(0x149)](_0x17bc51(0x135)),_0x3488cb=_0x344441[_0x17bc51(0x149)](_0x17bc51(0x174))||undefined,_0xc6d5c9=_0x2712ff===_0x17bc51(0x13d)?await resolveHookOptions(_0x42f9ad,_0x344441):undefined,_0x40e234=buildFilePath(_0x42f9ad,_0x2712ff,_0x19d455,_0xc6d5c9);if(await fileExists(_0x40e234))throw CliErrors[_0x17bc51(0x172)](_0x17bc51(0x137)+_0x40e234);await mkdir(dirname(_0x40e234),{'recursive':!![]});const _0x4ed9ce=generateTemplate(_0x2712ff,_0x19d455,_0x344441['appCode'],_0x3488cb,_0xc6d5c9);await writeFile(_0x40e234,_0x4ed9ce,'utf8');const _0x3d0a42={'type':_0x2712ff,'name':_0x19d455,'path':_0x40e234};if(_0x3488cb)_0x3d0a42['description']=_0x3488cb;if(_0xc6d5c9){if(_0xc6d5c9[_0x17bc51(0x14c)])_0x3d0a42[_0x17bc51(0x14c)]=_0xc6d5c9['alias'];_0x3d0a42[_0x17bc51(0x156)]=_0xc6d5c9[_0x17bc51(0x156)],_0x3d0a42[_0x17bc51(0x133)]=_0xc6d5c9[_0x17bc51(0x133)],_0x3d0a42['functionNode']=_0xc6d5c9['functionNode'];}return{'ok':!![],'data':_0x3d0a42,'message':_0x17bc51(0x169)+_0x2712ff+_0x17bc51(0x145)+_0x19d455};}};async function resolveHookOptions(_0x5c8d50,_0x1cd3e6){const _0x2c8be9=a29_0x543ed9,_0x2e43ee=loadAliasMap(_0x1cd3e6['apiDir'],undefined,resolveApiFilePath(_0x1cd3e6[_0x2c8be9(0x17f)],_0x1cd3e6['appCode'])),_0x2a526d=_0x2e43ee['length']>0x0;let _0x50aec4,_0xf4a575,_0x6c9a3a;const _0x30ac30=_0x1cd3e6['str'](_0x2c8be9(0x14c)),_0x1ed392=_0x1cd3e6[_0x2c8be9(0x149)]('datasetcode');if(_0x30ac30){const _0x1fff0c=resolveAlias(_0x1cd3e6[_0x2c8be9(0x17f)],_0x30ac30,undefined,resolveApiFilePath(_0x1cd3e6[_0x2c8be9(0x17f)],_0x1cd3e6[_0x2c8be9(0x162)]));if(!_0x1fff0c){const _0x5b0216=_0x2a526d?_0x2c8be9(0x14e)+_0x2e43ee[_0x2c8be9(0x17a)](_0x2593f7=>_0x2593f7[_0x2c8be9(0x14c)])[_0x2c8be9(0x170)](',\x20'):'No\x20api.ts\x20found.\x20Run\x20`'+CLI_BIN_NAME+_0x2c8be9(0x16e);throw CliErrors[_0x2c8be9(0x172)](_0x2c8be9(0x154)+_0x30ac30+'\x22\x20not\x20found.\x20'+_0x5b0216);}_0x50aec4=_0x30ac30,_0xf4a575=_0x1fff0c;}else{if(_0x1ed392){_0xf4a575=_0x1ed392;const _0xcdd7cb=_0x2e43ee['find'](_0x27f469=>_0x27f469['datasetCode']===_0x1ed392);_0x50aec4=_0xcdd7cb?.['alias'];}else{if(_0x1cd3e6[_0x2c8be9(0x12d)])throw CliErrors['validation'](_0x2c8be9(0x12e));else{if(_0x2a526d){const _0x55cc31=_0x2e43ee[_0x2c8be9(0x17a)](_0x3a2511=>_0x3a2511[_0x2c8be9(0x14c)]+'\x20('+_0x3a2511['tableName']+')'),_0x461e17=await promptSelect(_0x2c8be9(0x182),_0x55cc31),_0x15466e=_0x2e43ee[_0x461e17];if(!_0x15466e)throw CliErrors[_0x2c8be9(0x172)](_0x2c8be9(0x184));_0x50aec4=_0x15466e['alias'],_0xf4a575=_0x15466e['datasetCode'];}else{const _0x14078f=await listDatasets(_0x1cd3e6['appCode']);if(_0x14078f[_0x2c8be9(0x14a)]===0x0)throw CliErrors[_0x2c8be9(0x172)](_0x2c8be9(0x180));const _0x592b3f=_0x14078f[_0x2c8be9(0x17a)](_0x448405=>_0x448405['name']+'\x20('+_0x448405[_0x2c8be9(0x171)]+')'),_0x20823a=await promptSelect('Select\x20dataset:',_0x592b3f),_0x5c0015=_0x14078f[_0x20823a];if(!_0x5c0015)throw CliErrors['validation']('Invalid\x20dataset\x20selection.');_0xf4a575=_0x5c0015[_0x2c8be9(0x171)],_0x50aec4=undefined;}}}}const _0x22a434=await listDatasets(_0x1cd3e6[_0x2c8be9(0x162)]),_0x514463=_0x22a434['find'](_0x518f52=>_0x518f52[_0x2c8be9(0x171)]===_0xf4a575);if(!_0x514463)throw CliErrors[_0x2c8be9(0x172)](_0x2c8be9(0x163)+_0xf4a575+_0x2c8be9(0x12f)+(_0x50aec4?'The\x20api.ts\x20may\x20be\x20stale\x20—\x20run\x20`'+CLI_BIN_NAME+_0x2c8be9(0x15f):''));_0x6c9a3a=_0x514463['id'];const _0x2efe71=_0x50aec4??_0xf4a575,_0x48f3e9=await listBffDatasetOperations(_0x1cd3e6[_0x2c8be9(0x162)],_0x6c9a3a),_0x2b9193=_0x48f3e9?Object[_0x2c8be9(0x15e)](_0x48f3e9):[];if(_0x2b9193['length']===0x0)throw CliErrors['validation'](_0x2c8be9(0x147)+_0x2efe71+'.');let _0x5a1262;const _0x39a2e7=_0x1cd3e6[_0x2c8be9(0x149)]('operation-type');if(_0x39a2e7){if(!_0x2b9193[_0x2c8be9(0x168)](_0x39a2e7))throw CliErrors['validation'](_0x2c8be9(0x15b)+_0x39a2e7+_0x2c8be9(0x141)+_0x2efe71+'.\x20'+(_0x2c8be9(0x17e)+_0x2b9193[_0x2c8be9(0x170)](',\x20')));_0x5a1262=_0x39a2e7;}else{if(_0x1cd3e6['nonInteractive'])throw CliErrors['validation']('--operation-type\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.');const _0x20e692=await promptSelect(_0x2c8be9(0x16c),_0x2b9193);_0x5a1262=_0x2b9193[_0x20e692]??_0x2b9193[0x0];}let _0x673e9d=normalizeHookFunctionNode(_0x1cd3e6[_0x2c8be9(0x149)](_0x2c8be9(0x183)));if(!_0x673e9d){if(_0x1cd3e6[_0x2c8be9(0x149)](_0x2c8be9(0x183)))throw CliErrors[_0x2c8be9(0x172)](_0x2c8be9(0x173));if(_0x1cd3e6[_0x2c8be9(0x12d)])throw CliErrors[_0x2c8be9(0x172)](_0x2c8be9(0x15d));const _0x2bd189=await promptSelect(_0x2c8be9(0x16b),[_0x2c8be9(0x165),'after']);_0x673e9d=[_0x2c8be9(0x165),_0x2c8be9(0x143)][_0x2bd189]??_0x2c8be9(0x165);}return{'alias':_0x50aec4,'datasetCode':_0xf4a575,'datasetId':_0x6c9a3a,'operationType':_0x5a1262,'functionNode':_0x673e9d};}async function promptSelect(_0x4d9d03,_0x1acf8c){const _0x1942e8=a29_0x543ed9;if(_0x1acf8c[_0x1942e8(0x14a)]===0x1)return 0x0;for(const [_0x5ec2f2,_0x3f51ee]of _0x1acf8c[_0x1942e8(0x152)]()){process[_0x1942e8(0x17b)][_0x1942e8(0x160)]('\x20\x20'+(_0x5ec2f2+0x1)+'.\x20'+_0x3f51ee+'\x0a');}const _0x407728=createInterface({'input':process[_0x1942e8(0x139)],'output':process['stderr']});while(!![]){const _0x5b5482=await new Promise(_0x1f49ae=>{const _0x1c72a5=_0x1942e8;_0x407728[_0x1c72a5(0x144)](_0x4d9d03+'\x20',_0x1f49ae);}),_0x3748d6=Number[_0x1942e8(0x177)](_0x5b5482[_0x1942e8(0x17c)](),0xa);if(Number[_0x1942e8(0x13a)](_0x3748d6)&&_0x3748d6>=0x1&&_0x3748d6<=_0x1acf8c[_0x1942e8(0x14a)])return _0x407728[_0x1942e8(0x157)](),_0x3748d6-0x1;process['stderr'][_0x1942e8(0x160)](_0x1942e8(0x14d)+_0x1acf8c[_0x1942e8(0x14a)]+'.\x0a');}}function buildFilePath(_0x267ae7,_0xc34f1e,_0x52f494,_0x1f5df3){const _0x10fba0=a29_0x543ed9;if(_0xc34f1e==='HOOK'){if(!_0x1f5df3)throw CliErrors[_0x10fba0(0x172)](_0x10fba0(0x175));const _0x4eed3c=_0x1f5df3[_0x10fba0(0x14c)]??_0x1f5df3[_0x10fba0(0x156)];return join(_0x267ae7[_0x10fba0(0x153)],'HOOK',_0x4eed3c,_0x1f5df3[_0x10fba0(0x133)],_0x1f5df3[_0x10fba0(0x16f)],_0x52f494+_0x10fba0(0x13b));}return join(_0x267ae7['scriptsRootDir'],_0xc34f1e,_0x52f494+_0x10fba0(0x13b));}export function generateTemplate(_0x44c211,_0x30c607,_0x364413,_0x50975b,_0x59ca42){const _0x586cc5=a29_0x543ed9,_0x20806b=_0x50975b?.['trim']()||_0x586cc5(0x17d);if(_0x44c211==='COMMON')return _0x586cc5(0x155)+_0x20806b+_0x586cc5(0x13c)+_0x30c607+_0x586cc5(0x186)+_0x30c607+_0x586cc5(0x16a)+_0x30c607+'(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a';if(_0x44c211===_0x586cc5(0x181))return _0x586cc5(0x187)+_0x20806b+_0x586cc5(0x12c)+_0x364413+_0x586cc5(0x166)+_0x30c607+_0x586cc5(0x138)+_0x30c607+_0x586cc5(0x188);if(!_0x59ca42)throw CliErrors['validation'](_0x586cc5(0x15c));return _0x586cc5(0x131)+_0x20806b+_0x586cc5(0x12c)+_0x364413+'/'+_0x59ca42[_0x586cc5(0x156)]+'/'+_0x59ca42[_0x586cc5(0x133)]+_0x586cc5(0x167)+_0x59ca42[_0x586cc5(0x16f)]+_0x586cc5(0x13e)+_0x30c607+_0x586cc5(0x188);}
@@ -1 +1 @@
1
- const a30_0x5c956f=a30_0x22c8;(function(_0x55bef8,_0x5610b8){const _0x6adf09=a30_0x22c8,_0x46322d=_0x55bef8();while(!![]){try{const _0x40585b=parseInt(_0x6adf09(0xd7))/0x1+parseInt(_0x6adf09(0xe0))/0x2+parseInt(_0x6adf09(0xac))/0x3*(parseInt(_0x6adf09(0xd0))/0x4)+-parseInt(_0x6adf09(0xd9))/0x5+parseInt(_0x6adf09(0xb4))/0x6+-parseInt(_0x6adf09(0xcf))/0x7*(parseInt(_0x6adf09(0xa6))/0x8)+parseInt(_0x6adf09(0xc8))/0x9*(-parseInt(_0x6adf09(0xe1))/0xa);if(_0x40585b===_0x5610b8)break;else _0x46322d['push'](_0x46322d['shift']());}catch(_0x35194c){_0x46322d['push'](_0x46322d['shift']());}}}(a30_0x15f1,0x84898));import{createInterface}from'node:readline';import{writeFile}from'node:fs/promises';import{listBffScripts,getBffScriptStatistics}from'../../core/api-client.js';import{loadAliasMap}from'../../core/alias-resolver.js';function a30_0x22c8(_0x1bc3c9,_0x536ac9){_0x1bc3c9=_0x1bc3c9-0xa3;const _0x15f113=a30_0x15f1();let _0x22c8d8=_0x15f113[_0x1bc3c9];return _0x22c8d8;}import{resolveApiFilePath}from'../../context.js';import{loadBffProjectConfig}from'../../core/bff/config.js';function a30_0x15f1(){const _0x19c1a3=['9xVSYth','functions','utf8','functionName','type','bff','pull','434Ypcmlp','4JmrXDK','validation','question','scriptContent','all','Force\x20overwrite\x20local\x20unsynced\x20changes','toISOString','1080978UaSyeQ','yes','3787565DOqMly','toLowerCase','force','would_pull','Pull\x20complete:\x20','appCode','HOOK','977564FVzzet','6705250Agaqxy','\x20failed','length','hash','bool','apiDir','Pull\x20only\x20this\x20script\x20type','Would\x20inspect\x20','message','filePath','cancelled','write','60584RyqMxn','boolean','ENDPOINT','GET','\x20pulled,\x20','Lock\x20scope\x20for\x20app\x20\x22','1505226zJeiep','lockFilePath','lockKey','Force\x20pull\x20cancelled.','--type\x20must\x20be\x20COMMON,\x20ENDPOINT,\x20or\x20HOOK.','alias','\x20remote\x20BFF\x20script(s)\x20for\x20pull','push','2213604XNYSOo','scriptType','datasetCode','includes','Remote\x20script\x20missing\x20content.','map','hookLocation','stdin','\x20skipped,\x20','stringify','Pull\x20remote\x20BFF\x20scripts\x20to\x20local','operationType','stderr','conflict','str','scriptsRoot','functionNode','Remote\x20script\x20missing\x20id.','nonInteractive','/api/management/library/scripts/list?appCode='];a30_0x15f1=function(){return _0x19c1a3;};return a30_0x15f1();}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':a30_0x5c956f(0xcd),'command':a30_0x5c956f(0xce),'description':a30_0x5c956f(0xbe),'risk':a30_0x5c956f(0xa5),'flags':[{'name':a30_0x5c956f(0xcc),'type':'string','description':a30_0x5c956f(0xe7),'enum':['COMMON',a30_0x5c956f(0xa8),'HOOK']},{'name':'force','type':a30_0x5c956f(0xa7),'description':a30_0x5c956f(0xd5)}],async 'dryRun'(_0x4e7465){const _0x183c3e=a30_0x5c956f,_0x58615b=loadBffProjectConfig(_0x4e7465[_0x183c3e(0xde)]),_0x4ec251=await readBffLockFile(_0x58615b[_0x183c3e(0xad)]),{appLock:_0xb208a0}=ensureLockScope(_0x4ec251??createEmptyBffLock(),_0x4e7465[_0x183c3e(0xde)],_0x58615b[_0x183c3e(0xc3)],_0x183c3e(0xce)),_0x247d3d=normalizeBffType(_0x4e7465['str']('type'))??undefined,_0x36a28a=buildDatasetCodeToAliasMap(_0x4e7465[_0x183c3e(0xe6)],_0x4e7465[_0x183c3e(0xde)]),[_0x2c00d1,_0x35fd54]=await Promise[_0x183c3e(0xd4)]([listBffScripts(_0x4e7465[_0x183c3e(0xde)],_0x247d3d),getBffScriptStatistics(_0x4e7465[_0x183c3e(0xde)])]),_0x9fd09c=createHookLocationMap(_0x35fd54),_0x3a87d0=[];for(const _0x4d8136 of _0x2c00d1){const _0x428146=resolveRemoteScriptTarget(_0x58615b,_0x4d8136,_0x9fd09c,_0xb208a0['functions'],_0x36a28a);if(!_0x428146){_0x3a87d0[_0x183c3e(0xb3)]({'scriptType':_0x4d8136['scriptType'],'functionName':_0x4d8136['functionName']??'','status':'skipped','reason':'unresolvable\x20target\x20path'});continue;}const _0x35b724=_0xb208a0[_0x183c3e(0xc9)][_0x428146[_0x183c3e(0xae)]],_0x28512f=_0x4d8136[_0x183c3e(0xd3)]!=null?computeContentHash(_0x4d8136[_0x183c3e(0xd3)]):undefined,_0x45f1eb=await hasUnsyncedLocalChanges(_0x428146[_0x183c3e(0xa3)],_0x35b724,_0x28512f);_0x3a87d0['push']({'lockKey':_0x428146[_0x183c3e(0xae)],'filePath':_0x428146[_0x183c3e(0xa3)],'remoteId':_0x4d8136['id']??null,'status':_0x45f1eb?_0x183c3e(0xc1):_0x183c3e(0xdc)});}return{'method':_0x183c3e(0xa9),'url':_0x183c3e(0xc7)+_0x4e7465['appCode']+(_0x247d3d?'&type='+_0x247d3d:''),'body':{'appCode':_0x4e7465[_0x183c3e(0xde)],'filterType':_0x247d3d??null,'files':_0x3a87d0},'description':_0x183c3e(0xe8)+_0x3a87d0['length']+_0x183c3e(0xb2)};},async 'execute'(_0x4a84b9){const _0xb6a392=a30_0x5c956f,_0x3b9c4e=loadBffProjectConfig(_0x4a84b9[_0xb6a392(0xde)]),_0x450ddd=await readBffLockFile(_0x3b9c4e[_0xb6a392(0xad)]),{lockData:_0x933adf,appLock:_0x568414}=ensureLockScope(_0x450ddd??createEmptyBffLock(),_0x4a84b9[_0xb6a392(0xde)],_0x3b9c4e[_0xb6a392(0xc3)],_0xb6a392(0xce)),_0x2ea98c=normalizeBffType(_0x4a84b9[_0xb6a392(0xc2)](_0xb6a392(0xcc)))??undefined;if(_0x4a84b9['str']('type')&&!_0x2ea98c)throw CliErrors[_0xb6a392(0xd1)](_0xb6a392(0xb0));const [_0x3d672e,_0x4dac8f]=await Promise[_0xb6a392(0xd4)]([listBffScripts(_0x4a84b9[_0xb6a392(0xde)],_0x2ea98c),getBffScriptStatistics(_0x4a84b9[_0xb6a392(0xde)])]);if(_0x3d672e[_0xb6a392(0xe3)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':'No\x20remote\x20BFF\x20scripts\x20found.'};const _0x2d230b=_0x4a84b9[_0xb6a392(0xe5)](_0xb6a392(0xdb));if(_0x2d230b&&!_0x4a84b9['nonInteractive']){const _0x2916d9=await confirmForce();if(!_0x2916d9)throw CliErrors[_0xb6a392(0xa4)](_0xb6a392(0xaf));}if(_0x2d230b&&_0x4a84b9[_0xb6a392(0xc6)]){}const _0x1b009b=buildDatasetCodeToAliasMap(_0x4a84b9[_0xb6a392(0xe6)],_0x4a84b9[_0xb6a392(0xde)]),_0xce7fca=createHookLocationMap(_0x4dac8f),_0x50c443=JSON['parse'](JSON[_0xb6a392(0xbd)](_0x933adf)),_0xf9adeb=_0x4a84b9[_0xb6a392(0xde)],_0x13772b=_0x50c443['apps'][_0xf9adeb];if(!_0x13772b)throw new Error(_0xb6a392(0xab)+_0xf9adeb+'\x22\x20not\x20found\x20after\x20ensureLockScope.');const _0x284a32=[],_0x42cd71=[],_0x1f84a3=[];for(const _0x6e0f20 of _0x3d672e){const _0x5484e6=resolveRemoteScriptTarget(_0x3b9c4e,_0x6e0f20,_0xce7fca,_0x568414[_0xb6a392(0xc9)],_0x1b009b);if(!_0x5484e6){_0x42cd71[_0xb6a392(0xb3)]({'lockKey':_0x6e0f20[_0xb6a392(0xb5)]+'/'+_0x6e0f20[_0xb6a392(0xcb)],'reason':'unresolvable\x20target\x20path'});continue;}const _0x552968=_0x568414['functions'][_0x5484e6[_0xb6a392(0xae)]];try{if(!_0x6e0f20['id'])throw new Error(_0xb6a392(0xc5));if(_0x6e0f20[_0xb6a392(0xd3)]==null)throw new Error(_0xb6a392(0xb8));const _0x30f4ef=_0x6e0f20[_0xb6a392(0xd3)],_0x3f9acf=computeContentHash(_0x30f4ef);if(!_0x2d230b){const _0x5aed56=await hasUnsyncedLocalChanges(_0x5484e6['filePath'],_0x552968,_0x3f9acf);if(_0x5aed56){_0x42cd71[_0xb6a392(0xb3)]({'lockKey':_0x5484e6[_0xb6a392(0xae)],'reason':'local\x20unsynced\x20changes'});continue;}}await ensureParentDirectory(_0x5484e6['filePath']),await writeFile(_0x5484e6[_0xb6a392(0xa3)],_0x30f4ef,_0xb6a392(0xca));const _0x181960={'hash':_0x3f9acf,'remoteId':_0x6e0f20['id'],'version':_0x6e0f20['version']};_0x5484e6[_0xb6a392(0xcc)]===_0xb6a392(0xdf)&&_0x5484e6['hookLocation']&&(_0x181960[_0xb6a392(0xb1)]=_0x5484e6[_0xb6a392(0xba)][_0xb6a392(0xb1)],_0x181960[_0xb6a392(0xb6)]=_0x5484e6[_0xb6a392(0xba)]['datasetCode'],_0x181960['operationType']=_0x5484e6[_0xb6a392(0xba)][_0xb6a392(0xbf)],_0x181960[_0xb6a392(0xc4)]=_0x5484e6[_0xb6a392(0xba)][_0xb6a392(0xc4)]),_0x13772b['functions'][_0x5484e6[_0xb6a392(0xae)]]=_0x181960,_0x284a32[_0xb6a392(0xb3)]({'lockKey':_0x5484e6[_0xb6a392(0xae)],'remoteId':_0x6e0f20['id']});}catch(_0x193f83){_0x1f84a3['push']({'lockKey':_0x5484e6['lockKey'],'error':_0x193f83 instanceof Error?_0x193f83[_0xb6a392(0xe9)]:String(_0x193f83)});}}return _0x13772b['lastSync']=new Date()[_0xb6a392(0xd6)](),await writeBffLockFile(_0x3b9c4e[_0xb6a392(0xad)],_0x50c443),{'ok':_0x1f84a3[_0xb6a392(0xe3)]===0x0,'data':{'pulled':_0x284a32,'skipped':_0x42cd71,'failed':_0x1f84a3},'message':_0xb6a392(0xdd)+_0x284a32[_0xb6a392(0xe3)]+_0xb6a392(0xaa)+_0x42cd71[_0xb6a392(0xe3)]+_0xb6a392(0xbc)+_0x1f84a3[_0xb6a392(0xe3)]+_0xb6a392(0xe2)};}};async function hasUnsyncedLocalChanges(_0x5cbb52,_0x5e58d2,_0x6467a7){const _0x29ae55=a30_0x5c956f;if(!await fileExists(_0x5cbb52))return![];const _0x4af5e5=await computeFileHash(_0x5cbb52);if(!_0x5e58d2)return _0x6467a7?_0x4af5e5!==_0x6467a7:!![];return _0x4af5e5!==_0x5e58d2[_0x29ae55(0xe4)];}function buildDatasetCodeToAliasMap(_0x489afb,_0x43905a){const _0x31566b=a30_0x5c956f,_0x286fc6=loadAliasMap(_0x489afb,undefined,resolveApiFilePath(_0x489afb,_0x43905a));return new Map(_0x286fc6[_0x31566b(0xb9)](_0x25afa4=>[_0x25afa4['datasetCode'],_0x25afa4[_0x31566b(0xb1)]]));}async function confirmForce(){const _0x4f4bc3=a30_0x5c956f,_0x5b5e11=createInterface({'input':process[_0x4f4bc3(0xbb)],'output':process[_0x4f4bc3(0xc0)]}),_0x409d23=await new Promise(_0x50c85c=>{const _0x5582d7=_0x4f4bc3;_0x5b5e11[_0x5582d7(0xd2)]('Force\x20pull\x20will\x20overwrite\x20local\x20unsynced\x20changes.\x20Continue?\x20[y/N]\x20',_0x50c85c);});return _0x5b5e11['close'](),['y',_0x4f4bc3(0xd8)][_0x4f4bc3(0xb7)](_0x409d23['trim']()[_0x4f4bc3(0xda)]());}
1
+ const a30_0x5604c4=a30_0x2130;(function(_0x7a82ad,_0x4e455e){const _0x4e65ca=a30_0x2130,_0x137583=_0x7a82ad();while(!![]){try{const _0x5a8f00=-parseInt(_0x4e65ca(0x1e2))/0x1*(-parseInt(_0x4e65ca(0x1d4))/0x2)+parseInt(_0x4e65ca(0x1be))/0x3+-parseInt(_0x4e65ca(0x1b3))/0x4*(-parseInt(_0x4e65ca(0x1c4))/0x5)+parseInt(_0x4e65ca(0x1d2))/0x6+parseInt(_0x4e65ca(0x1d6))/0x7*(parseInt(_0x4e65ca(0x1dd))/0x8)+-parseInt(_0x4e65ca(0x1f3))/0x9+-parseInt(_0x4e65ca(0x1e8))/0xa;if(_0x5a8f00===_0x4e455e)break;else _0x137583['push'](_0x137583['shift']());}catch(_0x477573){_0x137583['push'](_0x137583['shift']());}}}(a30_0x5d3b,0x7fa74));import{createInterface}from'node:readline';import{writeFile}from'node:fs/promises';import{listBffScripts,getBffScriptStatistics}from'../../core/api-client.js';import{loadAliasMap}from'../../core/alias-resolver.js';import{resolveApiFilePath}from'../../context.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{createHookLocationMap,ensureParentDirectory,fileExists,normalizeBffType,resolveRemoteScriptTarget}from'../../core/bff/file-system.js';import{computeContentHash,computeFileHash}from'../../core/bff/hash.js';import{createEmptyBffLock,ensureLockScope,readBffLockFile,writeBffLockFile}from'../../core/bff/lock.js';import{CliErrors}from'../../errors.js';function a30_0x5d3b(){const _0x19d0a5=['force','Pull\x20only\x20this\x20script\x20type','6092784GqYorc','\x22\x20not\x20found\x20after\x20ensureLockScope.','\x20failed','apiDir','includes','hookLocation','type','utf8','4FjQNmr','scriptsRoot','version','string','\x20pulled,\x20','question','str','skipped','yes','functionName','--type\x20must\x20be\x20COMMON,\x20ENDPOINT,\x20or\x20HOOK.','1748049fTlevy','Force\x20overwrite\x20local\x20unsynced\x20changes','validation','\x20skipped,\x20','message','stringify','1715415syrLzO','all','Would\x20inspect\x20','write','nonInteractive','local\x20unsynced\x20changes','ENDPOINT','scriptType','filePath','operationType','GET','COMMON','stderr','scriptContent','998712wVhzHX','HOOK','75902ejjnnI','datasetCode','1029MEgAYs','lockKey','Lock\x20scope\x20for\x20app\x20\x22','functions','trim','close','parse','36944Xqmddq','length','\x20remote\x20BFF\x20script(s)\x20for\x20pull','lockFilePath','bool','7kimuMV','Remote\x20script\x20missing\x20id.','pull','alias','Force\x20pull\x20cancelled.','map','8368770ftMWCX','push','appCode','Pull\x20remote\x20BFF\x20scripts\x20to\x20local','toLowerCase','&type=','/api/management/library/scripts/list?appCode=','Pull\x20complete:\x20','apps'];a30_0x5d3b=function(){return _0x19d0a5;};return a30_0x5d3b();}function a30_0x2130(_0x34df71,_0x4a69ae){_0x34df71=_0x34df71-0x1ad;const _0x5d3bec=a30_0x5d3b();let _0x2130d6=_0x5d3bec[_0x34df71];return _0x2130d6;}export const bffPull={'service':'bff','command':a30_0x5604c4(0x1e4),'description':a30_0x5604c4(0x1eb),'risk':a30_0x5604c4(0x1c7),'flags':[{'name':a30_0x5604c4(0x1b1),'type':a30_0x5604c4(0x1b6),'description':a30_0x5604c4(0x1f2),'enum':[a30_0x5604c4(0x1cf),a30_0x5604c4(0x1ca),a30_0x5604c4(0x1d3)]},{'name':a30_0x5604c4(0x1f1),'type':'boolean','description':a30_0x5604c4(0x1bf)}],async 'dryRun'(_0x166961){const _0x2385a0=a30_0x5604c4,_0x51217c=loadBffProjectConfig(_0x166961['appCode']),_0x241e79=await readBffLockFile(_0x51217c[_0x2385a0(0x1e0)]),{appLock:_0x256edc}=ensureLockScope(_0x241e79??createEmptyBffLock(),_0x166961[_0x2385a0(0x1ea)],_0x51217c[_0x2385a0(0x1b4)],'pull'),_0x4703b5=normalizeBffType(_0x166961[_0x2385a0(0x1b9)](_0x2385a0(0x1b1)))??undefined,_0x1179b2=buildDatasetCodeToAliasMap(_0x166961['apiDir'],_0x166961[_0x2385a0(0x1ea)]),[_0x265e61,_0x3949b4]=await Promise[_0x2385a0(0x1c5)]([listBffScripts(_0x166961[_0x2385a0(0x1ea)],_0x4703b5),getBffScriptStatistics(_0x166961[_0x2385a0(0x1ea)])]),_0x792811=createHookLocationMap(_0x3949b4),_0x43a120=[];for(const _0x3e0bb3 of _0x265e61){const _0x4609da=resolveRemoteScriptTarget(_0x51217c,_0x3e0bb3,_0x792811,_0x256edc[_0x2385a0(0x1d9)],_0x1179b2);if(!_0x4609da){_0x43a120[_0x2385a0(0x1e9)]({'scriptType':_0x3e0bb3[_0x2385a0(0x1cb)],'functionName':_0x3e0bb3['functionName']??'','status':_0x2385a0(0x1ba),'reason':'unresolvable\x20target\x20path'});continue;}const _0x2f0d4b=_0x256edc[_0x2385a0(0x1d9)][_0x4609da[_0x2385a0(0x1d7)]],_0x21198c=_0x3e0bb3[_0x2385a0(0x1d1)]!=null?computeContentHash(_0x3e0bb3['scriptContent']):undefined,_0x5c6f57=await hasUnsyncedLocalChanges(_0x4609da[_0x2385a0(0x1cc)],_0x2f0d4b,_0x21198c);_0x43a120[_0x2385a0(0x1e9)]({'lockKey':_0x4609da['lockKey'],'filePath':_0x4609da[_0x2385a0(0x1cc)],'remoteId':_0x3e0bb3['id']??null,'status':_0x5c6f57?'conflict':'would_pull'});}return{'method':_0x2385a0(0x1ce),'url':_0x2385a0(0x1ee)+_0x166961['appCode']+(_0x4703b5?_0x2385a0(0x1ed)+_0x4703b5:''),'body':{'appCode':_0x166961[_0x2385a0(0x1ea)],'filterType':_0x4703b5??null,'files':_0x43a120},'description':_0x2385a0(0x1c6)+_0x43a120['length']+_0x2385a0(0x1df)};},async 'execute'(_0x3b9117){const _0x58ee12=a30_0x5604c4,_0x1f99d2=loadBffProjectConfig(_0x3b9117[_0x58ee12(0x1ea)]),_0x2e58dc=await readBffLockFile(_0x1f99d2[_0x58ee12(0x1e0)]),{lockData:_0x5be76b,appLock:_0x5ceabb}=ensureLockScope(_0x2e58dc??createEmptyBffLock(),_0x3b9117['appCode'],_0x1f99d2[_0x58ee12(0x1b4)],_0x58ee12(0x1e4)),_0x5e64d6=normalizeBffType(_0x3b9117[_0x58ee12(0x1b9)](_0x58ee12(0x1b1)))??undefined;if(_0x3b9117[_0x58ee12(0x1b9)](_0x58ee12(0x1b1))&&!_0x5e64d6)throw CliErrors[_0x58ee12(0x1c0)](_0x58ee12(0x1bd));const [_0x2d0a39,_0x4897a4]=await Promise['all']([listBffScripts(_0x3b9117[_0x58ee12(0x1ea)],_0x5e64d6),getBffScriptStatistics(_0x3b9117[_0x58ee12(0x1ea)])]);if(_0x2d0a39[_0x58ee12(0x1de)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':'No\x20remote\x20BFF\x20scripts\x20found.'};const _0x2aab84=_0x3b9117[_0x58ee12(0x1e1)](_0x58ee12(0x1f1));if(_0x2aab84&&!_0x3b9117[_0x58ee12(0x1c8)]){const _0x35d6c3=await confirmForce();if(!_0x35d6c3)throw CliErrors['cancelled'](_0x58ee12(0x1e6));}if(_0x2aab84&&_0x3b9117[_0x58ee12(0x1c8)]){}const _0x19bef8=buildDatasetCodeToAliasMap(_0x3b9117[_0x58ee12(0x1ae)],_0x3b9117[_0x58ee12(0x1ea)]),_0x460eea=createHookLocationMap(_0x4897a4),_0x139f6e=JSON[_0x58ee12(0x1dc)](JSON[_0x58ee12(0x1c3)](_0x5be76b)),_0x3f5c6f=_0x3b9117[_0x58ee12(0x1ea)],_0x5135e4=_0x139f6e[_0x58ee12(0x1f0)][_0x3f5c6f];if(!_0x5135e4)throw new Error(_0x58ee12(0x1d8)+_0x3f5c6f+_0x58ee12(0x1f4));const _0xae93a6=[],_0x5816cf=[],_0x5b5fb3=[];for(const _0xc0da7c of _0x2d0a39){const _0x290cc9=resolveRemoteScriptTarget(_0x1f99d2,_0xc0da7c,_0x460eea,_0x5ceabb[_0x58ee12(0x1d9)],_0x19bef8);if(!_0x290cc9){_0x5816cf['push']({'lockKey':_0xc0da7c[_0x58ee12(0x1cb)]+'/'+_0xc0da7c[_0x58ee12(0x1bc)],'reason':'unresolvable\x20target\x20path'});continue;}const _0x465212=_0x5ceabb['functions'][_0x290cc9['lockKey']];try{if(!_0xc0da7c['id'])throw new Error(_0x58ee12(0x1e3));if(_0xc0da7c[_0x58ee12(0x1d1)]==null)throw new Error('Remote\x20script\x20missing\x20content.');const _0x5b5b44=_0xc0da7c['scriptContent'],_0x38f529=computeContentHash(_0x5b5b44);if(!_0x2aab84){const _0x1e51e4=await hasUnsyncedLocalChanges(_0x290cc9[_0x58ee12(0x1cc)],_0x465212,_0x38f529);if(_0x1e51e4){_0x5816cf[_0x58ee12(0x1e9)]({'lockKey':_0x290cc9[_0x58ee12(0x1d7)],'reason':_0x58ee12(0x1c9)});continue;}}await ensureParentDirectory(_0x290cc9[_0x58ee12(0x1cc)]),await writeFile(_0x290cc9[_0x58ee12(0x1cc)],_0x5b5b44,_0x58ee12(0x1b2));const _0x5da18a={'hash':_0x38f529,'remoteId':_0xc0da7c['id'],'version':_0xc0da7c[_0x58ee12(0x1b5)]};_0x290cc9[_0x58ee12(0x1b1)]==='HOOK'&&_0x290cc9[_0x58ee12(0x1b0)]&&(_0x5da18a[_0x58ee12(0x1e5)]=_0x290cc9[_0x58ee12(0x1b0)][_0x58ee12(0x1e5)],_0x5da18a[_0x58ee12(0x1d5)]=_0x290cc9[_0x58ee12(0x1b0)]['datasetCode'],_0x5da18a[_0x58ee12(0x1cd)]=_0x290cc9[_0x58ee12(0x1b0)]['operationType'],_0x5da18a['functionNode']=_0x290cc9['hookLocation']['functionNode']),_0x5135e4[_0x58ee12(0x1d9)][_0x290cc9[_0x58ee12(0x1d7)]]=_0x5da18a,_0xae93a6[_0x58ee12(0x1e9)]({'lockKey':_0x290cc9[_0x58ee12(0x1d7)],'remoteId':_0xc0da7c['id']});}catch(_0x478191){_0x5b5fb3['push']({'lockKey':_0x290cc9[_0x58ee12(0x1d7)],'error':_0x478191 instanceof Error?_0x478191[_0x58ee12(0x1c2)]:String(_0x478191)});}}return _0x5135e4['lastSync']=new Date()['toISOString'](),await writeBffLockFile(_0x1f99d2['lockFilePath'],_0x139f6e),{'ok':_0x5b5fb3['length']===0x0,'data':{'pulled':_0xae93a6,'skipped':_0x5816cf,'failed':_0x5b5fb3},'message':_0x58ee12(0x1ef)+_0xae93a6[_0x58ee12(0x1de)]+_0x58ee12(0x1b7)+_0x5816cf['length']+_0x58ee12(0x1c1)+_0x5b5fb3[_0x58ee12(0x1de)]+_0x58ee12(0x1ad)};}};async function hasUnsyncedLocalChanges(_0x2465f7,_0x540870,_0x5de23f){if(!await fileExists(_0x2465f7))return![];const _0x2a4eb5=await computeFileHash(_0x2465f7);if(!_0x540870)return _0x5de23f?_0x2a4eb5!==_0x5de23f:!![];return _0x2a4eb5!==_0x540870['hash'];}function buildDatasetCodeToAliasMap(_0x1e945b,_0x552f47){const _0x40facc=a30_0x5604c4,_0x558de4=loadAliasMap(_0x1e945b,undefined,resolveApiFilePath(_0x1e945b,_0x552f47));return new Map(_0x558de4[_0x40facc(0x1e7)](_0x1cb786=>[_0x1cb786[_0x40facc(0x1d5)],_0x1cb786[_0x40facc(0x1e5)]]));}async function confirmForce(){const _0x36a1ee=a30_0x5604c4,_0x616fbe=createInterface({'input':process['stdin'],'output':process[_0x36a1ee(0x1d0)]}),_0x2c5630=await new Promise(_0x3beb7c=>{const _0x2b10f0=_0x36a1ee;_0x616fbe[_0x2b10f0(0x1b8)]('Force\x20pull\x20will\x20overwrite\x20local\x20unsynced\x20changes.\x20Continue?\x20[y/N]\x20',_0x3beb7c);});return _0x616fbe[_0x36a1ee(0x1db)](),['y',_0x36a1ee(0x1bb)][_0x36a1ee(0x1af)](_0x2c5630[_0x36a1ee(0x1da)]()[_0x36a1ee(0x1ec)]());}
@@ -1 +1 @@
1
- const a31_0x475ffb=a31_0xf72e;(function(_0x1098b9,_0x1d18b9){const _0x3c96d2=a31_0xf72e,_0x212549=_0x1098b9();while(!![]){try{const _0x56ba08=parseInt(_0x3c96d2(0x165))/0x1+parseInt(_0x3c96d2(0x149))/0x2+parseInt(_0x3c96d2(0x158))/0x3+-parseInt(_0x3c96d2(0x175))/0x4+parseInt(_0x3c96d2(0x172))/0x5*(-parseInt(_0x3c96d2(0x179))/0x6)+parseInt(_0x3c96d2(0x177))/0x7*(-parseInt(_0x3c96d2(0x14f))/0x8)+-parseInt(_0x3c96d2(0x16c))/0x9*(parseInt(_0x3c96d2(0x168))/0xa);if(_0x56ba08===_0x1d18b9)break;else _0x212549['push'](_0x212549['shift']());}catch(_0x52cb74){_0x212549['push'](_0x212549['shift']());}}}(a31_0x4362,0x71e55));import{readFile}from'node:fs/promises';import{saveBffScript,getBffScriptInfo,listDatasets}from'../../core/api-client.js';function a31_0x4362(){const _0x4c4a55=['functionNode','push','description','would_push','remoteId','some','operationType','Push\x20complete:\x20','Run\x20`','force','763056IjIFOZ','POST','hash','create','name','filter','313464lcCqlI','\x20failed','get','map','datasetCodeToId','toISOString','Force\x20push\x20ignoring\x20hash\x20protection','bool','version','2596596KBfeiV','str','high-risk-write','Push\x20local\x20BFF\x20scripts\x20to\x20remote','has','No\x20local\x20BFF\x20functions\x20found.',':\x20missing\x20remote\x20version.\x20Run\x20`push`\x20after\x20`pull`\x20to\x20sync\x20version\x20info.','update','apiDir','Cannot\x20resolve\x20dataset\x20for\x20\x22','filePath','Push\x20only\x20this\x20script\x20type','boolean','354080ZBnTyZ','alias','\x20api\x20pull`\x20to\x20refresh\x20api.ts,\x20or\x20verify\x20the\x20dataset\x20exists.','4986290brxdjK','scriptsRoot','\x20skipped,\x20','message','9sIQQes','values','code','Incomplete\x20HOOK\x20path:\x20','functions','utf8','131240KOWCGc','unchanged','datasetCode','343680QFzxJK','--name\x20requires\x20--type\x20to\x20identify\x20the\x20function.','42FNrbJq','bff','72STLDDA','aliasToDatasetCode','lockKey','Push\x20only\x20the\x20named\x20function\x20(requires\x20--type)','ENDPOINT','type','length','\x22.\x20','set','HOOK','appCode','validation','Local\x20function\x20not\x20found:\x20'];a31_0x4362=function(){return _0x4c4a55;};return a31_0x4362();}import{loadAliasMap}from'../../core/alias-resolver.js';import{resolveApiFilePath}from'../../context.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{normalizeBffType,scanLocalBffFunctions}from'../../core/bff/file-system.js';import{computeFileHash}from'../../core/bff/hash.js';import{createEmptyBffLock,ensureLockScope,readBffLockFile,writeBffLockFile}from'../../core/bff/lock.js';import{extractScriptDescription}from'../../core/bff/utils.js';import{CliErrors}from'../../errors.js';function a31_0xf72e(_0xb0eba5,_0x3ce2e9){_0xb0eba5=_0xb0eba5-0x134;const _0x436205=a31_0x4362();let _0xf72eda=_0x436205[_0xb0eba5];return _0xf72eda;}import{CLI_BIN_NAME}from'../../constant/cli.js';export const bffPush={'service':a31_0x475ffb(0x178),'command':a31_0x475ffb(0x140),'description':a31_0x475ffb(0x15b),'risk':a31_0x475ffb(0x15a),'flags':[{'name':a31_0x475ffb(0x137),'type':'string','description':a31_0x475ffb(0x163),'enum':['COMMON',a31_0x475ffb(0x136),a31_0x475ffb(0x13b)]},{'name':'name','type':'string','description':a31_0x475ffb(0x135)},{'name':a31_0x475ffb(0x148),'type':a31_0x475ffb(0x164),'description':a31_0x475ffb(0x155)}],async 'dryRun'(_0x31aee5){const _0x31e33a=a31_0x475ffb,_0x276db3=loadBffProjectConfig(_0x31aee5[_0x31e33a(0x13c)]),_0x3df681=await readBffLockFile(_0x276db3['lockFilePath']),{appLock:_0x3ae29b}=ensureLockScope(_0x3df681??createEmptyBffLock(),_0x31aee5[_0x31e33a(0x13c)],_0x276db3['scriptsRoot'],'push'),_0x11f9f0=await getTargetFunctions(_0x276db3,_0x31aee5),_0x2d4c5d=_0x31aee5[_0x31e33a(0x156)](_0x31e33a(0x148)),_0x42d866=[];for(const _0x123d2b of _0x11f9f0){const _0x468940=await computeFileHash(_0x123d2b[_0x31e33a(0x162)]),_0x324d1b=_0x3ae29b[_0x31e33a(0x170)][_0x123d2b['lockKey']],_0x953226=!!_0x324d1b&&_0x324d1b[_0x31e33a(0x14b)]===_0x468940;_0x42d866['push']({'lockKey':_0x123d2b[_0x31e33a(0x134)],'filePath':_0x123d2b[_0x31e33a(0x162)],'remoteId':_0x324d1b?.[_0x31e33a(0x143)]??null,'mode':_0x324d1b?.[_0x31e33a(0x143)]?_0x31e33a(0x15f):_0x31e33a(0x14c),'status':!_0x2d4c5d&&_0x953226?_0x31e33a(0x173):_0x31e33a(0x142)});}return{'method':_0x31e33a(0x14a),'url':'/api/management/library/scripts/save','body':{'appCode':_0x31aee5['appCode'],'force':_0x2d4c5d,'files':_0x42d866},'description':'Would\x20inspect\x20'+_0x42d866['length']+'\x20local\x20BFF\x20script(s)\x20for\x20push'};},async 'execute'(_0x269761){const _0x3ba629=a31_0x475ffb,_0x3a812e=loadBffProjectConfig(_0x269761['appCode']),_0x3f7055=await readBffLockFile(_0x3a812e['lockFilePath']),{lockData:_0x23a286,appLock:_0x257d0f}=ensureLockScope(_0x3f7055??createEmptyBffLock(),_0x269761[_0x3ba629(0x13c)],_0x3a812e[_0x3ba629(0x169)],_0x3ba629(0x140)),_0x336e94=await getTargetFunctions(_0x3a812e,_0x269761);if(_0x336e94[_0x3ba629(0x138)]===0x0)return{'ok':!![],'data':{'uploaded':[],'skipped':[],'failed':[]},'message':_0x3ba629(0x15d)};const _0x447deb=_0x269761[_0x3ba629(0x156)]('force'),_0x2386ab=await buildHookMaps(_0x269761['appCode'],_0x269761[_0x3ba629(0x160)],_0x336e94,_0x257d0f),_0x15ece5=[],_0x142b9e=[],_0x161101=[];for(const _0x3f8add of _0x336e94){const _0x20d458=await computeFileHash(_0x3f8add[_0x3ba629(0x162)]),_0x36a310=_0x257d0f['functions'][_0x3f8add[_0x3ba629(0x134)]];if(!_0x447deb&&_0x36a310&&_0x36a310[_0x3ba629(0x14b)]===_0x20d458){_0x142b9e[_0x3ba629(0x140)]({'lockKey':_0x3f8add[_0x3ba629(0x134)],'reason':_0x3ba629(0x173)});continue;}try{await uploadSingleFunction(_0x269761['appCode'],_0x3f8add,_0x257d0f,_0x2386ab);const _0x49dfb3=_0x257d0f['functions'][_0x3f8add[_0x3ba629(0x134)]];_0x15ece5[_0x3ba629(0x140)]({'lockKey':_0x3f8add[_0x3ba629(0x134)],'remoteId':_0x49dfb3?.['remoteId']??0x0});}catch(_0x287dd5){_0x161101[_0x3ba629(0x140)]({'lockKey':_0x3f8add['lockKey'],'error':_0x287dd5 instanceof Error?_0x287dd5[_0x3ba629(0x16b)]:String(_0x287dd5)});}}return _0x257d0f['lastSync']=new Date()[_0x3ba629(0x154)](),await writeBffLockFile(_0x3a812e['lockFilePath'],_0x23a286),{'ok':_0x161101[_0x3ba629(0x138)]===0x0,'data':{'uploaded':_0x15ece5,'skipped':_0x142b9e,'failed':_0x161101},'message':_0x3ba629(0x146)+_0x15ece5[_0x3ba629(0x138)]+'\x20uploaded,\x20'+_0x142b9e[_0x3ba629(0x138)]+_0x3ba629(0x16a)+_0x161101[_0x3ba629(0x138)]+_0x3ba629(0x150)};}};async function getTargetFunctions(_0x4cf85e,_0xe46630){const _0x17a020=a31_0x475ffb,_0x17ddcc=_0xe46630[_0x17a020(0x159)]('type'),_0x7880ef=_0xe46630[_0x17a020(0x159)](_0x17a020(0x14d)),_0xb94227=normalizeBffType(_0x17ddcc)??undefined;if(_0x7880ef&&!_0xb94227)throw CliErrors['validation'](_0x17a020(0x176));const _0x7e719b=await scanLocalBffFunctions(_0x4cf85e,_0xb94227);if(_0x7880ef){const _0x4199a0=_0x7e719b[_0x17a020(0x14e)](_0x56457e=>_0x56457e[_0x17a020(0x14d)]===_0x7880ef);if(_0x4199a0[_0x17a020(0x138)]===0x0)throw CliErrors['validation'](_0x17a020(0x13e)+_0xb94227+'/'+_0x7880ef);return _0x4199a0;}return _0x7e719b;}async function buildHookMaps(_0x3019f2,_0x3b0c97,_0xf085b4,_0x2e1942){const _0x32a570=a31_0x475ffb,_0x4dc8c8=_0xf085b4[_0x32a570(0x144)](_0x103e2d=>_0x103e2d[_0x32a570(0x137)]==='HOOK');if(!_0x4dc8c8)return{'aliasToDatasetCode':new Map(),'datasetCodeToId':new Map()};const _0x40c4d4=loadAliasMap(_0x3b0c97,undefined,resolveApiFilePath(_0x3b0c97,_0x3019f2)),_0x4aff3e=new Map(_0x40c4d4['map'](_0x4ad50f=>[_0x4ad50f[_0x32a570(0x166)],_0x4ad50f[_0x32a570(0x174)]]));for(const _0x3927ee of Object[_0x32a570(0x16d)](_0x2e1942[_0x32a570(0x170)])){_0x3927ee['alias']&&_0x3927ee['datasetCode']&&!_0x4aff3e[_0x32a570(0x15c)](_0x3927ee[_0x32a570(0x166)])&&_0x4aff3e[_0x32a570(0x13a)](_0x3927ee['alias'],_0x3927ee[_0x32a570(0x174)]);}const _0x3a5714=await listDatasets(_0x3019f2),_0x363906=new Map(_0x3a5714[_0x32a570(0x152)](_0x1a5993=>[_0x1a5993[_0x32a570(0x16e)],_0x1a5993['id']]));return{'aliasToDatasetCode':_0x4aff3e,'datasetCodeToId':_0x363906};}async function uploadSingleFunction(_0x5ad117,_0xdd06a4,_0x5add4b,_0x4d9bba){const _0x5f4264=a31_0x475ffb,_0x18c8a6=await readFile(_0xdd06a4[_0x5f4264(0x162)],_0x5f4264(0x171)),_0x5c05bf=await computeFileHash(_0xdd06a4[_0x5f4264(0x162)]),_0x1ada32=_0x5add4b[_0x5f4264(0x170)][_0xdd06a4[_0x5f4264(0x134)]];if(_0x1ada32?.['remoteId']&&_0x1ada32[_0x5f4264(0x157)]==null)throw CliErrors[_0x5f4264(0x13d)](_0xdd06a4[_0x5f4264(0x134)]+_0x5f4264(0x15e));let _0x571312=extractScriptDescription(_0x18c8a6);if(!_0x571312&&_0x1ada32?.['remoteId']){const _0x22153f=await getBffScriptInfo(_0x1ada32[_0x5f4264(0x143)]);_0x571312=_0x22153f[_0x5f4264(0x141)]||undefined;}const _0x4bd8c7={'appCode':_0x5ad117,'functionName':_0xdd06a4['name'],'scriptType':_0xdd06a4[_0x5f4264(0x137)],'scriptContent':_0x18c8a6};if(_0x1ada32?.[_0x5f4264(0x143)])_0x4bd8c7['id']=_0x1ada32[_0x5f4264(0x143)];if(_0x1ada32?.[_0x5f4264(0x157)]!=null)_0x4bd8c7[_0x5f4264(0x157)]=_0x1ada32['version'];if(_0x571312)_0x4bd8c7[_0x5f4264(0x141)]=_0x571312;if(_0xdd06a4[_0x5f4264(0x137)]===_0x5f4264(0x13b)){const _0x32ff48=_0xdd06a4[_0x5f4264(0x166)];if(!_0x32ff48||!_0xdd06a4[_0x5f4264(0x145)]||!_0xdd06a4[_0x5f4264(0x13f)])throw CliErrors[_0x5f4264(0x13d)](_0x5f4264(0x16f)+_0xdd06a4['lockKey']);const _0x3e0c9b=_0x4d9bba[_0x5f4264(0x17a)][_0x5f4264(0x151)](_0x32ff48)??_0x1ada32?.['datasetCode']??_0x32ff48,_0x2f84d3=_0x4d9bba[_0x5f4264(0x153)][_0x5f4264(0x151)](_0x3e0c9b);if(!_0x2f84d3)throw CliErrors[_0x5f4264(0x13d)](_0x5f4264(0x161)+_0x32ff48+_0x5f4264(0x139)+(_0x5f4264(0x147)+CLI_BIN_NAME+_0x5f4264(0x167)));_0x4bd8c7['datasetId']=_0x2f84d3,_0x4bd8c7[_0x5f4264(0x145)]=_0xdd06a4[_0x5f4264(0x145)],_0x4bd8c7[_0x5f4264(0x13f)]=_0xdd06a4['functionNode'];}const _0x3d00bf=await saveBffScript(_0x4bd8c7),_0x3cc6b1=await getBffScriptInfo(_0x3d00bf),_0x4ddf33={'hash':_0x5c05bf,'remoteId':_0x3d00bf,'version':_0x3cc6b1[_0x5f4264(0x157)]};if(_0xdd06a4[_0x5f4264(0x137)]==='HOOK'){const _0xd32441=_0xdd06a4[_0x5f4264(0x166)],_0x16b0ab=_0x4d9bba[_0x5f4264(0x17a)][_0x5f4264(0x151)](_0xd32441)??_0x1ada32?.[_0x5f4264(0x174)]??_0xd32441;_0x4d9bba[_0x5f4264(0x17a)][_0x5f4264(0x15c)](_0xd32441)?_0x4ddf33['alias']=_0xd32441:_0x4ddf33[_0x5f4264(0x166)]=_0x1ada32?.[_0x5f4264(0x166)],_0x4ddf33[_0x5f4264(0x174)]=_0x16b0ab,_0x4ddf33['operationType']=_0xdd06a4['operationType'],_0x4ddf33[_0x5f4264(0x13f)]=_0xdd06a4['functionNode'];}_0x5add4b[_0x5f4264(0x170)][_0xdd06a4['lockKey']]=_0x4ddf33;}
1
+ const a31_0x1de7b3=a31_0x4baa;(function(_0x1933d4,_0x423cd2){const _0x4de992=a31_0x4baa,_0x4ca482=_0x1933d4();while(!![]){try{const _0x53413f=-parseInt(_0x4de992(0x1c7))/0x1+-parseInt(_0x4de992(0x1b1))/0x2*(parseInt(_0x4de992(0x1d4))/0x3)+-parseInt(_0x4de992(0x1a9))/0x4+-parseInt(_0x4de992(0x1cb))/0x5+-parseInt(_0x4de992(0x1ce))/0x6+-parseInt(_0x4de992(0x1bf))/0x7*(parseInt(_0x4de992(0x1ad))/0x8)+parseInt(_0x4de992(0x1a1))/0x9;if(_0x53413f===_0x423cd2)break;else _0x4ca482['push'](_0x4ca482['shift']());}catch(_0x47b2ea){_0x4ca482['push'](_0x4ca482['shift']());}}}(a31_0x5c33,0x9f389));function a31_0x5c33(){const _0x14c53b=['validation','filePath','alias','2273215nXkZiW','Incomplete\x20HOOK\x20path:\x20','filter','817818ZdAKsv','map','/api/management/library/scripts/save','\x20api\x20pull`\x20to\x20refresh\x20api.ts,\x20or\x20verify\x20the\x20dataset\x20exists.',':\x20missing\x20remote\x20version.\x20Run\x20`push`\x20after\x20`pull`\x20to\x20sync\x20version\x20info.','POST','667287PZGtwp','Would\x20inspect\x20','code','aliasToDatasetCode','push','functions','description','remoteId','datasetCode','operationType','would_push','bff','Push\x20complete:\x20','string','values','unchanged','Force\x20push\x20ignoring\x20hash\x20protection','28870785ZAtsyO','name','version','Cannot\x20resolve\x20dataset\x20for\x20\x22','force','Push\x20local\x20BFF\x20scripts\x20to\x20remote','\x20skipped,\x20','datasetId','2747612DXTwAE','high-risk-write','lockKey','\x20failed','23224HMGgUX','appCode','get','\x20uploaded,\x20','6TiaIKt','message','type','HOOK','Local\x20function\x20not\x20found:\x20','\x20local\x20BFF\x20script(s)\x20for\x20push','set','lockFilePath','\x22.\x20','functionNode','--name\x20requires\x20--type\x20to\x20identify\x20the\x20function.','Run\x20`','str','ENDPOINT','1099EPaFrT','bool','COMMON','toISOString','lastSync','Push\x20only\x20the\x20named\x20function\x20(requires\x20--type)','datasetCodeToId','length','154789JiibHz'];a31_0x5c33=function(){return _0x14c53b;};return a31_0x5c33();}import{readFile}from'node:fs/promises';import{saveBffScript,getBffScriptInfo,listDatasets}from'../../core/api-client.js';import{loadAliasMap}from'../../core/alias-resolver.js';import{resolveApiFilePath}from'../../context.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{normalizeBffType,scanLocalBffFunctions}from'../../core/bff/file-system.js';import{computeFileHash}from'../../core/bff/hash.js';function a31_0x4baa(_0xbb02e7,_0x644bf8){_0xbb02e7=_0xbb02e7-0x193;const _0x5c3341=a31_0x5c33();let _0x4baad3=_0x5c3341[_0xbb02e7];return _0x4baad3;}import{createEmptyBffLock,ensureLockScope,readBffLockFile,writeBffLockFile}from'../../core/bff/lock.js';import{extractScriptDescription}from'../../core/bff/utils.js';import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';export const bffPush={'service':a31_0x1de7b3(0x19b),'command':a31_0x1de7b3(0x194),'description':a31_0x1de7b3(0x1a6),'risk':a31_0x1de7b3(0x1aa),'flags':[{'name':'type','type':a31_0x1de7b3(0x19d),'description':'Push\x20only\x20this\x20script\x20type','enum':[a31_0x1de7b3(0x1c1),a31_0x1de7b3(0x1be),a31_0x1de7b3(0x1b4)]},{'name':a31_0x1de7b3(0x1a2),'type':a31_0x1de7b3(0x19d),'description':a31_0x1de7b3(0x1c4)},{'name':'force','type':'boolean','description':a31_0x1de7b3(0x1a0)}],async 'dryRun'(_0x2697f4){const _0x3da6ad=a31_0x1de7b3,_0x236be6=loadBffProjectConfig(_0x2697f4['appCode']),_0x1793d8=await readBffLockFile(_0x236be6[_0x3da6ad(0x1b8)]),{appLock:_0x419e02}=ensureLockScope(_0x1793d8??createEmptyBffLock(),_0x2697f4[_0x3da6ad(0x1ae)],_0x236be6['scriptsRoot'],'push'),_0x3c1360=await getTargetFunctions(_0x236be6,_0x2697f4),_0x4db68b=_0x2697f4[_0x3da6ad(0x1c0)]('force'),_0x45f541=[];for(const _0x5348a5 of _0x3c1360){const _0x13bb80=await computeFileHash(_0x5348a5[_0x3da6ad(0x1c9)]),_0x44290a=_0x419e02[_0x3da6ad(0x195)][_0x5348a5[_0x3da6ad(0x1ab)]],_0xf865b6=!!_0x44290a&&_0x44290a['hash']===_0x13bb80;_0x45f541[_0x3da6ad(0x194)]({'lockKey':_0x5348a5[_0x3da6ad(0x1ab)],'filePath':_0x5348a5[_0x3da6ad(0x1c9)],'remoteId':_0x44290a?.[_0x3da6ad(0x197)]??null,'mode':_0x44290a?.['remoteId']?'update':'create','status':!_0x4db68b&&_0xf865b6?_0x3da6ad(0x19f):_0x3da6ad(0x19a)});}return{'method':_0x3da6ad(0x1d3),'url':_0x3da6ad(0x1d0),'body':{'appCode':_0x2697f4['appCode'],'force':_0x4db68b,'files':_0x45f541},'description':_0x3da6ad(0x1d5)+_0x45f541[_0x3da6ad(0x1c6)]+_0x3da6ad(0x1b6)};},async 'execute'(_0x4f536e){const _0x47af14=a31_0x1de7b3,_0x319852=loadBffProjectConfig(_0x4f536e[_0x47af14(0x1ae)]),_0x505521=await readBffLockFile(_0x319852['lockFilePath']),{lockData:_0x45b447,appLock:_0x1759fa}=ensureLockScope(_0x505521??createEmptyBffLock(),_0x4f536e[_0x47af14(0x1ae)],_0x319852['scriptsRoot'],_0x47af14(0x194)),_0x135996=await getTargetFunctions(_0x319852,_0x4f536e);if(_0x135996[_0x47af14(0x1c6)]===0x0)return{'ok':!![],'data':{'uploaded':[],'skipped':[],'failed':[]},'message':'No\x20local\x20BFF\x20functions\x20found.'};const _0x180574=_0x4f536e['bool'](_0x47af14(0x1a5)),_0x29d0d4=await buildHookMaps(_0x4f536e[_0x47af14(0x1ae)],_0x4f536e['apiDir'],_0x135996,_0x1759fa),_0x1f512e=[],_0x29d2de=[],_0x265edd=[];for(const _0x4b8fe6 of _0x135996){const _0x2f1989=await computeFileHash(_0x4b8fe6[_0x47af14(0x1c9)]),_0x17a53c=_0x1759fa['functions'][_0x4b8fe6['lockKey']];if(!_0x180574&&_0x17a53c&&_0x17a53c['hash']===_0x2f1989){_0x29d2de[_0x47af14(0x194)]({'lockKey':_0x4b8fe6[_0x47af14(0x1ab)],'reason':_0x47af14(0x19f)});continue;}try{await uploadSingleFunction(_0x4f536e[_0x47af14(0x1ae)],_0x4b8fe6,_0x1759fa,_0x29d0d4);const _0x5ee1b1=_0x1759fa[_0x47af14(0x195)][_0x4b8fe6[_0x47af14(0x1ab)]];_0x1f512e['push']({'lockKey':_0x4b8fe6[_0x47af14(0x1ab)],'remoteId':_0x5ee1b1?.[_0x47af14(0x197)]??0x0});}catch(_0x2702b2){_0x265edd['push']({'lockKey':_0x4b8fe6[_0x47af14(0x1ab)],'error':_0x2702b2 instanceof Error?_0x2702b2[_0x47af14(0x1b2)]:String(_0x2702b2)});}}return _0x1759fa[_0x47af14(0x1c3)]=new Date()[_0x47af14(0x1c2)](),await writeBffLockFile(_0x319852[_0x47af14(0x1b8)],_0x45b447),{'ok':_0x265edd[_0x47af14(0x1c6)]===0x0,'data':{'uploaded':_0x1f512e,'skipped':_0x29d2de,'failed':_0x265edd},'message':_0x47af14(0x19c)+_0x1f512e[_0x47af14(0x1c6)]+_0x47af14(0x1b0)+_0x29d2de['length']+_0x47af14(0x1a7)+_0x265edd[_0x47af14(0x1c6)]+_0x47af14(0x1ac)};}};async function getTargetFunctions(_0x3bb8be,_0x27f536){const _0x2b2c62=a31_0x1de7b3,_0x232fdb=_0x27f536[_0x2b2c62(0x1bd)](_0x2b2c62(0x1b3)),_0x2409af=_0x27f536['str'](_0x2b2c62(0x1a2)),_0x2737bc=normalizeBffType(_0x232fdb)??undefined;if(_0x2409af&&!_0x2737bc)throw CliErrors['validation'](_0x2b2c62(0x1bb));const _0x13e7d3=await scanLocalBffFunctions(_0x3bb8be,_0x2737bc);if(_0x2409af){const _0x46eb80=_0x13e7d3[_0x2b2c62(0x1cd)](_0x265492=>_0x265492[_0x2b2c62(0x1a2)]===_0x2409af);if(_0x46eb80[_0x2b2c62(0x1c6)]===0x0)throw CliErrors[_0x2b2c62(0x1c8)](_0x2b2c62(0x1b5)+_0x2737bc+'/'+_0x2409af);return _0x46eb80;}return _0x13e7d3;}async function buildHookMaps(_0x3d1dd4,_0x5039b7,_0x18c100,_0x186610){const _0xc0d745=a31_0x1de7b3,_0x42c709=_0x18c100['some'](_0x250a3d=>_0x250a3d[_0xc0d745(0x1b3)]===_0xc0d745(0x1b4));if(!_0x42c709)return{'aliasToDatasetCode':new Map(),'datasetCodeToId':new Map()};const _0x218f50=loadAliasMap(_0x5039b7,undefined,resolveApiFilePath(_0x5039b7,_0x3d1dd4)),_0x1f4244=new Map(_0x218f50[_0xc0d745(0x1cf)](_0x4ea9b8=>[_0x4ea9b8[_0xc0d745(0x1ca)],_0x4ea9b8['datasetCode']]));for(const _0x2ca216 of Object[_0xc0d745(0x19e)](_0x186610[_0xc0d745(0x195)])){_0x2ca216[_0xc0d745(0x1ca)]&&_0x2ca216[_0xc0d745(0x198)]&&!_0x1f4244['has'](_0x2ca216[_0xc0d745(0x1ca)])&&_0x1f4244[_0xc0d745(0x1b7)](_0x2ca216[_0xc0d745(0x1ca)],_0x2ca216[_0xc0d745(0x198)]);}const _0x424f8d=await listDatasets(_0x3d1dd4),_0x4d04f2=new Map(_0x424f8d['map'](_0x27e87e=>[_0x27e87e[_0xc0d745(0x1d6)],_0x27e87e['id']]));return{'aliasToDatasetCode':_0x1f4244,'datasetCodeToId':_0x4d04f2};}async function uploadSingleFunction(_0x32466b,_0x12dc1c,_0x491d88,_0x4a280d){const _0x118791=a31_0x1de7b3,_0x2f5fb5=await readFile(_0x12dc1c[_0x118791(0x1c9)],'utf8'),_0x1152f8=await computeFileHash(_0x12dc1c[_0x118791(0x1c9)]),_0x48d4d6=_0x491d88[_0x118791(0x195)][_0x12dc1c[_0x118791(0x1ab)]];if(_0x48d4d6?.['remoteId']&&_0x48d4d6[_0x118791(0x1a3)]==null)throw CliErrors['validation'](_0x12dc1c[_0x118791(0x1ab)]+_0x118791(0x1d2));let _0x3dd42d=extractScriptDescription(_0x2f5fb5);if(!_0x3dd42d&&_0x48d4d6?.[_0x118791(0x197)]){const _0x566114=await getBffScriptInfo(_0x48d4d6[_0x118791(0x197)]);_0x3dd42d=_0x566114[_0x118791(0x196)]||undefined;}const _0x524c0a={'appCode':_0x32466b,'functionName':_0x12dc1c[_0x118791(0x1a2)],'scriptType':_0x12dc1c[_0x118791(0x1b3)],'scriptContent':_0x2f5fb5};if(_0x48d4d6?.[_0x118791(0x197)])_0x524c0a['id']=_0x48d4d6['remoteId'];if(_0x48d4d6?.['version']!=null)_0x524c0a[_0x118791(0x1a3)]=_0x48d4d6[_0x118791(0x1a3)];if(_0x3dd42d)_0x524c0a[_0x118791(0x196)]=_0x3dd42d;if(_0x12dc1c[_0x118791(0x1b3)]===_0x118791(0x1b4)){const _0x3643cc=_0x12dc1c[_0x118791(0x1ca)];if(!_0x3643cc||!_0x12dc1c[_0x118791(0x199)]||!_0x12dc1c[_0x118791(0x1ba)])throw CliErrors[_0x118791(0x1c8)](_0x118791(0x1cc)+_0x12dc1c[_0x118791(0x1ab)]);const _0x1c94a4=_0x4a280d[_0x118791(0x193)]['get'](_0x3643cc)??_0x48d4d6?.['datasetCode']??_0x3643cc,_0x4a25f5=_0x4a280d[_0x118791(0x1c5)][_0x118791(0x1af)](_0x1c94a4);if(!_0x4a25f5)throw CliErrors[_0x118791(0x1c8)](_0x118791(0x1a4)+_0x3643cc+_0x118791(0x1b9)+(_0x118791(0x1bc)+CLI_BIN_NAME+_0x118791(0x1d1)));_0x524c0a[_0x118791(0x1a8)]=_0x4a25f5,_0x524c0a['operationType']=_0x12dc1c[_0x118791(0x199)],_0x524c0a[_0x118791(0x1ba)]=_0x12dc1c['functionNode'];}const _0x331d00=await saveBffScript(_0x524c0a),_0x149d57=await getBffScriptInfo(_0x331d00),_0x53c044={'hash':_0x1152f8,'remoteId':_0x331d00,'version':_0x149d57[_0x118791(0x1a3)]};if(_0x12dc1c[_0x118791(0x1b3)]===_0x118791(0x1b4)){const _0x2be654=_0x12dc1c[_0x118791(0x1ca)],_0x517a41=_0x4a280d['aliasToDatasetCode'][_0x118791(0x1af)](_0x2be654)??_0x48d4d6?.[_0x118791(0x198)]??_0x2be654;_0x4a280d[_0x118791(0x193)]['has'](_0x2be654)?_0x53c044[_0x118791(0x1ca)]=_0x2be654:_0x53c044['alias']=_0x48d4d6?.[_0x118791(0x1ca)],_0x53c044['datasetCode']=_0x517a41,_0x53c044['operationType']=_0x12dc1c['operationType'],_0x53c044[_0x118791(0x1ba)]=_0x12dc1c[_0x118791(0x1ba)];}_0x491d88['functions'][_0x12dc1c['lockKey']]=_0x53c044;}
@@ -1 +1 @@
1
- const a32_0x368644=a32_0x17ba;(function(_0x4079c6,_0xae3d9e){const _0x5d7fe8=a32_0x17ba,_0x55b5c4=_0x4079c6();while(!![]){try{const _0x47b596=-parseInt(_0x5d7fe8(0x1d2))/0x1+parseInt(_0x5d7fe8(0x1bc))/0x2*(parseInt(_0x5d7fe8(0x1d4))/0x3)+-parseInt(_0x5d7fe8(0x1d5))/0x4+parseInt(_0x5d7fe8(0x1cc))/0x5*(-parseInt(_0x5d7fe8(0x1bb))/0x6)+parseInt(_0x5d7fe8(0x1c6))/0x7*(-parseInt(_0x5d7fe8(0x1c7))/0x8)+parseInt(_0x5d7fe8(0x1c9))/0x9+parseInt(_0x5d7fe8(0x1cd))/0xa;if(_0x47b596===_0xae3d9e)break;else _0x55b5c4['push'](_0x55b5c4['shift']());}catch(_0x3a812b){_0x55b5c4['push'](_0x55b5c4['shift']());}}}(a32_0x2f82,0x8db16));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,resolveRemoteScriptTarget,scanLocalBffFunctions}from'../../core/bff/file-system.js';import{computeFileHash}from'../../core/bff/hash.js';import{createEmptyBffLock,ensureLockScope,readBffLockFile}from'../../core/bff/lock.js';function a32_0x17ba(_0x3a68e9,_0x26152a){_0x3a68e9=_0x3a68e9-0x1ba;const _0x2f823c=a32_0x2f82();let _0x17baa8=_0x2f823c[_0x3a68e9];return _0x17baa8;}export const bffStatus={'service':a32_0x368644(0x1d6),'command':a32_0x368644(0x1ca),'description':a32_0x368644(0x1ba),'risk':a32_0x368644(0x1c5),'flags':[{'name':a32_0x368644(0x1c1),'type':a32_0x368644(0x1ce),'description':a32_0x368644(0x1d9)}],async 'execute'(_0x2b31b7){const _0x3096a6=a32_0x368644,_0x36ce87=loadBffProjectConfig(_0x2b31b7[_0x3096a6(0x1c8)]),_0x3d998c=await readBffLockFile(_0x36ce87['lockFilePath']),{appLock:_0x3a2b68}=ensureLockScope(_0x3d998c??createEmptyBffLock(),_0x2b31b7[_0x3096a6(0x1c8)],_0x36ce87[_0x3096a6(0x1cb)],_0x3096a6(0x1ca)),_0x3a5cf1=await scanLocalBffFunctions(_0x36ce87),_0x21271e=[],_0xdb922e=[],_0x898af8=[];for(const _0x388b37 of _0x3a5cf1){const _0x380855=await computeFileHash(_0x388b37[_0x3096a6(0x1d8)]),_0x4cef44=_0x3a2b68[_0x3096a6(0x1d3)][_0x388b37[_0x3096a6(0x1be)]];if(!_0x4cef44)_0x21271e['push'](_0x388b37[_0x3096a6(0x1be)]);else _0x4cef44['hash']!==_0x380855?_0xdb922e[_0x3096a6(0x1c2)](_0x388b37[_0x3096a6(0x1be)]):_0x898af8[_0x3096a6(0x1c2)](_0x388b37['lockKey']);}const _0xd0cc07=[];if(_0x2b31b7['bool'](_0x3096a6(0x1c1))){const _0x126ecf=loadAliasMap(_0x2b31b7['apiDir'],undefined,resolveApiFilePath(_0x2b31b7['apiDir'],_0x2b31b7['appCode'])),_0x1e1682=new Map(_0x126ecf['map'](_0x25c1cb=>[_0x25c1cb[_0x3096a6(0x1d7)],_0x25c1cb[_0x3096a6(0x1bd)]])),[_0x118ccf,_0x4de732]=await Promise['all']([listBffScripts(_0x2b31b7['appCode']),getBffScriptStatistics(_0x2b31b7[_0x3096a6(0x1c8)])]),_0x3e23ce=createHookLocationMap(_0x4de732),_0x1df5b3=new Set(_0x3a5cf1[_0x3096a6(0x1c3)](_0x444691=>_0x444691[_0x3096a6(0x1be)]));for(const _0x276d00 of _0x118ccf){const _0x51b3bd=resolveRemoteScriptTarget(_0x36ce87,_0x276d00,_0x3e23ce,_0x3a2b68['functions'],_0x1e1682);_0x51b3bd&&!_0x1df5b3[_0x3096a6(0x1cf)](_0x51b3bd['lockKey'])&&_0xd0cc07[_0x3096a6(0x1c2)](_0x51b3bd[_0x3096a6(0x1be)]);}}const _0x3e7e7a=_0x21271e[_0x3096a6(0x1c4)]===0x0&&_0xdb922e[_0x3096a6(0x1c4)]===0x0&&_0xd0cc07['length']===0x0;return{'ok':!![],'data':{'added':_0x21271e,'modified':_0xdb922e,'unchanged':_0x898af8,'remoteOnly':_0xd0cc07},'message':_0x3e7e7a?_0x3096a6(0x1c0):_0x21271e[_0x3096a6(0x1c4)]+'\x20added,\x20'+_0xdb922e[_0x3096a6(0x1c4)]+_0x3096a6(0x1bf)+_0x898af8[_0x3096a6(0x1c4)]+_0x3096a6(0x1d0)+(_0xd0cc07[_0x3096a6(0x1c4)]>0x0?',\x20'+_0xd0cc07['length']+_0x3096a6(0x1d1):'')};}};function a32_0x2f82(){const _0x390b74=['144SIAbFF','436964QsKYqo','alias','lockKey','\x20modified,\x20','All\x20BFF\x20scripts\x20are\x20in\x20sync.','remote','push','map','length','read','20363ubsKpH','1096RjWzVC','appCode','9869688gHfWZR','status','scriptsRoot','233195NLICrQ','25589360LGenxT','boolean','has','\x20unchanged','\x20remote-only','976140nZhnXP','functions','3mMEgIc','3198668WkkOmw','bff','datasetCode','filePath','Also\x20check\x20for\x20remote-only\x20scripts\x20not\x20present\x20locally','Check\x20local\x20BFF\x20sync\x20status\x20against\x20lock\x20file'];a32_0x2f82=function(){return _0x390b74;};return a32_0x2f82();}
1
+ const a32_0x55f3ea=a32_0x1dd9;function a32_0x2df8(){const _0x894f60=['length','8zgMEtL','1102064zptDqY','lockKey','814877jYGHdT','read','10rSECWA','all','4842345WMefzu','datasetCode','2150648YTmyMJ','Also\x20check\x20for\x20remote-only\x20scripts\x20not\x20present\x20locally','appCode','38386898MrDoHQ','12wPnMtD','\x20remote-only','24195NIHqjF','map','has','All\x20BFF\x20scripts\x20are\x20in\x20sync.','push','filePath','functions','lockFilePath','bool','\x20unchanged','status','apiDir','2311893ROOowo','92XCCzAm','\x20modified,\x20','scriptsRoot'];a32_0x2df8=function(){return _0x894f60;};return a32_0x2df8();}(function(_0x28c98d,_0x42402c){const _0x35748f=a32_0x1dd9,_0x8451aa=_0x28c98d();while(!![]){try{const _0x873062=-parseInt(_0x35748f(0x157))/0x1+-parseInt(_0x35748f(0x15f))/0x2+parseInt(_0x35748f(0x165))/0x3*(parseInt(_0x35748f(0x152))/0x4)+-parseInt(_0x35748f(0x15d))/0x5+-parseInt(_0x35748f(0x163))/0x6*(parseInt(_0x35748f(0x159))/0x7)+parseInt(_0x35748f(0x156))/0x8*(parseInt(_0x35748f(0x151))/0x9)+-parseInt(_0x35748f(0x15b))/0xa*(-parseInt(_0x35748f(0x162))/0xb);if(_0x873062===_0x42402c)break;else _0x8451aa['push'](_0x8451aa['shift']());}catch(_0x42f23e){_0x8451aa['push'](_0x8451aa['shift']());}}}(a32_0x2df8,0x871c3));import{listBffScripts,getBffScriptStatistics}from'../../core/api-client.js';import{loadAliasMap}from'../../core/alias-resolver.js';import{resolveApiFilePath}from'../../context.js';function a32_0x1dd9(_0x478c10,_0x442a74){_0x478c10=_0x478c10-0x146;const _0x2df887=a32_0x2df8();let _0x1dd9f3=_0x2df887[_0x478c10];return _0x1dd9f3;}import{loadBffProjectConfig}from'../../core/bff/config.js';import{createHookLocationMap,resolveRemoteScriptTarget,scanLocalBffFunctions}from'../../core/bff/file-system.js';import{computeFileHash}from'../../core/bff/hash.js';import{createEmptyBffLock,ensureLockScope,readBffLockFile}from'../../core/bff/lock.js';export const bffStatus={'service':'bff','command':a32_0x55f3ea(0x14f),'description':'Check\x20local\x20BFF\x20sync\x20status\x20against\x20lock\x20file','risk':a32_0x55f3ea(0x15a),'flags':[{'name':'remote','type':'boolean','description':a32_0x55f3ea(0x160)}],async 'execute'(_0x3eabd1){const _0x117a1a=a32_0x55f3ea,_0x2ba5b7=loadBffProjectConfig(_0x3eabd1['appCode']),_0x2f8e09=await readBffLockFile(_0x2ba5b7[_0x117a1a(0x14c)]),{appLock:_0x2dd7c7}=ensureLockScope(_0x2f8e09??createEmptyBffLock(),_0x3eabd1['appCode'],_0x2ba5b7[_0x117a1a(0x154)],_0x117a1a(0x14f)),_0x2682ad=await scanLocalBffFunctions(_0x2ba5b7),_0x5ba7f8=[],_0x5d6705=[],_0x4f091f=[];for(const _0x485b5a of _0x2682ad){const _0x27b7aa=await computeFileHash(_0x485b5a[_0x117a1a(0x14a)]),_0x299f86=_0x2dd7c7[_0x117a1a(0x14b)][_0x485b5a[_0x117a1a(0x158)]];if(!_0x299f86)_0x5ba7f8[_0x117a1a(0x149)](_0x485b5a['lockKey']);else _0x299f86['hash']!==_0x27b7aa?_0x5d6705[_0x117a1a(0x149)](_0x485b5a['lockKey']):_0x4f091f['push'](_0x485b5a[_0x117a1a(0x158)]);}const _0x5da9e4=[];if(_0x3eabd1[_0x117a1a(0x14d)]('remote')){const _0xdbe8c1=loadAliasMap(_0x3eabd1['apiDir'],undefined,resolveApiFilePath(_0x3eabd1[_0x117a1a(0x150)],_0x3eabd1['appCode'])),_0x2f3933=new Map(_0xdbe8c1[_0x117a1a(0x146)](_0x4186b3=>[_0x4186b3[_0x117a1a(0x15e)],_0x4186b3['alias']])),[_0x4bf9fb,_0x4fd0c5]=await Promise[_0x117a1a(0x15c)]([listBffScripts(_0x3eabd1[_0x117a1a(0x161)]),getBffScriptStatistics(_0x3eabd1[_0x117a1a(0x161)])]),_0x1a065f=createHookLocationMap(_0x4fd0c5),_0x2e1406=new Set(_0x2682ad[_0x117a1a(0x146)](_0x453368=>_0x453368[_0x117a1a(0x158)]));for(const _0xe00a51 of _0x4bf9fb){const _0x33b3fb=resolveRemoteScriptTarget(_0x2ba5b7,_0xe00a51,_0x1a065f,_0x2dd7c7[_0x117a1a(0x14b)],_0x2f3933);_0x33b3fb&&!_0x2e1406[_0x117a1a(0x147)](_0x33b3fb['lockKey'])&&_0x5da9e4[_0x117a1a(0x149)](_0x33b3fb[_0x117a1a(0x158)]);}}const _0x23c173=_0x5ba7f8['length']===0x0&&_0x5d6705[_0x117a1a(0x155)]===0x0&&_0x5da9e4['length']===0x0;return{'ok':!![],'data':{'added':_0x5ba7f8,'modified':_0x5d6705,'unchanged':_0x4f091f,'remoteOnly':_0x5da9e4},'message':_0x23c173?_0x117a1a(0x148):_0x5ba7f8[_0x117a1a(0x155)]+'\x20added,\x20'+_0x5d6705['length']+_0x117a1a(0x153)+_0x4f091f[_0x117a1a(0x155)]+_0x117a1a(0x14e)+(_0x5da9e4[_0x117a1a(0x155)]>0x0?',\x20'+_0x5da9e4[_0x117a1a(0x155)]+_0x117a1a(0x164):'')};}};