@lovrabet/rabetbase-cli 2.2.1-beta.2 → 2.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/api/api-doc.js +1 -1
- package/lib/api/fetch-model-list.js +1 -1
- package/lib/api/generate-api-file.js +1 -1
- package/lib/auth/auth-server-ui.js +1 -1
- package/lib/auth/auth-server.js +1 -1
- package/lib/auth/constant.js +1 -1
- package/lib/auth/get-cookie.js +1 -1
- package/lib/auth/get-session-user.js +1 -1
- package/lib/auth/is-session-valid.js +1 -1
- package/lib/auth/login-success-html.js +1 -1
- package/lib/auth/logout.js +1 -1
- package/lib/cli-flags.js +1 -1
- package/lib/cli.js +1 -1
- package/lib/commands/api/generate.js +1 -1
- package/lib/commands/api/index.js +1 -1
- package/lib/commands/api/list.js +1 -1
- package/lib/commands/api/pull.js +1 -1
- package/lib/commands/api/shared.js +1 -1
- package/lib/commands/app/add.js +1 -1
- package/lib/commands/app/discover.js +1 -1
- package/lib/commands/app/index.js +1 -1
- package/lib/commands/app/list.js +1 -1
- package/lib/commands/app/remove.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app/use.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/bff/create.js +1 -1
- package/lib/commands/bff/delete.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/bff/list.js +1 -1
- package/lib/commands/bff/pull.js +1 -1
- package/lib/commands/bff/push.js +1 -1
- package/lib/commands/bff/status.js +1 -1
- package/lib/commands/cli-update.js +1 -1
- package/lib/commands/codegen/index.js +1 -1
- package/lib/commands/codegen/sdk.js +1 -1
- package/lib/commands/codegen/sql.js +1 -1
- package/lib/commands/common/app-selector.js +1 -1
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/common/validate.js +1 -1
- package/lib/commands/config/get.js +1 -1
- package/lib/commands/config/index.js +1 -1
- package/lib/commands/config/list.js +1 -1
- package/lib/commands/config/set.js +1 -1
- package/lib/commands/config/shared.js +1 -1
- package/lib/commands/data/filter.js +1 -1
- package/lib/commands/data/getOne.js +1 -1
- package/lib/commands/data/index.js +1 -1
- package/lib/commands/data/shared.js +1 -1
- package/lib/commands/dataset/capability.js +1 -1
- package/lib/commands/dataset/delete.js +1 -1
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/extend-update.js +1 -1
- package/lib/commands/dataset/field-update.js +1 -1
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/operations.js +1 -1
- package/lib/commands/dataset/relation-create.js +1 -1
- package/lib/commands/dataset/relation-delete.js +1 -1
- package/lib/commands/dataset/relation-shared.js +1 -1
- package/lib/commands/dataset/relation-update.js +1 -1
- package/lib/commands/dataset/relations.js +1 -1
- package/lib/commands/dataset/rename.js +1 -1
- package/lib/commands/db/analyze-cancel.js +1 -1
- package/lib/commands/db/analyze-start.js +1 -1
- package/lib/commands/db/analyze-status.js +1 -1
- package/lib/commands/db/create.js +1 -1
- package/lib/commands/db/delete.js +1 -1
- package/lib/commands/db/detail.js +1 -1
- package/lib/commands/db/diff.js +1 -1
- package/lib/commands/db/index.js +1 -1
- package/lib/commands/db/list.js +1 -1
- package/lib/commands/db/shared.js +1 -1
- package/lib/commands/db/tables.js +1 -1
- package/lib/commands/db/test.js +1 -1
- package/lib/commands/db/update.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/init/index.js +1 -1
- package/lib/commands/issue/index.js +1 -1
- package/lib/commands/issue/nudge.js +1 -1
- package/lib/commands/issue/report.js +1 -1
- package/lib/commands/issue/shared.js +1 -1
- package/lib/commands/logs/index.js +1 -1
- package/lib/commands/menu/index.js +1 -1
- package/lib/commands/menu/shared/compare-table.js +1 -1
- package/lib/commands/menu/shared/index.js +1 -1
- package/lib/commands/menu/shared/inquirer.js +1 -1
- package/lib/commands/menu/shared/local-pages.js +1 -1
- package/lib/commands/menu/shared/logic.js +1 -1
- package/lib/commands/menu/shared/service.js +1 -1
- package/lib/commands/menu/shared/sync-core.js +1 -1
- package/lib/commands/menu/shared/update-core.js +1 -1
- package/lib/commands/menu/shared/valid-url.js +1 -1
- package/lib/commands/menu/sync.js +1 -1
- package/lib/commands/menu/update.js +1 -1
- package/lib/commands/page/generate-start.js +1 -1
- package/lib/commands/page/generate-status.js +1 -1
- package/lib/commands/page/index.js +1 -1
- package/lib/commands/page/pull.js +1 -1
- package/lib/commands/page/push.js +1 -1
- package/lib/commands/page/relation-audit.js +1 -1
- package/lib/commands/page/shared.js +1 -1
- package/lib/commands/page/standard-page-status.js +1 -1
- package/lib/commands/page/sync.js +1 -1
- package/lib/commands/project/create/enhanced-guided-create.js +1 -1
- package/lib/commands/project/create/format-elapsed.js +1 -1
- package/lib/commands/project/create/main.js +1 -1
- package/lib/commands/project/create/non-interactive.js +1 -1
- package/lib/commands/project/create/project-template-path.js +1 -1
- package/lib/commands/project/create/use-copy-project-template.js +1 -1
- package/lib/commands/project/create/use-format-code.js +1 -1
- package/lib/commands/project/create/use-install-dependencies.js +1 -1
- package/lib/commands/project/index.js +1 -1
- package/lib/commands/project/init.js +1 -1
- package/lib/commands/project/upgrade.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/run/index.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/skill/index.js +1 -1
- package/lib/commands/sql/create.js +1 -1
- package/lib/commands/sql/delete.js +1 -1
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/sql/list.js +1 -1
- package/lib/commands/sql/pull.js +1 -1
- package/lib/commands/sql/push.js +1 -1
- package/lib/commands/sql/save.js +1 -1
- package/lib/commands/sql/shared.js +1 -1
- package/lib/commands/sql/status.js +1 -1
- package/lib/commands/sql/validate.js +1 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/cdn.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/paths.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/context.js +1 -1
- package/lib/core/alias-resolver.js +1 -1
- package/lib/core/api-client.js +1 -1
- package/lib/core/bff/config.js +1 -1
- package/lib/core/bff/file-system.js +1 -1
- package/lib/core/bff/hash.js +1 -1
- package/lib/core/bff/lock.js +1 -1
- package/lib/core/bff/utils.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/page/file-system.js +1 -1
- package/lib/core/page/hash.js +1 -1
- package/lib/core/page/lock.js +1 -1
- package/lib/core/sql-sync/config.js +1 -1
- package/lib/core/sql-sync/file-system.js +1 -1
- package/lib/core/sql-sync/hash.js +1 -1
- package/lib/core/sql-sync/lock.js +1 -1
- package/lib/core/sql-sync/utils.js +1 -1
- package/lib/core/sql-validator.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/flags.js +1 -1
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-alias.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.js +1 -1
- package/lib/help.js +1 -1
- package/lib/skills/main.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/telemetry/cli-command-trace.js +1 -1
- package/lib/telemetry/cli-help-trace.js +1 -1
- package/lib/telemetry/ensure-cli-otel-config.js +1 -1
- package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
- package/lib/telemetry/send-cli-trace-log.js +1 -1
- package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
- package/lib/utils/ai_config.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/cdn-config.js +1 -1
- package/lib/utils/check-sdk-version.js +1 -1
- package/lib/utils/cli-version-check.js +1 -1
- package/lib/utils/cli-version-policy.js +1 -1
- package/lib/utils/config.js +1 -1
- package/lib/utils/copy-directory.js +1 -1
- package/lib/utils/entity-with-id.js +1 -1
- package/lib/utils/file-utils.js +1 -1
- package/lib/utils/guides-cdn.js +1 -1
- package/lib/utils/http-client.js +1 -1
- package/lib/utils/is-non-interactive.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/platform.js +1 -1
- package/lib/utils/rules-cdn.js +1 -1
- package/lib/utils/sleep.js +1 -1
- package/lib/utils/template-replacer.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/with-active-cookie.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a19_0x4061b0=a19_0x552c;(function(_0x108d5f,_0x36f994){const _0x19b286=a19_0x552c,_0x56216c=_0x108d5f();while(!![]){try{const _0xd0a9e3=-parseInt(_0x19b286(0x155))/0x1+parseInt(_0x19b286(0x14c))/0x2*(parseInt(_0x19b286(0x153))/0x3)+parseInt(_0x19b286(0x14f))/0x4+parseInt(_0x19b286(0x149))/0x5+parseInt(_0x19b286(0x14b))/0x6+-parseInt(_0x19b286(0x145))/0x7+-parseInt(_0x19b286(0x147))/0x8*(-parseInt(_0x19b286(0x14d))/0x9);if(_0xd0a9e3===_0x36f994)break;else _0x56216c['push'](_0x56216c['shift']());}catch(_0x1c4ca2){_0x56216c['push'](_0x56216c['shift']());}}}(a19_0x4d33,0xead60));import{listRemoteApps}from'../../core/api-client.js';function a19_0x552c(_0xcd8f66,_0x301760){_0xcd8f66=_0xcd8f66-0x143;const _0x4d33f4=a19_0x4d33();let _0x552c2e=_0x4d33f4[_0xcd8f66];return _0x552c2e;}function a19_0x4d33(){const _0xad0695=['platform','553161VCAlPc','map','1697002dIHnwo','../../core/api-client.js','cookie','12455961RpycxX','appDesc','208BEIpQF','List\x20apps\x20available\x20on\x20the\x20platform\x20for\x20the\x20current\x20login','6053275XrDgJd','appCode','1757310nmnbXX','20nEgVVQ','244071VzValq','app','1543236rkgytT','appName','remote'];a19_0x4d33=function(){return _0xad0695;};return a19_0x4d33();}async function execute(_0x2c3325){const _0x38fe68=a19_0x552c,{setActiveCookie:_0x755adf}=await import(_0x38fe68(0x143));_0x755adf(_0x2c3325[_0x38fe68(0x144)]);const _0x31ff53=await listRemoteApps();return{'ok':!![],'data':{'items':_0x31ff53[_0x38fe68(0x154)](_0x40cc84=>({..._0x40cc84['id']!=null?{'id':_0x40cc84['id']}:{},'appCode':_0x40cc84[_0x38fe68(0x14a)],'appName':_0x40cc84[_0x38fe68(0x150)],..._0x40cc84[_0x38fe68(0x146)]!=null?{'appDesc':_0x40cc84[_0x38fe68(0x146)]}:{}})),'meta':{'source':_0x38fe68(0x152)}}};}export const appRemoteDefinition={'service':a19_0x4061b0(0x14e),'command':a19_0x4061b0(0x151),'description':a19_0x4061b0(0x148),'risk':'read','requiresAuth':!![],'requiresAppCode':![],'flags':[],'execute':execute};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x2ff009,_0xfe4aea){const _0x62f7da=a20_0x2e7d,_0x3d1e66=_0x2ff009();while(!![]){try{const _0x43466e=parseInt(_0x62f7da(0x8d))/0x1*(-parseInt(_0x62f7da(0x8c))/0x2)+parseInt(_0x62f7da(0x93))/0x3*(-parseInt(_0x62f7da(0x92))/0x4)+-parseInt(_0x62f7da(0x89))/0x5*(-parseInt(_0x62f7da(0x88))/0x6)+parseInt(_0x62f7da(0x91))/0x7*(parseInt(_0x62f7da(0x8a))/0x8)+-parseInt(_0x62f7da(0x8f))/0x9*(-parseInt(_0x62f7da(0x8e))/0xa)+parseInt(_0x62f7da(0x90))/0xb+parseInt(_0x62f7da(0x8b))/0xc;if(_0x43466e===_0xfe4aea)break;else _0x3d1e66['push'](_0x3d1e66['shift']());}catch(_0x4aa99d){_0x3d1e66['push'](_0x3d1e66['shift']());}}}(a20_0x5095,0x7bfc8));import{appListDefinition}from'../../commands/app/list.js';import{appRemoteDefinition}from'../../commands/app/discover.js';import{appUseDefinition}from'../../commands/app/use.js';import{appAddDefinition}from'../../commands/app/add.js';import{appRemoveDefinition}from'../../commands/app/remove.js';function a20_0x2e7d(_0x4729e2,_0x4a4e31){_0x4729e2=_0x4729e2-0x88;const _0x50950b=a20_0x5095();let _0x2e7d11=_0x50950b[_0x4729e2];return _0x2e7d11;}function a20_0x5095(){const _0x3d5386=['5413518hxlcfm','21qoNAtp','4TQqLKr','1714881MDegiP','1062858dZKLOZ','15oFbhVI','1380008LlGbTz','2631660kiIiXQ','542Vvajbf','3719eciQTh','210EKhcJh','140121MaHIJb'];a20_0x5095=function(){return _0x3d5386;};return a20_0x5095();}export const appDefinitions=[appListDefinition,appRemoteDefinition,appUseDefinition,appAddDefinition,appRemoveDefinition];
|
package/lib/commands/app/list.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a21_0x29d53b=a21_0x5e7e;(function(_0x4bd777,_0x1b90ad){const _0x55ab15=a21_0x5e7e,_0x2e9a1e=_0x4bd777();while(!![]){try{const _0x9ea2e5=-parseInt(_0x55ab15(0x1b9))/0x1+-parseInt(_0x55ab15(0x19d))/0x2+-parseInt(_0x55ab15(0x1aa))/0x3+-parseInt(_0x55ab15(0x1b1))/0x4*(-parseInt(_0x55ab15(0x1b6))/0x5)+-parseInt(_0x55ab15(0x1a2))/0x6*(-parseInt(_0x55ab15(0x1ab))/0x7)+-parseInt(_0x55ab15(0x198))/0x8*(-parseInt(_0x55ab15(0x1b3))/0x9)+parseInt(_0x55ab15(0x1af))/0xa;if(_0x9ea2e5===_0x1b90ad)break;else _0x2e9a1e['push'](_0x2e9a1e['shift']());}catch(_0x32fd9a){_0x2e9a1e['push'](_0x2e9a1e['shift']());}}}(a21_0x24c6,0xea614));import{readRawConfigWithLayers}from'../../context.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{buildAppProfileListFields}from'../../config/schema.js';import{appDefinedIn,enrichAppListItemsWithMergedSelection,resolveDefaultAppSource}from'../../commands/app/shared.js';function buildItemsFromLayer(_0x35cd81,_0x26ded5){const _0x565200=a21_0x5e7e,_0x2c836d=[],_0x3c9b9a=_0x35cd81[_0x565200(0x197)]&&typeof _0x35cd81[_0x565200(0x197)]===_0x565200(0x19f)?_0x35cd81[_0x565200(0x197)]:{},_0x2b0dd1=_0x35cd81[_0x565200(0x1a5)]||undefined;for(const [_0x44d8ac,_0xab15da]of Object[_0x565200(0x1ae)](_0x3c9b9a)){if(!_0xab15da||typeof _0xab15da!==_0x565200(0x19f)||!_0xab15da['appcode'])continue;_0x2c836d[_0x565200(0x1b2)]({'name':_0x44d8ac,'appcode':_0xab15da[_0x565200(0x1a7)],'named':!![],'definedIn':_0x26ded5,'isDefault':_0x44d8ac===_0x2b0dd1,...buildAppProfileListFields(_0xab15da)});}return _0x2c836d;}function buildMergedItems(_0x59e2b2,_0x4ec83e){const _0x1ffaa2=a21_0x5e7e,{apps:apps={},defaultApp:_0x41e3c4}=_0x59e2b2,_0x55fc9a=_0x4ec83e[_0x1ffaa2(0x1b4)][_0x1ffaa2(0x197)]&&typeof _0x4ec83e[_0x1ffaa2(0x1b4)]['apps']==='object'?_0x4ec83e['globalConfig'][_0x1ffaa2(0x197)]:{},_0x150894=_0x4ec83e[_0x1ffaa2(0x19b)][_0x1ffaa2(0x197)]&&typeof _0x4ec83e[_0x1ffaa2(0x19b)][_0x1ffaa2(0x197)]==='object'?_0x4ec83e['projectConfig'][_0x1ffaa2(0x197)]:{},_0x27136b=_0x4ec83e[_0x1ffaa2(0x19b)][_0x1ffaa2(0x1a8)]===![],_0x14d30b=Object[_0x1ffaa2(0x1ae)](apps),_0x2657d7=_0x14d30b['map'](([_0x4d3680,_0x55b904])=>({'name':_0x4d3680,'appcode':_0x55b904['appcode'],'named':!![],'definedIn':appDefinedIn(_0x4d3680,_0x55fc9a,_0x150894,_0x27136b),'isDefault':_0x4d3680===_0x41e3c4,...buildAppProfileListFields(_0x55b904)}));return _0x2657d7;}function a21_0x24c6(){const _0x5356cd=['app','defaultApp','read','appcode','inherit','length','246918xWmoJy','7oscJBT','project','global','entries','15299240ScoJWT','\x20app\x20add\x20<name>\x20--appcode\x20<code>`\x20to\x20add\x20one.','157616FUhDox','push','310491KphLZh','globalConfig','merged','50XRORNc','bool','boolean','1474097IOWfTc','apps','296KlPGRX','.\x20Use\x20`','Show\x20only\x20apps\x20from\x20global\x20~/.rabetbase.json','projectConfig','isCurrent','3045738mfhmgp','\x20in\x20','object','globalPath','projectPath','5033190NYAxsS','list'];a21_0x24c6=function(){return _0x5356cd;};return a21_0x24c6();}async function execute(_0x50aaf0){const _0x21e693=a21_0x5e7e,_0x16d0f2=_0x50aaf0[_0x21e693(0x1b7)](_0x21e693(0x1ad)),_0x4c6bf0=_0x50aaf0['bool'](_0x21e693(0x1ac)),_0x4ad91e=_0x16d0f2?_0x21e693(0x1ad):_0x4c6bf0?_0x21e693(0x1ac):'merged',{config:_0x5062a6,layers:_0x1092a8}=readRawConfigWithLayers(),_0x5063dd=resolveDefaultAppSource(_0x1092a8),{defaultApp:_0x4adda9}=_0x5062a6;let _0x463cef,_0x5cc091;switch(_0x4ad91e){case'global':_0x463cef=buildItemsFromLayer(_0x1092a8[_0x21e693(0x1b4)],'global'),_0x5cc091=_0x1092a8['globalPath'];break;case _0x21e693(0x1ac):_0x463cef=buildItemsFromLayer(_0x1092a8[_0x21e693(0x19b)],_0x21e693(0x1ac)),_0x5cc091=_0x1092a8[_0x21e693(0x1a1)];break;default:_0x463cef=buildMergedItems(_0x5062a6,_0x1092a8);break;}enrichAppListItemsWithMergedSelection(_0x463cef,_0x50aaf0['mergedCli']);if(_0x463cef[_0x21e693(0x1a9)]===0x0){const _0x47d071=_0x4ad91e===_0x21e693(0x1b5)?'':_0x21e693(0x19e)+_0x4ad91e+'\x20config';return{'ok':!![],'data':[],'message':'No\x20apps\x20configured'+_0x47d071+_0x21e693(0x199)+CLI_BIN_NAME+_0x21e693(0x1b0)};}const _0x22b887=_0x463cef['find'](_0x3fadb4=>_0x3fadb4[_0x21e693(0x19c)]===!![]),_0xf132d6=_0x4adda9??_0x22b887?.['appcode']??null,_0x578f30=_0x4ad91e===_0x21e693(0x1b5)?{'globalPath':_0x1092a8[_0x21e693(0x1a0)]??null,'projectPath':_0x1092a8[_0x21e693(0x1a1)]??null,'defaultApp':_0xf132d6,'defaultAppSource':_0x4adda9!=null?_0x5063dd:null}:{'scope':_0x4ad91e,'configPath':_0x5cc091??null};return{'ok':!![],'data':{'items':_0x463cef,'meta':_0x578f30}};}function a21_0x5e7e(_0x567148,_0x1ae268){_0x567148=_0x567148-0x197;const _0x24c666=a21_0x24c6();let _0x5e7ec8=_0x24c666[_0x567148];return _0x5e7ec8;}export const appListDefinition={'service':a21_0x29d53b(0x1a4),'command':a21_0x29d53b(0x1a3),'description':'List\x20all\x20configured\x20apps','risk':a21_0x29d53b(0x1a6),'requiresAuth':![],'requiresAppCode':![],'flags':[{'name':a21_0x29d53b(0x1ad),'type':a21_0x29d53b(0x1b8),'description':a21_0x29d53b(0x19a),'default':![]},{'name':'project','type':'boolean','description':'Show\x20only\x20apps\x20from\x20project\x20.rabetbase.json','default':![]}],'execute':execute};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a22_0x1fdeed=a22_0x333b;(function(_0x939998,_0x273ec4){const _0x4298eb=a22_0x333b,_0xae6990=_0x939998();while(!![]){try{const _0x549e01=-parseInt(_0x4298eb(0xcb))/0x1*(-parseInt(_0x4298eb(0xe0))/0x2)+parseInt(_0x4298eb(0xd4))/0x3*(parseInt(_0x4298eb(0xe4))/0x4)+parseInt(_0x4298eb(0xc9))/0x5*(parseInt(_0x4298eb(0xea))/0x6)+-parseInt(_0x4298eb(0xce))/0x7*(-parseInt(_0x4298eb(0xca))/0x8)+-parseInt(_0x4298eb(0xd1))/0x9+parseInt(_0x4298eb(0xee))/0xa+-parseInt(_0x4298eb(0xd2))/0xb;if(_0x549e01===_0x273ec4)break;else _0xae6990['push'](_0xae6990['shift']());}catch(_0x44b6c5){_0xae6990['push'](_0xae6990['shift']());}}}(a22_0xc705,0xccf08));function a22_0x333b(_0xe0b46,_0x3b34e4){_0xe0b46=_0xe0b46-0xc7;const _0xc70596=a22_0xc705();let _0x333bbc=_0xc70596[_0xe0b46];return _0x333bbc;}import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{readRawConfigWithLayers}from'../../context.js';import{readConfig,writeConfig,scopeLabel,resolveAppScopeForWrite,appDefinedIn}from'../../commands/app/shared.js';async function validateArgs(_0x5abdbe){const _0x3c8bee=a22_0x333b,_0x35a2f7=_0x5abdbe[_0x3c8bee(0xe5)][0x0]?.[_0x3c8bee(0xdc)]();if(!_0x35a2f7)throw CliErrors[_0x3c8bee(0xde)](_0x3c8bee(0xda),'Usage:\x20'+CLI_BIN_NAME+_0x3c8bee(0xe7));}function a22_0xc705(){const _0x493778=['8UmhyLC','938746EQvaDG','\x20config.','both','7414967Luiacn','inherit','\x20Default\x20app\x20changed\x20to\x20\x22','6850053snmkQk','37289021gCokTp','length','39kRKvYo','global','boolean','keys','project','high-risk-write','Missing\x20app\x20name.','remove','trim','bool','validation','Use\x20global\x20config\x20scope','2hBArtf','App\x20\x22','\x22\x20not\x20found.','Remove\x20an\x20app\x20from\x20config','468424PnrODb','args','\x20Note:\x20app\x20\x22','\x20app\x20remove\x20<name>\x20[--global]','projectConfig','object','1734HkYRIA','apps','defaultApp','App\x20profile\x20name\x20to\x20remove','14694770dJYkyp','globalConfig','Removed\x20app\x20\x22','10uXOgHF'];a22_0xc705=function(){return _0x493778;};return a22_0xc705();}async function execute(_0x22ea86){const _0x4ce783=a22_0x333b,_0x109dcc=_0x22ea86['args'][0x0]?.[_0x4ce783(0xdc)]();if(!_0x109dcc)throw CliErrors['validation'](_0x4ce783(0xda),'Usage:\x20'+CLI_BIN_NAME+_0x4ce783(0xe7));const _0xb71566=_0x22ea86[_0x4ce783(0xdd)]('global'),{config:_0x15dd82,layers:_0x66b2a3}=readRawConfigWithLayers(),_0x3ce569=_0x15dd82[_0x4ce783(0xeb)]??{};if(!_0x3ce569[_0x109dcc])throw CliErrors['validation']('App\x20\x22'+_0x109dcc+'\x22\x20not\x20found.');const _0x253948=_0x66b2a3[_0x4ce783(0xc7)]['apps']&&typeof _0x66b2a3['globalConfig'][_0x4ce783(0xeb)]===_0x4ce783(0xe9)?_0x66b2a3[_0x4ce783(0xc7)][_0x4ce783(0xeb)]:{},_0x5cf308=_0x66b2a3[_0x4ce783(0xe8)][_0x4ce783(0xeb)]&&typeof _0x66b2a3[_0x4ce783(0xe8)][_0x4ce783(0xeb)]===_0x4ce783(0xe9)?_0x66b2a3[_0x4ce783(0xe8)]['apps']:{},_0x13281b=appDefinedIn(_0x109dcc,_0x253948,_0x5cf308,_0x66b2a3[_0x4ce783(0xe8)][_0x4ce783(0xcf)]===![]),_0x4bb014=resolveAppScopeForWrite(_0x109dcc,_0xb71566,_0x66b2a3),_0x598f96={'global':_0x4bb014===_0x4ce783(0xd5)},_0x4865d9=readConfig(_0x598f96),_0x3bc3e7=_0x4865d9['apps'];if(!_0x3bc3e7||!_0x3bc3e7[_0x109dcc])throw CliErrors[_0x4ce783(0xde)](_0x4ce783(0xe1)+_0x109dcc+_0x4ce783(0xe2));delete _0x3bc3e7[_0x109dcc];let _0x42e420='';if(_0x4865d9[_0x4ce783(0xec)]===_0x109dcc){const _0x509899=Object[_0x4ce783(0xd7)](_0x3bc3e7);_0x4865d9[_0x4ce783(0xec)]=_0x509899[_0x4ce783(0xd3)]>0x0?_0x509899[0x0]:undefined,_0x4865d9[_0x4ce783(0xec)]?_0x42e420=_0x4ce783(0xd0)+_0x4865d9[_0x4ce783(0xec)]+'\x22.':delete _0x4865d9[_0x4ce783(0xec)];}Object[_0x4ce783(0xd7)](_0x3bc3e7)[_0x4ce783(0xd3)]===0x0&&(delete _0x4865d9['apps'],delete _0x4865d9[_0x4ce783(0xec)]);writeConfig(_0x4865d9,_0x598f96);const _0x4d6004=_0x13281b===_0x4ce783(0xcd)?_0x4ce783(0xe6)+_0x109dcc+'\x22\x20still\x20defined\x20in\x20'+(_0x4bb014===_0x4ce783(0xd8)?'global':_0x4ce783(0xd8))+_0x4ce783(0xcc):'';return{'ok':!![],'message':_0x4ce783(0xc8)+_0x109dcc+'\x22'+scopeLabel(_0x598f96)+'.'+_0x42e420+_0x4d6004};}export const appRemoveDefinition={'service':'app','command':a22_0x1fdeed(0xdb),'description':a22_0x1fdeed(0xe3),'risk':a22_0x1fdeed(0xd9),'requiresAuth':![],'requiresAppCode':![],'args':[{'name':'name','description':a22_0x1fdeed(0xed),'required':!![]}],'flags':[{'name':a22_0x1fdeed(0xd5),'type':a22_0x1fdeed(0xd6),'description':a22_0x1fdeed(0xdf),'default':![]}],'validate':validateArgs,'execute':execute};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a23_0x3d43(){const _0x3428ed=['keys','apps','currentApp','301974NNpcyG','name','10025874MLJbzo','hasOwnProperty','project','call','48TOXzgz','\x20(global)','70410LomVYY','trim','defaultApp','length','1488515HRaEZN','projectConfig','appcode','80TdfzGt','7231386THjQAr','5867330mPHJMB','2447296fJikdT','appCode','both','named','globalConfig','isCurrent','global','object','prototype'];a23_0x3d43=function(){return _0x3428ed;};return a23_0x3d43();}function a23_0x4d59(_0x11ee9d,_0xbd2c07){_0x11ee9d=_0x11ee9d-0x7b;const _0x3d432d=a23_0x3d43();let _0x4d59bb=_0x3d432d[_0x11ee9d];return _0x4d59bb;}(function(_0xe532ff,_0x419624){const _0xeb3d20=a23_0x4d59,_0x34613c=_0xe532ff();while(!![]){try{const _0xb5b700=-parseInt(_0xeb3d20(0x93))/0x1+parseInt(_0xeb3d20(0x84))/0x2*(-parseInt(_0xeb3d20(0x7d))/0x3)+-parseInt(_0xeb3d20(0x87))/0x4+parseInt(_0xeb3d20(0x86))/0x5+parseInt(_0xeb3d20(0x85))/0x6+parseInt(_0xeb3d20(0x81))/0x7*(parseInt(_0xeb3d20(0x7b))/0x8)+-parseInt(_0xeb3d20(0x95))/0x9;if(_0xb5b700===_0x419624)break;else _0x34613c['push'](_0x34613c['shift']());}catch(_0xb6a9d6){_0x34613c['push'](_0x34613c['shift']());}}}(a23_0x3d43,0xa7f6f));import{resolveWriteConfigPath,readConfigFile,writeConfigFile}from'../../context.js';export function enrichAppListItemsWithMergedSelection(_0x26399c,_0x3a237b){const _0xc3b9fa=a23_0x4d59;if(!_0x3a237b)return;const _0x3c9fdb=_0x3a237b[_0xc3b9fa(0x91)]&&typeof _0x3a237b[_0xc3b9fa(0x91)]===_0xc3b9fa(0x8e)?_0x3a237b[_0xc3b9fa(0x91)]:{},_0xd7ce08=Object[_0xc3b9fa(0x90)](_0x3c9fdb)[_0xc3b9fa(0x80)]>0x0;for(const _0x36cc04 of _0x26399c){_0x36cc04['isCurrent']=![];}const _0x450dc4=_0x3a237b[_0xc3b9fa(0x88)]!=null?String(_0x3a237b[_0xc3b9fa(0x88)])['trim']():'';if(_0xd7ce08){const _0x17130f=_0x3a237b[_0xc3b9fa(0x92)]??_0x3a237b['defaultApp'];if(_0x17130f)for(const _0x6e510f of _0x26399c){_0x6e510f[_0xc3b9fa(0x8a)]===!![]&&_0x6e510f[_0xc3b9fa(0x94)]===_0x17130f&&(_0x6e510f[_0xc3b9fa(0x8c)]=!![]);}for(const _0x569ac0 of _0x26399c){if(_0x569ac0[_0xc3b9fa(0x8a)]!==![])continue;if(_0x3a237b[_0xc3b9fa(0x7f)])continue;_0x450dc4&&String(_0x569ac0[_0xc3b9fa(0x83)]??'')[_0xc3b9fa(0x7e)]()===_0x450dc4&&(_0x569ac0[_0xc3b9fa(0x8c)]=!![]);}return;}if(!_0x450dc4)return;for(const _0x4ad038 of _0x26399c){String(_0x4ad038[_0xc3b9fa(0x83)]??'')[_0xc3b9fa(0x7e)]()===_0x450dc4&&(_0x4ad038[_0xc3b9fa(0x8c)]=!![]);}}export function resolveAppScopeForWrite(_0x30a95e,_0xdd035c,_0x13f040){const _0x8972fc=a23_0x4d59;if(_0xdd035c)return _0x8972fc(0x8d);const _0x4dcccb=_0x13f040[_0x8972fc(0x82)][_0x8972fc(0x91)]&&typeof _0x13f040['projectConfig']['apps']===_0x8972fc(0x8e)?_0x13f040['projectConfig'][_0x8972fc(0x91)]:{},_0x427486=_0x13f040[_0x8972fc(0x8b)][_0x8972fc(0x91)]&&typeof _0x13f040[_0x8972fc(0x8b)][_0x8972fc(0x91)]==='object'?_0x13f040['globalConfig']['apps']:{};if(Object[_0x8972fc(0x8f)][_0x8972fc(0x96)]['call'](_0x4dcccb,_0x30a95e))return _0x8972fc(0x97);if(Object[_0x8972fc(0x8f)][_0x8972fc(0x96)][_0x8972fc(0x98)](_0x427486,_0x30a95e))return'global';return _0x8972fc(0x97);}export function appDefinedIn(_0x3efc40,_0x487700,_0x3a2dc0,_0x38b084){const _0xf96d07=a23_0x4d59;if(_0x38b084)return Object[_0xf96d07(0x8f)]['hasOwnProperty'][_0xf96d07(0x98)](_0x3a2dc0,_0x3efc40)?_0xf96d07(0x97):_0xf96d07(0x8d);const _0x5c1fc0=Object['prototype'][_0xf96d07(0x96)][_0xf96d07(0x98)](_0x487700,_0x3efc40),_0x10e466=Object[_0xf96d07(0x8f)]['hasOwnProperty']['call'](_0x3a2dc0,_0x3efc40);if(_0x5c1fc0&&_0x10e466)return _0xf96d07(0x89);if(_0x10e466)return _0xf96d07(0x97);return _0xf96d07(0x8d);}export function resolveDefaultAppSource(_0x4a0043){const _0x24ad23=a23_0x4d59,_0x104fd9=_0x4a0043[_0x24ad23(0x82)][_0x24ad23(0x91)]&&typeof _0x4a0043[_0x24ad23(0x82)][_0x24ad23(0x91)]===_0x24ad23(0x8e)?_0x4a0043[_0x24ad23(0x82)][_0x24ad23(0x91)]:{};if(_0x24ad23(0x7f)in _0x4a0043['projectConfig'])return _0x24ad23(0x97);if(Object[_0x24ad23(0x90)](_0x104fd9)[_0x24ad23(0x80)]>0x0)return'project';if(_0x4a0043['projectConfig']['inherit']===![])return null;if(_0x4a0043[_0x24ad23(0x8b)]['defaultApp'])return _0x24ad23(0x8d);return null;}export function getConfigPath(_0x4a7bda={}){const _0x4cc03e=a23_0x4d59,_0x3ae34a=_0x4a7bda[_0x4cc03e(0x8d)]?_0x4cc03e(0x8d):_0x4cc03e(0x97);return resolveWriteConfigPath(_0x3ae34a);}export function readConfig(_0x5c042c={}){return readConfigFile(getConfigPath(_0x5c042c));}export function writeConfig(_0x48b37f,_0x25e298={}){writeConfigFile(getConfigPath(_0x25e298),_0x48b37f);}export function scopeLabel(_0x1dd75f){const _0x8f9161=a23_0x4d59;return _0x1dd75f[_0x8f9161(0x8d)]?_0x8f9161(0x7c):'';}
|
package/lib/commands/app/use.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a24_0x149b8e=a24_0xb2c3;(function(_0xc32d5f,_0x453791){const _0x55fb86=a24_0xb2c3,_0x2a88d5=_0xc32d5f();while(!![]){try{const _0x2c9cff=-parseInt(_0x55fb86(0xfb))/0x1*(-parseInt(_0x55fb86(0xdc))/0x2)+parseInt(_0x55fb86(0xf4))/0x3+-parseInt(_0x55fb86(0x100))/0x4+-parseInt(_0x55fb86(0xff))/0x5+parseInt(_0x55fb86(0xdd))/0x6+parseInt(_0x55fb86(0xf8))/0x7+parseInt(_0x55fb86(0xdf))/0x8*(-parseInt(_0x55fb86(0xe5))/0x9);if(_0x2c9cff===_0x453791)break;else _0x2a88d5['push'](_0x2a88d5['shift']());}catch(_0x2f6592){_0x2a88d5['push'](_0x2a88d5['shift']());}}}(a24_0x3b17,0x446a7));function a24_0xb2c3(_0x32e4fe,_0x226758){_0x32e4fe=_0x32e4fe-0xda;const _0x3b17de=a24_0x3b17();let _0xb2c362=_0x3b17de[_0x32e4fe];return _0xb2c362;}import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{readRawConfigWithLayers,isInProject}from'../../context.js';import{readConfig,writeConfig,scopeLabel}from'../../commands/app/shared.js';function a24_0x3b17(){const _0x4deb40=['3833739ZjLRLK','validation','join','5275BUxtHz','\x0aNote:\x20\x22','app','prototype','274265csHazR','1448412HghhMR','appcode','use','154QaKjxw','305784doAZba','\x22\x20not\x20found.','584qYIQQL','apps','App\x20\x22','call','defaultApp','Missing\x20app\x20name.','85419NxFcwI','Switch\x20the\x20default\x20app','hasOwnProperty','Use\x20`','\x22\x20(appcode:\x20','args','\x20app\x20use\x20<name>\x20[--global]','Usage:\x20','object','trim','boolean','\x20--appcode\x20<code>`\x20first.','projectPath','global','Default\x20app\x20set\x20to\x20\x22','1155642Qxyiwz','globalConfig','App\x20profile\x20name\x20to\x20activate','write'];a24_0x3b17=function(){return _0x4deb40;};return a24_0x3b17();}async function validateArgs(_0x34a053){const _0xf1226a=a24_0xb2c3,_0x562724=_0x34a053['args'][0x0]?.[_0xf1226a(0xee)]();if(!_0x562724)throw CliErrors[_0xf1226a(0xf9)](_0xf1226a(0xe4),'Usage:\x20'+CLI_BIN_NAME+_0xf1226a(0xeb));}async function execute(_0x93d45d){const _0xd051ab=a24_0xb2c3,_0x23875b=_0x93d45d[_0xd051ab(0xea)][0x0]?.['trim']();if(!_0x23875b)throw CliErrors['validation'](_0xd051ab(0xe4),_0xd051ab(0xec)+CLI_BIN_NAME+_0xd051ab(0xeb));const _0x4402ab=_0x93d45d['bool']('global'),{config:_0xe4f510,layers:_0x45b8eb}=readRawConfigWithLayers(),_0x4eebcf=_0xe4f510[_0xd051ab(0xe0)]??{},_0x45d2bd=_0x45b8eb[_0xd051ab(0xf5)][_0xd051ab(0xe0)]&&typeof _0x45b8eb[_0xd051ab(0xf5)][_0xd051ab(0xe0)]===_0xd051ab(0xed)?_0x45b8eb['globalConfig'][_0xd051ab(0xe0)]:{},_0x1a1140={..._0x45d2bd,..._0x4eebcf};if(!_0x1a1140[_0x23875b]){const _0x4d1e54=Object['keys'](_0x1a1140),_0x4bca39=_0x4d1e54['length']===0x0?_0xd051ab(0xe8)+CLI_BIN_NAME+'\x20app\x20add\x20'+_0x23875b+_0xd051ab(0xf0):'Available:\x20'+_0x4d1e54[_0xd051ab(0xfa)](',\x20');throw CliErrors[_0xd051ab(0xf9)](_0xd051ab(0xe1)+_0x23875b+_0xd051ab(0xde),_0x4bca39);}let _0x3b82cc,_0x2819bf='';if(_0x4402ab)_0x3b82cc={'global':!![]};else{const _0x14dfdd=isInProject()&&!!_0x45b8eb[_0xd051ab(0xf1)];_0x3b82cc={'global':!_0x14dfdd};}const _0x533f6a=readConfig(_0x3b82cc);_0x533f6a[_0xd051ab(0xe3)]=_0x23875b;if(!_0x3b82cc[_0xd051ab(0xf2)]){const _0x195d0b=_0x533f6a['apps']&&typeof _0x533f6a[_0xd051ab(0xe0)]===_0xd051ab(0xed)?_0x533f6a['apps']:{};!Object[_0xd051ab(0xfe)][_0xd051ab(0xe7)][_0xd051ab(0xe2)](_0x195d0b,_0x23875b)&&(_0x533f6a[_0xd051ab(0xe0)]={..._0x195d0b,[_0x23875b]:_0x1a1140[_0x23875b]},_0x2819bf=_0xd051ab(0xfc)+_0x23875b+'\x22\x20was\x20defined\x20in\x20global\x20config;\x20profile\x20copied\x20into\x20project\x20so\x20the\x20project\x20config\x20self-resolves\x20under\x20the\x20default\x20project-first\x20inherit\x20policy.');}return writeConfig(_0x533f6a,_0x3b82cc),{'ok':!![],'message':_0xd051ab(0xf3)+_0x23875b+_0xd051ab(0xe9)+_0x1a1140[_0x23875b][_0xd051ab(0xda)]+')'+scopeLabel(_0x3b82cc)+_0x2819bf};}export const appUseDefinition={'service':a24_0x149b8e(0xfd),'command':a24_0x149b8e(0xdb),'description':a24_0x149b8e(0xe6),'risk':a24_0x149b8e(0xf7),'requiresAuth':![],'requiresAppCode':![],'args':[{'name':'name','description':a24_0x149b8e(0xf6),'required':!![]}],'flags':[{'name':a24_0x149b8e(0xf2),'type':a24_0x149b8e(0xef),'description':'Use\x20global\x20config\x20scope','default':![]}],'validate':validateArgs,'execute':execute};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a25_0xb28410=a25_0x4d80;(function(_0x1737bb,_0x188b8b){const _0x9fd7e=a25_0x4d80,_0x560a7d=_0x1737bb();while(!![]){try{const _0x4235b7=-parseInt(_0x9fd7e(0x1a0))/0x1+-parseInt(_0x9fd7e(0x18c))/0x2+parseInt(_0x9fd7e(0x19b))/0x3+-parseInt(_0x9fd7e(0x1a1))/0x4*(-parseInt(_0x9fd7e(0x190))/0x5)+parseInt(_0x9fd7e(0x18d))/0x6*(-parseInt(_0x9fd7e(0x191))/0x7)+-parseInt(_0x9fd7e(0x19d))/0x8*(-parseInt(_0x9fd7e(0x19f))/0x9)+parseInt(_0x9fd7e(0x199))/0xa;if(_0x4235b7===_0x188b8b)break;else _0x560a7d['push'](_0x560a7d['shift']());}catch(_0x3309d8){_0x560a7d['push'](_0x560a7d['shift']());}}}(a25_0x50dd,0x9f221));import{unlinkSync,existsSync}from'node:fs';function a25_0x4d80(_0x29508a,_0x5d2211){_0x29508a=_0x29508a-0x18b;const _0x50ddc0=a25_0x50dd();let _0x4d8097=_0x50ddc0[_0x29508a];return _0x4d8097;}import{cookieFile}from'../../auth/constant.js';export const authDefinitions=[{'service':'auth','command':'login','description':a25_0xb28410(0x196),'risk':a25_0xb28410(0x18e),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a25_0xb28410(0x194),'type':a25_0xb28410(0x193),'description':'Skip\x20login\x20confirmation\x20and\x20start\x20browser\x20auth\x20immediately','default':![]}],async 'execute'(_0x243325){const _0x300154=a25_0xb28410,{runAuthServer:_0x3425e9}=await import(_0x300154(0x18f));return await _0x3425e9({'autoYes':_0x243325[_0x300154(0x192)]('yes'),'nonInteractive':_0x243325[_0x300154(0x19a)]}),{'ok':!![]};}},{'service':a25_0xb28410(0x195),'command':a25_0xb28410(0x19c),'description':a25_0xb28410(0x18b),'risk':'write','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x14ced6){const _0xf365f7=a25_0xb28410;return existsSync(cookieFile)?(unlinkSync(cookieFile),console[_0xf365f7(0x197)](_0xf365f7(0x19e))):console[_0xf365f7(0x197)](_0xf365f7(0x198)),{'ok':!![]};}}];function a25_0x50dd(){const _0x13d62b=['boolean','yes','auth','Login\x20via\x20browser','log','!\x20Not\x20logged\x20in','3002630gLWXCY','nonInteractive','1948059zEbHga','logout','16ZSrGBx','✓\x20Logged\x20out','5185575cpVOGo','1240955aXHYPT','364OQbZNt','Clear\x20login\x20session','696894slpIFU','282oQDYIe','read','../../auth/auth-server-ui.js','17965mjcnjN','27958Aodiwa','bool'];a25_0x50dd=function(){return _0x13d62b;};return a25_0x50dd();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a26_0x4e2a16=a26_0x209f;(function(_0x107f4e,_0x84fd24){const _0x3e5d29=a26_0x209f,_0x2f91d7=_0x107f4e();while(!![]){try{const _0xaf1cce=parseInt(_0x3e5d29(0x89))/0x1+parseInt(_0x3e5d29(0x7e))/0x2+-parseInt(_0x3e5d29(0x9c))/0x3+parseInt(_0x3e5d29(0x8d))/0x4+parseInt(_0x3e5d29(0xbe))/0x5*(-parseInt(_0x3e5d29(0xb2))/0x6)+-parseInt(_0x3e5d29(0x98))/0x7*(-parseInt(_0x3e5d29(0xa0))/0x8)+-parseInt(_0x3e5d29(0x97))/0x9;if(_0xaf1cce===_0x84fd24)break;else _0x2f91d7['push'](_0x2f91d7['shift']());}catch(_0x21337f){_0x2f91d7['push'](_0x2f91d7['shift']());}}}(a26_0x50cc,0x1b850));import{createInterface}from'node:readline';import{mkdir,writeFile}from'node:fs/promises';import{dirname,join}from'node:path';function a26_0x50cc(){const _0x456010=['\x0a\x20*\x20[脚本类型]\x20COMMON\x0a\x20*\x20[本地路径]\x20.rabetbase/bff/COMMON/','datasetCode','\x22\x20not\x20found\x20for\x20dataset\x20','write','No\x20datasets\x20found\x20for\x20this\x20app.','HOOK','18buqKeb','length','HOOK\x20requires\x20hookOptions\x20for\x20template\x20generation.','map','\x22.\x20','Dataset\x20alias\x20from\x20api.ts\x20(HOOK\x20only,\x20preferred)','trim','tableName','/**\x0a\x20*\x20ENDPOINT\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','string','\x22\x20not\x20found.\x20','ENDPOINT','111590BqvuXh','Select\x20trigger\x20node:','.js','scriptsRootDir','stdin','--function-node\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','Operation\x20type\x20\x22','nonInteractive','Script\x20type','\x0a\x20*\x20[触发节点]\x20','Available:\x20','\x20api\x20pull`\x20first,\x20or\x20use\x20--datasetcode\x20instead.','includes','File\x20already\x20exists:\x20','COMMON','entries','isInteger','/**\x0a\x20*\x20HOOK\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','Dataset\x20code\x20(HOOK\x20only,\x20fallback\x20when\x20alias\x20unavailable)','--function-node\x20must\x20be\x20\x27before\x27\x20or\x20\x27after\x27.',']\x20(','name','Available\x20aliases:\x20','The\x20api.ts\x20may\x20be\x20stale\x20—\x20run\x20`','308344uChFJB','Select\x20operation\x20type:','find','Trigger\x20node\x20(HOOK\x20only)','functionNode','Alias\x20\x22','description','Script\x20description','code','No\x20api.ts\x20found.\x20Run\x20`','keys','164976FUWiXJ','Scaffold\x20a\x20new\x20BFF\x20function\x20from\x20template','\x22.\x20Must\x20be\x20a\x20valid\x20JS\x20identifier\x20(e.g.\x20createOrder,\x20beforeFilter).','apiDir','234844UobpBe','utf8','stderr','close','operationType','\x0a\x20*\x20[接口路径]\x20POST\x20/api/endpoint/{appCode}/{scriptName}\x0a\x20*\x20[当前示例]\x20POST\x20/api/endpoint/','question','bff','after','\x0a\x20*\x20[接口路径]\x20POST\x20/api/','1659429RLvcKE','560546iuZepr','function-node','type','validation','521880EWWnde','Function\x20name\x20(valid\x20JS\x20identifier)','Invalid\x20function\x20name\x20\x22','Created\x20','16TcOwGv','create','str','Invalid\x20dataset\x20selection.','(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a','datasetcode','alias','appCode','before','Dataset\x20not\x20found\x20for\x20code\x20\x22','Select\x20dataset:','Operation\x20type\x20(HOOK\x20only)'];a26_0x50cc=function(){return _0x456010;};return a26_0x50cc();}import{listDatasets,listBffDatasetOperations}from'../../core/api-client.js';import{loadAliasMap,resolveAlias}from'../../core/alias-resolver.js';import{resolveApiFilePath}from'../../context.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{fileExists}from'../../core/bff/file-system.js';import{isValidBffFunctionName,normalizeHookFunctionNode}from'../../core/bff/utils.js';import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';export const bffCreate={'service':a26_0x4e2a16(0x94),'command':a26_0x4e2a16(0xa1),'description':a26_0x4e2a16(0x8a),'risk':a26_0x4e2a16(0xaf),'flags':[{'name':a26_0x4e2a16(0x9a),'type':a26_0x4e2a16(0xbb),'required':!![],'enum':['COMMON',a26_0x4e2a16(0xbd),a26_0x4e2a16(0xb1)],'description':a26_0x4e2a16(0xc6)},{'name':a26_0x4e2a16(0x7b),'type':a26_0x4e2a16(0xbb),'required':!![],'description':a26_0x4e2a16(0x9d)},{'name':a26_0x4e2a16(0x84),'type':a26_0x4e2a16(0xbb),'description':a26_0x4e2a16(0x85)},{'name':a26_0x4e2a16(0xa6),'type':a26_0x4e2a16(0xbb),'description':a26_0x4e2a16(0xb7)},{'name':a26_0x4e2a16(0xa5),'type':a26_0x4e2a16(0xbb),'description':a26_0x4e2a16(0x78)},{'name':'operation-type','type':a26_0x4e2a16(0xbb),'description':a26_0x4e2a16(0xab)},{'name':a26_0x4e2a16(0x99),'type':a26_0x4e2a16(0xbb),'description':a26_0x4e2a16(0x81),'enum':[a26_0x4e2a16(0xa8),a26_0x4e2a16(0x95)]}],async 'validate'(_0x2fc52c){const _0x2c24b8=a26_0x4e2a16,_0xad8674=_0x2fc52c['str'](_0x2c24b8(0x7b));if(!isValidBffFunctionName(_0xad8674))throw CliErrors['validation'](_0x2c24b8(0x9e)+_0xad8674+_0x2c24b8(0x8b));},async 'execute'(_0x10cb7e){const _0x8ccc5b=a26_0x4e2a16,_0x11e519=loadBffProjectConfig(_0x10cb7e[_0x8ccc5b(0xa7)]),_0x2b045b=_0x10cb7e['str'](_0x8ccc5b(0x9a)),_0x9fcef7=_0x10cb7e[_0x8ccc5b(0xa2)](_0x8ccc5b(0x7b)),_0x34243e=_0x10cb7e[_0x8ccc5b(0xa2)](_0x8ccc5b(0x84))||undefined,_0x30c615=_0x2b045b===_0x8ccc5b(0xb1)?await resolveHookOptions(_0x11e519,_0x10cb7e):undefined,_0xd20fe0=buildFilePath(_0x11e519,_0x2b045b,_0x9fcef7,_0x30c615);if(await fileExists(_0xd20fe0))throw CliErrors[_0x8ccc5b(0x9b)](_0x8ccc5b(0xcb)+_0xd20fe0);await mkdir(dirname(_0xd20fe0),{'recursive':!![]});const _0x46350e=generateTemplate(_0x2b045b,_0x9fcef7,_0x10cb7e[_0x8ccc5b(0xa7)],_0x34243e,_0x30c615);await writeFile(_0xd20fe0,_0x46350e,_0x8ccc5b(0x8e));const _0x888e1d={'type':_0x2b045b,'name':_0x9fcef7,'path':_0xd20fe0};if(_0x34243e)_0x888e1d['description']=_0x34243e;if(_0x30c615){if(_0x30c615[_0x8ccc5b(0xa6)])_0x888e1d['alias']=_0x30c615['alias'];_0x888e1d[_0x8ccc5b(0xad)]=_0x30c615[_0x8ccc5b(0xad)],_0x888e1d[_0x8ccc5b(0x91)]=_0x30c615[_0x8ccc5b(0x91)],_0x888e1d['functionNode']=_0x30c615['functionNode'];}return{'ok':!![],'data':_0x888e1d,'message':_0x8ccc5b(0x9f)+_0x2b045b+'\x20function:\x20'+_0x9fcef7};}};async function resolveHookOptions(_0x5f27c9,_0x4cb7e9){const _0x42b450=a26_0x4e2a16,_0x149d82=loadAliasMap(_0x4cb7e9[_0x42b450(0x8c)],undefined,resolveApiFilePath(_0x4cb7e9[_0x42b450(0x8c)],_0x4cb7e9[_0x42b450(0xa7)])),_0x176d77=_0x149d82['length']>0x0;let _0x2a43e9,_0x46b2d8,_0x46eb80;const _0x19a7e5=_0x4cb7e9[_0x42b450(0xa2)]('alias'),_0x26fae0=_0x4cb7e9[_0x42b450(0xa2)]('datasetcode');if(_0x19a7e5){const _0x3b8ec4=resolveAlias(_0x4cb7e9[_0x42b450(0x8c)],_0x19a7e5,undefined,resolveApiFilePath(_0x4cb7e9[_0x42b450(0x8c)],_0x4cb7e9[_0x42b450(0xa7)]));if(!_0x3b8ec4){const _0x366b0d=_0x176d77?_0x42b450(0x7c)+_0x149d82['map'](_0x2136ba=>_0x2136ba[_0x42b450(0xa6)])['join'](',\x20'):_0x42b450(0x87)+CLI_BIN_NAME+_0x42b450(0xc9);throw CliErrors[_0x42b450(0x9b)](_0x42b450(0x83)+_0x19a7e5+_0x42b450(0xbc)+_0x366b0d);}_0x2a43e9=_0x19a7e5,_0x46b2d8=_0x3b8ec4;}else{if(_0x26fae0){_0x46b2d8=_0x26fae0;const _0x1e08b9=_0x149d82[_0x42b450(0x80)](_0x33ae4e=>_0x33ae4e[_0x42b450(0xad)]===_0x26fae0);_0x2a43e9=_0x1e08b9?.[_0x42b450(0xa6)];}else{if(_0x4cb7e9['nonInteractive'])throw CliErrors[_0x42b450(0x9b)]('--alias\x20or\x20--datasetcode\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.');else{if(_0x176d77){const _0x1f9f72=_0x149d82[_0x42b450(0xb5)](_0x60a0ad=>_0x60a0ad[_0x42b450(0xa6)]+'\x20('+_0x60a0ad[_0x42b450(0xb9)]+')'),_0x1a3513=await promptSelect(_0x42b450(0xaa),_0x1f9f72),_0x59de1d=_0x149d82[_0x1a3513];if(!_0x59de1d)throw CliErrors[_0x42b450(0x9b)]('Invalid\x20dataset\x20selection.');_0x2a43e9=_0x59de1d[_0x42b450(0xa6)],_0x46b2d8=_0x59de1d[_0x42b450(0xad)];}else{const _0x19e094=await listDatasets(_0x4cb7e9['appCode']);if(_0x19e094[_0x42b450(0xb3)]===0x0)throw CliErrors[_0x42b450(0x9b)](_0x42b450(0xb0));const _0x5f53fe=_0x19e094[_0x42b450(0xb5)](_0x425615=>_0x425615[_0x42b450(0x7b)]+'\x20['+(_0x425615['source']??'UNKNOWN')+_0x42b450(0x7a)+_0x425615[_0x42b450(0x86)]+')'),_0x40452c=await promptSelect(_0x42b450(0xaa),_0x5f53fe),_0x4ed4db=_0x19e094[_0x40452c];if(!_0x4ed4db)throw CliErrors[_0x42b450(0x9b)](_0x42b450(0xa3));_0x46b2d8=_0x4ed4db[_0x42b450(0x86)],_0x2a43e9=undefined;}}}}const _0x1e95d7=await listDatasets(_0x4cb7e9[_0x42b450(0xa7)]),_0x391771=_0x1e95d7[_0x42b450(0x80)](_0x5f4ebb=>_0x5f4ebb[_0x42b450(0x86)]===_0x46b2d8);if(!_0x391771)throw CliErrors[_0x42b450(0x9b)](_0x42b450(0xa9)+_0x46b2d8+_0x42b450(0xb6)+(_0x2a43e9?_0x42b450(0x7d)+CLI_BIN_NAME+'\x20api\x20pull`\x20to\x20refresh.':''));_0x46eb80=_0x391771['id'];const _0xf3c5fb=_0x2a43e9??_0x46b2d8,_0x553a6b=await listBffDatasetOperations(_0x4cb7e9[_0x42b450(0xa7)],_0x46eb80),_0x573f13=_0x553a6b?Object[_0x42b450(0x88)](_0x553a6b):[];if(_0x573f13[_0x42b450(0xb3)]===0x0)throw CliErrors['validation']('No\x20operation\x20types\x20found\x20for\x20dataset\x20'+_0xf3c5fb+'.');let _0x30ac32;const _0x58c0dd=_0x4cb7e9[_0x42b450(0xa2)]('operation-type');if(_0x58c0dd){if(!_0x573f13[_0x42b450(0xca)](_0x58c0dd))throw CliErrors['validation'](_0x42b450(0xc4)+_0x58c0dd+_0x42b450(0xae)+_0xf3c5fb+'.\x20'+(_0x42b450(0xc8)+_0x573f13['join'](',\x20')));_0x30ac32=_0x58c0dd;}else{if(_0x4cb7e9[_0x42b450(0xc5)])throw CliErrors['validation']('--operation-type\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.');const _0x1468ef=await promptSelect(_0x42b450(0x7f),_0x573f13);_0x30ac32=_0x573f13[_0x1468ef]??_0x573f13[0x0];}let _0x11cbae=normalizeHookFunctionNode(_0x4cb7e9[_0x42b450(0xa2)](_0x42b450(0x99)));if(!_0x11cbae){if(_0x4cb7e9[_0x42b450(0xa2)](_0x42b450(0x99)))throw CliErrors[_0x42b450(0x9b)](_0x42b450(0x79));if(_0x4cb7e9[_0x42b450(0xc5)])throw CliErrors['validation'](_0x42b450(0xc3));const _0x519d0a=await promptSelect(_0x42b450(0xbf),[_0x42b450(0xa8),_0x42b450(0x95)]);_0x11cbae=[_0x42b450(0xa8),'after'][_0x519d0a]??_0x42b450(0xa8);}return{'alias':_0x2a43e9,'datasetCode':_0x46b2d8,'datasetId':_0x46eb80,'operationType':_0x30ac32,'functionNode':_0x11cbae};}async function promptSelect(_0x484a0d,_0x3d84c8){const _0x2417ba=a26_0x4e2a16;if(_0x3d84c8['length']===0x1)return 0x0;for(const [_0x3ba461,_0x9eec80]of _0x3d84c8[_0x2417ba(0xcd)]()){process[_0x2417ba(0x8f)][_0x2417ba(0xaf)]('\x20\x20'+(_0x3ba461+0x1)+'.\x20'+_0x9eec80+'\x0a');}const _0x46c3f6=createInterface({'input':process[_0x2417ba(0xc2)],'output':process[_0x2417ba(0x8f)]});while(!![]){const _0x5b5952=await new Promise(_0x42b5b1=>{const _0x18d5c0=_0x2417ba;_0x46c3f6[_0x18d5c0(0x93)](_0x484a0d+'\x20',_0x42b5b1);}),_0x17a2ee=Number['parseInt'](_0x5b5952['trim'](),0xa);if(Number[_0x2417ba(0xce)](_0x17a2ee)&&_0x17a2ee>=0x1&&_0x17a2ee<=_0x3d84c8['length'])return _0x46c3f6[_0x2417ba(0x90)](),_0x17a2ee-0x1;process[_0x2417ba(0x8f)][_0x2417ba(0xaf)]('\x20\x20Enter\x20a\x20number\x20between\x201\x20and\x20'+_0x3d84c8['length']+'.\x0a');}}function a26_0x209f(_0x1c2004,_0x478a81){_0x1c2004=_0x1c2004-0x77;const _0x50cc7d=a26_0x50cc();let _0x209f7b=_0x50cc7d[_0x1c2004];return _0x209f7b;}function buildFilePath(_0x3bc7e8,_0x4f779d,_0xed7c78,_0x5c3bc6){const _0x4cd5e2=a26_0x4e2a16;if(_0x4f779d===_0x4cd5e2(0xb1)){if(!_0x5c3bc6)throw CliErrors[_0x4cd5e2(0x9b)]('HOOK\x20requires\x20alias/operation/node\x20options.');const _0x2e0953=_0x5c3bc6[_0x4cd5e2(0xa6)]??_0x5c3bc6['datasetCode'];return join(_0x3bc7e8[_0x4cd5e2(0xc1)],_0x4cd5e2(0xb1),_0x2e0953,_0x5c3bc6[_0x4cd5e2(0x91)],_0x5c3bc6[_0x4cd5e2(0x82)],_0xed7c78+'.js');}return join(_0x3bc7e8[_0x4cd5e2(0xc1)],_0x4f779d,_0xed7c78+_0x4cd5e2(0xc0));}export function generateTemplate(_0x3acd0b,_0x2b9e85,_0x441a9f,_0x3338a9,_0x3cae28){const _0x4537df=a26_0x4e2a16,_0x251724=_0x3338a9?.[_0x4537df(0xb8)]()||'TODO:\x20add\x20script\x20description';if(_0x3acd0b===_0x4537df(0xcc))return'/**\x0a\x20*\x20COMMON\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20'+_0x251724+'\x0a\x20*\x20[脚本名称]\x20'+_0x2b9e85+_0x4537df(0xac)+_0x2b9e85+'.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'+_0x2b9e85+_0x4537df(0xa4);if(_0x3acd0b==='ENDPOINT')return _0x4537df(0xba)+_0x251724+_0x4537df(0x92)+_0x441a9f+'/'+_0x2b9e85+'\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'+_0x2b9e85+_0x4537df(0xa4);if(!_0x3cae28)throw CliErrors['validation'](_0x4537df(0xb4));return _0x4537df(0x77)+_0x251724+_0x4537df(0x96)+_0x441a9f+'/'+_0x3cae28['datasetCode']+'/'+_0x3cae28[_0x4537df(0x91)]+_0x4537df(0xc7)+_0x3cae28[_0x4537df(0x82)]+'\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'+_0x2b9e85+'(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a';}
|
|
1
|
+
const a26_0x310a98=a26_0x198a;(function(_0x174dda,_0xe189ee){const _0x1373d7=a26_0x198a,_0x1f5f3c=_0x174dda();while(!![]){try{const _0x4046f9=-parseInt(_0x1373d7(0x196))/0x1+parseInt(_0x1373d7(0x162))/0x2+-parseInt(_0x1373d7(0x186))/0x3+parseInt(_0x1373d7(0x181))/0x4+-parseInt(_0x1373d7(0x174))/0x5*(parseInt(_0x1373d7(0x164))/0x6)+-parseInt(_0x1373d7(0x15b))/0x7+-parseInt(_0x1373d7(0x15e))/0x8*(-parseInt(_0x1373d7(0x1a1))/0x9);if(_0x4046f9===_0xe189ee)break;else _0x1f5f3c['push'](_0x1f5f3c['shift']());}catch(_0x3272c8){_0x1f5f3c['push'](_0x1f5f3c['shift']());}}}(a26_0x1b3f,0x3f6f1));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';function a26_0x198a(_0x5b7f00,_0x37105a){_0x5b7f00=_0x5b7f00-0x15b;const _0x1b3f17=a26_0x1b3f();let _0x198a30=_0x1b3f17[_0x5b7f00];return _0x198a30;}import{resolveApiFilePath}from'../../context.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{fileExists}from'../../core/bff/file-system.js';import{isValidBffFunctionName,normalizeHookFunctionNode}from'../../core/bff/utils.js';import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';export const bffCreate={'service':a26_0x310a98(0x17e),'command':'create','description':a26_0x310a98(0x179),'risk':a26_0x310a98(0x165),'flags':[{'name':a26_0x310a98(0x185),'type':a26_0x310a98(0x18c),'required':!![],'enum':['COMMON',a26_0x310a98(0x160),a26_0x310a98(0x1b4)],'description':'Script\x20type'},{'name':'name','type':a26_0x310a98(0x18c),'required':!![],'description':a26_0x310a98(0x1b1)},{'name':a26_0x310a98(0x18e),'type':a26_0x310a98(0x18c),'description':a26_0x310a98(0x17f)},{'name':a26_0x310a98(0x1b0),'type':a26_0x310a98(0x18c),'description':a26_0x310a98(0x1b7)},{'name':a26_0x310a98(0x16b),'type':'string','description':a26_0x310a98(0x18b)},{'name':'operation-type','type':'string','description':a26_0x310a98(0x19f)},{'name':'function-node','type':a26_0x310a98(0x18c),'description':'Trigger\x20node\x20(HOOK\x20only)','enum':[a26_0x310a98(0x183),a26_0x310a98(0x1a5)]}],async 'validate'(_0x596e52){const _0x4ed957=a26_0x310a98,_0x5d0a5e=_0x596e52[_0x4ed957(0x189)](_0x4ed957(0x16c));if(!isValidBffFunctionName(_0x5d0a5e))throw CliErrors[_0x4ed957(0x16a)](_0x4ed957(0x170)+_0x5d0a5e+'\x22.\x20Must\x20be\x20a\x20valid\x20JS\x20identifier\x20(e.g.\x20createOrder,\x20beforeFilter).');},async 'execute'(_0x553bfb){const _0x29e6d7=a26_0x310a98,_0x237ef3=loadBffProjectConfig(_0x553bfb[_0x29e6d7(0x1b3)]),_0x4a538e=_0x553bfb['str'](_0x29e6d7(0x185)),_0x88479b=_0x553bfb[_0x29e6d7(0x189)]('name'),_0x1ce98f=_0x553bfb[_0x29e6d7(0x189)](_0x29e6d7(0x18e))||undefined,_0x522eae=_0x4a538e===_0x29e6d7(0x1b4)?await resolveHookOptions(_0x237ef3,_0x553bfb):undefined,_0x2319cc=buildFilePath(_0x237ef3,_0x4a538e,_0x88479b,_0x522eae);if(await fileExists(_0x2319cc))throw CliErrors[_0x29e6d7(0x16a)](_0x29e6d7(0x1b8)+_0x2319cc);await mkdir(dirname(_0x2319cc),{'recursive':!![]});const _0x13c40b=generateTemplate(_0x4a538e,_0x88479b,_0x553bfb[_0x29e6d7(0x1b3)],_0x1ce98f,_0x522eae);await writeFile(_0x2319cc,_0x13c40b,_0x29e6d7(0x17a));const _0x11034f={'type':_0x4a538e,'name':_0x88479b,'path':_0x2319cc};if(_0x1ce98f)_0x11034f[_0x29e6d7(0x18e)]=_0x1ce98f;if(_0x522eae){if(_0x522eae[_0x29e6d7(0x1b0)])_0x11034f['alias']=_0x522eae[_0x29e6d7(0x1b0)];_0x11034f[_0x29e6d7(0x18d)]=_0x522eae[_0x29e6d7(0x18d)],_0x11034f[_0x29e6d7(0x19b)]=_0x522eae['operationType'],_0x11034f['functionNode']=_0x522eae[_0x29e6d7(0x195)];}return{'ok':!![],'data':_0x11034f,'message':_0x29e6d7(0x17c)+_0x4a538e+'\x20function:\x20'+_0x88479b};}};async function resolveHookOptions(_0x13c684,_0x47c028){const _0x4e279a=a26_0x310a98,_0x5e5e06=loadAliasMap(_0x47c028['apiDir'],undefined,resolveApiFilePath(_0x47c028[_0x4e279a(0x1a8)],_0x47c028['appCode'])),_0x27d785=_0x5e5e06[_0x4e279a(0x191)]>0x0;let _0x5a1c91,_0x4a674f,_0x4d35a5;const _0x563fa9=_0x47c028['str'](_0x4e279a(0x1b0)),_0x2ff793=_0x47c028['str'](_0x4e279a(0x16b));if(_0x563fa9){const _0x331800=resolveAlias(_0x47c028[_0x4e279a(0x1a8)],_0x563fa9,undefined,resolveApiFilePath(_0x47c028[_0x4e279a(0x1a8)],_0x47c028[_0x4e279a(0x1b3)]));if(!_0x331800){const _0x5f0417=_0x27d785?_0x4e279a(0x178)+_0x5e5e06[_0x4e279a(0x1a4)](_0x515997=>_0x515997[_0x4e279a(0x1b0)])[_0x4e279a(0x194)](',\x20'):'No\x20api.ts\x20found.\x20Run\x20`'+CLI_BIN_NAME+_0x4e279a(0x1ac);throw CliErrors[_0x4e279a(0x16a)](_0x4e279a(0x190)+_0x563fa9+_0x4e279a(0x1a7)+_0x5f0417);}_0x5a1c91=_0x563fa9,_0x4a674f=_0x331800;}else{if(_0x2ff793){_0x4a674f=_0x2ff793;const _0x14f7ac=_0x5e5e06[_0x4e279a(0x1a0)](_0x429d55=>_0x429d55[_0x4e279a(0x18d)]===_0x2ff793);_0x5a1c91=_0x14f7ac?.[_0x4e279a(0x1b0)];}else{if(_0x47c028[_0x4e279a(0x19c)])throw CliErrors['validation'](_0x4e279a(0x15d));else{if(_0x27d785){const _0x3a5f55=_0x5e5e06['map'](_0x3ec8af=>_0x3ec8af[_0x4e279a(0x1b0)]+'\x20('+_0x3ec8af['tableName']+')'),_0x23d9f4=await promptSelect(_0x4e279a(0x1a3),_0x3a5f55),_0x1ae19d=_0x5e5e06[_0x23d9f4];if(!_0x1ae19d)throw CliErrors[_0x4e279a(0x16a)](_0x4e279a(0x1a2));_0x5a1c91=_0x1ae19d[_0x4e279a(0x1b0)],_0x4a674f=_0x1ae19d[_0x4e279a(0x18d)];}else{const _0x2f031a=await listDatasets(_0x47c028[_0x4e279a(0x1b3)]);if(_0x2f031a[_0x4e279a(0x191)]===0x0)throw CliErrors[_0x4e279a(0x16a)](_0x4e279a(0x184));const _0x3419af=_0x2f031a[_0x4e279a(0x1a4)](_0xcfb637=>_0xcfb637[_0x4e279a(0x16c)]+'\x20['+(_0xcfb637[_0x4e279a(0x18f)]??_0x4e279a(0x163))+_0x4e279a(0x1aa)+_0xcfb637[_0x4e279a(0x198)]+')'),_0x2856c8=await promptSelect(_0x4e279a(0x1a3),_0x3419af),_0x201652=_0x2f031a[_0x2856c8];if(!_0x201652)throw CliErrors[_0x4e279a(0x16a)](_0x4e279a(0x1a2));_0x4a674f=_0x201652[_0x4e279a(0x198)],_0x5a1c91=undefined;}}}}const _0x23f85c=await listDatasets(_0x47c028[_0x4e279a(0x1b3)]),_0x37495d=_0x23f85c[_0x4e279a(0x1a0)](_0x3c3208=>_0x3c3208[_0x4e279a(0x198)]===_0x4a674f);if(!_0x37495d)throw CliErrors[_0x4e279a(0x16a)](_0x4e279a(0x197)+_0x4a674f+_0x4e279a(0x1a9)+(_0x5a1c91?_0x4e279a(0x187)+CLI_BIN_NAME+_0x4e279a(0x17b):''));_0x4d35a5=_0x37495d['id'];const _0x5d9389=_0x5a1c91??_0x4a674f,_0x1d5695=await listBffDatasetOperations(_0x47c028['appCode'],_0x4d35a5),_0x314f11=_0x1d5695?Object['keys'](_0x1d5695):[];if(_0x314f11['length']===0x0)throw CliErrors[_0x4e279a(0x16a)](_0x4e279a(0x17d)+_0x5d9389+'.');let _0x531b80;const _0x25aa45=_0x47c028[_0x4e279a(0x189)](_0x4e279a(0x1af));if(_0x25aa45){if(!_0x314f11[_0x4e279a(0x168)](_0x25aa45))throw CliErrors[_0x4e279a(0x16a)](_0x4e279a(0x15c)+_0x25aa45+_0x4e279a(0x177)+_0x5d9389+'.\x20'+(_0x4e279a(0x1ab)+_0x314f11[_0x4e279a(0x194)](',\x20')));_0x531b80=_0x25aa45;}else{if(_0x47c028[_0x4e279a(0x19c)])throw CliErrors[_0x4e279a(0x16a)]('--operation-type\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.');const _0x1aebab=await promptSelect(_0x4e279a(0x171),_0x314f11);_0x531b80=_0x314f11[_0x1aebab]??_0x314f11[0x0];}let _0xaa70bd=normalizeHookFunctionNode(_0x47c028[_0x4e279a(0x189)](_0x4e279a(0x199)));if(!_0xaa70bd){if(_0x47c028[_0x4e279a(0x189)]('function-node'))throw CliErrors[_0x4e279a(0x16a)](_0x4e279a(0x16f));if(_0x47c028['nonInteractive'])throw CliErrors[_0x4e279a(0x16a)](_0x4e279a(0x169));const _0x4deeec=await promptSelect(_0x4e279a(0x18a),[_0x4e279a(0x183),'after']);_0xaa70bd=[_0x4e279a(0x183),_0x4e279a(0x1a5)][_0x4deeec]??_0x4e279a(0x183);}return{'alias':_0x5a1c91,'datasetCode':_0x4a674f,'datasetId':_0x4d35a5,'operationType':_0x531b80,'functionNode':_0xaa70bd};}async function promptSelect(_0xb5b746,_0x3f45d2){const _0x16e6fd=a26_0x310a98;if(_0x3f45d2[_0x16e6fd(0x191)]===0x1)return 0x0;for(const [_0x241ed7,_0x274815]of _0x3f45d2[_0x16e6fd(0x15f)]()){process['stderr'][_0x16e6fd(0x165)]('\x20\x20'+(_0x241ed7+0x1)+'.\x20'+_0x274815+'\x0a');}const _0x484477=createInterface({'input':process[_0x16e6fd(0x19d)],'output':process[_0x16e6fd(0x16d)]});while(!![]){const _0x50770b=await new Promise(_0x508c50=>{const _0x63abf6=_0x16e6fd;_0x484477[_0x63abf6(0x192)](_0xb5b746+'\x20',_0x508c50);}),_0xc265dd=Number[_0x16e6fd(0x1b2)](_0x50770b[_0x16e6fd(0x1b6)](),0xa);if(Number[_0x16e6fd(0x166)](_0xc265dd)&&_0xc265dd>=0x1&&_0xc265dd<=_0x3f45d2[_0x16e6fd(0x191)])return _0x484477['close'](),_0xc265dd-0x1;process[_0x16e6fd(0x16d)][_0x16e6fd(0x165)](_0x16e6fd(0x167)+_0x3f45d2[_0x16e6fd(0x191)]+'.\x0a');}}function a26_0x1b3f(){const _0x34261d=['643809SUwhEK','The\x20api.ts\x20may\x20be\x20stale\x20—\x20run\x20`','/**\x0a\x20*\x20COMMON\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','str','Select\x20trigger\x20node:','Dataset\x20code\x20(HOOK\x20only,\x20fallback\x20when\x20alias\x20unavailable)','string','datasetCode','description','source','Alias\x20\x22','length','question','/**\x0a\x20*\x20HOOK\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','join','functionNode','435395UXsjbv','Dataset\x20not\x20found\x20for\x20code\x20\x22','code','function-node','\x0a\x20*\x20[脚本类型]\x20COMMON\x0a\x20*\x20[本地路径]\x20.rabetbase/bff/COMMON/','operationType','nonInteractive','stdin','\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','Operation\x20type\x20(HOOK\x20only)','find','2904786GEPshM','Invalid\x20dataset\x20selection.','Select\x20dataset:','map','after','(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a','\x22\x20not\x20found.\x20','apiDir','\x22.\x20',']\x20(','Available:\x20','\x20api\x20pull`\x20first,\x20or\x20use\x20--datasetcode\x20instead.','\x0a\x20*\x0a\x20*\x20@param\x20{Object}\x20params\x20-\x20Current\x20request\x20params\x20or\x20response\x20result.\x0a\x20*\x20@param\x20{Object}\x20context\x20-\x20Execution\x20context\x20(injected\x20by\x20platform).\x0a\x20*\x20@returns\x20{Promise<Object>}\x20Modified\x20params\x20object.\x0a\x20*/\x0aexport\x20default\x20async\x20function\x20','\x0a\x20*\x20[脚本名称]\x20','operation-type','alias','Function\x20name\x20(valid\x20JS\x20identifier)','parseInt','appCode','HOOK','scriptsRootDir','trim','Dataset\x20alias\x20from\x20api.ts\x20(HOOK\x20only,\x20preferred)','File\x20already\x20exists:\x20','232470pNfjVB','Operation\x20type\x20\x22','--alias\x20or\x20--datasetcode\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','16GwyHbf','entries','ENDPOINT','.js','576304wVCzuZ','UNKNOWN','102FnZWOJ','write','isInteger','\x20\x20Enter\x20a\x20number\x20between\x201\x20and\x20','includes','--function-node\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','validation','datasetcode','name','stderr','HOOK\x20requires\x20alias/operation/node\x20options.','--function-node\x20must\x20be\x20\x27before\x27\x20or\x20\x27after\x27.','Invalid\x20function\x20name\x20\x22','Select\x20operation\x20type:','\x0a\x20*\x20[接口路径]\x20POST\x20/api/','HOOK\x20requires\x20hookOptions\x20for\x20template\x20generation.','84395PMOGww','/**\x0a\x20*\x20ENDPOINT\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','TODO:\x20add\x20script\x20description','\x22\x20not\x20found\x20for\x20dataset\x20','Available\x20aliases:\x20','Scaffold\x20a\x20new\x20BFF\x20function\x20from\x20template','utf8','\x20api\x20pull`\x20to\x20refresh.','Created\x20','No\x20operation\x20types\x20found\x20for\x20dataset\x20','bff','Script\x20description','.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','1185264AKPMvz','\x0a\x20*\x20[接口路径]\x20POST\x20/api/endpoint/{appCode}/{scriptName}\x0a\x20*\x20[当前示例]\x20POST\x20/api/endpoint/','before','No\x20datasets\x20found\x20for\x20this\x20app.','type'];a26_0x1b3f=function(){return _0x34261d;};return a26_0x1b3f();}function buildFilePath(_0x5a2091,_0x525428,_0x243537,_0x3c2ac0){const _0x4d959a=a26_0x310a98;if(_0x525428===_0x4d959a(0x1b4)){if(!_0x3c2ac0)throw CliErrors['validation'](_0x4d959a(0x16e));const _0x4df474=_0x3c2ac0[_0x4d959a(0x1b0)]??_0x3c2ac0[_0x4d959a(0x18d)];return join(_0x5a2091[_0x4d959a(0x1b5)],_0x4d959a(0x1b4),_0x4df474,_0x3c2ac0[_0x4d959a(0x19b)],_0x3c2ac0['functionNode'],_0x243537+_0x4d959a(0x161));}return join(_0x5a2091[_0x4d959a(0x1b5)],_0x525428,_0x243537+_0x4d959a(0x161));}export function generateTemplate(_0x2199ee,_0x3b8e25,_0x34bc47,_0x3d67bb,_0x5628ce){const _0x202afa=a26_0x310a98,_0xaa803=_0x3d67bb?.['trim']()||_0x202afa(0x176);if(_0x2199ee==='COMMON')return _0x202afa(0x188)+_0xaa803+_0x202afa(0x1ae)+_0x3b8e25+_0x202afa(0x19a)+_0x3b8e25+_0x202afa(0x180)+_0x3b8e25+_0x202afa(0x1a6);if(_0x2199ee===_0x202afa(0x160))return _0x202afa(0x175)+_0xaa803+_0x202afa(0x182)+_0x34bc47+'/'+_0x3b8e25+_0x202afa(0x19e)+_0x3b8e25+_0x202afa(0x1a6);if(!_0x5628ce)throw CliErrors[_0x202afa(0x16a)](_0x202afa(0x173));return _0x202afa(0x193)+_0xaa803+_0x202afa(0x172)+_0x34bc47+'/'+_0x5628ce[_0x202afa(0x18d)]+'/'+_0x5628ce[_0x202afa(0x19b)]+'\x0a\x20*\x20[触发节点]\x20'+_0x5628ce[_0x202afa(0x195)]+_0x202afa(0x1ad)+_0x3b8e25+_0x202afa(0x1a6);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a27_0x2ecc18=a27_0xf028;(function(_0x4513d1,_0x47e794){const _0x4d2d49=a27_0xf028,_0x2ea0cf=_0x4513d1();while(!![]){try{const _0x495358=-parseInt(_0x4d2d49(0xb5))/0x1*(parseInt(_0x4d2d49(0xd6))/0x2)+-parseInt(_0x4d2d49(0xd8))/0x3+-parseInt(_0x4d2d49(0xad))/0x4*(-parseInt(_0x4d2d49(0xb6))/0x5)+parseInt(_0x4d2d49(0xaf))/0x6*(parseInt(_0x4d2d49(0xcf))/0x7)+-parseInt(_0x4d2d49(0xc7))/0x8*(-parseInt(_0x4d2d49(0xc3))/0x9)+-parseInt(_0x4d2d49(0xc9))/0xa+parseInt(_0x4d2d49(0xd3))/0xb;if(_0x495358===_0x47e794)break;else _0x2ea0cf['push'](_0x2ea0cf['shift']());}catch(_0x5698a6){_0x2ea0cf['push'](_0x2ea0cf['shift']());}}}(a27_0x1561,0xb5982));import{mkdir,readdir,rename,rmdir}from'node:fs/promises';import{dirname,join,relative,resolve,sep}from'node:path';import{deleteBffScript}from'../../core/api-client.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{fileExists,resolveLocalFilePathFromLockKey}from'../../core/bff/file-system.js';import{ensureLockScope,readBffLockFile,writeBffLockFile}from'../../core/bff/lock.js';import{CliErrors}from'../../errors.js';import{sleep}from'../../utils/sleep.js';export const bffDelete={'service':a27_0x2ecc18(0xcb),'command':a27_0x2ecc18(0xc6),'description':a27_0x2ecc18(0xbc),'risk':a27_0x2ecc18(0xcd),'flags':[{'name':'target','type':'string','required':!![],'description':a27_0x2ecc18(0xd1)}],async 'validate'(_0x31fcf2){const _0x11f5e2=a27_0x2ecc18,_0x5996fd=loadBffProjectConfig(_0x31fcf2['appCode']),_0x5d9613=await readBffLockFile(_0x5996fd[_0x11f5e2(0xa9)]);if(!_0x5d9613)throw CliErrors[_0x11f5e2(0xc8)](_0x11f5e2(0xbf));},async 'dryRun'(_0x289a56){const _0x28bc96=a27_0x2ecc18,_0x32f9bf=loadBffProjectConfig(_0x289a56[_0x28bc96(0xb1)]),_0x1b2aea=await readBffLockFile(_0x32f9bf['lockFilePath']);if(!_0x1b2aea)throw CliErrors[_0x28bc96(0xc8)](_0x28bc96(0xb7));const {appLock:_0x4ead31}=ensureLockScope(_0x1b2aea,_0x289a56[_0x28bc96(0xb1)],_0x32f9bf[_0x28bc96(0xd9)],_0x28bc96(0xc6)),_0x4c0635=_0x289a56[_0x28bc96(0xd5)](_0x28bc96(0xb2)),_0x421ed1=Object[_0x28bc96(0xc4)](_0x4ead31[_0x28bc96(0xa7)]),_0x562c4c=resolveDeleteTarget(_0x4c0635,_0x421ed1),_0x25d2ea=_0x4ead31[_0x28bc96(0xa7)][_0x562c4c];if(!_0x25d2ea)throw CliErrors[_0x28bc96(0xc8)](_0x28bc96(0xc1)+_0x562c4c+'\x22.');const _0x4d034a=resolveLocalFilePathFromLockKey(_0x32f9bf,_0x562c4c),_0x3d78ac=relative(_0x32f9bf[_0x28bc96(0xd2)],_0x4d034a),_0x2c07f0=join(_0x32f9bf[_0x28bc96(0xbd)],_0x28bc96(0xa5),_0x3d78ac);return{'method':'POST','url':'/api/management/library/scripts/delete','body':{'appCode':_0x289a56['appCode'],'target':_0x562c4c,'remoteId':_0x25d2ea[_0x28bc96(0xaa)],'localFilePath':_0x4d034a,'trashedPath':_0x2c07f0},'description':_0x28bc96(0xac)+_0x562c4c+_0x28bc96(0xa6)};},async 'execute'(_0x3948af){const _0x235dfe=a27_0x2ecc18,_0x3a2e8d=loadBffProjectConfig(_0x3948af[_0x235dfe(0xb1)]),_0x5089d8=await readBffLockFile(_0x3a2e8d[_0x235dfe(0xa9)]);if(!_0x5089d8)throw CliErrors[_0x235dfe(0xc8)]('BFF\x20lock\x20file\x20not\x20found.');const {lockData:_0x301e98,appLock:_0x52c0e8}=ensureLockScope(_0x5089d8,_0x3948af[_0x235dfe(0xb1)],_0x3a2e8d[_0x235dfe(0xd9)],_0x235dfe(0xc6)),_0x49daed=JSON[_0x235dfe(0xb8)](JSON[_0x235dfe(0xbb)](_0x301e98)),_0x32e7a5=_0x49daed[_0x235dfe(0xba)][_0x3948af['appCode']];if(!_0x32e7a5)throw new Error(_0x235dfe(0xc0)+_0x3948af[_0x235dfe(0xb1)]+_0x235dfe(0xb0));const _0x90c1d6=_0x3948af[_0x235dfe(0xd5)](_0x235dfe(0xb2)),_0xfcf2c2=Object[_0x235dfe(0xc4)](_0x32e7a5['functions']),_0x3d4c9f=resolveDeleteTarget(_0x90c1d6,_0xfcf2c2),_0x35745e=_0x32e7a5[_0x235dfe(0xa7)][_0x3d4c9f];if(!_0x35745e)throw CliErrors[_0x235dfe(0xc8)](_0x235dfe(0xc1)+_0x3d4c9f+'\x22.');await deleteBffScript(_0x35745e[_0x235dfe(0xaa)]),delete _0x32e7a5['functions'][_0x3d4c9f],_0x32e7a5['lastSync']=new Date()[_0x235dfe(0xab)](),await writeBffLockFile(_0x3a2e8d[_0x235dfe(0xa9)],_0x49daed);const _0x9af09=resolveLocalFilePathFromLockKey(_0x3a2e8d,_0x3d4c9f);let _0x21faee;await fileExists(_0x9af09)&&(_0x21faee=await moveToTrash(_0x3a2e8d[_0x235dfe(0xd2)],_0x3a2e8d[_0x235dfe(0xbd)],_0x9af09),await cleanupEmptyDirectories(dirname(_0x9af09),_0x3a2e8d['scriptsRootDir']));await waitForDeleteSettlement(_0x3a2e8d['lockFilePath'],_0x3948af[_0x235dfe(0xb1)],_0x3d4c9f,_0x9af09),await sleep(0x96);const _0x3d03bb={'deleted':_0x3d4c9f,'remoteId':_0x35745e[_0x235dfe(0xaa)]};if(_0x21faee)_0x3d03bb[_0x235dfe(0xca)]=_0x21faee;return{'ok':!![],'data':_0x3d03bb,'message':_0x235dfe(0xb9)+_0x3d4c9f+(_0x21faee?_0x235dfe(0xc5):'')};}};function resolveDeleteTarget(_0x33d293,_0x36a4e0){const _0x33cd51=a27_0x2ecc18;if(_0x33d293['includes']('/')){const _0x59abcf=_0x36a4e0[_0x33cd51(0xcc)](_0x2a530d=>_0x2a530d===_0x33d293);if(!_0x59abcf)throw CliErrors[_0x33cd51(0xc8)](_0x33cd51(0xae)+_0x33d293);return _0x59abcf;}const _0x1df05e=_0x36a4e0[_0x33cd51(0xb3)](_0x305148=>_0x305148[_0x33cd51(0xa4)]('/')['at'](-0x1)===_0x33d293);if(_0x1df05e['length']===0x0)throw CliErrors['validation'](_0x33cd51(0xae)+_0x33d293);if(_0x1df05e['length']>0x1)throw CliErrors['validation'](_0x33cd51(0xd0)+_0x33d293+_0x33cd51(0xce)+_0x1df05e[_0x33cd51(0xc2)](_0x1f98a6=>_0x33cd51(0xd7)+_0x1f98a6)['join']('\x0a'));return _0x1df05e[0x0];}function a27_0xf028(_0x4a2391,_0x29fcb4){_0x4a2391=_0x4a2391-0xa4;const _0x15617c=a27_0x1561();let _0xf0282c=_0x15617c[_0x4a2391];return _0xf0282c;}async function moveToTrash(_0x14132f,_0x39d9c2,_0xdfca94){const _0x91512=a27_0x2ecc18,_0x4def93=new Date()['toISOString']()[_0x91512(0xd4)](/[:.]/g,'-'),_0x591420=relative(_0x14132f,_0xdfca94),_0x359cdb=join(_0x39d9c2,_0x4def93,_0x591420);return await mkdir(dirname(_0x359cdb),{'recursive':!![]}),await rename(_0xdfca94,_0x359cdb),_0x359cdb;}async function cleanupEmptyDirectories(_0x2c3bee,_0x260a86){const _0x10897a=a27_0x2ecc18;let _0x5c3943=resolve(_0x2c3bee);const _0xbd0878=resolve(_0x260a86);while(_0x5c3943[_0x10897a(0xbe)](''+_0xbd0878+sep)||_0x5c3943===_0xbd0878){if(_0x5c3943===_0xbd0878)return;try{const _0xd31d2c=await readdir(_0x5c3943);if(_0xd31d2c[_0x10897a(0xb4)]>0x0)return;await rmdir(_0x5c3943);}catch{return;}_0x5c3943=dirname(_0x5c3943);}}const DELETE_SETTLE_RETRY_COUNT=0x14,DELETE_SETTLE_DELAY_MS=0x64;function a27_0x1561(){const _0x5e3727=['stringify','Delete\x20a\x20BFF\x20script\x20from\x20remote\x20and\x20local','trashDir','startsWith','BFF\x20lock\x20file\x20not\x20found.\x20Run\x20`push`\x20or\x20`pull`\x20first\x20to\x20initialize\x20sync\x20state.','Lock\x20scope\x20for\x20app\x20\x22','No\x20lock\x20entry\x20found\x20for\x20\x22','map','13203cgyCQq','keys','\x20(local\x20file\x20moved\x20to\x20trash)','delete','4248DeGOUk','validation','13035160SHjgDS','trashedTo','bff','find','high-risk-write','\x22.\x20Use\x20the\x20full\x20lock\x20key:\x0a','21qGMOdN','Multiple\x20functions\x20match\x20\x22','Lock\x20key\x20(e.g.\x20ENDPOINT/createOrder)\x20or\x20short\x20function\x20name','projectRoot','2297658ziYJhb','replace','str','11046kMxKXr','\x20\x20-\x20','1546263LEwDBX','scriptsRoot','split','<timestamp>','\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20trash','functions','Local\x20delete\x20not\x20settled\x20for\x20','lockFilePath','remoteId','toISOString','Would\x20delete\x20','4878108QVZDVE','Function\x20not\x20found:\x20','2279262NfdOic','\x22\x20not\x20found\x20after\x20ensureLockScope.','appCode','target','filter','length','142BWVDIt','5RXCiRA','BFF\x20lock\x20file\x20not\x20found.','parse','Deleted\x20','apps'];a27_0x1561=function(){return _0x5e3727;};return a27_0x1561();}async function waitForDeleteSettlement(_0x47a911,_0x398cd1,_0x22bdf4,_0x52170c){const _0x311a97=a27_0x2ecc18;for(let _0xef5cc9=0x0;_0xef5cc9<DELETE_SETTLE_RETRY_COUNT;_0xef5cc9+=0x1){const _0x3fd418=await readBffLockFile(_0x47a911),_0x210739=!!_0x3fd418?.[_0x311a97(0xba)]?.[_0x398cd1]?.[_0x311a97(0xa7)]?.[_0x22bdf4],_0x58e2e1=await fileExists(_0x52170c);if(!_0x210739&&!_0x58e2e1)return;await sleep(DELETE_SETTLE_DELAY_MS);}throw new Error(_0x311a97(0xa8)+_0x22bdf4+'.');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a28_0x236692=a28_0x88a9;(function(_0x19f4a7,_0x27509c){const _0x5f5152=a28_0x88a9,_0x46d6c5=_0x19f4a7();while(!![]){try{const _0x22f988=-parseInt(_0x5f5152(0x19b))/0x1*(-parseInt(_0x5f5152(0x1a8))/0x2)+-parseInt(_0x5f5152(0x19f))/0x3+-parseInt(_0x5f5152(0x1a5))/0x4*(parseInt(_0x5f5152(0x1b4))/0x5)+-parseInt(_0x5f5152(0x1a3))/0x6*(-parseInt(_0x5f5152(0x1aa))/0x7)+parseInt(_0x5f5152(0x1a6))/0x8*(-parseInt(_0x5f5152(0x1ae))/0x9)+parseInt(_0x5f5152(0x19e))/0xa*(parseInt(_0x5f5152(0x1a9))/0xb)+-parseInt(_0x5f5152(0x1b2))/0xc*(-parseInt(_0x5f5152(0x1b6))/0xd);if(_0x22f988===_0x27509c)break;else _0x46d6c5['push'](_0x46d6c5['shift']());}catch(_0x390dfa){_0x46d6c5['push'](_0x46d6c5['shift']());}}}(a28_0xbbf4,0xba665));import{getBffScriptInfo}from'../../core/api-client.js';export const bffDetail={'service':a28_0x236692(0x1ac),'command':'detail','description':a28_0x236692(0x1a2),'risk':a28_0x236692(0x19c),'flags':[{'name':'id','type':a28_0x236692(0x1ad),'required':!![],'description':a28_0x236692(0x1b3)},{'name':a28_0x236692(0x1b5),'type':a28_0x236692(0x1b0),'description':a28_0x236692(0x1a0)}],async 'execute'(_0x6b2889){const _0x1fcf07=a28_0x236692,_0x25c079=await getBffScriptInfo(_0x6b2889['num']('id')),_0x543a92=_0x6b2889[_0x1fcf07(0x19d)]('verbose');if(_0x543a92)return{'ok':!![],'data':_0x25c079};return{'ok':!![],'data':{'id':_0x25c079['id'],'appCode':_0x25c079[_0x1fcf07(0x1af)],'scriptType':_0x25c079[_0x1fcf07(0x1a4)],'description':_0x25c079['description']||_0x1fcf07(0x1ab),'createdTime':_0x25c079[_0x1fcf07(0x1a1)]??'','updatedTime':_0x25c079[_0x1fcf07(0x1b1)]??'','scriptContent':_0x25c079[_0x1fcf07(0x1a7)]??''}};}};function a28_0x88a9(_0x22f86a,_0x93427b){_0x22f86a=_0x22f86a-0x19b;const _0xbbf40d=a28_0xbbf4();let _0x88a9f3=_0xbbf40d[_0x22f86a];return _0x88a9f3;}function a28_0xbbf4(){const _0x2889d0=['(none)','bff','number','1113894lhnBxn','appCode','boolean','updatedTime','24mKloWr','Script\x20ID','93475FheMMf','verbose','5038618wHPMxj','687121WINBjH','read','bool','10cMzsvF','4315095IUygLy','Return\x20full\x20raw\x20script\x20object','createdTime','Get\x20BFF\x20script\x20details\x20by\x20ID','1289346BswbAL','scriptType','152uxRsVf','40vihthe','scriptContent','4FydEBp','3379519XiLfFJ','35JLVqih'];a28_0xbbf4=function(){return _0x2889d0;};return a28_0xbbf4();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x48844d,_0x490b44){const _0x298fe2=a29_0x4101,_0x5978d1=_0x48844d();while(!![]){try{const _0x42c2a6=parseInt(_0x298fe2(0x8e))/0x1+parseInt(_0x298fe2(0x97))/0x2*(parseInt(_0x298fe2(0x96))/0x3)+parseInt(_0x298fe2(0x91))/0x4+parseInt(_0x298fe2(0x94))/0x5*(-parseInt(_0x298fe2(0x95))/0x6)+-parseInt(_0x298fe2(0x90))/0x7*(parseInt(_0x298fe2(0x92))/0x8)+parseInt(_0x298fe2(0x8f))/0x9+-parseInt(_0x298fe2(0x93))/0xa;if(_0x42c2a6===_0x490b44)break;else _0x5978d1['push'](_0x5978d1['shift']());}catch(_0x49c5c3){_0x5978d1['push'](_0x5978d1['shift']());}}}(a29_0x17c3,0xaf606));import{bffList}from'../../commands/bff/list.js';import{bffDetail}from'../../commands/bff/detail.js';import{bffStatus}from'../../commands/bff/status.js';import{bffCreate}from'../../commands/bff/create.js';import{bffPush}from'../../commands/bff/push.js';import{bffPull}from'../../commands/bff/pull.js';function a29_0x4101(_0x501df4,_0x4a5a22){_0x501df4=_0x501df4-0x8e;const _0x17c34e=a29_0x17c3();let _0x41010=_0x17c34e[_0x501df4];return _0x41010;}function a29_0x17c3(){const _0x34a126=['7608eVHkVC','1237523xUzdBN','3705588SFVGec','175PgThuW','3962592vcsQSW','224296zWRdfC','20002380DViMRs','22085vVfwiS','300GlFFwv','789fCWgTJ'];a29_0x17c3=function(){return _0x34a126;};return a29_0x17c3();}import{bffDelete}from'../../commands/bff/delete.js';export const bffDefinitions=[bffList,bffDetail,bffStatus,bffCreate,bffPush,bffPull,bffDelete];
|
package/lib/commands/bff/list.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a30_0x3aed45=a30_0x4f85;(function(_0x155f4e,_0x5c44b8){const _0x2d105f=a30_0x4f85,_0x2bc8ee=_0x155f4e();while(!![]){try{const _0xed057c=parseInt(_0x2d105f(0x93))/0x1*(-parseInt(_0x2d105f(0x8e))/0x2)+parseInt(_0x2d105f(0x8c))/0x3*(-parseInt(_0x2d105f(0x95))/0x4)+parseInt(_0x2d105f(0x82))/0x5+-parseInt(_0x2d105f(0x97))/0x6+parseInt(_0x2d105f(0x81))/0x7*(parseInt(_0x2d105f(0x91))/0x8)+-parseInt(_0x2d105f(0x89))/0x9+parseInt(_0x2d105f(0x86))/0xa*(parseInt(_0x2d105f(0x79))/0xb);if(_0xed057c===_0x5c44b8)break;else _0x2bc8ee['push'](_0x2bc8ee['shift']());}catch(_0x486949){_0x2bc8ee['push'](_0x2bc8ee['shift']());}}}(a30_0x4cd0,0xa2ce8));import{listBffScripts}from'../../core/api-client.js';function a30_0x4f85(_0x373f28,_0x10c775){_0x373f28=_0x373f28-0x79;const _0x4cd026=a30_0x4cd0();let _0x4f85d5=_0x4cd026[_0x373f28];return _0x4f85d5;}export const bffList={'service':'bff','command':'list','description':a30_0x3aed45(0x7b),'risk':a30_0x3aed45(0x90),'flags':[{'name':a30_0x3aed45(0x8a),'type':a30_0x3aed45(0x8b),'description':a30_0x3aed45(0x8f),'default':a30_0x3aed45(0x84),'enum':[a30_0x3aed45(0x84),'COMMON']},{'name':'name','type':'string','description':a30_0x3aed45(0x7a)},{'name':a30_0x3aed45(0x87),'type':'boolean','description':a30_0x3aed45(0x96)}],async 'execute'(_0x5b3832){const _0x33a456=a30_0x3aed45,_0x5ab59c=await listBffScripts(_0x5b3832[_0x33a456(0x8d)],_0x5b3832['str'](_0x33a456(0x8a)),{'scriptName':_0x5b3832[_0x33a456(0x7c)](_0x33a456(0x7f))||undefined}),_0x4df7ca=_0x5b3832[_0x33a456(0x83)](_0x33a456(0x87));return{'ok':!![],'data':_0x4df7ca?_0x5ab59c:_0x5ab59c[_0x33a456(0x7d)](_0x42996c=>({'id':_0x42996c['id'],'functionName':_0x42996c[_0x33a456(0x85)]??'','description':_0x42996c[_0x33a456(0x7e)]||_0x33a456(0x92),'scriptType':_0x42996c[_0x33a456(0x88)]})),'message':_0x5ab59c[_0x33a456(0x94)]===0x0?_0x33a456(0x80):undefined};}};function a30_0x4cd0(){const _0xfbf581=['Script\x20type\x20filter','read','37024TYkgAN','(unnamed)','487477eFXCtz','length','5129776PhQgNx','Return\x20full\x20script\x20objects','1755894MQPAfo','11gwBvBo','Filter\x20by\x20script\x20name','List\x20BFF\x20scripts','str','map','description','name','No\x20BFF\x20scripts\x20found.','350omEvJo','6238610DnJAum','bool','ENDPOINT','functionName','24505990wPzlHm','verbose','scriptType','10802655EhGoow','type','string','3LWfnLP','appCode','2daHeNV'];a30_0x4cd0=function(){return _0xfbf581;};return a30_0x4cd0();}
|
package/lib/commands/bff/pull.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a31_0x44aa95=a31_0x5354;(function(_0x222aa7,_0x5be694){const _0x2c45fb=a31_0x5354,_0x1cc005=_0x222aa7();while(!![]){try{const _0x34cdc2=parseInt(_0x2c45fb(0x1d0))/0x1+parseInt(_0x2c45fb(0x1bb))/0x2+parseInt(_0x2c45fb(0x1d6))/0x3+-parseInt(_0x2c45fb(0x19c))/0x4+-parseInt(_0x2c45fb(0x1a3))/0x5*(parseInt(_0x2c45fb(0x1ba))/0x6)+-parseInt(_0x2c45fb(0x1d9))/0x7+-parseInt(_0x2c45fb(0x1cd))/0x8*(-parseInt(_0x2c45fb(0x1b7))/0x9);if(_0x34cdc2===_0x5be694)break;else _0x1cc005['push'](_0x1cc005['shift']());}catch(_0x227789){_0x1cc005['push'](_0x1cc005['shift']());}}}(a31_0x3ed7,0x8e3ee));import{createInterface}from'node:readline';import{writeFile}from'node:fs/promises';import{listBffScripts,getBffScriptStatistics}from'../../core/api-client.js';import{loadAliasMap}from'../../core/alias-resolver.js';function a31_0x3ed7(){const _0x758100=['103284fsqGfG','cancelled','local\x20unsynced\x20changes','Pull\x20only\x20this\x20script\x20type','&type=','appCode','1838505mkPcNF','functions','Force\x20pull\x20cancelled.','665525WwbTQv','version','conflict','Force\x20overwrite\x20local\x20unsynced\x20changes','apps','pull','scriptType','question','datasetCode','nonInteractive','string','1332292dxldJs','COMMON','\x20skipped,\x20','scriptsRoot','boolean','Remote\x20script\x20missing\x20content.','\x20remote\x20BFF\x20script(s)\x20for\x20pull','5HfCIBG','stringify','HOOK','bool','str','Pull\x20complete:\x20','validation','scriptContent','force','functionName','Force\x20pull\x20will\x20overwrite\x20local\x20unsynced\x20changes.\x20Continue?\x20[y/N]\x20','operationType','/api/management/library/scripts/list?appCode=','yes','hookLocation','functionNode','stdin','message','alias','length','2480409WOxgiw','push','lockKey','6457194WVNTWa','2190530peligt','apiDir','type','close','bff','all','unresolvable\x20target\x20path','No\x20remote\x20BFF\x20scripts\x20found.','Remote\x20script\x20missing\x20id.','lastSync','write','toLowerCase','lockFilePath','filePath','Would\x20inspect\x20','Pull\x20remote\x20BFF\x20scripts\x20to\x20local','parse','toISOString','8DbbJto','skipped','GET'];a31_0x3ed7=function(){return _0x758100;};return a31_0x3ed7();}import{resolveApiFilePath}from'../../context.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{createHookLocationMap,ensureParentDirectory,fileExists,normalizeBffType,resolveRemoteScriptTarget}from'../../core/bff/file-system.js';import{computeContentHash,computeFileHash}from'../../core/bff/hash.js';import{createEmptyBffLock,ensureLockScope,readBffLockFile,writeBffLockFile}from'../../core/bff/lock.js';import{CliErrors}from'../../errors.js';export const bffPull={'service':a31_0x44aa95(0x1bf),'command':a31_0x44aa95(0x1de),'description':a31_0x44aa95(0x1ca),'risk':a31_0x44aa95(0x1c5),'flags':[{'name':a31_0x44aa95(0x1bd),'type':a31_0x44aa95(0x19b),'description':a31_0x44aa95(0x1d3),'enum':[a31_0x44aa95(0x19d),'ENDPOINT',a31_0x44aa95(0x1a5)]},{'name':a31_0x44aa95(0x1ab),'type':a31_0x44aa95(0x1a0),'description':a31_0x44aa95(0x1dc)}],async 'dryRun'(_0x171ed0){const _0x10798f=a31_0x44aa95,_0x58381a=loadBffProjectConfig(_0x171ed0['appCode']),_0x1c56c6=await readBffLockFile(_0x58381a[_0x10798f(0x1c7)]),{appLock:_0x1c7fbb}=ensureLockScope(_0x1c56c6??createEmptyBffLock(),_0x171ed0['appCode'],_0x58381a['scriptsRoot'],_0x10798f(0x1de)),_0x15de0e=normalizeBffType(_0x171ed0['str'](_0x10798f(0x1bd)))??undefined,_0x5a650=buildDatasetCodeToAliasMap(_0x171ed0[_0x10798f(0x1bc)],_0x171ed0[_0x10798f(0x1d5)]),[_0x5c7ba,_0xffb192]=await Promise['all']([listBffScripts(_0x171ed0['appCode'],_0x15de0e),getBffScriptStatistics(_0x171ed0[_0x10798f(0x1d5)])]),_0x3419e9=createHookLocationMap(_0xffb192),_0x4a12dc=[];for(const _0x11cb51 of _0x5c7ba){const _0x3381f2=resolveRemoteScriptTarget(_0x58381a,_0x11cb51,_0x3419e9,_0x1c7fbb[_0x10798f(0x1d7)],_0x5a650);if(!_0x3381f2){_0x4a12dc[_0x10798f(0x1b8)]({'scriptType':_0x11cb51[_0x10798f(0x1df)],'functionName':_0x11cb51[_0x10798f(0x1ac)]??'','status':_0x10798f(0x1ce),'reason':_0x10798f(0x1c1)});continue;}const _0x3367e4=_0x1c7fbb[_0x10798f(0x1d7)][_0x3381f2['lockKey']],_0x40c404=_0x11cb51[_0x10798f(0x1aa)]!=null?computeContentHash(_0x11cb51[_0x10798f(0x1aa)]):undefined,_0x203b14=await hasUnsyncedLocalChanges(_0x3381f2['filePath'],_0x3367e4,_0x40c404);_0x4a12dc[_0x10798f(0x1b8)]({'lockKey':_0x3381f2[_0x10798f(0x1b9)],'filePath':_0x3381f2['filePath'],'remoteId':_0x11cb51['id']??null,'status':_0x203b14?_0x10798f(0x1db):'would_pull'});}return{'method':_0x10798f(0x1cf),'url':_0x10798f(0x1af)+_0x171ed0[_0x10798f(0x1d5)]+(_0x15de0e?_0x10798f(0x1d4)+_0x15de0e:''),'body':{'appCode':_0x171ed0['appCode'],'filterType':_0x15de0e??null,'files':_0x4a12dc},'description':_0x10798f(0x1c9)+_0x4a12dc[_0x10798f(0x1b6)]+_0x10798f(0x1a2)};},async 'execute'(_0x2bd477){const _0x51c49f=a31_0x44aa95,_0x3cdbb0=loadBffProjectConfig(_0x2bd477['appCode']),_0x471071=await readBffLockFile(_0x3cdbb0['lockFilePath']),{lockData:_0x41d1bf,appLock:_0x2a2b95}=ensureLockScope(_0x471071??createEmptyBffLock(),_0x2bd477['appCode'],_0x3cdbb0[_0x51c49f(0x19f)],_0x51c49f(0x1de)),_0x28217d=normalizeBffType(_0x2bd477[_0x51c49f(0x1a7)]('type'))??undefined;if(_0x2bd477['str']('type')&&!_0x28217d)throw CliErrors[_0x51c49f(0x1a9)]('--type\x20must\x20be\x20COMMON,\x20ENDPOINT,\x20or\x20HOOK.');const [_0x39f463,_0x4edf14]=await Promise[_0x51c49f(0x1c0)]([listBffScripts(_0x2bd477[_0x51c49f(0x1d5)],_0x28217d),getBffScriptStatistics(_0x2bd477[_0x51c49f(0x1d5)])]);if(_0x39f463[_0x51c49f(0x1b6)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x51c49f(0x1c2)};const _0x18e690=_0x2bd477[_0x51c49f(0x1a6)]('force');if(_0x18e690&&!_0x2bd477[_0x51c49f(0x19a)]){const _0x363930=await confirmForce();if(!_0x363930)throw CliErrors[_0x51c49f(0x1d1)](_0x51c49f(0x1d8));}if(_0x18e690&&_0x2bd477[_0x51c49f(0x19a)]){}const _0x9cb36b=buildDatasetCodeToAliasMap(_0x2bd477[_0x51c49f(0x1bc)],_0x2bd477['appCode']),_0x3b742f=createHookLocationMap(_0x4edf14),_0x175e3e=JSON[_0x51c49f(0x1cb)](JSON[_0x51c49f(0x1a4)](_0x41d1bf)),_0xc44b22=_0x2bd477['appCode'],_0x353c5b=_0x175e3e[_0x51c49f(0x1dd)][_0xc44b22];if(!_0x353c5b)throw new Error('Lock\x20scope\x20for\x20app\x20\x22'+_0xc44b22+'\x22\x20not\x20found\x20after\x20ensureLockScope.');const _0x7d371b=[],_0x19271b=[],_0xb274ed=[];for(const _0x5931c9 of _0x39f463){const _0x350c69=resolveRemoteScriptTarget(_0x3cdbb0,_0x5931c9,_0x3b742f,_0x2a2b95[_0x51c49f(0x1d7)],_0x9cb36b);if(!_0x350c69){_0x19271b[_0x51c49f(0x1b8)]({'lockKey':_0x5931c9[_0x51c49f(0x1df)]+'/'+_0x5931c9[_0x51c49f(0x1ac)],'reason':_0x51c49f(0x1c1)});continue;}const _0x1282dd=_0x2a2b95[_0x51c49f(0x1d7)][_0x350c69['lockKey']];try{if(!_0x5931c9['id'])throw new Error(_0x51c49f(0x1c3));if(_0x5931c9[_0x51c49f(0x1aa)]==null)throw new Error(_0x51c49f(0x1a1));const _0x351739=_0x5931c9[_0x51c49f(0x1aa)],_0x1236b8=computeContentHash(_0x351739);if(!_0x18e690){const _0x125d02=await hasUnsyncedLocalChanges(_0x350c69['filePath'],_0x1282dd,_0x1236b8);if(_0x125d02){_0x19271b[_0x51c49f(0x1b8)]({'lockKey':_0x350c69[_0x51c49f(0x1b9)],'reason':_0x51c49f(0x1d2)});continue;}}await ensureParentDirectory(_0x350c69['filePath']),await writeFile(_0x350c69[_0x51c49f(0x1c8)],_0x351739,'utf8');const _0x237945={'hash':_0x1236b8,'remoteId':_0x5931c9['id'],'version':_0x5931c9[_0x51c49f(0x1da)]};_0x350c69[_0x51c49f(0x1bd)]==='HOOK'&&_0x350c69[_0x51c49f(0x1b1)]&&(_0x237945[_0x51c49f(0x1b5)]=_0x350c69['hookLocation'][_0x51c49f(0x1b5)],_0x237945[_0x51c49f(0x199)]=_0x350c69['hookLocation'][_0x51c49f(0x199)],_0x237945[_0x51c49f(0x1ae)]=_0x350c69[_0x51c49f(0x1b1)][_0x51c49f(0x1ae)],_0x237945[_0x51c49f(0x1b2)]=_0x350c69['hookLocation'][_0x51c49f(0x1b2)]),_0x353c5b['functions'][_0x350c69[_0x51c49f(0x1b9)]]=_0x237945,_0x7d371b['push']({'lockKey':_0x350c69[_0x51c49f(0x1b9)],'remoteId':_0x5931c9['id']});}catch(_0x3d61c9){_0xb274ed['push']({'lockKey':_0x350c69[_0x51c49f(0x1b9)],'error':_0x3d61c9 instanceof Error?_0x3d61c9[_0x51c49f(0x1b4)]:String(_0x3d61c9)});}}return _0x353c5b[_0x51c49f(0x1c4)]=new Date()[_0x51c49f(0x1cc)](),await writeBffLockFile(_0x3cdbb0[_0x51c49f(0x1c7)],_0x175e3e),{'ok':_0xb274ed['length']===0x0,'data':{'pulled':_0x7d371b,'skipped':_0x19271b,'failed':_0xb274ed},'message':_0x51c49f(0x1a8)+_0x7d371b['length']+'\x20pulled,\x20'+_0x19271b['length']+_0x51c49f(0x19e)+_0xb274ed[_0x51c49f(0x1b6)]+'\x20failed'};}};async function hasUnsyncedLocalChanges(_0x206a09,_0xe9b339,_0x3fab1b){if(!await fileExists(_0x206a09))return![];const _0x5af91f=await computeFileHash(_0x206a09);if(!_0xe9b339)return _0x3fab1b?_0x5af91f!==_0x3fab1b:!![];return _0x5af91f!==_0xe9b339['hash'];}function buildDatasetCodeToAliasMap(_0x370a09,_0x3cb23a){const _0x4560de=a31_0x44aa95,_0x276405=loadAliasMap(_0x370a09,undefined,resolveApiFilePath(_0x370a09,_0x3cb23a));return new Map(_0x276405['map'](_0x283434=>[_0x283434[_0x4560de(0x199)],_0x283434[_0x4560de(0x1b5)]]));}function a31_0x5354(_0x1bfb32,_0x542d58){_0x1bfb32=_0x1bfb32-0x198;const _0x3ed733=a31_0x3ed7();let _0x535476=_0x3ed733[_0x1bfb32];return _0x535476;}async function confirmForce(){const _0x471274=a31_0x44aa95,_0x54d139=createInterface({'input':process[_0x471274(0x1b3)],'output':process['stderr']}),_0x50cdcd=await new Promise(_0x3444b5=>{const _0x4aa568=_0x471274;_0x54d139[_0x4aa568(0x198)](_0x4aa568(0x1ad),_0x3444b5);});return _0x54d139[_0x471274(0x1be)](),['y',_0x471274(0x1b0)]['includes'](_0x50cdcd['trim']()[_0x471274(0x1c6)]());}
|
package/lib/commands/bff/push.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a32_0x31116e=a32_0x4e1d;(function(_0x1b72e1,_0x458151){const _0x467c03=a32_0x4e1d,_0x1b36dd=_0x1b72e1();while(!![]){try{const _0x487771=-parseInt(_0x467c03(0x19c))/0x1+-parseInt(_0x467c03(0x1b2))/0x2+parseInt(_0x467c03(0x185))/0x3*(parseInt(_0x467c03(0x18f))/0x4)+parseInt(_0x467c03(0x1c3))/0x5*(-parseInt(_0x467c03(0x174))/0x6)+-parseInt(_0x467c03(0x1c1))/0x7+-parseInt(_0x467c03(0x1b9))/0x8*(-parseInt(_0x467c03(0x17e))/0x9)+parseInt(_0x467c03(0x1bc))/0xa;if(_0x487771===_0x458151)break;else _0x1b36dd['push'](_0x1b36dd['shift']());}catch(_0x4e6e7e){_0x1b36dd['push'](_0x1b36dd['shift']());}}}(a32_0x40fa,0x22ebb));import{readFile}from'node:fs/promises';import{saveBffScript,getBffScriptInfo,listDatasets,clearBffScriptCache}from'../../core/api-client.js';import{loadAliasMap}from'../../core/alias-resolver.js';import{resolveApiFilePath}from'../../context.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{normalizeBffType,scanLocalBffFunctions}from'../../core/bff/file-system.js';import{computeFileHash}from'../../core/bff/hash.js';import{createEmptyBffLock,ensureLockScope,readBffLockFile,writeBffLockFile}from'../../core/bff/lock.js';function a32_0x4e1d(_0x38d56f,_0x38c489){_0x38d56f=_0x38d56f-0x174;const _0x40fa72=a32_0x40fa();let _0x4e1d35=_0x40fa72[_0x38d56f];return _0x4e1d35;}import{extractScriptDescription}from'../../core/bff/utils.js';import{sleep}from'../../utils/sleep.js';import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';const CACHE_CLEAR_ATTEMPTS=0x2,CACHE_CLEAR_INTERVAL_MS=0x12c;function a32_0x40fa(){const _0xc1f1c7=['some','Runtime\x20script\x20cache\x20cleared.','str','apps','stringify','datasetId','datasetCodeToDataset','42219kGRhfZ','push','has','every','status','description','lastSync','12543JqRQGr','filePath','Cannot\x20resolve\x20dataset\x20for\x20\x22','runtime\x20cache\x20cleared','utf8','\x22\x20not\x20found\x20after\x20ensureLockScope.','runtime\x20cache\x20not\x20needed',':\x20missing\x20remote\x20version.\x20Run\x20`push`\x20after\x20`pull`\x20to\x20sync\x20version\x20info.','length','parse','268wFzFIT','functionNode','aliasToDatasetCode','\x22.\x20','unchanged','filter','remoteId','type','No\x20local\x20BFF\x20functions\x20found.','alias','Push\x20complete:\x20','Incomplete\x20HOOK\x20path:\x20','bool','9093uSONST','name','operationType','Would\x20inspect\x20','datasetCode','hash','script','POST','\x20failed,\x20','Push\x20only\x20this\x20script\x20type','Push\x20only\x20the\x20named\x20function\x20(requires\x20--type)','\x20uploaded,\x20','bff','attempted','message','runtime\x20cache\x20clear\x20failed','would_push','functions','HOOK','high-risk-write','lockKey','apiDir','49716EPESvf','string','ENDPOINT','appCode','version','lockFilePath','scriptsRoot','96PQWvIn','cleared','force','1649590DFUgsU','map','--name\x20requires\x20--type\x20to\x20identify\x20the\x20function.','validation','Lock\x20scope\x20for\x20app\x20\x22','761726HzCGIf','values','9455bedCLp','684NzVuRv','get','set'];a32_0x40fa=function(){return _0xc1f1c7;};return a32_0x40fa();}export const bffPush={'service':a32_0x31116e(0x1a8),'command':a32_0x31116e(0x17f),'description':'Push\x20local\x20BFF\x20scripts\x20to\x20remote','risk':a32_0x31116e(0x1af),'flags':[{'name':a32_0x31116e(0x196),'type':a32_0x31116e(0x1b3),'description':a32_0x31116e(0x1a5),'enum':['COMMON',a32_0x31116e(0x1b4),a32_0x31116e(0x1ae)]},{'name':'name','type':a32_0x31116e(0x1b3),'description':a32_0x31116e(0x1a6)},{'name':a32_0x31116e(0x1bb),'type':'boolean','description':'Force\x20push\x20ignoring\x20hash\x20protection'}],async 'dryRun'(_0x286dc7){const _0x3dba67=a32_0x31116e,_0x433f54=loadBffProjectConfig(_0x286dc7[_0x3dba67(0x1b5)]),_0x21fa55=await readBffLockFile(_0x433f54['lockFilePath']),{appLock:_0x54180d}=ensureLockScope(_0x21fa55??createEmptyBffLock(),_0x286dc7[_0x3dba67(0x1b5)],_0x433f54[_0x3dba67(0x1b8)],_0x3dba67(0x17f)),_0x391d26=await getTargetFunctions(_0x433f54,_0x286dc7),_0x532405=_0x286dc7[_0x3dba67(0x19b)]('force'),_0x407ffa=[];for(const _0x5dab24 of _0x391d26){const _0x1f2043=await computeFileHash(_0x5dab24[_0x3dba67(0x186)]),_0x2d3d98=_0x54180d[_0x3dba67(0x1ad)][_0x5dab24['lockKey']],_0x2773bf=!!_0x2d3d98&&_0x2d3d98[_0x3dba67(0x1a1)]===_0x1f2043;_0x407ffa[_0x3dba67(0x17f)]({'lockKey':_0x5dab24[_0x3dba67(0x1b0)],'filePath':_0x5dab24['filePath'],'remoteId':_0x2d3d98?.[_0x3dba67(0x195)]??null,'mode':_0x2d3d98?.[_0x3dba67(0x195)]?'update':'create','status':!_0x532405&&_0x2773bf?_0x3dba67(0x193):_0x3dba67(0x1ac)});}return{'method':_0x3dba67(0x1a3),'url':'/api/management/library/scripts/save','body':{'appCode':_0x286dc7[_0x3dba67(0x1b5)],'force':_0x532405,'files':_0x407ffa,'cacheClearAtRuntime':_0x407ffa['some'](_0x4abda2=>_0x4abda2[_0x3dba67(0x182)]===_0x3dba67(0x1ac)),'cacheClearAtRuntimeTimes':_0x407ffa[_0x3dba67(0x177)](_0x5d68dd=>_0x5d68dd[_0x3dba67(0x182)]===_0x3dba67(0x1ac))?CACHE_CLEAR_ATTEMPTS:0x0},'description':_0x3dba67(0x19f)+_0x407ffa['length']+'\x20local\x20BFF\x20script(s)\x20for\x20push\x20and\x20clear\x20runtime\x20cache\x20if\x20files\x20are\x20uploaded'};},async 'execute'(_0x548efa){const _0x437ba6=a32_0x31116e,_0x42294f=loadBffProjectConfig(_0x548efa[_0x437ba6(0x1b5)]),_0x150f5f=await readBffLockFile(_0x42294f[_0x437ba6(0x1b7)]),{lockData:_0x5cf512,appLock:_0x2f3b0f}=ensureLockScope(_0x150f5f??createEmptyBffLock(),_0x548efa[_0x437ba6(0x1b5)],_0x42294f[_0x437ba6(0x1b8)],_0x437ba6(0x17f)),_0x1b6c6f=await getTargetFunctions(_0x42294f,_0x548efa);if(_0x1b6c6f[_0x437ba6(0x18d)]===0x0)return{'ok':!![],'data':{'uploaded':[],'skipped':[],'failed':[]},'message':_0x437ba6(0x197)};const _0x49b97f=_0x548efa[_0x437ba6(0x19b)](_0x437ba6(0x1bb)),_0x37f86b=JSON[_0x437ba6(0x18e)](JSON[_0x437ba6(0x17b)](_0x5cf512)),_0x15821b=_0x37f86b[_0x437ba6(0x17a)][_0x548efa['appCode']];if(!_0x15821b)throw new Error(_0x437ba6(0x1c0)+_0x548efa['appCode']+_0x437ba6(0x18a));const _0x34672d=await buildHookMaps(_0x548efa['appCode'],_0x548efa[_0x437ba6(0x1b1)],_0x1b6c6f,_0x15821b),_0x4781ea=[],_0x8486cc=[],_0x5cd84c=[];for(const _0x1731ca of _0x1b6c6f){const _0x510bad=await computeFileHash(_0x1731ca['filePath']),_0x255d36=_0x15821b[_0x437ba6(0x1ad)][_0x1731ca[_0x437ba6(0x1b0)]];if(!_0x49b97f&&_0x255d36&&_0x255d36[_0x437ba6(0x1a1)]===_0x510bad){_0x8486cc[_0x437ba6(0x17f)]({'lockKey':_0x1731ca['lockKey'],'reason':'unchanged'});continue;}try{await uploadSingleFunction(_0x548efa['appCode'],_0x1731ca,_0x15821b,_0x34672d);const _0x32fcc5=_0x15821b['functions'][_0x1731ca[_0x437ba6(0x1b0)]];_0x4781ea[_0x437ba6(0x17f)]({'lockKey':_0x1731ca[_0x437ba6(0x1b0)],'remoteId':_0x32fcc5?.[_0x437ba6(0x195)]??0x0});}catch(_0x1cc337){_0x5cd84c[_0x437ba6(0x17f)]({'lockKey':_0x1731ca['lockKey'],'error':_0x1cc337 instanceof Error?_0x1cc337['message']:String(_0x1cc337)});}}_0x15821b[_0x437ba6(0x184)]=new Date()['toISOString'](),await writeBffLockFile(_0x42294f['lockFilePath'],_0x37f86b),await waitForUploadedLockEntries(_0x42294f['lockFilePath'],_0x548efa[_0x437ba6(0x1b5)],_0x4781ea['map'](_0x579cf6=>_0x579cf6[_0x437ba6(0x1b0)]));let _0x5ac0e0={'attempted':![],'cleared':![]};if(_0x4781ea[_0x437ba6(0x18d)]>0x0)try{let _0x793e1b='';for(let _0x20cfaa=0x0;_0x20cfaa<CACHE_CLEAR_ATTEMPTS;_0x20cfaa+=0x1){_0x793e1b=await clearBffScriptCache(),_0x20cfaa<CACHE_CLEAR_ATTEMPTS-0x1&&await sleep(CACHE_CLEAR_INTERVAL_MS);}_0x5ac0e0={'attempted':!![],'cleared':!![],'message':_0x793e1b||_0x437ba6(0x178)};}catch(_0x11f5f4){_0x5ac0e0={'attempted':!![],'cleared':![],'error':_0x11f5f4 instanceof Error?_0x11f5f4[_0x437ba6(0x1aa)]:String(_0x11f5f4)};}const _0x15829f=_0x5cd84c[_0x437ba6(0x18d)]===0x0&&(_0x5ac0e0[_0x437ba6(0x1a9)]?_0x5ac0e0['cleared']:!![]),_0x4652f0=_0x5ac0e0[_0x437ba6(0x1a9)]?_0x5ac0e0[_0x437ba6(0x1ba)]?_0x437ba6(0x188):_0x437ba6(0x1ab):_0x437ba6(0x18b);return{'ok':_0x15829f,'data':{'uploaded':_0x4781ea,'skipped':_0x8486cc,'failed':_0x5cd84c,'cacheClear':_0x5ac0e0},'message':_0x437ba6(0x199)+_0x4781ea['length']+_0x437ba6(0x1a7)+_0x8486cc['length']+'\x20skipped,\x20'+_0x5cd84c[_0x437ba6(0x18d)]+_0x437ba6(0x1a4)+_0x4652f0};}};async function getTargetFunctions(_0x4b63f1,_0x19bcf4){const _0x1106f3=a32_0x31116e,_0xe70405=_0x19bcf4[_0x1106f3(0x179)](_0x1106f3(0x196)),_0x2d1829=_0x19bcf4[_0x1106f3(0x179)](_0x1106f3(0x19d)),_0x417bc5=normalizeBffType(_0xe70405)??undefined;if(_0x2d1829&&!_0x417bc5)throw CliErrors[_0x1106f3(0x1bf)](_0x1106f3(0x1be));const _0x1a2825=await scanLocalBffFunctions(_0x4b63f1,_0x417bc5);if(_0x2d1829){const _0x2818fd=_0x1a2825[_0x1106f3(0x194)](_0x34662b=>_0x34662b[_0x1106f3(0x19d)]===_0x2d1829);if(_0x2818fd['length']===0x0)throw CliErrors[_0x1106f3(0x1bf)]('Local\x20function\x20not\x20found:\x20'+_0x417bc5+'/'+_0x2d1829);return _0x2818fd;}return _0x1a2825;}async function buildHookMaps(_0x5eb055,_0x422f67,_0x49712e,_0x354376){const _0x4b0458=a32_0x31116e,_0x4ae461=_0x49712e[_0x4b0458(0x177)](_0x1af154=>_0x1af154['type']===_0x4b0458(0x1ae));if(!_0x4ae461)return{'aliasToDatasetCode':new Map(),'datasetCodeToDataset':new Map()};const _0x23a188=loadAliasMap(_0x422f67,undefined,resolveApiFilePath(_0x422f67,_0x5eb055)),_0x5c4634=new Map(_0x23a188[_0x4b0458(0x1bd)](_0x17c97f=>[_0x17c97f[_0x4b0458(0x198)],_0x17c97f[_0x4b0458(0x1a0)]]));for(const _0x199169 of Object[_0x4b0458(0x1c2)](_0x354376['functions'])){_0x199169['alias']&&_0x199169[_0x4b0458(0x1a0)]&&!_0x5c4634[_0x4b0458(0x180)](_0x199169[_0x4b0458(0x198)])&&_0x5c4634[_0x4b0458(0x176)](_0x199169[_0x4b0458(0x198)],_0x199169[_0x4b0458(0x1a0)]);}const _0x296f0=await listDatasets(_0x5eb055),_0x2f102b=new Map(_0x296f0[_0x4b0458(0x1bd)](_0xd63e=>[_0xd63e['code'],_0xd63e]));return{'aliasToDatasetCode':_0x5c4634,'datasetCodeToDataset':_0x2f102b};}async function uploadSingleFunction(_0x532c32,_0x295d8c,_0x49e208,_0x5d60b9){const _0x5e5e7b=a32_0x31116e,_0x32f466=await readFile(_0x295d8c[_0x5e5e7b(0x186)],_0x5e5e7b(0x189)),_0x5d798f=await computeFileHash(_0x295d8c['filePath']),_0x6c2789=_0x49e208[_0x5e5e7b(0x1ad)][_0x295d8c[_0x5e5e7b(0x1b0)]];if(_0x6c2789?.[_0x5e5e7b(0x195)]&&_0x6c2789['version']==null)throw CliErrors[_0x5e5e7b(0x1bf)](_0x295d8c[_0x5e5e7b(0x1b0)]+_0x5e5e7b(0x18c));let _0x500b30=extractScriptDescription(_0x32f466);if(!_0x500b30&&_0x6c2789?.[_0x5e5e7b(0x195)]){const _0x5a7e00=await getBffScriptInfo(_0x6c2789[_0x5e5e7b(0x195)]);_0x500b30=_0x5a7e00[_0x5e5e7b(0x183)]||undefined;}const _0x24b563={'appCode':_0x532c32,'functionName':_0x295d8c['name'],'scriptType':_0x295d8c['type'],'scriptContent':_0x32f466};if(_0x6c2789?.[_0x5e5e7b(0x195)])_0x24b563['id']=_0x6c2789[_0x5e5e7b(0x195)];if(_0x6c2789?.['version']!=null)_0x24b563[_0x5e5e7b(0x1b6)]=_0x6c2789[_0x5e5e7b(0x1b6)];if(_0x500b30)_0x24b563[_0x5e5e7b(0x183)]=_0x500b30;if(_0x295d8c[_0x5e5e7b(0x196)]==='HOOK'){const _0x32aa0f=_0x295d8c[_0x5e5e7b(0x198)];if(!_0x32aa0f||!_0x295d8c[_0x5e5e7b(0x19e)]||!_0x295d8c['functionNode'])throw CliErrors[_0x5e5e7b(0x1bf)](_0x5e5e7b(0x19a)+_0x295d8c['lockKey']);const _0x4cf85c=_0x5d60b9['aliasToDatasetCode']['get'](_0x32aa0f)??_0x6c2789?.[_0x5e5e7b(0x1a0)]??_0x32aa0f,_0x3a35f6=_0x5d60b9[_0x5e5e7b(0x17d)][_0x5e5e7b(0x175)](_0x4cf85c);if(!_0x3a35f6)throw CliErrors[_0x5e5e7b(0x1bf)](_0x5e5e7b(0x187)+_0x32aa0f+_0x5e5e7b(0x192)+('Run\x20`'+CLI_BIN_NAME+'\x20api\x20pull`\x20to\x20refresh\x20api.ts,\x20or\x20verify\x20the\x20dataset\x20exists.'));_0x24b563[_0x5e5e7b(0x17c)]=_0x3a35f6['id'],_0x24b563[_0x5e5e7b(0x19e)]=_0x295d8c[_0x5e5e7b(0x19e)],_0x24b563[_0x5e5e7b(0x190)]=_0x295d8c[_0x5e5e7b(0x190)];}const _0x123c89=await saveBffScript(_0x24b563),_0x22d289=_0x123c89['id'],_0x765b3a=_0x123c89[_0x5e5e7b(0x1a2)]??await getBffScriptInfo(_0x22d289),_0x59ee63={'hash':_0x5d798f,'remoteId':_0x22d289,'version':_0x765b3a[_0x5e5e7b(0x1b6)]};if(_0x295d8c[_0x5e5e7b(0x196)]===_0x5e5e7b(0x1ae)){const _0x722153=_0x295d8c[_0x5e5e7b(0x198)],_0x230a49=_0x5d60b9[_0x5e5e7b(0x191)][_0x5e5e7b(0x175)](_0x722153)??_0x6c2789?.[_0x5e5e7b(0x1a0)]??_0x722153;_0x5d60b9[_0x5e5e7b(0x191)][_0x5e5e7b(0x180)](_0x722153)?_0x59ee63[_0x5e5e7b(0x198)]=_0x722153:_0x59ee63[_0x5e5e7b(0x198)]=_0x6c2789?.[_0x5e5e7b(0x198)],_0x59ee63[_0x5e5e7b(0x1a0)]=_0x230a49,_0x59ee63[_0x5e5e7b(0x19e)]=_0x295d8c[_0x5e5e7b(0x19e)],_0x59ee63[_0x5e5e7b(0x190)]=_0x295d8c[_0x5e5e7b(0x190)];}_0x49e208[_0x5e5e7b(0x1ad)][_0x295d8c[_0x5e5e7b(0x1b0)]]=_0x59ee63;}const LOCK_SETTLE_RETRY_COUNT=0x14,LOCK_SETTLE_DELAY_MS=0x64;async function waitForUploadedLockEntries(_0x8b5936,_0x23c1fb,_0x276f4b){const _0x2c39bf=a32_0x31116e;if(_0x276f4b[_0x2c39bf(0x18d)]===0x0)return;for(let _0x39fab0=0x0;_0x39fab0<LOCK_SETTLE_RETRY_COUNT;_0x39fab0+=0x1){const _0x3226fa=await readBffLockFile(_0x8b5936),_0x22d076=_0x3226fa?.[_0x2c39bf(0x17a)]?.[_0x23c1fb]?.[_0x2c39bf(0x1ad)]??{},_0x3ee914=_0x276f4b[_0x2c39bf(0x181)](_0x582802=>!!_0x22d076[_0x582802]?.[_0x2c39bf(0x195)]);if(_0x3ee914)return;await sleep(LOCK_SETTLE_DELAY_MS);}throw new Error('Lock\x20file\x20not\x20settled\x20after\x20push\x20for\x20'+_0x276f4b['join'](',\x20')+'.');}
|
|
1
|
+
const a32_0x4762c2=a32_0x1345;(function(_0x2f606b,_0x16ef17){const _0x1b7f14=a32_0x1345,_0xa04f1a=_0x2f606b();while(!![]){try{const _0x4484e6=parseInt(_0x1b7f14(0xa5))/0x1*(-parseInt(_0x1b7f14(0x83))/0x2)+-parseInt(_0x1b7f14(0x8d))/0x3+-parseInt(_0x1b7f14(0xa9))/0x4*(-parseInt(_0x1b7f14(0xa1))/0x5)+-parseInt(_0x1b7f14(0x88))/0x6*(-parseInt(_0x1b7f14(0xa0))/0x7)+-parseInt(_0x1b7f14(0xc0))/0x8*(-parseInt(_0x1b7f14(0x97))/0x9)+parseInt(_0x1b7f14(0x99))/0xa*(parseInt(_0x1b7f14(0xcf))/0xb)+-parseInt(_0x1b7f14(0xbc))/0xc;if(_0x4484e6===_0x16ef17)break;else _0xa04f1a['push'](_0xa04f1a['shift']());}catch(_0x5d0956){_0xa04f1a['push'](_0xa04f1a['shift']());}}}(a32_0x5236,0x99caf));import{readFile}from'node:fs/promises';import{saveBffScript,getBffScriptInfo,listDatasets,clearBffScriptCache}from'../../core/api-client.js';import{loadAliasMap}from'../../core/alias-resolver.js';import{resolveApiFilePath}from'../../context.js';function a32_0x5236(){const _0x6ba5ca=['lockFilePath','No\x20local\x20BFF\x20functions\x20found.','2VagJuq','high-risk-write','\x20uploaded,\x20','Push\x20only\x20this\x20script\x20type','bool','5030778zrAmgt','Would\x20inspect\x20','message','Force\x20push\x20ignoring\x20hash\x20protection','\x20skipped,\x20','1080291RFHyux','\x22.\x20','attempted','scriptsRoot','set','datasetCode','Local\x20function\x20not\x20found:\x20','would_push','datasetId','\x20failed,\x20','1127142ndOEBV','get','249440vwusLL','type','apiDir','alias','str',':\x20missing\x20remote\x20version.\x20Run\x20`push`\x20after\x20`pull`\x20to\x20sync\x20version\x20info.','force','7HTWcbn','671665CjrEPL','operationType','map','stringify','628400GWpsrv','push','Push\x20only\x20the\x20named\x20function\x20(requires\x20--type)','/api/management/library/scripts/save','16kJqzOZ','\x22\x20not\x20found\x20after\x20ensureLockScope.','some','appCode','HOOK','Lock\x20file\x20not\x20settled\x20after\x20push\x20for\x20','functions','Push\x20complete:\x20','values','toISOString','string','Cannot\x20resolve\x20dataset\x20for\x20\x22','lockKey','datasetCodeToDataset','join','boolean','functionNode','\x20api\x20pull`\x20to\x20refresh\x20api.ts,\x20or\x20verify\x20the\x20dataset\x20exists.','version','5793732UgyxUI','code','aliasToDatasetCode','utf8','32KRKDDF','parse','COMMON','ENDPOINT','length','name','cleared','hash','apps','remoteId','filePath','validation','status','description','script','99vYADnc','runtime\x20cache\x20clear\x20failed','bff','Runtime\x20script\x20cache\x20cleared.','every'];a32_0x5236=function(){return _0x6ba5ca;};return a32_0x5236();}import{loadBffProjectConfig}from'../../core/bff/config.js';import{normalizeBffType,scanLocalBffFunctions}from'../../core/bff/file-system.js';import{computeFileHash}from'../../core/bff/hash.js';import{createEmptyBffLock,ensureLockScope,readBffLockFile,writeBffLockFile}from'../../core/bff/lock.js';import{extractScriptDescription}from'../../core/bff/utils.js';import{sleep}from'../../utils/sleep.js';import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';const CACHE_CLEAR_ATTEMPTS=0x2,CACHE_CLEAR_INTERVAL_MS=0x12c;export const bffPush={'service':a32_0x4762c2(0xd1),'command':a32_0x4762c2(0xa6),'description':'Push\x20local\x20BFF\x20scripts\x20to\x20remote','risk':a32_0x4762c2(0x84),'flags':[{'name':a32_0x4762c2(0x9a),'type':a32_0x4762c2(0xb3),'description':a32_0x4762c2(0x86),'enum':[a32_0x4762c2(0xc2),a32_0x4762c2(0xc3),a32_0x4762c2(0xad)]},{'name':a32_0x4762c2(0xc5),'type':a32_0x4762c2(0xb3),'description':a32_0x4762c2(0xa7)},{'name':a32_0x4762c2(0x9f),'type':a32_0x4762c2(0xb8),'description':a32_0x4762c2(0x8b)}],async 'dryRun'(_0x15df05){const _0x3776ad=a32_0x4762c2,_0x12084b=loadBffProjectConfig(_0x15df05[_0x3776ad(0xac)]),_0x14477a=await readBffLockFile(_0x12084b[_0x3776ad(0x81)]),{appLock:_0x26b1f0}=ensureLockScope(_0x14477a??createEmptyBffLock(),_0x15df05[_0x3776ad(0xac)],_0x12084b[_0x3776ad(0x90)],_0x3776ad(0xa6)),_0x8915e9=await getTargetFunctions(_0x12084b,_0x15df05),_0x4c145c=_0x15df05[_0x3776ad(0x87)](_0x3776ad(0x9f)),_0x237170=[];for(const _0x582dfd of _0x8915e9){const _0x2ac493=await computeFileHash(_0x582dfd[_0x3776ad(0xca)]),_0x5923b3=_0x26b1f0[_0x3776ad(0xaf)][_0x582dfd[_0x3776ad(0xb5)]],_0x1a34a4=!!_0x5923b3&&_0x5923b3[_0x3776ad(0xc7)]===_0x2ac493;_0x237170[_0x3776ad(0xa6)]({'lockKey':_0x582dfd[_0x3776ad(0xb5)],'filePath':_0x582dfd[_0x3776ad(0xca)],'remoteId':_0x5923b3?.[_0x3776ad(0xc9)]??null,'mode':_0x5923b3?.['remoteId']?'update':'create','status':!_0x4c145c&&_0x1a34a4?'unchanged':_0x3776ad(0x94)});}return{'method':'POST','url':_0x3776ad(0xa8),'body':{'appCode':_0x15df05[_0x3776ad(0xac)],'force':_0x4c145c,'files':_0x237170,'cacheClearAtRuntime':_0x237170['some'](_0x4da7d0=>_0x4da7d0[_0x3776ad(0xcc)]==='would_push'),'cacheClearAtRuntimeTimes':_0x237170[_0x3776ad(0xab)](_0x3e4deb=>_0x3e4deb[_0x3776ad(0xcc)]===_0x3776ad(0x94))?CACHE_CLEAR_ATTEMPTS:0x0},'description':_0x3776ad(0x89)+_0x237170[_0x3776ad(0xc4)]+'\x20local\x20BFF\x20script(s)\x20for\x20push\x20and\x20clear\x20runtime\x20cache\x20if\x20files\x20are\x20uploaded'};},async 'execute'(_0x47cf65){const _0x3d2f24=a32_0x4762c2,_0x20c6ce=loadBffProjectConfig(_0x47cf65[_0x3d2f24(0xac)]),_0x445405=await readBffLockFile(_0x20c6ce['lockFilePath']),{lockData:_0x1073cb,appLock:_0xab6197}=ensureLockScope(_0x445405??createEmptyBffLock(),_0x47cf65[_0x3d2f24(0xac)],_0x20c6ce[_0x3d2f24(0x90)],'push'),_0x480311=await getTargetFunctions(_0x20c6ce,_0x47cf65);if(_0x480311[_0x3d2f24(0xc4)]===0x0)return{'ok':!![],'data':{'uploaded':[],'skipped':[],'failed':[]},'message':_0x3d2f24(0x82)};const _0x2197bb=_0x47cf65[_0x3d2f24(0x87)](_0x3d2f24(0x9f)),_0x30ae33=JSON[_0x3d2f24(0xc1)](JSON[_0x3d2f24(0xa4)](_0x1073cb)),_0x4e3f18=_0x30ae33[_0x3d2f24(0xc8)][_0x47cf65['appCode']];if(!_0x4e3f18)throw new Error('Lock\x20scope\x20for\x20app\x20\x22'+_0x47cf65[_0x3d2f24(0xac)]+_0x3d2f24(0xaa));const _0x22eb8c=await buildHookMaps(_0x47cf65[_0x3d2f24(0xac)],_0x47cf65[_0x3d2f24(0x9b)],_0x480311,_0x4e3f18),_0x311f39=[],_0x2e2023=[],_0x11bd5f=[];for(const _0x4aea95 of _0x480311){const _0x1dd78c=await computeFileHash(_0x4aea95[_0x3d2f24(0xca)]),_0x526da1=_0x4e3f18[_0x3d2f24(0xaf)][_0x4aea95['lockKey']];if(!_0x2197bb&&_0x526da1&&_0x526da1[_0x3d2f24(0xc7)]===_0x1dd78c){_0x2e2023[_0x3d2f24(0xa6)]({'lockKey':_0x4aea95['lockKey'],'reason':'unchanged'});continue;}try{await uploadSingleFunction(_0x47cf65[_0x3d2f24(0xac)],_0x4aea95,_0x4e3f18,_0x22eb8c);const _0x55180c=_0x4e3f18[_0x3d2f24(0xaf)][_0x4aea95[_0x3d2f24(0xb5)]];_0x311f39[_0x3d2f24(0xa6)]({'lockKey':_0x4aea95[_0x3d2f24(0xb5)],'remoteId':_0x55180c?.[_0x3d2f24(0xc9)]??0x0});}catch(_0x48f91d){_0x11bd5f[_0x3d2f24(0xa6)]({'lockKey':_0x4aea95[_0x3d2f24(0xb5)],'error':_0x48f91d instanceof Error?_0x48f91d['message']:String(_0x48f91d)});}}_0x4e3f18['lastSync']=new Date()[_0x3d2f24(0xb2)](),await writeBffLockFile(_0x20c6ce[_0x3d2f24(0x81)],_0x30ae33),await waitForUploadedLockEntries(_0x20c6ce[_0x3d2f24(0x81)],_0x47cf65['appCode'],_0x311f39['map'](_0x523f3b=>_0x523f3b[_0x3d2f24(0xb5)]));let _0x1c0e12={'attempted':![],'cleared':![]};if(_0x311f39[_0x3d2f24(0xc4)]>0x0)try{let _0x8b72f4='';for(let _0x14d50e=0x0;_0x14d50e<CACHE_CLEAR_ATTEMPTS;_0x14d50e+=0x1){_0x8b72f4=await clearBffScriptCache(),_0x14d50e<CACHE_CLEAR_ATTEMPTS-0x1&&await sleep(CACHE_CLEAR_INTERVAL_MS);}_0x1c0e12={'attempted':!![],'cleared':!![],'message':_0x8b72f4||_0x3d2f24(0xd2)};}catch(_0x52f7e2){_0x1c0e12={'attempted':!![],'cleared':![],'error':_0x52f7e2 instanceof Error?_0x52f7e2[_0x3d2f24(0x8a)]:String(_0x52f7e2)};}const _0x282e21=_0x11bd5f[_0x3d2f24(0xc4)]===0x0&&(_0x1c0e12[_0x3d2f24(0x8f)]?_0x1c0e12['cleared']:!![]),_0x419370=_0x1c0e12[_0x3d2f24(0x8f)]?_0x1c0e12[_0x3d2f24(0xc6)]?'runtime\x20cache\x20cleared':_0x3d2f24(0xd0):'runtime\x20cache\x20not\x20needed';return{'ok':_0x282e21,'data':{'uploaded':_0x311f39,'skipped':_0x2e2023,'failed':_0x11bd5f,'cacheClear':_0x1c0e12},'message':_0x3d2f24(0xb0)+_0x311f39[_0x3d2f24(0xc4)]+_0x3d2f24(0x85)+_0x2e2023['length']+_0x3d2f24(0x8c)+_0x11bd5f[_0x3d2f24(0xc4)]+_0x3d2f24(0x96)+_0x419370};}};async function getTargetFunctions(_0x9bd5f7,_0x5329b8){const _0x18b04c=a32_0x4762c2,_0x1415eb=_0x5329b8[_0x18b04c(0x9d)]('type'),_0x39bcb6=_0x5329b8[_0x18b04c(0x9d)](_0x18b04c(0xc5)),_0x5ecafd=normalizeBffType(_0x1415eb)??undefined;if(_0x39bcb6&&!_0x5ecafd)throw CliErrors[_0x18b04c(0xcb)]('--name\x20requires\x20--type\x20to\x20identify\x20the\x20function.');const _0x1f9e06=await scanLocalBffFunctions(_0x9bd5f7,_0x5ecafd);if(_0x39bcb6){const _0x196886=_0x1f9e06['filter'](_0x4dd677=>_0x4dd677[_0x18b04c(0xc5)]===_0x39bcb6);if(_0x196886['length']===0x0)throw CliErrors[_0x18b04c(0xcb)](_0x18b04c(0x93)+_0x5ecafd+'/'+_0x39bcb6);return _0x196886;}return _0x1f9e06;}function a32_0x1345(_0x500e73,_0x48302b){_0x500e73=_0x500e73-0x81;const _0x523638=a32_0x5236();let _0x1345c8=_0x523638[_0x500e73];return _0x1345c8;}async function buildHookMaps(_0x43f7b7,_0x3c2f27,_0x2e37b7,_0xa0aaf4){const _0x5d1724=a32_0x4762c2,_0x1d6028=_0x2e37b7['some'](_0x3cd943=>_0x3cd943['type']===_0x5d1724(0xad));if(!_0x1d6028)return{'aliasToDatasetCode':new Map(),'datasetCodeToDataset':new Map()};const _0x31e7a1=loadAliasMap(_0x3c2f27,undefined,resolveApiFilePath(_0x3c2f27,_0x43f7b7)),_0x1c34d6=new Map(_0x31e7a1['map'](_0x6021b9=>[_0x6021b9[_0x5d1724(0x9c)],_0x6021b9[_0x5d1724(0x92)]]));for(const _0x515cd4 of Object[_0x5d1724(0xb1)](_0xa0aaf4[_0x5d1724(0xaf)])){_0x515cd4[_0x5d1724(0x9c)]&&_0x515cd4[_0x5d1724(0x92)]&&!_0x1c34d6['has'](_0x515cd4[_0x5d1724(0x9c)])&&_0x1c34d6[_0x5d1724(0x91)](_0x515cd4[_0x5d1724(0x9c)],_0x515cd4[_0x5d1724(0x92)]);}const _0x1bac75=await listDatasets(_0x43f7b7),_0x19fcf2=new Map(_0x1bac75[_0x5d1724(0xa3)](_0x309730=>[_0x309730[_0x5d1724(0xbd)],_0x309730]));return{'aliasToDatasetCode':_0x1c34d6,'datasetCodeToDataset':_0x19fcf2};}async function uploadSingleFunction(_0xd6a1e2,_0x54e1da,_0x14bb0e,_0xca4551){const _0xe6f78c=a32_0x4762c2,_0x41a6af=await readFile(_0x54e1da[_0xe6f78c(0xca)],_0xe6f78c(0xbf)),_0x569cca=await computeFileHash(_0x54e1da['filePath']),_0x58b7eb=_0x14bb0e[_0xe6f78c(0xaf)][_0x54e1da[_0xe6f78c(0xb5)]];if(_0x58b7eb?.[_0xe6f78c(0xc9)]&&_0x58b7eb[_0xe6f78c(0xbb)]==null)throw CliErrors['validation'](_0x54e1da['lockKey']+_0xe6f78c(0x9e));let _0x6fdc34=extractScriptDescription(_0x41a6af);if(!_0x6fdc34&&_0x58b7eb?.[_0xe6f78c(0xc9)]){const _0x55faa9=await getBffScriptInfo(_0x58b7eb['remoteId']);_0x6fdc34=_0x55faa9[_0xe6f78c(0xcd)]||undefined;}const _0x451780={'appCode':_0xd6a1e2,'functionName':_0x54e1da[_0xe6f78c(0xc5)],'scriptType':_0x54e1da[_0xe6f78c(0x9a)],'scriptContent':_0x41a6af};if(_0x58b7eb?.[_0xe6f78c(0xc9)])_0x451780['id']=_0x58b7eb['remoteId'];if(_0x58b7eb?.[_0xe6f78c(0xbb)]!=null)_0x451780[_0xe6f78c(0xbb)]=_0x58b7eb[_0xe6f78c(0xbb)];if(_0x6fdc34)_0x451780['description']=_0x6fdc34;if(_0x54e1da[_0xe6f78c(0x9a)]===_0xe6f78c(0xad)){const _0x4bbbbd=_0x54e1da[_0xe6f78c(0x9c)];if(!_0x4bbbbd||!_0x54e1da[_0xe6f78c(0xa2)]||!_0x54e1da['functionNode'])throw CliErrors[_0xe6f78c(0xcb)]('Incomplete\x20HOOK\x20path:\x20'+_0x54e1da[_0xe6f78c(0xb5)]);const _0x2a41fe=_0xca4551[_0xe6f78c(0xbe)][_0xe6f78c(0x98)](_0x4bbbbd)??_0x58b7eb?.['datasetCode']??_0x4bbbbd,_0x5c843b=_0xca4551[_0xe6f78c(0xb6)][_0xe6f78c(0x98)](_0x2a41fe);if(!_0x5c843b)throw CliErrors[_0xe6f78c(0xcb)](_0xe6f78c(0xb4)+_0x4bbbbd+_0xe6f78c(0x8e)+('Run\x20`'+CLI_BIN_NAME+_0xe6f78c(0xba)));_0x451780[_0xe6f78c(0x95)]=_0x5c843b['id'],_0x451780[_0xe6f78c(0xa2)]=_0x54e1da[_0xe6f78c(0xa2)],_0x451780[_0xe6f78c(0xb9)]=_0x54e1da[_0xe6f78c(0xb9)];}const _0x24081d=await saveBffScript(_0x451780),_0x4d1bae=_0x24081d['id'],_0x4b2193=_0x24081d[_0xe6f78c(0xce)]??await getBffScriptInfo(_0x4d1bae),_0x5dc98f={'hash':_0x569cca,'remoteId':_0x4d1bae,'version':_0x4b2193['version']};if(_0x54e1da[_0xe6f78c(0x9a)]===_0xe6f78c(0xad)){const _0x402b4a=_0x54e1da['alias'],_0x130ca4=_0xca4551[_0xe6f78c(0xbe)][_0xe6f78c(0x98)](_0x402b4a)??_0x58b7eb?.['datasetCode']??_0x402b4a;_0xca4551['aliasToDatasetCode']['has'](_0x402b4a)?_0x5dc98f['alias']=_0x402b4a:_0x5dc98f[_0xe6f78c(0x9c)]=_0x58b7eb?.['alias'],_0x5dc98f[_0xe6f78c(0x92)]=_0x130ca4,_0x5dc98f['operationType']=_0x54e1da['operationType'],_0x5dc98f[_0xe6f78c(0xb9)]=_0x54e1da[_0xe6f78c(0xb9)];}_0x14bb0e[_0xe6f78c(0xaf)][_0x54e1da[_0xe6f78c(0xb5)]]=_0x5dc98f;}const LOCK_SETTLE_RETRY_COUNT=0x14,LOCK_SETTLE_DELAY_MS=0x64;async function waitForUploadedLockEntries(_0x23153b,_0x5bc600,_0x56cca2){const _0x32cd8c=a32_0x4762c2;if(_0x56cca2['length']===0x0)return;for(let _0xac6d3f=0x0;_0xac6d3f<LOCK_SETTLE_RETRY_COUNT;_0xac6d3f+=0x1){const _0x4e60d4=await readBffLockFile(_0x23153b),_0x35b57c=_0x4e60d4?.[_0x32cd8c(0xc8)]?.[_0x5bc600]?.['functions']??{},_0x138d7c=_0x56cca2[_0x32cd8c(0xd3)](_0x5ee5d7=>!!_0x35b57c[_0x5ee5d7]?.['remoteId']);if(_0x138d7c)return;await sleep(LOCK_SETTLE_DELAY_MS);}throw new Error(_0x32cd8c(0xae)+_0x56cca2[_0x32cd8c(0xb7)](',\x20')+'.');}
|