@lovrabet/rabetbase-cli 2.2.2 → 2.2.3-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/api/api-doc.js +1 -1
- package/lib/api/fetch-model-list.js +1 -1
- package/lib/api/generate-api-file.js +1 -1
- package/lib/auth/auth-server-ui.js +1 -1
- package/lib/auth/auth-server.js +1 -1
- package/lib/auth/constant.js +1 -1
- package/lib/auth/get-cookie.js +1 -1
- package/lib/auth/get-session-user.js +1 -1
- package/lib/auth/is-session-valid.js +1 -1
- package/lib/auth/login-success-html.js +1 -1
- package/lib/auth/logout.js +1 -1
- package/lib/cli-flags.js +1 -1
- package/lib/cli.js +1 -1
- package/lib/commands/api/generate.js +1 -1
- package/lib/commands/api/index.js +1 -1
- package/lib/commands/api/list.js +1 -1
- package/lib/commands/api/pull.js +1 -1
- package/lib/commands/api/shared.js +1 -1
- package/lib/commands/app/add.js +1 -1
- package/lib/commands/app/discover.js +1 -1
- package/lib/commands/app/index.js +1 -1
- package/lib/commands/app/list.js +1 -1
- package/lib/commands/app/remove.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app/use.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/bff/create.js +1 -1
- package/lib/commands/bff/delete.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/bff/list.js +1 -1
- package/lib/commands/bff/pull.js +1 -1
- package/lib/commands/bff/push.js +1 -1
- package/lib/commands/bff/status.js +1 -1
- package/lib/commands/cli-update.js +1 -1
- package/lib/commands/codegen/index.js +1 -1
- package/lib/commands/codegen/sdk.js +1 -1
- package/lib/commands/codegen/sql.js +1 -1
- package/lib/commands/common/app-selector.js +1 -1
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/common/validate.js +1 -1
- package/lib/commands/config/get.js +1 -1
- package/lib/commands/config/index.js +1 -1
- package/lib/commands/config/list.js +1 -1
- package/lib/commands/config/set.js +1 -1
- package/lib/commands/config/shared.js +1 -1
- package/lib/commands/data/filter.js +1 -1
- package/lib/commands/data/getOne.js +1 -1
- package/lib/commands/data/index.js +1 -1
- package/lib/commands/data/shared.js +1 -1
- package/lib/commands/dataset/capability.js +1 -1
- package/lib/commands/dataset/delete.js +1 -1
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/extend-update.js +1 -1
- package/lib/commands/dataset/field-update.js +1 -1
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/operations.js +1 -1
- package/lib/commands/dataset/relation-create.js +1 -1
- package/lib/commands/dataset/relation-delete.js +1 -1
- package/lib/commands/dataset/relation-shared.js +1 -1
- package/lib/commands/dataset/relation-update.js +1 -1
- package/lib/commands/dataset/relations.js +1 -1
- package/lib/commands/dataset/rename.js +1 -1
- package/lib/commands/db/analyze-cancel.js +1 -1
- package/lib/commands/db/analyze-start.js +1 -1
- package/lib/commands/db/analyze-status.js +1 -1
- package/lib/commands/db/create.js +1 -1
- package/lib/commands/db/delete.js +1 -1
- package/lib/commands/db/detail.js +1 -1
- package/lib/commands/db/diff.js +1 -1
- package/lib/commands/db/index.js +1 -1
- package/lib/commands/db/list.js +1 -1
- package/lib/commands/db/shared.js +1 -1
- package/lib/commands/db/tables.js +1 -1
- package/lib/commands/db/test.js +1 -1
- package/lib/commands/db/update.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/init/index.js +1 -1
- package/lib/commands/issue/index.js +1 -1
- package/lib/commands/issue/nudge.js +1 -1
- package/lib/commands/issue/report.js +1 -1
- package/lib/commands/issue/shared.js +1 -1
- package/lib/commands/logs/index.js +1 -1
- package/lib/commands/menu/index.js +1 -1
- package/lib/commands/menu/list.js +1 -0
- package/lib/commands/menu/shared/compare-table.js +1 -1
- package/lib/commands/menu/shared/index.js +1 -1
- package/lib/commands/menu/shared/inquirer.js +1 -1
- package/lib/commands/menu/shared/local-pages.js +1 -1
- package/lib/commands/menu/shared/logic.js +1 -1
- package/lib/commands/menu/shared/service.js +1 -1
- package/lib/commands/menu/shared/sync-core.js +1 -1
- package/lib/commands/menu/shared/update-core.js +1 -1
- package/lib/commands/menu/shared/valid-url.js +1 -1
- package/lib/commands/menu/sync.js +1 -1
- package/lib/commands/menu/update.js +1 -1
- package/lib/commands/page/generate-start.js +1 -1
- package/lib/commands/page/generate-status.js +1 -1
- package/lib/commands/page/index.js +1 -1
- package/lib/commands/page/pull.js +1 -1
- package/lib/commands/page/push.js +1 -1
- package/lib/commands/page/relation-audit.js +1 -1
- package/lib/commands/page/shared.js +1 -1
- package/lib/commands/page/standard-page-status.js +1 -1
- package/lib/commands/page/sync.js +1 -1
- package/lib/commands/project/create/enhanced-guided-create.js +1 -1
- package/lib/commands/project/create/format-elapsed.js +1 -1
- package/lib/commands/project/create/main.js +1 -1
- package/lib/commands/project/create/non-interactive.js +1 -1
- package/lib/commands/project/create/project-template-path.js +1 -1
- package/lib/commands/project/create/use-copy-project-template.js +1 -1
- package/lib/commands/project/create/use-format-code.js +1 -1
- package/lib/commands/project/create/use-install-dependencies.js +1 -1
- package/lib/commands/project/index.js +1 -1
- package/lib/commands/project/init.js +1 -1
- package/lib/commands/project/upgrade.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/run/index.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/skill/index.js +1 -1
- package/lib/commands/sql/create.js +1 -1
- package/lib/commands/sql/delete.js +1 -1
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/sql/list.js +1 -1
- package/lib/commands/sql/pull.js +1 -1
- package/lib/commands/sql/push.js +1 -1
- package/lib/commands/sql/save.js +1 -1
- package/lib/commands/sql/shared.js +1 -1
- package/lib/commands/sql/status.js +1 -1
- package/lib/commands/sql/validate.js +1 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/cdn.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/paths.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/context.js +1 -1
- package/lib/core/alias-resolver.js +1 -1
- package/lib/core/api-client.js +1 -1
- package/lib/core/bff/config.js +1 -1
- package/lib/core/bff/file-system.js +1 -1
- package/lib/core/bff/hash.js +1 -1
- package/lib/core/bff/lock.js +1 -1
- package/lib/core/bff/utils.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/page/file-system.js +1 -1
- package/lib/core/page/hash.js +1 -1
- package/lib/core/page/lock.js +1 -1
- package/lib/core/sql-sync/config.js +1 -1
- package/lib/core/sql-sync/file-system.js +1 -1
- package/lib/core/sql-sync/hash.js +1 -1
- package/lib/core/sql-sync/lock.js +1 -1
- package/lib/core/sql-sync/utils.js +1 -1
- package/lib/core/sql-validator.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/flags.js +1 -1
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-alias.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.js +1 -1
- package/lib/help.js +1 -1
- package/lib/skills/main.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/telemetry/cli-command-trace.js +1 -1
- package/lib/telemetry/cli-help-trace.js +1 -1
- package/lib/telemetry/ensure-cli-otel-config.js +1 -1
- package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
- package/lib/telemetry/send-cli-trace-log.js +1 -1
- package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
- package/lib/utils/ai_config.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/cdn-config.js +1 -1
- package/lib/utils/check-sdk-version.js +1 -1
- package/lib/utils/cli-version-check.js +1 -1
- package/lib/utils/cli-version-policy.js +1 -1
- package/lib/utils/config.js +1 -1
- package/lib/utils/copy-directory.js +1 -1
- package/lib/utils/entity-with-id.js +1 -1
- package/lib/utils/file-utils.js +1 -1
- package/lib/utils/guides-cdn.js +1 -1
- package/lib/utils/http-client.js +1 -1
- package/lib/utils/is-non-interactive.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/platform.js +1 -1
- package/lib/utils/rules-cdn.js +1 -1
- package/lib/utils/sleep.js +1 -1
- package/lib/utils/template-replacer.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/with-active-cookie.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a19_0x345931=a19_0x5d72;function a19_0x5d72(_0x383901,_0x11a2ef){_0x383901=_0x383901-0x6b;const _0x5a9fc4=a19_0x5a9f();let _0x5d72e5=_0x5a9fc4[_0x383901];return _0x5d72e5;}function a19_0x5a9f(){const _0x1babe1=['12jRdblR','1802133IqJBer','164gWUXqf','../../core/api-client.js','app','3823239gKZtCz','appDesc','21180252szrVyx','appCode','14523360rmpHMd','380zfmROx','9228syevCj','platform','22WtAPnv','cookie','9754866LmbXJY','16Fcmqkm','13223qUwUZs','List\x20apps\x20available\x20on\x20the\x20platform\x20for\x20the\x20current\x20login'];a19_0x5a9f=function(){return _0x1babe1;};return a19_0x5a9f();}(function(_0x484e16,_0x490862){const _0x2a2cd7=a19_0x5d72,_0x406655=_0x484e16();while(!![]){try{const _0x9819af=parseInt(_0x2a2cd7(0x7c))/0x1*(parseInt(_0x2a2cd7(0x6d))/0x2)+-parseInt(_0x2a2cd7(0x6c))/0x3*(-parseInt(_0x2a2cd7(0x6b))/0x4)+parseInt(_0x2a2cd7(0x75))/0x5*(parseInt(_0x2a2cd7(0x76))/0x6)+parseInt(_0x2a2cd7(0x70))/0x7*(-parseInt(_0x2a2cd7(0x7b))/0x8)+parseInt(_0x2a2cd7(0x7a))/0x9+parseInt(_0x2a2cd7(0x74))/0xa+parseInt(_0x2a2cd7(0x78))/0xb*(-parseInt(_0x2a2cd7(0x72))/0xc);if(_0x9819af===_0x490862)break;else _0x406655['push'](_0x406655['shift']());}catch(_0x245a90){_0x406655['push'](_0x406655['shift']());}}}(a19_0x5a9f,0xdfe81));import{listRemoteApps}from'../../core/api-client.js';async function execute(_0x486698){const _0x5c47ca=a19_0x5d72,{setActiveCookie:_0x2bb368}=await import(_0x5c47ca(0x6e));_0x2bb368(_0x486698[_0x5c47ca(0x79)]);const _0xf1797=await listRemoteApps();return{'ok':!![],'data':{'items':_0xf1797['map'](_0x275ec4=>({..._0x275ec4['id']!=null?{'id':_0x275ec4['id']}:{},'appCode':_0x275ec4[_0x5c47ca(0x73)],'appName':_0x275ec4['appName'],..._0x275ec4[_0x5c47ca(0x71)]!=null?{'appDesc':_0x275ec4[_0x5c47ca(0x71)]}:{}})),'meta':{'source':_0x5c47ca(0x77)}}};}export const appRemoteDefinition={'service':a19_0x345931(0x6f),'command':'remote','description':a19_0x345931(0x7d),'risk':'read','requiresAuth':!![],'requiresAppCode':![],'flags':[],'execute':execute};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a20_0x934a(){const _0x4a8b08=['6585395UwibqL','4314258MGroBr','871961cmQOqx','4931127NcXjJj','29599507iWbgbf','2411084OpzQeL','780276KBWYRU'];a20_0x934a=function(){return _0x4a8b08;};return a20_0x934a();}(function(_0x1b552a,_0x361a96){const _0x310867=a20_0x4d3c,_0x43d257=_0x1b552a();while(!![]){try{const _0x35da90=-parseInt(_0x310867(0xf0))/0x1+-parseInt(_0x310867(0xf3))/0x2+-parseInt(_0x310867(0xf1))/0x3+-parseInt(_0x310867(0xf4))/0x4+parseInt(_0x310867(0xf5))/0x5+-parseInt(_0x310867(0xef))/0x6+parseInt(_0x310867(0xf2))/0x7;if(_0x35da90===_0x361a96)break;else _0x43d257['push'](_0x43d257['shift']());}catch(_0x2d3164){_0x43d257['push'](_0x43d257['shift']());}}}(a20_0x934a,0xde3b0));import{appListDefinition}from'../../commands/app/list.js';import{appRemoteDefinition}from'../../commands/app/discover.js';import{appUseDefinition}from'../../commands/app/use.js';import{appAddDefinition}from'../../commands/app/add.js';import{appRemoveDefinition}from'../../commands/app/remove.js';function a20_0x4d3c(_0xca2b13,_0x2dc4ab){_0xca2b13=_0xca2b13-0xef;const _0x934ad8=a20_0x934a();let _0x4d3c8c=_0x934ad8[_0xca2b13];return _0x4d3c8c;}export const appDefinitions=[appListDefinition,appRemoteDefinition,appUseDefinition,appAddDefinition,appRemoveDefinition];
|
package/lib/commands/app/list.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a21_0x9bf46d=a21_0x1778;function a21_0x57fe(){const _0x24d9ab=['28378xkwfqT','22020sDoxMX','No\x20apps\x20configured','isCurrent','object','2hsrbbI','globalPath','\x20config','project','globalConfig','109150ACvPUt','length','9ptJYui','entries','mergedCli','global','appcode','app','88578IwgzfJ','330FeMlzz','598800YWsXDH','351920LBZDdj','apps','Show\x20only\x20apps\x20from\x20global\x20~/.rabetbase.json','push','bool','.\x20Use\x20`','inherit','read','projectPath','81071pfwvUU','merged','defaultApp','projectConfig'];a21_0x57fe=function(){return _0x24d9ab;};return a21_0x57fe();}(function(_0xe52374,_0x1f512c){const _0x4b8542=a21_0x1778,_0x229643=_0xe52374();while(!![]){try{const _0x1977e6=-parseInt(_0x4b8542(0xa5))/0x1*(-parseInt(_0x4b8542(0xae))/0x2)+parseInt(_0x4b8542(0xbb))/0x3+-parseInt(_0x4b8542(0xbd))/0x4+-parseInt(_0x4b8542(0xb3))/0x5+parseInt(_0x4b8542(0xbc))/0x6*(parseInt(_0x4b8542(0xa9))/0x7)+-parseInt(_0x4b8542(0xbe))/0x8+parseInt(_0x4b8542(0xb5))/0x9*(-parseInt(_0x4b8542(0xaa))/0xa);if(_0x1977e6===_0x1f512c)break;else _0x229643['push'](_0x229643['shift']());}catch(_0x1cc065){_0x229643['push'](_0x229643['shift']());}}}(a21_0x57fe,0x1c485));import{readRawConfigWithLayers}from'../../context.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{buildAppProfileListFields}from'../../config/schema.js';function a21_0x1778(_0x13f609,_0x31540e){_0x13f609=_0x13f609-0xa3;const _0x57fe11=a21_0x57fe();let _0x177837=_0x57fe11[_0x13f609];return _0x177837;}import{appDefinedIn,enrichAppListItemsWithMergedSelection,resolveDefaultAppSource}from'../../commands/app/shared.js';function buildItemsFromLayer(_0x3327ec,_0xdfcaa2){const _0x4073cf=a21_0x1778,_0x454447=[],_0x2947ae=_0x3327ec[_0x4073cf(0xbf)]&&typeof _0x3327ec[_0x4073cf(0xbf)]===_0x4073cf(0xad)?_0x3327ec['apps']:{},_0x4efe06=_0x3327ec[_0x4073cf(0xa7)]||undefined;for(const [_0x451edc,_0x287054]of Object[_0x4073cf(0xb6)](_0x2947ae)){if(!_0x287054||typeof _0x287054!==_0x4073cf(0xad)||!_0x287054[_0x4073cf(0xb9)])continue;_0x454447[_0x4073cf(0xc1)]({'name':_0x451edc,'appcode':_0x287054['appcode'],'named':!![],'definedIn':_0xdfcaa2,'isDefault':_0x451edc===_0x4efe06,...buildAppProfileListFields(_0x287054)});}return _0x454447;}function buildMergedItems(_0x305f04,_0x4e8940){const _0x35fc25=a21_0x1778,{apps:apps={},defaultApp:_0x1bee46}=_0x305f04,_0x5de663=_0x4e8940[_0x35fc25(0xb2)][_0x35fc25(0xbf)]&&typeof _0x4e8940[_0x35fc25(0xb2)]['apps']===_0x35fc25(0xad)?_0x4e8940[_0x35fc25(0xb2)][_0x35fc25(0xbf)]:{},_0x578a68=_0x4e8940[_0x35fc25(0xa8)][_0x35fc25(0xbf)]&&typeof _0x4e8940[_0x35fc25(0xa8)][_0x35fc25(0xbf)]===_0x35fc25(0xad)?_0x4e8940['projectConfig'][_0x35fc25(0xbf)]:{},_0x5c5426=_0x4e8940[_0x35fc25(0xa8)][_0x35fc25(0xc4)]===![],_0x176068=Object['entries'](apps),_0x1c3de7=_0x176068['map'](([_0x3f7422,_0x4a8468])=>({'name':_0x3f7422,'appcode':_0x4a8468['appcode'],'named':!![],'definedIn':appDefinedIn(_0x3f7422,_0x5de663,_0x578a68,_0x5c5426),'isDefault':_0x3f7422===_0x1bee46,...buildAppProfileListFields(_0x4a8468)}));return _0x1c3de7;}async function execute(_0x355733){const _0x59bbc5=a21_0x1778,_0x40bc94=_0x355733[_0x59bbc5(0xc2)](_0x59bbc5(0xb8)),_0x2cf985=_0x355733[_0x59bbc5(0xc2)](_0x59bbc5(0xb1)),_0xc76c62=_0x40bc94?_0x59bbc5(0xb8):_0x2cf985?'project':_0x59bbc5(0xa6),{config:_0x19251e,layers:_0x392f3b}=readRawConfigWithLayers(),_0x4801f2=resolveDefaultAppSource(_0x392f3b),{defaultApp:_0x4244f7}=_0x19251e;let _0x1acde3,_0x3bf46d;switch(_0xc76c62){case _0x59bbc5(0xb8):_0x1acde3=buildItemsFromLayer(_0x392f3b['globalConfig'],_0x59bbc5(0xb8)),_0x3bf46d=_0x392f3b[_0x59bbc5(0xaf)];break;case'project':_0x1acde3=buildItemsFromLayer(_0x392f3b[_0x59bbc5(0xa8)],'project'),_0x3bf46d=_0x392f3b[_0x59bbc5(0xa4)];break;default:_0x1acde3=buildMergedItems(_0x19251e,_0x392f3b);break;}enrichAppListItemsWithMergedSelection(_0x1acde3,_0x355733[_0x59bbc5(0xb7)]);if(_0x1acde3[_0x59bbc5(0xb4)]===0x0){const _0x4a58f3=_0xc76c62===_0x59bbc5(0xa6)?'':'\x20in\x20'+_0xc76c62+_0x59bbc5(0xb0);return{'ok':!![],'data':[],'message':_0x59bbc5(0xab)+_0x4a58f3+_0x59bbc5(0xc3)+CLI_BIN_NAME+'\x20app\x20add\x20<name>\x20--appcode\x20<code>`\x20to\x20add\x20one.'};}const _0x8598a5=_0x1acde3['find'](_0x298b87=>_0x298b87[_0x59bbc5(0xac)]===!![]),_0xbf2df5=_0x4244f7??_0x8598a5?.['appcode']??null,_0x158ba4=_0xc76c62==='merged'?{'globalPath':_0x392f3b['globalPath']??null,'projectPath':_0x392f3b[_0x59bbc5(0xa4)]??null,'defaultApp':_0xbf2df5,'defaultAppSource':_0x4244f7!=null?_0x4801f2:null}:{'scope':_0xc76c62,'configPath':_0x3bf46d??null};return{'ok':!![],'data':{'items':_0x1acde3,'meta':_0x158ba4}};}export const appListDefinition={'service':a21_0x9bf46d(0xba),'command':'list','description':'List\x20all\x20configured\x20apps','risk':a21_0x9bf46d(0xa3),'requiresAuth':![],'requiresAppCode':![],'flags':[{'name':a21_0x9bf46d(0xb8),'type':'boolean','description':a21_0x9bf46d(0xc0),'default':![]},{'name':a21_0x9bf46d(0xb1),'type':'boolean','description':'Show\x20only\x20apps\x20from\x20project\x20.rabetbase.json','default':![]}],'execute':execute};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
const a22_0x53bace=a22_0x5f30;(function(_0x4def36,_0x83e704){const _0x58366f=a22_0x5f30,_0x24e4ed=_0x4def36();while(!![]){try{const _0x44ed36=parseInt(_0x58366f(0xf4))/0x1*(parseInt(_0x58366f(0x113))/0x2)+parseInt(_0x58366f(0x104))/0x3*(parseInt(_0x58366f(0xf5))/0x4)+parseInt(_0x58366f(0x10f))/0x5*(parseInt(_0x58366f(0xfd))/0x6)+-parseInt(_0x58366f(0xfc))/0x7+parseInt(_0x58366f(0x107))/0x8+-parseInt(_0x58366f(0x100))/0x9*(-parseInt(_0x58366f(0xf6))/0xa)+-parseInt(_0x58366f(0xef))/0xb;if(_0x44ed36===_0x83e704)break;else _0x24e4ed['push'](_0x24e4ed['shift']());}catch(_0x5d4dd3){_0x24e4ed['push'](_0x24e4ed['shift']());}}}(a22_0x263c,0xac19f));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';function a22_0x5f30(_0x47beaa,_0x43d137){_0x47beaa=_0x47beaa-0xef;const _0x263cef=a22_0x263c();let _0x5f304c=_0x263cef[_0x47beaa];return _0x5f304c;}function a22_0x263c(){const _0x305770=['Use\x20global\x20config\x20scope','validation','bool','projectConfig','Usage:\x20','565glPDcM','project','\x20config.','\x20Default\x20app\x20changed\x20to\x20\x22','7186QaJPRv','keys','11561550KKlWJz','trim','global','\x20app\x20remove\x20<name>\x20[--global]','App\x20\x22','84aiuSRK','4DfISSm','40760lExeZq','apps','Removed\x20app\x20\x22','name','defaultApp','object','5837790IVKrFY','29622GkCCwp','\x22\x20not\x20found.','length','1575HRfPtr','remove','Missing\x20app\x20name.','inherit','2497008zuLrFo','both','App\x20profile\x20name\x20to\x20remove','1476944AUvCSY','app','globalConfig'];a22_0x263c=function(){return _0x305770;};return a22_0x263c();}import{readRawConfigWithLayers}from'../../context.js';import{readConfig,writeConfig,scopeLabel,resolveAppScopeForWrite,appDefinedIn}from'../../commands/app/shared.js';async function validateArgs(_0x5e3185){const _0x24fd93=a22_0x5f30,_0x5d20f3=_0x5e3185['args'][0x0]?.[_0x24fd93(0xf0)]();if(!_0x5d20f3)throw CliErrors[_0x24fd93(0x10b)](_0x24fd93(0x102),'Usage:\x20'+CLI_BIN_NAME+_0x24fd93(0xf2));}async function execute(_0x25e1b7){const _0x13afc3=a22_0x5f30,_0xf48d8f=_0x25e1b7['args'][0x0]?.['trim']();if(!_0xf48d8f)throw CliErrors[_0x13afc3(0x10b)](_0x13afc3(0x102),_0x13afc3(0x10e)+CLI_BIN_NAME+_0x13afc3(0xf2));const _0x86604a=_0x25e1b7[_0x13afc3(0x10c)](_0x13afc3(0xf1)),{config:_0x360cbe,layers:_0xfc130f}=readRawConfigWithLayers(),_0xeed9bd=_0x360cbe['apps']??{};if(!_0xeed9bd[_0xf48d8f])throw CliErrors[_0x13afc3(0x10b)](_0x13afc3(0xf3)+_0xf48d8f+'\x22\x20not\x20found.');const _0x37910d=_0xfc130f[_0x13afc3(0x109)]['apps']&&typeof _0xfc130f[_0x13afc3(0x109)][_0x13afc3(0xf7)]===_0x13afc3(0xfb)?_0xfc130f['globalConfig'][_0x13afc3(0xf7)]:{},_0x94a46c=_0xfc130f[_0x13afc3(0x10d)][_0x13afc3(0xf7)]&&typeof _0xfc130f[_0x13afc3(0x10d)][_0x13afc3(0xf7)]===_0x13afc3(0xfb)?_0xfc130f[_0x13afc3(0x10d)][_0x13afc3(0xf7)]:{},_0xe5b512=appDefinedIn(_0xf48d8f,_0x37910d,_0x94a46c,_0xfc130f[_0x13afc3(0x10d)][_0x13afc3(0x103)]===![]),_0x43cb45=resolveAppScopeForWrite(_0xf48d8f,_0x86604a,_0xfc130f),_0x510166={'global':_0x43cb45===_0x13afc3(0xf1)},_0x238369=readConfig(_0x510166),_0x2db289=_0x238369[_0x13afc3(0xf7)];if(!_0x2db289||!_0x2db289[_0xf48d8f])throw CliErrors[_0x13afc3(0x10b)](_0x13afc3(0xf3)+_0xf48d8f+_0x13afc3(0xfe));delete _0x2db289[_0xf48d8f];let _0x2e2025='';if(_0x238369[_0x13afc3(0xfa)]===_0xf48d8f){const _0x172ac1=Object[_0x13afc3(0x114)](_0x2db289);_0x238369['defaultApp']=_0x172ac1[_0x13afc3(0xff)]>0x0?_0x172ac1[0x0]:undefined,_0x238369['defaultApp']?_0x2e2025=_0x13afc3(0x112)+_0x238369[_0x13afc3(0xfa)]+'\x22.':delete _0x238369[_0x13afc3(0xfa)];}Object[_0x13afc3(0x114)](_0x2db289)[_0x13afc3(0xff)]===0x0&&(delete _0x238369[_0x13afc3(0xf7)],delete _0x238369['defaultApp']);writeConfig(_0x238369,_0x510166);const _0x2ea84a=_0xe5b512===_0x13afc3(0x105)?'\x20Note:\x20app\x20\x22'+_0xf48d8f+'\x22\x20still\x20defined\x20in\x20'+(_0x43cb45===_0x13afc3(0x110)?_0x13afc3(0xf1):_0x13afc3(0x110))+_0x13afc3(0x111):'';return{'ok':!![],'message':_0x13afc3(0xf8)+_0xf48d8f+'\x22'+scopeLabel(_0x510166)+'.'+_0x2e2025+_0x2ea84a};}export const appRemoveDefinition={'service':a22_0x53bace(0x108),'command':a22_0x53bace(0x101),'description':'Remove\x20an\x20app\x20from\x20config','risk':'high-risk-write','requiresAuth':![],'requiresAppCode':![],'args':[{'name':a22_0x53bace(0xf9),'description':a22_0x53bace(0x106),'required':!![]}],'flags':[{'name':'global','type':'boolean','description':a22_0x53bace(0x10a),'default':![]}],'validate':validateArgs,'execute':execute};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x744d19,_0x59eac2){const _0xfa3bf0=a23_0x5206,_0x589a9f=_0x744d19();while(!![]){try{const _0x36a2f9=parseInt(_0xfa3bf0(0xfd))/0x1+-parseInt(_0xfa3bf0(0x109))/0x2*(parseInt(_0xfa3bf0(0x106))/0x3)+-parseInt(_0xfa3bf0(0x111))/0x4*(-parseInt(_0xfa3bf0(0xf9))/0x5)+-parseInt(_0xfa3bf0(0xfe))/0x6*(-parseInt(_0xfa3bf0(0xfb))/0x7)+parseInt(_0xfa3bf0(0xfc))/0x8*(-parseInt(_0xfa3bf0(0xfa))/0x9)+parseInt(_0xfa3bf0(0xf7))/0xa+-parseInt(_0xfa3bf0(0x113))/0xb;if(_0x36a2f9===_0x59eac2)break;else _0x589a9f['push'](_0x589a9f['shift']());}catch(_0x3f5558){_0x589a9f['push'](_0x589a9f['shift']());}}}(a23_0x45e6,0x2697a));import{resolveWriteConfigPath,readConfigFile,writeConfigFile}from'../../context.js';export function enrichAppListItemsWithMergedSelection(_0x24b6d6,_0x518631){const _0x252bcf=a23_0x5206;if(!_0x518631)return;const _0xa49c1e=_0x518631[_0x252bcf(0x112)]&&typeof _0x518631[_0x252bcf(0x112)]===_0x252bcf(0x114)?_0x518631[_0x252bcf(0x112)]:{},_0xd94c1=Object[_0x252bcf(0x10d)](_0xa49c1e)[_0x252bcf(0x10f)]>0x0;for(const _0x45db31 of _0x24b6d6){_0x45db31['isCurrent']=![];}const _0x930f3f=_0x518631['appCode']!=null?String(_0x518631[_0x252bcf(0x100)])[_0x252bcf(0x110)]():'';if(_0xd94c1){const _0x2b5609=_0x518631[_0x252bcf(0x10c)]??_0x518631[_0x252bcf(0x103)];if(_0x2b5609)for(const _0x334d1e of _0x24b6d6){_0x334d1e[_0x252bcf(0x10e)]===!![]&&_0x334d1e[_0x252bcf(0x105)]===_0x2b5609&&(_0x334d1e['isCurrent']=!![]);}for(const _0x455cfb of _0x24b6d6){if(_0x455cfb[_0x252bcf(0x10e)]!==![])continue;if(_0x518631[_0x252bcf(0x103)])continue;_0x930f3f&&String(_0x455cfb['appcode']??'')['trim']()===_0x930f3f&&(_0x455cfb['isCurrent']=!![]);}return;}if(!_0x930f3f)return;for(const _0x60abca of _0x24b6d6){String(_0x60abca['appcode']??'')['trim']()===_0x930f3f&&(_0x60abca[_0x252bcf(0x10a)]=!![]);}}export function resolveAppScopeForWrite(_0x49da01,_0x35aabd,_0x1f8ed1){const _0x5987a0=a23_0x5206;if(_0x35aabd)return'global';const _0x1c352f=_0x1f8ed1[_0x5987a0(0x107)][_0x5987a0(0x112)]&&typeof _0x1f8ed1[_0x5987a0(0x107)][_0x5987a0(0x112)]===_0x5987a0(0x114)?_0x1f8ed1[_0x5987a0(0x107)][_0x5987a0(0x112)]:{},_0x2960dc=_0x1f8ed1[_0x5987a0(0x101)][_0x5987a0(0x112)]&&typeof _0x1f8ed1[_0x5987a0(0x101)][_0x5987a0(0x112)]===_0x5987a0(0x114)?_0x1f8ed1[_0x5987a0(0x101)][_0x5987a0(0x112)]:{};if(Object[_0x5987a0(0x116)][_0x5987a0(0x115)][_0x5987a0(0x102)](_0x1c352f,_0x49da01))return'project';if(Object['prototype'][_0x5987a0(0x115)][_0x5987a0(0x102)](_0x2960dc,_0x49da01))return _0x5987a0(0xf8);return _0x5987a0(0x108);}function a23_0x45e6(){const _0x3626d2=['prototype','1467070FRTYAi','global','367445QprkXK','221949dELlBc','12271scpSAQ','32AXlYnP','298590qQKwkj','1050ZEIQJN','\x20(global)','appCode','globalConfig','call','defaultApp','both','name','606039xnFNsM','projectConfig','project','2bVpwTw','isCurrent','inherit','currentApp','keys','named','length','trim','12vAvbPk','apps','5651888aMcuLL','object','hasOwnProperty'];a23_0x45e6=function(){return _0x3626d2;};return a23_0x45e6();}export function appDefinedIn(_0x36de38,_0x19565d,_0x21b4e6,_0x465139){const _0x327c91=a23_0x5206;if(_0x465139)return Object[_0x327c91(0x116)]['hasOwnProperty'][_0x327c91(0x102)](_0x21b4e6,_0x36de38)?_0x327c91(0x108):_0x327c91(0xf8);const _0x484824=Object[_0x327c91(0x116)][_0x327c91(0x115)][_0x327c91(0x102)](_0x19565d,_0x36de38),_0x242743=Object[_0x327c91(0x116)][_0x327c91(0x115)][_0x327c91(0x102)](_0x21b4e6,_0x36de38);if(_0x484824&&_0x242743)return _0x327c91(0x104);if(_0x242743)return _0x327c91(0x108);return'global';}export function resolveDefaultAppSource(_0x54b87d){const _0x3f7d34=a23_0x5206,_0x1aded0=_0x54b87d[_0x3f7d34(0x107)][_0x3f7d34(0x112)]&&typeof _0x54b87d[_0x3f7d34(0x107)][_0x3f7d34(0x112)]===_0x3f7d34(0x114)?_0x54b87d['projectConfig'][_0x3f7d34(0x112)]:{};if(_0x3f7d34(0x103)in _0x54b87d['projectConfig'])return'project';if(Object[_0x3f7d34(0x10d)](_0x1aded0)['length']>0x0)return _0x3f7d34(0x108);if(_0x54b87d['projectConfig'][_0x3f7d34(0x10b)]===![])return null;if(_0x54b87d[_0x3f7d34(0x101)][_0x3f7d34(0x103)])return _0x3f7d34(0xf8);return null;}function a23_0x5206(_0x1df5c3,_0x3f1c04){_0x1df5c3=_0x1df5c3-0xf7;const _0x45e6a2=a23_0x45e6();let _0x52060a=_0x45e6a2[_0x1df5c3];return _0x52060a;}export function getConfigPath(_0x5cc1ad={}){const _0x164bc9=a23_0x5206,_0x3200a6=_0x5cc1ad[_0x164bc9(0xf8)]?_0x164bc9(0xf8):_0x164bc9(0x108);return resolveWriteConfigPath(_0x3200a6);}export function readConfig(_0x49a4ce={}){return readConfigFile(getConfigPath(_0x49a4ce));}export function writeConfig(_0x5b6cbc,_0x5c822a={}){writeConfigFile(getConfigPath(_0x5c822a),_0x5b6cbc);}export function scopeLabel(_0x478b75){const _0x2c5f3c=a23_0x5206;return _0x478b75[_0x2c5f3c(0xf8)]?_0x2c5f3c(0xff):'';}
|
package/lib/commands/app/use.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a24_0x17daff=a24_0x50ea;(function(_0x3ecee6,_0x2734f2){const _0x565a06=a24_0x50ea,_0x4377e9=_0x3ecee6();while(!![]){try{const _0x32978c=-parseInt(_0x565a06(0x1cc))/0x1*(-parseInt(_0x565a06(0x1e5))/0x2)+parseInt(_0x565a06(0x1d8))/0x3*(-parseInt(_0x565a06(0x1e2))/0x4)+parseInt(_0x565a06(0x1ca))/0x5+parseInt(_0x565a06(0x1e8))/0x6*(-parseInt(_0x565a06(0x1c9))/0x7)+parseInt(_0x565a06(0x1e4))/0x8*(parseInt(_0x565a06(0x1c5))/0x9)+-parseInt(_0x565a06(0x1d7))/0xa*(-parseInt(_0x565a06(0x1ed))/0xb)+-parseInt(_0x565a06(0x1ef))/0xc;if(_0x32978c===_0x2734f2)break;else _0x4377e9['push'](_0x4377e9['shift']());}catch(_0x521de5){_0x4377e9['push'](_0x4377e9['shift']());}}}(a24_0x1fb8,0xeec12));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{readRawConfigWithLayers,isInProject}from'../../context.js';import{readConfig,writeConfig,scopeLabel}from'../../commands/app/shared.js';async function validateArgs(_0x54fc16){const _0x37123a=a24_0x50ea,_0x3b5f66=_0x54fc16[_0x37123a(0x1d3)][0x0]?.['trim']();if(!_0x3b5f66)throw CliErrors[_0x37123a(0x1ec)](_0x37123a(0x1d1),_0x37123a(0x1e3)+CLI_BIN_NAME+'\x20app\x20use\x20<name>\x20[--global]');}function a24_0x1fb8(){const _0x3492a9=['validation','22KjqTOx','App\x20\x22','10020240RotFaj','name','2007MyvBBR','Available:\x20','trim','length','167391lVahBz','8706095ukXDDl','boolean','688981JcAGRd','prototype','Switch\x20the\x20default\x20app','\x22\x20not\x20found.','app','Missing\x20app\x20name.','apps','args','\x20app\x20use\x20<name>\x20[--global]','defaultApp','\x22\x20was\x20defined\x20in\x20global\x20config;\x20profile\x20copied\x20into\x20project\x20so\x20the\x20project\x20config\x20self-resolves\x20under\x20the\x20default\x20project-first\x20inherit\x20policy.','610960HEcOHD','57jtzMNs','call','Use\x20`','object','projectPath','keys','write','global','App\x20profile\x20name\x20to\x20activate','Use\x20global\x20config\x20scope','104240VAFrjT','Usage:\x20','55576LsTRxx','2BIsdpX','\x22\x20(appcode:\x20','\x20--appcode\x20<code>`\x20first.','450nYcIBZ','join','globalConfig','bool'];a24_0x1fb8=function(){return _0x3492a9;};return a24_0x1fb8();}function a24_0x50ea(_0x290d90,_0x27c395){_0x290d90=_0x290d90-0x1c5;const _0x1fb82d=a24_0x1fb8();let _0x50eabf=_0x1fb82d[_0x290d90];return _0x50eabf;}async function execute(_0x3d08a0){const _0x45980b=a24_0x50ea,_0x28aa1a=_0x3d08a0[_0x45980b(0x1d3)][0x0]?.[_0x45980b(0x1c7)]();if(!_0x28aa1a)throw CliErrors[_0x45980b(0x1ec)](_0x45980b(0x1d1),_0x45980b(0x1e3)+CLI_BIN_NAME+_0x45980b(0x1d4));const _0x10fd73=_0x3d08a0[_0x45980b(0x1eb)](_0x45980b(0x1df)),{config:_0x3334c1,layers:_0x5da3bf}=readRawConfigWithLayers(),_0x322e95=_0x3334c1[_0x45980b(0x1d2)]??{},_0x34b8a2=_0x5da3bf[_0x45980b(0x1ea)][_0x45980b(0x1d2)]&&typeof _0x5da3bf['globalConfig']['apps']===_0x45980b(0x1db)?_0x5da3bf['globalConfig'][_0x45980b(0x1d2)]:{},_0x5a47a3={..._0x34b8a2,..._0x322e95};if(!_0x5a47a3[_0x28aa1a]){const _0x25ca71=Object[_0x45980b(0x1dd)](_0x5a47a3),_0x2afd93=_0x25ca71[_0x45980b(0x1c8)]===0x0?_0x45980b(0x1da)+CLI_BIN_NAME+'\x20app\x20add\x20'+_0x28aa1a+_0x45980b(0x1e7):_0x45980b(0x1c6)+_0x25ca71[_0x45980b(0x1e9)](',\x20');throw CliErrors[_0x45980b(0x1ec)](_0x45980b(0x1ee)+_0x28aa1a+_0x45980b(0x1cf),_0x2afd93);}let _0x5ec161,_0x48dd08='';if(_0x10fd73)_0x5ec161={'global':!![]};else{const _0xffcaa6=isInProject()&&!!_0x5da3bf[_0x45980b(0x1dc)];_0x5ec161={'global':!_0xffcaa6};}const _0x57b67e=readConfig(_0x5ec161);_0x57b67e[_0x45980b(0x1d5)]=_0x28aa1a;if(!_0x5ec161[_0x45980b(0x1df)]){const _0x2f15a7=_0x57b67e['apps']&&typeof _0x57b67e[_0x45980b(0x1d2)]===_0x45980b(0x1db)?_0x57b67e[_0x45980b(0x1d2)]:{};!Object[_0x45980b(0x1cd)]['hasOwnProperty'][_0x45980b(0x1d9)](_0x2f15a7,_0x28aa1a)&&(_0x57b67e[_0x45980b(0x1d2)]={..._0x2f15a7,[_0x28aa1a]:_0x5a47a3[_0x28aa1a]},_0x48dd08='\x0aNote:\x20\x22'+_0x28aa1a+_0x45980b(0x1d6));}return writeConfig(_0x57b67e,_0x5ec161),{'ok':!![],'message':'Default\x20app\x20set\x20to\x20\x22'+_0x28aa1a+_0x45980b(0x1e6)+_0x5a47a3[_0x28aa1a]['appcode']+')'+scopeLabel(_0x5ec161)+_0x48dd08};}export const appUseDefinition={'service':a24_0x17daff(0x1d0),'command':'use','description':a24_0x17daff(0x1ce),'risk':a24_0x17daff(0x1de),'requiresAuth':![],'requiresAppCode':![],'args':[{'name':a24_0x17daff(0x1f0),'description':a24_0x17daff(0x1e0),'required':!![]}],'flags':[{'name':a24_0x17daff(0x1df),'type':a24_0x17daff(0x1cb),'description':a24_0x17daff(0x1e1),'default':![]}],'validate':validateArgs,'execute':execute};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a25_0x83c2eb=a25_0x4d67;function a25_0x23ba(){const _0xe51602=['12350880RkhhhK','1256754tWDLLm','25Tsyjsa','nonInteractive','auth','Login\x20via\x20browser','2534yRSMMP','212RcGYnv','56uUXYda','Clear\x20login\x20session','login','3133932RsgeBY','880649ajIPVG','1871944bMVAZn','../../auth/auth-server-ui.js','logout','70AQUXvN','log','803671wWtNlW','bool','yes'];a25_0x23ba=function(){return _0xe51602;};return a25_0x23ba();}function a25_0x4d67(_0xc9217e,_0x2372c6){_0xc9217e=_0xc9217e-0x72;const _0x23ba19=a25_0x23ba();let _0x4d67dd=_0x23ba19[_0xc9217e];return _0x4d67dd;}(function(_0x3b805c,_0x3ee318){const _0x5b1bfa=a25_0x4d67,_0x55a41e=_0x3b805c();while(!![]){try{const _0x4514f9=parseInt(_0x5b1bfa(0x7d))/0x1*(parseInt(_0x5b1bfa(0x7e))/0x2)+parseInt(_0x5b1bfa(0x82))/0x3+-parseInt(_0x5b1bfa(0x84))/0x4+parseInt(_0x5b1bfa(0x79))/0x5*(parseInt(_0x5b1bfa(0x78))/0x6)+parseInt(_0x5b1bfa(0x83))/0x7*(parseInt(_0x5b1bfa(0x7f))/0x8)+-parseInt(_0x5b1bfa(0x77))/0x9+parseInt(_0x5b1bfa(0x72))/0xa*(-parseInt(_0x5b1bfa(0x74))/0xb);if(_0x4514f9===_0x3ee318)break;else _0x55a41e['push'](_0x55a41e['shift']());}catch(_0x2de8b3){_0x55a41e['push'](_0x55a41e['shift']());}}}(a25_0x23ba,0xd9273));import{unlinkSync,existsSync}from'node:fs';import{cookieFile}from'../../auth/constant.js';export const authDefinitions=[{'service':a25_0x83c2eb(0x7b),'command':a25_0x83c2eb(0x81),'description':a25_0x83c2eb(0x7c),'risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a25_0x83c2eb(0x76),'type':'boolean','description':'Skip\x20login\x20confirmation\x20and\x20start\x20browser\x20auth\x20immediately','default':![]}],async 'execute'(_0x35dde0){const _0x324ccc=a25_0x83c2eb,{runAuthServer:_0x3e8a03}=await import(_0x324ccc(0x85));return await _0x3e8a03({'autoYes':_0x35dde0[_0x324ccc(0x75)](_0x324ccc(0x76)),'nonInteractive':_0x35dde0[_0x324ccc(0x7a)]}),{'ok':!![]};}},{'service':a25_0x83c2eb(0x7b),'command':a25_0x83c2eb(0x86),'description':a25_0x83c2eb(0x80),'risk':'write','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x17191e){const _0x3ea3a6=a25_0x83c2eb;return existsSync(cookieFile)?(unlinkSync(cookieFile),console[_0x3ea3a6(0x73)]('✓\x20Logged\x20out')):console[_0x3ea3a6(0x73)]('!\x20Not\x20logged\x20in'),{'ok':!![]};}}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a26_0x1dee6e=a26_0x59dd;(function(_0x317d1c,_0x43f1f5){const _0x3dee3d=a26_0x59dd,_0x2739f2=_0x317d1c();while(!![]){try{const _0x183953=-parseInt(_0x3dee3d(0x212))/0x1+-parseInt(_0x3dee3d(0x1f9))/0x2+parseInt(_0x3dee3d(0x22c))/0x3*(parseInt(_0x3dee3d(0x1db))/0x4)+parseInt(_0x3dee3d(0x1f1))/0x5+-parseInt(_0x3dee3d(0x1e2))/0x6*(parseInt(_0x3dee3d(0x219))/0x7)+parseInt(_0x3dee3d(0x1fa))/0x8+parseInt(_0x3dee3d(0x1e5))/0x9;if(_0x183953===_0x43f1f5)break;else _0x2739f2['push'](_0x2739f2['shift']());}catch(_0x3d30d9){_0x2739f2['push'](_0x2739f2['shift']());}}}(a26_0x97b0,0x5d6ec));import{createInterface}from'node:readline';import{mkdir,writeFile}from'node:fs/promises';function a26_0x97b0(){const _0x3625bd=['Dataset\x20code\x20(HOOK\x20only,\x20fallback\x20when\x20alias\x20unavailable)','question','string','alias','close','Available:\x20','No\x20api.ts\x20found.\x20Run\x20`','after','Invalid\x20dataset\x20selection.','datasetCode','Available\x20aliases:\x20','validation','300318QjFyQG','Operation\x20type\x20(HOOK\x20only)','datasetcode','\x0a\x20*\x20[接口路径]\x20POST\x20/api/','function-node','The\x20api.ts\x20may\x20be\x20stale\x20—\x20run\x20`','4cHXqkw','Trigger\x20node\x20(HOOK\x20only)','\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','operation-type','map','Select\x20dataset:','before','59172kkrjPJ','\x20\x20Enter\x20a\x20number\x20between\x201\x20and\x20','Function\x20name\x20(valid\x20JS\x20identifier)','2514843UMVXoK','.js','description','--operation-type\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','UNKNOWN','create','Dataset\x20alias\x20from\x20api.ts\x20(HOOK\x20only,\x20preferred)','Select\x20trigger\x20node:','Invalid\x20function\x20name\x20\x22','Dataset\x20not\x20found\x20for\x20code\x20\x22','stderr','Select\x20operation\x20type:','2506285QLlkPe','HOOK',']\x20(','code','apiDir','(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a','str','utf8','57142UvNsOR','2065088THgnew','ENDPOINT','/**\x0a\x20*\x20ENDPOINT\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','find','scriptsRootDir','\x0a\x20*\x20[接口路径]\x20POST\x20/api/endpoint/{appCode}/{scriptName}\x0a\x20*\x20[当前示例]\x20POST\x20/api/endpoint/','No\x20datasets\x20found\x20for\x20this\x20app.','\x20function:\x20','Script\x20description','length','appCode','trim','--alias\x20or\x20--datasetcode\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','stdin','operationType','entries','write','\x0a\x20*\x20[触发节点]\x20','source','/**\x0a\x20*\x20HOOK\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','TODO:\x20add\x20script\x20description','\x0a\x20*\x20[脚本类型]\x20COMMON\x0a\x20*\x20[本地路径]\x20.rabetbase/bff/COMMON/','Created\x20','\x0a\x20*\x20[脚本名称]\x20','717793TiKlIz','--function-node\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','join','functionNode','type','.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','\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','7zGgvMv','--function-node\x20must\x20be\x20\x27before\x27\x20or\x20\x27after\x27.','includes','nonInteractive','name','COMMON','bff'];a26_0x97b0=function(){return _0x3625bd;};return a26_0x97b0();}import{dirname,join}from'node:path';import{listDatasets,listBffDatasetOperations}from'../../core/api-client.js';function a26_0x59dd(_0x387974,_0x4c8544){_0x387974=_0x387974-0x1d7;const _0x97b007=a26_0x97b0();let _0x59ddea=_0x97b007[_0x387974];return _0x59ddea;}import{loadAliasMap,resolveAlias}from'../../core/alias-resolver.js';import{resolveApiFilePath}from'../../context.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{fileExists}from'../../core/bff/file-system.js';import{isValidBffFunctionName,normalizeHookFunctionNode}from'../../core/bff/utils.js';import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';export const bffCreate={'service':a26_0x1dee6e(0x21f),'command':a26_0x1dee6e(0x1ea),'description':'Scaffold\x20a\x20new\x20BFF\x20function\x20from\x20template','risk':a26_0x1dee6e(0x20a),'flags':[{'name':'type','type':'string','required':!![],'enum':[a26_0x1dee6e(0x21e),a26_0x1dee6e(0x1fb),a26_0x1dee6e(0x1f2)],'description':'Script\x20type'},{'name':a26_0x1dee6e(0x21d),'type':a26_0x1dee6e(0x222),'required':!![],'description':a26_0x1dee6e(0x1e4)},{'name':a26_0x1dee6e(0x1e7),'type':a26_0x1dee6e(0x222),'description':a26_0x1dee6e(0x202)},{'name':'alias','type':a26_0x1dee6e(0x222),'description':a26_0x1dee6e(0x1eb)},{'name':a26_0x1dee6e(0x1d7),'type':a26_0x1dee6e(0x222),'description':a26_0x1dee6e(0x220)},{'name':a26_0x1dee6e(0x1de),'type':a26_0x1dee6e(0x222),'description':a26_0x1dee6e(0x22d)},{'name':'function-node','type':a26_0x1dee6e(0x222),'description':a26_0x1dee6e(0x1dc),'enum':[a26_0x1dee6e(0x1e1),a26_0x1dee6e(0x227)]}],async 'validate'(_0x1b693f){const _0xe64294=a26_0x1dee6e,_0x15dc16=_0x1b693f[_0xe64294(0x1f7)](_0xe64294(0x21d));if(!isValidBffFunctionName(_0x15dc16))throw CliErrors['validation'](_0xe64294(0x1ed)+_0x15dc16+'\x22.\x20Must\x20be\x20a\x20valid\x20JS\x20identifier\x20(e.g.\x20createOrder,\x20beforeFilter).');},async 'execute'(_0x3337bd){const _0x50bc45=a26_0x1dee6e,_0xdfba5f=loadBffProjectConfig(_0x3337bd['appCode']),_0x346aa8=_0x3337bd[_0x50bc45(0x1f7)](_0x50bc45(0x216)),_0x699754=_0x3337bd[_0x50bc45(0x1f7)](_0x50bc45(0x21d)),_0x2db7ca=_0x3337bd[_0x50bc45(0x1f7)]('description')||undefined,_0x2642df=_0x346aa8==='HOOK'?await resolveHookOptions(_0xdfba5f,_0x3337bd):undefined,_0x4c10d7=buildFilePath(_0xdfba5f,_0x346aa8,_0x699754,_0x2642df);if(await fileExists(_0x4c10d7))throw CliErrors[_0x50bc45(0x22b)]('File\x20already\x20exists:\x20'+_0x4c10d7);await mkdir(dirname(_0x4c10d7),{'recursive':!![]});const _0x22ddcc=generateTemplate(_0x346aa8,_0x699754,_0x3337bd[_0x50bc45(0x204)],_0x2db7ca,_0x2642df);await writeFile(_0x4c10d7,_0x22ddcc,_0x50bc45(0x1f8));const _0x3df093={'type':_0x346aa8,'name':_0x699754,'path':_0x4c10d7};if(_0x2db7ca)_0x3df093[_0x50bc45(0x1e7)]=_0x2db7ca;if(_0x2642df){if(_0x2642df[_0x50bc45(0x223)])_0x3df093[_0x50bc45(0x223)]=_0x2642df['alias'];_0x3df093[_0x50bc45(0x229)]=_0x2642df[_0x50bc45(0x229)],_0x3df093[_0x50bc45(0x208)]=_0x2642df[_0x50bc45(0x208)],_0x3df093[_0x50bc45(0x215)]=_0x2642df[_0x50bc45(0x215)];}return{'ok':!![],'data':_0x3df093,'message':_0x50bc45(0x210)+_0x346aa8+_0x50bc45(0x201)+_0x699754};}};async function resolveHookOptions(_0x2c524b,_0x2f4e91){const _0x1c7285=a26_0x1dee6e,_0x566cb0=loadAliasMap(_0x2f4e91[_0x1c7285(0x1f5)],undefined,resolveApiFilePath(_0x2f4e91['apiDir'],_0x2f4e91[_0x1c7285(0x204)])),_0x49f9e9=_0x566cb0[_0x1c7285(0x203)]>0x0;let _0x3a9021,_0xbcd9cf,_0x5c3dba;const _0x4dc243=_0x2f4e91[_0x1c7285(0x1f7)](_0x1c7285(0x223)),_0x4e6050=_0x2f4e91[_0x1c7285(0x1f7)]('datasetcode');if(_0x4dc243){const _0x1d4cd3=resolveAlias(_0x2f4e91['apiDir'],_0x4dc243,undefined,resolveApiFilePath(_0x2f4e91[_0x1c7285(0x1f5)],_0x2f4e91[_0x1c7285(0x204)]));if(!_0x1d4cd3){const _0x2088d6=_0x49f9e9?_0x1c7285(0x22a)+_0x566cb0[_0x1c7285(0x1df)](_0x44d668=>_0x44d668[_0x1c7285(0x223)])['join'](',\x20'):_0x1c7285(0x226)+CLI_BIN_NAME+'\x20api\x20pull`\x20first,\x20or\x20use\x20--datasetcode\x20instead.';throw CliErrors[_0x1c7285(0x22b)]('Alias\x20\x22'+_0x4dc243+'\x22\x20not\x20found.\x20'+_0x2088d6);}_0x3a9021=_0x4dc243,_0xbcd9cf=_0x1d4cd3;}else{if(_0x4e6050){_0xbcd9cf=_0x4e6050;const _0x193862=_0x566cb0[_0x1c7285(0x1fd)](_0x4feba1=>_0x4feba1['datasetCode']===_0x4e6050);_0x3a9021=_0x193862?.['alias'];}else{if(_0x2f4e91['nonInteractive'])throw CliErrors[_0x1c7285(0x22b)](_0x1c7285(0x206));else{if(_0x49f9e9){const _0x480f1e=_0x566cb0[_0x1c7285(0x1df)](_0x81880e=>_0x81880e[_0x1c7285(0x223)]+'\x20('+_0x81880e['tableName']+')'),_0x2acfe4=await promptSelect(_0x1c7285(0x1e0),_0x480f1e),_0x32f3f4=_0x566cb0[_0x2acfe4];if(!_0x32f3f4)throw CliErrors[_0x1c7285(0x22b)](_0x1c7285(0x228));_0x3a9021=_0x32f3f4['alias'],_0xbcd9cf=_0x32f3f4[_0x1c7285(0x229)];}else{const _0x2c6d69=await listDatasets(_0x2f4e91[_0x1c7285(0x204)]);if(_0x2c6d69['length']===0x0)throw CliErrors[_0x1c7285(0x22b)](_0x1c7285(0x200));const _0x2456df=_0x2c6d69['map'](_0x32fc18=>_0x32fc18['name']+'\x20['+(_0x32fc18[_0x1c7285(0x20c)]??_0x1c7285(0x1e9))+_0x1c7285(0x1f3)+_0x32fc18[_0x1c7285(0x1f4)]+')'),_0x5cbe17=await promptSelect(_0x1c7285(0x1e0),_0x2456df),_0x25941c=_0x2c6d69[_0x5cbe17];if(!_0x25941c)throw CliErrors[_0x1c7285(0x22b)](_0x1c7285(0x228));_0xbcd9cf=_0x25941c[_0x1c7285(0x1f4)],_0x3a9021=undefined;}}}}const _0x205902=await listDatasets(_0x2f4e91[_0x1c7285(0x204)]),_0x2591b8=_0x205902[_0x1c7285(0x1fd)](_0x5cb4f6=>_0x5cb4f6[_0x1c7285(0x1f4)]===_0xbcd9cf);if(!_0x2591b8)throw CliErrors[_0x1c7285(0x22b)](_0x1c7285(0x1ee)+_0xbcd9cf+'\x22.\x20'+(_0x3a9021?_0x1c7285(0x1da)+CLI_BIN_NAME+'\x20api\x20pull`\x20to\x20refresh.':''));_0x5c3dba=_0x2591b8['id'];const _0x1c3ba2=_0x3a9021??_0xbcd9cf,_0x37caaf=await listBffDatasetOperations(_0x2f4e91[_0x1c7285(0x204)],_0x5c3dba),_0x466464=_0x37caaf?Object['keys'](_0x37caaf):[];if(_0x466464[_0x1c7285(0x203)]===0x0)throw CliErrors['validation']('No\x20operation\x20types\x20found\x20for\x20dataset\x20'+_0x1c3ba2+'.');let _0x26c053;const _0x3070ae=_0x2f4e91[_0x1c7285(0x1f7)](_0x1c7285(0x1de));if(_0x3070ae){if(!_0x466464[_0x1c7285(0x21b)](_0x3070ae))throw CliErrors[_0x1c7285(0x22b)]('Operation\x20type\x20\x22'+_0x3070ae+'\x22\x20not\x20found\x20for\x20dataset\x20'+_0x1c3ba2+'.\x20'+(_0x1c7285(0x225)+_0x466464[_0x1c7285(0x214)](',\x20')));_0x26c053=_0x3070ae;}else{if(_0x2f4e91[_0x1c7285(0x21c)])throw CliErrors[_0x1c7285(0x22b)](_0x1c7285(0x1e8));const _0x4c0891=await promptSelect(_0x1c7285(0x1f0),_0x466464);_0x26c053=_0x466464[_0x4c0891]??_0x466464[0x0];}let _0x1d9426=normalizeHookFunctionNode(_0x2f4e91[_0x1c7285(0x1f7)]('function-node'));if(!_0x1d9426){if(_0x2f4e91['str'](_0x1c7285(0x1d9)))throw CliErrors[_0x1c7285(0x22b)](_0x1c7285(0x21a));if(_0x2f4e91[_0x1c7285(0x21c)])throw CliErrors[_0x1c7285(0x22b)](_0x1c7285(0x213));const _0x3eb25d=await promptSelect(_0x1c7285(0x1ec),['before',_0x1c7285(0x227)]);_0x1d9426=[_0x1c7285(0x1e1),_0x1c7285(0x227)][_0x3eb25d]??_0x1c7285(0x1e1);}return{'alias':_0x3a9021,'datasetCode':_0xbcd9cf,'datasetId':_0x5c3dba,'operationType':_0x26c053,'functionNode':_0x1d9426};}async function promptSelect(_0x54061c,_0x1ac805){const _0x352cf5=a26_0x1dee6e;if(_0x1ac805[_0x352cf5(0x203)]===0x1)return 0x0;for(const [_0x390d47,_0x508d4d]of _0x1ac805[_0x352cf5(0x209)]()){process[_0x352cf5(0x1ef)]['write']('\x20\x20'+(_0x390d47+0x1)+'.\x20'+_0x508d4d+'\x0a');}const _0x1319f6=createInterface({'input':process[_0x352cf5(0x207)],'output':process[_0x352cf5(0x1ef)]});while(!![]){const _0x50deb1=await new Promise(_0x1d5303=>{const _0x5ac6f7=_0x352cf5;_0x1319f6[_0x5ac6f7(0x221)](_0x54061c+'\x20',_0x1d5303);}),_0xb37311=Number['parseInt'](_0x50deb1[_0x352cf5(0x205)](),0xa);if(Number['isInteger'](_0xb37311)&&_0xb37311>=0x1&&_0xb37311<=_0x1ac805[_0x352cf5(0x203)])return _0x1319f6[_0x352cf5(0x224)](),_0xb37311-0x1;process[_0x352cf5(0x1ef)]['write'](_0x352cf5(0x1e3)+_0x1ac805['length']+'.\x0a');}}function buildFilePath(_0x499f7c,_0x44c85f,_0x17065d,_0x20e1a4){const _0x37fd95=a26_0x1dee6e;if(_0x44c85f===_0x37fd95(0x1f2)){if(!_0x20e1a4)throw CliErrors[_0x37fd95(0x22b)]('HOOK\x20requires\x20alias/operation/node\x20options.');const _0x2af754=_0x20e1a4[_0x37fd95(0x223)]??_0x20e1a4[_0x37fd95(0x229)];return join(_0x499f7c[_0x37fd95(0x1fe)],'HOOK',_0x2af754,_0x20e1a4[_0x37fd95(0x208)],_0x20e1a4[_0x37fd95(0x215)],_0x17065d+_0x37fd95(0x1e6));}return join(_0x499f7c['scriptsRootDir'],_0x44c85f,_0x17065d+_0x37fd95(0x1e6));}export function generateTemplate(_0x5c4e75,_0xba4242,_0x3e621a,_0x31a8e5,_0x83717f){const _0x49584d=a26_0x1dee6e,_0x21a569=_0x31a8e5?.[_0x49584d(0x205)]()||_0x49584d(0x20e);if(_0x5c4e75===_0x49584d(0x21e))return'/**\x0a\x20*\x20COMMON\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20'+_0x21a569+_0x49584d(0x211)+_0xba4242+_0x49584d(0x20f)+_0xba4242+_0x49584d(0x217)+_0xba4242+_0x49584d(0x1f6);if(_0x5c4e75===_0x49584d(0x1fb))return _0x49584d(0x1fc)+_0x21a569+_0x49584d(0x1ff)+_0x3e621a+'/'+_0xba4242+_0x49584d(0x218)+_0xba4242+_0x49584d(0x1f6);if(!_0x83717f)throw CliErrors[_0x49584d(0x22b)]('HOOK\x20requires\x20hookOptions\x20for\x20template\x20generation.');return _0x49584d(0x20d)+_0x21a569+_0x49584d(0x1d8)+_0x3e621a+'/'+_0x83717f[_0x49584d(0x229)]+'/'+_0x83717f[_0x49584d(0x208)]+_0x49584d(0x20b)+_0x83717f[_0x49584d(0x215)]+_0x49584d(0x1dd)+_0xba4242+_0x49584d(0x1f6);}
|
|
1
|
+
const a26_0x16cd6a=a26_0x334a;(function(_0x2c25b4,_0x44dc98){const _0x559f3c=a26_0x334a,_0x1785e2=_0x2c25b4();while(!![]){try{const _0x568bbe=parseInt(_0x559f3c(0x152))/0x1+-parseInt(_0x559f3c(0x120))/0x2*(-parseInt(_0x559f3c(0x130))/0x3)+parseInt(_0x559f3c(0x15e))/0x4+parseInt(_0x559f3c(0x118))/0x5*(parseInt(_0x559f3c(0x150))/0x6)+-parseInt(_0x559f3c(0x121))/0x7+-parseInt(_0x559f3c(0x10b))/0x8+-parseInt(_0x559f3c(0x127))/0x9;if(_0x568bbe===_0x44dc98)break;else _0x1785e2['push'](_0x1785e2['shift']());}catch(_0x24f2e0){_0x1785e2['push'](_0x1785e2['shift']());}}}(a26_0x32e9,0xee044));function a26_0x334a(_0x5ad6d2,_0x4f4b11){_0x5ad6d2=_0x5ad6d2-0x10b;const _0x32e946=a26_0x32e9();let _0x334aea=_0x32e946[_0x5ad6d2];return _0x334aea;}import{createInterface}from'node:readline';import{mkdir,writeFile}from'node:fs/promises';import{dirname,join}from'node:path';import{listDatasets,listBffDatasetOperations}from'../../core/api-client.js';import{loadAliasMap,resolveAlias}from'../../core/alias-resolver.js';import{resolveApiFilePath}from'../../context.js';function a26_0x32e9(){const _0x32468e=['327aoOaNw','\x0a\x20*\x20[触发节点]\x20','trim','appCode','name','HOOK','datasetCode','.js\x0a\x20*\x0a\x20*\x20@param\x20{Object}\x20params\x20-\x20Input\x20parameters.\x0a\x20*\x20@param\x20{Object}\x20context\x20-\x20Execution\x20context\x20(injected\x20by\x20platform).\x0a\x20*\x20@returns\x20{Promise<Object>}\x20Processing\x20result.\x0a\x20*/\x0aexport\x20default\x20async\x20function\x20','Invalid\x20dataset\x20selection.','TODO:\x20add\x20script\x20description','Operation\x20type\x20\x22','\x20function:\x20','functionNode','apiDir','Invalid\x20function\x20name\x20\x22','scriptsRootDir','/**\x0a\x20*\x20HOOK\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','Available\x20aliases:\x20','stderr','alias','\x22\x20not\x20found\x20for\x20dataset\x20','bff','map','nonInteractive','\x0a\x20*\x20[脚本名称]\x20','\x20\x20Enter\x20a\x20number\x20between\x201\x20and\x20','create','after','validation','\x0a\x20*\x0a\x20*\x20@param\x20{Object}\x20params\x20-\x20Request\x20parameters.\x0a\x20*\x20@param\x20{Object}\x20context\x20-\x20Execution\x20context\x20(injected\x20by\x20platform).\x0a\x20*\x20@returns\x20{Promise<Object>}\x20Business\x20result\x20(wrapped\x20in\x20response.data).\x0a\x20*/\x0aexport\x20default\x20async\x20function\x20','\x22.\x20','operation-type','474ZzVSMy','HOOK\x20requires\x20alias/operation/node\x20options.','1153641HicFkH','string','\x0a\x20*\x20[接口路径]\x20POST\x20/api/','/**\x0a\x20*\x20COMMON\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','includes','description','--function-node\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','function-node','source','--operation-type\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','join','Trigger\x20node\x20(HOOK\x20only)','6376408dcOICf','Function\x20name\x20(valid\x20JS\x20identifier)','13729792pfMRrz','\x22.\x20Must\x20be\x20a\x20valid\x20JS\x20identifier\x20(e.g.\x20createOrder,\x20beforeFilter).','parseInt','Available:\x20','COMMON','No\x20operation\x20types\x20found\x20for\x20dataset\x20','code','type','operationType','Created\x20','HOOK\x20requires\x20hookOptions\x20for\x20template\x20generation.','File\x20already\x20exists:\x20','tableName','105940DCLBgN','datasetcode','question','ENDPOINT','(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a','No\x20api.ts\x20found.\x20Run\x20`','length','Select\x20operation\x20type:','24536bYViDg','12147702qDJjMW','Script\x20type','Script\x20description','Dataset\x20alias\x20from\x20api.ts\x20(HOOK\x20only,\x20preferred)','find','The\x20api.ts\x20may\x20be\x20stale\x20—\x20run\x20`','11990529UqlCwZ','str','isInteger','Dataset\x20not\x20found\x20for\x20code\x20\x22','/**\x0a\x20*\x20ENDPOINT\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','write','.js','before','keys'];a26_0x32e9=function(){return _0x32468e;};return a26_0x32e9();}import{loadBffProjectConfig}from'../../core/bff/config.js';import{fileExists}from'../../core/bff/file-system.js';import{isValidBffFunctionName,normalizeHookFunctionNode}from'../../core/bff/utils.js';import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';export const bffCreate={'service':a26_0x16cd6a(0x145),'command':a26_0x16cd6a(0x14a),'description':'Scaffold\x20a\x20new\x20BFF\x20function\x20from\x20template','risk':a26_0x16cd6a(0x12c),'flags':[{'name':a26_0x16cd6a(0x112),'type':a26_0x16cd6a(0x153),'required':!![],'enum':[a26_0x16cd6a(0x10f),a26_0x16cd6a(0x11b),a26_0x16cd6a(0x135)],'description':a26_0x16cd6a(0x122)},{'name':a26_0x16cd6a(0x134),'type':'string','required':!![],'description':a26_0x16cd6a(0x15f)},{'name':a26_0x16cd6a(0x157),'type':a26_0x16cd6a(0x153),'description':a26_0x16cd6a(0x123)},{'name':a26_0x16cd6a(0x143),'type':a26_0x16cd6a(0x153),'description':a26_0x16cd6a(0x124)},{'name':a26_0x16cd6a(0x119),'type':a26_0x16cd6a(0x153),'description':'Dataset\x20code\x20(HOOK\x20only,\x20fallback\x20when\x20alias\x20unavailable)'},{'name':a26_0x16cd6a(0x14f),'type':a26_0x16cd6a(0x153),'description':'Operation\x20type\x20(HOOK\x20only)'},{'name':a26_0x16cd6a(0x159),'type':'string','description':a26_0x16cd6a(0x15d),'enum':[a26_0x16cd6a(0x12e),a26_0x16cd6a(0x14b)]}],async 'validate'(_0x4cf6e0){const _0x3a397c=a26_0x16cd6a,_0x20d66c=_0x4cf6e0['str'](_0x3a397c(0x134));if(!isValidBffFunctionName(_0x20d66c))throw CliErrors[_0x3a397c(0x14c)](_0x3a397c(0x13e)+_0x20d66c+_0x3a397c(0x10c));},async 'execute'(_0x417e1a){const _0x32b79d=a26_0x16cd6a,_0x14bc4b=loadBffProjectConfig(_0x417e1a[_0x32b79d(0x133)]),_0x5c4cc3=_0x417e1a[_0x32b79d(0x128)](_0x32b79d(0x112)),_0x590635=_0x417e1a[_0x32b79d(0x128)](_0x32b79d(0x134)),_0x94fe2e=_0x417e1a[_0x32b79d(0x128)](_0x32b79d(0x157))||undefined,_0x242db0=_0x5c4cc3===_0x32b79d(0x135)?await resolveHookOptions(_0x14bc4b,_0x417e1a):undefined,_0x42ec7a=buildFilePath(_0x14bc4b,_0x5c4cc3,_0x590635,_0x242db0);if(await fileExists(_0x42ec7a))throw CliErrors[_0x32b79d(0x14c)](_0x32b79d(0x116)+_0x42ec7a);await mkdir(dirname(_0x42ec7a),{'recursive':!![]});const _0x9d2d39=generateTemplate(_0x5c4cc3,_0x590635,_0x417e1a['appCode'],_0x94fe2e,_0x242db0);await writeFile(_0x42ec7a,_0x9d2d39,'utf8');const _0x1e7ccb={'type':_0x5c4cc3,'name':_0x590635,'path':_0x42ec7a};if(_0x94fe2e)_0x1e7ccb[_0x32b79d(0x157)]=_0x94fe2e;if(_0x242db0){if(_0x242db0[_0x32b79d(0x143)])_0x1e7ccb[_0x32b79d(0x143)]=_0x242db0[_0x32b79d(0x143)];_0x1e7ccb[_0x32b79d(0x136)]=_0x242db0[_0x32b79d(0x136)],_0x1e7ccb[_0x32b79d(0x113)]=_0x242db0['operationType'],_0x1e7ccb[_0x32b79d(0x13c)]=_0x242db0[_0x32b79d(0x13c)];}return{'ok':!![],'data':_0x1e7ccb,'message':_0x32b79d(0x114)+_0x5c4cc3+_0x32b79d(0x13b)+_0x590635};}};async function resolveHookOptions(_0x402a0c,_0x1a9587){const _0x870dc8=a26_0x16cd6a,_0x1cf90d=loadAliasMap(_0x1a9587[_0x870dc8(0x13d)],undefined,resolveApiFilePath(_0x1a9587[_0x870dc8(0x13d)],_0x1a9587['appCode'])),_0x258593=_0x1cf90d[_0x870dc8(0x11e)]>0x0;let _0x281be6,_0xb4892b,_0x10c192;const _0x2a90d8=_0x1a9587['str'](_0x870dc8(0x143)),_0x26664a=_0x1a9587[_0x870dc8(0x128)]('datasetcode');if(_0x2a90d8){const _0x11806a=resolveAlias(_0x1a9587[_0x870dc8(0x13d)],_0x2a90d8,undefined,resolveApiFilePath(_0x1a9587['apiDir'],_0x1a9587[_0x870dc8(0x133)]));if(!_0x11806a){const _0x4940b7=_0x258593?_0x870dc8(0x141)+_0x1cf90d[_0x870dc8(0x146)](_0x581c86=>_0x581c86[_0x870dc8(0x143)])[_0x870dc8(0x15c)](',\x20'):_0x870dc8(0x11d)+CLI_BIN_NAME+'\x20api\x20pull`\x20first,\x20or\x20use\x20--datasetcode\x20instead.';throw CliErrors[_0x870dc8(0x14c)]('Alias\x20\x22'+_0x2a90d8+'\x22\x20not\x20found.\x20'+_0x4940b7);}_0x281be6=_0x2a90d8,_0xb4892b=_0x11806a;}else{if(_0x26664a){_0xb4892b=_0x26664a;const _0x36de32=_0x1cf90d['find'](_0x360e58=>_0x360e58[_0x870dc8(0x136)]===_0x26664a);_0x281be6=_0x36de32?.[_0x870dc8(0x143)];}else{if(_0x1a9587[_0x870dc8(0x147)])throw CliErrors[_0x870dc8(0x14c)]('--alias\x20or\x20--datasetcode\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.');else{if(_0x258593){const _0x3d13ba=_0x1cf90d['map'](_0x1515c3=>_0x1515c3[_0x870dc8(0x143)]+'\x20('+_0x1515c3[_0x870dc8(0x117)]+')'),_0x2d1d13=await promptSelect('Select\x20dataset:',_0x3d13ba),_0x4e6940=_0x1cf90d[_0x2d1d13];if(!_0x4e6940)throw CliErrors['validation'](_0x870dc8(0x138));_0x281be6=_0x4e6940[_0x870dc8(0x143)],_0xb4892b=_0x4e6940['datasetCode'];}else{const _0x5a3e82=await listDatasets(_0x1a9587[_0x870dc8(0x133)]);if(_0x5a3e82[_0x870dc8(0x11e)]===0x0)throw CliErrors[_0x870dc8(0x14c)]('No\x20datasets\x20found\x20for\x20this\x20app.');const _0x54ffc9=_0x5a3e82[_0x870dc8(0x146)](_0x250e3e=>_0x250e3e['name']+'\x20['+(_0x250e3e[_0x870dc8(0x15a)]??'UNKNOWN')+']\x20('+_0x250e3e[_0x870dc8(0x111)]+')'),_0x3cb4e1=await promptSelect('Select\x20dataset:',_0x54ffc9),_0x44e06b=_0x5a3e82[_0x3cb4e1];if(!_0x44e06b)throw CliErrors['validation'](_0x870dc8(0x138));_0xb4892b=_0x44e06b[_0x870dc8(0x111)],_0x281be6=undefined;}}}}const _0x43a73f=await listDatasets(_0x1a9587[_0x870dc8(0x133)]),_0x5195a5=_0x43a73f[_0x870dc8(0x125)](_0x3b27b7=>_0x3b27b7[_0x870dc8(0x111)]===_0xb4892b);if(!_0x5195a5)throw CliErrors['validation'](_0x870dc8(0x12a)+_0xb4892b+_0x870dc8(0x14e)+(_0x281be6?_0x870dc8(0x126)+CLI_BIN_NAME+'\x20api\x20pull`\x20to\x20refresh.':''));_0x10c192=_0x5195a5['id'];const _0x2a301a=_0x281be6??_0xb4892b,_0x2173df=await listBffDatasetOperations(_0x1a9587[_0x870dc8(0x133)],_0x10c192),_0x39e88b=_0x2173df?Object[_0x870dc8(0x12f)](_0x2173df):[];if(_0x39e88b[_0x870dc8(0x11e)]===0x0)throw CliErrors[_0x870dc8(0x14c)](_0x870dc8(0x110)+_0x2a301a+'.');let _0x53519d;const _0x5c8567=_0x1a9587[_0x870dc8(0x128)]('operation-type');if(_0x5c8567){if(!_0x39e88b[_0x870dc8(0x156)](_0x5c8567))throw CliErrors[_0x870dc8(0x14c)](_0x870dc8(0x13a)+_0x5c8567+_0x870dc8(0x144)+_0x2a301a+'.\x20'+(_0x870dc8(0x10e)+_0x39e88b[_0x870dc8(0x15c)](',\x20')));_0x53519d=_0x5c8567;}else{if(_0x1a9587['nonInteractive'])throw CliErrors[_0x870dc8(0x14c)](_0x870dc8(0x15b));const _0x4edd93=await promptSelect(_0x870dc8(0x11f),_0x39e88b);_0x53519d=_0x39e88b[_0x4edd93]??_0x39e88b[0x0];}let _0x4d73be=normalizeHookFunctionNode(_0x1a9587[_0x870dc8(0x128)](_0x870dc8(0x159)));if(!_0x4d73be){if(_0x1a9587[_0x870dc8(0x128)]('function-node'))throw CliErrors['validation']('--function-node\x20must\x20be\x20\x27before\x27\x20or\x20\x27after\x27.');if(_0x1a9587[_0x870dc8(0x147)])throw CliErrors[_0x870dc8(0x14c)](_0x870dc8(0x158));const _0x256730=await promptSelect('Select\x20trigger\x20node:',[_0x870dc8(0x12e),_0x870dc8(0x14b)]);_0x4d73be=['before','after'][_0x256730]??_0x870dc8(0x12e);}return{'alias':_0x281be6,'datasetCode':_0xb4892b,'datasetId':_0x10c192,'operationType':_0x53519d,'functionNode':_0x4d73be};}async function promptSelect(_0x51aef7,_0x4877a0){const _0x40c74b=a26_0x16cd6a;if(_0x4877a0[_0x40c74b(0x11e)]===0x1)return 0x0;for(const [_0x4dc553,_0x189c08]of _0x4877a0['entries']()){process['stderr'][_0x40c74b(0x12c)]('\x20\x20'+(_0x4dc553+0x1)+'.\x20'+_0x189c08+'\x0a');}const _0x4ed07d=createInterface({'input':process['stdin'],'output':process[_0x40c74b(0x142)]});while(!![]){const _0x3942b1=await new Promise(_0x2e132a=>{const _0x2ee273=_0x40c74b;_0x4ed07d[_0x2ee273(0x11a)](_0x51aef7+'\x20',_0x2e132a);}),_0x1e2210=Number[_0x40c74b(0x10d)](_0x3942b1[_0x40c74b(0x132)](),0xa);if(Number[_0x40c74b(0x129)](_0x1e2210)&&_0x1e2210>=0x1&&_0x1e2210<=_0x4877a0['length'])return _0x4ed07d['close'](),_0x1e2210-0x1;process[_0x40c74b(0x142)][_0x40c74b(0x12c)](_0x40c74b(0x149)+_0x4877a0[_0x40c74b(0x11e)]+'.\x0a');}}function buildFilePath(_0x153fab,_0xf22f7d,_0x144408,_0x509d23){const _0x163a0d=a26_0x16cd6a;if(_0xf22f7d===_0x163a0d(0x135)){if(!_0x509d23)throw CliErrors[_0x163a0d(0x14c)](_0x163a0d(0x151));const _0x5c3729=_0x509d23[_0x163a0d(0x143)]??_0x509d23[_0x163a0d(0x136)];return join(_0x153fab[_0x163a0d(0x13f)],_0x163a0d(0x135),_0x5c3729,_0x509d23['operationType'],_0x509d23[_0x163a0d(0x13c)],_0x144408+_0x163a0d(0x12d));}return join(_0x153fab[_0x163a0d(0x13f)],_0xf22f7d,_0x144408+_0x163a0d(0x12d));}export function generateTemplate(_0x435d14,_0x4e8661,_0x1e7913,_0x5a60bf,_0xbae6cd){const _0x1c7fb4=a26_0x16cd6a,_0x50ea6b=_0x5a60bf?.[_0x1c7fb4(0x132)]()||_0x1c7fb4(0x139);if(_0x435d14===_0x1c7fb4(0x10f))return _0x1c7fb4(0x155)+_0x50ea6b+_0x1c7fb4(0x148)+_0x4e8661+'\x0a\x20*\x20[脚本类型]\x20COMMON\x0a\x20*\x20[本地路径]\x20.rabetbase/bff/COMMON/'+_0x4e8661+_0x1c7fb4(0x137)+_0x4e8661+'(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a';if(_0x435d14===_0x1c7fb4(0x11b))return _0x1c7fb4(0x12b)+_0x50ea6b+'\x0a\x20*\x20[接口路径]\x20POST\x20/api/endpoint/{appCode}/{scriptName}\x0a\x20*\x20[当前示例]\x20POST\x20/api/endpoint/'+_0x1e7913+'/'+_0x4e8661+_0x1c7fb4(0x14d)+_0x4e8661+_0x1c7fb4(0x11c);if(!_0xbae6cd)throw CliErrors[_0x1c7fb4(0x14c)](_0x1c7fb4(0x115));return _0x1c7fb4(0x140)+_0x50ea6b+_0x1c7fb4(0x154)+_0x1e7913+'/'+_0xbae6cd[_0x1c7fb4(0x136)]+'/'+_0xbae6cd[_0x1c7fb4(0x113)]+_0x1c7fb4(0x131)+_0xbae6cd[_0x1c7fb4(0x13c)]+'\x0a\x20*\x0a\x20*\x20@param\x20{Object}\x20params\x20-\x20Current\x20request\x20params\x20or\x20response\x20result.\x0a\x20*\x20@param\x20{Object}\x20context\x20-\x20Execution\x20context\x20(injected\x20by\x20platform).\x0a\x20*\x20@returns\x20{Promise<Object>}\x20Modified\x20params\x20object.\x0a\x20*/\x0aexport\x20default\x20async\x20function\x20'+_0x4e8661+_0x1c7fb4(0x11c);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a27_0x316c87=a27_0x5be7;function a27_0x5be7(_0x34dbc3,_0x2ad639){_0x34dbc3=_0x34dbc3-0x8d;const _0x8eb5f5=a27_0x8eb5();let _0x5be701=_0x8eb5f5[_0x34dbc3];return _0x5be701;}(function(_0x518e43,_0x546353){const _0x235ea4=a27_0x5be7,_0x2fe768=_0x518e43();while(!![]){try{const _0x2a8517=-parseInt(_0x235ea4(0x95))/0x1+parseInt(_0x235ea4(0xac))/0x2+parseInt(_0x235ea4(0x93))/0x3+parseInt(_0x235ea4(0x9a))/0x4*(parseInt(_0x235ea4(0xbc))/0x5)+-parseInt(_0x235ea4(0xa8))/0x6+parseInt(_0x235ea4(0xb7))/0x7*(parseInt(_0x235ea4(0xb2))/0x8)+parseInt(_0x235ea4(0xa2))/0x9*(-parseInt(_0x235ea4(0x8e))/0xa);if(_0x2a8517===_0x546353)break;else _0x2fe768['push'](_0x2fe768['shift']());}catch(_0x4b8572){_0x2fe768['push'](_0x2fe768['shift']());}}}(a27_0x8eb5,0x24c7b));import{mkdir,readdir,rename,rmdir}from'node:fs/promises';function a27_0x8eb5(){const _0x54b598=['Lock\x20scope\x20for\x20app\x20\x22','bff','Multiple\x20functions\x20match\x20\x22','No\x20lock\x20entry\x20found\x20for\x20\x22','7911tUkKeD','appCode','map','Lock\x20key\x20(e.g.\x20ENDPOINT/createOrder)\x20or\x20short\x20function\x20name','find','BFF\x20lock\x20file\x20not\x20found.','1115682pRoQVH','split','Local\x20delete\x20not\x20settled\x20for\x20','stringify','448446AfsHmF','target','keys','BFF\x20lock\x20file\x20not\x20found.\x20Run\x20`push`\x20or\x20`pull`\x20first\x20to\x20initialize\x20sync\x20state.','includes','Delete\x20a\x20BFF\x20script\x20from\x20remote\x20and\x20local','1512tTkqKc','\x22.\x20Use\x20the\x20full\x20lock\x20key:\x0a','remoteId','\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20trash','apps','63CtXHld','Would\x20delete\x20','replace','str','Deleted\x20','9680kmKcMn','validation','POST','lastSync','length','filter','join','\x20\x20-\x20','1510FlZvar','startsWith','delete','<timestamp>','high-risk-write','513081rkcNkS','scriptsRoot','63144KWlWdE','trashedTo','toISOString','functions','Function\x20not\x20found:\x20','280zlWusQ','\x22\x20not\x20found\x20after\x20ensureLockScope.','trashDir','lockFilePath'];a27_0x8eb5=function(){return _0x54b598;};return a27_0x8eb5();}import{dirname,join,relative,resolve,sep}from'node:path';import{deleteBffScript}from'../../core/api-client.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{fileExists,resolveLocalFilePathFromLockKey}from'../../core/bff/file-system.js';import{ensureLockScope,readBffLockFile,writeBffLockFile}from'../../core/bff/lock.js';import{CliErrors}from'../../errors.js';import{sleep}from'../../utils/sleep.js';export const bffDelete={'service':a27_0x316c87(0x9f),'command':a27_0x316c87(0x90),'description':a27_0x316c87(0xb1),'risk':a27_0x316c87(0x92),'flags':[{'name':'target','type':'string','required':!![],'description':a27_0x316c87(0xa5)}],async 'validate'(_0x185537){const _0x11f981=a27_0x316c87,_0x4f71fe=loadBffProjectConfig(_0x185537[_0x11f981(0xa3)]),_0x219491=await readBffLockFile(_0x4f71fe['lockFilePath']);if(!_0x219491)throw CliErrors[_0x11f981(0xbd)](_0x11f981(0xaf));},async 'dryRun'(_0x2b499b){const _0xb6a54a=a27_0x316c87,_0x3ec68c=loadBffProjectConfig(_0x2b499b['appCode']),_0x4677bf=await readBffLockFile(_0x3ec68c[_0xb6a54a(0x9d)]);if(!_0x4677bf)throw CliErrors[_0xb6a54a(0xbd)](_0xb6a54a(0xa7));const {appLock:_0x1c36be}=ensureLockScope(_0x4677bf,_0x2b499b[_0xb6a54a(0xa3)],_0x3ec68c[_0xb6a54a(0x94)],_0xb6a54a(0x90)),_0x124fca=_0x2b499b['str'](_0xb6a54a(0xad)),_0x5ad6c1=Object[_0xb6a54a(0xae)](_0x1c36be[_0xb6a54a(0x98)]),_0x355dcf=resolveDeleteTarget(_0x124fca,_0x5ad6c1),_0x3cbb28=_0x1c36be[_0xb6a54a(0x98)][_0x355dcf];if(!_0x3cbb28)throw CliErrors[_0xb6a54a(0xbd)]('No\x20lock\x20entry\x20found\x20for\x20\x22'+_0x355dcf+'\x22.');const _0x28913c=resolveLocalFilePathFromLockKey(_0x3ec68c,_0x355dcf),_0x3b17e5=relative(_0x3ec68c['projectRoot'],_0x28913c),_0x576276=join(_0x3ec68c[_0xb6a54a(0x9c)],_0xb6a54a(0x91),_0x3b17e5);return{'method':_0xb6a54a(0xbe),'url':'/api/management/library/scripts/delete','body':{'appCode':_0x2b499b[_0xb6a54a(0xa3)],'target':_0x355dcf,'remoteId':_0x3cbb28['remoteId'],'localFilePath':_0x28913c,'trashedPath':_0x576276},'description':_0xb6a54a(0xb8)+_0x355dcf+_0xb6a54a(0xb5)};},async 'execute'(_0x210669){const _0x149a64=a27_0x316c87,_0x4bf61c=loadBffProjectConfig(_0x210669[_0x149a64(0xa3)]),_0x2e4b55=await readBffLockFile(_0x4bf61c['lockFilePath']);if(!_0x2e4b55)throw CliErrors[_0x149a64(0xbd)](_0x149a64(0xa7));const {lockData:_0x6400e0,appLock:_0x30c8f4}=ensureLockScope(_0x2e4b55,_0x210669[_0x149a64(0xa3)],_0x4bf61c[_0x149a64(0x94)],'delete'),_0x1a3345=JSON['parse'](JSON[_0x149a64(0xab)](_0x6400e0)),_0x234bc4=_0x1a3345[_0x149a64(0xb6)][_0x210669['appCode']];if(!_0x234bc4)throw new Error(_0x149a64(0x9e)+_0x210669['appCode']+_0x149a64(0x9b));const _0x10eb06=_0x210669[_0x149a64(0xba)]('target'),_0x127201=Object['keys'](_0x234bc4[_0x149a64(0x98)]),_0x382e62=resolveDeleteTarget(_0x10eb06,_0x127201),_0x3105b1=_0x234bc4[_0x149a64(0x98)][_0x382e62];if(!_0x3105b1)throw CliErrors[_0x149a64(0xbd)](_0x149a64(0xa1)+_0x382e62+'\x22.');await deleteBffScript(_0x3105b1[_0x149a64(0xb4)]),delete _0x234bc4[_0x149a64(0x98)][_0x382e62],_0x234bc4[_0x149a64(0xbf)]=new Date()[_0x149a64(0x97)](),await writeBffLockFile(_0x4bf61c[_0x149a64(0x9d)],_0x1a3345);const _0x20a5ef=resolveLocalFilePathFromLockKey(_0x4bf61c,_0x382e62);let _0x5afb36;await fileExists(_0x20a5ef)&&(_0x5afb36=await moveToTrash(_0x4bf61c['projectRoot'],_0x4bf61c[_0x149a64(0x9c)],_0x20a5ef),await cleanupEmptyDirectories(dirname(_0x20a5ef),_0x4bf61c['scriptsRootDir']));await waitForDeleteSettlement(_0x4bf61c[_0x149a64(0x9d)],_0x210669[_0x149a64(0xa3)],_0x382e62,_0x20a5ef),await sleep(0x96);const _0x5666b6={'deleted':_0x382e62,'remoteId':_0x3105b1[_0x149a64(0xb4)]};if(_0x5afb36)_0x5666b6[_0x149a64(0x96)]=_0x5afb36;return{'ok':!![],'data':_0x5666b6,'message':_0x149a64(0xbb)+_0x382e62+(_0x5afb36?'\x20(local\x20file\x20moved\x20to\x20trash)':'')};}};function resolveDeleteTarget(_0x1b9f48,_0x4b10ad){const _0x17899d=a27_0x316c87;if(_0x1b9f48[_0x17899d(0xb0)]('/')){const _0x4ae521=_0x4b10ad[_0x17899d(0xa6)](_0x33d0a6=>_0x33d0a6===_0x1b9f48);if(!_0x4ae521)throw CliErrors[_0x17899d(0xbd)](_0x17899d(0x99)+_0x1b9f48);return _0x4ae521;}const _0x2b426a=_0x4b10ad[_0x17899d(0xc1)](_0x152d39=>_0x152d39[_0x17899d(0xa9)]('/')['at'](-0x1)===_0x1b9f48);if(_0x2b426a[_0x17899d(0xc0)]===0x0)throw CliErrors[_0x17899d(0xbd)](_0x17899d(0x99)+_0x1b9f48);if(_0x2b426a[_0x17899d(0xc0)]>0x1)throw CliErrors[_0x17899d(0xbd)](_0x17899d(0xa0)+_0x1b9f48+_0x17899d(0xb3)+_0x2b426a[_0x17899d(0xa4)](_0x44ba84=>_0x17899d(0x8d)+_0x44ba84)[_0x17899d(0xc2)]('\x0a'));return _0x2b426a[0x0];}async function moveToTrash(_0x90d561,_0x251f0c,_0x286bc7){const _0x46a3f9=a27_0x316c87,_0x145836=new Date()[_0x46a3f9(0x97)]()[_0x46a3f9(0xb9)](/[:.]/g,'-'),_0x4d23d6=relative(_0x90d561,_0x286bc7),_0x2f1fd5=join(_0x251f0c,_0x145836,_0x4d23d6);return await mkdir(dirname(_0x2f1fd5),{'recursive':!![]}),await rename(_0x286bc7,_0x2f1fd5),_0x2f1fd5;}async function cleanupEmptyDirectories(_0x472d41,_0x398a1e){const _0x198f82=a27_0x316c87;let _0x53b3d3=resolve(_0x472d41);const _0x2aaae1=resolve(_0x398a1e);while(_0x53b3d3[_0x198f82(0x8f)](''+_0x2aaae1+sep)||_0x53b3d3===_0x2aaae1){if(_0x53b3d3===_0x2aaae1)return;try{const _0x4fb1c5=await readdir(_0x53b3d3);if(_0x4fb1c5[_0x198f82(0xc0)]>0x0)return;await rmdir(_0x53b3d3);}catch{return;}_0x53b3d3=dirname(_0x53b3d3);}}const DELETE_SETTLE_RETRY_COUNT=0x14,DELETE_SETTLE_DELAY_MS=0x64;async function waitForDeleteSettlement(_0x845897,_0x54a833,_0x250488,_0x4d5500){const _0x336ffd=a27_0x316c87;for(let _0x5cc095=0x0;_0x5cc095<DELETE_SETTLE_RETRY_COUNT;_0x5cc095+=0x1){const _0x3f9971=await readBffLockFile(_0x845897),_0x591e37=!!_0x3f9971?.[_0x336ffd(0xb6)]?.[_0x54a833]?.[_0x336ffd(0x98)]?.[_0x250488],_0x26474f=await fileExists(_0x4d5500);if(!_0x591e37&&!_0x26474f)return;await sleep(DELETE_SETTLE_DELAY_MS);}throw new Error(_0x336ffd(0xaa)+_0x250488+'.');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a28_0x24b155=a28_0x3e81;function a28_0x21d4(){const _0xbc9fd3=['249036vZvsrZ','detail','1017464ofpdxQ','44210CyemNS','Script\x20ID','number','16065288beQLIi','(none)','10NXOikL','updatedTime','verbose','Get\x20BFF\x20script\x20details\x20by\x20ID','createdTime','boolean','Return\x20full\x20raw\x20script\x20object','90RQuTNX','1024834cfYLzv','description','232337xMEcxo','bff','1362051WRvvva','scriptContent','212WQwDTb','read','num'];a28_0x21d4=function(){return _0xbc9fd3;};return a28_0x21d4();}function a28_0x3e81(_0x15d585,_0x451fdc){_0x15d585=_0x15d585-0x13d;const _0x21d4af=a28_0x21d4();let _0x3e810d=_0x21d4af[_0x15d585];return _0x3e810d;}(function(_0x431234,_0x2368bf){const _0x8a297=a28_0x3e81,_0x3d746b=_0x431234();while(!![]){try{const _0x22fe8c=-parseInt(_0x8a297(0x150))/0x1+-parseInt(_0x8a297(0x147))/0x2+-parseInt(_0x8a297(0x14b))/0x3+parseInt(_0x8a297(0x14d))/0x4*(parseInt(_0x8a297(0x153))/0x5)+parseInt(_0x8a297(0x146))/0x6*(-parseInt(_0x8a297(0x149))/0x7)+-parseInt(_0x8a297(0x152))/0x8+parseInt(_0x8a297(0x13d))/0x9*(parseInt(_0x8a297(0x13f))/0xa);if(_0x22fe8c===_0x2368bf)break;else _0x3d746b['push'](_0x3d746b['shift']());}catch(_0x56c560){_0x3d746b['push'](_0x3d746b['shift']());}}}(a28_0x21d4,0x64dd4));import{getBffScriptInfo}from'../../core/api-client.js';export const bffDetail={'service':a28_0x24b155(0x14a),'command':a28_0x24b155(0x151),'description':a28_0x24b155(0x142),'risk':a28_0x24b155(0x14e),'flags':[{'name':'id','type':a28_0x24b155(0x155),'required':!![],'description':a28_0x24b155(0x154)},{'name':a28_0x24b155(0x141),'type':a28_0x24b155(0x144),'description':a28_0x24b155(0x145)}],async 'execute'(_0x43ac2c){const _0x6091e9=a28_0x24b155,_0x808f8f=await getBffScriptInfo(_0x43ac2c[_0x6091e9(0x14f)]('id')),_0x18ef8d=_0x43ac2c['bool']('verbose');if(_0x18ef8d)return{'ok':!![],'data':_0x808f8f};return{'ok':!![],'data':{'id':_0x808f8f['id'],'appCode':_0x808f8f['appCode'],'scriptType':_0x808f8f['scriptType'],'description':_0x808f8f[_0x6091e9(0x148)]||_0x6091e9(0x13e),'createdTime':_0x808f8f[_0x6091e9(0x143)]??'','updatedTime':_0x808f8f[_0x6091e9(0x140)]??'','scriptContent':_0x808f8f[_0x6091e9(0x14c)]??''}};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x1a0d6d,_0x1efa70){const _0xa177a7=a29_0x1fe4,_0xe8f6ed=_0x1a0d6d();while(!![]){try{const _0x5164fc=-parseInt(_0xa177a7(0x1e8))/0x1+parseInt(_0xa177a7(0x1e9))/0x2*(-parseInt(_0xa177a7(0x1e4))/0x3)+-parseInt(_0xa177a7(0x1e5))/0x4+-parseInt(_0xa177a7(0x1e6))/0x5+-parseInt(_0xa177a7(0x1e2))/0x6+parseInt(_0xa177a7(0x1e3))/0x7*(parseInt(_0xa177a7(0x1e1))/0x8)+-parseInt(_0xa177a7(0x1e7))/0x9*(-parseInt(_0xa177a7(0x1e0))/0xa);if(_0x5164fc===_0x1efa70)break;else _0xe8f6ed['push'](_0xe8f6ed['shift']());}catch(_0x77a4dd){_0xe8f6ed['push'](_0xe8f6ed['shift']());}}}(a29_0x9eee,0xe354a));import{bffList}from'../../commands/bff/list.js';import{bffDetail}from'../../commands/bff/detail.js';import{bffStatus}from'../../commands/bff/status.js';import{bffCreate}from'../../commands/bff/create.js';import{bffPush}from'../../commands/bff/push.js';import{bffPull}from'../../commands/bff/pull.js';import{bffDelete}from'../../commands/bff/delete.js';function a29_0x1fe4(_0x86d05,_0x16e923){_0x86d05=_0x86d05-0x1e0;const _0x9eee9=a29_0x9eee();let _0x1fe46a=_0x9eee9[_0x86d05];return _0x1fe46a;}function a29_0x9eee(){const _0x45cdc3=['2799ewZWsq','5514724QJlomy','3764980GhMDXe','9bmsxio','750148jOmEsW','2102bpYKuj','42390290pYNXHX','8464072tuLqgV','3020904dIiJcN','7ZsfHpG'];a29_0x9eee=function(){return _0x45cdc3;};return a29_0x9eee();}export const bffDefinitions=[bffList,bffDetail,bffStatus,bffCreate,bffPush,bffPull,bffDelete];
|
package/lib/commands/bff/list.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a30_0x480423=a30_0x2f9c;(function(_0x1b77dd,_0xa01d6){const _0x2a0306=a30_0x2f9c,_0x295bb2=_0x1b77dd();while(!![]){try{const _0x24e1e6=-parseInt(_0x2a0306(0x116))/0x1+parseInt(_0x2a0306(0x120))/0x2*(-parseInt(_0x2a0306(0x12c))/0x3)+-parseInt(_0x2a0306(0x123))/0x4*(parseInt(_0x2a0306(0x113))/0x5)+parseInt(_0x2a0306(0x118))/0x6*(-parseInt(_0x2a0306(0x126))/0x7)+-parseInt(_0x2a0306(0x11c))/0x8*(parseInt(_0x2a0306(0x11f))/0x9)+-parseInt(_0x2a0306(0x11b))/0xa+parseInt(_0x2a0306(0x11e))/0xb;if(_0x24e1e6===_0xa01d6)break;else _0x295bb2['push'](_0x295bb2['shift']());}catch(_0xf36c33){_0x295bb2['push'](_0x295bb2['shift']());}}}(a30_0x5511,0xc7bf5));function a30_0x5511(){const _0x50b07f=['7848318FFxUom','COMMON','scriptType','12473530MvSPcA','75736JgdWAI','Script\x20type\x20filter','81079999AjFrDp','693aTEdmi','562322VXRtNU','verbose','str','1138612rNRFnI','description','Return\x20full\x20script\x20objects','7PBVTbX','appCode','List\x20BFF\x20scripts','type','length','No\x20BFF\x20scripts\x20found.','15UwamDW','ENDPOINT','functionName','map','name','20zbyxlU','read','Filter\x20by\x20script\x20name','723962ZMuubg','string'];a30_0x5511=function(){return _0x50b07f;};return a30_0x5511();}function a30_0x2f9c(_0x1cb4df,_0x553b7d){_0x1cb4df=_0x1cb4df-0x112;const _0x551140=a30_0x5511();let _0x2f9c39=_0x551140[_0x1cb4df];return _0x2f9c39;}import{listBffScripts}from'../../core/api-client.js';export const bffList={'service':'bff','command':'list','description':a30_0x480423(0x128),'risk':a30_0x480423(0x114),'flags':[{'name':a30_0x480423(0x129),'type':'string','description':a30_0x480423(0x11d),'default':a30_0x480423(0x12d),'enum':['ENDPOINT',a30_0x480423(0x119)]},{'name':a30_0x480423(0x112),'type':a30_0x480423(0x117),'description':a30_0x480423(0x115)},{'name':a30_0x480423(0x121),'type':'boolean','description':a30_0x480423(0x125)}],async 'execute'(_0x213d48){const _0x20d5de=a30_0x480423,_0x5e4e20=await listBffScripts(_0x213d48[_0x20d5de(0x127)],_0x213d48['str']('type'),{'scriptName':_0x213d48[_0x20d5de(0x122)]('name')||undefined}),_0x5f5659=_0x213d48['bool']('verbose');return{'ok':!![],'data':_0x5f5659?_0x5e4e20:_0x5e4e20[_0x20d5de(0x12f)](_0xc3443a=>({'id':_0xc3443a['id'],'functionName':_0xc3443a[_0x20d5de(0x12e)]??'','description':_0xc3443a[_0x20d5de(0x124)]||'(unnamed)','scriptType':_0xc3443a[_0x20d5de(0x11a)]})),'message':_0x5e4e20[_0x20d5de(0x12a)]===0x0?_0x20d5de(0x12b):undefined};}};
|
package/lib/commands/bff/pull.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a31_0xb5e7c5=a31_0x3e38;(function(_0x2d5ee2,_0x50073b){const _0x499fc3=a31_0x3e38,_0x548a8d=_0x2d5ee2();while(!![]){try{const _0x5e93b4=parseInt(_0x499fc3(0x19b))/0x1+parseInt(_0x499fc3(0x1ab))/0x2*(-parseInt(_0x499fc3(0x196))/0x3)+parseInt(_0x499fc3(0x18d))/0x4*(-parseInt(_0x499fc3(0x186))/0x5)+-parseInt(_0x499fc3(0x16f))/0x6+parseInt(_0x499fc3(0x19f))/0x7+-parseInt(_0x499fc3(0x181))/0x8+parseInt(_0x499fc3(0x1a3))/0x9*(parseInt(_0x499fc3(0x16d))/0xa);if(_0x5e93b4===_0x50073b)break;else _0x548a8d['push'](_0x548a8d['shift']());}catch(_0x344798){_0x548a8d['push'](_0x548a8d['shift']());}}}(a31_0x5d00,0x911f9));function a31_0x5d00(){const _0x1c9f66=['scriptsRoot','length','alias','\x20failed','Force\x20overwrite\x20local\x20unsynced\x20changes','validation','Remote\x20script\x20missing\x20id.','Force\x20pull\x20cancelled.','54915uPkXfT','apps','version','includes','type','895527epVbfU','unresolvable\x20target\x20path','filePath','Lock\x20scope\x20for\x20app\x20\x22','6027609YuqueJ','appCode','functionName','trim','10412154Tdawae','Would\x20inspect\x20','utf8','scriptContent','Remote\x20script\x20missing\x20content.','bff','hash','lockKey','114kuDbZr','bool','map','local\x20unsynced\x20changes','cancelled','Pull\x20complete:\x20','pull','\x20remote\x20BFF\x20script(s)\x20for\x20pull','conflict','force','10oxljDh','parse','1424718vrKUbG','operationType','nonInteractive','functions','datasetCode','Force\x20pull\x20will\x20overwrite\x20local\x20unsynced\x20changes.\x20Continue?\x20[y/N]\x20','would_pull','Pull\x20remote\x20BFF\x20scripts\x20to\x20local','toISOString','lockFilePath','toLowerCase','COMMON','scriptType','hookLocation','push','GET','HOOK','skipped','3426584BZnjeL','No\x20remote\x20BFF\x20scripts\x20found.','stderr','functionNode','\x20skipped,\x20','117295CdEYNc','stdin','message','\x22\x20not\x20found\x20after\x20ensureLockScope.','apiDir','all','str','104iZrWyk'];a31_0x5d00=function(){return _0x1c9f66;};return a31_0x5d00();}import{createInterface}from'node:readline';import{writeFile}from'node:fs/promises';import{listBffScripts,getBffScriptStatistics}from'../../core/api-client.js';import{loadAliasMap}from'../../core/alias-resolver.js';import{resolveApiFilePath}from'../../context.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{createHookLocationMap,ensureParentDirectory,fileExists,normalizeBffType,resolveRemoteScriptTarget}from'../../core/bff/file-system.js';import{computeContentHash,computeFileHash}from'../../core/bff/hash.js';import{createEmptyBffLock,ensureLockScope,readBffLockFile,writeBffLockFile}from'../../core/bff/lock.js';import{CliErrors}from'../../errors.js';export const bffPull={'service':a31_0xb5e7c5(0x1a8),'command':a31_0xb5e7c5(0x1b1),'description':a31_0xb5e7c5(0x176),'risk':'write','flags':[{'name':'type','type':'string','description':'Pull\x20only\x20this\x20script\x20type','enum':[a31_0xb5e7c5(0x17a),'ENDPOINT',a31_0xb5e7c5(0x17f)]},{'name':a31_0xb5e7c5(0x16c),'type':'boolean','description':a31_0xb5e7c5(0x192)}],async 'dryRun'(_0x2a4a7b){const _0x5c7b6f=a31_0xb5e7c5,_0x181ff9=loadBffProjectConfig(_0x2a4a7b[_0x5c7b6f(0x1a0)]),_0x46337f=await readBffLockFile(_0x181ff9['lockFilePath']),{appLock:_0x1339f5}=ensureLockScope(_0x46337f??createEmptyBffLock(),_0x2a4a7b[_0x5c7b6f(0x1a0)],_0x181ff9[_0x5c7b6f(0x18e)],_0x5c7b6f(0x1b1)),_0x331a27=normalizeBffType(_0x2a4a7b['str'](_0x5c7b6f(0x19a)))??undefined,_0x1ee3e5=buildDatasetCodeToAliasMap(_0x2a4a7b['apiDir'],_0x2a4a7b['appCode']),[_0x1ff21c,_0x4db55f]=await Promise[_0x5c7b6f(0x18b)]([listBffScripts(_0x2a4a7b[_0x5c7b6f(0x1a0)],_0x331a27),getBffScriptStatistics(_0x2a4a7b[_0x5c7b6f(0x1a0)])]),_0x19a2bf=createHookLocationMap(_0x4db55f),_0x58b235=[];for(const _0xff6ff7 of _0x1ff21c){const _0x34a5a5=resolveRemoteScriptTarget(_0x181ff9,_0xff6ff7,_0x19a2bf,_0x1339f5[_0x5c7b6f(0x172)],_0x1ee3e5);if(!_0x34a5a5){_0x58b235[_0x5c7b6f(0x17d)]({'scriptType':_0xff6ff7[_0x5c7b6f(0x17b)],'functionName':_0xff6ff7[_0x5c7b6f(0x1a1)]??'','status':_0x5c7b6f(0x180),'reason':_0x5c7b6f(0x19c)});continue;}const _0x3bfeed=_0x1339f5[_0x5c7b6f(0x172)][_0x34a5a5[_0x5c7b6f(0x1aa)]],_0x4b3b1e=_0xff6ff7[_0x5c7b6f(0x1a6)]!=null?computeContentHash(_0xff6ff7[_0x5c7b6f(0x1a6)]):undefined,_0x3ca623=await hasUnsyncedLocalChanges(_0x34a5a5[_0x5c7b6f(0x19d)],_0x3bfeed,_0x4b3b1e);_0x58b235[_0x5c7b6f(0x17d)]({'lockKey':_0x34a5a5[_0x5c7b6f(0x1aa)],'filePath':_0x34a5a5[_0x5c7b6f(0x19d)],'remoteId':_0xff6ff7['id']??null,'status':_0x3ca623?_0x5c7b6f(0x16b):_0x5c7b6f(0x175)});}return{'method':_0x5c7b6f(0x17e),'url':'/api/management/library/scripts/list?appCode='+_0x2a4a7b[_0x5c7b6f(0x1a0)]+(_0x331a27?'&type='+_0x331a27:''),'body':{'appCode':_0x2a4a7b[_0x5c7b6f(0x1a0)],'filterType':_0x331a27??null,'files':_0x58b235},'description':_0x5c7b6f(0x1a4)+_0x58b235['length']+_0x5c7b6f(0x16a)};},async 'execute'(_0x249af3){const _0x4790f5=a31_0xb5e7c5,_0x3ea664=loadBffProjectConfig(_0x249af3[_0x4790f5(0x1a0)]),_0x1344c8=await readBffLockFile(_0x3ea664[_0x4790f5(0x178)]),{lockData:_0x2183d6,appLock:_0x41ce36}=ensureLockScope(_0x1344c8??createEmptyBffLock(),_0x249af3[_0x4790f5(0x1a0)],_0x3ea664[_0x4790f5(0x18e)],_0x4790f5(0x1b1)),_0x259d6d=normalizeBffType(_0x249af3[_0x4790f5(0x18c)]('type'))??undefined;if(_0x249af3[_0x4790f5(0x18c)](_0x4790f5(0x19a))&&!_0x259d6d)throw CliErrors[_0x4790f5(0x193)]('--type\x20must\x20be\x20COMMON,\x20ENDPOINT,\x20or\x20HOOK.');const [_0x3385de,_0x4ad375]=await Promise[_0x4790f5(0x18b)]([listBffScripts(_0x249af3[_0x4790f5(0x1a0)],_0x259d6d),getBffScriptStatistics(_0x249af3[_0x4790f5(0x1a0)])]);if(_0x3385de[_0x4790f5(0x18f)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x4790f5(0x182)};const _0x361be7=_0x249af3[_0x4790f5(0x1ac)](_0x4790f5(0x16c));if(_0x361be7&&!_0x249af3[_0x4790f5(0x171)]){const _0x7f6df8=await confirmForce();if(!_0x7f6df8)throw CliErrors[_0x4790f5(0x1af)](_0x4790f5(0x195));}if(_0x361be7&&_0x249af3[_0x4790f5(0x171)]){}const _0x181a58=buildDatasetCodeToAliasMap(_0x249af3[_0x4790f5(0x18a)],_0x249af3['appCode']),_0x478803=createHookLocationMap(_0x4ad375),_0x1032ed=JSON[_0x4790f5(0x16e)](JSON['stringify'](_0x2183d6)),_0x5c5cf0=_0x249af3['appCode'],_0x30732f=_0x1032ed[_0x4790f5(0x197)][_0x5c5cf0];if(!_0x30732f)throw new Error(_0x4790f5(0x19e)+_0x5c5cf0+_0x4790f5(0x189));const _0x479062=[],_0x197324=[],_0x3c1f69=[];for(const _0x303e7a of _0x3385de){const _0x10c65e=resolveRemoteScriptTarget(_0x3ea664,_0x303e7a,_0x478803,_0x41ce36['functions'],_0x181a58);if(!_0x10c65e){_0x197324['push']({'lockKey':_0x303e7a[_0x4790f5(0x17b)]+'/'+_0x303e7a[_0x4790f5(0x1a1)],'reason':_0x4790f5(0x19c)});continue;}const _0x263f0a=_0x41ce36[_0x4790f5(0x172)][_0x10c65e[_0x4790f5(0x1aa)]];try{if(!_0x303e7a['id'])throw new Error(_0x4790f5(0x194));if(_0x303e7a[_0x4790f5(0x1a6)]==null)throw new Error(_0x4790f5(0x1a7));const _0x4b8bd4=_0x303e7a[_0x4790f5(0x1a6)],_0x5ea1cf=computeContentHash(_0x4b8bd4);if(!_0x361be7){const _0x41d980=await hasUnsyncedLocalChanges(_0x10c65e[_0x4790f5(0x19d)],_0x263f0a,_0x5ea1cf);if(_0x41d980){_0x197324['push']({'lockKey':_0x10c65e['lockKey'],'reason':_0x4790f5(0x1ae)});continue;}}await ensureParentDirectory(_0x10c65e[_0x4790f5(0x19d)]),await writeFile(_0x10c65e[_0x4790f5(0x19d)],_0x4b8bd4,_0x4790f5(0x1a5));const _0x24a6a9={'hash':_0x5ea1cf,'remoteId':_0x303e7a['id'],'version':_0x303e7a[_0x4790f5(0x198)]};_0x10c65e[_0x4790f5(0x19a)]===_0x4790f5(0x17f)&&_0x10c65e[_0x4790f5(0x17c)]&&(_0x24a6a9['alias']=_0x10c65e['hookLocation'][_0x4790f5(0x190)],_0x24a6a9[_0x4790f5(0x173)]=_0x10c65e[_0x4790f5(0x17c)]['datasetCode'],_0x24a6a9[_0x4790f5(0x170)]=_0x10c65e[_0x4790f5(0x17c)]['operationType'],_0x24a6a9[_0x4790f5(0x184)]=_0x10c65e[_0x4790f5(0x17c)]['functionNode']),_0x30732f[_0x4790f5(0x172)][_0x10c65e[_0x4790f5(0x1aa)]]=_0x24a6a9,_0x479062['push']({'lockKey':_0x10c65e[_0x4790f5(0x1aa)],'remoteId':_0x303e7a['id']});}catch(_0x60e0c){_0x3c1f69[_0x4790f5(0x17d)]({'lockKey':_0x10c65e[_0x4790f5(0x1aa)],'error':_0x60e0c instanceof Error?_0x60e0c[_0x4790f5(0x188)]:String(_0x60e0c)});}}return _0x30732f['lastSync']=new Date()[_0x4790f5(0x177)](),await writeBffLockFile(_0x3ea664[_0x4790f5(0x178)],_0x1032ed),{'ok':_0x3c1f69[_0x4790f5(0x18f)]===0x0,'data':{'pulled':_0x479062,'skipped':_0x197324,'failed':_0x3c1f69},'message':_0x4790f5(0x1b0)+_0x479062[_0x4790f5(0x18f)]+'\x20pulled,\x20'+_0x197324[_0x4790f5(0x18f)]+_0x4790f5(0x185)+_0x3c1f69[_0x4790f5(0x18f)]+_0x4790f5(0x191)};}};async function hasUnsyncedLocalChanges(_0x7006af,_0x451f6c,_0x493016){const _0x526a46=a31_0xb5e7c5;if(!await fileExists(_0x7006af))return![];const _0x10354e=await computeFileHash(_0x7006af);if(!_0x451f6c)return _0x493016?_0x10354e!==_0x493016:!![];return _0x10354e!==_0x451f6c[_0x526a46(0x1a9)];}function a31_0x3e38(_0x4e1240,_0x453a70){_0x4e1240=_0x4e1240-0x16a;const _0x5d0061=a31_0x5d00();let _0x3e3817=_0x5d0061[_0x4e1240];return _0x3e3817;}function buildDatasetCodeToAliasMap(_0x4a70a0,_0x22580e){const _0x3f190b=a31_0xb5e7c5,_0x39eac7=loadAliasMap(_0x4a70a0,undefined,resolveApiFilePath(_0x4a70a0,_0x22580e));return new Map(_0x39eac7[_0x3f190b(0x1ad)](_0x1b923a=>[_0x1b923a[_0x3f190b(0x173)],_0x1b923a[_0x3f190b(0x190)]]));}async function confirmForce(){const _0x181d85=a31_0xb5e7c5,_0x2c9e21=createInterface({'input':process[_0x181d85(0x187)],'output':process[_0x181d85(0x183)]}),_0xde11b6=await new Promise(_0x5516fa=>{const _0x45c0a4=_0x181d85;_0x2c9e21['question'](_0x45c0a4(0x174),_0x5516fa);});return _0x2c9e21['close'](),['y','yes'][_0x181d85(0x199)](_0xde11b6[_0x181d85(0x1a2)]()[_0x181d85(0x179)]());}
|
package/lib/commands/bff/push.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a32_0x20d575=a32_0x2777;(function(_0x827cc1,_0x396314){const _0x16dec1=a32_0x2777,_0x11f428=_0x827cc1();while(!![]){try{const _0x3b44a0=parseInt(_0x16dec1(0xbd))/0x1+parseInt(_0x16dec1(0xc2))/0x2+parseInt(_0x16dec1(0xe9))/0x3*(-parseInt(_0x16dec1(0xc4))/0x4)+parseInt(_0x16dec1(0xb8))/0x5+-parseInt(_0x16dec1(0xe1))/0x6*(parseInt(_0x16dec1(0xec))/0x7)+parseInt(_0x16dec1(0xd7))/0x8+-parseInt(_0x16dec1(0xb6))/0x9;if(_0x3b44a0===_0x396314)break;else _0x11f428['push'](_0x11f428['shift']());}catch(_0x2d53e3){_0x11f428['push'](_0x11f428['shift']());}}}(a32_0x2d40,0xde2ae));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';function a32_0x2d40(){const _0x348922=['apps','Push\x20only\x20the\x20named\x20function\x20(requires\x20--type)','map','bff','scriptsRoot','operationType','appCode','boolean','9782576CcUixO','--name\x20requires\x20--type\x20to\x20identify\x20the\x20function.','hash','would_push',':\x20missing\x20remote\x20version.\x20Run\x20`push`\x20after\x20`pull`\x20to\x20sync\x20version\x20info.','high-risk-write','\x22.\x20','code','\x22\x20not\x20found\x20after\x20ensureLockScope.','bool','2083182edNmNN','description','Run\x20`','has','Push\x20only\x20this\x20script\x20type','datasetCodeToDataset','parse','update','1898766gRYHAw','cleared','lockFilePath','21FNcRIa','Cannot\x20resolve\x20dataset\x20for\x20\x22','type','\x20failed,\x20','alias','No\x20local\x20BFF\x20functions\x20found.','script','version','name','lockKey','some','runtime\x20cache\x20cleared','Local\x20function\x20not\x20found:\x20','status','HOOK','Push\x20complete:\x20','Runtime\x20script\x20cache\x20cleared.','get','length','\x20api\x20pull`\x20to\x20refresh\x20api.ts,\x20or\x20verify\x20the\x20dataset\x20exists.','stringify','validation','string','POST','\x20uploaded,\x20','Lock\x20file\x20not\x20settled\x20after\x20push\x20for\x20','3747708jKTrkQ','datasetCode','2425840jwSQUU','str','force','functions','unchanged','845866OwxspN','remoteId','set','COMMON','/api/management/library/scripts/save','894134qodIPj','create','4jawdIB','runtime\x20cache\x20not\x20needed','\x20skipped,\x20','filter','\x20local\x20BFF\x20script(s)\x20for\x20push\x20and\x20clear\x20runtime\x20cache\x20if\x20files\x20are\x20uploaded','push','functionNode','attempted','aliasToDatasetCode','filePath','Push\x20local\x20BFF\x20scripts\x20to\x20remote'];a32_0x2d40=function(){return _0x348922;};return a32_0x2d40();}import{sleep}from'../../utils/sleep.js';import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';const CACHE_CLEAR_ATTEMPTS=0x2,CACHE_CLEAR_INTERVAL_MS=0x12c;export const bffPush={'service':a32_0x20d575(0xd2),'command':'push','description':a32_0x20d575(0xce),'risk':a32_0x20d575(0xdc),'flags':[{'name':a32_0x20d575(0xee),'type':a32_0x20d575(0xb2),'description':a32_0x20d575(0xe5),'enum':[a32_0x20d575(0xc0),'ENDPOINT',a32_0x20d575(0xaa)]},{'name':a32_0x20d575(0xf4),'type':a32_0x20d575(0xb2),'description':a32_0x20d575(0xd0)},{'name':a32_0x20d575(0xba),'type':a32_0x20d575(0xd6),'description':'Force\x20push\x20ignoring\x20hash\x20protection'}],async 'dryRun'(_0x131f3f){const _0x3e064c=a32_0x20d575,_0x3781d6=loadBffProjectConfig(_0x131f3f[_0x3e064c(0xd5)]),_0x11a08a=await readBffLockFile(_0x3781d6[_0x3e064c(0xeb)]),{appLock:_0x1d371d}=ensureLockScope(_0x11a08a??createEmptyBffLock(),_0x131f3f[_0x3e064c(0xd5)],_0x3781d6[_0x3e064c(0xd3)],_0x3e064c(0xc9)),_0x4be56c=await getTargetFunctions(_0x3781d6,_0x131f3f),_0x30f3f7=_0x131f3f[_0x3e064c(0xe0)]('force'),_0x2089d1=[];for(const _0x5697a2 of _0x4be56c){const _0x436c91=await computeFileHash(_0x5697a2[_0x3e064c(0xcd)]),_0x13c5a3=_0x1d371d[_0x3e064c(0xbb)][_0x5697a2[_0x3e064c(0xf5)]],_0x25dcd7=!!_0x13c5a3&&_0x13c5a3[_0x3e064c(0xd9)]===_0x436c91;_0x2089d1['push']({'lockKey':_0x5697a2[_0x3e064c(0xf5)],'filePath':_0x5697a2[_0x3e064c(0xcd)],'remoteId':_0x13c5a3?.[_0x3e064c(0xbe)]??null,'mode':_0x13c5a3?.[_0x3e064c(0xbe)]?_0x3e064c(0xe8):_0x3e064c(0xc3),'status':!_0x30f3f7&&_0x25dcd7?_0x3e064c(0xbc):_0x3e064c(0xda)});}return{'method':_0x3e064c(0xb3),'url':_0x3e064c(0xc1),'body':{'appCode':_0x131f3f[_0x3e064c(0xd5)],'force':_0x30f3f7,'files':_0x2089d1,'cacheClearAtRuntime':_0x2089d1[_0x3e064c(0xa6)](_0x3a4eda=>_0x3a4eda[_0x3e064c(0xa9)]===_0x3e064c(0xda)),'cacheClearAtRuntimeTimes':_0x2089d1[_0x3e064c(0xa6)](_0x52224c=>_0x52224c[_0x3e064c(0xa9)]===_0x3e064c(0xda))?CACHE_CLEAR_ATTEMPTS:0x0},'description':'Would\x20inspect\x20'+_0x2089d1[_0x3e064c(0xae)]+_0x3e064c(0xc8)};},async 'execute'(_0x39837e){const _0x14ab67=a32_0x20d575,_0x248783=loadBffProjectConfig(_0x39837e[_0x14ab67(0xd5)]),_0x4f60ed=await readBffLockFile(_0x248783[_0x14ab67(0xeb)]),{lockData:_0x3329df,appLock:_0x3afd76}=ensureLockScope(_0x4f60ed??createEmptyBffLock(),_0x39837e['appCode'],_0x248783[_0x14ab67(0xd3)],_0x14ab67(0xc9)),_0x1d23f3=await getTargetFunctions(_0x248783,_0x39837e);if(_0x1d23f3['length']===0x0)return{'ok':!![],'data':{'uploaded':[],'skipped':[],'failed':[]},'message':_0x14ab67(0xf1)};const _0x35a5df=_0x39837e[_0x14ab67(0xe0)](_0x14ab67(0xba)),_0x35028b=JSON[_0x14ab67(0xe7)](JSON[_0x14ab67(0xb0)](_0x3329df)),_0x4b6529=_0x35028b[_0x14ab67(0xcf)][_0x39837e['appCode']];if(!_0x4b6529)throw new Error('Lock\x20scope\x20for\x20app\x20\x22'+_0x39837e[_0x14ab67(0xd5)]+_0x14ab67(0xdf));const _0x1fd313=await buildHookMaps(_0x39837e[_0x14ab67(0xd5)],_0x39837e['apiDir'],_0x1d23f3,_0x4b6529),_0x7c341b=[],_0x5ebbe7=[],_0x4de336=[];for(const _0x472271 of _0x1d23f3){const _0x1155a6=await computeFileHash(_0x472271['filePath']),_0x35fb52=_0x4b6529[_0x14ab67(0xbb)][_0x472271[_0x14ab67(0xf5)]];if(!_0x35a5df&&_0x35fb52&&_0x35fb52['hash']===_0x1155a6){_0x5ebbe7[_0x14ab67(0xc9)]({'lockKey':_0x472271[_0x14ab67(0xf5)],'reason':_0x14ab67(0xbc)});continue;}try{await uploadSingleFunction(_0x39837e[_0x14ab67(0xd5)],_0x472271,_0x4b6529,_0x1fd313);const _0x5cd5e8=_0x4b6529[_0x14ab67(0xbb)][_0x472271[_0x14ab67(0xf5)]];_0x7c341b[_0x14ab67(0xc9)]({'lockKey':_0x472271[_0x14ab67(0xf5)],'remoteId':_0x5cd5e8?.[_0x14ab67(0xbe)]??0x0});}catch(_0x58e8c6){_0x4de336[_0x14ab67(0xc9)]({'lockKey':_0x472271['lockKey'],'error':_0x58e8c6 instanceof Error?_0x58e8c6['message']:String(_0x58e8c6)});}}_0x4b6529['lastSync']=new Date()['toISOString'](),await writeBffLockFile(_0x248783[_0x14ab67(0xeb)],_0x35028b),await waitForUploadedLockEntries(_0x248783[_0x14ab67(0xeb)],_0x39837e['appCode'],_0x7c341b[_0x14ab67(0xd1)](_0x59276e=>_0x59276e['lockKey']));let _0x508d96={'attempted':![],'cleared':![]};if(_0x7c341b[_0x14ab67(0xae)]>0x0)try{let _0x657330='';for(let _0xffc9c4=0x0;_0xffc9c4<CACHE_CLEAR_ATTEMPTS;_0xffc9c4+=0x1){_0x657330=await clearBffScriptCache(),_0xffc9c4<CACHE_CLEAR_ATTEMPTS-0x1&&await sleep(CACHE_CLEAR_INTERVAL_MS);}_0x508d96={'attempted':!![],'cleared':!![],'message':_0x657330||_0x14ab67(0xac)};}catch(_0x528acc){_0x508d96={'attempted':!![],'cleared':![],'error':_0x528acc instanceof Error?_0x528acc['message']:String(_0x528acc)};}const _0x3ad6e5=_0x4de336['length']===0x0&&(_0x508d96[_0x14ab67(0xcb)]?_0x508d96[_0x14ab67(0xea)]:!![]),_0x4b1a60=_0x508d96[_0x14ab67(0xcb)]?_0x508d96[_0x14ab67(0xea)]?_0x14ab67(0xa7):'runtime\x20cache\x20clear\x20failed':_0x14ab67(0xc5);return{'ok':_0x3ad6e5,'data':{'uploaded':_0x7c341b,'skipped':_0x5ebbe7,'failed':_0x4de336,'cacheClear':_0x508d96},'message':_0x14ab67(0xab)+_0x7c341b[_0x14ab67(0xae)]+_0x14ab67(0xb4)+_0x5ebbe7['length']+_0x14ab67(0xc6)+_0x4de336[_0x14ab67(0xae)]+_0x14ab67(0xef)+_0x4b1a60};}};async function getTargetFunctions(_0x3a8bc5,_0x544c35){const _0x19355d=a32_0x20d575,_0x215842=_0x544c35[_0x19355d(0xb9)](_0x19355d(0xee)),_0xa859bd=_0x544c35['str'](_0x19355d(0xf4)),_0xb4f7d3=normalizeBffType(_0x215842)??undefined;if(_0xa859bd&&!_0xb4f7d3)throw CliErrors[_0x19355d(0xb1)](_0x19355d(0xd8));const _0x57df21=await scanLocalBffFunctions(_0x3a8bc5,_0xb4f7d3);if(_0xa859bd){const _0x1cdda3=_0x57df21[_0x19355d(0xc7)](_0x5d4ccc=>_0x5d4ccc[_0x19355d(0xf4)]===_0xa859bd);if(_0x1cdda3['length']===0x0)throw CliErrors[_0x19355d(0xb1)](_0x19355d(0xa8)+_0xb4f7d3+'/'+_0xa859bd);return _0x1cdda3;}return _0x57df21;}async function buildHookMaps(_0x28bc91,_0x3d60f4,_0x44c9a7,_0x1be5a9){const _0x52d0f8=a32_0x20d575,_0x4d1a1c=_0x44c9a7[_0x52d0f8(0xa6)](_0x827e8b=>_0x827e8b[_0x52d0f8(0xee)]===_0x52d0f8(0xaa));if(!_0x4d1a1c)return{'aliasToDatasetCode':new Map(),'datasetCodeToDataset':new Map()};const _0x12694b=loadAliasMap(_0x3d60f4,undefined,resolveApiFilePath(_0x3d60f4,_0x28bc91)),_0x5981f3=new Map(_0x12694b[_0x52d0f8(0xd1)](_0xacd65a=>[_0xacd65a['alias'],_0xacd65a[_0x52d0f8(0xb7)]]));for(const _0x1c08fc of Object['values'](_0x1be5a9[_0x52d0f8(0xbb)])){_0x1c08fc[_0x52d0f8(0xf0)]&&_0x1c08fc['datasetCode']&&!_0x5981f3['has'](_0x1c08fc[_0x52d0f8(0xf0)])&&_0x5981f3[_0x52d0f8(0xbf)](_0x1c08fc[_0x52d0f8(0xf0)],_0x1c08fc['datasetCode']);}const _0x21d000=await listDatasets(_0x28bc91),_0xb669b2=new Map(_0x21d000[_0x52d0f8(0xd1)](_0x2de6b8=>[_0x2de6b8[_0x52d0f8(0xde)],_0x2de6b8]));return{'aliasToDatasetCode':_0x5981f3,'datasetCodeToDataset':_0xb669b2};}function a32_0x2777(_0x487f87,_0x512fad){_0x487f87=_0x487f87-0xa6;const _0x2d40a3=a32_0x2d40();let _0x2777b5=_0x2d40a3[_0x487f87];return _0x2777b5;}async function uploadSingleFunction(_0x34db29,_0x3f0fc9,_0x3e3602,_0x10c01c){const _0x17a42d=a32_0x20d575,_0x5e78b4=await readFile(_0x3f0fc9['filePath'],'utf8'),_0x6c5d44=await computeFileHash(_0x3f0fc9['filePath']),_0x3adf03=_0x3e3602[_0x17a42d(0xbb)][_0x3f0fc9[_0x17a42d(0xf5)]];if(_0x3adf03?.[_0x17a42d(0xbe)]&&_0x3adf03[_0x17a42d(0xf3)]==null)throw CliErrors[_0x17a42d(0xb1)](_0x3f0fc9[_0x17a42d(0xf5)]+_0x17a42d(0xdb));let _0x3c2ad2=extractScriptDescription(_0x5e78b4);if(!_0x3c2ad2&&_0x3adf03?.['remoteId']){const _0x496e56=await getBffScriptInfo(_0x3adf03[_0x17a42d(0xbe)]);_0x3c2ad2=_0x496e56['description']||undefined;}const _0x3de87e={'appCode':_0x34db29,'functionName':_0x3f0fc9['name'],'scriptType':_0x3f0fc9[_0x17a42d(0xee)],'scriptContent':_0x5e78b4};if(_0x3adf03?.[_0x17a42d(0xbe)])_0x3de87e['id']=_0x3adf03[_0x17a42d(0xbe)];if(_0x3adf03?.[_0x17a42d(0xf3)]!=null)_0x3de87e[_0x17a42d(0xf3)]=_0x3adf03[_0x17a42d(0xf3)];if(_0x3c2ad2)_0x3de87e[_0x17a42d(0xe2)]=_0x3c2ad2;if(_0x3f0fc9['type']===_0x17a42d(0xaa)){const _0x2c05a9=_0x3f0fc9[_0x17a42d(0xf0)];if(!_0x2c05a9||!_0x3f0fc9[_0x17a42d(0xd4)]||!_0x3f0fc9[_0x17a42d(0xca)])throw CliErrors[_0x17a42d(0xb1)]('Incomplete\x20HOOK\x20path:\x20'+_0x3f0fc9[_0x17a42d(0xf5)]);const _0x5d8a98=_0x10c01c[_0x17a42d(0xcc)]['get'](_0x2c05a9)??_0x3adf03?.[_0x17a42d(0xb7)]??_0x2c05a9,_0xe65752=_0x10c01c[_0x17a42d(0xe6)]['get'](_0x5d8a98);if(!_0xe65752)throw CliErrors[_0x17a42d(0xb1)](_0x17a42d(0xed)+_0x2c05a9+_0x17a42d(0xdd)+(_0x17a42d(0xe3)+CLI_BIN_NAME+_0x17a42d(0xaf)));_0x3de87e['datasetId']=_0xe65752['id'],_0x3de87e[_0x17a42d(0xd4)]=_0x3f0fc9[_0x17a42d(0xd4)],_0x3de87e[_0x17a42d(0xca)]=_0x3f0fc9['functionNode'];}const _0x36d60d=await saveBffScript(_0x3de87e),_0x26b980=_0x36d60d['id'],_0x19867c=_0x36d60d[_0x17a42d(0xf2)]??await getBffScriptInfo(_0x26b980),_0x1fcc0e={'hash':_0x6c5d44,'remoteId':_0x26b980,'version':_0x19867c[_0x17a42d(0xf3)]};if(_0x3f0fc9[_0x17a42d(0xee)]===_0x17a42d(0xaa)){const _0x54c955=_0x3f0fc9[_0x17a42d(0xf0)],_0x508dc8=_0x10c01c[_0x17a42d(0xcc)][_0x17a42d(0xad)](_0x54c955)??_0x3adf03?.[_0x17a42d(0xb7)]??_0x54c955;_0x10c01c['aliasToDatasetCode'][_0x17a42d(0xe4)](_0x54c955)?_0x1fcc0e['alias']=_0x54c955:_0x1fcc0e[_0x17a42d(0xf0)]=_0x3adf03?.['alias'],_0x1fcc0e['datasetCode']=_0x508dc8,_0x1fcc0e[_0x17a42d(0xd4)]=_0x3f0fc9[_0x17a42d(0xd4)],_0x1fcc0e[_0x17a42d(0xca)]=_0x3f0fc9[_0x17a42d(0xca)];}_0x3e3602['functions'][_0x3f0fc9[_0x17a42d(0xf5)]]=_0x1fcc0e;}const LOCK_SETTLE_RETRY_COUNT=0x14,LOCK_SETTLE_DELAY_MS=0x64;async function waitForUploadedLockEntries(_0xb0d9f,_0x9086ae,_0x4ea158){const _0x176b6c=a32_0x20d575;if(_0x4ea158[_0x176b6c(0xae)]===0x0)return;for(let _0x57b58d=0x0;_0x57b58d<LOCK_SETTLE_RETRY_COUNT;_0x57b58d+=0x1){const _0x49ea2f=await readBffLockFile(_0xb0d9f),_0x5ed6c1=_0x49ea2f?.['apps']?.[_0x9086ae]?.['functions']??{},_0x1dd7c6=_0x4ea158['every'](_0x4b6c8e=>!!_0x5ed6c1[_0x4b6c8e]?.['remoteId']);if(_0x1dd7c6)return;await sleep(LOCK_SETTLE_DELAY_MS);}throw new Error(_0x176b6c(0xb5)+_0x4ea158['join'](',\x20')+'.');}
|
|
1
|
+
const a32_0x2f85bb=a32_0xef14;(function(_0x596d3c,_0x3ff3e7){const _0x1802cb=a32_0xef14,_0x3b6db3=_0x596d3c();while(!![]){try{const _0x3eb2dd=-parseInt(_0x1802cb(0x13e))/0x1+-parseInt(_0x1802cb(0x181))/0x2+parseInt(_0x1802cb(0x16a))/0x3*(parseInt(_0x1802cb(0x162))/0x4)+-parseInt(_0x1802cb(0x170))/0x5*(parseInt(_0x1802cb(0x13c))/0x6)+-parseInt(_0x1802cb(0x153))/0x7*(parseInt(_0x1802cb(0x16e))/0x8)+parseInt(_0x1802cb(0x189))/0x9+parseInt(_0x1802cb(0x149))/0xa*(parseInt(_0x1802cb(0x178))/0xb);if(_0x3eb2dd===_0x3ff3e7)break;else _0x3b6db3['push'](_0x3b6db3['shift']());}catch(_0x1c39cf){_0x3b6db3['push'](_0x3b6db3['shift']());}}}(a32_0x1ef7,0x8f085));import{readFile}from'node:fs/promises';import{saveBffScript,getBffScriptInfo,listDatasets,clearBffScriptCache}from'../../core/api-client.js';import{loadAliasMap}from'../../core/alias-resolver.js';import{resolveApiFilePath}from'../../context.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{normalizeBffType,scanLocalBffFunctions}from'../../core/bff/file-system.js';import{computeFileHash}from'../../core/bff/hash.js';import{createEmptyBffLock,ensureLockScope,readBffLockFile,writeBffLockFile}from'../../core/bff/lock.js';import{extractScriptDescription}from'../../core/bff/utils.js';import{sleep}from'../../utils/sleep.js';import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';const CACHE_CLEAR_ATTEMPTS=0x2,CACHE_CLEAR_INTERVAL_MS=0x12c;export const bffPush={'service':a32_0x2f85bb(0x14e),'command':a32_0x2f85bb(0x144),'description':a32_0x2f85bb(0x17a),'risk':a32_0x2f85bb(0x14d),'flags':[{'name':a32_0x2f85bb(0x186),'type':a32_0x2f85bb(0x16d),'description':a32_0x2f85bb(0x145),'enum':['COMMON',a32_0x2f85bb(0x141),'HOOK']},{'name':a32_0x2f85bb(0x17e),'type':a32_0x2f85bb(0x16d),'description':a32_0x2f85bb(0x15b)},{'name':a32_0x2f85bb(0x177),'type':a32_0x2f85bb(0x14b),'description':a32_0x2f85bb(0x13d)}],async 'dryRun'(_0x53b612){const _0x494e2e=a32_0x2f85bb,_0x42ecaa=loadBffProjectConfig(_0x53b612['appCode']),_0x46ded7=await readBffLockFile(_0x42ecaa[_0x494e2e(0x140)]),{appLock:_0x194d58}=ensureLockScope(_0x46ded7??createEmptyBffLock(),_0x53b612['appCode'],_0x42ecaa['scriptsRoot'],_0x494e2e(0x144)),_0x3b8e45=await getTargetFunctions(_0x42ecaa,_0x53b612),_0x23f561=_0x53b612[_0x494e2e(0x147)](_0x494e2e(0x177)),_0x155cbf=[];for(const _0xf112e0 of _0x3b8e45){const _0x1f6350=await computeFileHash(_0xf112e0[_0x494e2e(0x152)]),_0x880d8b=_0x194d58[_0x494e2e(0x157)][_0xf112e0['lockKey']],_0x1d7b45=!!_0x880d8b&&_0x880d8b[_0x494e2e(0x17c)]===_0x1f6350;_0x155cbf[_0x494e2e(0x144)]({'lockKey':_0xf112e0[_0x494e2e(0x185)],'filePath':_0xf112e0[_0x494e2e(0x152)],'remoteId':_0x880d8b?.[_0x494e2e(0x151)]??null,'mode':_0x880d8b?.[_0x494e2e(0x151)]?_0x494e2e(0x165):_0x494e2e(0x172),'status':!_0x23f561&&_0x1d7b45?_0x494e2e(0x180):_0x494e2e(0x171)});}return{'method':_0x494e2e(0x161),'url':_0x494e2e(0x167),'body':{'appCode':_0x53b612[_0x494e2e(0x17d)],'force':_0x23f561,'files':_0x155cbf,'cacheClearAtRuntime':_0x155cbf['some'](_0x16ef6d=>_0x16ef6d[_0x494e2e(0x148)]==='would_push'),'cacheClearAtRuntimeTimes':_0x155cbf['some'](_0x16cebc=>_0x16cebc['status']==='would_push')?CACHE_CLEAR_ATTEMPTS:0x0},'description':_0x494e2e(0x18b)+_0x155cbf['length']+'\x20local\x20BFF\x20script(s)\x20for\x20push\x20and\x20clear\x20runtime\x20cache\x20if\x20files\x20are\x20uploaded'};},async 'execute'(_0x314374){const _0x247da8=a32_0x2f85bb,_0x57d40f=loadBffProjectConfig(_0x314374[_0x247da8(0x17d)]),_0x53f5ef=await readBffLockFile(_0x57d40f[_0x247da8(0x140)]),{lockData:_0x4f048c,appLock:_0x1bb112}=ensureLockScope(_0x53f5ef??createEmptyBffLock(),_0x314374[_0x247da8(0x17d)],_0x57d40f[_0x247da8(0x16c)],_0x247da8(0x144)),_0xe197cf=await getTargetFunctions(_0x57d40f,_0x314374);if(_0xe197cf[_0x247da8(0x142)]===0x0)return{'ok':!![],'data':{'uploaded':[],'skipped':[],'failed':[]},'message':'No\x20local\x20BFF\x20functions\x20found.'};const _0xb5cda=_0x314374[_0x247da8(0x147)](_0x247da8(0x177)),_0x2a4760=JSON[_0x247da8(0x174)](JSON[_0x247da8(0x18d)](_0x4f048c)),_0x54adcd=_0x2a4760['apps'][_0x314374[_0x247da8(0x17d)]];if(!_0x54adcd)throw new Error('Lock\x20scope\x20for\x20app\x20\x22'+_0x314374[_0x247da8(0x17d)]+_0x247da8(0x187));const _0x3014f9=await buildHookMaps(_0x314374[_0x247da8(0x17d)],_0x314374[_0x247da8(0x18a)],_0xe197cf,_0x54adcd),_0x4a0d7f=[],_0x196afb=[],_0x54f82d=[];for(const _0x501860 of _0xe197cf){const _0x4d053e=await computeFileHash(_0x501860[_0x247da8(0x152)]),_0x2ee6ca=_0x54adcd[_0x247da8(0x157)][_0x501860[_0x247da8(0x185)]];if(!_0xb5cda&&_0x2ee6ca&&_0x2ee6ca['hash']===_0x4d053e){_0x196afb[_0x247da8(0x144)]({'lockKey':_0x501860['lockKey'],'reason':_0x247da8(0x180)});continue;}try{await uploadSingleFunction(_0x314374[_0x247da8(0x17d)],_0x501860,_0x54adcd,_0x3014f9);const _0x228d01=_0x54adcd[_0x247da8(0x157)][_0x501860['lockKey']];_0x4a0d7f[_0x247da8(0x144)]({'lockKey':_0x501860[_0x247da8(0x185)],'remoteId':_0x228d01?.['remoteId']??0x0});}catch(_0x3fb800){_0x54f82d[_0x247da8(0x144)]({'lockKey':_0x501860[_0x247da8(0x185)],'error':_0x3fb800 instanceof Error?_0x3fb800[_0x247da8(0x143)]:String(_0x3fb800)});}}_0x54adcd['lastSync']=new Date()['toISOString'](),await writeBffLockFile(_0x57d40f[_0x247da8(0x140)],_0x2a4760),await waitForUploadedLockEntries(_0x57d40f[_0x247da8(0x140)],_0x314374[_0x247da8(0x17d)],_0x4a0d7f['map'](_0x55d018=>_0x55d018[_0x247da8(0x185)]));let _0x3a8480={'attempted':![],'cleared':![]};if(_0x4a0d7f['length']>0x0)try{let _0x396c98='';for(let _0x14ddfe=0x0;_0x14ddfe<CACHE_CLEAR_ATTEMPTS;_0x14ddfe+=0x1){_0x396c98=await clearBffScriptCache(),_0x14ddfe<CACHE_CLEAR_ATTEMPTS-0x1&&await sleep(CACHE_CLEAR_INTERVAL_MS);}_0x3a8480={'attempted':!![],'cleared':!![],'message':_0x396c98||_0x247da8(0x15e)};}catch(_0x3276ee){_0x3a8480={'attempted':!![],'cleared':![],'error':_0x3276ee instanceof Error?_0x3276ee[_0x247da8(0x143)]:String(_0x3276ee)};}const _0x115426=_0x54f82d[_0x247da8(0x142)]===0x0&&(_0x3a8480[_0x247da8(0x15f)]?_0x3a8480[_0x247da8(0x163)]:!![]),_0x215b07=_0x3a8480['attempted']?_0x3a8480['cleared']?_0x247da8(0x155):_0x247da8(0x15d):_0x247da8(0x146);return{'ok':_0x115426,'data':{'uploaded':_0x4a0d7f,'skipped':_0x196afb,'failed':_0x54f82d,'cacheClear':_0x3a8480},'message':_0x247da8(0x14f)+_0x4a0d7f[_0x247da8(0x142)]+'\x20uploaded,\x20'+_0x196afb[_0x247da8(0x142)]+'\x20skipped,\x20'+_0x54f82d[_0x247da8(0x142)]+'\x20failed,\x20'+_0x215b07};}};function a32_0x1ef7(){const _0x59f99a=['map','Local\x20function\x20not\x20found:\x20','force','2247179NAScrp','HOOK','Push\x20local\x20BFF\x20scripts\x20to\x20remote','\x22.\x20','hash','appCode','name','aliasToDatasetCode','unchanged','552102IkYyfo','description','filter','apps','lockKey','type','\x22\x20not\x20found\x20after\x20ensureLockScope.','has','6987087ylNwTO','apiDir','Would\x20inspect\x20','version','stringify','alias','16686kEoMpG','Force\x20push\x20ignoring\x20hash\x20protection','848103FSBFQz','validation','lockFilePath','ENDPOINT','length','message','push','Push\x20only\x20this\x20script\x20type','runtime\x20cache\x20not\x20needed','bool','status','50farldK','values','boolean','Lock\x20file\x20not\x20settled\x20after\x20push\x20for\x20','high-risk-write','bff','Push\x20complete:\x20','code','remoteId','filePath','21yToqKT','operationType','runtime\x20cache\x20cleared','Run\x20`','functions','Incomplete\x20HOOK\x20path:\x20','Cannot\x20resolve\x20dataset\x20for\x20\x22','datasetCodeToDataset','Push\x20only\x20the\x20named\x20function\x20(requires\x20--type)','str','runtime\x20cache\x20clear\x20failed','Runtime\x20script\x20cache\x20cleared.','attempted','functionNode','POST','16804gdzZdx','cleared','set','update','get','/api/management/library/scripts/save','\x20api\x20pull`\x20to\x20refresh\x20api.ts,\x20or\x20verify\x20the\x20dataset\x20exists.','--name\x20requires\x20--type\x20to\x20identify\x20the\x20function.','165nTRLxr','datasetCode','scriptsRoot','string','249512rxHxJp','every','405hTdOWT','would_push','create','utf8','parse'];a32_0x1ef7=function(){return _0x59f99a;};return a32_0x1ef7();}function a32_0xef14(_0x27ae33,_0x2f2658){_0x27ae33=_0x27ae33-0x13c;const _0x1ef7da=a32_0x1ef7();let _0xef14bc=_0x1ef7da[_0x27ae33];return _0xef14bc;}async function getTargetFunctions(_0x3d6c48,_0xf3f3a1){const _0x522ee6=a32_0x2f85bb,_0x186271=_0xf3f3a1[_0x522ee6(0x15c)](_0x522ee6(0x186)),_0xcd4151=_0xf3f3a1[_0x522ee6(0x15c)](_0x522ee6(0x17e)),_0x1cc233=normalizeBffType(_0x186271)??undefined;if(_0xcd4151&&!_0x1cc233)throw CliErrors[_0x522ee6(0x13f)](_0x522ee6(0x169));const _0x3bb4b2=await scanLocalBffFunctions(_0x3d6c48,_0x1cc233);if(_0xcd4151){const _0x23d76d=_0x3bb4b2[_0x522ee6(0x183)](_0x34f0b1=>_0x34f0b1[_0x522ee6(0x17e)]===_0xcd4151);if(_0x23d76d[_0x522ee6(0x142)]===0x0)throw CliErrors[_0x522ee6(0x13f)](_0x522ee6(0x176)+_0x1cc233+'/'+_0xcd4151);return _0x23d76d;}return _0x3bb4b2;}async function buildHookMaps(_0x38e038,_0x124b30,_0x1ad431,_0x8f6e1){const _0x1b41e1=a32_0x2f85bb,_0x161776=_0x1ad431['some'](_0x3250c7=>_0x3250c7['type']===_0x1b41e1(0x179));if(!_0x161776)return{'aliasToDatasetCode':new Map(),'datasetCodeToDataset':new Map()};const _0x527cd8=loadAliasMap(_0x124b30,undefined,resolveApiFilePath(_0x124b30,_0x38e038)),_0x9ef988=new Map(_0x527cd8['map'](_0x24b568=>[_0x24b568[_0x1b41e1(0x18e)],_0x24b568[_0x1b41e1(0x16b)]]));for(const _0xd87918 of Object[_0x1b41e1(0x14a)](_0x8f6e1[_0x1b41e1(0x157)])){_0xd87918[_0x1b41e1(0x18e)]&&_0xd87918[_0x1b41e1(0x16b)]&&!_0x9ef988[_0x1b41e1(0x188)](_0xd87918[_0x1b41e1(0x18e)])&&_0x9ef988[_0x1b41e1(0x164)](_0xd87918[_0x1b41e1(0x18e)],_0xd87918[_0x1b41e1(0x16b)]);}const _0xe35f8b=await listDatasets(_0x38e038),_0x2a0c88=new Map(_0xe35f8b[_0x1b41e1(0x175)](_0x52e365=>[_0x52e365[_0x1b41e1(0x150)],_0x52e365]));return{'aliasToDatasetCode':_0x9ef988,'datasetCodeToDataset':_0x2a0c88};}async function uploadSingleFunction(_0x167bc8,_0x1d4924,_0x522e4a,_0x2887f4){const _0x1a01d0=a32_0x2f85bb,_0x399edc=await readFile(_0x1d4924[_0x1a01d0(0x152)],_0x1a01d0(0x173)),_0x8674ec=await computeFileHash(_0x1d4924[_0x1a01d0(0x152)]),_0x275172=_0x522e4a['functions'][_0x1d4924['lockKey']];if(_0x275172?.['remoteId']&&_0x275172['version']==null)throw CliErrors[_0x1a01d0(0x13f)](_0x1d4924['lockKey']+':\x20missing\x20remote\x20version.\x20Run\x20`push`\x20after\x20`pull`\x20to\x20sync\x20version\x20info.');let _0x32ab95=extractScriptDescription(_0x399edc);if(!_0x32ab95&&_0x275172?.['remoteId']){const _0x3f4855=await getBffScriptInfo(_0x275172['remoteId']);_0x32ab95=_0x3f4855['description']||undefined;}const _0xe28127={'appCode':_0x167bc8,'functionName':_0x1d4924['name'],'scriptType':_0x1d4924[_0x1a01d0(0x186)],'scriptContent':_0x399edc};if(_0x275172?.[_0x1a01d0(0x151)])_0xe28127['id']=_0x275172[_0x1a01d0(0x151)];if(_0x275172?.[_0x1a01d0(0x18c)]!=null)_0xe28127[_0x1a01d0(0x18c)]=_0x275172[_0x1a01d0(0x18c)];if(_0x32ab95)_0xe28127[_0x1a01d0(0x182)]=_0x32ab95;if(_0x1d4924[_0x1a01d0(0x186)]===_0x1a01d0(0x179)){const _0x2d8a37=_0x1d4924[_0x1a01d0(0x18e)];if(!_0x2d8a37||!_0x1d4924[_0x1a01d0(0x154)]||!_0x1d4924[_0x1a01d0(0x160)])throw CliErrors['validation'](_0x1a01d0(0x158)+_0x1d4924[_0x1a01d0(0x185)]);const _0x3ed6be=_0x2887f4[_0x1a01d0(0x17f)][_0x1a01d0(0x166)](_0x2d8a37)??_0x275172?.[_0x1a01d0(0x16b)]??_0x2d8a37,_0x35f664=_0x2887f4[_0x1a01d0(0x15a)]['get'](_0x3ed6be);if(!_0x35f664)throw CliErrors[_0x1a01d0(0x13f)](_0x1a01d0(0x159)+_0x2d8a37+_0x1a01d0(0x17b)+(_0x1a01d0(0x156)+CLI_BIN_NAME+_0x1a01d0(0x168)));_0xe28127['datasetId']=_0x35f664['id'],_0xe28127['operationType']=_0x1d4924[_0x1a01d0(0x154)],_0xe28127[_0x1a01d0(0x160)]=_0x1d4924[_0x1a01d0(0x160)];}const _0x2ddec4=await saveBffScript(_0xe28127),_0x56ba26=_0x2ddec4['id'],_0x2a3d46=_0x2ddec4['script']??await getBffScriptInfo(_0x56ba26),_0x4a6f26={'hash':_0x8674ec,'remoteId':_0x56ba26,'version':_0x2a3d46[_0x1a01d0(0x18c)]};if(_0x1d4924[_0x1a01d0(0x186)]==='HOOK'){const _0x2eae1a=_0x1d4924[_0x1a01d0(0x18e)],_0x119799=_0x2887f4[_0x1a01d0(0x17f)][_0x1a01d0(0x166)](_0x2eae1a)??_0x275172?.[_0x1a01d0(0x16b)]??_0x2eae1a;_0x2887f4[_0x1a01d0(0x17f)][_0x1a01d0(0x188)](_0x2eae1a)?_0x4a6f26[_0x1a01d0(0x18e)]=_0x2eae1a:_0x4a6f26[_0x1a01d0(0x18e)]=_0x275172?.['alias'],_0x4a6f26[_0x1a01d0(0x16b)]=_0x119799,_0x4a6f26[_0x1a01d0(0x154)]=_0x1d4924['operationType'],_0x4a6f26[_0x1a01d0(0x160)]=_0x1d4924[_0x1a01d0(0x160)];}_0x522e4a['functions'][_0x1d4924[_0x1a01d0(0x185)]]=_0x4a6f26;}const LOCK_SETTLE_RETRY_COUNT=0x14,LOCK_SETTLE_DELAY_MS=0x64;async function waitForUploadedLockEntries(_0x49efc4,_0x1e7dc9,_0x25f2f6){const _0x8b95cf=a32_0x2f85bb;if(_0x25f2f6['length']===0x0)return;for(let _0x33e31f=0x0;_0x33e31f<LOCK_SETTLE_RETRY_COUNT;_0x33e31f+=0x1){const _0x1bd03f=await readBffLockFile(_0x49efc4),_0x5cad4f=_0x1bd03f?.[_0x8b95cf(0x184)]?.[_0x1e7dc9]?.[_0x8b95cf(0x157)]??{},_0xe6f944=_0x25f2f6[_0x8b95cf(0x16f)](_0x4e86c9=>!!_0x5cad4f[_0x4e86c9]?.[_0x8b95cf(0x151)]);if(_0xe6f944)return;await sleep(LOCK_SETTLE_DELAY_MS);}throw new Error(_0x8b95cf(0x14c)+_0x25f2f6['join'](',\x20')+'.');}
|