@lovrabet/rabetbase-cli 2.5.0-beta.3 → 2.5.0-beta.4
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-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/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.d.ts +13 -0
- package/lib/commands/db/table-diff-shared.js +1 -0
- package/lib/commands/db/tables.js +1 -1
- package/lib/commands/db/test.js +1 -1
- package/lib/commands/db/update.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/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/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/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/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/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 +1 -7
- package/lib/core/api-client.js +1 -1
- package/lib/core/bff/config.js +1 -1
- package/lib/core/bff/file-system.js +1 -1
- package/lib/core/bff/hash.js +1 -1
- package/lib/core/bff/lock.js +1 -1
- package/lib/core/bff/utils.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/page/file-system.js +1 -1
- package/lib/core/page/hash.js +1 -1
- package/lib/core/page/lock.js +1 -1
- package/lib/core/sql-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/types.js +1 -1
- package/lib/generated/build-info.d.ts +4 -4
- package/lib/generated/build-info.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 +6 -6
- package/skills/rabetbase/guides/database-connection-workflow.md +9 -9
- package/skills/rabetbase/references/rabetbase-config.md +2 -3
- package/skills/rabetbase/references/rabetbase-db-analyze.md +2 -2
- package/skills/rabetbase/references/rabetbase-db-diff-refresh.md +4 -3
- package/skills/rabetbase/references/rabetbase-db-diff.md +7 -22
- package/skills/rabetbase/references/rabetbase-db-tables.md +14 -2
- package/skills/rabetbase.manifest.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
const a111_0x3ca769=a111_0x4011;(function(_0x2c12f5,_0x4b363b){const _0x127ef5=a111_0x4011,_0x9e1adf=_0x2c12f5();while(!![]){try{const _0xdcddf7=-parseInt(_0x127ef5(0xf4))/0x1*(-parseInt(_0x127ef5(0x12f))/0x2)+parseInt(_0x127ef5(0xca))/0x3+parseInt(_0x127ef5(0x121))/0x4+-parseInt(_0x127ef5(0x120))/0x5*(-parseInt(_0x127ef5(0x14a))/0x6)+-parseInt(_0x127ef5(0x143))/0x7+parseInt(_0x127ef5(0x122))/0x8+-parseInt(_0x127ef5(0xdd))/0x9;if(_0xdcddf7===_0x4b363b)break;else _0x9e1adf['push'](_0x9e1adf['shift']());}catch(_0x1feff5){_0x9e1adf['push'](_0x9e1adf['shift']());}}}(a111_0x4a61,0xc9209));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':'iframe','new-window':'link'};export function validateExternalMenuUrl(_0x5a7cc4){const _0x5da381=a111_0x4011,_0x1dd9bf=_0x5a7cc4['trim']();let _0x19e9c5;try{_0x19e9c5=new URL(_0x1dd9bf);}catch{throw menuError(_0x5da381(0x12d),_0x5da381(0x108),'Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.');}if(_0x19e9c5['protocol']!==_0x5da381(0xc6))throw menuError(_0x5da381(0xff),'External\x20menu\x20URL\x20must\x20use\x20HTTPS.',_0x5da381(0x102));if(_0x19e9c5['username']||_0x19e9c5[_0x5da381(0xfd)])throw menuError('menu_url_credentials_forbidden',_0x5da381(0x142),_0x5da381(0x109));return _0x1dd9bf;}export const menuExternalLinkCreate={'service':a111_0x3ca769(0xd0),'command':a111_0x3ca769(0xed),'description':a111_0x3ca769(0xec),'risk':a111_0x3ca769(0xeb),'structuredErrors':!![],'flags':[{'name':a111_0x3ca769(0x137),'type':a111_0x3ca769(0x111),'required':!![],'description':'Menu\x20label'},{'name':a111_0x3ca769(0xce),'type':a111_0x3ca769(0x111),'required':!![],'enum':[a111_0x3ca769(0x10d),a111_0x3ca769(0xea)],'description':a111_0x3ca769(0x128)},{'name':'url','type':a111_0x3ca769(0x111),'required':!![],'description':a111_0x3ca769(0x11d)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':'visible','type':a111_0x3ca769(0xd3),'default':!![],'description':'Whether\x20the\x20menu\x20is\x20visible'},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x409638){validateAddInput(_0x409638);},async 'dryRun'(_0xf85c96){const _0x30d808=a111_0x3ca769;validateAddInput(_0xf85c96);const {plan:_0x3cb917}=await buildSafeAddPlan(_0xf85c96,!![]),_0x5b1e4d=_0x3cb917[_0x30d808(0x12c)],_0x3f6d9a=createBody(_0x5b1e4d);return menuDryRunResult(_0x3cb917,{'method':_0x30d808(0x127),'url':'/smartapi/menu/create','body':_0x3f6d9a,'description':_0x30d808(0xfb)+JSON[_0x30d808(0xd8)](_0x5b1e4d[_0x30d808(0x137)])+_0x30d808(0x148)+_0xf85c96[_0x30d808(0x134)](_0x30d808(0xce))+_0x30d808(0x10f)});},async 'execute'(_0x54a0d3){const _0x3b644a=a111_0x3ca769;validateAddInput(_0x54a0d3);const _0x4bf2cf=await buildSafeAddPlan(_0x54a0d3,![]),{plan:_0x24e3e3,snapshot:_0x445f84}=_0x4bf2cf,_0x230a71=_0x24e3e3[_0x3b644a(0x12c)],_0x52603d=buildMenuLookupCommand(_0x54a0d3[_0x3b644a(0xde)]);await recheckAddSnapshot(_0x54a0d3,_0x24e3e3);let _0xf130b1;try{_0xf130b1=await createMenuEntity(_0x54a0d3[_0x3b644a(0xde)],_0x54a0d3[_0x3b644a(0xdc)],createBody(_0x230a71));}catch(_0x5eb283){const _0x5467d0=mapMenuApiError(_0x5eb283,'create\x20external\x20menu');if(!isMenuResponseLoss(_0x5eb283)||_0x5467d0['code']===_0x3b644a(0x116))throw externalLinkCreateFailure(_0x5467d0,_0x24e3e3,{'stage':_0x3b644a(0x10b),'failed':{},'verification':{'status':'failed','lookupCommand':_0x52603d}});return recoverAfterResponseLoss(_0x54a0d3,_0x4bf2cf,_0x52603d);}const _0x3471ed=Number(_0xf130b1?.['id']),_0x4a2137=typeof _0xf130b1?.[_0x3b644a(0xf5)]===_0x3b644a(0x111)?_0xf130b1['path']:'';if(!Number[_0x3b644a(0xda)](_0x3471ed)||_0x3471ed<=0x0||!_0x4a2137[_0x3b644a(0x126)]()){const _0x42c8fb=menuError(_0x3b644a(0xcc),_0x3b644a(0xf8),_0x3b644a(0x13f)+_0x52603d+_0x3b644a(0x14b));throw externalLinkCreateFailure(_0x42c8fb,_0x24e3e3,{'stage':_0x3b644a(0x115),'succeeded':Number[_0x3b644a(0xda)](_0x3471ed)&&_0x3471ed>0x0?[{'id':_0x3471ed,'created':!![]}]:[],'failed':{'createdId':Number[_0x3b644a(0xda)](_0x3471ed)?_0x3471ed:null,'generatedPathConfirmed':Boolean(_0x4a2137[_0x3b644a(0x126)]())},'warnings':[_0x3b644a(0xe2)],'after':Number[_0x3b644a(0xda)](_0x3471ed)&&_0x3471ed>0x0?{..._0x230a71,'id':_0x3471ed,'path':_0x4a2137}:_0x230a71,'verification':{'status':_0x3b644a(0x151),'lookupCommand':_0x52603d,...Number[_0x3b644a(0xda)](_0x3471ed)&&_0x3471ed>0x0?{'targetId':_0x3471ed}:{}}});}const _0x2a0f7a=await readAndVerifyCreatedMenu({'appCode':_0x54a0d3[_0x3b644a(0xde)],'cookie':_0x54a0d3['cookie'],'plan':_0x24e3e3,'afterPlan':_0x230a71,'createdId':_0x3471ed,'expectedPath':_0x4a2137,'lookupCommand':_0x52603d,'recovered':![]});return creationSuccess(_0x24e3e3,_0x2a0f7a[_0x3b644a(0x12e)],_0x2a0f7a[_0x3b644a(0x13b)],![]);}};function validateAddInput(_0x11bf2d){const _0x2e9ccc=a111_0x3ca769;if(!_0x11bf2d['str'](_0x2e9ccc(0x137))[_0x2e9ccc(0x126)]())throw CliErrors[_0x2e9ccc(0xc7)](_0x2e9ccc(0x137));resolveExternalMenuType(_0x11bf2d),validateExternalMenuUrl(_0x11bf2d[_0x2e9ccc(0x134)](_0x2e9ccc(0x138))),parseParentId(_0x11bf2d,_0x2e9ccc(0x130)),validateSort(_0x11bf2d);}function a111_0x4011(_0x190cb1,_0x54f339){_0x190cb1=_0x190cb1-0xc4;const _0x4a6125=a111_0x4a61();let _0x401151=_0x4a6125[_0x190cb1];return _0x401151;}function a111_0x4a61(){const _0x313f65=['plan','sort','The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.','\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.','rawerror','External\x20menu\x20creation\x20failed.','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.','filter','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.','replace','new-window','write','Create\x20an\x20external\x20website\x20link\x20menu','external-link-create','byId','visible','menu_verification_failed','<redacted>','plannedActions','Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.','1kqgziy','path','/smartapi/menu/create','verification','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.','\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.','\x20--format\x20compress','Would\x20create\x20external\x20website\x20link\x20menu\x20','get','password','Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.','menu_url_https_required','\x20has\x20an\x20unexpected\x20','Menu\x20','Provide\x20an\x20HTTPS\x20URL.','Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.','Created\x20menu\x20','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.','body','before','External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.','Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.','<platform-generated>','create','succeeded','embedded','rawFlags','\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.','menus','string','create\x20external\x20menu','Created\x20external\x20menu\x20','The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.','create-response-validation','menu_permission_denied','cause','selector','length','menu_sort_overflow','type','rabetbase\x20menu\x20list\x20--appcode\x20','External\x20HTTPS\x20URL','menu_parent_not_folder','pre-write-recheck','4275135OViMBi','4525008uYSNeP','5968664mbSIjQ','code','expectedSnapshotHash','--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.','trim','POST','How\x20to\x20open\x20the\x20external\x20website','Recovered\x20menu\x20','Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.','\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.','after','menu_url_invalid','snapshot','39058JpnmGf','parent-id','fromEntries','readbackerror','menu_mutation_failed','str','menu\x20list','bool','label','url','createdId','isArray','fact','create-recovery','lookupCommand','toLowerCase','Run\x20','includes','Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.','External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.','11376561RMYbLf','currentSnapshotHash','hasOwnProperty','causemessage','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.','\x20with\x20','object','6yDpjJi','\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.','\x20after\x20response\x20loss.','Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.','\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.','\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.','data','failed','expectedPath','URL','The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.','create-menu','https:','flagMissing','visibility','add','925683lqRQyl','parentId','menu_create_response_invalid','prototype','open-mode','map','menu','afterPlan','entries','boolean','\x20is\x20missing\x20from\x20final\x20menu\x20facts.','The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.','menu_not_found','stringify','\x27\x5c\x27\x27','isSafeInteger','has','cookie','5502708cHsoLn','appCode','menu_create_recovery_required'];a111_0x4a61=function(){return _0x313f65;};return a111_0x4a61();}function resolveExternalMenuType(_0x146874){const _0x226f86=a111_0x3ca769,_0x18aaa6=_0x146874[_0x226f86(0x134)](_0x226f86(0xce))[_0x226f86(0x126)]();if(!_0x18aaa6)throw CliErrors[_0x226f86(0xc7)](_0x226f86(0xce));const _0x285aa0=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0x18aaa6];if(!_0x285aa0)throw menuError('menu_open_mode_invalid',_0x226f86(0x125),'Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.');return _0x285aa0;}async function buildAddPlan(_0x2b6a53,_0x1c15a9){const _0x241957=a111_0x3ca769,_0x4d8884=await fetchMutationSnapshot(_0x2b6a53,_0x241957(0x112)),_0xb7b094=parseParentId(_0x2b6a53,_0x241957(0x130))??null;if(_0xb7b094!=null)requireFolder(_0x4d8884,_0xb7b094);const _0x58fcb7=validateSort(_0x2b6a53),_0x5372af=_0x58fcb7??nextSiblingSort(_0x4d8884,_0xb7b094,_0x241957(0xd0)),_0x4be7e4=_0x2b6a53['str'](_0x241957(0x137))[_0x241957(0x126)](),_0x5d130b=resolveExternalMenuType(_0x2b6a53),_0x2274ca=validateExternalMenuUrl(_0x2b6a53[_0x241957(0x134)](_0x241957(0x138))),_0x36dbaa=Object[_0x241957(0xcd)][_0x241957(0x145)]['call'](_0x2b6a53[_0x241957(0x10e)],'visible')?_0x2b6a53[_0x241957(0x136)](_0x241957(0xef)):!![],_0x4c52a5={'id':null,'parentId':_0xb7b094,'label':_0x4be7e4,'path':_0x241957(0x10a),'url':_0x2274ca,'type':_0x5d130b,'visible':_0x36dbaa,'sort':_0x5372af},_0x26e6cc=buildMenuLookupCommand(_0x2b6a53[_0x241957(0xde)]),_0x5bdc45=mutationResult({'operation':_0x241957(0xc9),'selector':{'parentId':_0xb7b094,'type':_0x5d130b,'label':_0x4be7e4,'url':_0x2274ca},'before':null,'after':_0x4c52a5,'dryRun':_0x1c15a9,'backend':[{'method':_0x241957(0x127),'path':'/smartapi/menu/create'}],'plannedActions':[{'stage':_0x241957(0xc5),'method':'POST','path':_0x241957(0xf6),'body':createBody(_0x4c52a5)}],'snapshotHash':_0x4d8884['hash'],'warnings':['The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.'],'verification':{'lookupCommand':_0x26e6cc}});return{'plan':_0x5bdc45,'snapshot':_0x4d8884};}async function buildSafeAddPlan(_0xfe66d7,_0x46dc63){try{return await buildAddPlan(_0xfe66d7,_0x46dc63);}catch(_0x20862b){throw safeMenuAddError(_0x20862b);}}async function recheckAddSnapshot(_0x375760,_0x297755){const _0x2331c2=a111_0x3ca769;try{await recheckMutationSnapshot(_0x375760,_0x297755,'create\x20external\x20menu');}catch(_0x414b91){const _0x29af0e=getFailureRecord(_0x414b91);throw externalLinkCreateFailure(_0x414b91,_0x297755,{'stage':_0x2331c2(0x11f),'failed':{..._0x29af0e?.[_0x2331c2(0x124)]?{'expectedSnapshotHash':_0x29af0e['expectedSnapshotHash']}:{},..._0x29af0e?.[_0x2331c2(0x144)]?{'currentSnapshotHash':_0x29af0e['currentSnapshotHash']}:{}}});}}function createBody(_0x5bb714){const _0x18f2a1=a111_0x3ca769;return{'parentId':toApiParentId(_0x5bb714['parentId']),'label':String(_0x5bb714[_0x18f2a1(0x137)]),'type':String(_0x5bb714[_0x18f2a1(0x11b)]),'url':String(_0x5bb714[_0x18f2a1(0x138)]),'visible':Boolean(_0x5bb714['visible']),'sort':Number(_0x5bb714['sort']),'extend':{}};}function buildMenuLookupCommand(_0x42aea4){const _0x10d043=a111_0x3ca769,_0x53d58e='\x27'+_0x42aea4[_0x10d043(0xe9)](/'/g,_0x10d043(0xd9))+'\x27';return _0x10d043(0x11c)+_0x53d58e+_0x10d043(0xfa);}async function recoverAfterResponseLoss(_0x57d7df,_0x10273a,_0x548dc2){const _0x4abd63=a111_0x3ca769,{plan:_0x540b93,snapshot:_0x5723b5}=_0x10273a,_0x18868e=_0x540b93['after'];let _0x3254b6;try{_0x3254b6=await fetchMenuSnapshot(_0x57d7df['appCode'],_0x57d7df['cookie']);}catch(_0xe1e554){throw recoveryRequiredFailure(_0x540b93,_0x548dc2,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0x281d1d=_0x3254b6[_0x4abd63(0x110)][_0x4abd63(0xe7)](_0x32833b=>_0x32833b[_0x4abd63(0xcb)]===_0x18868e[_0x4abd63(0xcb)]&&_0x32833b[_0x4abd63(0x11b)]===_0x18868e[_0x4abd63(0x11b)]&&_0x32833b['label']===_0x18868e[_0x4abd63(0x137)]&&_0x32833b['url']===_0x18868e[_0x4abd63(0x138)]),_0xfb4222=_0x281d1d[_0x4abd63(0xe7)](_0x209ef2=>!_0x5723b5['byId'][_0x4abd63(0xdb)](_0x209ef2['id'])),_0x1c1346=_0x281d1d[_0x4abd63(0xe7)](_0x521312=>_0x5723b5[_0x4abd63(0xee)][_0x4abd63(0xdb)](_0x521312['id']));if(_0x281d1d['length']!==0x1||_0xfb4222[_0x4abd63(0x119)]!==0x1)throw recoveryRequiredFailure(_0x540b93,_0x548dc2,{'matchCount':_0x281d1d[_0x4abd63(0x119)],'newMatchCount':_0xfb4222[_0x4abd63(0x119)],'preexistingMatchCount':_0x1c1346[_0x4abd63(0x119)]});const _0x180a0a=_0xfb4222[0x0];try{verifyCreatedFact(_0x180a0a,_0x180a0a['id'],_0x18868e,null);}catch(_0x1ac67c){const _0x16418c=_0x1ac67c instanceof Error&&_0x4abd63(0x123)in _0x1ac67c?_0x1ac67c:menuError('menu_verification_failed',_0x4abd63(0x129)+_0x180a0a['id']+'\x20could\x20not\x20be\x20verified.','Run\x20'+_0x548dc2+_0x4abd63(0x12b));throw externalLinkCreateFailure(_0x16418c,_0x540b93,{'stage':_0x4abd63(0xf7),'succeeded':[{'id':_0x180a0a['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0x180a0a['id'],'finalFactsConfirmed':![]},'after':_0x180a0a,'warnings':['Menu\x20'+_0x180a0a['id']+_0x4abd63(0xe3)],'verification':{'status':'failed','targetId':_0x180a0a['id'],'recovered':!![],'lookupCommand':_0x548dc2}});}return creationSuccess(_0x540b93,_0x3254b6,_0x180a0a,!![]);}function recoveryRequiredFailure(_0x4cd29d,_0x530328,_0x4579c2){const _0x45d7d1=a111_0x3ca769,_0x100909=menuError('menu_create_recovery_required',_0x45d7d1(0x114),_0x45d7d1(0x13f)+_0x530328+'\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.');return externalLinkCreateFailure(_0x100909,_0x4cd29d,{'stage':_0x45d7d1(0x13c),'failed':_0x4579c2,'warnings':[_0x45d7d1(0xc4)],'verification':{'status':_0x45d7d1(0x151),..._0x4579c2,'lookupCommand':_0x530328}});}async function readAndVerifyCreatedMenu(_0xa2f77d){const _0x57a82f=a111_0x3ca769;let _0x157350;try{_0x157350=await fetchMenuSnapshot(_0xa2f77d['appCode'],_0xa2f77d[_0x57a82f(0xdc)]);}catch(_0x5cb93b){const _0x4dcf78=menuError(_0x57a82f(0xf0),_0x57a82f(0x101)+_0xa2f77d['createdId']+_0x57a82f(0x14e),_0x57a82f(0x13f)+_0xa2f77d['lookupCommand']+_0x57a82f(0xf9));throw externalLinkCreateFailure(_0x4dcf78,_0xa2f77d['plan'],{'stage':'verification','succeeded':[{'id':_0xa2f77d[_0x57a82f(0x139)],'created':!![]}],'failed':{'id':_0xa2f77d[_0x57a82f(0x139)],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0xa2f77d[_0x57a82f(0xd1)],'id':_0xa2f77d['createdId'],'path':_0xa2f77d[_0x57a82f(0x152)]},'warnings':[_0x57a82f(0x101)+_0xa2f77d[_0x57a82f(0x139)]+_0x57a82f(0x14f)],'verification':{'status':_0x57a82f(0x151),'targetId':_0xa2f77d[_0x57a82f(0x139)],'lookupCommand':_0xa2f77d[_0x57a82f(0x13d)]}});}const _0xe8c34e=_0x157350[_0x57a82f(0xee)][_0x57a82f(0xfc)](_0xa2f77d[_0x57a82f(0x139)]);try{if(!_0xe8c34e)throw menuError(_0x57a82f(0xf0),_0x57a82f(0x104)+_0xa2f77d[_0x57a82f(0x139)]+_0x57a82f(0xd4),_0x57a82f(0x13f)+_0xa2f77d[_0x57a82f(0x13d)]+_0x57a82f(0xf9));verifyCreatedFact(_0xe8c34e,_0xa2f77d[_0x57a82f(0x139)],_0xa2f77d[_0x57a82f(0xd1)],_0xa2f77d[_0x57a82f(0x152)]);}catch(_0x1d66ea){const _0x74ae37=_0x1d66ea instanceof Error&&_0x57a82f(0x123)in _0x1d66ea?_0x1d66ea:menuError(_0x57a82f(0xf0),_0x57a82f(0x104)+_0xa2f77d[_0x57a82f(0x139)]+'\x20failed\x20final\x20verification.',_0x57a82f(0x13f)+_0xa2f77d[_0x57a82f(0x13d)]+'\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.');throw externalLinkCreateFailure(_0x74ae37,_0xa2f77d[_0x57a82f(0xe0)],{'stage':_0x57a82f(0xf7),'succeeded':[{'id':_0xa2f77d[_0x57a82f(0x139)],'created':!![]}],'failed':{'id':_0xa2f77d[_0x57a82f(0x139)],'finalFactsConfirmed':![]},'after':_0xe8c34e??{..._0xa2f77d[_0x57a82f(0xd1)],'id':_0xa2f77d[_0x57a82f(0x139)],'path':_0xa2f77d[_0x57a82f(0x152)]},'warnings':[_0x57a82f(0x101)+_0xa2f77d['createdId']+'\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.'],'verification':{'status':_0x57a82f(0x151),'targetId':_0xa2f77d[_0x57a82f(0x139)],'recovered':_0xa2f77d['recovered'],'lookupCommand':_0xa2f77d['lookupCommand']}});}return{'snapshot':_0x157350,'fact':_0xe8c34e};}function verifyCreatedFact(_0x1ec3f4,_0x187049,_0x23c42e,_0x5eb9f9){const _0x4c39ac=a111_0x3ca769;if(!Number[_0x4c39ac(0xda)](_0x1ec3f4['id'])||_0x1ec3f4['id']<=0x0||_0x1ec3f4['id']!==_0x187049)throw menuError(_0x4c39ac(0xf0),_0x4c39ac(0x103),_0x4c39ac(0xf3));const _0x43bedd=[['parent',_0x1ec3f4[_0x4c39ac(0xcb)],_0x23c42e[_0x4c39ac(0xcb)]],[_0x4c39ac(0x11b),_0x1ec3f4['type'],_0x23c42e[_0x4c39ac(0x11b)]],[_0x4c39ac(0x137),_0x1ec3f4[_0x4c39ac(0x137)],_0x23c42e[_0x4c39ac(0x137)]],[_0x4c39ac(0x153),_0x1ec3f4[_0x4c39ac(0x138)],_0x23c42e[_0x4c39ac(0x138)]],[_0x4c39ac(0xc8),_0x1ec3f4['visible'],_0x23c42e[_0x4c39ac(0xef)]],[_0x4c39ac(0xe1),_0x1ec3f4[_0x4c39ac(0xe1)],_0x23c42e[_0x4c39ac(0xe1)]]];for(const [_0x526601,_0x1b74c9,_0x244591]of _0x43bedd){if(_0x1b74c9!==_0x244591)throw menuError(_0x4c39ac(0xf0),'Created\x20menu\x20'+_0x1ec3f4['id']+_0x4c39ac(0x100)+_0x526601+'.','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.');}if(!_0x1ec3f4[_0x4c39ac(0xf5)][_0x4c39ac(0x126)]()||_0x5eb9f9!==null&&_0x1ec3f4['path']!==_0x5eb9f9)throw menuError('menu_verification_failed','Created\x20menu\x20'+_0x1ec3f4['id']+'\x20has\x20an\x20unexpected\x20generated\x20path.','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.');}function creationSuccess(_0x4d8b0c,_0x378166,_0x3ba597,_0x13ed4b){const _0x35dfd7=a111_0x3ca769,_0x549463=mutationResult({..._0x4d8b0c,'after':_0x3ba597,'dryRun':![],'succeeded':[{'id':_0x3ba597['id'],'created':!![],'recovered':_0x13ed4b}],'verification':{'checkedBy':_0x35dfd7(0x135),'snapshotHash':_0x378166['hash'],'targetId':_0x3ba597['id'],'recovered':_0x13ed4b,'path':_0x3ba597[_0x35dfd7(0xf5)]}});return{'ok':!![],'message':_0x13ed4b?'Recovered\x20created\x20external\x20menu\x20'+_0x3ba597['id']+_0x35dfd7(0x14c):_0x35dfd7(0x113)+_0x3ba597['id']+'.','data':{..._0x549463,'recovered':_0x13ed4b}};}function externalLinkCreateFailure(_0xb6cb2c,_0x386e33,_0x4f7321){const _0xd64cdf=a111_0x3ca769;return menuFailure(safeMenuAddError(_0xb6cb2c),redactFailurePlan(_0x386e33),{..._0x4f7321,'succeeded':_0x4f7321[_0xd64cdf(0x10c)]?.[_0xd64cdf(0xcf)](redactFailureRecord),'failed':_0x4f7321[_0xd64cdf(0x151)]?redactFailureRecord(_0x4f7321[_0xd64cdf(0x151)]):undefined,'verification':_0x4f7321[_0xd64cdf(0xf7)]?redactFailureRecord(_0x4f7321[_0xd64cdf(0xf7)]):undefined,'after':_0x4f7321[_0xd64cdf(0x12c)]===undefined?undefined:redactFailureValue(_0x4f7321['after'])});}function redactFailurePlan(_0x41c86f){const _0x2c43af=a111_0x3ca769;return{..._0x41c86f,'selector':redactFailureRecord(_0x41c86f[_0x2c43af(0x118)]),'before':redactFailureValue(_0x41c86f[_0x2c43af(0x107)]),'after':redactFailureValue(_0x41c86f[_0x2c43af(0x12c)]),'plannedActions':_0x41c86f[_0x2c43af(0xf2)]?.[_0x2c43af(0xcf)](_0x33a99a=>({..._0x33a99a,'body':redactFailureRecord(_0x33a99a[_0x2c43af(0x106)])})),'succeeded':_0x41c86f[_0x2c43af(0x10c)]['map'](redactFailureRecord),'failed':_0x41c86f[_0x2c43af(0x151)][_0x2c43af(0xcf)](redactFailureRecord),'verification':_0x41c86f[_0x2c43af(0xf7)]?redactFailureRecord(_0x41c86f[_0x2c43af(0xf7)]):undefined};}function redactFailureRecord(_0x3bde89){return redactFailureValue(_0x3bde89);}function redactFailureValue(_0x5de607,_0x2d4da4=''){const _0x5306c0=a111_0x3ca769,_0x25d475=_0x2d4da4[_0x5306c0(0x13e)]()[_0x5306c0(0xe9)](/[^a-z0-9]/g,'');if([_0x5306c0(0x117),_0x5306c0(0x146),_0x5306c0(0x132),_0x5306c0(0xe4)][_0x5306c0(0x140)](_0x25d475))return _0x5306c0(0xf1);if(Array[_0x5306c0(0x13a)](_0x5de607))return _0x5de607[_0x5306c0(0xcf)](_0x140196=>redactFailureValue(_0x140196));if(_0x5de607&&typeof _0x5de607===_0x5306c0(0x149))return Object[_0x5306c0(0x131)](Object[_0x5306c0(0xd2)](_0x5de607)['map'](([_0x141899,_0x2e6e1f])=>[_0x141899,redactFailureValue(_0x2e6e1f,_0x141899)]));return _0x5de607;}function safeMenuAddError(_0x2fd919){const _0x1b4c10=a111_0x3ca769,_0x503a80=_0x2fd919 instanceof CliError?_0x2fd919[_0x1b4c10(0x123)]:_0x1b4c10(0x133);switch(_0x503a80){case'menu_state_drift':return menuError(_0x503a80,_0x1b4c10(0x14d),_0x1b4c10(0x105));case'menu_permission_denied':return menuError(_0x503a80,_0x1b4c10(0xfe),_0x1b4c10(0xe8));case _0x1b4c10(0xcc):return menuError(_0x503a80,_0x1b4c10(0x12a),_0x1b4c10(0x147));case _0x1b4c10(0xf0):return menuError(_0x503a80,_0x1b4c10(0x141),'Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.');case _0x1b4c10(0xdf):return menuError(_0x503a80,_0x1b4c10(0xd5),_0x1b4c10(0xd6));case _0x1b4c10(0x133):case _0x1b4c10(0xd7):case _0x1b4c10(0x11e):case'menu_sort_invalid':case _0x1b4c10(0x11a):return menuError(_0x503a80,_0x1b4c10(0xe5),_0x1b4c10(0xe6));default:return menuError('menu_mutation_failed',_0x1b4c10(0xe5),_0x1b4c10(0xe6));}}function getFailureRecord(_0x4f5141){const _0x2446da=a111_0x3ca769;if(!(_0x4f5141 instanceof Error)||!(_0x2446da(0x150)in _0x4f5141))return undefined;const _0x49a43e=_0x4f5141[_0x2446da(0x150)];if(!_0x49a43e||typeof _0x49a43e!==_0x2446da(0x149))return undefined;const _0x28c056=_0x49a43e[_0x2446da(0x151)];if(!Array[_0x2446da(0x13a)](_0x28c056)||!_0x28c056[0x0]||typeof _0x28c056[0x0]!==_0x2446da(0x149))return undefined;return _0x28c056[0x0];}
|
|
1
|
+
const a112_0x37fb84=a112_0x43b2;(function(_0x471cf5,_0x3dae15){const _0x5598b6=a112_0x43b2,_0x666a8c=_0x471cf5();while(!![]){try{const _0x58bfc4=parseInt(_0x5598b6(0x13a))/0x1+parseInt(_0x5598b6(0x14b))/0x2+-parseInt(_0x5598b6(0x130))/0x3*(-parseInt(_0x5598b6(0x174))/0x4)+-parseInt(_0x5598b6(0x10a))/0x5*(-parseInt(_0x5598b6(0x14a))/0x6)+parseInt(_0x5598b6(0x126))/0x7*(-parseInt(_0x5598b6(0x169))/0x8)+-parseInt(_0x5598b6(0x16c))/0x9+-parseInt(_0x5598b6(0x110))/0xa;if(_0x58bfc4===_0x3dae15)break;else _0x666a8c['push'](_0x666a8c['shift']());}catch(_0x52ae7c){_0x666a8c['push'](_0x666a8c['shift']());}}}(a112_0x4ec0,0x19b9a));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':a112_0x37fb84(0x178),'new-window':a112_0x37fb84(0x184)};export function validateExternalMenuUrl(_0x5bc9cf){const _0xc0d0eb=a112_0x37fb84,_0x389465=_0x5bc9cf['trim']();let _0x506adc;try{_0x506adc=new URL(_0x389465);}catch{throw menuError(_0xc0d0eb(0x117),_0xc0d0eb(0x118),_0xc0d0eb(0x147));}if(_0x506adc[_0xc0d0eb(0x101)]!==_0xc0d0eb(0x168))throw menuError(_0xc0d0eb(0x140),_0xc0d0eb(0x13e),'Provide\x20an\x20HTTPS\x20URL.');if(_0x506adc[_0xc0d0eb(0x13b)]||_0x506adc[_0xc0d0eb(0x153)])throw menuError('menu_url_credentials_forbidden',_0xc0d0eb(0x182),_0xc0d0eb(0x115));return _0x389465;}export const menuExternalLinkCreate={'service':a112_0x37fb84(0x14c),'command':'external-link-create','description':a112_0x37fb84(0x150),'risk':a112_0x37fb84(0x139),'structuredErrors':!![],'flags':[{'name':a112_0x37fb84(0x116),'type':'string','required':!![],'description':a112_0x37fb84(0x177)},{'name':a112_0x37fb84(0x121),'type':a112_0x37fb84(0x108),'required':!![],'enum':[a112_0x37fb84(0x165),a112_0x37fb84(0x114)],'description':a112_0x37fb84(0x158)},{'name':'url','type':a112_0x37fb84(0x108),'required':!![],'description':a112_0x37fb84(0x16d)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':a112_0x37fb84(0x105),'type':a112_0x37fb84(0x10b),'default':!![],'description':a112_0x37fb84(0x144)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x14ddaf){validateAddInput(_0x14ddaf);},async 'dryRun'(_0x611504){const _0x21201e=a112_0x37fb84;validateAddInput(_0x611504);const {plan:_0x3093a8}=await buildSafeAddPlan(_0x611504,!![]),_0x5260e4=_0x3093a8[_0x21201e(0x12b)],_0x268d80=createBody(_0x5260e4);return menuDryRunResult(_0x3093a8,{'method':_0x21201e(0x103),'url':_0x21201e(0x11e),'body':_0x268d80,'description':_0x21201e(0x113)+JSON[_0x21201e(0x15a)](_0x5260e4[_0x21201e(0x116)])+'\x20with\x20'+_0x611504['str'](_0x21201e(0x121))+_0x21201e(0x186)});},async 'execute'(_0xde93ed){const _0x29341b=a112_0x37fb84;validateAddInput(_0xde93ed);const _0x42e1bd=await buildSafeAddPlan(_0xde93ed,![]),{plan:_0x52f5ea,snapshot:_0x1070bc}=_0x42e1bd,_0x4f9ac8=_0x52f5ea[_0x29341b(0x12b)],_0x245780=buildMenuLookupCommand(_0xde93ed[_0x29341b(0x176)]);await recheckAddSnapshot(_0xde93ed,_0x52f5ea);let _0x233726;try{_0x233726=await createMenuEntity(_0xde93ed[_0x29341b(0x176)],_0xde93ed['cookie'],createBody(_0x4f9ac8));}catch(_0x30d5c5){const _0x506a85=mapMenuApiError(_0x30d5c5,_0x29341b(0x159));if(!isMenuResponseLoss(_0x30d5c5)||_0x506a85['code']===_0x29341b(0x10c))throw externalLinkCreateFailure(_0x506a85,_0x52f5ea,{'stage':'create','failed':{},'verification':{'status':_0x29341b(0x143),'lookupCommand':_0x245780}});return recoverAfterResponseLoss(_0xde93ed,_0x42e1bd,_0x245780);}const _0x26f83a=Number(_0x233726?.['id']),_0x50ebff=typeof _0x233726?.[_0x29341b(0x11d)]==='string'?_0x233726['path']:'';if(!Number[_0x29341b(0x17a)](_0x26f83a)||_0x26f83a<=0x0||!_0x50ebff['trim']()){const _0x5cdb95=menuError(_0x29341b(0x167),_0x29341b(0x15e),_0x29341b(0x136)+_0x245780+_0x29341b(0x164));throw externalLinkCreateFailure(_0x5cdb95,_0x52f5ea,{'stage':_0x29341b(0x149),'succeeded':Number['isSafeInteger'](_0x26f83a)&&_0x26f83a>0x0?[{'id':_0x26f83a,'created':!![]}]:[],'failed':{'createdId':Number[_0x29341b(0x17a)](_0x26f83a)?_0x26f83a:null,'generatedPathConfirmed':Boolean(_0x50ebff[_0x29341b(0x189)]())},'warnings':['The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.'],'after':Number[_0x29341b(0x17a)](_0x26f83a)&&_0x26f83a>0x0?{..._0x4f9ac8,'id':_0x26f83a,'path':_0x50ebff}:_0x4f9ac8,'verification':{'status':'failed','lookupCommand':_0x245780,...Number[_0x29341b(0x17a)](_0x26f83a)&&_0x26f83a>0x0?{'targetId':_0x26f83a}:{}}});}const _0x45783c=await readAndVerifyCreatedMenu({'appCode':_0xde93ed[_0x29341b(0x176)],'cookie':_0xde93ed[_0x29341b(0x10f)],'plan':_0x52f5ea,'afterPlan':_0x4f9ac8,'createdId':_0x26f83a,'expectedPath':_0x50ebff,'lookupCommand':_0x245780,'recovered':![]});return creationSuccess(_0x52f5ea,_0x45783c[_0x29341b(0x122)],_0x45783c[_0x29341b(0x124)],![]);}};function a112_0x4ec0(){const _0x25184d=['\x20failed\x20final\x20verification.','protocol','entries','POST','\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.','visible','toLowerCase','flagMissing','string','The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.','5RlWORy','boolean','menu_permission_denied','\x20--format\x20compress','str','cookie','2708930MLmvGH','hash','rawFlags','Would\x20create\x20external\x20website\x20link\x20menu\x20','new-window','Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.','label','menu_url_invalid','External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.','\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.','menu_state_drift','sort','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.','path','/smartapi/menu/create','menu_mutation_failed','\x20has\x20an\x20unexpected\x20generated\x20path.','open-mode','snapshot','length','fact','lookupCommand','1309NDmMQY','url','Created\x20external\x20menu\x20','Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.','menu_open_mode_invalid','after','cause','isArray','parentId','menu_not_found','3KMypiX','\x20could\x20not\x20be\x20verified.','menu_sort_invalid','Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.','prototype','Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.','Run\x20','hasOwnProperty','rawerror','write','160398BeTVzq','username','create-recovery','menu_create_recovery_required','External\x20menu\x20URL\x20must\x20use\x20HTTPS.','expectedPath','menu_url_https_required','filter','afterPlan','failed','Whether\x20the\x20menu\x20is\x20visible','menu_verification_failed','type','Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.','rabetbase\x20menu\x20list\x20--appcode\x20','create-response-validation','424752TILkfI','153970elbTfw','menu','\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.','verification','<redacted>','Create\x20an\x20external\x20website\x20link\x20menu','map','data','password','call','selector','get','byId','How\x20to\x20open\x20the\x20external\x20website','create\x20external\x20menu','stringify','bool','currentSnapshotHash','\x27\x5c\x27\x27','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.','--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.','External\x20menu\x20creation\x20failed.','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.','replace','createdId','\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.','embedded','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.','menu_create_response_invalid','https:','56kNxQhr','causemessage','menu\x20list','1214604rpjdSE','External\x20HTTPS\x20URL','parent-id','readbackerror','Menu\x20','Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.','before','\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.','817412aBNtLg','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.','appCode','Menu\x20label','iframe','URL','isSafeInteger','Recovered\x20menu\x20','has','\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.','\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.','Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.','\x20has\x20an\x20unexpected\x20','External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.','expectedSnapshotHash','link','plannedActions','\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.','plan','create-menu','trim','code','\x20is\x20missing\x20from\x20final\x20menu\x20facts.','includes','succeeded','Created\x20menu\x20','menu_parent_not_folder'];a112_0x4ec0=function(){return _0x25184d;};return a112_0x4ec0();}function validateAddInput(_0x12c3da){const _0x1c5117=a112_0x37fb84;if(!_0x12c3da[_0x1c5117(0x10e)]('label')[_0x1c5117(0x189)]())throw CliErrors[_0x1c5117(0x107)]('label');resolveExternalMenuType(_0x12c3da),validateExternalMenuUrl(_0x12c3da[_0x1c5117(0x10e)](_0x1c5117(0x127))),parseParentId(_0x12c3da,_0x1c5117(0x16e)),validateSort(_0x12c3da);}function resolveExternalMenuType(_0x253a5c){const _0x30078f=a112_0x37fb84,_0x1e7672=_0x253a5c[_0x30078f(0x10e)]('open-mode')[_0x30078f(0x189)]();if(!_0x1e7672)throw CliErrors['flagMissing'](_0x30078f(0x121));const _0x356247=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0x1e7672];if(!_0x356247)throw menuError(_0x30078f(0x12a),_0x30078f(0x15f),_0x30078f(0x171));return _0x356247;}async function buildAddPlan(_0x364733,_0x5ee9b0){const _0x5c8121=a112_0x37fb84,_0xa9ed1f=await fetchMutationSnapshot(_0x364733,_0x5c8121(0x159)),_0x243e60=parseParentId(_0x364733,'parent-id')??null;if(_0x243e60!=null)requireFolder(_0xa9ed1f,_0x243e60);const _0x2da789=validateSort(_0x364733),_0x5e8898=_0x2da789??nextSiblingSort(_0xa9ed1f,_0x243e60,_0x5c8121(0x14c)),_0xa6ebe8=_0x364733[_0x5c8121(0x10e)](_0x5c8121(0x116))[_0x5c8121(0x189)](),_0x30cb39=resolveExternalMenuType(_0x364733),_0x1bee6d=validateExternalMenuUrl(_0x364733[_0x5c8121(0x10e)]('url')),_0x366ac8=Object[_0x5c8121(0x134)][_0x5c8121(0x137)][_0x5c8121(0x154)](_0x364733[_0x5c8121(0x112)],_0x5c8121(0x105))?_0x364733[_0x5c8121(0x15b)](_0x5c8121(0x105)):!![],_0x3b21ac={'id':null,'parentId':_0x243e60,'label':_0xa6ebe8,'path':'<platform-generated>','url':_0x1bee6d,'type':_0x30cb39,'visible':_0x366ac8,'sort':_0x5e8898},_0x208f46=buildMenuLookupCommand(_0x364733[_0x5c8121(0x176)]),_0x49ec3e=mutationResult({'operation':'add','selector':{'parentId':_0x243e60,'type':_0x30cb39,'label':_0xa6ebe8,'url':_0x1bee6d},'before':null,'after':_0x3b21ac,'dryRun':_0x5ee9b0,'backend':[{'method':'POST','path':_0x5c8121(0x11e)}],'plannedActions':[{'stage':_0x5c8121(0x188),'method':_0x5c8121(0x103),'path':_0x5c8121(0x11e),'body':createBody(_0x3b21ac)}],'snapshotHash':_0xa9ed1f[_0x5c8121(0x111)],'warnings':['The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.'],'verification':{'lookupCommand':_0x208f46}});return{'plan':_0x49ec3e,'snapshot':_0xa9ed1f};}function a112_0x43b2(_0x34be1e,_0x151fb0){_0x34be1e=_0x34be1e-0xfe;const _0x4ec0f2=a112_0x4ec0();let _0x43b26d=_0x4ec0f2[_0x34be1e];return _0x43b26d;}async function buildSafeAddPlan(_0x4a86cc,_0x246bf2){try{return await buildAddPlan(_0x4a86cc,_0x246bf2);}catch(_0x292117){throw safeMenuAddError(_0x292117);}}async function recheckAddSnapshot(_0x22b56d,_0x2b2c7a){const _0x4db9e5=a112_0x37fb84;try{await recheckMutationSnapshot(_0x22b56d,_0x2b2c7a,_0x4db9e5(0x159));}catch(_0x5ed61e){const _0xf0f57f=getFailureRecord(_0x5ed61e);throw externalLinkCreateFailure(_0x5ed61e,_0x2b2c7a,{'stage':'pre-write-recheck','failed':{..._0xf0f57f?.[_0x4db9e5(0x183)]?{'expectedSnapshotHash':_0xf0f57f['expectedSnapshotHash']}:{},..._0xf0f57f?.[_0x4db9e5(0x15c)]?{'currentSnapshotHash':_0xf0f57f['currentSnapshotHash']}:{}}});}}function createBody(_0x2aedd9){const _0xc6d750=a112_0x37fb84;return{'parentId':toApiParentId(_0x2aedd9[_0xc6d750(0x12e)]),'label':String(_0x2aedd9[_0xc6d750(0x116)]),'type':String(_0x2aedd9[_0xc6d750(0x146)]),'url':String(_0x2aedd9[_0xc6d750(0x127)]),'visible':Boolean(_0x2aedd9[_0xc6d750(0x105)]),'sort':Number(_0x2aedd9['sort']),'extend':{}};}function buildMenuLookupCommand(_0x390d8b){const _0x2cb70a=a112_0x37fb84,_0x891797='\x27'+_0x390d8b[_0x2cb70a(0x162)](/'/g,_0x2cb70a(0x15d))+'\x27';return _0x2cb70a(0x148)+_0x891797+_0x2cb70a(0x10d);}async function recoverAfterResponseLoss(_0x41e2e1,_0x5ca452,_0xf1deb8){const _0x4ff4d1=a112_0x37fb84,{plan:_0x29d013,snapshot:_0x9005b7}=_0x5ca452,_0x195e29=_0x29d013[_0x4ff4d1(0x12b)];let _0x205504;try{_0x205504=await fetchMenuSnapshot(_0x41e2e1[_0x4ff4d1(0x176)],_0x41e2e1[_0x4ff4d1(0x10f)]);}catch(_0x273da5){throw recoveryRequiredFailure(_0x29d013,_0xf1deb8,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0x299262=_0x205504['menus'][_0x4ff4d1(0x141)](_0x2db675=>_0x2db675['parentId']===_0x195e29[_0x4ff4d1(0x12e)]&&_0x2db675[_0x4ff4d1(0x146)]===_0x195e29['type']&&_0x2db675['label']===_0x195e29[_0x4ff4d1(0x116)]&&_0x2db675[_0x4ff4d1(0x127)]===_0x195e29[_0x4ff4d1(0x127)]),_0x8024bc=_0x299262['filter'](_0x588488=>!_0x9005b7[_0x4ff4d1(0x157)][_0x4ff4d1(0x17c)](_0x588488['id'])),_0x3da211=_0x299262[_0x4ff4d1(0x141)](_0x274ddf=>_0x9005b7[_0x4ff4d1(0x157)][_0x4ff4d1(0x17c)](_0x274ddf['id']));if(_0x299262['length']!==0x1||_0x8024bc[_0x4ff4d1(0x123)]!==0x1)throw recoveryRequiredFailure(_0x29d013,_0xf1deb8,{'matchCount':_0x299262[_0x4ff4d1(0x123)],'newMatchCount':_0x8024bc[_0x4ff4d1(0x123)],'preexistingMatchCount':_0x3da211[_0x4ff4d1(0x123)]});const _0xf3f2cb=_0x8024bc[0x0];try{verifyCreatedFact(_0xf3f2cb,_0xf3f2cb['id'],_0x195e29,null);}catch(_0x41e32c){const _0x5a55a5=_0x41e32c instanceof Error&&'code'in _0x41e32c?_0x41e32c:menuError(_0x4ff4d1(0x145),_0x4ff4d1(0x17b)+_0xf3f2cb['id']+_0x4ff4d1(0x131),_0x4ff4d1(0x136)+_0xf1deb8+'\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.');throw externalLinkCreateFailure(_0x5a55a5,_0x29d013,{'stage':'verification','succeeded':[{'id':_0xf3f2cb['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0xf3f2cb['id'],'finalFactsConfirmed':![]},'after':_0xf3f2cb,'warnings':['Menu\x20'+_0xf3f2cb['id']+_0x4ff4d1(0x14d)],'verification':{'status':_0x4ff4d1(0x143),'targetId':_0xf3f2cb['id'],'recovered':!![],'lookupCommand':_0xf1deb8}});}return creationSuccess(_0x29d013,_0x205504,_0xf3f2cb,!![]);}function recoveryRequiredFailure(_0x159680,_0x45282c,_0x576c24){const _0x45acb9=a112_0x37fb84,_0x5a25d9=menuError(_0x45acb9(0x13d),'The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.',_0x45acb9(0x136)+_0x45282c+_0x45acb9(0x17f));return externalLinkCreateFailure(_0x5a25d9,_0x159680,{'stage':_0x45acb9(0x13c),'failed':_0x576c24,'warnings':[_0x45acb9(0x109)],'verification':{'status':_0x45acb9(0x143),..._0x576c24,'lookupCommand':_0x45282c}});}async function readAndVerifyCreatedMenu(_0x25c468){const _0x532c4f=a112_0x37fb84;let _0x57db01;try{_0x57db01=await fetchMenuSnapshot(_0x25c468[_0x532c4f(0x176)],_0x25c468[_0x532c4f(0x10f)]);}catch(_0x1c44fb){const _0x162054=menuError(_0x532c4f(0x145),_0x532c4f(0x170)+_0x25c468[_0x532c4f(0x163)]+_0x532c4f(0x17d),'Run\x20'+_0x25c468[_0x532c4f(0x125)]+_0x532c4f(0x173));throw externalLinkCreateFailure(_0x162054,_0x25c468[_0x532c4f(0x187)],{'stage':'verification','succeeded':[{'id':_0x25c468[_0x532c4f(0x163)],'created':!![]}],'failed':{'id':_0x25c468[_0x532c4f(0x163)],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0x25c468[_0x532c4f(0x142)],'id':_0x25c468[_0x532c4f(0x163)],'path':_0x25c468[_0x532c4f(0x13f)]},'warnings':[_0x532c4f(0x170)+_0x25c468['createdId']+_0x532c4f(0x119)],'verification':{'status':_0x532c4f(0x143),'targetId':_0x25c468['createdId'],'lookupCommand':_0x25c468['lookupCommand']}});}const _0xecd85b=_0x57db01[_0x532c4f(0x157)][_0x532c4f(0x156)](_0x25c468[_0x532c4f(0x163)]);try{if(!_0xecd85b)throw menuError(_0x532c4f(0x145),_0x532c4f(0xfe)+_0x25c468[_0x532c4f(0x163)]+_0x532c4f(0x18b),_0x532c4f(0x136)+_0x25c468['lookupCommand']+'\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.');verifyCreatedFact(_0xecd85b,_0x25c468['createdId'],_0x25c468[_0x532c4f(0x142)],_0x25c468[_0x532c4f(0x13f)]);}catch(_0x7de02a){const _0x222074=_0x7de02a instanceof Error&&_0x532c4f(0x18a)in _0x7de02a?_0x7de02a:menuError('menu_verification_failed',_0x532c4f(0xfe)+_0x25c468['createdId']+_0x532c4f(0x100),_0x532c4f(0x136)+_0x25c468[_0x532c4f(0x125)]+_0x532c4f(0x173));throw externalLinkCreateFailure(_0x222074,_0x25c468[_0x532c4f(0x187)],{'stage':_0x532c4f(0x14e),'succeeded':[{'id':_0x25c468[_0x532c4f(0x163)],'created':!![]}],'failed':{'id':_0x25c468[_0x532c4f(0x163)],'finalFactsConfirmed':![]},'after':_0xecd85b??{..._0x25c468['afterPlan'],'id':_0x25c468[_0x532c4f(0x163)],'path':_0x25c468[_0x532c4f(0x13f)]},'warnings':[_0x532c4f(0x170)+_0x25c468[_0x532c4f(0x163)]+_0x532c4f(0x104)],'verification':{'status':'failed','targetId':_0x25c468['createdId'],'recovered':_0x25c468['recovered'],'lookupCommand':_0x25c468['lookupCommand']}});}return{'snapshot':_0x57db01,'fact':_0xecd85b};}function verifyCreatedFact(_0xfb3d0f,_0x3fb625,_0x4075ff,_0xae1321){const _0x5b26e8=a112_0x37fb84;if(!Number[_0x5b26e8(0x17a)](_0xfb3d0f['id'])||_0xfb3d0f['id']<=0x0||_0xfb3d0f['id']!==_0x3fb625)throw menuError(_0x5b26e8(0x145),'Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.',_0x5b26e8(0x180));const _0x83aaeb=[['parent',_0xfb3d0f[_0x5b26e8(0x12e)],_0x4075ff['parentId']],[_0x5b26e8(0x146),_0xfb3d0f[_0x5b26e8(0x146)],_0x4075ff[_0x5b26e8(0x146)]],[_0x5b26e8(0x116),_0xfb3d0f['label'],_0x4075ff[_0x5b26e8(0x116)]],[_0x5b26e8(0x179),_0xfb3d0f[_0x5b26e8(0x127)],_0x4075ff[_0x5b26e8(0x127)]],['visibility',_0xfb3d0f[_0x5b26e8(0x105)],_0x4075ff['visible']],[_0x5b26e8(0x11b),_0xfb3d0f[_0x5b26e8(0x11b)],_0x4075ff[_0x5b26e8(0x11b)]]];for(const [_0x41d96c,_0x61092c,_0x251ebb]of _0x83aaeb){if(_0x61092c!==_0x251ebb)throw menuError('menu_verification_failed',_0x5b26e8(0xfe)+_0xfb3d0f['id']+_0x5b26e8(0x181)+_0x41d96c+'.',_0x5b26e8(0x161));}if(!_0xfb3d0f['path'][_0x5b26e8(0x189)]()||_0xae1321!==null&&_0xfb3d0f[_0x5b26e8(0x11d)]!==_0xae1321)throw menuError('menu_verification_failed',_0x5b26e8(0xfe)+_0xfb3d0f['id']+_0x5b26e8(0x120),_0x5b26e8(0x161));}function creationSuccess(_0x39488c,_0xe9e0e3,_0x1fc520,_0x3be2ef){const _0x15e3d1=a112_0x37fb84,_0x429f8c=mutationResult({..._0x39488c,'after':_0x1fc520,'dryRun':![],'succeeded':[{'id':_0x1fc520['id'],'created':!![],'recovered':_0x3be2ef}],'verification':{'checkedBy':_0x15e3d1(0x16b),'snapshotHash':_0xe9e0e3[_0x15e3d1(0x111)],'targetId':_0x1fc520['id'],'recovered':_0x3be2ef,'path':_0x1fc520[_0x15e3d1(0x11d)]}});return{'ok':!![],'message':_0x3be2ef?'Recovered\x20created\x20external\x20menu\x20'+_0x1fc520['id']+'\x20after\x20response\x20loss.':_0x15e3d1(0x128)+_0x1fc520['id']+'.','data':{..._0x429f8c,'recovered':_0x3be2ef}};}function externalLinkCreateFailure(_0x25dd05,_0x16ebdc,_0x34a0fc){const _0x1f7a1b=a112_0x37fb84;return menuFailure(safeMenuAddError(_0x25dd05),redactFailurePlan(_0x16ebdc),{..._0x34a0fc,'succeeded':_0x34a0fc[_0x1f7a1b(0x18d)]?.[_0x1f7a1b(0x151)](redactFailureRecord),'failed':_0x34a0fc[_0x1f7a1b(0x143)]?redactFailureRecord(_0x34a0fc['failed']):undefined,'verification':_0x34a0fc['verification']?redactFailureRecord(_0x34a0fc[_0x1f7a1b(0x14e)]):undefined,'after':_0x34a0fc[_0x1f7a1b(0x12b)]===undefined?undefined:redactFailureValue(_0x34a0fc[_0x1f7a1b(0x12b)])});}function redactFailurePlan(_0x3825e0){const _0x4a441f=a112_0x37fb84;return{..._0x3825e0,'selector':redactFailureRecord(_0x3825e0[_0x4a441f(0x155)]),'before':redactFailureValue(_0x3825e0[_0x4a441f(0x172)]),'after':redactFailureValue(_0x3825e0[_0x4a441f(0x12b)]),'plannedActions':_0x3825e0[_0x4a441f(0x185)]?.[_0x4a441f(0x151)](_0x50e406=>({..._0x50e406,'body':redactFailureRecord(_0x50e406['body'])})),'succeeded':_0x3825e0['succeeded']['map'](redactFailureRecord),'failed':_0x3825e0[_0x4a441f(0x143)]['map'](redactFailureRecord),'verification':_0x3825e0['verification']?redactFailureRecord(_0x3825e0[_0x4a441f(0x14e)]):undefined};}function redactFailureRecord(_0x257c35){return redactFailureValue(_0x257c35);}function redactFailureValue(_0x235df7,_0x3a5044=''){const _0x36e15c=a112_0x37fb84,_0x34425d=_0x3a5044[_0x36e15c(0x106)]()[_0x36e15c(0x162)](/[^a-z0-9]/g,'');if([_0x36e15c(0x12c),_0x36e15c(0x16a),_0x36e15c(0x16f),_0x36e15c(0x138)][_0x36e15c(0x18c)](_0x34425d))return _0x36e15c(0x14f);if(Array[_0x36e15c(0x12d)](_0x235df7))return _0x235df7['map'](_0x104bf2=>redactFailureValue(_0x104bf2));if(_0x235df7&&typeof _0x235df7==='object')return Object['fromEntries'](Object[_0x36e15c(0x102)](_0x235df7)['map'](([_0x2de21b,_0x58c643])=>[_0x2de21b,redactFailureValue(_0x58c643,_0x2de21b)]));return _0x235df7;}function safeMenuAddError(_0x36894d){const _0x1216a2=a112_0x37fb84,_0x4de460=_0x36894d instanceof CliError?_0x36894d['code']:'menu_mutation_failed';switch(_0x4de460){case _0x1216a2(0x11a):return menuError(_0x4de460,_0x1216a2(0x133),'Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.');case _0x1216a2(0x10c):return menuError(_0x4de460,_0x1216a2(0x135),_0x1216a2(0x166));case _0x1216a2(0x167):return menuError(_0x4de460,'Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.',_0x1216a2(0x17e));case'menu_verification_failed':return menuError(_0x4de460,_0x1216a2(0x129),_0x1216a2(0x17e));case _0x1216a2(0x13d):return menuError(_0x4de460,'The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.',_0x1216a2(0x175));case'menu_mutation_failed':case _0x1216a2(0x12f):case _0x1216a2(0xff):case _0x1216a2(0x132):case'menu_sort_overflow':return menuError(_0x4de460,_0x1216a2(0x160),_0x1216a2(0x11c));default:return menuError(_0x1216a2(0x11f),_0x1216a2(0x160),_0x1216a2(0x11c));}}function getFailureRecord(_0x257c81){const _0x33ae39=a112_0x37fb84;if(!(_0x257c81 instanceof Error)||!(_0x33ae39(0x152)in _0x257c81))return undefined;const _0x15e89a=_0x257c81[_0x33ae39(0x152)];if(!_0x15e89a||typeof _0x15e89a!=='object')return undefined;const _0x4368e3=_0x15e89a[_0x33ae39(0x143)];if(!Array['isArray'](_0x4368e3)||!_0x4368e3[0x0]||typeof _0x4368e3[0x0]!=='object')return undefined;return _0x4368e3[0x0];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a112_0x11bafc=a112_0x2928;(function(_0x4799b7,_0x33e0b3){const _0x4d1ca2=a112_0x2928,_0x420838=_0x4799b7();while(!![]){try{const _0x4502b1=-parseInt(_0x4d1ca2(0x196))/0x1*(parseInt(_0x4d1ca2(0x1b2))/0x2)+-parseInt(_0x4d1ca2(0x195))/0x3+-parseInt(_0x4d1ca2(0x1b3))/0x4*(parseInt(_0x4d1ca2(0x1b1))/0x5)+-parseInt(_0x4d1ca2(0x199))/0x6+-parseInt(_0x4d1ca2(0x1b6))/0x7+parseInt(_0x4d1ca2(0x1c0))/0x8+parseInt(_0x4d1ca2(0x1a7))/0x9;if(_0x4502b1===_0x33e0b3)break;else _0x420838['push'](_0x420838['shift']());}catch(_0x4532c9){_0x420838['push'](_0x420838['shift']());}}}(a112_0x40c4,0xa9889));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';function a112_0x2928(_0x519ed3,_0x4930ee){_0x519ed3=_0x519ed3-0x180;const _0x40c444=a112_0x40c4();let _0x292833=_0x40c444[_0x519ed3];return _0x292833;}import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a112_0x11bafc(0x1c9),'path':a112_0x11bafc(0x1d6)}];export const menuExternalLinkUpdate={'service':a112_0x11bafc(0x1ae),'command':a112_0x11bafc(0x18c),'description':a112_0x11bafc(0x1aa),'risk':a112_0x11bafc(0x192),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':a112_0x11bafc(0x1a8),'type':'string','required':!![],'description':a112_0x11bafc(0x1cb)},{'name':a112_0x11bafc(0x1a2),'type':a112_0x11bafc(0x19b),'required':!![],'description':a112_0x11bafc(0x1a1)},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x25ec24){validateInput(_0x25ec24);},async 'dryRun'(_0x238dac){const _0x1eee8b=a112_0x11bafc;validateInput(_0x238dac);const _0x4c951c=await buildPlan(_0x238dac,!![]);return menuDryRunResult(_0x4c951c['plan'],{'method':_0x1eee8b(0x1c9),'url':'/smartapi/menu/update','body':_0x4c951c[_0x1eee8b(0x180)],'description':_0x1eee8b(0x18f)+_0x4c951c[_0x1eee8b(0x180)]['id']+'.'});},async 'execute'(_0x3325a6){const _0x4c5006=a112_0x11bafc;validateInput(_0x3325a6);const _0x4efdc5=await buildPlan(_0x3325a6,![]),{plan:_0x21fc47,body:_0x4d9e98,before:_0x24f852,noChanges:_0x5c68d0}=_0x4efdc5,_0x410797=_0x4d9e98['id'];if(_0x5c68d0)return updateSuccess(_0x21fc47,_0x4efdc5[_0x4c5006(0x1ac)],_0x24f852,!![],![]);await recheckMutationSnapshot(_0x3325a6,_0x21fc47,_0x4c5006(0x186),_0x410797);try{await updateMenuEntity(_0x3325a6[_0x4c5006(0x18d)],_0x3325a6['cookie'],{'id':_0x4d9e98['id'],'url':_0x4d9e98[_0x4c5006(0x1a8)]});}catch(_0x20a95b){const _0x3e5d51=mapMenuApiError(_0x20a95b,_0x4c5006(0x186),_0x410797);if(isMenuResponseLoss(_0x20a95b)&&_0x3e5d51[_0x4c5006(0x1ba)]!==_0x4c5006(0x18e))return recoverAfterResponseLoss(_0x3325a6,_0x4efdc5);throw menuFailure(_0x3e5d51,_0x21fc47,{'stage':'update','failed':{'id':_0x410797},'warnings':[_0x4c5006(0x19c)],'verification':{'status':'failed','targetId':_0x410797,'lookupCommand':buildLookupCommand(_0x3325a6[_0x4c5006(0x18d)])}});}let _0x5d6c9e,_0x3db917;try{_0x5d6c9e=await fetchMenuSnapshot(_0x3325a6[_0x4c5006(0x18d)],_0x3325a6[_0x4c5006(0x1a3)]),_0x3db917=requireMenu(_0x5d6c9e,_0x410797),verifyUpdatedFact(_0x24f852,_0x3db917,_0x4d9e98['url']);}catch(_0x45b876){const _0x449be7=describeMenuErrorCause(_0x45b876,_0x4c5006(0x1bb),_0x410797),_0x1e8e02=asVerificationError(_0x45b876,'Update\x20request\x20for\x20menu\x20'+_0x410797+_0x4c5006(0x187));throw menuFailure(_0x1e8e02,_0x21fc47,{'stage':_0x4c5006(0x19e),'succeeded':[{'id':_0x410797,'updateRequested':!![]}],'failed':{'id':_0x410797,'requestedStateConfirmed':![],..._0x449be7},'warnings':[_0x4c5006(0x181)],'verification':{'status':_0x4c5006(0x1af),'targetId':_0x410797,'lookupCommand':buildLookupCommand(_0x3325a6[_0x4c5006(0x18d)])}});}return updateSuccess(_0x21fc47,_0x5d6c9e,_0x3db917,![],![]);}};function validateInput(_0x5115a6){validateExactId(_0x5115a6),requiredUrl(_0x5115a6,'url'),requiredExpectedUrl(_0x5115a6),parseParentId(_0x5115a6,'expect-parent-id',{'required':!![]});}function requiredUrl(_0x38396b,_0x14d278){const _0xc31883=a112_0x11bafc;if(!hasFlag(_0x38396b,_0x14d278)||!_0x38396b['str'](_0x14d278)[_0xc31883(0x1c8)]())throw CliErrors[_0xc31883(0x1b9)](_0x14d278);return validateExternalMenuUrl(_0x38396b['str'](_0x14d278));}function requiredExpectedUrl(_0x1eb019){const _0x3b261c=a112_0x11bafc;if(!hasFlag(_0x1eb019,_0x3b261c(0x1a2))||!_0x1eb019[_0x3b261c(0x1c5)]('expect-url')[_0x3b261c(0x1c8)]())throw CliErrors[_0x3b261c(0x1b9)](_0x3b261c(0x1a2));return _0x1eb019[_0x3b261c(0x1c5)]('expect-url')[_0x3b261c(0x1c8)]();}function a112_0x40c4(){const _0x12e8e2=['35284716TbZDoe','url','Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.','Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','\x20direct\x20child\x20menu(s).','snapshot','The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.','menu','failed','parentId','102005YukiZz','66qsUyBE','172JSSMXd',',\x20current\x20','\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.','6791953JdmAoJ','readbackFailed','requestedUrlObserved','flagMissing','code','verify\x20external\x20menu\x20URL\x20update','unknown','The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.','iframe','\x20--format\x20compress','4284080irGnNE','Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20','\x20could\x20not\x20be\x20verified\x20safely','\x20URL\x20update\x20did\x20not\x20take\x20effect.','The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.','str','\x20changed\x20during\x20the\x20URL-only\x20update.','External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.','trim','POST','update-recovery','New\x20external\x20HTTPS\x20URL','replace','menu_update_recovery_required','The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.','menu_external_link_not_leaf','path','\x20is\x20type\x20\x22','Updated\x20external\x20URL\x20for\x20menu\x20','link','after','menu\x20list','/smartapi/menu/update','body','The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','menu_external_link_type_required','expect-parent-id','menu_state_drift','\x27\x5c\x27\x27','update\x20external\x20menu\x20URL','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','sort','update-external-link-url','byId','type','external-link-update','appCode','menu_permission_denied','Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20','rabetbase\x20menu\x20list\x20--appcode\x20','label','write','visible','\x20has\x20','2950773cDANKd','26519JiNGEn','\x20URL\x20no\x20longer\x20matches\x20--expect-url.','\x22,\x20not\x20iframe\x20or\x20link.','332310eyTJqr','Run\x20','string','The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','verification','Menu\x20','\x20has\x20an\x20empty\x20platform\x20path.','Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed','expect-url','cookie','\x20parent\x20changed:\x20expected\x20','Response\x20was\x20lost\x20and\x20menu\x20','childrenCount'];a112_0x40c4=function(){return _0x12e8e2;};return a112_0x40c4();}async function buildPlan(_0x2975cc,_0x4f46d9){const _0x31d3cb=a112_0x11bafc,_0x316621=validateExactId(_0x2975cc),_0x394e55=requiredUrl(_0x2975cc,_0x31d3cb(0x1a8)),_0x44b7d7=requiredExpectedUrl(_0x2975cc),_0x2b82a6=parseParentId(_0x2975cc,_0x31d3cb(0x183),{'required':!![]}),_0x4e8dfb=await fetchMutationSnapshot(_0x2975cc,_0x31d3cb(0x186),_0x316621),_0x22a22a=requireMenu(_0x4e8dfb,_0x316621);assertExternalLinkLeaf(_0x22a22a);if(_0x22a22a[_0x31d3cb(0x1b0)]!==_0x2b82a6)throw menuError('menu_state_drift',_0x31d3cb(0x19f)+_0x316621+_0x31d3cb(0x1a4)+formatParent(_0x2b82a6)+_0x31d3cb(0x1b4)+formatParent(_0x22a22a[_0x31d3cb(0x1b0)])+'.',_0x31d3cb(0x19d));const _0x30db3a=_0x22a22a[_0x31d3cb(0x1a8)]===_0x394e55;if(!_0x30db3a&&_0x22a22a['url']!==_0x44b7d7)throw menuError(_0x31d3cb(0x184),'Menu\x20'+_0x316621+_0x31d3cb(0x197),'Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.');const _0x4e364e={'id':_0x316621,'appCode':_0x2975cc[_0x31d3cb(0x18d)],'url':_0x394e55},_0x2bb9a4={..._0x22a22a,'url':_0x394e55};return{'body':_0x4e364e,'before':_0x22a22a,'noChanges':_0x30db3a,'snapshot':_0x4e8dfb,'plan':mutationResult({'operation':'external-link-update','selector':{'id':_0x316621},'before':_0x22a22a,'after':_0x2bb9a4,'dryRun':_0x4f46d9,'backend':[...BACKEND],'plannedActions':_0x30db3a?[]:[{'stage':_0x31d3cb(0x189),'method':_0x31d3cb(0x1c9),'path':_0x31d3cb(0x1d6),'body':_0x4e364e}],'snapshotHash':_0x4e8dfb['hash'],'warnings':_0x30db3a?[_0x31d3cb(0x1ad)]:[]})};}function assertExternalLinkLeaf(_0x54d6b8){const _0x5d7400=a112_0x11bafc;if(_0x54d6b8[_0x5d7400(0x18b)]!==_0x5d7400(0x1be)&&_0x54d6b8[_0x5d7400(0x18b)]!==_0x5d7400(0x1d3))throw menuError(_0x5d7400(0x182),'Menu\x20'+_0x54d6b8['id']+_0x5d7400(0x1d1)+(_0x54d6b8[_0x5d7400(0x18b)]||_0x5d7400(0x1bc))+_0x5d7400(0x198),_0x5d7400(0x1a9));if(_0x54d6b8[_0x5d7400(0x1a6)]!==0x0)throw menuError(_0x5d7400(0x1cf),_0x5d7400(0x19f)+_0x54d6b8['id']+_0x5d7400(0x194)+_0x54d6b8[_0x5d7400(0x1a6)]+_0x5d7400(0x1ab),_0x5d7400(0x1c7));if(!_0x54d6b8['path'][_0x5d7400(0x1c8)]())throw menuError('menu_external_link_path_missing',_0x5d7400(0x19f)+_0x54d6b8['id']+_0x5d7400(0x1a0),'Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.');}function verifyUpdatedFact(_0x21fff3,_0x26ac0d,_0x59cefe){const _0x38a31e=a112_0x11bafc;assertExternalLinkLeaf(_0x26ac0d);const _0x2e2574=[['id',_0x26ac0d['id'],_0x21fff3['id']],[_0x38a31e(0x191),_0x26ac0d[_0x38a31e(0x191)],_0x21fff3[_0x38a31e(0x191)]],[_0x38a31e(0x18b),_0x26ac0d[_0x38a31e(0x18b)],_0x21fff3[_0x38a31e(0x18b)]],[_0x38a31e(0x1d0),_0x26ac0d[_0x38a31e(0x1d0)],_0x21fff3[_0x38a31e(0x1d0)]],[_0x38a31e(0x1b0),_0x26ac0d['parentId'],_0x21fff3['parentId']],[_0x38a31e(0x188),_0x26ac0d[_0x38a31e(0x188)],_0x21fff3[_0x38a31e(0x188)]],[_0x38a31e(0x193),_0x26ac0d[_0x38a31e(0x193)],_0x21fff3[_0x38a31e(0x193)]]];for(const [_0x2a3b80,_0x1d72e2,_0x316622]of _0x2e2574){assertVerified(_0x1d72e2===_0x316622,_0x38a31e(0x19f)+_0x21fff3['id']+'\x20'+_0x2a3b80+_0x38a31e(0x1c6));}assertVerified(_0x26ac0d[_0x38a31e(0x1a8)]===_0x59cefe,'Menu\x20'+_0x21fff3['id']+_0x38a31e(0x1c3));}function updateSuccess(_0x3c6bf4,_0x3d801a,_0x33b1e9,_0x14a0b9,_0x304cda){const _0x51bd1a=a112_0x11bafc,_0x61ead3=_0x33b1e9['id'],_0x1d69b1=mutationResult({..._0x3c6bf4,'after':_0x33b1e9,'dryRun':![],'succeeded':[{'id':_0x61ead3,'updated':!_0x14a0b9,'skipped':_0x14a0b9,'recovered':_0x304cda}],'verification':{'checkedBy':_0x51bd1a(0x1d5),'snapshotHash':_0x3d801a['hash'],'targetId':_0x61ead3,'matchesRequestedState':!![],'recovered':_0x304cda}});return{'ok':!![],'message':_0x304cda?_0x51bd1a(0x1c1)+_0x61ead3+'.':_0x14a0b9?_0x51bd1a(0x19f)+_0x61ead3+'\x20already\x20matches\x20the\x20requested\x20URL.':_0x51bd1a(0x1d2)+_0x61ead3+'.','data':{..._0x1d69b1,'recovered':_0x304cda}};}async function recoverAfterResponseLoss(_0x5ef45d,_0x2c0cfe){const _0x1e7b17=a112_0x11bafc,{plan:_0x15e215,before:_0x3023a1,body:_0x1378e8}=_0x2c0cfe;let _0x4114fb;try{_0x4114fb=await fetchMenuSnapshot(_0x5ef45d[_0x1e7b17(0x18d)],_0x5ef45d[_0x1e7b17(0x1a3)]);}catch{throw recoveryRequired(_0x15e215,_0x5ef45d[_0x1e7b17(0x18d)],{'id':_0x1378e8['id'],'readbackFailed':!![]});}const _0xaa2358=_0x4114fb[_0x1e7b17(0x18a)]['get'](_0x1378e8['id']);if(!_0xaa2358||_0xaa2358[_0x1e7b17(0x1a8)]!==_0x1378e8['url'])throw recoveryRequired(_0x15e215,_0x5ef45d[_0x1e7b17(0x18d)],{'id':_0x1378e8['id'],'requestedUrlObserved':![],'after':_0xaa2358??null});try{verifyUpdatedFact(_0x3023a1,_0xaa2358,_0x1378e8[_0x1e7b17(0x1a8)]);}catch(_0x340897){const _0x29e6ba=asVerificationError(_0x340897,_0x1e7b17(0x1a5)+_0x1378e8['id']+_0x1e7b17(0x1c2));throw menuFailure(_0x29e6ba,_0x15e215,{'stage':_0x1e7b17(0x1ca),'succeeded':[{'id':_0x1378e8['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x1378e8['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0xaa2358,'warnings':[_0x1e7b17(0x1c4)],'verification':{'status':_0x1e7b17(0x1af),'targetId':_0x1378e8['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x5ef45d[_0x1e7b17(0x18d)])}});}return updateSuccess(_0x15e215,_0x4114fb,_0xaa2358,![],!![]);}function recoveryRequired(_0x19898f,_0xed33d1,_0x4474bb){const _0x5535ed=a112_0x11bafc,_0x4d7721=menuError(_0x5535ed(0x1cd),_0x5535ed(0x1ce),_0x5535ed(0x19a)+buildLookupCommand(_0xed33d1)+_0x5535ed(0x1b5));return menuFailure(_0x4d7721,_0x19898f,{'stage':_0x5535ed(0x1ca),'failed':{'id':_0x4474bb['id'],..._0x4474bb[_0x5535ed(0x1b8)]===undefined?{}:{'requestedUrlObserved':_0x4474bb[_0x5535ed(0x1b8)]},..._0x4474bb[_0x5535ed(0x1b7)]?{'readbackFailed':!![]}:{}},'after':_0x4474bb[_0x5535ed(0x1d4)],'warnings':[_0x5535ed(0x1bd)],'verification':{'status':'failed','targetId':_0x4474bb['id'],..._0x4474bb[_0x5535ed(0x1b8)]===undefined?{}:{'requestedUrlObserved':_0x4474bb[_0x5535ed(0x1b8)]},..._0x4474bb[_0x5535ed(0x1b7)]?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0xed33d1)}});}function buildLookupCommand(_0x5edeeb){const _0x46d9a8=a112_0x11bafc,_0x17d5e0='\x27'+_0x5edeeb[_0x46d9a8(0x1cc)](/'/g,_0x46d9a8(0x185))+'\x27';return _0x46d9a8(0x190)+_0x17d5e0+_0x46d9a8(0x1bf);}
|
|
1
|
+
const a113_0x3814ec=a113_0x38e9;(function(_0x59552a,_0x2d6264){const _0x44da43=a113_0x38e9,_0x554d9d=_0x59552a();while(!![]){try{const _0xa78e2f=-parseInt(_0x44da43(0x188))/0x1+-parseInt(_0x44da43(0x186))/0x2*(-parseInt(_0x44da43(0x15f))/0x3)+parseInt(_0x44da43(0x16f))/0x4*(-parseInt(_0x44da43(0x164))/0x5)+parseInt(_0x44da43(0x18e))/0x6+parseInt(_0x44da43(0x149))/0x7+-parseInt(_0x44da43(0x169))/0x8+parseInt(_0x44da43(0x190))/0x9*(parseInt(_0x44da43(0x14a))/0xa);if(_0xa78e2f===_0x2d6264)break;else _0x554d9d['push'](_0x554d9d['shift']());}catch(_0x447f11){_0x554d9d['push'](_0x554d9d['shift']());}}}(a113_0x1ca8,0x6da22));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':a113_0x3814ec(0x178),'path':'/smartapi/menu/update'}];export const menuExternalLinkUpdate={'service':'menu','command':a113_0x3814ec(0x163),'description':'Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','risk':a113_0x3814ec(0x161),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':a113_0x3814ec(0x17e),'type':'string','required':!![],'description':a113_0x3814ec(0x18f)},{'name':a113_0x3814ec(0x17b),'type':'string','required':!![],'description':a113_0x3814ec(0x14b)},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x8098c4){validateInput(_0x8098c4);},async 'dryRun'(_0x56e743){const _0x57f93a=a113_0x3814ec;validateInput(_0x56e743);const _0x7be771=await buildPlan(_0x56e743,!![]);return menuDryRunResult(_0x7be771[_0x57f93a(0x185)],{'method':'POST','url':_0x57f93a(0x15e),'body':_0x7be771[_0x57f93a(0x18d)],'description':_0x57f93a(0x14d)+_0x7be771[_0x57f93a(0x18d)]['id']+'.'});},async 'execute'(_0x30db4c){const _0x3e4d3b=a113_0x3814ec;validateInput(_0x30db4c);const _0x4bc311=await buildPlan(_0x30db4c,![]),{plan:_0x48799e,body:_0x61885a,before:_0x3c3b73,noChanges:_0x43483f}=_0x4bc311,_0x4cff13=_0x61885a['id'];if(_0x43483f)return updateSuccess(_0x48799e,_0x4bc311[_0x3e4d3b(0x16e)],_0x3c3b73,!![],![]);await recheckMutationSnapshot(_0x30db4c,_0x48799e,_0x3e4d3b(0x17f),_0x4cff13);try{await updateMenuEntity(_0x30db4c['appCode'],_0x30db4c['cookie'],{'id':_0x61885a['id'],'url':_0x61885a[_0x3e4d3b(0x17e)]});}catch(_0x47a0a5){const _0x161b71=mapMenuApiError(_0x47a0a5,_0x3e4d3b(0x17f),_0x4cff13);if(isMenuResponseLoss(_0x47a0a5)&&_0x161b71[_0x3e4d3b(0x16d)]!=='menu_permission_denied')return recoverAfterResponseLoss(_0x30db4c,_0x4bc311);throw menuFailure(_0x161b71,_0x48799e,{'stage':'update','failed':{'id':_0x4cff13},'warnings':[_0x3e4d3b(0x179)],'verification':{'status':_0x3e4d3b(0x146),'targetId':_0x4cff13,'lookupCommand':buildLookupCommand(_0x30db4c[_0x3e4d3b(0x17d)])}});}let _0x34c6fd,_0x4b765f;try{_0x34c6fd=await fetchMenuSnapshot(_0x30db4c[_0x3e4d3b(0x17d)],_0x30db4c[_0x3e4d3b(0x174)]),_0x4b765f=requireMenu(_0x34c6fd,_0x4cff13),verifyUpdatedFact(_0x3c3b73,_0x4b765f,_0x61885a[_0x3e4d3b(0x17e)]);}catch(_0x1f4473){const _0x5df556=describeMenuErrorCause(_0x1f4473,_0x3e4d3b(0x177),_0x4cff13),_0x4fd3e2=asVerificationError(_0x1f4473,_0x3e4d3b(0x184)+_0x4cff13+'\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state');throw menuFailure(_0x4fd3e2,_0x48799e,{'stage':'verification','succeeded':[{'id':_0x4cff13,'updateRequested':!![]}],'failed':{'id':_0x4cff13,'requestedStateConfirmed':![],..._0x5df556},'warnings':[_0x3e4d3b(0x17c)],'verification':{'status':_0x3e4d3b(0x146),'targetId':_0x4cff13,'lookupCommand':buildLookupCommand(_0x30db4c[_0x3e4d3b(0x17d)])}});}return updateSuccess(_0x48799e,_0x34c6fd,_0x4b765f,![],![]);}};function validateInput(_0xdc7214){const _0x39bf2c=a113_0x3814ec;validateExactId(_0xdc7214),requiredUrl(_0xdc7214,_0x39bf2c(0x17e)),requiredExpectedUrl(_0xdc7214),parseParentId(_0xdc7214,'expect-parent-id',{'required':!![]});}function requiredUrl(_0x58ca40,_0x3da12e){const _0x1dd3a7=a113_0x3814ec;if(!hasFlag(_0x58ca40,_0x3da12e)||!_0x58ca40[_0x1dd3a7(0x180)](_0x3da12e)[_0x1dd3a7(0x150)]())throw CliErrors['flagMissing'](_0x3da12e);return validateExternalMenuUrl(_0x58ca40[_0x1dd3a7(0x180)](_0x3da12e));}function requiredExpectedUrl(_0x2e7333){const _0x12738f=a113_0x3814ec;if(!hasFlag(_0x2e7333,_0x12738f(0x17b))||!_0x2e7333['str'](_0x12738f(0x17b))[_0x12738f(0x150)]())throw CliErrors[_0x12738f(0x166)](_0x12738f(0x17b));return _0x2e7333[_0x12738f(0x180)](_0x12738f(0x17b))[_0x12738f(0x150)]();}function a113_0x38e9(_0xf8ea89,_0x3509da){_0xf8ea89=_0xf8ea89-0x146;const _0x1ca83e=a113_0x1ca8();let _0x38e9c3=_0x1ca83e[_0xf8ea89];return _0x38e9c3;}function a113_0x1ca8(){const _0x586872=['The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.','\x20is\x20type\x20\x22','Update\x20request\x20for\x20menu\x20','plan','608824kKWmuT','Run\x20','434724ugfWkE','menu\x20list','menu_state_drift','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','\x22,\x20not\x20iframe\x20or\x20link.','body','2254128XTaBDz','New\x20external\x20HTTPS\x20URL','18585FiIAvp','\x20changed\x20during\x20the\x20URL-only\x20update.','failed','link','childrenCount','2650452jNjeQf','1770AstMOL','Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed','byId','Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20','type','replace','trim','\x20has\x20an\x20empty\x20platform\x20path.','requestedUrlObserved','menu_external_link_path_missing','parentId','menu_external_link_not_leaf','rabetbase\x20menu\x20list\x20--appcode\x20','\x20URL\x20no\x20longer\x20matches\x20--expect-url.','menu_external_link_type_required','\x20parent\x20changed:\x20expected\x20','get',',\x20current\x20','The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.','\x20--format\x20compress','/smartapi/menu/update','3YKFPtf','\x20already\x20matches\x20the\x20requested\x20URL.','write','hash','external-link-update','1315MltIYS','\x20has\x20','flagMissing','Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20','The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.','955168wcNsTO','update-recovery','Menu\x20','label','code','snapshot','6404fMgMMv','\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.','sort','\x20URL\x20update\x20did\x20not\x20take\x20effect.','\x20direct\x20child\x20menu(s).','cookie','External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.','verify\x20external\x20menu\x20URL\x20update','POST','The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','readbackFailed','expect-url','The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','appCode','url','update\x20external\x20menu\x20URL','str','path'];a113_0x1ca8=function(){return _0x586872;};return a113_0x1ca8();}async function buildPlan(_0x574add,_0x1525bf){const _0x260b7e=a113_0x3814ec,_0x78ff5c=validateExactId(_0x574add),_0x364675=requiredUrl(_0x574add,_0x260b7e(0x17e)),_0x222aa8=requiredExpectedUrl(_0x574add),_0x2612b2=parseParentId(_0x574add,'expect-parent-id',{'required':!![]}),_0x48a701=await fetchMutationSnapshot(_0x574add,'update\x20external\x20menu\x20URL',_0x78ff5c),_0x4afb9a=requireMenu(_0x48a701,_0x78ff5c);assertExternalLinkLeaf(_0x4afb9a);if(_0x4afb9a[_0x260b7e(0x154)]!==_0x2612b2)throw menuError(_0x260b7e(0x18a),_0x260b7e(0x16b)+_0x78ff5c+_0x260b7e(0x159)+formatParent(_0x2612b2)+_0x260b7e(0x15b)+formatParent(_0x4afb9a[_0x260b7e(0x154)])+'.',_0x260b7e(0x18b));const _0x24f1e1=_0x4afb9a[_0x260b7e(0x17e)]===_0x364675;if(!_0x24f1e1&&_0x4afb9a[_0x260b7e(0x17e)]!==_0x222aa8)throw menuError('menu_state_drift',_0x260b7e(0x16b)+_0x78ff5c+_0x260b7e(0x157),_0x260b7e(0x176));const _0x3c263d={'id':_0x78ff5c,'appCode':_0x574add[_0x260b7e(0x17d)],'url':_0x364675},_0x316d67={..._0x4afb9a,'url':_0x364675};return{'body':_0x3c263d,'before':_0x4afb9a,'noChanges':_0x24f1e1,'snapshot':_0x48a701,'plan':mutationResult({'operation':_0x260b7e(0x163),'selector':{'id':_0x78ff5c},'before':_0x4afb9a,'after':_0x316d67,'dryRun':_0x1525bf,'backend':[...BACKEND],'plannedActions':_0x24f1e1?[]:[{'stage':'update-external-link-url','method':_0x260b7e(0x178),'path':_0x260b7e(0x15e),'body':_0x3c263d}],'snapshotHash':_0x48a701[_0x260b7e(0x162)],'warnings':_0x24f1e1?[_0x260b7e(0x15c)]:[]})};}function assertExternalLinkLeaf(_0x41a454){const _0x41e681=a113_0x3814ec;if(_0x41a454[_0x41e681(0x14e)]!=='iframe'&&_0x41a454[_0x41e681(0x14e)]!==_0x41e681(0x147))throw menuError(_0x41e681(0x158),'Menu\x20'+_0x41a454['id']+_0x41e681(0x183)+(_0x41a454[_0x41e681(0x14e)]||'unknown')+_0x41e681(0x18c),'Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.');if(_0x41a454['childrenCount']!==0x0)throw menuError(_0x41e681(0x155),'Menu\x20'+_0x41a454['id']+_0x41e681(0x165)+_0x41a454[_0x41e681(0x148)]+_0x41e681(0x173),_0x41e681(0x175));if(!_0x41a454[_0x41e681(0x181)]['trim']())throw menuError(_0x41e681(0x153),_0x41e681(0x16b)+_0x41a454['id']+_0x41e681(0x151),'Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.');}function verifyUpdatedFact(_0x1023f6,_0x1718d3,_0xac2760){const _0xbfd7b6=a113_0x3814ec;assertExternalLinkLeaf(_0x1718d3);const _0x994866=[['id',_0x1718d3['id'],_0x1023f6['id']],[_0xbfd7b6(0x16c),_0x1718d3[_0xbfd7b6(0x16c)],_0x1023f6[_0xbfd7b6(0x16c)]],[_0xbfd7b6(0x14e),_0x1718d3['type'],_0x1023f6[_0xbfd7b6(0x14e)]],[_0xbfd7b6(0x181),_0x1718d3[_0xbfd7b6(0x181)],_0x1023f6[_0xbfd7b6(0x181)]],[_0xbfd7b6(0x154),_0x1718d3[_0xbfd7b6(0x154)],_0x1023f6['parentId']],['sort',_0x1718d3[_0xbfd7b6(0x171)],_0x1023f6['sort']],['visible',_0x1718d3['visible'],_0x1023f6['visible']]];for(const [_0x590cb6,_0x423c43,_0x5df697]of _0x994866){assertVerified(_0x423c43===_0x5df697,_0xbfd7b6(0x16b)+_0x1023f6['id']+'\x20'+_0x590cb6+_0xbfd7b6(0x191));}assertVerified(_0x1718d3['url']===_0xac2760,'Menu\x20'+_0x1023f6['id']+_0xbfd7b6(0x172));}function updateSuccess(_0x2bc7d7,_0x6b9636,_0x60ceba,_0x38466f,_0x1a83ce){const _0x365f4e=a113_0x3814ec,_0x278e32=_0x60ceba['id'],_0x5c5f6e=mutationResult({..._0x2bc7d7,'after':_0x60ceba,'dryRun':![],'succeeded':[{'id':_0x278e32,'updated':!_0x38466f,'skipped':_0x38466f,'recovered':_0x1a83ce}],'verification':{'checkedBy':_0x365f4e(0x189),'snapshotHash':_0x6b9636[_0x365f4e(0x162)],'targetId':_0x278e32,'matchesRequestedState':!![],'recovered':_0x1a83ce}});return{'ok':!![],'message':_0x1a83ce?_0x365f4e(0x167)+_0x278e32+'.':_0x38466f?'Menu\x20'+_0x278e32+_0x365f4e(0x160):'Updated\x20external\x20URL\x20for\x20menu\x20'+_0x278e32+'.','data':{..._0x5c5f6e,'recovered':_0x1a83ce}};}async function recoverAfterResponseLoss(_0x1c765a,_0x2b3ce9){const _0x5bb086=a113_0x3814ec,{plan:_0x395fa4,before:_0x579812,body:_0x3c0b56}=_0x2b3ce9;let _0x1f52e0;try{_0x1f52e0=await fetchMenuSnapshot(_0x1c765a['appCode'],_0x1c765a[_0x5bb086(0x174)]);}catch{throw recoveryRequired(_0x395fa4,_0x1c765a[_0x5bb086(0x17d)],{'id':_0x3c0b56['id'],'readbackFailed':!![]});}const _0x26f69c=_0x1f52e0[_0x5bb086(0x14c)][_0x5bb086(0x15a)](_0x3c0b56['id']);if(!_0x26f69c||_0x26f69c['url']!==_0x3c0b56['url'])throw recoveryRequired(_0x395fa4,_0x1c765a[_0x5bb086(0x17d)],{'id':_0x3c0b56['id'],'requestedUrlObserved':![],'after':_0x26f69c??null});try{verifyUpdatedFact(_0x579812,_0x26f69c,_0x3c0b56['url']);}catch(_0x4add9d){const _0x3869d7=asVerificationError(_0x4add9d,'Response\x20was\x20lost\x20and\x20menu\x20'+_0x3c0b56['id']+'\x20could\x20not\x20be\x20verified\x20safely');throw menuFailure(_0x3869d7,_0x395fa4,{'stage':_0x5bb086(0x16a),'succeeded':[{'id':_0x3c0b56['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x3c0b56['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x26f69c,'warnings':[_0x5bb086(0x168)],'verification':{'status':'failed','targetId':_0x3c0b56['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x1c765a['appCode'])}});}return updateSuccess(_0x395fa4,_0x1f52e0,_0x26f69c,![],!![]);}function recoveryRequired(_0x5eb0e9,_0x48d20d,_0x1b086c){const _0x589f35=a113_0x3814ec,_0x53b6ba=menuError('menu_update_recovery_required',_0x589f35(0x182),_0x589f35(0x187)+buildLookupCommand(_0x48d20d)+_0x589f35(0x170));return menuFailure(_0x53b6ba,_0x5eb0e9,{'stage':_0x589f35(0x16a),'failed':{'id':_0x1b086c['id'],..._0x1b086c[_0x589f35(0x152)]===undefined?{}:{'requestedUrlObserved':_0x1b086c[_0x589f35(0x152)]},..._0x1b086c['readbackFailed']?{'readbackFailed':!![]}:{}},'after':_0x1b086c['after'],'warnings':['The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.'],'verification':{'status':_0x589f35(0x146),'targetId':_0x1b086c['id'],..._0x1b086c[_0x589f35(0x152)]===undefined?{}:{'requestedUrlObserved':_0x1b086c['requestedUrlObserved']},..._0x1b086c[_0x589f35(0x17a)]?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x48d20d)}});}function buildLookupCommand(_0x117101){const _0x18597b=a113_0x3814ec,_0x2494ba='\x27'+_0x117101[_0x18597b(0x14f)](/'/g,'\x27\x5c\x27\x27')+'\x27';return _0x18597b(0x156)+_0x2494ba+_0x18597b(0x15d);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a113_0x15c043=a113_0x2698;function a113_0x2698(_0x46223b,_0x472df4){_0x46223b=_0x46223b-0x11e;const _0x5a61df=a113_0x5a61();let _0x2698ca=_0x5a61df[_0x46223b];return _0x2698ca;}(function(_0x22925f,_0x37972f){const _0xb1177=a113_0x2698,_0x4710b4=_0x22925f();while(!![]){try{const _0x400275=-parseInt(_0xb1177(0x15a))/0x1+-parseInt(_0xb1177(0x13c))/0x2+-parseInt(_0xb1177(0x152))/0x3*(parseInt(_0xb1177(0x157))/0x4)+parseInt(_0xb1177(0x15b))/0x5*(parseInt(_0xb1177(0x125))/0x6)+parseInt(_0xb1177(0x169))/0x7+-parseInt(_0xb1177(0x14c))/0x8+parseInt(_0xb1177(0x136))/0x9*(-parseInt(_0xb1177(0x146))/0xa);if(_0x400275===_0x37972f)break;else _0x4710b4['push'](_0x4710b4['shift']());}catch(_0x52f41b){_0x4710b4['push'](_0x4710b4['shift']());}}}(a113_0x5a61,0x2e1a7));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,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a113_0x15c043(0x129),'path':a113_0x15c043(0x138)}];function a113_0x5a61(){const _0x2ea8cf=['visible','menu','parent-id','\x20has\x20an\x20unexpected\x20label.','197560lCokJN','\x20path\x20does\x20not\x20match\x20the\x20platform-generated\x20path.','Would\x20create\x20empty\x20folder\x20\x22','create','create-response-validation','\x20depth\x20does\x20not\x20match\x20its\x20final\x20parent\x20hierarchy.','55320DsemxR','Folder\x20label','group-create','Created\x20menu\x20','cookie','20mqDqYy','\x20has\x20unexpected\x20parent\x20','label','70552UzeNdd','10oRdGPc','menu\x20list','Created\x20folder\x20','\x20is\x20not\x20visible.','Created\x20menu\x20folder\x20','\x20may\x20exist\x20online;\x20verify\x20it\x20by\x20id\x20before\x20retrying.','stringify','verify\x20folder\x20creation','The\x20create\x20request\x20may\x20have\x20succeeded;\x20verify\x20the\x20online\x20menu\x20list\x20before\x20retrying.','Create\x20an\x20empty\x20folder\x20menu\x20at\x20root\x20or\x20under\x20another\x20folder','\x20is\x20missing\x20from\x20menu\x20list.','sort','resources','isSafeInteger','1775508vCmdym','type','parentId','\x20has\x20resources.','hash','appCode','create\x20folder','Folder\x20','428070cGMLNA','after','failed','\x20was\x20created\x20but\x20readback\x20could\x20not\x20load\x20its\x20final\x20facts','POST','childrenCount','folder','root','str','The\x20platform\x20assigns\x20the\x20folder\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','\x20was\x20created\x20but\x20its\x20final\x20facts\x20violate\x20the\x20folder\x20contract','\x20has\x20an\x20unexpected\x20sort.','create-folder','length','\x20did\x20not\x20contain\x20a\x20non-empty\x20generated\x20path.','\x20may\x20exist\x20online\x20at\x20path\x20','pageId','111753PWjJce','Menu\x20create\x20response\x20for\x20folder\x20','/smartapi/menu/create','rabetbase\x20menu\x20list\x20--format\x20json','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20menu\x20id.','trim','15262TLFLrM','\x20is\x20not\x20empty.',';\x20verify\x20it\x20before\x20retrying.','path','depth','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20before\x20retrying;\x20the\x20folder\x20may\x20already\x20exist.','verification','write','string','menu_create_response_invalid','10zPmeWW','byId'];a113_0x5a61=function(){return _0x2ea8cf;};return a113_0x5a61();}export const menuGroupCreate={'service':a113_0x15c043(0x149),'command':a113_0x15c043(0x154),'description':a113_0x15c043(0x164),'risk':a113_0x15c043(0x143),'structuredErrors':!![],'flags':[{'name':a113_0x15c043(0x159),'type':a113_0x15c043(0x144),'required':!![],'description':a113_0x15c043(0x153)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x25b0f9){validateCreateInput(_0x25b0f9);},async 'dryRun'(_0x1430b9){const _0x29cea5=a113_0x15c043,_0xc5a9c2=await buildCreatePlan(_0x1430b9,!![]),_0xffa568=_0xc5a9c2[_0x29cea5(0x126)];return menuDryRunResult(_0xc5a9c2,{'method':_0x29cea5(0x129),'url':_0x29cea5(0x138),'body':{'parentId':toApiParentId(_0xffa568['parentId']),'label':_0xffa568[_0x29cea5(0x159)],'type':_0x29cea5(0x12b),'visible':!![],'sort':_0xffa568['sort'],'extend':{}},'description':_0x29cea5(0x14e)+String(_0xffa568[_0x29cea5(0x159)])+'\x22\x20with\x20a\x20platform-generated\x20path.'});},async 'execute'(_0x5880ef){const _0x37ecef=a113_0x15c043;validateCreateInput(_0x5880ef);const _0x43dd84=await buildCreatePlan(_0x5880ef,![]),_0x34b94a=_0x43dd84[_0x37ecef(0x126)];await recheckMutationSnapshot(_0x5880ef,_0x43dd84,_0x37ecef(0x123));let _0x1ff0db;try{_0x1ff0db=await createMenuEntity(_0x5880ef[_0x37ecef(0x122)],_0x5880ef[_0x37ecef(0x156)],{'parentId':toApiParentId(_0x34b94a[_0x37ecef(0x11f)]),'label':String(_0x34b94a[_0x37ecef(0x159)]),'type':_0x37ecef(0x12b),'visible':!![],'sort':Number(_0x34b94a['sort']),'extend':{}});}catch(_0x4393d1){const _0x611c65=mapMenuApiError(_0x4393d1,'create\x20folder');throw menuFailure(_0x611c65,_0x43dd84,{'stage':_0x37ecef(0x14f),'failed':{}});}const _0x5aea00=Number(_0x1ff0db['id']);if(!Number[_0x37ecef(0x168)](_0x5aea00)||_0x5aea00<=0x0){const _0x340db7=menuError(_0x37ecef(0x145),_0x37ecef(0x13a),_0x37ecef(0x141));throw menuFailure(_0x340db7,_0x43dd84,{'stage':_0x37ecef(0x150),'failed':{'createdId':_0x1ff0db['id']??null},'warnings':[_0x37ecef(0x163)],'verification':{'status':_0x37ecef(0x127),'lookupCommand':_0x37ecef(0x139)}});}const _0x29b468=typeof _0x1ff0db[_0x37ecef(0x13f)]===_0x37ecef(0x144)?_0x1ff0db['path']:'';if(!_0x29b468[_0x37ecef(0x13b)]()){const _0x2fc081=menuError(_0x37ecef(0x145),_0x37ecef(0x137)+_0x5aea00+_0x37ecef(0x133),'Inspect\x20the\x20created\x20id\x20with\x20`rabetbase\x20menu\x20list\x20--format\x20json`;\x20do\x20not\x20retry\x20creation\x20until\x20its\x20state\x20is\x20known.');throw menuFailure(_0x2fc081,_0x43dd84,{'stage':_0x37ecef(0x150),'succeeded':[{'id':_0x5aea00,'created':!![]}],'failed':{'id':_0x5aea00,'generatedPathConfirmed':![]},'warnings':[_0x37ecef(0x124)+_0x5aea00+_0x37ecef(0x160)],'after':{..._0x34b94a,'id':_0x5aea00,'path':_0x29b468},'verification':{'status':_0x37ecef(0x127),'lookupCommand':_0x37ecef(0x139),'targetId':_0x5aea00}});}let _0x1ad31a;try{_0x1ad31a=await fetchMenuSnapshot(_0x5880ef['appCode'],_0x5880ef['cookie']);}catch(_0x4b915b){const _0x150b1c=describeMenuErrorCause(_0x4b915b,_0x37ecef(0x162),_0x5aea00),_0x20daae=asVerificationError(_0x4b915b,_0x37ecef(0x124)+_0x5aea00+_0x37ecef(0x128));throw menuFailure(_0x20daae,_0x43dd84,{'stage':_0x37ecef(0x142),'succeeded':[{'id':_0x5aea00,'created':!![],'path':_0x29b468}],'failed':{'id':_0x5aea00,'finalFactsConfirmed':![],..._0x150b1c},'warnings':[_0x37ecef(0x124)+_0x5aea00+_0x37ecef(0x134)+JSON[_0x37ecef(0x161)](_0x29b468)+_0x37ecef(0x13e)],'after':{..._0x34b94a,'id':_0x5aea00,'path':_0x29b468},'verification':{'status':_0x37ecef(0x127),'lookupCommand':_0x37ecef(0x139),'targetId':_0x5aea00}});}const _0x1f761f=_0x1ad31a[_0x37ecef(0x147)]['get'](_0x5aea00);let _0x3754fb;try{assertVerified(Boolean(_0x1f761f),_0x37ecef(0x15d)+_0x5aea00+_0x37ecef(0x165)),_0x3754fb=_0x1f761f,assertVerified(_0x3754fb[_0x37ecef(0x11e)]==='folder',_0x37ecef(0x155)+_0x5aea00+'\x20is\x20not\x20type\x20folder.'),assertVerified(_0x3754fb[_0x37ecef(0x159)]===_0x34b94a[_0x37ecef(0x159)],_0x37ecef(0x15d)+_0x5aea00+_0x37ecef(0x14b)),assertVerified(_0x3754fb[_0x37ecef(0x13f)]===_0x29b468&&Boolean(_0x3754fb[_0x37ecef(0x13f)]['trim']()),_0x37ecef(0x15d)+_0x5aea00+_0x37ecef(0x14d)),assertVerified(_0x3754fb[_0x37ecef(0x148)]===!![],_0x37ecef(0x15d)+_0x5aea00+_0x37ecef(0x15e)),assertVerified(_0x3754fb[_0x37ecef(0x167)][_0x37ecef(0x132)]===0x0,'Created\x20folder\x20'+_0x5aea00+_0x37ecef(0x120)),assertVerified(_0x3754fb[_0x37ecef(0x12a)]===0x0,_0x37ecef(0x15d)+_0x5aea00+_0x37ecef(0x13d)),assertVerified(_0x3754fb[_0x37ecef(0x166)]===_0x34b94a[_0x37ecef(0x166)],_0x37ecef(0x15d)+_0x5aea00+_0x37ecef(0x130)),assertVerified(_0x3754fb[_0x37ecef(0x11f)]===_0x34b94a[_0x37ecef(0x11f)],_0x37ecef(0x15d)+_0x5aea00+_0x37ecef(0x158)+(_0x3754fb[_0x37ecef(0x11f)]??_0x37ecef(0x12c))+'.'),assertVerified(_0x3754fb[_0x37ecef(0x135)]==null,_0x37ecef(0x15d)+_0x5aea00+'\x20unexpectedly\x20owns\x20a\x20page.');const _0xf6ada3=_0x3754fb[_0x37ecef(0x11f)]==null?undefined:requireFolder(_0x1ad31a,_0x3754fb[_0x37ecef(0x11f)]);assertVerified(_0x3754fb[_0x37ecef(0x140)]===(_0xf6ada3?_0xf6ada3[_0x37ecef(0x140)]+0x1:0x0),_0x37ecef(0x15d)+_0x5aea00+_0x37ecef(0x151));}catch(_0xcc9795){const _0x15341f=describeMenuErrorCause(_0xcc9795,_0x37ecef(0x162),_0x5aea00),_0x22cc7c=asVerificationError(_0xcc9795,_0x37ecef(0x124)+_0x5aea00+_0x37ecef(0x12f));throw menuFailure(_0x22cc7c,_0x43dd84,{'stage':_0x37ecef(0x142),'succeeded':[{'id':_0x5aea00,'created':!![],'path':_0x29b468}],'failed':{'id':_0x5aea00,'finalFactsConfirmed':![],..._0x15341f},'warnings':[_0x37ecef(0x124)+_0x5aea00+'\x20remains\x20online;\x20inspect\x20its\x20final\x20facts\x20before\x20any\x20retry.'],'after':_0x1f761f??{..._0x34b94a,'id':_0x5aea00,'path':_0x29b468},'verification':{'status':_0x37ecef(0x127),'lookupCommand':_0x37ecef(0x139),'targetId':_0x5aea00}});}const _0x4e45c0=mutationResult({..._0x43dd84,'after':_0x3754fb,'dryRun':![],'succeeded':[{'id':_0x5aea00,'type':'folder','path':_0x29b468}],'verification':{'checkedBy':_0x37ecef(0x15c),'snapshotHash':_0x1ad31a[_0x37ecef(0x121)],'folder':!![],'path':_0x29b468,'emptyResources':!![]}});return{'ok':!![],'data':_0x4e45c0,'message':_0x37ecef(0x15f)+_0x5aea00+'.'};}};function validateCreateInput(_0x326f45){const _0x592a02=a113_0x15c043,_0x5ef834=_0x326f45[_0x592a02(0x12d)]('label')['trim']();if(!_0x5ef834)throw CliErrors['flagMissing'](_0x592a02(0x159));parseParentId(_0x326f45,_0x592a02(0x14a)),validateSort(_0x326f45);}async function buildCreatePlan(_0x2b16c0,_0x33cc73){const _0x1c6ed9=a113_0x15c043,_0x10c6fd=await fetchMutationSnapshot(_0x2b16c0,_0x1c6ed9(0x123)),_0x58458b=parseParentId(_0x2b16c0,'parent-id')??null;if(_0x58458b!=null)requireFolder(_0x10c6fd,_0x58458b);const _0x2fe377=validateSort(_0x2b16c0),_0x217c8f=_0x2fe377??nextSiblingSort(_0x10c6fd,_0x58458b,_0x1c6ed9(0x12b)),_0x4e77fc=_0x2b16c0[_0x1c6ed9(0x12d)](_0x1c6ed9(0x159))['trim']();return mutationResult({'operation':_0x1c6ed9(0x154),'selector':{'label':_0x4e77fc,'parentId':_0x58458b},'before':null,'after':{'id':null,'parentId':_0x58458b,'label':_0x4e77fc,'path':'<platform-generated>','type':_0x1c6ed9(0x12b),'visible':!![],'sort':_0x217c8f,'resources':[],'childrenIds':[],'childrenCount':0x0},'dryRun':_0x33cc73,'backend':[...BACKEND],'plannedActions':[{'stage':_0x1c6ed9(0x131),'method':_0x1c6ed9(0x129),'path':_0x1c6ed9(0x138),'body':{'parentId':toApiParentId(_0x58458b),'label':_0x4e77fc,'type':'folder','visible':!![],'sort':_0x217c8f,'extend':{}}}],'snapshotHash':_0x10c6fd[_0x1c6ed9(0x121)],'warnings':[_0x1c6ed9(0x12e)]});}
|
|
1
|
+
const a114_0x204f54=a114_0x4d2e;(function(_0x5036d9,_0x5b163e){const _0x12edc2=a114_0x4d2e,_0x2840f6=_0x5036d9();while(!![]){try{const _0x3260db=-parseInt(_0x12edc2(0x17f))/0x1*(parseInt(_0x12edc2(0x16b))/0x2)+-parseInt(_0x12edc2(0x18e))/0x3+parseInt(_0x12edc2(0x18a))/0x4*(-parseInt(_0x12edc2(0x182))/0x5)+parseInt(_0x12edc2(0x180))/0x6*(-parseInt(_0x12edc2(0x186))/0x7)+parseInt(_0x12edc2(0x194))/0x8+parseInt(_0x12edc2(0x17e))/0x9+parseInt(_0x12edc2(0x195))/0xa*(parseInt(_0x12edc2(0x184))/0xb);if(_0x3260db===_0x5b163e)break;else _0x2840f6['push'](_0x2840f6['shift']());}catch(_0x13005f){_0x2840f6['push'](_0x2840f6['shift']());}}}(a114_0x32a8,0x9500c));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a114_0x4d2e(_0x333a02,_0x49d556){_0x333a02=_0x333a02-0x15b;const _0x32a882=a114_0x32a8();let _0x4d2e74=_0x32a882[_0x333a02];return _0x4d2e74;}import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a114_0x204f54(0x15b),'path':a114_0x204f54(0x19a)}];function a114_0x32a8(){const _0x33c6a5=['Menu\x20create\x20response\x20for\x20folder\x20','\x20did\x20not\x20contain\x20a\x20non-empty\x20generated\x20path.','Created\x20menu\x20','failed','get','write','Folder\x20','label','cookie','\x20depth\x20does\x20not\x20match\x20its\x20final\x20parent\x20hierarchy.','pageId','verify\x20folder\x20creation','sort','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20menu\x20id.','\x20is\x20not\x20type\x20folder.','7999911OUhTMv','1dLprLV','12vXGVxD','\x20path\x20does\x20not\x20match\x20the\x20platform-generated\x20path.','20shHDLF','menu_create_response_invalid','264mjFBbC','group-create','845684ToiwYX','str','\x20has\x20an\x20unexpected\x20label.','visible','170372FLnCFL','Created\x20menu\x20folder\x20','\x20is\x20not\x20empty.','\x20is\x20missing\x20from\x20menu\x20list.','1665324qggoim','rabetbase\x20menu\x20list\x20--format\x20json','byId','path','stringify','parentId','2144464xEoqOW','433660FcEwLa','\x20has\x20an\x20unexpected\x20sort.','length','create\x20folder','\x20was\x20created\x20but\x20readback\x20could\x20not\x20load\x20its\x20final\x20facts','/smartapi/menu/create','after','hash','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20before\x20retrying;\x20the\x20folder\x20may\x20already\x20exist.','POST','depth','appCode','\x20has\x20resources.','Created\x20folder\x20','flagMissing','\x22\x20with\x20a\x20platform-generated\x20path.','The\x20platform\x20assigns\x20the\x20folder\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','folder','\x20is\x20not\x20visible.','trim','isSafeInteger','string','parent-id','create-response-validation','verification','1240602TKTvuy','Would\x20create\x20empty\x20folder\x20\x22','\x20may\x20exist\x20online\x20at\x20path\x20','childrenCount'];a114_0x32a8=function(){return _0x33c6a5;};return a114_0x32a8();}export const menuGroupCreate={'service':'menu','command':a114_0x204f54(0x185),'description':'Create\x20an\x20empty\x20folder\x20menu\x20at\x20root\x20or\x20under\x20another\x20folder','risk':a114_0x204f54(0x174),'structuredErrors':!![],'flags':[{'name':a114_0x204f54(0x176),'type':'string','required':!![],'description':'Folder\x20label'},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x434695){validateCreateInput(_0x434695);},async 'dryRun'(_0x4a26a4){const _0x55a79c=a114_0x204f54,_0x35cefa=await buildCreatePlan(_0x4a26a4,!![]),_0x37e05d=_0x35cefa[_0x55a79c(0x19b)];return menuDryRunResult(_0x35cefa,{'method':_0x55a79c(0x15b),'url':_0x55a79c(0x19a),'body':{'parentId':toApiParentId(_0x37e05d['parentId']),'label':_0x37e05d['label'],'type':'folder','visible':!![],'sort':_0x37e05d[_0x55a79c(0x17b)],'extend':{}},'description':_0x55a79c(0x16c)+String(_0x37e05d['label'])+_0x55a79c(0x161)});},async 'execute'(_0x10ba8c){const _0x3bb3c6=a114_0x204f54;validateCreateInput(_0x10ba8c);const _0x3e1e64=await buildCreatePlan(_0x10ba8c,![]),_0x2adbae=_0x3e1e64[_0x3bb3c6(0x19b)];await recheckMutationSnapshot(_0x10ba8c,_0x3e1e64,_0x3bb3c6(0x198));let _0x4d06ce;try{_0x4d06ce=await createMenuEntity(_0x10ba8c[_0x3bb3c6(0x15d)],_0x10ba8c['cookie'],{'parentId':toApiParentId(_0x2adbae[_0x3bb3c6(0x193)]),'label':String(_0x2adbae[_0x3bb3c6(0x176)]),'type':_0x3bb3c6(0x163),'visible':!![],'sort':Number(_0x2adbae[_0x3bb3c6(0x17b)]),'extend':{}});}catch(_0x113ffc){const _0x179786=mapMenuApiError(_0x113ffc,_0x3bb3c6(0x198));throw menuFailure(_0x179786,_0x3e1e64,{'stage':'create','failed':{}});}const _0x37f174=Number(_0x4d06ce['id']);if(!Number[_0x3bb3c6(0x166)](_0x37f174)||_0x37f174<=0x0){const _0x28a8d5=menuError('menu_create_response_invalid',_0x3bb3c6(0x17c),_0x3bb3c6(0x19d));throw menuFailure(_0x28a8d5,_0x3e1e64,{'stage':_0x3bb3c6(0x169),'failed':{'createdId':_0x4d06ce['id']??null},'warnings':['The\x20create\x20request\x20may\x20have\x20succeeded;\x20verify\x20the\x20online\x20menu\x20list\x20before\x20retrying.'],'verification':{'status':_0x3bb3c6(0x172),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json'}});}const _0x48cf71=typeof _0x4d06ce['path']===_0x3bb3c6(0x167)?_0x4d06ce[_0x3bb3c6(0x191)]:'';if(!_0x48cf71['trim']()){const _0x3e4a81=menuError(_0x3bb3c6(0x183),_0x3bb3c6(0x16f)+_0x37f174+_0x3bb3c6(0x170),'Inspect\x20the\x20created\x20id\x20with\x20`rabetbase\x20menu\x20list\x20--format\x20json`;\x20do\x20not\x20retry\x20creation\x20until\x20its\x20state\x20is\x20known.');throw menuFailure(_0x3e4a81,_0x3e1e64,{'stage':'create-response-validation','succeeded':[{'id':_0x37f174,'created':!![]}],'failed':{'id':_0x37f174,'generatedPathConfirmed':![]},'warnings':[_0x3bb3c6(0x175)+_0x37f174+'\x20may\x20exist\x20online;\x20verify\x20it\x20by\x20id\x20before\x20retrying.'],'after':{..._0x2adbae,'id':_0x37f174,'path':_0x48cf71},'verification':{'status':_0x3bb3c6(0x172),'lookupCommand':_0x3bb3c6(0x18f),'targetId':_0x37f174}});}let _0x1fa356;try{_0x1fa356=await fetchMenuSnapshot(_0x10ba8c[_0x3bb3c6(0x15d)],_0x10ba8c[_0x3bb3c6(0x177)]);}catch(_0x5e1d78){const _0x2c577a=describeMenuErrorCause(_0x5e1d78,_0x3bb3c6(0x17a),_0x37f174),_0x191eaa=asVerificationError(_0x5e1d78,_0x3bb3c6(0x175)+_0x37f174+_0x3bb3c6(0x199));throw menuFailure(_0x191eaa,_0x3e1e64,{'stage':'verification','succeeded':[{'id':_0x37f174,'created':!![],'path':_0x48cf71}],'failed':{'id':_0x37f174,'finalFactsConfirmed':![],..._0x2c577a},'warnings':[_0x3bb3c6(0x175)+_0x37f174+_0x3bb3c6(0x16d)+JSON[_0x3bb3c6(0x192)](_0x48cf71)+';\x20verify\x20it\x20before\x20retrying.'],'after':{..._0x2adbae,'id':_0x37f174,'path':_0x48cf71},'verification':{'status':'failed','lookupCommand':_0x3bb3c6(0x18f),'targetId':_0x37f174}});}const _0x2c22b7=_0x1fa356[_0x3bb3c6(0x190)][_0x3bb3c6(0x173)](_0x37f174);let _0x5d2dab;try{assertVerified(Boolean(_0x2c22b7),_0x3bb3c6(0x15f)+_0x37f174+_0x3bb3c6(0x18d)),_0x5d2dab=_0x2c22b7,assertVerified(_0x5d2dab['type']==='folder',_0x3bb3c6(0x171)+_0x37f174+_0x3bb3c6(0x17d)),assertVerified(_0x5d2dab['label']===_0x2adbae[_0x3bb3c6(0x176)],'Created\x20folder\x20'+_0x37f174+_0x3bb3c6(0x188)),assertVerified(_0x5d2dab['path']===_0x48cf71&&Boolean(_0x5d2dab[_0x3bb3c6(0x191)]['trim']()),_0x3bb3c6(0x15f)+_0x37f174+_0x3bb3c6(0x181)),assertVerified(_0x5d2dab[_0x3bb3c6(0x189)]===!![],_0x3bb3c6(0x15f)+_0x37f174+_0x3bb3c6(0x164)),assertVerified(_0x5d2dab['resources'][_0x3bb3c6(0x197)]===0x0,_0x3bb3c6(0x15f)+_0x37f174+_0x3bb3c6(0x15e)),assertVerified(_0x5d2dab[_0x3bb3c6(0x16e)]===0x0,_0x3bb3c6(0x15f)+_0x37f174+_0x3bb3c6(0x18c)),assertVerified(_0x5d2dab[_0x3bb3c6(0x17b)]===_0x2adbae[_0x3bb3c6(0x17b)],_0x3bb3c6(0x15f)+_0x37f174+_0x3bb3c6(0x196)),assertVerified(_0x5d2dab[_0x3bb3c6(0x193)]===_0x2adbae['parentId'],_0x3bb3c6(0x15f)+_0x37f174+'\x20has\x20unexpected\x20parent\x20'+(_0x5d2dab['parentId']??'root')+'.'),assertVerified(_0x5d2dab[_0x3bb3c6(0x179)]==null,'Created\x20folder\x20'+_0x37f174+'\x20unexpectedly\x20owns\x20a\x20page.');const _0x3eb61b=_0x5d2dab['parentId']==null?undefined:requireFolder(_0x1fa356,_0x5d2dab[_0x3bb3c6(0x193)]);assertVerified(_0x5d2dab[_0x3bb3c6(0x15c)]===(_0x3eb61b?_0x3eb61b[_0x3bb3c6(0x15c)]+0x1:0x0),_0x3bb3c6(0x15f)+_0x37f174+_0x3bb3c6(0x178));}catch(_0x22deda){const _0x1cd76c=describeMenuErrorCause(_0x22deda,_0x3bb3c6(0x17a),_0x37f174),_0x1d397b=asVerificationError(_0x22deda,_0x3bb3c6(0x175)+_0x37f174+'\x20was\x20created\x20but\x20its\x20final\x20facts\x20violate\x20the\x20folder\x20contract');throw menuFailure(_0x1d397b,_0x3e1e64,{'stage':_0x3bb3c6(0x16a),'succeeded':[{'id':_0x37f174,'created':!![],'path':_0x48cf71}],'failed':{'id':_0x37f174,'finalFactsConfirmed':![],..._0x1cd76c},'warnings':[_0x3bb3c6(0x175)+_0x37f174+'\x20remains\x20online;\x20inspect\x20its\x20final\x20facts\x20before\x20any\x20retry.'],'after':_0x2c22b7??{..._0x2adbae,'id':_0x37f174,'path':_0x48cf71},'verification':{'status':_0x3bb3c6(0x172),'lookupCommand':_0x3bb3c6(0x18f),'targetId':_0x37f174}});}const _0x220cb5=mutationResult({..._0x3e1e64,'after':_0x5d2dab,'dryRun':![],'succeeded':[{'id':_0x37f174,'type':_0x3bb3c6(0x163),'path':_0x48cf71}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x1fa356['hash'],'folder':!![],'path':_0x48cf71,'emptyResources':!![]}});return{'ok':!![],'data':_0x220cb5,'message':_0x3bb3c6(0x18b)+_0x37f174+'.'};}};function validateCreateInput(_0x2e018a){const _0x23ef79=a114_0x204f54,_0x36f1d0=_0x2e018a[_0x23ef79(0x187)](_0x23ef79(0x176))[_0x23ef79(0x165)]();if(!_0x36f1d0)throw CliErrors[_0x23ef79(0x160)](_0x23ef79(0x176));parseParentId(_0x2e018a,'parent-id'),validateSort(_0x2e018a);}async function buildCreatePlan(_0x55bcf6,_0x369ae5){const _0xec5bc8=a114_0x204f54,_0x2974ce=await fetchMutationSnapshot(_0x55bcf6,_0xec5bc8(0x198)),_0x105e26=parseParentId(_0x55bcf6,_0xec5bc8(0x168))??null;if(_0x105e26!=null)requireFolder(_0x2974ce,_0x105e26);const _0x4fede1=validateSort(_0x55bcf6),_0x213dca=_0x4fede1??nextSiblingSort(_0x2974ce,_0x105e26,'folder'),_0x45d292=_0x55bcf6['str'](_0xec5bc8(0x176))[_0xec5bc8(0x165)]();return mutationResult({'operation':_0xec5bc8(0x185),'selector':{'label':_0x45d292,'parentId':_0x105e26},'before':null,'after':{'id':null,'parentId':_0x105e26,'label':_0x45d292,'path':'<platform-generated>','type':'folder','visible':!![],'sort':_0x213dca,'resources':[],'childrenIds':[],'childrenCount':0x0},'dryRun':_0x369ae5,'backend':[...BACKEND],'plannedActions':[{'stage':'create-folder','method':'POST','path':_0xec5bc8(0x19a),'body':{'parentId':toApiParentId(_0x105e26),'label':_0x45d292,'type':'folder','visible':!![],'sort':_0x213dca,'extend':{}}}],'snapshotHash':_0x2974ce[_0xec5bc8(0x19c)],'warnings':[_0xec5bc8(0x162)]});}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a115_0xab50=a115_0x5aaa;(function(_0x4db73d,_0x2f0db1){const _0x36e6c3=a115_0x5aaa,_0x36d2ef=_0x4db73d();while(!![]){try{const _0x57eea7=parseInt(_0x36e6c3(0xab))/0x1*(parseInt(_0x36e6c3(0xb5))/0x2)+-parseInt(_0x36e6c3(0x86))/0x3+parseInt(_0x36e6c3(0x91))/0x4*(parseInt(_0x36e6c3(0x85))/0x5)+parseInt(_0x36e6c3(0xa7))/0x6*(-parseInt(_0x36e6c3(0x9a))/0x7)+-parseInt(_0x36e6c3(0xa5))/0x8*(parseInt(_0x36e6c3(0x8a))/0x9)+parseInt(_0x36e6c3(0xb0))/0xa*(parseInt(_0x36e6c3(0xa0))/0xb)+parseInt(_0x36e6c3(0xad))/0xc;if(_0x57eea7===_0x2f0db1)break;else _0x36d2ef['push'](_0x36d2ef['shift']());}catch(_0x3586cc){_0x36d2ef['push'](_0x36d2ef['shift']());}}}(a115_0x49d5,0xa781d));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a115_0x49d5(){const _0xdb5660=['sort','At\x20least\x20one\x20of\x20--label\x20or\x20--sort\x20is\x20required.','101325yoNNAT','3838980voeJBS','Update\x20request\x20for\x20folder\x20','POST','validation','1557sKDTtH','\x20is\x20type\x20\x22','folder','--label\x20cannot\x20be\x20empty.','menu','cookie','label','100LRqCSB','selector','group-update','Menu\x20','str','unknown','rabetbase\x20menu\x20list\x20--format\x20json','hash','update\x20folder','2849nddHzc','Rename\x20or\x20reorder\x20one\x20existing\x20folder\x20menu','\x20sort\x20update\x20did\x20not\x20take\x20effect.','verification','menu_not_folder','\x22,\x20not\x20folder.','11cVXnKl','failed','parentId','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','string','14728tHNVBc','The\x20update\x20request\x20may\x20have\x20taken\x20effect,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.','15846whcAvv','type','/smartapi/menu/update','trim','8240ydWaMF','Menu\x20group-update\x20does\x20not\x20support\x20reparenting;\x20remove\x20--parent-id.','18201396QsPcCD','update','Folder\x20','4870210pYGSdW','appCode','write','Use\x20the\x20platform\x20UI\x20for\x20hierarchy\x20changes.','\x20is\x20no\x20longer\x20type\x20folder.','206KvNVVN'];a115_0x49d5=function(){return _0xdb5660;};return a115_0x49d5();}import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_FLAGS,MENU_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertExpectedState,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,hasFlag,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,recheckMutationSnapshot,requireFolder,requireMenu,validateExactId,validateSort}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a115_0xab50(0x88),'path':'/smartapi/menu/update'}];export const menuGroupUpdate={'service':a115_0xab50(0x8e),'command':'group-update','description':a115_0xab50(0x9b),'risk':a115_0xab50(0xb2),'structuredErrors':!![],'rejectedFlags':[{'name':'parent-id','message':a115_0xab50(0xac),'hint':a115_0xab50(0xb3)}],'flags':[MENU_ID_FLAG,{'name':a115_0xab50(0x90),'type':a115_0xab50(0xa4),'description':'New\x20folder\x20label'},MENU_SORT_FLAG,...MENU_EXPECT_FLAGS,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x348a07){validateUpdateInput(_0x348a07);},async 'dryRun'(_0x22441a){const _0x5ae349=a115_0xab50;validateUpdateInput(_0x22441a);const {plan:_0x4113be,patch:_0x419da5}=await buildUpdatePlan(_0x22441a,!![]);return menuDryRunResult(_0x4113be,{'method':_0x5ae349(0x88),'url':_0x5ae349(0xa9),'body':_0x419da5,'description':'Would\x20update\x20folder\x20'+_0x4113be[_0x5ae349(0x92)]['id']+'.'});},async 'execute'(_0x517b6b){const _0x33f8d2=a115_0xab50;validateUpdateInput(_0x517b6b);const {plan:_0x118696,patch:_0x3d01c2,noChanges:_0x2c8472}=await buildUpdatePlan(_0x517b6b,![]),_0x46540c=Number(_0x118696[_0x33f8d2(0x92)]['id']),_0x5cd5be=await recheckMutationSnapshot(_0x517b6b,_0x118696,_0x33f8d2(0x99),_0x46540c);if(!_0x2c8472)try{await updateMenuEntity(_0x517b6b[_0x33f8d2(0xb1)],_0x517b6b[_0x33f8d2(0x8f)],_0x3d01c2);}catch(_0x765672){const _0x800170=mapMenuApiError(_0x765672,'update\x20folder',_0x46540c);throw menuFailure(_0x800170,_0x118696,{'stage':_0x33f8d2(0xae),'failed':{'id':_0x46540c}});}let _0xe445e5=_0x5cd5be,_0x41ad06;try{!_0x2c8472&&(_0xe445e5=await fetchMenuSnapshot(_0x517b6b[_0x33f8d2(0xb1)],_0x517b6b[_0x33f8d2(0x8f)])),_0x41ad06=requireMenu(_0xe445e5,_0x46540c),verifyPatch(_0x41ad06,_0x3d01c2),_0x41ad06[_0x33f8d2(0xa2)]!=null&&requireFolder(_0xe445e5,_0x41ad06[_0x33f8d2(0xa2)]);}catch(_0x4d8d88){const _0xf27df5=describeMenuErrorCause(_0x4d8d88,'verify\x20folder\x20update',_0x46540c),_0x4204e5=asVerificationError(_0x4d8d88,_0x33f8d2(0x87)+_0x46540c+_0x33f8d2(0xa3));throw menuFailure(_0x4204e5,_0x118696,{'stage':_0x33f8d2(0x9d),'succeeded':[{'id':_0x46540c,'updateRequested':!_0x2c8472,'skipped':_0x2c8472}],'failed':{'id':_0x46540c,'requestedStateConfirmed':![],..._0xf27df5},'warnings':[_0x33f8d2(0xa6)],'verification':{'status':_0x33f8d2(0xa1),'lookupCommand':_0x33f8d2(0x97),'targetId':_0x46540c}});}const _0x2a6b02=mutationResult({..._0x118696,'after':_0x41ad06,'dryRun':![],'succeeded':[{'id':_0x46540c,'updated':!_0x2c8472,'skipped':_0x2c8472}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0xe445e5['hash'],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x2a6b02,'message':_0x2c8472?_0x33f8d2(0xaf)+_0x46540c+'\x20already\x20matches\x20the\x20requested\x20state.':'Updated\x20folder\x20'+_0x46540c+'.'};}};function validateUpdateInput(_0x203afa){const _0x13d414=a115_0xab50;validateExactId(_0x203afa);if(hasFlag(_0x203afa,'parent-id'))throw CliErrors[_0x13d414(0x89)](_0x13d414(0xac),'Use\x20the\x20platform\x20UI\x20for\x20hierarchy\x20changes.');if(!hasFlag(_0x203afa,_0x13d414(0x90))&&!hasFlag(_0x203afa,_0x13d414(0xb6)))throw CliErrors[_0x13d414(0x89)](_0x13d414(0xb7));if(hasFlag(_0x203afa,'label')&&!_0x203afa[_0x13d414(0x95)]('label')[_0x13d414(0xaa)]())throw CliErrors[_0x13d414(0x89)](_0x13d414(0x8d));validateSort(_0x203afa);}async function buildUpdatePlan(_0x265893,_0x8c01d8){const _0x11e293=a115_0xab50,_0x10f1a8=validateExactId(_0x265893),_0x9b5f5a=await fetchMutationSnapshot(_0x265893,_0x11e293(0x99),_0x10f1a8),_0x38264c=requireMenu(_0x9b5f5a,_0x10f1a8);if(_0x38264c['type']!==_0x11e293(0x8c))throw menuError(_0x11e293(0x9e),_0x11e293(0x94)+_0x10f1a8+_0x11e293(0x8b)+(_0x38264c[_0x11e293(0xa8)]||_0x11e293(0x96))+_0x11e293(0x9f),'Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20and\x20choose\x20an\x20id\x20whose\x20type\x20is\x20folder.');assertExpectedState(_0x265893,_0x38264c);const _0x104099={'id':_0x10f1a8},_0x4d2619={..._0x38264c};if(hasFlag(_0x265893,_0x11e293(0x90))){const _0x1a6015=_0x265893[_0x11e293(0x95)]('label')[_0x11e293(0xaa)]();_0x104099['label']=_0x1a6015,_0x4d2619[_0x11e293(0x90)]=_0x1a6015;}if(hasFlag(_0x265893,_0x11e293(0xb6))){const _0x53dd66=validateSort(_0x265893);_0x104099[_0x11e293(0xb6)]=_0x53dd66,_0x4d2619['sort']=_0x53dd66;}const _0x1d963b=sameRequestedState(_0x38264c,_0x4d2619),_0x3c2315=_0x1d963b?['No\x20online\x20fields\x20would\x20change.']:[];return{'patch':_0x104099,'noChanges':_0x1d963b,'plan':mutationResult({'operation':_0x11e293(0x93),'selector':{'id':_0x10f1a8},'before':_0x38264c,'after':_0x4d2619,'dryRun':_0x8c01d8,'backend':[...BACKEND],'snapshotHash':_0x9b5f5a[_0x11e293(0x98)],'warnings':_0x3c2315})};}function a115_0x5aaa(_0x983a1d,_0x52d5e1){_0x983a1d=_0x983a1d-0x85;const _0x49d561=a115_0x49d5();let _0x5aaa1b=_0x49d561[_0x983a1d];return _0x5aaa1b;}function sameRequestedState(_0x4ff242,_0x169d9b){const _0x403902=a115_0xab50;return _0x4ff242[_0x403902(0x90)]===_0x169d9b[_0x403902(0x90)]&&_0x4ff242['sort']===_0x169d9b[_0x403902(0xb6)];}function verifyPatch(_0x3bf85c,_0x5f5eb1){const _0x515291=a115_0xab50;assertVerified(_0x3bf85c['type']===_0x515291(0x8c),_0x515291(0x94)+_0x3bf85c['id']+_0x515291(0xb4)),_0x5f5eb1['label']!==undefined&&assertVerified(_0x3bf85c['label']===_0x5f5eb1[_0x515291(0x90)],'Folder\x20'+_0x3bf85c['id']+'\x20label\x20update\x20did\x20not\x20take\x20effect.'),_0x5f5eb1[_0x515291(0xb6)]!==undefined&&assertVerified(_0x3bf85c['sort']===_0x5f5eb1[_0x515291(0xb6)],_0x515291(0xaf)+_0x3bf85c['id']+_0x515291(0x9c));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x5be07e,_0x5815fd){const _0x5c1425=a116_0x45b8,_0x4f736d=_0x5be07e();while(!![]){try{const _0x2edde2=parseInt(_0x5c1425(0x13e))/0x1*(-parseInt(_0x5c1425(0x13a))/0x2)+-parseInt(_0x5c1425(0x13c))/0x3+-parseInt(_0x5c1425(0x143))/0x4+-parseInt(_0x5c1425(0x140))/0x5*(parseInt(_0x5c1425(0x141))/0x6)+-parseInt(_0x5c1425(0x142))/0x7+parseInt(_0x5c1425(0x13d))/0x8*(parseInt(_0x5c1425(0x13b))/0x9)+parseInt(_0x5c1425(0x13f))/0xa;if(_0x2edde2===_0x5815fd)break;else _0x4f736d['push'](_0x4f736d['shift']());}catch(_0x4f95c1){_0x4f736d['push'](_0x4f736d['shift']());}}}(a116_0x2a20,0x86f21));import{menuList}from'../../commands/menu/list.js';import{menuSync}from'../../commands/menu/sync.js';function a116_0x45b8(_0x5a2c21,_0x38932d){_0x5a2c21=_0x5a2c21-0x13a;const _0x2a2068=a116_0x2a20();let _0x45b8b4=_0x2a2068[_0x5a2c21];return _0x45b8b4;}import{menuAssetUpdate}from'../../commands/menu/asset-update.js';import{menuDelete}from'../../commands/menu/delete.js';import{menuGroupCreate}from'../../commands/menu/group-create.js';import{menuGroupUpdate}from'../../commands/menu/group-update.js';import{menuMove}from'../../commands/menu/move.js';import{menuRegroupStart}from'../../commands/menu/regroup-start.js';function a116_0x2a20(){const _0x1a6ca2=['824GoUctd','27837560HfSrKk','5DgGfRQ','984738NbUoYd','4416496jNvNDW','3253484LcZUti','666AnocGB','162072EBZtou','1854975PiWulk','120QqQwjH'];a116_0x2a20=function(){return _0x1a6ca2;};return a116_0x2a20();}import{menuExternalLinkCreate}from'../../commands/menu/external-link-create.js';import{menuExternalLinkUpdate}from'../../commands/menu/external-link-update.js';import{menuRename}from'../../commands/menu/rename.js';import{menuVisibilityUpdate}from'../../commands/menu/visibility-update.js';export const menuDefinitions=[menuList,menuExternalLinkCreate,menuExternalLinkUpdate,menuRename,menuVisibilityUpdate,menuSync,menuAssetUpdate,menuDelete,menuGroupCreate,menuGroupUpdate,menuMove,menuRegroupStart];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a117_0x25a864=a117_0x114c;(function(_0x1ac966,_0x50d81b){const _0x5f269d=a117_0x114c,_0x1f57bd=_0x1ac966();while(!![]){try{const _0x21d19a=-parseInt(_0x5f269d(0x192))/0x1*(-parseInt(_0x5f269d(0x186))/0x2)+-parseInt(_0x5f269d(0x18f))/0x3*(-parseInt(_0x5f269d(0x184))/0x4)+-parseInt(_0x5f269d(0x199))/0x5+parseInt(_0x5f269d(0x194))/0x6+parseInt(_0x5f269d(0x188))/0x7+-parseInt(_0x5f269d(0x198))/0x8+parseInt(_0x5f269d(0x191))/0x9*(parseInt(_0x5f269d(0x190))/0xa);if(_0x21d19a===_0x50d81b)break;else _0x1f57bd['push'](_0x1f57bd['shift']());}catch(_0x51bacb){_0x1f57bd['push'](_0x1f57bd['shift']());}}}(a117_0x51b8,0xc9a72));function a117_0x114c(_0x287b8d,_0xf6eacb){_0x287b8d=_0x287b8d-0x181;const _0x51b8e0=a117_0x51b8();let _0x114c34=_0x51b8e0[_0x287b8d];return _0x114c34;}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot,toMenuListItem}from'../../commands/menu/shared/facts.js';function a117_0x51b8(){const _0x3c142a=['12320280jZFEsl','4834115cGaHxi','menu','read','List\x20online\x20menu\x20facts\x20for\x20the\x20current\x20app','1780456GoWHNh','appCode','78rleSwB','No\x20menus\x20found.','7776776erIkZO','list','Return\x20extend\x20field\x20for\x20troubleshooting\x20resource\x20parsing','cookie','verbose','\x20menu(s)','Found\x20','3nvAfCp','230SyKqJp','616914ciqdMA','4682XyfnTo','boolean','105540UYCnTO','bool','menus','total'];a117_0x51b8=function(){return _0x3c142a;};return a117_0x51b8();}export const menuList={'service':a117_0x25a864(0x181),'command':a117_0x25a864(0x189),'description':a117_0x25a864(0x183),'risk':a117_0x25a864(0x182),'flags':[APPCODE_FLAG_OPTIONAL,{'name':a117_0x25a864(0x18c),'type':a117_0x25a864(0x193),'description':a117_0x25a864(0x18a)}],async 'execute'(_0x55a283){const _0x556c27=a117_0x25a864,_0x2ecba4=_0x55a283[_0x556c27(0x195)]('verbose'),_0x2e840a=await fetchMenuSnapshot(_0x55a283[_0x556c27(0x185)],_0x55a283[_0x556c27(0x18b)],{'verbose':_0x2ecba4});return{'ok':!![],'data':{'total':_0x2e840a[_0x556c27(0x197)],'snapshotHash':_0x2e840a['hash'],'menus':_0x2e840a[_0x556c27(0x196)]['map'](toMenuListItem)},'message':_0x2e840a[_0x556c27(0x197)]===0x0?_0x556c27(0x187):_0x556c27(0x18e)+_0x2e840a[_0x556c27(0x197)]+_0x556c27(0x18d)};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a118_0xaa2987=a118_0x4ff1;(function(_0x35fc05,_0x5f19d5){const _0x3d166d=a118_0x4ff1,_0x13a25f=_0x35fc05();while(!![]){try{const _0x3e9382=parseInt(_0x3d166d(0x14b))/0x1*(parseInt(_0x3d166d(0x15b))/0x2)+parseInt(_0x3d166d(0x138))/0x3+-parseInt(_0x3d166d(0x162))/0x4+-parseInt(_0x3d166d(0x141))/0x5*(parseInt(_0x3d166d(0x135))/0x6)+parseInt(_0x3d166d(0x14a))/0x7*(-parseInt(_0x3d166d(0x152))/0x8)+parseInt(_0x3d166d(0x168))/0x9+parseInt(_0x3d166d(0x13f))/0xa;if(_0x3e9382===_0x5f19d5)break;else _0x13a25f['push'](_0x13a25f['shift']());}catch(_0x363f50){_0x13a25f['push'](_0x13a25f['shift']());}}}(a118_0x3cd8,0xcee28));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_PARENT_ID_FLAG,MENU_ID_FLAG,MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,formatParent,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,nextSiblingSort,parseParentId,requireFolder,requireMenu,toApiParentId,validateExactId,validateSort}from'../../commands/menu/shared/mutations.js';function a118_0x4ff1(_0x137e35,_0x58b1c1){_0x137e35=_0x137e35-0x134;const _0x3cd800=a118_0x3cd8();let _0x4ff1bf=_0x3cd800[_0x137e35];return _0x4ff1bf;}import{updateMenuEntity}from'../../commands/menu/shared/service.js';const BACKEND=[{'method':a118_0xaa2987(0x139),'path':a118_0xaa2987(0x156)}];function a118_0x3cd8(){const _0x3d0b84=['menu_move_source_not_leaf','22928zJNhNi','The\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','folder','/smartapi/menu/update','verify\x20menu\x20move','Moved\x20menu\x20','type','parentId','219058fmKxrw','Menu\x20','move-menu','\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.','Run\x20`rabetbase\x20menu\x20list\x20--format\x20compress`\x20and\x20choose\x20an\x20exact\x20non-folder\x20leaf\x20id.','sort','write','2794592vaonlB','failed','update','rabetbase\x20menu\x20list\x20--format\x20compress','Would\x20move\x20menu\x20','\x20is\x20now\x20type\x20folder.','13638969rXIngE',',\x20current\x20','6gJmBXG','\x20is\x20no\x20longer\x20a\x20leaf.','move','888576eFShqu','POST','verification','\x20parentId\x20did\x20not\x20match\x20the\x20move\x20plan.','menu','move\x20menu','cookie','1373840cVIdyP','\x20must\x20be\x20a\x20non-folder\x20leaf\x20before\x20it\x20can\x20be\x20moved.','2535025MlvRLJ','expect-parent-id','Move\x20request\x20for\x20menu\x20','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','appCode','parent-id','childrenCount','after','The\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','1351heEBSx','6QjRrLL','\x20sort\x20did\x20not\x20match\x20the\x20move\x20plan.','menu\x20list','Move\x20one\x20existing\x20leaf\x20menu\x20to\x20a\x20folder\x20or\x20root','menu_state_drift','hash'];a118_0x3cd8=function(){return _0x3d0b84;};return a118_0x3cd8();}export const menuMove={'service':a118_0xaa2987(0x13c),'command':'move','description':a118_0xaa2987(0x14e),'risk':a118_0xaa2987(0x161),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{...MENU_PARENT_ID_FLAG,'required':!![]},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x41abe9){validateMoveInput(_0x41abe9);},async 'dryRun'(_0x11de2e){const _0x2b08a4=a118_0xaa2987,{plan:_0x47410c,patch:_0xa0b57f}=await buildMovePlan(_0x11de2e,!![]);return menuDryRunResult(_0x47410c,{'method':_0x2b08a4(0x139),'url':_0x2b08a4(0x156),'body':{..._0xa0b57f,'appCode':_0x11de2e[_0x2b08a4(0x145)]},'description':_0x2b08a4(0x166)+_0xa0b57f['id']+'.'});},async 'execute'(_0x5aed5f){const _0x417d99=a118_0xaa2987;validateMoveInput(_0x5aed5f);const {plan:_0x4be746,patch:_0xeff120,noChanges:_0x575a1a,snapshot:_0x47384d}=await buildMovePlan(_0x5aed5f,![]),_0x5e99c3=_0xeff120['id'];if(!_0x575a1a)try{await updateMenuEntity(_0x5aed5f[_0x417d99(0x145)],_0x5aed5f[_0x417d99(0x13e)],_0xeff120);}catch(_0x157a97){const _0x1e50d5=mapMenuApiError(_0x157a97,_0x417d99(0x137),_0x5e99c3);throw menuFailure(_0x1e50d5,_0x4be746,{'stage':_0x417d99(0x164),'failed':{'id':_0x5e99c3},'warnings':[_0x417d99(0x149)],'verification':{'status':'failed','targetId':_0x5e99c3,'lookupCommand':_0x417d99(0x165)}});}let _0xbe694a,_0x48316a;try{_0xbe694a=_0x575a1a?_0x47384d:await fetchMenuSnapshot(_0x5aed5f[_0x417d99(0x145)],_0x5aed5f[_0x417d99(0x13e)]),_0x48316a=requireMenu(_0xbe694a,_0x5e99c3),verifyMove(_0x48316a,_0x4be746[_0x417d99(0x148)]),_0x48316a[_0x417d99(0x15a)]!==null&&requireFolder(_0xbe694a,_0x48316a[_0x417d99(0x15a)]);}catch(_0x23563c){const _0x2e100f=describeMenuErrorCause(_0x23563c,_0x417d99(0x157),_0x5e99c3),_0x2eb95b=asVerificationError(_0x23563c,_0x417d99(0x143)+_0x5e99c3+_0x417d99(0x154));throw menuFailure(_0x2eb95b,_0x4be746,{'stage':_0x417d99(0x13a),'succeeded':[{'id':_0x5e99c3,'updateRequested':!_0x575a1a,'skipped':_0x575a1a}],'failed':{'id':_0x5e99c3,'requestedStateConfirmed':![],..._0x2e100f},'warnings':[_0x417d99(0x153)],'verification':{'status':_0x417d99(0x163),'targetId':_0x5e99c3,'lookupCommand':_0x417d99(0x165)}});}const _0x44066e=mutationResult({..._0x4be746,'after':_0x48316a,'dryRun':![],'succeeded':[{'id':_0x5e99c3,'updated':!_0x575a1a,'skipped':_0x575a1a}],'verification':{'checkedBy':_0x417d99(0x14d),'snapshotHash':_0xbe694a[_0x417d99(0x150)],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x44066e,'message':_0x575a1a?_0x417d99(0x15c)+_0x5e99c3+_0x417d99(0x15e):_0x417d99(0x158)+_0x5e99c3+'.'};}};function validateMoveInput(_0x1b6117){const _0x30c59c=a118_0xaa2987;validateExactId(_0x1b6117),parseParentId(_0x1b6117,_0x30c59c(0x146),{'required':!![]}),parseParentId(_0x1b6117,_0x30c59c(0x142),{'required':!![]}),validateSort(_0x1b6117);}async function buildMovePlan(_0x454029,_0x57fba5){const _0x468522=a118_0xaa2987,_0x42520b=validateExactId(_0x454029),_0x561acd=parseParentId(_0x454029,_0x468522(0x146),{'required':!![]}),_0xbe91fe=parseParentId(_0x454029,_0x468522(0x142),{'required':!![]}),_0x2d75e5=validateSort(_0x454029),_0x5b9ed5=await fetchMutationSnapshot(_0x454029,_0x468522(0x13d),_0x42520b),_0x423bef=requireMenu(_0x5b9ed5,_0x42520b);if(_0x423bef[_0x468522(0x159)]===_0x468522(0x155)||_0x423bef['childrenCount']!==0x0)throw menuError(_0x468522(0x151),_0x468522(0x15c)+_0x42520b+_0x468522(0x140),_0x468522(0x15f));if(_0x423bef[_0x468522(0x15a)]!==_0xbe91fe)throw menuError(_0x468522(0x14f),_0x468522(0x15c)+_0x42520b+'\x20parent\x20changed:\x20expected\x20'+formatParent(_0xbe91fe)+_0x468522(0x134)+formatParent(_0x423bef[_0x468522(0x15a)])+'.',_0x468522(0x144));_0x561acd!==null&&requireFolder(_0x5b9ed5,_0x561acd);const _0x12b1bb=_0x2d75e5??(_0x423bef[_0x468522(0x15a)]===_0x561acd?_0x423bef[_0x468522(0x160)]??0x0:nextSiblingSort(_0x5b9ed5,_0x561acd,'menu')),_0x4e03c3={..._0x423bef,'parentId':_0x561acd,'sort':_0x12b1bb},_0x276c5a={'id':_0x42520b,'parentId':toApiParentId(_0x561acd),'sort':_0x12b1bb},_0x2b3bfa=_0x423bef[_0x468522(0x15a)]===_0x561acd&&_0x423bef[_0x468522(0x160)]===_0x12b1bb;return{'patch':_0x276c5a,'noChanges':_0x2b3bfa,'snapshot':_0x5b9ed5,'plan':mutationResult({'operation':_0x468522(0x137),'selector':{'id':_0x42520b,'parentId':_0x561acd},'before':_0x423bef,'after':_0x4e03c3,'dryRun':_0x57fba5,'backend':[...BACKEND],'plannedActions':[{'stage':_0x468522(0x15d),'method':_0x468522(0x139),'path':_0x468522(0x156),'body':{..._0x276c5a,'appCode':_0x454029[_0x468522(0x145)]}}],'snapshotHash':_0x5b9ed5['hash'],'warnings':_0x2b3bfa?['Source\x20menu\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.']:[]})};}function verifyMove(_0x1b5d8a,_0xc52b67){const _0x46352a=a118_0xaa2987;assertVerified(_0x1b5d8a[_0x46352a(0x159)]!=='folder','Menu\x20'+_0x1b5d8a['id']+_0x46352a(0x167)),assertVerified(_0x1b5d8a[_0x46352a(0x147)]===0x0,_0x46352a(0x15c)+_0x1b5d8a['id']+_0x46352a(0x136)),assertVerified(_0x1b5d8a[_0x46352a(0x15a)]===_0xc52b67[_0x46352a(0x15a)],'Menu\x20'+_0x1b5d8a['id']+_0x46352a(0x13b)),assertVerified(_0x1b5d8a[_0x46352a(0x160)]===_0xc52b67[_0x46352a(0x160)],_0x46352a(0x15c)+_0x1b5d8a['id']+_0x46352a(0x14c));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a118_0x9d8a(){const _0x2f6875=['failed','size','cookie','7MVbWVJ','Would\x20submit\x20an\x20asynchronous\x20task\x20to\x20create\x20root\x20folder\x20','8433vsajeh','--menu-ids\x20cannot\x20contain\x20duplicate\x20menu\x20ids.','\x20menu\x20list\x20--appcode\x20','4392210IQVaCQ','group','taskId','readbackError','regroup-submit','menus','status','regroup-start','Label\x20of\x20the\x20new\x20root\x20folder','Do\x20not\x20resubmit\x20the\x20non-idempotent\x20regroup\x20request.\x20Query\x20the\x20original\x20taskId\x20if\x20it\x20is\x20available.','label','hash','warnings','menuIds',';\x20the\x20response\x20will\x20contain\x20a\x20regroup\x20taskId.','message','byId','replace','input','menu_regroup_target_not_leaf','parentId','57LMsjzN','menu_regroup_already_applied','stringify','childrenCount','7288ulTiHn','Repair\x20the\x20menu\x20label\x20in\x20the\x20platform\x20before\x20regrouping\x20it.','4929318aqABYY','\x20menus\x20per\x20regroup\x20request.','sort','Menus\x20','1679606IhjDda','isSafeInteger','121DVovcr','trim','menu_regroup_target_label_missing','knownStatus','filter','start\x20regroup','\x20and\x20regroup\x20menu\x20ids\x20','childrenIds','start\x20menu\x20regroup','menu-ids','unconfirmed','Use\x20exact\x20non-folder\x20leaf\x20menu\x20ids.\x20Existing\x20folder\x20hierarchy\x20changes\x20remain\x20platform-owned.','toLowerCase','some','plan','\x27\x5c\x27\x27','<new-group-id>','The\x20regroup\x20transaction\x20may\x20commit\x20before\x20task\x20scheduling\x20returns.\x20Do\x20not\x20submit\x20the\x20same\x20regroup\x20again\x20until\x20menu\x20list\x20confirms\x20the\x20current\x20grouping.','Comma-separated\x20exact\x20leaf\x20menu\x20ids\x20to\x20place\x20in\x20the\x20new\x20folder','get','The\x20regroup\x20task\x20returned\x20an\x20unknown\x20status\x20and\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Review\x20the\x20task\x20manually\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.','menu_regroup_label_conflict','<platform-generated>','appCode','/smartapi/menu/regroup','string','The\x20regroup\x20task\x20was\x20accepted,\x20but\x20the\x20grouping\x20is\x20not\x20visible\x20yet.\x20Query\x20the\x20returned\x20taskId\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.','test','menu\x20list','str','isTerminal','length','The\x20regroup\x20task\x20succeeded,\x20but\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Run\x20data.verification.lookupCommand\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.','--menu-ids\x20must\x20contain\x20comma-separated\x20positive\x20integer\x20menu\x20ids.','The\x20response\x20included\x20a\x20taskId.\x20Query\x20that\x20taskId\x20instead\x20of\x20resubmitting\x20regroup.','Regroup\x20readback\x20failed:\x20','map','type','POST','flagMissing','folder','157228CaRDxP','plan\x20regroup','submit-regroup-task','write','Regroup\x20task\x20','validation','join','FAILED','Regroup\x20readback\x20also\x20failed:\x20','applied','Menu\x20','The\x20regroup\x20task\x20failed,\x20and\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Inspect\x20task.errorMessage\x20and\x20do\x20not\x20automatically\x20resubmit\x20this\x20non-idempotent\x20request.','2155710rSOXBv','--menu-ids\x20supports\x20at\x20most\x20','The\x20returned\x20task\x20performs\x20the\x20regroup\x20asynchronously.\x20Keep\x20taskId\x20and\x20never\x20auto-retry\x20this\x20request.','Start\x20an\x20asynchronous\x20menu\x20regroup;\x20query\x20the\x20returned\x20taskId\x20until\x20SUCCESS\x20or\x20FAILED','\x20has\x20no\x20non-empty\x20label\x20required\x20by\x20the\x20regroup\x20contract.','menu','1469616xcwcdU','1iLVPjP','\x20already\x20belongs\x20to\x20menu\x20id(s)\x20'];a118_0x9d8a=function(){return _0x2f6875;};return a118_0x9d8a();}const a118_0x59f5a4=a118_0x5eaa;(function(_0xb3cde8,_0x3fa4bc){const _0xd24266=a118_0x5eaa,_0x2099aa=_0xb3cde8();while(!![]){try{const _0x40a670=parseInt(_0xd24266(0x148))/0x1*(-parseInt(_0xd24266(0x171))/0x2)+parseInt(_0xd24266(0x167))/0x3*(-parseInt(_0xd24266(0x135))/0x4)+parseInt(_0xd24266(0x152))/0x5+parseInt(_0xd24266(0x16d))/0x6*(-parseInt(_0xd24266(0x14d))/0x7)+-parseInt(_0xd24266(0x16b))/0x8*(-parseInt(_0xd24266(0x14f))/0x9)+-parseInt(_0xd24266(0x141))/0xa+parseInt(_0xd24266(0x173))/0xb*(parseInt(_0xd24266(0x147))/0xc);if(_0x40a670===_0x3fa4bc)break;else _0x2099aa['push'](_0x2099aa['shift']());}catch(_0xff1967){_0x2099aa['push'](_0x2099aa['shift']());}}}(a118_0x9d8a,0x6f30d));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asyncTaskMessage,buildAsyncTaskStatusCommand,normalizeAsyncTask}from'../../commands/common/async-task.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{fetchMutationSnapshot,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,recheckMutationSnapshot,requireMenu}from'../../commands/menu/shared/mutations.js';import{startMenuRegroup}from'../../commands/menu/shared/service.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{CliErrors}from'../../errors.js';function a118_0x5eaa(_0x13d83a,_0x29b5fa){_0x13d83a=_0x13d83a-0x122;const _0x9d8ad8=a118_0x9d8a();let _0x5eaaa9=_0x9d8ad8[_0x13d83a];return _0x5eaaa9;}const BACKEND=[{'method':'POST','path':'/smartapi/menu/regroup'}],MAX_REGROUP_MENU_COUNT=0x64;export const menuRegroupStart={'service':a118_0x59f5a4(0x146),'command':a118_0x59f5a4(0x159),'description':a118_0x59f5a4(0x144),'risk':a118_0x59f5a4(0x138),'structuredErrors':!![],'flags':[{'name':a118_0x59f5a4(0x15c),'type':a118_0x59f5a4(0x125),'required':!![],'description':a118_0x59f5a4(0x15a)},{'name':a118_0x59f5a4(0x17c),'type':a118_0x59f5a4(0x125),'required':!![],'description':a118_0x59f5a4(0x185)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x3f7212){validateRegroupInput(_0x3f7212);},async 'dryRun'(_0x18dea5){const _0x5b384f=a118_0x59f5a4;validateRegroupInput(_0x18dea5);const _0x5bfd91=await buildRegroupPlan(_0x18dea5,!![]);return menuDryRunResult(_0x5bfd91[_0x5b384f(0x181)],{'method':_0x5b384f(0x132),'url':_0x5b384f(0x124),'body':_0x5bfd91[_0x5b384f(0x164)],'description':_0x5b384f(0x14e)+JSON[_0x5b384f(0x169)](_0x5bfd91[_0x5b384f(0x15c)])+_0x5b384f(0x179)+_0x5bfd91[_0x5b384f(0x15f)][_0x5b384f(0x13b)](',\x20')+_0x5b384f(0x160)});},async 'execute'(_0x3702b0){const _0x1e555a=a118_0x59f5a4;validateRegroupInput(_0x3702b0);const _0x10141c=await buildRegroupPlan(_0x3702b0,![]);await recheckMutationSnapshot(_0x3702b0,_0x10141c[_0x1e555a(0x181)],_0x1e555a(0x178));const _0x4330e5=buildMenuLookupCommand(_0x3702b0[_0x1e555a(0x123)]);let _0x15b89f,_0xe3bf5b;try{_0x15b89f=await startMenuRegroup(_0x3702b0[_0x1e555a(0x14c)],_0x10141c[_0x1e555a(0x164)]),_0xe3bf5b=normalizeAsyncTask(_0x15b89f);}catch(_0x1a9769){const _0x45684c=await inspectRegroupAfterFailure(_0x3702b0[_0x1e555a(0x123)],_0x3702b0['cookie'],_0x10141c[_0x1e555a(0x15c)],_0x10141c[_0x1e555a(0x15f)]),_0x3eb99f=typeof _0x15b89f?.[_0x1e555a(0x154)]==='string'&&_0x15b89f[_0x1e555a(0x154)][_0x1e555a(0x174)]()?_0x15b89f[_0x1e555a(0x154)][_0x1e555a(0x174)]():null,_0x543684=_0x3eb99f?{'command':buildAsyncTaskStatusCommand(_0x3eb99f,_0x3702b0[_0x1e555a(0x123)])}:null,_0x87a8f5=mapMenuApiError(_0x1a9769,_0x1e555a(0x17b));throw menuFailure(_0x87a8f5,_0x10141c[_0x1e555a(0x181)],{'stage':_0x1e555a(0x156),'failed':{'menuIds':_0x10141c[_0x1e555a(0x15f)],'taskId':_0x3eb99f,'groupingApplied':_0x45684c[_0x1e555a(0x13e)]?!![]:'unconfirmed'},'after':_0x45684c['applied']??null,'warnings':[_0x1e555a(0x184),..._0x45684c[_0x1e555a(0x155)]?[_0x1e555a(0x13d)+_0x45684c['readbackError']]:[],..._0x3eb99f?[_0x1e555a(0x12e)]:[]],'verification':{'status':_0x1e555a(0x14a),'groupingApplied':_0x45684c[_0x1e555a(0x13e)]?!![]:_0x1e555a(0x17d),'taskId':_0x3eb99f,'query':_0x543684,'lookupCommand':_0x4330e5}});}const _0x1f72a5=buildAsyncTaskStatusCommand(_0xe3bf5b[_0x1e555a(0x154)],_0x3702b0[_0x1e555a(0x123)]);let _0x27f43b=null,_0xab8689=null,_0x1db43b=null;try{_0x27f43b=await fetchMenuSnapshot(_0x3702b0[_0x1e555a(0x123)],_0x3702b0[_0x1e555a(0x14c)]),_0xab8689=findAppliedRegroup(_0x27f43b,_0x10141c[_0x1e555a(0x15c)],_0x10141c[_0x1e555a(0x15f)]);}catch(_0x36d055){_0x1db43b=_0x36d055 instanceof Error?_0x36d055['message']:String(_0x36d055);}const _0x3a649d=mutationResult({..._0x10141c[_0x1e555a(0x181)],'after':_0xab8689??null,'dryRun':![],'succeeded':[{'groupId':_0xab8689?.[_0x1e555a(0x153)]['id']??null,'menuIds':_0x10141c['menuIds'],'taskId':_0xe3bf5b[_0x1e555a(0x154)],'status':_0xe3bf5b[_0x1e555a(0x158)],'groupingApplied':_0xab8689?!![]:_0x1e555a(0x17d)}],'verification':{'checkedBy':_0x1e555a(0x128),'snapshotHash':_0x27f43b?.[_0x1e555a(0x15d)]??null,'groupId':_0xab8689?.[_0x1e555a(0x153)]['id']??null,'groupingApplied':_0xab8689?!![]:_0x1e555a(0x17d),'readbackError':_0x1db43b,'lookupCommand':_0x4330e5},'warnings':[..._0x10141c[_0x1e555a(0x181)][_0x1e555a(0x15e)],...!_0xab8689?[unconfirmedRegroupWarning(_0xe3bf5b)]:[],..._0x1db43b?[_0x1e555a(0x12f)+_0x1db43b]:[]]}),_0xf06a09=_0xe3bf5b[_0x1e555a(0x158)]==='SUCCESS'&&!_0xab8689?_0x1e555a(0x139)+_0xe3bf5b[_0x1e555a(0x154)]+'\x20succeeded,\x20but\x20final\x20menu\x20grouping\x20is\x20unconfirmed.':'Regroup\x20task\x20accepted.\x20'+asyncTaskMessage(_0xe3bf5b);return{'ok':!![],'message':_0xf06a09,'data':{..._0x3a649d,'task':_0xe3bf5b,'query':_0xe3bf5b[_0x1e555a(0x12a)]?null:{'command':_0x1f72a5}}};}};function validateRegroupInput(_0x2b2a0b){const _0x5670aa=a118_0x59f5a4;if(!_0x2b2a0b['str'](_0x5670aa(0x15c))[_0x5670aa(0x174)]())throw CliErrors[_0x5670aa(0x133)](_0x5670aa(0x15c));parseMenuIds(_0x2b2a0b[_0x5670aa(0x129)]('menu-ids'));}function parseMenuIds(_0x2de1c4){const _0x23caff=a118_0x59f5a4,_0x28717a=_0x2de1c4['split'](',')['map'](_0x22571a=>_0x22571a[_0x23caff(0x174)]());if(_0x28717a[_0x23caff(0x12b)]===0x0||_0x28717a[_0x23caff(0x180)](_0x318901=>!_0x318901))throw CliErrors[_0x23caff(0x13a)]('--menu-ids\x20must\x20contain\x20comma-separated\x20positive\x20integer\x20menu\x20ids.');const _0x5639ed=_0x28717a['map'](_0x1b2089=>{const _0xe8611b=_0x23caff;if(!/^\d+$/[_0xe8611b(0x127)](_0x1b2089))throw CliErrors[_0xe8611b(0x13a)](_0xe8611b(0x12d));const _0x1719c4=Number(_0x1b2089);if(!Number[_0xe8611b(0x172)](_0x1719c4)||_0x1719c4<=0x0)throw CliErrors[_0xe8611b(0x13a)](_0xe8611b(0x12d));return _0x1719c4;});if(new Set(_0x5639ed)[_0x23caff(0x14b)]!==_0x5639ed[_0x23caff(0x12b)])throw CliErrors['validation'](_0x23caff(0x150));if(_0x5639ed[_0x23caff(0x12b)]>MAX_REGROUP_MENU_COUNT)throw CliErrors[_0x23caff(0x13a)](_0x23caff(0x142)+MAX_REGROUP_MENU_COUNT+_0x23caff(0x16e));return _0x5639ed;}function buildMenuLookupCommand(_0x47c432){const _0x2bba91=a118_0x59f5a4,_0x15fc6b='\x27'+_0x47c432[_0x2bba91(0x163)](/'/g,_0x2bba91(0x182))+'\x27';return CLI_BIN_NAME+_0x2bba91(0x151)+_0x15fc6b+'\x20--format\x20compress';}function unconfirmedRegroupWarning(_0xdcb36f){const _0x4b2670=a118_0x59f5a4;if(_0xdcb36f['status']==='SUCCESS')return _0x4b2670(0x12c);if(_0xdcb36f[_0x4b2670(0x158)]===_0x4b2670(0x13c))return _0x4b2670(0x140);if(_0xdcb36f[_0x4b2670(0x176)])return _0x4b2670(0x126);return _0x4b2670(0x187);}async function buildRegroupPlan(_0x3142a3,_0x5b9534){const _0x5c8053=a118_0x59f5a4,_0x299a77=_0x3142a3[_0x5c8053(0x129)](_0x5c8053(0x15c))[_0x5c8053(0x174)](),_0x2bf553=parseMenuIds(_0x3142a3[_0x5c8053(0x129)](_0x5c8053(0x17c))),_0x5498d3=await fetchMutationSnapshot(_0x3142a3,_0x5c8053(0x136)),_0xfa8056=_0x2bf553['map'](_0x27180f=>requireMenu(_0x5498d3,_0x27180f));for(const _0x1daaa6 of _0xfa8056){if(_0x1daaa6[_0x5c8053(0x131)][_0x5c8053(0x174)]()[_0x5c8053(0x17f)]()==='folder'||_0x1daaa6[_0x5c8053(0x16a)]>0x0)throw menuError(_0x5c8053(0x165),'Menu\x20'+_0x1daaa6['id']+'\x20is\x20not\x20a\x20leaf\x20menu\x20and\x20cannot\x20be\x20regrouped\x20by\x20this\x20command.',_0x5c8053(0x17e));if(!_0x1daaa6[_0x5c8053(0x15c)][_0x5c8053(0x174)]())throw menuError(_0x5c8053(0x175),_0x5c8053(0x13f)+_0x1daaa6['id']+_0x5c8053(0x145),_0x5c8053(0x16c));}const _0x99a8a=findAppliedRegroup(_0x5498d3,_0x299a77,_0x2bf553);if(_0x99a8a)throw menuError(_0x5c8053(0x168),_0x5c8053(0x170)+_0x2bf553[_0x5c8053(0x13b)](',\x20')+'\x20are\x20already\x20the\x20exact\x20children\x20of\x20root\x20folder\x20'+_0x99a8a[_0x5c8053(0x153)]['id']+'\x20('+JSON[_0x5c8053(0x169)](_0x299a77)+').',_0x5c8053(0x15b));const _0x1a9e81=_0x5498d3[_0x5c8053(0x157)][_0x5c8053(0x177)](_0x4a8d69=>_0x4a8d69['parentId']==null&&_0x4a8d69['type']['trim']()[_0x5c8053(0x17f)]()==='folder'&&_0x4a8d69[_0x5c8053(0x15c)]===_0x299a77);if(_0x1a9e81['length']>0x0)throw menuError(_0x5c8053(0x188),'Root\x20folder\x20label\x20'+JSON['stringify'](_0x299a77)+_0x5c8053(0x149)+_0x1a9e81[_0x5c8053(0x130)](_0xb0819b=>_0xb0819b['id'])[_0x5c8053(0x13b)](',\x20')+'.','Choose\x20a\x20unique\x20root\x20folder\x20label\x20or\x20inspect\x20the\x20existing\x20folder\x20before\x20regrouping.');const _0x5ecbcc={'appCode':_0x3142a3['appCode'],'menuGroups':[{'label':_0x299a77,'type':'folder','children':_0xfa8056[_0x5c8053(0x130)](_0xc7d585=>({'id':_0xc7d585['id'],'label':_0xc7d585['label']}))}]},_0xfe6e7a=mutationResult({'operation':_0x5c8053(0x159),'selector':{'label':_0x299a77,'menuIds':_0x2bf553},'before':{'menus':_0xfa8056},'after':{'group':{'id':null,'parentId':null,'label':_0x299a77,'path':_0x5c8053(0x122),'type':_0x5c8053(0x134),'childrenIds':_0x2bf553},'children':_0xfa8056['map'](_0x5aac3a=>({'id':_0x5aac3a['id'],'label':_0x5aac3a[_0x5c8053(0x15c)],'beforeParentId':_0x5aac3a[_0x5c8053(0x166)],'afterParentId':_0x5c8053(0x183)}))},'dryRun':_0x5b9534,'backend':[...BACKEND],'plannedActions':[{'stage':_0x5c8053(0x137),'method':_0x5c8053(0x132),'path':_0x5c8053(0x124),'body':_0x5ecbcc}],'snapshotHash':_0x5498d3[_0x5c8053(0x15d)],'warnings':['The\x20regroup\x20endpoint\x20is\x20non-idempotent:\x20every\x20accepted\x20request\x20creates\x20a\x20new\x20root\x20folder.',_0x5c8053(0x143)]});return{'label':_0x299a77,'menuIds':_0x2bf553,'input':_0x5ecbcc,'plan':_0xfe6e7a};}function findAppliedRegroup(_0x35d538,_0x5f00ce,_0x3ed77b){const _0x52e8a1=a118_0x59f5a4,_0x343e63=_0x3ed77b['map'](_0x24efd5=>_0x35d538['byId'][_0x52e8a1(0x186)](_0x24efd5))[_0x52e8a1(0x177)](_0xada167=>Boolean(_0xada167));if(_0x343e63['length']!==_0x3ed77b['length'])return null;const _0x24181d=_0x343e63[0x0]?.[_0x52e8a1(0x166)];if(_0x24181d==null||_0x343e63['some'](_0x4a41c6=>_0x4a41c6[_0x52e8a1(0x166)]!==_0x24181d))return null;const _0x536280=_0x35d538[_0x52e8a1(0x162)]['get'](_0x24181d);if(!_0x536280||_0x536280[_0x52e8a1(0x166)]!=null||_0x536280[_0x52e8a1(0x131)][_0x52e8a1(0x174)]()['toLowerCase']()!==_0x52e8a1(0x134)||_0x536280[_0x52e8a1(0x15c)]!==_0x5f00ce)return null;const _0x59a486=[..._0x3ed77b][_0x52e8a1(0x16f)]((_0x117b82,_0x20942a)=>_0x117b82-_0x20942a),_0x4eca33=[..._0x536280[_0x52e8a1(0x17a)]]['sort']((_0x228f92,_0x4c4801)=>_0x228f92-_0x4c4801);if(JSON['stringify'](_0x4eca33)!==JSON[_0x52e8a1(0x169)](_0x59a486))return null;return{'group':_0x536280,'children':_0x343e63};}async function inspectRegroupAfterFailure(_0x1d4e45,_0x1c8677,_0x382871,_0x255ac2){const _0xb683bd=a118_0x59f5a4;try{const _0x27e3a=await fetchMenuSnapshot(_0x1d4e45,_0x1c8677);return{'applied':findAppliedRegroup(_0x27e3a,_0x382871,_0x255ac2),'readbackError':null};}catch(_0xfa3bb5){return{'applied':null,'readbackError':_0xfa3bb5 instanceof Error?_0xfa3bb5[_0xb683bd(0x161)]:String(_0xfa3bb5)};}}
|
|
1
|
+
const a119_0x3abbee=a119_0x460e;(function(_0x423993,_0x1875f2){const _0x13d854=a119_0x460e,_0x29801a=_0x423993();while(!![]){try{const _0x5c5a58=parseInt(_0x13d854(0xd4))/0x1*(-parseInt(_0x13d854(0xc1))/0x2)+-parseInt(_0x13d854(0xd7))/0x3+-parseInt(_0x13d854(0xe5))/0x4*(parseInt(_0x13d854(0x113))/0x5)+-parseInt(_0x13d854(0xc6))/0x6+parseInt(_0x13d854(0xea))/0x7+-parseInt(_0x13d854(0xed))/0x8+parseInt(_0x13d854(0x10d))/0x9;if(_0x5c5a58===_0x1875f2)break;else _0x29801a['push'](_0x29801a['shift']());}catch(_0x3c5b9f){_0x29801a['push'](_0x29801a['shift']());}}}(a119_0x4f46,0x7614a));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asyncTaskMessage,buildAsyncTaskStatusCommand,normalizeAsyncTask}from'../../commands/common/async-task.js';function a119_0x4f46(){const _0x48bafe=['1439512cwsvAD','split','FAILED','The\x20response\x20included\x20a\x20taskId.\x20Query\x20that\x20taskId\x20instead\x20of\x20resubmitting\x20regroup.','\x20has\x20no\x20non-empty\x20label\x20required\x20by\x20the\x20regroup\x20contract.','unconfirmed','\x20menu\x20list\x20--appcode\x20','validation',';\x20the\x20response\x20will\x20contain\x20a\x20regroup\x20taskId.','toLowerCase','label','\x20is\x20not\x20a\x20leaf\x20menu\x20and\x20cannot\x20be\x20regrouped\x20by\x20this\x20command.','Menu\x20','start\x20menu\x20regroup','menuIds','folder','knownStatus','\x20already\x20belongs\x20to\x20menu\x20id(s)\x20','sort','POST','The\x20returned\x20task\x20performs\x20the\x20regroup\x20asynchronously.\x20Keep\x20taskId\x20and\x20never\x20auto-retry\x20this\x20request.','parentId','The\x20regroup\x20task\x20failed,\x20and\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Inspect\x20task.errorMessage\x20and\x20do\x20not\x20automatically\x20resubmit\x20this\x20non-idempotent\x20request.','Regroup\x20task\x20','appCode','/smartapi/menu/regroup','failed','message','menu-ids','string','trim','The\x20regroup\x20task\x20was\x20accepted,\x20but\x20the\x20grouping\x20is\x20not\x20visible\x20yet.\x20Query\x20the\x20returned\x20taskId\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.','19159137GAgYYu','plan','--menu-ids\x20cannot\x20contain\x20duplicate\x20menu\x20ids.','regroup-start','status','menus','5BrAftl','hash','taskId','some','Use\x20exact\x20non-folder\x20leaf\x20menu\x20ids.\x20Existing\x20folder\x20hierarchy\x20changes\x20remain\x20platform-owned.','byId','replace','type','4wTHKoq','Root\x20folder\x20label\x20','isTerminal','Menus\x20','menu_regroup_target_label_missing','2751342qlLnQY','regroup-submit','Regroup\x20readback\x20also\x20failed:\x20','childrenCount','applied','Regroup\x20task\x20accepted.\x20','flagMissing','\x20menus\x20per\x20regroup\x20request.','SUCCESS','plan\x20regroup','Choose\x20a\x20unique\x20root\x20folder\x20label\x20or\x20inspect\x20the\x20existing\x20folder\x20before\x20regrouping.','input','stringify','menu_regroup_label_conflict','181872OelClR','Do\x20not\x20resubmit\x20the\x20non-idempotent\x20regroup\x20request.\x20Query\x20the\x20original\x20taskId\x20if\x20it\x20is\x20available.','str','1474551JHTtEv','readbackError','The\x20regroup\x20transaction\x20may\x20commit\x20before\x20task\x20scheduling\x20returns.\x20Do\x20not\x20submit\x20the\x20same\x20regroup\x20again\x20until\x20menu\x20list\x20confirms\x20the\x20current\x20grouping.','<new-group-id>','map','group','size','length','--menu-ids\x20must\x20contain\x20comma-separated\x20positive\x20integer\x20menu\x20ids.','<platform-generated>','cookie','submit-regroup-task','filter','--menu-ids\x20supports\x20at\x20most\x20','2052472sQpMiR','Would\x20submit\x20an\x20asynchronous\x20task\x20to\x20create\x20root\x20folder\x20','join','The\x20regroup\x20task\x20returned\x20an\x20unknown\x20status\x20and\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Review\x20the\x20task\x20manually\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.','get','2532180ZZiUAO','Label\x20of\x20the\x20new\x20root\x20folder','\x27\x5c\x27\x27'];a119_0x4f46=function(){return _0x48bafe;};return a119_0x4f46();}import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{fetchMutationSnapshot,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,recheckMutationSnapshot,requireMenu}from'../../commands/menu/shared/mutations.js';import{startMenuRegroup}from'../../commands/menu/shared/service.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a119_0x3abbee(0x100),'path':'/smartapi/menu/regroup'}],MAX_REGROUP_MENU_COUNT=0x64;function a119_0x460e(_0x3a848d,_0x595916){_0x3a848d=_0x3a848d-0xbf;const _0x4f4611=a119_0x4f46();let _0x460e44=_0x4f4611[_0x3a848d];return _0x460e44;}export const menuRegroupStart={'service':'menu','command':a119_0x3abbee(0x110),'description':'Start\x20an\x20asynchronous\x20menu\x20regroup;\x20query\x20the\x20returned\x20taskId\x20until\x20SUCCESS\x20or\x20FAILED','risk':'write','structuredErrors':!![],'flags':[{'name':'label','type':a119_0x3abbee(0x10a),'required':!![],'description':a119_0x3abbee(0xeb)},{'name':'menu-ids','type':'string','required':!![],'description':'Comma-separated\x20exact\x20leaf\x20menu\x20ids\x20to\x20place\x20in\x20the\x20new\x20folder'},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x33e6dc){validateRegroupInput(_0x33e6dc);},async 'dryRun'(_0x5370de){const _0x19b266=a119_0x3abbee;validateRegroupInput(_0x5370de);const _0x3ecb8f=await buildRegroupPlan(_0x5370de,!![]);return menuDryRunResult(_0x3ecb8f[_0x19b266(0x10e)],{'method':'POST','url':_0x19b266(0x106),'body':_0x3ecb8f['input'],'description':_0x19b266(0xe6)+JSON[_0x19b266(0xd2)](_0x3ecb8f[_0x19b266(0xf7)])+'\x20and\x20regroup\x20menu\x20ids\x20'+_0x3ecb8f[_0x19b266(0xfb)]['join'](',\x20')+_0x19b266(0xf5)});},async 'execute'(_0x3254b4){const _0x378d1c=a119_0x3abbee;validateRegroupInput(_0x3254b4);const _0x575d84=await buildRegroupPlan(_0x3254b4,![]);await recheckMutationSnapshot(_0x3254b4,_0x575d84['plan'],'start\x20regroup');const _0x488de1=buildMenuLookupCommand(_0x3254b4['appCode']);let _0x4f0b6d,_0x118176;try{_0x4f0b6d=await startMenuRegroup(_0x3254b4[_0x378d1c(0xe1)],_0x575d84[_0x378d1c(0xd1)]),_0x118176=normalizeAsyncTask(_0x4f0b6d);}catch(_0x2af50f){const _0x427147=await inspectRegroupAfterFailure(_0x3254b4[_0x378d1c(0x105)],_0x3254b4[_0x378d1c(0xe1)],_0x575d84[_0x378d1c(0xf7)],_0x575d84[_0x378d1c(0xfb)]),_0x135669=typeof _0x4f0b6d?.['taskId']===_0x378d1c(0x10a)&&_0x4f0b6d[_0x378d1c(0x115)][_0x378d1c(0x10b)]()?_0x4f0b6d[_0x378d1c(0x115)][_0x378d1c(0x10b)]():null,_0x3b0386=_0x135669?{'command':buildAsyncTaskStatusCommand(_0x135669,_0x3254b4[_0x378d1c(0x105)])}:null,_0x558866=mapMenuApiError(_0x2af50f,_0x378d1c(0xfa));throw menuFailure(_0x558866,_0x575d84[_0x378d1c(0x10e)],{'stage':_0x378d1c(0xc7),'failed':{'menuIds':_0x575d84[_0x378d1c(0xfb)],'taskId':_0x135669,'groupingApplied':_0x427147[_0x378d1c(0xca)]?!![]:_0x378d1c(0xf2)},'after':_0x427147[_0x378d1c(0xca)]??null,'warnings':[_0x378d1c(0xd9),..._0x427147['readbackError']?[_0x378d1c(0xc8)+_0x427147[_0x378d1c(0xd8)]]:[],..._0x135669?[_0x378d1c(0xf0)]:[]],'verification':{'status':_0x378d1c(0x107),'groupingApplied':_0x427147[_0x378d1c(0xca)]?!![]:'unconfirmed','taskId':_0x135669,'query':_0x3b0386,'lookupCommand':_0x488de1}});}const _0x2c590c=buildAsyncTaskStatusCommand(_0x118176['taskId'],_0x3254b4[_0x378d1c(0x105)]);let _0x4d9942=null,_0x4a282d=null,_0x46546d=null;try{_0x4d9942=await fetchMenuSnapshot(_0x3254b4[_0x378d1c(0x105)],_0x3254b4[_0x378d1c(0xe1)]),_0x4a282d=findAppliedRegroup(_0x4d9942,_0x575d84[_0x378d1c(0xf7)],_0x575d84['menuIds']);}catch(_0x3d4a1e){_0x46546d=_0x3d4a1e instanceof Error?_0x3d4a1e['message']:String(_0x3d4a1e);}const _0x1d7528=mutationResult({..._0x575d84[_0x378d1c(0x10e)],'after':_0x4a282d??null,'dryRun':![],'succeeded':[{'groupId':_0x4a282d?.['group']['id']??null,'menuIds':_0x575d84[_0x378d1c(0xfb)],'taskId':_0x118176[_0x378d1c(0x115)],'status':_0x118176[_0x378d1c(0x111)],'groupingApplied':_0x4a282d?!![]:_0x378d1c(0xf2)}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x4d9942?.['hash']??null,'groupId':_0x4a282d?.[_0x378d1c(0xdc)]['id']??null,'groupingApplied':_0x4a282d?!![]:'unconfirmed','readbackError':_0x46546d,'lookupCommand':_0x488de1},'warnings':[..._0x575d84['plan']['warnings'],...!_0x4a282d?[unconfirmedRegroupWarning(_0x118176)]:[],..._0x46546d?['Regroup\x20readback\x20failed:\x20'+_0x46546d]:[]]}),_0x11cc98=_0x118176[_0x378d1c(0x111)]===_0x378d1c(0xce)&&!_0x4a282d?_0x378d1c(0x104)+_0x118176[_0x378d1c(0x115)]+'\x20succeeded,\x20but\x20final\x20menu\x20grouping\x20is\x20unconfirmed.':_0x378d1c(0xcb)+asyncTaskMessage(_0x118176);return{'ok':!![],'message':_0x11cc98,'data':{..._0x1d7528,'task':_0x118176,'query':_0x118176[_0x378d1c(0xc3)]?null:{'command':_0x2c590c}}};}};function validateRegroupInput(_0x1fffd1){const _0x4c88aa=a119_0x3abbee;if(!_0x1fffd1[_0x4c88aa(0xd6)]('label')[_0x4c88aa(0x10b)]())throw CliErrors[_0x4c88aa(0xcc)]('label');parseMenuIds(_0x1fffd1[_0x4c88aa(0xd6)](_0x4c88aa(0x109)));}function parseMenuIds(_0x2c00fd){const _0x4022c8=a119_0x3abbee,_0x208192=_0x2c00fd[_0x4022c8(0xee)](',')[_0x4022c8(0xdb)](_0x1dbe31=>_0x1dbe31[_0x4022c8(0x10b)]());if(_0x208192[_0x4022c8(0xde)]===0x0||_0x208192[_0x4022c8(0x116)](_0x4d9ad0=>!_0x4d9ad0))throw CliErrors['validation'](_0x4022c8(0xdf));const _0x2e53c6=_0x208192[_0x4022c8(0xdb)](_0x4c9e25=>{const _0xf5d62c=_0x4022c8;if(!/^\d+$/['test'](_0x4c9e25))throw CliErrors['validation'](_0xf5d62c(0xdf));const _0x14ae8=Number(_0x4c9e25);if(!Number['isSafeInteger'](_0x14ae8)||_0x14ae8<=0x0)throw CliErrors[_0xf5d62c(0xf4)](_0xf5d62c(0xdf));return _0x14ae8;});if(new Set(_0x2e53c6)[_0x4022c8(0xdd)]!==_0x2e53c6['length'])throw CliErrors[_0x4022c8(0xf4)](_0x4022c8(0x10f));if(_0x2e53c6[_0x4022c8(0xde)]>MAX_REGROUP_MENU_COUNT)throw CliErrors['validation'](_0x4022c8(0xe4)+MAX_REGROUP_MENU_COUNT+_0x4022c8(0xcd));return _0x2e53c6;}function buildMenuLookupCommand(_0x2b0e03){const _0xff69fb=a119_0x3abbee,_0x553ef1='\x27'+_0x2b0e03[_0xff69fb(0xbf)](/'/g,_0xff69fb(0xec))+'\x27';return CLI_BIN_NAME+_0xff69fb(0xf3)+_0x553ef1+'\x20--format\x20compress';}function unconfirmedRegroupWarning(_0x509bb1){const _0x36bba1=a119_0x3abbee;if(_0x509bb1[_0x36bba1(0x111)]==='SUCCESS')return'The\x20regroup\x20task\x20succeeded,\x20but\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Run\x20data.verification.lookupCommand\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.';if(_0x509bb1[_0x36bba1(0x111)]===_0x36bba1(0xef))return _0x36bba1(0x103);if(_0x509bb1[_0x36bba1(0xfd)])return _0x36bba1(0x10c);return _0x36bba1(0xe8);}async function buildRegroupPlan(_0x527989,_0x47ed80){const _0x496b96=a119_0x3abbee,_0x53fb91=_0x527989[_0x496b96(0xd6)](_0x496b96(0xf7))[_0x496b96(0x10b)](),_0x77be9c=parseMenuIds(_0x527989[_0x496b96(0xd6)]('menu-ids')),_0x1b273b=await fetchMutationSnapshot(_0x527989,_0x496b96(0xcf)),_0x25648d=_0x77be9c[_0x496b96(0xdb)](_0x139ec3=>requireMenu(_0x1b273b,_0x139ec3));for(const _0x2fe25e of _0x25648d){if(_0x2fe25e[_0x496b96(0xc0)][_0x496b96(0x10b)]()['toLowerCase']()===_0x496b96(0xfc)||_0x2fe25e[_0x496b96(0xc9)]>0x0)throw menuError('menu_regroup_target_not_leaf',_0x496b96(0xf9)+_0x2fe25e['id']+_0x496b96(0xf8),_0x496b96(0x117));if(!_0x2fe25e[_0x496b96(0xf7)][_0x496b96(0x10b)]())throw menuError(_0x496b96(0xc5),_0x496b96(0xf9)+_0x2fe25e['id']+_0x496b96(0xf1),'Repair\x20the\x20menu\x20label\x20in\x20the\x20platform\x20before\x20regrouping\x20it.');}const _0x32f4ff=findAppliedRegroup(_0x1b273b,_0x53fb91,_0x77be9c);if(_0x32f4ff)throw menuError('menu_regroup_already_applied',_0x496b96(0xc4)+_0x77be9c[_0x496b96(0xe7)](',\x20')+'\x20are\x20already\x20the\x20exact\x20children\x20of\x20root\x20folder\x20'+_0x32f4ff['group']['id']+'\x20('+JSON[_0x496b96(0xd2)](_0x53fb91)+').',_0x496b96(0xd5));const _0x28b5d5=_0x1b273b[_0x496b96(0x112)][_0x496b96(0xe3)](_0x22fe21=>_0x22fe21[_0x496b96(0x102)]==null&&_0x22fe21[_0x496b96(0xc0)][_0x496b96(0x10b)]()[_0x496b96(0xf6)]()==='folder'&&_0x22fe21[_0x496b96(0xf7)]===_0x53fb91);if(_0x28b5d5[_0x496b96(0xde)]>0x0)throw menuError(_0x496b96(0xd3),_0x496b96(0xc2)+JSON[_0x496b96(0xd2)](_0x53fb91)+_0x496b96(0xfe)+_0x28b5d5[_0x496b96(0xdb)](_0x3ccb18=>_0x3ccb18['id'])[_0x496b96(0xe7)](',\x20')+'.',_0x496b96(0xd0));const _0x199eb1={'appCode':_0x527989[_0x496b96(0x105)],'menuGroups':[{'label':_0x53fb91,'type':'folder','children':_0x25648d[_0x496b96(0xdb)](_0x263028=>({'id':_0x263028['id'],'label':_0x263028['label']}))}]},_0x1c71d9=mutationResult({'operation':'regroup-start','selector':{'label':_0x53fb91,'menuIds':_0x77be9c},'before':{'menus':_0x25648d},'after':{'group':{'id':null,'parentId':null,'label':_0x53fb91,'path':_0x496b96(0xe0),'type':_0x496b96(0xfc),'childrenIds':_0x77be9c},'children':_0x25648d[_0x496b96(0xdb)](_0x3b21d7=>({'id':_0x3b21d7['id'],'label':_0x3b21d7[_0x496b96(0xf7)],'beforeParentId':_0x3b21d7[_0x496b96(0x102)],'afterParentId':_0x496b96(0xda)}))},'dryRun':_0x47ed80,'backend':[...BACKEND],'plannedActions':[{'stage':_0x496b96(0xe2),'method':_0x496b96(0x100),'path':_0x496b96(0x106),'body':_0x199eb1}],'snapshotHash':_0x1b273b[_0x496b96(0x114)],'warnings':['The\x20regroup\x20endpoint\x20is\x20non-idempotent:\x20every\x20accepted\x20request\x20creates\x20a\x20new\x20root\x20folder.',_0x496b96(0x101)]});return{'label':_0x53fb91,'menuIds':_0x77be9c,'input':_0x199eb1,'plan':_0x1c71d9};}function findAppliedRegroup(_0x4f1430,_0x4fc6fa,_0x272dbe){const _0x5dd435=a119_0x3abbee,_0x5466ef=_0x272dbe['map'](_0x1bdb5a=>_0x4f1430[_0x5dd435(0x118)][_0x5dd435(0xe9)](_0x1bdb5a))[_0x5dd435(0xe3)](_0x4a0e57=>Boolean(_0x4a0e57));if(_0x5466ef['length']!==_0x272dbe[_0x5dd435(0xde)])return null;const _0x32fc9e=_0x5466ef[0x0]?.[_0x5dd435(0x102)];if(_0x32fc9e==null||_0x5466ef[_0x5dd435(0x116)](_0x423cee=>_0x423cee[_0x5dd435(0x102)]!==_0x32fc9e))return null;const _0x3d21c4=_0x4f1430['byId'][_0x5dd435(0xe9)](_0x32fc9e);if(!_0x3d21c4||_0x3d21c4[_0x5dd435(0x102)]!=null||_0x3d21c4['type'][_0x5dd435(0x10b)]()[_0x5dd435(0xf6)]()!==_0x5dd435(0xfc)||_0x3d21c4[_0x5dd435(0xf7)]!==_0x4fc6fa)return null;const _0x38eadd=[..._0x272dbe][_0x5dd435(0xff)]((_0x22143c,_0x12c173)=>_0x22143c-_0x12c173),_0x260e4b=[..._0x3d21c4['childrenIds']]['sort']((_0x1157a9,_0x43ba61)=>_0x1157a9-_0x43ba61);if(JSON[_0x5dd435(0xd2)](_0x260e4b)!==JSON[_0x5dd435(0xd2)](_0x38eadd))return null;return{'group':_0x3d21c4,'children':_0x5466ef};}async function inspectRegroupAfterFailure(_0x47f563,_0x1d3020,_0x5ac5ee,_0x4ca5f6){const _0x16fc6b=a119_0x3abbee;try{const _0x36c66a=await fetchMenuSnapshot(_0x47f563,_0x1d3020);return{'applied':findAppliedRegroup(_0x36c66a,_0x5ac5ee,_0x4ca5f6),'readbackError':null};}catch(_0x36ae6f){return{'applied':null,'readbackError':_0x36ae6f instanceof Error?_0x36ae6f[_0x16fc6b(0x108)]:String(_0x36ae6f)};}}
|