@lovrabet/rabetbase-cli 2.2.4-beta.1 → 2.2.4-beta.2
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 -1
- package/lib/commands/menu/shared/compare-table.js +1 -1
- package/lib/commands/menu/shared/index.js +1 -1
- package/lib/commands/menu/shared/inquirer.js +1 -1
- package/lib/commands/menu/shared/local-pages.js +1 -1
- package/lib/commands/menu/shared/logic.js +1 -1
- package/lib/commands/menu/shared/service.js +1 -1
- package/lib/commands/menu/shared/sync-core.js +1 -1
- package/lib/commands/menu/shared/update-core.js +1 -1
- package/lib/commands/menu/shared/valid-url.js +1 -1
- package/lib/commands/menu/sync.js +1 -1
- package/lib/commands/menu/update.js +1 -1
- package/lib/commands/page/generate-start.js +1 -1
- package/lib/commands/page/generate-status.js +1 -1
- package/lib/commands/page/index.js +1 -1
- package/lib/commands/page/pull.js +1 -1
- package/lib/commands/page/push.js +1 -1
- package/lib/commands/page/relation-audit.js +1 -1
- package/lib/commands/page/shared.js +1 -1
- package/lib/commands/page/standard-page-status.js +1 -1
- package/lib/commands/page/sync.js +1 -1
- package/lib/commands/project/create/enhanced-guided-create.js +1 -1
- package/lib/commands/project/create/format-elapsed.js +1 -1
- package/lib/commands/project/create/main.js +1 -1
- package/lib/commands/project/create/non-interactive.js +1 -1
- package/lib/commands/project/create/project-template-path.js +1 -1
- package/lib/commands/project/create/use-copy-project-template.js +1 -1
- package/lib/commands/project/create/use-format-code.js +1 -1
- package/lib/commands/project/create/use-install-dependencies.js +1 -1
- package/lib/commands/project/index.js +1 -1
- package/lib/commands/project/init.js +1 -1
- package/lib/commands/project/upgrade.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/run/index.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/skill/index.js +1 -1
- package/lib/commands/sql/create.js +1 -1
- package/lib/commands/sql/delete.js +1 -1
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/sql/list.js +1 -1
- package/lib/commands/sql/pull.js +1 -1
- package/lib/commands/sql/push.js +1 -1
- package/lib/commands/sql/save.js +1 -1
- package/lib/commands/sql/shared.js +1 -1
- package/lib/commands/sql/status.js +1 -1
- package/lib/commands/sql/validate.js +1 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/cdn.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/paths.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/context.js +1 -1
- package/lib/core/alias-resolver.js +1 -1
- package/lib/core/api-client.js +1 -1
- package/lib/core/bff/config.js +1 -1
- package/lib/core/bff/file-system.js +1 -1
- package/lib/core/bff/hash.js +1 -1
- package/lib/core/bff/lock.js +1 -1
- package/lib/core/bff/utils.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/page/file-system.js +1 -1
- package/lib/core/page/hash.js +1 -1
- package/lib/core/page/lock.js +1 -1
- package/lib/core/sql-sync/config.js +1 -1
- package/lib/core/sql-sync/file-system.js +1 -1
- package/lib/core/sql-sync/hash.js +1 -1
- package/lib/core/sql-sync/lock.js +1 -1
- package/lib/core/sql-sync/utils.js +1 -1
- package/lib/core/sql-validator.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/flags.js +1 -1
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-alias.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.js +1 -1
- package/lib/help.js +1 -1
- package/lib/skills/main.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/telemetry/cli-command-trace.js +1 -1
- package/lib/telemetry/cli-help-trace.js +1 -1
- package/lib/telemetry/ensure-cli-otel-config.js +1 -1
- package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
- package/lib/telemetry/send-cli-trace-log.js +1 -1
- package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
- package/lib/utils/ai_config.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/cdn-config.js +1 -1
- package/lib/utils/check-sdk-version.js +1 -1
- package/lib/utils/cli-version-check.js +1 -1
- package/lib/utils/cli-version-policy.js +1 -1
- package/lib/utils/config.js +1 -1
- package/lib/utils/copy-directory.js +1 -1
- package/lib/utils/entity-with-id.js +1 -1
- package/lib/utils/file-utils.js +1 -1
- package/lib/utils/guides-cdn.js +1 -1
- package/lib/utils/http-client.js +1 -1
- package/lib/utils/is-non-interactive.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/platform.js +1 -1
- package/lib/utils/rules-cdn.js +1 -1
- package/lib/utils/sleep.js +1 -1
- package/lib/utils/template-replacer.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/with-active-cookie.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a19_0x5906(_0x3918a8,_0x52b38f){_0x3918a8=_0x3918a8-0x15b;const _0x18b8a6=a19_0x18b8();let _0x5906a0=_0x18b8a6[_0x3918a8];return _0x5906a0;}const a19_0x28683b=a19_0x5906;function a19_0x18b8(){const _0x8980b8=['3996JwnQGT','666WDIpzB','1136IbpzLa','23573GhRvnj','5535408NQLcOr','appCode','appName','platform','remote','cookie','4858yUEpvl','2Fwrhes','app','read','7787960aUVXFy','9GDIyud','appDesc','492417bWbgYD','List\x20apps\x20available\x20on\x20the\x20platform\x20for\x20the\x20current\x20login','7705gnHLHu','139499IATbvL'];a19_0x18b8=function(){return _0x8980b8;};return a19_0x18b8();}(function(_0x2735e7,_0x349430){const _0x42d4c6=a19_0x5906,_0x26ee27=_0x2735e7();while(!![]){try{const _0x4e27d5=-parseInt(_0x42d4c6(0x16e))/0x1*(parseInt(_0x42d4c6(0x165))/0x2)+parseInt(_0x42d4c6(0x16b))/0x3+parseInt(_0x42d4c6(0x15c))/0x4*(-parseInt(_0x42d4c6(0x16d))/0x5)+parseInt(_0x42d4c6(0x15b))/0x6*(parseInt(_0x42d4c6(0x164))/0x7)+-parseInt(_0x42d4c6(0x15e))/0x8+-parseInt(_0x42d4c6(0x169))/0x9*(-parseInt(_0x42d4c6(0x168))/0xa)+-parseInt(_0x42d4c6(0x15d))/0xb*(-parseInt(_0x42d4c6(0x16f))/0xc);if(_0x4e27d5===_0x349430)break;else _0x26ee27['push'](_0x26ee27['shift']());}catch(_0x16f20e){_0x26ee27['push'](_0x26ee27['shift']());}}}(a19_0x18b8,0x71687));import{listRemoteApps}from'../../core/api-client.js';async function execute(_0x3c0ea6){const _0x476e5e=a19_0x5906,{setActiveCookie:_0x460608}=await import('../../core/api-client.js');_0x460608(_0x3c0ea6[_0x476e5e(0x163)]);const _0x26aa21=await listRemoteApps();return{'ok':!![],'data':{'items':_0x26aa21['map'](_0x23721a=>({..._0x23721a['id']!=null?{'id':_0x23721a['id']}:{},'appCode':_0x23721a[_0x476e5e(0x15f)],'appName':_0x23721a[_0x476e5e(0x160)],..._0x23721a['appDesc']!=null?{'appDesc':_0x23721a[_0x476e5e(0x16a)]}:{}})),'meta':{'source':_0x476e5e(0x161)}}};}export const appRemoteDefinition={'service':a19_0x28683b(0x166),'command':a19_0x28683b(0x162),'description':a19_0x28683b(0x16c),'risk':a19_0x28683b(0x167),'requiresAuth':!![],'requiresAppCode':![],'flags':[],'execute':execute};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x4fa569,_0x571033){const _0x1537af=a20_0x41a5,_0x227fc7=_0x4fa569();while(!![]){try{const _0xe363b5=parseInt(_0x1537af(0xa0))/0x1+-parseInt(_0x1537af(0x9f))/0x2*(-parseInt(_0x1537af(0xa1))/0x3)+-parseInt(_0x1537af(0x9c))/0x4*(-parseInt(_0x1537af(0x9d))/0x5)+parseInt(_0x1537af(0x96))/0x6+-parseInt(_0x1537af(0x98))/0x7*(-parseInt(_0x1537af(0x97))/0x8)+-parseInt(_0x1537af(0x9e))/0x9*(-parseInt(_0x1537af(0x9b))/0xa)+parseInt(_0x1537af(0x9a))/0xb*(-parseInt(_0x1537af(0x99))/0xc);if(_0xe363b5===_0x571033)break;else _0x227fc7['push'](_0x227fc7['shift']());}catch(_0x2cc595){_0x227fc7['push'](_0x227fc7['shift']());}}}(a20_0x41c7,0x526b3));import{appListDefinition}from'../../commands/app/list.js';function a20_0x41c7(){const _0x3e727c=['25173vkdGkM','6FcZIpT','293047KxzzvO','153129eGvwxt','2794224AJGwkK','572104iCdJdg','21gifFcL','47820GJkYYV','4147ViukOH','1630CeXaCQ','8KsaZAi','644005aibbBM'];a20_0x41c7=function(){return _0x3e727c;};return a20_0x41c7();}function a20_0x41a5(_0x2a8c4c,_0x4d9444){_0x2a8c4c=_0x2a8c4c-0x96;const _0x41c7ff=a20_0x41c7();let _0x41a507=_0x41c7ff[_0x2a8c4c];return _0x41a507;}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';export const appDefinitions=[appListDefinition,appRemoteDefinition,appUseDefinition,appAddDefinition,appRemoveDefinition];
|
package/lib/commands/app/list.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a21_0x23a46f=a21_0x44b1;(function(_0x530da5,_0x446d9e){const _0xd46b8d=a21_0x44b1,_0x29044c=_0x530da5();while(!![]){try{const _0x49f2aa=-parseInt(_0xd46b8d(0xb6))/0x1+parseInt(_0xd46b8d(0x9f))/0x2+-parseInt(_0xd46b8d(0x9b))/0x3*(parseInt(_0xd46b8d(0xaa))/0x4)+parseInt(_0xd46b8d(0xa6))/0x5+parseInt(_0xd46b8d(0xb0))/0x6*(-parseInt(_0xd46b8d(0xb5))/0x7)+-parseInt(_0xd46b8d(0xa1))/0x8+parseInt(_0xd46b8d(0x98))/0x9*(parseInt(_0xd46b8d(0xa3))/0xa);if(_0x49f2aa===_0x446d9e)break;else _0x29044c['push'](_0x29044c['shift']());}catch(_0x25f992){_0x29044c['push'](_0x29044c['shift']());}}}(a21_0xf0c5,0xd6384));import{readRawConfigWithLayers}from'../../context.js';function a21_0x44b1(_0x2e0309,_0x450610){_0x2e0309=_0x2e0309-0x8f;const _0xf0c568=a21_0xf0c5();let _0x44b11b=_0xf0c568[_0x2e0309];return _0x44b11b;}import{CLI_BIN_NAME}from'../../constant/cli.js';import{buildAppProfileListFields}from'../../config/schema.js';import{appDefinedIn,enrichAppListItemsWithMergedSelection,resolveDefaultAppSource}from'../../commands/app/shared.js';function buildItemsFromLayer(_0x20c204,_0xd112b2){const _0x22cf62=a21_0x44b1,_0x22645d=[],_0xc9086b=_0x20c204[_0x22cf62(0x94)]&&typeof _0x20c204[_0x22cf62(0x94)]===_0x22cf62(0x97)?_0x20c204['apps']:{},_0x56766c=_0x20c204[_0x22cf62(0xa7)]||undefined;for(const [_0xc9119c,_0x31a09d]of Object[_0x22cf62(0x9a)](_0xc9086b)){if(!_0x31a09d||typeof _0x31a09d!==_0x22cf62(0x97)||!_0x31a09d['appcode'])continue;_0x22645d[_0x22cf62(0xa5)]({'name':_0xc9119c,'appcode':_0x31a09d[_0x22cf62(0xab)],'named':!![],'definedIn':_0xd112b2,'isDefault':_0xc9119c===_0x56766c,...buildAppProfileListFields(_0x31a09d)});}return _0x22645d;}function buildMergedItems(_0x514e61,_0x3cf326){const _0x1565f3=a21_0x44b1,{apps:apps={},defaultApp:_0xb1ff0e}=_0x514e61,_0x18ded7=_0x3cf326[_0x1565f3(0xaf)][_0x1565f3(0x94)]&&typeof _0x3cf326[_0x1565f3(0xaf)][_0x1565f3(0x94)]===_0x1565f3(0x97)?_0x3cf326[_0x1565f3(0xaf)][_0x1565f3(0x94)]:{},_0x1aa1ff=_0x3cf326[_0x1565f3(0xa8)][_0x1565f3(0x94)]&&typeof _0x3cf326[_0x1565f3(0xa8)][_0x1565f3(0x94)]===_0x1565f3(0x97)?_0x3cf326[_0x1565f3(0xa8)]['apps']:{},_0x33426d=_0x3cf326['projectConfig'][_0x1565f3(0x90)]===![],_0x30119f=Object['entries'](apps),_0x1cc1b7=_0x30119f[_0x1565f3(0xb4)](([_0x8e49e4,_0x44087c])=>({'name':_0x8e49e4,'appcode':_0x44087c[_0x1565f3(0xab)],'named':!![],'definedIn':appDefinedIn(_0x8e49e4,_0x18ded7,_0x1aa1ff,_0x33426d),'isDefault':_0x8e49e4===_0xb1ff0e,...buildAppProfileListFields(_0x44087c)}));return _0x1cc1b7;}function a21_0xf0c5(){const _0x58b10f=['Show\x20only\x20apps\x20from\x20global\x20~/.rabetbase.json','project','apps','app','global','object','374571hatsOn','List\x20all\x20configured\x20apps','entries','33wcnJkI','length','\x20config','\x20app\x20add\x20<name>\x20--appcode\x20<code>`\x20to\x20add\x20one.','1448796JGjgaO','isCurrent','5628416jjyUyv','projectPath','470IKXDMp','merged','push','8254680jlPULZ','defaultApp','projectConfig','read','319036KWBSgF','appcode','No\x20apps\x20configured','\x20in\x20','mergedCli','globalConfig','15702ASBIXq','globalPath','list','.\x20Use\x20`','map','1253hysAvc','1404639dLLfAt','find','inherit','bool'];a21_0xf0c5=function(){return _0x58b10f;};return a21_0xf0c5();}async function execute(_0x4b6186){const _0x322126=a21_0x44b1,_0x398009=_0x4b6186[_0x322126(0x91)](_0x322126(0x96)),_0x139527=_0x4b6186[_0x322126(0x91)](_0x322126(0x93)),_0x5ee70a=_0x398009?_0x322126(0x96):_0x139527?_0x322126(0x93):'merged',{config:_0x5b4110,layers:_0x101f15}=readRawConfigWithLayers(),_0x248c07=resolveDefaultAppSource(_0x101f15),{defaultApp:_0x86936c}=_0x5b4110;let _0x3568d2,_0x3c69c9;switch(_0x5ee70a){case'global':_0x3568d2=buildItemsFromLayer(_0x101f15[_0x322126(0xaf)],_0x322126(0x96)),_0x3c69c9=_0x101f15[_0x322126(0xb1)];break;case _0x322126(0x93):_0x3568d2=buildItemsFromLayer(_0x101f15[_0x322126(0xa8)],_0x322126(0x93)),_0x3c69c9=_0x101f15[_0x322126(0xa2)];break;default:_0x3568d2=buildMergedItems(_0x5b4110,_0x101f15);break;}enrichAppListItemsWithMergedSelection(_0x3568d2,_0x4b6186[_0x322126(0xae)]);if(_0x3568d2[_0x322126(0x9c)]===0x0){const _0x2e4e66=_0x5ee70a===_0x322126(0xa4)?'':_0x322126(0xad)+_0x5ee70a+_0x322126(0x9d);return{'ok':!![],'data':[],'message':_0x322126(0xac)+_0x2e4e66+_0x322126(0xb3)+CLI_BIN_NAME+_0x322126(0x9e)};}const _0x4554fc=_0x3568d2[_0x322126(0x8f)](_0x9bdf24=>_0x9bdf24[_0x322126(0xa0)]===!![]),_0x1c82ea=_0x86936c??_0x4554fc?.['appcode']??null,_0x13f6eb=_0x5ee70a===_0x322126(0xa4)?{'globalPath':_0x101f15['globalPath']??null,'projectPath':_0x101f15[_0x322126(0xa2)]??null,'defaultApp':_0x1c82ea,'defaultAppSource':_0x86936c!=null?_0x248c07:null}:{'scope':_0x5ee70a,'configPath':_0x3c69c9??null};return{'ok':!![],'data':{'items':_0x3568d2,'meta':_0x13f6eb}};}export const appListDefinition={'service':a21_0x23a46f(0x95),'command':a21_0x23a46f(0xb2),'description':a21_0x23a46f(0x99),'risk':a21_0x23a46f(0xa9),'requiresAuth':![],'requiresAppCode':![],'flags':[{'name':'global','type':'boolean','description':a21_0x23a46f(0x92),'default':![]},{'name':'project','type':'boolean','description':'Show\x20only\x20apps\x20from\x20project\x20.rabetbase.json','default':![]}],'execute':execute};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a22_0x3f43(){const _0x5f0dfa=['apps','1216362ikBivV','735180OorNic','trim','7tarSnw','App\x20profile\x20name\x20to\x20remove','1576602dKGEPd','\x20Default\x20app\x20changed\x20to\x20\x22','2ztmjBZ','1376776qpuelI','defaultApp','Missing\x20app\x20name.','inherit','projectConfig','App\x20\x22','high-risk-write','25554OCAlhe','Use\x20global\x20config\x20scope','\x20config.','bool','project','keys','Remove\x20an\x20app\x20from\x20config','validation','boolean','args','294204NdnOsa','globalConfig','global','object','Usage:\x20','length','\x20Note:\x20app\x20\x22','1221100wrouor','36dFfCUt','Removed\x20app\x20\x22'];a22_0x3f43=function(){return _0x5f0dfa;};return a22_0x3f43();}const a22_0x1be572=a22_0x55a8;(function(_0x4e4f75,_0x4c0be9){const _0x5f1272=a22_0x55a8,_0x44a847=_0x4e4f75();while(!![]){try{const _0x213a61=-parseInt(_0x5f1272(0x6a))/0x1+-parseInt(_0x5f1272(0x86))/0x2*(-parseInt(_0x5f1272(0x7f))/0x3)+parseInt(_0x5f1272(0x74))/0x4+-parseInt(_0x5f1272(0x80))/0x5+parseInt(_0x5f1272(0x84))/0x6+-parseInt(_0x5f1272(0x82))/0x7*(-parseInt(_0x5f1272(0x87))/0x8)+-parseInt(_0x5f1272(0x7c))/0x9*(parseInt(_0x5f1272(0x7b))/0xa);if(_0x213a61===_0x4c0be9)break;else _0x44a847['push'](_0x44a847['shift']());}catch(_0x420ab0){_0x44a847['push'](_0x44a847['shift']());}}}(a22_0x3f43,0x3dba7));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{readRawConfigWithLayers}from'../../context.js';import{readConfig,writeConfig,scopeLabel,resolveAppScopeForWrite,appDefinedIn}from'../../commands/app/shared.js';function a22_0x55a8(_0x4ad154,_0x382bf6){_0x4ad154=_0x4ad154-0x65;const _0x3f43f5=a22_0x3f43();let _0x55a8f3=_0x3f43f5[_0x4ad154];return _0x55a8f3;}async function validateArgs(_0xa62d41){const _0x5ce1a9=a22_0x55a8,_0x191c15=_0xa62d41[_0x5ce1a9(0x73)][0x0]?.[_0x5ce1a9(0x81)]();if(!_0x191c15)throw CliErrors[_0x5ce1a9(0x71)](_0x5ce1a9(0x65),_0x5ce1a9(0x78)+CLI_BIN_NAME+'\x20app\x20remove\x20<name>\x20[--global]');}async function execute(_0x4ed36f){const _0x3aa55d=a22_0x55a8,_0x486dc1=_0x4ed36f['args'][0x0]?.['trim']();if(!_0x486dc1)throw CliErrors[_0x3aa55d(0x71)]('Missing\x20app\x20name.',_0x3aa55d(0x78)+CLI_BIN_NAME+'\x20app\x20remove\x20<name>\x20[--global]');const _0x46e751=_0x4ed36f[_0x3aa55d(0x6d)](_0x3aa55d(0x76)),{config:_0x5e4cf1,layers:_0x230bdb}=readRawConfigWithLayers(),_0x3b3f5e=_0x5e4cf1[_0x3aa55d(0x7e)]??{};if(!_0x3b3f5e[_0x486dc1])throw CliErrors[_0x3aa55d(0x71)]('App\x20\x22'+_0x486dc1+'\x22\x20not\x20found.');const _0x172c50=_0x230bdb[_0x3aa55d(0x75)][_0x3aa55d(0x7e)]&&typeof _0x230bdb['globalConfig']['apps']===_0x3aa55d(0x77)?_0x230bdb[_0x3aa55d(0x75)][_0x3aa55d(0x7e)]:{},_0xb09a7e=_0x230bdb[_0x3aa55d(0x67)][_0x3aa55d(0x7e)]&&typeof _0x230bdb[_0x3aa55d(0x67)][_0x3aa55d(0x7e)]===_0x3aa55d(0x77)?_0x230bdb[_0x3aa55d(0x67)]['apps']:{},_0x5d74ea=appDefinedIn(_0x486dc1,_0x172c50,_0xb09a7e,_0x230bdb[_0x3aa55d(0x67)][_0x3aa55d(0x66)]===![]),_0x2b8346=resolveAppScopeForWrite(_0x486dc1,_0x46e751,_0x230bdb),_0xa1fcb1={'global':_0x2b8346===_0x3aa55d(0x76)},_0xbe796f=readConfig(_0xa1fcb1),_0x21b0ac=_0xbe796f[_0x3aa55d(0x7e)];if(!_0x21b0ac||!_0x21b0ac[_0x486dc1])throw CliErrors['validation'](_0x3aa55d(0x68)+_0x486dc1+'\x22\x20not\x20found.');delete _0x21b0ac[_0x486dc1];let _0x51b95e='';if(_0xbe796f['defaultApp']===_0x486dc1){const _0x31134c=Object['keys'](_0x21b0ac);_0xbe796f[_0x3aa55d(0x88)]=_0x31134c[_0x3aa55d(0x79)]>0x0?_0x31134c[0x0]:undefined,_0xbe796f['defaultApp']?_0x51b95e=_0x3aa55d(0x85)+_0xbe796f['defaultApp']+'\x22.':delete _0xbe796f[_0x3aa55d(0x88)];}Object[_0x3aa55d(0x6f)](_0x21b0ac)[_0x3aa55d(0x79)]===0x0&&(delete _0xbe796f[_0x3aa55d(0x7e)],delete _0xbe796f['defaultApp']);writeConfig(_0xbe796f,_0xa1fcb1);const _0x298067=_0x5d74ea==='both'?_0x3aa55d(0x7a)+_0x486dc1+'\x22\x20still\x20defined\x20in\x20'+(_0x2b8346==='project'?'global':_0x3aa55d(0x6e))+_0x3aa55d(0x6c):'';return{'ok':!![],'message':_0x3aa55d(0x7d)+_0x486dc1+'\x22'+scopeLabel(_0xa1fcb1)+'.'+_0x51b95e+_0x298067};}export const appRemoveDefinition={'service':'app','command':'remove','description':a22_0x1be572(0x70),'risk':a22_0x1be572(0x69),'requiresAuth':![],'requiresAppCode':![],'args':[{'name':'name','description':a22_0x1be572(0x83),'required':!![]}],'flags':[{'name':a22_0x1be572(0x76),'type':a22_0x1be572(0x72),'description':a22_0x1be572(0x6b),'default':![]}],'validate':validateArgs,'execute':execute};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x2fb8f5,_0x30d633){const _0x56939e=a23_0x8952,_0x35eecc=_0x2fb8f5();while(!![]){try{const _0x3d9b4f=-parseInt(_0x56939e(0x161))/0x1+-parseInt(_0x56939e(0x14f))/0x2*(parseInt(_0x56939e(0x160))/0x3)+parseInt(_0x56939e(0x14b))/0x4*(parseInt(_0x56939e(0x165))/0x5)+parseInt(_0x56939e(0x153))/0x6+parseInt(_0x56939e(0x15b))/0x7*(parseInt(_0x56939e(0x162))/0x8)+parseInt(_0x56939e(0x149))/0x9*(parseInt(_0x56939e(0x163))/0xa)+-parseInt(_0x56939e(0x168))/0xb;if(_0x3d9b4f===_0x30d633)break;else _0x35eecc['push'](_0x35eecc['shift']());}catch(_0x251088){_0x35eecc['push'](_0x35eecc['shift']());}}}(a23_0x3b4f,0xbdd09));import{resolveWriteConfigPath,readConfigFile,writeConfigFile}from'../../context.js';export function enrichAppListItemsWithMergedSelection(_0x1d53c0,_0x5ecced){const _0x321948=a23_0x8952;if(!_0x5ecced)return;const _0x476996=_0x5ecced[_0x321948(0x150)]&&typeof _0x5ecced['apps']===_0x321948(0x15d)?_0x5ecced['apps']:{},_0x16f497=Object[_0x321948(0x148)](_0x476996)['length']>0x0;for(const _0x54411c of _0x1d53c0){_0x54411c[_0x321948(0x152)]=![];}const _0x7bc4a1=_0x5ecced[_0x321948(0x15f)]!=null?String(_0x5ecced['appCode'])[_0x321948(0x164)]():'';if(_0x16f497){const _0x47792c=_0x5ecced[_0x321948(0x157)]??_0x5ecced[_0x321948(0x14c)];if(_0x47792c)for(const _0x32c462 of _0x1d53c0){_0x32c462[_0x321948(0x159)]===!![]&&_0x32c462[_0x321948(0x14a)]===_0x47792c&&(_0x32c462[_0x321948(0x152)]=!![]);}for(const _0x36f474 of _0x1d53c0){if(_0x36f474[_0x321948(0x159)]!==![])continue;if(_0x5ecced[_0x321948(0x14c)])continue;_0x7bc4a1&&String(_0x36f474[_0x321948(0x156)]??'')[_0x321948(0x164)]()===_0x7bc4a1&&(_0x36f474[_0x321948(0x152)]=!![]);}return;}if(!_0x7bc4a1)return;for(const _0x13665e of _0x1d53c0){String(_0x13665e[_0x321948(0x156)]??'')[_0x321948(0x164)]()===_0x7bc4a1&&(_0x13665e[_0x321948(0x152)]=!![]);}}export function resolveAppScopeForWrite(_0x4483e9,_0x566b2e,_0xa18fef){const _0x6832fc=a23_0x8952;if(_0x566b2e)return _0x6832fc(0x158);const _0x35b47c=_0xa18fef[_0x6832fc(0x151)][_0x6832fc(0x150)]&&typeof _0xa18fef['projectConfig'][_0x6832fc(0x150)]==='object'?_0xa18fef[_0x6832fc(0x151)][_0x6832fc(0x150)]:{},_0x11f5d8=_0xa18fef[_0x6832fc(0x14e)][_0x6832fc(0x150)]&&typeof _0xa18fef[_0x6832fc(0x14e)][_0x6832fc(0x150)]===_0x6832fc(0x15d)?_0xa18fef[_0x6832fc(0x14e)]['apps']:{};if(Object['prototype'][_0x6832fc(0x167)][_0x6832fc(0x166)](_0x35b47c,_0x4483e9))return _0x6832fc(0x15a);if(Object[_0x6832fc(0x15c)][_0x6832fc(0x167)][_0x6832fc(0x166)](_0x11f5d8,_0x4483e9))return _0x6832fc(0x158);return _0x6832fc(0x15a);}export function appDefinedIn(_0x4488bc,_0x3c408a,_0x338143,_0x5e2ec1){const _0x455323=a23_0x8952;if(_0x5e2ec1)return Object[_0x455323(0x15c)]['hasOwnProperty'][_0x455323(0x166)](_0x338143,_0x4488bc)?_0x455323(0x15a):'global';const _0x5cf56c=Object[_0x455323(0x15c)][_0x455323(0x167)]['call'](_0x3c408a,_0x4488bc),_0x2923c8=Object[_0x455323(0x15c)][_0x455323(0x167)]['call'](_0x338143,_0x4488bc);if(_0x5cf56c&&_0x2923c8)return _0x455323(0x155);if(_0x2923c8)return _0x455323(0x15a);return _0x455323(0x158);}export function resolveDefaultAppSource(_0x5c47c0){const _0x3a441b=a23_0x8952,_0xfd7f51=_0x5c47c0[_0x3a441b(0x151)][_0x3a441b(0x150)]&&typeof _0x5c47c0[_0x3a441b(0x151)][_0x3a441b(0x150)]===_0x3a441b(0x15d)?_0x5c47c0['projectConfig'][_0x3a441b(0x150)]:{};if(_0x3a441b(0x14c)in _0x5c47c0[_0x3a441b(0x151)])return _0x3a441b(0x15a);if(Object[_0x3a441b(0x148)](_0xfd7f51)[_0x3a441b(0x14d)]>0x0)return _0x3a441b(0x15a);if(_0x5c47c0['projectConfig'][_0x3a441b(0x154)]===![])return null;if(_0x5c47c0[_0x3a441b(0x14e)][_0x3a441b(0x14c)])return'global';return null;}export function getConfigPath(_0x1f04b1={}){const _0x14d7ea=a23_0x8952,_0x217354=_0x1f04b1['global']?_0x14d7ea(0x158):'project';return resolveWriteConfigPath(_0x217354);}function a23_0x3b4f(){const _0xf5c0fc=['40RwjtzR','call','hasOwnProperty','16685229hXVzkA','keys','2090763apDQJw','name','398496JNhXOh','defaultApp','length','globalConfig','2TPkZAV','apps','projectConfig','isCurrent','7683084vYYoJh','inherit','both','appcode','currentApp','global','named','project','14HZLbmD','prototype','object','\x20(global)','appCode','764358ydMqDL','1412176ScZuwf','3818192vRlfjR','40uzwirj','trim'];a23_0x3b4f=function(){return _0xf5c0fc;};return a23_0x3b4f();}function a23_0x8952(_0x18d78b,_0x5f1330){_0x18d78b=_0x18d78b-0x148;const _0x3b4f00=a23_0x3b4f();let _0x89523c=_0x3b4f00[_0x18d78b];return _0x89523c;}export function readConfig(_0x37ff7e={}){return readConfigFile(getConfigPath(_0x37ff7e));}export function writeConfig(_0x4556db,_0x1f3cda={}){writeConfigFile(getConfigPath(_0x1f3cda),_0x4556db);}export function scopeLabel(_0xf6baa7){const _0x4bbd3a=a23_0x8952;return _0xf6baa7['global']?_0x4bbd3a(0x15e):'';}
|
package/lib/commands/app/use.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a24_0x58c085=a24_0x25ae;function a24_0x5553(){const _0x1a26b3=['8811528VyzVYr','\x0aNote:\x20\x22','object','length','27978OLZCUl','\x20app\x20add\x20','trim','Switch\x20the\x20default\x20app','449UCWetM','App\x20profile\x20name\x20to\x20activate','\x20app\x20use\x20<name>\x20[--global]','\x22\x20(appcode:\x20','bool','Missing\x20app\x20name.','18pRybCA','app','keys','1530lTGlVW','args','1190228dGPvJW','validation','hasOwnProperty','\x22\x20was\x20defined\x20in\x20global\x20config;\x20profile\x20copied\x20into\x20project\x20so\x20the\x20project\x20config\x20self-resolves\x20under\x20the\x20default\x20project-first\x20inherit\x20policy.','use','55Shzron','global','projectPath','boolean','\x20--appcode\x20<code>`\x20first.','globalConfig','App\x20\x22','Available:\x20','1020690dzaTVd','appcode','apps','Use\x20global\x20config\x20scope','1235210QBkoPE','1110472YJEVNW','join','defaultApp','7tIHfeh'];a24_0x5553=function(){return _0x1a26b3;};return a24_0x5553();}(function(_0xae4844,_0x270b8d){const _0x1c28eb=a24_0x25ae,_0x403ff3=_0xae4844();while(!![]){try{const _0xddb98c=-parseInt(_0x1c28eb(0xb8))/0x1*(-parseInt(_0x1c28eb(0xc1))/0x2)+-parseInt(_0x1c28eb(0xa7))/0x3+-parseInt(_0x1c28eb(0xc3))/0x4+-parseInt(_0x1c28eb(0xc8))/0x5*(-parseInt(_0x1c28eb(0xb4))/0x6)+parseInt(_0x1c28eb(0xaf))/0x7*(-parseInt(_0x1c28eb(0xac))/0x8)+parseInt(_0x1c28eb(0xbe))/0x9*(-parseInt(_0x1c28eb(0xab))/0xa)+parseInt(_0x1c28eb(0xb0))/0xb;if(_0xddb98c===_0x270b8d)break;else _0x403ff3['push'](_0x403ff3['shift']());}catch(_0x1cc107){_0x403ff3['push'](_0x403ff3['shift']());}}}(a24_0x5553,0x2a09c));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(_0x4e85b4){const _0x5ad5c5=a24_0x25ae,_0x274761=_0x4e85b4[_0x5ad5c5(0xc2)][0x0]?.[_0x5ad5c5(0xb6)]();if(!_0x274761)throw CliErrors[_0x5ad5c5(0xc4)]('Missing\x20app\x20name.','Usage:\x20'+CLI_BIN_NAME+_0x5ad5c5(0xba));}function a24_0x25ae(_0x3c40cf,_0x4c63f3){_0x3c40cf=_0x3c40cf-0xa5;const _0x555384=a24_0x5553();let _0x25ae07=_0x555384[_0x3c40cf];return _0x25ae07;}async function execute(_0x584bca){const _0x2b5fb2=a24_0x25ae,_0x5e50e9=_0x584bca['args'][0x0]?.[_0x2b5fb2(0xb6)]();if(!_0x5e50e9)throw CliErrors[_0x2b5fb2(0xc4)](_0x2b5fb2(0xbd),'Usage:\x20'+CLI_BIN_NAME+_0x2b5fb2(0xba));const _0x6e699c=_0x584bca[_0x2b5fb2(0xbc)](_0x2b5fb2(0xc9)),{config:_0x41f5c0,layers:_0x3e9456}=readRawConfigWithLayers(),_0x5a0a8f=_0x41f5c0[_0x2b5fb2(0xa9)]??{},_0x2c0164=_0x3e9456[_0x2b5fb2(0xcd)][_0x2b5fb2(0xa9)]&&typeof _0x3e9456['globalConfig']['apps']===_0x2b5fb2(0xb2)?_0x3e9456[_0x2b5fb2(0xcd)][_0x2b5fb2(0xa9)]:{},_0x4f6430={..._0x2c0164,..._0x5a0a8f};if(!_0x4f6430[_0x5e50e9]){const _0x7efb79=Object[_0x2b5fb2(0xc0)](_0x4f6430),_0x52a6e4=_0x7efb79[_0x2b5fb2(0xb3)]===0x0?'Use\x20`'+CLI_BIN_NAME+_0x2b5fb2(0xb5)+_0x5e50e9+_0x2b5fb2(0xcc):_0x2b5fb2(0xa6)+_0x7efb79[_0x2b5fb2(0xad)](',\x20');throw CliErrors['validation'](_0x2b5fb2(0xa5)+_0x5e50e9+'\x22\x20not\x20found.',_0x52a6e4);}let _0x5df90c,_0x33e3fd='';if(_0x6e699c)_0x5df90c={'global':!![]};else{const _0x3bf95d=isInProject()&&!!_0x3e9456[_0x2b5fb2(0xca)];_0x5df90c={'global':!_0x3bf95d};}const _0xb3bcb9=readConfig(_0x5df90c);_0xb3bcb9[_0x2b5fb2(0xae)]=_0x5e50e9;if(!_0x5df90c[_0x2b5fb2(0xc9)]){const _0x54e327=_0xb3bcb9['apps']&&typeof _0xb3bcb9['apps']===_0x2b5fb2(0xb2)?_0xb3bcb9['apps']:{};!Object['prototype'][_0x2b5fb2(0xc5)]['call'](_0x54e327,_0x5e50e9)&&(_0xb3bcb9[_0x2b5fb2(0xa9)]={..._0x54e327,[_0x5e50e9]:_0x4f6430[_0x5e50e9]},_0x33e3fd=_0x2b5fb2(0xb1)+_0x5e50e9+_0x2b5fb2(0xc6));}return writeConfig(_0xb3bcb9,_0x5df90c),{'ok':!![],'message':'Default\x20app\x20set\x20to\x20\x22'+_0x5e50e9+_0x2b5fb2(0xbb)+_0x4f6430[_0x5e50e9][_0x2b5fb2(0xa8)]+')'+scopeLabel(_0x5df90c)+_0x33e3fd};}export const appUseDefinition={'service':a24_0x58c085(0xbf),'command':a24_0x58c085(0xc7),'description':a24_0x58c085(0xb7),'risk':'write','requiresAuth':![],'requiresAppCode':![],'args':[{'name':'name','description':a24_0x58c085(0xb9),'required':!![]}],'flags':[{'name':a24_0x58c085(0xc9),'type':a24_0x58c085(0xcb),'description':a24_0x58c085(0xaa),'default':![]}],'validate':validateArgs,'execute':execute};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a25_0x186809=a25_0x1a93;(function(_0xbff3a0,_0x15866c){const _0x9eff04=a25_0x1a93,_0x33ee97=_0xbff3a0();while(!![]){try{const _0x207585=-parseInt(_0x9eff04(0x84))/0x1*(parseInt(_0x9eff04(0x7f))/0x2)+parseInt(_0x9eff04(0x86))/0x3*(-parseInt(_0x9eff04(0x7d))/0x4)+-parseInt(_0x9eff04(0x83))/0x5+parseInt(_0x9eff04(0x8c))/0x6*(parseInt(_0x9eff04(0x7c))/0x7)+-parseInt(_0x9eff04(0x91))/0x8+-parseInt(_0x9eff04(0x7a))/0x9+parseInt(_0x9eff04(0x8d))/0xa*(parseInt(_0x9eff04(0x80))/0xb);if(_0x207585===_0x15866c)break;else _0x33ee97['push'](_0x33ee97['shift']());}catch(_0x4cb0b2){_0x33ee97['push'](_0x33ee97['shift']());}}}(a25_0x8d6a,0xdfc71));import{unlinkSync,existsSync}from'node:fs';import{cookieFile}from'../../auth/constant.js';function a25_0x1a93(_0x3f00f4,_0x5c89e6){_0x3f00f4=_0x3f00f4-0x7a;const _0x8d6a44=a25_0x8d6a();let _0x1a9355=_0x8d6a44[_0x3f00f4];return _0x1a9355;}export const authDefinitions=[{'service':a25_0x186809(0x8e),'command':a25_0x186809(0x8b),'description':a25_0x186809(0x7e),'risk':a25_0x186809(0x85),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a25_0x186809(0x88),'type':a25_0x186809(0x8f),'description':a25_0x186809(0x7b),'default':![]}],async 'execute'(_0x4e5de6){const _0x2fa5cb=a25_0x186809,{runAuthServer:_0x25b0a2}=await import('../../auth/auth-server-ui.js');return await _0x25b0a2({'autoYes':_0x4e5de6[_0x2fa5cb(0x81)](_0x2fa5cb(0x88)),'nonInteractive':_0x4e5de6[_0x2fa5cb(0x8a)]}),{'ok':!![]};}},{'service':'auth','command':a25_0x186809(0x89),'description':a25_0x186809(0x87),'risk':a25_0x186809(0x90),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x530f3d){const _0x240468=a25_0x186809;return existsSync(cookieFile)?(unlinkSync(cookieFile),console['log'](_0x240468(0x82))):console['log'](_0x240468(0x92)),{'ok':!![]};}}];function a25_0x8d6a(){const _0x143f36=['15230241SRAxkT','Skip\x20login\x20confirmation\x20and\x20start\x20browser\x20auth\x20immediately','1227086aSVtNt','52ddNiBb','Login\x20via\x20browser','4wGoosh','55QvktAj','bool','✓\x20Logged\x20out','5592300GvzGzK','164534vMhJtw','read','118527fSXGRf','Clear\x20login\x20session','yes','logout','nonInteractive','login','6SVlAWm','10020810lWKHYd','auth','boolean','write','4925728hPXpaP','!\x20Not\x20logged\x20in'];a25_0x8d6a=function(){return _0x143f36;};return a25_0x8d6a();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a26_0x252dd9=a26_0x20dc;(function(_0x517abb,_0x13570d){const _0x4c84ad=a26_0x20dc,_0x9feb02=_0x517abb();while(!![]){try{const _0x1f3349=-parseInt(_0x4c84ad(0x165))/0x1+-parseInt(_0x4c84ad(0x18b))/0x2+-parseInt(_0x4c84ad(0x1b9))/0x3+-parseInt(_0x4c84ad(0x188))/0x4+parseInt(_0x4c84ad(0x184))/0x5+-parseInt(_0x4c84ad(0x1aa))/0x6*(parseInt(_0x4c84ad(0x168))/0x7)+parseInt(_0x4c84ad(0x1b3))/0x8*(parseInt(_0x4c84ad(0x177))/0x9);if(_0x1f3349===_0x13570d)break;else _0x9feb02['push'](_0x9feb02['shift']());}catch(_0x40777e){_0x9feb02['push'](_0x9feb02['shift']());}}}(a26_0xbe9f,0x5c0f1));function a26_0x20dc(_0x1c2569,_0x38b1f2){_0x1c2569=_0x1c2569-0x165;const _0xbe9f86=a26_0xbe9f();let _0x20dc80=_0xbe9f86[_0x1c2569];return _0x20dc80;}import{createInterface}from'node:readline';import{mkdir,writeFile}from'node:fs/promises';import{dirname,join}from'node:path';import{listDatasets,listBffDatasetOperations}from'../../core/api-client.js';import{loadAliasMap,resolveAlias}from'../../core/alias-resolver.js';import{resolveApiFilePath}from'../../context.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{fileExists}from'../../core/bff/file-system.js';import{isValidBffFunctionName,normalizeHookFunctionNode}from'../../core/bff/utils.js';import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';export const bffCreate={'service':a26_0x252dd9(0x1ab),'command':a26_0x252dd9(0x19f),'description':'Scaffold\x20a\x20new\x20BFF\x20function\x20from\x20template','risk':a26_0x252dd9(0x1af),'flags':[{'name':'type','type':a26_0x252dd9(0x1ae),'required':!![],'enum':['COMMON','ENDPOINT',a26_0x252dd9(0x191)],'description':a26_0x252dd9(0x186)},{'name':a26_0x252dd9(0x1a7),'type':a26_0x252dd9(0x1ae),'required':!![],'description':a26_0x252dd9(0x17d)},{'name':a26_0x252dd9(0x196),'type':a26_0x252dd9(0x1ae),'description':a26_0x252dd9(0x185)},{'name':a26_0x252dd9(0x189),'type':a26_0x252dd9(0x1ae),'description':a26_0x252dd9(0x16b)},{'name':a26_0x252dd9(0x1b5),'type':'string','description':a26_0x252dd9(0x180)},{'name':a26_0x252dd9(0x179),'type':a26_0x252dd9(0x1ae),'description':a26_0x252dd9(0x172)},{'name':a26_0x252dd9(0x16e),'type':'string','description':a26_0x252dd9(0x18a),'enum':[a26_0x252dd9(0x1b4),a26_0x252dd9(0x1a2)]}],async 'validate'(_0x2ee0a4){const _0x30e180=a26_0x252dd9,_0x12a3c7=_0x2ee0a4[_0x30e180(0x171)]('name');if(!isValidBffFunctionName(_0x12a3c7))throw CliErrors[_0x30e180(0x17a)]('Invalid\x20function\x20name\x20\x22'+_0x12a3c7+'\x22.\x20Must\x20be\x20a\x20valid\x20JS\x20identifier\x20(e.g.\x20createOrder,\x20beforeFilter).');},async 'execute'(_0x28fce3){const _0xb95658=a26_0x252dd9,_0x6cbbcc=loadBffProjectConfig(_0x28fce3[_0xb95658(0x1a5)]),_0x25e99e=_0x28fce3[_0xb95658(0x171)](_0xb95658(0x198)),_0x2e3a8e=_0x28fce3['str']('name'),_0x32ea18=_0x28fce3[_0xb95658(0x171)]('description')||undefined,_0x8f3215=_0x25e99e===_0xb95658(0x191)?await resolveHookOptions(_0x6cbbcc,_0x28fce3):undefined,_0x3b8f04=buildFilePath(_0x6cbbcc,_0x25e99e,_0x2e3a8e,_0x8f3215);if(await fileExists(_0x3b8f04))throw CliErrors[_0xb95658(0x17a)](_0xb95658(0x17e)+_0x3b8f04);await mkdir(dirname(_0x3b8f04),{'recursive':!![]});const _0x5e1a24=generateTemplate(_0x25e99e,_0x2e3a8e,_0x28fce3[_0xb95658(0x1a5)],_0x32ea18,_0x8f3215);await writeFile(_0x3b8f04,_0x5e1a24,'utf8');const _0x5c9f62={'type':_0x25e99e,'name':_0x2e3a8e,'path':_0x3b8f04};if(_0x32ea18)_0x5c9f62[_0xb95658(0x196)]=_0x32ea18;if(_0x8f3215){if(_0x8f3215[_0xb95658(0x189)])_0x5c9f62[_0xb95658(0x189)]=_0x8f3215[_0xb95658(0x189)];_0x5c9f62[_0xb95658(0x1b0)]=_0x8f3215[_0xb95658(0x1b0)],_0x5c9f62[_0xb95658(0x18c)]=_0x8f3215[_0xb95658(0x18c)],_0x5c9f62[_0xb95658(0x178)]=_0x8f3215[_0xb95658(0x178)];}return{'ok':!![],'data':_0x5c9f62,'message':_0xb95658(0x19b)+_0x25e99e+'\x20function:\x20'+_0x2e3a8e};}};async function resolveHookOptions(_0x4417c0,_0x19f3a9){const _0x29a44c=a26_0x252dd9,_0x5c9d16=loadAliasMap(_0x19f3a9[_0x29a44c(0x1ac)],undefined,resolveApiFilePath(_0x19f3a9[_0x29a44c(0x1ac)],_0x19f3a9[_0x29a44c(0x1a5)])),_0x344f35=_0x5c9d16[_0x29a44c(0x173)]>0x0;let _0x2b22d8,_0x31dc4b,_0x545730;const _0x78e9f4=_0x19f3a9[_0x29a44c(0x171)](_0x29a44c(0x189)),_0x539db9=_0x19f3a9['str'](_0x29a44c(0x1b5));if(_0x78e9f4){const _0x374e77=resolveAlias(_0x19f3a9[_0x29a44c(0x1ac)],_0x78e9f4,undefined,resolveApiFilePath(_0x19f3a9[_0x29a44c(0x1ac)],_0x19f3a9['appCode']));if(!_0x374e77){const _0x33315d=_0x344f35?'Available\x20aliases:\x20'+_0x5c9d16[_0x29a44c(0x190)](_0x1626de=>_0x1626de[_0x29a44c(0x189)])[_0x29a44c(0x174)](',\x20'):_0x29a44c(0x193)+CLI_BIN_NAME+'\x20api\x20pull`\x20first,\x20or\x20use\x20--datasetcode\x20instead.';throw CliErrors[_0x29a44c(0x17a)](_0x29a44c(0x16a)+_0x78e9f4+'\x22\x20not\x20found.\x20'+_0x33315d);}_0x2b22d8=_0x78e9f4,_0x31dc4b=_0x374e77;}else{if(_0x539db9){_0x31dc4b=_0x539db9;const _0x196bb0=_0x5c9d16[_0x29a44c(0x1b6)](_0x10bc93=>_0x10bc93[_0x29a44c(0x1b0)]===_0x539db9);_0x2b22d8=_0x196bb0?.[_0x29a44c(0x189)];}else{if(_0x19f3a9[_0x29a44c(0x195)])throw CliErrors[_0x29a44c(0x17a)](_0x29a44c(0x175));else{if(_0x344f35){const _0x25b532=_0x5c9d16['map'](_0x164a65=>_0x164a65['alias']+'\x20('+_0x164a65[_0x29a44c(0x1b7)]+')'),_0x2d06b2=await promptSelect('Select\x20dataset:',_0x25b532),_0x30e6f5=_0x5c9d16[_0x2d06b2];if(!_0x30e6f5)throw CliErrors[_0x29a44c(0x17a)](_0x29a44c(0x1b8));_0x2b22d8=_0x30e6f5[_0x29a44c(0x189)],_0x31dc4b=_0x30e6f5['datasetCode'];}else{const _0xc4eba=await listDatasets(_0x19f3a9[_0x29a44c(0x1a5)]);if(_0xc4eba[_0x29a44c(0x173)]===0x0)throw CliErrors[_0x29a44c(0x17a)](_0x29a44c(0x1bb));const _0x1b3200=_0xc4eba[_0x29a44c(0x190)](_0x1b1e64=>_0x1b1e64[_0x29a44c(0x1a7)]+'\x20['+(_0x1b1e64[_0x29a44c(0x183)]??'UNKNOWN')+_0x29a44c(0x187)+_0x1b1e64['code']+')'),_0x20b570=await promptSelect(_0x29a44c(0x192),_0x1b3200),_0x32bb84=_0xc4eba[_0x20b570];if(!_0x32bb84)throw CliErrors[_0x29a44c(0x17a)](_0x29a44c(0x1b8));_0x31dc4b=_0x32bb84[_0x29a44c(0x18e)],_0x2b22d8=undefined;}}}}const _0x230e43=await listDatasets(_0x19f3a9[_0x29a44c(0x1a5)]),_0x38bcd7=_0x230e43[_0x29a44c(0x1b6)](_0x4cbb68=>_0x4cbb68[_0x29a44c(0x18e)]===_0x31dc4b);if(!_0x38bcd7)throw CliErrors[_0x29a44c(0x17a)]('Dataset\x20not\x20found\x20for\x20code\x20\x22'+_0x31dc4b+'\x22.\x20'+(_0x2b22d8?'The\x20api.ts\x20may\x20be\x20stale\x20—\x20run\x20`'+CLI_BIN_NAME+_0x29a44c(0x18f):''));_0x545730=_0x38bcd7['id'];const _0x215217=_0x2b22d8??_0x31dc4b,_0x778572=await listBffDatasetOperations(_0x19f3a9[_0x29a44c(0x1a5)],_0x545730),_0x3a98d3=_0x778572?Object[_0x29a44c(0x182)](_0x778572):[];if(_0x3a98d3[_0x29a44c(0x173)]===0x0)throw CliErrors[_0x29a44c(0x17a)](_0x29a44c(0x16f)+_0x215217+'.');let _0x171b09;const _0x554969=_0x19f3a9[_0x29a44c(0x171)]('operation-type');if(_0x554969){if(!_0x3a98d3['includes'](_0x554969))throw CliErrors[_0x29a44c(0x17a)]('Operation\x20type\x20\x22'+_0x554969+_0x29a44c(0x1b2)+_0x215217+'.\x20'+(_0x29a44c(0x170)+_0x3a98d3['join'](',\x20')));_0x171b09=_0x554969;}else{if(_0x19f3a9[_0x29a44c(0x195)])throw CliErrors['validation'](_0x29a44c(0x199));const _0x4c2a38=await promptSelect(_0x29a44c(0x166),_0x3a98d3);_0x171b09=_0x3a98d3[_0x4c2a38]??_0x3a98d3[0x0];}let _0x160927=normalizeHookFunctionNode(_0x19f3a9[_0x29a44c(0x171)]('function-node'));if(!_0x160927){if(_0x19f3a9[_0x29a44c(0x171)]('function-node'))throw CliErrors['validation'](_0x29a44c(0x1ad));if(_0x19f3a9[_0x29a44c(0x195)])throw CliErrors['validation'](_0x29a44c(0x1a8));const _0x56ae7b=await promptSelect(_0x29a44c(0x1b1),[_0x29a44c(0x1b4),'after']);_0x160927=[_0x29a44c(0x1b4),_0x29a44c(0x1a2)][_0x56ae7b]??_0x29a44c(0x1b4);}return{'alias':_0x2b22d8,'datasetCode':_0x31dc4b,'datasetId':_0x545730,'operationType':_0x171b09,'functionNode':_0x160927};}async function promptSelect(_0x58e24e,_0x39ec13){const _0x1b7f83=a26_0x252dd9;if(_0x39ec13[_0x1b7f83(0x173)]===0x1)return 0x0;for(const [_0x5d62d1,_0x1449e3]of _0x39ec13[_0x1b7f83(0x19c)]()){process['stderr'][_0x1b7f83(0x1af)]('\x20\x20'+(_0x5d62d1+0x1)+'.\x20'+_0x1449e3+'\x0a');}const _0x29ec90=createInterface({'input':process['stdin'],'output':process[_0x1b7f83(0x16d)]});while(!![]){const _0x5c8be7=await new Promise(_0x16472b=>{const _0x4582e5=_0x1b7f83;_0x29ec90[_0x4582e5(0x194)](_0x58e24e+'\x20',_0x16472b);}),_0x3c2d2c=Number[_0x1b7f83(0x1a0)](_0x5c8be7['trim'](),0xa);if(Number[_0x1b7f83(0x1ba)](_0x3c2d2c)&&_0x3c2d2c>=0x1&&_0x3c2d2c<=_0x39ec13[_0x1b7f83(0x173)])return _0x29ec90[_0x1b7f83(0x1a9)](),_0x3c2d2c-0x1;process['stderr']['write'](_0x1b7f83(0x167)+_0x39ec13[_0x1b7f83(0x173)]+'.\x0a');}}function buildFilePath(_0x3c3fc6,_0x5e2097,_0x5139f4,_0x257f8a){const _0x4bc43d=a26_0x252dd9;if(_0x5e2097==='HOOK'){if(!_0x257f8a)throw CliErrors[_0x4bc43d(0x17a)](_0x4bc43d(0x18d));const _0x54ef43=_0x257f8a['alias']??_0x257f8a['datasetCode'];return join(_0x3c3fc6[_0x4bc43d(0x19a)],_0x4bc43d(0x191),_0x54ef43,_0x257f8a[_0x4bc43d(0x18c)],_0x257f8a[_0x4bc43d(0x178)],_0x5139f4+_0x4bc43d(0x17c));}return join(_0x3c3fc6[_0x4bc43d(0x19a)],_0x5e2097,_0x5139f4+_0x4bc43d(0x17c));}export function generateTemplate(_0x52c916,_0x192a9a,_0x2349e5,_0x825e99,_0xc3345b){const _0x1ec7fe=a26_0x252dd9,_0x85a7b7=_0x825e99?.[_0x1ec7fe(0x19d)]()||_0x1ec7fe(0x1a1);if(_0x52c916===_0x1ec7fe(0x17b))return _0x1ec7fe(0x1bc)+_0x85a7b7+_0x1ec7fe(0x1a6)+_0x192a9a+_0x1ec7fe(0x197)+_0x192a9a+'.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'+_0x192a9a+_0x1ec7fe(0x181);if(_0x52c916===_0x1ec7fe(0x1a3))return'/**\x0a\x20*\x20ENDPOINT\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20'+_0x85a7b7+_0x1ec7fe(0x169)+_0x2349e5+'/'+_0x192a9a+_0x1ec7fe(0x176)+_0x192a9a+'(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a';if(!_0xc3345b)throw CliErrors[_0x1ec7fe(0x17a)](_0x1ec7fe(0x19e));return'/**\x0a\x20*\x20HOOK\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20'+_0x85a7b7+_0x1ec7fe(0x17f)+_0x2349e5+'/'+_0xc3345b[_0x1ec7fe(0x1b0)]+'/'+_0xc3345b[_0x1ec7fe(0x18c)]+_0x1ec7fe(0x16c)+_0xc3345b[_0x1ec7fe(0x178)]+_0x1ec7fe(0x1a4)+_0x192a9a+_0x1ec7fe(0x181);}function a26_0xbe9f(){const _0x2f8ba7=['--alias\x20or\x20--datasetcode\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','\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','9QEUMgN','functionNode','operation-type','validation','COMMON','.js','Function\x20name\x20(valid\x20JS\x20identifier)','File\x20already\x20exists:\x20','\x0a\x20*\x20[接口路径]\x20POST\x20/api/','Dataset\x20code\x20(HOOK\x20only,\x20fallback\x20when\x20alias\x20unavailable)','(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a','keys','source','2496525wXzVvq','Script\x20description','Script\x20type',']\x20(','2160328uYOabm','alias','Trigger\x20node\x20(HOOK\x20only)','123592xZCMMY','operationType','HOOK\x20requires\x20alias/operation/node\x20options.','code','\x20api\x20pull`\x20to\x20refresh.','map','HOOK','Select\x20dataset:','No\x20api.ts\x20found.\x20Run\x20`','question','nonInteractive','description','\x0a\x20*\x20[脚本类型]\x20COMMON\x0a\x20*\x20[本地路径]\x20.rabetbase/bff/COMMON/','type','--operation-type\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','scriptsRootDir','Created\x20','entries','trim','HOOK\x20requires\x20hookOptions\x20for\x20template\x20generation.','create','parseInt','TODO:\x20add\x20script\x20description','after','ENDPOINT','\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','appCode','\x0a\x20*\x20[脚本名称]\x20','name','--function-node\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','close','1818YShyAz','bff','apiDir','--function-node\x20must\x20be\x20\x27before\x27\x20or\x20\x27after\x27.','string','write','datasetCode','Select\x20trigger\x20node:','\x22\x20not\x20found\x20for\x20dataset\x20','8746280lZlDod','before','datasetcode','find','tableName','Invalid\x20dataset\x20selection.','834729ezXEsd','isInteger','No\x20datasets\x20found\x20for\x20this\x20app.','/**\x0a\x20*\x20COMMON\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','86633IkxCmj','Select\x20operation\x20type:','\x20\x20Enter\x20a\x20number\x20between\x201\x20and\x20','5747VrOcNB','\x0a\x20*\x20[接口路径]\x20POST\x20/api/endpoint/{appCode}/{scriptName}\x0a\x20*\x20[当前示例]\x20POST\x20/api/endpoint/','Alias\x20\x22','Dataset\x20alias\x20from\x20api.ts\x20(HOOK\x20only,\x20preferred)','\x0a\x20*\x20[触发节点]\x20','stderr','function-node','No\x20operation\x20types\x20found\x20for\x20dataset\x20','Available:\x20','str','Operation\x20type\x20(HOOK\x20only)','length','join'];a26_0xbe9f=function(){return _0x2f8ba7;};return a26_0xbe9f();}
|
|
1
|
+
function a26_0x3f77(){const _0x12db13=['--function-node\x20must\x20be\x20\x27before\x27\x20or\x20\x27after\x27.','code','File\x20already\x20exists:\x20','isInteger','str','\x20function:\x20','1061032TxXfzM','156GgZuzZ','HOOK\x20requires\x20hookOptions\x20for\x20template\x20generation.','join','Alias\x20\x22','/**\x0a\x20*\x20HOOK\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','operationType','Trigger\x20node\x20(HOOK\x20only)','.js','after','type','datasetCode','/**\x0a\x20*\x20COMMON\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','validation','Dataset\x20alias\x20from\x20api.ts\x20(HOOK\x20only,\x20preferred)','Invalid\x20dataset\x20selection.','Function\x20name\x20(valid\x20JS\x20identifier)','\x0a\x20*\x20[脚本类型]\x20COMMON\x0a\x20*\x20[本地路径]\x20.rabetbase/bff/COMMON/','638870BSSmit','TODO:\x20add\x20script\x20description','appCode','string','Scaffold\x20a\x20new\x20BFF\x20function\x20from\x20template','alias','description','map','--alias\x20or\x20--datasetcode\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a','parseInt','The\x20api.ts\x20may\x20be\x20stale\x20—\x20run\x20`','\x22.\x20Must\x20be\x20a\x20valid\x20JS\x20identifier\x20(e.g.\x20createOrder,\x20beforeFilter).','49360vIiEhQ','create','name','UNKNOWN','tableName','ENDPOINT','81Gpqzqx','43948MhSvuy','functionNode','No\x20operation\x20types\x20found\x20for\x20dataset\x20','6990iyzCKg','\x0a\x20*\x20[触发节点]\x20','1552644bsOZzB','scriptsRootDir','length','utf8','--function-node\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','nonInteractive','before','No\x20api.ts\x20found.\x20Run\x20`','trim','datasetcode','Created\x20','source','Script\x20description','/**\x0a\x20*\x20ENDPOINT\x20function\x20template.\x0a\x20*\x0a\x20*\x20[脚本描述]\x20','close','7yhudfa','HOOK\x20requires\x20alias/operation/node\x20options.','bff','operation-type','\x22\x20not\x20found.\x20','\x0a\x20*\x20[接口路径]\x20POST\x20/api/endpoint/{appCode}/{scriptName}\x0a\x20*\x20[当前示例]\x20POST\x20/api/endpoint/','write','\x20api\x20pull`\x20first,\x20or\x20use\x20--datasetcode\x20instead.','COMMON','Invalid\x20function\x20name\x20\x22','keys','694825iSmNWB','\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','stderr','entries','find','Select\x20dataset:','function-node','HOOK','Operation\x20type\x20\x22','apiDir','Select\x20operation\x20type:','Dataset\x20not\x20found\x20for\x20code\x20\x22','stdin','Available:\x20'];a26_0x3f77=function(){return _0x12db13;};return a26_0x3f77();}const a26_0x385cdd=a26_0x41fe;function a26_0x41fe(_0x4d43b8,_0x4da5cf){_0x4d43b8=_0x4d43b8-0xcd;const _0x3f7789=a26_0x3f77();let _0x41fe33=_0x3f7789[_0x4d43b8];return _0x41fe33;}(function(_0x31e735,_0x1e96ab){const _0x389867=a26_0x41fe,_0x58d806=_0x31e735();while(!![]){try{const _0x1aaf1b=parseInt(_0x389867(0x116))/0x1*(-parseInt(_0x389867(0x102))/0x2)+parseInt(_0x389867(0x105))/0x3*(-parseInt(_0x389867(0xdd))/0x4)+-parseInt(_0x389867(0x121))/0x5+parseInt(_0x389867(0x107))/0x6+parseInt(_0x389867(0xdc))/0x7+parseInt(_0x389867(0xfb))/0x8*(parseInt(_0x389867(0x101))/0x9)+parseInt(_0x389867(0xee))/0xa;if(_0x1aaf1b===_0x1e96ab)break;else _0x58d806['push'](_0x58d806['shift']());}catch(_0x402751){_0x58d806['push'](_0x58d806['shift']());}}}(a26_0x3f77,0x23ac2));import{createInterface}from'node:readline';import{mkdir,writeFile}from'node:fs/promises';import{dirname,join}from'node:path';import{listDatasets,listBffDatasetOperations}from'../../core/api-client.js';import{loadAliasMap,resolveAlias}from'../../core/alias-resolver.js';import{resolveApiFilePath}from'../../context.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{fileExists}from'../../core/bff/file-system.js';import{isValidBffFunctionName,normalizeHookFunctionNode}from'../../core/bff/utils.js';import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';export const bffCreate={'service':a26_0x385cdd(0x118),'command':a26_0x385cdd(0xfc),'description':a26_0x385cdd(0xf2),'risk':'write','flags':[{'name':a26_0x385cdd(0xe6),'type':a26_0x385cdd(0xf1),'required':!![],'enum':[a26_0x385cdd(0x11e),'ENDPOINT',a26_0x385cdd(0xcf)],'description':'Script\x20type'},{'name':a26_0x385cdd(0xfd),'type':a26_0x385cdd(0xf1),'required':!![],'description':a26_0x385cdd(0xec)},{'name':a26_0x385cdd(0xf4),'type':a26_0x385cdd(0xf1),'description':a26_0x385cdd(0x113)},{'name':'alias','type':a26_0x385cdd(0xf1),'description':a26_0x385cdd(0xea)},{'name':'datasetcode','type':a26_0x385cdd(0xf1),'description':'Dataset\x20code\x20(HOOK\x20only,\x20fallback\x20when\x20alias\x20unavailable)'},{'name':a26_0x385cdd(0x119),'type':'string','description':'Operation\x20type\x20(HOOK\x20only)'},{'name':a26_0x385cdd(0xce),'type':'string','description':a26_0x385cdd(0xe3),'enum':[a26_0x385cdd(0x10d),'after']}],async 'validate'(_0x4c7ca3){const _0x1bc104=a26_0x385cdd,_0x3ccbd6=_0x4c7ca3['str']('name');if(!isValidBffFunctionName(_0x3ccbd6))throw CliErrors[_0x1bc104(0xe9)](_0x1bc104(0x11f)+_0x3ccbd6+_0x1bc104(0xfa));},async 'execute'(_0x25ef50){const _0x56a9da=a26_0x385cdd,_0x2761ce=loadBffProjectConfig(_0x25ef50[_0x56a9da(0xf0)]),_0x6a6f67=_0x25ef50[_0x56a9da(0xda)](_0x56a9da(0xe6)),_0x3ba175=_0x25ef50[_0x56a9da(0xda)]('name'),_0x4ead17=_0x25ef50['str'](_0x56a9da(0xf4))||undefined,_0x7bac93=_0x6a6f67==='HOOK'?await resolveHookOptions(_0x2761ce,_0x25ef50):undefined,_0x186b69=buildFilePath(_0x2761ce,_0x6a6f67,_0x3ba175,_0x7bac93);if(await fileExists(_0x186b69))throw CliErrors[_0x56a9da(0xe9)](_0x56a9da(0xd8)+_0x186b69);await mkdir(dirname(_0x186b69),{'recursive':!![]});const _0x1634af=generateTemplate(_0x6a6f67,_0x3ba175,_0x25ef50['appCode'],_0x4ead17,_0x7bac93);await writeFile(_0x186b69,_0x1634af,_0x56a9da(0x10a));const _0x3dfdf6={'type':_0x6a6f67,'name':_0x3ba175,'path':_0x186b69};if(_0x4ead17)_0x3dfdf6[_0x56a9da(0xf4)]=_0x4ead17;if(_0x7bac93){if(_0x7bac93[_0x56a9da(0xf3)])_0x3dfdf6[_0x56a9da(0xf3)]=_0x7bac93[_0x56a9da(0xf3)];_0x3dfdf6['datasetCode']=_0x7bac93[_0x56a9da(0xe7)],_0x3dfdf6['operationType']=_0x7bac93[_0x56a9da(0xe2)],_0x3dfdf6[_0x56a9da(0x103)]=_0x7bac93['functionNode'];}return{'ok':!![],'data':_0x3dfdf6,'message':_0x56a9da(0x111)+_0x6a6f67+_0x56a9da(0xdb)+_0x3ba175};}};async function resolveHookOptions(_0x16d314,_0x268bc2){const _0x1d94f6=a26_0x385cdd,_0xf59b8c=loadAliasMap(_0x268bc2[_0x1d94f6(0xd1)],undefined,resolveApiFilePath(_0x268bc2[_0x1d94f6(0xd1)],_0x268bc2[_0x1d94f6(0xf0)])),_0x56d409=_0xf59b8c[_0x1d94f6(0x109)]>0x0;let _0x1ecab5,_0x3ad5bc,_0xfb04b2;const _0x1d9ddc=_0x268bc2[_0x1d94f6(0xda)]('alias'),_0x31054e=_0x268bc2[_0x1d94f6(0xda)](_0x1d94f6(0x110));if(_0x1d9ddc){const _0x253205=resolveAlias(_0x268bc2[_0x1d94f6(0xd1)],_0x1d9ddc,undefined,resolveApiFilePath(_0x268bc2[_0x1d94f6(0xd1)],_0x268bc2[_0x1d94f6(0xf0)]));if(!_0x253205){const _0x3d475e=_0x56d409?'Available\x20aliases:\x20'+_0xf59b8c[_0x1d94f6(0xf5)](_0x38a884=>_0x38a884['alias'])['join'](',\x20'):_0x1d94f6(0x10e)+CLI_BIN_NAME+_0x1d94f6(0x11d);throw CliErrors[_0x1d94f6(0xe9)](_0x1d94f6(0xe0)+_0x1d9ddc+_0x1d94f6(0x11a)+_0x3d475e);}_0x1ecab5=_0x1d9ddc,_0x3ad5bc=_0x253205;}else{if(_0x31054e){_0x3ad5bc=_0x31054e;const _0x420c90=_0xf59b8c[_0x1d94f6(0x125)](_0x43c268=>_0x43c268[_0x1d94f6(0xe7)]===_0x31054e);_0x1ecab5=_0x420c90?.[_0x1d94f6(0xf3)];}else{if(_0x268bc2[_0x1d94f6(0x10c)])throw CliErrors[_0x1d94f6(0xe9)](_0x1d94f6(0xf6));else{if(_0x56d409){const _0x3e64e2=_0xf59b8c[_0x1d94f6(0xf5)](_0x3b3680=>_0x3b3680[_0x1d94f6(0xf3)]+'\x20('+_0x3b3680[_0x1d94f6(0xff)]+')'),_0x198526=await promptSelect(_0x1d94f6(0xcd),_0x3e64e2),_0x54805e=_0xf59b8c[_0x198526];if(!_0x54805e)throw CliErrors[_0x1d94f6(0xe9)](_0x1d94f6(0xeb));_0x1ecab5=_0x54805e[_0x1d94f6(0xf3)],_0x3ad5bc=_0x54805e[_0x1d94f6(0xe7)];}else{const _0x2294ba=await listDatasets(_0x268bc2[_0x1d94f6(0xf0)]);if(_0x2294ba[_0x1d94f6(0x109)]===0x0)throw CliErrors['validation']('No\x20datasets\x20found\x20for\x20this\x20app.');const _0x14e363=_0x2294ba[_0x1d94f6(0xf5)](_0x150b64=>_0x150b64[_0x1d94f6(0xfd)]+'\x20['+(_0x150b64[_0x1d94f6(0x112)]??_0x1d94f6(0xfe))+']\x20('+_0x150b64[_0x1d94f6(0xd7)]+')'),_0x182e52=await promptSelect(_0x1d94f6(0xcd),_0x14e363),_0x193dd3=_0x2294ba[_0x182e52];if(!_0x193dd3)throw CliErrors['validation']('Invalid\x20dataset\x20selection.');_0x3ad5bc=_0x193dd3[_0x1d94f6(0xd7)],_0x1ecab5=undefined;}}}}const _0x2a38fa=await listDatasets(_0x268bc2[_0x1d94f6(0xf0)]),_0x4992bb=_0x2a38fa['find'](_0x4c6db3=>_0x4c6db3[_0x1d94f6(0xd7)]===_0x3ad5bc);if(!_0x4992bb)throw CliErrors[_0x1d94f6(0xe9)](_0x1d94f6(0xd3)+_0x3ad5bc+'\x22.\x20'+(_0x1ecab5?_0x1d94f6(0xf9)+CLI_BIN_NAME+'\x20api\x20pull`\x20to\x20refresh.':''));_0xfb04b2=_0x4992bb['id'];const _0x532a45=_0x1ecab5??_0x3ad5bc,_0x1c3910=await listBffDatasetOperations(_0x268bc2[_0x1d94f6(0xf0)],_0xfb04b2),_0x11ec25=_0x1c3910?Object[_0x1d94f6(0x120)](_0x1c3910):[];if(_0x11ec25['length']===0x0)throw CliErrors['validation'](_0x1d94f6(0x104)+_0x532a45+'.');let _0x360923;const _0x214cf7=_0x268bc2[_0x1d94f6(0xda)](_0x1d94f6(0x119));if(_0x214cf7){if(!_0x11ec25['includes'](_0x214cf7))throw CliErrors[_0x1d94f6(0xe9)](_0x1d94f6(0xd0)+_0x214cf7+'\x22\x20not\x20found\x20for\x20dataset\x20'+_0x532a45+'.\x20'+(_0x1d94f6(0xd5)+_0x11ec25[_0x1d94f6(0xdf)](',\x20')));_0x360923=_0x214cf7;}else{if(_0x268bc2[_0x1d94f6(0x10c)])throw CliErrors[_0x1d94f6(0xe9)]('--operation-type\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.');const _0x3be834=await promptSelect(_0x1d94f6(0xd2),_0x11ec25);_0x360923=_0x11ec25[_0x3be834]??_0x11ec25[0x0];}let _0x9846ae=normalizeHookFunctionNode(_0x268bc2[_0x1d94f6(0xda)](_0x1d94f6(0xce)));if(!_0x9846ae){if(_0x268bc2[_0x1d94f6(0xda)](_0x1d94f6(0xce)))throw CliErrors[_0x1d94f6(0xe9)](_0x1d94f6(0xd6));if(_0x268bc2[_0x1d94f6(0x10c)])throw CliErrors['validation'](_0x1d94f6(0x10b));const _0x225589=await promptSelect('Select\x20trigger\x20node:',['before',_0x1d94f6(0xe5)]);_0x9846ae=[_0x1d94f6(0x10d),_0x1d94f6(0xe5)][_0x225589]??_0x1d94f6(0x10d);}return{'alias':_0x1ecab5,'datasetCode':_0x3ad5bc,'datasetId':_0xfb04b2,'operationType':_0x360923,'functionNode':_0x9846ae};}async function promptSelect(_0x39e03b,_0x222778){const _0x10add7=a26_0x385cdd;if(_0x222778['length']===0x1)return 0x0;for(const [_0x1aa1f9,_0x34a78a]of _0x222778[_0x10add7(0x124)]()){process['stderr'][_0x10add7(0x11c)]('\x20\x20'+(_0x1aa1f9+0x1)+'.\x20'+_0x34a78a+'\x0a');}const _0x25f1aa=createInterface({'input':process[_0x10add7(0xd4)],'output':process[_0x10add7(0x123)]});while(!![]){const _0x33f9f8=await new Promise(_0x4d3994=>{_0x25f1aa['question'](_0x39e03b+'\x20',_0x4d3994);}),_0x329c23=Number[_0x10add7(0xf8)](_0x33f9f8[_0x10add7(0x10f)](),0xa);if(Number[_0x10add7(0xd9)](_0x329c23)&&_0x329c23>=0x1&&_0x329c23<=_0x222778[_0x10add7(0x109)])return _0x25f1aa[_0x10add7(0x115)](),_0x329c23-0x1;process[_0x10add7(0x123)]['write']('\x20\x20Enter\x20a\x20number\x20between\x201\x20and\x20'+_0x222778['length']+'.\x0a');}}function buildFilePath(_0x53bb6f,_0x1ff1e5,_0x3b18ac,_0x530f11){const _0x219a84=a26_0x385cdd;if(_0x1ff1e5===_0x219a84(0xcf)){if(!_0x530f11)throw CliErrors['validation'](_0x219a84(0x117));const _0x3609e3=_0x530f11['alias']??_0x530f11['datasetCode'];return join(_0x53bb6f[_0x219a84(0x108)],_0x219a84(0xcf),_0x3609e3,_0x530f11[_0x219a84(0xe2)],_0x530f11[_0x219a84(0x103)],_0x3b18ac+_0x219a84(0xe4));}return join(_0x53bb6f[_0x219a84(0x108)],_0x1ff1e5,_0x3b18ac+_0x219a84(0xe4));}export function generateTemplate(_0x426adb,_0x51b667,_0x4f9455,_0x1bee33,_0x469fee){const _0x333d83=a26_0x385cdd,_0x19d052=_0x1bee33?.[_0x333d83(0x10f)]()||_0x333d83(0xef);if(_0x426adb===_0x333d83(0x11e))return _0x333d83(0xe8)+_0x19d052+'\x0a\x20*\x20[脚本名称]\x20'+_0x51b667+_0x333d83(0xed)+_0x51b667+'.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'+_0x51b667+_0x333d83(0xf7);if(_0x426adb===_0x333d83(0x100))return _0x333d83(0x114)+_0x19d052+_0x333d83(0x11b)+_0x4f9455+'/'+_0x51b667+_0x333d83(0x122)+_0x51b667+_0x333d83(0xf7);if(!_0x469fee)throw CliErrors['validation'](_0x333d83(0xde));return _0x333d83(0xe1)+_0x19d052+'\x0a\x20*\x20[接口路径]\x20POST\x20/api/'+_0x4f9455+'/'+_0x469fee[_0x333d83(0xe7)]+'/'+_0x469fee[_0x333d83(0xe2)]+_0x333d83(0x106)+_0x469fee['functionNode']+'\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'+_0x51b667+_0x333d83(0xf7);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a27_0x18347a=a27_0x5287;(function(_0x75f149,_0x1a789e){const _0x18c5c5=a27_0x5287,_0x4a86c1=_0x75f149();while(!![]){try{const _0x542dc3=-parseInt(_0x18c5c5(0x1ad))/0x1*(parseInt(_0x18c5c5(0x1a8))/0x2)+parseInt(_0x18c5c5(0x176))/0x3+-parseInt(_0x18c5c5(0x19d))/0x4*(-parseInt(_0x18c5c5(0x180))/0x5)+parseInt(_0x18c5c5(0x19a))/0x6*(-parseInt(_0x18c5c5(0x195))/0x7)+parseInt(_0x18c5c5(0x18e))/0x8*(parseInt(_0x18c5c5(0x178))/0x9)+-parseInt(_0x18c5c5(0x17e))/0xa*(parseInt(_0x18c5c5(0x1a7))/0xb)+-parseInt(_0x18c5c5(0x1a3))/0xc*(-parseInt(_0x18c5c5(0x1a6))/0xd);if(_0x542dc3===_0x1a789e)break;else _0x4a86c1['push'](_0x4a86c1['shift']());}catch(_0x2b27c7){_0x4a86c1['push'](_0x4a86c1['shift']());}}}(a27_0x542c,0x38138));import{mkdir,readdir,rename,rmdir}from'node:fs/promises';import{dirname,join,relative,resolve,sep}from'node:path';import{deleteBffScript}from'../../core/api-client.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{fileExists,resolveLocalFilePathFromLockKey}from'../../core/bff/file-system.js';import{ensureLockScope,readBffLockFile,writeBffLockFile}from'../../core/bff/lock.js';import{CliErrors}from'../../errors.js';import{sleep}from'../../utils/sleep.js';export const bffDelete={'service':a27_0x18347a(0x1a2),'command':a27_0x18347a(0x181),'description':a27_0x18347a(0x1ab),'risk':a27_0x18347a(0x18f),'flags':[{'name':'target','type':a27_0x18347a(0x197),'required':!![],'description':a27_0x18347a(0x18a)}],async 'validate'(_0x153c75){const _0x1b3c3c=a27_0x18347a,_0x29902e=loadBffProjectConfig(_0x153c75[_0x1b3c3c(0x182)]),_0x4cc471=await readBffLockFile(_0x29902e[_0x1b3c3c(0x1a4)]);if(!_0x4cc471)throw CliErrors[_0x1b3c3c(0x188)](_0x1b3c3c(0x17f));},async 'dryRun'(_0x3d5de1){const _0x301c94=a27_0x18347a,_0x14bf6b=loadBffProjectConfig(_0x3d5de1['appCode']),_0x2d1381=await readBffLockFile(_0x14bf6b['lockFilePath']);if(!_0x2d1381)throw CliErrors[_0x301c94(0x188)]('BFF\x20lock\x20file\x20not\x20found.');const {appLock:_0x778ac6}=ensureLockScope(_0x2d1381,_0x3d5de1[_0x301c94(0x182)],_0x14bf6b[_0x301c94(0x18c)],'delete'),_0x568824=_0x3d5de1[_0x301c94(0x1a1)](_0x301c94(0x1a9)),_0x5e0a57=Object['keys'](_0x778ac6[_0x301c94(0x186)]),_0x100f88=resolveDeleteTarget(_0x568824,_0x5e0a57),_0x262470=_0x778ac6['functions'][_0x100f88];if(!_0x262470)throw CliErrors['validation'](_0x301c94(0x19e)+_0x100f88+'\x22.');const _0x52000c=resolveLocalFilePathFromLockKey(_0x14bf6b,_0x100f88),_0x2a2c06=relative(_0x14bf6b[_0x301c94(0x1a0)],_0x52000c),_0x35a796=join(_0x14bf6b[_0x301c94(0x193)],'<timestamp>',_0x2a2c06);return{'method':_0x301c94(0x18d),'url':_0x301c94(0x185),'body':{'appCode':_0x3d5de1['appCode'],'target':_0x100f88,'remoteId':_0x262470['remoteId'],'localFilePath':_0x52000c,'trashedPath':_0x35a796},'description':_0x301c94(0x1aa)+_0x100f88+_0x301c94(0x19f)};},async 'execute'(_0x40a46c){const _0x491359=a27_0x18347a,_0x1119cc=loadBffProjectConfig(_0x40a46c[_0x491359(0x182)]),_0x574e60=await readBffLockFile(_0x1119cc[_0x491359(0x1a4)]);if(!_0x574e60)throw CliErrors[_0x491359(0x188)](_0x491359(0x17a));const {lockData:_0xbafa30,appLock:_0x307c50}=ensureLockScope(_0x574e60,_0x40a46c[_0x491359(0x182)],_0x1119cc[_0x491359(0x18c)],_0x491359(0x181)),_0x56369d=JSON['parse'](JSON['stringify'](_0xbafa30)),_0x47060e=_0x56369d[_0x491359(0x190)][_0x40a46c[_0x491359(0x182)]];if(!_0x47060e)throw new Error('Lock\x20scope\x20for\x20app\x20\x22'+_0x40a46c[_0x491359(0x182)]+'\x22\x20not\x20found\x20after\x20ensureLockScope.');const _0x37331a=_0x40a46c[_0x491359(0x1a1)](_0x491359(0x1a9)),_0x2e0b7d=Object[_0x491359(0x184)](_0x47060e[_0x491359(0x186)]),_0x4045ac=resolveDeleteTarget(_0x37331a,_0x2e0b7d),_0x586cce=_0x47060e['functions'][_0x4045ac];if(!_0x586cce)throw CliErrors[_0x491359(0x188)](_0x491359(0x19e)+_0x4045ac+'\x22.');await deleteBffScript(_0x586cce[_0x491359(0x19b)]),delete _0x47060e[_0x491359(0x186)][_0x4045ac],_0x47060e[_0x491359(0x17c)]=new Date()['toISOString'](),await writeBffLockFile(_0x1119cc[_0x491359(0x1a4)],_0x56369d);const _0x1a06b5=resolveLocalFilePathFromLockKey(_0x1119cc,_0x4045ac);let _0x831ca;await fileExists(_0x1a06b5)&&(_0x831ca=await moveToTrash(_0x1119cc[_0x491359(0x1a0)],_0x1119cc[_0x491359(0x193)],_0x1a06b5),await cleanupEmptyDirectories(dirname(_0x1a06b5),_0x1119cc[_0x491359(0x191)]));await waitForDeleteSettlement(_0x1119cc[_0x491359(0x1a4)],_0x40a46c[_0x491359(0x182)],_0x4045ac,_0x1a06b5),await sleep(0x96);const _0x50fd10={'deleted':_0x4045ac,'remoteId':_0x586cce[_0x491359(0x19b)]};if(_0x831ca)_0x50fd10['trashedTo']=_0x831ca;return{'ok':!![],'data':_0x50fd10,'message':_0x491359(0x187)+_0x4045ac+(_0x831ca?'\x20(local\x20file\x20moved\x20to\x20trash)':'')};}};function resolveDeleteTarget(_0x20698b,_0x5bc9d9){const _0x170e3f=a27_0x18347a;if(_0x20698b[_0x170e3f(0x198)]('/')){const _0x1e52ed=_0x5bc9d9[_0x170e3f(0x192)](_0x15c5c4=>_0x15c5c4===_0x20698b);if(!_0x1e52ed)throw CliErrors[_0x170e3f(0x188)]('Function\x20not\x20found:\x20'+_0x20698b);return _0x1e52ed;}const _0x2c5171=_0x5bc9d9[_0x170e3f(0x17b)](_0x4d1ed5=>_0x4d1ed5[_0x170e3f(0x177)]('/')['at'](-0x1)===_0x20698b);if(_0x2c5171['length']===0x0)throw CliErrors[_0x170e3f(0x188)](_0x170e3f(0x196)+_0x20698b);if(_0x2c5171[_0x170e3f(0x18b)]>0x1)throw CliErrors[_0x170e3f(0x188)](_0x170e3f(0x179)+_0x20698b+_0x170e3f(0x194)+_0x2c5171[_0x170e3f(0x1a5)](_0x4e6a93=>_0x170e3f(0x189)+_0x4e6a93)[_0x170e3f(0x19c)]('\x0a'));return _0x2c5171[0x0];}function a27_0x542c(){const _0x119eb3=['startsWith','7830zfApyI','BFF\x20lock\x20file\x20not\x20found.\x20Run\x20`push`\x20or\x20`pull`\x20first\x20to\x20initialize\x20sync\x20state.','383855nJGKhX','delete','appCode','replace','keys','/api/management/library/scripts/delete','functions','Deleted\x20','validation','\x20\x20-\x20','Lock\x20key\x20(e.g.\x20ENDPOINT/createOrder)\x20or\x20short\x20function\x20name','length','scriptsRoot','POST','859048yozPpR','high-risk-write','apps','scriptsRootDir','find','trashDir','\x22.\x20Use\x20the\x20full\x20lock\x20key:\x0a','92239aOGTpX','Function\x20not\x20found:\x20','string','includes','toISOString','66hDpEQb','remoteId','join','4yUTudv','No\x20lock\x20entry\x20found\x20for\x20\x22','\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20trash','projectRoot','str','bff','12AmvlIj','lockFilePath','map','4811209KLbEDx','5610VOmugg','17958szvpjn','target','Would\x20delete\x20','Delete\x20a\x20BFF\x20script\x20from\x20remote\x20and\x20local','Local\x20delete\x20not\x20settled\x20for\x20','18JQcyqP','1144026cCJIku','split','9HIoahh','Multiple\x20functions\x20match\x20\x22','BFF\x20lock\x20file\x20not\x20found.','filter','lastSync'];a27_0x542c=function(){return _0x119eb3;};return a27_0x542c();}function a27_0x5287(_0x244224,_0x28e42c){_0x244224=_0x244224-0x176;const _0x542c38=a27_0x542c();let _0x5287f3=_0x542c38[_0x244224];return _0x5287f3;}async function moveToTrash(_0x38149f,_0x59d073,_0x1f933d){const _0x125aec=a27_0x18347a,_0x366609=new Date()[_0x125aec(0x199)]()[_0x125aec(0x183)](/[:.]/g,'-'),_0x577e35=relative(_0x38149f,_0x1f933d),_0x3bc789=join(_0x59d073,_0x366609,_0x577e35);return await mkdir(dirname(_0x3bc789),{'recursive':!![]}),await rename(_0x1f933d,_0x3bc789),_0x3bc789;}async function cleanupEmptyDirectories(_0x288058,_0x3ccb08){const _0x4cfe8c=a27_0x18347a;let _0x48f698=resolve(_0x288058);const _0x172239=resolve(_0x3ccb08);while(_0x48f698[_0x4cfe8c(0x17d)](''+_0x172239+sep)||_0x48f698===_0x172239){if(_0x48f698===_0x172239)return;try{const _0x214911=await readdir(_0x48f698);if(_0x214911['length']>0x0)return;await rmdir(_0x48f698);}catch{return;}_0x48f698=dirname(_0x48f698);}}const DELETE_SETTLE_RETRY_COUNT=0x14,DELETE_SETTLE_DELAY_MS=0x64;async function waitForDeleteSettlement(_0x1b2c44,_0x532b58,_0x272ee5,_0x32b892){const _0x152dec=a27_0x18347a;for(let _0x401a50=0x0;_0x401a50<DELETE_SETTLE_RETRY_COUNT;_0x401a50+=0x1){const _0x5bad26=await readBffLockFile(_0x1b2c44),_0x5c75f1=!!_0x5bad26?.[_0x152dec(0x190)]?.[_0x532b58]?.[_0x152dec(0x186)]?.[_0x272ee5],_0x517ffb=await fileExists(_0x32b892);if(!_0x5c75f1&&!_0x517ffb)return;await sleep(DELETE_SETTLE_DELAY_MS);}throw new Error(_0x152dec(0x1ac)+_0x272ee5+'.');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
const a28_0x3e58f6=a28_0x245d;function a28_0x245d(_0x3afdb6,_0x352b0a){_0x3afdb6=_0x3afdb6-0x14d;const _0x34585b=a28_0x3458();let _0x245da7=_0x34585b[_0x3afdb6];return _0x245da7;}(function(_0x58b181,_0x10b83b){const _0x3e0889=a28_0x245d,_0x28faa6=_0x58b181();while(!![]){try{const _0x8276d6=parseInt(_0x3e0889(0x159))/0x1+-parseInt(_0x3e0889(0x160))/0x2+-parseInt(_0x3e0889(0x15d))/0x3*(-parseInt(_0x3e0889(0x14d))/0x4)+-parseInt(_0x3e0889(0x156))/0x5+parseInt(_0x3e0889(0x15b))/0x6*(-parseInt(_0x3e0889(0x162))/0x7)+-parseInt(_0x3e0889(0x154))/0x8*(-parseInt(_0x3e0889(0x152))/0x9)+-parseInt(_0x3e0889(0x155))/0xa*(parseInt(_0x3e0889(0x153))/0xb);if(_0x8276d6===_0x10b83b)break;else _0x28faa6['push'](_0x28faa6['shift']());}catch(_0x50bc17){_0x28faa6['push'](_0x28faa6['shift']());}}}(a28_0x3458,0x1eaa9));function a28_0x3458(){const _0x5204c3=['createdTime','scriptContent','232465QbRTda','Script\x20ID','502314yLTXCp','read','1911JtasDM','(none)','boolean','27794aAsJCs','updatedTime','7nSlHhv','number','1136yJIltP','description','num','verbose','bff','3699VNgEpa','11dCPtSm','1232ofVvaa','1474670yVjZjn','529875vCbIiO'];a28_0x3458=function(){return _0x5204c3;};return a28_0x3458();}import{getBffScriptInfo}from'../../core/api-client.js';export const bffDetail={'service':a28_0x3e58f6(0x151),'command':'detail','description':'Get\x20BFF\x20script\x20details\x20by\x20ID','risk':a28_0x3e58f6(0x15c),'flags':[{'name':'id','type':a28_0x3e58f6(0x163),'required':!![],'description':a28_0x3e58f6(0x15a)},{'name':a28_0x3e58f6(0x150),'type':a28_0x3e58f6(0x15f),'description':'Return\x20full\x20raw\x20script\x20object'}],async 'execute'(_0x2c5e11){const _0x49bf03=a28_0x3e58f6,_0x310402=await getBffScriptInfo(_0x2c5e11[_0x49bf03(0x14f)]('id')),_0x19165b=_0x2c5e11['bool'](_0x49bf03(0x150));if(_0x19165b)return{'ok':!![],'data':_0x310402};return{'ok':!![],'data':{'id':_0x310402['id'],'appCode':_0x310402['appCode'],'scriptType':_0x310402['scriptType'],'description':_0x310402[_0x49bf03(0x14e)]||_0x49bf03(0x15e),'createdTime':_0x310402[_0x49bf03(0x157)]??'','updatedTime':_0x310402[_0x49bf03(0x161)]??'','scriptContent':_0x310402[_0x49bf03(0x158)]??''}};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a29_0x586f(){const _0x22dae7=['6023106DlIFFy','1615085ZrNdKj','2995708SddrFx','297915cJNgkC','3115868SKsemC','3166876GCpnTn','293391IDBACs'];a29_0x586f=function(){return _0x22dae7;};return a29_0x586f();}(function(_0x372504,_0x1517bc){const _0x2bc057=a29_0x4a71,_0x4732a3=_0x372504();while(!![]){try{const _0x56c0b7=-parseInt(_0x2bc057(0xca))/0x1+parseInt(_0x2bc057(0xcd))/0x2+-parseInt(_0x2bc057(0xc7))/0x3+parseInt(_0x2bc057(0xc9))/0x4+parseInt(_0x2bc057(0xcc))/0x5+-parseInt(_0x2bc057(0xcb))/0x6+-parseInt(_0x2bc057(0xc8))/0x7;if(_0x56c0b7===_0x1517bc)break;else _0x4732a3['push'](_0x4732a3['shift']());}catch(_0xce9cc6){_0x4732a3['push'](_0x4732a3['shift']());}}}(a29_0x586f,0xbc367));import{bffList}from'../../commands/bff/list.js';import{bffDetail}from'../../commands/bff/detail.js';import{bffStatus}from'../../commands/bff/status.js';import{bffCreate}from'../../commands/bff/create.js';import{bffPush}from'../../commands/bff/push.js';import{bffPull}from'../../commands/bff/pull.js';function a29_0x4a71(_0x288921,_0x284760){_0x288921=_0x288921-0xc7;const _0x586f1b=a29_0x586f();let _0x4a7193=_0x586f1b[_0x288921];return _0x4a7193;}import{bffDelete}from'../../commands/bff/delete.js';export const bffDefinitions=[bffList,bffDetail,bffStatus,bffCreate,bffPush,bffPull,bffDelete];
|
package/lib/commands/bff/list.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function a30_0x4265(_0x89d809,_0x550e4c){_0x89d809=_0x89d809-0xf8;const _0x54000f=a30_0x5400();let _0x4265e9=_0x54000f[_0x89d809];return _0x4265e9;}const a30_0x335de8=a30_0x4265;function a30_0x5400(){const _0x43e3dc=['bff','60YtuGRY','read','List\x20BFF\x20scripts','4114200WRltRy','appCode','map','list','8628QTxPrY','2UMTvjC','length','Filter\x20by\x20script\x20name','145132VOPgdH','No\x20BFF\x20scripts\x20found.','type','1385QgUkDR','2977814XJDjZV','description','bool','775198PZAsCo','ENDPOINT','scriptType','66vWHjlz','name','boolean','815130YuIgrA','verbose','string','Return\x20full\x20script\x20objects','functionName','4793868RGmNnJ','str','COMMON'];a30_0x5400=function(){return _0x43e3dc;};return a30_0x5400();}(function(_0xf40c0f,_0x7c8579){const _0x25183a=a30_0x4265,_0x3cd9b4=_0xf40c0f();while(!![]){try{const _0x3667eb=-parseInt(_0x25183a(0x110))/0x1*(-parseInt(_0x25183a(0x106))/0x2)+parseInt(_0x25183a(0xfe))/0x3*(-parseInt(_0x25183a(0x109))/0x4)+-parseInt(_0x25183a(0x10c))/0x5*(-parseInt(_0x25183a(0x105))/0x6)+parseInt(_0x25183a(0x10d))/0x7+-parseInt(_0x25183a(0x101))/0x8+parseInt(_0x25183a(0xfa))/0x9+-parseInt(_0x25183a(0x116))/0xa*(parseInt(_0x25183a(0x113))/0xb);if(_0x3667eb===_0x7c8579)break;else _0x3cd9b4['push'](_0x3cd9b4['shift']());}catch(_0x506caa){_0x3cd9b4['push'](_0x3cd9b4['shift']());}}}(a30_0x5400,0x62485));import{listBffScripts}from'../../core/api-client.js';export const bffList={'service':a30_0x335de8(0xfd),'command':a30_0x335de8(0x104),'description':a30_0x335de8(0x100),'risk':a30_0x335de8(0xff),'flags':[{'name':a30_0x335de8(0x10b),'type':a30_0x335de8(0x118),'description':'Script\x20type\x20filter','default':a30_0x335de8(0x111),'enum':[a30_0x335de8(0x111),a30_0x335de8(0xfc)]},{'name':'name','type':a30_0x335de8(0x118),'description':a30_0x335de8(0x108)},{'name':a30_0x335de8(0x117),'type':a30_0x335de8(0x115),'description':a30_0x335de8(0xf8)}],async 'execute'(_0x2e0f76){const _0x20e3f3=a30_0x335de8,_0x3546e6=await listBffScripts(_0x2e0f76[_0x20e3f3(0x102)],_0x2e0f76['str'](_0x20e3f3(0x10b)),{'scriptName':_0x2e0f76[_0x20e3f3(0xfb)](_0x20e3f3(0x114))||undefined}),_0x488e38=_0x2e0f76[_0x20e3f3(0x10f)]('verbose');return{'ok':!![],'data':_0x488e38?_0x3546e6:_0x3546e6[_0x20e3f3(0x103)](_0x49b92f=>({'id':_0x49b92f['id'],'functionName':_0x49b92f[_0x20e3f3(0xf9)]??'','description':_0x49b92f[_0x20e3f3(0x10e)]||'(unnamed)','scriptType':_0x49b92f[_0x20e3f3(0x112)]})),'message':_0x3546e6[_0x20e3f3(0x107)]===0x0?_0x20e3f3(0x10a):undefined};}};
|
package/lib/commands/bff/pull.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a31_0x8ff3b3=a31_0x353f;(function(_0x3470d9,_0x15554a){const _0x391e9c=a31_0x353f,_0x5b1a1a=_0x3470d9();while(!![]){try{const _0x790e56=-parseInt(_0x391e9c(0x112))/0x1+-parseInt(_0x391e9c(0x105))/0x2+-parseInt(_0x391e9c(0x130))/0x3+parseInt(_0x391e9c(0x103))/0x4*(-parseInt(_0x391e9c(0x10d))/0x5)+-parseInt(_0x391e9c(0x108))/0x6*(parseInt(_0x391e9c(0x115))/0x7)+parseInt(_0x391e9c(0x11a))/0x8*(-parseInt(_0x391e9c(0x128))/0x9)+parseInt(_0x391e9c(0x118))/0xa;if(_0x790e56===_0x15554a)break;else _0x5b1a1a['push'](_0x5b1a1a['shift']());}catch(_0x411bbb){_0x5b1a1a['push'](_0x5b1a1a['shift']());}}}(a31_0x5227,0xd9505));import{createInterface}from'node:readline';import{writeFile}from'node:fs/promises';import{listBffScripts,getBffScriptStatistics}from'../../core/api-client.js';import{loadAliasMap}from'../../core/alias-resolver.js';function a31_0x353f(_0x208c63,_0x59290a){_0x208c63=_0x208c63-0xee;const _0x5227d5=a31_0x5227();let _0x353fd0=_0x5227d5[_0x208c63];return _0x353fd0;}import{resolveApiFilePath}from'../../context.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{createHookLocationMap,ensureParentDirectory,fileExists,normalizeBffType,resolveRemoteScriptTarget}from'../../core/bff/file-system.js';import{computeContentHash,computeFileHash}from'../../core/bff/hash.js';import{createEmptyBffLock,ensureLockScope,readBffLockFile,writeBffLockFile}from'../../core/bff/lock.js';import{CliErrors}from'../../errors.js';function a31_0x5227(){const _0x2051cf=['apps','No\x20remote\x20BFF\x20scripts\x20found.','cancelled','trim','hookLocation','COMMON','ENDPOINT','push','datasetCode','local\x20unsynced\x20changes','string','/api/management/library/scripts/list?appCode=','question','stderr','all','str','bool','lockFilePath','scriptType','alias','334820HlNdjA','lastSync','3112756pKqjcQ','filePath','validation','90966nEwFFb','functionNode','toLowerCase','pull','force','55DJyrdV','would_pull','operationType','&type=','boolean','1127387omYdlr','functionName','utf8','448OyTldH','conflict','parse','81815860RWetKT','yes','41488Vcikba','Force\x20overwrite\x20local\x20unsynced\x20changes','--type\x20must\x20be\x20COMMON,\x20ENDPOINT,\x20or\x20HOOK.','nonInteractive','Remote\x20script\x20missing\x20content.','appCode','scriptContent','\x22\x20not\x20found\x20after\x20ensureLockScope.','toISOString','lockKey','bff','skipped','Pull\x20only\x20this\x20script\x20type','Force\x20pull\x20cancelled.','2115YHnBjd','unresolvable\x20target\x20path','Would\x20inspect\x20','length','\x20pulled,\x20','Pull\x20remote\x20BFF\x20scripts\x20to\x20local','stdin','HOOK','4493805jVxqzL','type','\x20failed','message','apiDir','functions','Pull\x20complete:\x20','scriptsRoot','\x20remote\x20BFF\x20script(s)\x20for\x20pull','close'];a31_0x5227=function(){return _0x2051cf;};return a31_0x5227();}export const bffPull={'service':a31_0x8ff3b3(0x124),'command':'pull','description':a31_0x8ff3b3(0x12d),'risk':'write','flags':[{'name':'type','type':a31_0x8ff3b3(0xf9),'description':a31_0x8ff3b3(0x126),'enum':[a31_0x8ff3b3(0xf4),a31_0x8ff3b3(0xf5),a31_0x8ff3b3(0x12f)]},{'name':a31_0x8ff3b3(0x10c),'type':a31_0x8ff3b3(0x111),'description':a31_0x8ff3b3(0x11b)}],async 'dryRun'(_0x3c6300){const _0xefbe99=a31_0x8ff3b3,_0x2d6d34=loadBffProjectConfig(_0x3c6300[_0xefbe99(0x11f)]),_0x2c5adc=await readBffLockFile(_0x2d6d34[_0xefbe99(0x100)]),{appLock:_0x19e87b}=ensureLockScope(_0x2c5adc??createEmptyBffLock(),_0x3c6300[_0xefbe99(0x11f)],_0x2d6d34['scriptsRoot'],_0xefbe99(0x10b)),_0x2e2a85=normalizeBffType(_0x3c6300[_0xefbe99(0xfe)]('type'))??undefined,_0x336d30=buildDatasetCodeToAliasMap(_0x3c6300[_0xefbe99(0x134)],_0x3c6300[_0xefbe99(0x11f)]),[_0x529b16,_0x36e983]=await Promise[_0xefbe99(0xfd)]([listBffScripts(_0x3c6300[_0xefbe99(0x11f)],_0x2e2a85),getBffScriptStatistics(_0x3c6300[_0xefbe99(0x11f)])]),_0x173a19=createHookLocationMap(_0x36e983),_0x164313=[];for(const _0x4a6499 of _0x529b16){const _0x5835da=resolveRemoteScriptTarget(_0x2d6d34,_0x4a6499,_0x173a19,_0x19e87b[_0xefbe99(0x135)],_0x336d30);if(!_0x5835da){_0x164313[_0xefbe99(0xf6)]({'scriptType':_0x4a6499[_0xefbe99(0x101)],'functionName':_0x4a6499[_0xefbe99(0x113)]??'','status':_0xefbe99(0x125),'reason':_0xefbe99(0x129)});continue;}const _0x4f0244=_0x19e87b[_0xefbe99(0x135)][_0x5835da['lockKey']],_0x177bc1=_0x4a6499[_0xefbe99(0x120)]!=null?computeContentHash(_0x4a6499['scriptContent']):undefined,_0x517b96=await hasUnsyncedLocalChanges(_0x5835da[_0xefbe99(0x106)],_0x4f0244,_0x177bc1);_0x164313[_0xefbe99(0xf6)]({'lockKey':_0x5835da[_0xefbe99(0x123)],'filePath':_0x5835da[_0xefbe99(0x106)],'remoteId':_0x4a6499['id']??null,'status':_0x517b96?_0xefbe99(0x116):_0xefbe99(0x10e)});}return{'method':'GET','url':_0xefbe99(0xfa)+_0x3c6300[_0xefbe99(0x11f)]+(_0x2e2a85?_0xefbe99(0x110)+_0x2e2a85:''),'body':{'appCode':_0x3c6300[_0xefbe99(0x11f)],'filterType':_0x2e2a85??null,'files':_0x164313},'description':_0xefbe99(0x12a)+_0x164313[_0xefbe99(0x12b)]+_0xefbe99(0x138)};},async 'execute'(_0x488c70){const _0x1d05e9=a31_0x8ff3b3,_0x4ec536=loadBffProjectConfig(_0x488c70[_0x1d05e9(0x11f)]),_0xc72f4a=await readBffLockFile(_0x4ec536[_0x1d05e9(0x100)]),{lockData:_0x221f1b,appLock:_0x583283}=ensureLockScope(_0xc72f4a??createEmptyBffLock(),_0x488c70['appCode'],_0x4ec536[_0x1d05e9(0x137)],'pull'),_0x5ecb50=normalizeBffType(_0x488c70['str'](_0x1d05e9(0x131)))??undefined;if(_0x488c70[_0x1d05e9(0xfe)]('type')&&!_0x5ecb50)throw CliErrors[_0x1d05e9(0x107)](_0x1d05e9(0x11c));const [_0x273694,_0x4e8ba0]=await Promise[_0x1d05e9(0xfd)]([listBffScripts(_0x488c70[_0x1d05e9(0x11f)],_0x5ecb50),getBffScriptStatistics(_0x488c70[_0x1d05e9(0x11f)])]);if(_0x273694[_0x1d05e9(0x12b)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x1d05e9(0xf0)};const _0x15f226=_0x488c70[_0x1d05e9(0xff)]('force');if(_0x15f226&&!_0x488c70[_0x1d05e9(0x11d)]){const _0x2470a=await confirmForce();if(!_0x2470a)throw CliErrors[_0x1d05e9(0xf1)](_0x1d05e9(0x127));}if(_0x15f226&&_0x488c70[_0x1d05e9(0x11d)]){}const _0xd917ca=buildDatasetCodeToAliasMap(_0x488c70[_0x1d05e9(0x134)],_0x488c70[_0x1d05e9(0x11f)]),_0x529b66=createHookLocationMap(_0x4e8ba0),_0xbf73ba=JSON[_0x1d05e9(0x117)](JSON['stringify'](_0x221f1b)),_0x35adf8=_0x488c70[_0x1d05e9(0x11f)],_0x753c85=_0xbf73ba[_0x1d05e9(0xef)][_0x35adf8];if(!_0x753c85)throw new Error('Lock\x20scope\x20for\x20app\x20\x22'+_0x35adf8+_0x1d05e9(0x121));const _0x59e1b=[],_0x4432e1=[],_0x34c16a=[];for(const _0x2c8f90 of _0x273694){const _0x1880a0=resolveRemoteScriptTarget(_0x4ec536,_0x2c8f90,_0x529b66,_0x583283[_0x1d05e9(0x135)],_0xd917ca);if(!_0x1880a0){_0x4432e1['push']({'lockKey':_0x2c8f90[_0x1d05e9(0x101)]+'/'+_0x2c8f90['functionName'],'reason':_0x1d05e9(0x129)});continue;}const _0x48b018=_0x583283[_0x1d05e9(0x135)][_0x1880a0[_0x1d05e9(0x123)]];try{if(!_0x2c8f90['id'])throw new Error('Remote\x20script\x20missing\x20id.');if(_0x2c8f90[_0x1d05e9(0x120)]==null)throw new Error(_0x1d05e9(0x11e));const _0x33141f=_0x2c8f90[_0x1d05e9(0x120)],_0x83e377=computeContentHash(_0x33141f);if(!_0x15f226){const _0x328d06=await hasUnsyncedLocalChanges(_0x1880a0[_0x1d05e9(0x106)],_0x48b018,_0x83e377);if(_0x328d06){_0x4432e1['push']({'lockKey':_0x1880a0[_0x1d05e9(0x123)],'reason':_0x1d05e9(0xf8)});continue;}}await ensureParentDirectory(_0x1880a0['filePath']),await writeFile(_0x1880a0['filePath'],_0x33141f,_0x1d05e9(0x114));const _0x4cd3f3={'hash':_0x83e377,'remoteId':_0x2c8f90['id'],'version':_0x2c8f90['version']};_0x1880a0[_0x1d05e9(0x131)]===_0x1d05e9(0x12f)&&_0x1880a0['hookLocation']&&(_0x4cd3f3['alias']=_0x1880a0[_0x1d05e9(0xf3)]['alias'],_0x4cd3f3[_0x1d05e9(0xf7)]=_0x1880a0['hookLocation'][_0x1d05e9(0xf7)],_0x4cd3f3[_0x1d05e9(0x10f)]=_0x1880a0[_0x1d05e9(0xf3)]['operationType'],_0x4cd3f3[_0x1d05e9(0x109)]=_0x1880a0[_0x1d05e9(0xf3)][_0x1d05e9(0x109)]),_0x753c85[_0x1d05e9(0x135)][_0x1880a0[_0x1d05e9(0x123)]]=_0x4cd3f3,_0x59e1b[_0x1d05e9(0xf6)]({'lockKey':_0x1880a0[_0x1d05e9(0x123)],'remoteId':_0x2c8f90['id']});}catch(_0x40b7a8){_0x34c16a[_0x1d05e9(0xf6)]({'lockKey':_0x1880a0[_0x1d05e9(0x123)],'error':_0x40b7a8 instanceof Error?_0x40b7a8[_0x1d05e9(0x133)]:String(_0x40b7a8)});}}return _0x753c85[_0x1d05e9(0x104)]=new Date()[_0x1d05e9(0x122)](),await writeBffLockFile(_0x4ec536[_0x1d05e9(0x100)],_0xbf73ba),{'ok':_0x34c16a[_0x1d05e9(0x12b)]===0x0,'data':{'pulled':_0x59e1b,'skipped':_0x4432e1,'failed':_0x34c16a},'message':_0x1d05e9(0x136)+_0x59e1b[_0x1d05e9(0x12b)]+_0x1d05e9(0x12c)+_0x4432e1[_0x1d05e9(0x12b)]+'\x20skipped,\x20'+_0x34c16a[_0x1d05e9(0x12b)]+_0x1d05e9(0x132)};}};async function hasUnsyncedLocalChanges(_0x219fd3,_0x5e63a4,_0x57d5ee){if(!await fileExists(_0x219fd3))return![];const _0x4d88f4=await computeFileHash(_0x219fd3);if(!_0x5e63a4)return _0x57d5ee?_0x4d88f4!==_0x57d5ee:!![];return _0x4d88f4!==_0x5e63a4['hash'];}function buildDatasetCodeToAliasMap(_0x3e5de4,_0x40e3c4){const _0x2ab37c=a31_0x8ff3b3,_0xa287af=loadAliasMap(_0x3e5de4,undefined,resolveApiFilePath(_0x3e5de4,_0x40e3c4));return new Map(_0xa287af['map'](_0x591b7c=>[_0x591b7c[_0x2ab37c(0xf7)],_0x591b7c[_0x2ab37c(0x102)]]));}async function confirmForce(){const _0x20669e=a31_0x8ff3b3,_0x20e9c9=createInterface({'input':process[_0x20669e(0x12e)],'output':process[_0x20669e(0xfc)]}),_0x4c63e4=await new Promise(_0xb8e699=>{const _0xbacd60=_0x20669e;_0x20e9c9[_0xbacd60(0xfb)]('Force\x20pull\x20will\x20overwrite\x20local\x20unsynced\x20changes.\x20Continue?\x20[y/N]\x20',_0xb8e699);});return _0x20e9c9[_0x20669e(0xee)](),['y',_0x20669e(0x119)]['includes'](_0x4c63e4[_0x20669e(0xf2)]()[_0x20669e(0x10a)]());}
|
package/lib/commands/bff/push.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a32_0x494a98=a32_0x4b0b;(function(_0x3a5db9,_0x394c14){const _0x1c249f=a32_0x4b0b,_0x2e4e7f=_0x3a5db9();while(!![]){try{const _0x4c78fc=-parseInt(_0x1c249f(0x13f))/0x1+-parseInt(_0x1c249f(0x187))/0x2*(parseInt(_0x1c249f(0x163))/0x3)+-parseInt(_0x1c249f(0x161))/0x4*(-parseInt(_0x1c249f(0x157))/0x5)+-parseInt(_0x1c249f(0x170))/0x6*(-parseInt(_0x1c249f(0x152))/0x7)+parseInt(_0x1c249f(0x151))/0x8*(-parseInt(_0x1c249f(0x171))/0x9)+parseInt(_0x1c249f(0x15c))/0xa*(parseInt(_0x1c249f(0x13e))/0xb)+-parseInt(_0x1c249f(0x15b))/0xc*(-parseInt(_0x1c249f(0x178))/0xd);if(_0x4c78fc===_0x394c14)break;else _0x2e4e7f['push'](_0x2e4e7f['shift']());}catch(_0x153e8a){_0x2e4e7f['push'](_0x2e4e7f['shift']());}}}(a32_0x22ef,0xf0178));import{readFile}from'node:fs/promises';import{saveBffScript,getBffScriptInfo,listDatasets,clearBffScriptCache}from'../../core/api-client.js';import{loadAliasMap}from'../../core/alias-resolver.js';import{resolveApiFilePath}from'../../context.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{normalizeBffType,scanLocalBffFunctions}from'../../core/bff/file-system.js';import{computeFileHash}from'../../core/bff/hash.js';import{createEmptyBffLock,ensureLockScope,readBffLockFile,writeBffLockFile}from'../../core/bff/lock.js';import{extractScriptDescription}from'../../core/bff/utils.js';function a32_0x4b0b(_0x4aad0e,_0x2659bc){_0x4aad0e=_0x4aad0e-0x139;const _0x22ef72=a32_0x22ef();let _0x4b0b8b=_0x22ef72[_0x4aad0e];return _0x4b0b8b;}import{sleep}from'../../utils/sleep.js';function a32_0x22ef(){const _0x4cb7bb=['name','179635BrjilI','stringify','datasetCodeToDataset','filePath','6974868mEiRlo','7370deGitQ','ENDPOINT','get','description','join','184NeVGCj','Push\x20only\x20the\x20named\x20function\x20(requires\x20--type)','8457GVIfnj','some','\x22.\x20','bool','filter','\x20uploaded,\x20','has','Lock\x20file\x20not\x20settled\x20after\x20push\x20for\x20','Lock\x20scope\x20for\x20app\x20\x22','type','would_push','runtime\x20cache\x20not\x20needed','No\x20local\x20BFF\x20functions\x20found.','78KPcAyL','9VFkqRt','update','version','string','Local\x20function\x20not\x20found:\x20','runtime\x20cache\x20clear\x20failed','map','26cEuXlO','HOOK','script','push','lockKey','toISOString','attempted','validation','alias','utf8','lastSync','\x22\x20not\x20found\x20after\x20ensureLockScope.','apps','set','Push\x20only\x20this\x20script\x20type','806SRDaqx','lockFilePath','Cannot\x20resolve\x20dataset\x20for\x20\x22','bff','operationType','Would\x20inspect\x20','status','Push\x20complete:\x20','Incomplete\x20HOOK\x20path:\x20','remoteId','values','create','26785QawttS','1597778RDGaMW','code','functions','COMMON','Push\x20local\x20BFF\x20scripts\x20to\x20remote','datasetCode','\x20failed,\x20',':\x20missing\x20remote\x20version.\x20Run\x20`push`\x20after\x20`pull`\x20to\x20sync\x20version\x20info.','scriptsRoot','hash','appCode','str','\x20local\x20BFF\x20script(s)\x20for\x20push\x20and\x20clear\x20runtime\x20cache\x20if\x20files\x20are\x20uploaded','Force\x20push\x20ignoring\x20hash\x20protection','force','aliasToDatasetCode','functionNode','cleared','14501144HGFtkA','495481MRUTGW','unchanged','length','Runtime\x20script\x20cache\x20cleared.'];a32_0x22ef=function(){return _0x4cb7bb;};return a32_0x22ef();}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_0x494a98(0x18a),'command':'push','description':a32_0x494a98(0x143),'risk':'high-risk-write','flags':[{'name':a32_0x494a98(0x16c),'type':a32_0x494a98(0x174),'description':a32_0x494a98(0x186),'enum':[a32_0x494a98(0x142),a32_0x494a98(0x15d),a32_0x494a98(0x179)]},{'name':a32_0x494a98(0x156),'type':'string','description':a32_0x494a98(0x162)},{'name':a32_0x494a98(0x14d),'type':'boolean','description':a32_0x494a98(0x14c)}],async 'dryRun'(_0x3f7e59){const _0x431a2f=a32_0x494a98,_0x28277f=loadBffProjectConfig(_0x3f7e59[_0x431a2f(0x149)]),_0x3a66b9=await readBffLockFile(_0x28277f[_0x431a2f(0x188)]),{appLock:_0x2a1d7b}=ensureLockScope(_0x3a66b9??createEmptyBffLock(),_0x3f7e59[_0x431a2f(0x149)],_0x28277f[_0x431a2f(0x147)],_0x431a2f(0x17b)),_0x35acc0=await getTargetFunctions(_0x28277f,_0x3f7e59),_0x1b9572=_0x3f7e59[_0x431a2f(0x166)](_0x431a2f(0x14d)),_0x33eed5=[];for(const _0x597d0d of _0x35acc0){const _0x1f1bb0=await computeFileHash(_0x597d0d[_0x431a2f(0x15a)]),_0x126774=_0x2a1d7b[_0x431a2f(0x141)][_0x597d0d['lockKey']],_0x20143a=!!_0x126774&&_0x126774[_0x431a2f(0x148)]===_0x1f1bb0;_0x33eed5['push']({'lockKey':_0x597d0d['lockKey'],'filePath':_0x597d0d[_0x431a2f(0x15a)],'remoteId':_0x126774?.['remoteId']??null,'mode':_0x126774?.[_0x431a2f(0x13b)]?_0x431a2f(0x172):_0x431a2f(0x13d),'status':!_0x1b9572&&_0x20143a?_0x431a2f(0x153):_0x431a2f(0x16d)});}return{'method':'POST','url':'/api/management/library/scripts/save','body':{'appCode':_0x3f7e59[_0x431a2f(0x149)],'force':_0x1b9572,'files':_0x33eed5,'cacheClearAtRuntime':_0x33eed5[_0x431a2f(0x164)](_0x35f238=>_0x35f238[_0x431a2f(0x18d)]===_0x431a2f(0x16d)),'cacheClearAtRuntimeTimes':_0x33eed5[_0x431a2f(0x164)](_0x58562a=>_0x58562a[_0x431a2f(0x18d)]==='would_push')?CACHE_CLEAR_ATTEMPTS:0x0},'description':_0x431a2f(0x18c)+_0x33eed5[_0x431a2f(0x154)]+_0x431a2f(0x14b)};},async 'execute'(_0x21d864){const _0x264901=a32_0x494a98,_0xfe5f0f=loadBffProjectConfig(_0x21d864['appCode']),_0x44af3b=await readBffLockFile(_0xfe5f0f['lockFilePath']),{lockData:_0x36a8e7,appLock:_0x5bdc2d}=ensureLockScope(_0x44af3b??createEmptyBffLock(),_0x21d864[_0x264901(0x149)],_0xfe5f0f['scriptsRoot'],'push'),_0x2970cf=await getTargetFunctions(_0xfe5f0f,_0x21d864);if(_0x2970cf[_0x264901(0x154)]===0x0)return{'ok':!![],'data':{'uploaded':[],'skipped':[],'failed':[]},'message':_0x264901(0x16f)};const _0x2a4283=_0x21d864[_0x264901(0x166)](_0x264901(0x14d)),_0x3f32e2=JSON['parse'](JSON[_0x264901(0x158)](_0x36a8e7)),_0x350c53=_0x3f32e2[_0x264901(0x184)][_0x21d864['appCode']];if(!_0x350c53)throw new Error(_0x264901(0x16b)+_0x21d864['appCode']+_0x264901(0x183));const _0x18fbf6=await buildHookMaps(_0x21d864[_0x264901(0x149)],_0x21d864['apiDir'],_0x2970cf,_0x350c53),_0x302a1e=[],_0x5e2766=[],_0xdf8d7d=[];for(const _0x43a44e of _0x2970cf){const _0x584efb=await computeFileHash(_0x43a44e[_0x264901(0x15a)]),_0x10fa91=_0x350c53['functions'][_0x43a44e[_0x264901(0x17c)]];if(!_0x2a4283&&_0x10fa91&&_0x10fa91[_0x264901(0x148)]===_0x584efb){_0x5e2766[_0x264901(0x17b)]({'lockKey':_0x43a44e['lockKey'],'reason':_0x264901(0x153)});continue;}try{await uploadSingleFunction(_0x21d864[_0x264901(0x149)],_0x43a44e,_0x350c53,_0x18fbf6);const _0x17497d=_0x350c53[_0x264901(0x141)][_0x43a44e[_0x264901(0x17c)]];_0x302a1e[_0x264901(0x17b)]({'lockKey':_0x43a44e[_0x264901(0x17c)],'remoteId':_0x17497d?.[_0x264901(0x13b)]??0x0});}catch(_0x4e4dd8){_0xdf8d7d['push']({'lockKey':_0x43a44e[_0x264901(0x17c)],'error':_0x4e4dd8 instanceof Error?_0x4e4dd8['message']:String(_0x4e4dd8)});}}_0x350c53[_0x264901(0x182)]=new Date()[_0x264901(0x17d)](),await writeBffLockFile(_0xfe5f0f[_0x264901(0x188)],_0x3f32e2),await waitForUploadedLockEntries(_0xfe5f0f[_0x264901(0x188)],_0x21d864[_0x264901(0x149)],_0x302a1e[_0x264901(0x177)](_0x40e564=>_0x40e564['lockKey']));let _0x542308={'attempted':![],'cleared':![]};if(_0x302a1e[_0x264901(0x154)]>0x0)try{let _0x2d84c='';for(let _0x1c53a2=0x0;_0x1c53a2<CACHE_CLEAR_ATTEMPTS;_0x1c53a2+=0x1){_0x2d84c=await clearBffScriptCache(),_0x1c53a2<CACHE_CLEAR_ATTEMPTS-0x1&&await sleep(CACHE_CLEAR_INTERVAL_MS);}_0x542308={'attempted':!![],'cleared':!![],'message':_0x2d84c||_0x264901(0x155)};}catch(_0x2ee8de){_0x542308={'attempted':!![],'cleared':![],'error':_0x2ee8de instanceof Error?_0x2ee8de['message']:String(_0x2ee8de)};}const _0x17851e=_0xdf8d7d[_0x264901(0x154)]===0x0&&(_0x542308['attempted']?_0x542308[_0x264901(0x150)]:!![]),_0x3d1815=_0x542308[_0x264901(0x17e)]?_0x542308['cleared']?'runtime\x20cache\x20cleared':_0x264901(0x176):_0x264901(0x16e);return{'ok':_0x17851e,'data':{'uploaded':_0x302a1e,'skipped':_0x5e2766,'failed':_0xdf8d7d,'cacheClear':_0x542308},'message':_0x264901(0x139)+_0x302a1e[_0x264901(0x154)]+_0x264901(0x168)+_0x5e2766[_0x264901(0x154)]+'\x20skipped,\x20'+_0xdf8d7d[_0x264901(0x154)]+_0x264901(0x145)+_0x3d1815};}};async function getTargetFunctions(_0x42e9b3,_0x15aadf){const _0x219e67=a32_0x494a98,_0x42cbd4=_0x15aadf[_0x219e67(0x14a)](_0x219e67(0x16c)),_0x195fd2=_0x15aadf[_0x219e67(0x14a)](_0x219e67(0x156)),_0x45dd0c=normalizeBffType(_0x42cbd4)??undefined;if(_0x195fd2&&!_0x45dd0c)throw CliErrors[_0x219e67(0x17f)]('--name\x20requires\x20--type\x20to\x20identify\x20the\x20function.');const _0x120de5=await scanLocalBffFunctions(_0x42e9b3,_0x45dd0c);if(_0x195fd2){const _0x530486=_0x120de5[_0x219e67(0x167)](_0x4050c7=>_0x4050c7[_0x219e67(0x156)]===_0x195fd2);if(_0x530486['length']===0x0)throw CliErrors['validation'](_0x219e67(0x175)+_0x45dd0c+'/'+_0x195fd2);return _0x530486;}return _0x120de5;}async function buildHookMaps(_0x2f7f41,_0x2a8020,_0x1c77af,_0x2a2918){const _0x2291c9=a32_0x494a98,_0x4d6114=_0x1c77af[_0x2291c9(0x164)](_0x1fd71c=>_0x1fd71c[_0x2291c9(0x16c)]===_0x2291c9(0x179));if(!_0x4d6114)return{'aliasToDatasetCode':new Map(),'datasetCodeToDataset':new Map()};const _0x3861fb=loadAliasMap(_0x2a8020,undefined,resolveApiFilePath(_0x2a8020,_0x2f7f41)),_0x191b7c=new Map(_0x3861fb[_0x2291c9(0x177)](_0x5cb7e7=>[_0x5cb7e7[_0x2291c9(0x180)],_0x5cb7e7[_0x2291c9(0x144)]]));for(const _0xd09880 of Object[_0x2291c9(0x13c)](_0x2a2918[_0x2291c9(0x141)])){_0xd09880[_0x2291c9(0x180)]&&_0xd09880[_0x2291c9(0x144)]&&!_0x191b7c[_0x2291c9(0x169)](_0xd09880[_0x2291c9(0x180)])&&_0x191b7c[_0x2291c9(0x185)](_0xd09880[_0x2291c9(0x180)],_0xd09880[_0x2291c9(0x144)]);}const _0x4e777c=await listDatasets(_0x2f7f41),_0x17552d=new Map(_0x4e777c['map'](_0x39c131=>[_0x39c131[_0x2291c9(0x140)],_0x39c131]));return{'aliasToDatasetCode':_0x191b7c,'datasetCodeToDataset':_0x17552d};}async function uploadSingleFunction(_0xce6370,_0x596db3,_0x234997,_0x2e68b2){const _0x33b15e=a32_0x494a98,_0x1a44d7=await readFile(_0x596db3['filePath'],_0x33b15e(0x181)),_0x59d973=await computeFileHash(_0x596db3['filePath']),_0x55b58=_0x234997[_0x33b15e(0x141)][_0x596db3[_0x33b15e(0x17c)]];if(_0x55b58?.[_0x33b15e(0x13b)]&&_0x55b58['version']==null)throw CliErrors[_0x33b15e(0x17f)](_0x596db3['lockKey']+_0x33b15e(0x146));let _0x20cbc9=extractScriptDescription(_0x1a44d7);if(!_0x20cbc9&&_0x55b58?.['remoteId']){const _0x394943=await getBffScriptInfo(_0x55b58['remoteId']);_0x20cbc9=_0x394943[_0x33b15e(0x15f)]||undefined;}const _0x2b5256={'appCode':_0xce6370,'functionName':_0x596db3['name'],'scriptType':_0x596db3[_0x33b15e(0x16c)],'scriptContent':_0x1a44d7};if(_0x55b58?.['remoteId'])_0x2b5256['id']=_0x55b58[_0x33b15e(0x13b)];if(_0x55b58?.[_0x33b15e(0x173)]!=null)_0x2b5256[_0x33b15e(0x173)]=_0x55b58[_0x33b15e(0x173)];if(_0x20cbc9)_0x2b5256[_0x33b15e(0x15f)]=_0x20cbc9;if(_0x596db3[_0x33b15e(0x16c)]===_0x33b15e(0x179)){const _0x239295=_0x596db3[_0x33b15e(0x180)];if(!_0x239295||!_0x596db3['operationType']||!_0x596db3['functionNode'])throw CliErrors['validation'](_0x33b15e(0x13a)+_0x596db3[_0x33b15e(0x17c)]);const _0x22db50=_0x2e68b2[_0x33b15e(0x14e)]['get'](_0x239295)??_0x55b58?.['datasetCode']??_0x239295,_0x21d712=_0x2e68b2[_0x33b15e(0x159)][_0x33b15e(0x15e)](_0x22db50);if(!_0x21d712)throw CliErrors[_0x33b15e(0x17f)](_0x33b15e(0x189)+_0x239295+_0x33b15e(0x165)+('Run\x20`'+CLI_BIN_NAME+'\x20api\x20pull`\x20to\x20refresh\x20api.ts,\x20or\x20verify\x20the\x20dataset\x20exists.'));_0x2b5256['datasetId']=_0x21d712['id'],_0x2b5256[_0x33b15e(0x18b)]=_0x596db3['operationType'],_0x2b5256[_0x33b15e(0x14f)]=_0x596db3[_0x33b15e(0x14f)];}const _0xee5e99=await saveBffScript(_0x2b5256),_0x1b63c8=_0xee5e99['id'],_0x2878af=_0xee5e99[_0x33b15e(0x17a)]??await getBffScriptInfo(_0x1b63c8),_0x79f92c={'hash':_0x59d973,'remoteId':_0x1b63c8,'version':_0x2878af[_0x33b15e(0x173)]};if(_0x596db3[_0x33b15e(0x16c)]===_0x33b15e(0x179)){const _0x17c449=_0x596db3[_0x33b15e(0x180)],_0x490bb2=_0x2e68b2[_0x33b15e(0x14e)][_0x33b15e(0x15e)](_0x17c449)??_0x55b58?.[_0x33b15e(0x144)]??_0x17c449;_0x2e68b2['aliasToDatasetCode'][_0x33b15e(0x169)](_0x17c449)?_0x79f92c['alias']=_0x17c449:_0x79f92c[_0x33b15e(0x180)]=_0x55b58?.[_0x33b15e(0x180)],_0x79f92c['datasetCode']=_0x490bb2,_0x79f92c[_0x33b15e(0x18b)]=_0x596db3['operationType'],_0x79f92c[_0x33b15e(0x14f)]=_0x596db3['functionNode'];}_0x234997[_0x33b15e(0x141)][_0x596db3[_0x33b15e(0x17c)]]=_0x79f92c;}const LOCK_SETTLE_RETRY_COUNT=0x14,LOCK_SETTLE_DELAY_MS=0x64;async function waitForUploadedLockEntries(_0x5209b3,_0x57e011,_0x12245e){const _0x326e5a=a32_0x494a98;if(_0x12245e[_0x326e5a(0x154)]===0x0)return;for(let _0x23ce35=0x0;_0x23ce35<LOCK_SETTLE_RETRY_COUNT;_0x23ce35+=0x1){const _0x51dbf2=await readBffLockFile(_0x5209b3),_0x37ba98=_0x51dbf2?.['apps']?.[_0x57e011]?.[_0x326e5a(0x141)]??{},_0x4f0163=_0x12245e['every'](_0x1cfad0=>!!_0x37ba98[_0x1cfad0]?.[_0x326e5a(0x13b)]);if(_0x4f0163)return;await sleep(LOCK_SETTLE_DELAY_MS);}throw new Error(_0x326e5a(0x16a)+_0x12245e[_0x326e5a(0x160)](',\x20')+'.');}
|
|
1
|
+
const a32_0x9cbed8=a32_0x4057;(function(_0x3071c5,_0xba7440){const _0x3a96ef=a32_0x4057,_0x23b907=_0x3071c5();while(!![]){try{const _0x5138a5=-parseInt(_0x3a96ef(0x18f))/0x1*(parseInt(_0x3a96ef(0x18a))/0x2)+-parseInt(_0x3a96ef(0x153))/0x3*(-parseInt(_0x3a96ef(0x157))/0x4)+parseInt(_0x3a96ef(0x199))/0x5+parseInt(_0x3a96ef(0x185))/0x6*(-parseInt(_0x3a96ef(0x184))/0x7)+parseInt(_0x3a96ef(0x159))/0x8+parseInt(_0x3a96ef(0x191))/0x9*(parseInt(_0x3a96ef(0x15f))/0xa)+parseInt(_0x3a96ef(0x171))/0xb*(-parseInt(_0x3a96ef(0x183))/0xc);if(_0x5138a5===_0xba7440)break;else _0x23b907['push'](_0x23b907['shift']());}catch(_0x3783bb){_0x23b907['push'](_0x23b907['shift']());}}}(a32_0x1e4d,0xdccac));import{readFile}from'node:fs/promises';import{saveBffScript,getBffScriptInfo,listDatasets,clearBffScriptCache}from'../../core/api-client.js';import{loadAliasMap}from'../../core/alias-resolver.js';import{resolveApiFilePath}from'../../context.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{normalizeBffType,scanLocalBffFunctions}from'../../core/bff/file-system.js';import{computeFileHash}from'../../core/bff/hash.js';import{createEmptyBffLock,ensureLockScope,readBffLockFile,writeBffLockFile}from'../../core/bff/lock.js';import{extractScriptDescription}from'../../core/bff/utils.js';import{sleep}from'../../utils/sleep.js';import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';function a32_0x1e4d(){const _0x5608f3=['8862455VwmlqZ','unchanged','filter','hash','lastSync','/api/management/library/scripts/save','runtime\x20cache\x20not\x20needed','appCode','Local\x20function\x20not\x20found:\x20','push','\x20api\x20pull`\x20to\x20refresh\x20api.ts,\x20or\x20verify\x20the\x20dataset\x20exists.','code','filePath','str','Push\x20only\x20the\x20named\x20function\x20(requires\x20--type)','780CxytDS','datasetCode','aliasToDatasetCode','values','2116GzekCB','--name\x20requires\x20--type\x20to\x20identify\x20the\x20function.','11671024lwKYxh','script','has','boolean','Push\x20complete:\x20','Cannot\x20resolve\x20dataset\x20for\x20\x22','6158290jyFZvp','cleared','length','attempted','\x20skipped,\x20','update','apiDir','Force\x20push\x20ignoring\x20hash\x20protection','HOOK','map','some','stringify','POST','Lock\x20file\x20not\x20settled\x20after\x20push\x20for\x20','utf8','lockFilePath','force','operationType','1007347dHupCB','status','message','COMMON','get','lockKey','version','parse','functionNode','\x20local\x20BFF\x20script(s)\x20for\x20push\x20and\x20clear\x20runtime\x20cache\x20if\x20files\x20are\x20uploaded','toISOString','bff','description','high-risk-write','bool','\x20uploaded,\x20','Run\x20`','name','132RuMUIi','238XCqdtQ','141774GCOqct','Push\x20local\x20BFF\x20scripts\x20to\x20remote','functions','string','No\x20local\x20BFF\x20functions\x20found.','2VgKxhi','create','would_push','alias','Push\x20only\x20this\x20script\x20type','1269641XJDLpx','datasetCodeToDataset','9FMOsax','validation','scriptsRoot','remoteId','\x20failed,\x20','type','Runtime\x20script\x20cache\x20cleared.','runtime\x20cache\x20cleared'];a32_0x1e4d=function(){return _0x5608f3;};return a32_0x1e4d();}const CACHE_CLEAR_ATTEMPTS=0x2,CACHE_CLEAR_INTERVAL_MS=0x12c;export const bffPush={'service':a32_0x9cbed8(0x17c),'command':a32_0x9cbed8(0x1a2),'description':a32_0x9cbed8(0x186),'risk':a32_0x9cbed8(0x17e),'flags':[{'name':a32_0x9cbed8(0x196),'type':a32_0x9cbed8(0x188),'description':a32_0x9cbed8(0x18e),'enum':[a32_0x9cbed8(0x174),'ENDPOINT',a32_0x9cbed8(0x167)]},{'name':a32_0x9cbed8(0x182),'type':a32_0x9cbed8(0x188),'description':a32_0x9cbed8(0x152)},{'name':'force','type':a32_0x9cbed8(0x15c),'description':a32_0x9cbed8(0x166)}],async 'dryRun'(_0x5c4807){const _0x1b2e4d=a32_0x9cbed8,_0x281932=loadBffProjectConfig(_0x5c4807[_0x1b2e4d(0x1a0)]),_0x433d85=await readBffLockFile(_0x281932[_0x1b2e4d(0x16e)]),{appLock:_0x488512}=ensureLockScope(_0x433d85??createEmptyBffLock(),_0x5c4807[_0x1b2e4d(0x1a0)],_0x281932[_0x1b2e4d(0x193)],_0x1b2e4d(0x1a2)),_0x385e15=await getTargetFunctions(_0x281932,_0x5c4807),_0x4c311a=_0x5c4807[_0x1b2e4d(0x17f)](_0x1b2e4d(0x16f)),_0x53aebd=[];for(const _0x3b25a0 of _0x385e15){const _0x57649f=await computeFileHash(_0x3b25a0['filePath']),_0x1fc07a=_0x488512[_0x1b2e4d(0x187)][_0x3b25a0[_0x1b2e4d(0x176)]],_0x29b1c8=!!_0x1fc07a&&_0x1fc07a[_0x1b2e4d(0x19c)]===_0x57649f;_0x53aebd[_0x1b2e4d(0x1a2)]({'lockKey':_0x3b25a0[_0x1b2e4d(0x176)],'filePath':_0x3b25a0[_0x1b2e4d(0x1a5)],'remoteId':_0x1fc07a?.['remoteId']??null,'mode':_0x1fc07a?.[_0x1b2e4d(0x194)]?_0x1b2e4d(0x164):_0x1b2e4d(0x18b),'status':!_0x4c311a&&_0x29b1c8?_0x1b2e4d(0x19a):'would_push'});}return{'method':_0x1b2e4d(0x16b),'url':_0x1b2e4d(0x19e),'body':{'appCode':_0x5c4807[_0x1b2e4d(0x1a0)],'force':_0x4c311a,'files':_0x53aebd,'cacheClearAtRuntime':_0x53aebd[_0x1b2e4d(0x169)](_0x291ec4=>_0x291ec4[_0x1b2e4d(0x172)]===_0x1b2e4d(0x18c)),'cacheClearAtRuntimeTimes':_0x53aebd[_0x1b2e4d(0x169)](_0x4e94f0=>_0x4e94f0['status']==='would_push')?CACHE_CLEAR_ATTEMPTS:0x0},'description':'Would\x20inspect\x20'+_0x53aebd[_0x1b2e4d(0x161)]+_0x1b2e4d(0x17a)};},async 'execute'(_0x5112bd){const _0x3f6e58=a32_0x9cbed8,_0x56ce7d=loadBffProjectConfig(_0x5112bd[_0x3f6e58(0x1a0)]),_0x1471c4=await readBffLockFile(_0x56ce7d[_0x3f6e58(0x16e)]),{lockData:_0x4cb009,appLock:_0x3f15da}=ensureLockScope(_0x1471c4??createEmptyBffLock(),_0x5112bd['appCode'],_0x56ce7d[_0x3f6e58(0x193)],_0x3f6e58(0x1a2)),_0x2de7c6=await getTargetFunctions(_0x56ce7d,_0x5112bd);if(_0x2de7c6[_0x3f6e58(0x161)]===0x0)return{'ok':!![],'data':{'uploaded':[],'skipped':[],'failed':[]},'message':_0x3f6e58(0x189)};const _0x15c1aa=_0x5112bd[_0x3f6e58(0x17f)](_0x3f6e58(0x16f)),_0x5e8c46=JSON[_0x3f6e58(0x178)](JSON[_0x3f6e58(0x16a)](_0x4cb009)),_0x54759c=_0x5e8c46['apps'][_0x5112bd[_0x3f6e58(0x1a0)]];if(!_0x54759c)throw new Error('Lock\x20scope\x20for\x20app\x20\x22'+_0x5112bd[_0x3f6e58(0x1a0)]+'\x22\x20not\x20found\x20after\x20ensureLockScope.');const _0x4c704d=await buildHookMaps(_0x5112bd[_0x3f6e58(0x1a0)],_0x5112bd[_0x3f6e58(0x165)],_0x2de7c6,_0x54759c),_0x260378=[],_0x1c96f9=[],_0x5a9662=[];for(const _0x5d21eb of _0x2de7c6){const _0x5cad64=await computeFileHash(_0x5d21eb[_0x3f6e58(0x1a5)]),_0xb05576=_0x54759c['functions'][_0x5d21eb[_0x3f6e58(0x176)]];if(!_0x15c1aa&&_0xb05576&&_0xb05576[_0x3f6e58(0x19c)]===_0x5cad64){_0x1c96f9['push']({'lockKey':_0x5d21eb[_0x3f6e58(0x176)],'reason':_0x3f6e58(0x19a)});continue;}try{await uploadSingleFunction(_0x5112bd['appCode'],_0x5d21eb,_0x54759c,_0x4c704d);const _0x4584c2=_0x54759c[_0x3f6e58(0x187)][_0x5d21eb[_0x3f6e58(0x176)]];_0x260378[_0x3f6e58(0x1a2)]({'lockKey':_0x5d21eb['lockKey'],'remoteId':_0x4584c2?.[_0x3f6e58(0x194)]??0x0});}catch(_0x2e1470){_0x5a9662[_0x3f6e58(0x1a2)]({'lockKey':_0x5d21eb[_0x3f6e58(0x176)],'error':_0x2e1470 instanceof Error?_0x2e1470[_0x3f6e58(0x173)]:String(_0x2e1470)});}}_0x54759c[_0x3f6e58(0x19d)]=new Date()[_0x3f6e58(0x17b)](),await writeBffLockFile(_0x56ce7d[_0x3f6e58(0x16e)],_0x5e8c46),await waitForUploadedLockEntries(_0x56ce7d['lockFilePath'],_0x5112bd[_0x3f6e58(0x1a0)],_0x260378[_0x3f6e58(0x168)](_0x52fc2a=>_0x52fc2a[_0x3f6e58(0x176)]));let _0x79ff92={'attempted':![],'cleared':![]};if(_0x260378[_0x3f6e58(0x161)]>0x0)try{let _0x21e013='';for(let _0x5964ac=0x0;_0x5964ac<CACHE_CLEAR_ATTEMPTS;_0x5964ac+=0x1){_0x21e013=await clearBffScriptCache(),_0x5964ac<CACHE_CLEAR_ATTEMPTS-0x1&&await sleep(CACHE_CLEAR_INTERVAL_MS);}_0x79ff92={'attempted':!![],'cleared':!![],'message':_0x21e013||_0x3f6e58(0x197)};}catch(_0x4039cd){_0x79ff92={'attempted':!![],'cleared':![],'error':_0x4039cd instanceof Error?_0x4039cd['message']:String(_0x4039cd)};}const _0x35ba98=_0x5a9662['length']===0x0&&(_0x79ff92[_0x3f6e58(0x162)]?_0x79ff92[_0x3f6e58(0x160)]:!![]),_0x35762a=_0x79ff92[_0x3f6e58(0x162)]?_0x79ff92[_0x3f6e58(0x160)]?_0x3f6e58(0x198):'runtime\x20cache\x20clear\x20failed':_0x3f6e58(0x19f);return{'ok':_0x35ba98,'data':{'uploaded':_0x260378,'skipped':_0x1c96f9,'failed':_0x5a9662,'cacheClear':_0x79ff92},'message':_0x3f6e58(0x15d)+_0x260378['length']+_0x3f6e58(0x180)+_0x1c96f9[_0x3f6e58(0x161)]+_0x3f6e58(0x163)+_0x5a9662['length']+_0x3f6e58(0x195)+_0x35762a};}};async function getTargetFunctions(_0x5d0e19,_0x8faf91){const _0x53c6d5=a32_0x9cbed8,_0x2b850c=_0x8faf91[_0x53c6d5(0x1a6)]('type'),_0x43d8e2=_0x8faf91[_0x53c6d5(0x1a6)](_0x53c6d5(0x182)),_0x52c5db=normalizeBffType(_0x2b850c)??undefined;if(_0x43d8e2&&!_0x52c5db)throw CliErrors[_0x53c6d5(0x192)](_0x53c6d5(0x158));const _0x3f783e=await scanLocalBffFunctions(_0x5d0e19,_0x52c5db);if(_0x43d8e2){const _0x8f0c14=_0x3f783e[_0x53c6d5(0x19b)](_0x1fa1e4=>_0x1fa1e4[_0x53c6d5(0x182)]===_0x43d8e2);if(_0x8f0c14['length']===0x0)throw CliErrors['validation'](_0x53c6d5(0x1a1)+_0x52c5db+'/'+_0x43d8e2);return _0x8f0c14;}return _0x3f783e;}async function buildHookMaps(_0x3e9a3d,_0x4bde39,_0x34a918,_0x2f9d62){const _0x5eecb3=a32_0x9cbed8,_0x461aa7=_0x34a918[_0x5eecb3(0x169)](_0x24a635=>_0x24a635[_0x5eecb3(0x196)]===_0x5eecb3(0x167));if(!_0x461aa7)return{'aliasToDatasetCode':new Map(),'datasetCodeToDataset':new Map()};const _0xd7e0cb=loadAliasMap(_0x4bde39,undefined,resolveApiFilePath(_0x4bde39,_0x3e9a3d)),_0x3be120=new Map(_0xd7e0cb['map'](_0x572125=>[_0x572125[_0x5eecb3(0x18d)],_0x572125[_0x5eecb3(0x154)]]));for(const _0x240fa0 of Object[_0x5eecb3(0x156)](_0x2f9d62[_0x5eecb3(0x187)])){_0x240fa0[_0x5eecb3(0x18d)]&&_0x240fa0[_0x5eecb3(0x154)]&&!_0x3be120[_0x5eecb3(0x15b)](_0x240fa0['alias'])&&_0x3be120['set'](_0x240fa0['alias'],_0x240fa0['datasetCode']);}const _0x29aa04=await listDatasets(_0x3e9a3d),_0x5d14d9=new Map(_0x29aa04['map'](_0x1293cf=>[_0x1293cf[_0x5eecb3(0x1a4)],_0x1293cf]));return{'aliasToDatasetCode':_0x3be120,'datasetCodeToDataset':_0x5d14d9};}async function uploadSingleFunction(_0x3b9e3a,_0x509876,_0x4b6502,_0x549a87){const _0x5b6db5=a32_0x9cbed8,_0x4770c5=await readFile(_0x509876[_0x5b6db5(0x1a5)],_0x5b6db5(0x16d)),_0x3c4ab7=await computeFileHash(_0x509876[_0x5b6db5(0x1a5)]),_0x298cad=_0x4b6502[_0x5b6db5(0x187)][_0x509876['lockKey']];if(_0x298cad?.['remoteId']&&_0x298cad[_0x5b6db5(0x177)]==null)throw CliErrors[_0x5b6db5(0x192)](_0x509876['lockKey']+':\x20missing\x20remote\x20version.\x20Run\x20`push`\x20after\x20`pull`\x20to\x20sync\x20version\x20info.');let _0x41ea29=extractScriptDescription(_0x4770c5);if(!_0x41ea29&&_0x298cad?.['remoteId']){const _0x225811=await getBffScriptInfo(_0x298cad[_0x5b6db5(0x194)]);_0x41ea29=_0x225811[_0x5b6db5(0x17d)]||undefined;}const _0x3e37ee={'appCode':_0x3b9e3a,'functionName':_0x509876[_0x5b6db5(0x182)],'scriptType':_0x509876[_0x5b6db5(0x196)],'scriptContent':_0x4770c5};if(_0x298cad?.['remoteId'])_0x3e37ee['id']=_0x298cad[_0x5b6db5(0x194)];if(_0x298cad?.[_0x5b6db5(0x177)]!=null)_0x3e37ee[_0x5b6db5(0x177)]=_0x298cad[_0x5b6db5(0x177)];if(_0x41ea29)_0x3e37ee[_0x5b6db5(0x17d)]=_0x41ea29;if(_0x509876['type']===_0x5b6db5(0x167)){const _0x9b2113=_0x509876['alias'];if(!_0x9b2113||!_0x509876[_0x5b6db5(0x170)]||!_0x509876['functionNode'])throw CliErrors[_0x5b6db5(0x192)]('Incomplete\x20HOOK\x20path:\x20'+_0x509876['lockKey']);const _0xe3e722=_0x549a87[_0x5b6db5(0x155)][_0x5b6db5(0x175)](_0x9b2113)??_0x298cad?.[_0x5b6db5(0x154)]??_0x9b2113,_0x35a6ab=_0x549a87[_0x5b6db5(0x190)][_0x5b6db5(0x175)](_0xe3e722);if(!_0x35a6ab)throw CliErrors['validation'](_0x5b6db5(0x15e)+_0x9b2113+'\x22.\x20'+(_0x5b6db5(0x181)+CLI_BIN_NAME+_0x5b6db5(0x1a3)));_0x3e37ee['datasetId']=_0x35a6ab['id'],_0x3e37ee['operationType']=_0x509876['operationType'],_0x3e37ee[_0x5b6db5(0x179)]=_0x509876[_0x5b6db5(0x179)];}const _0x3f6949=await saveBffScript(_0x3e37ee),_0x405cf5=_0x3f6949['id'],_0x4df526=_0x3f6949[_0x5b6db5(0x15a)]??await getBffScriptInfo(_0x405cf5),_0x31274b={'hash':_0x3c4ab7,'remoteId':_0x405cf5,'version':_0x4df526['version']};if(_0x509876[_0x5b6db5(0x196)]==='HOOK'){const _0x23f919=_0x509876[_0x5b6db5(0x18d)],_0x4419c2=_0x549a87['aliasToDatasetCode'][_0x5b6db5(0x175)](_0x23f919)??_0x298cad?.[_0x5b6db5(0x154)]??_0x23f919;_0x549a87[_0x5b6db5(0x155)][_0x5b6db5(0x15b)](_0x23f919)?_0x31274b['alias']=_0x23f919:_0x31274b[_0x5b6db5(0x18d)]=_0x298cad?.[_0x5b6db5(0x18d)],_0x31274b[_0x5b6db5(0x154)]=_0x4419c2,_0x31274b[_0x5b6db5(0x170)]=_0x509876[_0x5b6db5(0x170)],_0x31274b['functionNode']=_0x509876['functionNode'];}_0x4b6502['functions'][_0x509876['lockKey']]=_0x31274b;}const LOCK_SETTLE_RETRY_COUNT=0x14,LOCK_SETTLE_DELAY_MS=0x64;function a32_0x4057(_0x57f9c4,_0x2717f9){_0x57f9c4=_0x57f9c4-0x152;const _0x1e4dbf=a32_0x1e4d();let _0x405785=_0x1e4dbf[_0x57f9c4];return _0x405785;}async function waitForUploadedLockEntries(_0xdca758,_0x58d0ac,_0x172a05){const _0x192271=a32_0x9cbed8;if(_0x172a05[_0x192271(0x161)]===0x0)return;for(let _0x10ea6a=0x0;_0x10ea6a<LOCK_SETTLE_RETRY_COUNT;_0x10ea6a+=0x1){const _0x4668a4=await readBffLockFile(_0xdca758),_0x2b64a3=_0x4668a4?.['apps']?.[_0x58d0ac]?.[_0x192271(0x187)]??{},_0x20c2f4=_0x172a05['every'](_0x1fde4a=>!!_0x2b64a3[_0x1fde4a]?.['remoteId']);if(_0x20c2f4)return;await sleep(LOCK_SETTLE_DELAY_MS);}throw new Error(_0x192271(0x16c)+_0x172a05['join'](',\x20')+'.');}
|