@lovrabet/rabetbase-cli 2.3.15 → 2.3.16-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -3
- package/lib/api/api-doc.js +1 -1
- package/lib/api/fetch-model-list.js +1 -1
- package/lib/api/generate-api-file.js +1 -1
- package/lib/auth/auth-server-ui.js +1 -1
- package/lib/auth/auth-server.js +1 -1
- package/lib/auth/constant.js +1 -1
- package/lib/auth/get-cookie.js +1 -1
- package/lib/auth/get-session-user.js +1 -1
- package/lib/auth/is-session-valid.js +1 -1
- package/lib/auth/login-success-html.js +1 -1
- package/lib/auth/logout.js +1 -1
- package/lib/cli-flags.js +1 -1
- package/lib/cli.js +1 -1
- package/lib/commands/api/generate.js +1 -1
- package/lib/commands/api/index.js +1 -1
- package/lib/commands/api/list.js +1 -1
- package/lib/commands/api/pull.js +1 -1
- package/lib/commands/api/shared.js +1 -1
- package/lib/commands/app/index.js +1 -1
- package/lib/commands/app/list.js +1 -1
- package/lib/commands/app/members-list.js +1 -0
- 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/get.js +1 -1
- package/lib/commands/config/index.js +1 -1
- package/lib/commands/config/list.js +1 -1
- package/lib/commands/config/set.js +1 -1
- package/lib/commands/config/shared.js +1 -1
- package/lib/commands/data/filter.js +1 -1
- package/lib/commands/data/getOne.js +1 -1
- package/lib/commands/data/index.js +1 -1
- package/lib/commands/data/shared.js +1 -1
- package/lib/commands/dataset/business-group-update.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.js +1 -1
- package/lib/commands/db/index.js +1 -1
- package/lib/commands/db/list.js +1 -1
- package/lib/commands/db/shared.js +1 -1
- package/lib/commands/db/tables.js +1 -1
- package/lib/commands/db/test.js +1 -1
- package/lib/commands/db/update.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/file/index.js +1 -1
- package/lib/commands/init/index.js +1 -1
- package/lib/commands/issue/index.js +1 -1
- package/lib/commands/issue/nudge.js +1 -1
- package/lib/commands/issue/report.js +1 -1
- package/lib/commands/issue/shared.js +1 -1
- package/lib/commands/kb/create.js +1 -0
- package/lib/commands/kb/delete.js +1 -0
- package/lib/commands/kb/detail.js +1 -0
- package/lib/commands/kb/index.js +1 -0
- package/lib/commands/kb/list.js +1 -0
- package/lib/commands/kb/shared.js +1 -0
- package/lib/commands/kb/update.js +1 -0
- 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/notification/config-list.js +1 -1
- package/lib/commands/notification/index.js +1 -1
- package/lib/commands/ocr/index.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/standard-page-status.js +1 -1
- package/lib/commands/page/sync.js +1 -1
- package/lib/commands/permit/index.js +1 -1
- package/lib/commands/permit/page-get.js +1 -1
- package/lib/commands/permit/page-set.js +1 -1
- package/lib/commands/permit/role-apis-set.js +1 -1
- package/lib/commands/permit/role-menus-set.js +1 -1
- package/lib/commands/permit/role-menus.js +1 -1
- package/lib/commands/permit/shared.js +1 -1
- package/lib/commands/project/create/enhanced-guided-create.js +1 -1
- package/lib/commands/project/create/format-elapsed.js +1 -1
- package/lib/commands/project/create/main.js +1 -1
- package/lib/commands/project/create/non-interactive.js +1 -1
- package/lib/commands/project/create/project-template-path.js +1 -1
- package/lib/commands/project/create/use-copy-project-template.js +1 -1
- package/lib/commands/project/create/use-format-code.js +1 -1
- package/lib/commands/project/create/use-install-dependencies.js +1 -1
- package/lib/commands/project/index.js +1 -1
- package/lib/commands/project/init.js +1 -1
- package/lib/commands/project/upgrade.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/role/create.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/save.js +1 -1
- package/lib/commands/sql/shared.js +1 -1
- package/lib/commands/sql/status.js +1 -1
- package/lib/commands/sql/validate.js +1 -1
- package/lib/commands/task/index.js +1 -1
- package/lib/commands/task/status.js +1 -1
- package/lib/commands/tenant/index.js +1 -0
- package/lib/commands/tenant/members-list.js +1 -0
- package/lib/commands/tenant/shared.js +1 -0
- 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/schema.js +1 -1
- package/lib/constant/cdn.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/paths.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/context/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.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.js +1 -1
- package/lib/help.js +1 -1
- package/lib/skills/main.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/skills/skill-presence.js +1 -0
- package/lib/telemetry/cli-command-trace.js +1 -1
- package/lib/telemetry/cli-help-trace.js +1 -1
- package/lib/telemetry/ensure-cli-otel-config.js +1 -1
- package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
- package/lib/telemetry/send-cli-trace-log.js +1 -1
- package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
- package/lib/utils/ai_config.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/cdn-config.js +1 -1
- package/lib/utils/check-sdk-version.js +1 -1
- package/lib/utils/cli-version-check.js +1 -1
- package/lib/utils/cli-version-policy.js +1 -1
- package/lib/utils/config.js +1 -1
- package/lib/utils/copy-directory.js +1 -1
- package/lib/utils/entity-with-id.js +1 -1
- package/lib/utils/file-utils.js +1 -1
- package/lib/utils/guides-cdn.js +1 -1
- package/lib/utils/http-client.js +1 -1
- package/lib/utils/is-non-interactive.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/platform.js +1 -1
- package/lib/utils/rules-cdn.js +1 -1
- package/lib/utils/sleep.js +1 -1
- package/lib/utils/template-replacer.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/with-active-cookie.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +2 -2
- package/lib/commands/app/add.js +0 -1
- package/lib/commands/app/remove.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
const a102_0x2593fb=a102_0x5c97;(function(_0x2b63f0,_0x30c96e){const _0x1e5efe=a102_0x5c97,_0x3ea3e2=_0x2b63f0();while(!![]){try{const _0x4f1379=-parseInt(_0x1e5efe(0x119))/0x1+parseInt(_0x1e5efe(0x106))/0x2*(-parseInt(_0x1e5efe(0x163))/0x3)+parseInt(_0x1e5efe(0x16e))/0x4*(-parseInt(_0x1e5efe(0x11f))/0x5)+-parseInt(_0x1e5efe(0x14c))/0x6+-parseInt(_0x1e5efe(0x16c))/0x7*(-parseInt(_0x1e5efe(0x11e))/0x8)+parseInt(_0x1e5efe(0x165))/0x9+parseInt(_0x1e5efe(0xfc))/0xa*(parseInt(_0x1e5efe(0x166))/0xb);if(_0x4f1379===_0x30c96e)break;else _0x3ea3e2['push'](_0x3ea3e2['shift']());}catch(_0x4b5661){_0x3ea3e2['push'](_0x3ea3e2['shift']());}}}(a102_0x3096,0xace9e));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{assertMenuDeletePlanCurrent,assertMenuDeletePlanExecutable,createMenuDeletePlanFile,mutationPlanFromDeleteFile,readMenuDeletePlan,writeMenuDeletePlan}from'../../commands/menu/shared/delete-plan.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_FLAGS,MENU_ID_FLAG,asVerificationError,assertExpectedState,describeMenuErrorCause,fetchMutationSnapshot,hasFlag,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,requireExplicitYes,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';function a102_0x5c97(_0x214bc4,_0x45ddb6){_0x214bc4=_0x214bc4-0xf9;const _0x309673=a102_0x3096();let _0x5c97c1=_0x309673[_0x214bc4];return _0x5c97c1;}import{batchDeleteMenuEntities}from'../../commands/menu/shared/service.js';import{CliError,CliErrors}from'../../errors.js';const BACKEND=[{'method':a102_0x2593fb(0x102),'path':a102_0x2593fb(0x149)}],MENU_DELETE_ID_FLAG={...MENU_ID_FLAG,'required':![],'description':a102_0x2593fb(0x15f)},MENU_DELETE_RECURSIVE_FLAG={'name':a102_0x2593fb(0x111),'type':'boolean','description':a102_0x2593fb(0x16b)},MENU_DELETE_PLAN_OUT_FLAG={'name':a102_0x2593fb(0x142),'type':a102_0x2593fb(0x177),'description':a102_0x2593fb(0x144)},MENU_DELETE_PLAN_FLAG={'name':a102_0x2593fb(0x139),'type':a102_0x2593fb(0x177),'description':a102_0x2593fb(0x12d)};export const menuDelete={'service':a102_0x2593fb(0x137),'command':a102_0x2593fb(0xf9),'description':a102_0x2593fb(0x133),'risk':a102_0x2593fb(0x13f),'structuredErrors':!![],'flags':[MENU_DELETE_ID_FLAG,MENU_DELETE_RECURSIVE_FLAG,MENU_DELETE_PLAN_OUT_FLAG,MENU_DELETE_PLAN_FLAG,...MENU_EXPECT_FLAGS,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x57d6e3){const _0x1b3fb9=a102_0x2593fb;_0x57d6e3[_0x1b3fb9(0x160)](_0x1b3fb9(0x11b))?validateDeleteDryRunInput(_0x57d6e3):validateDeleteExecuteInput(_0x57d6e3),requireExplicitYes(_0x57d6e3);},async 'dryRun'(_0x47cd14){const _0x45d6bb=a102_0x2593fb;validateDeleteDryRunInput(_0x47cd14);const _0x5a5b5e=await buildDeletePlan(_0x47cd14),_0x4bf681=createMenuDeletePlanFile(_0x47cd14[_0x45d6bb(0x167)],_0x5a5b5e),_0x575556=await writeMenuDeletePlan(_0x47cd14[_0x45d6bb(0x129)]('plan-out'),_0x4bf681),_0x761019=mutationResult({..._0x5a5b5e,'planFile':{'path':_0x575556,'createdAt':_0x4bf681[_0x45d6bb(0x138)],'expiresAt':_0x4bf681['expiresAt']}});return menuDryRunResult(_0x761019,{'method':_0x45d6bb(0x102),'url':_0x45d6bb(0x149),'body':{'idList':_0x761019[_0x45d6bb(0x178)]},'description':_0x45d6bb(0x13b)+(_0x761019['deleteOrder']?.[_0x45d6bb(0x13e)]??0x1)+_0x45d6bb(0x10b)+_0x761019[_0x45d6bb(0x124)]['id']+_0x45d6bb(0x16a)+_0x575556+'.'});},async 'execute'(_0x500186){const _0x39e4a2=a102_0x2593fb;requireExplicitYes(_0x500186),validateDeleteExecuteInput(_0x500186);const _0x329c77=await readMenuDeletePlan(_0x500186[_0x39e4a2(0x129)](_0x39e4a2(0x139))),_0x3f275e=mutationPlanFromDeleteFile(_0x329c77['plan'],_0x329c77['path']),_0x15d6e1=_0x329c77[_0x39e4a2(0x139)]['target']['id'];try{assertMenuDeletePlanExecutable(_0x329c77[_0x39e4a2(0x139)],_0x500186[_0x39e4a2(0x167)]);}catch(_0x4d4951){throw menuFailure(asMenuError(_0x4d4951),_0x3f275e,{'stage':'plan-validation','failed':{'id':_0x15d6e1}});}let _0x1fc716,_0x573f9b;try{_0x1fc716=await fetchMutationSnapshot(_0x500186,_0x39e4a2(0x10a),_0x15d6e1),_0x573f9b=assertMenuDeletePlanCurrent(_0x329c77[_0x39e4a2(0x139)],_0x500186[_0x39e4a2(0x167)],_0x1fc716),assertDeleteTargetsComplete(_0x329c77['plan'],_0x1fc716),_0x573f9b['forEach'](_0x2a84ff=>assertDeleteSafety(_0x2a84ff,_0x329c77['plan'][_0x39e4a2(0x111)])),assertNoSharedPages(_0x1fc716,_0x573f9b),assertCascadeMatchesPlan(_0x3f275e,_0x573f9b);}catch(_0x46c475){throw menuFailure(asMenuError(_0x46c475),_0x3f275e,{'stage':_0x39e4a2(0xfa),'failed':{'id':_0x15d6e1}});}const _0x4ca60b=_0x329c77[_0x39e4a2(0x139)][_0x39e4a2(0x178)];let _0x1c2781;try{_0x1c2781=await batchDeleteMenuEntities(_0x500186[_0x39e4a2(0x159)],_0x4ca60b);}catch(_0x2b1720){const _0xad2bc9=mapMenuApiError(_0x2b1720,_0x39e4a2(0x135)),_0x2fe300=[_0x39e4a2(0x14b)];let _0x4a6234;try{_0x4a6234=await readDeleteOutcome(_0x500186,_0x4ca60b);}catch(_0xeef00e){const _0x11bbd4=describeMenuErrorCause(_0xeef00e,_0x39e4a2(0x143),_0x15d6e1);_0x2fe300[_0x39e4a2(0x173)](_0x39e4a2(0x146)+_0x11bbd4['causeCode']+_0x39e4a2(0x170)+_0x11bbd4[_0x39e4a2(0x14d)]);throw menuFailure(_0xad2bc9,_0x3f275e,{'stage':_0x39e4a2(0x11a),'failed':{'targetIds':_0x4ca60b,'targetIdsAbsent':_0x39e4a2(0x169),..._0x11bbd4},'warnings':_0x2fe300,'verification':{'status':'failed','lookupCommand':_0x39e4a2(0x13c),'targetIds':_0x4ca60b}});}throw menuFailure(_0xad2bc9,_0x3f275e,{'stage':_0x39e4a2(0x11a),'succeeded':_0x4a6234[_0x39e4a2(0x15a)][_0x39e4a2(0xff)](_0xfc99ec=>({'id':_0xfc99ec,'deleted':!![]})),'failed':{'targetIds':_0x4ca60b,'absentIds':_0x4a6234[_0x39e4a2(0x15a)],'remainingIds':_0x4a6234[_0x39e4a2(0x179)]},'warnings':_0x2fe300,'verification':verificationFromOutcome(_0x4a6234)});}if(_0x1c2781!==_0x4ca60b['length']){const _0x58f34c=menuError('menu_batch_delete_count_mismatch','Backend\x20reported\x20'+_0x1c2781+_0x39e4a2(0x145)+_0x4ca60b[_0x39e4a2(0x13e)]+'.','Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.'),_0x183d92=[_0x39e4a2(0x141)];let _0x46218a;try{_0x46218a=await readDeleteOutcome(_0x500186,_0x4ca60b);}catch(_0x435cfa){const _0x5351df=describeMenuErrorCause(_0x435cfa,'read\x20menu\x20state\x20after\x20batch\x20delete\x20count\x20mismatch',_0x15d6e1);_0x183d92['push'](_0x39e4a2(0x175)+_0x5351df[_0x39e4a2(0x176)]+_0x39e4a2(0x170)+_0x5351df[_0x39e4a2(0x14d)]);throw menuFailure(_0x58f34c,_0x3f275e,{'stage':_0x39e4a2(0x11a),'failed':{'targetIds':_0x4ca60b,'expectedCount':_0x4ca60b[_0x39e4a2(0x13e)],'reportedDeletedCount':_0x1c2781,'targetIdsAbsent':'unconfirmed',..._0x5351df},'warnings':_0x183d92,'verification':{'status':_0x39e4a2(0xfb),'lookupCommand':_0x39e4a2(0x13c),'targetIds':_0x4ca60b}});}throw menuFailure(_0x58f34c,_0x3f275e,{'stage':_0x39e4a2(0x11a),'succeeded':_0x46218a[_0x39e4a2(0x15a)][_0x39e4a2(0xff)](_0x2f91ab=>({'id':_0x2f91ab,'deleted':!![]})),'failed':{'targetIds':_0x4ca60b,'expectedCount':_0x4ca60b[_0x39e4a2(0x13e)],'reportedDeletedCount':_0x1c2781,'absentIds':_0x46218a[_0x39e4a2(0x15a)],'remainingIds':_0x46218a[_0x39e4a2(0x179)]},'warnings':_0x183d92,'verification':verificationFromOutcome(_0x46218a)});}let _0x405abb;try{_0x405abb=await readDeleteOutcome(_0x500186,_0x4ca60b);}catch(_0x2f2bb1){const _0x1ece8b=describeMenuErrorCause(_0x2f2bb1,_0x39e4a2(0x10c),_0x15d6e1),_0x454e41=asVerificationError(_0x2f2bb1,_0x39e4a2(0x103)+_0x15d6e1+_0x39e4a2(0x131));throw menuFailure(_0x454e41,_0x3f275e,{'stage':'verification','succeeded':_0x4ca60b[_0x39e4a2(0xff)](_0x1bdf18=>({'id':_0x1bdf18,'deleteRequested':!![]})),'failed':{'id':_0x15d6e1,'targetIds':_0x4ca60b,'targetIdsAbsent':_0x39e4a2(0x169),..._0x1ece8b},'warnings':['The\x20batch\x20delete\x20request\x20was\x20accepted,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.'],'verification':{'status':_0x39e4a2(0xfb),'lookupCommand':_0x39e4a2(0x13c),'targetIds':_0x4ca60b}});}if(_0x405abb[_0x39e4a2(0x179)][_0x39e4a2(0x13e)]>0x0){const _0x24648d=menuError(_0x39e4a2(0x13d),_0x39e4a2(0x128)+_0x405abb[_0x39e4a2(0x179)][_0x39e4a2(0x112)](',\x20')+'.',_0x39e4a2(0x152));throw menuFailure(_0x24648d,_0x3f275e,{'stage':_0x39e4a2(0x117),'succeeded':_0x4ca60b[_0x39e4a2(0xff)](_0x2fbb63=>({'id':_0x2fbb63,'deleteRequested':!![]})),'failed':{'id':_0x15d6e1,'targetIds':_0x4ca60b,'absentIds':_0x405abb[_0x39e4a2(0x15a)],'remainingIds':_0x405abb[_0x39e4a2(0x179)]},'warnings':[_0x39e4a2(0x14a)],'verification':verificationFromOutcome(_0x405abb)});}const _0x23d50a=_0x4ca60b[_0x39e4a2(0xff)](_0x27a593=>({'id':_0x27a593,'deleted':!![]})),_0xf4bd1a=mutationResult({..._0x3f275e,'dryRun':![],'succeeded':_0x23d50a,'verification':{'checkedBy':_0x39e4a2(0x10e),'plannedSnapshotHash':_0x3f275e[_0x39e4a2(0x17a)],'finalSnapshotHash':_0x405abb[_0x39e4a2(0x12a)][_0x39e4a2(0x158)],'reportedDeletedCount':_0x1c2781,'targetAbsent':!_0x405abb[_0x39e4a2(0x12a)][_0x39e4a2(0x16f)][_0x39e4a2(0x108)](_0x15d6e1),'allTargetsAbsent':!![],'targetIds':_0x4ca60b}});return{'ok':!![],'data':_0xf4bd1a,'message':_0x39e4a2(0x150)+_0x23d50a[_0x39e4a2(0x13e)]+_0x39e4a2(0x10b)+_0x15d6e1+'.'};}};async function readDeleteOutcome(_0x460480,_0x3aa837){const _0x48219b=a102_0x2593fb,_0x3d2eb8=await fetchMenuSnapshot(_0x460480['appCode'],_0x460480[_0x48219b(0x159)]);return{'snapshot':_0x3d2eb8,'absentIds':_0x3aa837[_0x48219b(0x147)](_0x329a33=>!_0x3d2eb8['byId'][_0x48219b(0x108)](_0x329a33)),'remainingIds':_0x3aa837[_0x48219b(0x147)](_0x2adf5c=>_0x3d2eb8[_0x48219b(0x16f)][_0x48219b(0x108)](_0x2adf5c))};}function verificationFromOutcome(_0x2df056){const _0x50ee8d=a102_0x2593fb;return{'checkedBy':'menu\x20list','absentIds':_0x2df056[_0x50ee8d(0x15a)],'remainingIds':_0x2df056[_0x50ee8d(0x179)]};}function validateDeleteDryRunInput(_0x830028){const _0x11be16=a102_0x2593fb;validateExactId(_0x830028);if(!hasFlag(_0x830028,_0x11be16(0x142))||!_0x830028[_0x11be16(0x129)]('plan-out')['trim']())throw CliErrors[_0x11be16(0x174)](_0x11be16(0x142),'--plan-out\x20is\x20required\x20for\x20menu\x20delete\x20dry-run\x20so\x20execution\x20can\x20consume\x20the\x20reviewed\x20plan.');if(hasFlag(_0x830028,'plan'))throw CliErrors[_0x11be16(0x136)]('--plan\x20cannot\x20be\x20combined\x20with\x20--dry-run;\x20use\x20--plan-out.');}function validateDeleteExecuteInput(_0x441228){const _0x53e19b=a102_0x2593fb;if(!hasFlag(_0x441228,_0x53e19b(0x139))||!_0x441228['str'](_0x53e19b(0x139))[_0x53e19b(0x153)]())throw CliErrors[_0x53e19b(0x174)](_0x53e19b(0x139),_0x53e19b(0x10f));const _0x32211b=['id',_0x53e19b(0x111),_0x53e19b(0x142),'expect-parent-id',_0x53e19b(0x155),_0x53e19b(0x121)][_0x53e19b(0x147)](_0x5136f4=>hasFlag(_0x441228,_0x5136f4));if(_0x32211b[_0x53e19b(0x13e)]>0x0)throw CliErrors[_0x53e19b(0x136)](_0x53e19b(0x132)+_0x32211b['map'](_0x23077f=>'--'+_0x23077f)[_0x53e19b(0x112)](',\x20')+'.');}async function buildDeletePlan(_0x545381){const _0x4422cf=a102_0x2593fb,_0x1ef524=validateExactId(_0x545381),_0x1416cc=await fetchMutationSnapshot(_0x545381,_0x4422cf(0x134),_0x1ef524),_0x3f68bf=requireMenu(_0x1416cc,_0x1ef524);assertExpectedState(_0x545381,_0x3f68bf);const _0x25fbd8=_0x545381[_0x4422cf(0x160)]('recursive');let _0x207ac5;if(_0x25fbd8){if(_0x3f68bf[_0x4422cf(0x109)][_0x4422cf(0x153)]()[_0x4422cf(0x161)]()!==_0x4422cf(0x14e))throw menuError(_0x4422cf(0x157),_0x4422cf(0x130)+_0x3f68bf['id']+'\x20is\x20type\x20\x22'+(_0x3f68bf['type']||_0x4422cf(0xfd))+'\x22;\x20--recursive\x20requires\x20a\x20folder\x20root.');_0x207ac5=collectDeleteTargets(_0x1416cc,_0x3f68bf),_0x207ac5[_0x4422cf(0x105)](_0x3701c2=>assertDeleteSafety(_0x3701c2,!![]));}else assertDeleteSafety(_0x3f68bf),_0x207ac5=[_0x3f68bf];assertNoSharedPages(_0x1416cc,_0x207ac5);const _0x3aacd7=_0x207ac5['map'](_0x55f9a8=>_0x55f9a8['id']),_0x322009=cascadeForTargets(_0x207ac5),_0x3daa25=_0x322009[_0x4422cf(0x12b)][_0x4422cf(0x13e)]>0x0?['Deleting\x20page-bound\x20menus\x20invokes\x20the\x20platform\x27s\x20existing\x20page\x20and\x20PageSchema\x20cascade;\x20listed\x20page\x20ids\x20are\x20direct\x20menu\x20bindings.']:[];return mutationResult({'operation':_0x4422cf(0xf9),'selector':{'id':_0x1ef524,'recursive':_0x25fbd8},'before':_0x3f68bf,'after':null,'dryRun':!![],'backend':[...BACKEND],'plannedActions':[{'stage':_0x4422cf(0xfe),'method':_0x4422cf(0x102),'path':_0x4422cf(0x149),'body':{'idList':_0x3aacd7}}],'targets':_0x207ac5,'deleteOrder':_0x3aacd7,'snapshotHash':_0x1416cc['hash'],'cascade':_0x322009,'warnings':_0x3daa25});}function assertDeleteSafety(_0xe458cf,_0x5e41b1=![]){const _0xb77087=a102_0x2593fb,_0x30903b=_0xe458cf[_0xb77087(0x109)]['trim']()[_0xb77087(0x161)]()===_0xb77087(0x14e);if(_0xe458cf[_0xb77087(0x126)]>0x0&&(!_0x5e41b1||!_0x30903b))throw menuError(_0xb77087(0x140),'Menu\x20'+_0xe458cf['id']+_0xb77087(0x12c)+_0xe458cf[_0xb77087(0x126)]+_0xb77087(0x17b),_0xb77087(0x110)+_0xe458cf[_0xb77087(0x15b)][_0xb77087(0x112)](',\x20'));if(_0x30903b&&_0xe458cf[_0xb77087(0x12f)]!=null)throw menuError('menu_delete_page_bound',_0xb77087(0x113)+_0xe458cf['id']+_0xb77087(0x151)+_0xe458cf[_0xb77087(0x12f)]+_0xb77087(0x10d),_0xb77087(0x123));if(!_0x30903b)return;if(!_0xe458cf[_0xb77087(0x122)])throw menuError(_0xb77087(0x14f),_0xb77087(0x113)+_0xe458cf['id']+_0xb77087(0x118),_0xb77087(0x17c));if(_0xe458cf[_0xb77087(0x13a)][_0xb77087(0x13e)]>0x0)throw menuError(_0xb77087(0x114),_0xb77087(0x113)+_0xe458cf['id']+_0xb77087(0x15d)+_0xe458cf['resources'][_0xb77087(0x13e)]+_0xb77087(0x115),_0xb77087(0x100));}function collectDeleteTargets(_0x2aa885,_0xb468cf){const _0x4b0dd3=[],_0x122db9=new Set(),_0x24a581=new Set(),_0x2c0886=_0x35e031=>{const _0x8927=a102_0x5c97;if(_0x122db9[_0x8927(0x108)](_0x35e031['id']))throw menuError(_0x8927(0x15c),_0x8927(0x116)+_0x35e031['id']+'.');if(_0x24a581[_0x8927(0x108)](_0x35e031['id']))return;_0x122db9[_0x8927(0x172)](_0x35e031['id']);for(const _0x3c3f1b of _0x35e031[_0x8927(0x15b)]){const _0x201293=_0x2aa885[_0x8927(0x16f)][_0x8927(0x104)](_0x3c3f1b);if(!_0x201293)throw menuError(_0x8927(0x15c),_0x8927(0x130)+_0x35e031['id']+_0x8927(0x154)+_0x3c3f1b+'.');_0x2c0886(_0x201293);}_0x122db9[_0x8927(0xf9)](_0x35e031['id']),_0x24a581[_0x8927(0x172)](_0x35e031['id']),_0x4b0dd3[_0x8927(0x173)](_0x35e031);};return _0x2c0886(_0xb468cf),_0x4b0dd3;}function assertDeleteTargetsComplete(_0xb58d4d,_0x51374d){const _0x411109=a102_0x2593fb,_0x1b11c3=requireMenu(_0x51374d,_0xb58d4d[_0x411109(0x156)]['id']);if(_0xb58d4d['recursive']&&_0x1b11c3['type'][_0x411109(0x153)]()[_0x411109(0x161)]()!==_0x411109(0x14e))throw menuError('menu_plan_invalid',_0x411109(0x12e)+_0x1b11c3['id']+_0x411109(0x120));const _0x4e68a9=_0xb58d4d[_0x411109(0x111)]?collectDeleteTargets(_0x51374d,_0x1b11c3)[_0x411109(0xff)](_0x343a31=>_0x343a31['id']):[_0x1b11c3['id']];if(JSON[_0x411109(0x127)](_0xb58d4d[_0x411109(0x178)])!==JSON[_0x411109(0x127)](_0x4e68a9))throw menuError(_0x411109(0x162),_0x411109(0x107),_0x411109(0x15e));}function a102_0x3096(){const _0x46736b=['1140632oNYfci','byId','):\x20','\x20->\x20menu\x20','add','push','flagMissing','Post-mismatch\x20menu\x20readback\x20failed\x20(','causeCode','string','deleteOrder','remainingIds','snapshotHash','\x20direct\x20child\x20menu(s)\x20and\x20cannot\x20be\x20deleted.','Inspect\x20and\x20repair\x20the\x20folder\x20resource\x20binding\x20in\x20the\x20platform\x20before\x20deleting\x20it.','page\x20','delete','pre-write-plan-validation','failed','22133510FqVCHQ','unknown','batch-delete-menu','map','Remove\x20or\x20verify\x20the\x20resource\x20bindings\x20in\x20the\x20platform\x20before\x20deleting\x20the\x20folder.','size','POST','Batch\x20delete\x20request\x20for\x20menu\x20','get','forEach','1570006qudRBc','Menu\x20delete\x20plan\x20does\x20not\x20contain\x20the\x20complete\x20current\x20subtree\x20in\x20leaf-first\x20order.','has','type','execute\x20reviewed\x20delete\x20plan','\x20menu(s)\x20under\x20exact\x20id\x20','verify\x20batch\x20delete','\x20and\x20cannot\x20be\x20deleted\x20safely.','menu\x20list','--plan\x20is\x20required\x20for\x20menu\x20delete\x20execution.','Handle\x20child\x20ids\x20in\x20the\x20platform\x20first:\x20','recursive','join','Folder\x20','menu_folder_has_resources','\x20resource\x20URL(s).','Menu\x20tree\x20contains\x20a\x20cycle\x20at\x20menu\x20','verification','\x20has\x20an\x20unreadable\x20extend.resources\x20value\x20and\x20cannot\x20be\x20proven\x20empty.','1131708btVolS','batch-delete','dry-run','Keep\x20every\x20shared\x20page\x20reference\x20outside\x20this\x20operation,\x20or\x20choose\x20a\x20folder\x20whose\x20complete\x20subtree\x20contains\x20all\x20references.','menu_page_shared','136InLQbe','20SjdfYB','\x20is\x20not\x20a\x20folder.','expected-children-count','resourcesValid','Inspect\x20the\x20folder\x20in\x20the\x20platform\x20before\x20deleting\x20it.','selector','indexOf','childrenCount','stringify','One\x20or\x20more\x20planned\x20menus\x20are\x20still\x20present\x20after\x20the\x20batch\x20delete\x20request:\x20','str','snapshot','pages','\x20has\x20','Required\x20for\x20execution;\x20consume\x20an\x20unexpired\x20plan\x20created\x20by\x20--plan-out','Recursive\x20menu\x20delete\x20plan\x20root\x20','pageId','Menu\x20','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20absence','Menu\x20delete\x20execution\x20consumes\x20only\x20--plan;\x20remove\x20','Delete\x20an\x20exact\x20menu\x20or\x20a\x20folder\x20subtree\x20from\x20a\x20reviewed\x20plan','plan\x20delete','batch\x20delete','validation','menu','createdAt','plan','resources','Would\x20batch\x20delete\x20','rabetbase\x20menu\x20list\x20--format\x20json','menu_verification_failed','length','high-risk-write','menu_non_empty','The\x20batch\x20response\x20count\x20did\x20not\x20match\x20the\x20reviewed\x20target\x20count;\x20do\x20not\x20retry\x20the\x20same\x20plan.','plan-out','read\x20menu\x20state\x20after\x20batch\x20delete\x20failure','Required\x20with\x20--dry-run;\x20write\x20the\x20reviewed\x20plan\x20to\x20a\x20new\x20local\x20JSON\x20file','\x20deleted\x20menus;\x20expected\x20','Post-failure\x20menu\x20readback\x20failed\x20(','filter','message','/smartapi/menu/batchDelete','The\x20backend\x20acknowledged\x20the\x20batch\x20request,\x20but\x20final\x20menu\x20facts\x20did\x20not\x20confirm\x20every\x20deletion.','The\x20batch\x20delete\x20may\x20have\x20partially\x20applied;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20creating\x20a\x20new\x20plan.','2110596QTBQBh','causeMessage','folder','menu_folder_resources_invalid','Deleted\x20','\x20is\x20unexpectedly\x20bound\x20to\x20page\x20','Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.','trim','\x20references\x20missing\x20child\x20','expect-path','target','menu_recursive_requires_folder','hash','cookie','absentIds','childrenIds','menu_tree_invalid','\x20still\x20references\x20','Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out\x20and\x20do\x20not\x20remove\x20or\x20reorder\x20targets.','Exact\x20menu\x20id\x20(required\x20with\x20--dry-run)','bool','toLowerCase','menu_plan_invalid','3PoyhoR','Page\x20bindings\x20are\x20referenced\x20by\x20menus\x20outside\x20the\x20delete\x20plan:\x20','8712081mFIpTB','11DQdNXI','appCode','menus','unconfirmed',';\x20execution\x20must\x20consume\x20','Include\x20every\x20descendant\x20of\x20the\x20exact\x20folder\x20id,\x20deleting\x20leaves\x20first','385413AwZqgD','Menu\x20delete\x20plan\x20cascade\x20does\x20not\x20match\x20the\x20reviewed\x20target\x20page\x20facts.'];a102_0x3096=function(){return _0x46736b;};return a102_0x3096();}function assertNoSharedPages(_0x55af50,_0x2298f2){const _0x1ec779=a102_0x2593fb,_0x1f6ce7=new Set(_0x2298f2['map'](_0x59237b=>_0x59237b['id'])),_0x2b89ea=new Set(_0x2298f2[_0x1ec779(0xff)](_0x1e7405=>_0x1e7405[_0x1ec779(0x12f)])[_0x1ec779(0x147)](_0x234530=>_0x234530!=null));if(_0x2b89ea[_0x1ec779(0x101)]===0x0)return;const _0x4a37d5=_0x55af50[_0x1ec779(0x168)][_0x1ec779(0x147)](_0x534add=>!_0x1f6ce7['has'](_0x534add['id'])&&_0x534add[_0x1ec779(0x12f)]!=null&&_0x2b89ea[_0x1ec779(0x108)](_0x534add[_0x1ec779(0x12f)]));if(_0x4a37d5[_0x1ec779(0x13e)]===0x0)return;const _0x5232da=_0x4a37d5[_0x1ec779(0xff)](_0x42d687=>_0x1ec779(0x17d)+_0x42d687[_0x1ec779(0x12f)]+_0x1ec779(0x171)+_0x42d687['id'])[_0x1ec779(0x112)](',\x20');throw menuError(_0x1ec779(0x11d),_0x1ec779(0x164)+_0x5232da+'.',_0x1ec779(0x11c));}function assertCascadeMatchesPlan(_0x360244,_0x4c6e3b){const _0x57756e=a102_0x2593fb,_0x93d4ab=cascadeForTargets(_0x4c6e3b);if(JSON[_0x57756e(0x127)](_0x360244['cascade'])!==JSON[_0x57756e(0x127)](_0x93d4ab))throw menuError(_0x57756e(0x162),_0x57756e(0x16d));}function cascadeForTargets(_0x372ea5){const _0x264487=a102_0x2593fb,_0x31c27b=_0x372ea5[_0x264487(0xff)](_0x55458a=>_0x55458a[_0x264487(0x12f)])[_0x264487(0x147)](_0x780892=>_0x780892!=null)[_0x264487(0x147)]((_0x16e8df,_0x20507e,_0x2a75e3)=>_0x2a75e3[_0x264487(0x125)](_0x16e8df)===_0x20507e);return{'pages':_0x31c27b,'pageSchemaAffected':_0x31c27b['length']>0x0};}function asMenuError(_0x142dd){const _0x40ce4d=a102_0x2593fb;return _0x142dd instanceof CliError?_0x142dd:menuError(_0x40ce4d(0x162),_0x142dd instanceof Error?_0x142dd[_0x40ce4d(0x148)]:String(_0x142dd));}
|
|
1
|
+
const a108_0x540d58=a108_0xed94;(function(_0x16cdba,_0x41176a){const _0x43ded8=a108_0xed94,_0x11a8b6=_0x16cdba();while(!![]){try{const _0x2ca8a8=-parseInt(_0x43ded8(0x144))/0x1+-parseInt(_0x43ded8(0x198))/0x2+-parseInt(_0x43ded8(0x181))/0x3+-parseInt(_0x43ded8(0x13e))/0x4+parseInt(_0x43ded8(0x176))/0x5*(-parseInt(_0x43ded8(0x184))/0x6)+parseInt(_0x43ded8(0x174))/0x7+parseInt(_0x43ded8(0x12f))/0x8*(parseInt(_0x43ded8(0x13f))/0x9);if(_0x2ca8a8===_0x41176a)break;else _0x11a8b6['push'](_0x11a8b6['shift']());}catch(_0x1b7f70){_0x11a8b6['push'](_0x11a8b6['shift']());}}}(a108_0x4f5d,0xd0dd4));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{assertMenuDeletePlanCurrent,assertMenuDeletePlanExecutable,createMenuDeletePlanFile,mutationPlanFromDeleteFile,readMenuDeletePlan,writeMenuDeletePlan}from'../../commands/menu/shared/delete-plan.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_FLAGS,MENU_ID_FLAG,asVerificationError,assertExpectedState,describeMenuErrorCause,fetchMutationSnapshot,hasFlag,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,requireExplicitYes,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';function a108_0xed94(_0x29a17c,_0x2f56ff){_0x29a17c=_0x29a17c-0x12d;const _0x4f5ddf=a108_0x4f5d();let _0xed94b8=_0x4f5ddf[_0x29a17c];return _0xed94b8;}import{batchDeleteMenuEntities}from'../../commands/menu/shared/service.js';import{CliError,CliErrors}from'../../errors.js';const BACKEND=[{'method':a108_0x540d58(0x19c),'path':a108_0x540d58(0x1a3)}],MENU_DELETE_ID_FLAG={...MENU_ID_FLAG,'required':![],'description':'Exact\x20menu\x20id\x20(required\x20with\x20--dry-run)'},MENU_DELETE_RECURSIVE_FLAG={'name':a108_0x540d58(0x194),'type':a108_0x540d58(0x141),'description':'Include\x20every\x20descendant\x20of\x20the\x20exact\x20folder\x20id,\x20deleting\x20leaves\x20first'},MENU_DELETE_PLAN_OUT_FLAG={'name':a108_0x540d58(0x170),'type':'string','description':a108_0x540d58(0x13b)},MENU_DELETE_PLAN_FLAG={'name':a108_0x540d58(0x1a1),'type':'string','description':a108_0x540d58(0x189)};export const menuDelete={'service':a108_0x540d58(0x12d),'command':a108_0x540d58(0x186),'description':a108_0x540d58(0x187),'risk':a108_0x540d58(0x165),'structuredErrors':!![],'flags':[MENU_DELETE_ID_FLAG,MENU_DELETE_RECURSIVE_FLAG,MENU_DELETE_PLAN_OUT_FLAG,MENU_DELETE_PLAN_FLAG,...MENU_EXPECT_FLAGS,APPCODE_FLAG_OPTIONAL],async 'validate'(_0xf7dbb){const _0x57f050=a108_0x540d58;_0xf7dbb[_0x57f050(0x16a)](_0x57f050(0x19f))?validateDeleteDryRunInput(_0xf7dbb):validateDeleteExecuteInput(_0xf7dbb),requireExplicitYes(_0xf7dbb);},async 'dryRun'(_0x53de4d){const _0x4dfe44=a108_0x540d58;validateDeleteDryRunInput(_0x53de4d);const _0x421d9a=await buildDeletePlan(_0x53de4d),_0xf63690=createMenuDeletePlanFile(_0x53de4d['appCode'],_0x421d9a),_0x515c94=await writeMenuDeletePlan(_0x53de4d[_0x4dfe44(0x157)](_0x4dfe44(0x170)),_0xf63690),_0x55c42d=mutationResult({..._0x421d9a,'planFile':{'path':_0x515c94,'createdAt':_0xf63690['createdAt'],'expiresAt':_0xf63690['expiresAt']}});return menuDryRunResult(_0x55c42d,{'method':'POST','url':'/smartapi/menu/batchDelete','body':{'idList':_0x55c42d[_0x4dfe44(0x180)]},'description':_0x4dfe44(0x177)+(_0x55c42d[_0x4dfe44(0x180)]?.[_0x4dfe44(0x159)]??0x1)+_0x4dfe44(0x147)+_0x55c42d[_0x4dfe44(0x18b)]['id']+_0x4dfe44(0x14c)+_0x515c94+'.'});},async 'execute'(_0x2962b8){const _0x15e82d=a108_0x540d58;requireExplicitYes(_0x2962b8),validateDeleteExecuteInput(_0x2962b8);const _0x6b7daf=await readMenuDeletePlan(_0x2962b8['str']('plan')),_0x512c91=mutationPlanFromDeleteFile(_0x6b7daf['plan'],_0x6b7daf[_0x15e82d(0x196)]),_0x2e7188=_0x6b7daf[_0x15e82d(0x1a1)][_0x15e82d(0x1a2)]['id'];try{assertMenuDeletePlanExecutable(_0x6b7daf[_0x15e82d(0x1a1)],_0x2962b8[_0x15e82d(0x14b)]);}catch(_0x2b9eac){throw menuFailure(asMenuError(_0x2b9eac),_0x512c91,{'stage':_0x15e82d(0x19d),'failed':{'id':_0x2e7188}});}let _0x5c11c8,_0xaf3d22;try{_0x5c11c8=await fetchMutationSnapshot(_0x2962b8,_0x15e82d(0x146),_0x2e7188),_0xaf3d22=assertMenuDeletePlanCurrent(_0x6b7daf['plan'],_0x2962b8[_0x15e82d(0x14b)],_0x5c11c8),assertDeleteTargetsComplete(_0x6b7daf[_0x15e82d(0x1a1)],_0x5c11c8),_0xaf3d22['forEach'](_0x9b7637=>assertDeleteSafety(_0x9b7637,_0x6b7daf['plan']['recursive'])),assertNoSharedPages(_0x5c11c8,_0xaf3d22),assertCascadeMatchesPlan(_0x512c91,_0xaf3d22);}catch(_0x149097){throw menuFailure(asMenuError(_0x149097),_0x512c91,{'stage':_0x15e82d(0x193),'failed':{'id':_0x2e7188}});}const _0x43bd70=_0x6b7daf[_0x15e82d(0x1a1)][_0x15e82d(0x180)];let _0x989c5c;try{_0x989c5c=await batchDeleteMenuEntities(_0x2962b8[_0x15e82d(0x1a0)],_0x43bd70);}catch(_0x1112cd){const _0x45cbea=mapMenuApiError(_0x1112cd,'batch\x20delete'),_0x4f81b6=[_0x15e82d(0x135)];let _0xad6e04;try{_0xad6e04=await readDeleteOutcome(_0x2962b8,_0x43bd70);}catch(_0x4bc605){const _0x5b96ec=describeMenuErrorCause(_0x4bc605,_0x15e82d(0x188),_0x2e7188);_0x4f81b6[_0x15e82d(0x139)](_0x15e82d(0x15e)+_0x5b96ec[_0x15e82d(0x171)]+_0x15e82d(0x130)+_0x5b96ec['causeMessage']);throw menuFailure(_0x45cbea,_0x512c91,{'stage':'batch-delete','failed':{'targetIds':_0x43bd70,'targetIdsAbsent':_0x15e82d(0x14d),..._0x5b96ec},'warnings':_0x4f81b6,'verification':{'status':_0x15e82d(0x192),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetIds':_0x43bd70}});}throw menuFailure(_0x45cbea,_0x512c91,{'stage':_0x15e82d(0x15f),'succeeded':_0xad6e04[_0x15e82d(0x162)][_0x15e82d(0x140)](_0x57a40a=>({'id':_0x57a40a,'deleted':!![]})),'failed':{'targetIds':_0x43bd70,'absentIds':_0xad6e04[_0x15e82d(0x162)],'remainingIds':_0xad6e04[_0x15e82d(0x167)]},'warnings':_0x4f81b6,'verification':verificationFromOutcome(_0xad6e04)});}if(_0x989c5c!==_0x43bd70[_0x15e82d(0x159)]){const _0x219318=menuError(_0x15e82d(0x15d),_0x15e82d(0x17d)+_0x989c5c+_0x15e82d(0x191)+_0x43bd70[_0x15e82d(0x159)]+'.',_0x15e82d(0x1a4)),_0x8e827=[_0x15e82d(0x155)];let _0x21d17e;try{_0x21d17e=await readDeleteOutcome(_0x2962b8,_0x43bd70);}catch(_0x5d5c5f){const _0x2a4de3=describeMenuErrorCause(_0x5d5c5f,'read\x20menu\x20state\x20after\x20batch\x20delete\x20count\x20mismatch',_0x2e7188);_0x8e827[_0x15e82d(0x139)](_0x15e82d(0x153)+_0x2a4de3[_0x15e82d(0x171)]+_0x15e82d(0x130)+_0x2a4de3[_0x15e82d(0x143)]);throw menuFailure(_0x219318,_0x512c91,{'stage':_0x15e82d(0x15f),'failed':{'targetIds':_0x43bd70,'expectedCount':_0x43bd70[_0x15e82d(0x159)],'reportedDeletedCount':_0x989c5c,'targetIdsAbsent':_0x15e82d(0x14d),..._0x2a4de3},'warnings':_0x8e827,'verification':{'status':_0x15e82d(0x192),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetIds':_0x43bd70}});}throw menuFailure(_0x219318,_0x512c91,{'stage':_0x15e82d(0x15f),'succeeded':_0x21d17e[_0x15e82d(0x162)][_0x15e82d(0x140)](_0x25b8e8=>({'id':_0x25b8e8,'deleted':!![]})),'failed':{'targetIds':_0x43bd70,'expectedCount':_0x43bd70[_0x15e82d(0x159)],'reportedDeletedCount':_0x989c5c,'absentIds':_0x21d17e[_0x15e82d(0x162)],'remainingIds':_0x21d17e[_0x15e82d(0x167)]},'warnings':_0x8e827,'verification':verificationFromOutcome(_0x21d17e)});}let _0x5eb52f;try{_0x5eb52f=await readDeleteOutcome(_0x2962b8,_0x43bd70);}catch(_0x1fd709){const _0x40c25d=describeMenuErrorCause(_0x1fd709,_0x15e82d(0x19b),_0x2e7188),_0x304a5b=asVerificationError(_0x1fd709,'Batch\x20delete\x20request\x20for\x20menu\x20'+_0x2e7188+'\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20absence');throw menuFailure(_0x304a5b,_0x512c91,{'stage':_0x15e82d(0x183),'succeeded':_0x43bd70[_0x15e82d(0x140)](_0x117571=>({'id':_0x117571,'deleteRequested':!![]})),'failed':{'id':_0x2e7188,'targetIds':_0x43bd70,'targetIdsAbsent':_0x15e82d(0x14d),..._0x40c25d},'warnings':[_0x15e82d(0x137)],'verification':{'status':_0x15e82d(0x192),'lookupCommand':_0x15e82d(0x19a),'targetIds':_0x43bd70}});}if(_0x5eb52f['remainingIds'][_0x15e82d(0x159)]>0x0){const _0x153d59=menuError('menu_verification_failed',_0x15e82d(0x13c)+_0x5eb52f[_0x15e82d(0x167)][_0x15e82d(0x178)](',\x20')+'.',_0x15e82d(0x1a4));throw menuFailure(_0x153d59,_0x512c91,{'stage':_0x15e82d(0x183),'succeeded':_0x43bd70[_0x15e82d(0x140)](_0x44e5b6=>({'id':_0x44e5b6,'deleteRequested':!![]})),'failed':{'id':_0x2e7188,'targetIds':_0x43bd70,'absentIds':_0x5eb52f[_0x15e82d(0x162)],'remainingIds':_0x5eb52f['remainingIds']},'warnings':[_0x15e82d(0x133)],'verification':verificationFromOutcome(_0x5eb52f)});}const _0x4871f3=_0x43bd70[_0x15e82d(0x140)](_0x57aa9c=>({'id':_0x57aa9c,'deleted':!![]})),_0x202f11=mutationResult({..._0x512c91,'dryRun':![],'succeeded':_0x4871f3,'verification':{'checkedBy':_0x15e82d(0x1a5),'plannedSnapshotHash':_0x512c91['snapshotHash'],'finalSnapshotHash':_0x5eb52f[_0x15e82d(0x16c)][_0x15e82d(0x13d)],'reportedDeletedCount':_0x989c5c,'targetAbsent':!_0x5eb52f['snapshot'][_0x15e82d(0x18a)][_0x15e82d(0x168)](_0x2e7188),'allTargetsAbsent':!![],'targetIds':_0x43bd70}});return{'ok':!![],'data':_0x202f11,'message':_0x15e82d(0x161)+_0x4871f3[_0x15e82d(0x159)]+_0x15e82d(0x147)+_0x2e7188+'.'};}};async function readDeleteOutcome(_0x2106f9,_0x45fb73){const _0x33a05=a108_0x540d58,_0x2dcb7d=await fetchMenuSnapshot(_0x2106f9[_0x33a05(0x14b)],_0x2106f9[_0x33a05(0x1a0)]);return{'snapshot':_0x2dcb7d,'absentIds':_0x45fb73[_0x33a05(0x18d)](_0x2a395c=>!_0x2dcb7d['byId'][_0x33a05(0x168)](_0x2a395c)),'remainingIds':_0x45fb73['filter'](_0x365798=>_0x2dcb7d['byId']['has'](_0x365798))};}function verificationFromOutcome(_0x3b9e4d){const _0xcb661=a108_0x540d58;return{'checkedBy':'menu\x20list','absentIds':_0x3b9e4d[_0xcb661(0x162)],'remainingIds':_0x3b9e4d[_0xcb661(0x167)]};}function validateDeleteDryRunInput(_0x480982){const _0x313c63=a108_0x540d58;validateExactId(_0x480982);if(!hasFlag(_0x480982,'plan-out')||!_0x480982['str']('plan-out')['trim']())throw CliErrors['flagMissing'](_0x313c63(0x170),_0x313c63(0x15a));if(hasFlag(_0x480982,_0x313c63(0x1a1)))throw CliErrors[_0x313c63(0x18e)](_0x313c63(0x136));}function validateDeleteExecuteInput(_0x1e5248){const _0x288713=a108_0x540d58;if(!hasFlag(_0x1e5248,'plan')||!_0x1e5248['str'](_0x288713(0x1a1))['trim']())throw CliErrors[_0x288713(0x197)](_0x288713(0x1a1),_0x288713(0x17e));const _0x1b857e=['id',_0x288713(0x194),'plan-out','expect-parent-id',_0x288713(0x185),_0x288713(0x142)]['filter'](_0x327707=>hasFlag(_0x1e5248,_0x327707));if(_0x1b857e[_0x288713(0x159)]>0x0)throw CliErrors['validation'](_0x288713(0x134)+_0x1b857e[_0x288713(0x140)](_0x333c6e=>'--'+_0x333c6e)[_0x288713(0x178)](',\x20')+'.');}async function buildDeletePlan(_0x4d6fab){const _0x1a711e=a108_0x540d58,_0x5ba247=validateExactId(_0x4d6fab),_0x26c62d=await fetchMutationSnapshot(_0x4d6fab,_0x1a711e(0x145),_0x5ba247),_0x1b15e3=requireMenu(_0x26c62d,_0x5ba247);assertExpectedState(_0x4d6fab,_0x1b15e3);const _0x3898ac=_0x4d6fab[_0x1a711e(0x16a)](_0x1a711e(0x194));let _0x3c2156;if(_0x3898ac){if(_0x1b15e3[_0x1a711e(0x19e)][_0x1a711e(0x179)]()[_0x1a711e(0x148)]()!==_0x1a711e(0x199))throw menuError('menu_recursive_requires_folder','Menu\x20'+_0x1b15e3['id']+'\x20is\x20type\x20\x22'+(_0x1b15e3['type']||_0x1a711e(0x132))+_0x1a711e(0x173));_0x3c2156=collectDeleteTargets(_0x26c62d,_0x1b15e3),_0x3c2156['forEach'](_0x4835ca=>assertDeleteSafety(_0x4835ca,!![]));}else assertDeleteSafety(_0x1b15e3),_0x3c2156=[_0x1b15e3];assertNoSharedPages(_0x26c62d,_0x3c2156);const _0x3d3bf6=_0x3c2156[_0x1a711e(0x140)](_0x27695b=>_0x27695b['id']),_0x21979b=cascadeForTargets(_0x3c2156),_0x2a24f4=_0x21979b[_0x1a711e(0x14f)][_0x1a711e(0x159)]>0x0?['Deleting\x20page-bound\x20menus\x20invokes\x20the\x20platform\x27s\x20existing\x20page\x20and\x20PageSchema\x20cascade;\x20listed\x20page\x20ids\x20are\x20direct\x20menu\x20bindings.']:[];return mutationResult({'operation':_0x1a711e(0x186),'selector':{'id':_0x5ba247,'recursive':_0x3898ac},'before':_0x1b15e3,'after':null,'dryRun':!![],'backend':[...BACKEND],'plannedActions':[{'stage':'batch-delete-menu','method':_0x1a711e(0x19c),'path':_0x1a711e(0x1a3),'body':{'idList':_0x3d3bf6}}],'targets':_0x3c2156,'deleteOrder':_0x3d3bf6,'snapshotHash':_0x26c62d[_0x1a711e(0x13d)],'cascade':_0x21979b,'warnings':_0x2a24f4});}function assertDeleteSafety(_0x1dda3e,_0x2201b1=![]){const _0x31761b=a108_0x540d58,_0x3cf9c9=_0x1dda3e[_0x31761b(0x19e)]['trim']()['toLowerCase']()===_0x31761b(0x199);if(_0x1dda3e[_0x31761b(0x17c)]>0x0&&(!_0x2201b1||!_0x3cf9c9))throw menuError('menu_non_empty',_0x31761b(0x17a)+_0x1dda3e['id']+'\x20has\x20'+_0x1dda3e['childrenCount']+_0x31761b(0x166),_0x31761b(0x195)+_0x1dda3e[_0x31761b(0x158)]['join'](',\x20'));if(_0x3cf9c9&&_0x1dda3e[_0x31761b(0x172)]!=null)throw menuError('menu_delete_page_bound',_0x31761b(0x190)+_0x1dda3e['id']+_0x31761b(0x182)+_0x1dda3e[_0x31761b(0x172)]+_0x31761b(0x16f),'Inspect\x20the\x20folder\x20in\x20the\x20platform\x20before\x20deleting\x20it.');if(!_0x3cf9c9)return;if(!_0x1dda3e[_0x31761b(0x16e)])throw menuError(_0x31761b(0x152),'Folder\x20'+_0x1dda3e['id']+_0x31761b(0x18c),_0x31761b(0x14a));if(_0x1dda3e[_0x31761b(0x131)][_0x31761b(0x159)]>0x0)throw menuError(_0x31761b(0x12e),'Folder\x20'+_0x1dda3e['id']+_0x31761b(0x156)+_0x1dda3e[_0x31761b(0x131)]['length']+_0x31761b(0x149),_0x31761b(0x15c));}function collectDeleteTargets(_0x6ccacb,_0x4b1b51){const _0x5e42a1=[],_0xb7f228=new Set(),_0x45add8=new Set(),_0x25f0fc=_0x494514=>{const _0x149b61=a108_0xed94;if(_0xb7f228[_0x149b61(0x168)](_0x494514['id']))throw menuError(_0x149b61(0x18f),_0x149b61(0x150)+_0x494514['id']+'.');if(_0x45add8[_0x149b61(0x168)](_0x494514['id']))return;_0xb7f228[_0x149b61(0x169)](_0x494514['id']);for(const _0x2537ef of _0x494514[_0x149b61(0x158)]){const _0x53fa15=_0x6ccacb[_0x149b61(0x18a)]['get'](_0x2537ef);if(!_0x53fa15)throw menuError('menu_tree_invalid',_0x149b61(0x17a)+_0x494514['id']+_0x149b61(0x17b)+_0x2537ef+'.');_0x25f0fc(_0x53fa15);}_0xb7f228['delete'](_0x494514['id']),_0x45add8[_0x149b61(0x169)](_0x494514['id']),_0x5e42a1[_0x149b61(0x139)](_0x494514);};return _0x25f0fc(_0x4b1b51),_0x5e42a1;}function assertDeleteTargetsComplete(_0x121e29,_0x4d4096){const _0x2fef07=a108_0x540d58,_0x2ea699=requireMenu(_0x4d4096,_0x121e29['target']['id']);if(_0x121e29['recursive']&&_0x2ea699[_0x2fef07(0x19e)][_0x2fef07(0x179)]()['toLowerCase']()!=='folder')throw menuError(_0x2fef07(0x175),'Recursive\x20menu\x20delete\x20plan\x20root\x20'+_0x2ea699['id']+_0x2fef07(0x163));const _0x43cdab=_0x121e29['recursive']?collectDeleteTargets(_0x4d4096,_0x2ea699)[_0x2fef07(0x140)](_0x55c3a3=>_0x55c3a3['id']):[_0x2ea699['id']];if(JSON[_0x2fef07(0x17f)](_0x121e29['deleteOrder'])!==JSON['stringify'](_0x43cdab))throw menuError(_0x2fef07(0x175),_0x2fef07(0x16b),_0x2fef07(0x15b));}function assertNoSharedPages(_0x30c9d9,_0x6b183c){const _0x14b82a=a108_0x540d58,_0x15bb8b=new Set(_0x6b183c[_0x14b82a(0x140)](_0x3e167a=>_0x3e167a['id'])),_0x1d5ee6=new Set(_0x6b183c[_0x14b82a(0x140)](_0x470150=>_0x470150[_0x14b82a(0x172)])[_0x14b82a(0x18d)](_0x2b6268=>_0x2b6268!=null));if(_0x1d5ee6['size']===0x0)return;const _0x2ff4f8=_0x30c9d9['menus'][_0x14b82a(0x18d)](_0x56cd89=>!_0x15bb8b['has'](_0x56cd89['id'])&&_0x56cd89[_0x14b82a(0x172)]!=null&&_0x1d5ee6[_0x14b82a(0x168)](_0x56cd89[_0x14b82a(0x172)]));if(_0x2ff4f8[_0x14b82a(0x159)]===0x0)return;const _0x3f2c86=_0x2ff4f8['map'](_0x2cadb5=>_0x14b82a(0x138)+_0x2cadb5[_0x14b82a(0x172)]+_0x14b82a(0x151)+_0x2cadb5['id'])[_0x14b82a(0x178)](',\x20');throw menuError(_0x14b82a(0x164),_0x14b82a(0x16d)+_0x3f2c86+'.',_0x14b82a(0x160));}function assertCascadeMatchesPlan(_0x5b253f,_0x5cc5b5){const _0x27c1bd=a108_0x540d58,_0xce8229=cascadeForTargets(_0x5cc5b5);if(JSON[_0x27c1bd(0x17f)](_0x5b253f[_0x27c1bd(0x154)])!==JSON[_0x27c1bd(0x17f)](_0xce8229))throw menuError(_0x27c1bd(0x175),_0x27c1bd(0x14e));}function a108_0x4f5d(){const _0x3a7520=['has','add','bool','Menu\x20delete\x20plan\x20does\x20not\x20contain\x20the\x20complete\x20current\x20subtree\x20in\x20leaf-first\x20order.','snapshot','Page\x20bindings\x20are\x20referenced\x20by\x20menus\x20outside\x20the\x20delete\x20plan:\x20','resourcesValid','\x20and\x20cannot\x20be\x20deleted\x20safely.','plan-out','causeCode','pageId','\x22;\x20--recursive\x20requires\x20a\x20folder\x20root.','1467445GRgdaH','menu_plan_invalid','187075SxObcx','Would\x20batch\x20delete\x20','join','trim','Menu\x20','\x20references\x20missing\x20child\x20','childrenCount','Backend\x20reported\x20','--plan\x20is\x20required\x20for\x20menu\x20delete\x20execution.','stringify','deleteOrder','18957akLMjJ','\x20is\x20unexpectedly\x20bound\x20to\x20page\x20','verification','108UhxMxr','expect-path','delete','Delete\x20an\x20exact\x20menu\x20or\x20a\x20folder\x20subtree\x20from\x20a\x20reviewed\x20plan','read\x20menu\x20state\x20after\x20batch\x20delete\x20failure','Required\x20for\x20execution;\x20consume\x20an\x20unexpired\x20plan\x20created\x20by\x20--plan-out','byId','selector','\x20has\x20an\x20unreadable\x20extend.resources\x20value\x20and\x20cannot\x20be\x20proven\x20empty.','filter','validation','menu_tree_invalid','Folder\x20','\x20deleted\x20menus;\x20expected\x20','failed','pre-write-plan-validation','recursive','Handle\x20child\x20ids\x20in\x20the\x20platform\x20first:\x20','path','flagMissing','1919192bInWtK','folder','rabetbase\x20menu\x20list\x20--format\x20json','verify\x20batch\x20delete','POST','plan-validation','type','dry-run','cookie','plan','target','/smartapi/menu/batchDelete','Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.','menu\x20list','menu','menu_folder_has_resources','118808nHfXYj','):\x20','resources','unknown','The\x20backend\x20acknowledged\x20the\x20batch\x20request,\x20but\x20final\x20menu\x20facts\x20did\x20not\x20confirm\x20every\x20deletion.','Menu\x20delete\x20execution\x20consumes\x20only\x20--plan;\x20remove\x20','The\x20batch\x20delete\x20may\x20have\x20partially\x20applied;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20creating\x20a\x20new\x20plan.','--plan\x20cannot\x20be\x20combined\x20with\x20--dry-run;\x20use\x20--plan-out.','The\x20batch\x20delete\x20request\x20was\x20accepted,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.','page\x20','push','indexOf','Required\x20with\x20--dry-run;\x20write\x20the\x20reviewed\x20plan\x20to\x20a\x20new\x20local\x20JSON\x20file','One\x20or\x20more\x20planned\x20menus\x20are\x20still\x20present\x20after\x20the\x20batch\x20delete\x20request:\x20','hash','3800148dtQDUl','2259PIvhFQ','map','boolean','expected-children-count','causeMessage','492306UefGAL','plan\x20delete','execute\x20reviewed\x20delete\x20plan','\x20menu(s)\x20under\x20exact\x20id\x20','toLowerCase','\x20resource\x20URL(s).','Inspect\x20and\x20repair\x20the\x20folder\x20resource\x20binding\x20in\x20the\x20platform\x20before\x20deleting\x20it.','appCode',';\x20execution\x20must\x20consume\x20','unconfirmed','Menu\x20delete\x20plan\x20cascade\x20does\x20not\x20match\x20the\x20reviewed\x20target\x20page\x20facts.','pages','Menu\x20tree\x20contains\x20a\x20cycle\x20at\x20menu\x20','\x20->\x20menu\x20','menu_folder_resources_invalid','Post-mismatch\x20menu\x20readback\x20failed\x20(','cascade','The\x20batch\x20response\x20count\x20did\x20not\x20match\x20the\x20reviewed\x20target\x20count;\x20do\x20not\x20retry\x20the\x20same\x20plan.','\x20still\x20references\x20','str','childrenIds','length','--plan-out\x20is\x20required\x20for\x20menu\x20delete\x20dry-run\x20so\x20execution\x20can\x20consume\x20the\x20reviewed\x20plan.','Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out\x20and\x20do\x20not\x20remove\x20or\x20reorder\x20targets.','Remove\x20or\x20verify\x20the\x20resource\x20bindings\x20in\x20the\x20platform\x20before\x20deleting\x20the\x20folder.','menu_batch_delete_count_mismatch','Post-failure\x20menu\x20readback\x20failed\x20(','batch-delete','Keep\x20every\x20shared\x20page\x20reference\x20outside\x20this\x20operation,\x20or\x20choose\x20a\x20folder\x20whose\x20complete\x20subtree\x20contains\x20all\x20references.','Deleted\x20','absentIds','\x20is\x20not\x20a\x20folder.','menu_page_shared','high-risk-write','\x20direct\x20child\x20menu(s)\x20and\x20cannot\x20be\x20deleted.','remainingIds'];a108_0x4f5d=function(){return _0x3a7520;};return a108_0x4f5d();}function cascadeForTargets(_0x21792d){const _0x2956ea=a108_0x540d58,_0x150e56=_0x21792d[_0x2956ea(0x140)](_0x1cc727=>_0x1cc727[_0x2956ea(0x172)])[_0x2956ea(0x18d)](_0xa6e6d7=>_0xa6e6d7!=null)[_0x2956ea(0x18d)]((_0x3ccece,_0x3a4325,_0x22ddaf)=>_0x22ddaf[_0x2956ea(0x13a)](_0x3ccece)===_0x3a4325);return{'pages':_0x150e56,'pageSchemaAffected':_0x150e56[_0x2956ea(0x159)]>0x0};}function asMenuError(_0xa60734){const _0x13e02e=a108_0x540d58;return _0xa60734 instanceof CliError?_0xa60734:menuError(_0x13e02e(0x175),_0xa60734 instanceof Error?_0xa60734['message']:String(_0xa60734));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a103_0x24a2e7=a103_0x1e99;(function(_0x5f0df0,_0x10025e){const _0x449455=a103_0x1e99,_0x30e424=_0x5f0df0();while(!![]){try{const _0x7b7ac3=parseInt(_0x449455(0x1f9))/0x1*(-parseInt(_0x449455(0x21a))/0x2)+-parseInt(_0x449455(0x1c3))/0x3+parseInt(_0x449455(0x1f7))/0x4*(parseInt(_0x449455(0x1ab))/0x5)+-parseInt(_0x449455(0x1fe))/0x6*(parseInt(_0x449455(0x192))/0x7)+parseInt(_0x449455(0x1a0))/0x8+-parseInt(_0x449455(0x208))/0x9+parseInt(_0x449455(0x1ec))/0xa*(parseInt(_0x449455(0x1ed))/0xb);if(_0x7b7ac3===_0x10025e)break;else _0x30e424['push'](_0x30e424['shift']());}catch(_0x4259a7){_0x30e424['push'](_0x30e424['shift']());}}}(a103_0x4be3,0x693af));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a103_0x1e99(_0x145c61,_0x52a0f9){_0x145c61=_0x145c61-0x190;const _0x4be357=a103_0x4be3();let _0x1e9937=_0x4be357[_0x145c61];return _0x1e9937;}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':a103_0x24a2e7(0x1ba),'new-window':a103_0x24a2e7(0x1ad)};export function validateExternalMenuUrl(_0x5ca603){const _0x286709=a103_0x24a2e7,_0x4ff18f=_0x5ca603[_0x286709(0x1e4)]();let _0xda40c;try{_0xda40c=new URL(_0x4ff18f);}catch{throw menuError(_0x286709(0x1c0),_0x286709(0x1ce),_0x286709(0x1c6));}if(_0xda40c[_0x286709(0x1ca)]!==_0x286709(0x215))throw menuError(_0x286709(0x1bc),_0x286709(0x1fd),_0x286709(0x218));if(_0xda40c['username']||_0xda40c[_0x286709(0x1be)])throw menuError('menu_url_credentials_forbidden',_0x286709(0x200),_0x286709(0x1d1));return _0x4ff18f;}export const menuExternalLinkCreate={'service':a103_0x24a2e7(0x1a3),'command':a103_0x24a2e7(0x199),'description':a103_0x24a2e7(0x1e5),'risk':'write','structuredErrors':!![],'flags':[{'name':a103_0x24a2e7(0x1dc),'type':'string','required':!![],'description':a103_0x24a2e7(0x1fa)},{'name':'open-mode','type':a103_0x24a2e7(0x1c2),'required':!![],'enum':[a103_0x24a2e7(0x1b2),'new-window'],'description':a103_0x24a2e7(0x1dd)},{'name':'url','type':a103_0x24a2e7(0x1c2),'required':!![],'description':a103_0x24a2e7(0x1f3)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':a103_0x24a2e7(0x1eb),'type':a103_0x24a2e7(0x1c8),'default':!![],'description':a103_0x24a2e7(0x1d8)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x550616){validateAddInput(_0x550616);},async 'dryRun'(_0x1cd8a1){const _0x544f1b=a103_0x24a2e7;validateAddInput(_0x1cd8a1);const {plan:_0x42a2bd}=await buildSafeAddPlan(_0x1cd8a1,!![]),_0x58474a=_0x42a2bd[_0x544f1b(0x1cd)],_0x545d88=createBody(_0x58474a);return menuDryRunResult(_0x42a2bd,{'method':'POST','url':_0x544f1b(0x1f0),'body':_0x545d88,'description':_0x544f1b(0x1a9)+JSON[_0x544f1b(0x1b5)](_0x58474a['label'])+_0x544f1b(0x213)+_0x1cd8a1['str'](_0x544f1b(0x1e3))+'\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.'});},async 'execute'(_0x1b7dc8){const _0x19ef5d=a103_0x24a2e7;validateAddInput(_0x1b7dc8);const _0x8329f=await buildSafeAddPlan(_0x1b7dc8,![]),{plan:_0x9d7c41,snapshot:_0x1a12be}=_0x8329f,_0x34a62d=_0x9d7c41['after'],_0x63c74b=buildMenuLookupCommand(_0x1b7dc8['appCode']);await recheckAddSnapshot(_0x1b7dc8,_0x9d7c41);let _0x51b247;try{_0x51b247=await createMenuEntity(_0x1b7dc8[_0x19ef5d(0x1a6)],_0x1b7dc8[_0x19ef5d(0x21d)],createBody(_0x34a62d));}catch(_0xe7d756){const _0x3fcd73=mapMenuApiError(_0xe7d756,'create\x20external\x20menu');if(!isMenuResponseLoss(_0xe7d756)||_0x3fcd73[_0x19ef5d(0x1a4)]===_0x19ef5d(0x19c))throw externalLinkCreateFailure(_0x3fcd73,_0x9d7c41,{'stage':_0x19ef5d(0x1ef),'failed':{},'verification':{'status':_0x19ef5d(0x1c1),'lookupCommand':_0x63c74b}});return recoverAfterResponseLoss(_0x1b7dc8,_0x8329f,_0x63c74b);}const _0x55667c=Number(_0x51b247?.['id']),_0x456e39=typeof _0x51b247?.['path']===_0x19ef5d(0x1c2)?_0x51b247[_0x19ef5d(0x1a5)]:'';if(!Number['isSafeInteger'](_0x55667c)||_0x55667c<=0x0||!_0x456e39[_0x19ef5d(0x1e4)]()){const _0x451bce=menuError(_0x19ef5d(0x1b4),_0x19ef5d(0x207),_0x19ef5d(0x1e9)+_0x63c74b+_0x19ef5d(0x1e0));throw externalLinkCreateFailure(_0x451bce,_0x9d7c41,{'stage':_0x19ef5d(0x1fb),'succeeded':Number[_0x19ef5d(0x19d)](_0x55667c)&&_0x55667c>0x0?[{'id':_0x55667c,'created':!![]}]:[],'failed':{'createdId':Number[_0x19ef5d(0x19d)](_0x55667c)?_0x55667c:null,'generatedPathConfirmed':Boolean(_0x456e39[_0x19ef5d(0x1e4)]())},'warnings':['The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.'],'after':Number[_0x19ef5d(0x19d)](_0x55667c)&&_0x55667c>0x0?{..._0x34a62d,'id':_0x55667c,'path':_0x456e39}:_0x34a62d,'verification':{'status':_0x19ef5d(0x1c1),'lookupCommand':_0x63c74b,...Number['isSafeInteger'](_0x55667c)&&_0x55667c>0x0?{'targetId':_0x55667c}:{}}});}const _0x2ce602=await readAndVerifyCreatedMenu({'appCode':_0x1b7dc8['appCode'],'cookie':_0x1b7dc8['cookie'],'plan':_0x9d7c41,'afterPlan':_0x34a62d,'createdId':_0x55667c,'expectedPath':_0x456e39,'lookupCommand':_0x63c74b,'recovered':![]});return creationSuccess(_0x9d7c41,_0x2ce602[_0x19ef5d(0x1d5)],_0x2ce602['fact'],![]);}};function validateAddInput(_0x5efac7){const _0x4d6c05=a103_0x24a2e7;if(!_0x5efac7[_0x4d6c05(0x1f1)](_0x4d6c05(0x1dc))['trim']())throw CliErrors[_0x4d6c05(0x1aa)](_0x4d6c05(0x1dc));resolveExternalMenuType(_0x5efac7),validateExternalMenuUrl(_0x5efac7[_0x4d6c05(0x1f1)]('url')),parseParentId(_0x5efac7,'parent-id'),validateSort(_0x5efac7);}function resolveExternalMenuType(_0x2e706b){const _0x3fd9e2=a103_0x24a2e7,_0x2263bc=_0x2e706b[_0x3fd9e2(0x1f1)](_0x3fd9e2(0x1e3))[_0x3fd9e2(0x1e4)]();if(!_0x2263bc)throw CliErrors['flagMissing']('open-mode');const _0x42d1a8=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0x2263bc];if(!_0x42d1a8)throw menuError(_0x3fd9e2(0x1bf),_0x3fd9e2(0x1d2),'Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.');return _0x42d1a8;}async function buildAddPlan(_0x403450,_0x227032){const _0x4a1706=a103_0x24a2e7,_0x2c6c5c=await fetchMutationSnapshot(_0x403450,_0x4a1706(0x1a2)),_0x59bbac=parseParentId(_0x403450,'parent-id')??null;if(_0x59bbac!=null)requireFolder(_0x2c6c5c,_0x59bbac);const _0x456fe0=validateSort(_0x403450),_0x517bba=_0x456fe0??nextSiblingSort(_0x2c6c5c,_0x59bbac,_0x4a1706(0x1a3)),_0x1007d2=_0x403450[_0x4a1706(0x1f1)](_0x4a1706(0x1dc))['trim'](),_0x361f33=resolveExternalMenuType(_0x403450),_0xb2ff9=validateExternalMenuUrl(_0x403450[_0x4a1706(0x1f1)]('url')),_0x15bdd3=Object[_0x4a1706(0x1b9)][_0x4a1706(0x190)][_0x4a1706(0x20e)](_0x403450[_0x4a1706(0x1f6)],_0x4a1706(0x1eb))?_0x403450[_0x4a1706(0x1f4)](_0x4a1706(0x1eb)):!![],_0xfbe2c4={'id':null,'parentId':_0x59bbac,'label':_0x1007d2,'path':'<platform-generated>','url':_0xb2ff9,'type':_0x361f33,'visible':_0x15bdd3,'sort':_0x517bba},_0x38cd45=buildMenuLookupCommand(_0x403450[_0x4a1706(0x1a6)]),_0x239bb1=mutationResult({'operation':_0x4a1706(0x1cc),'selector':{'parentId':_0x59bbac,'type':_0x361f33,'label':_0x1007d2,'url':_0xb2ff9},'before':null,'after':_0xfbe2c4,'dryRun':_0x227032,'backend':[{'method':_0x4a1706(0x214),'path':_0x4a1706(0x1f0)}],'plannedActions':[{'stage':'create-menu','method':_0x4a1706(0x214),'path':'/smartapi/menu/create','body':createBody(_0xfbe2c4)}],'snapshotHash':_0x2c6c5c['hash'],'warnings':['The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.'],'verification':{'lookupCommand':_0x38cd45}});return{'plan':_0x239bb1,'snapshot':_0x2c6c5c};}async function buildSafeAddPlan(_0x47f329,_0x33b3cf){try{return await buildAddPlan(_0x47f329,_0x33b3cf);}catch(_0x43f56a){throw safeMenuAddError(_0x43f56a);}}async function recheckAddSnapshot(_0xaa71e9,_0x2afcd2){const _0x10b64f=a103_0x24a2e7;try{await recheckMutationSnapshot(_0xaa71e9,_0x2afcd2,_0x10b64f(0x1a2));}catch(_0x2258a9){const _0x288b87=getFailureRecord(_0x2258a9);throw externalLinkCreateFailure(_0x2258a9,_0x2afcd2,{'stage':_0x10b64f(0x19e),'failed':{..._0x288b87?.[_0x10b64f(0x19f)]?{'expectedSnapshotHash':_0x288b87[_0x10b64f(0x19f)]}:{},..._0x288b87?.[_0x10b64f(0x209)]?{'currentSnapshotHash':_0x288b87[_0x10b64f(0x209)]}:{}}});}}function createBody(_0xb7d27e){const _0x4dc85e=a103_0x24a2e7;return{'parentId':toApiParentId(_0xb7d27e[_0x4dc85e(0x21e)]),'label':String(_0xb7d27e[_0x4dc85e(0x1dc)]),'type':String(_0xb7d27e[_0x4dc85e(0x203)]),'url':String(_0xb7d27e[_0x4dc85e(0x1a7)]),'visible':Boolean(_0xb7d27e[_0x4dc85e(0x1eb)]),'sort':Number(_0xb7d27e[_0x4dc85e(0x205)]),'extend':{}};}function buildMenuLookupCommand(_0x2e75bd){const _0x2a32aa=a103_0x24a2e7,_0x104c1a='\x27'+_0x2e75bd['replace'](/'/g,_0x2a32aa(0x19b))+'\x27';return _0x2a32aa(0x1b3)+_0x104c1a+_0x2a32aa(0x1f8);}async function recoverAfterResponseLoss(_0x4eadf4,_0x1e9337,_0x1d6d61){const _0x2ac81d=a103_0x24a2e7,{plan:_0xf04a7,snapshot:_0x59e5c1}=_0x1e9337,_0x821bdc=_0xf04a7['after'];let _0x3dcefd;try{_0x3dcefd=await fetchMenuSnapshot(_0x4eadf4[_0x2ac81d(0x1a6)],_0x4eadf4['cookie']);}catch(_0x19a6b0){throw recoveryRequiredFailure(_0xf04a7,_0x1d6d61,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0x9a1941=_0x3dcefd[_0x2ac81d(0x1c7)][_0x2ac81d(0x20f)](_0x432799=>_0x432799[_0x2ac81d(0x21e)]===_0x821bdc['parentId']&&_0x432799['type']===_0x821bdc[_0x2ac81d(0x203)]&&_0x432799[_0x2ac81d(0x1dc)]===_0x821bdc[_0x2ac81d(0x1dc)]&&_0x432799[_0x2ac81d(0x1a7)]===_0x821bdc[_0x2ac81d(0x1a7)]),_0x5444d3=_0x9a1941[_0x2ac81d(0x20f)](_0x112a53=>!_0x59e5c1[_0x2ac81d(0x1d0)][_0x2ac81d(0x1bb)](_0x112a53['id'])),_0x5f1f24=_0x9a1941[_0x2ac81d(0x20f)](_0x4a6b73=>_0x59e5c1[_0x2ac81d(0x1d0)]['has'](_0x4a6b73['id']));if(_0x9a1941[_0x2ac81d(0x1da)]!==0x1||_0x5444d3[_0x2ac81d(0x1da)]!==0x1)throw recoveryRequiredFailure(_0xf04a7,_0x1d6d61,{'matchCount':_0x9a1941[_0x2ac81d(0x1da)],'newMatchCount':_0x5444d3[_0x2ac81d(0x1da)],'preexistingMatchCount':_0x5f1f24['length']});const _0x318307=_0x5444d3[0x0];try{verifyCreatedFact(_0x318307,_0x318307['id'],_0x821bdc,null);}catch(_0x2c49bc){const _0x3a2359=_0x2c49bc instanceof Error&&_0x2ac81d(0x1a4)in _0x2c49bc?_0x2c49bc:menuError('menu_verification_failed','Recovered\x20menu\x20'+_0x318307['id']+'\x20could\x20not\x20be\x20verified.','Run\x20'+_0x1d6d61+_0x2ac81d(0x196));throw externalLinkCreateFailure(_0x3a2359,_0xf04a7,{'stage':_0x2ac81d(0x204),'succeeded':[{'id':_0x318307['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0x318307['id'],'finalFactsConfirmed':![]},'after':_0x318307,'warnings':[_0x2ac81d(0x1f5)+_0x318307['id']+'\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.'],'verification':{'status':_0x2ac81d(0x1c1),'targetId':_0x318307['id'],'recovered':!![],'lookupCommand':_0x1d6d61}});}return creationSuccess(_0xf04a7,_0x3dcefd,_0x318307,!![]);}function a103_0x4be3(){const _0x4ec4fd=['appCode','url','create-recovery','Would\x20create\x20external\x20website\x20link\x20menu\x20','flagMissing','3616575EhdAvz','parent','link','Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.','menu_mutation_failed','menu_sort_overflow','createdId','embedded','rabetbase\x20menu\x20list\x20--appcode\x20','menu_create_response_invalid','stringify','The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.','Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.','plannedActions','prototype','iframe','has','menu_url_https_required','fromEntries','password','menu_open_mode_invalid','menu_url_invalid','failed','string','597807fPeOvi','recovered','\x20has\x20an\x20unexpected\x20','Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.','menus','boolean','entries','protocol','causemessage','add','after','External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.','The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.','byId','Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.','--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.','\x20failed\x20final\x20verification.','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.','snapshot','Created\x20external\x20menu\x20','toLowerCase','Whether\x20the\x20menu\x20is\x20visible','Created\x20menu\x20','length','\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.','label','How\x20to\x20open\x20the\x20external\x20website','rawerror','External\x20menu\x20creation\x20failed.','\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.','Recovered\x20created\x20external\x20menu\x20','Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.','open-mode','trim','Create\x20an\x20external\x20website\x20link\x20menu','\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.','visibility','menu_sort_invalid','Run\x20','selector','visible','530ENhZVH','103433TGCnZc','plan','create','/smartapi/menu/create','str','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.','External\x20HTTPS\x20URL','bool','Menu\x20','rawFlags','4AbMEYe','\x20--format\x20compress','28KbMZFO','Menu\x20label','create-response-validation','isArray','External\x20menu\x20URL\x20must\x20use\x20HTTPS.','6KYOhoy','Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.','External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.','readbackerror','menu_state_drift','type','verification','sort','map','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.','1137798xiDzzZ','currentSnapshotHash','succeeded','The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.','includes','data','call','filter','\x20is\x20missing\x20from\x20final\x20menu\x20facts.','expectedPath','menu\x20list','\x20with\x20','POST','https:','menu_create_recovery_required','lookupCommand','Provide\x20an\x20HTTPS\x20URL.','body','13868xjArOr','Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.','get','cookie','parentId','hasOwnProperty','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.','2977562GFezDt','object','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.','before','\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.','afterPlan','\x20has\x20an\x20unexpected\x20generated\x20path.','external-link-create','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.','\x27\x5c\x27\x27','menu_permission_denied','isSafeInteger','pre-write-recheck','expectedSnapshotHash','1236464OZbxPy','menu_verification_failed','create\x20external\x20menu','menu','code','path'];a103_0x4be3=function(){return _0x4ec4fd;};return a103_0x4be3();}function recoveryRequiredFailure(_0xdbb054,_0xb34425,_0x4c799a){const _0x431fa6=a103_0x24a2e7,_0x2f819b=menuError('menu_create_recovery_required',_0x431fa6(0x20b),'Run\x20'+_0xb34425+'\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.');return externalLinkCreateFailure(_0x2f819b,_0xdbb054,{'stage':_0x431fa6(0x1a8),'failed':_0x4c799a,'warnings':[_0x431fa6(0x1b6)],'verification':{'status':_0x431fa6(0x1c1),..._0x4c799a,'lookupCommand':_0xb34425}});}async function readAndVerifyCreatedMenu(_0x593bee){const _0x27e007=a103_0x24a2e7;let _0x50581f;try{_0x50581f=await fetchMenuSnapshot(_0x593bee[_0x27e007(0x1a6)],_0x593bee[_0x27e007(0x21d)]);}catch(_0x4ce838){const _0x159336=menuError(_0x27e007(0x1a1),_0x27e007(0x1f5)+_0x593bee[_0x27e007(0x1b1)]+_0x27e007(0x1db),_0x27e007(0x1e9)+_0x593bee['lookupCommand']+'\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.');throw externalLinkCreateFailure(_0x159336,_0x593bee[_0x27e007(0x1ee)],{'stage':_0x27e007(0x204),'succeeded':[{'id':_0x593bee[_0x27e007(0x1b1)],'created':!![]}],'failed':{'id':_0x593bee[_0x27e007(0x1b1)],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0x593bee['afterPlan'],'id':_0x593bee[_0x27e007(0x1b1)],'path':_0x593bee[_0x27e007(0x211)]},'warnings':[_0x27e007(0x1f5)+_0x593bee['createdId']+_0x27e007(0x1e6)],'verification':{'status':_0x27e007(0x1c1),'targetId':_0x593bee[_0x27e007(0x1b1)],'lookupCommand':_0x593bee[_0x27e007(0x217)]}});}const _0x3c47df=_0x50581f[_0x27e007(0x1d0)][_0x27e007(0x21c)](_0x593bee[_0x27e007(0x1b1)]);try{if(!_0x3c47df)throw menuError(_0x27e007(0x1a1),'Created\x20menu\x20'+_0x593bee[_0x27e007(0x1b1)]+_0x27e007(0x210),_0x27e007(0x1e9)+_0x593bee[_0x27e007(0x217)]+'\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.');verifyCreatedFact(_0x3c47df,_0x593bee[_0x27e007(0x1b1)],_0x593bee[_0x27e007(0x197)],_0x593bee[_0x27e007(0x211)]);}catch(_0x3904e0){const _0x3455f5=_0x3904e0 instanceof Error&&_0x27e007(0x1a4)in _0x3904e0?_0x3904e0:menuError('menu_verification_failed',_0x27e007(0x1d9)+_0x593bee[_0x27e007(0x1b1)]+_0x27e007(0x1d3),_0x27e007(0x1e9)+_0x593bee[_0x27e007(0x217)]+'\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.');throw externalLinkCreateFailure(_0x3455f5,_0x593bee[_0x27e007(0x1ee)],{'stage':_0x27e007(0x204),'succeeded':[{'id':_0x593bee['createdId'],'created':!![]}],'failed':{'id':_0x593bee[_0x27e007(0x1b1)],'finalFactsConfirmed':![]},'after':_0x3c47df??{..._0x593bee[_0x27e007(0x197)],'id':_0x593bee[_0x27e007(0x1b1)],'path':_0x593bee[_0x27e007(0x211)]},'warnings':['Menu\x20'+_0x593bee[_0x27e007(0x1b1)]+'\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.'],'verification':{'status':_0x27e007(0x1c1),'targetId':_0x593bee[_0x27e007(0x1b1)],'recovered':_0x593bee[_0x27e007(0x1c4)],'lookupCommand':_0x593bee[_0x27e007(0x217)]}});}return{'snapshot':_0x50581f,'fact':_0x3c47df};}function verifyCreatedFact(_0x31f9ba,_0x3fc991,_0x207dab,_0x2bb349){const _0x5456df=a103_0x24a2e7;if(!Number[_0x5456df(0x19d)](_0x31f9ba['id'])||_0x31f9ba['id']<=0x0||_0x31f9ba['id']!==_0x3fc991)throw menuError(_0x5456df(0x1a1),_0x5456df(0x1b7),_0x5456df(0x1e2));const _0x2bd564=[[_0x5456df(0x1ac),_0x31f9ba[_0x5456df(0x21e)],_0x207dab['parentId']],['type',_0x31f9ba[_0x5456df(0x203)],_0x207dab[_0x5456df(0x203)]],[_0x5456df(0x1dc),_0x31f9ba['label'],_0x207dab[_0x5456df(0x1dc)]],['URL',_0x31f9ba[_0x5456df(0x1a7)],_0x207dab['url']],[_0x5456df(0x1e7),_0x31f9ba['visible'],_0x207dab['visible']],[_0x5456df(0x205),_0x31f9ba[_0x5456df(0x205)],_0x207dab[_0x5456df(0x205)]]];for(const [_0x2a8f13,_0x9f2a1b,_0x28a86e]of _0x2bd564){if(_0x9f2a1b!==_0x28a86e)throw menuError(_0x5456df(0x1a1),_0x5456df(0x1d9)+_0x31f9ba['id']+_0x5456df(0x1c5)+_0x2a8f13+'.','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.');}if(!_0x31f9ba[_0x5456df(0x1a5)][_0x5456df(0x1e4)]()||_0x2bb349!==null&&_0x31f9ba[_0x5456df(0x1a5)]!==_0x2bb349)throw menuError(_0x5456df(0x1a1),_0x5456df(0x1d9)+_0x31f9ba['id']+_0x5456df(0x198),_0x5456df(0x191));}function creationSuccess(_0x98f24a,_0x3a54b7,_0x557c06,_0x5470b3){const _0x3c059d=a103_0x24a2e7,_0x1cf2ee=mutationResult({..._0x98f24a,'after':_0x557c06,'dryRun':![],'succeeded':[{'id':_0x557c06['id'],'created':!![],'recovered':_0x5470b3}],'verification':{'checkedBy':_0x3c059d(0x212),'snapshotHash':_0x3a54b7['hash'],'targetId':_0x557c06['id'],'recovered':_0x5470b3,'path':_0x557c06[_0x3c059d(0x1a5)]}});return{'ok':!![],'message':_0x5470b3?_0x3c059d(0x1e1)+_0x557c06['id']+'\x20after\x20response\x20loss.':_0x3c059d(0x1d6)+_0x557c06['id']+'.','data':{..._0x1cf2ee,'recovered':_0x5470b3}};}function externalLinkCreateFailure(_0xd0aeb,_0x210cab,_0x361ffa){const _0x4b9132=a103_0x24a2e7;return menuFailure(safeMenuAddError(_0xd0aeb),redactFailurePlan(_0x210cab),{..._0x361ffa,'succeeded':_0x361ffa[_0x4b9132(0x20a)]?.[_0x4b9132(0x206)](redactFailureRecord),'failed':_0x361ffa[_0x4b9132(0x1c1)]?redactFailureRecord(_0x361ffa[_0x4b9132(0x1c1)]):undefined,'verification':_0x361ffa[_0x4b9132(0x204)]?redactFailureRecord(_0x361ffa['verification']):undefined,'after':_0x361ffa[_0x4b9132(0x1cd)]===undefined?undefined:redactFailureValue(_0x361ffa['after'])});}function redactFailurePlan(_0x58bea2){const _0x35b1de=a103_0x24a2e7;return{..._0x58bea2,'selector':redactFailureRecord(_0x58bea2[_0x35b1de(0x1ea)]),'before':redactFailureValue(_0x58bea2[_0x35b1de(0x195)]),'after':redactFailureValue(_0x58bea2[_0x35b1de(0x1cd)]),'plannedActions':_0x58bea2[_0x35b1de(0x1b8)]?.[_0x35b1de(0x206)](_0x32a9ed=>({..._0x32a9ed,'body':redactFailureRecord(_0x32a9ed[_0x35b1de(0x219)])})),'succeeded':_0x58bea2[_0x35b1de(0x20a)]['map'](redactFailureRecord),'failed':_0x58bea2[_0x35b1de(0x1c1)][_0x35b1de(0x206)](redactFailureRecord),'verification':_0x58bea2[_0x35b1de(0x204)]?redactFailureRecord(_0x58bea2['verification']):undefined};}function redactFailureRecord(_0x15a124){return redactFailureValue(_0x15a124);}function redactFailureValue(_0xd3fe4f,_0x4a63cc=''){const _0x233079=a103_0x24a2e7,_0x240542=_0x4a63cc[_0x233079(0x1d7)]()['replace'](/[^a-z0-9]/g,'');if(['cause',_0x233079(0x1cb),_0x233079(0x201),_0x233079(0x1de)][_0x233079(0x20c)](_0x240542))return'<redacted>';if(Array[_0x233079(0x1fc)](_0xd3fe4f))return _0xd3fe4f[_0x233079(0x206)](_0x2b4019=>redactFailureValue(_0x2b4019));if(_0xd3fe4f&&typeof _0xd3fe4f===_0x233079(0x193))return Object[_0x233079(0x1bd)](Object[_0x233079(0x1c9)](_0xd3fe4f)['map'](([_0x5837bd,_0x1cab03])=>[_0x5837bd,redactFailureValue(_0x1cab03,_0x5837bd)]));return _0xd3fe4f;}function safeMenuAddError(_0x5e6a86){const _0x54ea92=a103_0x24a2e7,_0x377693=_0x5e6a86 instanceof CliError?_0x5e6a86[_0x54ea92(0x1a4)]:_0x54ea92(0x1af);switch(_0x377693){case _0x54ea92(0x202):return menuError(_0x377693,_0x54ea92(0x21b),'Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.');case'menu_permission_denied':return menuError(_0x377693,'Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.',_0x54ea92(0x194));case _0x54ea92(0x1b4):return menuError(_0x377693,_0x54ea92(0x1ae),_0x54ea92(0x19a));case'menu_verification_failed':return menuError(_0x377693,_0x54ea92(0x1ff),_0x54ea92(0x19a));case _0x54ea92(0x216):return menuError(_0x377693,_0x54ea92(0x1cf),_0x54ea92(0x1d4));case _0x54ea92(0x1af):case'menu_not_found':case'menu_parent_not_folder':case _0x54ea92(0x1e8):case _0x54ea92(0x1b0):return menuError(_0x377693,_0x54ea92(0x1df),_0x54ea92(0x1f2));default:return menuError(_0x54ea92(0x1af),_0x54ea92(0x1df),'Inspect\x20current\x20menu\x20facts\x20before\x20retrying.');}}function getFailureRecord(_0x2ac17b){const _0x1bae35=a103_0x24a2e7;if(!(_0x2ac17b instanceof Error)||!(_0x1bae35(0x20d)in _0x2ac17b))return undefined;const _0x1247e6=_0x2ac17b[_0x1bae35(0x20d)];if(!_0x1247e6||typeof _0x1247e6!==_0x1bae35(0x193))return undefined;const _0x46ff84=_0x1247e6[_0x1bae35(0x1c1)];if(!Array[_0x1bae35(0x1fc)](_0x46ff84)||!_0x46ff84[0x0]||typeof _0x46ff84[0x0]!==_0x1bae35(0x193))return undefined;return _0x46ff84[0x0];}
|
|
1
|
+
const a109_0x4864dc=a109_0x5158;(function(_0x2f542d,_0x5e7480){const _0x22df4c=a109_0x5158,_0x8eb710=_0x2f542d();while(!![]){try{const _0x24eed0=-parseInt(_0x22df4c(0x11c))/0x1+parseInt(_0x22df4c(0xfd))/0x2*(parseInt(_0x22df4c(0x133))/0x3)+parseInt(_0x22df4c(0x120))/0x4*(parseInt(_0x22df4c(0x103))/0x5)+parseInt(_0x22df4c(0x158))/0x6*(-parseInt(_0x22df4c(0x123))/0x7)+parseInt(_0x22df4c(0x10d))/0x8+parseInt(_0x22df4c(0x10f))/0x9+parseInt(_0x22df4c(0x154))/0xa*(parseInt(_0x22df4c(0x15f))/0xb);if(_0x24eed0===_0x5e7480)break;else _0x8eb710['push'](_0x8eb710['shift']());}catch(_0x517dbf){_0x8eb710['push'](_0x8eb710['shift']());}}}(a109_0x4186,0x552ad));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':a109_0x4864dc(0xe9),'new-window':a109_0x4864dc(0x146)};export function validateExternalMenuUrl(_0x25c2a5){const _0x375042=a109_0x4864dc,_0x1c46a3=_0x25c2a5[_0x375042(0x12c)]();let _0x8c368;try{_0x8c368=new URL(_0x1c46a3);}catch{throw menuError(_0x375042(0xfb),'External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.',_0x375042(0x151));}if(_0x8c368[_0x375042(0x163)]!==_0x375042(0x124))throw menuError(_0x375042(0xee),_0x375042(0x132),'Provide\x20an\x20HTTPS\x20URL.');if(_0x8c368[_0x375042(0xed)]||_0x8c368[_0x375042(0x109)])throw menuError(_0x375042(0xde),_0x375042(0x148),_0x375042(0x116));return _0x1c46a3;}export const menuExternalLinkCreate={'service':a109_0x4864dc(0x13f),'command':'external-link-create','description':a109_0x4864dc(0x155),'risk':'write','structuredErrors':!![],'flags':[{'name':a109_0x4864dc(0xd6),'type':'string','required':!![],'description':'Menu\x20label'},{'name':a109_0x4864dc(0x105),'type':a109_0x4864dc(0x13a),'required':!![],'enum':[a109_0x4864dc(0xdf),a109_0x4864dc(0x14f)],'description':a109_0x4864dc(0x102)},{'name':a109_0x4864dc(0x11f),'type':a109_0x4864dc(0x13a),'required':!![],'description':a109_0x4864dc(0x145)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':a109_0x4864dc(0x12d),'type':a109_0x4864dc(0x14c),'default':!![],'description':a109_0x4864dc(0x117)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x228a15){validateAddInput(_0x228a15);},async 'dryRun'(_0xd5ec8){const _0xd37394=a109_0x4864dc;validateAddInput(_0xd5ec8);const {plan:_0x544cb4}=await buildSafeAddPlan(_0xd5ec8,!![]),_0x4e7e13=_0x544cb4[_0xd37394(0xeb)],_0x143db1=createBody(_0x4e7e13);return menuDryRunResult(_0x544cb4,{'method':_0xd37394(0x127),'url':_0xd37394(0x141),'body':_0x143db1,'description':'Would\x20create\x20external\x20website\x20link\x20menu\x20'+JSON[_0xd37394(0x121)](_0x4e7e13['label'])+_0xd37394(0xe3)+_0xd5ec8[_0xd37394(0xe2)](_0xd37394(0x105))+_0xd37394(0xff)});},async 'execute'(_0xf2b1e6){const _0x45183e=a109_0x4864dc;validateAddInput(_0xf2b1e6);const _0x13cd8b=await buildSafeAddPlan(_0xf2b1e6,![]),{plan:_0x219288,snapshot:_0x42bb08}=_0x13cd8b,_0xa55ce0=_0x219288[_0x45183e(0xeb)],_0x4ff76b=buildMenuLookupCommand(_0xf2b1e6[_0x45183e(0x150)]);await recheckAddSnapshot(_0xf2b1e6,_0x219288);let _0x21f18b;try{_0x21f18b=await createMenuEntity(_0xf2b1e6[_0x45183e(0x150)],_0xf2b1e6[_0x45183e(0x15c)],createBody(_0xa55ce0));}catch(_0xd7821){const _0x29913a=mapMenuApiError(_0xd7821,_0x45183e(0x135));if(!isMenuResponseLoss(_0xd7821)||_0x29913a[_0x45183e(0x110)]===_0x45183e(0x140))throw externalLinkCreateFailure(_0x29913a,_0x219288,{'stage':_0x45183e(0xf3),'failed':{},'verification':{'status':'failed','lookupCommand':_0x4ff76b}});return recoverAfterResponseLoss(_0xf2b1e6,_0x13cd8b,_0x4ff76b);}const _0x80e49d=Number(_0x21f18b?.['id']),_0x4673ff=typeof _0x21f18b?.[_0x45183e(0x108)]===_0x45183e(0x13a)?_0x21f18b['path']:'';if(!Number['isSafeInteger'](_0x80e49d)||_0x80e49d<=0x0||!_0x4673ff[_0x45183e(0x12c)]()){const _0x5d934c=menuError(_0x45183e(0x159),_0x45183e(0x138),'Run\x20'+_0x4ff76b+_0x45183e(0x115));throw externalLinkCreateFailure(_0x5d934c,_0x219288,{'stage':_0x45183e(0x130),'succeeded':Number[_0x45183e(0x152)](_0x80e49d)&&_0x80e49d>0x0?[{'id':_0x80e49d,'created':!![]}]:[],'failed':{'createdId':Number['isSafeInteger'](_0x80e49d)?_0x80e49d:null,'generatedPathConfirmed':Boolean(_0x4673ff[_0x45183e(0x12c)]())},'warnings':['The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.'],'after':Number[_0x45183e(0x152)](_0x80e49d)&&_0x80e49d>0x0?{..._0xa55ce0,'id':_0x80e49d,'path':_0x4673ff}:_0xa55ce0,'verification':{'status':_0x45183e(0xfe),'lookupCommand':_0x4ff76b,...Number['isSafeInteger'](_0x80e49d)&&_0x80e49d>0x0?{'targetId':_0x80e49d}:{}}});}const _0x1ba48c=await readAndVerifyCreatedMenu({'appCode':_0xf2b1e6['appCode'],'cookie':_0xf2b1e6['cookie'],'plan':_0x219288,'afterPlan':_0xa55ce0,'createdId':_0x80e49d,'expectedPath':_0x4673ff,'lookupCommand':_0x4ff76b,'recovered':![]});return creationSuccess(_0x219288,_0x1ba48c[_0x45183e(0x111)],_0x1ba48c[_0x45183e(0x164)],![]);}};function validateAddInput(_0x3947da){const _0x43cc6d=a109_0x4864dc;if(!_0x3947da['str'](_0x43cc6d(0xd6))[_0x43cc6d(0x12c)]())throw CliErrors[_0x43cc6d(0x12b)](_0x43cc6d(0xd6));resolveExternalMenuType(_0x3947da),validateExternalMenuUrl(_0x3947da[_0x43cc6d(0xe2)](_0x43cc6d(0x11f))),parseParentId(_0x3947da,_0x43cc6d(0x15d)),validateSort(_0x3947da);}function resolveExternalMenuType(_0x3633a3){const _0x45e452=a109_0x4864dc,_0x50a14c=_0x3633a3[_0x45e452(0xe2)]('open-mode')[_0x45e452(0x12c)]();if(!_0x50a14c)throw CliErrors[_0x45e452(0x12b)](_0x45e452(0x105));const _0x29ee76=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0x50a14c];if(!_0x29ee76)throw menuError(_0x45e452(0x107),_0x45e452(0xd7),_0x45e452(0x12e));return _0x29ee76;}async function buildAddPlan(_0x22fa20,_0x226be6){const _0x2958e2=a109_0x4864dc,_0x15c685=await fetchMutationSnapshot(_0x22fa20,_0x2958e2(0x135)),_0x367ea7=parseParentId(_0x22fa20,_0x2958e2(0x15d))??null;if(_0x367ea7!=null)requireFolder(_0x15c685,_0x367ea7);const _0x1e732f=validateSort(_0x22fa20),_0x3ddd35=_0x1e732f??nextSiblingSort(_0x15c685,_0x367ea7,'menu'),_0x37a95e=_0x22fa20['str'](_0x2958e2(0xd6))['trim'](),_0x5be8c3=resolveExternalMenuType(_0x22fa20),_0x5fe1d1=validateExternalMenuUrl(_0x22fa20['str']('url')),_0x567c05=Object[_0x2958e2(0x14e)]['hasOwnProperty'][_0x2958e2(0xdc)](_0x22fa20['rawFlags'],_0x2958e2(0x12d))?_0x22fa20['bool']('visible'):!![],_0x1abcb6={'id':null,'parentId':_0x367ea7,'label':_0x37a95e,'path':_0x2958e2(0xf6),'url':_0x5fe1d1,'type':_0x5be8c3,'visible':_0x567c05,'sort':_0x3ddd35},_0x358032=buildMenuLookupCommand(_0x22fa20[_0x2958e2(0x150)]),_0x49b10e=mutationResult({'operation':_0x2958e2(0x14d),'selector':{'parentId':_0x367ea7,'type':_0x5be8c3,'label':_0x37a95e,'url':_0x5fe1d1},'before':null,'after':_0x1abcb6,'dryRun':_0x226be6,'backend':[{'method':_0x2958e2(0x127),'path':_0x2958e2(0x141)}],'plannedActions':[{'stage':_0x2958e2(0xd8),'method':_0x2958e2(0x127),'path':_0x2958e2(0x141),'body':createBody(_0x1abcb6)}],'snapshotHash':_0x15c685[_0x2958e2(0x10e)],'warnings':[_0x2958e2(0x11b)],'verification':{'lookupCommand':_0x358032}});return{'plan':_0x49b10e,'snapshot':_0x15c685};}async function buildSafeAddPlan(_0x4f77eb,_0x4624cb){try{return await buildAddPlan(_0x4f77eb,_0x4624cb);}catch(_0xe46995){throw safeMenuAddError(_0xe46995);}}function a109_0x5158(_0x294ddb,_0x34c5b6){_0x294ddb=_0x294ddb-0xd5;const _0x4186b0=a109_0x4186();let _0x51587a=_0x4186b0[_0x294ddb];return _0x51587a;}async function recheckAddSnapshot(_0x45d269,_0x43d7ea){const _0x36ed26=a109_0x4864dc;try{await recheckMutationSnapshot(_0x45d269,_0x43d7ea,_0x36ed26(0x135));}catch(_0x11cff1){const _0x2c622c=getFailureRecord(_0x11cff1);throw externalLinkCreateFailure(_0x11cff1,_0x43d7ea,{'stage':_0x36ed26(0xf4),'failed':{..._0x2c622c?.['expectedSnapshotHash']?{'expectedSnapshotHash':_0x2c622c['expectedSnapshotHash']}:{},..._0x2c622c?.['currentSnapshotHash']?{'currentSnapshotHash':_0x2c622c['currentSnapshotHash']}:{}}});}}function createBody(_0x29d3c4){const _0x3c16e7=a109_0x4864dc;return{'parentId':toApiParentId(_0x29d3c4[_0x3c16e7(0xdd)]),'label':String(_0x29d3c4[_0x3c16e7(0xd6)]),'type':String(_0x29d3c4[_0x3c16e7(0xf9)]),'url':String(_0x29d3c4[_0x3c16e7(0x11f)]),'visible':Boolean(_0x29d3c4[_0x3c16e7(0x12d)]),'sort':Number(_0x29d3c4[_0x3c16e7(0x10a)]),'extend':{}};}function buildMenuLookupCommand(_0x526e6a){const _0x3aa5e6=a109_0x4864dc,_0x314a2e='\x27'+_0x526e6a[_0x3aa5e6(0xe7)](/'/g,'\x27\x5c\x27\x27')+'\x27';return _0x3aa5e6(0x143)+_0x314a2e+_0x3aa5e6(0xe8);}function a109_0x4186(){const _0x20535a=['protocol','fact','menu_sort_overflow','rawerror','label','--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.','create-menu','parent','\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.','plan','call','parentId','menu_url_credentials_forbidden','embedded','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.','create-recovery','str','\x20with\x20','createdId','External\x20menu\x20creation\x20failed.','get','replace','\x20--format\x20compress','iframe','\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.','after','selector','username','menu_url_https_required','length','afterPlan','\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.','toLowerCase','create','pre-write-recheck','byId','<platform-generated>','filter','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.','type','includes','menu_url_invalid','isArray','2XngpXW','failed','\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.','expectedPath','lookupCommand','How\x20to\x20open\x20the\x20external\x20website','15ETzycW','data','open-mode','has','menu_open_mode_invalid','path','password','sort','map','menu_verification_failed','2792704aqonhk','hash','4882113gkJpwH','code','snapshot','The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.','Created\x20external\x20menu\x20','The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.','\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.','Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.','Whether\x20the\x20menu\x20is\x20visible','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.','\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.','visibility','The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','616347TOwFhz','\x20could\x20not\x20be\x20verified.','verification','url','119492ZIMYex','stringify','menu\x20list','413945zKEYRA','https:','readbackerror','\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.','POST','cause','\x20after\x20response\x20loss.','object','flagMissing','trim','visible','Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.','Recovered\x20menu\x20','create-response-validation','Created\x20menu\x20','External\x20menu\x20URL\x20must\x20use\x20HTTPS.','51873uDsuPB','Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.','create\x20external\x20menu','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.','menu_create_recovery_required','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.','fromEntries','string','recovered','menu_sort_invalid','Menu\x20','\x20has\x20an\x20unexpected\x20','menu','menu_permission_denied','/smartapi/menu/create','Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.','rabetbase\x20menu\x20list\x20--appcode\x20','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.','External\x20HTTPS\x20URL','link','\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.','External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.','Run\x20','entries','causemessage','boolean','add','prototype','new-window','appCode','Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.','isSafeInteger','menu_parent_not_folder','680hvcPUS','Create\x20an\x20external\x20website\x20link\x20menu','\x20has\x20an\x20unexpected\x20generated\x20path.','Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.','30HvaYmJ','menu_create_response_invalid','succeeded','plannedActions','cookie','parent-id','\x20is\x20missing\x20from\x20final\x20menu\x20facts.','42449gbTxJV','menu_mutation_failed','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.','Recovered\x20created\x20external\x20menu\x20'];a109_0x4186=function(){return _0x20535a;};return a109_0x4186();}async function recoverAfterResponseLoss(_0x1f84de,_0x212592,_0x131d8a){const _0x20212f=a109_0x4864dc,{plan:_0x4b8b9b,snapshot:_0x59352b}=_0x212592,_0x4a218d=_0x4b8b9b[_0x20212f(0xeb)];let _0x5ef15e;try{_0x5ef15e=await fetchMenuSnapshot(_0x1f84de[_0x20212f(0x150)],_0x1f84de[_0x20212f(0x15c)]);}catch(_0x4ccc03){throw recoveryRequiredFailure(_0x4b8b9b,_0x131d8a,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0x239deb=_0x5ef15e['menus'][_0x20212f(0xf7)](_0x16f4fc=>_0x16f4fc[_0x20212f(0xdd)]===_0x4a218d['parentId']&&_0x16f4fc[_0x20212f(0xf9)]===_0x4a218d[_0x20212f(0xf9)]&&_0x16f4fc[_0x20212f(0xd6)]===_0x4a218d[_0x20212f(0xd6)]&&_0x16f4fc['url']===_0x4a218d['url']),_0x4c7514=_0x239deb[_0x20212f(0xf7)](_0x387270=>!_0x59352b[_0x20212f(0xf5)]['has'](_0x387270['id'])),_0x1fed18=_0x239deb[_0x20212f(0xf7)](_0x781f34=>_0x59352b['byId'][_0x20212f(0x106)](_0x781f34['id']));if(_0x239deb[_0x20212f(0xef)]!==0x1||_0x4c7514[_0x20212f(0xef)]!==0x1)throw recoveryRequiredFailure(_0x4b8b9b,_0x131d8a,{'matchCount':_0x239deb['length'],'newMatchCount':_0x4c7514[_0x20212f(0xef)],'preexistingMatchCount':_0x1fed18['length']});const _0x189642=_0x4c7514[0x0];try{verifyCreatedFact(_0x189642,_0x189642['id'],_0x4a218d,null);}catch(_0x323d74){const _0x4b0168=_0x323d74 instanceof Error&&_0x20212f(0x110)in _0x323d74?_0x323d74:menuError('menu_verification_failed',_0x20212f(0x12f)+_0x189642['id']+_0x20212f(0x11d),_0x20212f(0x149)+_0x131d8a+_0x20212f(0x147));throw externalLinkCreateFailure(_0x4b0168,_0x4b8b9b,{'stage':_0x20212f(0x11e),'succeeded':[{'id':_0x189642['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0x189642['id'],'finalFactsConfirmed':![]},'after':_0x189642,'warnings':[_0x20212f(0x13d)+_0x189642['id']+_0x20212f(0x126)],'verification':{'status':_0x20212f(0xfe),'targetId':_0x189642['id'],'recovered':!![],'lookupCommand':_0x131d8a}});}return creationSuccess(_0x4b8b9b,_0x5ef15e,_0x189642,!![]);}function recoveryRequiredFailure(_0x1eda32,_0x564fe8,_0x2d490e){const _0x3ed107=a109_0x4864dc,_0x4108d5=menuError(_0x3ed107(0x137),_0x3ed107(0x114),'Run\x20'+_0x564fe8+_0x3ed107(0x119));return externalLinkCreateFailure(_0x4108d5,_0x1eda32,{'stage':_0x3ed107(0xe1),'failed':_0x2d490e,'warnings':[_0x3ed107(0x112)],'verification':{'status':_0x3ed107(0xfe),..._0x2d490e,'lookupCommand':_0x564fe8}});}async function readAndVerifyCreatedMenu(_0xdef9df){const _0x891247=a109_0x4864dc;let _0x26c3dd;try{_0x26c3dd=await fetchMenuSnapshot(_0xdef9df[_0x891247(0x150)],_0xdef9df[_0x891247(0x15c)]);}catch(_0x455727){const _0x236f33=menuError(_0x891247(0x10c),_0x891247(0x13d)+_0xdef9df['createdId']+_0x891247(0xda),_0x891247(0x149)+_0xdef9df['lookupCommand']+_0x891247(0xea));throw externalLinkCreateFailure(_0x236f33,_0xdef9df[_0x891247(0xdb)],{'stage':_0x891247(0x11e),'succeeded':[{'id':_0xdef9df['createdId'],'created':!![]}],'failed':{'id':_0xdef9df[_0x891247(0xe4)],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0xdef9df[_0x891247(0xf0)],'id':_0xdef9df[_0x891247(0xe4)],'path':_0xdef9df['expectedPath']},'warnings':[_0x891247(0x13d)+_0xdef9df[_0x891247(0xe4)]+_0x891247(0xf1)],'verification':{'status':'failed','targetId':_0xdef9df[_0x891247(0xe4)],'lookupCommand':_0xdef9df['lookupCommand']}});}const _0x435433=_0x26c3dd[_0x891247(0xf5)][_0x891247(0xe6)](_0xdef9df[_0x891247(0xe4)]);try{if(!_0x435433)throw menuError('menu_verification_failed',_0x891247(0x131)+_0xdef9df['createdId']+_0x891247(0x15e),_0x891247(0x149)+_0xdef9df[_0x891247(0x101)]+'\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.');verifyCreatedFact(_0x435433,_0xdef9df[_0x891247(0xe4)],_0xdef9df[_0x891247(0xf0)],_0xdef9df[_0x891247(0x100)]);}catch(_0x257cbb){const _0x3b75bc=_0x257cbb instanceof Error&&_0x891247(0x110)in _0x257cbb?_0x257cbb:menuError(_0x891247(0x10c),_0x891247(0x131)+_0xdef9df[_0x891247(0xe4)]+'\x20failed\x20final\x20verification.',_0x891247(0x149)+_0xdef9df[_0x891247(0x101)]+'\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.');throw externalLinkCreateFailure(_0x3b75bc,_0xdef9df[_0x891247(0xdb)],{'stage':'verification','succeeded':[{'id':_0xdef9df[_0x891247(0xe4)],'created':!![]}],'failed':{'id':_0xdef9df['createdId'],'finalFactsConfirmed':![]},'after':_0x435433??{..._0xdef9df[_0x891247(0xf0)],'id':_0xdef9df['createdId'],'path':_0xdef9df['expectedPath']},'warnings':['Menu\x20'+_0xdef9df[_0x891247(0xe4)]+'\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.'],'verification':{'status':_0x891247(0xfe),'targetId':_0xdef9df['createdId'],'recovered':_0xdef9df[_0x891247(0x13b)],'lookupCommand':_0xdef9df[_0x891247(0x101)]}});}return{'snapshot':_0x26c3dd,'fact':_0x435433};}function verifyCreatedFact(_0x4c6c90,_0x44c6e6,_0x2d117a,_0x2628f4){const _0x3ed332=a109_0x4864dc;if(!Number[_0x3ed332(0x152)](_0x4c6c90['id'])||_0x4c6c90['id']<=0x0||_0x4c6c90['id']!==_0x44c6e6)throw menuError(_0x3ed332(0x10c),_0x3ed332(0x134),'Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.');const _0x141a1a=[[_0x3ed332(0xd9),_0x4c6c90['parentId'],_0x2d117a['parentId']],['type',_0x4c6c90[_0x3ed332(0xf9)],_0x2d117a[_0x3ed332(0xf9)]],['label',_0x4c6c90[_0x3ed332(0xd6)],_0x2d117a[_0x3ed332(0xd6)]],['URL',_0x4c6c90[_0x3ed332(0x11f)],_0x2d117a[_0x3ed332(0x11f)]],[_0x3ed332(0x11a),_0x4c6c90[_0x3ed332(0x12d)],_0x2d117a[_0x3ed332(0x12d)]],[_0x3ed332(0x10a),_0x4c6c90[_0x3ed332(0x10a)],_0x2d117a[_0x3ed332(0x10a)]]];for(const [_0xe45adb,_0x28e33c,_0x5ea319]of _0x141a1a){if(_0x28e33c!==_0x5ea319)throw menuError(_0x3ed332(0x10c),'Created\x20menu\x20'+_0x4c6c90['id']+_0x3ed332(0x13e)+_0xe45adb+'.',_0x3ed332(0x144));}if(!_0x4c6c90[_0x3ed332(0x108)]['trim']()||_0x2628f4!==null&&_0x4c6c90[_0x3ed332(0x108)]!==_0x2628f4)throw menuError('menu_verification_failed','Created\x20menu\x20'+_0x4c6c90['id']+_0x3ed332(0x156),_0x3ed332(0x144));}function creationSuccess(_0x25593c,_0x54fb48,_0x2d0347,_0x2ffb30){const _0x11fbc8=a109_0x4864dc,_0x1e63e6=mutationResult({..._0x25593c,'after':_0x2d0347,'dryRun':![],'succeeded':[{'id':_0x2d0347['id'],'created':!![],'recovered':_0x2ffb30}],'verification':{'checkedBy':_0x11fbc8(0x122),'snapshotHash':_0x54fb48[_0x11fbc8(0x10e)],'targetId':_0x2d0347['id'],'recovered':_0x2ffb30,'path':_0x2d0347['path']}});return{'ok':!![],'message':_0x2ffb30?_0x11fbc8(0x162)+_0x2d0347['id']+_0x11fbc8(0x129):_0x11fbc8(0x113)+_0x2d0347['id']+'.','data':{..._0x1e63e6,'recovered':_0x2ffb30}};}function externalLinkCreateFailure(_0x43c486,_0x364737,_0x338465){const _0x50f6e2=a109_0x4864dc;return menuFailure(safeMenuAddError(_0x43c486),redactFailurePlan(_0x364737),{..._0x338465,'succeeded':_0x338465['succeeded']?.[_0x50f6e2(0x10b)](redactFailureRecord),'failed':_0x338465['failed']?redactFailureRecord(_0x338465[_0x50f6e2(0xfe)]):undefined,'verification':_0x338465[_0x50f6e2(0x11e)]?redactFailureRecord(_0x338465[_0x50f6e2(0x11e)]):undefined,'after':_0x338465[_0x50f6e2(0xeb)]===undefined?undefined:redactFailureValue(_0x338465['after'])});}function redactFailurePlan(_0x4da5ae){const _0x5431c9=a109_0x4864dc;return{..._0x4da5ae,'selector':redactFailureRecord(_0x4da5ae[_0x5431c9(0xec)]),'before':redactFailureValue(_0x4da5ae['before']),'after':redactFailureValue(_0x4da5ae[_0x5431c9(0xeb)]),'plannedActions':_0x4da5ae[_0x5431c9(0x15b)]?.[_0x5431c9(0x10b)](_0x22092f=>({..._0x22092f,'body':redactFailureRecord(_0x22092f['body'])})),'succeeded':_0x4da5ae[_0x5431c9(0x15a)][_0x5431c9(0x10b)](redactFailureRecord),'failed':_0x4da5ae[_0x5431c9(0xfe)][_0x5431c9(0x10b)](redactFailureRecord),'verification':_0x4da5ae[_0x5431c9(0x11e)]?redactFailureRecord(_0x4da5ae[_0x5431c9(0x11e)]):undefined};}function redactFailureRecord(_0x595e3a){return redactFailureValue(_0x595e3a);}function redactFailureValue(_0x49c2cb,_0x132697=''){const _0x59d13f=a109_0x4864dc,_0x1edf18=_0x132697[_0x59d13f(0xf2)]()['replace'](/[^a-z0-9]/g,'');if([_0x59d13f(0x128),_0x59d13f(0x14b),_0x59d13f(0x125),_0x59d13f(0xd5)][_0x59d13f(0xfa)](_0x1edf18))return'<redacted>';if(Array[_0x59d13f(0xfc)](_0x49c2cb))return _0x49c2cb[_0x59d13f(0x10b)](_0x20173a=>redactFailureValue(_0x20173a));if(_0x49c2cb&&typeof _0x49c2cb==='object')return Object[_0x59d13f(0x139)](Object[_0x59d13f(0x14a)](_0x49c2cb)[_0x59d13f(0x10b)](([_0x4acae7,_0x115b32])=>[_0x4acae7,redactFailureValue(_0x115b32,_0x4acae7)]));return _0x49c2cb;}function safeMenuAddError(_0x4f9dbd){const _0x26757e=a109_0x4864dc,_0x50394a=_0x4f9dbd instanceof CliError?_0x4f9dbd[_0x26757e(0x110)]:_0x26757e(0x160);switch(_0x50394a){case'menu_state_drift':return menuError(_0x50394a,_0x26757e(0x142),_0x26757e(0x136));case _0x26757e(0x140):return menuError(_0x50394a,_0x26757e(0x157),_0x26757e(0xf8));case _0x26757e(0x159):return menuError(_0x50394a,'Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.');case'menu_verification_failed':return menuError(_0x50394a,'Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.',_0x26757e(0x118));case _0x26757e(0x137):return menuError(_0x50394a,'The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.',_0x26757e(0xe0));case'menu_mutation_failed':case'menu_not_found':case _0x26757e(0x153):case _0x26757e(0x13c):case _0x26757e(0x165):return menuError(_0x50394a,_0x26757e(0xe5),'Inspect\x20current\x20menu\x20facts\x20before\x20retrying.');default:return menuError('menu_mutation_failed',_0x26757e(0xe5),_0x26757e(0x161));}}function getFailureRecord(_0x58a408){const _0x55f6f6=a109_0x4864dc;if(!(_0x58a408 instanceof Error)||!(_0x55f6f6(0x104)in _0x58a408))return undefined;const _0x54fbb9=_0x58a408[_0x55f6f6(0x104)];if(!_0x54fbb9||typeof _0x54fbb9!==_0x55f6f6(0x12a))return undefined;const _0x5a1cae=_0x54fbb9[_0x55f6f6(0xfe)];if(!Array[_0x55f6f6(0xfc)](_0x5a1cae)||!_0x5a1cae[0x0]||typeof _0x5a1cae[0x0]!=='object')return undefined;return _0x5a1cae[0x0];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a104_0x2ce934=a104_0x1a7b;(function(_0x37494b,_0x47e3be){const _0x228318=a104_0x1a7b,_0x449a0f=_0x37494b();while(!![]){try{const _0x320815=parseInt(_0x228318(0x167))/0x1+parseInt(_0x228318(0x172))/0x2*(parseInt(_0x228318(0x152))/0x3)+parseInt(_0x228318(0x17b))/0x4+parseInt(_0x228318(0x175))/0x5*(parseInt(_0x228318(0x190))/0x6)+parseInt(_0x228318(0x191))/0x7*(parseInt(_0x228318(0x17a))/0x8)+parseInt(_0x228318(0x18c))/0x9+-parseInt(_0x228318(0x171))/0xa;if(_0x320815===_0x47e3be)break;else _0x449a0f['push'](_0x449a0f['shift']());}catch(_0x1edc4c){_0x449a0f['push'](_0x449a0f['shift']());}}}(a104_0x5d2a,0x923eb));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,requireExplicitYes,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a104_0x2ce934(0x19d),'path':a104_0x2ce934(0x166)}];export const menuExternalLinkUpdate={'service':a104_0x2ce934(0x182),'command':a104_0x2ce934(0x187),'description':a104_0x2ce934(0x168),'risk':'high-risk-write','structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':a104_0x2ce934(0x16b),'type':a104_0x2ce934(0x194),'required':!![],'description':a104_0x2ce934(0x15a)},{'name':'expect-url','type':a104_0x2ce934(0x194),'required':!![],'description':a104_0x2ce934(0x18f)},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x53699d){validateInput(_0x53699d),requireExplicitYes(_0x53699d);},async 'dryRun'(_0x495806){const _0x1056c0=a104_0x2ce934;validateInput(_0x495806);const _0x4ffb84=await buildPlan(_0x495806,!![]);return menuDryRunResult(_0x4ffb84[_0x1056c0(0x177)],{'method':_0x1056c0(0x19d),'url':_0x1056c0(0x166),'body':_0x4ffb84[_0x1056c0(0x19f)],'description':_0x1056c0(0x15f)+_0x4ffb84[_0x1056c0(0x19f)]['id']+'.'});},async 'execute'(_0x778b4c){const _0x2ff6a3=a104_0x2ce934;validateInput(_0x778b4c),requireExplicitYes(_0x778b4c);const _0x42d60f=await buildPlan(_0x778b4c,![]),{plan:_0x4b7f74,body:_0x563cf3,before:_0x222ecb,noChanges:_0x7dfdc4}=_0x42d60f,_0xd6f528=_0x563cf3['id'];if(_0x7dfdc4)return updateSuccess(_0x4b7f74,_0x42d60f['snapshot'],_0x222ecb,!![],![]);await recheckMutationSnapshot(_0x778b4c,_0x4b7f74,_0x2ff6a3(0x160),_0xd6f528);try{await updateMenuEntity(_0x778b4c[_0x2ff6a3(0x188)],_0x778b4c[_0x2ff6a3(0x198)],{'id':_0x563cf3['id'],'url':_0x563cf3['url']});}catch(_0x2d16df){const _0x1f7496=mapMenuApiError(_0x2d16df,_0x2ff6a3(0x160),_0xd6f528);if(isMenuResponseLoss(_0x2d16df)&&_0x1f7496[_0x2ff6a3(0x189)]!=='menu_permission_denied')return recoverAfterResponseLoss(_0x778b4c,_0x42d60f);throw menuFailure(_0x1f7496,_0x4b7f74,{'stage':_0x2ff6a3(0x161),'failed':{'id':_0xd6f528},'warnings':['The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':'failed','targetId':_0xd6f528,'lookupCommand':buildLookupCommand(_0x778b4c[_0x2ff6a3(0x188)])}});}let _0x318384,_0x458a1a;try{_0x318384=await fetchMenuSnapshot(_0x778b4c[_0x2ff6a3(0x188)],_0x778b4c[_0x2ff6a3(0x198)]),_0x458a1a=requireMenu(_0x318384,_0xd6f528),verifyUpdatedFact(_0x222ecb,_0x458a1a,_0x563cf3[_0x2ff6a3(0x16b)]);}catch(_0x23a227){const _0x1dc6dc=describeMenuErrorCause(_0x23a227,_0x2ff6a3(0x16a),_0xd6f528),_0x3526cc=asVerificationError(_0x23a227,_0x2ff6a3(0x195)+_0xd6f528+_0x2ff6a3(0x174));throw menuFailure(_0x3526cc,_0x4b7f74,{'stage':_0x2ff6a3(0x183),'succeeded':[{'id':_0xd6f528,'updateRequested':!![]}],'failed':{'id':_0xd6f528,'requestedStateConfirmed':![],..._0x1dc6dc},'warnings':[_0x2ff6a3(0x181)],'verification':{'status':_0x2ff6a3(0x173),'targetId':_0xd6f528,'lookupCommand':buildLookupCommand(_0x778b4c['appCode'])}});}return updateSuccess(_0x4b7f74,_0x318384,_0x458a1a,![],![]);}};function validateInput(_0x5860e9){const _0x485201=a104_0x2ce934;validateExactId(_0x5860e9),requiredUrl(_0x5860e9,_0x485201(0x16b)),requiredExpectedUrl(_0x5860e9),parseParentId(_0x5860e9,_0x485201(0x192),{'required':!![]});}function requiredUrl(_0x2da712,_0x196b27){const _0x12f56c=a104_0x2ce934;if(!hasFlag(_0x2da712,_0x196b27)||!_0x2da712[_0x12f56c(0x18b)](_0x196b27)[_0x12f56c(0x19c)]())throw CliErrors[_0x12f56c(0x178)](_0x196b27);return validateExternalMenuUrl(_0x2da712[_0x12f56c(0x18b)](_0x196b27));}function requiredExpectedUrl(_0x20c746){const _0x480720=a104_0x2ce934;if(!hasFlag(_0x20c746,'expect-url')||!_0x20c746[_0x480720(0x18b)]('expect-url')[_0x480720(0x19c)]())throw CliErrors['flagMissing'](_0x480720(0x169));return _0x20c746['str'](_0x480720(0x169))[_0x480720(0x19c)]();}function a104_0x1a7b(_0xf756ea,_0x6fec8d){_0xf756ea=_0xf756ea-0x150;const _0x5d2aa3=a104_0x5d2a();let _0x1a7b7e=_0x5d2aa3[_0xf756ea];return _0x1a7b7e;}async function buildPlan(_0x26b89b,_0x18975c){const _0x238c87=a104_0x2ce934,_0xa5454=validateExactId(_0x26b89b),_0x4e2db0=requiredUrl(_0x26b89b,_0x238c87(0x16b)),_0x266432=requiredExpectedUrl(_0x26b89b),_0x4406cb=parseParentId(_0x26b89b,'expect-parent-id',{'required':!![]}),_0x2bfabb=await fetchMutationSnapshot(_0x26b89b,'update\x20external\x20menu\x20URL',_0xa5454),_0x1bc7a=requireMenu(_0x2bfabb,_0xa5454);assertExternalLinkLeaf(_0x1bc7a);if(_0x1bc7a[_0x238c87(0x196)]!==_0x4406cb)throw menuError('menu_state_drift',_0x238c87(0x180)+_0xa5454+_0x238c87(0x155)+formatParent(_0x4406cb)+_0x238c87(0x151)+formatParent(_0x1bc7a[_0x238c87(0x196)])+'.',_0x238c87(0x154));const _0x5e575e=_0x1bc7a[_0x238c87(0x16b)]===_0x4e2db0;if(!_0x5e575e&&_0x1bc7a[_0x238c87(0x16b)]!==_0x266432)throw menuError(_0x238c87(0x17f),'Menu\x20'+_0xa5454+_0x238c87(0x19b),_0x238c87(0x16f));const _0x9bf97c={'id':_0xa5454,'appCode':_0x26b89b[_0x238c87(0x188)],'url':_0x4e2db0},_0x42b31f={..._0x1bc7a,'url':_0x4e2db0};return{'body':_0x9bf97c,'before':_0x1bc7a,'noChanges':_0x5e575e,'snapshot':_0x2bfabb,'plan':mutationResult({'operation':'external-link-update','selector':{'id':_0xa5454},'before':_0x1bc7a,'after':_0x42b31f,'dryRun':_0x18975c,'backend':[...BACKEND],'plannedActions':_0x5e575e?[]:[{'stage':_0x238c87(0x18a),'method':_0x238c87(0x19d),'path':'/smartapi/menu/update','body':_0x9bf97c}],'snapshotHash':_0x2bfabb[_0x238c87(0x17e)],'warnings':_0x5e575e?[_0x238c87(0x185)]:[]})};}function assertExternalLinkLeaf(_0xb668ba){const _0x3b5133=a104_0x2ce934;if(_0xb668ba[_0x3b5133(0x165)]!==_0x3b5133(0x170)&&_0xb668ba[_0x3b5133(0x165)]!==_0x3b5133(0x162))throw menuError('menu_external_link_type_required',_0x3b5133(0x180)+_0xb668ba['id']+_0x3b5133(0x18e)+(_0xb668ba[_0x3b5133(0x165)]||_0x3b5133(0x184))+_0x3b5133(0x176),_0x3b5133(0x163));if(_0xb668ba[_0x3b5133(0x150)]!==0x0)throw menuError(_0x3b5133(0x15b),'Menu\x20'+_0xb668ba['id']+_0x3b5133(0x156)+_0xb668ba['childrenCount']+_0x3b5133(0x157),'External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.');if(!_0xb668ba[_0x3b5133(0x193)][_0x3b5133(0x19c)]())throw menuError(_0x3b5133(0x197),_0x3b5133(0x180)+_0xb668ba['id']+'\x20has\x20an\x20empty\x20platform\x20path.',_0x3b5133(0x159));}function verifyUpdatedFact(_0x7c32d0,_0x3d6eac,_0x14877d){const _0x4d5ca0=a104_0x2ce934;assertExternalLinkLeaf(_0x3d6eac);const _0x4c1b2f=[['id',_0x3d6eac['id'],_0x7c32d0['id']],[_0x4d5ca0(0x15e),_0x3d6eac[_0x4d5ca0(0x15e)],_0x7c32d0['label']],['type',_0x3d6eac[_0x4d5ca0(0x165)],_0x7c32d0['type']],[_0x4d5ca0(0x193),_0x3d6eac[_0x4d5ca0(0x193)],_0x7c32d0[_0x4d5ca0(0x193)]],[_0x4d5ca0(0x196),_0x3d6eac[_0x4d5ca0(0x196)],_0x7c32d0[_0x4d5ca0(0x196)]],[_0x4d5ca0(0x164),_0x3d6eac['sort'],_0x7c32d0[_0x4d5ca0(0x164)]],[_0x4d5ca0(0x19e),_0x3d6eac['visible'],_0x7c32d0[_0x4d5ca0(0x19e)]]];for(const [_0x199611,_0x4f41b1,_0x34fb40]of _0x4c1b2f){assertVerified(_0x4f41b1===_0x34fb40,_0x4d5ca0(0x180)+_0x7c32d0['id']+'\x20'+_0x199611+'\x20changed\x20during\x20the\x20URL-only\x20update.');}assertVerified(_0x3d6eac[_0x4d5ca0(0x16b)]===_0x14877d,'Menu\x20'+_0x7c32d0['id']+'\x20URL\x20update\x20did\x20not\x20take\x20effect.');}function updateSuccess(_0x134a90,_0x2615f1,_0x4c957c,_0x20ffba,_0x491556){const _0x4f292c=a104_0x2ce934,_0x175732=_0x4c957c['id'],_0x3720a6=mutationResult({..._0x134a90,'after':_0x4c957c,'dryRun':![],'succeeded':[{'id':_0x175732,'updated':!_0x20ffba,'skipped':_0x20ffba,'recovered':_0x491556}],'verification':{'checkedBy':_0x4f292c(0x16d),'snapshotHash':_0x2615f1['hash'],'targetId':_0x175732,'matchesRequestedState':!![],'recovered':_0x491556}});return{'ok':!![],'message':_0x491556?_0x4f292c(0x158)+_0x175732+'.':_0x20ffba?_0x4f292c(0x180)+_0x175732+'\x20already\x20matches\x20the\x20requested\x20URL.':_0x4f292c(0x18d)+_0x175732+'.','data':{..._0x3720a6,'recovered':_0x491556}};}async function recoverAfterResponseLoss(_0x1f653c,_0x37d65f){const _0xa8e0d4=a104_0x2ce934,{plan:_0x3dd915,before:_0x259a9c,body:_0x1acde5}=_0x37d65f;let _0x47a1b1;try{_0x47a1b1=await fetchMenuSnapshot(_0x1f653c[_0xa8e0d4(0x188)],_0x1f653c[_0xa8e0d4(0x198)]);}catch{throw recoveryRequired(_0x3dd915,_0x1f653c['appCode'],{'id':_0x1acde5['id'],'readbackFailed':!![]});}const _0x1b9744=_0x47a1b1['byId']['get'](_0x1acde5['id']);if(!_0x1b9744||_0x1b9744['url']!==_0x1acde5[_0xa8e0d4(0x16b)])throw recoveryRequired(_0x3dd915,_0x1f653c[_0xa8e0d4(0x188)],{'id':_0x1acde5['id'],'requestedUrlObserved':![],'after':_0x1b9744??null});try{verifyUpdatedFact(_0x259a9c,_0x1b9744,_0x1acde5['url']);}catch(_0x2d609f){const _0xd20e50=asVerificationError(_0x2d609f,_0xa8e0d4(0x153)+_0x1acde5['id']+'\x20could\x20not\x20be\x20verified\x20safely');throw menuFailure(_0xd20e50,_0x3dd915,{'stage':_0xa8e0d4(0x19a),'succeeded':[{'id':_0x1acde5['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x1acde5['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x1b9744,'warnings':['The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.'],'verification':{'status':_0xa8e0d4(0x173),'targetId':_0x1acde5['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x1f653c['appCode'])}});}return updateSuccess(_0x3dd915,_0x47a1b1,_0x1b9744,![],!![]);}function recoveryRequired(_0x1ae1d4,_0x13d71b,_0x134cf5){const _0x4f5e77=a104_0x2ce934,_0x885e8e=menuError('menu_update_recovery_required','The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.',_0x4f5e77(0x16c)+buildLookupCommand(_0x13d71b)+_0x4f5e77(0x15d));return menuFailure(_0x885e8e,_0x1ae1d4,{'stage':_0x4f5e77(0x19a),'failed':{'id':_0x134cf5['id'],..._0x134cf5[_0x4f5e77(0x179)]===undefined?{}:{'requestedUrlObserved':_0x134cf5[_0x4f5e77(0x179)]},..._0x134cf5[_0x4f5e77(0x17d)]?{'readbackFailed':!![]}:{}},'after':_0x134cf5['after'],'warnings':[_0x4f5e77(0x186)],'verification':{'status':_0x4f5e77(0x173),'targetId':_0x134cf5['id'],..._0x134cf5[_0x4f5e77(0x179)]===undefined?{}:{'requestedUrlObserved':_0x134cf5[_0x4f5e77(0x179)]},..._0x134cf5[_0x4f5e77(0x17d)]?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x13d71b)}});}function a104_0x5d2a(){const _0x135a29=['Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.','iframe','37336380UgXzGR','2ApnzFK','failed','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','5NbkoMZ','\x22,\x20not\x20iframe\x20or\x20link.','plan','flagMissing','requestedUrlObserved','8MkKeMz','3754096QInNQl','rabetbase\x20menu\x20list\x20--appcode\x20','readbackFailed','hash','menu_state_drift','Menu\x20','The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','menu','verification','unknown','The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.','The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.','external-link-update','appCode','code','update-external-link-url','str','6526566VWKmZv','Updated\x20external\x20URL\x20for\x20menu\x20','\x20is\x20type\x20\x22','Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed','5875950fyKXmj','2191966OkjSul','expect-parent-id','path','string','Update\x20request\x20for\x20menu\x20','parentId','menu_external_link_path_missing','cookie','\x27\x5c\x27\x27','update-recovery','\x20URL\x20no\x20longer\x20matches\x20--expect-url.','trim','POST','visible','body','childrenCount',',\x20current\x20','3041586OMSKIb','Response\x20was\x20lost\x20and\x20menu\x20','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','\x20parent\x20changed:\x20expected\x20','\x20has\x20','\x20direct\x20child\x20menu(s).','Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20','Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.','New\x20external\x20HTTPS\x20URL','menu_external_link_not_leaf','\x20--format\x20compress','\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.','label','Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20','update\x20external\x20menu\x20URL','update','link','Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.','sort','type','/smartapi/menu/update','362634ZchFZv','Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','expect-url','verify\x20external\x20menu\x20URL\x20update','url','Run\x20','menu\x20list','replace'];a104_0x5d2a=function(){return _0x135a29;};return a104_0x5d2a();}function buildLookupCommand(_0x5b21f4){const _0x13927c=a104_0x2ce934,_0x18ee17='\x27'+_0x5b21f4[_0x13927c(0x16e)](/'/g,_0x13927c(0x199))+'\x27';return _0x13927c(0x17c)+_0x18ee17+_0x13927c(0x15c);}
|
|
1
|
+
const a110_0x1d413b=a110_0x2e5f;(function(_0x12351d,_0x3f88cf){const _0x821ebf=a110_0x2e5f,_0x45d750=_0x12351d();while(!![]){try{const _0x1f025d=-parseInt(_0x821ebf(0x11a))/0x1*(parseInt(_0x821ebf(0xe8))/0x2)+-parseInt(_0x821ebf(0xff))/0x3+parseInt(_0x821ebf(0xf9))/0x4+-parseInt(_0x821ebf(0xd6))/0x5*(-parseInt(_0x821ebf(0xf4))/0x6)+-parseInt(_0x821ebf(0xf2))/0x7+parseInt(_0x821ebf(0xe5))/0x8+parseInt(_0x821ebf(0xd4))/0x9;if(_0x1f025d===_0x3f88cf)break;else _0x45d750['push'](_0x45d750['shift']());}catch(_0x4d3eb7){_0x45d750['push'](_0x45d750['shift']());}}}(a110_0x22e3,0x6af5e));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,requireExplicitYes,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a110_0x1d413b(0xe9),'path':'/smartapi/menu/update'}];function a110_0x22e3(){const _0x284292=['trim','snapshot','Updated\x20external\x20URL\x20for\x20menu\x20','unknown','code','5421899nVlbGk','label','25698SDYLVj','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','menu','str','menu_external_link_path_missing','2961224YmIztW','high-risk-write','Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.','path','\x20already\x20matches\x20the\x20requested\x20URL.','798591YncKyH','menu_permission_denied','iframe','\x20parent\x20changed:\x20expected\x20','failed','parentId','\x20--format\x20compress','replace','Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20','plan','Menu\x20','Response\x20was\x20lost\x20and\x20menu\x20','string','hash','readbackFailed','childrenCount','expect-parent-id','link','visible','body','The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.','\x27\x5c\x27\x27','\x20could\x20not\x20be\x20verified\x20safely','\x20is\x20type\x20\x22','The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.','New\x20external\x20HTTPS\x20URL','The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','4Sdfjyj','The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.','expect-url','menu_external_link_not_leaf','requestedUrlObserved','The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.','update-recovery','sort','\x20has\x20an\x20empty\x20platform\x20path.','menu\x20list','7902063qxnYxN','appCode','175KERhbp',',\x20current\x20','type','external-link-update','byId','update','\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.','menu_update_recovery_required','Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20','cookie','url','menu_state_drift','flagMissing','Update\x20request\x20for\x20menu\x20','\x20has\x20','4306704DSgydP','\x20direct\x20child\x20menu(s).','Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.','413846XMktcj','POST','update\x20external\x20menu\x20URL','The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','menu_external_link_type_required'];a110_0x22e3=function(){return _0x284292;};return a110_0x22e3();}export const menuExternalLinkUpdate={'service':a110_0x1d413b(0xf6),'command':a110_0x1d413b(0xd9),'description':a110_0x1d413b(0xfb),'risk':a110_0x1d413b(0xfa),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':a110_0x1d413b(0xe0),'type':'string','required':!![],'description':a110_0x1d413b(0x118)},{'name':a110_0x1d413b(0x11c),'type':a110_0x1d413b(0x10b),'required':!![],'description':'Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed'},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x41fa5e){validateInput(_0x41fa5e),requireExplicitYes(_0x41fa5e);},async 'dryRun'(_0x2ebce9){const _0x3171d1=a110_0x1d413b;validateInput(_0x2ebce9);const _0x1f9968=await buildPlan(_0x2ebce9,!![]);return menuDryRunResult(_0x1f9968[_0x3171d1(0x108)],{'method':_0x3171d1(0xe9),'url':'/smartapi/menu/update','body':_0x1f9968[_0x3171d1(0x112)],'description':_0x3171d1(0xde)+_0x1f9968['body']['id']+'.'});},async 'execute'(_0x1e2236){const _0x5be5e8=a110_0x1d413b;validateInput(_0x1e2236),requireExplicitYes(_0x1e2236);const _0x293702=await buildPlan(_0x1e2236,![]),{plan:_0x52e4cd,body:_0x4b304d,before:_0x516d14,noChanges:_0x3c8732}=_0x293702,_0x5752d8=_0x4b304d['id'];if(_0x3c8732)return updateSuccess(_0x52e4cd,_0x293702[_0x5be5e8(0xee)],_0x516d14,!![],![]);await recheckMutationSnapshot(_0x1e2236,_0x52e4cd,_0x5be5e8(0xea),_0x5752d8);try{await updateMenuEntity(_0x1e2236['appCode'],_0x1e2236['cookie'],{'id':_0x4b304d['id'],'url':_0x4b304d[_0x5be5e8(0xe0)]});}catch(_0x26ab7f){const _0x3ea0e4=mapMenuApiError(_0x26ab7f,_0x5be5e8(0xea),_0x5752d8);if(isMenuResponseLoss(_0x26ab7f)&&_0x3ea0e4[_0x5be5e8(0xf1)]!==_0x5be5e8(0x100))return recoverAfterResponseLoss(_0x1e2236,_0x293702);throw menuFailure(_0x3ea0e4,_0x52e4cd,{'stage':_0x5be5e8(0xdb),'failed':{'id':_0x5752d8},'warnings':[_0x5be5e8(0xeb)],'verification':{'status':_0x5be5e8(0x103),'targetId':_0x5752d8,'lookupCommand':buildLookupCommand(_0x1e2236[_0x5be5e8(0xd5)])}});}let _0xffaa57,_0x26c400;try{_0xffaa57=await fetchMenuSnapshot(_0x1e2236[_0x5be5e8(0xd5)],_0x1e2236[_0x5be5e8(0xdf)]),_0x26c400=requireMenu(_0xffaa57,_0x5752d8),verifyUpdatedFact(_0x516d14,_0x26c400,_0x4b304d[_0x5be5e8(0xe0)]);}catch(_0x5708e8){const _0x1da1c5=describeMenuErrorCause(_0x5708e8,'verify\x20external\x20menu\x20URL\x20update',_0x5752d8),_0x4ddae8=asVerificationError(_0x5708e8,_0x5be5e8(0xe3)+_0x5752d8+'\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state');throw menuFailure(_0x4ddae8,_0x52e4cd,{'stage':'verification','succeeded':[{'id':_0x5752d8,'updateRequested':!![]}],'failed':{'id':_0x5752d8,'requestedStateConfirmed':![],..._0x1da1c5},'warnings':[_0x5be5e8(0x119)],'verification':{'status':_0x5be5e8(0x103),'targetId':_0x5752d8,'lookupCommand':buildLookupCommand(_0x1e2236['appCode'])}});}return updateSuccess(_0x52e4cd,_0xffaa57,_0x26c400,![],![]);}};function validateInput(_0x15ff56){const _0x143cab=a110_0x1d413b;validateExactId(_0x15ff56),requiredUrl(_0x15ff56,_0x143cab(0xe0)),requiredExpectedUrl(_0x15ff56),parseParentId(_0x15ff56,'expect-parent-id',{'required':!![]});}function requiredUrl(_0x3a1229,_0x5eaa91){const _0x14579d=a110_0x1d413b;if(!hasFlag(_0x3a1229,_0x5eaa91)||!_0x3a1229[_0x14579d(0xf7)](_0x5eaa91)[_0x14579d(0xed)]())throw CliErrors['flagMissing'](_0x5eaa91);return validateExternalMenuUrl(_0x3a1229[_0x14579d(0xf7)](_0x5eaa91));}function requiredExpectedUrl(_0x402620){const _0x115f86=a110_0x1d413b;if(!hasFlag(_0x402620,_0x115f86(0x11c))||!_0x402620[_0x115f86(0xf7)](_0x115f86(0x11c))[_0x115f86(0xed)]())throw CliErrors[_0x115f86(0xe2)](_0x115f86(0x11c));return _0x402620[_0x115f86(0xf7)](_0x115f86(0x11c))[_0x115f86(0xed)]();}async function buildPlan(_0xf81fd,_0x26ed9a){const _0x333d06=a110_0x1d413b,_0x2bc100=validateExactId(_0xf81fd),_0x5c6ab1=requiredUrl(_0xf81fd,_0x333d06(0xe0)),_0x3e9b29=requiredExpectedUrl(_0xf81fd),_0x504752=parseParentId(_0xf81fd,_0x333d06(0x10f),{'required':!![]}),_0x4ebc28=await fetchMutationSnapshot(_0xf81fd,_0x333d06(0xea),_0x2bc100),_0x13c281=requireMenu(_0x4ebc28,_0x2bc100);assertExternalLinkLeaf(_0x13c281);if(_0x13c281[_0x333d06(0x104)]!==_0x504752)throw menuError(_0x333d06(0xe1),_0x333d06(0x109)+_0x2bc100+_0x333d06(0x102)+formatParent(_0x504752)+_0x333d06(0xd7)+formatParent(_0x13c281[_0x333d06(0x104)])+'.',_0x333d06(0xf5));const _0x302974=_0x13c281[_0x333d06(0xe0)]===_0x5c6ab1;if(!_0x302974&&_0x13c281[_0x333d06(0xe0)]!==_0x3e9b29)throw menuError(_0x333d06(0xe1),'Menu\x20'+_0x2bc100+'\x20URL\x20no\x20longer\x20matches\x20--expect-url.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.');const _0x4898f0={'id':_0x2bc100,'appCode':_0xf81fd[_0x333d06(0xd5)],'url':_0x5c6ab1},_0x44ef5d={..._0x13c281,'url':_0x5c6ab1};return{'body':_0x4898f0,'before':_0x13c281,'noChanges':_0x302974,'snapshot':_0x4ebc28,'plan':mutationResult({'operation':_0x333d06(0xd9),'selector':{'id':_0x2bc100},'before':_0x13c281,'after':_0x44ef5d,'dryRun':_0x26ed9a,'backend':[...BACKEND],'plannedActions':_0x302974?[]:[{'stage':'update-external-link-url','method':_0x333d06(0xe9),'path':'/smartapi/menu/update','body':_0x4898f0}],'snapshotHash':_0x4ebc28[_0x333d06(0x10c)],'warnings':_0x302974?[_0x333d06(0x117)]:[]})};}function assertExternalLinkLeaf(_0x4b256d){const _0x23b8d6=a110_0x1d413b;if(_0x4b256d['type']!==_0x23b8d6(0x101)&&_0x4b256d[_0x23b8d6(0xd8)]!==_0x23b8d6(0x110))throw menuError(_0x23b8d6(0xec),_0x23b8d6(0x109)+_0x4b256d['id']+_0x23b8d6(0x116)+(_0x4b256d[_0x23b8d6(0xd8)]||_0x23b8d6(0xf0))+'\x22,\x20not\x20iframe\x20or\x20link.','Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.');if(_0x4b256d[_0x23b8d6(0x10e)]!==0x0)throw menuError(_0x23b8d6(0x11d),'Menu\x20'+_0x4b256d['id']+_0x23b8d6(0xe4)+_0x4b256d['childrenCount']+_0x23b8d6(0xe6),_0x23b8d6(0xfc));if(!_0x4b256d[_0x23b8d6(0xfd)][_0x23b8d6(0xed)]())throw menuError(_0x23b8d6(0xf8),_0x23b8d6(0x109)+_0x4b256d['id']+_0x23b8d6(0xd2),_0x23b8d6(0xe7));}function verifyUpdatedFact(_0x3f029b,_0x365e0a,_0x1cc620){const _0x474aca=a110_0x1d413b;assertExternalLinkLeaf(_0x365e0a);const _0x1fc291=[['id',_0x365e0a['id'],_0x3f029b['id']],[_0x474aca(0xf3),_0x365e0a[_0x474aca(0xf3)],_0x3f029b[_0x474aca(0xf3)]],[_0x474aca(0xd8),_0x365e0a[_0x474aca(0xd8)],_0x3f029b[_0x474aca(0xd8)]],[_0x474aca(0xfd),_0x365e0a['path'],_0x3f029b['path']],[_0x474aca(0x104),_0x365e0a['parentId'],_0x3f029b['parentId']],[_0x474aca(0xd1),_0x365e0a['sort'],_0x3f029b[_0x474aca(0xd1)]],[_0x474aca(0x111),_0x365e0a[_0x474aca(0x111)],_0x3f029b[_0x474aca(0x111)]]];for(const [_0xa99a38,_0x840182,_0xd96676]of _0x1fc291){assertVerified(_0x840182===_0xd96676,_0x474aca(0x109)+_0x3f029b['id']+'\x20'+_0xa99a38+'\x20changed\x20during\x20the\x20URL-only\x20update.');}assertVerified(_0x365e0a[_0x474aca(0xe0)]===_0x1cc620,_0x474aca(0x109)+_0x3f029b['id']+'\x20URL\x20update\x20did\x20not\x20take\x20effect.');}function updateSuccess(_0x11e9b8,_0x12c1d9,_0x2e0e12,_0x52cc8e,_0x4ad721){const _0x19cdcf=a110_0x1d413b,_0x3d1f08=_0x2e0e12['id'],_0x3d157e=mutationResult({..._0x11e9b8,'after':_0x2e0e12,'dryRun':![],'succeeded':[{'id':_0x3d1f08,'updated':!_0x52cc8e,'skipped':_0x52cc8e,'recovered':_0x4ad721}],'verification':{'checkedBy':_0x19cdcf(0xd3),'snapshotHash':_0x12c1d9[_0x19cdcf(0x10c)],'targetId':_0x3d1f08,'matchesRequestedState':!![],'recovered':_0x4ad721}});return{'ok':!![],'message':_0x4ad721?_0x19cdcf(0x107)+_0x3d1f08+'.':_0x52cc8e?_0x19cdcf(0x109)+_0x3d1f08+_0x19cdcf(0xfe):_0x19cdcf(0xef)+_0x3d1f08+'.','data':{..._0x3d157e,'recovered':_0x4ad721}};}async function recoverAfterResponseLoss(_0xaa6b93,_0x2aeb02){const _0x282de5=a110_0x1d413b,{plan:_0x19d212,before:_0x2a4fd7,body:_0xb86d34}=_0x2aeb02;let _0x301c1a;try{_0x301c1a=await fetchMenuSnapshot(_0xaa6b93['appCode'],_0xaa6b93['cookie']);}catch{throw recoveryRequired(_0x19d212,_0xaa6b93[_0x282de5(0xd5)],{'id':_0xb86d34['id'],'readbackFailed':!![]});}const _0x27bb0e=_0x301c1a[_0x282de5(0xda)]['get'](_0xb86d34['id']);if(!_0x27bb0e||_0x27bb0e['url']!==_0xb86d34[_0x282de5(0xe0)])throw recoveryRequired(_0x19d212,_0xaa6b93[_0x282de5(0xd5)],{'id':_0xb86d34['id'],'requestedUrlObserved':![],'after':_0x27bb0e??null});try{verifyUpdatedFact(_0x2a4fd7,_0x27bb0e,_0xb86d34[_0x282de5(0xe0)]);}catch(_0xe7b31f){const _0x415954=asVerificationError(_0xe7b31f,_0x282de5(0x10a)+_0xb86d34['id']+_0x282de5(0x115));throw menuFailure(_0x415954,_0x19d212,{'stage':'update-recovery','succeeded':[{'id':_0xb86d34['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0xb86d34['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x27bb0e,'warnings':[_0x282de5(0x11b)],'verification':{'status':'failed','targetId':_0xb86d34['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0xaa6b93[_0x282de5(0xd5)])}});}return updateSuccess(_0x19d212,_0x301c1a,_0x27bb0e,![],!![]);}function a110_0x2e5f(_0x5d6768,_0x5dec3a){_0x5d6768=_0x5d6768-0xd0;const _0x22e335=a110_0x22e3();let _0x2e5fa2=_0x22e335[_0x5d6768];return _0x2e5fa2;}function recoveryRequired(_0xd34340,_0x12eb63,_0xf654b8){const _0x3f8751=a110_0x1d413b,_0xfb4f88=menuError(_0x3f8751(0xdd),_0x3f8751(0x113),'Run\x20'+buildLookupCommand(_0x12eb63)+_0x3f8751(0xdc));return menuFailure(_0xfb4f88,_0xd34340,{'stage':_0x3f8751(0xd0),'failed':{'id':_0xf654b8['id'],..._0xf654b8[_0x3f8751(0x11e)]===undefined?{}:{'requestedUrlObserved':_0xf654b8[_0x3f8751(0x11e)]},..._0xf654b8[_0x3f8751(0x10d)]?{'readbackFailed':!![]}:{}},'after':_0xf654b8['after'],'warnings':[_0x3f8751(0x11f)],'verification':{'status':_0x3f8751(0x103),'targetId':_0xf654b8['id'],..._0xf654b8[_0x3f8751(0x11e)]===undefined?{}:{'requestedUrlObserved':_0xf654b8[_0x3f8751(0x11e)]},..._0xf654b8[_0x3f8751(0x10d)]?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x12eb63)}});}function buildLookupCommand(_0x413c66){const _0x3aa7f5=a110_0x1d413b,_0x1b35cd='\x27'+_0x413c66[_0x3aa7f5(0x106)](/'/g,_0x3aa7f5(0x114))+'\x27';return'rabetbase\x20menu\x20list\x20--appcode\x20'+_0x1b35cd+_0x3aa7f5(0x105);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a105_0x26bdd6=a105_0x4a5d;(function(_0x73faba,_0x545869){const _0x5b2c54=a105_0x4a5d,_0x52a0f9=_0x73faba();while(!![]){try{const _0x443023=-parseInt(_0x5b2c54(0x159))/0x1*(-parseInt(_0x5b2c54(0x169))/0x2)+-parseInt(_0x5b2c54(0x18d))/0x3+-parseInt(_0x5b2c54(0x15c))/0x4+-parseInt(_0x5b2c54(0x181))/0x5+parseInt(_0x5b2c54(0x16c))/0x6*(parseInt(_0x5b2c54(0x173))/0x7)+parseInt(_0x5b2c54(0x183))/0x8+parseInt(_0x5b2c54(0x179))/0x9*(-parseInt(_0x5b2c54(0x17b))/0xa);if(_0x443023===_0x545869)break;else _0x52a0f9['push'](_0x52a0f9['shift']());}catch(_0x1f1e55){_0x52a0f9['push'](_0x52a0f9['shift']());}}}(a105_0x464f,0x55198));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a105_0x464f(){const _0x87f65=['flagMissing','create\x20folder','rabetbase\x20menu\x20list\x20--format\x20json','label','group-create','byId','Create\x20an\x20empty\x20folder\x20menu\x20at\x20root\x20or\x20under\x20another\x20folder','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20menu\x20id.','folder','The\x20platform\x20assigns\x20the\x20folder\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','102VnjGVj','Created\x20folder\x20','\x20path\x20does\x20not\x20match\x20the\x20platform-generated\x20path.','433344MKrXLe','path','create-folder','sort','cookie','verification','hash','\x20did\x20not\x20contain\x20a\x20non-empty\x20generated\x20path.','create-response-validation','\x20has\x20an\x20unexpected\x20label.','\x20is\x20not\x20visible.','\x20unexpectedly\x20owns\x20a\x20page.','Inspect\x20the\x20created\x20id\x20with\x20`rabetbase\x20menu\x20list\x20--format\x20json`;\x20do\x20not\x20retry\x20creation\x20until\x20its\x20state\x20is\x20known.','9194nODHJR','high-risk-write','\x20has\x20resources.','377238BzBvlv','Created\x20menu\x20','\x20has\x20unexpected\x20parent\x20','\x20is\x20not\x20type\x20folder.','appCode','POST',';\x20verify\x20it\x20before\x20retrying.','70ASEsrY','Would\x20create\x20empty\x20folder\x20\x22','The\x20create\x20request\x20may\x20have\x20succeeded;\x20verify\x20the\x20online\x20menu\x20list\x20before\x20retrying.','Created\x20menu\x20folder\x20','Folder\x20label','<platform-generated>','1836fTgDrN','\x20may\x20exist\x20online\x20at\x20path\x20','23370onhWEF','\x20is\x20missing\x20from\x20menu\x20list.','/smartapi/menu/create','after','trim','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20before\x20retrying;\x20the\x20folder\x20may\x20already\x20exist.','10995DIijgD','type','1079592VLNsCa','\x22\x20with\x20a\x20platform-generated\x20path.','\x20is\x20not\x20empty.','Folder\x20','verify\x20folder\x20creation','menu\x20list','str','\x20was\x20created\x20but\x20its\x20final\x20facts\x20violate\x20the\x20folder\x20contract','length','parent-id','890166nblvlo','failed','create','isSafeInteger','resources','parentId','depth','\x20remains\x20online;\x20inspect\x20its\x20final\x20facts\x20before\x20any\x20retry.','get','\x20may\x20exist\x20online;\x20verify\x20it\x20by\x20id\x20before\x20retrying.'];a105_0x464f=function(){return _0x87f65;};return a105_0x464f();}function a105_0x4a5d(_0x8117da,_0x4410f1){_0x8117da=_0x8117da-0x147;const _0x464f06=a105_0x464f();let _0x4a5d70=_0x464f06[_0x8117da];return _0x4a5d70;}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,requireExplicitYes,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':'POST','path':a105_0x26bdd6(0x17d)}];export const menuGroupCreate={'service':'menu','command':a105_0x26bdd6(0x153),'description':a105_0x26bdd6(0x155),'risk':a105_0x26bdd6(0x16a),'structuredErrors':!![],'flags':[{'name':a105_0x26bdd6(0x152),'type':'string','required':!![],'description':a105_0x26bdd6(0x177)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x2094a3){validateCreateInput(_0x2094a3),requireExplicitYes(_0x2094a3);},async 'dryRun'(_0x2a4966){const _0x2d12f9=a105_0x26bdd6,_0x1fd2b1=await buildCreatePlan(_0x2a4966,!![]),_0x82c171=_0x1fd2b1['after'];return menuDryRunResult(_0x1fd2b1,{'method':_0x2d12f9(0x171),'url':_0x2d12f9(0x17d),'body':{'parentId':toApiParentId(_0x82c171[_0x2d12f9(0x14a)]),'label':_0x82c171[_0x2d12f9(0x152)],'type':'folder','visible':!![],'sort':_0x82c171[_0x2d12f9(0x15f)],'extend':{}},'description':_0x2d12f9(0x174)+String(_0x82c171['label'])+_0x2d12f9(0x184)});},async 'execute'(_0x513708){const _0x408641=a105_0x26bdd6;validateCreateInput(_0x513708),requireExplicitYes(_0x513708);const _0x4834a6=await buildCreatePlan(_0x513708,![]),_0x4e4714=_0x4834a6[_0x408641(0x17e)];await recheckMutationSnapshot(_0x513708,_0x4834a6,_0x408641(0x150));let _0x12ff9f;try{_0x12ff9f=await createMenuEntity(_0x513708[_0x408641(0x170)],_0x513708[_0x408641(0x160)],{'parentId':toApiParentId(_0x4e4714['parentId']),'label':String(_0x4e4714[_0x408641(0x152)]),'type':'folder','visible':!![],'sort':Number(_0x4e4714[_0x408641(0x15f)]),'extend':{}});}catch(_0x12495b){const _0x55d911=mapMenuApiError(_0x12495b,_0x408641(0x150));throw menuFailure(_0x55d911,_0x4834a6,{'stage':_0x408641(0x147),'failed':{}});}const _0x2b389f=Number(_0x12ff9f['id']);if(!Number[_0x408641(0x148)](_0x2b389f)||_0x2b389f<=0x0){const _0x3f8d1f=menuError('menu_create_response_invalid',_0x408641(0x156),_0x408641(0x180));throw menuFailure(_0x3f8d1f,_0x4834a6,{'stage':_0x408641(0x164),'failed':{'createdId':_0x12ff9f['id']??null},'warnings':[_0x408641(0x175)],'verification':{'status':'failed','lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json'}});}const _0x15a1cb=typeof _0x12ff9f[_0x408641(0x15d)]==='string'?_0x12ff9f['path']:'';if(!_0x15a1cb[_0x408641(0x17f)]()){const _0x40972c=menuError('menu_create_response_invalid','Menu\x20create\x20response\x20for\x20folder\x20'+_0x2b389f+_0x408641(0x163),_0x408641(0x168));throw menuFailure(_0x40972c,_0x4834a6,{'stage':_0x408641(0x164),'succeeded':[{'id':_0x2b389f,'created':!![]}],'failed':{'id':_0x2b389f,'generatedPathConfirmed':![]},'warnings':[_0x408641(0x186)+_0x2b389f+_0x408641(0x14e)],'after':{..._0x4e4714,'id':_0x2b389f,'path':_0x15a1cb},'verification':{'status':'failed','lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetId':_0x2b389f}});}let _0x5992f0;try{_0x5992f0=await fetchMenuSnapshot(_0x513708[_0x408641(0x170)],_0x513708[_0x408641(0x160)]);}catch(_0x364719){const _0x338f74=describeMenuErrorCause(_0x364719,_0x408641(0x187),_0x2b389f),_0x34089a=asVerificationError(_0x364719,'Folder\x20'+_0x2b389f+'\x20was\x20created\x20but\x20readback\x20could\x20not\x20load\x20its\x20final\x20facts');throw menuFailure(_0x34089a,_0x4834a6,{'stage':_0x408641(0x161),'succeeded':[{'id':_0x2b389f,'created':!![],'path':_0x15a1cb}],'failed':{'id':_0x2b389f,'finalFactsConfirmed':![],..._0x338f74},'warnings':['Folder\x20'+_0x2b389f+_0x408641(0x17a)+JSON['stringify'](_0x15a1cb)+_0x408641(0x172)],'after':{..._0x4e4714,'id':_0x2b389f,'path':_0x15a1cb},'verification':{'status':_0x408641(0x18e),'lookupCommand':_0x408641(0x151),'targetId':_0x2b389f}});}const _0x532ea0=_0x5992f0[_0x408641(0x154)][_0x408641(0x14d)](_0x2b389f);let _0x572116;try{assertVerified(Boolean(_0x532ea0),_0x408641(0x15a)+_0x2b389f+_0x408641(0x17c)),_0x572116=_0x532ea0,assertVerified(_0x572116[_0x408641(0x182)]===_0x408641(0x157),_0x408641(0x16d)+_0x2b389f+_0x408641(0x16f)),assertVerified(_0x572116[_0x408641(0x152)]===_0x4e4714['label'],'Created\x20folder\x20'+_0x2b389f+_0x408641(0x165)),assertVerified(_0x572116['path']===_0x15a1cb&&Boolean(_0x572116['path'][_0x408641(0x17f)]()),_0x408641(0x15a)+_0x2b389f+_0x408641(0x15b)),assertVerified(_0x572116['visible']===!![],_0x408641(0x15a)+_0x2b389f+_0x408641(0x166)),assertVerified(_0x572116[_0x408641(0x149)][_0x408641(0x18b)]===0x0,_0x408641(0x15a)+_0x2b389f+_0x408641(0x16b)),assertVerified(_0x572116['childrenCount']===0x0,_0x408641(0x15a)+_0x2b389f+_0x408641(0x185)),assertVerified(_0x572116['sort']===_0x4e4714[_0x408641(0x15f)],'Created\x20folder\x20'+_0x2b389f+'\x20has\x20an\x20unexpected\x20sort.'),assertVerified(_0x572116[_0x408641(0x14a)]===_0x4e4714[_0x408641(0x14a)],_0x408641(0x15a)+_0x2b389f+_0x408641(0x16e)+(_0x572116[_0x408641(0x14a)]??'root')+'.'),assertVerified(_0x572116['pageId']==null,_0x408641(0x15a)+_0x2b389f+_0x408641(0x167));const _0x490095=_0x572116[_0x408641(0x14a)]==null?undefined:requireFolder(_0x5992f0,_0x572116['parentId']);assertVerified(_0x572116[_0x408641(0x14b)]===(_0x490095?_0x490095[_0x408641(0x14b)]+0x1:0x0),_0x408641(0x15a)+_0x2b389f+'\x20depth\x20does\x20not\x20match\x20its\x20final\x20parent\x20hierarchy.');}catch(_0x29b63a){const _0x22f07f=describeMenuErrorCause(_0x29b63a,'verify\x20folder\x20creation',_0x2b389f),_0x28feaa=asVerificationError(_0x29b63a,_0x408641(0x186)+_0x2b389f+_0x408641(0x18a));throw menuFailure(_0x28feaa,_0x4834a6,{'stage':_0x408641(0x161),'succeeded':[{'id':_0x2b389f,'created':!![],'path':_0x15a1cb}],'failed':{'id':_0x2b389f,'finalFactsConfirmed':![],..._0x22f07f},'warnings':[_0x408641(0x186)+_0x2b389f+_0x408641(0x14c)],'after':_0x532ea0??{..._0x4e4714,'id':_0x2b389f,'path':_0x15a1cb},'verification':{'status':_0x408641(0x18e),'lookupCommand':_0x408641(0x151),'targetId':_0x2b389f}});}const _0x2ea61c=mutationResult({..._0x4834a6,'after':_0x572116,'dryRun':![],'succeeded':[{'id':_0x2b389f,'type':_0x408641(0x157),'path':_0x15a1cb}],'verification':{'checkedBy':_0x408641(0x188),'snapshotHash':_0x5992f0[_0x408641(0x162)],'folder':!![],'path':_0x15a1cb,'emptyResources':!![]}});return{'ok':!![],'data':_0x2ea61c,'message':_0x408641(0x176)+_0x2b389f+'.'};}};function validateCreateInput(_0x46bd9c){const _0x2fe770=a105_0x26bdd6,_0x415c4d=_0x46bd9c[_0x2fe770(0x189)](_0x2fe770(0x152))[_0x2fe770(0x17f)]();if(!_0x415c4d)throw CliErrors[_0x2fe770(0x14f)](_0x2fe770(0x152));parseParentId(_0x46bd9c,'parent-id'),validateSort(_0x46bd9c);}async function buildCreatePlan(_0x14a5ad,_0x11468b){const _0x25df9f=a105_0x26bdd6,_0x40cc8a=await fetchMutationSnapshot(_0x14a5ad,_0x25df9f(0x150)),_0x21aad7=parseParentId(_0x14a5ad,_0x25df9f(0x18c))??null;if(_0x21aad7!=null)requireFolder(_0x40cc8a,_0x21aad7);const _0x230a60=validateSort(_0x14a5ad),_0x52b5dd=_0x230a60??nextSiblingSort(_0x40cc8a,_0x21aad7,'folder'),_0x1a8a53=_0x14a5ad['str'](_0x25df9f(0x152))[_0x25df9f(0x17f)]();return mutationResult({'operation':_0x25df9f(0x153),'selector':{'label':_0x1a8a53,'parentId':_0x21aad7},'before':null,'after':{'id':null,'parentId':_0x21aad7,'label':_0x1a8a53,'path':_0x25df9f(0x178),'type':'folder','visible':!![],'sort':_0x52b5dd,'resources':[],'childrenIds':[],'childrenCount':0x0},'dryRun':_0x11468b,'backend':[...BACKEND],'plannedActions':[{'stage':_0x25df9f(0x15e),'method':'POST','path':_0x25df9f(0x17d),'body':{'parentId':toApiParentId(_0x21aad7),'label':_0x1a8a53,'type':_0x25df9f(0x157),'visible':!![],'sort':_0x52b5dd,'extend':{}}}],'snapshotHash':_0x40cc8a['hash'],'warnings':[_0x25df9f(0x158)]});}
|
|
1
|
+
const a111_0x1299c7=a111_0x2223;(function(_0x13f5b0,_0x4361da){const _0x52a235=a111_0x2223,_0x4a93e9=_0x13f5b0();while(!![]){try{const _0x433875=parseInt(_0x52a235(0xf2))/0x1*(-parseInt(_0x52a235(0xf6))/0x2)+parseInt(_0x52a235(0x10f))/0x3+parseInt(_0x52a235(0x111))/0x4*(parseInt(_0x52a235(0x101))/0x5)+parseInt(_0x52a235(0xf0))/0x6*(-parseInt(_0x52a235(0x10c))/0x7)+parseInt(_0x52a235(0xec))/0x8*(parseInt(_0x52a235(0x118))/0x9)+parseInt(_0x52a235(0x11d))/0xa+-parseInt(_0x52a235(0xe0))/0xb*(-parseInt(_0x52a235(0x108))/0xc);if(_0x433875===_0x4361da)break;else _0x4a93e9['push'](_0x4a93e9['shift']());}catch(_0x5e3cf9){_0x4a93e9['push'](_0x4a93e9['shift']());}}}(a111_0x3377,0x42e16));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,requireExplicitYes,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':'POST','path':a111_0x1299c7(0xf5)}];function a111_0x2223(_0x2ec1e8,_0x2ac72e){_0x2ec1e8=_0x2ec1e8-0xdc;const _0x337710=a111_0x3377();let _0x22230f=_0x337710[_0x2ec1e8];return _0x22230f;}export const menuGroupCreate={'service':a111_0x1299c7(0xed),'command':a111_0x1299c7(0xe2),'description':a111_0x1299c7(0x112),'risk':a111_0x1299c7(0xdd),'structuredErrors':!![],'flags':[{'name':a111_0x1299c7(0x110),'type':'string','required':!![],'description':a111_0x1299c7(0x10b)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x463354){validateCreateInput(_0x463354),requireExplicitYes(_0x463354);},async 'dryRun'(_0x2a4785){const _0x580753=a111_0x1299c7,_0x1ac57d=await buildCreatePlan(_0x2a4785,!![]),_0x521ce1=_0x1ac57d[_0x580753(0x122)];return menuDryRunResult(_0x1ac57d,{'method':_0x580753(0x109),'url':_0x580753(0xf5),'body':{'parentId':toApiParentId(_0x521ce1[_0x580753(0xe7)]),'label':_0x521ce1[_0x580753(0x110)],'type':'folder','visible':!![],'sort':_0x521ce1['sort'],'extend':{}},'description':'Would\x20create\x20empty\x20folder\x20\x22'+String(_0x521ce1[_0x580753(0x110)])+_0x580753(0x10e)});},async 'execute'(_0x2e6f79){const _0x3b3ba1=a111_0x1299c7;validateCreateInput(_0x2e6f79),requireExplicitYes(_0x2e6f79);const _0x2d1a01=await buildCreatePlan(_0x2e6f79,![]),_0x20d367=_0x2d1a01[_0x3b3ba1(0x122)];await recheckMutationSnapshot(_0x2e6f79,_0x2d1a01,_0x3b3ba1(0xf3));let _0x54158f;try{_0x54158f=await createMenuEntity(_0x2e6f79[_0x3b3ba1(0x121)],_0x2e6f79[_0x3b3ba1(0xeb)],{'parentId':toApiParentId(_0x20d367[_0x3b3ba1(0xe7)]),'label':String(_0x20d367[_0x3b3ba1(0x110)]),'type':_0x3b3ba1(0xfd),'visible':!![],'sort':Number(_0x20d367[_0x3b3ba1(0xe3)]),'extend':{}});}catch(_0x22087d){const _0x1434f2=mapMenuApiError(_0x22087d,'create\x20folder');throw menuFailure(_0x1434f2,_0x2d1a01,{'stage':_0x3b3ba1(0x100),'failed':{}});}const _0x2d74d4=Number(_0x54158f['id']);if(!Number[_0x3b3ba1(0xf4)](_0x2d74d4)||_0x2d74d4<=0x0){const _0x588f8d=menuError(_0x3b3ba1(0xfe),_0x3b3ba1(0xe6),_0x3b3ba1(0x10d));throw menuFailure(_0x588f8d,_0x2d1a01,{'stage':_0x3b3ba1(0x107),'failed':{'createdId':_0x54158f['id']??null},'warnings':[_0x3b3ba1(0xf7)],'verification':{'status':_0x3b3ba1(0xe1),'lookupCommand':_0x3b3ba1(0x102)}});}const _0x30dc87=typeof _0x54158f[_0x3b3ba1(0xe4)]===_0x3b3ba1(0xe8)?_0x54158f[_0x3b3ba1(0xe4)]:'';if(!_0x30dc87['trim']()){const _0x12e331=menuError(_0x3b3ba1(0xfe),_0x3b3ba1(0xde)+_0x2d74d4+'\x20did\x20not\x20contain\x20a\x20non-empty\x20generated\x20path.',_0x3b3ba1(0xe5));throw menuFailure(_0x12e331,_0x2d1a01,{'stage':_0x3b3ba1(0x107),'succeeded':[{'id':_0x2d74d4,'created':!![]}],'failed':{'id':_0x2d74d4,'generatedPathConfirmed':![]},'warnings':[_0x3b3ba1(0xdc)+_0x2d74d4+_0x3b3ba1(0x124)],'after':{..._0x20d367,'id':_0x2d74d4,'path':_0x30dc87},'verification':{'status':_0x3b3ba1(0xe1),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetId':_0x2d74d4}});}let _0x38ee74;try{_0x38ee74=await fetchMenuSnapshot(_0x2e6f79[_0x3b3ba1(0x121)],_0x2e6f79[_0x3b3ba1(0xeb)]);}catch(_0x3cd576){const _0x2f56b7=describeMenuErrorCause(_0x3cd576,_0x3b3ba1(0xfa),_0x2d74d4),_0x1c77ef=asVerificationError(_0x3cd576,_0x3b3ba1(0xdc)+_0x2d74d4+_0x3b3ba1(0x119));throw menuFailure(_0x1c77ef,_0x2d1a01,{'stage':_0x3b3ba1(0xea),'succeeded':[{'id':_0x2d74d4,'created':!![],'path':_0x30dc87}],'failed':{'id':_0x2d74d4,'finalFactsConfirmed':![],..._0x2f56b7},'warnings':['Folder\x20'+_0x2d74d4+_0x3b3ba1(0x11e)+JSON[_0x3b3ba1(0xff)](_0x30dc87)+_0x3b3ba1(0xdf)],'after':{..._0x20d367,'id':_0x2d74d4,'path':_0x30dc87},'verification':{'status':_0x3b3ba1(0xe1),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetId':_0x2d74d4}});}const _0x2d6a6c=_0x38ee74[_0x3b3ba1(0x11b)][_0x3b3ba1(0xfb)](_0x2d74d4);let _0x59786c;try{assertVerified(Boolean(_0x2d6a6c),_0x3b3ba1(0x11f)+_0x2d74d4+'\x20is\x20missing\x20from\x20menu\x20list.'),_0x59786c=_0x2d6a6c,assertVerified(_0x59786c[_0x3b3ba1(0x11a)]===_0x3b3ba1(0xfd),_0x3b3ba1(0x114)+_0x2d74d4+_0x3b3ba1(0xfc)),assertVerified(_0x59786c['label']===_0x20d367[_0x3b3ba1(0x110)],_0x3b3ba1(0x11f)+_0x2d74d4+_0x3b3ba1(0x103)),assertVerified(_0x59786c[_0x3b3ba1(0xe4)]===_0x30dc87&&Boolean(_0x59786c['path'][_0x3b3ba1(0x10a)]()),_0x3b3ba1(0x11f)+_0x2d74d4+_0x3b3ba1(0x123)),assertVerified(_0x59786c['visible']===!![],'Created\x20folder\x20'+_0x2d74d4+_0x3b3ba1(0x106)),assertVerified(_0x59786c['resources'][_0x3b3ba1(0x120)]===0x0,_0x3b3ba1(0x11f)+_0x2d74d4+_0x3b3ba1(0x125)),assertVerified(_0x59786c[_0x3b3ba1(0x128)]===0x0,_0x3b3ba1(0x11f)+_0x2d74d4+_0x3b3ba1(0xf8)),assertVerified(_0x59786c['sort']===_0x20d367[_0x3b3ba1(0xe3)],'Created\x20folder\x20'+_0x2d74d4+_0x3b3ba1(0x104)),assertVerified(_0x59786c[_0x3b3ba1(0xe7)]===_0x20d367[_0x3b3ba1(0xe7)],_0x3b3ba1(0x11f)+_0x2d74d4+'\x20has\x20unexpected\x20parent\x20'+(_0x59786c[_0x3b3ba1(0xe7)]??'root')+'.'),assertVerified(_0x59786c[_0x3b3ba1(0xee)]==null,_0x3b3ba1(0x11f)+_0x2d74d4+_0x3b3ba1(0x115));const _0x19e464=_0x59786c[_0x3b3ba1(0xe7)]==null?undefined:requireFolder(_0x38ee74,_0x59786c['parentId']);assertVerified(_0x59786c[_0x3b3ba1(0x117)]===(_0x19e464?_0x19e464[_0x3b3ba1(0x117)]+0x1:0x0),_0x3b3ba1(0x11f)+_0x2d74d4+_0x3b3ba1(0x127));}catch(_0x1ec9cc){const _0x3b7e84=describeMenuErrorCause(_0x1ec9cc,_0x3b3ba1(0xfa),_0x2d74d4),_0x2e076b=asVerificationError(_0x1ec9cc,'Folder\x20'+_0x2d74d4+_0x3b3ba1(0xf9));throw menuFailure(_0x2e076b,_0x2d1a01,{'stage':_0x3b3ba1(0xea),'succeeded':[{'id':_0x2d74d4,'created':!![],'path':_0x30dc87}],'failed':{'id':_0x2d74d4,'finalFactsConfirmed':![],..._0x3b7e84},'warnings':[_0x3b3ba1(0xdc)+_0x2d74d4+_0x3b3ba1(0xf1)],'after':_0x2d6a6c??{..._0x20d367,'id':_0x2d74d4,'path':_0x30dc87},'verification':{'status':_0x3b3ba1(0xe1),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetId':_0x2d74d4}});}const _0x53b032=mutationResult({..._0x2d1a01,'after':_0x59786c,'dryRun':![],'succeeded':[{'id':_0x2d74d4,'type':_0x3b3ba1(0xfd),'path':_0x30dc87}],'verification':{'checkedBy':_0x3b3ba1(0x126),'snapshotHash':_0x38ee74['hash'],'folder':!![],'path':_0x30dc87,'emptyResources':!![]}});return{'ok':!![],'data':_0x53b032,'message':'Created\x20menu\x20folder\x20'+_0x2d74d4+'.'};}};function validateCreateInput(_0x2b5ba4){const _0x5898c4=a111_0x1299c7,_0x3aa513=_0x2b5ba4[_0x5898c4(0x11c)](_0x5898c4(0x110))[_0x5898c4(0x10a)]();if(!_0x3aa513)throw CliErrors['flagMissing'](_0x5898c4(0x110));parseParentId(_0x2b5ba4,_0x5898c4(0x113)),validateSort(_0x2b5ba4);}async function buildCreatePlan(_0x548207,_0x43c513){const _0x1879ca=a111_0x1299c7,_0x1b7b5a=await fetchMutationSnapshot(_0x548207,_0x1879ca(0xf3)),_0x47d988=parseParentId(_0x548207,'parent-id')??null;if(_0x47d988!=null)requireFolder(_0x1b7b5a,_0x47d988);const _0x28fa46=validateSort(_0x548207),_0x48506a=_0x28fa46??nextSiblingSort(_0x1b7b5a,_0x47d988,_0x1879ca(0xfd)),_0x16aadd=_0x548207[_0x1879ca(0x11c)](_0x1879ca(0x110))['trim']();return mutationResult({'operation':_0x1879ca(0xe2),'selector':{'label':_0x16aadd,'parentId':_0x47d988},'before':null,'after':{'id':null,'parentId':_0x47d988,'label':_0x16aadd,'path':_0x1879ca(0xef),'type':_0x1879ca(0xfd),'visible':!![],'sort':_0x48506a,'resources':[],'childrenIds':[],'childrenCount':0x0},'dryRun':_0x43c513,'backend':[...BACKEND],'plannedActions':[{'stage':_0x1879ca(0x116),'method':_0x1879ca(0x109),'path':_0x1879ca(0xf5),'body':{'parentId':toApiParentId(_0x47d988),'label':_0x16aadd,'type':'folder','visible':!![],'sort':_0x48506a,'extend':{}}}],'snapshotHash':_0x1b7b5a[_0x1879ca(0xe9)],'warnings':[_0x1879ca(0x105)]});}function a111_0x3377(){const _0x14d791=['Create\x20an\x20empty\x20folder\x20menu\x20at\x20root\x20or\x20under\x20another\x20folder','parent-id','Created\x20menu\x20','\x20unexpectedly\x20owns\x20a\x20page.','create-folder','depth','568431RfEAYl','\x20was\x20created\x20but\x20readback\x20could\x20not\x20load\x20its\x20final\x20facts','type','byId','str','2444150nYoaGB','\x20may\x20exist\x20online\x20at\x20path\x20','Created\x20folder\x20','length','appCode','after','\x20path\x20does\x20not\x20match\x20the\x20platform-generated\x20path.','\x20may\x20exist\x20online;\x20verify\x20it\x20by\x20id\x20before\x20retrying.','\x20has\x20resources.','menu\x20list','\x20depth\x20does\x20not\x20match\x20its\x20final\x20parent\x20hierarchy.','childrenCount','Folder\x20','high-risk-write','Menu\x20create\x20response\x20for\x20folder\x20',';\x20verify\x20it\x20before\x20retrying.','36487FXxqzm','failed','group-create','sort','path','Inspect\x20the\x20created\x20id\x20with\x20`rabetbase\x20menu\x20list\x20--format\x20json`;\x20do\x20not\x20retry\x20creation\x20until\x20its\x20state\x20is\x20known.','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20menu\x20id.','parentId','string','hash','verification','cookie','16PBGtBn','menu','pageId','<platform-generated>','370866RTvvEW','\x20remains\x20online;\x20inspect\x20its\x20final\x20facts\x20before\x20any\x20retry.','13TjjGrf','create\x20folder','isSafeInteger','/smartapi/menu/create','12522aMSghL','The\x20create\x20request\x20may\x20have\x20succeeded;\x20verify\x20the\x20online\x20menu\x20list\x20before\x20retrying.','\x20is\x20not\x20empty.','\x20was\x20created\x20but\x20its\x20final\x20facts\x20violate\x20the\x20folder\x20contract','verify\x20folder\x20creation','get','\x20is\x20not\x20type\x20folder.','folder','menu_create_response_invalid','stringify','create','2975ccxAMF','rabetbase\x20menu\x20list\x20--format\x20json','\x20has\x20an\x20unexpected\x20label.','\x20has\x20an\x20unexpected\x20sort.','The\x20platform\x20assigns\x20the\x20folder\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','\x20is\x20not\x20visible.','create-response-validation','348TlMlDW','POST','trim','Folder\x20label','49rHQzKo','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20before\x20retrying;\x20the\x20folder\x20may\x20already\x20exist.','\x22\x20with\x20a\x20platform-generated\x20path.','902568QQYUYx','label','136txSQQZ'];a111_0x3377=function(){return _0x14d791;};return a111_0x3377();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a112_0x4ce10d=a112_0x1da0;(function(_0x8059fa,_0x19474f){const _0x569766=a112_0x1da0,_0x4d5bcf=_0x8059fa();while(!![]){try{const _0xcf1393=-parseInt(_0x569766(0x10e))/0x1*(-parseInt(_0x569766(0x108))/0x2)+-parseInt(_0x569766(0x10f))/0x3+parseInt(_0x569766(0x133))/0x4*(-parseInt(_0x569766(0x102))/0x5)+-parseInt(_0x569766(0x127))/0x6*(parseInt(_0x569766(0x126))/0x7)+parseInt(_0x569766(0x118))/0x8+-parseInt(_0x569766(0x12d))/0x9+parseInt(_0x569766(0x111))/0xa;if(_0xcf1393===_0x19474f)break;else _0x4d5bcf['push'](_0x4d5bcf['shift']());}catch(_0x40d318){_0x4d5bcf['push'](_0x4d5bcf['shift']());}}}(a112_0x41e2,0x6d345));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a112_0x41e2(){const _0x24d994=['Menu\x20','validation','verification','sort','4938957auaUlk','selector','folder','verify\x20folder\x20update','\x20sort\x20update\x20did\x20not\x20take\x20effect.','high-risk-write','68756BUVwGo','appCode','145aiJnLk','--label\x20cannot\x20be\x20empty.','label','\x20is\x20no\x20longer\x20type\x20folder.','type','string','21378dhWKra','menu\x20list','unknown','Menu\x20group-update\x20does\x20not\x20support\x20reparenting;\x20remove\x20--parent-id.','POST','Updated\x20folder\x20','23BDiamv','899682lnVbZQ','parent-id','10760030KuHfIa','group-update','No\x20online\x20fields\x20would\x20change.','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20and\x20choose\x20an\x20id\x20whose\x20type\x20is\x20folder.','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','rabetbase\x20menu\x20list\x20--format\x20json','trim','7012864OiNVGx','At\x20least\x20one\x20of\x20--label\x20or\x20--sort\x20is\x20required.','\x22,\x20not\x20folder.','Rename\x20or\x20reorder\x20one\x20existing\x20folder\x20menu','menu_not_folder','/smartapi/menu/update','\x20label\x20update\x20did\x20not\x20take\x20effect.','Folder\x20','Use\x20the\x20platform\x20UI\x20for\x20hierarchy\x20changes.','hash','str','cookie','update\x20folder','update','7glKwav','2424054wSZCin','failed'];a112_0x41e2=function(){return _0x24d994;};return a112_0x41e2();}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,requireExplicitYes,requireFolder,requireMenu,validateExactId,validateSort}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';function a112_0x1da0(_0x4c1c76,_0x2babf5){_0x4c1c76=_0x4c1c76-0x102;const _0x41e225=a112_0x41e2();let _0x1da0d9=_0x41e225[_0x4c1c76];return _0x1da0d9;}const BACKEND=[{'method':a112_0x4ce10d(0x10c),'path':a112_0x4ce10d(0x11d)}];export const menuGroupUpdate={'service':'menu','command':a112_0x4ce10d(0x112),'description':a112_0x4ce10d(0x11b),'risk':a112_0x4ce10d(0x132),'structuredErrors':!![],'rejectedFlags':[{'name':'parent-id','message':a112_0x4ce10d(0x10b),'hint':a112_0x4ce10d(0x120)}],'flags':[MENU_ID_FLAG,{'name':a112_0x4ce10d(0x104),'type':a112_0x4ce10d(0x107),'description':'New\x20folder\x20label'},MENU_SORT_FLAG,...MENU_EXPECT_FLAGS,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x3d2ef1){validateUpdateInput(_0x3d2ef1),requireExplicitYes(_0x3d2ef1);},async 'dryRun'(_0x1434b8){const _0x2743d2=a112_0x4ce10d;validateUpdateInput(_0x1434b8);const {plan:_0x5a9446,patch:_0x5db39b}=await buildUpdatePlan(_0x1434b8,!![]);return menuDryRunResult(_0x5a9446,{'method':_0x2743d2(0x10c),'url':_0x2743d2(0x11d),'body':_0x5db39b,'description':'Would\x20update\x20folder\x20'+_0x5a9446['selector']['id']+'.'});},async 'execute'(_0x266ae3){const _0x33a291=a112_0x4ce10d;validateUpdateInput(_0x266ae3),requireExplicitYes(_0x266ae3);const {plan:_0x5b5c7e,patch:_0x32f81a,noChanges:_0xe035a3}=await buildUpdatePlan(_0x266ae3,![]),_0x4765ef=Number(_0x5b5c7e[_0x33a291(0x12e)]['id']),_0x13eede=await recheckMutationSnapshot(_0x266ae3,_0x5b5c7e,_0x33a291(0x124),_0x4765ef);if(!_0xe035a3)try{await updateMenuEntity(_0x266ae3[_0x33a291(0x134)],_0x266ae3[_0x33a291(0x123)],_0x32f81a);}catch(_0x452fb8){const _0x39288f=mapMenuApiError(_0x452fb8,'update\x20folder',_0x4765ef);throw menuFailure(_0x39288f,_0x5b5c7e,{'stage':_0x33a291(0x125),'failed':{'id':_0x4765ef}});}let _0x5d604b=_0x13eede,_0x54ea19;try{!_0xe035a3&&(_0x5d604b=await fetchMenuSnapshot(_0x266ae3[_0x33a291(0x134)],_0x266ae3[_0x33a291(0x123)])),_0x54ea19=requireMenu(_0x5d604b,_0x4765ef),verifyPatch(_0x54ea19,_0x32f81a),_0x54ea19['parentId']!=null&&requireFolder(_0x5d604b,_0x54ea19['parentId']);}catch(_0x25282e){const _0x377030=describeMenuErrorCause(_0x25282e,_0x33a291(0x130),_0x4765ef),_0x1ce38f=asVerificationError(_0x25282e,'Update\x20request\x20for\x20folder\x20'+_0x4765ef+_0x33a291(0x115));throw menuFailure(_0x1ce38f,_0x5b5c7e,{'stage':_0x33a291(0x12b),'succeeded':[{'id':_0x4765ef,'updateRequested':!_0xe035a3,'skipped':_0xe035a3}],'failed':{'id':_0x4765ef,'requestedStateConfirmed':![],..._0x377030},'warnings':['The\x20update\x20request\x20may\x20have\x20taken\x20effect,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.'],'verification':{'status':_0x33a291(0x128),'lookupCommand':_0x33a291(0x116),'targetId':_0x4765ef}});}const _0x7b6e81=mutationResult({..._0x5b5c7e,'after':_0x54ea19,'dryRun':![],'succeeded':[{'id':_0x4765ef,'updated':!_0xe035a3,'skipped':_0xe035a3}],'verification':{'checkedBy':_0x33a291(0x109),'snapshotHash':_0x5d604b[_0x33a291(0x121)],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x7b6e81,'message':_0xe035a3?_0x33a291(0x11f)+_0x4765ef+'\x20already\x20matches\x20the\x20requested\x20state.':_0x33a291(0x10d)+_0x4765ef+'.'};}};function validateUpdateInput(_0x44fe50){const _0x48c89f=a112_0x4ce10d;validateExactId(_0x44fe50);if(hasFlag(_0x44fe50,_0x48c89f(0x110)))throw CliErrors[_0x48c89f(0x12a)](_0x48c89f(0x10b),'Use\x20the\x20platform\x20UI\x20for\x20hierarchy\x20changes.');if(!hasFlag(_0x44fe50,_0x48c89f(0x104))&&!hasFlag(_0x44fe50,'sort'))throw CliErrors['validation'](_0x48c89f(0x119));if(hasFlag(_0x44fe50,_0x48c89f(0x104))&&!_0x44fe50[_0x48c89f(0x122)]('label')[_0x48c89f(0x117)]())throw CliErrors[_0x48c89f(0x12a)](_0x48c89f(0x103));validateSort(_0x44fe50);}async function buildUpdatePlan(_0x119c14,_0x231154){const _0x5d11fa=a112_0x4ce10d,_0x5a3fdf=validateExactId(_0x119c14),_0x3b8939=await fetchMutationSnapshot(_0x119c14,_0x5d11fa(0x124),_0x5a3fdf),_0x3680c6=requireMenu(_0x3b8939,_0x5a3fdf);if(_0x3680c6[_0x5d11fa(0x106)]!==_0x5d11fa(0x12f))throw menuError(_0x5d11fa(0x11c),_0x5d11fa(0x129)+_0x5a3fdf+'\x20is\x20type\x20\x22'+(_0x3680c6[_0x5d11fa(0x106)]||_0x5d11fa(0x10a))+_0x5d11fa(0x11a),_0x5d11fa(0x114));assertExpectedState(_0x119c14,_0x3680c6);const _0x4fb51e={'id':_0x5a3fdf},_0x51ef0b={..._0x3680c6};if(hasFlag(_0x119c14,_0x5d11fa(0x104))){const _0x2fd2e4=_0x119c14[_0x5d11fa(0x122)](_0x5d11fa(0x104))[_0x5d11fa(0x117)]();_0x4fb51e[_0x5d11fa(0x104)]=_0x2fd2e4,_0x51ef0b[_0x5d11fa(0x104)]=_0x2fd2e4;}if(hasFlag(_0x119c14,_0x5d11fa(0x12c))){const _0xc8bd58=validateSort(_0x119c14);_0x4fb51e['sort']=_0xc8bd58,_0x51ef0b['sort']=_0xc8bd58;}const _0x4dd75b=sameRequestedState(_0x3680c6,_0x51ef0b),_0x4d161f=_0x4dd75b?[_0x5d11fa(0x113)]:[];return{'patch':_0x4fb51e,'noChanges':_0x4dd75b,'plan':mutationResult({'operation':'group-update','selector':{'id':_0x5a3fdf},'before':_0x3680c6,'after':_0x51ef0b,'dryRun':_0x231154,'backend':[...BACKEND],'snapshotHash':_0x3b8939[_0x5d11fa(0x121)],'warnings':_0x4d161f})};}function sameRequestedState(_0xb57357,_0x2d4f46){const _0x398cd7=a112_0x4ce10d;return _0xb57357[_0x398cd7(0x104)]===_0x2d4f46['label']&&_0xb57357[_0x398cd7(0x12c)]===_0x2d4f46[_0x398cd7(0x12c)];}function verifyPatch(_0x5c0700,_0x8071d9){const _0x4c1fff=a112_0x4ce10d;assertVerified(_0x5c0700['type']===_0x4c1fff(0x12f),_0x4c1fff(0x129)+_0x5c0700['id']+_0x4c1fff(0x105)),_0x8071d9['label']!==undefined&&assertVerified(_0x5c0700[_0x4c1fff(0x104)]===_0x8071d9[_0x4c1fff(0x104)],_0x4c1fff(0x11f)+_0x5c0700['id']+_0x4c1fff(0x11e)),_0x8071d9[_0x4c1fff(0x12c)]!==undefined&&assertVerified(_0x5c0700[_0x4c1fff(0x12c)]===_0x8071d9[_0x4c1fff(0x12c)],_0x4c1fff(0x11f)+_0x5c0700['id']+_0x4c1fff(0x131));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x58ee25,_0x504316){const _0x1d3070=a113_0x8ef7,_0x5a5a40=_0x58ee25();while(!![]){try{const _0x23ef9c=parseInt(_0x1d3070(0x1c8))/0x1*(parseInt(_0x1d3070(0x1cf))/0x2)+-parseInt(_0x1d3070(0x1c6))/0x3*(parseInt(_0x1d3070(0x1c5))/0x4)+parseInt(_0x1d3070(0x1cd))/0x5*(-parseInt(_0x1d3070(0x1c7))/0x6)+parseInt(_0x1d3070(0x1c4))/0x7+parseInt(_0x1d3070(0x1d0))/0x8*(parseInt(_0x1d3070(0x1ca))/0x9)+parseInt(_0x1d3070(0x1cb))/0xa*(-parseInt(_0x1d3070(0x1cc))/0xb)+-parseInt(_0x1d3070(0x1c9))/0xc*(-parseInt(_0x1d3070(0x1ce))/0xd);if(_0x23ef9c===_0x504316)break;else _0x5a5a40['push'](_0x5a5a40['shift']());}catch(_0x337e4d){_0x5a5a40['push'](_0x5a5a40['shift']());}}}(a113_0x53f2,0x3ab3c));import{menuList}from'../../commands/menu/list.js';import{menuSync}from'../../commands/menu/sync.js';import{menuAssetUpdate}from'../../commands/menu/asset-update.js';import{menuDelete}from'../../commands/menu/delete.js';function a113_0x53f2(){const _0xd78e8f=['269182nVDKkg','9504SFZdeZ','18009GVGOJv','30gfQhjQ','1139248IyKCqy','135TSOwJj','7761sfPvXg','2QjTmSh','1816pSTIbz','308497MmhDxe','164VnzWrr','16815jtAmEX','102078PpJYfS'];a113_0x53f2=function(){return _0xd78e8f;};return a113_0x53f2();}import{menuGroupCreate}from'../../commands/menu/group-create.js';function a113_0x8ef7(_0x32d68a,_0x4ab7b5){_0x32d68a=_0x32d68a-0x1c4;const _0x53f262=a113_0x53f2();let _0x8ef76f=_0x53f262[_0x32d68a];return _0x8ef76f;}import{menuGroupUpdate}from'../../commands/menu/group-update.js';import{menuMove}from'../../commands/menu/move.js';import{menuRegroupStart}from'../../commands/menu/regroup-start.js';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';export const menuDefinitions=[menuList,menuExternalLinkCreate,menuExternalLinkUpdate,menuRename,menuSync,menuAssetUpdate,menuDelete,menuGroupCreate,menuGroupUpdate,menuMove,menuRegroupStart];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a114_0x6e8eb0=a114_0x51fb;(function(_0x4d14e0,_0x2960a3){const _0x5dcc1e=a114_0x51fb,_0x27e7aa=_0x4d14e0();while(!![]){try{const _0x45e3b=-parseInt(_0x5dcc1e(0x1e7))/0x1+-parseInt(_0x5dcc1e(0x1dd))/0x2*(parseInt(_0x5dcc1e(0x1e4))/0x3)+parseInt(_0x5dcc1e(0x1ee))/0x4+parseInt(_0x5dcc1e(0x1ec))/0x5+parseInt(_0x5dcc1e(0x1df))/0x6*(parseInt(_0x5dcc1e(0x1de))/0x7)+parseInt(_0x5dcc1e(0x1dc))/0x8+-parseInt(_0x5dcc1e(0x1e0))/0x9*(-parseInt(_0x5dcc1e(0x1e2))/0xa);if(_0x45e3b===_0x2960a3)break;else _0x27e7aa['push'](_0x27e7aa['shift']());}catch(_0x43ad24){_0x27e7aa['push'](_0x27e7aa['shift']());}}}(a114_0x5bc7,0x89013));function a114_0x51fb(_0x2dce33,_0x463e0f){_0x2dce33=_0x2dce33-0x1da;const _0x5bc74c=a114_0x5bc7();let _0x51fbde=_0x5bc74c[_0x2dce33];return _0x51fbde;}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot,toMenuListItem}from'../../commands/menu/shared/facts.js';export const menuList={'service':a114_0x6e8eb0(0x1e3),'command':a114_0x6e8eb0(0x1e8),'description':'List\x20online\x20menu\x20facts\x20for\x20the\x20current\x20app','risk':a114_0x6e8eb0(0x1db),'flags':[APPCODE_FLAG_OPTIONAL,{'name':a114_0x6e8eb0(0x1ed),'type':a114_0x6e8eb0(0x1e9),'description':'Return\x20extend\x20field\x20for\x20troubleshooting\x20resource\x20parsing'}],async 'execute'(_0x184906){const _0x209213=a114_0x6e8eb0,_0x5a4036=_0x184906[_0x209213(0x1e6)](_0x209213(0x1ed)),_0x1dbaaf=await fetchMenuSnapshot(_0x184906[_0x209213(0x1ef)],_0x184906[_0x209213(0x1ea)],{'verbose':_0x5a4036});return{'ok':!![],'data':{'total':_0x1dbaaf[_0x209213(0x1da)],'snapshotHash':_0x1dbaaf['hash'],'menus':_0x1dbaaf['menus']['map'](toMenuListItem)},'message':_0x1dbaaf[_0x209213(0x1da)]===0x0?_0x209213(0x1e1):_0x209213(0x1eb)+_0x1dbaaf[_0x209213(0x1da)]+_0x209213(0x1e5)};}};function a114_0x5bc7(){const _0x47cfae=['1190755hFNRmT','verbose','2046308LQJHNY','appCode','total','read','727568bzVPne','18214LFDGek','152159rkIexP','228FTyVzx','33327BEMsxS','No\x20menus\x20found.','2230PZZpkp','menu','348kaZmgX','\x20menu(s)','bool','874866yfyrxf','list','boolean','cookie','Found\x20'];a114_0x5bc7=function(){return _0x47cfae;};return a114_0x5bc7();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a115_0x2f8322=a115_0xd68f;(function(_0xe6fe60,_0x3e643d){const _0x4c1e8e=a115_0xd68f,_0x927605=_0xe6fe60();while(!![]){try{const _0x1d6fb6=-parseInt(_0x4c1e8e(0x161))/0x1*(-parseInt(_0x4c1e8e(0x176))/0x2)+-parseInt(_0x4c1e8e(0x184))/0x3*(-parseInt(_0x4c1e8e(0x180))/0x4)+parseInt(_0x4c1e8e(0x17b))/0x5+-parseInt(_0x4c1e8e(0x17c))/0x6+-parseInt(_0x4c1e8e(0x15b))/0x7+-parseInt(_0x4c1e8e(0x168))/0x8+parseInt(_0x4c1e8e(0x17e))/0x9;if(_0x1d6fb6===_0x3e643d)break;else _0x927605['push'](_0x927605['shift']());}catch(_0x260e44){_0x927605['push'](_0x927605['shift']());}}}(a115_0x1198,0xa9282));function a115_0xd68f(_0x2d046a,_0x523ddf){_0x2d046a=_0x2d046a-0x157;const _0x11982c=a115_0x1198();let _0xd68fa9=_0x11982c[_0x2d046a];return _0xd68fa9;}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a115_0x1198(){const _0x3e2216=['\x20is\x20no\x20longer\x20a\x20leaf.','expect-parent-id','POST','9621hEQoJR','parentId','\x20is\x20now\x20type\x20folder.','The\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','appCode','9218818dsSdxn','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','failed','Source\x20menu\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.','move\x20menu','update','9oEMOxV','\x20must\x20be\x20a\x20non-folder\x20leaf\x20before\x20it\x20can\x20be\x20moved.','cookie','Menu\x20','/smartapi/menu/update','move-menu','menu_move_source_not_leaf','2646360SYbOcP','parent-id','hash','after','menu',',\x20current\x20','menu_state_drift','verify\x20menu\x20move','Would\x20move\x20menu\x20','Moved\x20menu\x20','sort','rabetbase\x20menu\x20list\x20--format\x20compress','\x20parent\x20changed:\x20expected\x20','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','211882ARFSfN','move','high-risk-write','type','Move\x20one\x20existing\x20leaf\x20menu\x20to\x20a\x20folder\x20or\x20root','879625DDUTbh','1775550nBcUTj','verification','6146703ZRhpQd','childrenCount','1028aXZIgR'];a115_0x1198=function(){return _0x3e2216;};return a115_0x1198();}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,requireExplicitYes,requireFolder,requireMenu,toApiParentId,validateExactId,validateSort}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';const BACKEND=[{'method':a115_0x2f8322(0x183),'path':'/smartapi/menu/update'}];export const menuMove={'service':a115_0x2f8322(0x16c),'command':a115_0x2f8322(0x177),'description':a115_0x2f8322(0x17a),'risk':a115_0x2f8322(0x178),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{...MENU_PARENT_ID_FLAG,'required':!![]},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0xb2c371){validateMoveInput(_0xb2c371),requireExplicitYes(_0xb2c371);},async 'dryRun'(_0x538011){const _0x4d1c87=a115_0x2f8322,{plan:_0x3fa807,patch:_0x286b61}=await buildMovePlan(_0x538011,!![]);return menuDryRunResult(_0x3fa807,{'method':_0x4d1c87(0x183),'url':_0x4d1c87(0x165),'body':{..._0x286b61,'appCode':_0x538011[_0x4d1c87(0x15a)]},'description':_0x4d1c87(0x170)+_0x286b61['id']+'.'});},async 'execute'(_0x8314e9){const _0x46b4fa=a115_0x2f8322;validateMoveInput(_0x8314e9),requireExplicitYes(_0x8314e9);const {plan:_0x565c45,patch:_0x4802d9,noChanges:_0x327173,snapshot:_0x202e02}=await buildMovePlan(_0x8314e9,![]),_0x41195c=_0x4802d9['id'];if(!_0x327173)try{await updateMenuEntity(_0x8314e9[_0x46b4fa(0x15a)],_0x8314e9[_0x46b4fa(0x163)],_0x4802d9);}catch(_0x2c90b0){const _0x2dcb16=mapMenuApiError(_0x2c90b0,_0x46b4fa(0x177),_0x41195c);throw menuFailure(_0x2dcb16,_0x565c45,{'stage':_0x46b4fa(0x160),'failed':{'id':_0x41195c},'warnings':['The\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':'failed','targetId':_0x41195c,'lookupCommand':_0x46b4fa(0x173)}});}let _0x7ca139,_0x14f568;try{_0x7ca139=_0x327173?_0x202e02:await fetchMenuSnapshot(_0x8314e9[_0x46b4fa(0x15a)],_0x8314e9['cookie']),_0x14f568=requireMenu(_0x7ca139,_0x41195c),verifyMove(_0x14f568,_0x565c45[_0x46b4fa(0x16b)]),_0x14f568['parentId']!==null&&requireFolder(_0x7ca139,_0x14f568[_0x46b4fa(0x157)]);}catch(_0x49a6db){const _0x380b2d=describeMenuErrorCause(_0x49a6db,_0x46b4fa(0x16f),_0x41195c),_0x11020b=asVerificationError(_0x49a6db,'Move\x20request\x20for\x20menu\x20'+_0x41195c+_0x46b4fa(0x175));throw menuFailure(_0x11020b,_0x565c45,{'stage':_0x46b4fa(0x17d),'succeeded':[{'id':_0x41195c,'updateRequested':!_0x327173,'skipped':_0x327173}],'failed':{'id':_0x41195c,'requestedStateConfirmed':![],..._0x380b2d},'warnings':[_0x46b4fa(0x159)],'verification':{'status':_0x46b4fa(0x15d),'targetId':_0x41195c,'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20compress'}});}const _0x2a44ec=mutationResult({..._0x565c45,'after':_0x14f568,'dryRun':![],'succeeded':[{'id':_0x41195c,'updated':!_0x327173,'skipped':_0x327173}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x7ca139['hash'],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x2a44ec,'message':_0x327173?_0x46b4fa(0x164)+_0x41195c+'\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.':_0x46b4fa(0x171)+_0x41195c+'.'};}};function validateMoveInput(_0xd07be9){const _0x9c142f=a115_0x2f8322;validateExactId(_0xd07be9),parseParentId(_0xd07be9,_0x9c142f(0x169),{'required':!![]}),parseParentId(_0xd07be9,_0x9c142f(0x182),{'required':!![]}),validateSort(_0xd07be9);}async function buildMovePlan(_0x125a0f,_0x5e0098){const _0x9a8558=a115_0x2f8322,_0x505b4b=validateExactId(_0x125a0f),_0xf9c30b=parseParentId(_0x125a0f,_0x9a8558(0x169),{'required':!![]}),_0x466de0=parseParentId(_0x125a0f,_0x9a8558(0x182),{'required':!![]}),_0x176ee7=validateSort(_0x125a0f),_0x4d30ec=await fetchMutationSnapshot(_0x125a0f,_0x9a8558(0x15f),_0x505b4b),_0x18715e=requireMenu(_0x4d30ec,_0x505b4b);if(_0x18715e[_0x9a8558(0x179)]==='folder'||_0x18715e[_0x9a8558(0x17f)]!==0x0)throw menuError(_0x9a8558(0x167),_0x9a8558(0x164)+_0x505b4b+_0x9a8558(0x162),'Run\x20`rabetbase\x20menu\x20list\x20--format\x20compress`\x20and\x20choose\x20an\x20exact\x20non-folder\x20leaf\x20id.');if(_0x18715e[_0x9a8558(0x157)]!==_0x466de0)throw menuError(_0x9a8558(0x16e),_0x9a8558(0x164)+_0x505b4b+_0x9a8558(0x174)+formatParent(_0x466de0)+_0x9a8558(0x16d)+formatParent(_0x18715e[_0x9a8558(0x157)])+'.',_0x9a8558(0x15c));_0xf9c30b!==null&&requireFolder(_0x4d30ec,_0xf9c30b);const _0x4fda34=_0x176ee7??(_0x18715e[_0x9a8558(0x157)]===_0xf9c30b?_0x18715e[_0x9a8558(0x172)]??0x0:nextSiblingSort(_0x4d30ec,_0xf9c30b,'menu')),_0x3039ed={..._0x18715e,'parentId':_0xf9c30b,'sort':_0x4fda34},_0x5cc5d7={'id':_0x505b4b,'parentId':toApiParentId(_0xf9c30b),'sort':_0x4fda34},_0x376634=_0x18715e[_0x9a8558(0x157)]===_0xf9c30b&&_0x18715e[_0x9a8558(0x172)]===_0x4fda34;return{'patch':_0x5cc5d7,'noChanges':_0x376634,'snapshot':_0x4d30ec,'plan':mutationResult({'operation':'move','selector':{'id':_0x505b4b,'parentId':_0xf9c30b},'before':_0x18715e,'after':_0x3039ed,'dryRun':_0x5e0098,'backend':[...BACKEND],'plannedActions':[{'stage':_0x9a8558(0x166),'method':_0x9a8558(0x183),'path':_0x9a8558(0x165),'body':{..._0x5cc5d7,'appCode':_0x125a0f[_0x9a8558(0x15a)]}}],'snapshotHash':_0x4d30ec[_0x9a8558(0x16a)],'warnings':_0x376634?[_0x9a8558(0x15e)]:[]})};}function verifyMove(_0x57ba4a,_0x28ca0a){const _0x5b90b0=a115_0x2f8322;assertVerified(_0x57ba4a[_0x5b90b0(0x179)]!=='folder','Menu\x20'+_0x57ba4a['id']+_0x5b90b0(0x158)),assertVerified(_0x57ba4a[_0x5b90b0(0x17f)]===0x0,_0x5b90b0(0x164)+_0x57ba4a['id']+_0x5b90b0(0x181)),assertVerified(_0x57ba4a[_0x5b90b0(0x157)]===_0x28ca0a[_0x5b90b0(0x157)],'Menu\x20'+_0x57ba4a['id']+'\x20parentId\x20did\x20not\x20match\x20the\x20move\x20plan.'),assertVerified(_0x57ba4a[_0x5b90b0(0x172)]===_0x28ca0a[_0x5b90b0(0x172)],_0x5b90b0(0x164)+_0x57ba4a['id']+'\x20sort\x20did\x20not\x20match\x20the\x20move\x20plan.');}
|