@lovrabet/rabetbase-cli 2.5.1 → 2.5.2-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/api/api-doc.js +1 -1
- package/lib/api/fetch-model-list.js +1 -1
- package/lib/api/generate-api-file.js +1 -1
- package/lib/api/generate-sdk-config-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/index.js +1 -1
- package/lib/commands/app/list.js +1 -1
- package/lib/commands/app/members-list.js +1 -1
- package/lib/commands/app/remote-directory.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app-config/delete.js +1 -1
- package/lib/commands/app-config/get.js +1 -1
- package/lib/commands/app-config/index.js +1 -1
- package/lib/commands/app-config/list.js +1 -1
- package/lib/commands/app-config/set.js +1 -1
- package/lib/commands/app-config/shared.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-skill/index.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-registry.js +1 -1
- package/lib/commands/common/app-selector.js +1 -1
- package/lib/commands/common/async-task.js +1 -1
- package/lib/commands/common/dry-run.js +1 -1
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/common/local-file.js +1 -1
- package/lib/commands/common/validate.js +1 -1
- package/lib/commands/config/delete.js +1 -1
- package/lib/commands/config/get.js +1 -1
- package/lib/commands/config/index.js +1 -1
- package/lib/commands/config/init.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/dataset/business-group-update.js +1 -1
- package/lib/commands/dataset/business-groups.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-restore.js +1 -1
- package/lib/commands/dataset/field-update.js +1 -1
- package/lib/commands/dataset/generate.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-audit.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/dataset/restore.js +1 -1
- package/lib/commands/dataset/user-deleted-field-list.js +1 -1
- package/lib/commands/db/analysis-batching.js +1 -1
- package/lib/commands/db/analyze-batch-plan.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-refresh-start.js +1 -1
- package/lib/commands/db/diff-refresh-status.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/table-diff-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/deployment/auto-sync.d.ts +3 -11
- package/lib/commands/deployment/auto-sync.js +1 -1
- package/lib/commands/deployment/index.js +1 -1
- package/lib/commands/deployment/sync.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/file/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/kb/create.js +1 -1
- package/lib/commands/kb/delete.js +1 -1
- package/lib/commands/kb/detail.js +1 -1
- package/lib/commands/kb/index.js +1 -1
- package/lib/commands/kb/list.js +1 -1
- package/lib/commands/kb/search.js +1 -1
- package/lib/commands/kb/shared.js +1 -1
- package/lib/commands/kb/update.js +1 -1
- package/lib/commands/logs/index.js +1 -1
- package/lib/commands/menu/asset-update.js +1 -1
- package/lib/commands/menu/delete.js +1 -1
- package/lib/commands/menu/external-link-create.js +1 -1
- package/lib/commands/menu/external-link-update.js +1 -1
- package/lib/commands/menu/group-create.js +1 -1
- package/lib/commands/menu/group-update.js +1 -1
- package/lib/commands/menu/index.js +1 -1
- package/lib/commands/menu/list.js +1 -1
- package/lib/commands/menu/move.js +1 -1
- package/lib/commands/menu/regroup-start.js +1 -1
- package/lib/commands/menu/rename.js +1 -1
- package/lib/commands/menu/shared/compare-table.js +1 -1
- package/lib/commands/menu/shared/delete-plan.js +1 -1
- package/lib/commands/menu/shared/facts.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/mutations.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/visibility-update.js +1 -1
- package/lib/commands/notification/config-create.js +1 -1
- package/lib/commands/notification/config-delete.js +1 -1
- package/lib/commands/notification/config-list.js +1 -1
- package/lib/commands/notification/config-update.js +1 -1
- package/lib/commands/notification/index.js +1 -1
- package/lib/commands/notification/shared.js +1 -1
- package/lib/commands/ocr/index.js +1 -1
- package/lib/commands/page/create.js +1 -1
- package/lib/commands/page/custom/detail.js +1 -1
- package/lib/commands/page/custom/list.js +1 -1
- package/lib/commands/page/custom/publish.js +1 -1
- package/lib/commands/page/custom/shared.js +1 -1
- package/lib/commands/page/custom/syntax.js +1 -1
- package/lib/commands/page/custom/template.js +1 -1
- package/lib/commands/page/custom/update.js +1 -1
- package/lib/commands/page/data-list-status.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/restore.js +1 -1
- package/lib/commands/page/shared.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/materialize-project-template.js +1 -1
- package/lib/commands/project/create/project-name.js +1 -1
- package/lib/commands/project/create/project-template-archive.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/domain-routing-sync.js +1 -1
- package/lib/commands/project/index.js +1 -1
- package/lib/commands/project/upgrade.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/role/delete.js +1 -1
- package/lib/commands/role/detail.js +1 -1
- package/lib/commands/role/index.js +1 -1
- package/lib/commands/role/list.js +1 -1
- package/lib/commands/role/shared.js +1 -1
- package/lib/commands/role/update.js +1 -1
- package/lib/commands/role/user-add.js +1 -1
- package/lib/commands/role/user-remove.js +1 -1
- package/lib/commands/role/user-resolve.js +1 -1
- package/lib/commands/rule/get.js +1 -1
- package/lib/commands/rule/index.js +1 -1
- package/lib/commands/rule/list.js +1 -1
- package/lib/commands/rule/set.js +1 -1
- package/lib/commands/rule/shared.js +1 -1
- package/lib/commands/run/index.js +1 -1
- package/lib/commands/schema.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/shared.js +1 -1
- package/lib/commands/sql/status.js +1 -1
- package/lib/commands/sql/validate.js +1 -1
- package/lib/commands/task/index.js +1 -1
- package/lib/commands/task/status.js +1 -1
- package/lib/commands/tenant/index.js +1 -1
- package/lib/commands/tenant/members-list.js +1 -1
- package/lib/commands/tenant/shared.js +1 -1
- package/lib/commands/user-account/dingding-sandbox-bind.js +1 -1
- package/lib/commands/user-account/index.js +1 -1
- package/lib/commands/workspace/add.js +1 -1
- package/lib/commands/workspace/index.js +1 -1
- package/lib/commands/workspace/remove.js +1 -1
- package/lib/config/domain-config.js +1 -1
- package/lib/config/project-domain-routing.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/region.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/constant/routing-profile.js +1 -1
- package/lib/context/app-resolver.d.ts +0 -2
- package/lib/context/app-resolver.js +1 -1
- package/lib/context/auth-resolver.js +1 -1
- package/lib/context/config-loader.js +1 -1
- package/lib/context.js +1 -1
- package/lib/core/alias-resolver.js +1 -1
- package/lib/core/api-client.d.ts +0 -2
- 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/kb-search-client.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-index-auditor.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/error-output.js +1 -1
- package/lib/framework/explicit-yes.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/supported-flags.d.ts +2 -0
- package/lib/framework/supported-flags.js +1 -0
- package/lib/framework/types.d.ts +2 -4
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.d.ts +4 -4
- package/lib/generated/build-info.js +1 -1
- package/lib/generated/official-routing.js +1 -1
- package/lib/generated/routing-contract.js +1 -1
- package/lib/help.js +1 -1
- package/lib/postinstall.js +1 -1
- package/lib/runtime/confirmation.js +1 -1
- package/lib/runtime/event.js +1 -1
- package/lib/runtime/index.js +1 -1
- package/lib/runtime/queue.js +1 -1
- package/lib/runtime/resolve.js +1 -1
- package/lib/skills/builtin-skill.js +1 -1
- package/lib/skills/main.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/skills/skill-presence.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/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/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
- package/skills/rabetbase/SKILL.md +3 -3
- package/skills/rabetbase/references/rabetbase-deployment-sync.md +16 -44
- package/skills/rabetbase.manifest.json +3 -3
- package/lib/config/deployment-sync.d.ts +0 -10
- package/lib/config/deployment-sync.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x175210,_0x332d7e){const _0x5cb90d=a112_0x307e,_0x4deb92=_0x175210();while(!![]){try{const _0x55154c=-parseInt(_0x5cb90d(0x16f))/0x1*(-parseInt(_0x5cb90d(0x1a1))/0x2)+parseInt(_0x5cb90d(0x19f))/0x3+parseInt(_0x5cb90d(0x1b5))/0x4*(-parseInt(_0x5cb90d(0x16d))/0x5)+-parseInt(_0x5cb90d(0x1a6))/0x6*(parseInt(_0x5cb90d(0x17c))/0x7)+parseInt(_0x5cb90d(0x16e))/0x8+parseInt(_0x5cb90d(0x18c))/0x9*(-parseInt(_0x5cb90d(0x1a5))/0xa)+parseInt(_0x5cb90d(0x174))/0xb*(parseInt(_0x5cb90d(0x185))/0xc);if(_0x55154c===_0x332d7e)break;else _0x4deb92['push'](_0x4deb92['shift']());}catch(_0x48ac64){_0x4deb92['push'](_0x4deb92['shift']());}}}(a112_0x5241,0x4c3cf));import{createHash}from'node:crypto';import{readFile,stat}from'node:fs/promises';import{resolve}from'node:path';import{TextDecoder}from'node:util';import{getEnterpriseKnowledgeBase,getPlatformErrorCode,listEnterpriseKnowledgeBases}from'../../core/api-client.js';import{CliError}from'../../errors.js';const LIST_PAGE_SIZE=0x32,DATA_NOT_EXIST_ERROR_CODE='306';export function kbError(_0x4063bb,_0x4f5914,_0x210380){return new CliError(_0x4063bb,0x1,_0x4f5914,_0x210380);}export function readKbId(_0x2aa908){const _0x447e48=a112_0x307e,_0x3d74b0=_0x2aa908['num']('id');if(!Number[_0x447e48(0x18b)](_0x3d74b0)||_0x3d74b0<=0x0)throw kbError(_0x447e48(0x18e),_0x447e48(0x1a4));return _0x3d74b0;}export function requireKbExplicitYes(_0x14b177){const _0x48a96d=a112_0x307e;if(_0x14b177['bool'](_0x48a96d(0x1ab))||_0x14b177['bool'](_0x48a96d(0x1a2)))return;throw kbError(_0x48a96d(0x199),_0x48a96d(0x187),_0x48a96d(0x16c));}function sha256(_0x522de9){const _0x1c30fd=a112_0x307e;return _0x1c30fd(0x188)+createHash('sha256')['update'](_0x522de9)['digest']('hex');}export function inspectKbContent(_0x4d2b39){const _0x3443c4=a112_0x307e,_0x3af8ef=Buffer[_0x3443c4(0x181)](_0x4d2b39,_0x3443c4(0x194));return{'content':_0x4d2b39,'byteSize':_0x3af8ef[_0x3443c4(0x173)],'contentHash':sha256(_0x3af8ef)};}export async function readKbFile(_0x14a2dc){const _0x2ae505=a112_0x307e,_0x1f71e1=_0x14a2dc[_0x2ae505(0x19d)]();if(!_0x1f71e1)throw kbError(_0x2ae505(0x183),_0x2ae505(0x1b2),'Pass\x20--file\x20<knowledge.md>.');const _0x14e6a1=resolve(_0x1f71e1);let _0x342218;try{_0x342218=await stat(_0x14e6a1);}catch(_0x349ffe){throw kbError('kb_file_unreadable',_0x2ae505(0x176)+_0x1f71e1,_0x349ffe instanceof Error?_0x349ffe[_0x2ae505(0x17f)]:String(_0x349ffe));}if(!_0x342218[_0x2ae505(0x1b8)]())throw kbError(_0x2ae505(0x1ad),'Knowledge-base\x20content\x20path\x20is\x20not\x20a\x20regular\x20file:\x20'+_0x1f71e1);let _0xf86771;try{_0xf86771=await readFile(_0x14e6a1);}catch(_0x3f189c){throw kbError(_0x2ae505(0x193),_0x2ae505(0x1a0)+_0x1f71e1,_0x3f189c instanceof Error?_0x3f189c[_0x2ae505(0x17f)]:String(_0x3f189c));}let _0x260a96;try{_0x260a96=new TextDecoder(_0x2ae505(0x195),{'fatal':!![],'ignoreBOM':!![]})[_0x2ae505(0x1bd)](_0xf86771);}catch{throw kbError(_0x2ae505(0x186),_0x2ae505(0x1b9)+_0x1f71e1);}if(!_0x260a96[_0x2ae505(0x19d)]())throw kbError(_0x2ae505(0x186),'Knowledge-base\x20content\x20file\x20is\x20blank:\x20'+_0x1f71e1);return inspectKbContent(_0x260a96);}export async function verifyKbMutationReadback(_0x4da1a7,_0x899956,_0x595a9a){const _0x46d9c7=a112_0x307e;try{return await _0x595a9a();}catch(_0x250e22){const _0xac01b9=kbError(_0x46d9c7(0x17a)+_0x4da1a7+'_'+(_0x899956?_0x46d9c7(0x1b6):_0x46d9c7(0x18a)),'The\x20'+_0x4da1a7+'\x20request\x20was\x20sent,\x20but\x20its\x20final\x20company\x20knowledge-base\x20state\x20could\x20not\x20be\x20verified.',_0x46d9c7(0x180));Object[_0x46d9c7(0x179)](_0xac01b9,_0x46d9c7(0x192),{'value':_0x250e22,'enumerable':![]});throw _0xac01b9;}}function requireRecordText(_0x3af4e2,_0x539394,_0x53c11f,_0x59c363={}){const _0x405e72=a112_0x307e;if(typeof _0x3af4e2===_0x405e72(0x196)&&(_0x59c363[_0x405e72(0x19a)]||_0x3af4e2[_0x405e72(0x19d)]()))return _0x3af4e2;throw kbError(_0x405e72(0x1a8),_0x405e72(0x17e)+String(_0x53c11f)+'\x20response\x20is\x20missing\x20'+_0x539394+'.');}export function projectKb(_0x2b2527){const _0x3b8a05=a112_0x307e;if(!Number[_0x3b8a05(0x18b)](_0x2b2527['id'])||_0x2b2527['id']<=0x0)throw kbError(_0x3b8a05(0x1a8),_0x3b8a05(0x197));if(!Number['isSafeInteger'](_0x2b2527['version'])||_0x2b2527[_0x3b8a05(0x168)]<0x0)throw kbError(_0x3b8a05(0x1a8),_0x3b8a05(0x17e)+_0x2b2527['id']+_0x3b8a05(0x1b3));if(_0x2b2527[_0x3b8a05(0x1a7)]!==_0x3b8a05(0x19b))throw kbError('kb_scope_mismatch','Knowledge\x20base\x20'+_0x2b2527['id']+'\x20is\x20not\x20company-scoped.');const _0x54aed7=requireRecordText(_0x2b2527[_0x3b8a05(0x18f)],'appCode',_0x2b2527['id']),_0x4c9d5a=requireRecordText(_0x2b2527['title'],_0x3b8a05(0x17b),_0x2b2527['id']),_0x7966ed=inspectKbContent(requireRecordText(_0x2b2527[_0x3b8a05(0x198)],'content',_0x2b2527['id'],{'allowEmpty':!![]})),_0x1f1a23=typeof _0x2b2527[_0x3b8a05(0x172)]===_0x3b8a05(0x196)||typeof _0x2b2527[_0x3b8a05(0x172)]==='number'?_0x2b2527[_0x3b8a05(0x172)]:undefined,_0x14c8f2=typeof _0x2b2527[_0x3b8a05(0x1b1)]===_0x3b8a05(0x196)||typeof _0x2b2527['updateTime']===_0x3b8a05(0x169)?_0x2b2527['updateTime']:undefined,_0x1605ef=sha256(JSON[_0x3b8a05(0x171)]({'id':_0x2b2527['id'],'scope':_0x2b2527[_0x3b8a05(0x1a7)],'appCode':_0x54aed7,'title':_0x4c9d5a,'version':_0x2b2527['version'],'contentHash':_0x7966ed['contentHash'],'createTime':_0x1f1a23,'updateTime':_0x14c8f2}));return{'id':_0x2b2527['id'],'scope':_0x3b8a05(0x19b),'appCode':_0x54aed7,'title':_0x4c9d5a,'version':_0x2b2527['version'],'contentByteSize':_0x7966ed[_0x3b8a05(0x177)],'contentHash':_0x7966ed[_0x3b8a05(0x1ba)],'snapshotHash':_0x1605ef,..._0x1f1a23!==undefined?{'createTime':_0x1f1a23}:{},..._0x14c8f2!==undefined?{'updateTime':_0x14c8f2}:{}};}export function assertCompanyKnowledgeBase(_0x2a8b18,_0x544f9f,_0x5b385c){const _0x2ddb82=a112_0x307e;if(_0x5b385c!==undefined&&_0x2a8b18['id']!==_0x5b385c)throw kbError(_0x2ddb82(0x1a8),'Knowledge-base\x20get-one\x20returned\x20id\x20'+_0x2a8b18['id']+_0x2ddb82(0x1af)+_0x5b385c+_0x2ddb82(0x1b0));if(_0x2a8b18[_0x2ddb82(0x1a7)]!==_0x2ddb82(0x19b)||_0x2a8b18[_0x2ddb82(0x18f)]!==_0x544f9f)throw kbError(_0x2ddb82(0x189),'Knowledge\x20base\x20'+_0x2a8b18['id']+_0x2ddb82(0x182)+_0x544f9f+'.');}export async function fetchAllCompanyKnowledgeBases(_0x4469fa,_0x278dda){const _0x5ebe4c=a112_0x307e,_0x13bb22=[],_0x30d619=new Set();let _0x2faebc=0x1,_0x224466=0x0,_0x30e230;while(!![]){const _0x4ef10b=await listEnterpriseKnowledgeBases(_0x4469fa[_0x5ebe4c(0x17d)],{'currentPage':_0x2faebc,'pageSize':LIST_PAGE_SIZE,'appCode':_0x4469fa[_0x5ebe4c(0x18f)],..._0x278dda}),_0x33b725=_0x4ef10b[_0x5ebe4c(0x1b4)]?.[_0x5ebe4c(0x178)];if(_0x4ef10b[_0x5ebe4c(0x1b4)]?.[_0x5ebe4c(0x184)]!==undefined&&_0x4ef10b[_0x5ebe4c(0x1b4)][_0x5ebe4c(0x184)]!==_0x2faebc)throw kbError(_0x5ebe4c(0x1b7),_0x5ebe4c(0x191)+_0x4ef10b[_0x5ebe4c(0x1b4)][_0x5ebe4c(0x184)]+'\x20while\x20page\x20'+_0x2faebc+_0x5ebe4c(0x1b0));if(_0x33b725!==undefined){if(_0x30e230!==undefined&&_0x33b725!==_0x30e230)throw kbError('kb_list_contract_invalid','Knowledge-base\x20list\x20total\x20changed\x20from\x20'+_0x30e230+'\x20to\x20'+_0x33b725+_0x5ebe4c(0x19e),_0x5ebe4c(0x170));_0x30e230=_0x33b725;}for(const _0x25ed3d of _0x4ef10b[_0x5ebe4c(0x1bb)]){if(!Number[_0x5ebe4c(0x18b)](_0x25ed3d['id'])||_0x30d619[_0x5ebe4c(0x16a)](_0x25ed3d['id']))throw kbError(_0x5ebe4c(0x1b7),'Knowledge-base\x20list\x20returned\x20an\x20invalid\x20or\x20repeated\x20id:\x20'+String(_0x25ed3d['id'])+'.');_0x30d619[_0x5ebe4c(0x1bc)](_0x25ed3d['id']),_0x25ed3d[_0x5ebe4c(0x1a7)]===_0x5ebe4c(0x19b)&&_0x25ed3d['appCode']===_0x4469fa[_0x5ebe4c(0x18f)]&&_0x13bb22['push'](_0x25ed3d);}_0x224466+=_0x4ef10b[_0x5ebe4c(0x1bb)][_0x5ebe4c(0x175)];if(_0x33b725!==undefined&&_0x224466>=_0x33b725)break;if(_0x4ef10b['items'][_0x5ebe4c(0x175)]<LIST_PAGE_SIZE){if(_0x33b725!==undefined&&_0x224466<_0x33b725)throw kbError(_0x5ebe4c(0x1b7),_0x5ebe4c(0x1aa)+_0x224466+_0x5ebe4c(0x19c)+_0x33b725+_0x5ebe4c(0x1a9));break;}_0x2faebc+=0x1;}return _0x13bb22;}function a112_0x5241(){const _0x35bf11=['1159632wFWiTx','Company\x20knowledge\x20base\x20not\x20found:\x20','kb_id_invalid','appCode','kb_state_drift','Knowledge-base\x20list\x20returned\x20page\x20','cause','kb_file_unreadable','utf8','utf-8','string','Knowledge-base\x20response\x20contains\x20an\x20invalid\x20id.','content','kb_confirmation_required','allowEmpty','company','\x20of\x20','trim','\x20during\x20paging.','870150lUyGeo','Cannot\x20read\x20knowledge-base\x20content\x20file:\x20','46cYkyrE','yes',',\x20current\x20','--id\x20must\x20be\x20a\x20positive\x20safe\x20integer.','40KGGDRx','444mAjYEF','scope','kb_response_invalid','\x20records.','Knowledge-base\x20list\x20stopped\x20at\x20','dry-run','Run\x20`rabetbase\x20kb\x20list\x20--format\x20compress`\x20to\x20inspect\x20the\x20resolved\x20app.','kb_file_invalid','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20version\x20before\x20retrying.','\x20while\x20id\x20','\x20was\x20requested.','updateTime','Knowledge-base\x20content\x20file\x20path\x20is\x20required.','\x20response\x20contains\x20an\x20invalid\x20version.','paging','2244076sAeikh','outcome_unknown','kb_list_contract_invalid','isFile','Knowledge-base\x20content\x20file\x20is\x20not\x20valid\x20UTF-8:\x20','contentHash','items','add','decode','filter','version','number','has','kb_not_found','Run\x20the\x20same\x20command\x20with\x20--dry-run\x20first,\x20then\x20add\x20--yes\x20after\x20reviewing\x20the\x20plan.','5EBHxKl','4223056fhiHxn','15611RHbsoM','Retry\x20the\x20read\x20after\x20concurrent\x20updates\x20have\x20settled.','stringify','createTime','byteLength','6331919zLblnh','length','Cannot\x20access\x20knowledge-base\x20content\x20file:\x20','byteSize','totalCount','defineProperty','kb_','title','34426jyldbf','cookie','Knowledge\x20base\x20','message','Do\x20not\x20resubmit\x20automatically.\x20Resolve\x20the\x20app\x20again\x20and\x20inspect\x20the\x20target\x20state\x20manually.','from','\x20does\x20not\x20belong\x20to\x20company\x20scope\x20for\x20app\x20','kb_file_required','currentPage','12YrdLyU','kb_content_invalid','This\x20company\x20knowledge-base\x20mutation\x20requires\x20explicit\x20--yes.','sha256:','kb_scope_mismatch','verification_unavailable','isSafeInteger'];a112_0x5241=function(){return _0x35bf11;};return a112_0x5241();}function a112_0x307e(_0x591e42,_0x4dc116){_0x591e42=_0x591e42-0x168;const _0x524147=a112_0x5241();let _0x307eea=_0x524147[_0x591e42];return _0x307eea;}export function findExactCompanyKnowledgeBases(_0x345f0d,_0xcab8d6,_0x306f69){const _0x2f80a2=a112_0x307e;return _0x345f0d[_0x2f80a2(0x1be)](_0x4a060e=>_0x4a060e[_0x2f80a2(0x1a7)]===_0x2f80a2(0x19b)&&_0x4a060e[_0x2f80a2(0x18f)]===_0xcab8d6&&_0x4a060e[_0x2f80a2(0x17b)]===_0x306f69);}export async function getKbOrNull(_0x1503e9,_0x197539){const _0x47f339=a112_0x307e;try{const _0x59004e=await getEnterpriseKnowledgeBase(_0x1503e9[_0x47f339(0x17d)],_0x197539);return assertCompanyKnowledgeBase(_0x59004e,_0x1503e9[_0x47f339(0x18f)],_0x197539),_0x59004e;}catch(_0x1e07c9){if(getPlatformErrorCode(_0x1e07c9)===DATA_NOT_EXIST_ERROR_CODE)return null;throw _0x1e07c9;}}export async function requireKb(_0x339ccd,_0x109e1f){const _0x45e0d3=a112_0x307e,_0x4ef0f5=await getKbOrNull(_0x339ccd,_0x109e1f);if(!_0x4ef0f5)throw kbError(_0x45e0d3(0x16b),_0x45e0d3(0x18d)+_0x109e1f,_0x45e0d3(0x1ac));return _0x4ef0f5;}export function assertExpectedKbVersion(_0x4bc66d,_0xed90f3){const _0x21a1f3=a112_0x307e;if(_0xed90f3===undefined||_0x4bc66d[_0x21a1f3(0x168)]===_0xed90f3)return;throw kbError(_0x21a1f3(0x190),_0x21a1f3(0x17e)+_0x4bc66d['id']+'\x20version\x20changed:\x20expected\x20'+_0xed90f3+_0x21a1f3(0x1a3)+_0x4bc66d['version']+'.',_0x21a1f3(0x1ae));}
|
|
1
|
+
(function(_0x379007,_0x318b50){const _0x2211fe=a112_0x6091,_0xcde6b4=_0x379007();while(!![]){try{const _0x43e757=parseInt(_0x2211fe(0x101))/0x1+parseInt(_0x2211fe(0xd6))/0x2*(-parseInt(_0x2211fe(0x10e))/0x3)+parseInt(_0x2211fe(0x106))/0x4+-parseInt(_0x2211fe(0xe5))/0x5+parseInt(_0x2211fe(0xc7))/0x6+parseInt(_0x2211fe(0xed))/0x7+-parseInt(_0x2211fe(0xde))/0x8;if(_0x43e757===_0x318b50)break;else _0xcde6b4['push'](_0xcde6b4['shift']());}catch(_0x5c4e85){_0xcde6b4['push'](_0xcde6b4['shift']());}}}(a112_0x2eb0,0x5773d));function a112_0x2eb0(){const _0x21a05d=['kb_file_required','Knowledge\x20base\x20','scope','title','totalCount','kb_file_unreadable','sha256:','This\x20company\x20knowledge-base\x20mutation\x20requires\x20explicit\x20--yes.','\x20while\x20page\x20','appCode','string','sha256','Knowledge-base\x20get-one\x20returned\x20id\x20','version','\x20does\x20not\x20belong\x20to\x20company\x20scope\x20for\x20app\x20','\x20was\x20requested.','kb_','239250qjMmSp','hex','Knowledge-base\x20content\x20file\x20path\x20is\x20required.','cause','verification_unavailable','1033376EABrkT','Knowledge-base\x20list\x20stopped\x20at\x20','Knowledge-base\x20content\x20file\x20is\x20not\x20valid\x20UTF-8:\x20','Cannot\x20access\x20knowledge-base\x20content\x20file:\x20','Knowledge-base\x20content\x20path\x20is\x20not\x20a\x20regular\x20file:\x20','Company\x20knowledge\x20base\x20not\x20found:\x20','Retry\x20the\x20read\x20after\x20concurrent\x20updates\x20have\x20settled.','add','3NAfWQw','length','kb_list_contract_invalid','stringify','Do\x20not\x20resubmit\x20automatically.\x20Resolve\x20the\x20app\x20again\x20and\x20inspect\x20the\x20target\x20state\x20manually.','contentHash','cookie','updateTime','decode','kb_response_invalid','outcome_unknown','Knowledge-base\x20list\x20total\x20changed\x20from\x20','3348906SIukDa','Knowledge-base\x20response\x20contains\x20an\x20invalid\x20id.','trim','currentPage','createTime','kb_id_invalid','kb_file_invalid','\x20of\x20','dry-run','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20version\x20before\x20retrying.','content','Pass\x20--file\x20<knowledge.md>.','--id\x20must\x20be\x20a\x20positive\x20safe\x20integer.','\x20request\x20was\x20sent,\x20but\x20its\x20final\x20company\x20knowledge-base\x20state\x20could\x20not\x20be\x20verified.','Cannot\x20read\x20knowledge-base\x20content\x20file:\x20','270110edMLZO','isFile','Run\x20the\x20same\x20command\x20with\x20--dry-run\x20first,\x20then\x20add\x20--yes\x20after\x20reviewing\x20the\x20plan.','kb_content_invalid','\x20version\x20changed:\x20expected\x20','push','utf-8','digest','6130576RyGZes','kb_confirmation_required','\x20is\x20not\x20company-scoped.','from','utf8','company','yes','33050RQfTBg','number','paging','allowEmpty','\x20response\x20is\x20missing\x20','message','items','defineProperty','1473129rOSTes','kb_scope_mismatch','isSafeInteger'];a112_0x2eb0=function(){return _0x21a05d;};return a112_0x2eb0();}import{createHash}from'node:crypto';import{readFile,stat}from'node:fs/promises';import{resolve}from'node:path';import{TextDecoder}from'node:util';import{getEnterpriseKnowledgeBase,getPlatformErrorCode,listEnterpriseKnowledgeBases}from'../../core/api-client.js';import{CliError}from'../../errors.js';const LIST_PAGE_SIZE=0x32,DATA_NOT_EXIST_ERROR_CODE='306';export function kbError(_0x44a718,_0x4baba3,_0x1dc84c){return new CliError(_0x44a718,0x1,_0x4baba3,_0x1dc84c);}export function readKbId(_0x22cdf0){const _0xf7b999=a112_0x6091,_0x12daa0=_0x22cdf0['num']('id');if(!Number[_0xf7b999(0xef)](_0x12daa0)||_0x12daa0<=0x0)throw kbError(_0xf7b999(0xcc),_0xf7b999(0xd3));return _0x12daa0;}export function requireKbExplicitYes(_0x4d74b5){const _0x57f9f8=a112_0x6091;if(_0x4d74b5['bool'](_0x57f9f8(0xcf))||_0x4d74b5['bool'](_0x57f9f8(0xe4)))return;throw kbError(_0x57f9f8(0xdf),_0x57f9f8(0xf7),_0x57f9f8(0xd8));}function a112_0x6091(_0x1f5b1e,_0x30d2f9){_0x1f5b1e=_0x1f5b1e-0xbd;const _0x2eb064=a112_0x2eb0();let _0x6091f8=_0x2eb064[_0x1f5b1e];return _0x6091f8;}function sha256(_0x2a4fe2){const _0x2fabc2=a112_0x6091;return _0x2fabc2(0xf6)+createHash(_0x2fabc2(0xfb))['update'](_0x2a4fe2)[_0x2fabc2(0xdd)](_0x2fabc2(0x102));}export function inspectKbContent(_0x8d7730){const _0x5d7ffd=a112_0x6091,_0x3cd9a5=Buffer[_0x5d7ffd(0xe1)](_0x8d7730,_0x5d7ffd(0xe2));return{'content':_0x8d7730,'byteSize':_0x3cd9a5['byteLength'],'contentHash':sha256(_0x3cd9a5)};}export async function readKbFile(_0x3e1ef4){const _0x18c483=a112_0x6091,_0x2b6db6=_0x3e1ef4[_0x18c483(0xc9)]();if(!_0x2b6db6)throw kbError(_0x18c483(0xf0),_0x18c483(0x103),_0x18c483(0xd2));const _0x3782d9=resolve(_0x2b6db6);let _0x39d551;try{_0x39d551=await stat(_0x3782d9);}catch(_0x53c274){throw kbError('kb_file_unreadable',_0x18c483(0x109)+_0x2b6db6,_0x53c274 instanceof Error?_0x53c274['message']:String(_0x53c274));}if(!_0x39d551[_0x18c483(0xd7)]())throw kbError(_0x18c483(0xcd),_0x18c483(0x10a)+_0x2b6db6);let _0x5279bb;try{_0x5279bb=await readFile(_0x3782d9);}catch(_0x23591c){throw kbError(_0x18c483(0xf5),_0x18c483(0xd5)+_0x2b6db6,_0x23591c instanceof Error?_0x23591c[_0x18c483(0xea)]:String(_0x23591c));}let _0x575441;try{_0x575441=new TextDecoder(_0x18c483(0xdc),{'fatal':!![],'ignoreBOM':!![]})[_0x18c483(0xc3)](_0x5279bb);}catch{throw kbError(_0x18c483(0xd9),_0x18c483(0x108)+_0x2b6db6);}if(!_0x575441[_0x18c483(0xc9)]())throw kbError('kb_content_invalid','Knowledge-base\x20content\x20file\x20is\x20blank:\x20'+_0x2b6db6);return inspectKbContent(_0x575441);}export async function verifyKbMutationReadback(_0x2482fc,_0x21ac9a,_0x8f18b4){const _0x319ddc=a112_0x6091;try{return await _0x8f18b4();}catch(_0xfe422a){const _0x45fd57=kbError(_0x319ddc(0x100)+_0x2482fc+'_'+(_0x21ac9a?_0x319ddc(0xc5):_0x319ddc(0x105)),'The\x20'+_0x2482fc+_0x319ddc(0xd4),_0x319ddc(0xbf));Object[_0x319ddc(0xec)](_0x45fd57,_0x319ddc(0x104),{'value':_0xfe422a,'enumerable':![]});throw _0x45fd57;}}function requireRecordText(_0x7a56cb,_0x2746f3,_0x1a8d53,_0x226589={}){const _0x10968f=a112_0x6091;if(typeof _0x7a56cb===_0x10968f(0xfa)&&(_0x226589[_0x10968f(0xe8)]||_0x7a56cb['trim']()))return _0x7a56cb;throw kbError(_0x10968f(0xc4),'Knowledge\x20base\x20'+String(_0x1a8d53)+_0x10968f(0xe9)+_0x2746f3+'.');}export function projectKb(_0x31042c){const _0x5338df=a112_0x6091;if(!Number[_0x5338df(0xef)](_0x31042c['id'])||_0x31042c['id']<=0x0)throw kbError(_0x5338df(0xc4),_0x5338df(0xc8));if(!Number['isSafeInteger'](_0x31042c[_0x5338df(0xfd)])||_0x31042c[_0x5338df(0xfd)]<0x0)throw kbError(_0x5338df(0xc4),'Knowledge\x20base\x20'+_0x31042c['id']+'\x20response\x20contains\x20an\x20invalid\x20version.');if(_0x31042c['scope']!=='company')throw kbError(_0x5338df(0xee),_0x5338df(0xf1)+_0x31042c['id']+_0x5338df(0xe0));const _0xa79792=requireRecordText(_0x31042c['appCode'],_0x5338df(0xf9),_0x31042c['id']),_0x201388=requireRecordText(_0x31042c['title'],_0x5338df(0xf3),_0x31042c['id']),_0x405c3a=inspectKbContent(requireRecordText(_0x31042c[_0x5338df(0xd1)],'content',_0x31042c['id'],{'allowEmpty':!![]})),_0x4db0f5=typeof _0x31042c[_0x5338df(0xcb)]===_0x5338df(0xfa)||typeof _0x31042c['createTime']===_0x5338df(0xe6)?_0x31042c[_0x5338df(0xcb)]:undefined,_0x33c4ee=typeof _0x31042c[_0x5338df(0xc2)]===_0x5338df(0xfa)||typeof _0x31042c[_0x5338df(0xc2)]===_0x5338df(0xe6)?_0x31042c[_0x5338df(0xc2)]:undefined,_0x29a2f9=sha256(JSON[_0x5338df(0xbe)]({'id':_0x31042c['id'],'scope':_0x31042c[_0x5338df(0xf2)],'appCode':_0xa79792,'title':_0x201388,'version':_0x31042c['version'],'contentHash':_0x405c3a[_0x5338df(0xc0)],'createTime':_0x4db0f5,'updateTime':_0x33c4ee}));return{'id':_0x31042c['id'],'scope':'company','appCode':_0xa79792,'title':_0x201388,'version':_0x31042c['version'],'contentByteSize':_0x405c3a['byteSize'],'contentHash':_0x405c3a[_0x5338df(0xc0)],'snapshotHash':_0x29a2f9,..._0x4db0f5!==undefined?{'createTime':_0x4db0f5}:{},..._0x33c4ee!==undefined?{'updateTime':_0x33c4ee}:{}};}export function assertCompanyKnowledgeBase(_0x5c92a8,_0x44117f,_0x4a6f94){const _0x4fecd5=a112_0x6091;if(_0x4a6f94!==undefined&&_0x5c92a8['id']!==_0x4a6f94)throw kbError(_0x4fecd5(0xc4),_0x4fecd5(0xfc)+_0x5c92a8['id']+'\x20while\x20id\x20'+_0x4a6f94+_0x4fecd5(0xff));if(_0x5c92a8[_0x4fecd5(0xf2)]!==_0x4fecd5(0xe3)||_0x5c92a8[_0x4fecd5(0xf9)]!==_0x44117f)throw kbError('kb_scope_mismatch',_0x4fecd5(0xf1)+_0x5c92a8['id']+_0x4fecd5(0xfe)+_0x44117f+'.');}export async function fetchAllCompanyKnowledgeBases(_0x3b11ef,_0x5445d4){const _0x934f2=a112_0x6091,_0x344268=[],_0xe86dd7=new Set();let _0x4b209d=0x1,_0x4d4412=0x0,_0xd92078;while(!![]){const _0x5eec69=await listEnterpriseKnowledgeBases(_0x3b11ef[_0x934f2(0xc1)],{'currentPage':_0x4b209d,'pageSize':LIST_PAGE_SIZE,'appCode':_0x3b11ef[_0x934f2(0xf9)],..._0x5445d4}),_0x338ae1=_0x5eec69[_0x934f2(0xe7)]?.[_0x934f2(0xf4)];if(_0x5eec69['paging']?.[_0x934f2(0xca)]!==undefined&&_0x5eec69[_0x934f2(0xe7)]['currentPage']!==_0x4b209d)throw kbError('kb_list_contract_invalid','Knowledge-base\x20list\x20returned\x20page\x20'+_0x5eec69['paging']['currentPage']+_0x934f2(0xf8)+_0x4b209d+'\x20was\x20requested.');if(_0x338ae1!==undefined){if(_0xd92078!==undefined&&_0x338ae1!==_0xd92078)throw kbError(_0x934f2(0xbd),_0x934f2(0xc6)+_0xd92078+'\x20to\x20'+_0x338ae1+'\x20during\x20paging.',_0x934f2(0x10c));_0xd92078=_0x338ae1;}for(const _0x4a8025 of _0x5eec69[_0x934f2(0xeb)]){if(!Number['isSafeInteger'](_0x4a8025['id'])||_0xe86dd7['has'](_0x4a8025['id']))throw kbError('kb_list_contract_invalid','Knowledge-base\x20list\x20returned\x20an\x20invalid\x20or\x20repeated\x20id:\x20'+String(_0x4a8025['id'])+'.');_0xe86dd7[_0x934f2(0x10d)](_0x4a8025['id']),_0x4a8025['scope']==='company'&&_0x4a8025[_0x934f2(0xf9)]===_0x3b11ef[_0x934f2(0xf9)]&&_0x344268[_0x934f2(0xdb)](_0x4a8025);}_0x4d4412+=_0x5eec69[_0x934f2(0xeb)][_0x934f2(0x10f)];if(_0x338ae1!==undefined&&_0x4d4412>=_0x338ae1)break;if(_0x5eec69[_0x934f2(0xeb)][_0x934f2(0x10f)]<LIST_PAGE_SIZE){if(_0x338ae1!==undefined&&_0x4d4412<_0x338ae1)throw kbError('kb_list_contract_invalid',_0x934f2(0x107)+_0x4d4412+_0x934f2(0xce)+_0x338ae1+'\x20records.');break;}_0x4b209d+=0x1;}return _0x344268;}export function findExactCompanyKnowledgeBases(_0x1b98fe,_0x1a19c1,_0x4b77a9){const _0x484e4d=a112_0x6091;return _0x1b98fe['filter'](_0x40693b=>_0x40693b[_0x484e4d(0xf2)]===_0x484e4d(0xe3)&&_0x40693b[_0x484e4d(0xf9)]===_0x1a19c1&&_0x40693b[_0x484e4d(0xf3)]===_0x4b77a9);}export async function getKbOrNull(_0x567db1,_0x357f33){const _0xd80517=a112_0x6091;try{const _0x3ea96d=await getEnterpriseKnowledgeBase(_0x567db1[_0xd80517(0xc1)],_0x357f33);return assertCompanyKnowledgeBase(_0x3ea96d,_0x567db1[_0xd80517(0xf9)],_0x357f33),_0x3ea96d;}catch(_0x45206c){if(getPlatformErrorCode(_0x45206c)===DATA_NOT_EXIST_ERROR_CODE)return null;throw _0x45206c;}}export async function requireKb(_0x3703ba,_0x5b9a2b){const _0x3306f2=a112_0x6091,_0x527519=await getKbOrNull(_0x3703ba,_0x5b9a2b);if(!_0x527519)throw kbError('kb_not_found',_0x3306f2(0x10b)+_0x5b9a2b,'Run\x20`rabetbase\x20kb\x20list\x20--format\x20compress`\x20to\x20inspect\x20the\x20resolved\x20app.');return _0x527519;}export function assertExpectedKbVersion(_0x524b26,_0x11a021){const _0x521d49=a112_0x6091;if(_0x11a021===undefined||_0x524b26['version']===_0x11a021)return;throw kbError('kb_state_drift',_0x521d49(0xf1)+_0x524b26['id']+_0x521d49(0xda)+_0x11a021+',\x20current\x20'+_0x524b26[_0x521d49(0xfd)]+'.',_0x521d49(0xd0));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a113_0x30f095=a113_0x3f07;(function(_0x39aaf8,_0x882c40){const _0xe52c54=a113_0x3f07,_0x232939=_0x39aaf8();while(!![]){try{const _0x1cbfec=parseInt(_0xe52c54(0x1f5))/0x1*(-parseInt(_0xe52c54(0x214))/0x2)+-parseInt(_0xe52c54(0x221))/0x3*(-parseInt(_0xe52c54(0x21e))/0x4)+parseInt(_0xe52c54(0x1fc))/0x5*(parseInt(_0xe52c54(0x1fe))/0x6)+parseInt(_0xe52c54(0x21a))/0x7*(-parseInt(_0xe52c54(0x205))/0x8)+parseInt(_0xe52c54(0x1fb))/0x9+parseInt(_0xe52c54(0x204))/0xa+parseInt(_0xe52c54(0x207))/0xb;if(_0x1cbfec===_0x882c40)break;else _0x232939['push'](_0x232939['shift']());}catch(_0x2a4dd3){_0x232939['push'](_0x232939['shift']());}}}(a113_0x2492,0x3119e));import{isPlatformTransportFailure,updateEnterpriseKnowledgeBase}from'../../core/api-client.js';import{asDryRunResult}from'../../commands/common/dry-run.js';function a113_0x2492(){const _0x28a2eb=['78LcbGRd','planned','/admin/knowledge-base/update','file','appCode','content','3278120hCkSNC','135224PClxHl','\x20does\x20not\x20prove\x20the\x20requested\x20update\x20state.','142681RAnXSw','expected-version','snapshotHash','company','write','Updated\x20company\x20knowledge\x20base\x20','trim','cookie','verified','kb_title_invalid','Update\x20a\x20company\x20knowledge\x20base\x20with\x20preflight\x20drift\x20protection','string','Update\x20response\x20was\x20unavailable;\x20verified\x20applicable\x20postconditions\x20by\x20exact\x20ID\x20without\x20resubmitting.','53722QkAOoU','flag','push','kb_update_empty','update','patch','154qfyMxi','kb_update_outcome_unknown','before','--expected-version\x20is\x20a\x20non-atomic\x20read-before-write\x20assertion;\x20the\x20server\x20update\x20contract\x20has\x20no\x20version\x20predicate.','4tnDHVC','Non-atomic\x20preflight\x20assertion\x20for\x20the\x20current\x20version','\x20--format\x20compress','112143eAzynq','--title\x20cannot\x20be\x20empty.','Pass\x20at\x20least\x20one\x20of\x20--title\x20or\x20--file.','Company\x20knowledge-base\x20id','beforeRecord','version','expectedVersion','number','8XCLfvL','Nothing\x20to\x20update.','\x20--format\x20compress`;\x20do\x20not\x20resubmit\x20automatically.','title','POST','rabetbase\x20kb\x20detail\x20--id\x20','2950974ijPmFi','31470HEaWQr','replacement'];a113_0x2492=function(){return _0x28a2eb;};return a113_0x2492();}import{assertCompanyKnowledgeBase,assertExpectedKbVersion,inspectKbContent,kbError,projectKb,readKbFile,readKbId,requireKb,verifyKbMutationReadback}from'../../commands/kb/shared.js';const UPDATE_PATH=a113_0x30f095(0x200),NON_ATOMIC_WARNING=a113_0x30f095(0x21d);function readUpdatePatch(_0x487a86){const _0x1677cf=a113_0x30f095,_0x4d1d0b=readKbId(_0x487a86),_0x2c347b=_0x487a86[_0x1677cf(0x215)](_0x1677cf(0x1f8)),_0x4715e3=_0x487a86[_0x1677cf(0x215)](_0x1677cf(0x201)),_0x1e6d35=_0x487a86[_0x1677cf(0x215)]('expected-version'),_0x226dbb=_0x2c347b===undefined?undefined:String(_0x2c347b)[_0x1677cf(0x20d)]();if(_0x2c347b!==undefined&&!_0x226dbb)throw kbError(_0x1677cf(0x210),_0x1677cf(0x222));const _0x435771=_0x4715e3===undefined?undefined:String(_0x4715e3)['trim']();if(_0x4715e3!==undefined&&!_0x435771)throw kbError('kb_file_required','--file\x20cannot\x20be\x20empty.');if(_0x226dbb===undefined&&_0x435771===undefined)throw kbError(_0x1677cf(0x217),_0x1677cf(0x1f6),_0x1677cf(0x223));let _0x31f5f0;if(_0x1e6d35!==undefined){_0x31f5f0=Number(_0x1e6d35);if(!Number['isSafeInteger'](_0x31f5f0)||_0x31f5f0<0x0)throw kbError('kb_expected_version_invalid','--expected-version\x20must\x20be\x20a\x20non-negative\x20safe\x20integer.');}return{'id':_0x4d1d0b,'title':_0x226dbb,'file':_0x435771,'expectedVersion':_0x31f5f0};}async function prepareUpdate(_0x4c9087){const _0x20a20f=a113_0x30f095,_0x1e6bab=readUpdatePatch(_0x4c9087),_0x1204a8=await requireKb(_0x4c9087,_0x1e6bab['id']);assertExpectedKbVersion(_0x1204a8,_0x1e6bab['expectedVersion']);const _0x4378bd=_0x1e6bab[_0x20a20f(0x201)]?await readKbFile(_0x1e6bab[_0x20a20f(0x201)]):undefined,_0x2a14cd=projectKb(_0x1204a8),_0x25c147=projectKb({..._0x1204a8,..._0x1e6bab['title']!==undefined?{'title':_0x1e6bab[_0x20a20f(0x1f8)]}:{},..._0x4378bd?{'content':_0x4378bd['content']}:{}});return{'patch':_0x1e6bab,'beforeRecord':_0x1204a8,'before':_0x2a14cd,'planned':_0x25c147,'replacement':_0x4378bd};}function a113_0x3f07(_0x519ed0,_0x492b70){_0x519ed0=_0x519ed0-0x1f0;const _0x24922a=a113_0x2492();let _0x3f075e=_0x24922a[_0x519ed0];return _0x3f075e;}export const kbUpdate={'service':'kb','command':a113_0x30f095(0x218),'description':a113_0x30f095(0x211),'risk':a113_0x30f095(0x20b),'requiresAppCode':!![],'structuredErrors':!![],'flags':[{'name':'id','type':a113_0x30f095(0x1f4),'required':!![],'description':a113_0x30f095(0x1f0)},{'name':a113_0x30f095(0x1f8),'type':a113_0x30f095(0x212),'required':![],'description':'New\x20knowledge-base\x20title'},{'name':a113_0x30f095(0x201),'type':a113_0x30f095(0x212),'required':![],'description':'Replacement\x20UTF-8\x20text\x20or\x20Markdown\x20content\x20file'},{'name':a113_0x30f095(0x208),'type':a113_0x30f095(0x1f4),'required':![],'description':a113_0x30f095(0x21f)}],async 'validate'(_0x1a637e){readUpdatePatch(_0x1a637e);},async 'dryRun'(_0x4c7f37){const _0x242915=a113_0x30f095,_0xfa432a=await prepareUpdate(_0x4c7f37),_0x5ba8ca=_0xfa432a[_0x242915(0x219)][_0x242915(0x1f3)]!==undefined?[NON_ATOMIC_WARNING]:[];return asDryRunResult({'operation':_0x242915(0x218),'selector':{'id':_0xfa432a[_0x242915(0x21c)]['id'],'scope':_0x242915(0x20a),'appCode':_0xfa432a[_0x242915(0x21c)]['appCode']},'before':_0xfa432a[_0x242915(0x21c)],'after':_0xfa432a[_0x242915(0x1ff)],'dryRun':!![],'backend':{'method':_0x242915(0x1f9),'path':UPDATE_PATH},'warnings':_0x5ba8ca,'verification':{'expectedVersion':_0xfa432a[_0x242915(0x219)]['expectedVersion']??null,'atomicCompareAndSet':![],'plannedSnapshotHash':_0xfa432a[_0x242915(0x21c)][_0x242915(0x209)],'lookupCommand':_0x242915(0x1fa)+_0xfa432a['before']['id']+'\x20--format\x20compress'}},{'method':_0x242915(0x1f9),'url':UPDATE_PATH});},async 'execute'(_0x3686ed){const _0x3c8921=a113_0x30f095,_0x1b9b94=await prepareUpdate(_0x3686ed),_0x37656f={'id':_0x1b9b94[_0x3c8921(0x219)]['id'],..._0x1b9b94['patch']['title']!==undefined?{'title':_0x1b9b94[_0x3c8921(0x219)][_0x3c8921(0x1f8)]}:{},..._0x1b9b94['replacement']?{'content':_0x1b9b94[_0x3c8921(0x1fd)][_0x3c8921(0x203)]}:{}};let _0xe512eb=![];try{const _0x409d57=await updateEnterpriseKnowledgeBase(_0x3686ed[_0x3c8921(0x20e)],_0x37656f);assertCompanyKnowledgeBase(_0x409d57,_0x3686ed[_0x3c8921(0x202)],_0x1b9b94[_0x3c8921(0x219)]['id']);}catch(_0x610813){if(!isPlatformTransportFailure(_0x610813))throw _0x610813;_0xe512eb=!![];}const _0x4c6ab6=await verifyKbMutationReadback(_0x3c8921(0x218),_0xe512eb,()=>requireKb(_0x3686ed,_0x1b9b94['patch']['id'])),_0x4b4463=projectKb(_0x4c6ab6),_0x577f45=_0x1b9b94[_0x3c8921(0x219)][_0x3c8921(0x1f8)]===undefined||_0x4c6ab6[_0x3c8921(0x1f8)]===_0x1b9b94[_0x3c8921(0x219)][_0x3c8921(0x1f8)],_0x13db29=!_0x1b9b94[_0x3c8921(0x1fd)]||inspectKbContent(_0x4c6ab6[_0x3c8921(0x203)])['contentHash']===_0x1b9b94[_0x3c8921(0x1fd)]['contentHash'],_0x53fbe1=!_0x1b9b94[_0x3c8921(0x1fd)]||_0x4c6ab6[_0x3c8921(0x1f2)]>_0x1b9b94[_0x3c8921(0x1f1)][_0x3c8921(0x1f2)],_0x76a4aa=!_0xe512eb||_0x1b9b94[_0x3c8921(0x1fd)]!==undefined||_0x1b9b94['patch']['title']===undefined||_0x1b9b94[_0x3c8921(0x1f1)][_0x3c8921(0x1f8)]!==_0x1b9b94[_0x3c8921(0x219)][_0x3c8921(0x1f8)];if(!_0x577f45||!_0x13db29||!_0x53fbe1||!_0x76a4aa)throw kbError(_0xe512eb?_0x3c8921(0x21b):'kb_verification_failed','Company\x20knowledge\x20base\x20'+_0x1b9b94[_0x3c8921(0x219)]['id']+_0x3c8921(0x206),'Inspect\x20it\x20with\x20`rabetbase\x20kb\x20detail\x20--id\x20'+_0x1b9b94['patch']['id']+_0x3c8921(0x1f7));const _0x33b929=[];return _0x1b9b94[_0x3c8921(0x219)][_0x3c8921(0x1f3)]!==undefined&&_0x33b929[_0x3c8921(0x216)](NON_ATOMIC_WARNING),_0xe512eb&&_0x33b929['push'](_0x3c8921(0x213)),{'ok':!![],'data':{'operation':'update','selector':{'id':_0x4b4463['id'],'scope':_0x3c8921(0x20a),'appCode':_0x4b4463[_0x3c8921(0x202)]},'before':_0x1b9b94['before'],'after':_0x4b4463,'dryRun':![],'backend':{'method':_0x3c8921(0x1f9),'path':UPDATE_PATH},'warnings':_0x33b929,'verification':{'status':_0x3c8921(0x20f),'recoveredAfterUnknownResponse':_0xe512eb,'expectedVersion':_0x1b9b94['patch'][_0x3c8921(0x1f3)]??null,'atomicCompareAndSet':![],'lookupCommand':'rabetbase\x20kb\x20detail\x20--id\x20'+_0x4b4463['id']+_0x3c8921(0x220)}},'message':_0x3c8921(0x20c)+_0x4b4463['id']};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a114_0x5093(_0xe09622,_0x36d128){_0xe09622=_0xe09622-0x7f;const _0x2a5365=a114_0x2a53();let _0x509337=_0x2a5365[_0xe09622];return _0x509337;}const a114_0x48efa0=a114_0x5093;(function(_0x35e47a,_0x4f8dac){const _0xe9de08=a114_0x5093,_0x1ca107=_0x35e47a();while(!![]){try{const _0x13d652=-parseInt(_0xe9de08(0x83))/0x1*(-parseInt(_0xe9de08(0x8e))/0x2)+parseInt(_0xe9de08(0x97))/0x3+-parseInt(_0xe9de08(0x98))/0x4*(parseInt(_0xe9de08(0x8d))/0x5)+parseInt(_0xe9de08(0x7f))/0x6*(-parseInt(_0xe9de08(0x8a))/0x7)+-parseInt(_0xe9de08(0x81))/0x8*(-parseInt(_0xe9de08(0x9e))/0x9)+parseInt(_0xe9de08(0x93))/0xa+parseInt(_0xe9de08(0x95))/0xb*(-parseInt(_0xe9de08(0x91))/0xc);if(_0x13d652===_0x4f8dac)break;else _0x1ca107['push'](_0x1ca107['shift']());}catch(_0x109b04){_0x1ca107['push'](_0x1ca107['shift']());}}}(a114_0x2a53,0xc8930));import{logger}from'../../utils/logger.js';function a114_0x2a53(){const _0x18f71e=['11PBWGaB','success','3457152aHPHij','4CKzZak','details','forEach','clear','\x20\x20\x20Time:\x20','*\x20Logs\x20cleared','49986VUUIfa','show','log','readLogs','en-US','1782EOqtlf','write','2336vUFwcA','toLocaleString','388469YkePWC','command','clearLogs','*\x20Lovrabet\x20CLI\x20logs:\x0a','\x20\x20\x20Details:\x20','message','logs','24759yugwOu','View\x20command\x20history\x20logs','length','195095EOXOtS','4dkHXmy','\x20\x20\x20Duration:\x20','timestamp','31105668ODrTfQ','duration','9521090HDUyNA','level'];a114_0x2a53=function(){return _0x18f71e;};return a114_0x2a53();}function printLogs(_0x3e1228){const _0x418adc=a114_0x5093;if(_0x3e1228[_0x418adc(0x8c)]===0x0){console['log']('*\x20No\x20logs\x20found');return;}console[_0x418adc(0xa0)](_0x418adc(0x86)),_0x3e1228[_0x418adc(0x9a)]((_0xeaea2c,_0x5cb680)=>{const _0x2e8f48=_0x418adc,_0x32bc64=new Date(_0xeaea2c[_0x2e8f48(0x90)])[_0x2e8f48(0x82)](_0x2e8f48(0xa2)),_0x565e41=_0xeaea2c['level']===_0x2e8f48(0x96)?'√':_0xeaea2c[_0x2e8f48(0x94)]==='error'?'×':_0xeaea2c[_0x2e8f48(0x94)]==='warn'?'!':'i';console[_0x2e8f48(0xa0)](_0x5cb680+0x1+'.\x20'+_0x565e41+'\x20['+_0xeaea2c[_0x2e8f48(0x84)]+']\x20'+_0xeaea2c[_0x2e8f48(0x88)]),console[_0x2e8f48(0xa0)](_0x2e8f48(0x9c)+_0x32bc64),_0xeaea2c[_0x2e8f48(0x92)]&&console[_0x2e8f48(0xa0)](_0x2e8f48(0x8f)+_0xeaea2c[_0x2e8f48(0x92)]+'ms'),_0xeaea2c[_0x2e8f48(0x99)]&&Object['keys'](_0xeaea2c[_0x2e8f48(0x99)])['length']>0x0&&console[_0x2e8f48(0xa0)](_0x2e8f48(0x87)+JSON['stringify'](_0xeaea2c[_0x2e8f48(0x99)],null,0x2)),console[_0x2e8f48(0xa0)]('');});}export const logsDefinitions=[{'service':a114_0x48efa0(0x89),'command':a114_0x48efa0(0x9f),'description':a114_0x48efa0(0x8b),'risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x5ebcb7){const _0x497733=a114_0x48efa0;return printLogs(logger[_0x497733(0xa1)]()),{'ok':!![]};}},{'service':'logs','command':a114_0x48efa0(0x9b),'description':'Clear\x20command\x20history\x20logs','risk':a114_0x48efa0(0x80),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x37854d){const _0x59c3eb=a114_0x48efa0;return logger[_0x59c3eb(0x85)](),console[_0x59c3eb(0xa0)](_0x59c3eb(0x9d)),{'ok':!![]};}}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a115_0x3d1cd5=a115_0x2064;(function(_0xf8c723,_0x560ab1){const _0x14305d=a115_0x2064,_0x16ccd1=_0xf8c723();while(!![]){try{const _0x45f3de=-parseInt(_0x14305d(0x1a9))/0x1*(-parseInt(_0x14305d(0x1b3))/0x2)+-parseInt(_0x14305d(0x1b9))/0x3+parseInt(_0x14305d(0x19b))/0x4*(-parseInt(_0x14305d(0x1a4))/0x5)+-parseInt(_0x14305d(0x1b0))/0x6*(-parseInt(_0x14305d(0x1c6))/0x7)+parseInt(_0x14305d(0x1c1))/0x8*(parseInt(_0x14305d(0x1ce))/0x9)+-parseInt(_0x14305d(0x191))/0xa*(-parseInt(_0x14305d(0x1ac))/0xb)+-parseInt(_0x14305d(0x1d9))/0xc*(parseInt(_0x14305d(0x1dd))/0xd);if(_0x45f3de===_0x560ab1)break;else _0x16ccd1['push'](_0x16ccd1['shift']());}catch(_0x5cc64c){_0x16ccd1['push'](_0x16ccd1['shift']());}}}(a115_0x2ea6,0xbb566));import a115_0x12faf1 from'chalk';import{filterMenusWithResources,fetchOnlineMenuList}from'../../commands/menu/shared/logic.js';import{renderUpdateSummary}from'../../commands/menu/shared/compare-table.js';import{askJsUrl,askCssUrl,askConfirm,startSpinner,stopSpinner,requireInteractive}from'../../commands/menu/shared/inquirer.js';import{CliErrors}from'../../errors.js';import{writeCliSideChannelLine}from'../../utils/write-cli-side-channel.js';import{runMenuUpdateCore}from'../../commands/menu/shared/update-core.js';function a115_0x2064(_0x181325,_0x44b4c1){_0x181325=_0x181325-0x18e;const _0x2ea65b=a115_0x2ea6();let _0x20648e=_0x2ea65b[_0x181325];return _0x20648e;}import{selectMenusForUpdate}from'../../commands/menu/shared/update-core.js';import{isInProject}from'../../context.js';export const menuAssetUpdate={'service':a115_0x3d1cd5(0x1cf),'command':'asset-update','description':'Update\x20CDN\x20asset\x20URLs\x20for\x20selected\x20online\x20menus\x20with\x20existing\x20resources','risk':a115_0x3d1cd5(0x1bb),'flags':[{'name':a115_0x3d1cd5(0x1c2),'type':a115_0x3d1cd5(0x19d),'description':a115_0x3d1cd5(0x199)+a115_0x3d1cd5(0x1d6)},{'name':a115_0x3d1cd5(0x1d8),'type':a115_0x3d1cd5(0x19d),'description':a115_0x3d1cd5(0x196)+a115_0x3d1cd5(0x192),'enum':[a115_0x3d1cd5(0x197),a115_0x3d1cd5(0x1cc)],'default':a115_0x3d1cd5(0x1cc)},{'name':a115_0x3d1cd5(0x1e7),'type':'boolean','description':a115_0x3d1cd5(0x1d5)},{'name':a115_0x3d1cd5(0x1b7),'type':'string','description':a115_0x3d1cd5(0x1d2)},{'name':a115_0x3d1cd5(0x1cd),'type':'string','description':a115_0x3d1cd5(0x1da)},{'name':a115_0x3d1cd5(0x19f),'type':'boolean','description':a115_0x3d1cd5(0x1a0)},{'name':'load-mode','type':a115_0x3d1cd5(0x19d),'enum':['import',a115_0x3d1cd5(0x1de),a115_0x3d1cd5(0x19e)],'description':'Explicitly\x20change\x20the\x20microfrontend\x20resource\x20loading\x20mode'}],async 'dryRun'(_0x1b082f){const _0x2fa714=a115_0x3d1cd5;ensureRunnableContext(_0x1b082f['rawFlags'],_0x1b082f[_0x2fa714(0x1c5)]);const _0x51a549=await runMenuUpdateCore(_0x1b082f[_0x2fa714(0x195)],_0x1b082f[_0x2fa714(0x1e0)],_0x1b082f['str'](_0x2fa714(0x1c2)),{'mode':parseMode(_0x1b082f['str'](_0x2fa714(0x1d8))),'dryRun':!![],'force':_0x1b082f[_0x2fa714(0x1df)](_0x2fa714(0x1e7)),'selection':parseSelection(_0x1b082f),'loadScriptMode':parseLoadScriptMode(_0x1b082f[_0x2fa714(0x1ab)](_0x2fa714(0x1a6)))});return{'method':_0x2fa714(0x1ae),'url':_0x2fa714(0x1e6),'body':_0x51a549,'description':_0x51a549[_0x2fa714(0x1e5)]?_0x2fa714(0x1d1):_0x2fa714(0x1ad)+(_0x51a549[_0x2fa714(0x1bc)]?.['length']??0x0)+'\x20menu\x20resource\x20set(s).'};},async 'execute'(_0xb23f0e){const _0x2dc671=a115_0x3d1cd5;ensureRunnableContext(_0xb23f0e[_0x2dc671(0x1a8)],_0xb23f0e['selectedAppName']);const _0x9d3994=_0xb23f0e[_0x2dc671(0x1ab)](_0x2dc671(0x1c2)),_0xe28838=parseMode(_0xb23f0e[_0x2dc671(0x1ab)](_0x2dc671(0x1d8))),_0x2f0894=_0xb23f0e[_0x2dc671(0x1df)](_0x2dc671(0x1e7)),_0x549a54=parseLoadScriptMode(_0xb23f0e[_0x2dc671(0x1ab)](_0x2dc671(0x1a6))),_0x62c50d=parseParams(_0x9d3994),_0x1ab1a5=!!(_0x62c50d[_0x2dc671(0x1c7)]||_0x62c50d[_0x2dc671(0x1a7)]);if(_0x1ab1a5){const _0x23a103=await runMenuUpdateCore(_0xb23f0e['appCode'],_0xb23f0e['cookie'],_0x9d3994,{'mode':_0xe28838,'force':_0x2f0894,'selection':parseSelection(_0xb23f0e),'loadScriptMode':_0x549a54});return _0x23a103['skipped']?writeCliSideChannelLine(_0x2dc671(0x18f)):(writeCliSideChannelLine(_0x2dc671(0x1b8)+_0x23a103[_0x2dc671(0x1aa)]+_0x2dc671(0x1ea)),_0x23a103[_0x2dc671(0x1c8)]>0x0&&writeCliSideChannelLine('!\x20'+_0x23a103[_0x2dc671(0x1c8)]+_0x2dc671(0x1db))),{'ok':_0x23a103['failed']===0x0,'data':_0x23a103,'message':_0x23a103[_0x2dc671(0x1e5)]?_0x2dc671(0x19a):_0x2dc671(0x1dc)+_0x23a103[_0x2dc671(0x1aa)]+'\x20updated,\x20'+_0x23a103[_0x2dc671(0x1c8)]+_0x2dc671(0x1a2)};}requireInteractive();const _0x17ec9b=startSpinner('Fetching\x20online\x20menu\x20list...');let _0x6d04ee;try{_0x6d04ee=await fetchOnlineMenuList(_0xb23f0e[_0x2dc671(0x195)],_0xb23f0e[_0x2dc671(0x1e0)]),stopSpinner(_0x17ec9b,_0x2dc671(0x1a3),!![]);}catch(_0x3efeb6){stopSpinner(_0x17ec9b,'Failed\x20to\x20fetch\x20online\x20menu\x20list',![]);throw CliErrors[_0x2dc671(0x1ca)](_0x3efeb6 instanceof Error?_0x3efeb6[_0x2dc671(0x1ba)]:_0x2dc671(0x198));}const _0x565ab2=filterMenusWithResources(_0x6d04ee),_0x42a2bd=parseSelection(_0xb23f0e,![]),_0x369eb0=_0x42a2bd?selectMenusForUpdate(_0x565ab2,_0x42a2bd):_0x565ab2;if(_0x369eb0['length']===0x0)return writeCliSideChannelLine(a115_0x12faf1[_0x2dc671(0x1d0)](_0x2dc671(0x1c9))),{'ok':!![]};writeCliSideChannelLine(''),writeCliSideChannelLine(a115_0x12faf1[_0x2dc671(0x1b1)]('\x20\x20Found\x20'+_0x369eb0[_0x2dc671(0x1d3)]+_0x2dc671(0x19c))),writeCliSideChannelLine(renderUpdateSummary(_0x369eb0['map'](_0x121b38=>_0x121b38[_0x2dc671(0x1af)]),[_0x62c50d[_0x2dc671(0x1c7)],_0x62c50d[_0x2dc671(0x1a7)]])),writeCliSideChannelLine('');let _0x3cbf11=_0x62c50d[_0x2dc671(0x1c7)],_0x1e91e3=_0x62c50d['cssUrl'];!_0x3cbf11&&(_0x3cbf11=await askJsUrl());!_0x1e91e3&&(_0x1e91e3=await askCssUrl());const _0xa2dae6=await askConfirm(_0x2dc671(0x1c3)+_0x369eb0[_0x2dc671(0x1d3)]+'\x20menu(s)\x20with\x20JS:\x20'+_0x3cbf11+_0x2dc671(0x1b6)+_0x1e91e3+'?');if(!_0xa2dae6)return writeCliSideChannelLine(a115_0x12faf1[_0x2dc671(0x1be)](_0x2dc671(0x1bd))),{'ok':!![]};const _0x3721f2=startSpinner(_0x2dc671(0x1b5)+_0x369eb0[_0x2dc671(0x1d3)]+_0x2dc671(0x193));try{const _0x1850e8=await runMenuUpdateCore(_0xb23f0e[_0x2dc671(0x195)],_0xb23f0e[_0x2dc671(0x1e0)],JSON[_0x2dc671(0x1e8)]({'jsUrl':_0x3cbf11,'cssUrl':_0x1e91e3}),{'mode':_0xe28838,'force':_0x2f0894,'selection':{'all':![],'menuIds':_0x369eb0['map'](_0x28bcd3=>_0x28bcd3['id']),'paths':[]},'loadScriptMode':_0x549a54});return stopSpinner(_0x3721f2,_0x2dc671(0x1c4)+_0x1850e8[_0x2dc671(0x1aa)]+'\x20menu(s)',_0x1850e8[_0x2dc671(0x1c8)]===0x0),{'ok':_0x1850e8[_0x2dc671(0x1c8)]===0x0,'data':_0x1850e8,'message':_0x1850e8[_0x2dc671(0x1c8)]>0x0?_0x2dc671(0x1dc)+_0x1850e8[_0x2dc671(0x1aa)]+_0x2dc671(0x1c0)+_0x1850e8[_0x2dc671(0x1c8)]+_0x2dc671(0x1a2):'Menu\x20asset\x20update\x20completed:\x20'+_0x1850e8[_0x2dc671(0x1aa)]+_0x2dc671(0x1cb)};}catch(_0x5018f9){stopSpinner(_0x3721f2,_0x2dc671(0x1bf),![]);throw CliErrors[_0x2dc671(0x1ca)](_0x5018f9 instanceof Error?_0x5018f9[_0x2dc671(0x1ba)]:_0x2dc671(0x1bf));}}};function ensureRunnableContext(_0x1368b7,_0x42116b){const _0x1f5570=a115_0x3d1cd5,_0x48d12e=_0x1368b7[_0x1f5570(0x1b4)]?String(_0x1368b7[_0x1f5570(0x1b4)])[_0x1f5570(0x1d4)]():'';if(!isInProject()&&!_0x42116b&&!_0x48d12e)throw CliErrors[_0x1f5570(0x1ca)](_0x1f5570(0x1e9)+'Run\x20inside\x20a\x20directory\x20with\x20.rabetbase.json,\x20or\x20pass\x20--appcode\x20<code>.');}function a115_0x2ea6(){const _0x2ef5a1=['updated','str','326062ixNQDf','Would\x20update\x20','POST','label','4411866hmJiOb','cyan','Invalid\x20--mode.\x20Allowed\x20values:\x20replace,\x20patch','54060AKDZnF','appcode','Updating\x20','\x20and\x20CSS:\x20','menu-ids','✓\x20Menu\x20asset\x20update\x20completed:\x20','370416qAyZMJ','message','write','diffs','\x20\x20Cancelled.','gray','Menu\x20asset\x20update\x20failed','\x20updated,\x20','696416WokETH','params','\x20\x20Update\x20','Updated\x20','selectedAppName','14EWzKZM','jsUrl','failed','\x20\x20!\x20No\x20menus\x20with\x20existing\x20resources\x20found','validation','\x20updated.','patch','paths','90TFopQB','menu','yellow','No\x20menus\x20with\x20existing\x20resources\x20would\x20be\x20updated.','Exact\x20comma-separated\x20menu\x20IDs\x20to\x20update','length','trim','Allow\x20replace\x20mode\x20to\x20remove\x20existing\x20JS\x20resources','JSON:\x20{\x22jsUrl\x22:\x22https://...js\x22,\x22cssUrl\x22:\x22https://...css\x22}','map','mode','12ualvPS','Exact\x20comma-separated\x20menu\x20paths\x20to\x20update','\x20menu(s)\x20failed','Menu\x20asset\x20update\x20completed:\x20','2027961KNdxwo','script','bool','cookie','isArray','object','filter','isSafeInteger','skipped','/smartapi/menu/update','force','stringify','menu\x20asset-update\x20requires\x20a\x20project\x20context\x20or\x20explicit\x20--appcode.\x20','\x20menu(s)\x20updated','Invalid\x20--load-mode.\x20Allowed\x20values:\x20import,\x20script,\x20fetch','!\x20No\x20menus\x20with\x20existing\x20resources\x20found','--all\x20cannot\x20be\x20combined\x20with\x20--menu-ids\x20or\x20--paths.','10tqvtRu','patch\x20replaces\x20a\x20supplied\x20type\x20only\x20when\x20the\x20existing\x20target\x20is\x20unambiguous','\x20menu(s)...','import','appCode','Resource\x20update\x20mode:\x20replace\x20rewrites\x20resources\x20from\x20supplied\x20URLs;\x20','replace','Failed\x20to\x20fetch\x20online\x20menu\x20list','Pre-fill\x20JS/CSS\x20URLs\x20to\x20update.\x20','Menu\x20asset\x20update\x20skipped','12ImfEyE','\x20menu(s)\x20with\x20existing\x20resources','string','fetch','all','Explicitly\x20update\x20every\x20menu\x20that\x20has\x20resources','--menu-ids\x20must\x20contain\x20positive\x20safe\x20integers.','\x20failed.','Online\x20menu\x20list\x20fetched','2386835VJQLgR','split','load-mode','cssUrl','rawFlags','4paMmYB'];a115_0x2ea6=function(){return _0x2ef5a1;};return a115_0x2ea6();}function parseMode(_0x3bbbbf){const _0x2caeb1=a115_0x3d1cd5;if(!_0x3bbbbf)return _0x2caeb1(0x1cc);if(_0x3bbbbf===_0x2caeb1(0x197)||_0x3bbbbf===_0x2caeb1(0x1cc))return _0x3bbbbf;throw CliErrors['validation'](_0x2caeb1(0x1b2));}function parseSelection(_0x2067e2,_0x1368ce=!![]){const _0x10d397=a115_0x3d1cd5,_0x2f387c=_0x2067e2[_0x10d397(0x1df)]('all'),_0x124768=parseMenuIds(_0x2067e2[_0x10d397(0x1ab)](_0x10d397(0x1b7))),_0x41b737=parseCsv(_0x2067e2[_0x10d397(0x1ab)](_0x10d397(0x1cd))),_0x3f6b36=_0x124768[_0x10d397(0x1d3)]>0x0||_0x41b737[_0x10d397(0x1d3)]>0x0;if(_0x2f387c&&_0x3f6b36)throw CliErrors[_0x10d397(0x1ca)](_0x10d397(0x190));if(!_0x2f387c&&!_0x3f6b36){if(!_0x1368ce)return undefined;throw CliErrors[_0x10d397(0x1ca)]('menu\x20asset-update\x20requires\x20an\x20explicit\x20target:\x20pass\x20--all,\x20--menu-ids,\x20or\x20--paths.');}return{'all':_0x2f387c,'menuIds':_0x124768,'paths':_0x41b737};}function parseMenuIds(_0x48511d){const _0x333697=a115_0x3d1cd5,_0x1290fc=parseCsv(_0x48511d),_0x161fd1=_0x1290fc[_0x333697(0x1d7)](Number);if(_0x161fd1['some'](_0x39c0fa=>!Number[_0x333697(0x1e4)](_0x39c0fa)||_0x39c0fa<=0x0))throw CliErrors[_0x333697(0x1ca)](_0x333697(0x1a1));return[...new Set(_0x161fd1)];}function parseCsv(_0x656e3f){const _0x19fbdf=a115_0x3d1cd5;return[...new Set(_0x656e3f[_0x19fbdf(0x1a5)](',')[_0x19fbdf(0x1d7)](_0xbc1569=>_0xbc1569[_0x19fbdf(0x1d4)]())[_0x19fbdf(0x1e3)](Boolean))];}function parseLoadScriptMode(_0x1aa548){const _0x183ea=a115_0x3d1cd5;if(!_0x1aa548)return undefined;if(_0x1aa548===_0x183ea(0x194)||_0x1aa548===_0x183ea(0x1de)||_0x1aa548==='fetch')return _0x1aa548;throw CliErrors[_0x183ea(0x1ca)](_0x183ea(0x18e));}function parseParams(_0x3b260a){const _0x2dd62d=a115_0x3d1cd5;if(!_0x3b260a)return{};try{const _0x3d6b5f=JSON['parse'](_0x3b260a);if(typeof _0x3d6b5f!==_0x2dd62d(0x1e2)||_0x3d6b5f===null||Array[_0x2dd62d(0x1e1)](_0x3d6b5f))return{};return{'jsUrl':typeof _0x3d6b5f[_0x2dd62d(0x1c7)]===_0x2dd62d(0x19d)?_0x3d6b5f[_0x2dd62d(0x1c7)][_0x2dd62d(0x1d4)]():undefined,'cssUrl':typeof _0x3d6b5f[_0x2dd62d(0x1a7)]===_0x2dd62d(0x19d)?_0x3d6b5f['cssUrl'][_0x2dd62d(0x1d4)]():undefined};}catch{return{};}}
|
|
1
|
+
const a115_0x443700=a115_0x3208;(function(_0x366365,_0x425574){const _0x3d63e4=a115_0x3208,_0x1e455f=_0x366365();while(!![]){try{const _0x17ade9=parseInt(_0x3d63e4(0x152))/0x1*(-parseInt(_0x3d63e4(0x133))/0x2)+parseInt(_0x3d63e4(0x109))/0x3*(parseInt(_0x3d63e4(0x106))/0x4)+parseInt(_0x3d63e4(0x129))/0x5+-parseInt(_0x3d63e4(0x11b))/0x6+parseInt(_0x3d63e4(0x10c))/0x7*(-parseInt(_0x3d63e4(0x12f))/0x8)+parseInt(_0x3d63e4(0xfe))/0x9*(parseInt(_0x3d63e4(0x11e))/0xa)+parseInt(_0x3d63e4(0xfc))/0xb;if(_0x17ade9===_0x425574)break;else _0x1e455f['push'](_0x1e455f['shift']());}catch(_0x2acf04){_0x1e455f['push'](_0x1e455f['shift']());}}}(a115_0x1097,0x97a17));import a115_0x1a0a9f from'chalk';import{filterMenusWithResources,fetchOnlineMenuList}from'../../commands/menu/shared/logic.js';import{renderUpdateSummary}from'../../commands/menu/shared/compare-table.js';import{askJsUrl,askCssUrl,askConfirm,startSpinner,stopSpinner,requireInteractive}from'../../commands/menu/shared/inquirer.js';function a115_0x1097(){const _0x37c087=['patch','\x20\x20Update\x20','\x20menu(s)\x20updated','--menu-ids\x20must\x20contain\x20positive\x20safe\x20integers.','stringify','script','Menu\x20asset\x20update\x20skipped','\x20menu(s)\x20failed','cookie','load-mode','menu\x20asset-update\x20requires\x20a\x20project\x20context\x20or\x20explicit\x20--appcode.\x20','paths','!\x20No\x20menus\x20with\x20existing\x20resources\x20found','\x20updated,\x20','bool','rawFlags','isSafeInteger','trim','failed','\x20failed.','Failed\x20to\x20fetch\x20online\x20menu\x20list','filter','4ejyWRN','jsUrl','Exact\x20comma-separated\x20menu\x20IDs\x20to\x20update','11498234SsSAqP','gray','42399cRPJmo','Invalid\x20--mode.\x20Allowed\x20values:\x20replace,\x20patch','length','\x20menu(s)...','asset-update','Updated\x20','map','\x20menu(s)','8mWoKeJ','Explicitly\x20update\x20every\x20menu\x20that\x20has\x20resources','Pre-fill\x20JS/CSS\x20URLs\x20to\x20update.\x20','431025YDBJFp','write','string','1757xyBtwL','mode','updated','JSON:\x20{\x22jsUrl\x22:\x22https://...js\x22,\x22cssUrl\x22:\x22https://...css\x22}','force','Updating\x20','menu','appCode','skipped','\x20and\x20CSS:\x20','isArray','label','yellow','Resource\x20update\x20mode:\x20replace\x20rewrites\x20resources\x20from\x20supplied\x20URLs;\x20','all','1875588UOvNiG','appcode','\x20menu\x20resource\x20set(s).','70YFiGLX','Menu\x20asset\x20update\x20completed:\x20','boolean','cyan','\x20\x20Cancelled.','replace','menu-ids','validation','Exact\x20comma-separated\x20menu\x20paths\x20to\x20update','Allow\x20replace\x20mode\x20to\x20remove\x20existing\x20JS\x20resources','Run\x20inside\x20a\x20directory\x20with\x20.rabetbase.json,\x20or\x20pass\x20--appcode\x20<code>.','3957635TXkBXy','Fetching\x20online\x20menu\x20list...','message','\x20menu(s)\x20with\x20existing\x20resources','fetch','object','34696XooxSD','Menu\x20asset\x20update\x20failed','split','\x20menu(s)\x20with\x20JS:\x20','67442WYwmEI','patch\x20replaces\x20a\x20supplied\x20type\x20only\x20when\x20the\x20existing\x20target\x20is\x20unambiguous','str','Would\x20update\x20','params','cssUrl','some','diffs','✓\x20Menu\x20asset\x20update\x20completed:\x20'];a115_0x1097=function(){return _0x37c087;};return a115_0x1097();}import{CliErrors}from'../../errors.js';import{writeCliSideChannelLine}from'../../utils/write-cli-side-channel.js';function a115_0x3208(_0x37ec0a,_0x2c14f0){_0x37ec0a=_0x37ec0a-0xfa;const _0x109715=a115_0x1097();let _0x320829=_0x109715[_0x37ec0a];return _0x320829;}import{runMenuUpdateCore}from'../../commands/menu/shared/update-core.js';import{selectMenusForUpdate}from'../../commands/menu/shared/update-core.js';import{isInProject}from'../../context.js';export const menuAssetUpdate={'service':a115_0x443700(0x112),'command':a115_0x443700(0x102),'description':'Update\x20CDN\x20asset\x20URLs\x20for\x20selected\x20online\x20menus\x20with\x20existing\x20resources','risk':a115_0x443700(0x10a),'flags':[{'name':'params','type':'string','description':a115_0x443700(0x108)+a115_0x443700(0x10f)},{'name':a115_0x443700(0x10d),'type':a115_0x443700(0x10b),'description':a115_0x443700(0x119)+a115_0x443700(0x134),'enum':[a115_0x443700(0x123),a115_0x443700(0x13c)],'default':a115_0x443700(0x13c)},{'name':a115_0x443700(0x110),'type':a115_0x443700(0x120),'description':a115_0x443700(0x127)},{'name':a115_0x443700(0x124),'type':a115_0x443700(0x10b),'description':a115_0x443700(0xfb)},{'name':a115_0x443700(0x147),'type':a115_0x443700(0x10b),'description':a115_0x443700(0x126)},{'name':a115_0x443700(0x11a),'type':a115_0x443700(0x120),'description':a115_0x443700(0x107)},{'name':a115_0x443700(0x145),'type':a115_0x443700(0x10b),'enum':['import',a115_0x443700(0x141),a115_0x443700(0x12d)],'description':'Explicitly\x20change\x20the\x20microfrontend\x20resource\x20loading\x20mode'}],async 'dryRun'(_0x136634){const _0x22edc8=a115_0x443700;ensureRunnableContext(_0x136634[_0x22edc8(0x14b)],_0x136634['selectedAppName']);const _0x3c6ba0=await runMenuUpdateCore(_0x136634[_0x22edc8(0x113)],_0x136634[_0x22edc8(0x144)],_0x136634[_0x22edc8(0x135)](_0x22edc8(0x137)),{'mode':parseMode(_0x136634[_0x22edc8(0x135)](_0x22edc8(0x10d))),'dryRun':!![],'force':_0x136634[_0x22edc8(0x14a)]('force'),'selection':parseSelection(_0x136634),'loadScriptMode':parseLoadScriptMode(_0x136634[_0x22edc8(0x135)]('load-mode'))});return{'method':'POST','url':'/smartapi/menu/update','body':_0x3c6ba0,'description':_0x3c6ba0['skipped']?'No\x20menus\x20with\x20existing\x20resources\x20would\x20be\x20updated.':_0x22edc8(0x136)+(_0x3c6ba0[_0x22edc8(0x13a)]?.[_0x22edc8(0x100)]??0x0)+_0x22edc8(0x11d)};},async 'execute'(_0x3ba6a2){const _0x4591a3=a115_0x443700;ensureRunnableContext(_0x3ba6a2[_0x4591a3(0x14b)],_0x3ba6a2['selectedAppName']);const _0x3119a6=_0x3ba6a2[_0x4591a3(0x135)](_0x4591a3(0x137)),_0x4ae930=parseMode(_0x3ba6a2[_0x4591a3(0x135)](_0x4591a3(0x10d))),_0x58cb34=_0x3ba6a2['bool']('force'),_0x2159cc=parseLoadScriptMode(_0x3ba6a2[_0x4591a3(0x135)](_0x4591a3(0x145))),_0x106b17=parseParams(_0x3119a6),_0x532b6b=!!(_0x106b17[_0x4591a3(0xfa)]||_0x106b17[_0x4591a3(0x138)]);if(_0x532b6b){const _0x4cab1c=await runMenuUpdateCore(_0x3ba6a2[_0x4591a3(0x113)],_0x3ba6a2[_0x4591a3(0x144)],_0x3119a6,{'mode':_0x4ae930,'force':_0x58cb34,'selection':parseSelection(_0x3ba6a2),'loadScriptMode':_0x2159cc});return _0x4cab1c[_0x4591a3(0x114)]?writeCliSideChannelLine(_0x4591a3(0x148)):(writeCliSideChannelLine(_0x4591a3(0x13b)+_0x4cab1c[_0x4591a3(0x10e)]+_0x4591a3(0x13e)),_0x4cab1c[_0x4591a3(0x14e)]>0x0&&writeCliSideChannelLine('!\x20'+_0x4cab1c['failed']+_0x4591a3(0x143))),{'ok':_0x4cab1c[_0x4591a3(0x14e)]===0x0,'data':_0x4cab1c,'message':_0x4cab1c['skipped']?_0x4591a3(0x142):_0x4591a3(0x11f)+_0x4cab1c[_0x4591a3(0x10e)]+_0x4591a3(0x149)+_0x4cab1c['failed']+_0x4591a3(0x14f)};}requireInteractive();const _0x369208=startSpinner(_0x4591a3(0x12a));let _0xa68f89;try{_0xa68f89=await fetchOnlineMenuList(_0x3ba6a2[_0x4591a3(0x113)],_0x3ba6a2[_0x4591a3(0x144)]),stopSpinner(_0x369208,'Online\x20menu\x20list\x20fetched',!![]);}catch(_0x23f405){stopSpinner(_0x369208,_0x4591a3(0x150),![]);throw CliErrors[_0x4591a3(0x125)](_0x23f405 instanceof Error?_0x23f405[_0x4591a3(0x12b)]:_0x4591a3(0x150));}const _0x3cd41b=filterMenusWithResources(_0xa68f89),_0x48cf41=parseSelection(_0x3ba6a2,![]),_0x3f3b11=_0x48cf41?selectMenusForUpdate(_0x3cd41b,_0x48cf41):_0x3cd41b;if(_0x3f3b11[_0x4591a3(0x100)]===0x0)return writeCliSideChannelLine(a115_0x1a0a9f[_0x4591a3(0x118)]('\x20\x20!\x20No\x20menus\x20with\x20existing\x20resources\x20found')),{'ok':!![]};writeCliSideChannelLine(''),writeCliSideChannelLine(a115_0x1a0a9f[_0x4591a3(0x121)]('\x20\x20Found\x20'+_0x3f3b11[_0x4591a3(0x100)]+_0x4591a3(0x12c))),writeCliSideChannelLine(renderUpdateSummary(_0x3f3b11[_0x4591a3(0x104)](_0x573ee5=>_0x573ee5[_0x4591a3(0x117)]),[_0x106b17[_0x4591a3(0xfa)],_0x106b17[_0x4591a3(0x138)]])),writeCliSideChannelLine('');let _0x341f99=_0x106b17[_0x4591a3(0xfa)],_0x2ab326=_0x106b17[_0x4591a3(0x138)];!_0x341f99&&(_0x341f99=await askJsUrl());!_0x2ab326&&(_0x2ab326=await askCssUrl());const _0x435b2a=await askConfirm(_0x4591a3(0x13d)+_0x3f3b11[_0x4591a3(0x100)]+_0x4591a3(0x132)+_0x341f99+_0x4591a3(0x115)+_0x2ab326+'?');if(!_0x435b2a)return writeCliSideChannelLine(a115_0x1a0a9f[_0x4591a3(0xfd)](_0x4591a3(0x122))),{'ok':!![]};const _0x403e70=startSpinner(_0x4591a3(0x111)+_0x3f3b11['length']+_0x4591a3(0x101));try{const _0x52a89f=await runMenuUpdateCore(_0x3ba6a2[_0x4591a3(0x113)],_0x3ba6a2['cookie'],JSON[_0x4591a3(0x140)]({'jsUrl':_0x341f99,'cssUrl':_0x2ab326}),{'mode':_0x4ae930,'force':_0x58cb34,'selection':{'all':![],'menuIds':_0x3f3b11[_0x4591a3(0x104)](_0x137f30=>_0x137f30['id']),'paths':[]},'loadScriptMode':_0x2159cc});return stopSpinner(_0x403e70,_0x4591a3(0x103)+_0x52a89f['updated']+_0x4591a3(0x105),_0x52a89f[_0x4591a3(0x14e)]===0x0),{'ok':_0x52a89f[_0x4591a3(0x14e)]===0x0,'data':_0x52a89f,'message':_0x52a89f['failed']>0x0?_0x4591a3(0x11f)+_0x52a89f[_0x4591a3(0x10e)]+_0x4591a3(0x149)+_0x52a89f[_0x4591a3(0x14e)]+'\x20failed.':'Menu\x20asset\x20update\x20completed:\x20'+_0x52a89f[_0x4591a3(0x10e)]+'\x20updated.'};}catch(_0x1d915e){stopSpinner(_0x403e70,_0x4591a3(0x130),![]);throw CliErrors[_0x4591a3(0x125)](_0x1d915e instanceof Error?_0x1d915e[_0x4591a3(0x12b)]:_0x4591a3(0x130));}}};function ensureRunnableContext(_0xd20ea5,_0x49240c){const _0x21970d=a115_0x443700,_0x5b411d=_0xd20ea5[_0x21970d(0x11c)]?String(_0xd20ea5['appcode'])[_0x21970d(0x14d)]():'';if(!isInProject()&&!_0x49240c&&!_0x5b411d)throw CliErrors['validation'](_0x21970d(0x146)+_0x21970d(0x128));}function parseMode(_0x27875f){const _0x3f98ad=a115_0x443700;if(!_0x27875f)return'patch';if(_0x27875f===_0x3f98ad(0x123)||_0x27875f===_0x3f98ad(0x13c))return _0x27875f;throw CliErrors[_0x3f98ad(0x125)](_0x3f98ad(0xff));}function parseSelection(_0x306aac,_0x170121=!![]){const _0x56325e=a115_0x443700,_0x420005=_0x306aac['bool'](_0x56325e(0x11a)),_0x511db1=parseMenuIds(_0x306aac[_0x56325e(0x135)](_0x56325e(0x124))),_0x1de60a=parseCsv(_0x306aac[_0x56325e(0x135)](_0x56325e(0x147))),_0x2983e6=_0x511db1[_0x56325e(0x100)]>0x0||_0x1de60a['length']>0x0;if(_0x420005&&_0x2983e6)throw CliErrors[_0x56325e(0x125)]('--all\x20cannot\x20be\x20combined\x20with\x20--menu-ids\x20or\x20--paths.');if(!_0x420005&&!_0x2983e6){if(!_0x170121)return undefined;throw CliErrors[_0x56325e(0x125)]('menu\x20asset-update\x20requires\x20an\x20explicit\x20target:\x20pass\x20--all,\x20--menu-ids,\x20or\x20--paths.');}return{'all':_0x420005,'menuIds':_0x511db1,'paths':_0x1de60a};}function parseMenuIds(_0x57e70a){const _0x574de1=a115_0x443700,_0x5a9b39=parseCsv(_0x57e70a),_0x57ab57=_0x5a9b39[_0x574de1(0x104)](Number);if(_0x57ab57[_0x574de1(0x139)](_0x25f8db=>!Number[_0x574de1(0x14c)](_0x25f8db)||_0x25f8db<=0x0))throw CliErrors[_0x574de1(0x125)](_0x574de1(0x13f));return[...new Set(_0x57ab57)];}function parseCsv(_0x59df94){const _0x5bdbce=a115_0x443700;return[...new Set(_0x59df94[_0x5bdbce(0x131)](',')['map'](_0x1f3c67=>_0x1f3c67[_0x5bdbce(0x14d)]())[_0x5bdbce(0x151)](Boolean))];}function parseLoadScriptMode(_0x220cfe){const _0x1d2cc3=a115_0x443700;if(!_0x220cfe)return undefined;if(_0x220cfe==='import'||_0x220cfe===_0x1d2cc3(0x141)||_0x220cfe===_0x1d2cc3(0x12d))return _0x220cfe;throw CliErrors[_0x1d2cc3(0x125)]('Invalid\x20--load-mode.\x20Allowed\x20values:\x20import,\x20script,\x20fetch');}function parseParams(_0x473cf1){const _0xd788ad=a115_0x443700;if(!_0x473cf1)return{};try{const _0x1c7e2c=JSON['parse'](_0x473cf1);if(typeof _0x1c7e2c!==_0xd788ad(0x12e)||_0x1c7e2c===null||Array[_0xd788ad(0x116)](_0x1c7e2c))return{};return{'jsUrl':typeof _0x1c7e2c[_0xd788ad(0xfa)]==='string'?_0x1c7e2c['jsUrl'][_0xd788ad(0x14d)]():undefined,'cssUrl':typeof _0x1c7e2c[_0xd788ad(0x138)]===_0xd788ad(0x10b)?_0x1c7e2c['cssUrl'][_0xd788ad(0x14d)]():undefined};}catch{return{};}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a116_0x545d9e=a116_0x4f13;(function(_0x5a0061,_0x59a481){const _0x169f61=a116_0x4f13,_0x234188=_0x5a0061();while(!![]){try{const _0x9b7ac0=parseInt(_0x169f61(0x15f))/0x1*(parseInt(_0x169f61(0x197))/0x2)+-parseInt(_0x169f61(0x1d1))/0x3+-parseInt(_0x169f61(0x190))/0x4+-parseInt(_0x169f61(0x180))/0x5+parseInt(_0x169f61(0x196))/0x6+-parseInt(_0x169f61(0x1c7))/0x7*(-parseInt(_0x169f61(0x160))/0x8)+-parseInt(_0x169f61(0x16e))/0x9*(-parseInt(_0x169f61(0x164))/0xa);if(_0x9b7ac0===_0x59a481)break;else _0x234188['push'](_0x234188['shift']());}catch(_0x2cb4e){_0x234188['push'](_0x234188['shift']());}}}(a116_0x2416,0xba29b));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{assertMenuDeletePlanCurrent,assertMenuDeletePlanExecutable,createMenuDeletePlanFile,mutationPlanFromDeleteFile,readMenuDeletePlan,writeMenuDeletePlan}from'../../commands/menu/shared/delete-plan.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_FLAGS,MENU_ID_FLAG,asVerificationError,assertExpectedState,describeMenuErrorCause,fetchMutationSnapshot,hasFlag,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,requireExplicitYes,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{batchDeleteMenuEntities}from'../../commands/menu/shared/service.js';import{CliError,CliErrors}from'../../errors.js';const BACKEND=[{'method':'POST','path':a116_0x545d9e(0x1ca)}],MENU_DELETE_ID_FLAG={...MENU_ID_FLAG,'required':![],'description':a116_0x545d9e(0x174)},MENU_DELETE_RECURSIVE_FLAG={'name':a116_0x545d9e(0x1a4),'type':a116_0x545d9e(0x163),'description':a116_0x545d9e(0x1cc)},MENU_DELETE_PLAN_OUT_FLAG={'name':a116_0x545d9e(0x1dc),'type':a116_0x545d9e(0x182),'description':a116_0x545d9e(0x1b1)},MENU_DELETE_PLAN_FLAG={'name':a116_0x545d9e(0x1d8),'type':a116_0x545d9e(0x182),'description':a116_0x545d9e(0x1b0)};export const menuDelete={'service':a116_0x545d9e(0x16d),'command':'delete','description':a116_0x545d9e(0x17c),'risk':'high-risk-write','structuredErrors':!![],'flags':[MENU_DELETE_ID_FLAG,MENU_DELETE_RECURSIVE_FLAG,MENU_DELETE_PLAN_OUT_FLAG,MENU_DELETE_PLAN_FLAG,...MENU_EXPECT_FLAGS,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x1d27ad){_0x1d27ad['bool']('dry-run')?validateDeleteDryRunInput(_0x1d27ad):validateDeleteExecuteInput(_0x1d27ad),requireExplicitYes(_0x1d27ad);},async 'dryRun'(_0x31fd32){const _0x56a227=a116_0x545d9e;validateDeleteDryRunInput(_0x31fd32);const _0x38eac6=await buildDeletePlan(_0x31fd32),_0x89d068=createMenuDeletePlanFile(_0x31fd32[_0x56a227(0x1c0)],_0x38eac6),_0x336340=await writeMenuDeletePlan(_0x31fd32[_0x56a227(0x1c4)](_0x56a227(0x1dc)),_0x89d068),_0x5eec00=mutationResult({..._0x38eac6,'planFile':{'path':_0x336340,'createdAt':_0x89d068['createdAt'],'expiresAt':_0x89d068[_0x56a227(0x19f)]}});return menuDryRunResult(_0x5eec00,{'method':_0x56a227(0x1ac),'url':_0x56a227(0x1ca),'body':{'idList':_0x5eec00['deleteOrder']},'description':'Would\x20batch\x20delete\x20'+(_0x5eec00['deleteOrder']?.[_0x56a227(0x19b)]??0x1)+'\x20menu(s)\x20under\x20exact\x20id\x20'+_0x5eec00[_0x56a227(0x1bc)]['id']+_0x56a227(0x1d7)+_0x336340+'.'});},async 'execute'(_0x4d82b8){const _0x2a7332=a116_0x545d9e;requireExplicitYes(_0x4d82b8),validateDeleteExecuteInput(_0x4d82b8);const _0x52faa5=await readMenuDeletePlan(_0x4d82b8['str'](_0x2a7332(0x1d8))),_0x5200fb=mutationPlanFromDeleteFile(_0x52faa5[_0x2a7332(0x1d8)],_0x52faa5[_0x2a7332(0x167)]),_0x412a0c=_0x52faa5['plan'][_0x2a7332(0x16b)]['id'];try{assertMenuDeletePlanExecutable(_0x52faa5['plan'],_0x4d82b8[_0x2a7332(0x1c0)]);}catch(_0x4858c8){throw menuFailure(asMenuError(_0x4858c8),_0x5200fb,{'stage':'plan-validation','failed':{'id':_0x412a0c}});}let _0x1198fe,_0x17ec26;try{_0x1198fe=await fetchMutationSnapshot(_0x4d82b8,_0x2a7332(0x15e),_0x412a0c),_0x17ec26=assertMenuDeletePlanCurrent(_0x52faa5[_0x2a7332(0x1d8)],_0x4d82b8['appCode'],_0x1198fe),assertDeleteTargetsComplete(_0x52faa5[_0x2a7332(0x1d8)],_0x1198fe),_0x17ec26[_0x2a7332(0x1cd)](_0x5f2f5b=>assertDeleteSafety(_0x5f2f5b,_0x52faa5[_0x2a7332(0x1d8)][_0x2a7332(0x1a4)])),assertNoSharedPages(_0x1198fe,_0x17ec26),assertCascadeMatchesPlan(_0x5200fb,_0x17ec26);}catch(_0xf543c5){throw menuFailure(asMenuError(_0xf543c5),_0x5200fb,{'stage':'pre-write-plan-validation','failed':{'id':_0x412a0c}});}const _0x197282=_0x52faa5[_0x2a7332(0x1d8)][_0x2a7332(0x1b5)];let _0x23dae5;try{_0x23dae5=await batchDeleteMenuEntities(_0x4d82b8['cookie'],_0x197282);}catch(_0x45d0a3){const _0x104d24=mapMenuApiError(_0x45d0a3,_0x2a7332(0x178)),_0x2f0ab1=[_0x2a7332(0x191)];let _0x28b4f4;try{_0x28b4f4=await readDeleteOutcome(_0x4d82b8,_0x197282);}catch(_0x533e60){const _0x5aa72d=describeMenuErrorCause(_0x533e60,_0x2a7332(0x1a1),_0x412a0c);_0x2f0ab1[_0x2a7332(0x1de)](_0x2a7332(0x162)+_0x5aa72d[_0x2a7332(0x166)]+'):\x20'+_0x5aa72d[_0x2a7332(0x184)]);throw menuFailure(_0x104d24,_0x5200fb,{'stage':_0x2a7332(0x173),'failed':{'targetIds':_0x197282,'targetIdsAbsent':_0x2a7332(0x198),..._0x5aa72d},'warnings':_0x2f0ab1,'verification':{'status':_0x2a7332(0x1c6),'lookupCommand':_0x2a7332(0x1a2),'targetIds':_0x197282}});}throw menuFailure(_0x104d24,_0x5200fb,{'stage':_0x2a7332(0x173),'succeeded':_0x28b4f4[_0x2a7332(0x185)][_0x2a7332(0x1c5)](_0x37a4c6=>({'id':_0x37a4c6,'deleted':!![]})),'failed':{'targetIds':_0x197282,'absentIds':_0x28b4f4[_0x2a7332(0x185)],'remainingIds':_0x28b4f4[_0x2a7332(0x176)]},'warnings':_0x2f0ab1,'verification':verificationFromOutcome(_0x28b4f4)});}if(_0x23dae5!==_0x197282[_0x2a7332(0x19b)]){const _0x58c646=menuError(_0x2a7332(0x1b3),'Backend\x20reported\x20'+_0x23dae5+_0x2a7332(0x1d5)+_0x197282[_0x2a7332(0x19b)]+'.',_0x2a7332(0x18b)),_0x58e24=[_0x2a7332(0x17a)];let _0x3b1756;try{_0x3b1756=await readDeleteOutcome(_0x4d82b8,_0x197282);}catch(_0x2b5f70){const _0x217bc9=describeMenuErrorCause(_0x2b5f70,_0x2a7332(0x179),_0x412a0c);_0x58e24[_0x2a7332(0x1de)](_0x2a7332(0x19c)+_0x217bc9['causeCode']+_0x2a7332(0x188)+_0x217bc9[_0x2a7332(0x184)]);throw menuFailure(_0x58c646,_0x5200fb,{'stage':_0x2a7332(0x173),'failed':{'targetIds':_0x197282,'expectedCount':_0x197282['length'],'reportedDeletedCount':_0x23dae5,'targetIdsAbsent':'unconfirmed',..._0x217bc9},'warnings':_0x58e24,'verification':{'status':'failed','lookupCommand':_0x2a7332(0x1a2),'targetIds':_0x197282}});}throw menuFailure(_0x58c646,_0x5200fb,{'stage':_0x2a7332(0x173),'succeeded':_0x3b1756[_0x2a7332(0x185)][_0x2a7332(0x1c5)](_0x37b03e=>({'id':_0x37b03e,'deleted':!![]})),'failed':{'targetIds':_0x197282,'expectedCount':_0x197282[_0x2a7332(0x19b)],'reportedDeletedCount':_0x23dae5,'absentIds':_0x3b1756['absentIds'],'remainingIds':_0x3b1756['remainingIds']},'warnings':_0x58e24,'verification':verificationFromOutcome(_0x3b1756)});}let _0x1352bd;try{_0x1352bd=await readDeleteOutcome(_0x4d82b8,_0x197282);}catch(_0x57498b){const _0x50533f=describeMenuErrorCause(_0x57498b,_0x2a7332(0x1c3),_0x412a0c),_0x1bd91a=asVerificationError(_0x57498b,_0x2a7332(0x16a)+_0x412a0c+_0x2a7332(0x16f));throw menuFailure(_0x1bd91a,_0x5200fb,{'stage':_0x2a7332(0x195),'succeeded':_0x197282[_0x2a7332(0x1c5)](_0x439222=>({'id':_0x439222,'deleteRequested':!![]})),'failed':{'id':_0x412a0c,'targetIds':_0x197282,'targetIdsAbsent':_0x2a7332(0x198),..._0x50533f},'warnings':[_0x2a7332(0x175)],'verification':{'status':_0x2a7332(0x1c6),'lookupCommand':_0x2a7332(0x1a2),'targetIds':_0x197282}});}if(_0x1352bd[_0x2a7332(0x176)]['length']>0x0){const _0xb1ea54=menuError(_0x2a7332(0x189),_0x2a7332(0x170)+_0x1352bd[_0x2a7332(0x176)][_0x2a7332(0x1dd)](',\x20')+'.',_0x2a7332(0x18b));throw menuFailure(_0xb1ea54,_0x5200fb,{'stage':_0x2a7332(0x195),'succeeded':_0x197282[_0x2a7332(0x1c5)](_0x342a00=>({'id':_0x342a00,'deleteRequested':!![]})),'failed':{'id':_0x412a0c,'targetIds':_0x197282,'absentIds':_0x1352bd[_0x2a7332(0x185)],'remainingIds':_0x1352bd[_0x2a7332(0x176)]},'warnings':['The\x20backend\x20acknowledged\x20the\x20batch\x20request,\x20but\x20final\x20menu\x20facts\x20did\x20not\x20confirm\x20every\x20deletion.'],'verification':verificationFromOutcome(_0x1352bd)});}const _0x2ba780=_0x197282[_0x2a7332(0x1c5)](_0x562e77=>({'id':_0x562e77,'deleted':!![]})),_0x5e667=mutationResult({..._0x5200fb,'dryRun':![],'succeeded':_0x2ba780,'verification':{'checkedBy':'menu\x20list','plannedSnapshotHash':_0x5200fb[_0x2a7332(0x1a8)],'finalSnapshotHash':_0x1352bd[_0x2a7332(0x18c)][_0x2a7332(0x18f)],'reportedDeletedCount':_0x23dae5,'targetAbsent':!_0x1352bd[_0x2a7332(0x18c)][_0x2a7332(0x192)][_0x2a7332(0x1ba)](_0x412a0c),'allTargetsAbsent':!![],'targetIds':_0x197282}});return{'ok':!![],'data':_0x5e667,'message':_0x2a7332(0x1b6)+_0x2ba780[_0x2a7332(0x19b)]+_0x2a7332(0x1d4)+_0x412a0c+'.'};}};async function readDeleteOutcome(_0x5a6733,_0x4ea1a8){const _0x526934=a116_0x545d9e,_0x21daf0=await fetchMenuSnapshot(_0x5a6733['appCode'],_0x5a6733[_0x526934(0x1d2)]);return{'snapshot':_0x21daf0,'absentIds':_0x4ea1a8[_0x526934(0x1be)](_0x1bce7c=>!_0x21daf0[_0x526934(0x192)][_0x526934(0x1ba)](_0x1bce7c)),'remainingIds':_0x4ea1a8[_0x526934(0x1be)](_0x1b6b86=>_0x21daf0[_0x526934(0x192)][_0x526934(0x1ba)](_0x1b6b86))};}function verificationFromOutcome(_0x8aca55){const _0x5a4ae9=a116_0x545d9e;return{'checkedBy':_0x5a4ae9(0x1b7),'absentIds':_0x8aca55['absentIds'],'remainingIds':_0x8aca55['remainingIds']};}function validateDeleteDryRunInput(_0x6c1d54){const _0x25ced2=a116_0x545d9e;validateExactId(_0x6c1d54);if(!hasFlag(_0x6c1d54,'plan-out')||!_0x6c1d54[_0x25ced2(0x1c4)](_0x25ced2(0x1dc))['trim']())throw CliErrors[_0x25ced2(0x1b2)](_0x25ced2(0x1dc),'--plan-out\x20is\x20required\x20for\x20menu\x20delete\x20dry-run\x20so\x20execution\x20can\x20consume\x20the\x20reviewed\x20plan.');if(hasFlag(_0x6c1d54,'plan'))throw CliErrors['validation'](_0x25ced2(0x168));}function validateDeleteExecuteInput(_0x359849){const _0x1f9d9c=a116_0x545d9e;if(!hasFlag(_0x359849,_0x1f9d9c(0x1d8))||!_0x359849[_0x1f9d9c(0x1c4)](_0x1f9d9c(0x1d8))[_0x1f9d9c(0x1d0)]())throw CliErrors[_0x1f9d9c(0x1b2)](_0x1f9d9c(0x1d8),_0x1f9d9c(0x1af));const _0xf8a1ad=['id',_0x1f9d9c(0x1a4),'plan-out',_0x1f9d9c(0x1a6),_0x1f9d9c(0x1d3),_0x1f9d9c(0x1c9)]['filter'](_0x19956b=>hasFlag(_0x359849,_0x19956b));if(_0xf8a1ad['length']>0x0)throw CliErrors[_0x1f9d9c(0x16c)](_0x1f9d9c(0x161)+_0xf8a1ad['map'](_0x5d9f5b=>'--'+_0x5d9f5b)[_0x1f9d9c(0x1dd)](',\x20')+'.');}async function buildDeletePlan(_0xf59816){const _0x183c4f=a116_0x545d9e,_0x57b012=validateExactId(_0xf59816),_0x163380=await fetchMutationSnapshot(_0xf59816,_0x183c4f(0x172),_0x57b012),_0x2370a2=requireMenu(_0x163380,_0x57b012);assertExpectedState(_0xf59816,_0x2370a2);const _0x41450e=_0xf59816[_0x183c4f(0x183)](_0x183c4f(0x1a4));let _0xc79a03;if(_0x41450e){if(_0x2370a2[_0x183c4f(0x1a7)][_0x183c4f(0x1d0)]()[_0x183c4f(0x1ad)]()!==_0x183c4f(0x1a9))throw menuError(_0x183c4f(0x1c1),'Menu\x20'+_0x2370a2['id']+_0x183c4f(0x15d)+(_0x2370a2['type']||_0x183c4f(0x171))+_0x183c4f(0x18d));_0xc79a03=collectDeleteTargets(_0x163380,_0x2370a2),_0xc79a03[_0x183c4f(0x1cd)](_0x388763=>assertDeleteSafety(_0x388763,!![]));}else assertDeleteSafety(_0x2370a2),_0xc79a03=[_0x2370a2];assertNoSharedPages(_0x163380,_0xc79a03);const _0x4cba2b=_0xc79a03['map'](_0x457b69=>_0x457b69['id']),_0x1b2ed7=cascadeForTargets(_0xc79a03),_0x1a8a58=_0x1b2ed7[_0x183c4f(0x1cf)][_0x183c4f(0x19b)]>0x0?[_0x183c4f(0x1bf)]:[];return mutationResult({'operation':_0x183c4f(0x193),'selector':{'id':_0x57b012,'recursive':_0x41450e},'before':_0x2370a2,'after':null,'dryRun':!![],'backend':[...BACKEND],'plannedActions':[{'stage':_0x183c4f(0x19a),'method':'POST','path':_0x183c4f(0x1ca),'body':{'idList':_0x4cba2b}}],'targets':_0xc79a03,'deleteOrder':_0x4cba2b,'snapshotHash':_0x163380[_0x183c4f(0x18f)],'cascade':_0x1b2ed7,'warnings':_0x1a8a58});}function assertDeleteSafety(_0x346ded,_0x47fecd=![]){const _0x4dd22d=a116_0x545d9e,_0x25b5fd=_0x346ded[_0x4dd22d(0x1a7)][_0x4dd22d(0x1d0)]()[_0x4dd22d(0x1ad)]()===_0x4dd22d(0x1a9);if(_0x346ded[_0x4dd22d(0x1bd)]>0x0&&(!_0x47fecd||!_0x25b5fd))throw menuError(_0x4dd22d(0x1a5),'Menu\x20'+_0x346ded['id']+'\x20has\x20'+_0x346ded['childrenCount']+_0x4dd22d(0x1ce),_0x4dd22d(0x1db)+_0x346ded[_0x4dd22d(0x1d9)][_0x4dd22d(0x1dd)](',\x20'));if(_0x25b5fd&&_0x346ded[_0x4dd22d(0x169)]!=null)throw menuError(_0x4dd22d(0x19e),_0x4dd22d(0x1b8)+_0x346ded['id']+_0x4dd22d(0x165)+_0x346ded['pageId']+_0x4dd22d(0x187),_0x4dd22d(0x1ae));if(!_0x25b5fd)return;if(!_0x346ded[_0x4dd22d(0x181)])throw menuError(_0x4dd22d(0x1df),'Folder\x20'+_0x346ded['id']+_0x4dd22d(0x17d),_0x4dd22d(0x199));if(_0x346ded[_0x4dd22d(0x177)][_0x4dd22d(0x19b)]>0x0)throw menuError(_0x4dd22d(0x1bb),'Folder\x20'+_0x346ded['id']+_0x4dd22d(0x18e)+_0x346ded[_0x4dd22d(0x177)][_0x4dd22d(0x19b)]+_0x4dd22d(0x1c8),'Remove\x20or\x20verify\x20the\x20resource\x20bindings\x20in\x20the\x20platform\x20before\x20deleting\x20the\x20folder.');}function collectDeleteTargets(_0x29011a,_0x744911){const _0x3ee6c3=[],_0x460ee8=new Set(),_0x4b8883=new Set(),_0x4db1e0=_0x43b43e=>{const _0x5bb103=a116_0x4f13;if(_0x460ee8['has'](_0x43b43e['id']))throw menuError(_0x5bb103(0x17b),_0x5bb103(0x1da)+_0x43b43e['id']+'.');if(_0x4b8883[_0x5bb103(0x1ba)](_0x43b43e['id']))return;_0x460ee8['add'](_0x43b43e['id']);for(const _0x287f94 of _0x43b43e['childrenIds']){const _0x31a14c=_0x29011a['byId'][_0x5bb103(0x1a0)](_0x287f94);if(!_0x31a14c)throw menuError(_0x5bb103(0x17b),_0x5bb103(0x18a)+_0x43b43e['id']+_0x5bb103(0x186)+_0x287f94+'.');_0x4db1e0(_0x31a14c);}_0x460ee8[_0x5bb103(0x193)](_0x43b43e['id']),_0x4b8883[_0x5bb103(0x1d6)](_0x43b43e['id']),_0x3ee6c3[_0x5bb103(0x1de)](_0x43b43e);};return _0x4db1e0(_0x744911),_0x3ee6c3;}function assertDeleteTargetsComplete(_0x42bc1c,_0x731653){const _0x20a77c=a116_0x545d9e,_0x525836=requireMenu(_0x731653,_0x42bc1c[_0x20a77c(0x16b)]['id']);if(_0x42bc1c[_0x20a77c(0x1a4)]&&_0x525836[_0x20a77c(0x1a7)][_0x20a77c(0x1d0)]()[_0x20a77c(0x1ad)]()!==_0x20a77c(0x1a9))throw menuError(_0x20a77c(0x1ab),'Recursive\x20menu\x20delete\x20plan\x20root\x20'+_0x525836['id']+_0x20a77c(0x1cb));const _0x5450cd=_0x42bc1c['recursive']?collectDeleteTargets(_0x731653,_0x525836)[_0x20a77c(0x1c5)](_0x200944=>_0x200944['id']):[_0x525836['id']];if(JSON[_0x20a77c(0x1b9)](_0x42bc1c[_0x20a77c(0x1b5)])!==JSON[_0x20a77c(0x1b9)](_0x5450cd))throw menuError(_0x20a77c(0x1ab),_0x20a77c(0x194),_0x20a77c(0x1aa));}function assertNoSharedPages(_0x34b09c,_0x1468de){const _0x31146c=a116_0x545d9e,_0x37ca04=new Set(_0x1468de[_0x31146c(0x1c5)](_0x289385=>_0x289385['id'])),_0x20b8cf=new Set(_0x1468de[_0x31146c(0x1c5)](_0x44cced=>_0x44cced[_0x31146c(0x169)])[_0x31146c(0x1be)](_0x513016=>_0x513016!=null));if(_0x20b8cf[_0x31146c(0x1e0)]===0x0)return;const _0x315283=_0x34b09c[_0x31146c(0x17e)][_0x31146c(0x1be)](_0x109d12=>!_0x37ca04[_0x31146c(0x1ba)](_0x109d12['id'])&&_0x109d12[_0x31146c(0x169)]!=null&&_0x20b8cf[_0x31146c(0x1ba)](_0x109d12['pageId']));if(_0x315283['length']===0x0)return;const _0x2a8a7f=_0x315283[_0x31146c(0x1c5)](_0x2aab70=>_0x31146c(0x17f)+_0x2aab70[_0x31146c(0x169)]+_0x31146c(0x1c2)+_0x2aab70['id'])['join'](',\x20');throw menuError(_0x31146c(0x1a3),'Page\x20bindings\x20are\x20referenced\x20by\x20menus\x20outside\x20the\x20delete\x20plan:\x20'+_0x2a8a7f+'.','Keep\x20every\x20shared\x20page\x20reference\x20outside\x20this\x20operation,\x20or\x20choose\x20a\x20folder\x20whose\x20complete\x20subtree\x20contains\x20all\x20references.');}function assertCascadeMatchesPlan(_0x28b02d,_0x363bb0){const _0x24b303=a116_0x545d9e,_0x158033=cascadeForTargets(_0x363bb0);if(JSON[_0x24b303(0x1b9)](_0x28b02d['cascade'])!==JSON['stringify'](_0x158033))throw menuError(_0x24b303(0x1ab),_0x24b303(0x1b4));}function cascadeForTargets(_0x4ac919){const _0x372f58=a116_0x545d9e,_0x3e58c6=_0x4ac919[_0x372f58(0x1c5)](_0x26197d=>_0x26197d['pageId'])['filter'](_0x4f2b91=>_0x4f2b91!=null)['filter']((_0x1e8567,_0x298f45,_0x43ec5b)=>_0x43ec5b['indexOf'](_0x1e8567)===_0x298f45);return{'pages':_0x3e58c6,'pageSchemaAffected':_0x3e58c6[_0x372f58(0x19b)]>0x0};}function asMenuError(_0x374539){const _0x349e5c=a116_0x545d9e;return _0x374539 instanceof CliError?_0x374539:menuError(_0x349e5c(0x1ab),_0x374539 instanceof Error?_0x374539[_0x349e5c(0x19d)]:String(_0x374539));}function a116_0x4f13(_0xfb5825,_0x5b4515){_0xfb5825=_0xfb5825-0x15d;const _0x2416f4=a116_0x2416();let _0x4f132a=_0x2416f4[_0xfb5825];return _0x4f132a;}function a116_0x2416(){const _0x48b7f6=['expect-parent-id','type','snapshotHash','folder','Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out\x20and\x20do\x20not\x20remove\x20or\x20reorder\x20targets.','menu_plan_invalid','POST','toLowerCase','Inspect\x20the\x20folder\x20in\x20the\x20platform\x20before\x20deleting\x20it.','--plan\x20is\x20required\x20for\x20menu\x20delete\x20execution.','Required\x20for\x20execution;\x20consume\x20an\x20unexpired\x20plan\x20created\x20by\x20--plan-out','Required\x20with\x20--dry-run;\x20write\x20the\x20reviewed\x20plan\x20to\x20a\x20new\x20local\x20JSON\x20file','flagMissing','menu_batch_delete_count_mismatch','Menu\x20delete\x20plan\x20cascade\x20does\x20not\x20match\x20the\x20reviewed\x20target\x20page\x20facts.','deleteOrder','Deleted\x20','menu\x20list','Folder\x20','stringify','has','menu_folder_has_resources','selector','childrenCount','filter','Deleting\x20page-bound\x20menus\x20invokes\x20the\x20platform\x27s\x20existing\x20page\x20and\x20PageSchema\x20cascade;\x20listed\x20page\x20ids\x20are\x20direct\x20menu\x20bindings.','appCode','menu_recursive_requires_folder','\x20->\x20menu\x20','verify\x20batch\x20delete','str','map','failed','5593VobKWN','\x20resource\x20URL(s).','expected-children-count','/smartapi/menu/batchDelete','\x20is\x20not\x20a\x20folder.','Include\x20every\x20descendant\x20of\x20the\x20exact\x20folder\x20id,\x20deleting\x20leaves\x20first','forEach','\x20direct\x20child\x20menu(s)\x20and\x20cannot\x20be\x20deleted.','pages','trim','2045070ZFupEe','cookie','expect-path','\x20menu(s)\x20under\x20exact\x20id\x20','\x20deleted\x20menus;\x20expected\x20','add',';\x20execution\x20must\x20consume\x20','plan','childrenIds','Menu\x20tree\x20contains\x20a\x20cycle\x20at\x20menu\x20','Handle\x20child\x20ids\x20in\x20the\x20platform\x20first:\x20','plan-out','join','push','menu_folder_resources_invalid','size','\x20is\x20type\x20\x22','execute\x20reviewed\x20delete\x20plan','2REUSwz','1928pNFCTB','Menu\x20delete\x20execution\x20consumes\x20only\x20--plan;\x20remove\x20','Post-failure\x20menu\x20readback\x20failed\x20(','boolean','310qVQgLF','\x20is\x20unexpectedly\x20bound\x20to\x20page\x20','causeCode','path','--plan\x20cannot\x20be\x20combined\x20with\x20--dry-run;\x20use\x20--plan-out.','pageId','Batch\x20delete\x20request\x20for\x20menu\x20','target','validation','menu','595026FwzrQR','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20absence','One\x20or\x20more\x20planned\x20menus\x20are\x20still\x20present\x20after\x20the\x20batch\x20delete\x20request:\x20','unknown','plan\x20delete','batch-delete','Exact\x20menu\x20id\x20(required\x20with\x20--dry-run)','The\x20batch\x20delete\x20request\x20was\x20accepted,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.','remainingIds','resources','batch\x20delete','read\x20menu\x20state\x20after\x20batch\x20delete\x20count\x20mismatch','The\x20batch\x20response\x20count\x20did\x20not\x20match\x20the\x20reviewed\x20target\x20count;\x20do\x20not\x20retry\x20the\x20same\x20plan.','menu_tree_invalid','Delete\x20an\x20exact\x20menu\x20or\x20a\x20folder\x20subtree\x20from\x20a\x20reviewed\x20plan','\x20has\x20an\x20unreadable\x20extend.resources\x20value\x20and\x20cannot\x20be\x20proven\x20empty.','menus','page\x20','5638700uveSps','resourcesValid','string','bool','causeMessage','absentIds','\x20references\x20missing\x20child\x20','\x20and\x20cannot\x20be\x20deleted\x20safely.','):\x20','menu_verification_failed','Menu\x20','Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.','snapshot','\x22;\x20--recursive\x20requires\x20a\x20folder\x20root.','\x20still\x20references\x20','hash','69976hNrgfv','The\x20batch\x20delete\x20may\x20have\x20partially\x20applied;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20creating\x20a\x20new\x20plan.','byId','delete','Menu\x20delete\x20plan\x20does\x20not\x20contain\x20the\x20complete\x20current\x20subtree\x20in\x20leaf-first\x20order.','verification','782172fJwJDS','216992vXgPEB','unconfirmed','Inspect\x20and\x20repair\x20the\x20folder\x20resource\x20binding\x20in\x20the\x20platform\x20before\x20deleting\x20it.','batch-delete-menu','length','Post-mismatch\x20menu\x20readback\x20failed\x20(','message','menu_delete_page_bound','expiresAt','get','read\x20menu\x20state\x20after\x20batch\x20delete\x20failure','rabetbase\x20menu\x20list\x20--format\x20json','menu_page_shared','recursive','menu_non_empty'];a116_0x2416=function(){return _0x48b7f6;};return a116_0x2416();}
|
|
1
|
+
const a116_0x23c78e=a116_0x266a;(function(_0x41e22e,_0x595416){const _0x4889c4=a116_0x266a,_0x2d3536=_0x41e22e();while(!![]){try{const _0x54cf53=-parseInt(_0x4889c4(0x22e))/0x1*(-parseInt(_0x4889c4(0x21b))/0x2)+-parseInt(_0x4889c4(0x1fa))/0x3*(-parseInt(_0x4889c4(0x1ed))/0x4)+parseInt(_0x4889c4(0x209))/0x5+-parseInt(_0x4889c4(0x208))/0x6*(-parseInt(_0x4889c4(0x20f))/0x7)+-parseInt(_0x4889c4(0x20c))/0x8*(parseInt(_0x4889c4(0x1db))/0x9)+parseInt(_0x4889c4(0x1e3))/0xa+-parseInt(_0x4889c4(0x24a))/0xb;if(_0x54cf53===_0x595416)break;else _0x2d3536['push'](_0x2d3536['shift']());}catch(_0x4906be){_0x2d3536['push'](_0x2d3536['shift']());}}}(a116_0x16be,0x89e3e));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{assertMenuDeletePlanCurrent,assertMenuDeletePlanExecutable,createMenuDeletePlanFile,mutationPlanFromDeleteFile,readMenuDeletePlan,writeMenuDeletePlan}from'../../commands/menu/shared/delete-plan.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_FLAGS,MENU_ID_FLAG,asVerificationError,assertExpectedState,describeMenuErrorCause,fetchMutationSnapshot,hasFlag,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,requireExplicitYes,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{batchDeleteMenuEntities}from'../../commands/menu/shared/service.js';import{CliError,CliErrors}from'../../errors.js';function a116_0x16be(){const _0x7eabba=['1152184xKidlw','snapshotHash','menu_batch_delete_count_mismatch','7HcHPtJ','pre-write-plan-validation','absentIds','expected-children-count','Menu\x20delete\x20plan\x20cascade\x20does\x20not\x20match\x20the\x20reviewed\x20target\x20page\x20facts.','Menu\x20','cascade','Post-mismatch\x20menu\x20readback\x20failed\x20(','boolean','menu_delete_page_bound','plan','toLowerCase','1936206iXrIeb','plan-out','\x20menu(s)\x20under\x20exact\x20id\x20','menu_tree_invalid','str','resourcesValid','snapshot','The\x20batch\x20delete\x20request\x20was\x20accepted,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.','size','get','Required\x20for\x20execution;\x20consume\x20an\x20unexpired\x20plan\x20created\x20by\x20--plan-out','add','\x20references\x20missing\x20child\x20','delete','Required\x20with\x20--dry-run;\x20write\x20the\x20reviewed\x20plan\x20to\x20a\x20new\x20local\x20JSON\x20file','createdAt','appCode','menu_verification_failed','Inspect\x20the\x20folder\x20in\x20the\x20platform\x20before\x20deleting\x20it.','1FrUTqX','pages','push','forEach','pageId','recursive','menus','length','byId','POST','folder','filter','menu_non_empty','\x20deleted\x20menus;\x20expected\x20','dry-run','string','unknown','Backend\x20reported\x20','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20absence','Folder\x20','type','rabetbase\x20menu\x20list\x20--format\x20json','unconfirmed','Post-failure\x20menu\x20readback\x20failed\x20(','failed','Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.','causeCode','menu_folder_has_resources','10039018mrlCOq','Page\x20bindings\x20are\x20referenced\x20by\x20menus\x20outside\x20the\x20delete\x20plan:\x20','expect-parent-id','flagMissing','verification','menu','\x20has\x20','plan-validation','childrenIds','batch-delete','indexOf','45WqvCiX','menu_recursive_requires_folder','):\x20','remainingIds','high-risk-write','Deleted\x20','stringify','verify\x20batch\x20delete','5665420lTScjz','join','--plan\x20cannot\x20be\x20combined\x20with\x20--dry-run;\x20use\x20--plan-out.','Menu\x20delete\x20execution\x20consumes\x20only\x20--plan;\x20remove\x20','\x20has\x20an\x20unreadable\x20extend.resources\x20value\x20and\x20cannot\x20be\x20proven\x20empty.','Remove\x20or\x20verify\x20the\x20resource\x20bindings\x20in\x20the\x20platform\x20before\x20deleting\x20the\x20folder.','cookie','resources','Keep\x20every\x20shared\x20page\x20reference\x20outside\x20this\x20operation,\x20or\x20choose\x20a\x20folder\x20whose\x20complete\x20subtree\x20contains\x20all\x20references.','bool','8hXTYys','expect-path','page\x20','validation','\x22;\x20--recursive\x20requires\x20a\x20folder\x20root.','Inspect\x20and\x20repair\x20the\x20folder\x20resource\x20binding\x20in\x20the\x20platform\x20before\x20deleting\x20it.','map','\x20is\x20not\x20a\x20folder.','/smartapi/menu/batchDelete','Menu\x20tree\x20contains\x20a\x20cycle\x20at\x20menu\x20','One\x20or\x20more\x20planned\x20menus\x20are\x20still\x20present\x20after\x20the\x20batch\x20delete\x20request:\x20','batch\x20delete','\x20->\x20menu\x20','104421vazwNC','\x20is\x20unexpectedly\x20bound\x20to\x20page\x20','deleteOrder','read\x20menu\x20state\x20after\x20batch\x20delete\x20failure','\x20still\x20references\x20','hash','message','trim','execute\x20reviewed\x20delete\x20plan','\x20resource\x20URL(s).','menu_plan_invalid','causeMessage','has','The\x20backend\x20acknowledged\x20the\x20batch\x20request,\x20but\x20final\x20menu\x20facts\x20did\x20not\x20confirm\x20every\x20deletion.','3321366uFeHGK','198655moXbsJ','target','Batch\x20delete\x20request\x20for\x20menu\x20'];a116_0x16be=function(){return _0x7eabba;};return a116_0x16be();}const BACKEND=[{'method':a116_0x23c78e(0x237),'path':'/smartapi/menu/batchDelete'}],MENU_DELETE_ID_FLAG={...MENU_ID_FLAG,'required':![],'description':'Exact\x20menu\x20id\x20(required\x20with\x20--dry-run)'},MENU_DELETE_RECURSIVE_FLAG={'name':a116_0x23c78e(0x233),'type':a116_0x23c78e(0x217),'description':'Include\x20every\x20descendant\x20of\x20the\x20exact\x20folder\x20id,\x20deleting\x20leaves\x20first'},MENU_DELETE_PLAN_OUT_FLAG={'name':'plan-out','type':a116_0x23c78e(0x23d),'description':a116_0x23c78e(0x229)},MENU_DELETE_PLAN_FLAG={'name':a116_0x23c78e(0x219),'type':a116_0x23c78e(0x23d),'description':a116_0x23c78e(0x225)};export const menuDelete={'service':a116_0x23c78e(0x24f),'command':a116_0x23c78e(0x228),'description':'Delete\x20an\x20exact\x20menu\x20or\x20a\x20folder\x20subtree\x20from\x20a\x20reviewed\x20plan','risk':a116_0x23c78e(0x1df),'structuredErrors':!![],'flags':[MENU_DELETE_ID_FLAG,MENU_DELETE_RECURSIVE_FLAG,MENU_DELETE_PLAN_OUT_FLAG,MENU_DELETE_PLAN_FLAG,...MENU_EXPECT_FLAGS,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x1f7347){const _0x35ee71=a116_0x23c78e;_0x1f7347[_0x35ee71(0x1ec)](_0x35ee71(0x23c))?validateDeleteDryRunInput(_0x1f7347):validateDeleteExecuteInput(_0x1f7347),requireExplicitYes(_0x1f7347);},async 'dryRun'(_0x1c2685){const _0x1e90d1=a116_0x23c78e;validateDeleteDryRunInput(_0x1c2685);const _0x420da6=await buildDeletePlan(_0x1c2685),_0x588e9f=createMenuDeletePlanFile(_0x1c2685['appCode'],_0x420da6),_0x2ad199=await writeMenuDeletePlan(_0x1c2685[_0x1e90d1(0x21f)](_0x1e90d1(0x21c)),_0x588e9f),_0x30bceb=mutationResult({..._0x420da6,'planFile':{'path':_0x2ad199,'createdAt':_0x588e9f[_0x1e90d1(0x22a)],'expiresAt':_0x588e9f['expiresAt']}});return menuDryRunResult(_0x30bceb,{'method':_0x1e90d1(0x237),'url':_0x1e90d1(0x1f5),'body':{'idList':_0x30bceb[_0x1e90d1(0x1fc)]},'description':'Would\x20batch\x20delete\x20'+(_0x30bceb['deleteOrder']?.[_0x1e90d1(0x235)]??0x1)+'\x20menu(s)\x20under\x20exact\x20id\x20'+_0x30bceb['selector']['id']+';\x20execution\x20must\x20consume\x20'+_0x2ad199+'.'});},async 'execute'(_0x88c130){const _0x5bb3cf=a116_0x23c78e;requireExplicitYes(_0x88c130),validateDeleteExecuteInput(_0x88c130);const _0x389f59=await readMenuDeletePlan(_0x88c130[_0x5bb3cf(0x21f)](_0x5bb3cf(0x219))),_0xdf6d7c=mutationPlanFromDeleteFile(_0x389f59[_0x5bb3cf(0x219)],_0x389f59['path']),_0x29a166=_0x389f59['plan'][_0x5bb3cf(0x20a)]['id'];try{assertMenuDeletePlanExecutable(_0x389f59[_0x5bb3cf(0x219)],_0x88c130['appCode']);}catch(_0x4bd5ef){throw menuFailure(asMenuError(_0x4bd5ef),_0xdf6d7c,{'stage':_0x5bb3cf(0x1d7),'failed':{'id':_0x29a166}});}let _0x563fb2,_0x2254da;try{_0x563fb2=await fetchMutationSnapshot(_0x88c130,_0x5bb3cf(0x202),_0x29a166),_0x2254da=assertMenuDeletePlanCurrent(_0x389f59['plan'],_0x88c130[_0x5bb3cf(0x22b)],_0x563fb2),assertDeleteTargetsComplete(_0x389f59[_0x5bb3cf(0x219)],_0x563fb2),_0x2254da[_0x5bb3cf(0x231)](_0x52639c=>assertDeleteSafety(_0x52639c,_0x389f59['plan'][_0x5bb3cf(0x233)])),assertNoSharedPages(_0x563fb2,_0x2254da),assertCascadeMatchesPlan(_0xdf6d7c,_0x2254da);}catch(_0x2237b9){throw menuFailure(asMenuError(_0x2237b9),_0xdf6d7c,{'stage':_0x5bb3cf(0x210),'failed':{'id':_0x29a166}});}const _0x4a7eb5=_0x389f59[_0x5bb3cf(0x219)][_0x5bb3cf(0x1fc)];let _0x4e7f5f;try{_0x4e7f5f=await batchDeleteMenuEntities(_0x88c130['cookie'],_0x4a7eb5);}catch(_0x1a7f5e){const _0x119df9=mapMenuApiError(_0x1a7f5e,_0x5bb3cf(0x1f8)),_0x2c591=['The\x20batch\x20delete\x20may\x20have\x20partially\x20applied;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20creating\x20a\x20new\x20plan.'];let _0x2fd9e8;try{_0x2fd9e8=await readDeleteOutcome(_0x88c130,_0x4a7eb5);}catch(_0x3efa72){const _0x186c75=describeMenuErrorCause(_0x3efa72,_0x5bb3cf(0x1fd),_0x29a166);_0x2c591[_0x5bb3cf(0x230)](_0x5bb3cf(0x245)+_0x186c75['causeCode']+_0x5bb3cf(0x1dd)+_0x186c75[_0x5bb3cf(0x205)]);throw menuFailure(_0x119df9,_0xdf6d7c,{'stage':_0x5bb3cf(0x1d9),'failed':{'targetIds':_0x4a7eb5,'targetIdsAbsent':_0x5bb3cf(0x244),..._0x186c75},'warnings':_0x2c591,'verification':{'status':_0x5bb3cf(0x246),'lookupCommand':_0x5bb3cf(0x243),'targetIds':_0x4a7eb5}});}throw menuFailure(_0x119df9,_0xdf6d7c,{'stage':'batch-delete','succeeded':_0x2fd9e8[_0x5bb3cf(0x211)][_0x5bb3cf(0x1f3)](_0x11a0d5=>({'id':_0x11a0d5,'deleted':!![]})),'failed':{'targetIds':_0x4a7eb5,'absentIds':_0x2fd9e8[_0x5bb3cf(0x211)],'remainingIds':_0x2fd9e8[_0x5bb3cf(0x1de)]},'warnings':_0x2c591,'verification':verificationFromOutcome(_0x2fd9e8)});}if(_0x4e7f5f!==_0x4a7eb5[_0x5bb3cf(0x235)]){const _0x180cdb=menuError(_0x5bb3cf(0x20e),_0x5bb3cf(0x23f)+_0x4e7f5f+_0x5bb3cf(0x23b)+_0x4a7eb5[_0x5bb3cf(0x235)]+'.',_0x5bb3cf(0x247)),_0x1f96a2=['The\x20batch\x20response\x20count\x20did\x20not\x20match\x20the\x20reviewed\x20target\x20count;\x20do\x20not\x20retry\x20the\x20same\x20plan.'];let _0x151d4d;try{_0x151d4d=await readDeleteOutcome(_0x88c130,_0x4a7eb5);}catch(_0x3e41b7){const _0x12eb3a=describeMenuErrorCause(_0x3e41b7,'read\x20menu\x20state\x20after\x20batch\x20delete\x20count\x20mismatch',_0x29a166);_0x1f96a2[_0x5bb3cf(0x230)](_0x5bb3cf(0x216)+_0x12eb3a[_0x5bb3cf(0x248)]+_0x5bb3cf(0x1dd)+_0x12eb3a[_0x5bb3cf(0x205)]);throw menuFailure(_0x180cdb,_0xdf6d7c,{'stage':_0x5bb3cf(0x1d9),'failed':{'targetIds':_0x4a7eb5,'expectedCount':_0x4a7eb5[_0x5bb3cf(0x235)],'reportedDeletedCount':_0x4e7f5f,'targetIdsAbsent':_0x5bb3cf(0x244),..._0x12eb3a},'warnings':_0x1f96a2,'verification':{'status':_0x5bb3cf(0x246),'lookupCommand':_0x5bb3cf(0x243),'targetIds':_0x4a7eb5}});}throw menuFailure(_0x180cdb,_0xdf6d7c,{'stage':'batch-delete','succeeded':_0x151d4d[_0x5bb3cf(0x211)][_0x5bb3cf(0x1f3)](_0x5c6558=>({'id':_0x5c6558,'deleted':!![]})),'failed':{'targetIds':_0x4a7eb5,'expectedCount':_0x4a7eb5[_0x5bb3cf(0x235)],'reportedDeletedCount':_0x4e7f5f,'absentIds':_0x151d4d[_0x5bb3cf(0x211)],'remainingIds':_0x151d4d[_0x5bb3cf(0x1de)]},'warnings':_0x1f96a2,'verification':verificationFromOutcome(_0x151d4d)});}let _0x5170df;try{_0x5170df=await readDeleteOutcome(_0x88c130,_0x4a7eb5);}catch(_0x14d032){const _0x515fc2=describeMenuErrorCause(_0x14d032,_0x5bb3cf(0x1e2),_0x29a166),_0x52a98b=asVerificationError(_0x14d032,_0x5bb3cf(0x20b)+_0x29a166+_0x5bb3cf(0x240));throw menuFailure(_0x52a98b,_0xdf6d7c,{'stage':_0x5bb3cf(0x24e),'succeeded':_0x4a7eb5[_0x5bb3cf(0x1f3)](_0x290e29=>({'id':_0x290e29,'deleteRequested':!![]})),'failed':{'id':_0x29a166,'targetIds':_0x4a7eb5,'targetIdsAbsent':_0x5bb3cf(0x244),..._0x515fc2},'warnings':[_0x5bb3cf(0x222)],'verification':{'status':'failed','lookupCommand':_0x5bb3cf(0x243),'targetIds':_0x4a7eb5}});}if(_0x5170df[_0x5bb3cf(0x1de)][_0x5bb3cf(0x235)]>0x0){const _0xb9362b=menuError(_0x5bb3cf(0x22c),_0x5bb3cf(0x1f7)+_0x5170df[_0x5bb3cf(0x1de)][_0x5bb3cf(0x1e4)](',\x20')+'.',_0x5bb3cf(0x247));throw menuFailure(_0xb9362b,_0xdf6d7c,{'stage':_0x5bb3cf(0x24e),'succeeded':_0x4a7eb5[_0x5bb3cf(0x1f3)](_0x19ac8a=>({'id':_0x19ac8a,'deleteRequested':!![]})),'failed':{'id':_0x29a166,'targetIds':_0x4a7eb5,'absentIds':_0x5170df[_0x5bb3cf(0x211)],'remainingIds':_0x5170df['remainingIds']},'warnings':[_0x5bb3cf(0x207)],'verification':verificationFromOutcome(_0x5170df)});}const _0x3ca26e=_0x4a7eb5[_0x5bb3cf(0x1f3)](_0x3e4b3c=>({'id':_0x3e4b3c,'deleted':!![]})),_0x1bc49c=mutationResult({..._0xdf6d7c,'dryRun':![],'succeeded':_0x3ca26e,'verification':{'checkedBy':'menu\x20list','plannedSnapshotHash':_0xdf6d7c[_0x5bb3cf(0x20d)],'finalSnapshotHash':_0x5170df[_0x5bb3cf(0x221)]['hash'],'reportedDeletedCount':_0x4e7f5f,'targetAbsent':!_0x5170df['snapshot']['byId']['has'](_0x29a166),'allTargetsAbsent':!![],'targetIds':_0x4a7eb5}});return{'ok':!![],'data':_0x1bc49c,'message':_0x5bb3cf(0x1e0)+_0x3ca26e[_0x5bb3cf(0x235)]+_0x5bb3cf(0x21d)+_0x29a166+'.'};}};async function readDeleteOutcome(_0x3390c4,_0x56d319){const _0x17b739=a116_0x23c78e,_0xe98429=await fetchMenuSnapshot(_0x3390c4[_0x17b739(0x22b)],_0x3390c4[_0x17b739(0x1e9)]);return{'snapshot':_0xe98429,'absentIds':_0x56d319['filter'](_0x45641f=>!_0xe98429['byId'][_0x17b739(0x206)](_0x45641f)),'remainingIds':_0x56d319['filter'](_0x4f3bde=>_0xe98429[_0x17b739(0x236)][_0x17b739(0x206)](_0x4f3bde))};}function verificationFromOutcome(_0x488407){return{'checkedBy':'menu\x20list','absentIds':_0x488407['absentIds'],'remainingIds':_0x488407['remainingIds']};}function validateDeleteDryRunInput(_0x5abddc){const _0x1bf7b4=a116_0x23c78e;validateExactId(_0x5abddc);if(!hasFlag(_0x5abddc,_0x1bf7b4(0x21c))||!_0x5abddc[_0x1bf7b4(0x21f)](_0x1bf7b4(0x21c))[_0x1bf7b4(0x201)]())throw CliErrors[_0x1bf7b4(0x24d)](_0x1bf7b4(0x21c),'--plan-out\x20is\x20required\x20for\x20menu\x20delete\x20dry-run\x20so\x20execution\x20can\x20consume\x20the\x20reviewed\x20plan.');if(hasFlag(_0x5abddc,_0x1bf7b4(0x219)))throw CliErrors['validation'](_0x1bf7b4(0x1e5));}function validateDeleteExecuteInput(_0x2ff819){const _0x9cbd4a=a116_0x23c78e;if(!hasFlag(_0x2ff819,_0x9cbd4a(0x219))||!_0x2ff819[_0x9cbd4a(0x21f)]('plan')[_0x9cbd4a(0x201)]())throw CliErrors['flagMissing']('plan','--plan\x20is\x20required\x20for\x20menu\x20delete\x20execution.');const _0x49cb79=['id',_0x9cbd4a(0x233),'plan-out',_0x9cbd4a(0x24c),_0x9cbd4a(0x1ee),_0x9cbd4a(0x212)][_0x9cbd4a(0x239)](_0x36cc84=>hasFlag(_0x2ff819,_0x36cc84));if(_0x49cb79['length']>0x0)throw CliErrors[_0x9cbd4a(0x1f0)](_0x9cbd4a(0x1e6)+_0x49cb79[_0x9cbd4a(0x1f3)](_0x5ea095=>'--'+_0x5ea095)[_0x9cbd4a(0x1e4)](',\x20')+'.');}async function buildDeletePlan(_0x4f63e0){const _0xa5b7e5=a116_0x23c78e,_0x46570a=validateExactId(_0x4f63e0),_0x2499dd=await fetchMutationSnapshot(_0x4f63e0,'plan\x20delete',_0x46570a),_0x4082aa=requireMenu(_0x2499dd,_0x46570a);assertExpectedState(_0x4f63e0,_0x4082aa);const _0x4a297d=_0x4f63e0[_0xa5b7e5(0x1ec)](_0xa5b7e5(0x233));let _0x55ce4e;if(_0x4a297d){if(_0x4082aa['type']['trim']()[_0xa5b7e5(0x21a)]()!==_0xa5b7e5(0x238))throw menuError(_0xa5b7e5(0x1dc),'Menu\x20'+_0x4082aa['id']+'\x20is\x20type\x20\x22'+(_0x4082aa[_0xa5b7e5(0x242)]||_0xa5b7e5(0x23e))+_0xa5b7e5(0x1f1));_0x55ce4e=collectDeleteTargets(_0x2499dd,_0x4082aa),_0x55ce4e[_0xa5b7e5(0x231)](_0x495175=>assertDeleteSafety(_0x495175,!![]));}else assertDeleteSafety(_0x4082aa),_0x55ce4e=[_0x4082aa];assertNoSharedPages(_0x2499dd,_0x55ce4e);const _0xd7b74b=_0x55ce4e[_0xa5b7e5(0x1f3)](_0x272518=>_0x272518['id']),_0x319ec6=cascadeForTargets(_0x55ce4e),_0x4339dd=_0x319ec6[_0xa5b7e5(0x22f)][_0xa5b7e5(0x235)]>0x0?['Deleting\x20page-bound\x20menus\x20invokes\x20the\x20platform\x27s\x20existing\x20page\x20and\x20PageSchema\x20cascade;\x20listed\x20page\x20ids\x20are\x20direct\x20menu\x20bindings.']:[];return mutationResult({'operation':_0xa5b7e5(0x228),'selector':{'id':_0x46570a,'recursive':_0x4a297d},'before':_0x4082aa,'after':null,'dryRun':!![],'backend':[...BACKEND],'plannedActions':[{'stage':'batch-delete-menu','method':_0xa5b7e5(0x237),'path':'/smartapi/menu/batchDelete','body':{'idList':_0xd7b74b}}],'targets':_0x55ce4e,'deleteOrder':_0xd7b74b,'snapshotHash':_0x2499dd[_0xa5b7e5(0x1ff)],'cascade':_0x319ec6,'warnings':_0x4339dd});}function assertDeleteSafety(_0x4a9d89,_0x52e492=![]){const _0x5f1d8d=a116_0x23c78e,_0x136597=_0x4a9d89[_0x5f1d8d(0x242)][_0x5f1d8d(0x201)]()[_0x5f1d8d(0x21a)]()===_0x5f1d8d(0x238);if(_0x4a9d89['childrenCount']>0x0&&(!_0x52e492||!_0x136597))throw menuError(_0x5f1d8d(0x23a),'Menu\x20'+_0x4a9d89['id']+_0x5f1d8d(0x1d6)+_0x4a9d89['childrenCount']+'\x20direct\x20child\x20menu(s)\x20and\x20cannot\x20be\x20deleted.','Handle\x20child\x20ids\x20in\x20the\x20platform\x20first:\x20'+_0x4a9d89['childrenIds'][_0x5f1d8d(0x1e4)](',\x20'));if(_0x136597&&_0x4a9d89[_0x5f1d8d(0x232)]!=null)throw menuError(_0x5f1d8d(0x218),_0x5f1d8d(0x241)+_0x4a9d89['id']+_0x5f1d8d(0x1fb)+_0x4a9d89[_0x5f1d8d(0x232)]+'\x20and\x20cannot\x20be\x20deleted\x20safely.',_0x5f1d8d(0x22d));if(!_0x136597)return;if(!_0x4a9d89[_0x5f1d8d(0x220)])throw menuError('menu_folder_resources_invalid',_0x5f1d8d(0x241)+_0x4a9d89['id']+_0x5f1d8d(0x1e7),_0x5f1d8d(0x1f2));if(_0x4a9d89[_0x5f1d8d(0x1ea)][_0x5f1d8d(0x235)]>0x0)throw menuError(_0x5f1d8d(0x249),'Folder\x20'+_0x4a9d89['id']+_0x5f1d8d(0x1fe)+_0x4a9d89[_0x5f1d8d(0x1ea)][_0x5f1d8d(0x235)]+_0x5f1d8d(0x203),_0x5f1d8d(0x1e8));}function collectDeleteTargets(_0x503214,_0x200a59){const _0x13d790=[],_0x2bc017=new Set(),_0xe437a0=new Set(),_0x5d4b9a=_0xcc1246=>{const _0x3ea755=a116_0x266a;if(_0x2bc017[_0x3ea755(0x206)](_0xcc1246['id']))throw menuError(_0x3ea755(0x21e),_0x3ea755(0x1f6)+_0xcc1246['id']+'.');if(_0xe437a0['has'](_0xcc1246['id']))return;_0x2bc017[_0x3ea755(0x226)](_0xcc1246['id']);for(const _0xd8574 of _0xcc1246[_0x3ea755(0x1d8)]){const _0x1ece48=_0x503214['byId'][_0x3ea755(0x224)](_0xd8574);if(!_0x1ece48)throw menuError(_0x3ea755(0x21e),_0x3ea755(0x214)+_0xcc1246['id']+_0x3ea755(0x227)+_0xd8574+'.');_0x5d4b9a(_0x1ece48);}_0x2bc017[_0x3ea755(0x228)](_0xcc1246['id']),_0xe437a0['add'](_0xcc1246['id']),_0x13d790[_0x3ea755(0x230)](_0xcc1246);};return _0x5d4b9a(_0x200a59),_0x13d790;}function assertDeleteTargetsComplete(_0x5bc53b,_0x4c7e33){const _0x6edc6=a116_0x23c78e,_0x204ea5=requireMenu(_0x4c7e33,_0x5bc53b[_0x6edc6(0x20a)]['id']);if(_0x5bc53b[_0x6edc6(0x233)]&&_0x204ea5[_0x6edc6(0x242)][_0x6edc6(0x201)]()[_0x6edc6(0x21a)]()!=='folder')throw menuError(_0x6edc6(0x204),'Recursive\x20menu\x20delete\x20plan\x20root\x20'+_0x204ea5['id']+_0x6edc6(0x1f4));const _0x1caba5=_0x5bc53b['recursive']?collectDeleteTargets(_0x4c7e33,_0x204ea5)[_0x6edc6(0x1f3)](_0x357e2c=>_0x357e2c['id']):[_0x204ea5['id']];if(JSON[_0x6edc6(0x1e1)](_0x5bc53b[_0x6edc6(0x1fc)])!==JSON[_0x6edc6(0x1e1)](_0x1caba5))throw menuError(_0x6edc6(0x204),'Menu\x20delete\x20plan\x20does\x20not\x20contain\x20the\x20complete\x20current\x20subtree\x20in\x20leaf-first\x20order.','Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out\x20and\x20do\x20not\x20remove\x20or\x20reorder\x20targets.');}function assertNoSharedPages(_0x9499b4,_0x172c20){const _0x17c485=a116_0x23c78e,_0x520a21=new Set(_0x172c20[_0x17c485(0x1f3)](_0x57a7cc=>_0x57a7cc['id'])),_0xa7876b=new Set(_0x172c20[_0x17c485(0x1f3)](_0x51409f=>_0x51409f[_0x17c485(0x232)])['filter'](_0x4f54e7=>_0x4f54e7!=null));if(_0xa7876b[_0x17c485(0x223)]===0x0)return;const _0x407f7a=_0x9499b4[_0x17c485(0x234)][_0x17c485(0x239)](_0xb0a66f=>!_0x520a21[_0x17c485(0x206)](_0xb0a66f['id'])&&_0xb0a66f[_0x17c485(0x232)]!=null&&_0xa7876b[_0x17c485(0x206)](_0xb0a66f[_0x17c485(0x232)]));if(_0x407f7a['length']===0x0)return;const _0x5b13a7=_0x407f7a[_0x17c485(0x1f3)](_0x1b3b72=>_0x17c485(0x1ef)+_0x1b3b72['pageId']+_0x17c485(0x1f9)+_0x1b3b72['id'])[_0x17c485(0x1e4)](',\x20');throw menuError('menu_page_shared',_0x17c485(0x24b)+_0x5b13a7+'.',_0x17c485(0x1eb));}function a116_0x266a(_0x4bbeeb,_0x3eb573){_0x4bbeeb=_0x4bbeeb-0x1d6;const _0x16be3e=a116_0x16be();let _0x266a17=_0x16be3e[_0x4bbeeb];return _0x266a17;}function assertCascadeMatchesPlan(_0x42c4cd,_0x57709e){const _0x222a07=a116_0x23c78e,_0x242820=cascadeForTargets(_0x57709e);if(JSON[_0x222a07(0x1e1)](_0x42c4cd[_0x222a07(0x215)])!==JSON[_0x222a07(0x1e1)](_0x242820))throw menuError(_0x222a07(0x204),_0x222a07(0x213));}function cascadeForTargets(_0x55492f){const _0xea4d0c=a116_0x23c78e,_0xbc61ea=_0x55492f[_0xea4d0c(0x1f3)](_0x4e041e=>_0x4e041e[_0xea4d0c(0x232)])['filter'](_0x182a19=>_0x182a19!=null)['filter']((_0x53d052,_0xd6c3e1,_0x2b70c6)=>_0x2b70c6[_0xea4d0c(0x1da)](_0x53d052)===_0xd6c3e1);return{'pages':_0xbc61ea,'pageSchemaAffected':_0xbc61ea[_0xea4d0c(0x235)]>0x0};}function asMenuError(_0x2b5587){const _0x3b1a1e=a116_0x23c78e;return _0x2b5587 instanceof CliError?_0x2b5587:menuError(_0x3b1a1e(0x204),_0x2b5587 instanceof Error?_0x2b5587[_0x3b1a1e(0x200)]:String(_0x2b5587));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a117_0x3ecd53=a117_0x314e;(function(_0x5514cd,_0x4878ee){const _0x43d6b4=a117_0x314e,_0x4469b8=_0x5514cd();while(!![]){try{const _0x521a7d=parseInt(_0x43d6b4(0x12d))/0x1+-parseInt(_0x43d6b4(0x135))/0x2+parseInt(_0x43d6b4(0xd0))/0x3*(parseInt(_0x43d6b4(0xb6))/0x4)+parseInt(_0x43d6b4(0x110))/0x5*(parseInt(_0x43d6b4(0x12b))/0x6)+parseInt(_0x43d6b4(0xf8))/0x7*(parseInt(_0x43d6b4(0x11e))/0x8)+parseInt(_0x43d6b4(0xe6))/0x9*(parseInt(_0x43d6b4(0xb2))/0xa)+-parseInt(_0x43d6b4(0xdb))/0xb;if(_0x521a7d===_0x4878ee)break;else _0x4469b8['push'](_0x4469b8['shift']());}catch(_0x54495a){_0x4469b8['push'](_0x4469b8['shift']());}}}(a117_0x2c84,0xc16f7));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,fetchMutationSnapshot,menuDryRunResult,menuError,menuFailure,mapMenuApiError,isMenuResponseLoss,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';import{createMenuEntity}from'../../commands/menu/shared/service.js';function a117_0x314e(_0x9599f3,_0x366620){_0x9599f3=_0x9599f3-0xae;const _0x2c8499=a117_0x2c84();let _0x314ee7=_0x2c8499[_0x9599f3];return _0x314ee7;}function a117_0x2c84(){const _0x5a86ca=['Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.','\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.','data','\x20has\x20an\x20unexpected\x20generated\x20path.','readbackerror','code','Recovered\x20menu\x20','menu_create_recovery_required','menu_url_credentials_forbidden','parentId','\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.','rabetbase\x20menu\x20list\x20--appcode\x20','Create\x20an\x20external\x20website\x20link\x20menu','\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.','--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.','\x20with\x20','get','boolean','expectedPath','16285FcoWvq','parent-id','menu_create_response_invalid','type','has','password','link','stringify','url','visible','length','Run\x20','menu_sort_overflow','isArray','9666376VPqPcU','menu_parent_not_folder','menu_sort_invalid','sort','appCode','Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.','call','afterPlan','trim','map','currentSnapshotHash','string','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.','210jTigOt','label','938735oMlWNk','\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.','snapshot','/smartapi/menu/create','External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.','create-menu','menu_open_mode_invalid','Whether\x20the\x20menu\x20is\x20visible','2824272QRyiHq','Menu\x20label','menu_state_drift','expectedSnapshotHash','hasOwnProperty','createdId','replace','menu_verification_failed','\x20failed\x20final\x20verification.','\x27\x5c\x27\x27','The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.','Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.','2480BJHknk','succeeded','menu_permission_denied','Provide\x20an\x20HTTPS\x20URL.','116mhHQXn','selector','POST','External\x20HTTPS\x20URL','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.','URL','filter','Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.','hash','rawFlags','username','open-mode','fromEntries','pre-write-recheck','recovered','new-window','embedded','path','<redacted>','isSafeInteger','\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.','lookupCommand','\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.','visibility','add','Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.','163623ShGljz','verification','<platform-generated>','External\x20menu\x20creation\x20failed.','menu','plannedActions','Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.','failed','menu_url_invalid','External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.','31434535wrgDEW','fact','The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.','Would\x20create\x20external\x20website\x20link\x20menu\x20','before','\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.','create\x20external\x20menu','str','object','after','44253mGMsYz','Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.','create','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.','body','Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.','The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.','byId','Menu\x20','How\x20to\x20open\x20the\x20external\x20website','\x20has\x20an\x20unexpected\x20','menu_mutation_failed','bool','flagMissing','includes','\x20could\x20not\x20be\x20verified.','Created\x20menu\x20','toLowerCase','7LfZklX','plan','parent','cookie','external-link-create'];a117_0x2c84=function(){return _0x5a86ca;};return a117_0x2c84();}import{CliError,CliErrors}from'../../errors.js';const EXTERNAL_MENU_TYPES_BY_OPEN_MODE={'embedded':'iframe','new-window':a117_0x3ecd53(0x116)};export function validateExternalMenuUrl(_0x1a80e4){const _0x105390=a117_0x3ecd53,_0x5a5948=_0x1a80e4[_0x105390(0x126)]();let _0x4c67c4;try{_0x4c67c4=new URL(_0x5a5948);}catch{throw menuError(_0x105390(0xd8),_0x105390(0xd9),_0x105390(0xcf));}if(_0x4c67c4['protocol']!=='https:')throw menuError('menu_url_https_required','External\x20menu\x20URL\x20must\x20use\x20HTTPS.',_0x105390(0xb5));if(_0x4c67c4[_0x105390(0xc0)]||_0x4c67c4[_0x105390(0x115)])throw menuError(_0x105390(0x105),_0x105390(0x131),_0x105390(0xd6));return _0x5a5948;}export const menuExternalLinkCreate={'service':a117_0x3ecd53(0xd4),'command':a117_0x3ecd53(0xfc),'description':a117_0x3ecd53(0x109),'risk':'write','structuredErrors':!![],'flags':[{'name':a117_0x3ecd53(0x12c),'type':a117_0x3ecd53(0x129),'required':!![],'description':a117_0x3ecd53(0x136)},{'name':a117_0x3ecd53(0xc1),'type':a117_0x3ecd53(0x129),'required':!![],'enum':[a117_0x3ecd53(0xc6),a117_0x3ecd53(0xc5)],'description':a117_0x3ecd53(0xef)},{'name':a117_0x3ecd53(0x118),'type':a117_0x3ecd53(0x129),'required':!![],'description':a117_0x3ecd53(0xb9)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':a117_0x3ecd53(0x119),'type':a117_0x3ecd53(0x10e),'default':!![],'description':a117_0x3ecd53(0x134)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x571d9d){validateAddInput(_0x571d9d);},async 'dryRun'(_0x1fd005){const _0x357812=a117_0x3ecd53;validateAddInput(_0x1fd005);const {plan:_0x6b301b}=await buildSafeAddPlan(_0x1fd005,!![]),_0x57342a=_0x6b301b[_0x357812(0xe5)],_0x5444b5=createBody(_0x57342a);return menuDryRunResult(_0x6b301b,{'method':_0x357812(0xb8),'url':_0x357812(0x130),'body':_0x5444b5,'description':_0x357812(0xdf)+JSON[_0x357812(0x117)](_0x57342a[_0x357812(0x12c)])+_0x357812(0x10c)+_0x1fd005['str'](_0x357812(0xc1))+_0x357812(0x12e)});},async 'execute'(_0x33b394){const _0x58be3f=a117_0x3ecd53;validateAddInput(_0x33b394);const _0x18d2b1=await buildSafeAddPlan(_0x33b394,![]),{plan:_0x44bbc8,snapshot:_0x2bc29d}=_0x18d2b1,_0x42f265=_0x44bbc8['after'],_0x31887c=buildMenuLookupCommand(_0x33b394['appCode']);await recheckAddSnapshot(_0x33b394,_0x44bbc8);let _0x54e8e3;try{_0x54e8e3=await createMenuEntity(_0x33b394[_0x58be3f(0x122)],_0x33b394[_0x58be3f(0xfb)],createBody(_0x42f265));}catch(_0x5cfa17){const _0x24baae=mapMenuApiError(_0x5cfa17,_0x58be3f(0xe2));if(!isMenuResponseLoss(_0x5cfa17)||_0x24baae['code']==='menu_permission_denied')throw externalLinkCreateFailure(_0x24baae,_0x44bbc8,{'stage':_0x58be3f(0xe8),'failed':{},'verification':{'status':'failed','lookupCommand':_0x31887c}});return recoverAfterResponseLoss(_0x33b394,_0x18d2b1,_0x31887c);}const _0x443a89=Number(_0x54e8e3?.['id']),_0x3ddf12=typeof _0x54e8e3?.[_0x58be3f(0xc7)]==='string'?_0x54e8e3[_0x58be3f(0xc7)]:'';if(!Number[_0x58be3f(0xc9)](_0x443a89)||_0x443a89<=0x0||!_0x3ddf12['trim']()){const _0x25880c=menuError('menu_create_response_invalid',_0x58be3f(0xba),'Run\x20'+_0x31887c+_0x58be3f(0x107));throw externalLinkCreateFailure(_0x25880c,_0x44bbc8,{'stage':'create-response-validation','succeeded':Number[_0x58be3f(0xc9)](_0x443a89)&&_0x443a89>0x0?[{'id':_0x443a89,'created':!![]}]:[],'failed':{'createdId':Number[_0x58be3f(0xc9)](_0x443a89)?_0x443a89:null,'generatedPathConfirmed':Boolean(_0x3ddf12[_0x58be3f(0x126)]())},'warnings':['The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.'],'after':Number[_0x58be3f(0xc9)](_0x443a89)&&_0x443a89>0x0?{..._0x42f265,'id':_0x443a89,'path':_0x3ddf12}:_0x42f265,'verification':{'status':_0x58be3f(0xd7),'lookupCommand':_0x31887c,...Number['isSafeInteger'](_0x443a89)&&_0x443a89>0x0?{'targetId':_0x443a89}:{}}});}const _0x5531f4=await readAndVerifyCreatedMenu({'appCode':_0x33b394[_0x58be3f(0x122)],'cookie':_0x33b394[_0x58be3f(0xfb)],'plan':_0x44bbc8,'afterPlan':_0x42f265,'createdId':_0x443a89,'expectedPath':_0x3ddf12,'lookupCommand':_0x31887c,'recovered':![]});return creationSuccess(_0x44bbc8,_0x5531f4[_0x58be3f(0x12f)],_0x5531f4[_0x58be3f(0xdc)],![]);}};function validateAddInput(_0x30189c){const _0x1f76fc=a117_0x3ecd53;if(!_0x30189c[_0x1f76fc(0xe3)]('label')[_0x1f76fc(0x126)]())throw CliErrors[_0x1f76fc(0xf3)]('label');resolveExternalMenuType(_0x30189c),validateExternalMenuUrl(_0x30189c[_0x1f76fc(0xe3)](_0x1f76fc(0x118))),parseParentId(_0x30189c,_0x1f76fc(0x111)),validateSort(_0x30189c);}function resolveExternalMenuType(_0x2d9100){const _0x1fe056=a117_0x3ecd53,_0x362042=_0x2d9100['str'](_0x1fe056(0xc1))[_0x1fe056(0x126)]();if(!_0x362042)throw CliErrors[_0x1fe056(0xf3)](_0x1fe056(0xc1));const _0x19d0aa=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0x362042];if(!_0x19d0aa)throw menuError(_0x1fe056(0x133),_0x1fe056(0x10b),_0x1fe056(0xaf));return _0x19d0aa;}async function buildAddPlan(_0x199a6a,_0x3028d1){const _0x5a4d51=a117_0x3ecd53,_0x33d6b2=await fetchMutationSnapshot(_0x199a6a,_0x5a4d51(0xe2)),_0x472468=parseParentId(_0x199a6a,_0x5a4d51(0x111))??null;if(_0x472468!=null)requireFolder(_0x33d6b2,_0x472468);const _0x3b3875=validateSort(_0x199a6a),_0x32d59b=_0x3b3875??nextSiblingSort(_0x33d6b2,_0x472468,_0x5a4d51(0xd4)),_0x1b500f=_0x199a6a[_0x5a4d51(0xe3)](_0x5a4d51(0x12c))[_0x5a4d51(0x126)](),_0x3e9a9a=resolveExternalMenuType(_0x199a6a),_0xad5334=validateExternalMenuUrl(_0x199a6a[_0x5a4d51(0xe3)]('url')),_0x1c5bc5=Object['prototype'][_0x5a4d51(0x139)][_0x5a4d51(0x124)](_0x199a6a[_0x5a4d51(0xbf)],_0x5a4d51(0x119))?_0x199a6a[_0x5a4d51(0xf2)](_0x5a4d51(0x119)):!![],_0x1798a8={'id':null,'parentId':_0x472468,'label':_0x1b500f,'path':_0x5a4d51(0xd2),'url':_0xad5334,'type':_0x3e9a9a,'visible':_0x1c5bc5,'sort':_0x32d59b},_0x18c8e0=buildMenuLookupCommand(_0x199a6a[_0x5a4d51(0x122)]),_0x502627=mutationResult({'operation':_0x5a4d51(0xce),'selector':{'parentId':_0x472468,'type':_0x3e9a9a,'label':_0x1b500f,'url':_0xad5334},'before':null,'after':_0x1798a8,'dryRun':_0x3028d1,'backend':[{'method':_0x5a4d51(0xb8),'path':_0x5a4d51(0x130)}],'plannedActions':[{'stage':_0x5a4d51(0x132),'method':_0x5a4d51(0xb8),'path':_0x5a4d51(0x130),'body':createBody(_0x1798a8)}],'snapshotHash':_0x33d6b2[_0x5a4d51(0xbe)],'warnings':[_0x5a4d51(0xdd)],'verification':{'lookupCommand':_0x18c8e0}});return{'plan':_0x502627,'snapshot':_0x33d6b2};}async function buildSafeAddPlan(_0x1be1f9,_0x314949){try{return await buildAddPlan(_0x1be1f9,_0x314949);}catch(_0x234e72){throw safeMenuAddError(_0x234e72);}}async function recheckAddSnapshot(_0x1d6178,_0xb1ad3d){const _0x2f3c99=a117_0x3ecd53;try{await recheckMutationSnapshot(_0x1d6178,_0xb1ad3d,_0x2f3c99(0xe2));}catch(_0xeeddcb){const _0x3e6d11=getFailureRecord(_0xeeddcb);throw externalLinkCreateFailure(_0xeeddcb,_0xb1ad3d,{'stage':_0x2f3c99(0xc3),'failed':{..._0x3e6d11?.[_0x2f3c99(0x138)]?{'expectedSnapshotHash':_0x3e6d11[_0x2f3c99(0x138)]}:{},..._0x3e6d11?.[_0x2f3c99(0x128)]?{'currentSnapshotHash':_0x3e6d11[_0x2f3c99(0x128)]}:{}}});}}function createBody(_0x23519b){const _0x5c6048=a117_0x3ecd53;return{'parentId':toApiParentId(_0x23519b[_0x5c6048(0x106)]),'label':String(_0x23519b[_0x5c6048(0x12c)]),'type':String(_0x23519b[_0x5c6048(0x113)]),'url':String(_0x23519b[_0x5c6048(0x118)]),'visible':Boolean(_0x23519b[_0x5c6048(0x119)]),'sort':Number(_0x23519b[_0x5c6048(0x121)]),'extend':{}};}function buildMenuLookupCommand(_0x179fb5){const _0x47940f=a117_0x3ecd53,_0x2fc2e4='\x27'+_0x179fb5['replace'](/'/g,_0x47940f(0x13e))+'\x27';return _0x47940f(0x108)+_0x2fc2e4+'\x20--format\x20compress';}async function recoverAfterResponseLoss(_0x5b80dc,_0x40120c,_0x7ce69b){const _0x2da4af=a117_0x3ecd53,{plan:_0x5f2af4,snapshot:_0x3a3942}=_0x40120c,_0x588bc3=_0x5f2af4[_0x2da4af(0xe5)];let _0x2e0f50;try{_0x2e0f50=await fetchMenuSnapshot(_0x5b80dc[_0x2da4af(0x122)],_0x5b80dc[_0x2da4af(0xfb)]);}catch(_0x15382e){throw recoveryRequiredFailure(_0x5f2af4,_0x7ce69b,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0x1cc4f9=_0x2e0f50['menus'][_0x2da4af(0xbc)](_0x23b7b2=>_0x23b7b2['parentId']===_0x588bc3[_0x2da4af(0x106)]&&_0x23b7b2[_0x2da4af(0x113)]===_0x588bc3['type']&&_0x23b7b2['label']===_0x588bc3[_0x2da4af(0x12c)]&&_0x23b7b2['url']===_0x588bc3[_0x2da4af(0x118)]),_0x36af3c=_0x1cc4f9[_0x2da4af(0xbc)](_0x4143fa=>!_0x3a3942[_0x2da4af(0xed)][_0x2da4af(0x114)](_0x4143fa['id'])),_0x51fcd9=_0x1cc4f9[_0x2da4af(0xbc)](_0x41e208=>_0x3a3942[_0x2da4af(0xed)]['has'](_0x41e208['id']));if(_0x1cc4f9[_0x2da4af(0x11a)]!==0x1||_0x36af3c[_0x2da4af(0x11a)]!==0x1)throw recoveryRequiredFailure(_0x5f2af4,_0x7ce69b,{'matchCount':_0x1cc4f9['length'],'newMatchCount':_0x36af3c[_0x2da4af(0x11a)],'preexistingMatchCount':_0x51fcd9[_0x2da4af(0x11a)]});const _0x3bdd17=_0x36af3c[0x0];try{verifyCreatedFact(_0x3bdd17,_0x3bdd17['id'],_0x588bc3,null);}catch(_0x30175c){const _0x7ce071=_0x30175c instanceof Error&&_0x2da4af(0x102)in _0x30175c?_0x30175c:menuError(_0x2da4af(0x13c),_0x2da4af(0x103)+_0x3bdd17['id']+_0x2da4af(0xf5),_0x2da4af(0x11b)+_0x7ce69b+'\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.');throw externalLinkCreateFailure(_0x7ce071,_0x5f2af4,{'stage':'verification','succeeded':[{'id':_0x3bdd17['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0x3bdd17['id'],'finalFactsConfirmed':![]},'after':_0x3bdd17,'warnings':[_0x2da4af(0xee)+_0x3bdd17['id']+_0x2da4af(0xfe)],'verification':{'status':_0x2da4af(0xd7),'targetId':_0x3bdd17['id'],'recovered':!![],'lookupCommand':_0x7ce69b}});}return creationSuccess(_0x5f2af4,_0x2e0f50,_0x3bdd17,!![]);}function recoveryRequiredFailure(_0x34ac5c,_0xb332e2,_0x5a98c6){const _0x18568c=a117_0x3ecd53,_0x38ec09=menuError(_0x18568c(0x104),_0x18568c(0xec),'Run\x20'+_0xb332e2+'\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.');return externalLinkCreateFailure(_0x38ec09,_0x34ac5c,{'stage':'create-recovery','failed':_0x5a98c6,'warnings':[_0x18568c(0xae)],'verification':{'status':_0x18568c(0xd7),..._0x5a98c6,'lookupCommand':_0xb332e2}});}async function readAndVerifyCreatedMenu(_0x56358d){const _0x5ed5e2=a117_0x3ecd53;let _0x140a2f;try{_0x140a2f=await fetchMenuSnapshot(_0x56358d[_0x5ed5e2(0x122)],_0x56358d[_0x5ed5e2(0xfb)]);}catch(_0x2cd567){const _0x28bd69=menuError(_0x5ed5e2(0x13c),_0x5ed5e2(0xee)+_0x56358d[_0x5ed5e2(0x13a)]+_0x5ed5e2(0xe1),_0x5ed5e2(0x11b)+_0x56358d[_0x5ed5e2(0xcb)]+_0x5ed5e2(0xca));throw externalLinkCreateFailure(_0x28bd69,_0x56358d[_0x5ed5e2(0xf9)],{'stage':_0x5ed5e2(0xd1),'succeeded':[{'id':_0x56358d[_0x5ed5e2(0x13a)],'created':!![]}],'failed':{'id':_0x56358d[_0x5ed5e2(0x13a)],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0x56358d['afterPlan'],'id':_0x56358d[_0x5ed5e2(0x13a)],'path':_0x56358d[_0x5ed5e2(0x10f)]},'warnings':[_0x5ed5e2(0xee)+_0x56358d[_0x5ed5e2(0x13a)]+_0x5ed5e2(0x10a)],'verification':{'status':'failed','targetId':_0x56358d[_0x5ed5e2(0x13a)],'lookupCommand':_0x56358d[_0x5ed5e2(0xcb)]}});}const _0xe4c62c=_0x140a2f[_0x5ed5e2(0xed)][_0x5ed5e2(0x10d)](_0x56358d['createdId']);try{if(!_0xe4c62c)throw menuError(_0x5ed5e2(0x13c),_0x5ed5e2(0xf6)+_0x56358d['createdId']+'\x20is\x20missing\x20from\x20final\x20menu\x20facts.',_0x5ed5e2(0x11b)+_0x56358d[_0x5ed5e2(0xcb)]+'\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.');verifyCreatedFact(_0xe4c62c,_0x56358d[_0x5ed5e2(0x13a)],_0x56358d[_0x5ed5e2(0x125)],_0x56358d[_0x5ed5e2(0x10f)]);}catch(_0x12adc8){const _0xb92d74=_0x12adc8 instanceof Error&&_0x5ed5e2(0x102)in _0x12adc8?_0x12adc8:menuError(_0x5ed5e2(0x13c),_0x5ed5e2(0xf6)+_0x56358d[_0x5ed5e2(0x13a)]+_0x5ed5e2(0x13d),'Run\x20'+_0x56358d[_0x5ed5e2(0xcb)]+_0x5ed5e2(0xca));throw externalLinkCreateFailure(_0xb92d74,_0x56358d[_0x5ed5e2(0xf9)],{'stage':_0x5ed5e2(0xd1),'succeeded':[{'id':_0x56358d[_0x5ed5e2(0x13a)],'created':!![]}],'failed':{'id':_0x56358d[_0x5ed5e2(0x13a)],'finalFactsConfirmed':![]},'after':_0xe4c62c??{..._0x56358d[_0x5ed5e2(0x125)],'id':_0x56358d[_0x5ed5e2(0x13a)],'path':_0x56358d['expectedPath']},'warnings':[_0x5ed5e2(0xee)+_0x56358d[_0x5ed5e2(0x13a)]+_0x5ed5e2(0xcc)],'verification':{'status':_0x5ed5e2(0xd7),'targetId':_0x56358d[_0x5ed5e2(0x13a)],'recovered':_0x56358d[_0x5ed5e2(0xc4)],'lookupCommand':_0x56358d[_0x5ed5e2(0xcb)]}});}return{'snapshot':_0x140a2f,'fact':_0xe4c62c};}function verifyCreatedFact(_0x12bf45,_0x463a07,_0x4ba363,_0x11a4ec){const _0x13d465=a117_0x3ecd53;if(!Number[_0x13d465(0xc9)](_0x12bf45['id'])||_0x12bf45['id']<=0x0||_0x12bf45['id']!==_0x463a07)throw menuError(_0x13d465(0x13c),_0x13d465(0xeb),_0x13d465(0x123));const _0x454548=[[_0x13d465(0xfa),_0x12bf45['parentId'],_0x4ba363[_0x13d465(0x106)]],[_0x13d465(0x113),_0x12bf45['type'],_0x4ba363[_0x13d465(0x113)]],['label',_0x12bf45['label'],_0x4ba363[_0x13d465(0x12c)]],[_0x13d465(0xbb),_0x12bf45[_0x13d465(0x118)],_0x4ba363[_0x13d465(0x118)]],[_0x13d465(0xcd),_0x12bf45[_0x13d465(0x119)],_0x4ba363[_0x13d465(0x119)]],[_0x13d465(0x121),_0x12bf45[_0x13d465(0x121)],_0x4ba363['sort']]];for(const [_0xcd0529,_0x32a0a7,_0x553571]of _0x454548){if(_0x32a0a7!==_0x553571)throw menuError(_0x13d465(0x13c),_0x13d465(0xf6)+_0x12bf45['id']+_0x13d465(0xf0)+_0xcd0529+'.',_0x13d465(0xda));}if(!_0x12bf45[_0x13d465(0xc7)][_0x13d465(0x126)]()||_0x11a4ec!==null&&_0x12bf45[_0x13d465(0xc7)]!==_0x11a4ec)throw menuError(_0x13d465(0x13c),_0x13d465(0xf6)+_0x12bf45['id']+_0x13d465(0x100),_0x13d465(0xda));}function creationSuccess(_0x4b91da,_0x16b9a9,_0x182f70,_0xc57134){const _0x1a2582=a117_0x3ecd53,_0x1c166e=mutationResult({..._0x4b91da,'after':_0x182f70,'dryRun':![],'succeeded':[{'id':_0x182f70['id'],'created':!![],'recovered':_0xc57134}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x16b9a9[_0x1a2582(0xbe)],'targetId':_0x182f70['id'],'recovered':_0xc57134,'path':_0x182f70[_0x1a2582(0xc7)]}});return{'ok':!![],'message':_0xc57134?'Recovered\x20created\x20external\x20menu\x20'+_0x182f70['id']+'\x20after\x20response\x20loss.':'Created\x20external\x20menu\x20'+_0x182f70['id']+'.','data':{..._0x1c166e,'recovered':_0xc57134}};}function externalLinkCreateFailure(_0x5877d2,_0x1b597a,_0x54ceea){const _0x348798=a117_0x3ecd53;return menuFailure(safeMenuAddError(_0x5877d2),redactFailurePlan(_0x1b597a),{..._0x54ceea,'succeeded':_0x54ceea[_0x348798(0xb3)]?.[_0x348798(0x127)](redactFailureRecord),'failed':_0x54ceea[_0x348798(0xd7)]?redactFailureRecord(_0x54ceea[_0x348798(0xd7)]):undefined,'verification':_0x54ceea[_0x348798(0xd1)]?redactFailureRecord(_0x54ceea['verification']):undefined,'after':_0x54ceea[_0x348798(0xe5)]===undefined?undefined:redactFailureValue(_0x54ceea[_0x348798(0xe5)])});}function redactFailurePlan(_0xb2519e){const _0x2d26c9=a117_0x3ecd53;return{..._0xb2519e,'selector':redactFailureRecord(_0xb2519e[_0x2d26c9(0xb7)]),'before':redactFailureValue(_0xb2519e[_0x2d26c9(0xe0)]),'after':redactFailureValue(_0xb2519e[_0x2d26c9(0xe5)]),'plannedActions':_0xb2519e[_0x2d26c9(0xd5)]?.[_0x2d26c9(0x127)](_0x3e5c2e=>({..._0x3e5c2e,'body':redactFailureRecord(_0x3e5c2e[_0x2d26c9(0xea)])})),'succeeded':_0xb2519e['succeeded'][_0x2d26c9(0x127)](redactFailureRecord),'failed':_0xb2519e[_0x2d26c9(0xd7)][_0x2d26c9(0x127)](redactFailureRecord),'verification':_0xb2519e[_0x2d26c9(0xd1)]?redactFailureRecord(_0xb2519e[_0x2d26c9(0xd1)]):undefined};}function redactFailureRecord(_0x1d27f2){return redactFailureValue(_0x1d27f2);}function redactFailureValue(_0x1b662e,_0x44df3c=''){const _0x1dcb72=a117_0x3ecd53,_0x6ec1f9=_0x44df3c[_0x1dcb72(0xf7)]()[_0x1dcb72(0x13b)](/[^a-z0-9]/g,'');if(['cause','causemessage',_0x1dcb72(0x101),'rawerror'][_0x1dcb72(0xf4)](_0x6ec1f9))return _0x1dcb72(0xc8);if(Array[_0x1dcb72(0x11d)](_0x1b662e))return _0x1b662e[_0x1dcb72(0x127)](_0x2ccf49=>redactFailureValue(_0x2ccf49));if(_0x1b662e&&typeof _0x1b662e===_0x1dcb72(0xe4))return Object[_0x1dcb72(0xc2)](Object['entries'](_0x1b662e)[_0x1dcb72(0x127)](([_0x522594,_0x12255e])=>[_0x522594,redactFailureValue(_0x12255e,_0x522594)]));return _0x1b662e;}function safeMenuAddError(_0x449429){const _0x66e569=a117_0x3ecd53,_0xd0222e=_0x449429 instanceof CliError?_0x449429['code']:_0x66e569(0xf1);switch(_0xd0222e){case _0x66e569(0x137):return menuError(_0xd0222e,'Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.',_0x66e569(0xfd));case _0x66e569(0xb4):return menuError(_0xd0222e,_0x66e569(0xde),_0x66e569(0xb0));case _0x66e569(0x112):return menuError(_0xd0222e,_0x66e569(0xbd),_0x66e569(0xb1));case _0x66e569(0x13c):return menuError(_0xd0222e,_0x66e569(0xe7),'Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.');case'menu_create_recovery_required':return menuError(_0xd0222e,'The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.',_0x66e569(0xe9));case _0x66e569(0xf1):case'menu_not_found':case _0x66e569(0x11f):case _0x66e569(0x120):case _0x66e569(0x11c):return menuError(_0xd0222e,_0x66e569(0xd3),_0x66e569(0x12a));default:return menuError(_0x66e569(0xf1),_0x66e569(0xd3),_0x66e569(0x12a));}}function getFailureRecord(_0x1c502c){const _0x149315=a117_0x3ecd53;if(!(_0x1c502c instanceof Error)||!(_0x149315(0xff)in _0x1c502c))return undefined;const _0x1d3906=_0x1c502c[_0x149315(0xff)];if(!_0x1d3906||typeof _0x1d3906!=='object')return undefined;const _0x83b5b8=_0x1d3906['failed'];if(!Array['isArray'](_0x83b5b8)||!_0x83b5b8[0x0]||typeof _0x83b5b8[0x0]!=='object')return undefined;return _0x83b5b8[0x0];}
|
|
1
|
+
const a117_0x50e10b=a117_0x2858;(function(_0x27b758,_0x2b9bed){const _0x15a8ec=a117_0x2858,_0x308c8c=_0x27b758();while(!![]){try{const _0x580c00=parseInt(_0x15a8ec(0x264))/0x1*(-parseInt(_0x15a8ec(0x1e8))/0x2)+-parseInt(_0x15a8ec(0x236))/0x3*(-parseInt(_0x15a8ec(0x24a))/0x4)+-parseInt(_0x15a8ec(0x233))/0x5*(-parseInt(_0x15a8ec(0x254))/0x6)+-parseInt(_0x15a8ec(0x216))/0x7*(-parseInt(_0x15a8ec(0x246))/0x8)+-parseInt(_0x15a8ec(0x1e9))/0x9*(parseInt(_0x15a8ec(0x250))/0xa)+-parseInt(_0x15a8ec(0x245))/0xb*(parseInt(_0x15a8ec(0x217))/0xc)+parseInt(_0x15a8ec(0x23a))/0xd;if(_0x580c00===_0x2b9bed)break;else _0x308c8c['push'](_0x308c8c['shift']());}catch(_0x484a3a){_0x308c8c['push'](_0x308c8c['shift']());}}}(a117_0x4a44,0x53c8b));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,fetchMutationSnapshot,menuDryRunResult,menuError,menuFailure,mapMenuApiError,isMenuResponseLoss,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliError,CliErrors}from'../../errors.js';const EXTERNAL_MENU_TYPES_BY_OPEN_MODE={'embedded':a117_0x50e10b(0x24b),'new-window':'link'};export function validateExternalMenuUrl(_0x428419){const _0x468f6f=a117_0x50e10b,_0x4ab428=_0x428419[_0x468f6f(0x223)]();let _0x5395b4;try{_0x5395b4=new URL(_0x4ab428);}catch{throw menuError(_0x468f6f(0x249),_0x468f6f(0x207),_0x468f6f(0x221));}if(_0x5395b4[_0x468f6f(0x243)]!==_0x468f6f(0x1df))throw menuError(_0x468f6f(0x201),_0x468f6f(0x25d),_0x468f6f(0x260));if(_0x5395b4['username']||_0x5395b4[_0x468f6f(0x20e)])throw menuError('menu_url_credentials_forbidden','External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.','Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.');return _0x4ab428;}export const menuExternalLinkCreate={'service':a117_0x50e10b(0x21c),'command':a117_0x50e10b(0x1ee),'description':a117_0x50e10b(0x22b),'risk':'write','structuredErrors':!![],'flags':[{'name':a117_0x50e10b(0x257),'type':a117_0x50e10b(0x1ed),'required':!![],'description':a117_0x50e10b(0x1dd)},{'name':a117_0x50e10b(0x20f),'type':'string','required':!![],'enum':[a117_0x50e10b(0x25e),'new-window'],'description':'How\x20to\x20open\x20the\x20external\x20website'},{'name':a117_0x50e10b(0x1f2),'type':a117_0x50e10b(0x1ed),'required':!![],'description':a117_0x50e10b(0x1e1)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':a117_0x50e10b(0x1f3),'type':a117_0x50e10b(0x26e),'default':!![],'description':'Whether\x20the\x20menu\x20is\x20visible'},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x300c67){validateAddInput(_0x300c67);},async 'dryRun'(_0x2f662a){const _0x1b76e9=a117_0x50e10b;validateAddInput(_0x2f662a);const {plan:_0x35fc54}=await buildSafeAddPlan(_0x2f662a,!![]),_0x3e88f7=_0x35fc54[_0x1b76e9(0x26c)],_0x4120f5=createBody(_0x3e88f7);return menuDryRunResult(_0x35fc54,{'method':_0x1b76e9(0x256),'url':'/smartapi/menu/create','body':_0x4120f5,'description':_0x1b76e9(0x20b)+JSON[_0x1b76e9(0x24d)](_0x3e88f7[_0x1b76e9(0x257)])+'\x20with\x20'+_0x2f662a[_0x1b76e9(0x24f)]('open-mode')+_0x1b76e9(0x206)});},async 'execute'(_0x5bc277){const _0x229755=a117_0x50e10b;validateAddInput(_0x5bc277);const _0x5f4141=await buildSafeAddPlan(_0x5bc277,![]),{plan:_0x131ab8,snapshot:_0x6f1546}=_0x5f4141,_0x4be5b3=_0x131ab8[_0x229755(0x26c)],_0xfb069f=buildMenuLookupCommand(_0x5bc277[_0x229755(0x239)]);await recheckAddSnapshot(_0x5bc277,_0x131ab8);let _0x4e9491;try{_0x4e9491=await createMenuEntity(_0x5bc277[_0x229755(0x239)],_0x5bc277[_0x229755(0x242)],createBody(_0x4be5b3));}catch(_0x4088d7){const _0x1bad1c=mapMenuApiError(_0x4088d7,_0x229755(0x244));if(!isMenuResponseLoss(_0x4088d7)||_0x1bad1c['code']==='menu_permission_denied')throw externalLinkCreateFailure(_0x1bad1c,_0x131ab8,{'stage':'create','failed':{},'verification':{'status':'failed','lookupCommand':_0xfb069f}});return recoverAfterResponseLoss(_0x5bc277,_0x5f4141,_0xfb069f);}const _0x542bcc=Number(_0x4e9491?.['id']),_0x3ba2b0=typeof _0x4e9491?.[_0x229755(0x1e7)]===_0x229755(0x1ed)?_0x4e9491['path']:'';if(!Number[_0x229755(0x1f7)](_0x542bcc)||_0x542bcc<=0x0||!_0x3ba2b0[_0x229755(0x223)]()){const _0x469a76=menuError(_0x229755(0x1f1),_0x229755(0x21e),_0x229755(0x215)+_0xfb069f+_0x229755(0x1e5));throw externalLinkCreateFailure(_0x469a76,_0x131ab8,{'stage':_0x229755(0x259),'succeeded':Number[_0x229755(0x1f7)](_0x542bcc)&&_0x542bcc>0x0?[{'id':_0x542bcc,'created':!![]}]:[],'failed':{'createdId':Number[_0x229755(0x1f7)](_0x542bcc)?_0x542bcc:null,'generatedPathConfirmed':Boolean(_0x3ba2b0[_0x229755(0x223)]())},'warnings':[_0x229755(0x214)],'after':Number['isSafeInteger'](_0x542bcc)&&_0x542bcc>0x0?{..._0x4be5b3,'id':_0x542bcc,'path':_0x3ba2b0}:_0x4be5b3,'verification':{'status':_0x229755(0x21b),'lookupCommand':_0xfb069f,...Number[_0x229755(0x1f7)](_0x542bcc)&&_0x542bcc>0x0?{'targetId':_0x542bcc}:{}}});}const _0x632388=await readAndVerifyCreatedMenu({'appCode':_0x5bc277[_0x229755(0x239)],'cookie':_0x5bc277[_0x229755(0x242)],'plan':_0x131ab8,'afterPlan':_0x4be5b3,'createdId':_0x542bcc,'expectedPath':_0x3ba2b0,'lookupCommand':_0xfb069f,'recovered':![]});return creationSuccess(_0x131ab8,_0x632388[_0x229755(0x255)],_0x632388[_0x229755(0x1e3)],![]);}};function validateAddInput(_0x1a11ef){const _0x57a1a2=a117_0x50e10b;if(!_0x1a11ef[_0x57a1a2(0x24f)](_0x57a1a2(0x257))['trim']())throw CliErrors['flagMissing'](_0x57a1a2(0x257));resolveExternalMenuType(_0x1a11ef),validateExternalMenuUrl(_0x1a11ef[_0x57a1a2(0x24f)](_0x57a1a2(0x1f2))),parseParentId(_0x1a11ef,_0x57a1a2(0x1f0)),validateSort(_0x1a11ef);}function resolveExternalMenuType(_0x7712a5){const _0x864bd8=a117_0x50e10b,_0x34c031=_0x7712a5[_0x864bd8(0x24f)]('open-mode')['trim']();if(!_0x34c031)throw CliErrors[_0x864bd8(0x210)](_0x864bd8(0x20f));const _0x426ba8=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0x34c031];if(!_0x426ba8)throw menuError('menu_open_mode_invalid',_0x864bd8(0x1fb),_0x864bd8(0x22f));return _0x426ba8;}async function buildAddPlan(_0x40b5c3,_0x1e5dab){const _0x531e67=a117_0x50e10b,_0x54d1c1=await fetchMutationSnapshot(_0x40b5c3,_0x531e67(0x244)),_0x3a61fc=parseParentId(_0x40b5c3,_0x531e67(0x1f0))??null;if(_0x3a61fc!=null)requireFolder(_0x54d1c1,_0x3a61fc);const _0x5d73d5=validateSort(_0x40b5c3),_0x373b77=_0x5d73d5??nextSiblingSort(_0x54d1c1,_0x3a61fc,_0x531e67(0x21c)),_0x1bee78=_0x40b5c3[_0x531e67(0x24f)]('label')['trim'](),_0x4b3284=resolveExternalMenuType(_0x40b5c3),_0x13bcc9=validateExternalMenuUrl(_0x40b5c3[_0x531e67(0x24f)](_0x531e67(0x1f2))),_0x89776f=Object[_0x531e67(0x1ec)][_0x531e67(0x251)][_0x531e67(0x240)](_0x40b5c3[_0x531e67(0x25b)],_0x531e67(0x1f3))?_0x40b5c3[_0x531e67(0x1e0)](_0x531e67(0x1f3)):!![],_0x51eeae={'id':null,'parentId':_0x3a61fc,'label':_0x1bee78,'path':_0x531e67(0x253),'url':_0x13bcc9,'type':_0x4b3284,'visible':_0x89776f,'sort':_0x373b77},_0xc1f0b4=buildMenuLookupCommand(_0x40b5c3['appCode']),_0xe9c8d5=mutationResult({'operation':_0x531e67(0x222),'selector':{'parentId':_0x3a61fc,'type':_0x4b3284,'label':_0x1bee78,'url':_0x13bcc9},'before':null,'after':_0x51eeae,'dryRun':_0x1e5dab,'backend':[{'method':'POST','path':_0x531e67(0x230)}],'plannedActions':[{'stage':_0x531e67(0x252),'method':_0x531e67(0x256),'path':_0x531e67(0x230),'body':createBody(_0x51eeae)}],'snapshotHash':_0x54d1c1[_0x531e67(0x200)],'warnings':[_0x531e67(0x232)],'verification':{'lookupCommand':_0xc1f0b4}});return{'plan':_0xe9c8d5,'snapshot':_0x54d1c1};}async function buildSafeAddPlan(_0x52c016,_0x1ba32a){try{return await buildAddPlan(_0x52c016,_0x1ba32a);}catch(_0x2a9c7f){throw safeMenuAddError(_0x2a9c7f);}}async function recheckAddSnapshot(_0x427e3a,_0x20d2b2){const _0x1bcbcc=a117_0x50e10b;try{await recheckMutationSnapshot(_0x427e3a,_0x20d2b2,_0x1bcbcc(0x244));}catch(_0x311eaf){const _0x562981=getFailureRecord(_0x311eaf);throw externalLinkCreateFailure(_0x311eaf,_0x20d2b2,{'stage':'pre-write-recheck','failed':{..._0x562981?.[_0x1bcbcc(0x25a)]?{'expectedSnapshotHash':_0x562981[_0x1bcbcc(0x25a)]}:{},..._0x562981?.[_0x1bcbcc(0x263)]?{'currentSnapshotHash':_0x562981[_0x1bcbcc(0x263)]}:{}}});}}function createBody(_0x46310b){const _0x1b587d=a117_0x50e10b;return{'parentId':toApiParentId(_0x46310b['parentId']),'label':String(_0x46310b[_0x1b587d(0x257)]),'type':String(_0x46310b[_0x1b587d(0x270)]),'url':String(_0x46310b['url']),'visible':Boolean(_0x46310b['visible']),'sort':Number(_0x46310b['sort']),'extend':{}};}function buildMenuLookupCommand(_0x2b4e94){const _0x5dc82e=a117_0x50e10b,_0x4d1d46='\x27'+_0x2b4e94[_0x5dc82e(0x226)](/'/g,'\x27\x5c\x27\x27')+'\x27';return'rabetbase\x20menu\x20list\x20--appcode\x20'+_0x4d1d46+_0x5dc82e(0x203);}async function recoverAfterResponseLoss(_0x285901,_0x5b19c4,_0x4d019e){const _0x4c5d40=a117_0x50e10b,{plan:_0x1d0da1,snapshot:_0x2ad48f}=_0x5b19c4,_0x2b770f=_0x1d0da1[_0x4c5d40(0x26c)];let _0x5bcb73;try{_0x5bcb73=await fetchMenuSnapshot(_0x285901[_0x4c5d40(0x239)],_0x285901[_0x4c5d40(0x242)]);}catch(_0x346630){throw recoveryRequiredFailure(_0x1d0da1,_0x4d019e,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0x550eea=_0x5bcb73[_0x4c5d40(0x267)][_0x4c5d40(0x204)](_0x2458aa=>_0x2458aa['parentId']===_0x2b770f['parentId']&&_0x2458aa[_0x4c5d40(0x270)]===_0x2b770f['type']&&_0x2458aa[_0x4c5d40(0x257)]===_0x2b770f[_0x4c5d40(0x257)]&&_0x2458aa['url']===_0x2b770f[_0x4c5d40(0x1f2)]),_0x4722c6=_0x550eea[_0x4c5d40(0x204)](_0x5d5787=>!_0x2ad48f['byId'][_0x4c5d40(0x1de)](_0x5d5787['id'])),_0x8b3253=_0x550eea['filter'](_0x3dce2b=>_0x2ad48f[_0x4c5d40(0x1eb)]['has'](_0x3dce2b['id']));if(_0x550eea[_0x4c5d40(0x218)]!==0x1||_0x4722c6[_0x4c5d40(0x218)]!==0x1)throw recoveryRequiredFailure(_0x1d0da1,_0x4d019e,{'matchCount':_0x550eea['length'],'newMatchCount':_0x4722c6[_0x4c5d40(0x218)],'preexistingMatchCount':_0x8b3253['length']});const _0x3fe868=_0x4722c6[0x0];try{verifyCreatedFact(_0x3fe868,_0x3fe868['id'],_0x2b770f,null);}catch(_0x266430){const _0x232a35=_0x266430 instanceof Error&&_0x4c5d40(0x1f9)in _0x266430?_0x266430:menuError(_0x4c5d40(0x1f5),'Recovered\x20menu\x20'+_0x3fe868['id']+_0x4c5d40(0x269),_0x4c5d40(0x215)+_0x4d019e+_0x4c5d40(0x22e));throw externalLinkCreateFailure(_0x232a35,_0x1d0da1,{'stage':_0x4c5d40(0x1f6),'succeeded':[{'id':_0x3fe868['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0x3fe868['id'],'finalFactsConfirmed':![]},'after':_0x3fe868,'warnings':['Menu\x20'+_0x3fe868['id']+_0x4c5d40(0x21d)],'verification':{'status':_0x4c5d40(0x21b),'targetId':_0x3fe868['id'],'recovered':!![],'lookupCommand':_0x4d019e}});}return creationSuccess(_0x1d0da1,_0x5bcb73,_0x3fe868,!![]);}function recoveryRequiredFailure(_0xb29046,_0x45adfc,_0x46a0b7){const _0x3d31e5=a117_0x50e10b,_0x5e24a6=menuError(_0x3d31e5(0x23f),_0x3d31e5(0x1fc),_0x3d31e5(0x215)+_0x45adfc+_0x3d31e5(0x235));return externalLinkCreateFailure(_0x5e24a6,_0xb29046,{'stage':'create-recovery','failed':_0x46a0b7,'warnings':[_0x3d31e5(0x208)],'verification':{'status':'failed',..._0x46a0b7,'lookupCommand':_0x45adfc}});}async function readAndVerifyCreatedMenu(_0x1280d5){const _0x3bb974=a117_0x50e10b;let _0x38cc75;try{_0x38cc75=await fetchMenuSnapshot(_0x1280d5[_0x3bb974(0x239)],_0x1280d5['cookie']);}catch(_0x55c9e0){const _0x34f62e=menuError(_0x3bb974(0x1f5),_0x3bb974(0x227)+_0x1280d5['createdId']+_0x3bb974(0x1fe),_0x3bb974(0x215)+_0x1280d5['lookupCommand']+'\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.');throw externalLinkCreateFailure(_0x34f62e,_0x1280d5['plan'],{'stage':_0x3bb974(0x1f6),'succeeded':[{'id':_0x1280d5['createdId'],'created':!![]}],'failed':{'id':_0x1280d5[_0x3bb974(0x26b)],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0x1280d5[_0x3bb974(0x1fa)],'id':_0x1280d5[_0x3bb974(0x26b)],'path':_0x1280d5[_0x3bb974(0x24c)]},'warnings':['Menu\x20'+_0x1280d5[_0x3bb974(0x26b)]+_0x3bb974(0x261)],'verification':{'status':_0x3bb974(0x21b),'targetId':_0x1280d5[_0x3bb974(0x26b)],'lookupCommand':_0x1280d5[_0x3bb974(0x234)]}});}const _0x539370=_0x38cc75[_0x3bb974(0x1eb)][_0x3bb974(0x1e4)](_0x1280d5[_0x3bb974(0x26b)]);try{if(!_0x539370)throw menuError('menu_verification_failed',_0x3bb974(0x1ef)+_0x1280d5[_0x3bb974(0x26b)]+_0x3bb974(0x247),'Run\x20'+_0x1280d5[_0x3bb974(0x234)]+_0x3bb974(0x262));verifyCreatedFact(_0x539370,_0x1280d5['createdId'],_0x1280d5[_0x3bb974(0x1fa)],_0x1280d5['expectedPath']);}catch(_0xf933f3){const _0x4062f1=_0xf933f3 instanceof Error&&_0x3bb974(0x1f9)in _0xf933f3?_0xf933f3:menuError(_0x3bb974(0x1f5),_0x3bb974(0x1ef)+_0x1280d5[_0x3bb974(0x26b)]+_0x3bb974(0x237),'Run\x20'+_0x1280d5['lookupCommand']+_0x3bb974(0x262));throw externalLinkCreateFailure(_0x4062f1,_0x1280d5[_0x3bb974(0x229)],{'stage':'verification','succeeded':[{'id':_0x1280d5[_0x3bb974(0x26b)],'created':!![]}],'failed':{'id':_0x1280d5['createdId'],'finalFactsConfirmed':![]},'after':_0x539370??{..._0x1280d5[_0x3bb974(0x1fa)],'id':_0x1280d5[_0x3bb974(0x26b)],'path':_0x1280d5[_0x3bb974(0x24c)]},'warnings':[_0x3bb974(0x227)+_0x1280d5[_0x3bb974(0x26b)]+_0x3bb974(0x20c)],'verification':{'status':'failed','targetId':_0x1280d5[_0x3bb974(0x26b)],'recovered':_0x1280d5[_0x3bb974(0x231)],'lookupCommand':_0x1280d5[_0x3bb974(0x234)]}});}return{'snapshot':_0x38cc75,'fact':_0x539370};}function verifyCreatedFact(_0x6d79fd,_0x5b552e,_0x4af9be,_0x456c34){const _0x5892da=a117_0x50e10b;if(!Number['isSafeInteger'](_0x6d79fd['id'])||_0x6d79fd['id']<=0x0||_0x6d79fd['id']!==_0x5b552e)throw menuError(_0x5892da(0x1f5),_0x5892da(0x21a),_0x5892da(0x205));const _0x54f0fe=[[_0x5892da(0x211),_0x6d79fd[_0x5892da(0x1ff)],_0x4af9be[_0x5892da(0x1ff)]],[_0x5892da(0x270),_0x6d79fd[_0x5892da(0x270)],_0x4af9be[_0x5892da(0x270)]],['label',_0x6d79fd['label'],_0x4af9be[_0x5892da(0x257)]],[_0x5892da(0x26a),_0x6d79fd['url'],_0x4af9be[_0x5892da(0x1f2)]],[_0x5892da(0x241),_0x6d79fd[_0x5892da(0x1f3)],_0x4af9be[_0x5892da(0x1f3)]],['sort',_0x6d79fd['sort'],_0x4af9be['sort']]];for(const [_0x307665,_0x5b22a3,_0x18a01f]of _0x54f0fe){if(_0x5b22a3!==_0x18a01f)throw menuError(_0x5892da(0x1f5),'Created\x20menu\x20'+_0x6d79fd['id']+_0x5892da(0x212)+_0x307665+'.',_0x5892da(0x209));}if(!_0x6d79fd[_0x5892da(0x1e7)]['trim']()||_0x456c34!==null&&_0x6d79fd['path']!==_0x456c34)throw menuError(_0x5892da(0x1f5),_0x5892da(0x1ef)+_0x6d79fd['id']+_0x5892da(0x265),_0x5892da(0x209));}function creationSuccess(_0x43bc84,_0x477396,_0x4b6b8b,_0x1ba021){const _0x16b3b8=a117_0x50e10b,_0x9b4ed4=mutationResult({..._0x43bc84,'after':_0x4b6b8b,'dryRun':![],'succeeded':[{'id':_0x4b6b8b['id'],'created':!![],'recovered':_0x1ba021}],'verification':{'checkedBy':_0x16b3b8(0x219),'snapshotHash':_0x477396['hash'],'targetId':_0x4b6b8b['id'],'recovered':_0x1ba021,'path':_0x4b6b8b[_0x16b3b8(0x1e7)]}});return{'ok':!![],'message':_0x1ba021?'Recovered\x20created\x20external\x20menu\x20'+_0x4b6b8b['id']+'\x20after\x20response\x20loss.':_0x16b3b8(0x225)+_0x4b6b8b['id']+'.','data':{..._0x9b4ed4,'recovered':_0x1ba021}};}function externalLinkCreateFailure(_0x599e22,_0x44f899,_0x5409cb){const _0x378839=a117_0x50e10b;return menuFailure(safeMenuAddError(_0x599e22),redactFailurePlan(_0x44f899),{..._0x5409cb,'succeeded':_0x5409cb[_0x378839(0x202)]?.['map'](redactFailureRecord),'failed':_0x5409cb[_0x378839(0x21b)]?redactFailureRecord(_0x5409cb[_0x378839(0x21b)]):undefined,'verification':_0x5409cb['verification']?redactFailureRecord(_0x5409cb[_0x378839(0x1f6)]):undefined,'after':_0x5409cb[_0x378839(0x26c)]===undefined?undefined:redactFailureValue(_0x5409cb['after'])});}function a117_0x4a44(){const _0x8ab3e7=['prototype','string','external-link-create','Created\x20menu\x20','parent-id','menu_create_response_invalid','url','visible','map','menu_verification_failed','verification','isSafeInteger','causemessage','code','afterPlan','--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.','The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.','Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.','\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.','parentId','hash','menu_url_https_required','succeeded','\x20--format\x20compress','filter','Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.','\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.','External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.','The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.','isArray','Would\x20create\x20external\x20website\x20link\x20menu\x20','\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.','selector','password','open-mode','flagMissing','parent','\x20has\x20an\x20unexpected\x20','plannedActions','The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.','Run\x20','209636gauPIS','12KmzVxC','length','menu\x20list','Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.','failed','menu','\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.','includes','menu_state_drift','Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.','add','trim','before','Created\x20external\x20menu\x20','replace','Menu\x20','toLowerCase','plan','entries','Create\x20an\x20external\x20website\x20link\x20menu','External\x20menu\x20creation\x20failed.','Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.','\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.','Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.','/smartapi/menu/create','recovered','The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','15ftOGdt','lookupCommand','\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.','164748OQNJLJ','\x20failed\x20final\x20verification.','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.','appCode','9986795FzNofI','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.','The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.','data','readbackerror','menu_create_recovery_required','call','visibility','cookie','protocol','create\x20external\x20menu','5368231OpFrMQ','64VQDFOP','\x20is\x20missing\x20from\x20final\x20menu\x20facts.','cause','menu_url_invalid','12xcSRnc','iframe','expectedPath','stringify','menu_sort_overflow','str','389290nluusL','hasOwnProperty','create-menu','<platform-generated>','1221774wpZAAy','snapshot','POST','label','body','create-response-validation','expectedSnapshotHash','rawFlags','menu_sort_invalid','External\x20menu\x20URL\x20must\x20use\x20HTTPS.','embedded','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.','Provide\x20an\x20HTTPS\x20URL.','\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.','\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.','currentSnapshotHash','601873fAyCmg','\x20has\x20an\x20unexpected\x20generated\x20path.','Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.','menus','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.','\x20could\x20not\x20be\x20verified.','URL','createdId','after','Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.','boolean','<redacted>','type','menu_not_found','Menu\x20label','has','https:','bool','External\x20HTTPS\x20URL','menu_mutation_failed','fact','get','\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.','object','path','2RNYYIu','81HjVavl','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.','byId'];a117_0x4a44=function(){return _0x8ab3e7;};return a117_0x4a44();}function redactFailurePlan(_0x1c559e){const _0x473146=a117_0x50e10b;return{..._0x1c559e,'selector':redactFailureRecord(_0x1c559e[_0x473146(0x20d)]),'before':redactFailureValue(_0x1c559e[_0x473146(0x224)]),'after':redactFailureValue(_0x1c559e[_0x473146(0x26c)]),'plannedActions':_0x1c559e[_0x473146(0x213)]?.[_0x473146(0x1f4)](_0x5b07a7=>({..._0x5b07a7,'body':redactFailureRecord(_0x5b07a7[_0x473146(0x258)])})),'succeeded':_0x1c559e['succeeded'][_0x473146(0x1f4)](redactFailureRecord),'failed':_0x1c559e[_0x473146(0x21b)][_0x473146(0x1f4)](redactFailureRecord),'verification':_0x1c559e['verification']?redactFailureRecord(_0x1c559e[_0x473146(0x1f6)]):undefined};}function a117_0x2858(_0x1d6304,_0x12022){_0x1d6304=_0x1d6304-0x1dd;const _0x4a446d=a117_0x4a44();let _0x285896=_0x4a446d[_0x1d6304];return _0x285896;}function redactFailureRecord(_0x4a5fd2){return redactFailureValue(_0x4a5fd2);}function redactFailureValue(_0x2669ad,_0x211037=''){const _0x564e58=a117_0x50e10b,_0x1365fe=_0x211037[_0x564e58(0x228)]()[_0x564e58(0x226)](/[^a-z0-9]/g,'');if([_0x564e58(0x248),_0x564e58(0x1f8),_0x564e58(0x23e),'rawerror'][_0x564e58(0x21f)](_0x1365fe))return _0x564e58(0x26f);if(Array[_0x564e58(0x20a)](_0x2669ad))return _0x2669ad['map'](_0x365e76=>redactFailureValue(_0x365e76));if(_0x2669ad&&typeof _0x2669ad===_0x564e58(0x1e6))return Object['fromEntries'](Object[_0x564e58(0x22a)](_0x2669ad)[_0x564e58(0x1f4)](([_0x3f2c36,_0x5b6698])=>[_0x3f2c36,redactFailureValue(_0x5b6698,_0x3f2c36)]));return _0x2669ad;}function safeMenuAddError(_0x55cca2){const _0x401911=a117_0x50e10b,_0x191c92=_0x55cca2 instanceof CliError?_0x55cca2[_0x401911(0x1f9)]:_0x401911(0x1e2);switch(_0x191c92){case _0x401911(0x220):return menuError(_0x191c92,_0x401911(0x1fd),_0x401911(0x25f));case'menu_permission_denied':return menuError(_0x191c92,_0x401911(0x266),_0x401911(0x268));case _0x401911(0x1f1):return menuError(_0x191c92,_0x401911(0x22d),_0x401911(0x1ea));case _0x401911(0x1f5):return menuError(_0x191c92,_0x401911(0x26d),'Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.');case _0x401911(0x23f):return menuError(_0x191c92,_0x401911(0x23c),_0x401911(0x23b));case _0x401911(0x1e2):case _0x401911(0x271):case'menu_parent_not_folder':case _0x401911(0x25c):case _0x401911(0x24e):return menuError(_0x191c92,_0x401911(0x22c),_0x401911(0x238));default:return menuError(_0x401911(0x1e2),_0x401911(0x22c),_0x401911(0x238));}}function getFailureRecord(_0xe3a497){const _0xe6fe05=a117_0x50e10b;if(!(_0xe3a497 instanceof Error)||!('data'in _0xe3a497))return undefined;const _0x8c242c=_0xe3a497[_0xe6fe05(0x23d)];if(!_0x8c242c||typeof _0x8c242c!==_0xe6fe05(0x1e6))return undefined;const _0x49ace5=_0x8c242c[_0xe6fe05(0x21b)];if(!Array[_0xe6fe05(0x20a)](_0x49ace5)||!_0x49ace5[0x0]||typeof _0x49ace5[0x0]!==_0xe6fe05(0x1e6))return undefined;return _0x49ace5[0x0];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a118_0x4de305=a118_0x8cfa;(function(_0x411311,_0x517cc0){const _0x43e48c=a118_0x8cfa,_0x7fae70=_0x411311();while(!![]){try{const _0x1964fc=-parseInt(_0x43e48c(0x113))/0x1*(-parseInt(_0x43e48c(0x11b))/0x2)+-parseInt(_0x43e48c(0x12e))/0x3*(parseInt(_0x43e48c(0x14f))/0x4)+-parseInt(_0x43e48c(0x122))/0x5*(-parseInt(_0x43e48c(0x134))/0x6)+parseInt(_0x43e48c(0x120))/0x7*(-parseInt(_0x43e48c(0x155))/0x8)+parseInt(_0x43e48c(0x13a))/0x9+parseInt(_0x43e48c(0x127))/0xa+-parseInt(_0x43e48c(0x11e))/0xb;if(_0x1964fc===_0x517cc0)break;else _0x7fae70['push'](_0x7fae70['shift']());}catch(_0x338404){_0x7fae70['push'](_0x7fae70['shift']());}}}(a118_0x1dd8,0xc5c77));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{validateExternalMenuUrl}from'../../commands/menu/external-link-create.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_PARENT_ID_FLAG,MENU_ID_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,formatParent,hasFlag,isMenuResponseLoss,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,parseParentId,recheckMutationSnapshot,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a118_0x4de305(0x140),'path':a118_0x4de305(0x138)}];export const menuExternalLinkUpdate={'service':a118_0x4de305(0x11d),'command':a118_0x4de305(0x156),'description':'Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','risk':a118_0x4de305(0x128),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':a118_0x4de305(0x116),'type':'string','required':!![],'description':'New\x20external\x20HTTPS\x20URL'},{'name':a118_0x4de305(0x141),'type':a118_0x4de305(0x13f),'required':!![],'description':a118_0x4de305(0x14e)},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x175cf3){validateInput(_0x175cf3);},async 'dryRun'(_0x5207bd){const _0x3869eb=a118_0x4de305;validateInput(_0x5207bd);const _0x4ad3d0=await buildPlan(_0x5207bd,!![]);return menuDryRunResult(_0x4ad3d0[_0x3869eb(0x136)],{'method':_0x3869eb(0x140),'url':_0x3869eb(0x138),'body':_0x4ad3d0[_0x3869eb(0x132)],'description':'Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20'+_0x4ad3d0['body']['id']+'.'});},async 'execute'(_0x13bb42){const _0x2c6213=a118_0x4de305;validateInput(_0x13bb42);const _0x23e9a3=await buildPlan(_0x13bb42,![]),{plan:_0x44c158,body:_0x5d4c1e,before:_0x23d867,noChanges:_0x2486fd}=_0x23e9a3,_0x2035e1=_0x5d4c1e['id'];if(_0x2486fd)return updateSuccess(_0x44c158,_0x23e9a3['snapshot'],_0x23d867,!![],![]);await recheckMutationSnapshot(_0x13bb42,_0x44c158,'update\x20external\x20menu\x20URL',_0x2035e1);try{await updateMenuEntity(_0x13bb42[_0x2c6213(0x157)],_0x13bb42[_0x2c6213(0x151)],{'id':_0x5d4c1e['id'],'url':_0x5d4c1e[_0x2c6213(0x116)]});}catch(_0x13c3ba){const _0x286639=mapMenuApiError(_0x13c3ba,_0x2c6213(0x15c),_0x2035e1);if(isMenuResponseLoss(_0x13c3ba)&&_0x286639[_0x2c6213(0x160)]!==_0x2c6213(0x133))return recoverAfterResponseLoss(_0x13bb42,_0x23e9a3);throw menuFailure(_0x286639,_0x44c158,{'stage':_0x2c6213(0x15a),'failed':{'id':_0x2035e1},'warnings':[_0x2c6213(0x14a)],'verification':{'status':_0x2c6213(0x143),'targetId':_0x2035e1,'lookupCommand':buildLookupCommand(_0x13bb42[_0x2c6213(0x157)])}});}let _0x5f3612,_0x56029f;try{_0x5f3612=await fetchMenuSnapshot(_0x13bb42['appCode'],_0x13bb42['cookie']),_0x56029f=requireMenu(_0x5f3612,_0x2035e1),verifyUpdatedFact(_0x23d867,_0x56029f,_0x5d4c1e['url']);}catch(_0x3c85bf){const _0x28ca25=describeMenuErrorCause(_0x3c85bf,_0x2c6213(0x15f),_0x2035e1),_0x1863fd=asVerificationError(_0x3c85bf,_0x2c6213(0x115)+_0x2035e1+_0x2c6213(0x13c));throw menuFailure(_0x1863fd,_0x44c158,{'stage':_0x2c6213(0x131),'succeeded':[{'id':_0x2035e1,'updateRequested':!![]}],'failed':{'id':_0x2035e1,'requestedStateConfirmed':![],..._0x28ca25},'warnings':['The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':_0x2c6213(0x143),'targetId':_0x2035e1,'lookupCommand':buildLookupCommand(_0x13bb42[_0x2c6213(0x157)])}});}return updateSuccess(_0x44c158,_0x5f3612,_0x56029f,![],![]);}};function validateInput(_0x5308ab){const _0x4dd7fd=a118_0x4de305;validateExactId(_0x5308ab),requiredUrl(_0x5308ab,'url'),requiredExpectedUrl(_0x5308ab),parseParentId(_0x5308ab,_0x4dd7fd(0x121),{'required':!![]});}function requiredUrl(_0x2fe32d,_0x17af25){const _0x310172=a118_0x4de305;if(!hasFlag(_0x2fe32d,_0x17af25)||!_0x2fe32d[_0x310172(0x12a)](_0x17af25)[_0x310172(0x13d)]())throw CliErrors[_0x310172(0x139)](_0x17af25);return validateExternalMenuUrl(_0x2fe32d[_0x310172(0x12a)](_0x17af25));}function requiredExpectedUrl(_0x3fd572){const _0x42c81c=a118_0x4de305;if(!hasFlag(_0x3fd572,_0x42c81c(0x141))||!_0x3fd572[_0x42c81c(0x12a)](_0x42c81c(0x141))[_0x42c81c(0x13d)]())throw CliErrors[_0x42c81c(0x139)]('expect-url');return _0x3fd572[_0x42c81c(0x12a)](_0x42c81c(0x141))['trim']();}async function buildPlan(_0x4d00e2,_0x3d477b){const _0x4dc329=a118_0x4de305,_0x13987b=validateExactId(_0x4d00e2),_0x1724f5=requiredUrl(_0x4d00e2,_0x4dc329(0x116)),_0x548c87=requiredExpectedUrl(_0x4d00e2),_0x2af919=parseParentId(_0x4d00e2,_0x4dc329(0x121),{'required':!![]}),_0x654bd7=await fetchMutationSnapshot(_0x4d00e2,_0x4dc329(0x15c),_0x13987b),_0x185384=requireMenu(_0x654bd7,_0x13987b);assertExternalLinkLeaf(_0x185384);if(_0x185384[_0x4dc329(0x14b)]!==_0x2af919)throw menuError(_0x4dc329(0x146),_0x4dc329(0x145)+_0x13987b+_0x4dc329(0x119)+formatParent(_0x2af919)+_0x4dc329(0x144)+formatParent(_0x185384['parentId'])+'.',_0x4dc329(0x15b));const _0x333e72=_0x185384[_0x4dc329(0x116)]===_0x1724f5;if(!_0x333e72&&_0x185384[_0x4dc329(0x116)]!==_0x548c87)throw menuError(_0x4dc329(0x146),_0x4dc329(0x145)+_0x13987b+_0x4dc329(0x11f),_0x4dc329(0x11c));const _0x56f238={'id':_0x13987b,'appCode':_0x4d00e2[_0x4dc329(0x157)],'url':_0x1724f5},_0x539b31={..._0x185384,'url':_0x1724f5};return{'body':_0x56f238,'before':_0x185384,'noChanges':_0x333e72,'snapshot':_0x654bd7,'plan':mutationResult({'operation':_0x4dc329(0x156),'selector':{'id':_0x13987b},'before':_0x185384,'after':_0x539b31,'dryRun':_0x3d477b,'backend':[...BACKEND],'plannedActions':_0x333e72?[]:[{'stage':_0x4dc329(0x15e),'method':_0x4dc329(0x140),'path':_0x4dc329(0x138),'body':_0x56f238}],'snapshotHash':_0x654bd7[_0x4dc329(0x12f)],'warnings':_0x333e72?['The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.']:[]})};}function a118_0x8cfa(_0x10d022,_0x5a1dc1){_0x10d022=_0x10d022-0x112;const _0x1dd8ef=a118_0x1dd8();let _0x8cfa3c=_0x1dd8ef[_0x10d022];return _0x8cfa3c;}function assertExternalLinkLeaf(_0xbb860){const _0x3a1f0d=a118_0x4de305;if(_0xbb860[_0x3a1f0d(0x114)]!=='iframe'&&_0xbb860[_0x3a1f0d(0x114)]!==_0x3a1f0d(0x13b))throw menuError(_0x3a1f0d(0x112),_0x3a1f0d(0x145)+_0xbb860['id']+'\x20is\x20type\x20\x22'+(_0xbb860['type']||_0x3a1f0d(0x14c))+_0x3a1f0d(0x135),_0x3a1f0d(0x125));if(_0xbb860[_0x3a1f0d(0x12c)]!==0x0)throw menuError(_0x3a1f0d(0x149),'Menu\x20'+_0xbb860['id']+'\x20has\x20'+_0xbb860[_0x3a1f0d(0x12c)]+_0x3a1f0d(0x152),_0x3a1f0d(0x150));if(!_0xbb860['path'][_0x3a1f0d(0x13d)]())throw menuError(_0x3a1f0d(0x161),_0x3a1f0d(0x145)+_0xbb860['id']+'\x20has\x20an\x20empty\x20platform\x20path.','Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.');}function verifyUpdatedFact(_0x3f399e,_0x498ec4,_0x18d509){const _0x2ab2b2=a118_0x4de305;assertExternalLinkLeaf(_0x498ec4);const _0x31dbdf=[['id',_0x498ec4['id'],_0x3f399e['id']],[_0x2ab2b2(0x159),_0x498ec4[_0x2ab2b2(0x159)],_0x3f399e['label']],[_0x2ab2b2(0x114),_0x498ec4[_0x2ab2b2(0x114)],_0x3f399e['type']],[_0x2ab2b2(0x153),_0x498ec4['path'],_0x3f399e[_0x2ab2b2(0x153)]],[_0x2ab2b2(0x14b),_0x498ec4[_0x2ab2b2(0x14b)],_0x3f399e['parentId']],[_0x2ab2b2(0x11a),_0x498ec4['sort'],_0x3f399e[_0x2ab2b2(0x11a)]],[_0x2ab2b2(0x117),_0x498ec4[_0x2ab2b2(0x117)],_0x3f399e['visible']]];for(const [_0x85cdfe,_0x14be98,_0x3813fc]of _0x31dbdf){assertVerified(_0x14be98===_0x3813fc,_0x2ab2b2(0x145)+_0x3f399e['id']+'\x20'+_0x85cdfe+_0x2ab2b2(0x15d));}assertVerified(_0x498ec4[_0x2ab2b2(0x116)]===_0x18d509,'Menu\x20'+_0x3f399e['id']+_0x2ab2b2(0x137));}function updateSuccess(_0x5b7d83,_0x196b39,_0x1fedeb,_0x434ccc,_0x2e24e2){const _0x444284=a118_0x4de305,_0xcd94ac=_0x1fedeb['id'],_0x7670=mutationResult({..._0x5b7d83,'after':_0x1fedeb,'dryRun':![],'succeeded':[{'id':_0xcd94ac,'updated':!_0x434ccc,'skipped':_0x434ccc,'recovered':_0x2e24e2}],'verification':{'checkedBy':_0x444284(0x148),'snapshotHash':_0x196b39['hash'],'targetId':_0xcd94ac,'matchesRequestedState':!![],'recovered':_0x2e24e2}});return{'ok':!![],'message':_0x2e24e2?_0x444284(0x130)+_0xcd94ac+'.':_0x434ccc?_0x444284(0x145)+_0xcd94ac+_0x444284(0x129):'Updated\x20external\x20URL\x20for\x20menu\x20'+_0xcd94ac+'.','data':{..._0x7670,'recovered':_0x2e24e2}};}function a118_0x1dd8(){const _0x313f04=['\x20could\x20not\x20be\x20verified\x20safely','string','POST','expect-url','update-recovery','failed',',\x20current\x20','Menu\x20','menu_state_drift','The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.','menu\x20list','menu_external_link_not_leaf','The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','parentId','unknown','Run\x20','Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed','180376xrrZHN','External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.','cookie','\x20direct\x20child\x20menu(s).','path','The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.','8QwFLHs','external-link-update','appCode','Response\x20was\x20lost\x20and\x20menu\x20','label','update','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','update\x20external\x20menu\x20URL','\x20changed\x20during\x20the\x20URL-only\x20update.','update-external-link-url','verify\x20external\x20menu\x20URL\x20update','code','menu_external_link_path_missing','menu_external_link_type_required','106558oiqzql','type','Update\x20request\x20for\x20menu\x20','url','visible','\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.','\x20parent\x20changed:\x20expected\x20','sort','28QfTfBg','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.','menu','25239687PAExJx','\x20URL\x20no\x20longer\x20matches\x20--expect-url.','9036860Vdjxpl','expect-parent-id','5CdVjAO','readbackFailed','requestedUrlObserved','Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.','byId','9306430fIXGdq','write','\x20already\x20matches\x20the\x20requested\x20URL.','str','rabetbase\x20menu\x20list\x20--appcode\x20','childrenCount','menu_update_recovery_required','3DUJLZF','hash','Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20','verification','body','menu_permission_denied','7802442XIewHD','\x22,\x20not\x20iframe\x20or\x20link.','plan','\x20URL\x20update\x20did\x20not\x20take\x20effect.','/smartapi/menu/update','flagMissing','6460488ybcVXF','link','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','trim'];a118_0x1dd8=function(){return _0x313f04;};return a118_0x1dd8();}async function recoverAfterResponseLoss(_0x4a4f49,_0x34cbac){const _0x12e8da=a118_0x4de305,{plan:_0x1747d8,before:_0x2b306b,body:_0x5a1304}=_0x34cbac;let _0x94a73e;try{_0x94a73e=await fetchMenuSnapshot(_0x4a4f49['appCode'],_0x4a4f49['cookie']);}catch{throw recoveryRequired(_0x1747d8,_0x4a4f49[_0x12e8da(0x157)],{'id':_0x5a1304['id'],'readbackFailed':!![]});}const _0x386f1e=_0x94a73e[_0x12e8da(0x126)]['get'](_0x5a1304['id']);if(!_0x386f1e||_0x386f1e[_0x12e8da(0x116)]!==_0x5a1304[_0x12e8da(0x116)])throw recoveryRequired(_0x1747d8,_0x4a4f49['appCode'],{'id':_0x5a1304['id'],'requestedUrlObserved':![],'after':_0x386f1e??null});try{verifyUpdatedFact(_0x2b306b,_0x386f1e,_0x5a1304[_0x12e8da(0x116)]);}catch(_0x4f8361){const _0x4bc446=asVerificationError(_0x4f8361,_0x12e8da(0x158)+_0x5a1304['id']+_0x12e8da(0x13e));throw menuFailure(_0x4bc446,_0x1747d8,{'stage':_0x12e8da(0x142),'succeeded':[{'id':_0x5a1304['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x5a1304['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x386f1e,'warnings':[_0x12e8da(0x154)],'verification':{'status':_0x12e8da(0x143),'targetId':_0x5a1304['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x4a4f49[_0x12e8da(0x157)])}});}return updateSuccess(_0x1747d8,_0x94a73e,_0x386f1e,![],!![]);}function recoveryRequired(_0x43cd71,_0x4d7084,_0x40d7c4){const _0xe58d16=a118_0x4de305,_0x29aba5=menuError(_0xe58d16(0x12d),'The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.',_0xe58d16(0x14d)+buildLookupCommand(_0x4d7084)+_0xe58d16(0x118));return menuFailure(_0x29aba5,_0x43cd71,{'stage':_0xe58d16(0x142),'failed':{'id':_0x40d7c4['id'],..._0x40d7c4[_0xe58d16(0x124)]===undefined?{}:{'requestedUrlObserved':_0x40d7c4['requestedUrlObserved']},..._0x40d7c4[_0xe58d16(0x123)]?{'readbackFailed':!![]}:{}},'after':_0x40d7c4['after'],'warnings':[_0xe58d16(0x147)],'verification':{'status':_0xe58d16(0x143),'targetId':_0x40d7c4['id'],..._0x40d7c4[_0xe58d16(0x124)]===undefined?{}:{'requestedUrlObserved':_0x40d7c4[_0xe58d16(0x124)]},..._0x40d7c4['readbackFailed']?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x4d7084)}});}function buildLookupCommand(_0x357426){const _0x3cfede=a118_0x4de305,_0x2adfb6='\x27'+_0x357426['replace'](/'/g,'\x27\x5c\x27\x27')+'\x27';return _0x3cfede(0x12b)+_0x2adfb6+'\x20--format\x20compress';}
|
|
1
|
+
const a118_0x34a8b1=a118_0x1374;(function(_0x41ba27,_0xfde82b){const _0x3f69b4=a118_0x1374,_0xba8d62=_0x41ba27();while(!![]){try{const _0x219304=parseInt(_0x3f69b4(0x124))/0x1*(parseInt(_0x3f69b4(0x117))/0x2)+parseInt(_0x3f69b4(0xfa))/0x3*(-parseInt(_0x3f69b4(0xf2))/0x4)+parseInt(_0x3f69b4(0x13f))/0x5+-parseInt(_0x3f69b4(0x115))/0x6*(parseInt(_0x3f69b4(0xf7))/0x7)+-parseInt(_0x3f69b4(0x12e))/0x8+parseInt(_0x3f69b4(0x125))/0x9*(parseInt(_0x3f69b4(0x13c))/0xa)+parseInt(_0x3f69b4(0x139))/0xb;if(_0x219304===_0xfde82b)break;else _0xba8d62['push'](_0xba8d62['shift']());}catch(_0x5e0907){_0xba8d62['push'](_0xba8d62['shift']());}}}(a118_0x46f4,0x3a0d6));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{validateExternalMenuUrl}from'../../commands/menu/external-link-create.js';function a118_0x46f4(){const _0x465b5b=['5996nRiHfE','flagMissing','\x20already\x20matches\x20the\x20requested\x20URL.','\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.','appCode','1288AidzfU','childrenCount','The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.','93XYtXHZ','code','\x20parent\x20changed:\x20expected\x20','\x20changed\x20during\x20the\x20URL-only\x20update.','body','path','cookie','replace','/smartapi/menu/update','failed','get','verification','Menu\x20','snapshot','POST','parentId','Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.','menu_external_link_type_required','\x27\x5c\x27\x27','string','Response\x20was\x20lost\x20and\x20menu\x20','sort','menu','plan','expect-parent-id','expect-url','verify\x20external\x20menu\x20URL\x20update','12906mZzQBR','menu_external_link_not_leaf','1090abvvHs','Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20','update-recovery','external-link-update','link','Run\x20','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.','New\x20external\x20HTTPS\x20URL','visible','iframe','\x22,\x20not\x20iframe\x20or\x20link.','update','byId','27hdFzvF','24021IovrPD','\x20could\x20not\x20be\x20verified\x20safely','menu_permission_denied',',\x20current\x20','External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.','str','type','735648DgcjgQ','url','\x20URL\x20update\x20did\x20not\x20take\x20effect.','\x20has\x20','\x20is\x20type\x20\x22','Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed','Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.','\x20--format\x20compress','update-external-link-url','trim','The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.','6417873bISldQ','Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','requestedUrlObserved','50OgMRDu','menu_external_link_path_missing','\x20has\x20an\x20empty\x20platform\x20path.','802440SGPRTD','The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','label','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','menu_state_drift','The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.','\x20URL\x20no\x20longer\x20matches\x20--expect-url.','The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','readbackFailed','Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20','rabetbase\x20menu\x20list\x20--appcode\x20'];a118_0x46f4=function(){return _0x465b5b;};return a118_0x46f4();}import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_PARENT_ID_FLAG,MENU_ID_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,formatParent,hasFlag,isMenuResponseLoss,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,parseParentId,recheckMutationSnapshot,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a118_0x34a8b1(0x108),'path':'/smartapi/menu/update'}];export const menuExternalLinkUpdate={'service':a118_0x34a8b1(0x110),'command':'external-link-update','description':a118_0x34a8b1(0x13a),'risk':'write','structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':a118_0x34a8b1(0x12f),'type':'string','required':!![],'description':a118_0x34a8b1(0x11e)},{'name':a118_0x34a8b1(0x113),'type':a118_0x34a8b1(0x10d),'required':!![],'description':a118_0x34a8b1(0x133)},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x372019){validateInput(_0x372019);},async 'dryRun'(_0x20b37f){const _0x1c2359=a118_0x34a8b1;validateInput(_0x20b37f);const _0x2ad8ea=await buildPlan(_0x20b37f,!![]);return menuDryRunResult(_0x2ad8ea[_0x1c2359(0x111)],{'method':_0x1c2359(0x108),'url':_0x1c2359(0x102),'body':_0x2ad8ea[_0x1c2359(0xfe)],'description':_0x1c2359(0xf0)+_0x2ad8ea[_0x1c2359(0xfe)]['id']+'.'});},async 'execute'(_0x5e956f){const _0x46f315=a118_0x34a8b1;validateInput(_0x5e956f);const _0x213c8e=await buildPlan(_0x5e956f,![]),{plan:_0x14b451,body:_0x17983c,before:_0x5f43bd,noChanges:_0x5287d6}=_0x213c8e,_0x4d2727=_0x17983c['id'];if(_0x5287d6)return updateSuccess(_0x14b451,_0x213c8e[_0x46f315(0x107)],_0x5f43bd,!![],![]);await recheckMutationSnapshot(_0x5e956f,_0x14b451,'update\x20external\x20menu\x20URL',_0x4d2727);try{await updateMenuEntity(_0x5e956f[_0x46f315(0xf6)],_0x5e956f[_0x46f315(0x100)],{'id':_0x17983c['id'],'url':_0x17983c[_0x46f315(0x12f)]});}catch(_0x21c726){const _0x5c1111=mapMenuApiError(_0x21c726,'update\x20external\x20menu\x20URL',_0x4d2727);if(isMenuResponseLoss(_0x21c726)&&_0x5c1111[_0x46f315(0xfb)]!==_0x46f315(0x127))return recoverAfterResponseLoss(_0x5e956f,_0x213c8e);throw menuFailure(_0x5c1111,_0x14b451,{'stage':_0x46f315(0x122),'failed':{'id':_0x4d2727},'warnings':[_0x46f315(0x140)],'verification':{'status':_0x46f315(0x103),'targetId':_0x4d2727,'lookupCommand':buildLookupCommand(_0x5e956f[_0x46f315(0xf6)])}});}let _0x38fb72,_0xfac8ed;try{_0x38fb72=await fetchMenuSnapshot(_0x5e956f[_0x46f315(0xf6)],_0x5e956f[_0x46f315(0x100)]),_0xfac8ed=requireMenu(_0x38fb72,_0x4d2727),verifyUpdatedFact(_0x5f43bd,_0xfac8ed,_0x17983c[_0x46f315(0x12f)]);}catch(_0x188a7a){const _0x25bc98=describeMenuErrorCause(_0x188a7a,_0x46f315(0x114),_0x4d2727),_0x493980=asVerificationError(_0x188a7a,'Update\x20request\x20for\x20menu\x20'+_0x4d2727+_0x46f315(0x12a));throw menuFailure(_0x493980,_0x14b451,{'stage':_0x46f315(0x105),'succeeded':[{'id':_0x4d2727,'updateRequested':!![]}],'failed':{'id':_0x4d2727,'requestedStateConfirmed':![],..._0x25bc98},'warnings':[_0x46f315(0xee)],'verification':{'status':_0x46f315(0x103),'targetId':_0x4d2727,'lookupCommand':buildLookupCommand(_0x5e956f[_0x46f315(0xf6)])}});}return updateSuccess(_0x14b451,_0x38fb72,_0xfac8ed,![],![]);}};function validateInput(_0x3a7735){const _0x604805=a118_0x34a8b1;validateExactId(_0x3a7735),requiredUrl(_0x3a7735,_0x604805(0x12f)),requiredExpectedUrl(_0x3a7735),parseParentId(_0x3a7735,'expect-parent-id',{'required':!![]});}function requiredUrl(_0x4e825b,_0x71dc9c){const _0x588df1=a118_0x34a8b1;if(!hasFlag(_0x4e825b,_0x71dc9c)||!_0x4e825b['str'](_0x71dc9c)[_0x588df1(0x137)]())throw CliErrors[_0x588df1(0xf3)](_0x71dc9c);return validateExternalMenuUrl(_0x4e825b[_0x588df1(0x12c)](_0x71dc9c));}function requiredExpectedUrl(_0x295dfc){const _0x18d9ca=a118_0x34a8b1;if(!hasFlag(_0x295dfc,_0x18d9ca(0x113))||!_0x295dfc[_0x18d9ca(0x12c)](_0x18d9ca(0x113))[_0x18d9ca(0x137)]())throw CliErrors[_0x18d9ca(0xf3)](_0x18d9ca(0x113));return _0x295dfc[_0x18d9ca(0x12c)](_0x18d9ca(0x113))['trim']();}async function buildPlan(_0x59beed,_0x92b426){const _0x3dc0fd=a118_0x34a8b1,_0x4ca643=validateExactId(_0x59beed),_0x43a873=requiredUrl(_0x59beed,_0x3dc0fd(0x12f)),_0x44a584=requiredExpectedUrl(_0x59beed),_0x244090=parseParentId(_0x59beed,_0x3dc0fd(0x112),{'required':!![]}),_0x1d5b5b=await fetchMutationSnapshot(_0x59beed,'update\x20external\x20menu\x20URL',_0x4ca643),_0x347dab=requireMenu(_0x1d5b5b,_0x4ca643);assertExternalLinkLeaf(_0x347dab);if(_0x347dab[_0x3dc0fd(0x109)]!==_0x244090)throw menuError(_0x3dc0fd(0xeb),_0x3dc0fd(0x106)+_0x4ca643+_0x3dc0fd(0xfc)+formatParent(_0x244090)+_0x3dc0fd(0x128)+formatParent(_0x347dab[_0x3dc0fd(0x109)])+'.',_0x3dc0fd(0x142));const _0x32f977=_0x347dab[_0x3dc0fd(0x12f)]===_0x43a873;if(!_0x32f977&&_0x347dab[_0x3dc0fd(0x12f)]!==_0x44a584)throw menuError(_0x3dc0fd(0xeb),_0x3dc0fd(0x106)+_0x4ca643+_0x3dc0fd(0xed),_0x3dc0fd(0x11d));const _0x439d4e={'id':_0x4ca643,'appCode':_0x59beed[_0x3dc0fd(0xf6)],'url':_0x43a873},_0x512245={..._0x347dab,'url':_0x43a873};return{'body':_0x439d4e,'before':_0x347dab,'noChanges':_0x32f977,'snapshot':_0x1d5b5b,'plan':mutationResult({'operation':_0x3dc0fd(0x11a),'selector':{'id':_0x4ca643},'before':_0x347dab,'after':_0x512245,'dryRun':_0x92b426,'backend':[...BACKEND],'plannedActions':_0x32f977?[]:[{'stage':_0x3dc0fd(0x136),'method':_0x3dc0fd(0x108),'path':_0x3dc0fd(0x102),'body':_0x439d4e}],'snapshotHash':_0x1d5b5b['hash'],'warnings':_0x32f977?[_0x3dc0fd(0x12b)]:[]})};}function assertExternalLinkLeaf(_0x46fc81){const _0x59b4a6=a118_0x34a8b1;if(_0x46fc81[_0x59b4a6(0x12d)]!==_0x59b4a6(0x120)&&_0x46fc81['type']!==_0x59b4a6(0x11b))throw menuError(_0x59b4a6(0x10b),'Menu\x20'+_0x46fc81['id']+_0x59b4a6(0x132)+(_0x46fc81['type']||'unknown')+_0x59b4a6(0x121),_0x59b4a6(0x10a));if(_0x46fc81[_0x59b4a6(0xf8)]!==0x0)throw menuError(_0x59b4a6(0x116),_0x59b4a6(0x106)+_0x46fc81['id']+_0x59b4a6(0x131)+_0x46fc81['childrenCount']+'\x20direct\x20child\x20menu(s).',_0x59b4a6(0x129));if(!_0x46fc81[_0x59b4a6(0xff)][_0x59b4a6(0x137)]())throw menuError(_0x59b4a6(0x13d),_0x59b4a6(0x106)+_0x46fc81['id']+_0x59b4a6(0x13e),_0x59b4a6(0x134));}function verifyUpdatedFact(_0x1d2ddf,_0x33b08a,_0x318288){const _0x52dd07=a118_0x34a8b1;assertExternalLinkLeaf(_0x33b08a);const _0x35b9b2=[['id',_0x33b08a['id'],_0x1d2ddf['id']],[_0x52dd07(0x141),_0x33b08a['label'],_0x1d2ddf['label']],['type',_0x33b08a[_0x52dd07(0x12d)],_0x1d2ddf[_0x52dd07(0x12d)]],[_0x52dd07(0xff),_0x33b08a[_0x52dd07(0xff)],_0x1d2ddf[_0x52dd07(0xff)]],['parentId',_0x33b08a['parentId'],_0x1d2ddf[_0x52dd07(0x109)]],['sort',_0x33b08a[_0x52dd07(0x10f)],_0x1d2ddf[_0x52dd07(0x10f)]],['visible',_0x33b08a[_0x52dd07(0x11f)],_0x1d2ddf[_0x52dd07(0x11f)]]];for(const [_0x4da21b,_0x348f29,_0x1a6d55]of _0x35b9b2){assertVerified(_0x348f29===_0x1a6d55,_0x52dd07(0x106)+_0x1d2ddf['id']+'\x20'+_0x4da21b+_0x52dd07(0xfd));}assertVerified(_0x33b08a[_0x52dd07(0x12f)]===_0x318288,_0x52dd07(0x106)+_0x1d2ddf['id']+_0x52dd07(0x130));}function updateSuccess(_0x4b3d76,_0x28eaba,_0x5c8d7d,_0x620549,_0x5772ca){const _0x185ba3=a118_0x34a8b1,_0x31e25f=_0x5c8d7d['id'],_0x4daceb=mutationResult({..._0x4b3d76,'after':_0x5c8d7d,'dryRun':![],'succeeded':[{'id':_0x31e25f,'updated':!_0x620549,'skipped':_0x620549,'recovered':_0x5772ca}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x28eaba['hash'],'targetId':_0x31e25f,'matchesRequestedState':!![],'recovered':_0x5772ca}});return{'ok':!![],'message':_0x5772ca?_0x185ba3(0x118)+_0x31e25f+'.':_0x620549?'Menu\x20'+_0x31e25f+_0x185ba3(0xf4):'Updated\x20external\x20URL\x20for\x20menu\x20'+_0x31e25f+'.','data':{..._0x4daceb,'recovered':_0x5772ca}};}async function recoverAfterResponseLoss(_0x554f72,_0x2d6d76){const _0x3667fc=a118_0x34a8b1,{plan:_0x1ff370,before:_0x1e43f5,body:_0x580f50}=_0x2d6d76;let _0x254dfd;try{_0x254dfd=await fetchMenuSnapshot(_0x554f72[_0x3667fc(0xf6)],_0x554f72[_0x3667fc(0x100)]);}catch{throw recoveryRequired(_0x1ff370,_0x554f72[_0x3667fc(0xf6)],{'id':_0x580f50['id'],'readbackFailed':!![]});}const _0x4a76cc=_0x254dfd[_0x3667fc(0x123)][_0x3667fc(0x104)](_0x580f50['id']);if(!_0x4a76cc||_0x4a76cc['url']!==_0x580f50['url'])throw recoveryRequired(_0x1ff370,_0x554f72[_0x3667fc(0xf6)],{'id':_0x580f50['id'],'requestedUrlObserved':![],'after':_0x4a76cc??null});try{verifyUpdatedFact(_0x1e43f5,_0x4a76cc,_0x580f50[_0x3667fc(0x12f)]);}catch(_0xd47626){const _0x5f1b94=asVerificationError(_0xd47626,_0x3667fc(0x10e)+_0x580f50['id']+_0x3667fc(0x126));throw menuFailure(_0x5f1b94,_0x1ff370,{'stage':_0x3667fc(0x119),'succeeded':[{'id':_0x580f50['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x580f50['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x4a76cc,'warnings':[_0x3667fc(0xf9)],'verification':{'status':'failed','targetId':_0x580f50['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x554f72[_0x3667fc(0xf6)])}});}return updateSuccess(_0x1ff370,_0x254dfd,_0x4a76cc,![],!![]);}function recoveryRequired(_0x2c2021,_0x2bc6f3,_0x3e0c11){const _0x5593d4=a118_0x34a8b1,_0xe42997=menuError('menu_update_recovery_required',_0x5593d4(0x138),_0x5593d4(0x11c)+buildLookupCommand(_0x2bc6f3)+_0x5593d4(0xf5));return menuFailure(_0xe42997,_0x2c2021,{'stage':_0x5593d4(0x119),'failed':{'id':_0x3e0c11['id'],..._0x3e0c11[_0x5593d4(0x13b)]===undefined?{}:{'requestedUrlObserved':_0x3e0c11['requestedUrlObserved']},..._0x3e0c11['readbackFailed']?{'readbackFailed':!![]}:{}},'after':_0x3e0c11['after'],'warnings':[_0x5593d4(0xec)],'verification':{'status':_0x5593d4(0x103),'targetId':_0x3e0c11['id'],..._0x3e0c11['requestedUrlObserved']===undefined?{}:{'requestedUrlObserved':_0x3e0c11['requestedUrlObserved']},..._0x3e0c11[_0x5593d4(0xef)]?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x2bc6f3)}});}function a118_0x1374(_0xacb053,_0x50ac46){_0xacb053=_0xacb053-0xeb;const _0x46f474=a118_0x46f4();let _0x137495=_0x46f474[_0xacb053];return _0x137495;}function buildLookupCommand(_0x3555da){const _0x25d743=a118_0x34a8b1,_0x5e793f='\x27'+_0x3555da[_0x25d743(0x101)](/'/g,_0x25d743(0x10c))+'\x27';return _0x25d743(0xf1)+_0x5e793f+_0x25d743(0x135);}
|