@lovrabet/rabetbase-cli 2.2.2-beta.1 → 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
|
-
const
|
|
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_0x2abed4=a26_0x5a67;(function(_0xe5128b,_0xa5732a){const _0x2a3ff5=a26_0x5a67,_0x2cebf3=_0xe5128b();while(!![]){try{const _0x113352=-parseInt(_0x2a3ff5(0x190))/0x1*(parseInt(_0x2a3ff5(0x1b8))/0x2)+parseInt(_0x2a3ff5(0x1c6))/0x3*(-parseInt(_0x2a3ff5(0x19c))/0x4)+-parseInt(_0x2a3ff5(0x1e0))/0x5+parseInt(_0x2a3ff5(0x1bb))/0x6*(parseInt(_0x2a3ff5(0x1b7))/0x7)+-parseInt(_0x2a3ff5(0x1b2))/0x8*(-parseInt(_0x2a3ff5(0x1b1))/0x9)+parseInt(_0x2a3ff5(0x18c))/0xa*(-parseInt(_0x2a3ff5(0x1d5))/0xb)+-parseInt(_0x2a3ff5(0x199))/0xc*(-parseInt(_0x2a3ff5(0x1d4))/0xd);if(_0x113352===_0xa5732a)break;else _0x2cebf3['push'](_0x2cebf3['shift']());}catch(_0x30faa0){_0x2cebf3['push'](_0x2cebf3['shift']());}}}(a26_0x4af1,0x52c01));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';function a26_0x4af1(){const _0x265cf0=['168tYBWRJ','4pqxpHB','--function-node\x20must\x20be\x20\x27before\x27\x20or\x20\x27after\x27.','find','25434hgjHai','functionNode','Trigger\x20node\x20(HOOK\x20only)','\x0a\x20*\x20[接口路径]\x20POST\x20/api/endpoint/{appCode}/{scriptName}\x0a\x20*\x20[当前示例]\x20POST\x20/api/endpoint/','trim','validation','Created\x20','--function-node\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','bff','Available\x20aliases:\x20','source','696537VVPDqH','length','\x22.\x20Must\x20be\x20a\x20valid\x20JS\x20identifier\x20(e.g.\x20createOrder,\x20beforeFilter).','description','UNKNOWN','\x22\x20not\x20found\x20for\x20dataset\x20','isInteger','\x20\x20Enter\x20a\x20number\x20between\x201\x20and\x20','scriptsRootDir','apiDir','write','No\x20datasets\x20found\x20for\x20this\x20app.','\x22\x20not\x20found.\x20','after','13beYpRS','8030iRyVOd','\x0a\x20*\x20[脚本类型]\x20COMMON\x0a\x20*\x20[本地路径]\x20.rabetbase/bff/COMMON/','before','Dataset\x20not\x20found\x20for\x20code\x20\x22','.js','operation-type','keys','datasetcode','\x20api\x20pull`\x20first,\x20or\x20use\x20--datasetcode\x20instead.','Dataset\x20alias\x20from\x20api.ts\x20(HOOK\x20only,\x20preferred)','--operation-type\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','3167360hXRBEy','\x20function:\x20','question','join','entries','\x0a\x20*\x20[脚本名称]\x20','3130JPQzFo','str','parseInt','stderr','139193FbFzvD','Operation\x20type\x20(HOOK\x20only)','operationType','nonInteractive','Scaffold\x20a\x20new\x20BFF\x20function\x20from\x20template','includes','utf8','Alias\x20\x22','Script\x20type','17916420OWeHvQ','appCode','\x20api\x20pull`\x20to\x20refresh.','4MEGEvX','(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a','Operation\x20type\x20\x22','stdin','HOOK\x20requires\x20hookOptions\x20for\x20template\x20generation.','Function\x20name\x20(valid\x20JS\x20identifier)','TODO:\x20add\x20script\x20description','tableName','File\x20already\x20exists:\x20','ENDPOINT','code','Select\x20dataset:','close','string','name','.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','map','/**\x0a\x20*\x20COMMON\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','function-node','Invalid\x20dataset\x20selection.','\x22.\x20','80793ALhDEy','104qAEvLM','alias','datasetCode','Invalid\x20function\x20name\x20\x22','HOOK'];a26_0x4af1=function(){return _0x265cf0;};return a26_0x4af1();}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_0x2abed4(0x1c3),'command':'create','description':a26_0x2abed4(0x194),'risk':a26_0x2abed4(0x1d0),'flags':[{'name':'type','type':a26_0x2abed4(0x1a9),'required':!![],'enum':['COMMON',a26_0x2abed4(0x1a5),a26_0x2abed4(0x1b6)],'description':a26_0x2abed4(0x198)},{'name':a26_0x2abed4(0x1aa),'type':a26_0x2abed4(0x1a9),'required':!![],'description':a26_0x2abed4(0x1a1)},{'name':a26_0x2abed4(0x1c9),'type':a26_0x2abed4(0x1a9),'description':'Script\x20description'},{'name':'alias','type':'string','description':a26_0x2abed4(0x1de)},{'name':a26_0x2abed4(0x1dc),'type':a26_0x2abed4(0x1a9),'description':'Dataset\x20code\x20(HOOK\x20only,\x20fallback\x20when\x20alias\x20unavailable)'},{'name':a26_0x2abed4(0x1da),'type':a26_0x2abed4(0x1a9),'description':a26_0x2abed4(0x191)},{'name':a26_0x2abed4(0x1ae),'type':a26_0x2abed4(0x1a9),'description':a26_0x2abed4(0x1bd),'enum':[a26_0x2abed4(0x1d7),a26_0x2abed4(0x1d3)]}],async 'validate'(_0x14f590){const _0x36a575=a26_0x2abed4,_0x2aa694=_0x14f590[_0x36a575(0x18d)](_0x36a575(0x1aa));if(!isValidBffFunctionName(_0x2aa694))throw CliErrors[_0x36a575(0x1c0)](_0x36a575(0x1b5)+_0x2aa694+_0x36a575(0x1c8));},async 'execute'(_0x4fceff){const _0x599ec2=a26_0x2abed4,_0x2da232=loadBffProjectConfig(_0x4fceff[_0x599ec2(0x19a)]),_0x1f16c1=_0x4fceff['str']('type'),_0x13d3f1=_0x4fceff[_0x599ec2(0x18d)]('name'),_0x2737a0=_0x4fceff['str'](_0x599ec2(0x1c9))||undefined,_0x20f5cb=_0x1f16c1===_0x599ec2(0x1b6)?await resolveHookOptions(_0x2da232,_0x4fceff):undefined,_0x581e3c=buildFilePath(_0x2da232,_0x1f16c1,_0x13d3f1,_0x20f5cb);if(await fileExists(_0x581e3c))throw CliErrors[_0x599ec2(0x1c0)](_0x599ec2(0x1a4)+_0x581e3c);await mkdir(dirname(_0x581e3c),{'recursive':!![]});const _0x1a8b23=generateTemplate(_0x1f16c1,_0x13d3f1,_0x4fceff['appCode'],_0x2737a0,_0x20f5cb);await writeFile(_0x581e3c,_0x1a8b23,_0x599ec2(0x196));const _0xba8a33={'type':_0x1f16c1,'name':_0x13d3f1,'path':_0x581e3c};if(_0x2737a0)_0xba8a33['description']=_0x2737a0;if(_0x20f5cb){if(_0x20f5cb[_0x599ec2(0x1b3)])_0xba8a33[_0x599ec2(0x1b3)]=_0x20f5cb[_0x599ec2(0x1b3)];_0xba8a33[_0x599ec2(0x1b4)]=_0x20f5cb[_0x599ec2(0x1b4)],_0xba8a33[_0x599ec2(0x192)]=_0x20f5cb[_0x599ec2(0x192)],_0xba8a33[_0x599ec2(0x1bc)]=_0x20f5cb['functionNode'];}return{'ok':!![],'data':_0xba8a33,'message':_0x599ec2(0x1c1)+_0x1f16c1+_0x599ec2(0x1e1)+_0x13d3f1};}};async function resolveHookOptions(_0x376cf1,_0x5e882e){const _0x35b38f=a26_0x2abed4,_0x455cdd=loadAliasMap(_0x5e882e[_0x35b38f(0x1cf)],undefined,resolveApiFilePath(_0x5e882e['apiDir'],_0x5e882e[_0x35b38f(0x19a)])),_0x471131=_0x455cdd[_0x35b38f(0x1c7)]>0x0;let _0x578321,_0xd477e,_0x32c9ba;const _0x229eea=_0x5e882e[_0x35b38f(0x18d)](_0x35b38f(0x1b3)),_0x4c7a85=_0x5e882e[_0x35b38f(0x18d)]('datasetcode');if(_0x229eea){const _0x289155=resolveAlias(_0x5e882e[_0x35b38f(0x1cf)],_0x229eea,undefined,resolveApiFilePath(_0x5e882e[_0x35b38f(0x1cf)],_0x5e882e[_0x35b38f(0x19a)]));if(!_0x289155){const _0x3ec62d=_0x471131?_0x35b38f(0x1c4)+_0x455cdd[_0x35b38f(0x1ac)](_0x7fae2a=>_0x7fae2a[_0x35b38f(0x1b3)])[_0x35b38f(0x189)](',\x20'):'No\x20api.ts\x20found.\x20Run\x20`'+CLI_BIN_NAME+_0x35b38f(0x1dd);throw CliErrors[_0x35b38f(0x1c0)](_0x35b38f(0x197)+_0x229eea+_0x35b38f(0x1d2)+_0x3ec62d);}_0x578321=_0x229eea,_0xd477e=_0x289155;}else{if(_0x4c7a85){_0xd477e=_0x4c7a85;const _0x1cd1bf=_0x455cdd['find'](_0x243a0b=>_0x243a0b['datasetCode']===_0x4c7a85);_0x578321=_0x1cd1bf?.[_0x35b38f(0x1b3)];}else{if(_0x5e882e[_0x35b38f(0x193)])throw CliErrors[_0x35b38f(0x1c0)]('--alias\x20or\x20--datasetcode\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.');else{if(_0x471131){const _0x2c2aec=_0x455cdd[_0x35b38f(0x1ac)](_0x113e99=>_0x113e99[_0x35b38f(0x1b3)]+'\x20('+_0x113e99[_0x35b38f(0x1a3)]+')'),_0xe94ef5=await promptSelect(_0x35b38f(0x1a7),_0x2c2aec),_0x3c392e=_0x455cdd[_0xe94ef5];if(!_0x3c392e)throw CliErrors[_0x35b38f(0x1c0)](_0x35b38f(0x1af));_0x578321=_0x3c392e[_0x35b38f(0x1b3)],_0xd477e=_0x3c392e[_0x35b38f(0x1b4)];}else{const _0x46d2cf=await listDatasets(_0x5e882e[_0x35b38f(0x19a)]);if(_0x46d2cf[_0x35b38f(0x1c7)]===0x0)throw CliErrors[_0x35b38f(0x1c0)](_0x35b38f(0x1d1));const _0x5df4ab=_0x46d2cf[_0x35b38f(0x1ac)](_0x2fbfe0=>_0x2fbfe0['name']+'\x20['+(_0x2fbfe0[_0x35b38f(0x1c5)]??_0x35b38f(0x1ca))+']\x20('+_0x2fbfe0['code']+')'),_0x1bebc1=await promptSelect(_0x35b38f(0x1a7),_0x5df4ab),_0x7f0c0b=_0x46d2cf[_0x1bebc1];if(!_0x7f0c0b)throw CliErrors[_0x35b38f(0x1c0)](_0x35b38f(0x1af));_0xd477e=_0x7f0c0b[_0x35b38f(0x1a6)],_0x578321=undefined;}}}}const _0x460097=await listDatasets(_0x5e882e[_0x35b38f(0x19a)]),_0x139d14=_0x460097[_0x35b38f(0x1ba)](_0x3d2ef6=>_0x3d2ef6[_0x35b38f(0x1a6)]===_0xd477e);if(!_0x139d14)throw CliErrors[_0x35b38f(0x1c0)](_0x35b38f(0x1d8)+_0xd477e+_0x35b38f(0x1b0)+(_0x578321?'The\x20api.ts\x20may\x20be\x20stale\x20—\x20run\x20`'+CLI_BIN_NAME+_0x35b38f(0x19b):''));_0x32c9ba=_0x139d14['id'];const _0x4443a0=_0x578321??_0xd477e,_0x121dba=await listBffDatasetOperations(_0x5e882e[_0x35b38f(0x19a)],_0x32c9ba),_0x2989b4=_0x121dba?Object[_0x35b38f(0x1db)](_0x121dba):[];if(_0x2989b4[_0x35b38f(0x1c7)]===0x0)throw CliErrors[_0x35b38f(0x1c0)]('No\x20operation\x20types\x20found\x20for\x20dataset\x20'+_0x4443a0+'.');let _0x26cb33;const _0x355322=_0x5e882e[_0x35b38f(0x18d)](_0x35b38f(0x1da));if(_0x355322){if(!_0x2989b4[_0x35b38f(0x195)](_0x355322))throw CliErrors[_0x35b38f(0x1c0)](_0x35b38f(0x19e)+_0x355322+_0x35b38f(0x1cb)+_0x4443a0+'.\x20'+('Available:\x20'+_0x2989b4[_0x35b38f(0x189)](',\x20')));_0x26cb33=_0x355322;}else{if(_0x5e882e['nonInteractive'])throw CliErrors[_0x35b38f(0x1c0)](_0x35b38f(0x1df));const _0x580da8=await promptSelect('Select\x20operation\x20type:',_0x2989b4);_0x26cb33=_0x2989b4[_0x580da8]??_0x2989b4[0x0];}let _0x196300=normalizeHookFunctionNode(_0x5e882e[_0x35b38f(0x18d)]('function-node'));if(!_0x196300){if(_0x5e882e[_0x35b38f(0x18d)]('function-node'))throw CliErrors['validation'](_0x35b38f(0x1b9));if(_0x5e882e[_0x35b38f(0x193)])throw CliErrors[_0x35b38f(0x1c0)](_0x35b38f(0x1c2));const _0x5c4453=await promptSelect('Select\x20trigger\x20node:',['before',_0x35b38f(0x1d3)]);_0x196300=[_0x35b38f(0x1d7),_0x35b38f(0x1d3)][_0x5c4453]??_0x35b38f(0x1d7);}return{'alias':_0x578321,'datasetCode':_0xd477e,'datasetId':_0x32c9ba,'operationType':_0x26cb33,'functionNode':_0x196300};}async function promptSelect(_0x32738b,_0x142e33){const _0x7368ba=a26_0x2abed4;if(_0x142e33['length']===0x1)return 0x0;for(const [_0xafffc3,_0x108e58]of _0x142e33[_0x7368ba(0x18a)]()){process[_0x7368ba(0x18f)][_0x7368ba(0x1d0)]('\x20\x20'+(_0xafffc3+0x1)+'.\x20'+_0x108e58+'\x0a');}const _0x391c57=createInterface({'input':process[_0x7368ba(0x19f)],'output':process[_0x7368ba(0x18f)]});while(!![]){const _0xb7781a=await new Promise(_0x1448b8=>{const _0x362818=_0x7368ba;_0x391c57[_0x362818(0x188)](_0x32738b+'\x20',_0x1448b8);}),_0x510ca4=Number[_0x7368ba(0x18e)](_0xb7781a[_0x7368ba(0x1bf)](),0xa);if(Number[_0x7368ba(0x1cc)](_0x510ca4)&&_0x510ca4>=0x1&&_0x510ca4<=_0x142e33[_0x7368ba(0x1c7)])return _0x391c57[_0x7368ba(0x1a8)](),_0x510ca4-0x1;process['stderr']['write'](_0x7368ba(0x1cd)+_0x142e33[_0x7368ba(0x1c7)]+'.\x0a');}}function a26_0x5a67(_0x588cf5,_0x31b7be){_0x588cf5=_0x588cf5-0x188;const _0x4af191=a26_0x4af1();let _0x5a675d=_0x4af191[_0x588cf5];return _0x5a675d;}function buildFilePath(_0x35cefe,_0x1162e0,_0x5ecc58,_0x1c74b9){const _0x3cbdac=a26_0x2abed4;if(_0x1162e0===_0x3cbdac(0x1b6)){if(!_0x1c74b9)throw CliErrors[_0x3cbdac(0x1c0)]('HOOK\x20requires\x20alias/operation/node\x20options.');const _0x544af4=_0x1c74b9[_0x3cbdac(0x1b3)]??_0x1c74b9['datasetCode'];return join(_0x35cefe[_0x3cbdac(0x1ce)],_0x3cbdac(0x1b6),_0x544af4,_0x1c74b9[_0x3cbdac(0x192)],_0x1c74b9[_0x3cbdac(0x1bc)],_0x5ecc58+_0x3cbdac(0x1d9));}return join(_0x35cefe['scriptsRootDir'],_0x1162e0,_0x5ecc58+_0x3cbdac(0x1d9));}export function generateTemplate(_0x32ea92,_0x3cf9a9,_0x3e0dd6,_0x573a71,_0x354bbb){const _0x224eda=a26_0x2abed4,_0x443c70=_0x573a71?.['trim']()||_0x224eda(0x1a2);if(_0x32ea92==='COMMON')return _0x224eda(0x1ad)+_0x443c70+_0x224eda(0x18b)+_0x3cf9a9+_0x224eda(0x1d6)+_0x3cf9a9+_0x224eda(0x1ab)+_0x3cf9a9+'(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a';if(_0x32ea92==='ENDPOINT')return'/**\x0a\x20*\x20ENDPOINT\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20'+_0x443c70+_0x224eda(0x1be)+_0x3e0dd6+'/'+_0x3cf9a9+'\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'+_0x3cf9a9+_0x224eda(0x19d);if(!_0x354bbb)throw CliErrors[_0x224eda(0x1c0)](_0x224eda(0x1a0));return'/**\x0a\x20*\x20HOOK\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20'+_0x443c70+'\x0a\x20*\x20[接口路径]\x20POST\x20/api/'+_0x3e0dd6+'/'+_0x354bbb[_0x224eda(0x1b4)]+'/'+_0x354bbb['operationType']+'\x0a\x20*\x20[触发节点]\x20'+_0x354bbb[_0x224eda(0x1bc)]+'\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'+_0x3cf9a9+_0x224eda(0x19d);}
|
|
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
|
-
(function(
|
|
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_0x246b19=a32_0x2f92;(function(_0x1b6dff,_0x5e7dbe){const _0x54d0a8=a32_0x2f92,_0x2443ab=_0x1b6dff();while(!![]){try{const _0x1f7f17=parseInt(_0x54d0a8(0xf0))/0x1*(-parseInt(_0x54d0a8(0x102))/0x2)+-parseInt(_0x54d0a8(0xec))/0x3*(parseInt(_0x54d0a8(0x10a))/0x4)+parseInt(_0x54d0a8(0x114))/0x5*(-parseInt(_0x54d0a8(0x11a))/0x6)+-parseInt(_0x54d0a8(0x129))/0x7+-parseInt(_0x54d0a8(0xdc))/0x8+-parseInt(_0x54d0a8(0x122))/0x9*(-parseInt(_0x54d0a8(0x104))/0xa)+parseInt(_0x54d0a8(0xe6))/0xb;if(_0x1f7f17===_0x5e7dbe)break;else _0x2443ab['push'](_0x2443ab['shift']());}catch(_0x4dd8bd){_0x2443ab['push'](_0x2443ab['shift']());}}}(a32_0x2d82,0xee5a9));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';function a32_0x2d82(){const _0x3d2735=['\x20skipped,\x20','bool','Incomplete\x20HOOK\x20path:\x20','scriptsRoot','length','datasetCode','lockFilePath','alias','filter','Force\x20push\x20ignoring\x20hash\x20protection','appCode','HOOK','Runtime\x20script\x20cache\x20cleared.','1802366IUHdVJ','push','2410Iqwuwo','operationType','would_push','functions','toISOString','Would\x20inspect\x20','959132YkZhge','\x22.\x20','type','datasetCodeToDataset','lastSync','join','high-risk-write','POST','hash','description','60DPHkIC','string','validation','aliasToDatasetCode','update','remoteId','665094dozODT',':\x20missing\x20remote\x20version.\x20Run\x20`push`\x20after\x20`pull`\x20to\x20sync\x20version\x20info.','script','values','boolean','/api/management/library/scripts/save','map','Run\x20`','28269RSVMpO','unchanged','code','filePath','runtime\x20cache\x20cleared','datasetId','Lock\x20scope\x20for\x20app\x20\x22','6617821CttvPh','\x20failed,\x20','COMMON','\x22\x20not\x20found\x20after\x20ensureLockScope.','Local\x20function\x20not\x20found:\x20','some','13700024qOskoi','name','apps','Lock\x20file\x20not\x20settled\x20after\x20push\x20for\x20','\x20uploaded,\x20','version','status','lockKey','str','force','64107362MyHhpG','bff','functionNode','No\x20local\x20BFF\x20functions\x20found.','message','Push\x20only\x20the\x20named\x20function\x20(requires\x20--type)','9rvtlOS','create','get','has','1ukrahN','cleared','parse','--name\x20requires\x20--type\x20to\x20identify\x20the\x20function.','set'];a32_0x2d82=function(){return _0x3d2735;};return a32_0x2d82();}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_0x246b19(0xe7),'command':'push','description':'Push\x20local\x20BFF\x20scripts\x20to\x20remote','risk':a32_0x246b19(0x110),'flags':[{'name':a32_0x246b19(0x10c),'type':a32_0x246b19(0x115),'description':'Push\x20only\x20this\x20script\x20type','enum':[a32_0x246b19(0x12b),'ENDPOINT','HOOK']},{'name':a32_0x246b19(0xdd),'type':a32_0x246b19(0x115),'description':a32_0x246b19(0xeb)},{'name':a32_0x246b19(0xe5),'type':a32_0x246b19(0x11e),'description':a32_0x246b19(0xfe)}],async 'dryRun'(_0x12d237){const _0x74599a=a32_0x246b19,_0x160f8d=loadBffProjectConfig(_0x12d237[_0x74599a(0xff)]),_0x25bfbd=await readBffLockFile(_0x160f8d[_0x74599a(0xfb)]),{appLock:_0x467c56}=ensureLockScope(_0x25bfbd??createEmptyBffLock(),_0x12d237[_0x74599a(0xff)],_0x160f8d[_0x74599a(0xf8)],_0x74599a(0x103)),_0x53f419=await getTargetFunctions(_0x160f8d,_0x12d237),_0x249edb=_0x12d237[_0x74599a(0xf6)](_0x74599a(0xe5)),_0x4d34bc=[];for(const _0x246291 of _0x53f419){const _0x4bc337=await computeFileHash(_0x246291[_0x74599a(0x125)]),_0x162f2c=_0x467c56[_0x74599a(0x107)][_0x246291[_0x74599a(0xe3)]],_0x1d8ba0=!!_0x162f2c&&_0x162f2c[_0x74599a(0x112)]===_0x4bc337;_0x4d34bc[_0x74599a(0x103)]({'lockKey':_0x246291['lockKey'],'filePath':_0x246291['filePath'],'remoteId':_0x162f2c?.['remoteId']??null,'mode':_0x162f2c?.[_0x74599a(0x119)]?_0x74599a(0x118):_0x74599a(0xed),'status':!_0x249edb&&_0x1d8ba0?'unchanged':_0x74599a(0x106)});}return{'method':_0x74599a(0x111),'url':_0x74599a(0x11f),'body':{'appCode':_0x12d237[_0x74599a(0xff)],'force':_0x249edb,'files':_0x4d34bc,'cacheClearAtRuntime':_0x4d34bc[_0x74599a(0x12e)](_0xfdba18=>_0xfdba18[_0x74599a(0xe2)]==='would_push'),'cacheClearAtRuntimeTimes':_0x4d34bc[_0x74599a(0x12e)](_0xd19098=>_0xd19098[_0x74599a(0xe2)]==='would_push')?CACHE_CLEAR_ATTEMPTS:0x0},'description':_0x74599a(0x109)+_0x4d34bc[_0x74599a(0xf9)]+'\x20local\x20BFF\x20script(s)\x20for\x20push\x20and\x20clear\x20runtime\x20cache\x20if\x20files\x20are\x20uploaded'};},async 'execute'(_0x47a5cd){const _0x4ac5d0=a32_0x246b19,_0x2a5233=loadBffProjectConfig(_0x47a5cd[_0x4ac5d0(0xff)]),_0x34cb98=await readBffLockFile(_0x2a5233[_0x4ac5d0(0xfb)]),{lockData:_0x561658,appLock:_0x50e335}=ensureLockScope(_0x34cb98??createEmptyBffLock(),_0x47a5cd[_0x4ac5d0(0xff)],_0x2a5233[_0x4ac5d0(0xf8)],'push'),_0xba348a=await getTargetFunctions(_0x2a5233,_0x47a5cd);if(_0xba348a['length']===0x0)return{'ok':!![],'data':{'uploaded':[],'skipped':[],'failed':[]},'message':_0x4ac5d0(0xe9)};const _0x115374=_0x47a5cd[_0x4ac5d0(0xf6)](_0x4ac5d0(0xe5)),_0x7a5155=JSON[_0x4ac5d0(0xf2)](JSON['stringify'](_0x561658)),_0x3fb6f4=_0x7a5155[_0x4ac5d0(0xde)][_0x47a5cd[_0x4ac5d0(0xff)]];if(!_0x3fb6f4)throw new Error(_0x4ac5d0(0x128)+_0x47a5cd['appCode']+_0x4ac5d0(0x12c));const _0x12e22b=await buildHookMaps(_0x47a5cd[_0x4ac5d0(0xff)],_0x47a5cd['apiDir'],_0xba348a,_0x3fb6f4),_0x213313=[],_0x114c79=[],_0x16da27=[];for(const _0x3dc7a6 of _0xba348a){const _0x3588ac=await computeFileHash(_0x3dc7a6['filePath']),_0x34f640=_0x3fb6f4[_0x4ac5d0(0x107)][_0x3dc7a6[_0x4ac5d0(0xe3)]];if(!_0x115374&&_0x34f640&&_0x34f640[_0x4ac5d0(0x112)]===_0x3588ac){_0x114c79[_0x4ac5d0(0x103)]({'lockKey':_0x3dc7a6[_0x4ac5d0(0xe3)],'reason':_0x4ac5d0(0x123)});continue;}try{await uploadSingleFunction(_0x47a5cd[_0x4ac5d0(0xff)],_0x3dc7a6,_0x3fb6f4,_0x12e22b);const _0x4e065d=_0x3fb6f4[_0x4ac5d0(0x107)][_0x3dc7a6[_0x4ac5d0(0xe3)]];_0x213313[_0x4ac5d0(0x103)]({'lockKey':_0x3dc7a6[_0x4ac5d0(0xe3)],'remoteId':_0x4e065d?.[_0x4ac5d0(0x119)]??0x0});}catch(_0x18afb7){_0x16da27[_0x4ac5d0(0x103)]({'lockKey':_0x3dc7a6['lockKey'],'error':_0x18afb7 instanceof Error?_0x18afb7[_0x4ac5d0(0xea)]:String(_0x18afb7)});}}_0x3fb6f4[_0x4ac5d0(0x10e)]=new Date()[_0x4ac5d0(0x108)](),await writeBffLockFile(_0x2a5233['lockFilePath'],_0x7a5155),await waitForUploadedLockEntries(_0x2a5233[_0x4ac5d0(0xfb)],_0x47a5cd[_0x4ac5d0(0xff)],_0x213313[_0x4ac5d0(0x120)](_0x4e2b16=>_0x4e2b16[_0x4ac5d0(0xe3)]));let _0x529c46={'attempted':![],'cleared':![]};if(_0x213313[_0x4ac5d0(0xf9)]>0x0)try{let _0x22826d='';for(let _0x10db62=0x0;_0x10db62<CACHE_CLEAR_ATTEMPTS;_0x10db62+=0x1){_0x22826d=await clearBffScriptCache(),_0x10db62<CACHE_CLEAR_ATTEMPTS-0x1&&await sleep(CACHE_CLEAR_INTERVAL_MS);}_0x529c46={'attempted':!![],'cleared':!![],'message':_0x22826d||_0x4ac5d0(0x101)};}catch(_0x32dc1f){_0x529c46={'attempted':!![],'cleared':![],'error':_0x32dc1f instanceof Error?_0x32dc1f[_0x4ac5d0(0xea)]:String(_0x32dc1f)};}const _0x15cfd4=_0x16da27['length']===0x0&&(_0x529c46['attempted']?_0x529c46[_0x4ac5d0(0xf1)]:!![]),_0x8322ab=_0x529c46['attempted']?_0x529c46[_0x4ac5d0(0xf1)]?_0x4ac5d0(0x126):'runtime\x20cache\x20clear\x20failed':'runtime\x20cache\x20not\x20needed';return{'ok':_0x15cfd4,'data':{'uploaded':_0x213313,'skipped':_0x114c79,'failed':_0x16da27,'cacheClear':_0x529c46},'message':'Push\x20complete:\x20'+_0x213313['length']+_0x4ac5d0(0xe0)+_0x114c79[_0x4ac5d0(0xf9)]+_0x4ac5d0(0xf5)+_0x16da27[_0x4ac5d0(0xf9)]+_0x4ac5d0(0x12a)+_0x8322ab};}};async function getTargetFunctions(_0x43f91d,_0x45b996){const _0x32625c=a32_0x246b19,_0x1cdbcf=_0x45b996['str'](_0x32625c(0x10c)),_0x59f7d0=_0x45b996[_0x32625c(0xe4)](_0x32625c(0xdd)),_0x535253=normalizeBffType(_0x1cdbcf)??undefined;if(_0x59f7d0&&!_0x535253)throw CliErrors[_0x32625c(0x116)](_0x32625c(0xf3));const _0x1bd5ce=await scanLocalBffFunctions(_0x43f91d,_0x535253);if(_0x59f7d0){const _0xeeacb5=_0x1bd5ce[_0x32625c(0xfd)](_0x44b959=>_0x44b959[_0x32625c(0xdd)]===_0x59f7d0);if(_0xeeacb5[_0x32625c(0xf9)]===0x0)throw CliErrors[_0x32625c(0x116)](_0x32625c(0x12d)+_0x535253+'/'+_0x59f7d0);return _0xeeacb5;}return _0x1bd5ce;}function a32_0x2f92(_0x410725,_0x2ed327){_0x410725=_0x410725-0xdc;const _0x2d82c0=a32_0x2d82();let _0x2f926c=_0x2d82c0[_0x410725];return _0x2f926c;}async function buildHookMaps(_0x4f92f7,_0x5ac357,_0x29906b,_0x8e07df){const _0x41484f=a32_0x246b19,_0x48ac9a=_0x29906b[_0x41484f(0x12e)](_0x39338a=>_0x39338a['type']==='HOOK');if(!_0x48ac9a)return{'aliasToDatasetCode':new Map(),'datasetCodeToDataset':new Map()};const _0x28c07d=loadAliasMap(_0x5ac357,undefined,resolveApiFilePath(_0x5ac357,_0x4f92f7)),_0x1165c1=new Map(_0x28c07d[_0x41484f(0x120)](_0x2bf0c5=>[_0x2bf0c5[_0x41484f(0xfc)],_0x2bf0c5['datasetCode']]));for(const _0x58c643 of Object[_0x41484f(0x11d)](_0x8e07df[_0x41484f(0x107)])){_0x58c643[_0x41484f(0xfc)]&&_0x58c643[_0x41484f(0xfa)]&&!_0x1165c1[_0x41484f(0xef)](_0x58c643[_0x41484f(0xfc)])&&_0x1165c1[_0x41484f(0xf4)](_0x58c643[_0x41484f(0xfc)],_0x58c643['datasetCode']);}const _0x219664=await listDatasets(_0x4f92f7),_0x3708fd=new Map(_0x219664[_0x41484f(0x120)](_0x57246e=>[_0x57246e[_0x41484f(0x124)],_0x57246e]));return{'aliasToDatasetCode':_0x1165c1,'datasetCodeToDataset':_0x3708fd};}async function uploadSingleFunction(_0x4cf675,_0x259478,_0x5d6108,_0x2bf34a){const _0x4f61ee=a32_0x246b19,_0x599468=await readFile(_0x259478[_0x4f61ee(0x125)],'utf8'),_0x36be80=await computeFileHash(_0x259478['filePath']),_0x865018=_0x5d6108[_0x4f61ee(0x107)][_0x259478[_0x4f61ee(0xe3)]];if(_0x865018?.[_0x4f61ee(0x119)]&&_0x865018[_0x4f61ee(0xe1)]==null)throw CliErrors[_0x4f61ee(0x116)](_0x259478['lockKey']+_0x4f61ee(0x11b));let _0x685779=extractScriptDescription(_0x599468);if(!_0x685779&&_0x865018?.['remoteId']){const _0x3a32fe=await getBffScriptInfo(_0x865018['remoteId']);_0x685779=_0x3a32fe['description']||undefined;}const _0xc84076={'appCode':_0x4cf675,'functionName':_0x259478[_0x4f61ee(0xdd)],'scriptType':_0x259478[_0x4f61ee(0x10c)],'scriptContent':_0x599468};if(_0x865018?.[_0x4f61ee(0x119)])_0xc84076['id']=_0x865018['remoteId'];if(_0x865018?.[_0x4f61ee(0xe1)]!=null)_0xc84076[_0x4f61ee(0xe1)]=_0x865018[_0x4f61ee(0xe1)];if(_0x685779)_0xc84076[_0x4f61ee(0x113)]=_0x685779;if(_0x259478[_0x4f61ee(0x10c)]===_0x4f61ee(0x100)){const _0x1e1bf4=_0x259478[_0x4f61ee(0xfc)];if(!_0x1e1bf4||!_0x259478['operationType']||!_0x259478[_0x4f61ee(0xe8)])throw CliErrors[_0x4f61ee(0x116)](_0x4f61ee(0xf7)+_0x259478[_0x4f61ee(0xe3)]);const _0x38baf4=_0x2bf34a[_0x4f61ee(0x117)][_0x4f61ee(0xee)](_0x1e1bf4)??_0x865018?.[_0x4f61ee(0xfa)]??_0x1e1bf4,_0xb0ea38=_0x2bf34a[_0x4f61ee(0x10d)][_0x4f61ee(0xee)](_0x38baf4);if(!_0xb0ea38)throw CliErrors[_0x4f61ee(0x116)]('Cannot\x20resolve\x20dataset\x20for\x20\x22'+_0x1e1bf4+_0x4f61ee(0x10b)+(_0x4f61ee(0x121)+CLI_BIN_NAME+'\x20api\x20pull`\x20to\x20refresh\x20api.ts,\x20or\x20verify\x20the\x20dataset\x20exists.'));_0xc84076[_0x4f61ee(0x127)]=_0xb0ea38['id'],_0xc84076[_0x4f61ee(0x105)]=_0x259478[_0x4f61ee(0x105)],_0xc84076[_0x4f61ee(0xe8)]=_0x259478[_0x4f61ee(0xe8)];}const _0x236426=await saveBffScript(_0xc84076),_0x5e88e8=_0x236426['id'],_0x2780cb=_0x236426[_0x4f61ee(0x11c)]??await getBffScriptInfo(_0x5e88e8),_0x4496f1={'hash':_0x36be80,'remoteId':_0x5e88e8,'version':_0x2780cb['version']};if(_0x259478['type']===_0x4f61ee(0x100)){const _0xcdcede=_0x259478[_0x4f61ee(0xfc)],_0x5ae43d=_0x2bf34a['aliasToDatasetCode'][_0x4f61ee(0xee)](_0xcdcede)??_0x865018?.['datasetCode']??_0xcdcede;_0x2bf34a[_0x4f61ee(0x117)][_0x4f61ee(0xef)](_0xcdcede)?_0x4496f1['alias']=_0xcdcede:_0x4496f1['alias']=_0x865018?.[_0x4f61ee(0xfc)],_0x4496f1[_0x4f61ee(0xfa)]=_0x5ae43d,_0x4496f1[_0x4f61ee(0x105)]=_0x259478[_0x4f61ee(0x105)],_0x4496f1[_0x4f61ee(0xe8)]=_0x259478['functionNode'];}_0x5d6108[_0x4f61ee(0x107)][_0x259478['lockKey']]=_0x4496f1;}const LOCK_SETTLE_RETRY_COUNT=0x14,LOCK_SETTLE_DELAY_MS=0x64;async function waitForUploadedLockEntries(_0x575edc,_0x5c3960,_0x429e15){const _0x46332c=a32_0x246b19;if(_0x429e15[_0x46332c(0xf9)]===0x0)return;for(let _0x32c8bf=0x0;_0x32c8bf<LOCK_SETTLE_RETRY_COUNT;_0x32c8bf+=0x1){const _0x2ce0e2=await readBffLockFile(_0x575edc),_0x5ea4e4=_0x2ce0e2?.[_0x46332c(0xde)]?.[_0x5c3960]?.[_0x46332c(0x107)]??{},_0x2d6cba=_0x429e15['every'](_0x518046=>!!_0x5ea4e4[_0x518046]?.['remoteId']);if(_0x2d6cba)return;await sleep(LOCK_SETTLE_DELAY_MS);}throw new Error(_0x46332c(0xdf)+_0x429e15[_0x46332c(0x10f)](',\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')+'.');}
|