@lovrabet/rabetbase-cli 2.1.10-beta.4 → 2.1.11
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/field-update.js +1 -1
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/link-create.js +1 -1
- package/lib/commands/dataset/link-delete.js +1 -1
- package/lib/commands/dataset/link-shared.js +1 -1
- package/lib/commands/dataset/link-update.js +1 -1
- package/lib/commands/dataset/links.js +1 -1
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/operations.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/report.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/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/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
|
-
const
|
|
1
|
+
const a19_0xd5f942=a19_0x59f3;function a19_0x59f3(_0x2417aa,_0x2cbd69){_0x2417aa=_0x2417aa-0x1b5;const _0x32e42c=a19_0x32e4();let _0x59f394=_0x32e42c[_0x2417aa];return _0x59f394;}(function(_0x43b81b,_0x57fed1){const _0x2c008d=a19_0x59f3,_0x463d55=_0x43b81b();while(!![]){try{const _0x11fdc9=-parseInt(_0x2c008d(0x1be))/0x1+-parseInt(_0x2c008d(0x1c4))/0x2*(-parseInt(_0x2c008d(0x1c5))/0x3)+-parseInt(_0x2c008d(0x1bd))/0x4+-parseInt(_0x2c008d(0x1c3))/0x5+parseInt(_0x2c008d(0x1bb))/0x6+parseInt(_0x2c008d(0x1bf))/0x7+parseInt(_0x2c008d(0x1b5))/0x8;if(_0x11fdc9===_0x57fed1)break;else _0x463d55['push'](_0x463d55['shift']());}catch(_0x57fb90){_0x463d55['push'](_0x463d55['shift']());}}}(a19_0x32e4,0x8ad55));import{listRemoteApps}from'../../core/api-client.js';async function execute(_0x1d908c){const _0x48308c=a19_0x59f3,{setActiveCookie:_0xec9fbf}=await import(_0x48308c(0x1b9));_0xec9fbf(_0x1d908c['cookie']);const _0x65ffb5=await listRemoteApps();return{'ok':!![],'data':{'items':_0x65ffb5[_0x48308c(0x1c2)](_0x42c19e=>({..._0x42c19e['id']!=null?{'id':_0x42c19e['id']}:{},'appCode':_0x42c19e[_0x48308c(0x1c6)],'appName':_0x42c19e[_0x48308c(0x1b7)],..._0x42c19e[_0x48308c(0x1ba)]!=null?{'appDesc':_0x42c19e[_0x48308c(0x1ba)]}:{}})),'meta':{'source':_0x48308c(0x1b8)}}};}export const appRemoteDefinition={'service':a19_0xd5f942(0x1c0),'command':a19_0xd5f942(0x1bc),'description':a19_0xd5f942(0x1c1),'risk':a19_0xd5f942(0x1b6),'requiresAuth':!![],'requiresAppCode':![],'flags':[],'execute':execute};function a19_0x32e4(){const _0x440a57=['8584792yZFzrB','read','appName','platform','../../core/api-client.js','appDesc','3054444qTzsYK','remote','314636zthcBe','714906ErFHHQ','2370487VyATzh','app','List\x20apps\x20available\x20on\x20the\x20platform\x20for\x20the\x20current\x20login','map','4776135cVJAmF','264426oFagLd','9eTZRbB','appCode'];a19_0x32e4=function(){return _0x440a57;};return a19_0x32e4();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x183c41,_0x142eeb){const _0x3b91ea=a20_0x322e,_0x2ccbfa=_0x183c41();while(!![]){try{const _0x5eb9c4=-parseInt(_0x3b91ea(0x1a1))/0x1+-parseInt(_0x3b91ea(0x19d))/0x2+-parseInt(_0x3b91ea(0x1a2))/0x3+-parseInt(_0x3b91ea(0x19e))/0x4*(-parseInt(_0x3b91ea(0x1a6))/0x5)+parseInt(_0x3b91ea(0x19f))/0x6+parseInt(_0x3b91ea(0x1a4))/0x7*(parseInt(_0x3b91ea(0x1a0))/0x8)+parseInt(_0x3b91ea(0x1a3))/0x9*(parseInt(_0x3b91ea(0x1a5))/0xa);if(_0x5eb9c4===_0x142eeb)break;else _0x2ccbfa['push'](_0x2ccbfa['shift']());}catch(_0x13c535){_0x2ccbfa['push'](_0x2ccbfa['shift']());}}}(a20_0x34ec,0xa9548));import{appListDefinition}from'../../commands/app/list.js';import{appRemoteDefinition}from'../../commands/app/discover.js';function a20_0x34ec(){const _0xc55f49=['1027365EGNvPF','36hQwbWb','18529CpKNEK','3506630VVGBVo','1716085rdspMV','1995522gDgFOJ','4Lgutgz','4354212mbnqWK','1096GIVbGy','800418jSLFhc'];a20_0x34ec=function(){return _0xc55f49;};return a20_0x34ec();}import{appUseDefinition}from'../../commands/app/use.js';import{appAddDefinition}from'../../commands/app/add.js';import{appRemoveDefinition}from'../../commands/app/remove.js';function a20_0x322e(_0x1c02f8,_0xda2150){_0x1c02f8=_0x1c02f8-0x19d;const _0x34ecbf=a20_0x34ec();let _0x322e07=_0x34ecbf[_0x1c02f8];return _0x322e07;}export const appDefinitions=[appListDefinition,appRemoteDefinition,appUseDefinition,appAddDefinition,appRemoveDefinition];
|
package/lib/commands/app/list.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a21_0x1f4b62=a21_0x2a8c;(function(_0x36e01e,_0x36af9e){const _0x452ef8=a21_0x2a8c,_0x2a0daf=_0x36e01e();while(!![]){try{const _0x182965=parseInt(_0x452ef8(0xf8))/0x1*(parseInt(_0x452ef8(0xe5))/0x2)+parseInt(_0x452ef8(0xe1))/0x3*(parseInt(_0x452ef8(0xf3))/0x4)+-parseInt(_0x452ef8(0xe6))/0x5+parseInt(_0x452ef8(0xe7))/0x6+parseInt(_0x452ef8(0xdf))/0x7*(-parseInt(_0x452ef8(0xfe))/0x8)+-parseInt(_0x452ef8(0xf0))/0x9+parseInt(_0x452ef8(0xe3))/0xa;if(_0x182965===_0x36af9e)break;else _0x2a0daf['push'](_0x2a0daf['shift']());}catch(_0xf459db){_0x2a0daf['push'](_0x2a0daf['shift']());}}}(a21_0x2831,0xe25c1));import{readRawConfigWithLayers}from'../../context.js';function a21_0x2a8c(_0x70bae3,_0x1d5198){_0x70bae3=_0x70bae3-0xdd;const _0x2831b8=a21_0x2831();let _0x2a8c83=_0x2831b8[_0x70bae3];return _0x2a8c83;}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(_0x5a70c8,_0x3dd46c){const _0x37e265=a21_0x2a8c,_0x83d7a4=[],_0x308093=_0x5a70c8[_0x37e265(0xee)]&&typeof _0x5a70c8[_0x37e265(0xee)]==='object'?_0x5a70c8[_0x37e265(0xee)]:{},_0x5d32ee=_0x5a70c8[_0x37e265(0xff)]||undefined;for(const [_0x36db77,_0x50c433]of Object[_0x37e265(0xef)](_0x308093)){if(!_0x50c433||typeof _0x50c433!==_0x37e265(0xf1)||!_0x50c433[_0x37e265(0xea)])continue;_0x83d7a4[_0x37e265(0xde)]({'name':_0x36db77,'appcode':_0x50c433[_0x37e265(0xea)],'named':!![],'definedIn':_0x3dd46c,'isDefault':_0x36db77===_0x5d32ee,...buildAppProfileListFields(_0x50c433)});}return _0x83d7a4;}function buildMergedItems(_0xe1a6be,_0x45fece){const _0xadfa90=a21_0x2a8c,{apps:apps={},defaultApp:_0x3a8192}=_0xe1a6be,_0x4fe844=_0x45fece['globalConfig'][_0xadfa90(0xee)]&&typeof _0x45fece[_0xadfa90(0xec)][_0xadfa90(0xee)]===_0xadfa90(0xf1)?_0x45fece['globalConfig'][_0xadfa90(0xee)]:{},_0x12552f=_0x45fece['projectConfig']['apps']&&typeof _0x45fece[_0xadfa90(0x102)]['apps']==='object'?_0x45fece[_0xadfa90(0x102)][_0xadfa90(0xee)]:{},_0x47bf9c=_0x45fece[_0xadfa90(0x102)][_0xadfa90(0xf2)]===![],_0x486aa4=Object[_0xadfa90(0xef)](apps),_0x33ea2d=_0x486aa4[_0xadfa90(0x103)](([_0x499076,_0x66115e])=>({'name':_0x499076,'appcode':_0x66115e[_0xadfa90(0xea)],'named':!![],'definedIn':appDefinedIn(_0x499076,_0x4fe844,_0x12552f,_0x47bf9c),'isDefault':_0x499076===_0x3a8192,...buildAppProfileListFields(_0x66115e)}));return _0x33ea2d;}function a21_0x2831(){const _0x7b803c=['globalConfig','bool','apps','entries','7166484gumtNd','object','inherit','4hvFAhv','project','Show\x20only\x20apps\x20from\x20global\x20~/.rabetbase.json','find','globalPath','7069kMpMev','merged','global','List\x20all\x20configured\x20apps','list','isCurrent','6753592GATWLk','defaultApp','\x20in\x20','boolean','projectConfig','map','projectPath','push','14NqBjIG','No\x20apps\x20configured','1753335DMMQCp','\x20config','18654850QpHHxI','length','114hxDaky','2801980XqnXgl','6716256rTFXyH','.\x20Use\x20`','read','appcode','Show\x20only\x20apps\x20from\x20project\x20.rabetbase.json'];a21_0x2831=function(){return _0x7b803c;};return a21_0x2831();}async function execute(_0x54b153){const _0x442c0d=a21_0x2a8c,_0x297315=_0x54b153[_0x442c0d(0xed)](_0x442c0d(0xfa)),_0x22a1a1=_0x54b153[_0x442c0d(0xed)](_0x442c0d(0xf4)),_0x2309b8=_0x297315?_0x442c0d(0xfa):_0x22a1a1?_0x442c0d(0xf4):_0x442c0d(0xf9),{config:_0xbe832e,layers:_0x56eaa3}=readRawConfigWithLayers(),_0x35937a=resolveDefaultAppSource(_0x56eaa3),{defaultApp:_0x453a7a}=_0xbe832e;let _0x5057f1,_0x43eec3;switch(_0x2309b8){case _0x442c0d(0xfa):_0x5057f1=buildItemsFromLayer(_0x56eaa3[_0x442c0d(0xec)],_0x442c0d(0xfa)),_0x43eec3=_0x56eaa3[_0x442c0d(0xf7)];break;case _0x442c0d(0xf4):_0x5057f1=buildItemsFromLayer(_0x56eaa3[_0x442c0d(0x102)],_0x442c0d(0xf4)),_0x43eec3=_0x56eaa3['projectPath'];break;default:_0x5057f1=buildMergedItems(_0xbe832e,_0x56eaa3);break;}enrichAppListItemsWithMergedSelection(_0x5057f1,_0x54b153['mergedCli']);if(_0x5057f1[_0x442c0d(0xe4)]===0x0){const _0x2d1f95=_0x2309b8===_0x442c0d(0xf9)?'':_0x442c0d(0x100)+_0x2309b8+_0x442c0d(0xe2);return{'ok':!![],'data':[],'message':_0x442c0d(0xe0)+_0x2d1f95+_0x442c0d(0xe8)+CLI_BIN_NAME+'\x20app\x20add\x20<name>\x20--appcode\x20<code>`\x20to\x20add\x20one.'};}const _0x56836c=_0x5057f1[_0x442c0d(0xf6)](_0x3ccc6b=>_0x3ccc6b[_0x442c0d(0xfd)]===!![]),_0x4b9f9b=_0x453a7a??_0x56836c?.[_0x442c0d(0xea)]??null,_0x636502=_0x2309b8===_0x442c0d(0xf9)?{'globalPath':_0x56eaa3[_0x442c0d(0xf7)]??null,'projectPath':_0x56eaa3[_0x442c0d(0xdd)]??null,'defaultApp':_0x4b9f9b,'defaultAppSource':_0x453a7a!=null?_0x35937a:null}:{'scope':_0x2309b8,'configPath':_0x43eec3??null};return{'ok':!![],'data':{'items':_0x5057f1,'meta':_0x636502}};}export const appListDefinition={'service':'app','command':a21_0x1f4b62(0xfc),'description':a21_0x1f4b62(0xfb),'risk':a21_0x1f4b62(0xe9),'requiresAuth':![],'requiresAppCode':![],'flags':[{'name':a21_0x1f4b62(0xfa),'type':a21_0x1f4b62(0x101),'description':a21_0x1f4b62(0xf5),'default':![]},{'name':a21_0x1f4b62(0xf4),'type':a21_0x1f4b62(0x101),'description':a21_0x1f4b62(0xeb),'default':![]}],'execute':execute};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a22_0x5a427a=a22_0x2376;(function(_0x3690f7,_0x40ca46){const _0x1b14f7=a22_0x2376,_0x38eeca=_0x3690f7();while(!![]){try{const _0x4522a4=parseInt(_0x1b14f7(0xb2))/0x1+-parseInt(_0x1b14f7(0xbf))/0x2+-parseInt(_0x1b14f7(0xa3))/0x3+-parseInt(_0x1b14f7(0xc4))/0x4*(parseInt(_0x1b14f7(0xc0))/0x5)+parseInt(_0x1b14f7(0xb6))/0x6*(-parseInt(_0x1b14f7(0xae))/0x7)+-parseInt(_0x1b14f7(0xa6))/0x8+parseInt(_0x1b14f7(0xa8))/0x9;if(_0x4522a4===_0x40ca46)break;else _0x38eeca['push'](_0x38eeca['shift']());}catch(_0x30a5f2){_0x38eeca['push'](_0x38eeca['shift']());}}}(a22_0x1e9d,0xe24ed));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(_0x37126a){const _0x350e21=a22_0x2376,_0x825ca4=_0x37126a[_0x350e21(0xac)][0x0]?.[_0x350e21(0xb0)]();if(!_0x825ca4)throw CliErrors[_0x350e21(0xc1)](_0x350e21(0xad),_0x350e21(0xbe)+CLI_BIN_NAME+_0x350e21(0xa4));}async function execute(_0x94b9e1){const _0x44b0b2=a22_0x2376,_0x37976e=_0x94b9e1[_0x44b0b2(0xac)][0x0]?.['trim']();if(!_0x37976e)throw CliErrors[_0x44b0b2(0xc1)](_0x44b0b2(0xad),'Usage:\x20'+CLI_BIN_NAME+_0x44b0b2(0xa4));const _0x259e74=_0x94b9e1[_0x44b0b2(0xb4)](_0x44b0b2(0xab)),{config:_0x20abd7,layers:_0x589490}=readRawConfigWithLayers(),_0x4fcb03=_0x20abd7['apps']??{};if(!_0x4fcb03[_0x37976e])throw CliErrors[_0x44b0b2(0xc1)](_0x44b0b2(0xba)+_0x37976e+_0x44b0b2(0xbb));const _0x29013a=_0x589490['globalConfig'][_0x44b0b2(0xb5)]&&typeof _0x589490[_0x44b0b2(0xc5)]['apps']===_0x44b0b2(0xa9)?_0x589490[_0x44b0b2(0xc5)]['apps']:{},_0x30aea5=_0x589490[_0x44b0b2(0xb9)]['apps']&&typeof _0x589490['projectConfig'][_0x44b0b2(0xb5)]===_0x44b0b2(0xa9)?_0x589490[_0x44b0b2(0xb9)][_0x44b0b2(0xb5)]:{},_0x3895c3=appDefinedIn(_0x37976e,_0x29013a,_0x30aea5,_0x589490[_0x44b0b2(0xb9)][_0x44b0b2(0xc8)]===![]),_0x4a789f=resolveAppScopeForWrite(_0x37976e,_0x259e74,_0x589490),_0x1fb9ca={'global':_0x4a789f===_0x44b0b2(0xab)},_0x52c3d5=readConfig(_0x1fb9ca),_0x862dd5=_0x52c3d5[_0x44b0b2(0xb5)];if(!_0x862dd5||!_0x862dd5[_0x37976e])throw CliErrors[_0x44b0b2(0xc1)](_0x44b0b2(0xba)+_0x37976e+_0x44b0b2(0xbb));delete _0x862dd5[_0x37976e];let _0xebd08b='';if(_0x52c3d5[_0x44b0b2(0xc2)]===_0x37976e){const _0x344cbe=Object[_0x44b0b2(0xc9)](_0x862dd5);_0x52c3d5[_0x44b0b2(0xc2)]=_0x344cbe['length']>0x0?_0x344cbe[0x0]:undefined,_0x52c3d5[_0x44b0b2(0xc2)]?_0xebd08b=_0x44b0b2(0xbd)+_0x52c3d5[_0x44b0b2(0xc2)]+'\x22.':delete _0x52c3d5[_0x44b0b2(0xc2)];}Object[_0x44b0b2(0xc9)](_0x862dd5)[_0x44b0b2(0xc7)]===0x0&&(delete _0x52c3d5['apps'],delete _0x52c3d5['defaultApp']);writeConfig(_0x52c3d5,_0x1fb9ca);const _0x31a889=_0x3895c3==='both'?_0x44b0b2(0xaf)+_0x37976e+_0x44b0b2(0xc3)+(_0x4a789f==='project'?'global':_0x44b0b2(0xa7))+_0x44b0b2(0xc6):'';return{'ok':!![],'message':_0x44b0b2(0xb1)+_0x37976e+'\x22'+scopeLabel(_0x1fb9ca)+'.'+_0xebd08b+_0x31a889};}export const appRemoveDefinition={'service':'app','command':a22_0x5a427a(0xa5),'description':'Remove\x20an\x20app\x20from\x20config','risk':a22_0x5a427a(0xbc),'requiresAuth':![],'requiresAppCode':![],'args':[{'name':a22_0x5a427a(0xb3),'description':a22_0x5a427a(0xaa),'required':!![]}],'flags':[{'name':a22_0x5a427a(0xab),'type':a22_0x5a427a(0xb8),'description':a22_0x5a427a(0xb7),'default':![]}],'validate':validateArgs,'execute':execute};function a22_0x2376(_0x5a969f,_0x1ed87d){_0x5a969f=_0x5a969f-0xa3;const _0x1e9d3f=a22_0x1e9d();let _0x23763a=_0x1e9d3f[_0x5a969f];return _0x23763a;}function a22_0x1e9d(){const _0x42050a=['high-risk-write','\x20Default\x20app\x20changed\x20to\x20\x22','Usage:\x20','3201024qOwYDK','5FLMmwO','validation','defaultApp','\x22\x20still\x20defined\x20in\x20','73652XgPbsR','globalConfig','\x20config.','length','inherit','keys','3046806bxJgfm','\x20app\x20remove\x20<name>\x20[--global]','remove','4870640KdIUud','project','51200037SergzB','object','App\x20profile\x20name\x20to\x20remove','global','args','Missing\x20app\x20name.','98959jzXdin','\x20Note:\x20app\x20\x22','trim','Removed\x20app\x20\x22','333368sSVLBK','name','bool','apps','786xJTIKU','Use\x20global\x20config\x20scope','boolean','projectConfig','App\x20\x22','\x22\x20not\x20found.'];a22_0x1e9d=function(){return _0x42050a;};return a22_0x1e9d();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0xbe1c66,_0x139eae){const _0xef057a=a23_0x494e,_0x5a20c4=_0xbe1c66();while(!![]){try{const _0x21cc6b=parseInt(_0xef057a(0x71))/0x1+-parseInt(_0xef057a(0x77))/0x2+parseInt(_0xef057a(0x73))/0x3*(-parseInt(_0xef057a(0x89))/0x4)+-parseInt(_0xef057a(0x6b))/0x5+parseInt(_0xef057a(0x6e))/0x6*(-parseInt(_0xef057a(0x84))/0x7)+-parseInt(_0xef057a(0x6a))/0x8+-parseInt(_0xef057a(0x82))/0x9*(-parseInt(_0xef057a(0x7b))/0xa);if(_0x21cc6b===_0x139eae)break;else _0x5a20c4['push'](_0x5a20c4['shift']());}catch(_0x1ec52d){_0x5a20c4['push'](_0x5a20c4['shift']());}}}(a23_0x1b0c,0xdda14));import{resolveWriteConfigPath,readConfigFile,writeConfigFile}from'../../context.js';export function enrichAppListItemsWithMergedSelection(_0x201a71,_0x3624f1){const _0x4c2b74=a23_0x494e;if(!_0x3624f1)return;const _0x2018dc=_0x3624f1[_0x4c2b74(0x81)]&&typeof _0x3624f1[_0x4c2b74(0x81)]===_0x4c2b74(0x6c)?_0x3624f1[_0x4c2b74(0x81)]:{},_0x30e3b4=Object[_0x4c2b74(0x78)](_0x2018dc)[_0x4c2b74(0x74)]>0x0;for(const _0x4e881a of _0x201a71){_0x4e881a[_0x4c2b74(0x85)]=![];}const _0x3d81be=_0x3624f1[_0x4c2b74(0x76)]!=null?String(_0x3624f1[_0x4c2b74(0x76)])[_0x4c2b74(0x80)]():'';if(_0x30e3b4){const _0x26fe01=_0x3624f1[_0x4c2b74(0x70)]??_0x3624f1[_0x4c2b74(0x79)];if(_0x26fe01)for(const _0x2c5f7f of _0x201a71){_0x2c5f7f[_0x4c2b74(0x87)]===!![]&&_0x2c5f7f[_0x4c2b74(0x7d)]===_0x26fe01&&(_0x2c5f7f[_0x4c2b74(0x85)]=!![]);}for(const _0x3dcbf3 of _0x201a71){if(_0x3dcbf3[_0x4c2b74(0x87)]!==![])continue;if(_0x3624f1[_0x4c2b74(0x79)])continue;_0x3d81be&&String(_0x3dcbf3[_0x4c2b74(0x6f)]??'')[_0x4c2b74(0x80)]()===_0x3d81be&&(_0x3dcbf3[_0x4c2b74(0x85)]=!![]);}return;}if(!_0x3d81be)return;for(const _0x5503f9 of _0x201a71){String(_0x5503f9[_0x4c2b74(0x6f)]??'')[_0x4c2b74(0x80)]()===_0x3d81be&&(_0x5503f9[_0x4c2b74(0x85)]=!![]);}}export function resolveAppScopeForWrite(_0x53d0ab,_0xda0ba,_0x2cbde7){const _0x59e8cd=a23_0x494e;if(_0xda0ba)return'global';const _0x193d84=_0x2cbde7[_0x59e8cd(0x7f)][_0x59e8cd(0x81)]&&typeof _0x2cbde7[_0x59e8cd(0x7f)]['apps']==='object'?_0x2cbde7[_0x59e8cd(0x7f)][_0x59e8cd(0x81)]:{},_0x3444fa=_0x2cbde7[_0x59e8cd(0x75)]['apps']&&typeof _0x2cbde7['globalConfig'][_0x59e8cd(0x81)]===_0x59e8cd(0x6c)?_0x2cbde7[_0x59e8cd(0x75)][_0x59e8cd(0x81)]:{};if(Object['prototype'][_0x59e8cd(0x7e)][_0x59e8cd(0x83)](_0x193d84,_0x53d0ab))return'project';if(Object[_0x59e8cd(0x86)][_0x59e8cd(0x7e)][_0x59e8cd(0x83)](_0x3444fa,_0x53d0ab))return'global';return _0x59e8cd(0x88);}export function appDefinedIn(_0x549fa7,_0x3c6a36,_0x1427da,_0x5a4822){const _0x9ccd0f=a23_0x494e;if(_0x5a4822)return Object[_0x9ccd0f(0x86)][_0x9ccd0f(0x7e)][_0x9ccd0f(0x83)](_0x1427da,_0x549fa7)?_0x9ccd0f(0x88):_0x9ccd0f(0x6d);const _0x452404=Object['prototype'][_0x9ccd0f(0x7e)]['call'](_0x3c6a36,_0x549fa7),_0x397dc4=Object[_0x9ccd0f(0x86)][_0x9ccd0f(0x7e)][_0x9ccd0f(0x83)](_0x1427da,_0x549fa7);if(_0x452404&&_0x397dc4)return _0x9ccd0f(0x7c);if(_0x397dc4)return'project';return'global';}export function resolveDefaultAppSource(_0x4e59d1){const _0x1277a9=a23_0x494e,_0x4169ee=_0x4e59d1[_0x1277a9(0x7f)][_0x1277a9(0x81)]&&typeof _0x4e59d1[_0x1277a9(0x7f)]['apps']==='object'?_0x4e59d1[_0x1277a9(0x7f)][_0x1277a9(0x81)]:{};if(_0x1277a9(0x79)in _0x4e59d1[_0x1277a9(0x7f)])return _0x1277a9(0x88);if(Object[_0x1277a9(0x78)](_0x4169ee)[_0x1277a9(0x74)]>0x0)return _0x1277a9(0x88);if(_0x4e59d1[_0x1277a9(0x7f)][_0x1277a9(0x72)]===![])return null;if(_0x4e59d1[_0x1277a9(0x75)][_0x1277a9(0x79)])return _0x1277a9(0x6d);return null;}function a23_0x1b0c(){const _0x42a471=['projectConfig','trim','apps','9wKWzWb','call','7lMOohl','isCurrent','prototype','named','project','1520wiVuVg','4835000vmZFpp','1700455YdtoXE','object','global','2538078RYJCUS','appcode','currentApp','657639KXHXHR','inherit','12021KXdeWk','length','globalConfig','appCode','1672198AkbluP','keys','defaultApp','\x20(global)','39763950KAzVtX','both','name','hasOwnProperty'];a23_0x1b0c=function(){return _0x42a471;};return a23_0x1b0c();}export function getConfigPath(_0x24d543={}){const _0x52f838=a23_0x494e,_0x22fbb0=_0x24d543[_0x52f838(0x6d)]?'global':_0x52f838(0x88);return resolveWriteConfigPath(_0x22fbb0);}function a23_0x494e(_0x2e2624,_0x441c07){_0x2e2624=_0x2e2624-0x6a;const _0x1b0c6b=a23_0x1b0c();let _0x494e65=_0x1b0c6b[_0x2e2624];return _0x494e65;}export function readConfig(_0x496cb9={}){return readConfigFile(getConfigPath(_0x496cb9));}export function writeConfig(_0x6c0a26,_0x1ac8f0={}){writeConfigFile(getConfigPath(_0x1ac8f0),_0x6c0a26);}export function scopeLabel(_0x3efc1c){const _0xf0b5c8=a23_0x494e;return _0x3efc1c['global']?_0xf0b5c8(0x7a):'';}
|
package/lib/commands/app/use.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a24_0x1780(){const _0x398839=['validation','projectConfig','write','\x20app\x20add\x20','\x0aNote:\x20\x22','323911wcattz','Missing\x20app\x20name.','name','68JAIhsy','\x22\x20is\x20defined\x20in\x20global\x20config;\x20defaultApp\x20written\x20to\x20project\x20to\x20take\x20effect\x20in\x20merged\x20view.','18536220cXKRyH','call','Available:\x20','defaultApp','2306faxhQd','object','Use\x20global\x20config\x20scope','boolean','126181SlkXPG','appcode','60lhaCxn','keys','use','app','\x22\x20not\x20found.','global','projectPath','hasOwnProperty','Usage:\x20','Use\x20`','apps','\x20--appcode\x20<code>`\x20first.','trim','join','561592mFOyGy','1191bsCozy','29545OuMAjx','135OwBHao','args','340lKkhVl','prototype','\x20app\x20use\x20<name>\x20[--global]','1134087qsOHPh'];a24_0x1780=function(){return _0x398839;};return a24_0x1780();}const a24_0x13460a=a24_0x18d7;(function(_0x4316da,_0x67b8cc){const _0x5eb3a7=a24_0x18d7,_0x40706b=_0x4316da();while(!![]){try{const _0x57be5b=-parseInt(_0x5eb3a7(0x16d))/0x1*(-parseInt(_0x5eb3a7(0x183))/0x2)+-parseInt(_0x5eb3a7(0x174))/0x3+parseInt(_0x5eb3a7(0x17d))/0x4*(parseInt(_0x5eb3a7(0x16e))/0x5)+-parseInt(_0x5eb3a7(0x15e))/0x6*(parseInt(_0x5eb3a7(0x17a))/0x7)+-parseInt(_0x5eb3a7(0x16c))/0x8*(parseInt(_0x5eb3a7(0x16f))/0x9)+parseInt(_0x5eb3a7(0x171))/0xa*(-parseInt(_0x5eb3a7(0x15c))/0xb)+parseInt(_0x5eb3a7(0x17f))/0xc;if(_0x57be5b===_0x67b8cc)break;else _0x40706b['push'](_0x40706b['shift']());}catch(_0x7f6daf){_0x40706b['push'](_0x40706b['shift']());}}}(a24_0x1780,0xb358b));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{readRawConfigWithLayers,isInProject}from'../../context.js';import{readConfig,writeConfig,scopeLabel}from'../../commands/app/shared.js';async function validateArgs(_0x53b031){const _0x5ad938=a24_0x18d7,_0x5d76c0=_0x53b031[_0x5ad938(0x170)][0x0]?.[_0x5ad938(0x16a)]();if(!_0x5d76c0)throw CliErrors[_0x5ad938(0x175)](_0x5ad938(0x17b),_0x5ad938(0x166)+CLI_BIN_NAME+_0x5ad938(0x173));}function a24_0x18d7(_0x177840,_0x1481d6){_0x177840=_0x177840-0x15b;const _0x178027=a24_0x1780();let _0x18d71e=_0x178027[_0x177840];return _0x18d71e;}async function execute(_0xed20a4){const _0x49ea61=a24_0x18d7,_0xeb7c2b=_0xed20a4[_0x49ea61(0x170)][0x0]?.[_0x49ea61(0x16a)]();if(!_0xeb7c2b)throw CliErrors[_0x49ea61(0x175)](_0x49ea61(0x17b),_0x49ea61(0x166)+CLI_BIN_NAME+_0x49ea61(0x173));const _0x4eaf55=_0xed20a4['bool'](_0x49ea61(0x163)),{config:_0x3da014,layers:_0x5c847b}=readRawConfigWithLayers(),_0x52b48a=_0x3da014['apps']??{};if(!_0x52b48a[_0xeb7c2b]){const _0x4a058c=Object[_0x49ea61(0x15f)](_0x52b48a),_0x2d1437=_0x4a058c['length']===0x0?_0x49ea61(0x167)+CLI_BIN_NAME+_0x49ea61(0x178)+_0xeb7c2b+_0x49ea61(0x169):_0x49ea61(0x181)+_0x4a058c[_0x49ea61(0x16b)](',\x20');throw CliErrors[_0x49ea61(0x175)]('App\x20\x22'+_0xeb7c2b+_0x49ea61(0x162),_0x2d1437);}let _0x13589d,_0x2c73ac='';if(_0x4eaf55)_0x13589d={'global':!![]};else{const _0x8e7799=isInProject()&&!!_0x5c847b[_0x49ea61(0x164)];_0x13589d={'global':!_0x8e7799};if(_0x8e7799){const _0x424794=_0x5c847b[_0x49ea61(0x176)][_0x49ea61(0x168)]&&typeof _0x5c847b[_0x49ea61(0x176)][_0x49ea61(0x168)]===_0x49ea61(0x184)?_0x5c847b['projectConfig'][_0x49ea61(0x168)]:{};!Object[_0x49ea61(0x172)][_0x49ea61(0x165)][_0x49ea61(0x180)](_0x424794,_0xeb7c2b)&&(_0x2c73ac=_0x49ea61(0x179)+_0xeb7c2b+_0x49ea61(0x17e));}}const _0x3c5e9b=readConfig(_0x13589d);return _0x3c5e9b[_0x49ea61(0x182)]=_0xeb7c2b,writeConfig(_0x3c5e9b,_0x13589d),{'ok':!![],'message':'Default\x20app\x20set\x20to\x20\x22'+_0xeb7c2b+'\x22\x20(appcode:\x20'+_0x52b48a[_0xeb7c2b][_0x49ea61(0x15d)]+')'+scopeLabel(_0x13589d)+_0x2c73ac};}export const appUseDefinition={'service':a24_0x13460a(0x161),'command':a24_0x13460a(0x160),'description':'Switch\x20the\x20default\x20app','risk':a24_0x13460a(0x177),'requiresAuth':![],'requiresAppCode':![],'args':[{'name':a24_0x13460a(0x17c),'description':'App\x20profile\x20name\x20to\x20activate','required':!![]}],'flags':[{'name':a24_0x13460a(0x163),'type':a24_0x13460a(0x15b),'description':a24_0x13460a(0x185),'default':![]}],'validate':validateArgs,'execute':execute};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a25_0x42ef4d=a25_0x407e;(function(_0x5f0b58,_0x2e4e30){const _0x18f345=a25_0x407e,_0x1407b6=_0x5f0b58();while(!![]){try{const _0x416035=-parseInt(_0x18f345(0x104))/0x1*(-parseInt(_0x18f345(0x109))/0x2)+parseInt(_0x18f345(0x10f))/0x3+-parseInt(_0x18f345(0x102))/0x4+-parseInt(_0x18f345(0x106))/0x5+-parseInt(_0x18f345(0x100))/0x6+-parseInt(_0x18f345(0x101))/0x7+parseInt(_0x18f345(0x113))/0x8*(-parseInt(_0x18f345(0x105))/0x9);if(_0x416035===_0x2e4e30)break;else _0x1407b6['push'](_0x1407b6['shift']());}catch(_0x4094d4){_0x1407b6['push'](_0x1407b6['shift']());}}}(a25_0x3eb0,0x41c2c));import{unlinkSync,existsSync}from'node:fs';import{cookieFile}from'../../auth/constant.js';function a25_0x407e(_0x434fc6,_0x17a101){_0x434fc6=_0x434fc6-0x100;const _0x3eb0e7=a25_0x3eb0();let _0x407ee0=_0x3eb0e7[_0x434fc6];return _0x407ee0;}function a25_0x3eb0(){const _0x4fbf5d=['Skip\x20login\x20confirmation\x20and\x20start\x20browser\x20auth\x20immediately','logout','../../auth/auth-server-ui.js','yes','1490013JUuaFU','log','read','login','57392REJgOi','758250ZFTMxL','796075PcrzVP','205936rcuAPW','Clear\x20login\x20session','133001lfMKoz','189cfBuDq','920400ZnAcYk','!\x20Not\x20logged\x20in','auth','6RCsqxQ','bool'];a25_0x3eb0=function(){return _0x4fbf5d;};return a25_0x3eb0();}export const authDefinitions=[{'service':a25_0x42ef4d(0x108),'command':a25_0x42ef4d(0x112),'description':'Login\x20via\x20browser','risk':a25_0x42ef4d(0x111),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a25_0x42ef4d(0x10e),'type':'boolean','description':a25_0x42ef4d(0x10b),'default':![]}],async 'execute'(_0x45b7a9){const _0x50d789=a25_0x42ef4d,{runAuthServer:_0x508960}=await import(_0x50d789(0x10d));return await _0x508960({'autoYes':_0x45b7a9[_0x50d789(0x10a)]('yes'),'nonInteractive':_0x45b7a9['nonInteractive']}),{'ok':!![]};}},{'service':'auth','command':a25_0x42ef4d(0x10c),'description':a25_0x42ef4d(0x103),'risk':'write','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x3631ae){const _0x31d4e5=a25_0x42ef4d;return existsSync(cookieFile)?(unlinkSync(cookieFile),console[_0x31d4e5(0x110)]('✓\x20Logged\x20out')):console[_0x31d4e5(0x110)](_0x31d4e5(0x107)),{'ok':!![]};}}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a26_0x20e3(_0x5cd700,_0x966567){_0x5cd700=_0x5cd700-0x143;const _0x2d7b9d=a26_0x2d7b();let _0x20e350=_0x2d7b9d[_0x5cd700];return _0x20e350;}const a26_0x48ad2e=a26_0x20e3;(function(_0x33e9d6,_0x5297e3){const _0x596980=a26_0x20e3,_0x120f9b=_0x33e9d6();while(!![]){try{const _0x1af62b=parseInt(_0x596980(0x14a))/0x1+-parseInt(_0x596980(0x163))/0x2+parseInt(_0x596980(0x15b))/0x3*(parseInt(_0x596980(0x16f))/0x4)+-parseInt(_0x596980(0x14b))/0x5*(parseInt(_0x596980(0x168))/0x6)+-parseInt(_0x596980(0x18a))/0x7*(-parseInt(_0x596980(0x158))/0x8)+parseInt(_0x596980(0x18b))/0x9+-parseInt(_0x596980(0x16b))/0xa;if(_0x1af62b===_0x5297e3)break;else _0x120f9b['push'](_0x120f9b['shift']());}catch(_0x3fd6d2){_0x120f9b['push'](_0x120f9b['shift']());}}}(a26_0x2d7b,0x7ed33));import{createInterface}from'node:readline';import{mkdir,writeFile}from'node:fs/promises';import{dirname,join}from'node:path';import{listDatasets,listBffDatasetOperations}from'../../core/api-client.js';import{loadAliasMap,resolveAlias}from'../../core/alias-resolver.js';import{resolveApiFilePath}from'../../context.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{fileExists}from'../../core/bff/file-system.js';function a26_0x2d7b(){const _0x3f8f99=['56560mNaccS','2433276nhgMTD','ENDPOINT','stderr','\x20\x20Enter\x20a\x20number\x20between\x201\x20and\x20','Dataset\x20alias\x20from\x20api.ts\x20(HOOK\x20only,\x20preferred)','Operation\x20type\x20(HOOK\x20only)','HOOK\x20requires\x20hookOptions\x20for\x20template\x20generation.','Available:\x20','Select\x20dataset:','datasetCode','isInteger','function-node','after','datasetcode','TODO:\x20add\x20script\x20description','entries','before','.js','trim','description','Select\x20trigger\x20node:','\x22.\x20','Script\x20description','COMMON','scriptsRootDir','917288FNRALe','4175cNzjty','Function\x20name\x20(valid\x20JS\x20identifier)','question','Alias\x20\x22','Dataset\x20not\x20found\x20for\x20code\x20\x22','--function-node\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','str','\x20api\x20pull`\x20first,\x20or\x20use\x20--datasetcode\x20instead.','\x0a\x20*\x20[接口路径]\x20POST\x20/api/','Created\x20','name','No\x20api.ts\x20found.\x20Run\x20`','HOOK','760mQtrCR','operation-type','\x0a\x20*\x20[脚本类型]\x20COMMON\x0a\x20*\x20[本地路径]\x20.rabetbase/bff/COMMON/','801pbCfKQ','appCode','operationType','Invalid\x20function\x20name\x20\x22','close','string','The\x20api.ts\x20may\x20be\x20stale\x20—\x20run\x20`','Available\x20aliases:\x20','58686olvRVZ','tableName','--alias\x20or\x20--datasetcode\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','.js\x0a\x20*\x0a\x20*\x20@param\x20{Object}\x20params\x20-\x20Input\x20parameters.\x0a\x20*\x20@param\x20{Object}\x20context\x20-\x20Execution\x20context\x20(injected\x20by\x20platform).\x0a\x20*\x20@returns\x20{Promise<Object>}\x20Processing\x20result.\x0a\x20*/\x0aexport\x20default\x20async\x20function\x20','Invalid\x20dataset\x20selection.','2172FIsuOg','apiDir','HOOK\x20requires\x20alias/operation/node\x20options.','13260410KwULiL','--function-node\x20must\x20be\x20\x27before\x27\x20or\x20\x27after\x27.','BFF\x20HOOK','Scaffold\x20a\x20new\x20BFF\x20function\x20from\x20template','3324zFjZKx','create','validation','functionNode','utf8','type','Operation\x20type\x20\x22','join','(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a','File\x20already\x20exists:\x20','\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','\x20function:\x20','includes','stdin','length','alias','code','find','Select\x20operation\x20type:','map','nonInteractive','--operation-type\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','Trigger\x20node\x20(HOOK\x20only)','\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','keys','\x22.\x20Must\x20be\x20a\x20valid\x20JS\x20identifier\x20(e.g.\x20createOrder,\x20beforeFilter).','write'];a26_0x2d7b=function(){return _0x3f8f99;};return a26_0x2d7b();}import{isValidBffFunctionName,normalizeHookFunctionNode}from'../../core/bff/utils.js';import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{assertDatasetSupportsLocalDevelopment,filterDbBackedDatasets}from'../../commands/dataset/capability.js';export const bffCreate={'service':'bff','command':a26_0x48ad2e(0x170),'description':a26_0x48ad2e(0x16e),'risk':a26_0x48ad2e(0x189),'flags':[{'name':a26_0x48ad2e(0x174),'type':a26_0x48ad2e(0x160),'required':!![],'enum':[a26_0x48ad2e(0x148),'ENDPOINT',a26_0x48ad2e(0x157)],'description':'Script\x20type'},{'name':a26_0x48ad2e(0x155),'type':'string','required':!![],'description':a26_0x48ad2e(0x14c)},{'name':a26_0x48ad2e(0x144),'type':'string','description':a26_0x48ad2e(0x147)},{'name':'alias','type':a26_0x48ad2e(0x160),'description':a26_0x48ad2e(0x18f)},{'name':a26_0x48ad2e(0x198),'type':a26_0x48ad2e(0x160),'description':'Dataset\x20code\x20(HOOK\x20only,\x20fallback\x20when\x20alias\x20unavailable)'},{'name':a26_0x48ad2e(0x159),'type':a26_0x48ad2e(0x160),'description':a26_0x48ad2e(0x190)},{'name':a26_0x48ad2e(0x196),'type':a26_0x48ad2e(0x160),'description':a26_0x48ad2e(0x185),'enum':['before',a26_0x48ad2e(0x197)]}],async 'validate'(_0x46d35a){const _0x583784=a26_0x48ad2e,_0x2cce4a=_0x46d35a[_0x583784(0x151)](_0x583784(0x155));if(!isValidBffFunctionName(_0x2cce4a))throw CliErrors['validation'](_0x583784(0x15e)+_0x2cce4a+_0x583784(0x188));},async 'execute'(_0x3976bc){const _0x42eb31=a26_0x48ad2e,_0x263990=loadBffProjectConfig(_0x3976bc[_0x42eb31(0x15c)]),_0x2c99b5=_0x3976bc[_0x42eb31(0x151)](_0x42eb31(0x174)),_0x31dca0=_0x3976bc[_0x42eb31(0x151)](_0x42eb31(0x155)),_0xa366b6=_0x3976bc['str'](_0x42eb31(0x144))||undefined,_0xac4ddb=_0x2c99b5==='HOOK'?await resolveHookOptions(_0x263990,_0x3976bc):undefined,_0x3fa610=buildFilePath(_0x263990,_0x2c99b5,_0x31dca0,_0xac4ddb);if(await fileExists(_0x3fa610))throw CliErrors[_0x42eb31(0x171)](_0x42eb31(0x178)+_0x3fa610);await mkdir(dirname(_0x3fa610),{'recursive':!![]});const _0x5c4fac=generateTemplate(_0x2c99b5,_0x31dca0,_0x3976bc[_0x42eb31(0x15c)],_0xa366b6,_0xac4ddb);await writeFile(_0x3fa610,_0x5c4fac,_0x42eb31(0x173));const _0x5d635c={'type':_0x2c99b5,'name':_0x31dca0,'path':_0x3fa610};if(_0xa366b6)_0x5d635c[_0x42eb31(0x144)]=_0xa366b6;if(_0xac4ddb){if(_0xac4ddb[_0x42eb31(0x17e)])_0x5d635c[_0x42eb31(0x17e)]=_0xac4ddb[_0x42eb31(0x17e)];_0x5d635c['datasetCode']=_0xac4ddb[_0x42eb31(0x194)],_0x5d635c[_0x42eb31(0x15d)]=_0xac4ddb['operationType'],_0x5d635c[_0x42eb31(0x172)]=_0xac4ddb['functionNode'];}return{'ok':!![],'data':_0x5d635c,'message':_0x42eb31(0x154)+_0x2c99b5+_0x42eb31(0x17a)+_0x31dca0};}};async function resolveHookOptions(_0x4f3d7b,_0x45369f){const _0x69416d=a26_0x48ad2e,_0x12eb0b=loadAliasMap(_0x45369f[_0x69416d(0x169)],undefined,resolveApiFilePath(_0x45369f[_0x69416d(0x169)],_0x45369f[_0x69416d(0x15c)])),_0x2e175e=_0x12eb0b[_0x69416d(0x17d)]>0x0;let _0x1a7c9e,_0x345e94,_0x4ce383;const _0x2add00=_0x45369f[_0x69416d(0x151)]('alias'),_0x5a78ae=_0x45369f[_0x69416d(0x151)](_0x69416d(0x198));if(_0x2add00){const _0xca4cdf=resolveAlias(_0x45369f['apiDir'],_0x2add00,undefined,resolveApiFilePath(_0x45369f['apiDir'],_0x45369f['appCode']));if(!_0xca4cdf){const _0x839695=_0x2e175e?_0x69416d(0x162)+_0x12eb0b[_0x69416d(0x182)](_0x59571f=>_0x59571f[_0x69416d(0x17e)])[_0x69416d(0x176)](',\x20'):_0x69416d(0x156)+CLI_BIN_NAME+_0x69416d(0x152);throw CliErrors['validation'](_0x69416d(0x14e)+_0x2add00+'\x22\x20not\x20found.\x20'+_0x839695);}_0x1a7c9e=_0x2add00,_0x345e94=_0xca4cdf;}else{if(_0x5a78ae){_0x345e94=_0x5a78ae;const _0x2ca658=_0x12eb0b[_0x69416d(0x180)](_0x5b082d=>_0x5b082d[_0x69416d(0x194)]===_0x5a78ae);_0x1a7c9e=_0x2ca658?.[_0x69416d(0x17e)];}else{if(_0x45369f[_0x69416d(0x183)])throw CliErrors[_0x69416d(0x171)](_0x69416d(0x165));else{if(_0x2e175e){const _0x5010e9=_0x12eb0b['map'](_0x2912c5=>_0x2912c5[_0x69416d(0x17e)]+'\x20('+_0x2912c5[_0x69416d(0x164)]+')'),_0x1db6a7=await promptSelect(_0x69416d(0x193),_0x5010e9),_0x1a5d8e=_0x12eb0b[_0x1db6a7];if(!_0x1a5d8e)throw CliErrors[_0x69416d(0x171)](_0x69416d(0x167));_0x1a7c9e=_0x1a5d8e['alias'],_0x345e94=_0x1a5d8e[_0x69416d(0x194)];}else{const _0x13793c=await listDatasets(_0x45369f[_0x69416d(0x15c)]),_0x3745d6=filterDbBackedDatasets(_0x13793c);if(_0x3745d6[_0x69416d(0x17d)]===0x0)throw CliErrors[_0x69416d(0x171)](_0x13793c['length']===0x0?'No\x20datasets\x20found\x20for\x20this\x20app.':'No\x20DB\x20table\x20datasets\x20found\x20for\x20this\x20app.\x20METADATA\x20datasets\x20cannot\x20be\x20used\x20for\x20BFF\x20HOOK\x20development\x20because\x20the\x20workflow\x20depends\x20on\x20SQL\x20execution.');const _0x3c72ce=_0x3745d6['map'](_0x53af9e=>_0x53af9e[_0x69416d(0x155)]+'\x20('+_0x53af9e[_0x69416d(0x17f)]+')'),_0x499944=await promptSelect(_0x69416d(0x193),_0x3c72ce),_0x4e7996=_0x3745d6[_0x499944];if(!_0x4e7996)throw CliErrors[_0x69416d(0x171)](_0x69416d(0x167));_0x345e94=_0x4e7996[_0x69416d(0x17f)],_0x1a7c9e=undefined;}}}}const _0x5835b9=await listDatasets(_0x45369f[_0x69416d(0x15c)]),_0x220eac=_0x5835b9['find'](_0x2a8763=>_0x2a8763['code']===_0x345e94);if(!_0x220eac)throw CliErrors[_0x69416d(0x171)](_0x69416d(0x14f)+_0x345e94+_0x69416d(0x146)+(_0x1a7c9e?_0x69416d(0x161)+CLI_BIN_NAME+'\x20api\x20pull`\x20to\x20refresh.':''));assertDatasetSupportsLocalDevelopment(_0x220eac,_0x69416d(0x16d)),_0x4ce383=_0x220eac['id'];const _0x12a1f4=_0x1a7c9e??_0x345e94,_0x57bfd6=await listBffDatasetOperations(_0x45369f[_0x69416d(0x15c)],_0x4ce383),_0x4a107c=_0x57bfd6?Object[_0x69416d(0x187)](_0x57bfd6):[];if(_0x4a107c[_0x69416d(0x17d)]===0x0)throw CliErrors['validation']('No\x20operation\x20types\x20found\x20for\x20dataset\x20'+_0x12a1f4+'.');let _0xe103f8;const _0x2cc72c=_0x45369f['str'](_0x69416d(0x159));if(_0x2cc72c){if(!_0x4a107c[_0x69416d(0x17b)](_0x2cc72c))throw CliErrors[_0x69416d(0x171)](_0x69416d(0x175)+_0x2cc72c+'\x22\x20not\x20found\x20for\x20dataset\x20'+_0x12a1f4+'.\x20'+(_0x69416d(0x192)+_0x4a107c[_0x69416d(0x176)](',\x20')));_0xe103f8=_0x2cc72c;}else{if(_0x45369f['nonInteractive'])throw CliErrors[_0x69416d(0x171)](_0x69416d(0x184));const _0x5aebb9=await promptSelect(_0x69416d(0x181),_0x4a107c);_0xe103f8=_0x4a107c[_0x5aebb9]??_0x4a107c[0x0];}let _0x405c06=normalizeHookFunctionNode(_0x45369f['str'](_0x69416d(0x196)));if(!_0x405c06){if(_0x45369f[_0x69416d(0x151)](_0x69416d(0x196)))throw CliErrors['validation'](_0x69416d(0x16c));if(_0x45369f[_0x69416d(0x183)])throw CliErrors[_0x69416d(0x171)](_0x69416d(0x150));const _0x2bfe1a=await promptSelect(_0x69416d(0x145),[_0x69416d(0x19b),'after']);_0x405c06=[_0x69416d(0x19b),_0x69416d(0x197)][_0x2bfe1a]??_0x69416d(0x19b);}return{'alias':_0x1a7c9e,'datasetCode':_0x345e94,'datasetId':_0x4ce383,'operationType':_0xe103f8,'functionNode':_0x405c06};}async function promptSelect(_0x40444d,_0x29ebac){const _0x35f774=a26_0x48ad2e;if(_0x29ebac[_0x35f774(0x17d)]===0x1)return 0x0;for(const [_0x47b0bf,_0x420b22]of _0x29ebac[_0x35f774(0x19a)]()){process[_0x35f774(0x18d)]['write']('\x20\x20'+(_0x47b0bf+0x1)+'.\x20'+_0x420b22+'\x0a');}const _0x7e4bc0=createInterface({'input':process[_0x35f774(0x17c)],'output':process[_0x35f774(0x18d)]});while(!![]){const _0x3d886d=await new Promise(_0x41d6cf=>{const _0x1f3939=_0x35f774;_0x7e4bc0[_0x1f3939(0x14d)](_0x40444d+'\x20',_0x41d6cf);}),_0x457dc4=Number['parseInt'](_0x3d886d[_0x35f774(0x143)](),0xa);if(Number[_0x35f774(0x195)](_0x457dc4)&&_0x457dc4>=0x1&&_0x457dc4<=_0x29ebac[_0x35f774(0x17d)])return _0x7e4bc0[_0x35f774(0x15f)](),_0x457dc4-0x1;process[_0x35f774(0x18d)]['write'](_0x35f774(0x18e)+_0x29ebac[_0x35f774(0x17d)]+'.\x0a');}}function buildFilePath(_0x4e095d,_0x39a378,_0x362b83,_0x2f7dad){const _0x4c4f5f=a26_0x48ad2e;if(_0x39a378===_0x4c4f5f(0x157)){if(!_0x2f7dad)throw CliErrors[_0x4c4f5f(0x171)](_0x4c4f5f(0x16a));const _0x3928b6=_0x2f7dad[_0x4c4f5f(0x17e)]??_0x2f7dad[_0x4c4f5f(0x194)];return join(_0x4e095d[_0x4c4f5f(0x149)],_0x4c4f5f(0x157),_0x3928b6,_0x2f7dad[_0x4c4f5f(0x15d)],_0x2f7dad[_0x4c4f5f(0x172)],_0x362b83+_0x4c4f5f(0x19c));}return join(_0x4e095d['scriptsRootDir'],_0x39a378,_0x362b83+_0x4c4f5f(0x19c));}export function generateTemplate(_0x32f2e2,_0x1c4e4f,_0x561997,_0x37159a,_0x48276e){const _0x4250e0=a26_0x48ad2e,_0x5ea11b=_0x37159a?.['trim']()||_0x4250e0(0x199);if(_0x32f2e2===_0x4250e0(0x148))return'/**\x0a\x20*\x20COMMON\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20'+_0x5ea11b+'\x0a\x20*\x20[脚本名称]\x20'+_0x1c4e4f+_0x4250e0(0x15a)+_0x1c4e4f+_0x4250e0(0x166)+_0x1c4e4f+'(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a';if(_0x32f2e2===_0x4250e0(0x18c))return'/**\x0a\x20*\x20ENDPOINT\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20'+_0x5ea11b+'\x0a\x20*\x20[接口路径]\x20POST\x20/api/endpoint/{appCode}/{scriptName}\x0a\x20*\x20[当前示例]\x20POST\x20/api/endpoint/'+_0x561997+'/'+_0x1c4e4f+_0x4250e0(0x186)+_0x1c4e4f+_0x4250e0(0x177);if(!_0x48276e)throw CliErrors[_0x4250e0(0x171)](_0x4250e0(0x191));return'/**\x0a\x20*\x20HOOK\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20'+_0x5ea11b+_0x4250e0(0x153)+_0x561997+'/'+_0x48276e[_0x4250e0(0x194)]+'/'+_0x48276e[_0x4250e0(0x15d)]+'\x0a\x20*\x20[触发节点]\x20'+_0x48276e[_0x4250e0(0x172)]+_0x4250e0(0x179)+_0x1c4e4f+_0x4250e0(0x177);}
|
|
1
|
+
function a26_0x53ab(){const _0xcdd07=['11235195jgqxba','code','nonInteractive','entries','close','HOOK\x20requires\x20alias/operation/node\x20options.','ENDPOINT','includes','TODO:\x20add\x20script\x20description','Select\x20dataset:','Dataset\x20alias\x20from\x20api.ts\x20(HOOK\x20only,\x20preferred)','3004736bmfknj','No\x20operation\x20types\x20found\x20for\x20dataset\x20','isInteger','\x22.\x20','tableName','before','validation','utf8','scriptsRootDir','length','Dataset\x20code\x20(HOOK\x20only,\x20fallback\x20when\x20alias\x20unavailable)','\x20api\x20pull`\x20to\x20refresh.','\x0a\x20*\x20[脚本名称]\x20','str','apiDir','appCode','(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a','operationType','922720fjLGUM','Select\x20trigger\x20node:','bff','/**\x0a\x20*\x20HOOK\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','8RwsDrS','datasetCode','join','Script\x20description','\x20api\x20pull`\x20first,\x20or\x20use\x20--datasetcode\x20instead.','Dataset\x20not\x20found\x20for\x20code\x20\x22','Available\x20aliases:\x20','127152GfkInF','write','10yoEoCI','type','\x22\x20not\x20found.\x20','--function-node\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','alias','.js','Alias\x20\x22','name','keys','HOOK\x20requires\x20hookOptions\x20for\x20template\x20generation.','\x22\x20not\x20found\x20for\x20dataset\x20','COMMON','\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','No\x20api.ts\x20found.\x20Run\x20`','HOOK','datasetcode','Invalid\x20function\x20name\x20\x22','description','Created\x20','No\x20DB\x20table\x20datasets\x20found\x20for\x20this\x20app.\x20METADATA\x20datasets\x20cannot\x20be\x20used\x20for\x20BFF\x20HOOK\x20development\x20because\x20the\x20workflow\x20depends\x20on\x20SQL\x20execution.','The\x20api.ts\x20may\x20be\x20stale\x20—\x20run\x20`','Invalid\x20dataset\x20selection.','find','Available:\x20','\x22.\x20Must\x20be\x20a\x20valid\x20JS\x20identifier\x20(e.g.\x20createOrder,\x20beforeFilter).','\x20function:\x20','2501592xHdWVB','/**\x0a\x20*\x20ENDPOINT\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','\x0a\x20*\x20[脚本类型]\x20COMMON\x0a\x20*\x20[本地路径]\x20.rabetbase/bff/COMMON/','\x0a\x20*\x20[接口路径]\x20POST\x20/api/','.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','6BhKhAl','114420RyVDuZ','2230824XjdaEv','Scaffold\x20a\x20new\x20BFF\x20function\x20from\x20template','stdin','Operation\x20type\x20(HOOK\x20only)','create','question','stderr','Function\x20name\x20(valid\x20JS\x20identifier)','after','string','File\x20already\x20exists:\x20','functionNode','function-node','\x0a\x20*\x20[接口路径]\x20POST\x20/api/endpoint/{appCode}/{scriptName}\x0a\x20*\x20[当前示例]\x20POST\x20/api/endpoint/'];a26_0x53ab=function(){return _0xcdd07;};return a26_0x53ab();}const a26_0x252ab6=a26_0x322a;(function(_0x9f62e5,_0x8bbb1b){const _0x322e20=a26_0x322a,_0x53926a=_0x9f62e5();while(!![]){try{const _0x46a148=parseInt(_0x322e20(0x99))/0x1+-parseInt(_0x322e20(0x98))/0x2*(parseInt(_0x322e20(0xd0))/0x3)+parseInt(_0x322e20(0xc9))/0x4*(parseInt(_0x322e20(0xc5))/0x5)+parseInt(_0x322e20(0x9a))/0x6+parseInt(_0x322e20(0xb3))/0x7+parseInt(_0x322e20(0xec))/0x8+parseInt(_0x322e20(0xa8))/0x9*(-parseInt(_0x322e20(0xd2))/0xa);if(_0x46a148===_0x8bbb1b)break;else _0x53926a['push'](_0x53926a['shift']());}catch(_0x4039bd){_0x53926a['push'](_0x53926a['shift']());}}}(a26_0x53ab,0x36238));import{createInterface}from'node:readline';import{mkdir,writeFile}from'node:fs/promises';import{dirname,join}from'node:path';import{listDatasets,listBffDatasetOperations}from'../../core/api-client.js';import{loadAliasMap,resolveAlias}from'../../core/alias-resolver.js';import{resolveApiFilePath}from'../../context.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{fileExists}from'../../core/bff/file-system.js';import{isValidBffFunctionName,normalizeHookFunctionNode}from'../../core/bff/utils.js';import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{assertDatasetSupportsLocalDevelopment,filterDbBackedDatasets}from'../../commands/dataset/capability.js';export const bffCreate={'service':a26_0x252ab6(0xc7),'command':a26_0x252ab6(0x9e),'description':a26_0x252ab6(0x9b),'risk':a26_0x252ab6(0xd1),'flags':[{'name':a26_0x252ab6(0xd3),'type':a26_0x252ab6(0xa3),'required':!![],'enum':['COMMON',a26_0x252ab6(0xae),a26_0x252ab6(0xe0)],'description':'Script\x20type'},{'name':a26_0x252ab6(0xd9),'type':a26_0x252ab6(0xa3),'required':!![],'description':a26_0x252ab6(0xa1)},{'name':a26_0x252ab6(0xe3),'type':a26_0x252ab6(0xa3),'description':a26_0x252ab6(0xcc)},{'name':a26_0x252ab6(0xd6),'type':'string','description':a26_0x252ab6(0xb2)},{'name':'datasetcode','type':a26_0x252ab6(0xa3),'description':a26_0x252ab6(0xbd)},{'name':'operation-type','type':a26_0x252ab6(0xa3),'description':a26_0x252ab6(0x9d)},{'name':'function-node','type':a26_0x252ab6(0xa3),'description':'Trigger\x20node\x20(HOOK\x20only)','enum':['before','after']}],async 'validate'(_0x393e19){const _0x1e3f0c=a26_0x252ab6,_0x40b5b2=_0x393e19[_0x1e3f0c(0xc0)](_0x1e3f0c(0xd9));if(!isValidBffFunctionName(_0x40b5b2))throw CliErrors[_0x1e3f0c(0xb9)](_0x1e3f0c(0xe2)+_0x40b5b2+_0x1e3f0c(0xea));},async 'execute'(_0x1ac444){const _0x357372=a26_0x252ab6,_0x6f9fd=loadBffProjectConfig(_0x1ac444[_0x357372(0xc2)]),_0x1aef14=_0x1ac444[_0x357372(0xc0)]('type'),_0x118d2c=_0x1ac444[_0x357372(0xc0)](_0x357372(0xd9)),_0x31fe26=_0x1ac444[_0x357372(0xc0)]('description')||undefined,_0x556786=_0x1aef14===_0x357372(0xe0)?await resolveHookOptions(_0x6f9fd,_0x1ac444):undefined,_0x3a454c=buildFilePath(_0x6f9fd,_0x1aef14,_0x118d2c,_0x556786);if(await fileExists(_0x3a454c))throw CliErrors[_0x357372(0xb9)](_0x357372(0xa4)+_0x3a454c);await mkdir(dirname(_0x3a454c),{'recursive':!![]});const _0x579ceb=generateTemplate(_0x1aef14,_0x118d2c,_0x1ac444[_0x357372(0xc2)],_0x31fe26,_0x556786);await writeFile(_0x3a454c,_0x579ceb,_0x357372(0xba));const _0x23188b={'type':_0x1aef14,'name':_0x118d2c,'path':_0x3a454c};if(_0x31fe26)_0x23188b[_0x357372(0xe3)]=_0x31fe26;if(_0x556786){if(_0x556786[_0x357372(0xd6)])_0x23188b['alias']=_0x556786['alias'];_0x23188b[_0x357372(0xca)]=_0x556786[_0x357372(0xca)],_0x23188b['operationType']=_0x556786['operationType'],_0x23188b['functionNode']=_0x556786['functionNode'];}return{'ok':!![],'data':_0x23188b,'message':_0x357372(0xe4)+_0x1aef14+_0x357372(0xeb)+_0x118d2c};}};function a26_0x322a(_0x2c6958,_0x31112a){_0x2c6958=_0x2c6958-0x96;const _0x53aba1=a26_0x53ab();let _0x322a81=_0x53aba1[_0x2c6958];return _0x322a81;}async function resolveHookOptions(_0x55bdee,_0x4b02a2){const _0x54b5e5=a26_0x252ab6,_0x597be8=loadAliasMap(_0x4b02a2[_0x54b5e5(0xc1)],undefined,resolveApiFilePath(_0x4b02a2['apiDir'],_0x4b02a2[_0x54b5e5(0xc2)])),_0x1f15c6=_0x597be8['length']>0x0;let _0x3adbc3,_0x4125e6,_0x5552c7;const _0x47185f=_0x4b02a2[_0x54b5e5(0xc0)](_0x54b5e5(0xd6)),_0x4b30e8=_0x4b02a2[_0x54b5e5(0xc0)](_0x54b5e5(0xe1));if(_0x47185f){const _0x77e52e=resolveAlias(_0x4b02a2[_0x54b5e5(0xc1)],_0x47185f,undefined,resolveApiFilePath(_0x4b02a2[_0x54b5e5(0xc1)],_0x4b02a2[_0x54b5e5(0xc2)]));if(!_0x77e52e){const _0x38a358=_0x1f15c6?_0x54b5e5(0xcf)+_0x597be8['map'](_0x1631a0=>_0x1631a0['alias'])[_0x54b5e5(0xcb)](',\x20'):_0x54b5e5(0xdf)+CLI_BIN_NAME+_0x54b5e5(0xcd);throw CliErrors[_0x54b5e5(0xb9)](_0x54b5e5(0xd8)+_0x47185f+_0x54b5e5(0xd4)+_0x38a358);}_0x3adbc3=_0x47185f,_0x4125e6=_0x77e52e;}else{if(_0x4b30e8){_0x4125e6=_0x4b30e8;const _0x7dcb6e=_0x597be8[_0x54b5e5(0xe8)](_0x562af0=>_0x562af0[_0x54b5e5(0xca)]===_0x4b30e8);_0x3adbc3=_0x7dcb6e?.['alias'];}else{if(_0x4b02a2[_0x54b5e5(0xaa)])throw CliErrors['validation']('--alias\x20or\x20--datasetcode\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.');else{if(_0x1f15c6){const _0xee0d4e=_0x597be8['map'](_0x146c16=>_0x146c16[_0x54b5e5(0xd6)]+'\x20('+_0x146c16[_0x54b5e5(0xb7)]+')'),_0x1aa078=await promptSelect(_0x54b5e5(0xb1),_0xee0d4e),_0xed6db5=_0x597be8[_0x1aa078];if(!_0xed6db5)throw CliErrors[_0x54b5e5(0xb9)](_0x54b5e5(0xe7));_0x3adbc3=_0xed6db5[_0x54b5e5(0xd6)],_0x4125e6=_0xed6db5[_0x54b5e5(0xca)];}else{const _0x3449fa=await listDatasets(_0x4b02a2[_0x54b5e5(0xc2)]),_0x74b94=filterDbBackedDatasets(_0x3449fa);if(_0x74b94[_0x54b5e5(0xbc)]===0x0)throw CliErrors[_0x54b5e5(0xb9)](_0x3449fa[_0x54b5e5(0xbc)]===0x0?'No\x20datasets\x20found\x20for\x20this\x20app.':_0x54b5e5(0xe5));const _0x594132=_0x74b94['map'](_0x339616=>_0x339616[_0x54b5e5(0xd9)]+'\x20('+_0x339616[_0x54b5e5(0xa9)]+')'),_0x4b006c=await promptSelect('Select\x20dataset:',_0x594132),_0x19b875=_0x74b94[_0x4b006c];if(!_0x19b875)throw CliErrors[_0x54b5e5(0xb9)]('Invalid\x20dataset\x20selection.');_0x4125e6=_0x19b875[_0x54b5e5(0xa9)],_0x3adbc3=undefined;}}}}const _0x27c750=await listDatasets(_0x4b02a2[_0x54b5e5(0xc2)]),_0x5497c0=_0x27c750['find'](_0x2c132b=>_0x2c132b['code']===_0x4125e6);if(!_0x5497c0)throw CliErrors[_0x54b5e5(0xb9)](_0x54b5e5(0xce)+_0x4125e6+_0x54b5e5(0xb6)+(_0x3adbc3?_0x54b5e5(0xe6)+CLI_BIN_NAME+_0x54b5e5(0xbe):''));assertDatasetSupportsLocalDevelopment(_0x5497c0,'BFF\x20HOOK'),_0x5552c7=_0x5497c0['id'];const _0x59db81=_0x3adbc3??_0x4125e6,_0x4c5707=await listBffDatasetOperations(_0x4b02a2[_0x54b5e5(0xc2)],_0x5552c7),_0x503751=_0x4c5707?Object[_0x54b5e5(0xda)](_0x4c5707):[];if(_0x503751['length']===0x0)throw CliErrors['validation'](_0x54b5e5(0xb4)+_0x59db81+'.');let _0x3a21dc;const _0x500a2d=_0x4b02a2[_0x54b5e5(0xc0)]('operation-type');if(_0x500a2d){if(!_0x503751[_0x54b5e5(0xaf)](_0x500a2d))throw CliErrors[_0x54b5e5(0xb9)]('Operation\x20type\x20\x22'+_0x500a2d+_0x54b5e5(0xdc)+_0x59db81+'.\x20'+(_0x54b5e5(0xe9)+_0x503751[_0x54b5e5(0xcb)](',\x20')));_0x3a21dc=_0x500a2d;}else{if(_0x4b02a2[_0x54b5e5(0xaa)])throw CliErrors[_0x54b5e5(0xb9)]('--operation-type\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.');const _0x5a0bf7=await promptSelect('Select\x20operation\x20type:',_0x503751);_0x3a21dc=_0x503751[_0x5a0bf7]??_0x503751[0x0];}let _0xaa6fa1=normalizeHookFunctionNode(_0x4b02a2[_0x54b5e5(0xc0)]('function-node'));if(!_0xaa6fa1){if(_0x4b02a2[_0x54b5e5(0xc0)](_0x54b5e5(0xa6)))throw CliErrors['validation']('--function-node\x20must\x20be\x20\x27before\x27\x20or\x20\x27after\x27.');if(_0x4b02a2[_0x54b5e5(0xaa)])throw CliErrors[_0x54b5e5(0xb9)](_0x54b5e5(0xd5));const _0x2aa0e0=await promptSelect(_0x54b5e5(0xc6),[_0x54b5e5(0xb8),_0x54b5e5(0xa2)]);_0xaa6fa1=['before',_0x54b5e5(0xa2)][_0x2aa0e0]??'before';}return{'alias':_0x3adbc3,'datasetCode':_0x4125e6,'datasetId':_0x5552c7,'operationType':_0x3a21dc,'functionNode':_0xaa6fa1};}async function promptSelect(_0x5de218,_0x3e8114){const _0x509d50=a26_0x252ab6;if(_0x3e8114[_0x509d50(0xbc)]===0x1)return 0x0;for(const [_0x36c4f0,_0x54ee80]of _0x3e8114[_0x509d50(0xab)]()){process[_0x509d50(0xa0)][_0x509d50(0xd1)]('\x20\x20'+(_0x36c4f0+0x1)+'.\x20'+_0x54ee80+'\x0a');}const _0x4e3ac7=createInterface({'input':process[_0x509d50(0x9c)],'output':process[_0x509d50(0xa0)]});while(!![]){const _0x2da1b0=await new Promise(_0x127d3f=>{const _0x2cf795=_0x509d50;_0x4e3ac7[_0x2cf795(0x9f)](_0x5de218+'\x20',_0x127d3f);}),_0x244da4=Number['parseInt'](_0x2da1b0['trim'](),0xa);if(Number[_0x509d50(0xb5)](_0x244da4)&&_0x244da4>=0x1&&_0x244da4<=_0x3e8114[_0x509d50(0xbc)])return _0x4e3ac7[_0x509d50(0xac)](),_0x244da4-0x1;process[_0x509d50(0xa0)][_0x509d50(0xd1)]('\x20\x20Enter\x20a\x20number\x20between\x201\x20and\x20'+_0x3e8114[_0x509d50(0xbc)]+'.\x0a');}}function buildFilePath(_0x104093,_0x4747b6,_0x5b9389,_0x3ec742){const _0x15a272=a26_0x252ab6;if(_0x4747b6===_0x15a272(0xe0)){if(!_0x3ec742)throw CliErrors[_0x15a272(0xb9)](_0x15a272(0xad));const _0xb5e5a9=_0x3ec742[_0x15a272(0xd6)]??_0x3ec742['datasetCode'];return join(_0x104093['scriptsRootDir'],_0x15a272(0xe0),_0xb5e5a9,_0x3ec742['operationType'],_0x3ec742[_0x15a272(0xa5)],_0x5b9389+_0x15a272(0xd7));}return join(_0x104093[_0x15a272(0xbb)],_0x4747b6,_0x5b9389+_0x15a272(0xd7));}export function generateTemplate(_0x5e2ad8,_0x59d0a1,_0x141f52,_0xa95413,_0x36aa9d){const _0x35f818=a26_0x252ab6,_0x2efd36=_0xa95413?.['trim']()||_0x35f818(0xb0);if(_0x5e2ad8===_0x35f818(0xdd))return'/**\x0a\x20*\x20COMMON\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20'+_0x2efd36+_0x35f818(0xbf)+_0x59d0a1+_0x35f818(0xee)+_0x59d0a1+_0x35f818(0x97)+_0x59d0a1+_0x35f818(0xc3);if(_0x5e2ad8==='ENDPOINT')return _0x35f818(0xed)+_0x2efd36+_0x35f818(0xa7)+_0x141f52+'/'+_0x59d0a1+_0x35f818(0xde)+_0x59d0a1+_0x35f818(0xc3);if(!_0x36aa9d)throw CliErrors[_0x35f818(0xb9)](_0x35f818(0xdb));return _0x35f818(0xc8)+_0x2efd36+_0x35f818(0x96)+_0x141f52+'/'+_0x36aa9d[_0x35f818(0xca)]+'/'+_0x36aa9d[_0x35f818(0xc4)]+'\x0a\x20*\x20[触发节点]\x20'+_0x36aa9d[_0x35f818(0xa5)]+'\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'+_0x59d0a1+_0x35f818(0xc3);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a27_0x52da8f=a27_0x4d84;(function(_0x531f6f,_0x79696){const _0x5e591b=a27_0x4d84,_0x4fd306=_0x531f6f();while(!![]){try{const _0x1d9111=-parseInt(_0x5e591b(0x19f))/0x1*(-parseInt(_0x5e591b(0x1c2))/0x2)+-parseInt(_0x5e591b(0x1d5))/0x3*(parseInt(_0x5e591b(0x1c5))/0x4)+-parseInt(_0x5e591b(0x1d0))/0x5*(-parseInt(_0x5e591b(0x1b4))/0x6)+parseInt(_0x5e591b(0x1b6))/0x7+-parseInt(_0x5e591b(0x1d2))/0x8*(parseInt(_0x5e591b(0x1c1))/0x9)+parseInt(_0x5e591b(0x1b1))/0xa+-parseInt(_0x5e591b(0x1cc))/0xb*(-parseInt(_0x5e591b(0x1bc))/0xc);if(_0x1d9111===_0x79696)break;else _0x4fd306['push'](_0x4fd306['shift']());}catch(_0x575d14){_0x4fd306['push'](_0x4fd306['shift']());}}}(a27_0x5a1a,0xbaddd));import{mkdir,readdir,rename,rmdir}from'node:fs/promises';import{dirname,join,relative,resolve,sep}from'node:path';import{deleteBffScript}from'../../core/api-client.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{fileExists,resolveLocalFilePathFromLockKey}from'../../core/bff/file-system.js';import{ensureLockScope,readBffLockFile,writeBffLockFile}from'../../core/bff/lock.js';import{CliErrors}from'../../errors.js';function a27_0x5a1a(){const _0x20252f=['trashedTo','Function\x20not\x20found:\x20','6lXFLyZ','string','3994144JIZyQm','Deleted\x20','target','delete','remoteId','includes','411444YXDoeW','length','No\x20lock\x20entry\x20found\x20for\x20\x22','bff','\x20(local\x20file\x20moved\x20to\x20trash)','153ehYWGH','134exIYIh','startsWith','lockFilePath','4YkLNiW','Would\x20delete\x20','functions','str','/api/management/library/scripts/delete','Lock\x20key\x20(e.g.\x20ENDPOINT/createOrder)\x20or\x20short\x20function\x20name','keys','319GwarBq','BFF\x20lock\x20file\x20not\x20found.\x20Run\x20`push`\x20or\x20`pull`\x20first\x20to\x20initialize\x20sync\x20state.','validation','map','508735vcecPk','projectRoot','138784KpOiIC','toISOString','find','3515706svgaHS','\x20\x20-\x20','6136tJAXrY','Lock\x20scope\x20for\x20app\x20\x22','high-risk-write','Delete\x20a\x20BFF\x20script\x20from\x20remote\x20and\x20local','Local\x20delete\x20not\x20settled\x20for\x20','\x22\x20not\x20found\x20after\x20ensureLockScope.','stringify','split','appCode','parse','<timestamp>','trashDir','apps','BFF\x20lock\x20file\x20not\x20found.','\x22.\x20Use\x20the\x20full\x20lock\x20key:\x0a','scriptsRoot','replace','lastSync','1544490IvcCJx'];a27_0x5a1a=function(){return _0x20252f;};return a27_0x5a1a();}import{sleep}from'../../utils/sleep.js';export const bffDelete={'service':a27_0x52da8f(0x1bf),'command':'delete','description':a27_0x52da8f(0x1a2),'risk':a27_0x52da8f(0x1a1),'flags':[{'name':a27_0x52da8f(0x1b8),'type':a27_0x52da8f(0x1b5),'required':!![],'description':a27_0x52da8f(0x1ca)}],async 'validate'(_0x3423e4){const _0x24ed56=a27_0x52da8f,_0x895677=loadBffProjectConfig(_0x3423e4[_0x24ed56(0x1a7)]),_0x43972b=await readBffLockFile(_0x895677[_0x24ed56(0x1c4)]);if(!_0x43972b)throw CliErrors[_0x24ed56(0x1ce)](_0x24ed56(0x1cd));},async 'dryRun'(_0x2b8eba){const _0x2e434a=a27_0x52da8f,_0x50868e=loadBffProjectConfig(_0x2b8eba['appCode']),_0x1bb775=await readBffLockFile(_0x50868e[_0x2e434a(0x1c4)]);if(!_0x1bb775)throw CliErrors['validation'](_0x2e434a(0x1ac));const {appLock:_0x5e8c74}=ensureLockScope(_0x1bb775,_0x2b8eba[_0x2e434a(0x1a7)],_0x50868e[_0x2e434a(0x1ae)],_0x2e434a(0x1b9)),_0x5637cf=_0x2b8eba[_0x2e434a(0x1c8)](_0x2e434a(0x1b8)),_0x40133f=Object[_0x2e434a(0x1cb)](_0x5e8c74[_0x2e434a(0x1c7)]),_0x46ffdf=resolveDeleteTarget(_0x5637cf,_0x40133f),_0x3905b8=_0x5e8c74[_0x2e434a(0x1c7)][_0x46ffdf];if(!_0x3905b8)throw CliErrors['validation'](_0x2e434a(0x1be)+_0x46ffdf+'\x22.');const _0x4a55ab=resolveLocalFilePathFromLockKey(_0x50868e,_0x46ffdf),_0x37c76d=relative(_0x50868e[_0x2e434a(0x1d1)],_0x4a55ab),_0x5d049c=join(_0x50868e['trashDir'],_0x2e434a(0x1a9),_0x37c76d);return{'method':'POST','url':_0x2e434a(0x1c9),'body':{'appCode':_0x2b8eba[_0x2e434a(0x1a7)],'target':_0x46ffdf,'remoteId':_0x3905b8[_0x2e434a(0x1ba)],'localFilePath':_0x4a55ab,'trashedPath':_0x5d049c},'description':_0x2e434a(0x1c6)+_0x46ffdf+'\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20trash'};},async 'execute'(_0x384dd0){const _0x400ba1=a27_0x52da8f,_0x3aeaa4=loadBffProjectConfig(_0x384dd0[_0x400ba1(0x1a7)]),_0x12957c=await readBffLockFile(_0x3aeaa4[_0x400ba1(0x1c4)]);if(!_0x12957c)throw CliErrors[_0x400ba1(0x1ce)](_0x400ba1(0x1ac));const {lockData:_0x22debd,appLock:_0xf312cd}=ensureLockScope(_0x12957c,_0x384dd0[_0x400ba1(0x1a7)],_0x3aeaa4['scriptsRoot'],_0x400ba1(0x1b9)),_0x3c59c6=JSON[_0x400ba1(0x1a8)](JSON[_0x400ba1(0x1a5)](_0x22debd)),_0x43daa6=_0x3c59c6[_0x400ba1(0x1ab)][_0x384dd0[_0x400ba1(0x1a7)]];if(!_0x43daa6)throw new Error(_0x400ba1(0x1a0)+_0x384dd0[_0x400ba1(0x1a7)]+_0x400ba1(0x1a4));const _0x107597=_0x384dd0[_0x400ba1(0x1c8)](_0x400ba1(0x1b8)),_0x1fac4b=Object[_0x400ba1(0x1cb)](_0x43daa6['functions']),_0x323aa3=resolveDeleteTarget(_0x107597,_0x1fac4b),_0x2c88f3=_0x43daa6[_0x400ba1(0x1c7)][_0x323aa3];if(!_0x2c88f3)throw CliErrors[_0x400ba1(0x1ce)](_0x400ba1(0x1be)+_0x323aa3+'\x22.');await deleteBffScript(_0x2c88f3['remoteId']),delete _0x43daa6[_0x400ba1(0x1c7)][_0x323aa3],_0x43daa6[_0x400ba1(0x1b0)]=new Date()[_0x400ba1(0x1d3)](),await writeBffLockFile(_0x3aeaa4[_0x400ba1(0x1c4)],_0x3c59c6);const _0x16fc4d=resolveLocalFilePathFromLockKey(_0x3aeaa4,_0x323aa3);let _0x244ada;await fileExists(_0x16fc4d)&&(_0x244ada=await moveToTrash(_0x3aeaa4[_0x400ba1(0x1d1)],_0x3aeaa4[_0x400ba1(0x1aa)],_0x16fc4d),await cleanupEmptyDirectories(dirname(_0x16fc4d),_0x3aeaa4['scriptsRootDir']));await waitForDeleteSettlement(_0x3aeaa4[_0x400ba1(0x1c4)],_0x384dd0[_0x400ba1(0x1a7)],_0x323aa3,_0x16fc4d),await sleep(0x96);const _0x7f12d3={'deleted':_0x323aa3,'remoteId':_0x2c88f3[_0x400ba1(0x1ba)]};if(_0x244ada)_0x7f12d3[_0x400ba1(0x1b2)]=_0x244ada;return{'ok':!![],'data':_0x7f12d3,'message':_0x400ba1(0x1b7)+_0x323aa3+(_0x244ada?_0x400ba1(0x1c0):'')};}};function resolveDeleteTarget(_0x3e65da,_0x5ce88d){const _0x5e667a=a27_0x52da8f;if(_0x3e65da[_0x5e667a(0x1bb)]('/')){const _0x4c6f21=_0x5ce88d[_0x5e667a(0x1d4)](_0x36657e=>_0x36657e===_0x3e65da);if(!_0x4c6f21)throw CliErrors[_0x5e667a(0x1ce)](_0x5e667a(0x1b3)+_0x3e65da);return _0x4c6f21;}const _0xacd0a3=_0x5ce88d['filter'](_0x4c7fa7=>_0x4c7fa7[_0x5e667a(0x1a6)]('/')['at'](-0x1)===_0x3e65da);if(_0xacd0a3[_0x5e667a(0x1bd)]===0x0)throw CliErrors['validation'](_0x5e667a(0x1b3)+_0x3e65da);if(_0xacd0a3['length']>0x1)throw CliErrors['validation']('Multiple\x20functions\x20match\x20\x22'+_0x3e65da+_0x5e667a(0x1ad)+_0xacd0a3[_0x5e667a(0x1cf)](_0x3c8ee9=>_0x5e667a(0x1d6)+_0x3c8ee9)['join']('\x0a'));return _0xacd0a3[0x0];}async function moveToTrash(_0x4291b4,_0x58f9dc,_0x1a06eb){const _0x2b812b=a27_0x52da8f,_0x45e33a=new Date()['toISOString']()[_0x2b812b(0x1af)](/[:.]/g,'-'),_0xdfda9e=relative(_0x4291b4,_0x1a06eb),_0x898579=join(_0x58f9dc,_0x45e33a,_0xdfda9e);return await mkdir(dirname(_0x898579),{'recursive':!![]}),await rename(_0x1a06eb,_0x898579),_0x898579;}async function cleanupEmptyDirectories(_0x59efd3,_0x18696c){const _0x107c71=a27_0x52da8f;let _0x1f4548=resolve(_0x59efd3);const _0xb189f=resolve(_0x18696c);while(_0x1f4548[_0x107c71(0x1c3)](''+_0xb189f+sep)||_0x1f4548===_0xb189f){if(_0x1f4548===_0xb189f)return;try{const _0x15df5f=await readdir(_0x1f4548);if(_0x15df5f[_0x107c71(0x1bd)]>0x0)return;await rmdir(_0x1f4548);}catch{return;}_0x1f4548=dirname(_0x1f4548);}}const DELETE_SETTLE_RETRY_COUNT=0x14,DELETE_SETTLE_DELAY_MS=0x64;function a27_0x4d84(_0x58fc41,_0x3d67f9){_0x58fc41=_0x58fc41-0x19f;const _0x5a1a0c=a27_0x5a1a();let _0x4d84fb=_0x5a1a0c[_0x58fc41];return _0x4d84fb;}async function waitForDeleteSettlement(_0x2b0877,_0x32746b,_0x185f21,_0x14341b){const _0x31b97a=a27_0x52da8f;for(let _0x7897a7=0x0;_0x7897a7<DELETE_SETTLE_RETRY_COUNT;_0x7897a7+=0x1){const _0x3bb6a0=await readBffLockFile(_0x2b0877),_0x53a446=!!_0x3bb6a0?.[_0x31b97a(0x1ab)]?.[_0x32746b]?.['functions']?.[_0x185f21],_0x9be521=await fileExists(_0x14341b);if(!_0x53a446&&!_0x9be521)return;await sleep(DELETE_SETTLE_DELAY_MS);}throw new Error(_0x31b97a(0x1a3)+_0x185f21+'.');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
const a28_0x468bfd=a28_0x2992;function a28_0x2992(_0x1b21a2,_0x48ab4e){_0x1b21a2=_0x1b21a2-0x182;const _0x2442f5=a28_0x2442();let _0x299240=_0x2442f5[_0x1b21a2];return _0x299240;}(function(_0x411d03,_0x4b3cff){const _0x269d01=a28_0x2992,_0x1d8af9=_0x411d03();while(!![]){try{const _0xd32477=parseInt(_0x269d01(0x195))/0x1*(parseInt(_0x269d01(0x186))/0x2)+-parseInt(_0x269d01(0x18f))/0x3+parseInt(_0x269d01(0x191))/0x4*(parseInt(_0x269d01(0x196))/0x5)+-parseInt(_0x269d01(0x18a))/0x6+parseInt(_0x269d01(0x18b))/0x7+-parseInt(_0x269d01(0x190))/0x8+-parseInt(_0x269d01(0x192))/0x9*(-parseInt(_0x269d01(0x183))/0xa);if(_0xd32477===_0x4b3cff)break;else _0x1d8af9['push'](_0x1d8af9['shift']());}catch(_0x1f2ca8){_0x1d8af9['push'](_0x1d8af9['shift']());}}}(a28_0x2442,0x2c689));import{getBffScriptInfo}from'../../core/api-client.js';function a28_0x2442(){const _0x23ff5d=['5QKakKP','scriptContent','scriptType','60jlMZdk','boolean','read','11294JGuBcb','createdTime','updatedTime','(none)','1803666VtfjJN','927542nloUwe','bff','Script\x20ID','verbose','662646nmERci','532280gNPYwg','411932ZHCZIF','615303vymlPn','bool','detail','22HfeCqa'];a28_0x2442=function(){return _0x23ff5d;};return a28_0x2442();}export const bffDetail={'service':a28_0x468bfd(0x18c),'command':a28_0x468bfd(0x194),'description':'Get\x20BFF\x20script\x20details\x20by\x20ID','risk':a28_0x468bfd(0x185),'flags':[{'name':'id','type':'number','required':!![],'description':a28_0x468bfd(0x18d)},{'name':a28_0x468bfd(0x18e),'type':a28_0x468bfd(0x184),'description':'Return\x20full\x20raw\x20script\x20object'}],async 'execute'(_0x1d546e){const _0x154b3b=a28_0x468bfd,_0x4aef1a=await getBffScriptInfo(_0x1d546e['num']('id')),_0x49b9e1=_0x1d546e[_0x154b3b(0x193)](_0x154b3b(0x18e));if(_0x49b9e1)return{'ok':!![],'data':_0x4aef1a};return{'ok':!![],'data':{'id':_0x4aef1a['id'],'appCode':_0x4aef1a['appCode'],'scriptType':_0x4aef1a[_0x154b3b(0x182)],'description':_0x4aef1a['description']||_0x154b3b(0x189),'createdTime':_0x4aef1a[_0x154b3b(0x187)]??'','updatedTime':_0x4aef1a[_0x154b3b(0x188)]??'','scriptContent':_0x4aef1a[_0x154b3b(0x197)]??''}};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x546618,_0x205324){const _0x1f9052=a29_0x583f,_0xd4e53d=_0x546618();while(!![]){try{const _0x3bded5=parseInt(_0x1f9052(0x10e))/0x1*(-parseInt(_0x1f9052(0x10d))/0x2)+parseInt(_0x1f9052(0x110))/0x3*(-parseInt(_0x1f9052(0x111))/0x4)+-parseInt(_0x1f9052(0x113))/0x5*(parseInt(_0x1f9052(0x112))/0x6)+parseInt(_0x1f9052(0x117))/0x7*(parseInt(_0x1f9052(0x115))/0x8)+-parseInt(_0x1f9052(0x114))/0x9+parseInt(_0x1f9052(0x116))/0xa+-parseInt(_0x1f9052(0x10f))/0xb*(-parseInt(_0x1f9052(0x10c))/0xc);if(_0x3bded5===_0x205324)break;else _0xd4e53d['push'](_0xd4e53d['shift']());}catch(_0x4cccc6){_0xd4e53d['push'](_0xd4e53d['shift']());}}}(a29_0x2c1c,0x899ec));import{bffList}from'../../commands/bff/list.js';function a29_0x583f(_0x3929f5,_0x4257c4){_0x3929f5=_0x3929f5-0x10c;const _0x2c1c4a=a29_0x2c1c();let _0x583fee=_0x2c1c4a[_0x3929f5];return _0x583fee;}import{bffDetail}from'../../commands/bff/detail.js';import{bffStatus}from'../../commands/bff/status.js';function a29_0x2c1c(){const _0x4efba0=['360eXuftC','468054VFqPKv','4gzRxsO','570735ecvoda','1029ltJQhh','1148SvPXUk','60ZFDQqd','403550ozZTFQ','2585601gtaqYQ','24fAyKFT','755500KiHRvC','2474570teRGwV'];a29_0x2c1c=function(){return _0x4efba0;};return a29_0x2c1c();}import{bffCreate}from'../../commands/bff/create.js';import{bffPush}from'../../commands/bff/push.js';import{bffPull}from'../../commands/bff/pull.js';import{bffDelete}from'../../commands/bff/delete.js';export const bffDefinitions=[bffList,bffDetail,bffStatus,bffCreate,bffPush,bffPull,bffDelete];
|
package/lib/commands/bff/list.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a30_0x179af4=a30_0x4594;function a30_0x4594(_0x2b9510,_0x4290b1){_0x2b9510=_0x2b9510-0x1cc;const _0x26f1e5=a30_0x26f1();let _0x45949a=_0x26f1e5[_0x2b9510];return _0x45949a;}(function(_0x5206d4,_0x40dad3){const _0x5b0495=a30_0x4594,_0x9615db=_0x5206d4();while(!![]){try{const _0x4ae1ee=parseInt(_0x5b0495(0x1e6))/0x1*(parseInt(_0x5b0495(0x1e1))/0x2)+-parseInt(_0x5b0495(0x1de))/0x3+-parseInt(_0x5b0495(0x1cd))/0x4+parseInt(_0x5b0495(0x1d1))/0x5+-parseInt(_0x5b0495(0x1da))/0x6+-parseInt(_0x5b0495(0x1db))/0x7*(parseInt(_0x5b0495(0x1d5))/0x8)+parseInt(_0x5b0495(0x1d3))/0x9*(parseInt(_0x5b0495(0x1e4))/0xa);if(_0x4ae1ee===_0x40dad3)break;else _0x9615db['push'](_0x9615db['shift']());}catch(_0x5f0a4c){_0x9615db['push'](_0x9615db['shift']());}}}(a30_0x26f1,0xc8525));import{listBffScripts}from'../../core/api-client.js';export const bffList={'service':a30_0x179af4(0x1cf),'command':'list','description':a30_0x179af4(0x1dd),'risk':'read','flags':[{'name':a30_0x179af4(0x1d9),'type':a30_0x179af4(0x1ce),'description':a30_0x179af4(0x1d4),'default':'ENDPOINT','enum':[a30_0x179af4(0x1d8),a30_0x179af4(0x1dc)]},{'name':a30_0x179af4(0x1d7),'type':a30_0x179af4(0x1ce),'description':a30_0x179af4(0x1e3)},{'name':'verbose','type':a30_0x179af4(0x1e0),'description':'Return\x20full\x20script\x20objects'}],async 'execute'(_0x333598){const _0x486bcd=a30_0x179af4,_0x271049=await listBffScripts(_0x333598[_0x486bcd(0x1d0)],_0x333598['str']('type'),{'scriptName':_0x333598[_0x486bcd(0x1e8)]('name')||undefined}),_0x2e25c8=_0x333598[_0x486bcd(0x1d6)](_0x486bcd(0x1e5));return{'ok':!![],'data':_0x2e25c8?_0x271049:_0x271049[_0x486bcd(0x1d2)](_0x36f510=>({'id':_0x36f510['id'],'functionName':_0x36f510[_0x486bcd(0x1df)]??'','description':_0x36f510[_0x486bcd(0x1cc)]||_0x486bcd(0x1e2),'scriptType':_0x36f510[_0x486bcd(0x1e7)]})),'message':_0x271049[_0x486bcd(0x1e9)]===0x0?'No\x20BFF\x20scripts\x20found.':undefined};}};function a30_0x26f1(){const _0x372bff=['COMMON','List\x20BFF\x20scripts','4231584MxkpCI','functionName','boolean','2sNkIsQ','(unnamed)','Filter\x20by\x20script\x20name','410JInQqW','verbose','1067864KXoOjH','scriptType','str','length','description','845256XWuoNl','string','bff','appCode','7140285ACuBbJ','map','387909InDAiw','Script\x20type\x20filter','22696XTaqZx','bool','name','ENDPOINT','type','5460156lRajkj','2247RTkZRn'];a30_0x26f1=function(){return _0x372bff;};return a30_0x26f1();}
|
package/lib/commands/bff/pull.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a31_0x222eb5=a31_0x3953;(function(_0x97d2ac,_0x3fd34a){const _0x57ace8=a31_0x3953,_0x5da31d=_0x97d2ac();while(!![]){try{const _0x454c10=-parseInt(_0x57ace8(0x1a8))/0x1*(-parseInt(_0x57ace8(0x1c6))/0x2)+parseInt(_0x57ace8(0x1ab))/0x3*(parseInt(_0x57ace8(0x1a9))/0x4)+-parseInt(_0x57ace8(0x1d5))/0x5+-parseInt(_0x57ace8(0x1e2))/0x6*(parseInt(_0x57ace8(0x1dc))/0x7)+-parseInt(_0x57ace8(0x1d2))/0x8*(parseInt(_0x57ace8(0x1b9))/0x9)+parseInt(_0x57ace8(0x1e7))/0xa*(-parseInt(_0x57ace8(0x1e8))/0xb)+parseInt(_0x57ace8(0x1c2))/0xc*(parseInt(_0x57ace8(0x1b1))/0xd);if(_0x454c10===_0x3fd34a)break;else _0x5da31d['push'](_0x5da31d['shift']());}catch(_0x1e86e3){_0x5da31d['push'](_0x5da31d['shift']());}}}(a31_0x34d2,0x86d4a));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_0x34d2(){const _0x3cab0c=['filePath','cancelled','local\x20unsynced\x20changes','&type=','lockKey','version','str','length','252zyrqGA','stringify','hash','unresolvable\x20target\x20path','122LLjGmf','functionNode','includes','type','boolean','apps','string','datasetCode','Pull\x20only\x20this\x20script\x20type','map','toLowerCase','apiDir','24aMbQsZ','push','bff','3591625pPiaRC','Remote\x20script\x20missing\x20id.','\x20skipped,\x20','pull','stderr','Force\x20overwrite\x20local\x20unsynced\x20changes','Would\x20inspect\x20','14kGSUpr','utf8','appCode','\x20failed','stdin','scriptType','1628796jLnLoh','force','\x20remote\x20BFF\x20script(s)\x20for\x20pull','scriptsRoot','message','10LnbIsg','11908127PWtXyH','--type\x20must\x20be\x20COMMON,\x20ENDPOINT,\x20or\x20HOOK.','all','trim','Lock\x20scope\x20for\x20app\x20\x22','functionName','COMMON','validation','would_pull','conflict','functions','\x22\x20not\x20found\x20after\x20ensureLockScope.','yes','/api/management/library/scripts/list?appCode=','close','bool','1622CrWYas','20120kGGUFo','Remote\x20script\x20missing\x20content.','150WblClS','\x20pulled,\x20','hookLocation','parse','nonInteractive','lockFilePath','1833377likViU','Force\x20pull\x20will\x20overwrite\x20local\x20unsynced\x20changes.\x20Continue?\x20[y/N]\x20','operationType','No\x20remote\x20BFF\x20scripts\x20found.','question','scriptContent','HOOK','alias','1247913GSmqKU'];a31_0x34d2=function(){return _0x3cab0c;};return a31_0x34d2();}import{resolveApiFilePath}from'../../context.js';import{loadBffProjectConfig}from'../../core/bff/config.js';function a31_0x3953(_0xf15e6,_0x2a529d){_0xf15e6=_0xf15e6-0x19e;const _0x34d294=a31_0x34d2();let _0x39532c=_0x34d294[_0xf15e6];return _0x39532c;}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_0x222eb5(0x1d4),'command':a31_0x222eb5(0x1d8),'description':'Pull\x20remote\x20BFF\x20scripts\x20to\x20local','risk':'write','flags':[{'name':a31_0x222eb5(0x1c9),'type':a31_0x222eb5(0x1cc),'description':a31_0x222eb5(0x1ce),'enum':[a31_0x222eb5(0x19e),'ENDPOINT',a31_0x222eb5(0x1b7)]},{'name':a31_0x222eb5(0x1e3),'type':a31_0x222eb5(0x1ca),'description':a31_0x222eb5(0x1da)}],async 'dryRun'(_0x334125){const _0xa9e434=a31_0x222eb5,_0x11b1e3=loadBffProjectConfig(_0x334125[_0xa9e434(0x1de)]),_0x56b70f=await readBffLockFile(_0x11b1e3[_0xa9e434(0x1b0)]),{appLock:_0x3f66c4}=ensureLockScope(_0x56b70f??createEmptyBffLock(),_0x334125[_0xa9e434(0x1de)],_0x11b1e3[_0xa9e434(0x1e5)],_0xa9e434(0x1d8)),_0x51044b=normalizeBffType(_0x334125[_0xa9e434(0x1c0)](_0xa9e434(0x1c9)))??undefined,_0x22493d=buildDatasetCodeToAliasMap(_0x334125[_0xa9e434(0x1d1)],_0x334125[_0xa9e434(0x1de)]),[_0x10c502,_0x35dd8e]=await Promise[_0xa9e434(0x1ea)]([listBffScripts(_0x334125[_0xa9e434(0x1de)],_0x51044b),getBffScriptStatistics(_0x334125[_0xa9e434(0x1de)])]),_0x18ce4d=createHookLocationMap(_0x35dd8e),_0x38efa0=[];for(const _0x328f49 of _0x10c502){const _0x38ddfc=resolveRemoteScriptTarget(_0x11b1e3,_0x328f49,_0x18ce4d,_0x3f66c4[_0xa9e434(0x1a2)],_0x22493d);if(!_0x38ddfc){_0x38efa0['push']({'scriptType':_0x328f49[_0xa9e434(0x1e1)],'functionName':_0x328f49[_0xa9e434(0x1ed)]??'','status':'skipped','reason':_0xa9e434(0x1c5)});continue;}const _0x117abb=_0x3f66c4['functions'][_0x38ddfc['lockKey']],_0x127d74=_0x328f49[_0xa9e434(0x1b6)]!=null?computeContentHash(_0x328f49[_0xa9e434(0x1b6)]):undefined,_0x79f9e1=await hasUnsyncedLocalChanges(_0x38ddfc[_0xa9e434(0x1ba)],_0x117abb,_0x127d74);_0x38efa0[_0xa9e434(0x1d3)]({'lockKey':_0x38ddfc[_0xa9e434(0x1be)],'filePath':_0x38ddfc[_0xa9e434(0x1ba)],'remoteId':_0x328f49['id']??null,'status':_0x79f9e1?_0xa9e434(0x1a1):_0xa9e434(0x1a0)});}return{'method':'GET','url':_0xa9e434(0x1a5)+_0x334125[_0xa9e434(0x1de)]+(_0x51044b?_0xa9e434(0x1bd)+_0x51044b:''),'body':{'appCode':_0x334125[_0xa9e434(0x1de)],'filterType':_0x51044b??null,'files':_0x38efa0},'description':_0xa9e434(0x1db)+_0x38efa0['length']+_0xa9e434(0x1e4)};},async 'execute'(_0x4a8598){const _0x553e5d=a31_0x222eb5,_0x5331bf=loadBffProjectConfig(_0x4a8598[_0x553e5d(0x1de)]),_0xd8ef98=await readBffLockFile(_0x5331bf[_0x553e5d(0x1b0)]),{lockData:_0x25a01e,appLock:_0x47fced}=ensureLockScope(_0xd8ef98??createEmptyBffLock(),_0x4a8598[_0x553e5d(0x1de)],_0x5331bf[_0x553e5d(0x1e5)],'pull'),_0x5bc555=normalizeBffType(_0x4a8598[_0x553e5d(0x1c0)](_0x553e5d(0x1c9)))??undefined;if(_0x4a8598[_0x553e5d(0x1c0)]('type')&&!_0x5bc555)throw CliErrors[_0x553e5d(0x19f)](_0x553e5d(0x1e9));const [_0x2a3f85,_0x31ed38]=await Promise[_0x553e5d(0x1ea)]([listBffScripts(_0x4a8598[_0x553e5d(0x1de)],_0x5bc555),getBffScriptStatistics(_0x4a8598[_0x553e5d(0x1de)])]);if(_0x2a3f85[_0x553e5d(0x1c1)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x553e5d(0x1b4)};const _0x5e7613=_0x4a8598[_0x553e5d(0x1a7)](_0x553e5d(0x1e3));if(_0x5e7613&&!_0x4a8598[_0x553e5d(0x1af)]){const _0xc733fb=await confirmForce();if(!_0xc733fb)throw CliErrors[_0x553e5d(0x1bb)]('Force\x20pull\x20cancelled.');}if(_0x5e7613&&_0x4a8598[_0x553e5d(0x1af)]){}const _0x42d4d9=buildDatasetCodeToAliasMap(_0x4a8598[_0x553e5d(0x1d1)],_0x4a8598['appCode']),_0x4d9539=createHookLocationMap(_0x31ed38),_0x3dd247=JSON[_0x553e5d(0x1ae)](JSON[_0x553e5d(0x1c3)](_0x25a01e)),_0x4d3599=_0x4a8598[_0x553e5d(0x1de)],_0x4712ad=_0x3dd247[_0x553e5d(0x1cb)][_0x4d3599];if(!_0x4712ad)throw new Error(_0x553e5d(0x1ec)+_0x4d3599+_0x553e5d(0x1a3));const _0x345874=[],_0x14852c=[],_0x4fc3bf=[];for(const _0x4a8b57 of _0x2a3f85){const _0x91d457=resolveRemoteScriptTarget(_0x5331bf,_0x4a8b57,_0x4d9539,_0x47fced['functions'],_0x42d4d9);if(!_0x91d457){_0x14852c[_0x553e5d(0x1d3)]({'lockKey':_0x4a8b57['scriptType']+'/'+_0x4a8b57[_0x553e5d(0x1ed)],'reason':_0x553e5d(0x1c5)});continue;}const _0x4cca81=_0x47fced['functions'][_0x91d457[_0x553e5d(0x1be)]];try{if(!_0x4a8b57['id'])throw new Error(_0x553e5d(0x1d6));if(_0x4a8b57[_0x553e5d(0x1b6)]==null)throw new Error(_0x553e5d(0x1aa));const _0x2c45dd=_0x4a8b57[_0x553e5d(0x1b6)],_0x27abe7=computeContentHash(_0x2c45dd);if(!_0x5e7613){const _0x2b5fee=await hasUnsyncedLocalChanges(_0x91d457[_0x553e5d(0x1ba)],_0x4cca81,_0x27abe7);if(_0x2b5fee){_0x14852c[_0x553e5d(0x1d3)]({'lockKey':_0x91d457[_0x553e5d(0x1be)],'reason':_0x553e5d(0x1bc)});continue;}}await ensureParentDirectory(_0x91d457[_0x553e5d(0x1ba)]),await writeFile(_0x91d457[_0x553e5d(0x1ba)],_0x2c45dd,_0x553e5d(0x1dd));const _0x5e1890={'hash':_0x27abe7,'remoteId':_0x4a8b57['id'],'version':_0x4a8b57[_0x553e5d(0x1bf)]};_0x91d457[_0x553e5d(0x1c9)]===_0x553e5d(0x1b7)&&_0x91d457['hookLocation']&&(_0x5e1890['alias']=_0x91d457[_0x553e5d(0x1ad)][_0x553e5d(0x1b8)],_0x5e1890[_0x553e5d(0x1cd)]=_0x91d457[_0x553e5d(0x1ad)]['datasetCode'],_0x5e1890[_0x553e5d(0x1b3)]=_0x91d457[_0x553e5d(0x1ad)][_0x553e5d(0x1b3)],_0x5e1890['functionNode']=_0x91d457[_0x553e5d(0x1ad)][_0x553e5d(0x1c7)]),_0x4712ad['functions'][_0x91d457['lockKey']]=_0x5e1890,_0x345874[_0x553e5d(0x1d3)]({'lockKey':_0x91d457[_0x553e5d(0x1be)],'remoteId':_0x4a8b57['id']});}catch(_0xdcbdf4){_0x4fc3bf['push']({'lockKey':_0x91d457[_0x553e5d(0x1be)],'error':_0xdcbdf4 instanceof Error?_0xdcbdf4[_0x553e5d(0x1e6)]:String(_0xdcbdf4)});}}return _0x4712ad['lastSync']=new Date()['toISOString'](),await writeBffLockFile(_0x5331bf[_0x553e5d(0x1b0)],_0x3dd247),{'ok':_0x4fc3bf['length']===0x0,'data':{'pulled':_0x345874,'skipped':_0x14852c,'failed':_0x4fc3bf},'message':'Pull\x20complete:\x20'+_0x345874[_0x553e5d(0x1c1)]+_0x553e5d(0x1ac)+_0x14852c[_0x553e5d(0x1c1)]+_0x553e5d(0x1d7)+_0x4fc3bf[_0x553e5d(0x1c1)]+_0x553e5d(0x1df)};}};async function hasUnsyncedLocalChanges(_0x4d7a2f,_0x33c8bd,_0x488743){const _0x9e55f5=a31_0x222eb5;if(!await fileExists(_0x4d7a2f))return![];const _0x36e7dd=await computeFileHash(_0x4d7a2f);if(!_0x33c8bd)return _0x488743?_0x36e7dd!==_0x488743:!![];return _0x36e7dd!==_0x33c8bd[_0x9e55f5(0x1c4)];}function buildDatasetCodeToAliasMap(_0x10c791,_0x5120a0){const _0x37ef92=a31_0x222eb5,_0x3549b6=loadAliasMap(_0x10c791,undefined,resolveApiFilePath(_0x10c791,_0x5120a0));return new Map(_0x3549b6[_0x37ef92(0x1cf)](_0x1ec525=>[_0x1ec525[_0x37ef92(0x1cd)],_0x1ec525[_0x37ef92(0x1b8)]]));}async function confirmForce(){const _0x36450b=a31_0x222eb5,_0x1e1ad5=createInterface({'input':process[_0x36450b(0x1e0)],'output':process[_0x36450b(0x1d9)]}),_0x233ad1=await new Promise(_0x6d3b64=>{const _0x5c7bde=_0x36450b;_0x1e1ad5[_0x5c7bde(0x1b5)](_0x5c7bde(0x1b2),_0x6d3b64);});return _0x1e1ad5[_0x36450b(0x1a6)](),['y',_0x36450b(0x1a4)][_0x36450b(0x1c8)](_0x233ad1[_0x36450b(0x1eb)]()[_0x36450b(0x1d0)]());}
|
package/lib/commands/bff/push.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a32_0x41b8a2=a32_0x5c6e;(function(_0x1d8653,_0x124b7e){const _0x282240=a32_0x5c6e,_0x33c2b0=_0x1d8653();while(!![]){try{const _0x396397=-parseInt(_0x282240(0x11b))/0x1*(-parseInt(_0x282240(0x166))/0x2)+-parseInt(_0x282240(0x146))/0x3+-parseInt(_0x282240(0x139))/0x4+parseInt(_0x282240(0x119))/0x5*(parseInt(_0x282240(0x12f))/0x6)+parseInt(_0x282240(0x125))/0x7*(-parseInt(_0x282240(0x13e))/0x8)+parseInt(_0x282240(0x148))/0x9+-parseInt(_0x282240(0x11a))/0xa*(-parseInt(_0x282240(0x15d))/0xb);if(_0x396397===_0x124b7e)break;else _0x33c2b0['push'](_0x33c2b0['shift']());}catch(_0x5ba4ac){_0x33c2b0['push'](_0x33c2b0['shift']());}}}(a32_0x487e,0x1c121));import{readFile}from'node:fs/promises';import{saveBffScript,getBffScriptInfo,listDatasets,clearBffScriptCache}from'../../core/api-client.js';import{loadAliasMap}from'../../core/alias-resolver.js';import{resolveApiFilePath}from'../../context.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{normalizeBffType,scanLocalBffFunctions}from'../../core/bff/file-system.js';import{computeFileHash}from'../../core/bff/hash.js';import{createEmptyBffLock,ensureLockScope,readBffLockFile,writeBffLockFile}from'../../core/bff/lock.js';import{extractScriptDescription}from'../../core/bff/utils.js';import{sleep}from'../../utils/sleep.js';import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';function a32_0x487e(){const _0xcd6c03=['unchanged','str','join','parse','set','/api/management/library/scripts/save','version','stringify','validation','script','293073zZVSKX','Cannot\x20resolve\x20dataset\x20for\x20\x22','COMMON','runtime\x20cache\x20clear\x20failed','runtime\x20cache\x20not\x20needed','alias','lockKey','Incomplete\x20HOOK\x20path:\x20','apiDir','54HOIITE','\x22.\x20','No\x20local\x20BFF\x20functions\x20found.','force','would_push','POST','some','HOOK','every','type','30OzJikW','50UvLyit','4467gdxqWu','bff','utf8','cleared','scriptsRoot','length','attempted','boolean','Push\x20only\x20the\x20named\x20function\x20(requires\x20--type)','values','805DtdOiS','datasetId','string','remoteId','Local\x20function\x20not\x20found:\x20','get','lockFilePath','Push\x20local\x20BFF\x20scripts\x20to\x20remote','description','appCode','125004nsPNnr','update','Push\x20only\x20this\x20script\x20type','functions','aliasToDatasetCode','status','\x20skipped,\x20','filePath','runtime\x20cache\x20cleared','ENDPOINT','455728OyDeTy','Lock\x20file\x20not\x20settled\x20after\x20push\x20for\x20','has','filter','Would\x20inspect\x20','9032VZljPg','--name\x20requires\x20--type\x20to\x20identify\x20the\x20function.','push','name','lastSync','hash','Push\x20complete:\x20','apps','650064NntYzf','bool','1769436ifxQcL','toISOString','Run\x20`','operationType','functionNode','datasetCode','\x20failed,\x20','\x20api\x20pull`\x20to\x20refresh\x20api.ts,\x20or\x20verify\x20the\x20dataset\x20exists.','map','message','create'];a32_0x487e=function(){return _0xcd6c03;};return a32_0x487e();}import{assertDatasetSupportsLocalDevelopment}from'../../commands/dataset/capability.js';const CACHE_CLEAR_ATTEMPTS=0x2,CACHE_CLEAR_INTERVAL_MS=0x12c;function a32_0x5c6e(_0x1ecdc0,_0xfdf088){_0x1ecdc0=_0x1ecdc0-0x111;const _0x487ee2=a32_0x487e();let _0x5c6efc=_0x487ee2[_0x1ecdc0];return _0x5c6efc;}export const bffPush={'service':a32_0x41b8a2(0x11c),'command':a32_0x41b8a2(0x140),'description':a32_0x41b8a2(0x12c),'risk':'high-risk-write','flags':[{'name':a32_0x41b8a2(0x118),'type':a32_0x41b8a2(0x127),'description':a32_0x41b8a2(0x131),'enum':[a32_0x41b8a2(0x15f),a32_0x41b8a2(0x138),a32_0x41b8a2(0x116)]},{'name':a32_0x41b8a2(0x141),'type':a32_0x41b8a2(0x127),'description':a32_0x41b8a2(0x123)},{'name':'force','type':a32_0x41b8a2(0x122),'description':'Force\x20push\x20ignoring\x20hash\x20protection'}],async 'dryRun'(_0x142553){const _0xd49d5f=a32_0x41b8a2,_0x531256=loadBffProjectConfig(_0x142553[_0xd49d5f(0x12e)]),_0x4b2ecc=await readBffLockFile(_0x531256['lockFilePath']),{appLock:_0x2eb99e}=ensureLockScope(_0x4b2ecc??createEmptyBffLock(),_0x142553[_0xd49d5f(0x12e)],_0x531256[_0xd49d5f(0x11f)],_0xd49d5f(0x140)),_0x56f3fa=await getTargetFunctions(_0x531256,_0x142553),_0x2305ae=_0x142553['bool'](_0xd49d5f(0x112)),_0x562bfb=[];for(const _0x26b465 of _0x56f3fa){const _0x4d08d3=await computeFileHash(_0x26b465['filePath']),_0x26cc69=_0x2eb99e[_0xd49d5f(0x132)][_0x26b465['lockKey']],_0x3619bd=!!_0x26cc69&&_0x26cc69[_0xd49d5f(0x143)]===_0x4d08d3;_0x562bfb[_0xd49d5f(0x140)]({'lockKey':_0x26b465['lockKey'],'filePath':_0x26b465[_0xd49d5f(0x136)],'remoteId':_0x26cc69?.[_0xd49d5f(0x128)]??null,'mode':_0x26cc69?.[_0xd49d5f(0x128)]?_0xd49d5f(0x130):_0xd49d5f(0x152),'status':!_0x2305ae&&_0x3619bd?_0xd49d5f(0x153):_0xd49d5f(0x113)});}return{'method':_0xd49d5f(0x114),'url':_0xd49d5f(0x158),'body':{'appCode':_0x142553['appCode'],'force':_0x2305ae,'files':_0x562bfb,'cacheClearAtRuntime':_0x562bfb['some'](_0x482273=>_0x482273[_0xd49d5f(0x134)]===_0xd49d5f(0x113)),'cacheClearAtRuntimeTimes':_0x562bfb[_0xd49d5f(0x115)](_0x2c39bb=>_0x2c39bb[_0xd49d5f(0x134)]===_0xd49d5f(0x113))?CACHE_CLEAR_ATTEMPTS:0x0},'description':_0xd49d5f(0x13d)+_0x562bfb[_0xd49d5f(0x120)]+'\x20local\x20BFF\x20script(s)\x20for\x20push\x20and\x20clear\x20runtime\x20cache\x20if\x20files\x20are\x20uploaded'};},async 'execute'(_0x519173){const _0x1e571a=a32_0x41b8a2,_0x2278a2=loadBffProjectConfig(_0x519173[_0x1e571a(0x12e)]),_0x72fe32=await readBffLockFile(_0x2278a2[_0x1e571a(0x12b)]),{lockData:_0x566207,appLock:_0x5e450e}=ensureLockScope(_0x72fe32??createEmptyBffLock(),_0x519173[_0x1e571a(0x12e)],_0x2278a2[_0x1e571a(0x11f)],'push'),_0xa87e40=await getTargetFunctions(_0x2278a2,_0x519173);if(_0xa87e40[_0x1e571a(0x120)]===0x0)return{'ok':!![],'data':{'uploaded':[],'skipped':[],'failed':[]},'message':_0x1e571a(0x111)};const _0x2cd5bf=_0x519173[_0x1e571a(0x147)]('force'),_0x412bb3=JSON[_0x1e571a(0x156)](JSON[_0x1e571a(0x15a)](_0x566207)),_0x45e8a6=_0x412bb3[_0x1e571a(0x145)][_0x519173[_0x1e571a(0x12e)]];if(!_0x45e8a6)throw new Error('Lock\x20scope\x20for\x20app\x20\x22'+_0x519173[_0x1e571a(0x12e)]+'\x22\x20not\x20found\x20after\x20ensureLockScope.');const _0x537cba=await buildHookMaps(_0x519173[_0x1e571a(0x12e)],_0x519173[_0x1e571a(0x165)],_0xa87e40,_0x45e8a6),_0x4453fa=[],_0x4a93d4=[],_0x269ee9=[];for(const _0x98b936 of _0xa87e40){const _0x3d53e6=await computeFileHash(_0x98b936[_0x1e571a(0x136)]),_0x5526c4=_0x45e8a6[_0x1e571a(0x132)][_0x98b936[_0x1e571a(0x163)]];if(!_0x2cd5bf&&_0x5526c4&&_0x5526c4['hash']===_0x3d53e6){_0x4a93d4[_0x1e571a(0x140)]({'lockKey':_0x98b936[_0x1e571a(0x163)],'reason':_0x1e571a(0x153)});continue;}try{await uploadSingleFunction(_0x519173['appCode'],_0x98b936,_0x45e8a6,_0x537cba);const _0x3484b2=_0x45e8a6[_0x1e571a(0x132)][_0x98b936[_0x1e571a(0x163)]];_0x4453fa[_0x1e571a(0x140)]({'lockKey':_0x98b936[_0x1e571a(0x163)],'remoteId':_0x3484b2?.['remoteId']??0x0});}catch(_0x1f953a){_0x269ee9[_0x1e571a(0x140)]({'lockKey':_0x98b936['lockKey'],'error':_0x1f953a instanceof Error?_0x1f953a[_0x1e571a(0x151)]:String(_0x1f953a)});}}_0x45e8a6[_0x1e571a(0x142)]=new Date()[_0x1e571a(0x149)](),await writeBffLockFile(_0x2278a2[_0x1e571a(0x12b)],_0x412bb3),await waitForUploadedLockEntries(_0x2278a2[_0x1e571a(0x12b)],_0x519173[_0x1e571a(0x12e)],_0x4453fa[_0x1e571a(0x150)](_0x14f4c3=>_0x14f4c3[_0x1e571a(0x163)]));let _0x1a395b={'attempted':![],'cleared':![]};if(_0x4453fa[_0x1e571a(0x120)]>0x0)try{let _0x444d36='';for(let _0x51d547=0x0;_0x51d547<CACHE_CLEAR_ATTEMPTS;_0x51d547+=0x1){_0x444d36=await clearBffScriptCache(),_0x51d547<CACHE_CLEAR_ATTEMPTS-0x1&&await sleep(CACHE_CLEAR_INTERVAL_MS);}_0x1a395b={'attempted':!![],'cleared':!![],'message':_0x444d36||'Runtime\x20script\x20cache\x20cleared.'};}catch(_0x217da9){_0x1a395b={'attempted':!![],'cleared':![],'error':_0x217da9 instanceof Error?_0x217da9['message']:String(_0x217da9)};}const _0x2acb9b=_0x269ee9[_0x1e571a(0x120)]===0x0&&(_0x1a395b[_0x1e571a(0x121)]?_0x1a395b[_0x1e571a(0x11e)]:!![]),_0x4cebe3=_0x1a395b[_0x1e571a(0x121)]?_0x1a395b[_0x1e571a(0x11e)]?_0x1e571a(0x137):_0x1e571a(0x160):_0x1e571a(0x161);return{'ok':_0x2acb9b,'data':{'uploaded':_0x4453fa,'skipped':_0x4a93d4,'failed':_0x269ee9,'cacheClear':_0x1a395b},'message':_0x1e571a(0x144)+_0x4453fa['length']+'\x20uploaded,\x20'+_0x4a93d4['length']+_0x1e571a(0x135)+_0x269ee9[_0x1e571a(0x120)]+_0x1e571a(0x14e)+_0x4cebe3};}};async function getTargetFunctions(_0x34d33d,_0x5f4a18){const _0x2885a4=a32_0x41b8a2,_0x37a087=_0x5f4a18[_0x2885a4(0x154)](_0x2885a4(0x118)),_0xaf897f=_0x5f4a18[_0x2885a4(0x154)](_0x2885a4(0x141)),_0x43e19a=normalizeBffType(_0x37a087)??undefined;if(_0xaf897f&&!_0x43e19a)throw CliErrors['validation'](_0x2885a4(0x13f));const _0xf04d02=await scanLocalBffFunctions(_0x34d33d,_0x43e19a);if(_0xaf897f){const _0xdc8650=_0xf04d02[_0x2885a4(0x13c)](_0xc7b1f0=>_0xc7b1f0[_0x2885a4(0x141)]===_0xaf897f);if(_0xdc8650[_0x2885a4(0x120)]===0x0)throw CliErrors[_0x2885a4(0x15b)](_0x2885a4(0x129)+_0x43e19a+'/'+_0xaf897f);return _0xdc8650;}return _0xf04d02;}async function buildHookMaps(_0x16a9aa,_0x1cb382,_0x4d7ddd,_0x269bce){const _0x5b2870=a32_0x41b8a2,_0x2b3477=_0x4d7ddd[_0x5b2870(0x115)](_0x2ce403=>_0x2ce403['type']==='HOOK');if(!_0x2b3477)return{'aliasToDatasetCode':new Map(),'datasetCodeToDataset':new Map()};const _0x5119d1=loadAliasMap(_0x1cb382,undefined,resolveApiFilePath(_0x1cb382,_0x16a9aa)),_0x1c9bc2=new Map(_0x5119d1['map'](_0x3989a9=>[_0x3989a9[_0x5b2870(0x162)],_0x3989a9[_0x5b2870(0x14d)]]));for(const _0x335b33 of Object[_0x5b2870(0x124)](_0x269bce[_0x5b2870(0x132)])){_0x335b33[_0x5b2870(0x162)]&&_0x335b33[_0x5b2870(0x14d)]&&!_0x1c9bc2[_0x5b2870(0x13b)](_0x335b33[_0x5b2870(0x162)])&&_0x1c9bc2[_0x5b2870(0x157)](_0x335b33['alias'],_0x335b33['datasetCode']);}const _0xab85a3=await listDatasets(_0x16a9aa),_0x962f4f=new Map(_0xab85a3['map'](_0x1aca25=>[_0x1aca25['code'],_0x1aca25]));return{'aliasToDatasetCode':_0x1c9bc2,'datasetCodeToDataset':_0x962f4f};}async function uploadSingleFunction(_0x2cf29b,_0x2442ee,_0x5dad0f,_0x3c889a){const _0xda377e=a32_0x41b8a2,_0x186bcd=await readFile(_0x2442ee['filePath'],_0xda377e(0x11d)),_0x676822=await computeFileHash(_0x2442ee['filePath']),_0x4df9f7=_0x5dad0f[_0xda377e(0x132)][_0x2442ee[_0xda377e(0x163)]];if(_0x4df9f7?.['remoteId']&&_0x4df9f7['version']==null)throw CliErrors[_0xda377e(0x15b)](_0x2442ee[_0xda377e(0x163)]+':\x20missing\x20remote\x20version.\x20Run\x20`push`\x20after\x20`pull`\x20to\x20sync\x20version\x20info.');let _0x48e321=extractScriptDescription(_0x186bcd);if(!_0x48e321&&_0x4df9f7?.['remoteId']){const _0x2d09d0=await getBffScriptInfo(_0x4df9f7[_0xda377e(0x128)]);_0x48e321=_0x2d09d0['description']||undefined;}const _0x39939d={'appCode':_0x2cf29b,'functionName':_0x2442ee['name'],'scriptType':_0x2442ee['type'],'scriptContent':_0x186bcd};if(_0x4df9f7?.['remoteId'])_0x39939d['id']=_0x4df9f7['remoteId'];if(_0x4df9f7?.[_0xda377e(0x159)]!=null)_0x39939d['version']=_0x4df9f7[_0xda377e(0x159)];if(_0x48e321)_0x39939d[_0xda377e(0x12d)]=_0x48e321;if(_0x2442ee[_0xda377e(0x118)]===_0xda377e(0x116)){const _0x410d6f=_0x2442ee[_0xda377e(0x162)];if(!_0x410d6f||!_0x2442ee[_0xda377e(0x14b)]||!_0x2442ee['functionNode'])throw CliErrors['validation'](_0xda377e(0x164)+_0x2442ee[_0xda377e(0x163)]);const _0x2cb8b7=_0x3c889a[_0xda377e(0x133)][_0xda377e(0x12a)](_0x410d6f)??_0x4df9f7?.['datasetCode']??_0x410d6f,_0x3e1afb=_0x3c889a['datasetCodeToDataset'][_0xda377e(0x12a)](_0x2cb8b7);if(!_0x3e1afb)throw CliErrors[_0xda377e(0x15b)](_0xda377e(0x15e)+_0x410d6f+_0xda377e(0x167)+(_0xda377e(0x14a)+CLI_BIN_NAME+_0xda377e(0x14f)));assertDatasetSupportsLocalDevelopment(_0x3e1afb,'BFF\x20HOOK\x20'+_0x2442ee[_0xda377e(0x163)]),_0x39939d[_0xda377e(0x126)]=_0x3e1afb['id'],_0x39939d['operationType']=_0x2442ee['operationType'],_0x39939d['functionNode']=_0x2442ee['functionNode'];}const _0x46e1e5=await saveBffScript(_0x39939d),_0xabddf2=_0x46e1e5['id'],_0x4a3e26=_0x46e1e5[_0xda377e(0x15c)]??await getBffScriptInfo(_0xabddf2),_0x422207={'hash':_0x676822,'remoteId':_0xabddf2,'version':_0x4a3e26[_0xda377e(0x159)]};if(_0x2442ee[_0xda377e(0x118)]===_0xda377e(0x116)){const _0x16b508=_0x2442ee[_0xda377e(0x162)],_0x4918cc=_0x3c889a[_0xda377e(0x133)][_0xda377e(0x12a)](_0x16b508)??_0x4df9f7?.[_0xda377e(0x14d)]??_0x16b508;_0x3c889a['aliasToDatasetCode'][_0xda377e(0x13b)](_0x16b508)?_0x422207[_0xda377e(0x162)]=_0x16b508:_0x422207[_0xda377e(0x162)]=_0x4df9f7?.[_0xda377e(0x162)],_0x422207[_0xda377e(0x14d)]=_0x4918cc,_0x422207[_0xda377e(0x14b)]=_0x2442ee[_0xda377e(0x14b)],_0x422207[_0xda377e(0x14c)]=_0x2442ee[_0xda377e(0x14c)];}_0x5dad0f['functions'][_0x2442ee[_0xda377e(0x163)]]=_0x422207;}const LOCK_SETTLE_RETRY_COUNT=0x14,LOCK_SETTLE_DELAY_MS=0x64;async function waitForUploadedLockEntries(_0x247e4d,_0x59a51f,_0x14fbbc){const _0x517755=a32_0x41b8a2;if(_0x14fbbc[_0x517755(0x120)]===0x0)return;for(let _0x7e09fc=0x0;_0x7e09fc<LOCK_SETTLE_RETRY_COUNT;_0x7e09fc+=0x1){const _0x1c36ea=await readBffLockFile(_0x247e4d),_0x4f417=_0x1c36ea?.[_0x517755(0x145)]?.[_0x59a51f]?.[_0x517755(0x132)]??{},_0x177107=_0x14fbbc[_0x517755(0x117)](_0x145594=>!!_0x4f417[_0x145594]?.[_0x517755(0x128)]);if(_0x177107)return;await sleep(LOCK_SETTLE_DELAY_MS);}throw new Error(_0x517755(0x13a)+_0x14fbbc[_0x517755(0x155)](',\x20')+'.');}
|
|
1
|
+
const a32_0x38bcb4=a32_0x12e4;(function(_0x4ff25a,_0x47cfb6){const _0x213113=a32_0x12e4,_0x2e9530=_0x4ff25a();while(!![]){try{const _0x203d8b=parseInt(_0x213113(0x1e7))/0x1*(-parseInt(_0x213113(0x1e3))/0x2)+-parseInt(_0x213113(0x1fa))/0x3*(-parseInt(_0x213113(0x1f8))/0x4)+parseInt(_0x213113(0x1f5))/0x5*(parseInt(_0x213113(0x1d9))/0x6)+-parseInt(_0x213113(0x1ef))/0x7*(-parseInt(_0x213113(0x205))/0x8)+-parseInt(_0x213113(0x20f))/0x9+-parseInt(_0x213113(0x1ed))/0xa*(-parseInt(_0x213113(0x1fd))/0xb)+parseInt(_0x213113(0x214))/0xc*(-parseInt(_0x213113(0x209))/0xd);if(_0x203d8b===_0x47cfb6)break;else _0x2e9530['push'](_0x2e9530['shift']());}catch(_0x280f99){_0x2e9530['push'](_0x2e9530['shift']());}}}(a32_0x2d2f,0xac1f3));import{readFile}from'node:fs/promises';import{saveBffScript,getBffScriptInfo,listDatasets,clearBffScriptCache}from'../../core/api-client.js';import{loadAliasMap}from'../../core/alias-resolver.js';import{resolveApiFilePath}from'../../context.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{normalizeBffType,scanLocalBffFunctions}from'../../core/bff/file-system.js';import{computeFileHash}from'../../core/bff/hash.js';import{createEmptyBffLock,ensureLockScope,readBffLockFile,writeBffLockFile}from'../../core/bff/lock.js';import{extractScriptDescription}from'../../core/bff/utils.js';import{sleep}from'../../utils/sleep.js';import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{assertDatasetSupportsLocalDevelopment}from'../../commands/dataset/capability.js';const CACHE_CLEAR_ATTEMPTS=0x2,CACHE_CLEAR_INTERVAL_MS=0x12c;export const bffPush={'service':a32_0x38bcb4(0x1df),'command':a32_0x38bcb4(0x201),'description':a32_0x38bcb4(0x1c4),'risk':a32_0x38bcb4(0x20e),'flags':[{'name':a32_0x38bcb4(0x208),'type':a32_0x38bcb4(0x1d2),'description':'Push\x20only\x20this\x20script\x20type','enum':[a32_0x38bcb4(0x1de),a32_0x38bcb4(0x20a),a32_0x38bcb4(0x202)]},{'name':a32_0x38bcb4(0x206),'type':a32_0x38bcb4(0x1d2),'description':a32_0x38bcb4(0x200)},{'name':'force','type':a32_0x38bcb4(0x1d7),'description':a32_0x38bcb4(0x1ee)}],async 'dryRun'(_0x4032a1){const _0x34c5b4=a32_0x38bcb4,_0x49e65d=loadBffProjectConfig(_0x4032a1['appCode']),_0x11570e=await readBffLockFile(_0x49e65d[_0x34c5b4(0x1ce)]),{appLock:_0x1b0977}=ensureLockScope(_0x11570e??createEmptyBffLock(),_0x4032a1[_0x34c5b4(0x1eb)],_0x49e65d[_0x34c5b4(0x1f3)],_0x34c5b4(0x201)),_0x2febb5=await getTargetFunctions(_0x49e65d,_0x4032a1),_0x3443dd=_0x4032a1['bool']('force'),_0x2f6215=[];for(const _0x6e6ce4 of _0x2febb5){const _0x5a6de8=await computeFileHash(_0x6e6ce4[_0x34c5b4(0x1cd)]),_0x347ee4=_0x1b0977[_0x34c5b4(0x1fb)][_0x6e6ce4[_0x34c5b4(0x1d8)]],_0x4864c0=!!_0x347ee4&&_0x347ee4[_0x34c5b4(0x1e8)]===_0x5a6de8;_0x2f6215[_0x34c5b4(0x201)]({'lockKey':_0x6e6ce4['lockKey'],'filePath':_0x6e6ce4[_0x34c5b4(0x1cd)],'remoteId':_0x347ee4?.[_0x34c5b4(0x1e1)]??null,'mode':_0x347ee4?.[_0x34c5b4(0x1e1)]?_0x34c5b4(0x1cf):_0x34c5b4(0x1d4),'status':!_0x3443dd&&_0x4864c0?_0x34c5b4(0x1f9):_0x34c5b4(0x1c8)});}return{'method':'POST','url':_0x34c5b4(0x20b),'body':{'appCode':_0x4032a1['appCode'],'force':_0x3443dd,'files':_0x2f6215,'cacheClearAtRuntime':_0x2f6215[_0x34c5b4(0x1d0)](_0x462219=>_0x462219[_0x34c5b4(0x1e4)]===_0x34c5b4(0x1c8)),'cacheClearAtRuntimeTimes':_0x2f6215[_0x34c5b4(0x1d0)](_0x151046=>_0x151046[_0x34c5b4(0x1e4)]==='would_push')?CACHE_CLEAR_ATTEMPTS:0x0},'description':_0x34c5b4(0x207)+_0x2f6215[_0x34c5b4(0x1fc)]+_0x34c5b4(0x1f2)};},async 'execute'(_0x552013){const _0x27eae0=a32_0x38bcb4,_0x2e06e4=loadBffProjectConfig(_0x552013[_0x27eae0(0x1eb)]),_0x5a0c57=await readBffLockFile(_0x2e06e4['lockFilePath']),{lockData:_0x17285d,appLock:_0x4bc73e}=ensureLockScope(_0x5a0c57??createEmptyBffLock(),_0x552013[_0x27eae0(0x1eb)],_0x2e06e4[_0x27eae0(0x1f3)],_0x27eae0(0x201)),_0x1405c3=await getTargetFunctions(_0x2e06e4,_0x552013);if(_0x1405c3['length']===0x0)return{'ok':!![],'data':{'uploaded':[],'skipped':[],'failed':[]},'message':'No\x20local\x20BFF\x20functions\x20found.'};const _0x2d4ce0=_0x552013['bool'](_0x27eae0(0x1d5)),_0x2c437c=JSON[_0x27eae0(0x1e6)](JSON[_0x27eae0(0x210)](_0x17285d)),_0x4ad130=_0x2c437c[_0x27eae0(0x1f6)][_0x552013[_0x27eae0(0x1eb)]];if(!_0x4ad130)throw new Error('Lock\x20scope\x20for\x20app\x20\x22'+_0x552013[_0x27eae0(0x1eb)]+_0x27eae0(0x1dc));const _0x4630f1=await buildHookMaps(_0x552013[_0x27eae0(0x1eb)],_0x552013['apiDir'],_0x1405c3,_0x4ad130),_0x2015ac=[],_0x5c6939=[],_0x3b5e82=[];for(const _0x48a0b8 of _0x1405c3){const _0x59bdef=await computeFileHash(_0x48a0b8[_0x27eae0(0x1cd)]),_0xf48128=_0x4ad130[_0x27eae0(0x1fb)][_0x48a0b8[_0x27eae0(0x1d8)]];if(!_0x2d4ce0&&_0xf48128&&_0xf48128[_0x27eae0(0x1e8)]===_0x59bdef){_0x5c6939[_0x27eae0(0x201)]({'lockKey':_0x48a0b8[_0x27eae0(0x1d8)],'reason':_0x27eae0(0x1f9)});continue;}try{await uploadSingleFunction(_0x552013['appCode'],_0x48a0b8,_0x4ad130,_0x4630f1);const _0xd05ef1=_0x4ad130['functions'][_0x48a0b8[_0x27eae0(0x1d8)]];_0x2015ac[_0x27eae0(0x201)]({'lockKey':_0x48a0b8[_0x27eae0(0x1d8)],'remoteId':_0xd05ef1?.['remoteId']??0x0});}catch(_0x1035e6){_0x3b5e82[_0x27eae0(0x201)]({'lockKey':_0x48a0b8[_0x27eae0(0x1d8)],'error':_0x1035e6 instanceof Error?_0x1035e6['message']:String(_0x1035e6)});}}_0x4ad130[_0x27eae0(0x1dd)]=new Date()['toISOString'](),await writeBffLockFile(_0x2e06e4[_0x27eae0(0x1ce)],_0x2c437c),await waitForUploadedLockEntries(_0x2e06e4[_0x27eae0(0x1ce)],_0x552013[_0x27eae0(0x1eb)],_0x2015ac[_0x27eae0(0x213)](_0x10fffe=>_0x10fffe[_0x27eae0(0x1d8)]));let _0x443045={'attempted':![],'cleared':![]};if(_0x2015ac[_0x27eae0(0x1fc)]>0x0)try{let _0x4f8b3b='';for(let _0x21fa45=0x0;_0x21fa45<CACHE_CLEAR_ATTEMPTS;_0x21fa45+=0x1){_0x4f8b3b=await clearBffScriptCache(),_0x21fa45<CACHE_CLEAR_ATTEMPTS-0x1&&await sleep(CACHE_CLEAR_INTERVAL_MS);}_0x443045={'attempted':!![],'cleared':!![],'message':_0x4f8b3b||_0x27eae0(0x1f7)};}catch(_0x57aef4){_0x443045={'attempted':!![],'cleared':![],'error':_0x57aef4 instanceof Error?_0x57aef4['message']:String(_0x57aef4)};}const _0xf1b2da=_0x3b5e82[_0x27eae0(0x1fc)]===0x0&&(_0x443045['attempted']?_0x443045[_0x27eae0(0x1f1)]:!![]),_0x17bed6=_0x443045[_0x27eae0(0x212)]?_0x443045['cleared']?_0x27eae0(0x204):_0x27eae0(0x1da):'runtime\x20cache\x20not\x20needed';return{'ok':_0xf1b2da,'data':{'uploaded':_0x2015ac,'skipped':_0x5c6939,'failed':_0x3b5e82,'cacheClear':_0x443045},'message':_0x27eae0(0x1e0)+_0x2015ac[_0x27eae0(0x1fc)]+_0x27eae0(0x1d6)+_0x5c6939['length']+'\x20skipped,\x20'+_0x3b5e82[_0x27eae0(0x1fc)]+'\x20failed,\x20'+_0x17bed6};}};async function getTargetFunctions(_0x1ca18f,_0x4320aa){const _0x212a68=a32_0x38bcb4,_0x229ca1=_0x4320aa[_0x212a68(0x1fe)](_0x212a68(0x208)),_0x16978c=_0x4320aa[_0x212a68(0x1fe)](_0x212a68(0x206)),_0x14d47e=normalizeBffType(_0x229ca1)??undefined;if(_0x16978c&&!_0x14d47e)throw CliErrors[_0x212a68(0x203)](_0x212a68(0x1c7));const _0x57682f=await scanLocalBffFunctions(_0x1ca18f,_0x14d47e);if(_0x16978c){const _0x9cc74e=_0x57682f[_0x212a68(0x1c5)](_0xfd770d=>_0xfd770d[_0x212a68(0x206)]===_0x16978c);if(_0x9cc74e[_0x212a68(0x1fc)]===0x0)throw CliErrors[_0x212a68(0x203)](_0x212a68(0x1d3)+_0x14d47e+'/'+_0x16978c);return _0x9cc74e;}return _0x57682f;}async function buildHookMaps(_0x9b1ddc,_0x2e2fb7,_0x39106c,_0x4aa071){const _0x4221ef=a32_0x38bcb4,_0x1c51c8=_0x39106c[_0x4221ef(0x1d0)](_0x3d71c7=>_0x3d71c7['type']===_0x4221ef(0x202));if(!_0x1c51c8)return{'aliasToDatasetCode':new Map(),'datasetCodeToDataset':new Map()};const _0x1e06ca=loadAliasMap(_0x2e2fb7,undefined,resolveApiFilePath(_0x2e2fb7,_0x9b1ddc)),_0x331937=new Map(_0x1e06ca[_0x4221ef(0x213)](_0x11070d=>[_0x11070d['alias'],_0x11070d[_0x4221ef(0x1cc)]]));for(const _0x430296 of Object['values'](_0x4aa071[_0x4221ef(0x1fb)])){_0x430296['alias']&&_0x430296['datasetCode']&&!_0x331937[_0x4221ef(0x1c6)](_0x430296[_0x4221ef(0x1db)])&&_0x331937[_0x4221ef(0x1ea)](_0x430296[_0x4221ef(0x1db)],_0x430296[_0x4221ef(0x1cc)]);}const _0x34106f=await listDatasets(_0x9b1ddc),_0x2c483a=new Map(_0x34106f[_0x4221ef(0x213)](_0x44c2e8=>[_0x44c2e8['code'],_0x44c2e8]));return{'aliasToDatasetCode':_0x331937,'datasetCodeToDataset':_0x2c483a};}async function uploadSingleFunction(_0x41a183,_0x223574,_0x1bf5e8,_0x20470e){const _0x3a0e27=a32_0x38bcb4,_0x3c02eb=await readFile(_0x223574[_0x3a0e27(0x1cd)],_0x3a0e27(0x1ca)),_0x5b0adb=await computeFileHash(_0x223574['filePath']),_0x4a9c95=_0x1bf5e8['functions'][_0x223574[_0x3a0e27(0x1d8)]];if(_0x4a9c95?.[_0x3a0e27(0x1e1)]&&_0x4a9c95[_0x3a0e27(0x1d1)]==null)throw CliErrors[_0x3a0e27(0x203)](_0x223574[_0x3a0e27(0x1d8)]+':\x20missing\x20remote\x20version.\x20Run\x20`push`\x20after\x20`pull`\x20to\x20sync\x20version\x20info.');let _0x4e16ca=extractScriptDescription(_0x3c02eb);if(!_0x4e16ca&&_0x4a9c95?.['remoteId']){const _0x3903cf=await getBffScriptInfo(_0x4a9c95[_0x3a0e27(0x1e1)]);_0x4e16ca=_0x3903cf[_0x3a0e27(0x1ff)]||undefined;}const _0x344284={'appCode':_0x41a183,'functionName':_0x223574['name'],'scriptType':_0x223574['type'],'scriptContent':_0x3c02eb};if(_0x4a9c95?.['remoteId'])_0x344284['id']=_0x4a9c95[_0x3a0e27(0x1e1)];if(_0x4a9c95?.[_0x3a0e27(0x1d1)]!=null)_0x344284['version']=_0x4a9c95[_0x3a0e27(0x1d1)];if(_0x4e16ca)_0x344284[_0x3a0e27(0x1ff)]=_0x4e16ca;if(_0x223574[_0x3a0e27(0x208)]===_0x3a0e27(0x202)){const _0x1b4c25=_0x223574['alias'];if(!_0x1b4c25||!_0x223574[_0x3a0e27(0x1e5)]||!_0x223574['functionNode'])throw CliErrors[_0x3a0e27(0x203)]('Incomplete\x20HOOK\x20path:\x20'+_0x223574[_0x3a0e27(0x1d8)]);const _0x958ad7=_0x20470e[_0x3a0e27(0x1c9)][_0x3a0e27(0x20c)](_0x1b4c25)??_0x4a9c95?.[_0x3a0e27(0x1cc)]??_0x1b4c25,_0x3166d7=_0x20470e['datasetCodeToDataset'][_0x3a0e27(0x20c)](_0x958ad7);if(!_0x3166d7)throw CliErrors[_0x3a0e27(0x203)](_0x3a0e27(0x1f0)+_0x1b4c25+'\x22.\x20'+(_0x3a0e27(0x1ec)+CLI_BIN_NAME+_0x3a0e27(0x211)));assertDatasetSupportsLocalDevelopment(_0x3166d7,'BFF\x20HOOK\x20'+_0x223574[_0x3a0e27(0x1d8)]),_0x344284['datasetId']=_0x3166d7['id'],_0x344284['operationType']=_0x223574[_0x3a0e27(0x1e5)],_0x344284[_0x3a0e27(0x1e9)]=_0x223574[_0x3a0e27(0x1e9)];}const _0x304035=await saveBffScript(_0x344284),_0x207672=_0x304035['id'],_0xab20f1=_0x304035[_0x3a0e27(0x1cb)]??await getBffScriptInfo(_0x207672),_0x591e4f={'hash':_0x5b0adb,'remoteId':_0x207672,'version':_0xab20f1[_0x3a0e27(0x1d1)]};if(_0x223574[_0x3a0e27(0x208)]===_0x3a0e27(0x202)){const _0x129561=_0x223574[_0x3a0e27(0x1db)],_0x5b0b39=_0x20470e['aliasToDatasetCode']['get'](_0x129561)??_0x4a9c95?.[_0x3a0e27(0x1cc)]??_0x129561;_0x20470e[_0x3a0e27(0x1c9)][_0x3a0e27(0x1c6)](_0x129561)?_0x591e4f[_0x3a0e27(0x1db)]=_0x129561:_0x591e4f['alias']=_0x4a9c95?.[_0x3a0e27(0x1db)],_0x591e4f[_0x3a0e27(0x1cc)]=_0x5b0b39,_0x591e4f['operationType']=_0x223574[_0x3a0e27(0x1e5)],_0x591e4f[_0x3a0e27(0x1e9)]=_0x223574[_0x3a0e27(0x1e9)];}_0x1bf5e8['functions'][_0x223574[_0x3a0e27(0x1d8)]]=_0x591e4f;}function a32_0x2d2f(){const _0x543182=['description','Push\x20only\x20the\x20named\x20function\x20(requires\x20--type)','push','HOOK','validation','runtime\x20cache\x20cleared','104uxpxJN','name','Would\x20inspect\x20','type','6058MXUnBk','ENDPOINT','/api/management/library/scripts/save','get','every','high-risk-write','1879425eAKoOt','stringify','\x20api\x20pull`\x20to\x20refresh\x20api.ts,\x20or\x20verify\x20the\x20dataset\x20exists.','attempted','map','29208wutzqh','Push\x20local\x20BFF\x20scripts\x20to\x20remote','filter','has','--name\x20requires\x20--type\x20to\x20identify\x20the\x20function.','would_push','aliasToDatasetCode','utf8','script','datasetCode','filePath','lockFilePath','update','some','version','string','Local\x20function\x20not\x20found:\x20','create','force','\x20uploaded,\x20','boolean','lockKey','102NNeWTy','runtime\x20cache\x20clear\x20failed','alias','\x22\x20not\x20found\x20after\x20ensureLockScope.','lastSync','COMMON','bff','Push\x20complete:\x20','remoteId','Lock\x20file\x20not\x20settled\x20after\x20push\x20for\x20','8RhdZlK','status','operationType','parse','157199qbuHty','hash','functionNode','set','appCode','Run\x20`','20rLkgXz','Force\x20push\x20ignoring\x20hash\x20protection','375557nyQDLu','Cannot\x20resolve\x20dataset\x20for\x20\x22','cleared','\x20local\x20BFF\x20script(s)\x20for\x20push\x20and\x20clear\x20runtime\x20cache\x20if\x20files\x20are\x20uploaded','scriptsRoot','join','4000ofpHko','apps','Runtime\x20script\x20cache\x20cleared.','4xprICT','unchanged','1972365lcwfQt','functions','length','7195969kKizPq','str'];a32_0x2d2f=function(){return _0x543182;};return a32_0x2d2f();}function a32_0x12e4(_0x388935,_0x5bf860){_0x388935=_0x388935-0x1c4;const _0x2d2fa0=a32_0x2d2f();let _0x12e4a1=_0x2d2fa0[_0x388935];return _0x12e4a1;}const LOCK_SETTLE_RETRY_COUNT=0x14,LOCK_SETTLE_DELAY_MS=0x64;async function waitForUploadedLockEntries(_0x3265de,_0x1cd854,_0x20b623){const _0x43bdd7=a32_0x38bcb4;if(_0x20b623[_0x43bdd7(0x1fc)]===0x0)return;for(let _0x11c34f=0x0;_0x11c34f<LOCK_SETTLE_RETRY_COUNT;_0x11c34f+=0x1){const _0x15bc6f=await readBffLockFile(_0x3265de),_0x46a697=_0x15bc6f?.[_0x43bdd7(0x1f6)]?.[_0x1cd854]?.[_0x43bdd7(0x1fb)]??{},_0x6cc31d=_0x20b623[_0x43bdd7(0x20d)](_0x26796a=>!!_0x46a697[_0x26796a]?.[_0x43bdd7(0x1e1)]);if(_0x6cc31d)return;await sleep(LOCK_SETTLE_DELAY_MS);}throw new Error(_0x43bdd7(0x1e2)+_0x20b623[_0x43bdd7(0x1f4)](',\x20')+'.');}
|