@lovrabet/rabetbase-cli 2.5.0-beta.6 → 2.5.1-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/api/api-doc.js +1 -1
- package/lib/api/fetch-model-list.js +1 -1
- package/lib/api/generate-api-file.js +1 -1
- package/lib/api/generate-sdk-config-file.js +1 -1
- package/lib/auth/auth-server-ui.js +1 -1
- package/lib/auth/auth-server.d.ts +7 -0
- package/lib/auth/auth-server.js +1 -1
- package/lib/auth/constant.js +1 -1
- package/lib/auth/get-cookie.js +1 -1
- package/lib/auth/get-session-user.js +1 -1
- package/lib/auth/is-session-valid.js +1 -1
- package/lib/auth/login-success-html.js +1 -1
- package/lib/auth/logout.js +1 -1
- package/lib/cli-flags.js +1 -1
- package/lib/cli.js +1 -1
- package/lib/commands/api/generate.js +1 -1
- package/lib/commands/api/index.js +1 -1
- package/lib/commands/api/list.js +1 -1
- package/lib/commands/api/pull.js +1 -1
- package/lib/commands/api/shared.js +1 -1
- package/lib/commands/app/index.js +1 -1
- package/lib/commands/app/list.js +1 -1
- package/lib/commands/app/members-list.js +1 -1
- package/lib/commands/app/remote-directory.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app-config/delete.js +1 -1
- package/lib/commands/app-config/get.js +1 -1
- package/lib/commands/app-config/index.js +1 -1
- package/lib/commands/app-config/list.js +1 -1
- package/lib/commands/app-config/set.js +1 -1
- package/lib/commands/app-config/shared.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/bff/create.js +1 -1
- package/lib/commands/bff/delete.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/bff/list.js +1 -1
- package/lib/commands/bff/pull.js +1 -1
- package/lib/commands/bff/push.js +1 -1
- package/lib/commands/bff/status.js +1 -1
- package/lib/commands/cli-skill/index.js +1 -1
- package/lib/commands/cli-update.js +1 -1
- package/lib/commands/codegen/index.js +1 -1
- package/lib/commands/codegen/sdk.js +1 -1
- package/lib/commands/codegen/sql.js +1 -1
- package/lib/commands/common/app-registry.js +1 -1
- package/lib/commands/common/app-selector.js +1 -1
- package/lib/commands/common/async-task.js +1 -1
- package/lib/commands/common/dry-run.js +1 -1
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/common/local-file.js +1 -1
- package/lib/commands/common/validate.js +1 -1
- package/lib/commands/config/delete.js +1 -1
- package/lib/commands/config/get.js +1 -1
- package/lib/commands/config/index.js +1 -1
- package/lib/commands/config/init.d.ts +1 -1
- package/lib/commands/config/init.js +1 -1
- package/lib/commands/config/list.js +1 -1
- package/lib/commands/config/set.js +1 -1
- package/lib/commands/config/shared.js +1 -1
- package/lib/commands/dataset/business-group-update.js +1 -1
- package/lib/commands/dataset/business-groups.js +1 -1
- package/lib/commands/dataset/capability.js +1 -1
- package/lib/commands/dataset/delete.js +1 -1
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/extend-update.js +1 -1
- package/lib/commands/dataset/field-update.js +1 -1
- package/lib/commands/dataset/generate.js +1 -1
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/operations.js +1 -1
- package/lib/commands/dataset/relation-audit.js +1 -1
- package/lib/commands/dataset/relation-create.js +1 -1
- package/lib/commands/dataset/relation-delete.js +1 -1
- package/lib/commands/dataset/relation-shared.js +1 -1
- package/lib/commands/dataset/relation-update.js +1 -1
- package/lib/commands/dataset/relations.js +1 -1
- package/lib/commands/dataset/rename.js +1 -1
- package/lib/commands/dataset/restore.js +1 -1
- package/lib/commands/db/analysis-batching.js +1 -1
- package/lib/commands/db/analyze-batch-plan.js +1 -1
- package/lib/commands/db/analyze-cancel.js +1 -1
- package/lib/commands/db/analyze-start.js +1 -1
- package/lib/commands/db/analyze-status.js +1 -1
- package/lib/commands/db/create.js +1 -1
- package/lib/commands/db/delete.js +1 -1
- package/lib/commands/db/detail.js +1 -1
- package/lib/commands/db/diff-refresh-start.js +1 -1
- package/lib/commands/db/diff-refresh-status.js +1 -1
- package/lib/commands/db/diff.js +1 -1
- package/lib/commands/db/index.js +1 -1
- package/lib/commands/db/list.js +1 -1
- package/lib/commands/db/shared.js +1 -1
- package/lib/commands/db/table-diff-shared.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/issue/index.js +1 -1
- package/lib/commands/issue/nudge.js +1 -1
- package/lib/commands/issue/report.js +1 -1
- package/lib/commands/issue/shared.js +1 -1
- package/lib/commands/kb/create.js +1 -1
- package/lib/commands/kb/delete.js +1 -1
- package/lib/commands/kb/detail.js +1 -1
- package/lib/commands/kb/index.js +1 -1
- package/lib/commands/kb/list.js +1 -1
- package/lib/commands/kb/search.js +1 -1
- package/lib/commands/kb/shared.js +1 -1
- package/lib/commands/kb/update.js +1 -1
- package/lib/commands/logs/index.js +1 -1
- package/lib/commands/menu/asset-update.js +1 -1
- package/lib/commands/menu/delete.js +1 -1
- package/lib/commands/menu/external-link-create.js +1 -1
- package/lib/commands/menu/external-link-update.js +1 -1
- package/lib/commands/menu/group-create.js +1 -1
- package/lib/commands/menu/group-update.js +1 -1
- package/lib/commands/menu/index.js +1 -1
- package/lib/commands/menu/list.js +1 -1
- package/lib/commands/menu/move.js +1 -1
- package/lib/commands/menu/regroup-start.js +1 -1
- package/lib/commands/menu/rename.js +1 -1
- package/lib/commands/menu/shared/compare-table.js +1 -1
- package/lib/commands/menu/shared/delete-plan.js +1 -1
- package/lib/commands/menu/shared/facts.js +1 -1
- package/lib/commands/menu/shared/index.js +1 -1
- package/lib/commands/menu/shared/inquirer.js +1 -1
- package/lib/commands/menu/shared/local-pages.js +1 -1
- package/lib/commands/menu/shared/logic.js +1 -1
- package/lib/commands/menu/shared/mutations.js +1 -1
- package/lib/commands/menu/shared/service.js +1 -1
- package/lib/commands/menu/shared/sync-core.js +1 -1
- package/lib/commands/menu/shared/update-core.js +1 -1
- package/lib/commands/menu/shared/valid-url.js +1 -1
- package/lib/commands/menu/sync.js +1 -1
- package/lib/commands/menu/visibility-update.js +1 -1
- package/lib/commands/notification/config-create.js +1 -1
- package/lib/commands/notification/config-delete.js +1 -1
- package/lib/commands/notification/config-list.js +1 -1
- package/lib/commands/notification/config-update.js +1 -1
- package/lib/commands/notification/index.js +1 -1
- package/lib/commands/notification/shared.js +1 -1
- package/lib/commands/ocr/index.js +1 -1
- package/lib/commands/page/create.js +1 -1
- package/lib/commands/page/custom/detail.js +1 -1
- package/lib/commands/page/custom/list.js +1 -1
- package/lib/commands/page/custom/publish.js +1 -1
- package/lib/commands/page/custom/shared.js +1 -1
- package/lib/commands/page/custom/syntax.js +1 -1
- package/lib/commands/page/custom/template.js +1 -1
- package/lib/commands/page/custom/update.js +1 -1
- package/lib/commands/page/data-list-status.js +1 -1
- package/lib/commands/page/generate-start.js +1 -1
- package/lib/commands/page/generate-status.js +1 -1
- package/lib/commands/page/index.js +1 -1
- package/lib/commands/page/pull.js +1 -1
- package/lib/commands/page/push.js +1 -1
- package/lib/commands/page/relation-audit.js +1 -1
- package/lib/commands/page/restore.js +1 -1
- package/lib/commands/page/shared.js +1 -1
- package/lib/commands/page/sync.js +1 -1
- package/lib/commands/project/create/enhanced-guided-create.js +1 -1
- package/lib/commands/project/create/format-elapsed.js +1 -1
- package/lib/commands/project/create/main.js +1 -1
- package/lib/commands/project/create/materialize-project-template.js +1 -1
- package/lib/commands/project/create/project-name.js +1 -1
- package/lib/commands/project/create/project-template-archive.js +1 -1
- package/lib/commands/project/create/project-template-path.js +1 -1
- package/lib/commands/project/create/use-copy-project-template.js +1 -1
- package/lib/commands/project/create/use-format-code.js +1 -1
- package/lib/commands/project/create/use-install-dependencies.js +1 -1
- package/lib/commands/project/index.js +1 -1
- package/lib/commands/project/upgrade.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/role/delete.js +1 -1
- package/lib/commands/role/detail.js +1 -1
- package/lib/commands/role/index.js +1 -1
- package/lib/commands/role/list.js +1 -1
- package/lib/commands/role/shared.js +1 -1
- package/lib/commands/role/update.js +1 -1
- package/lib/commands/role/user-add.js +1 -1
- package/lib/commands/role/user-remove.js +1 -1
- package/lib/commands/role/user-resolve.js +1 -1
- package/lib/commands/run/index.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/sql/create.js +1 -1
- package/lib/commands/sql/delete.js +1 -1
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/sql/list.js +1 -1
- package/lib/commands/sql/pull.js +1 -1
- package/lib/commands/sql/push.js +1 -1
- package/lib/commands/sql/shared.js +1 -1
- package/lib/commands/sql/status.js +1 -1
- package/lib/commands/sql/validate.js +1 -1
- package/lib/commands/task/index.js +1 -1
- package/lib/commands/task/status.js +1 -1
- package/lib/commands/tenant/index.js +1 -1
- package/lib/commands/tenant/members-list.js +1 -1
- package/lib/commands/tenant/shared.js +1 -1
- package/lib/commands/user-account/dingding-sandbox-bind.js +1 -1
- package/lib/commands/user-account/index.js +1 -1
- package/lib/commands/workspace/add.js +1 -1
- package/lib/commands/workspace/index.js +1 -1
- package/lib/commands/workspace/remove.js +1 -1
- package/lib/config/domain-config.d.ts +1 -1
- package/lib/config/domain-config.js +1 -1
- package/lib/config/project-routing.d.ts +30 -0
- package/lib/config/project-routing.js +1 -0
- package/lib/config/schema.d.ts +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.d.ts +7 -2
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/paths.js +1 -1
- package/lib/constant/region.d.ts +2 -2
- package/lib/constant/region.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/constant/routing-profile.d.ts +115 -0
- package/lib/constant/routing-profile.js +1 -0
- 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.d.ts +4 -4
- package/lib/generated/build-info.js +1 -1
- package/lib/help.js +1 -1
- package/lib/postinstall.js +1 -1
- package/lib/runtime/confirmation.js +1 -1
- package/lib/runtime/event.js +1 -1
- package/lib/runtime/index.js +1 -1
- package/lib/runtime/queue.js +1 -1
- package/lib/runtime/resolve.js +1 -1
- package/lib/skills/builtin-skill.js +1 -1
- package/lib/skills/main.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/skills/skill-presence.js +1 -1
- package/lib/telemetry/cli-command-trace.js +1 -1
- package/lib/telemetry/cli-help-trace.js +1 -1
- package/lib/telemetry/ensure-cli-otel-config.js +1 -1
- package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
- package/lib/telemetry/send-cli-trace-log.js +1 -1
- package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
- package/lib/utils/ai_config.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/cdn-config.js +1 -1
- package/lib/utils/check-sdk-version.js +1 -1
- package/lib/utils/cli-version-check.js +1 -1
- package/lib/utils/cli-version-policy.js +1 -1
- package/lib/utils/config.js +1 -1
- package/lib/utils/entity-with-id.js +1 -1
- package/lib/utils/file-utils.js +1 -1
- package/lib/utils/guides-cdn.js +1 -1
- package/lib/utils/http-client.js +1 -1
- package/lib/utils/is-non-interactive.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/platform.js +1 -1
- package/lib/utils/sleep.js +1 -1
- package/lib/utils/template-replacer.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/with-active-cookie.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +1 -2
- package/skills/rabetbase/SKILL.md +10 -5
- package/skills/rabetbase/guides/frontend-development.md +2 -0
- package/skills/rabetbase/guides/sdk-client-generation.md +3 -2
- package/skills/rabetbase/guides/typescript-sdk.md +42 -0
- package/skills/rabetbase/references/rabetbase-api-pull.md +5 -3
- package/skills/rabetbase/references/rabetbase-config.md +9 -5
- package/skills/rabetbase/references/rabetbase-init.md +11 -5
- package/skills/rabetbase/references/rabetbase-project-create.md +6 -5
- package/skills/rabetbase.manifest.json +3 -3
- package/templates/README.md +13 -17
|
@@ -1 +1 @@
|
|
|
1
|
-
const a111_0x9eb37c=a111_0xaa47;(function(_0x5e57a4,_0x13ecbf){const _0x33b8d0=a111_0xaa47,_0x4af0d4=_0x5e57a4();while(!![]){try{const _0x255605=-parseInt(_0x33b8d0(0x18d))/0x1*(-parseInt(_0x33b8d0(0x164))/0x2)+parseInt(_0x33b8d0(0x148))/0x3+-parseInt(_0x33b8d0(0x194))/0x4*(-parseInt(_0x33b8d0(0x16e))/0x5)+parseInt(_0x33b8d0(0x173))/0x6+parseInt(_0x33b8d0(0x15f))/0x7*(-parseInt(_0x33b8d0(0x183))/0x8)+parseInt(_0x33b8d0(0x1a7))/0x9+-parseInt(_0x33b8d0(0x150))/0xa*(parseInt(_0x33b8d0(0x152))/0xb);if(_0x255605===_0x13ecbf)break;else _0x4af0d4['push'](_0x4af0d4['shift']());}catch(_0x3d610d){_0x4af0d4['push'](_0x4af0d4['shift']());}}}(a111_0x7df0,0x2b96e));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{assertMenuDeletePlanCurrent,assertMenuDeletePlanExecutable,createMenuDeletePlanFile,mutationPlanFromDeleteFile,readMenuDeletePlan,writeMenuDeletePlan}from'../../commands/menu/shared/delete-plan.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_FLAGS,MENU_ID_FLAG,asVerificationError,assertExpectedState,describeMenuErrorCause,fetchMutationSnapshot,hasFlag,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,requireExplicitYes,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{batchDeleteMenuEntities}from'../../commands/menu/shared/service.js';import{CliError,CliErrors}from'../../errors.js';const BACKEND=[{'method':a111_0x9eb37c(0x170),'path':a111_0x9eb37c(0x19a)}],MENU_DELETE_ID_FLAG={...MENU_ID_FLAG,'required':![],'description':a111_0x9eb37c(0x18e)},MENU_DELETE_RECURSIVE_FLAG={'name':a111_0x9eb37c(0x178),'type':a111_0x9eb37c(0x18a),'description':a111_0x9eb37c(0x166)},MENU_DELETE_PLAN_OUT_FLAG={'name':a111_0x9eb37c(0x1a8),'type':a111_0x9eb37c(0x162),'description':a111_0x9eb37c(0x188)},MENU_DELETE_PLAN_FLAG={'name':'plan','type':a111_0x9eb37c(0x162),'description':a111_0x9eb37c(0x16f)};export const menuDelete={'service':a111_0x9eb37c(0x16a),'command':a111_0x9eb37c(0x19d),'description':a111_0x9eb37c(0x19b),'risk':'high-risk-write','structuredErrors':!![],'flags':[MENU_DELETE_ID_FLAG,MENU_DELETE_RECURSIVE_FLAG,MENU_DELETE_PLAN_OUT_FLAG,MENU_DELETE_PLAN_FLAG,...MENU_EXPECT_FLAGS,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x1e66df){const _0x25f1b3=a111_0x9eb37c;_0x1e66df['bool'](_0x25f1b3(0x17e))?validateDeleteDryRunInput(_0x1e66df):validateDeleteExecuteInput(_0x1e66df),requireExplicitYes(_0x1e66df);},async 'dryRun'(_0x2d2adc){const _0x1479cc=a111_0x9eb37c;validateDeleteDryRunInput(_0x2d2adc);const _0x39f987=await buildDeletePlan(_0x2d2adc),_0x427553=createMenuDeletePlanFile(_0x2d2adc[_0x1479cc(0x167)],_0x39f987),_0x4e7489=await writeMenuDeletePlan(_0x2d2adc[_0x1479cc(0x1ac)]('plan-out'),_0x427553),_0x426d49=mutationResult({..._0x39f987,'planFile':{'path':_0x4e7489,'createdAt':_0x427553['createdAt'],'expiresAt':_0x427553[_0x1479cc(0x17d)]}});return menuDryRunResult(_0x426d49,{'method':_0x1479cc(0x170),'url':_0x1479cc(0x19a),'body':{'idList':_0x426d49[_0x1479cc(0x15b)]},'description':_0x1479cc(0x158)+(_0x426d49[_0x1479cc(0x15b)]?.['length']??0x1)+_0x1479cc(0x184)+_0x426d49[_0x1479cc(0x185)]['id']+_0x1479cc(0x15d)+_0x4e7489+'.'});},async 'execute'(_0x4ed132){const _0x3429d=a111_0x9eb37c;requireExplicitYes(_0x4ed132),validateDeleteExecuteInput(_0x4ed132);const _0x3df875=await readMenuDeletePlan(_0x4ed132[_0x3429d(0x1ac)]('plan')),_0x13195b=mutationPlanFromDeleteFile(_0x3df875[_0x3429d(0x180)],_0x3df875[_0x3429d(0x1a1)]),_0x38e1e0=_0x3df875['plan'][_0x3429d(0x1a2)]['id'];try{assertMenuDeletePlanExecutable(_0x3df875[_0x3429d(0x180)],_0x4ed132[_0x3429d(0x167)]);}catch(_0x44a91b){throw menuFailure(asMenuError(_0x44a91b),_0x13195b,{'stage':_0x3429d(0x13a),'failed':{'id':_0x38e1e0}});}let _0x39898b,_0x125731;try{_0x39898b=await fetchMutationSnapshot(_0x4ed132,_0x3429d(0x163),_0x38e1e0),_0x125731=assertMenuDeletePlanCurrent(_0x3df875[_0x3429d(0x180)],_0x4ed132['appCode'],_0x39898b),assertDeleteTargetsComplete(_0x3df875[_0x3429d(0x180)],_0x39898b),_0x125731[_0x3429d(0x140)](_0x332075=>assertDeleteSafety(_0x332075,_0x3df875[_0x3429d(0x180)][_0x3429d(0x178)])),assertNoSharedPages(_0x39898b,_0x125731),assertCascadeMatchesPlan(_0x13195b,_0x125731);}catch(_0x55bd7c){throw menuFailure(asMenuError(_0x55bd7c),_0x13195b,{'stage':'pre-write-plan-validation','failed':{'id':_0x38e1e0}});}const _0x56369a=_0x3df875[_0x3429d(0x180)]['deleteOrder'];let _0x45f79f;try{_0x45f79f=await batchDeleteMenuEntities(_0x4ed132[_0x3429d(0x168)],_0x56369a);}catch(_0x36d021){const _0x1f785e=mapMenuApiError(_0x36d021,_0x3429d(0x187)),_0x2b0503=['The\x20batch\x20delete\x20may\x20have\x20partially\x20applied;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20creating\x20a\x20new\x20plan.'];let _0x4dddb5;try{_0x4dddb5=await readDeleteOutcome(_0x4ed132,_0x56369a);}catch(_0x424cfc){const _0x58a6d8=describeMenuErrorCause(_0x424cfc,_0x3429d(0x160),_0x38e1e0);_0x2b0503[_0x3429d(0x1a5)]('Post-failure\x20menu\x20readback\x20failed\x20('+_0x58a6d8[_0x3429d(0x16b)]+_0x3429d(0x169)+_0x58a6d8[_0x3429d(0x13e)]);throw menuFailure(_0x1f785e,_0x13195b,{'stage':_0x3429d(0x139),'failed':{'targetIds':_0x56369a,'targetIdsAbsent':_0x3429d(0x15c),..._0x58a6d8},'warnings':_0x2b0503,'verification':{'status':_0x3429d(0x198),'lookupCommand':_0x3429d(0x165),'targetIds':_0x56369a}});}throw menuFailure(_0x1f785e,_0x13195b,{'stage':_0x3429d(0x139),'succeeded':_0x4dddb5[_0x3429d(0x181)][_0x3429d(0x172)](_0x2d4c81=>({'id':_0x2d4c81,'deleted':!![]})),'failed':{'targetIds':_0x56369a,'absentIds':_0x4dddb5[_0x3429d(0x181)],'remainingIds':_0x4dddb5['remainingIds']},'warnings':_0x2b0503,'verification':verificationFromOutcome(_0x4dddb5)});}if(_0x45f79f!==_0x56369a['length']){const _0x1b56de=menuError('menu_batch_delete_count_mismatch','Backend\x20reported\x20'+_0x45f79f+_0x3429d(0x154)+_0x56369a[_0x3429d(0x15a)]+'.',_0x3429d(0x196)),_0xab5918=[_0x3429d(0x156)];let _0x475534;try{_0x475534=await readDeleteOutcome(_0x4ed132,_0x56369a);}catch(_0x29594d){const _0x4e1a38=describeMenuErrorCause(_0x29594d,'read\x20menu\x20state\x20after\x20batch\x20delete\x20count\x20mismatch',_0x38e1e0);_0xab5918[_0x3429d(0x1a5)](_0x3429d(0x14f)+_0x4e1a38[_0x3429d(0x16b)]+'):\x20'+_0x4e1a38[_0x3429d(0x13e)]);throw menuFailure(_0x1b56de,_0x13195b,{'stage':'batch-delete','failed':{'targetIds':_0x56369a,'expectedCount':_0x56369a[_0x3429d(0x15a)],'reportedDeletedCount':_0x45f79f,'targetIdsAbsent':_0x3429d(0x15c),..._0x4e1a38},'warnings':_0xab5918,'verification':{'status':_0x3429d(0x198),'lookupCommand':_0x3429d(0x165),'targetIds':_0x56369a}});}throw menuFailure(_0x1b56de,_0x13195b,{'stage':_0x3429d(0x139),'succeeded':_0x475534[_0x3429d(0x181)]['map'](_0x473849=>({'id':_0x473849,'deleted':!![]})),'failed':{'targetIds':_0x56369a,'expectedCount':_0x56369a[_0x3429d(0x15a)],'reportedDeletedCount':_0x45f79f,'absentIds':_0x475534[_0x3429d(0x181)],'remainingIds':_0x475534[_0x3429d(0x189)]},'warnings':_0xab5918,'verification':verificationFromOutcome(_0x475534)});}let _0x398050;try{_0x398050=await readDeleteOutcome(_0x4ed132,_0x56369a);}catch(_0x144348){const _0x1406bf=describeMenuErrorCause(_0x144348,_0x3429d(0x176),_0x38e1e0),_0x28814b=asVerificationError(_0x144348,'Batch\x20delete\x20request\x20for\x20menu\x20'+_0x38e1e0+_0x3429d(0x136));throw menuFailure(_0x28814b,_0x13195b,{'stage':_0x3429d(0x177),'succeeded':_0x56369a['map'](_0x15901f=>({'id':_0x15901f,'deleteRequested':!![]})),'failed':{'id':_0x38e1e0,'targetIds':_0x56369a,'targetIdsAbsent':_0x3429d(0x15c),..._0x1406bf},'warnings':[_0x3429d(0x13c)],'verification':{'status':_0x3429d(0x198),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetIds':_0x56369a}});}if(_0x398050[_0x3429d(0x189)][_0x3429d(0x15a)]>0x0){const _0x567a47=menuError('menu_verification_failed',_0x3429d(0x1ab)+_0x398050['remainingIds'][_0x3429d(0x19f)](',\x20')+'.','Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.');throw menuFailure(_0x567a47,_0x13195b,{'stage':'verification','succeeded':_0x56369a['map'](_0x2521ad=>({'id':_0x2521ad,'deleteRequested':!![]})),'failed':{'id':_0x38e1e0,'targetIds':_0x56369a,'absentIds':_0x398050[_0x3429d(0x181)],'remainingIds':_0x398050[_0x3429d(0x189)]},'warnings':['The\x20backend\x20acknowledged\x20the\x20batch\x20request,\x20but\x20final\x20menu\x20facts\x20did\x20not\x20confirm\x20every\x20deletion.'],'verification':verificationFromOutcome(_0x398050)});}const _0x3f99ff=_0x56369a[_0x3429d(0x172)](_0x34f87d=>({'id':_0x34f87d,'deleted':!![]})),_0x3ef81a=mutationResult({..._0x13195b,'dryRun':![],'succeeded':_0x3f99ff,'verification':{'checkedBy':_0x3429d(0x19c),'plannedSnapshotHash':_0x13195b[_0x3429d(0x161)],'finalSnapshotHash':_0x398050[_0x3429d(0x157)][_0x3429d(0x190)],'reportedDeletedCount':_0x45f79f,'targetAbsent':!_0x398050[_0x3429d(0x157)][_0x3429d(0x199)][_0x3429d(0x17c)](_0x38e1e0),'allTargetsAbsent':!![],'targetIds':_0x56369a}});return{'ok':!![],'data':_0x3ef81a,'message':_0x3429d(0x13b)+_0x3f99ff[_0x3429d(0x15a)]+_0x3429d(0x184)+_0x38e1e0+'.'};}};async function readDeleteOutcome(_0x249339,_0xb19a3a){const _0x3135c1=a111_0x9eb37c,_0x68251b=await fetchMenuSnapshot(_0x249339[_0x3135c1(0x167)],_0x249339[_0x3135c1(0x168)]);return{'snapshot':_0x68251b,'absentIds':_0xb19a3a['filter'](_0x17a617=>!_0x68251b['byId']['has'](_0x17a617)),'remainingIds':_0xb19a3a[_0x3135c1(0x17b)](_0x52af5f=>_0x68251b[_0x3135c1(0x199)][_0x3135c1(0x17c)](_0x52af5f))};}function verificationFromOutcome(_0x243940){const _0x4f7906=a111_0x9eb37c;return{'checkedBy':_0x4f7906(0x19c),'absentIds':_0x243940[_0x4f7906(0x181)],'remainingIds':_0x243940[_0x4f7906(0x189)]};}function a111_0x7df0(){const _0x30534c=['cascade','batch-delete','plan-validation','Deleted\x20','The\x20batch\x20delete\x20request\x20was\x20accepted,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.','Folder\x20','causeMessage','Menu\x20tree\x20contains\x20a\x20cycle\x20at\x20menu\x20','forEach','stringify','--plan\x20cannot\x20be\x20combined\x20with\x20--dry-run;\x20use\x20--plan-out.','pageId','\x20still\x20references\x20','toLowerCase','\x20references\x20missing\x20child\x20','expect-path','153456ebwqjc','\x20is\x20not\x20a\x20folder.','Page\x20bindings\x20are\x20referenced\x20by\x20menus\x20outside\x20the\x20delete\x20plan:\x20','--plan-out\x20is\x20required\x20for\x20menu\x20delete\x20dry-run\x20so\x20execution\x20can\x20consume\x20the\x20reviewed\x20plan.','resources','get','menu_plan_invalid','Post-mismatch\x20menu\x20readback\x20failed\x20(','170110QZyqUv','expected-children-count','209xIztHn','menu_folder_resources_invalid','\x20deleted\x20menus;\x20expected\x20','childrenIds','The\x20batch\x20response\x20count\x20did\x20not\x20match\x20the\x20reviewed\x20target\x20count;\x20do\x20not\x20retry\x20the\x20same\x20plan.','snapshot','Would\x20batch\x20delete\x20','Menu\x20delete\x20execution\x20consumes\x20only\x20--plan;\x20remove\x20','length','deleteOrder','unconfirmed',';\x20execution\x20must\x20consume\x20','childrenCount','18606LhxNpr','read\x20menu\x20state\x20after\x20batch\x20delete\x20failure','snapshotHash','string','execute\x20reviewed\x20delete\x20plan','8282kAmTWD','rabetbase\x20menu\x20list\x20--format\x20json','Include\x20every\x20descendant\x20of\x20the\x20exact\x20folder\x20id,\x20deleting\x20leaves\x20first','appCode','cookie','):\x20','menu','causeCode','flagMissing','Inspect\x20and\x20repair\x20the\x20folder\x20resource\x20binding\x20in\x20the\x20platform\x20before\x20deleting\x20it.','5JRVErE','Required\x20for\x20execution;\x20consume\x20an\x20unexpired\x20plan\x20created\x20by\x20--plan-out','POST','Recursive\x20menu\x20delete\x20plan\x20root\x20','map','1081962koHLhL','\x20and\x20cannot\x20be\x20deleted\x20safely.','trim','verify\x20batch\x20delete','verification','recursive','Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out\x20and\x20do\x20not\x20remove\x20or\x20reorder\x20targets.','menu_page_shared','filter','has','expiresAt','dry-run','expect-parent-id','plan','absentIds','\x20is\x20unexpectedly\x20bound\x20to\x20page\x20','408LOFCpL','\x20menu(s)\x20under\x20exact\x20id\x20','selector','\x20->\x20menu\x20','batch\x20delete','Required\x20with\x20--dry-run;\x20write\x20the\x20reviewed\x20plan\x20to\x20a\x20new\x20local\x20JSON\x20file','remainingIds','boolean','resourcesValid','message','2xErpBC','Exact\x20menu\x20id\x20(required\x20with\x20--dry-run)','\x22;\x20--recursive\x20requires\x20a\x20folder\x20root.','hash','unknown','Handle\x20child\x20ids\x20in\x20the\x20platform\x20first:\x20','menu_non_empty','1372556ExJtaD','\x20direct\x20child\x20menu(s)\x20and\x20cannot\x20be\x20deleted.','Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.','Inspect\x20the\x20folder\x20in\x20the\x20platform\x20before\x20deleting\x20it.','failed','byId','/smartapi/menu/batchDelete','Delete\x20an\x20exact\x20menu\x20or\x20a\x20folder\x20subtree\x20from\x20a\x20reviewed\x20plan','menu\x20list','delete','add','join','--plan\x20is\x20required\x20for\x20menu\x20delete\x20execution.','path','target','\x20has\x20','folder','push','validation','489681mMtLLO','plan-out','menus','menu_delete_page_bound','One\x20or\x20more\x20planned\x20menus\x20are\x20still\x20present\x20after\x20the\x20batch\x20delete\x20request:\x20','str','Menu\x20','menu_tree_invalid','type','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20absence','batch-delete-menu'];a111_0x7df0=function(){return _0x30534c;};return a111_0x7df0();}function validateDeleteDryRunInput(_0x569499){const _0xbf50c6=a111_0x9eb37c;validateExactId(_0x569499);if(!hasFlag(_0x569499,_0xbf50c6(0x1a8))||!_0x569499[_0xbf50c6(0x1ac)](_0xbf50c6(0x1a8))[_0xbf50c6(0x175)]())throw CliErrors['flagMissing'](_0xbf50c6(0x1a8),_0xbf50c6(0x14b));if(hasFlag(_0x569499,_0xbf50c6(0x180)))throw CliErrors[_0xbf50c6(0x1a6)](_0xbf50c6(0x142));}function validateDeleteExecuteInput(_0x1bc93){const _0x1fa308=a111_0x9eb37c;if(!hasFlag(_0x1bc93,_0x1fa308(0x180))||!_0x1bc93[_0x1fa308(0x1ac)](_0x1fa308(0x180))['trim']())throw CliErrors[_0x1fa308(0x16c)](_0x1fa308(0x180),_0x1fa308(0x1a0));const _0x862ad4=['id','recursive',_0x1fa308(0x1a8),_0x1fa308(0x17f),_0x1fa308(0x147),_0x1fa308(0x151)][_0x1fa308(0x17b)](_0x3709b1=>hasFlag(_0x1bc93,_0x3709b1));if(_0x862ad4[_0x1fa308(0x15a)]>0x0)throw CliErrors['validation'](_0x1fa308(0x159)+_0x862ad4[_0x1fa308(0x172)](_0x1f43c0=>'--'+_0x1f43c0)[_0x1fa308(0x19f)](',\x20')+'.');}async function buildDeletePlan(_0x345b1e){const _0x2121f3=a111_0x9eb37c,_0x5015e5=validateExactId(_0x345b1e),_0x2a0240=await fetchMutationSnapshot(_0x345b1e,'plan\x20delete',_0x5015e5),_0x39b7dc=requireMenu(_0x2a0240,_0x5015e5);assertExpectedState(_0x345b1e,_0x39b7dc);const _0x5500c2=_0x345b1e['bool'](_0x2121f3(0x178));let _0x371d82;if(_0x5500c2){if(_0x39b7dc['type'][_0x2121f3(0x175)]()[_0x2121f3(0x145)]()!==_0x2121f3(0x1a4))throw menuError('menu_recursive_requires_folder',_0x2121f3(0x133)+_0x39b7dc['id']+'\x20is\x20type\x20\x22'+(_0x39b7dc['type']||_0x2121f3(0x191))+_0x2121f3(0x18f));_0x371d82=collectDeleteTargets(_0x2a0240,_0x39b7dc),_0x371d82['forEach'](_0x268d16=>assertDeleteSafety(_0x268d16,!![]));}else assertDeleteSafety(_0x39b7dc),_0x371d82=[_0x39b7dc];assertNoSharedPages(_0x2a0240,_0x371d82);const _0x15ec84=_0x371d82[_0x2121f3(0x172)](_0x2d3dab=>_0x2d3dab['id']),_0x37b3b0=cascadeForTargets(_0x371d82),_0x1c3c71=_0x37b3b0['pages'][_0x2121f3(0x15a)]>0x0?['Deleting\x20page-bound\x20menus\x20invokes\x20the\x20platform\x27s\x20existing\x20page\x20and\x20PageSchema\x20cascade;\x20listed\x20page\x20ids\x20are\x20direct\x20menu\x20bindings.']:[];return mutationResult({'operation':_0x2121f3(0x19d),'selector':{'id':_0x5015e5,'recursive':_0x5500c2},'before':_0x39b7dc,'after':null,'dryRun':!![],'backend':[...BACKEND],'plannedActions':[{'stage':_0x2121f3(0x137),'method':_0x2121f3(0x170),'path':_0x2121f3(0x19a),'body':{'idList':_0x15ec84}}],'targets':_0x371d82,'deleteOrder':_0x15ec84,'snapshotHash':_0x2a0240[_0x2121f3(0x190)],'cascade':_0x37b3b0,'warnings':_0x1c3c71});}function assertDeleteSafety(_0x1e1caa,_0x204725=![]){const _0x1b5199=a111_0x9eb37c,_0x403681=_0x1e1caa[_0x1b5199(0x135)][_0x1b5199(0x175)]()[_0x1b5199(0x145)]()===_0x1b5199(0x1a4);if(_0x1e1caa[_0x1b5199(0x15e)]>0x0&&(!_0x204725||!_0x403681))throw menuError(_0x1b5199(0x193),'Menu\x20'+_0x1e1caa['id']+_0x1b5199(0x1a3)+_0x1e1caa[_0x1b5199(0x15e)]+_0x1b5199(0x195),_0x1b5199(0x192)+_0x1e1caa[_0x1b5199(0x155)][_0x1b5199(0x19f)](',\x20'));if(_0x403681&&_0x1e1caa[_0x1b5199(0x143)]!=null)throw menuError(_0x1b5199(0x1aa),_0x1b5199(0x13d)+_0x1e1caa['id']+_0x1b5199(0x182)+_0x1e1caa[_0x1b5199(0x143)]+_0x1b5199(0x174),_0x1b5199(0x197));if(!_0x403681)return;if(!_0x1e1caa[_0x1b5199(0x18b)])throw menuError(_0x1b5199(0x153),_0x1b5199(0x13d)+_0x1e1caa['id']+'\x20has\x20an\x20unreadable\x20extend.resources\x20value\x20and\x20cannot\x20be\x20proven\x20empty.',_0x1b5199(0x16d));if(_0x1e1caa[_0x1b5199(0x14c)][_0x1b5199(0x15a)]>0x0)throw menuError('menu_folder_has_resources',_0x1b5199(0x13d)+_0x1e1caa['id']+_0x1b5199(0x144)+_0x1e1caa[_0x1b5199(0x14c)][_0x1b5199(0x15a)]+'\x20resource\x20URL(s).','Remove\x20or\x20verify\x20the\x20resource\x20bindings\x20in\x20the\x20platform\x20before\x20deleting\x20the\x20folder.');}function collectDeleteTargets(_0x5aedee,_0x4a34f7){const _0x5d4dca=[],_0x9223a5=new Set(),_0x24e8c1=new Set(),_0x5bab1e=_0x3fd658=>{const _0x4275aa=a111_0xaa47;if(_0x9223a5[_0x4275aa(0x17c)](_0x3fd658['id']))throw menuError('menu_tree_invalid',_0x4275aa(0x13f)+_0x3fd658['id']+'.');if(_0x24e8c1[_0x4275aa(0x17c)](_0x3fd658['id']))return;_0x9223a5[_0x4275aa(0x19e)](_0x3fd658['id']);for(const _0x11c4ba of _0x3fd658['childrenIds']){const _0x1c69d9=_0x5aedee[_0x4275aa(0x199)][_0x4275aa(0x14d)](_0x11c4ba);if(!_0x1c69d9)throw menuError(_0x4275aa(0x134),_0x4275aa(0x133)+_0x3fd658['id']+_0x4275aa(0x146)+_0x11c4ba+'.');_0x5bab1e(_0x1c69d9);}_0x9223a5[_0x4275aa(0x19d)](_0x3fd658['id']),_0x24e8c1[_0x4275aa(0x19e)](_0x3fd658['id']),_0x5d4dca[_0x4275aa(0x1a5)](_0x3fd658);};return _0x5bab1e(_0x4a34f7),_0x5d4dca;}function a111_0xaa47(_0x1a387c,_0x1ae17a){_0x1a387c=_0x1a387c-0x133;const _0x7df09=a111_0x7df0();let _0xaa4761=_0x7df09[_0x1a387c];return _0xaa4761;}function assertDeleteTargetsComplete(_0x4a7ee5,_0x24f7a0){const _0xc1ed9b=a111_0x9eb37c,_0x3cc4e4=requireMenu(_0x24f7a0,_0x4a7ee5['target']['id']);if(_0x4a7ee5['recursive']&&_0x3cc4e4[_0xc1ed9b(0x135)][_0xc1ed9b(0x175)]()['toLowerCase']()!==_0xc1ed9b(0x1a4))throw menuError(_0xc1ed9b(0x14e),_0xc1ed9b(0x171)+_0x3cc4e4['id']+_0xc1ed9b(0x149));const _0x2fa026=_0x4a7ee5['recursive']?collectDeleteTargets(_0x24f7a0,_0x3cc4e4)[_0xc1ed9b(0x172)](_0x575823=>_0x575823['id']):[_0x3cc4e4['id']];if(JSON[_0xc1ed9b(0x141)](_0x4a7ee5[_0xc1ed9b(0x15b)])!==JSON[_0xc1ed9b(0x141)](_0x2fa026))throw menuError('menu_plan_invalid','Menu\x20delete\x20plan\x20does\x20not\x20contain\x20the\x20complete\x20current\x20subtree\x20in\x20leaf-first\x20order.',_0xc1ed9b(0x179));}function assertNoSharedPages(_0x5ad1ba,_0x47195e){const _0x1796d7=a111_0x9eb37c,_0xfbfd33=new Set(_0x47195e[_0x1796d7(0x172)](_0x8840af=>_0x8840af['id'])),_0x1cbcf8=new Set(_0x47195e['map'](_0x2b1eb1=>_0x2b1eb1[_0x1796d7(0x143)])['filter'](_0x2bd734=>_0x2bd734!=null));if(_0x1cbcf8['size']===0x0)return;const _0xa2fd96=_0x5ad1ba[_0x1796d7(0x1a9)][_0x1796d7(0x17b)](_0x31f6d1=>!_0xfbfd33['has'](_0x31f6d1['id'])&&_0x31f6d1['pageId']!=null&&_0x1cbcf8[_0x1796d7(0x17c)](_0x31f6d1[_0x1796d7(0x143)]));if(_0xa2fd96[_0x1796d7(0x15a)]===0x0)return;const _0x480df6=_0xa2fd96[_0x1796d7(0x172)](_0x48de1e=>'page\x20'+_0x48de1e[_0x1796d7(0x143)]+_0x1796d7(0x186)+_0x48de1e['id'])['join'](',\x20');throw menuError(_0x1796d7(0x17a),_0x1796d7(0x14a)+_0x480df6+'.','Keep\x20every\x20shared\x20page\x20reference\x20outside\x20this\x20operation,\x20or\x20choose\x20a\x20folder\x20whose\x20complete\x20subtree\x20contains\x20all\x20references.');}function assertCascadeMatchesPlan(_0x3e490b,_0x195ff9){const _0x50d3ba=a111_0x9eb37c,_0x4ef534=cascadeForTargets(_0x195ff9);if(JSON[_0x50d3ba(0x141)](_0x3e490b[_0x50d3ba(0x138)])!==JSON['stringify'](_0x4ef534))throw menuError(_0x50d3ba(0x14e),'Menu\x20delete\x20plan\x20cascade\x20does\x20not\x20match\x20the\x20reviewed\x20target\x20page\x20facts.');}function cascadeForTargets(_0x18679d){const _0x4aa0ed=a111_0x9eb37c,_0x51b7b4=_0x18679d['map'](_0x7327bb=>_0x7327bb[_0x4aa0ed(0x143)])['filter'](_0x40f590=>_0x40f590!=null)[_0x4aa0ed(0x17b)]((_0x3358f0,_0x14f9b0,_0x22e1ef)=>_0x22e1ef['indexOf'](_0x3358f0)===_0x14f9b0);return{'pages':_0x51b7b4,'pageSchemaAffected':_0x51b7b4[_0x4aa0ed(0x15a)]>0x0};}function asMenuError(_0x16e5db){const _0x28bc36=a111_0x9eb37c;return _0x16e5db instanceof CliError?_0x16e5db:menuError('menu_plan_invalid',_0x16e5db instanceof Error?_0x16e5db[_0x28bc36(0x18c)]:String(_0x16e5db));}
|
|
1
|
+
const a111_0x2ff704=a111_0x54fb;(function(_0x1cac41,_0x4193c7){const _0x5e235c=a111_0x54fb,_0x2d9ff1=_0x1cac41();while(!![]){try{const _0x5285ee=parseInt(_0x5e235c(0x144))/0x1*(-parseInt(_0x5e235c(0xea))/0x2)+parseInt(_0x5e235c(0x127))/0x3*(parseInt(_0x5e235c(0x116))/0x4)+-parseInt(_0x5e235c(0x145))/0x5+-parseInt(_0x5e235c(0x139))/0x6*(-parseInt(_0x5e235c(0xec))/0x7)+-parseInt(_0x5e235c(0x112))/0x8*(-parseInt(_0x5e235c(0xdf))/0x9)+-parseInt(_0x5e235c(0xe5))/0xa*(parseInt(_0x5e235c(0x11b))/0xb)+-parseInt(_0x5e235c(0xe7))/0xc;if(_0x5285ee===_0x4193c7)break;else _0x2d9ff1['push'](_0x2d9ff1['shift']());}catch(_0x323d50){_0x2d9ff1['push'](_0x2d9ff1['shift']());}}}(a111_0x1c7c,0xc2081));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{assertMenuDeletePlanCurrent,assertMenuDeletePlanExecutable,createMenuDeletePlanFile,mutationPlanFromDeleteFile,readMenuDeletePlan,writeMenuDeletePlan}from'../../commands/menu/shared/delete-plan.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_FLAGS,MENU_ID_FLAG,asVerificationError,assertExpectedState,describeMenuErrorCause,fetchMutationSnapshot,hasFlag,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,requireExplicitYes,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{batchDeleteMenuEntities}from'../../commands/menu/shared/service.js';import{CliError,CliErrors}from'../../errors.js';function a111_0x54fb(_0x43c5e2,_0x58f7dd){_0x43c5e2=_0x43c5e2-0xd1;const _0x1c7c23=a111_0x1c7c();let _0x54fb68=_0x1c7c23[_0x43c5e2];return _0x54fb68;}const BACKEND=[{'method':a111_0x2ff704(0xe3),'path':'/smartapi/menu/batchDelete'}],MENU_DELETE_ID_FLAG={...MENU_ID_FLAG,'required':![],'description':a111_0x2ff704(0xe4)},MENU_DELETE_RECURSIVE_FLAG={'name':a111_0x2ff704(0x130),'type':a111_0x2ff704(0x135),'description':'Include\x20every\x20descendant\x20of\x20the\x20exact\x20folder\x20id,\x20deleting\x20leaves\x20first'},MENU_DELETE_PLAN_OUT_FLAG={'name':'plan-out','type':a111_0x2ff704(0xdb),'description':'Required\x20with\x20--dry-run;\x20write\x20the\x20reviewed\x20plan\x20to\x20a\x20new\x20local\x20JSON\x20file'},MENU_DELETE_PLAN_FLAG={'name':a111_0x2ff704(0xfe),'type':a111_0x2ff704(0xdb),'description':a111_0x2ff704(0xf4)};export const menuDelete={'service':'menu','command':a111_0x2ff704(0x11f),'description':a111_0x2ff704(0xdd),'risk':a111_0x2ff704(0xda),'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'(_0x5bc566){const _0x58618a=a111_0x2ff704;_0x5bc566[_0x58618a(0xe0)]('dry-run')?validateDeleteDryRunInput(_0x5bc566):validateDeleteExecuteInput(_0x5bc566),requireExplicitYes(_0x5bc566);},async 'dryRun'(_0x1338b8){const _0x570bba=a111_0x2ff704;validateDeleteDryRunInput(_0x1338b8);const _0x2ca492=await buildDeletePlan(_0x1338b8),_0x503b81=createMenuDeletePlanFile(_0x1338b8[_0x570bba(0x128)],_0x2ca492),_0x4afca0=await writeMenuDeletePlan(_0x1338b8[_0x570bba(0x110)](_0x570bba(0xe2)),_0x503b81),_0x1087d6=mutationResult({..._0x2ca492,'planFile':{'path':_0x4afca0,'createdAt':_0x503b81[_0x570bba(0x12a)],'expiresAt':_0x503b81[_0x570bba(0x14f)]}});return menuDryRunResult(_0x1087d6,{'method':_0x570bba(0xe3),'url':'/smartapi/menu/batchDelete','body':{'idList':_0x1087d6[_0x570bba(0x138)]},'description':_0x570bba(0xeb)+(_0x1087d6[_0x570bba(0x138)]?.[_0x570bba(0x125)]??0x1)+'\x20menu(s)\x20under\x20exact\x20id\x20'+_0x1087d6[_0x570bba(0x101)]['id']+_0x570bba(0xd3)+_0x4afca0+'.'});},async 'execute'(_0x31cf65){const _0x12af47=a111_0x2ff704;requireExplicitYes(_0x31cf65),validateDeleteExecuteInput(_0x31cf65);const _0x33b9af=await readMenuDeletePlan(_0x31cf65[_0x12af47(0x110)](_0x12af47(0xfe))),_0x50fafd=mutationPlanFromDeleteFile(_0x33b9af[_0x12af47(0xfe)],_0x33b9af[_0x12af47(0xed)]),_0x17747a=_0x33b9af[_0x12af47(0xfe)]['target']['id'];try{assertMenuDeletePlanExecutable(_0x33b9af[_0x12af47(0xfe)],_0x31cf65[_0x12af47(0x128)]);}catch(_0x57ef18){throw menuFailure(asMenuError(_0x57ef18),_0x50fafd,{'stage':_0x12af47(0x13b),'failed':{'id':_0x17747a}});}let _0x564cd6,_0x1374c6;try{_0x564cd6=await fetchMutationSnapshot(_0x31cf65,'execute\x20reviewed\x20delete\x20plan',_0x17747a),_0x1374c6=assertMenuDeletePlanCurrent(_0x33b9af['plan'],_0x31cf65[_0x12af47(0x128)],_0x564cd6),assertDeleteTargetsComplete(_0x33b9af[_0x12af47(0xfe)],_0x564cd6),_0x1374c6[_0x12af47(0x149)](_0xdad8d4=>assertDeleteSafety(_0xdad8d4,_0x33b9af['plan']['recursive'])),assertNoSharedPages(_0x564cd6,_0x1374c6),assertCascadeMatchesPlan(_0x50fafd,_0x1374c6);}catch(_0x62391d){throw menuFailure(asMenuError(_0x62391d),_0x50fafd,{'stage':'pre-write-plan-validation','failed':{'id':_0x17747a}});}const _0x5d9265=_0x33b9af[_0x12af47(0xfe)][_0x12af47(0x138)];let _0x471165;try{_0x471165=await batchDeleteMenuEntities(_0x31cf65['cookie'],_0x5d9265);}catch(_0xb46623){const _0x8c8be3=mapMenuApiError(_0xb46623,_0x12af47(0xd5)),_0x5bf77f=[_0x12af47(0x11e)];let _0x2f9bf1;try{_0x2f9bf1=await readDeleteOutcome(_0x31cf65,_0x5d9265);}catch(_0x2ae39d){const _0x2ccdd3=describeMenuErrorCause(_0x2ae39d,_0x12af47(0x111),_0x17747a);_0x5bf77f[_0x12af47(0xf7)]('Post-failure\x20menu\x20readback\x20failed\x20('+_0x2ccdd3[_0x12af47(0x11a)]+_0x12af47(0x104)+_0x2ccdd3[_0x12af47(0x10c)]);throw menuFailure(_0x8c8be3,_0x50fafd,{'stage':_0x12af47(0x14a),'failed':{'targetIds':_0x5d9265,'targetIdsAbsent':_0x12af47(0x134),..._0x2ccdd3},'warnings':_0x5bf77f,'verification':{'status':_0x12af47(0x10d),'lookupCommand':_0x12af47(0x12c),'targetIds':_0x5d9265}});}throw menuFailure(_0x8c8be3,_0x50fafd,{'stage':_0x12af47(0x14a),'succeeded':_0x2f9bf1[_0x12af47(0x100)][_0x12af47(0x123)](_0x42371a=>({'id':_0x42371a,'deleted':!![]})),'failed':{'targetIds':_0x5d9265,'absentIds':_0x2f9bf1[_0x12af47(0x100)],'remainingIds':_0x2f9bf1[_0x12af47(0x122)]},'warnings':_0x5bf77f,'verification':verificationFromOutcome(_0x2f9bf1)});}if(_0x471165!==_0x5d9265[_0x12af47(0x125)]){const _0x2094b7=menuError('menu_batch_delete_count_mismatch','Backend\x20reported\x20'+_0x471165+_0x12af47(0xd4)+_0x5d9265[_0x12af47(0x125)]+'.',_0x12af47(0x132)),_0x135283=[_0x12af47(0xd6)];let _0x12920f;try{_0x12920f=await readDeleteOutcome(_0x31cf65,_0x5d9265);}catch(_0xb05570){const _0x3eeeca=describeMenuErrorCause(_0xb05570,'read\x20menu\x20state\x20after\x20batch\x20delete\x20count\x20mismatch',_0x17747a);_0x135283[_0x12af47(0xf7)]('Post-mismatch\x20menu\x20readback\x20failed\x20('+_0x3eeeca['causeCode']+_0x12af47(0x104)+_0x3eeeca[_0x12af47(0x10c)]);throw menuFailure(_0x2094b7,_0x50fafd,{'stage':'batch-delete','failed':{'targetIds':_0x5d9265,'expectedCount':_0x5d9265[_0x12af47(0x125)],'reportedDeletedCount':_0x471165,'targetIdsAbsent':_0x12af47(0x134),..._0x3eeeca},'warnings':_0x135283,'verification':{'status':_0x12af47(0x10d),'lookupCommand':_0x12af47(0x12c),'targetIds':_0x5d9265}});}throw menuFailure(_0x2094b7,_0x50fafd,{'stage':_0x12af47(0x14a),'succeeded':_0x12920f[_0x12af47(0x100)][_0x12af47(0x123)](_0x1d8226=>({'id':_0x1d8226,'deleted':!![]})),'failed':{'targetIds':_0x5d9265,'expectedCount':_0x5d9265[_0x12af47(0x125)],'reportedDeletedCount':_0x471165,'absentIds':_0x12920f[_0x12af47(0x100)],'remainingIds':_0x12920f[_0x12af47(0x122)]},'warnings':_0x135283,'verification':verificationFromOutcome(_0x12920f)});}let _0x54062f;try{_0x54062f=await readDeleteOutcome(_0x31cf65,_0x5d9265);}catch(_0x4967e2){const _0x861db6=describeMenuErrorCause(_0x4967e2,'verify\x20batch\x20delete',_0x17747a),_0x5138b4=asVerificationError(_0x4967e2,_0x12af47(0x13a)+_0x17747a+_0x12af47(0xd2));throw menuFailure(_0x5138b4,_0x50fafd,{'stage':_0x12af47(0x14e),'succeeded':_0x5d9265[_0x12af47(0x123)](_0x1c7306=>({'id':_0x1c7306,'deleteRequested':!![]})),'failed':{'id':_0x17747a,'targetIds':_0x5d9265,'targetIdsAbsent':'unconfirmed',..._0x861db6},'warnings':[_0x12af47(0xfd)],'verification':{'status':_0x12af47(0x10d),'lookupCommand':_0x12af47(0x12c),'targetIds':_0x5d9265}});}if(_0x54062f['remainingIds'][_0x12af47(0x125)]>0x0){const _0x1efe92=menuError('menu_verification_failed',_0x12af47(0xfa)+_0x54062f[_0x12af47(0x122)]['join'](',\x20')+'.',_0x12af47(0x132));throw menuFailure(_0x1efe92,_0x50fafd,{'stage':'verification','succeeded':_0x5d9265[_0x12af47(0x123)](_0x2bf844=>({'id':_0x2bf844,'deleteRequested':!![]})),'failed':{'id':_0x17747a,'targetIds':_0x5d9265,'absentIds':_0x54062f['absentIds'],'remainingIds':_0x54062f[_0x12af47(0x122)]},'warnings':[_0x12af47(0xf5)],'verification':verificationFromOutcome(_0x54062f)});}const _0x5a4b98=_0x5d9265[_0x12af47(0x123)](_0x2b69d5=>({'id':_0x2b69d5,'deleted':!![]})),_0x32b3de=mutationResult({..._0x50fafd,'dryRun':![],'succeeded':_0x5a4b98,'verification':{'checkedBy':_0x12af47(0x143),'plannedSnapshotHash':_0x50fafd['snapshotHash'],'finalSnapshotHash':_0x54062f[_0x12af47(0x137)][_0x12af47(0x103)],'reportedDeletedCount':_0x471165,'targetAbsent':!_0x54062f[_0x12af47(0x137)][_0x12af47(0x114)][_0x12af47(0xe1)](_0x17747a),'allTargetsAbsent':!![],'targetIds':_0x5d9265}});return{'ok':!![],'data':_0x32b3de,'message':_0x12af47(0x126)+_0x5a4b98[_0x12af47(0x125)]+'\x20menu(s)\x20under\x20exact\x20id\x20'+_0x17747a+'.'};}};async function readDeleteOutcome(_0xb9d9d8,_0x30988a){const _0x43880b=a111_0x2ff704,_0x25f99b=await fetchMenuSnapshot(_0xb9d9d8[_0x43880b(0x128)],_0xb9d9d8[_0x43880b(0xfb)]);return{'snapshot':_0x25f99b,'absentIds':_0x30988a[_0x43880b(0x106)](_0x4f9172=>!_0x25f99b[_0x43880b(0x114)][_0x43880b(0xe1)](_0x4f9172)),'remainingIds':_0x30988a[_0x43880b(0x106)](_0x5d25b6=>_0x25f99b['byId'][_0x43880b(0xe1)](_0x5d25b6))};}function verificationFromOutcome(_0x2efdca){const _0x36eba0=a111_0x2ff704;return{'checkedBy':_0x36eba0(0x143),'absentIds':_0x2efdca[_0x36eba0(0x100)],'remainingIds':_0x2efdca[_0x36eba0(0x122)]};}function validateDeleteDryRunInput(_0xc17e83){const _0x27ef3f=a111_0x2ff704;validateExactId(_0xc17e83);if(!hasFlag(_0xc17e83,_0x27ef3f(0xe2))||!_0xc17e83[_0x27ef3f(0x110)](_0x27ef3f(0xe2))['trim']())throw CliErrors[_0x27ef3f(0x105)]('plan-out','--plan-out\x20is\x20required\x20for\x20menu\x20delete\x20dry-run\x20so\x20execution\x20can\x20consume\x20the\x20reviewed\x20plan.');if(hasFlag(_0xc17e83,_0x27ef3f(0xfe)))throw CliErrors['validation'](_0x27ef3f(0x107));}function validateDeleteExecuteInput(_0x17ed2d){const _0x37f000=a111_0x2ff704;if(!hasFlag(_0x17ed2d,_0x37f000(0xfe))||!_0x17ed2d['str'](_0x37f000(0xfe))[_0x37f000(0x14c)]())throw CliErrors[_0x37f000(0x105)](_0x37f000(0xfe),'--plan\x20is\x20required\x20for\x20menu\x20delete\x20execution.');const _0x6faf86=['id',_0x37f000(0x130),'plan-out',_0x37f000(0xdc),_0x37f000(0xd9),_0x37f000(0x136)][_0x37f000(0x106)](_0x1259d4=>hasFlag(_0x17ed2d,_0x1259d4));if(_0x6faf86[_0x37f000(0x125)]>0x0)throw CliErrors[_0x37f000(0x108)](_0x37f000(0x147)+_0x6faf86['map'](_0x1692ff=>'--'+_0x1692ff)['join'](',\x20')+'.');}async function buildDeletePlan(_0x2443da){const _0x5594d2=a111_0x2ff704,_0x24d722=validateExactId(_0x2443da),_0xf619f9=await fetchMutationSnapshot(_0x2443da,_0x5594d2(0x113),_0x24d722),_0x5b9ce7=requireMenu(_0xf619f9,_0x24d722);assertExpectedState(_0x2443da,_0x5b9ce7);const _0x3a8a99=_0x2443da[_0x5594d2(0xe0)](_0x5594d2(0x130));let _0x7610b6;if(_0x3a8a99){if(_0x5b9ce7['type'][_0x5594d2(0x14c)]()[_0x5594d2(0xfc)]()!==_0x5594d2(0xff))throw menuError(_0x5594d2(0xde),'Menu\x20'+_0x5b9ce7['id']+_0x5594d2(0x11c)+(_0x5b9ce7[_0x5594d2(0x12f)]||_0x5594d2(0xe6))+'\x22;\x20--recursive\x20requires\x20a\x20folder\x20root.');_0x7610b6=collectDeleteTargets(_0xf619f9,_0x5b9ce7),_0x7610b6['forEach'](_0x2ffd5b=>assertDeleteSafety(_0x2ffd5b,!![]));}else assertDeleteSafety(_0x5b9ce7),_0x7610b6=[_0x5b9ce7];assertNoSharedPages(_0xf619f9,_0x7610b6);const _0x50975f=_0x7610b6['map'](_0x41341f=>_0x41341f['id']),_0x49ae53=cascadeForTargets(_0x7610b6),_0x346e1e=_0x49ae53[_0x5594d2(0x119)][_0x5594d2(0x125)]>0x0?[_0x5594d2(0xf6)]:[];return mutationResult({'operation':'delete','selector':{'id':_0x24d722,'recursive':_0x3a8a99},'before':_0x5b9ce7,'after':null,'dryRun':!![],'backend':[...BACKEND],'plannedActions':[{'stage':_0x5594d2(0xe8),'method':'POST','path':'/smartapi/menu/batchDelete','body':{'idList':_0x50975f}}],'targets':_0x7610b6,'deleteOrder':_0x50975f,'snapshotHash':_0xf619f9[_0x5594d2(0x103)],'cascade':_0x49ae53,'warnings':_0x346e1e});}function assertDeleteSafety(_0x3694fb,_0x193cd0=![]){const _0x1368ca=a111_0x2ff704,_0x4d7c0f=_0x3694fb[_0x1368ca(0x12f)]['trim']()[_0x1368ca(0xfc)]()===_0x1368ca(0xff);if(_0x3694fb['childrenCount']>0x0&&(!_0x193cd0||!_0x4d7c0f))throw menuError(_0x1368ca(0xe9),_0x1368ca(0x129)+_0x3694fb['id']+_0x1368ca(0xf3)+_0x3694fb[_0x1368ca(0x121)]+_0x1368ca(0x120),_0x1368ca(0x13c)+_0x3694fb['childrenIds'][_0x1368ca(0xd7)](',\x20'));if(_0x4d7c0f&&_0x3694fb['pageId']!=null)throw menuError(_0x1368ca(0x124),'Folder\x20'+_0x3694fb['id']+_0x1368ca(0x13e)+_0x3694fb[_0x1368ca(0x12b)]+_0x1368ca(0x11d),_0x1368ca(0xd8));if(!_0x4d7c0f)return;if(!_0x3694fb[_0x1368ca(0x13d)])throw menuError(_0x1368ca(0x109),_0x1368ca(0x10e)+_0x3694fb['id']+_0x1368ca(0x133),_0x1368ca(0x10a));if(_0x3694fb[_0x1368ca(0x140)][_0x1368ca(0x125)]>0x0)throw menuError(_0x1368ca(0x14d),_0x1368ca(0x10e)+_0x3694fb['id']+_0x1368ca(0x10f)+_0x3694fb[_0x1368ca(0x140)][_0x1368ca(0x125)]+_0x1368ca(0xf8),_0x1368ca(0xf0));}function collectDeleteTargets(_0x43f110,_0x52750a){const _0x128b25=[],_0x27e845=new Set(),_0x64d78e=new Set(),_0x25a7d0=_0xaa4f82=>{const _0x144ee8=a111_0x54fb;if(_0x27e845[_0x144ee8(0xe1)](_0xaa4f82['id']))throw menuError(_0x144ee8(0x12e),_0x144ee8(0x146)+_0xaa4f82['id']+'.');if(_0x64d78e[_0x144ee8(0xe1)](_0xaa4f82['id']))return;_0x27e845['add'](_0xaa4f82['id']);for(const _0x2416e1 of _0xaa4f82[_0x144ee8(0x118)]){const _0x478b82=_0x43f110[_0x144ee8(0x114)][_0x144ee8(0x14b)](_0x2416e1);if(!_0x478b82)throw menuError(_0x144ee8(0x12e),_0x144ee8(0x129)+_0xaa4f82['id']+'\x20references\x20missing\x20child\x20'+_0x2416e1+'.');_0x25a7d0(_0x478b82);}_0x27e845['delete'](_0xaa4f82['id']),_0x64d78e[_0x144ee8(0x10b)](_0xaa4f82['id']),_0x128b25[_0x144ee8(0xf7)](_0xaa4f82);};return _0x25a7d0(_0x52750a),_0x128b25;}function assertDeleteTargetsComplete(_0x4a5af6,_0x3c5549){const _0x4b26cb=a111_0x2ff704,_0x532b56=requireMenu(_0x3c5549,_0x4a5af6[_0x4b26cb(0xf1)]['id']);if(_0x4a5af6['recursive']&&_0x532b56[_0x4b26cb(0x12f)][_0x4b26cb(0x14c)]()[_0x4b26cb(0xfc)]()!==_0x4b26cb(0xff))throw menuError('menu_plan_invalid','Recursive\x20menu\x20delete\x20plan\x20root\x20'+_0x532b56['id']+_0x4b26cb(0x12d));const _0x5dd84b=_0x4a5af6[_0x4b26cb(0x130)]?collectDeleteTargets(_0x3c5549,_0x532b56)['map'](_0x3d193b=>_0x3d193b['id']):[_0x532b56['id']];if(JSON[_0x4b26cb(0x115)](_0x4a5af6[_0x4b26cb(0x138)])!==JSON[_0x4b26cb(0x115)](_0x5dd84b))throw menuError(_0x4b26cb(0x142),_0x4b26cb(0xd1),_0x4b26cb(0x148));}function assertNoSharedPages(_0x13f2de,_0xede579){const _0x16c694=a111_0x2ff704,_0x3381ae=new Set(_0xede579[_0x16c694(0x123)](_0x38171b=>_0x38171b['id'])),_0x59c2e7=new Set(_0xede579[_0x16c694(0x123)](_0x66837a=>_0x66837a[_0x16c694(0x12b)])[_0x16c694(0x106)](_0x1b5eb0=>_0x1b5eb0!=null));if(_0x59c2e7[_0x16c694(0x102)]===0x0)return;const _0x46c50b=_0x13f2de[_0x16c694(0x117)][_0x16c694(0x106)](_0x63f81c=>!_0x3381ae[_0x16c694(0xe1)](_0x63f81c['id'])&&_0x63f81c[_0x16c694(0x12b)]!=null&&_0x59c2e7['has'](_0x63f81c['pageId']));if(_0x46c50b[_0x16c694(0x125)]===0x0)return;const _0x3b5df5=_0x46c50b[_0x16c694(0x123)](_0x1deb50=>_0x16c694(0xef)+_0x1deb50['pageId']+_0x16c694(0xf9)+_0x1deb50['id'])[_0x16c694(0xd7)](',\x20');throw menuError(_0x16c694(0x141),_0x16c694(0x131)+_0x3b5df5+'.',_0x16c694(0x13f));}function a111_0x1c7c(){const _0x245d34=['Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.','\x20has\x20an\x20unreadable\x20extend.resources\x20value\x20and\x20cannot\x20be\x20proven\x20empty.','unconfirmed','boolean','expected-children-count','snapshot','deleteOrder','78rtEPxY','Batch\x20delete\x20request\x20for\x20menu\x20','plan-validation','Handle\x20child\x20ids\x20in\x20the\x20platform\x20first:\x20','resourcesValid','\x20is\x20unexpectedly\x20bound\x20to\x20page\x20','Keep\x20every\x20shared\x20page\x20reference\x20outside\x20this\x20operation,\x20or\x20choose\x20a\x20folder\x20whose\x20complete\x20subtree\x20contains\x20all\x20references.','resources','menu_page_shared','menu_plan_invalid','menu\x20list','11osciJE','590450PIdMWS','Menu\x20tree\x20contains\x20a\x20cycle\x20at\x20menu\x20','Menu\x20delete\x20execution\x20consumes\x20only\x20--plan;\x20remove\x20','Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out\x20and\x20do\x20not\x20remove\x20or\x20reorder\x20targets.','forEach','batch-delete','get','trim','menu_folder_has_resources','verification','expiresAt','Menu\x20delete\x20plan\x20does\x20not\x20contain\x20the\x20complete\x20current\x20subtree\x20in\x20leaf-first\x20order.','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20absence',';\x20execution\x20must\x20consume\x20','\x20deleted\x20menus;\x20expected\x20','batch\x20delete','The\x20batch\x20response\x20count\x20did\x20not\x20match\x20the\x20reviewed\x20target\x20count;\x20do\x20not\x20retry\x20the\x20same\x20plan.','join','Inspect\x20the\x20folder\x20in\x20the\x20platform\x20before\x20deleting\x20it.','expect-path','high-risk-write','string','expect-parent-id','Delete\x20an\x20exact\x20menu\x20or\x20a\x20folder\x20subtree\x20from\x20a\x20reviewed\x20plan','menu_recursive_requires_folder','9SDkoCo','bool','has','plan-out','POST','Exact\x20menu\x20id\x20(required\x20with\x20--dry-run)','15310IXsqNK','unknown','26603556MbnLtk','batch-delete-menu','menu_non_empty','88580WupcFE','Would\x20batch\x20delete\x20','788039SiUfLr','path','indexOf','page\x20','Remove\x20or\x20verify\x20the\x20resource\x20bindings\x20in\x20the\x20platform\x20before\x20deleting\x20the\x20folder.','target','Menu\x20delete\x20plan\x20cascade\x20does\x20not\x20match\x20the\x20reviewed\x20target\x20page\x20facts.','\x20has\x20','Required\x20for\x20execution;\x20consume\x20an\x20unexpired\x20plan\x20created\x20by\x20--plan-out','The\x20backend\x20acknowledged\x20the\x20batch\x20request,\x20but\x20final\x20menu\x20facts\x20did\x20not\x20confirm\x20every\x20deletion.','Deleting\x20page-bound\x20menus\x20invokes\x20the\x20platform\x27s\x20existing\x20page\x20and\x20PageSchema\x20cascade;\x20listed\x20page\x20ids\x20are\x20direct\x20menu\x20bindings.','push','\x20resource\x20URL(s).','\x20->\x20menu\x20','One\x20or\x20more\x20planned\x20menus\x20are\x20still\x20present\x20after\x20the\x20batch\x20delete\x20request:\x20','cookie','toLowerCase','The\x20batch\x20delete\x20request\x20was\x20accepted,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.','plan','folder','absentIds','selector','size','hash','):\x20','flagMissing','filter','--plan\x20cannot\x20be\x20combined\x20with\x20--dry-run;\x20use\x20--plan-out.','validation','menu_folder_resources_invalid','Inspect\x20and\x20repair\x20the\x20folder\x20resource\x20binding\x20in\x20the\x20platform\x20before\x20deleting\x20it.','add','causeMessage','failed','Folder\x20','\x20still\x20references\x20','str','read\x20menu\x20state\x20after\x20batch\x20delete\x20failure','12552872fcLGnR','plan\x20delete','byId','stringify','3692OXFDpB','menus','childrenIds','pages','causeCode','3421yLJWsA','\x20is\x20type\x20\x22','\x20and\x20cannot\x20be\x20deleted\x20safely.','The\x20batch\x20delete\x20may\x20have\x20partially\x20applied;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20creating\x20a\x20new\x20plan.','delete','\x20direct\x20child\x20menu(s)\x20and\x20cannot\x20be\x20deleted.','childrenCount','remainingIds','map','menu_delete_page_bound','length','Deleted\x20','3447qnXdCC','appCode','Menu\x20','createdAt','pageId','rabetbase\x20menu\x20list\x20--format\x20json','\x20is\x20not\x20a\x20folder.','menu_tree_invalid','type','recursive','Page\x20bindings\x20are\x20referenced\x20by\x20menus\x20outside\x20the\x20delete\x20plan:\x20'];a111_0x1c7c=function(){return _0x245d34;};return a111_0x1c7c();}function assertCascadeMatchesPlan(_0x57aa38,_0x4c2728){const _0x22e501=a111_0x2ff704,_0x242c4b=cascadeForTargets(_0x4c2728);if(JSON[_0x22e501(0x115)](_0x57aa38['cascade'])!==JSON[_0x22e501(0x115)](_0x242c4b))throw menuError(_0x22e501(0x142),_0x22e501(0xf2));}function cascadeForTargets(_0x42d2d1){const _0x110b4c=a111_0x2ff704,_0x20e882=_0x42d2d1[_0x110b4c(0x123)](_0x37ac3f=>_0x37ac3f[_0x110b4c(0x12b)])['filter'](_0x4eecea=>_0x4eecea!=null)[_0x110b4c(0x106)]((_0x4d6bd3,_0x4c1df7,_0x171fb6)=>_0x171fb6[_0x110b4c(0xee)](_0x4d6bd3)===_0x4c1df7);return{'pages':_0x20e882,'pageSchemaAffected':_0x20e882[_0x110b4c(0x125)]>0x0};}function asMenuError(_0x1afc31){const _0x168380=a111_0x2ff704;return _0x1afc31 instanceof CliError?_0x1afc31:menuError(_0x168380(0x142),_0x1afc31 instanceof Error?_0x1afc31['message']:String(_0x1afc31));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a112_0x423ef5=a112_0x46d1;function a112_0x46d1(_0x3c2762,_0x35351b){_0x3c2762=_0x3c2762-0xdd;const _0x3a8dff=a112_0x3a8d();let _0x46d187=_0x3a8dff[_0x3c2762];return _0x46d187;}(function(_0x5d9312,_0x385f88){const _0x223b57=a112_0x46d1,_0x3ff561=_0x5d9312();while(!![]){try{const _0x115003=-parseInt(_0x223b57(0x128))/0x1*(parseInt(_0x223b57(0x126))/0x2)+-parseInt(_0x223b57(0x10e))/0x3*(parseInt(_0x223b57(0x118))/0x4)+parseInt(_0x223b57(0xfd))/0x5*(-parseInt(_0x223b57(0xde))/0x6)+parseInt(_0x223b57(0x151))/0x7*(-parseInt(_0x223b57(0x14a))/0x8)+-parseInt(_0x223b57(0x10f))/0x9*(-parseInt(_0x223b57(0x165))/0xa)+parseInt(_0x223b57(0xe2))/0xb+-parseInt(_0x223b57(0xdf))/0xc*(-parseInt(_0x223b57(0x155))/0xd);if(_0x115003===_0x385f88)break;else _0x3ff561['push'](_0x3ff561['shift']());}catch(_0x876415){_0x3ff561['push'](_0x3ff561['shift']());}}}(a112_0x3a8d,0x6dfde));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,fetchMutationSnapshot,menuDryRunResult,menuError,menuFailure,mapMenuApiError,isMenuResponseLoss,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliError,CliErrors}from'../../errors.js';const EXTERNAL_MENU_TYPES_BY_OPEN_MODE={'embedded':a112_0x423ef5(0x11a),'new-window':a112_0x423ef5(0xeb)};export function validateExternalMenuUrl(_0x1d7eb7){const _0x85aaab=a112_0x423ef5,_0x22f8ee=_0x1d7eb7[_0x85aaab(0xfc)]();let _0x1b0045;try{_0x1b0045=new URL(_0x22f8ee);}catch{throw menuError('menu_url_invalid',_0x85aaab(0xf0),_0x85aaab(0x123));}if(_0x1b0045['protocol']!==_0x85aaab(0x15a))throw menuError('menu_url_https_required',_0x85aaab(0x12b),_0x85aaab(0xf9));if(_0x1b0045['username']||_0x1b0045['password'])throw menuError(_0x85aaab(0xea),_0x85aaab(0x11f),_0x85aaab(0xe5));return _0x22f8ee;}export const menuExternalLinkCreate={'service':'menu','command':a112_0x423ef5(0x142),'description':a112_0x423ef5(0xee),'risk':a112_0x423ef5(0x143),'structuredErrors':!![],'flags':[{'name':a112_0x423ef5(0x11c),'type':a112_0x423ef5(0x13d),'required':!![],'description':a112_0x423ef5(0xf6)},{'name':a112_0x423ef5(0x140),'type':a112_0x423ef5(0x13d),'required':!![],'enum':[a112_0x423ef5(0xff),a112_0x423ef5(0x108)],'description':a112_0x423ef5(0x113)},{'name':a112_0x423ef5(0x154),'type':a112_0x423ef5(0x13d),'required':!![],'description':a112_0x423ef5(0xec)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':a112_0x423ef5(0xfa),'type':a112_0x423ef5(0x163),'default':!![],'description':'Whether\x20the\x20menu\x20is\x20visible'},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x260cca){validateAddInput(_0x260cca);},async 'dryRun'(_0x157a49){const _0x26f9e7=a112_0x423ef5;validateAddInput(_0x157a49);const {plan:_0x1d57ad}=await buildSafeAddPlan(_0x157a49,!![]),_0x4ddcac=_0x1d57ad[_0x26f9e7(0x16a)],_0x2f46d7=createBody(_0x4ddcac);return menuDryRunResult(_0x1d57ad,{'method':'POST','url':'/smartapi/menu/create','body':_0x2f46d7,'description':_0x26f9e7(0x15e)+JSON[_0x26f9e7(0x125)](_0x4ddcac['label'])+_0x26f9e7(0xef)+_0x157a49[_0x26f9e7(0x161)](_0x26f9e7(0x140))+_0x26f9e7(0x141)});},async 'execute'(_0x92801e){const _0x380339=a112_0x423ef5;validateAddInput(_0x92801e);const _0x31fcea=await buildSafeAddPlan(_0x92801e,![]),{plan:_0x351344,snapshot:_0x5803f8}=_0x31fcea,_0x33107f=_0x351344['after'],_0x2c8d82=buildMenuLookupCommand(_0x92801e['appCode']);await recheckAddSnapshot(_0x92801e,_0x351344);let _0x4fb676;try{_0x4fb676=await createMenuEntity(_0x92801e[_0x380339(0x14f)],_0x92801e[_0x380339(0x110)],createBody(_0x33107f));}catch(_0x2a0923){const _0x4c02ab=mapMenuApiError(_0x2a0923,_0x380339(0x111));if(!isMenuResponseLoss(_0x2a0923)||_0x4c02ab[_0x380339(0x13a)]==='menu_permission_denied')throw externalLinkCreateFailure(_0x4c02ab,_0x351344,{'stage':_0x380339(0x160),'failed':{},'verification':{'status':_0x380339(0x12f),'lookupCommand':_0x2c8d82}});return recoverAfterResponseLoss(_0x92801e,_0x31fcea,_0x2c8d82);}const _0xe00d56=Number(_0x4fb676?.['id']),_0x367efd=typeof _0x4fb676?.['path']===_0x380339(0x13d)?_0x4fb676[_0x380339(0x152)]:'';if(!Number[_0x380339(0x16b)](_0xe00d56)||_0xe00d56<=0x0||!_0x367efd[_0x380339(0xfc)]()){const _0x2e8de8=menuError(_0x380339(0x109),'Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.','Run\x20'+_0x2c8d82+_0x380339(0x133));throw externalLinkCreateFailure(_0x2e8de8,_0x351344,{'stage':_0x380339(0x132),'succeeded':Number[_0x380339(0x16b)](_0xe00d56)&&_0xe00d56>0x0?[{'id':_0xe00d56,'created':!![]}]:[],'failed':{'createdId':Number[_0x380339(0x16b)](_0xe00d56)?_0xe00d56:null,'generatedPathConfirmed':Boolean(_0x367efd[_0x380339(0xfc)]())},'warnings':['The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.'],'after':Number['isSafeInteger'](_0xe00d56)&&_0xe00d56>0x0?{..._0x33107f,'id':_0xe00d56,'path':_0x367efd}:_0x33107f,'verification':{'status':_0x380339(0x12f),'lookupCommand':_0x2c8d82,...Number['isSafeInteger'](_0xe00d56)&&_0xe00d56>0x0?{'targetId':_0xe00d56}:{}}});}const _0x3ab9d0=await readAndVerifyCreatedMenu({'appCode':_0x92801e[_0x380339(0x14f)],'cookie':_0x92801e[_0x380339(0x110)],'plan':_0x351344,'afterPlan':_0x33107f,'createdId':_0xe00d56,'expectedPath':_0x367efd,'lookupCommand':_0x2c8d82,'recovered':![]});return creationSuccess(_0x351344,_0x3ab9d0['snapshot'],_0x3ab9d0[_0x380339(0x166)],![]);}};function validateAddInput(_0x3b426f){const _0x21c283=a112_0x423ef5;if(!_0x3b426f[_0x21c283(0x161)](_0x21c283(0x11c))[_0x21c283(0xfc)]())throw CliErrors[_0x21c283(0x12c)](_0x21c283(0x11c));resolveExternalMenuType(_0x3b426f),validateExternalMenuUrl(_0x3b426f['str']('url')),parseParentId(_0x3b426f,_0x21c283(0x10d)),validateSort(_0x3b426f);}function resolveExternalMenuType(_0x14f800){const _0x3781af=a112_0x423ef5,_0x6615b4=_0x14f800['str'](_0x3781af(0x140))[_0x3781af(0xfc)]();if(!_0x6615b4)throw CliErrors[_0x3781af(0x12c)](_0x3781af(0x140));const _0x505e07=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0x6615b4];if(!_0x505e07)throw menuError(_0x3781af(0x119),'--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.',_0x3781af(0xe0));return _0x505e07;}async function buildAddPlan(_0x2e56db,_0x3c10a8){const _0x236ad5=a112_0x423ef5,_0x254f6e=await fetchMutationSnapshot(_0x2e56db,_0x236ad5(0x111)),_0x2a3d77=parseParentId(_0x2e56db,_0x236ad5(0x10d))??null;if(_0x2a3d77!=null)requireFolder(_0x254f6e,_0x2a3d77);const _0xbaf5c0=validateSort(_0x2e56db),_0x284dd5=_0xbaf5c0??nextSiblingSort(_0x254f6e,_0x2a3d77,_0x236ad5(0x149)),_0x462064=_0x2e56db[_0x236ad5(0x161)]('label')[_0x236ad5(0xfc)](),_0x267b1b=resolveExternalMenuType(_0x2e56db),_0x26bdc1=validateExternalMenuUrl(_0x2e56db['str'](_0x236ad5(0x154))),_0x30b3c0=Object[_0x236ad5(0x12e)]['hasOwnProperty'][_0x236ad5(0x11e)](_0x2e56db[_0x236ad5(0x16d)],_0x236ad5(0xfa))?_0x2e56db[_0x236ad5(0x112)](_0x236ad5(0xfa)):!![],_0x52877e={'id':null,'parentId':_0x2a3d77,'label':_0x462064,'path':'<platform-generated>','url':_0x26bdc1,'type':_0x267b1b,'visible':_0x30b3c0,'sort':_0x284dd5},_0x4812a1=buildMenuLookupCommand(_0x2e56db[_0x236ad5(0x14f)]),_0x2dd484=mutationResult({'operation':_0x236ad5(0x12d),'selector':{'parentId':_0x2a3d77,'type':_0x267b1b,'label':_0x462064,'url':_0x26bdc1},'before':null,'after':_0x52877e,'dryRun':_0x3c10a8,'backend':[{'method':_0x236ad5(0x115),'path':_0x236ad5(0x162)}],'plannedActions':[{'stage':'create-menu','method':_0x236ad5(0x115),'path':'/smartapi/menu/create','body':createBody(_0x52877e)}],'snapshotHash':_0x254f6e[_0x236ad5(0x11d)],'warnings':[_0x236ad5(0x144)],'verification':{'lookupCommand':_0x4812a1}});return{'plan':_0x2dd484,'snapshot':_0x254f6e};}async function buildSafeAddPlan(_0x8a62b3,_0x1f60aa){try{return await buildAddPlan(_0x8a62b3,_0x1f60aa);}catch(_0x4b96b8){throw safeMenuAddError(_0x4b96b8);}}function a112_0x3a8d(){const _0x512a36=['642282QVYFTt','9564xsDBWQ','Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.','Menu\x20','2047089UjOAoB','succeeded','menu_state_drift','Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.','Created\x20external\x20menu\x20','selector','menus','Run\x20','menu_url_credentials_forbidden','link','External\x20HTTPS\x20URL','data','Create\x20an\x20external\x20website\x20link\x20menu','\x20with\x20','External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.','External\x20menu\x20creation\x20failed.','currentSnapshotHash','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.','Created\x20menu\x20','Menu\x20label','menu_mutation_failed','readbackerror','Provide\x20an\x20HTTPS\x20URL.','visible','\x20has\x20an\x20unexpected\x20generated\x20path.','trim','35wlIUqH','entries','embedded','Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.','\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.','plannedActions','createdId','\x27\x5c\x27\x27','\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.','expectedSnapshotHash','body','new-window','menu_create_response_invalid','Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.','Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.','\x20has\x20an\x20unexpected\x20','parent-id','3cULAeA','45pJXhvE','cookie','create\x20external\x20menu','bool','How\x20to\x20open\x20the\x20external\x20website','Recovered\x20menu\x20','POST','filter','menu_create_recovery_required','371660NngNxi','menu_open_mode_invalid','iframe','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.','label','hash','call','External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.','menu_permission_denied','has','\x20--format\x20compress','Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.','map','stringify','10498VdEmnY','menu_parent_not_folder','170cXZxeP','before','pre-write-recheck','External\x20menu\x20URL\x20must\x20use\x20HTTPS.','flagMissing','add','prototype','failed','recovered','rabetbase\x20menu\x20list\x20--appcode\x20','create-response-validation','\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.','isArray','create-recovery','visibility','expectedPath','parent','afterPlan','code','replace','rawerror','string','fromEntries','lookupCommand','open-mode','\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.','external-link-create','write','The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','parentId','menu_sort_invalid','byId','includes','menu','1096EUChYB','\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.','plan','\x20could\x20not\x20be\x20verified.','menu_sort_overflow','appCode','The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.','19103HMeEZj','path','type','url','25961YDlCnC','sort','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.','menu\x20list','verification','https:','object','menu_not_found','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.','Would\x20create\x20external\x20website\x20link\x20menu\x20','\x20after\x20response\x20loss.','create','str','/smartapi/menu/create','boolean','\x20is\x20missing\x20from\x20final\x20menu\x20facts.','1562530lSItZn','fact','<redacted>','menu_verification_failed','length','after','isSafeInteger','\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.','rawFlags','The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.'];a112_0x3a8d=function(){return _0x512a36;};return a112_0x3a8d();}async function recheckAddSnapshot(_0x146316,_0x42f50b){const _0x28874e=a112_0x423ef5;try{await recheckMutationSnapshot(_0x146316,_0x42f50b,_0x28874e(0x111));}catch(_0x127196){const _0x103621=getFailureRecord(_0x127196);throw externalLinkCreateFailure(_0x127196,_0x42f50b,{'stage':_0x28874e(0x12a),'failed':{..._0x103621?.['expectedSnapshotHash']?{'expectedSnapshotHash':_0x103621[_0x28874e(0x106)]}:{},..._0x103621?.[_0x28874e(0xf3)]?{'currentSnapshotHash':_0x103621[_0x28874e(0xf3)]}:{}}});}}function createBody(_0x543fdc){const _0x297483=a112_0x423ef5;return{'parentId':toApiParentId(_0x543fdc[_0x297483(0x145)]),'label':String(_0x543fdc[_0x297483(0x11c)]),'type':String(_0x543fdc[_0x297483(0x153)]),'url':String(_0x543fdc[_0x297483(0x154)]),'visible':Boolean(_0x543fdc[_0x297483(0xfa)]),'sort':Number(_0x543fdc[_0x297483(0x156)]),'extend':{}};}function buildMenuLookupCommand(_0x1b7f56){const _0x158e55=a112_0x423ef5,_0x1078a8='\x27'+_0x1b7f56[_0x158e55(0x13b)](/'/g,_0x158e55(0x104))+'\x27';return _0x158e55(0x131)+_0x1078a8+_0x158e55(0x122);}async function recoverAfterResponseLoss(_0x4211d5,_0x2124ff,_0x20bee4){const _0x559852=a112_0x423ef5,{plan:_0x4432e9,snapshot:_0x1adfeb}=_0x2124ff,_0x3361c9=_0x4432e9['after'];let _0x3e6b4f;try{_0x3e6b4f=await fetchMenuSnapshot(_0x4211d5[_0x559852(0x14f)],_0x4211d5[_0x559852(0x110)]);}catch(_0x5720aa){throw recoveryRequiredFailure(_0x4432e9,_0x20bee4,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0x2fc164=_0x3e6b4f[_0x559852(0xe8)][_0x559852(0x116)](_0x104090=>_0x104090[_0x559852(0x145)]===_0x3361c9[_0x559852(0x145)]&&_0x104090[_0x559852(0x153)]===_0x3361c9['type']&&_0x104090[_0x559852(0x11c)]===_0x3361c9[_0x559852(0x11c)]&&_0x104090[_0x559852(0x154)]===_0x3361c9[_0x559852(0x154)]),_0x273c99=_0x2fc164[_0x559852(0x116)](_0x2a5bce=>!_0x1adfeb['byId'][_0x559852(0x121)](_0x2a5bce['id'])),_0x4e309a=_0x2fc164['filter'](_0x426a2b=>_0x1adfeb[_0x559852(0x147)][_0x559852(0x121)](_0x426a2b['id']));if(_0x2fc164[_0x559852(0x169)]!==0x1||_0x273c99['length']!==0x1)throw recoveryRequiredFailure(_0x4432e9,_0x20bee4,{'matchCount':_0x2fc164[_0x559852(0x169)],'newMatchCount':_0x273c99[_0x559852(0x169)],'preexistingMatchCount':_0x4e309a[_0x559852(0x169)]});const _0x3322ab=_0x273c99[0x0];try{verifyCreatedFact(_0x3322ab,_0x3322ab['id'],_0x3361c9,null);}catch(_0x11dbe8){const _0x161670=_0x11dbe8 instanceof Error&&_0x559852(0x13a)in _0x11dbe8?_0x11dbe8:menuError(_0x559852(0x168),_0x559852(0x114)+_0x3322ab['id']+_0x559852(0x14d),_0x559852(0xe9)+_0x20bee4+_0x559852(0x16c));throw externalLinkCreateFailure(_0x161670,_0x4432e9,{'stage':_0x559852(0x159),'succeeded':[{'id':_0x3322ab['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0x3322ab['id'],'finalFactsConfirmed':![]},'after':_0x3322ab,'warnings':[_0x559852(0xe1)+_0x3322ab['id']+_0x559852(0x14b)],'verification':{'status':_0x559852(0x12f),'targetId':_0x3322ab['id'],'recovered':!![],'lookupCommand':_0x20bee4}});}return creationSuccess(_0x4432e9,_0x3e6b4f,_0x3322ab,!![]);}function recoveryRequiredFailure(_0x32a7ad,_0x49c3a9,_0x35d1ba){const _0x3a14bf=a112_0x423ef5,_0x24af3f=menuError(_0x3a14bf(0x117),_0x3a14bf(0x150),_0x3a14bf(0xe9)+_0x49c3a9+'\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.');return externalLinkCreateFailure(_0x24af3f,_0x32a7ad,{'stage':_0x3a14bf(0x135),'failed':_0x35d1ba,'warnings':['The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.'],'verification':{'status':'failed',..._0x35d1ba,'lookupCommand':_0x49c3a9}});}async function readAndVerifyCreatedMenu(_0x3c359c){const _0x4d4de0=a112_0x423ef5;let _0x20b2c5;try{_0x20b2c5=await fetchMenuSnapshot(_0x3c359c[_0x4d4de0(0x14f)],_0x3c359c[_0x4d4de0(0x110)]);}catch(_0x137da5){const _0x484722=menuError('menu_verification_failed',_0x4d4de0(0xe1)+_0x3c359c[_0x4d4de0(0x103)]+'\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.',_0x4d4de0(0xe9)+_0x3c359c['lookupCommand']+_0x4d4de0(0x101));throw externalLinkCreateFailure(_0x484722,_0x3c359c[_0x4d4de0(0x14c)],{'stage':'verification','succeeded':[{'id':_0x3c359c[_0x4d4de0(0x103)],'created':!![]}],'failed':{'id':_0x3c359c[_0x4d4de0(0x103)],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0x3c359c['afterPlan'],'id':_0x3c359c['createdId'],'path':_0x3c359c[_0x4d4de0(0x137)]},'warnings':[_0x4d4de0(0xe1)+_0x3c359c[_0x4d4de0(0x103)]+_0x4d4de0(0x105)],'verification':{'status':_0x4d4de0(0x12f),'targetId':_0x3c359c[_0x4d4de0(0x103)],'lookupCommand':_0x3c359c['lookupCommand']}});}const _0x2a6fd8=_0x20b2c5['byId']['get'](_0x3c359c['createdId']);try{if(!_0x2a6fd8)throw menuError('menu_verification_failed',_0x4d4de0(0xf5)+_0x3c359c[_0x4d4de0(0x103)]+_0x4d4de0(0x164),'Run\x20'+_0x3c359c[_0x4d4de0(0x13f)]+'\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.');verifyCreatedFact(_0x2a6fd8,_0x3c359c['createdId'],_0x3c359c[_0x4d4de0(0x139)],_0x3c359c[_0x4d4de0(0x137)]);}catch(_0x35b81e){const _0x2d6e05=_0x35b81e instanceof Error&&_0x4d4de0(0x13a)in _0x35b81e?_0x35b81e:menuError(_0x4d4de0(0x168),'Created\x20menu\x20'+_0x3c359c[_0x4d4de0(0x103)]+'\x20failed\x20final\x20verification.',_0x4d4de0(0xe9)+_0x3c359c[_0x4d4de0(0x13f)]+_0x4d4de0(0x101));throw externalLinkCreateFailure(_0x2d6e05,_0x3c359c[_0x4d4de0(0x14c)],{'stage':_0x4d4de0(0x159),'succeeded':[{'id':_0x3c359c[_0x4d4de0(0x103)],'created':!![]}],'failed':{'id':_0x3c359c['createdId'],'finalFactsConfirmed':![]},'after':_0x2a6fd8??{..._0x3c359c[_0x4d4de0(0x139)],'id':_0x3c359c['createdId'],'path':_0x3c359c[_0x4d4de0(0x137)]},'warnings':['Menu\x20'+_0x3c359c[_0x4d4de0(0x103)]+'\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.'],'verification':{'status':_0x4d4de0(0x12f),'targetId':_0x3c359c['createdId'],'recovered':_0x3c359c[_0x4d4de0(0x130)],'lookupCommand':_0x3c359c[_0x4d4de0(0x13f)]}});}return{'snapshot':_0x20b2c5,'fact':_0x2a6fd8};}function verifyCreatedFact(_0x56efde,_0x245b27,_0x5ea43e,_0x5713e8){const _0x5e57b4=a112_0x423ef5;if(!Number[_0x5e57b4(0x16b)](_0x56efde['id'])||_0x56efde['id']<=0x0||_0x56efde['id']!==_0x245b27)throw menuError(_0x5e57b4(0x168),'Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.','Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.');const _0x42cf7a=[[_0x5e57b4(0x138),_0x56efde['parentId'],_0x5ea43e[_0x5e57b4(0x145)]],['type',_0x56efde[_0x5e57b4(0x153)],_0x5ea43e[_0x5e57b4(0x153)]],[_0x5e57b4(0x11c),_0x56efde[_0x5e57b4(0x11c)],_0x5ea43e['label']],['URL',_0x56efde[_0x5e57b4(0x154)],_0x5ea43e['url']],[_0x5e57b4(0x136),_0x56efde[_0x5e57b4(0xfa)],_0x5ea43e[_0x5e57b4(0xfa)]],['sort',_0x56efde['sort'],_0x5ea43e[_0x5e57b4(0x156)]]];for(const [_0x213b30,_0x5e7052,_0x2e5bfa]of _0x42cf7a){if(_0x5e7052!==_0x2e5bfa)throw menuError(_0x5e57b4(0x168),_0x5e57b4(0xf5)+_0x56efde['id']+_0x5e57b4(0x10c)+_0x213b30+'.',_0x5e57b4(0x157));}if(!_0x56efde[_0x5e57b4(0x152)][_0x5e57b4(0xfc)]()||_0x5713e8!==null&&_0x56efde[_0x5e57b4(0x152)]!==_0x5713e8)throw menuError(_0x5e57b4(0x168),'Created\x20menu\x20'+_0x56efde['id']+_0x5e57b4(0xfb),_0x5e57b4(0x157));}function creationSuccess(_0x15fdf7,_0x371a07,_0x342286,_0x5a18d0){const _0x2f98fa=a112_0x423ef5,_0x1c9cb0=mutationResult({..._0x15fdf7,'after':_0x342286,'dryRun':![],'succeeded':[{'id':_0x342286['id'],'created':!![],'recovered':_0x5a18d0}],'verification':{'checkedBy':_0x2f98fa(0x158),'snapshotHash':_0x371a07[_0x2f98fa(0x11d)],'targetId':_0x342286['id'],'recovered':_0x5a18d0,'path':_0x342286[_0x2f98fa(0x152)]}});return{'ok':!![],'message':_0x5a18d0?'Recovered\x20created\x20external\x20menu\x20'+_0x342286['id']+_0x2f98fa(0x15f):_0x2f98fa(0xe6)+_0x342286['id']+'.','data':{..._0x1c9cb0,'recovered':_0x5a18d0}};}function externalLinkCreateFailure(_0x33fa97,_0x3688d7,_0x56edc6){const _0x4c32c2=a112_0x423ef5;return menuFailure(safeMenuAddError(_0x33fa97),redactFailurePlan(_0x3688d7),{..._0x56edc6,'succeeded':_0x56edc6[_0x4c32c2(0xe3)]?.[_0x4c32c2(0x124)](redactFailureRecord),'failed':_0x56edc6[_0x4c32c2(0x12f)]?redactFailureRecord(_0x56edc6['failed']):undefined,'verification':_0x56edc6[_0x4c32c2(0x159)]?redactFailureRecord(_0x56edc6['verification']):undefined,'after':_0x56edc6[_0x4c32c2(0x16a)]===undefined?undefined:redactFailureValue(_0x56edc6[_0x4c32c2(0x16a)])});}function redactFailurePlan(_0x4683cb){const _0x50b376=a112_0x423ef5;return{..._0x4683cb,'selector':redactFailureRecord(_0x4683cb[_0x50b376(0xe7)]),'before':redactFailureValue(_0x4683cb[_0x50b376(0x129)]),'after':redactFailureValue(_0x4683cb[_0x50b376(0x16a)]),'plannedActions':_0x4683cb[_0x50b376(0x102)]?.['map'](_0x44a0c6=>({..._0x44a0c6,'body':redactFailureRecord(_0x44a0c6[_0x50b376(0x107)])})),'succeeded':_0x4683cb[_0x50b376(0xe3)][_0x50b376(0x124)](redactFailureRecord),'failed':_0x4683cb[_0x50b376(0x12f)][_0x50b376(0x124)](redactFailureRecord),'verification':_0x4683cb['verification']?redactFailureRecord(_0x4683cb['verification']):undefined};}function redactFailureRecord(_0x4345b4){return redactFailureValue(_0x4345b4);}function redactFailureValue(_0x31ace7,_0x34b660=''){const _0x3dea67=a112_0x423ef5,_0x559667=_0x34b660['toLowerCase']()[_0x3dea67(0x13b)](/[^a-z0-9]/g,'');if(['cause','causemessage',_0x3dea67(0xf8),_0x3dea67(0x13c)][_0x3dea67(0x148)](_0x559667))return _0x3dea67(0x167);if(Array[_0x3dea67(0x134)](_0x31ace7))return _0x31ace7[_0x3dea67(0x124)](_0x1c56e9=>redactFailureValue(_0x1c56e9));if(_0x31ace7&&typeof _0x31ace7==='object')return Object[_0x3dea67(0x13e)](Object[_0x3dea67(0xfe)](_0x31ace7)[_0x3dea67(0x124)](([_0x95b226,_0x2f1a7a])=>[_0x95b226,redactFailureValue(_0x2f1a7a,_0x95b226)]));return _0x31ace7;}function safeMenuAddError(_0x2e63e9){const _0x61ffdc=a112_0x423ef5,_0x8c732d=_0x2e63e9 instanceof CliError?_0x2e63e9[_0x61ffdc(0x13a)]:_0x61ffdc(0xf7);switch(_0x8c732d){case _0x61ffdc(0xe4):return menuError(_0x8c732d,_0x61ffdc(0x100),_0x61ffdc(0xf4));case _0x61ffdc(0x120):return menuError(_0x8c732d,_0x61ffdc(0x10a),_0x61ffdc(0x15d));case _0x61ffdc(0x109):return menuError(_0x8c732d,_0x61ffdc(0x10b),'Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.');case _0x61ffdc(0x168):return menuError(_0x8c732d,'Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.');case _0x61ffdc(0x117):return menuError(_0x8c732d,_0x61ffdc(0xdd),_0x61ffdc(0x11b));case _0x61ffdc(0xf7):case _0x61ffdc(0x15c):case _0x61ffdc(0x127):case _0x61ffdc(0x146):case _0x61ffdc(0x14e):return menuError(_0x8c732d,_0x61ffdc(0xf2),_0x61ffdc(0xf1));default:return menuError(_0x61ffdc(0xf7),_0x61ffdc(0xf2),_0x61ffdc(0xf1));}}function getFailureRecord(_0x1a0b5d){const _0x5986e2=a112_0x423ef5;if(!(_0x1a0b5d instanceof Error)||!('data'in _0x1a0b5d))return undefined;const _0x2e05c3=_0x1a0b5d[_0x5986e2(0xed)];if(!_0x2e05c3||typeof _0x2e05c3!==_0x5986e2(0x15b))return undefined;const _0x692618=_0x2e05c3[_0x5986e2(0x12f)];if(!Array[_0x5986e2(0x134)](_0x692618)||!_0x692618[0x0]||typeof _0x692618[0x0]!==_0x5986e2(0x15b))return undefined;return _0x692618[0x0];}
|
|
1
|
+
const a112_0x3cfc30=a112_0x5b33;(function(_0x4c258a,_0x50ece1){const _0x148c01=a112_0x5b33,_0x48b0b4=_0x4c258a();while(!![]){try{const _0x30a7a8=-parseInt(_0x148c01(0x96))/0x1*(-parseInt(_0x148c01(0xb7))/0x2)+parseInt(_0x148c01(0x94))/0x3*(-parseInt(_0x148c01(0x87))/0x4)+parseInt(_0x148c01(0x93))/0x5+-parseInt(_0x148c01(0xbf))/0x6*(parseInt(_0x148c01(0xa4))/0x7)+-parseInt(_0x148c01(0xb8))/0x8*(parseInt(_0x148c01(0x7d))/0x9)+parseInt(_0x148c01(0x8c))/0xa+-parseInt(_0x148c01(0xb4))/0xb*(-parseInt(_0x148c01(0x88))/0xc);if(_0x30a7a8===_0x50ece1)break;else _0x48b0b4['push'](_0x48b0b4['shift']());}catch(_0x13f727){_0x48b0b4['push'](_0x48b0b4['shift']());}}}(a112_0x449b,0x73ed8));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,fetchMutationSnapshot,menuDryRunResult,menuError,menuFailure,mapMenuApiError,isMenuResponseLoss,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliError,CliErrors}from'../../errors.js';const EXTERNAL_MENU_TYPES_BY_OPEN_MODE={'embedded':a112_0x3cfc30(0xe5),'new-window':a112_0x3cfc30(0x83)};export function validateExternalMenuUrl(_0x43d2f3){const _0x2885a4=a112_0x3cfc30,_0x3e5338=_0x43d2f3[_0x2885a4(0xd6)]();let _0x20d9af;try{_0x20d9af=new URL(_0x3e5338);}catch{throw menuError(_0x2885a4(0xa8),_0x2885a4(0x75),_0x2885a4(0x7b));}if(_0x20d9af['protocol']!==_0x2885a4(0xcd))throw menuError(_0x2885a4(0xec),'External\x20menu\x20URL\x20must\x20use\x20HTTPS.',_0x2885a4(0xfa));if(_0x20d9af[_0x2885a4(0xfb)]||_0x20d9af[_0x2885a4(0xd0)])throw menuError(_0x2885a4(0xb6),_0x2885a4(0xab),_0x2885a4(0x89));return _0x3e5338;}export const menuExternalLinkCreate={'service':a112_0x3cfc30(0x84),'command':a112_0x3cfc30(0xb0),'description':a112_0x3cfc30(0xa7),'risk':a112_0x3cfc30(0x85),'structuredErrors':!![],'flags':[{'name':a112_0x3cfc30(0xeb),'type':a112_0x3cfc30(0xef),'required':!![],'description':a112_0x3cfc30(0xf5)},{'name':a112_0x3cfc30(0x91),'type':a112_0x3cfc30(0xef),'required':!![],'enum':[a112_0x3cfc30(0xe3),a112_0x3cfc30(0x78)],'description':a112_0x3cfc30(0xe8)},{'name':a112_0x3cfc30(0xce),'type':a112_0x3cfc30(0xef),'required':!![],'description':a112_0x3cfc30(0xed)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':a112_0x3cfc30(0x74),'type':a112_0x3cfc30(0x99),'default':!![],'description':a112_0x3cfc30(0xe6)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x57bd43){validateAddInput(_0x57bd43);},async 'dryRun'(_0x45ded0){const _0x2d9919=a112_0x3cfc30;validateAddInput(_0x45ded0);const {plan:_0x387f18}=await buildSafeAddPlan(_0x45ded0,!![]),_0x3e2d3d=_0x387f18[_0x2d9919(0x9e)],_0x5287f9=createBody(_0x3e2d3d);return menuDryRunResult(_0x387f18,{'method':_0x2d9919(0xc2),'url':_0x2d9919(0xc4),'body':_0x5287f9,'description':_0x2d9919(0xf8)+JSON['stringify'](_0x3e2d3d['label'])+'\x20with\x20'+_0x45ded0[_0x2d9919(0xcc)](_0x2d9919(0x91))+_0x2d9919(0xdd)});},async 'execute'(_0x55bc35){const _0xfcc812=a112_0x3cfc30;validateAddInput(_0x55bc35);const _0x3655c7=await buildSafeAddPlan(_0x55bc35,![]),{plan:_0x44b16d,snapshot:_0x3b5c4b}=_0x3655c7,_0x2e8c24=_0x44b16d[_0xfcc812(0x9e)],_0x320e92=buildMenuLookupCommand(_0x55bc35[_0xfcc812(0xc9)]);await recheckAddSnapshot(_0x55bc35,_0x44b16d);let _0x3b20e0;try{_0x3b20e0=await createMenuEntity(_0x55bc35[_0xfcc812(0xc9)],_0x55bc35[_0xfcc812(0x90)],createBody(_0x2e8c24));}catch(_0x1b93c2){const _0x590fb8=mapMenuApiError(_0x1b93c2,_0xfcc812(0x6a));if(!isMenuResponseLoss(_0x1b93c2)||_0x590fb8['code']===_0xfcc812(0xad))throw externalLinkCreateFailure(_0x590fb8,_0x44b16d,{'stage':_0xfcc812(0xb2),'failed':{},'verification':{'status':_0xfcc812(0x7f),'lookupCommand':_0x320e92}});return recoverAfterResponseLoss(_0x55bc35,_0x3655c7,_0x320e92);}const _0x195784=Number(_0x3b20e0?.['id']),_0x1210f4=typeof _0x3b20e0?.[_0xfcc812(0x8a)]===_0xfcc812(0xef)?_0x3b20e0[_0xfcc812(0x8a)]:'';if(!Number[_0xfcc812(0xdc)](_0x195784)||_0x195784<=0x0||!_0x1210f4[_0xfcc812(0xd6)]()){const _0x5e5e3d=menuError(_0xfcc812(0xf9),_0xfcc812(0xde),_0xfcc812(0xaf)+_0x320e92+'\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.');throw externalLinkCreateFailure(_0x5e5e3d,_0x44b16d,{'stage':_0xfcc812(0x6b),'succeeded':Number[_0xfcc812(0xdc)](_0x195784)&&_0x195784>0x0?[{'id':_0x195784,'created':!![]}]:[],'failed':{'createdId':Number['isSafeInteger'](_0x195784)?_0x195784:null,'generatedPathConfirmed':Boolean(_0x1210f4[_0xfcc812(0xd6)]())},'warnings':[_0xfcc812(0xe2)],'after':Number[_0xfcc812(0xdc)](_0x195784)&&_0x195784>0x0?{..._0x2e8c24,'id':_0x195784,'path':_0x1210f4}:_0x2e8c24,'verification':{'status':_0xfcc812(0x7f),'lookupCommand':_0x320e92,...Number['isSafeInteger'](_0x195784)&&_0x195784>0x0?{'targetId':_0x195784}:{}}});}const _0x460658=await readAndVerifyCreatedMenu({'appCode':_0x55bc35[_0xfcc812(0xc9)],'cookie':_0x55bc35[_0xfcc812(0x90)],'plan':_0x44b16d,'afterPlan':_0x2e8c24,'createdId':_0x195784,'expectedPath':_0x1210f4,'lookupCommand':_0x320e92,'recovered':![]});return creationSuccess(_0x44b16d,_0x460658['snapshot'],_0x460658[_0xfcc812(0xa1)],![]);}};function validateAddInput(_0x7e6261){const _0x2b6f0e=a112_0x3cfc30;if(!_0x7e6261[_0x2b6f0e(0xcc)](_0x2b6f0e(0xeb))['trim']())throw CliErrors[_0x2b6f0e(0xdf)]('label');resolveExternalMenuType(_0x7e6261),validateExternalMenuUrl(_0x7e6261['str'](_0x2b6f0e(0xce))),parseParentId(_0x7e6261,'parent-id'),validateSort(_0x7e6261);}function resolveExternalMenuType(_0x5aa6c8){const _0x44bb0c=a112_0x3cfc30,_0x578e9b=_0x5aa6c8[_0x44bb0c(0xcc)](_0x44bb0c(0x91))[_0x44bb0c(0xd6)]();if(!_0x578e9b)throw CliErrors[_0x44bb0c(0xdf)](_0x44bb0c(0x91));const _0x30cdbd=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0x578e9b];if(!_0x30cdbd)throw menuError('menu_open_mode_invalid',_0x44bb0c(0x6e),_0x44bb0c(0xd2));return _0x30cdbd;}async function buildAddPlan(_0x2135ca,_0x2dcadf){const _0x522a03=a112_0x3cfc30,_0x217d26=await fetchMutationSnapshot(_0x2135ca,_0x522a03(0x6a)),_0x1c019d=parseParentId(_0x2135ca,_0x522a03(0x6f))??null;if(_0x1c019d!=null)requireFolder(_0x217d26,_0x1c019d);const _0x9283d0=validateSort(_0x2135ca),_0x4a897a=_0x9283d0??nextSiblingSort(_0x217d26,_0x1c019d,'menu'),_0x33da11=_0x2135ca[_0x522a03(0xcc)](_0x522a03(0xeb))[_0x522a03(0xd6)](),_0x1514a3=resolveExternalMenuType(_0x2135ca),_0x3f9a8f=validateExternalMenuUrl(_0x2135ca[_0x522a03(0xcc)]('url')),_0x2f8445=Object[_0x522a03(0xe7)]['hasOwnProperty'][_0x522a03(0xa5)](_0x2135ca[_0x522a03(0x95)],_0x522a03(0x74))?_0x2135ca[_0x522a03(0xa9)](_0x522a03(0x74)):!![],_0x1be884={'id':null,'parentId':_0x1c019d,'label':_0x33da11,'path':_0x522a03(0xdb),'url':_0x3f9a8f,'type':_0x1514a3,'visible':_0x2f8445,'sort':_0x4a897a},_0x56e050=buildMenuLookupCommand(_0x2135ca[_0x522a03(0xc9)]),_0x397c69=mutationResult({'operation':_0x522a03(0xc3),'selector':{'parentId':_0x1c019d,'type':_0x1514a3,'label':_0x33da11,'url':_0x3f9a8f},'before':null,'after':_0x1be884,'dryRun':_0x2dcadf,'backend':[{'method':_0x522a03(0xc2),'path':_0x522a03(0xc4)}],'plannedActions':[{'stage':_0x522a03(0x7a),'method':'POST','path':'/smartapi/menu/create','body':createBody(_0x1be884)}],'snapshotHash':_0x217d26['hash'],'warnings':['The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.'],'verification':{'lookupCommand':_0x56e050}});return{'plan':_0x397c69,'snapshot':_0x217d26};}async function buildSafeAddPlan(_0x420393,_0x289f45){try{return await buildAddPlan(_0x420393,_0x289f45);}catch(_0x2a66eb){throw safeMenuAddError(_0x2a66eb);}}function a112_0x5b33(_0x438b70,_0x372207){_0x438b70=_0x438b70-0x69;const _0x449b1d=a112_0x449b();let _0x5b33e5=_0x449b1d[_0x438b70];return _0x5b33e5;}async function recheckAddSnapshot(_0x10e3ea,_0x5a0cfa){const _0x206edf=a112_0x3cfc30;try{await recheckMutationSnapshot(_0x10e3ea,_0x5a0cfa,_0x206edf(0x6a));}catch(_0x28876b){const _0x370de7=getFailureRecord(_0x28876b);throw externalLinkCreateFailure(_0x28876b,_0x5a0cfa,{'stage':_0x206edf(0x9b),'failed':{..._0x370de7?.['expectedSnapshotHash']?{'expectedSnapshotHash':_0x370de7['expectedSnapshotHash']}:{},..._0x370de7?.[_0x206edf(0xe0)]?{'currentSnapshotHash':_0x370de7[_0x206edf(0xe0)]}:{}}});}}function createBody(_0x5531e4){const _0x43f470=a112_0x3cfc30;return{'parentId':toApiParentId(_0x5531e4['parentId']),'label':String(_0x5531e4[_0x43f470(0xeb)]),'type':String(_0x5531e4['type']),'url':String(_0x5531e4[_0x43f470(0xce)]),'visible':Boolean(_0x5531e4[_0x43f470(0x74)]),'sort':Number(_0x5531e4['sort']),'extend':{}};}function buildMenuLookupCommand(_0x1f3a34){const _0x5afebf=a112_0x3cfc30,_0x52c25a='\x27'+_0x1f3a34[_0x5afebf(0xac)](/'/g,'\x27\x5c\x27\x27')+'\x27';return _0x5afebf(0xaa)+_0x52c25a+_0x5afebf(0xf1);}async function recoverAfterResponseLoss(_0x467012,_0x2d77ce,_0x7171b1){const _0x40a067=a112_0x3cfc30,{plan:_0x51a305,snapshot:_0x8024ea}=_0x2d77ce,_0x1b0feb=_0x51a305[_0x40a067(0x9e)];let _0x511abf;try{_0x511abf=await fetchMenuSnapshot(_0x467012['appCode'],_0x467012[_0x40a067(0x90)]);}catch(_0x57722c){throw recoveryRequiredFailure(_0x51a305,_0x7171b1,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0x20f6e6=_0x511abf['menus'][_0x40a067(0xd5)](_0x5b142d=>_0x5b142d[_0x40a067(0x98)]===_0x1b0feb[_0x40a067(0x98)]&&_0x5b142d[_0x40a067(0xb9)]===_0x1b0feb['type']&&_0x5b142d[_0x40a067(0xeb)]===_0x1b0feb[_0x40a067(0xeb)]&&_0x5b142d[_0x40a067(0xce)]===_0x1b0feb[_0x40a067(0xce)]),_0x41a0b6=_0x20f6e6[_0x40a067(0xd5)](_0x14ffab=>!_0x8024ea[_0x40a067(0xc1)][_0x40a067(0x72)](_0x14ffab['id'])),_0x49f7f6=_0x20f6e6[_0x40a067(0xd5)](_0x18d306=>_0x8024ea[_0x40a067(0xc1)][_0x40a067(0x72)](_0x18d306['id']));if(_0x20f6e6['length']!==0x1||_0x41a0b6[_0x40a067(0xe1)]!==0x1)throw recoveryRequiredFailure(_0x51a305,_0x7171b1,{'matchCount':_0x20f6e6[_0x40a067(0xe1)],'newMatchCount':_0x41a0b6[_0x40a067(0xe1)],'preexistingMatchCount':_0x49f7f6[_0x40a067(0xe1)]});const _0x51e124=_0x41a0b6[0x0];try{verifyCreatedFact(_0x51e124,_0x51e124['id'],_0x1b0feb,null);}catch(_0x3edd2b){const _0x133a58=_0x3edd2b instanceof Error&&'code'in _0x3edd2b?_0x3edd2b:menuError(_0x40a067(0xb1),'Recovered\x20menu\x20'+_0x51e124['id']+_0x40a067(0xf2),'Run\x20'+_0x7171b1+_0x40a067(0xe4));throw externalLinkCreateFailure(_0x133a58,_0x51a305,{'stage':'verification','succeeded':[{'id':_0x51e124['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0x51e124['id'],'finalFactsConfirmed':![]},'after':_0x51e124,'warnings':[_0x40a067(0xbc)+_0x51e124['id']+_0x40a067(0x9f)],'verification':{'status':_0x40a067(0x7f),'targetId':_0x51e124['id'],'recovered':!![],'lookupCommand':_0x7171b1}});}return creationSuccess(_0x51a305,_0x511abf,_0x51e124,!![]);}function recoveryRequiredFailure(_0xb48c15,_0x3ec3a1,_0x59546f){const _0x27c0ae=a112_0x3cfc30,_0x45c643=menuError(_0x27c0ae(0xc0),_0x27c0ae(0x7e),_0x27c0ae(0xaf)+_0x3ec3a1+_0x27c0ae(0xcb));return externalLinkCreateFailure(_0x45c643,_0xb48c15,{'stage':_0x27c0ae(0x8f),'failed':_0x59546f,'warnings':[_0x27c0ae(0xd7)],'verification':{'status':_0x27c0ae(0x7f),..._0x59546f,'lookupCommand':_0x3ec3a1}});}async function readAndVerifyCreatedMenu(_0x4b41d0){const _0x28a7ab=a112_0x3cfc30;let _0x55496b;try{_0x55496b=await fetchMenuSnapshot(_0x4b41d0[_0x28a7ab(0xc9)],_0x4b41d0[_0x28a7ab(0x90)]);}catch(_0x4fb9ec){const _0x33af65=menuError(_0x28a7ab(0xb1),'Menu\x20'+_0x4b41d0[_0x28a7ab(0xc5)]+_0x28a7ab(0xc6),_0x28a7ab(0xaf)+_0x4b41d0[_0x28a7ab(0x79)]+'\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.');throw externalLinkCreateFailure(_0x33af65,_0x4b41d0[_0x28a7ab(0x80)],{'stage':_0x28a7ab(0xf0),'succeeded':[{'id':_0x4b41d0[_0x28a7ab(0xc5)],'created':!![]}],'failed':{'id':_0x4b41d0['createdId'],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0x4b41d0[_0x28a7ab(0xb3)],'id':_0x4b41d0['createdId'],'path':_0x4b41d0[_0x28a7ab(0xbd)]},'warnings':[_0x28a7ab(0xbc)+_0x4b41d0[_0x28a7ab(0xc5)]+'\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.'],'verification':{'status':_0x28a7ab(0x7f),'targetId':_0x4b41d0[_0x28a7ab(0xc5)],'lookupCommand':_0x4b41d0[_0x28a7ab(0x79)]}});}const _0xb63a9d=_0x55496b[_0x28a7ab(0xc1)]['get'](_0x4b41d0[_0x28a7ab(0xc5)]);try{if(!_0xb63a9d)throw menuError('menu_verification_failed',_0x28a7ab(0x81)+_0x4b41d0[_0x28a7ab(0xc5)]+_0x28a7ab(0xda),_0x28a7ab(0xaf)+_0x4b41d0[_0x28a7ab(0x79)]+_0x28a7ab(0x8d));verifyCreatedFact(_0xb63a9d,_0x4b41d0[_0x28a7ab(0xc5)],_0x4b41d0[_0x28a7ab(0xb3)],_0x4b41d0['expectedPath']);}catch(_0x47a539){const _0x15c706=_0x47a539 instanceof Error&&'code'in _0x47a539?_0x47a539:menuError(_0x28a7ab(0xb1),_0x28a7ab(0x81)+_0x4b41d0['createdId']+_0x28a7ab(0x9a),_0x28a7ab(0xaf)+_0x4b41d0[_0x28a7ab(0x79)]+_0x28a7ab(0x8d));throw externalLinkCreateFailure(_0x15c706,_0x4b41d0[_0x28a7ab(0x80)],{'stage':_0x28a7ab(0xf0),'succeeded':[{'id':_0x4b41d0[_0x28a7ab(0xc5)],'created':!![]}],'failed':{'id':_0x4b41d0[_0x28a7ab(0xc5)],'finalFactsConfirmed':![]},'after':_0xb63a9d??{..._0x4b41d0[_0x28a7ab(0xb3)],'id':_0x4b41d0[_0x28a7ab(0xc5)],'path':_0x4b41d0[_0x28a7ab(0xbd)]},'warnings':[_0x28a7ab(0xbc)+_0x4b41d0['createdId']+_0x28a7ab(0x9c)],'verification':{'status':_0x28a7ab(0x7f),'targetId':_0x4b41d0['createdId'],'recovered':_0x4b41d0['recovered'],'lookupCommand':_0x4b41d0[_0x28a7ab(0x79)]}});}return{'snapshot':_0x55496b,'fact':_0xb63a9d};}function verifyCreatedFact(_0x4abe65,_0x1a9f2e,_0x2c1581,_0x4b733d){const _0x354e3b=a112_0x3cfc30;if(!Number[_0x354e3b(0xdc)](_0x4abe65['id'])||_0x4abe65['id']<=0x0||_0x4abe65['id']!==_0x1a9f2e)throw menuError(_0x354e3b(0xb1),_0x354e3b(0xb5),_0x354e3b(0x71));const _0x5c6692=[[_0x354e3b(0xbe),_0x4abe65[_0x354e3b(0x98)],_0x2c1581[_0x354e3b(0x98)]],['type',_0x4abe65[_0x354e3b(0xb9)],_0x2c1581['type']],[_0x354e3b(0xeb),_0x4abe65['label'],_0x2c1581[_0x354e3b(0xeb)]],[_0x354e3b(0x92),_0x4abe65[_0x354e3b(0xce)],_0x2c1581[_0x354e3b(0xce)]],[_0x354e3b(0xf4),_0x4abe65[_0x354e3b(0x74)],_0x2c1581[_0x354e3b(0x74)]],[_0x354e3b(0xa6),_0x4abe65['sort'],_0x2c1581[_0x354e3b(0xa6)]]];for(const [_0x1f7b2e,_0x5a2766,_0x2c2e40]of _0x5c6692){if(_0x5a2766!==_0x2c2e40)throw menuError('menu_verification_failed',_0x354e3b(0x81)+_0x4abe65['id']+'\x20has\x20an\x20unexpected\x20'+_0x1f7b2e+'.',_0x354e3b(0xbb));}if(!_0x4abe65[_0x354e3b(0x8a)][_0x354e3b(0xd6)]()||_0x4b733d!==null&&_0x4abe65[_0x354e3b(0x8a)]!==_0x4b733d)throw menuError(_0x354e3b(0xb1),_0x354e3b(0x81)+_0x4abe65['id']+_0x354e3b(0x6c),_0x354e3b(0xbb));}function creationSuccess(_0x509b11,_0xdffc16,_0x15e907,_0x42d499){const _0x4bc4f7=a112_0x3cfc30,_0x3d5c36=mutationResult({..._0x509b11,'after':_0x15e907,'dryRun':![],'succeeded':[{'id':_0x15e907['id'],'created':!![],'recovered':_0x42d499}],'verification':{'checkedBy':_0x4bc4f7(0xe9),'snapshotHash':_0xdffc16[_0x4bc4f7(0xd4)],'targetId':_0x15e907['id'],'recovered':_0x42d499,'path':_0x15e907['path']}});return{'ok':!![],'message':_0x42d499?_0x4bc4f7(0x7c)+_0x15e907['id']+_0x4bc4f7(0x8b):'Created\x20external\x20menu\x20'+_0x15e907['id']+'.','data':{..._0x3d5c36,'recovered':_0x42d499}};}function externalLinkCreateFailure(_0x1f5dfc,_0x3d5ddd,_0x332953){const _0x484322=a112_0x3cfc30;return menuFailure(safeMenuAddError(_0x1f5dfc),redactFailurePlan(_0x3d5ddd),{..._0x332953,'succeeded':_0x332953[_0x484322(0x73)]?.[_0x484322(0x9d)](redactFailureRecord),'failed':_0x332953['failed']?redactFailureRecord(_0x332953[_0x484322(0x7f)]):undefined,'verification':_0x332953[_0x484322(0xf0)]?redactFailureRecord(_0x332953[_0x484322(0xf0)]):undefined,'after':_0x332953[_0x484322(0x9e)]===undefined?undefined:redactFailureValue(_0x332953[_0x484322(0x9e)])});}function redactFailurePlan(_0x30d610){const _0x139b98=a112_0x3cfc30;return{..._0x30d610,'selector':redactFailureRecord(_0x30d610[_0x139b98(0xf7)]),'before':redactFailureValue(_0x30d610[_0x139b98(0xa0)]),'after':redactFailureValue(_0x30d610[_0x139b98(0x9e)]),'plannedActions':_0x30d610[_0x139b98(0x70)]?.[_0x139b98(0x9d)](_0x529e4a=>({..._0x529e4a,'body':redactFailureRecord(_0x529e4a[_0x139b98(0x77)])})),'succeeded':_0x30d610[_0x139b98(0x73)]['map'](redactFailureRecord),'failed':_0x30d610[_0x139b98(0x7f)][_0x139b98(0x9d)](redactFailureRecord),'verification':_0x30d610['verification']?redactFailureRecord(_0x30d610[_0x139b98(0xf0)]):undefined};}function redactFailureRecord(_0x4d0bec){return redactFailureValue(_0x4d0bec);}function redactFailureValue(_0x30c2cd,_0x5330f4=''){const _0x30289f=a112_0x3cfc30,_0x4f1943=_0x5330f4[_0x30289f(0xf3)]()['replace'](/[^a-z0-9]/g,'');if(['cause',_0x30289f(0x86),_0x30289f(0xa3),_0x30289f(0x76)][_0x30289f(0x69)](_0x4f1943))return'<redacted>';if(Array[_0x30289f(0xd9)](_0x30c2cd))return _0x30c2cd[_0x30289f(0x9d)](_0x27415f=>redactFailureValue(_0x27415f));if(_0x30c2cd&&typeof _0x30c2cd===_0x30289f(0xae))return Object[_0x30289f(0xcf)](Object[_0x30289f(0xea)](_0x30c2cd)[_0x30289f(0x9d)](([_0xd70879,_0x261978])=>[_0xd70879,redactFailureValue(_0x261978,_0xd70879)]));return _0x30c2cd;}function safeMenuAddError(_0x44e4e1){const _0x113954=a112_0x3cfc30,_0x4d29e7=_0x44e4e1 instanceof CliError?_0x44e4e1['code']:_0x113954(0xd8);switch(_0x4d29e7){case'menu_state_drift':return menuError(_0x4d29e7,_0x113954(0xc8),_0x113954(0xa2));case _0x113954(0xad):return menuError(_0x4d29e7,_0x113954(0x82),_0x113954(0xf6));case'menu_create_response_invalid':return menuError(_0x4d29e7,'Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.',_0x113954(0xd1));case _0x113954(0xb1):return menuError(_0x4d29e7,_0x113954(0xd3),_0x113954(0xd1));case _0x113954(0xc0):return menuError(_0x4d29e7,'The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.');case _0x113954(0xd8):case _0x113954(0xca):case _0x113954(0xee):case _0x113954(0x6d):case _0x113954(0x8e):return menuError(_0x4d29e7,_0x113954(0xc7),_0x113954(0xba));default:return menuError(_0x113954(0xd8),'External\x20menu\x20creation\x20failed.',_0x113954(0xba));}}function getFailureRecord(_0x2728f4){const _0x5751f3=a112_0x3cfc30;if(!(_0x2728f4 instanceof Error)||!(_0x5751f3(0x97)in _0x2728f4))return undefined;const _0x22f0dd=_0x2728f4['data'];if(!_0x22f0dd||typeof _0x22f0dd!==_0x5751f3(0xae))return undefined;const _0x54843e=_0x22f0dd[_0x5751f3(0x7f)];if(!Array[_0x5751f3(0xd9)](_0x54843e)||!_0x54843e[0x0]||typeof _0x54843e[0x0]!==_0x5751f3(0xae))return undefined;return _0x54843e[0x0];}function a112_0x449b(){const _0x6861f1=['External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.','replace','menu_permission_denied','object','Run\x20','external-link-create','menu_verification_failed','create','afterPlan','193303tTnWYh','Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.','menu_url_credentials_forbidden','12jZMTyg','8UnUIyE','type','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.','Menu\x20','expectedPath','parent','6nVSJLT','menu_create_recovery_required','byId','POST','add','/smartapi/menu/create','createdId','\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.','External\x20menu\x20creation\x20failed.','Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.','appCode','menu_not_found','\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.','str','https:','url','fromEntries','password','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.','Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.','Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.','hash','filter','trim','The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.','menu_mutation_failed','isArray','\x20is\x20missing\x20from\x20final\x20menu\x20facts.','<platform-generated>','isSafeInteger','\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.','flagMissing','currentSnapshotHash','length','The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.','embedded','\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.','iframe','Whether\x20the\x20menu\x20is\x20visible','prototype','How\x20to\x20open\x20the\x20external\x20website','menu\x20list','entries','label','menu_url_https_required','External\x20HTTPS\x20URL','menu_parent_not_folder','string','verification','\x20--format\x20compress','\x20could\x20not\x20be\x20verified.','toLowerCase','visibility','Menu\x20label','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.','selector','Would\x20create\x20external\x20website\x20link\x20menu\x20','menu_create_response_invalid','Provide\x20an\x20HTTPS\x20URL.','username','includes','create\x20external\x20menu','create-response-validation','\x20has\x20an\x20unexpected\x20generated\x20path.','menu_sort_invalid','--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.','parent-id','plannedActions','Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.','has','succeeded','visible','External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.','rawerror','body','new-window','lookupCommand','create-menu','Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.','Recovered\x20created\x20external\x20menu\x20','6825015LzOXyf','The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.','failed','plan','Created\x20menu\x20','Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.','link','menu','write','causemessage','9308sdsMoU','552dgKjLZ','Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.','path','\x20after\x20response\x20loss.','6393930awAqCT','\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.','menu_sort_overflow','create-recovery','cookie','open-mode','URL','4109050YQzuSF','327dLCEDi','rawFlags','233QxCCfL','data','parentId','boolean','\x20failed\x20final\x20verification.','pre-write-recheck','\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.','map','after','\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.','before','fact','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.','readbackerror','5488987gZkhNT','call','sort','Create\x20an\x20external\x20website\x20link\x20menu','menu_url_invalid','bool','rabetbase\x20menu\x20list\x20--appcode\x20'];a112_0x449b=function(){return _0x6861f1;};return a112_0x449b();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a113_0x3fbd8b=a113_0x56b2;(function(_0xeb03c4,_0x3089a0){const _0x5353cf=a113_0x56b2,_0x1d2e5c=_0xeb03c4();while(!![]){try{const _0x18d2b4=-parseInt(_0x5353cf(0xd1))/0x1+-parseInt(_0x5353cf(0xbd))/0x2+parseInt(_0x5353cf(0xd0))/0x3+-parseInt(_0x5353cf(0xc4))/0x4+parseInt(_0x5353cf(0xca))/0x5+parseInt(_0x5353cf(0xa4))/0x6*(parseInt(_0x5353cf(0xc8))/0x7)+-parseInt(_0x5353cf(0xdf))/0x8;if(_0x18d2b4===_0x3089a0)break;else _0x1d2e5c['push'](_0x1d2e5c['shift']());}catch(_0x581a72){_0x1d2e5c['push'](_0x1d2e5c['shift']());}}}(a113_0x3a7e,0x19849));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{validateExternalMenuUrl}from'../../commands/menu/external-link-create.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_PARENT_ID_FLAG,MENU_ID_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,formatParent,hasFlag,isMenuResponseLoss,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,parseParentId,recheckMutationSnapshot,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':'POST','path':a113_0x3fbd8b(0xc6)}];export const menuExternalLinkUpdate={'service':a113_0x3fbd8b(0xb3),'command':a113_0x3fbd8b(0xaf),'description':'Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','risk':a113_0x3fbd8b(0xcd),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':'url','type':a113_0x3fbd8b(0xb9),'required':!![],'description':a113_0x3fbd8b(0xb2)},{'name':'expect-url','type':a113_0x3fbd8b(0xb9),'required':!![],'description':a113_0x3fbd8b(0xb6)},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x1673de){validateInput(_0x1673de);},async 'dryRun'(_0x32e1cb){const _0x16bd80=a113_0x3fbd8b;validateInput(_0x32e1cb);const _0x204051=await buildPlan(_0x32e1cb,!![]);return menuDryRunResult(_0x204051['plan'],{'method':'POST','url':'/smartapi/menu/update','body':_0x204051[_0x16bd80(0x9a)],'description':_0x16bd80(0xc0)+_0x204051[_0x16bd80(0x9a)]['id']+'.'});},async 'execute'(_0x3e67ed){const _0x151b4c=a113_0x3fbd8b;validateInput(_0x3e67ed);const _0x31ad07=await buildPlan(_0x3e67ed,![]),{plan:_0x43a0d8,body:_0x28b0c5,before:_0x1e1a84,noChanges:_0x3a2dc4}=_0x31ad07,_0x51c147=_0x28b0c5['id'];if(_0x3a2dc4)return updateSuccess(_0x43a0d8,_0x31ad07[_0x151b4c(0xdc)],_0x1e1a84,!![],![]);await recheckMutationSnapshot(_0x3e67ed,_0x43a0d8,'update\x20external\x20menu\x20URL',_0x51c147);try{await updateMenuEntity(_0x3e67ed['appCode'],_0x3e67ed[_0x151b4c(0xcf)],{'id':_0x28b0c5['id'],'url':_0x28b0c5['url']});}catch(_0x56a75f){const _0x38f002=mapMenuApiError(_0x56a75f,'update\x20external\x20menu\x20URL',_0x51c147);if(isMenuResponseLoss(_0x56a75f)&&_0x38f002[_0x151b4c(0x9b)]!=='menu_permission_denied')return recoverAfterResponseLoss(_0x3e67ed,_0x31ad07);throw menuFailure(_0x38f002,_0x43a0d8,{'stage':'update','failed':{'id':_0x51c147},'warnings':[_0x151b4c(0xae)],'verification':{'status':_0x151b4c(0xcb),'targetId':_0x51c147,'lookupCommand':buildLookupCommand(_0x3e67ed['appCode'])}});}let _0xa6a3c7,_0x376009;try{_0xa6a3c7=await fetchMenuSnapshot(_0x3e67ed['appCode'],_0x3e67ed[_0x151b4c(0xcf)]),_0x376009=requireMenu(_0xa6a3c7,_0x51c147),verifyUpdatedFact(_0x1e1a84,_0x376009,_0x28b0c5[_0x151b4c(0xa0)]);}catch(_0xab1f27){const _0x30dffd=describeMenuErrorCause(_0xab1f27,_0x151b4c(0xd7),_0x51c147),_0x32e998=asVerificationError(_0xab1f27,_0x151b4c(0x9e)+_0x51c147+_0x151b4c(0xab));throw menuFailure(_0x32e998,_0x43a0d8,{'stage':_0x151b4c(0xa6),'succeeded':[{'id':_0x51c147,'updateRequested':!![]}],'failed':{'id':_0x51c147,'requestedStateConfirmed':![],..._0x30dffd},'warnings':[_0x151b4c(0xd4)],'verification':{'status':_0x151b4c(0xcb),'targetId':_0x51c147,'lookupCommand':buildLookupCommand(_0x3e67ed['appCode'])}});}return updateSuccess(_0x43a0d8,_0xa6a3c7,_0x376009,![],![]);}};function a113_0x3a7e(){const _0x5d204e=['\x20already\x20matches\x20the\x20requested\x20URL.','The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.','\x22,\x20not\x20iframe\x20or\x20link.','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','byId','label','The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','external-link-update','menu_state_drift','\x20--format\x20compress','New\x20external\x20HTTPS\x20URL','menu','after','readbackFailed','Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed','update-external-link-url','Menu\x20','string','sort','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','\x27\x5c\x27\x27','139164yTTNnc','link','hash','Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20','The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.','iframe','update-recovery','123548CgOcrj','type','/smartapi/menu/update','expect-parent-id','105BjFcwh','update\x20external\x20menu\x20URL','1030860eCCllM','failed','path','write','appCode','cookie','594909wTQTeh','58673HUvwwc','Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.','\x20has\x20an\x20empty\x20platform\x20path.','The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','\x20is\x20type\x20\x22','\x20direct\x20child\x20menu(s).','verify\x20external\x20menu\x20URL\x20update','menu_external_link_path_missing','visible','\x20URL\x20update\x20did\x20not\x20take\x20effect.','menu_update_recovery_required','snapshot','childrenCount','Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20','2679896ytutSZ','menu\x20list','trim','\x20changed\x20during\x20the\x20URL-only\x20update.','unknown','requestedUrlObserved','menu_external_link_type_required','body','code','parentId','\x20could\x20not\x20be\x20verified\x20safely','Update\x20request\x20for\x20menu\x20','The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.','url','expect-url','str','flagMissing','77670vscIHY','\x20URL\x20no\x20longer\x20matches\x20--expect-url.','verification','Response\x20was\x20lost\x20and\x20menu\x20'];a113_0x3a7e=function(){return _0x5d204e;};return a113_0x3a7e();}function validateInput(_0x21d5cf){const _0x59b840=a113_0x3fbd8b;validateExactId(_0x21d5cf),requiredUrl(_0x21d5cf,_0x59b840(0xa0)),requiredExpectedUrl(_0x21d5cf),parseParentId(_0x21d5cf,_0x59b840(0xc7),{'required':!![]});}function a113_0x56b2(_0x23be7f,_0x92fbd8){_0x23be7f=_0x23be7f-0x94;const _0x3a7ef2=a113_0x3a7e();let _0x56b243=_0x3a7ef2[_0x23be7f];return _0x56b243;}function requiredUrl(_0x4887c8,_0x51e56b){const _0x54e9b2=a113_0x3fbd8b;if(!hasFlag(_0x4887c8,_0x51e56b)||!_0x4887c8[_0x54e9b2(0xa2)](_0x51e56b)['trim']())throw CliErrors[_0x54e9b2(0xa3)](_0x51e56b);return validateExternalMenuUrl(_0x4887c8[_0x54e9b2(0xa2)](_0x51e56b));}function requiredExpectedUrl(_0x45caf5){const _0x44bcef=a113_0x3fbd8b;if(!hasFlag(_0x45caf5,_0x44bcef(0xa1))||!_0x45caf5[_0x44bcef(0xa2)](_0x44bcef(0xa1))[_0x44bcef(0x95)]())throw CliErrors[_0x44bcef(0xa3)](_0x44bcef(0xa1));return _0x45caf5[_0x44bcef(0xa2)]('expect-url')['trim']();}async function buildPlan(_0x55e6bb,_0x4da94e){const _0x1f47c3=a113_0x3fbd8b,_0x401ac3=validateExactId(_0x55e6bb),_0x4f54ac=requiredUrl(_0x55e6bb,_0x1f47c3(0xa0)),_0x288ed1=requiredExpectedUrl(_0x55e6bb),_0x5a3f19=parseParentId(_0x55e6bb,_0x1f47c3(0xc7),{'required':!![]}),_0x5150f4=await fetchMutationSnapshot(_0x55e6bb,_0x1f47c3(0xc9),_0x401ac3),_0x4754f6=requireMenu(_0x5150f4,_0x401ac3);assertExternalLinkLeaf(_0x4754f6);if(_0x4754f6['parentId']!==_0x5a3f19)throw menuError('menu_state_drift',_0x1f47c3(0xb8)+_0x401ac3+'\x20parent\x20changed:\x20expected\x20'+formatParent(_0x5a3f19)+',\x20current\x20'+formatParent(_0x4754f6[_0x1f47c3(0x9c)])+'.',_0x1f47c3(0xbb));const _0x4950f8=_0x4754f6[_0x1f47c3(0xa0)]===_0x4f54ac;if(!_0x4950f8&&_0x4754f6[_0x1f47c3(0xa0)]!==_0x288ed1)throw menuError(_0x1f47c3(0xb0),_0x1f47c3(0xb8)+_0x401ac3+_0x1f47c3(0xa5),'Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.');const _0x5cd0db={'id':_0x401ac3,'appCode':_0x55e6bb[_0x1f47c3(0xce)],'url':_0x4f54ac},_0x20bc7b={..._0x4754f6,'url':_0x4f54ac};return{'body':_0x5cd0db,'before':_0x4754f6,'noChanges':_0x4950f8,'snapshot':_0x5150f4,'plan':mutationResult({'operation':_0x1f47c3(0xaf),'selector':{'id':_0x401ac3},'before':_0x4754f6,'after':_0x20bc7b,'dryRun':_0x4da94e,'backend':[...BACKEND],'plannedActions':_0x4950f8?[]:[{'stage':_0x1f47c3(0xb7),'method':'POST','path':_0x1f47c3(0xc6),'body':_0x5cd0db}],'snapshotHash':_0x5150f4[_0x1f47c3(0xbf)],'warnings':_0x4950f8?[_0x1f47c3(0x9f)]:[]})};}function assertExternalLinkLeaf(_0x2927f5){const _0x218b04=a113_0x3fbd8b;if(_0x2927f5['type']!==_0x218b04(0xc2)&&_0x2927f5[_0x218b04(0xc5)]!==_0x218b04(0xbe))throw menuError(_0x218b04(0x99),'Menu\x20'+_0x2927f5['id']+_0x218b04(0xd5)+(_0x2927f5[_0x218b04(0xc5)]||_0x218b04(0x97))+_0x218b04(0xaa),'Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.');if(_0x2927f5[_0x218b04(0xdd)]!==0x0)throw menuError('menu_external_link_not_leaf','Menu\x20'+_0x2927f5['id']+'\x20has\x20'+_0x2927f5[_0x218b04(0xdd)]+_0x218b04(0xd6),'External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.');if(!_0x2927f5[_0x218b04(0xcc)][_0x218b04(0x95)]())throw menuError(_0x218b04(0xd8),'Menu\x20'+_0x2927f5['id']+_0x218b04(0xd3),_0x218b04(0xd2));}function verifyUpdatedFact(_0x528ad0,_0x1362e1,_0x4a4f3b){const _0x1c9e93=a113_0x3fbd8b;assertExternalLinkLeaf(_0x1362e1);const _0x2e96ee=[['id',_0x1362e1['id'],_0x528ad0['id']],['label',_0x1362e1[_0x1c9e93(0xad)],_0x528ad0[_0x1c9e93(0xad)]],[_0x1c9e93(0xc5),_0x1362e1[_0x1c9e93(0xc5)],_0x528ad0[_0x1c9e93(0xc5)]],[_0x1c9e93(0xcc),_0x1362e1[_0x1c9e93(0xcc)],_0x528ad0[_0x1c9e93(0xcc)]],['parentId',_0x1362e1[_0x1c9e93(0x9c)],_0x528ad0[_0x1c9e93(0x9c)]],[_0x1c9e93(0xba),_0x1362e1[_0x1c9e93(0xba)],_0x528ad0[_0x1c9e93(0xba)]],[_0x1c9e93(0xd9),_0x1362e1['visible'],_0x528ad0[_0x1c9e93(0xd9)]]];for(const [_0x5d0772,_0x1c039e,_0x8b7ad2]of _0x2e96ee){assertVerified(_0x1c039e===_0x8b7ad2,_0x1c9e93(0xb8)+_0x528ad0['id']+'\x20'+_0x5d0772+_0x1c9e93(0x96));}assertVerified(_0x1362e1[_0x1c9e93(0xa0)]===_0x4a4f3b,_0x1c9e93(0xb8)+_0x528ad0['id']+_0x1c9e93(0xda));}function updateSuccess(_0x4a14f7,_0x429193,_0x3643df,_0x4cc1ce,_0x1518e6){const _0x4d8479=a113_0x3fbd8b,_0x2f1017=_0x3643df['id'],_0x4abdd3=mutationResult({..._0x4a14f7,'after':_0x3643df,'dryRun':![],'succeeded':[{'id':_0x2f1017,'updated':!_0x4cc1ce,'skipped':_0x4cc1ce,'recovered':_0x1518e6}],'verification':{'checkedBy':_0x4d8479(0x94),'snapshotHash':_0x429193['hash'],'targetId':_0x2f1017,'matchesRequestedState':!![],'recovered':_0x1518e6}});return{'ok':!![],'message':_0x1518e6?_0x4d8479(0xde)+_0x2f1017+'.':_0x4cc1ce?'Menu\x20'+_0x2f1017+_0x4d8479(0xa8):'Updated\x20external\x20URL\x20for\x20menu\x20'+_0x2f1017+'.','data':{..._0x4abdd3,'recovered':_0x1518e6}};}async function recoverAfterResponseLoss(_0x112894,_0x24fc09){const _0x282989=a113_0x3fbd8b,{plan:_0x4414c0,before:_0x13fcad,body:_0x28ab02}=_0x24fc09;let _0x5c4586;try{_0x5c4586=await fetchMenuSnapshot(_0x112894[_0x282989(0xce)],_0x112894[_0x282989(0xcf)]);}catch{throw recoveryRequired(_0x4414c0,_0x112894[_0x282989(0xce)],{'id':_0x28ab02['id'],'readbackFailed':!![]});}const _0x5e3c7a=_0x5c4586[_0x282989(0xac)]['get'](_0x28ab02['id']);if(!_0x5e3c7a||_0x5e3c7a[_0x282989(0xa0)]!==_0x28ab02[_0x282989(0xa0)])throw recoveryRequired(_0x4414c0,_0x112894[_0x282989(0xce)],{'id':_0x28ab02['id'],'requestedUrlObserved':![],'after':_0x5e3c7a??null});try{verifyUpdatedFact(_0x13fcad,_0x5e3c7a,_0x28ab02[_0x282989(0xa0)]);}catch(_0xf76a5b){const _0x171959=asVerificationError(_0xf76a5b,_0x282989(0xa7)+_0x28ab02['id']+_0x282989(0x9d));throw menuFailure(_0x171959,_0x4414c0,{'stage':'update-recovery','succeeded':[{'id':_0x28ab02['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x28ab02['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x5e3c7a,'warnings':[_0x282989(0xc1)],'verification':{'status':'failed','targetId':_0x28ab02['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x112894[_0x282989(0xce)])}});}return updateSuccess(_0x4414c0,_0x5c4586,_0x5e3c7a,![],!![]);}function recoveryRequired(_0x4872c7,_0x37b370,_0x26f992){const _0x137fa0=a113_0x3fbd8b,_0x4bf3be=menuError(_0x137fa0(0xdb),_0x137fa0(0xa9),'Run\x20'+buildLookupCommand(_0x37b370)+'\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.');return menuFailure(_0x4bf3be,_0x4872c7,{'stage':_0x137fa0(0xc3),'failed':{'id':_0x26f992['id'],..._0x26f992[_0x137fa0(0x98)]===undefined?{}:{'requestedUrlObserved':_0x26f992['requestedUrlObserved']},..._0x26f992[_0x137fa0(0xb5)]?{'readbackFailed':!![]}:{}},'after':_0x26f992[_0x137fa0(0xb4)],'warnings':['The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.'],'verification':{'status':_0x137fa0(0xcb),'targetId':_0x26f992['id'],..._0x26f992[_0x137fa0(0x98)]===undefined?{}:{'requestedUrlObserved':_0x26f992[_0x137fa0(0x98)]},..._0x26f992[_0x137fa0(0xb5)]?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x37b370)}});}function buildLookupCommand(_0x1a2bd1){const _0x1aaf87=a113_0x3fbd8b,_0x261579='\x27'+_0x1a2bd1['replace'](/'/g,_0x1aaf87(0xbc))+'\x27';return'rabetbase\x20menu\x20list\x20--appcode\x20'+_0x261579+_0x1aaf87(0xb1);}
|
|
1
|
+
const a113_0x27bc98=a113_0x50f5;(function(_0x44d662,_0x3661b8){const _0x14e91=a113_0x50f5,_0x2aacf2=_0x44d662();while(!![]){try{const _0x2e090a=-parseInt(_0x14e91(0x18f))/0x1*(parseInt(_0x14e91(0x191))/0x2)+-parseInt(_0x14e91(0x16a))/0x3*(-parseInt(_0x14e91(0x198))/0x4)+parseInt(_0x14e91(0x1a4))/0x5+parseInt(_0x14e91(0x179))/0x6*(-parseInt(_0x14e91(0x164))/0x7)+-parseInt(_0x14e91(0x195))/0x8+-parseInt(_0x14e91(0x17a))/0x9+parseInt(_0x14e91(0x172))/0xa;if(_0x2e090a===_0x3661b8)break;else _0x2aacf2['push'](_0x2aacf2['shift']());}catch(_0x20da45){_0x2aacf2['push'](_0x2aacf2['shift']());}}}(a113_0xaaf1,0x9a275));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{validateExternalMenuUrl}from'../../commands/menu/external-link-create.js';function a113_0xaaf1(){const _0x34724f=['Menu\x20','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','url','Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20','menu_state_drift','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','verify\x20external\x20menu\x20URL\x20update','17907yzKxdN','external-link-update','104iJcjOS','str','label','The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','5080592WRrPDG','POST','\x22,\x20not\x20iframe\x20or\x20link.','105468kizzwd','write','rabetbase\x20menu\x20list\x20--appcode\x20','type','flagMissing','verification','menu_permission_denied','\x20is\x20type\x20\x22','string','update','\x20URL\x20no\x20longer\x20matches\x20--expect-url.','menu_external_link_not_leaf','1256430OwUnIz','\x20could\x20not\x20be\x20verified\x20safely','Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','\x20has\x20','Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.','expect-parent-id','\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.','update\x20external\x20menu\x20URL','trim','The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.','\x20parent\x20changed:\x20expected\x20','link','byId','childrenCount','7SJlZHx','path','\x20already\x20matches\x20the\x20requested\x20URL.','menu\x20list','menu_external_link_type_required','The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.','12EHnUyJ','Updated\x20external\x20URL\x20for\x20menu\x20','iframe','New\x20external\x20HTTPS\x20URL','update-external-link-url','\x27\x5c\x27\x27','expect-url','code','29714350tJvnVB','get','Run\x20','/smartapi/menu/update','Update\x20request\x20for\x20menu\x20','replace',',\x20current\x20','3624714MmYuLH','4737771NpKxHs','Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20','\x20direct\x20child\x20menu(s).','\x20--format\x20compress','body','failed','\x20has\x20an\x20empty\x20platform\x20path.','visible','requestedUrlObserved','Response\x20was\x20lost\x20and\x20menu\x20','appCode','sort','Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.','parentId'];a113_0xaaf1=function(){return _0x34724f;};return a113_0xaaf1();}function a113_0x50f5(_0x3fbcbb,_0xa04f8c){_0x3fbcbb=_0x3fbcbb-0x15d;const _0xaaf15=a113_0xaaf1();let _0x50f570=_0xaaf15[_0x3fbcbb];return _0x50f570;}import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_PARENT_ID_FLAG,MENU_ID_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,formatParent,hasFlag,isMenuResponseLoss,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,parseParentId,recheckMutationSnapshot,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a113_0x27bc98(0x196),'path':a113_0x27bc98(0x175)}];export const menuExternalLinkUpdate={'service':'menu','command':a113_0x27bc98(0x190),'description':a113_0x27bc98(0x1a6),'risk':a113_0x27bc98(0x199),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':a113_0x27bc98(0x18a),'type':a113_0x27bc98(0x1a0),'required':!![],'description':a113_0x27bc98(0x16d)},{'name':'expect-url','type':a113_0x27bc98(0x1a0),'required':!![],'description':'Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed'},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x4f274c){validateInput(_0x4f274c);},async 'dryRun'(_0x31c485){const _0x18eeef=a113_0x27bc98;validateInput(_0x31c485);const _0x50617d=await buildPlan(_0x31c485,!![]);return menuDryRunResult(_0x50617d['plan'],{'method':_0x18eeef(0x196),'url':_0x18eeef(0x175),'body':_0x50617d[_0x18eeef(0x17e)],'description':_0x18eeef(0x17b)+_0x50617d[_0x18eeef(0x17e)]['id']+'.'});},async 'execute'(_0x2a886d){const _0x1f0b47=a113_0x27bc98;validateInput(_0x2a886d);const _0x85f300=await buildPlan(_0x2a886d,![]),{plan:_0x25e722,body:_0x308350,before:_0x3f52ea,noChanges:_0x3c3620}=_0x85f300,_0x483f14=_0x308350['id'];if(_0x3c3620)return updateSuccess(_0x25e722,_0x85f300['snapshot'],_0x3f52ea,!![],![]);await recheckMutationSnapshot(_0x2a886d,_0x25e722,_0x1f0b47(0x15d),_0x483f14);try{await updateMenuEntity(_0x2a886d[_0x1f0b47(0x184)],_0x2a886d['cookie'],{'id':_0x308350['id'],'url':_0x308350[_0x1f0b47(0x18a)]});}catch(_0x336b60){const _0x512973=mapMenuApiError(_0x336b60,_0x1f0b47(0x15d),_0x483f14);if(isMenuResponseLoss(_0x336b60)&&_0x512973[_0x1f0b47(0x171)]!==_0x1f0b47(0x19e))return recoverAfterResponseLoss(_0x2a886d,_0x85f300);throw menuFailure(_0x512973,_0x25e722,{'stage':_0x1f0b47(0x1a1),'failed':{'id':_0x483f14},'warnings':[_0x1f0b47(0x194)],'verification':{'status':'failed','targetId':_0x483f14,'lookupCommand':buildLookupCommand(_0x2a886d['appCode'])}});}let _0x43ece6,_0x405dc1;try{_0x43ece6=await fetchMenuSnapshot(_0x2a886d[_0x1f0b47(0x184)],_0x2a886d['cookie']),_0x405dc1=requireMenu(_0x43ece6,_0x483f14),verifyUpdatedFact(_0x3f52ea,_0x405dc1,_0x308350[_0x1f0b47(0x18a)]);}catch(_0x597879){const _0x13b706=describeMenuErrorCause(_0x597879,_0x1f0b47(0x18e),_0x483f14),_0x44c0aa=asVerificationError(_0x597879,_0x1f0b47(0x176)+_0x483f14+_0x1f0b47(0x189));throw menuFailure(_0x44c0aa,_0x25e722,{'stage':_0x1f0b47(0x19d),'succeeded':[{'id':_0x483f14,'updateRequested':!![]}],'failed':{'id':_0x483f14,'requestedStateConfirmed':![],..._0x13b706},'warnings':['The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':_0x1f0b47(0x17f),'targetId':_0x483f14,'lookupCommand':buildLookupCommand(_0x2a886d[_0x1f0b47(0x184)])}});}return updateSuccess(_0x25e722,_0x43ece6,_0x405dc1,![],![]);}};function validateInput(_0x1b7508){const _0x3c949c=a113_0x27bc98;validateExactId(_0x1b7508),requiredUrl(_0x1b7508,'url'),requiredExpectedUrl(_0x1b7508),parseParentId(_0x1b7508,_0x3c949c(0x1a9),{'required':!![]});}function requiredUrl(_0x10a17a,_0x405372){const _0x115bfd=a113_0x27bc98;if(!hasFlag(_0x10a17a,_0x405372)||!_0x10a17a[_0x115bfd(0x192)](_0x405372)[_0x115bfd(0x15e)]())throw CliErrors['flagMissing'](_0x405372);return validateExternalMenuUrl(_0x10a17a['str'](_0x405372));}function requiredExpectedUrl(_0x425af8){const _0x125bf8=a113_0x27bc98;if(!hasFlag(_0x425af8,_0x125bf8(0x170))||!_0x425af8[_0x125bf8(0x192)]('expect-url')['trim']())throw CliErrors[_0x125bf8(0x19c)](_0x125bf8(0x170));return _0x425af8[_0x125bf8(0x192)](_0x125bf8(0x170))[_0x125bf8(0x15e)]();}async function buildPlan(_0xfab6af,_0x58a7d9){const _0x38988e=a113_0x27bc98,_0x5f13d2=validateExactId(_0xfab6af),_0x540297=requiredUrl(_0xfab6af,_0x38988e(0x18a)),_0x1cec6f=requiredExpectedUrl(_0xfab6af),_0x20e5a6=parseParentId(_0xfab6af,'expect-parent-id',{'required':!![]}),_0x52613f=await fetchMutationSnapshot(_0xfab6af,_0x38988e(0x15d),_0x5f13d2),_0x1fee33=requireMenu(_0x52613f,_0x5f13d2);assertExternalLinkLeaf(_0x1fee33);if(_0x1fee33[_0x38988e(0x187)]!==_0x20e5a6)throw menuError(_0x38988e(0x18c),'Menu\x20'+_0x5f13d2+_0x38988e(0x160)+formatParent(_0x20e5a6)+_0x38988e(0x178)+formatParent(_0x1fee33[_0x38988e(0x187)])+'.',_0x38988e(0x18d));const _0x29f93a=_0x1fee33['url']===_0x540297;if(!_0x29f93a&&_0x1fee33[_0x38988e(0x18a)]!==_0x1cec6f)throw menuError('menu_state_drift',_0x38988e(0x188)+_0x5f13d2+_0x38988e(0x1a2),'Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.');const _0x1c985f={'id':_0x5f13d2,'appCode':_0xfab6af[_0x38988e(0x184)],'url':_0x540297},_0x385108={..._0x1fee33,'url':_0x540297};return{'body':_0x1c985f,'before':_0x1fee33,'noChanges':_0x29f93a,'snapshot':_0x52613f,'plan':mutationResult({'operation':_0x38988e(0x190),'selector':{'id':_0x5f13d2},'before':_0x1fee33,'after':_0x385108,'dryRun':_0x58a7d9,'backend':[...BACKEND],'plannedActions':_0x29f93a?[]:[{'stage':_0x38988e(0x16e),'method':_0x38988e(0x196),'path':_0x38988e(0x175),'body':_0x1c985f}],'snapshotHash':_0x52613f['hash'],'warnings':_0x29f93a?[_0x38988e(0x15f)]:[]})};}function assertExternalLinkLeaf(_0x1c7b7b){const _0x3a42ad=a113_0x27bc98;if(_0x1c7b7b[_0x3a42ad(0x19b)]!==_0x3a42ad(0x16c)&&_0x1c7b7b[_0x3a42ad(0x19b)]!==_0x3a42ad(0x161))throw menuError(_0x3a42ad(0x168),_0x3a42ad(0x188)+_0x1c7b7b['id']+_0x3a42ad(0x19f)+(_0x1c7b7b[_0x3a42ad(0x19b)]||'unknown')+_0x3a42ad(0x197),_0x3a42ad(0x1a8));if(_0x1c7b7b[_0x3a42ad(0x163)]!==0x0)throw menuError(_0x3a42ad(0x1a3),_0x3a42ad(0x188)+_0x1c7b7b['id']+_0x3a42ad(0x1a7)+_0x1c7b7b[_0x3a42ad(0x163)]+_0x3a42ad(0x17c),'External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.');if(!_0x1c7b7b[_0x3a42ad(0x165)][_0x3a42ad(0x15e)]())throw menuError('menu_external_link_path_missing',_0x3a42ad(0x188)+_0x1c7b7b['id']+_0x3a42ad(0x180),_0x3a42ad(0x186));}function verifyUpdatedFact(_0x4f41ea,_0x307eae,_0x166a4e){const _0x310c61=a113_0x27bc98;assertExternalLinkLeaf(_0x307eae);const _0xc7c8d3=[['id',_0x307eae['id'],_0x4f41ea['id']],['label',_0x307eae['label'],_0x4f41ea[_0x310c61(0x193)]],[_0x310c61(0x19b),_0x307eae[_0x310c61(0x19b)],_0x4f41ea[_0x310c61(0x19b)]],[_0x310c61(0x165),_0x307eae[_0x310c61(0x165)],_0x4f41ea['path']],[_0x310c61(0x187),_0x307eae[_0x310c61(0x187)],_0x4f41ea[_0x310c61(0x187)]],[_0x310c61(0x185),_0x307eae[_0x310c61(0x185)],_0x4f41ea[_0x310c61(0x185)]],[_0x310c61(0x181),_0x307eae[_0x310c61(0x181)],_0x4f41ea[_0x310c61(0x181)]]];for(const [_0x21af07,_0x97e053,_0x16e819]of _0xc7c8d3){assertVerified(_0x97e053===_0x16e819,_0x310c61(0x188)+_0x4f41ea['id']+'\x20'+_0x21af07+'\x20changed\x20during\x20the\x20URL-only\x20update.');}assertVerified(_0x307eae[_0x310c61(0x18a)]===_0x166a4e,_0x310c61(0x188)+_0x4f41ea['id']+'\x20URL\x20update\x20did\x20not\x20take\x20effect.');}function updateSuccess(_0x512d87,_0x27216d,_0x379435,_0x3d225d,_0x1dcb73){const _0x3d6c70=a113_0x27bc98,_0x3bca74=_0x379435['id'],_0x37fe42=mutationResult({..._0x512d87,'after':_0x379435,'dryRun':![],'succeeded':[{'id':_0x3bca74,'updated':!_0x3d225d,'skipped':_0x3d225d,'recovered':_0x1dcb73}],'verification':{'checkedBy':_0x3d6c70(0x167),'snapshotHash':_0x27216d['hash'],'targetId':_0x3bca74,'matchesRequestedState':!![],'recovered':_0x1dcb73}});return{'ok':!![],'message':_0x1dcb73?_0x3d6c70(0x18b)+_0x3bca74+'.':_0x3d225d?_0x3d6c70(0x188)+_0x3bca74+_0x3d6c70(0x166):_0x3d6c70(0x16b)+_0x3bca74+'.','data':{..._0x37fe42,'recovered':_0x1dcb73}};}async function recoverAfterResponseLoss(_0x42185a,_0xd50061){const _0x30e50d=a113_0x27bc98,{plan:_0x445379,before:_0x2bb57b,body:_0x475bab}=_0xd50061;let _0xdc5893;try{_0xdc5893=await fetchMenuSnapshot(_0x42185a['appCode'],_0x42185a['cookie']);}catch{throw recoveryRequired(_0x445379,_0x42185a['appCode'],{'id':_0x475bab['id'],'readbackFailed':!![]});}const _0x15128a=_0xdc5893[_0x30e50d(0x162)][_0x30e50d(0x173)](_0x475bab['id']);if(!_0x15128a||_0x15128a[_0x30e50d(0x18a)]!==_0x475bab[_0x30e50d(0x18a)])throw recoveryRequired(_0x445379,_0x42185a[_0x30e50d(0x184)],{'id':_0x475bab['id'],'requestedUrlObserved':![],'after':_0x15128a??null});try{verifyUpdatedFact(_0x2bb57b,_0x15128a,_0x475bab[_0x30e50d(0x18a)]);}catch(_0x4f5127){const _0x238af2=asVerificationError(_0x4f5127,_0x30e50d(0x183)+_0x475bab['id']+_0x30e50d(0x1a5));throw menuFailure(_0x238af2,_0x445379,{'stage':'update-recovery','succeeded':[{'id':_0x475bab['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x475bab['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x15128a,'warnings':['The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.'],'verification':{'status':_0x30e50d(0x17f),'targetId':_0x475bab['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x42185a['appCode'])}});}return updateSuccess(_0x445379,_0xdc5893,_0x15128a,![],!![]);}function recoveryRequired(_0x1a0701,_0x42a65d,_0x4817d3){const _0x3cb335=a113_0x27bc98,_0xf3cb84=menuError('menu_update_recovery_required',_0x3cb335(0x169),_0x3cb335(0x174)+buildLookupCommand(_0x42a65d)+_0x3cb335(0x1aa));return menuFailure(_0xf3cb84,_0x1a0701,{'stage':'update-recovery','failed':{'id':_0x4817d3['id'],..._0x4817d3[_0x3cb335(0x182)]===undefined?{}:{'requestedUrlObserved':_0x4817d3[_0x3cb335(0x182)]},..._0x4817d3['readbackFailed']?{'readbackFailed':!![]}:{}},'after':_0x4817d3['after'],'warnings':['The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.'],'verification':{'status':_0x3cb335(0x17f),'targetId':_0x4817d3['id'],..._0x4817d3[_0x3cb335(0x182)]===undefined?{}:{'requestedUrlObserved':_0x4817d3[_0x3cb335(0x182)]},..._0x4817d3['readbackFailed']?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x42a65d)}});}function buildLookupCommand(_0x1bc779){const _0x2d8032=a113_0x27bc98,_0x157108='\x27'+_0x1bc779[_0x2d8032(0x177)](/'/g,_0x2d8032(0x16f))+'\x27';return _0x2d8032(0x19a)+_0x157108+_0x2d8032(0x17d);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a114_0x5dcd7f=a114_0x4794;(function(_0x5c0297,_0x5cac01){const _0x36ca62=a114_0x4794,_0x5bcb23=_0x5c0297();while(!![]){try{const _0x46b210=-parseInt(_0x36ca62(0x1e1))/0x1+-parseInt(_0x36ca62(0x1e5))/0x2*(-parseInt(_0x36ca62(0x200))/0x3)+-parseInt(_0x36ca62(0x214))/0x4*(-parseInt(_0x36ca62(0x20b))/0x5)+parseInt(_0x36ca62(0x1e8))/0x6+parseInt(_0x36ca62(0x1f9))/0x7*(parseInt(_0x36ca62(0x202))/0x8)+-parseInt(_0x36ca62(0x1fa))/0x9*(-parseInt(_0x36ca62(0x1f7))/0xa)+parseInt(_0x36ca62(0x1ed))/0xb*(-parseInt(_0x36ca62(0x20d))/0xc);if(_0x46b210===_0x5cac01)break;else _0x5bcb23['push'](_0x5bcb23['shift']());}catch(_0xec33e1){_0x5bcb23['push'](_0x5bcb23['shift']());}}}(a114_0x57f1,0x778a3));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';function a114_0x57f1(){const _0x2f1cd9=['menu','Inspect\x20the\x20created\x20id\x20with\x20`rabetbase\x20menu\x20list\x20--format\x20json`;\x20do\x20not\x20retry\x20creation\x20until\x20its\x20state\x20is\x20known.','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20before\x20retrying;\x20the\x20folder\x20may\x20already\x20exist.','type','\x20path\x20does\x20not\x20match\x20the\x20platform-generated\x20path.','530272nOCXRI','length','parentId','verification','76sWDcxu','Created\x20menu\x20','sort','3884052lxFBlC','Create\x20an\x20empty\x20folder\x20menu\x20at\x20root\x20or\x20under\x20another\x20folder','visible','create','\x20is\x20missing\x20from\x20menu\x20list.','179993RFitcH','Folder\x20','\x20has\x20an\x20unexpected\x20sort.','create\x20folder','pageId','childrenCount','group-create','/smartapi/menu/create','The\x20platform\x20assigns\x20the\x20folder\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','parent-id','906820NffZhT','folder','21196vFSTMb','54QdPpgj','\x20may\x20exist\x20online\x20at\x20path\x20','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20menu\x20id.','str','\x20is\x20not\x20visible.','cookie','22029JIFgeZ','path','1088zAEEPW','\x20remains\x20online;\x20inspect\x20its\x20final\x20facts\x20before\x20any\x20retry.','rabetbase\x20menu\x20list\x20--format\x20json','resources','root','\x20did\x20not\x20contain\x20a\x20non-empty\x20generated\x20path.','\x20was\x20created\x20but\x20its\x20final\x20facts\x20violate\x20the\x20folder\x20contract','flagMissing','write','5825CBYdBm','hash','1116YcWeol','menu\x20list','Created\x20folder\x20','trim','string','Folder\x20label','label','2264KdkdxJ','menu_create_response_invalid','Created\x20menu\x20folder\x20','create-response-validation','create-folder','\x20is\x20not\x20type\x20folder.','depth','failed','get','\x20unexpectedly\x20owns\x20a\x20page.','after','POST','Would\x20create\x20empty\x20folder\x20\x22','\x20depth\x20does\x20not\x20match\x20its\x20final\x20parent\x20hierarchy.','verify\x20folder\x20creation'];a114_0x57f1=function(){return _0x2f1cd9;};return a114_0x57f1();}import{MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a114_0x5dcd7f(0x21f),'path':a114_0x5dcd7f(0x1f4)}];export const menuGroupCreate={'service':a114_0x5dcd7f(0x223),'command':'group-create','description':a114_0x5dcd7f(0x1e9),'risk':a114_0x5dcd7f(0x20a),'structuredErrors':!![],'flags':[{'name':a114_0x5dcd7f(0x213),'type':a114_0x5dcd7f(0x211),'required':!![],'description':a114_0x5dcd7f(0x212)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x38a381){validateCreateInput(_0x38a381);},async 'dryRun'(_0x49f08b){const _0x3e101e=a114_0x5dcd7f,_0x486b47=await buildCreatePlan(_0x49f08b,!![]),_0x2b491e=_0x486b47['after'];return menuDryRunResult(_0x486b47,{'method':_0x3e101e(0x21f),'url':_0x3e101e(0x1f4),'body':{'parentId':toApiParentId(_0x2b491e[_0x3e101e(0x1e3)]),'label':_0x2b491e[_0x3e101e(0x213)],'type':_0x3e101e(0x1f8),'visible':!![],'sort':_0x2b491e[_0x3e101e(0x1e7)],'extend':{}},'description':_0x3e101e(0x220)+String(_0x2b491e[_0x3e101e(0x213)])+'\x22\x20with\x20a\x20platform-generated\x20path.'});},async 'execute'(_0x5f0f8a){const _0x403362=a114_0x5dcd7f;validateCreateInput(_0x5f0f8a);const _0x31f103=await buildCreatePlan(_0x5f0f8a,![]),_0x5ba765=_0x31f103[_0x403362(0x21e)];await recheckMutationSnapshot(_0x5f0f8a,_0x31f103,_0x403362(0x1f0));let _0x15b81c;try{_0x15b81c=await createMenuEntity(_0x5f0f8a['appCode'],_0x5f0f8a[_0x403362(0x1ff)],{'parentId':toApiParentId(_0x5ba765[_0x403362(0x1e3)]),'label':String(_0x5ba765[_0x403362(0x213)]),'type':_0x403362(0x1f8),'visible':!![],'sort':Number(_0x5ba765[_0x403362(0x1e7)]),'extend':{}});}catch(_0x3095ea){const _0x42c918=mapMenuApiError(_0x3095ea,_0x403362(0x1f0));throw menuFailure(_0x42c918,_0x31f103,{'stage':_0x403362(0x1eb),'failed':{}});}const _0x55210b=Number(_0x15b81c['id']);if(!Number['isSafeInteger'](_0x55210b)||_0x55210b<=0x0){const _0x88e509=menuError(_0x403362(0x215),_0x403362(0x1fc),_0x403362(0x1de));throw menuFailure(_0x88e509,_0x31f103,{'stage':_0x403362(0x217),'failed':{'createdId':_0x15b81c['id']??null},'warnings':['The\x20create\x20request\x20may\x20have\x20succeeded;\x20verify\x20the\x20online\x20menu\x20list\x20before\x20retrying.'],'verification':{'status':_0x403362(0x21b),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json'}});}const _0x2e36a4=typeof _0x15b81c[_0x403362(0x201)]===_0x403362(0x211)?_0x15b81c[_0x403362(0x201)]:'';if(!_0x2e36a4[_0x403362(0x210)]()){const _0x13929e=menuError(_0x403362(0x215),'Menu\x20create\x20response\x20for\x20folder\x20'+_0x55210b+_0x403362(0x207),_0x403362(0x1dd));throw menuFailure(_0x13929e,_0x31f103,{'stage':_0x403362(0x217),'succeeded':[{'id':_0x55210b,'created':!![]}],'failed':{'id':_0x55210b,'generatedPathConfirmed':![]},'warnings':[_0x403362(0x1ee)+_0x55210b+'\x20may\x20exist\x20online;\x20verify\x20it\x20by\x20id\x20before\x20retrying.'],'after':{..._0x5ba765,'id':_0x55210b,'path':_0x2e36a4},'verification':{'status':'failed','lookupCommand':_0x403362(0x204),'targetId':_0x55210b}});}let _0x5993c0;try{_0x5993c0=await fetchMenuSnapshot(_0x5f0f8a['appCode'],_0x5f0f8a['cookie']);}catch(_0x3d3b98){const _0x487179=describeMenuErrorCause(_0x3d3b98,'verify\x20folder\x20creation',_0x55210b),_0xa16871=asVerificationError(_0x3d3b98,_0x403362(0x1ee)+_0x55210b+'\x20was\x20created\x20but\x20readback\x20could\x20not\x20load\x20its\x20final\x20facts');throw menuFailure(_0xa16871,_0x31f103,{'stage':_0x403362(0x1e4),'succeeded':[{'id':_0x55210b,'created':!![],'path':_0x2e36a4}],'failed':{'id':_0x55210b,'finalFactsConfirmed':![],..._0x487179},'warnings':[_0x403362(0x1ee)+_0x55210b+_0x403362(0x1fb)+JSON['stringify'](_0x2e36a4)+';\x20verify\x20it\x20before\x20retrying.'],'after':{..._0x5ba765,'id':_0x55210b,'path':_0x2e36a4},'verification':{'status':'failed','lookupCommand':_0x403362(0x204),'targetId':_0x55210b}});}const _0x4ef323=_0x5993c0['byId'][_0x403362(0x21c)](_0x55210b);let _0x2a6e2e;try{assertVerified(Boolean(_0x4ef323),_0x403362(0x20f)+_0x55210b+_0x403362(0x1ec)),_0x2a6e2e=_0x4ef323,assertVerified(_0x2a6e2e[_0x403362(0x1df)]===_0x403362(0x1f8),_0x403362(0x1e6)+_0x55210b+_0x403362(0x219)),assertVerified(_0x2a6e2e['label']===_0x5ba765[_0x403362(0x213)],_0x403362(0x20f)+_0x55210b+'\x20has\x20an\x20unexpected\x20label.'),assertVerified(_0x2a6e2e[_0x403362(0x201)]===_0x2e36a4&&Boolean(_0x2a6e2e['path'][_0x403362(0x210)]()),_0x403362(0x20f)+_0x55210b+_0x403362(0x1e0)),assertVerified(_0x2a6e2e[_0x403362(0x1ea)]===!![],_0x403362(0x20f)+_0x55210b+_0x403362(0x1fe)),assertVerified(_0x2a6e2e[_0x403362(0x205)][_0x403362(0x1e2)]===0x0,_0x403362(0x20f)+_0x55210b+'\x20has\x20resources.'),assertVerified(_0x2a6e2e[_0x403362(0x1f2)]===0x0,_0x403362(0x20f)+_0x55210b+'\x20is\x20not\x20empty.'),assertVerified(_0x2a6e2e['sort']===_0x5ba765[_0x403362(0x1e7)],_0x403362(0x20f)+_0x55210b+_0x403362(0x1ef)),assertVerified(_0x2a6e2e['parentId']===_0x5ba765['parentId'],_0x403362(0x20f)+_0x55210b+'\x20has\x20unexpected\x20parent\x20'+(_0x2a6e2e[_0x403362(0x1e3)]??_0x403362(0x206))+'.'),assertVerified(_0x2a6e2e[_0x403362(0x1f1)]==null,_0x403362(0x20f)+_0x55210b+_0x403362(0x21d));const _0x3bc938=_0x2a6e2e[_0x403362(0x1e3)]==null?undefined:requireFolder(_0x5993c0,_0x2a6e2e['parentId']);assertVerified(_0x2a6e2e[_0x403362(0x21a)]===(_0x3bc938?_0x3bc938[_0x403362(0x21a)]+0x1:0x0),_0x403362(0x20f)+_0x55210b+_0x403362(0x221));}catch(_0x18ad83){const _0x14ed33=describeMenuErrorCause(_0x18ad83,_0x403362(0x222),_0x55210b),_0x124112=asVerificationError(_0x18ad83,_0x403362(0x1ee)+_0x55210b+_0x403362(0x208));throw menuFailure(_0x124112,_0x31f103,{'stage':_0x403362(0x1e4),'succeeded':[{'id':_0x55210b,'created':!![],'path':_0x2e36a4}],'failed':{'id':_0x55210b,'finalFactsConfirmed':![],..._0x14ed33},'warnings':['Folder\x20'+_0x55210b+_0x403362(0x203)],'after':_0x4ef323??{..._0x5ba765,'id':_0x55210b,'path':_0x2e36a4},'verification':{'status':'failed','lookupCommand':_0x403362(0x204),'targetId':_0x55210b}});}const _0x4ff727=mutationResult({..._0x31f103,'after':_0x2a6e2e,'dryRun':![],'succeeded':[{'id':_0x55210b,'type':'folder','path':_0x2e36a4}],'verification':{'checkedBy':_0x403362(0x20e),'snapshotHash':_0x5993c0[_0x403362(0x20c)],'folder':!![],'path':_0x2e36a4,'emptyResources':!![]}});return{'ok':!![],'data':_0x4ff727,'message':_0x403362(0x216)+_0x55210b+'.'};}};function a114_0x4794(_0x45b58b,_0x4a6cf5){_0x45b58b=_0x45b58b-0x1dd;const _0x57f1b3=a114_0x57f1();let _0x479498=_0x57f1b3[_0x45b58b];return _0x479498;}function validateCreateInput(_0x24701d){const _0x403aca=a114_0x5dcd7f,_0x523619=_0x24701d[_0x403aca(0x1fd)](_0x403aca(0x213))[_0x403aca(0x210)]();if(!_0x523619)throw CliErrors[_0x403aca(0x209)](_0x403aca(0x213));parseParentId(_0x24701d,_0x403aca(0x1f6)),validateSort(_0x24701d);}async function buildCreatePlan(_0x196da9,_0x404992){const _0x127164=a114_0x5dcd7f,_0x1950d2=await fetchMutationSnapshot(_0x196da9,_0x127164(0x1f0)),_0x532298=parseParentId(_0x196da9,_0x127164(0x1f6))??null;if(_0x532298!=null)requireFolder(_0x1950d2,_0x532298);const _0x1148f0=validateSort(_0x196da9),_0x2cdc69=_0x1148f0??nextSiblingSort(_0x1950d2,_0x532298,'folder'),_0xd3213d=_0x196da9['str'](_0x127164(0x213))[_0x127164(0x210)]();return mutationResult({'operation':_0x127164(0x1f3),'selector':{'label':_0xd3213d,'parentId':_0x532298},'before':null,'after':{'id':null,'parentId':_0x532298,'label':_0xd3213d,'path':'<platform-generated>','type':_0x127164(0x1f8),'visible':!![],'sort':_0x2cdc69,'resources':[],'childrenIds':[],'childrenCount':0x0},'dryRun':_0x404992,'backend':[...BACKEND],'plannedActions':[{'stage':_0x127164(0x218),'method':_0x127164(0x21f),'path':'/smartapi/menu/create','body':{'parentId':toApiParentId(_0x532298),'label':_0xd3213d,'type':'folder','visible':!![],'sort':_0x2cdc69,'extend':{}}}],'snapshotHash':_0x1950d2[_0x127164(0x20c)],'warnings':[_0x127164(0x1f5)]});}
|
|
1
|
+
const a114_0x39f9e4=a114_0x9b40;(function(_0x57e545,_0x102c3f){const _0x2196f7=a114_0x9b40,_0x4f5c72=_0x57e545();while(!![]){try{const _0x315995=-parseInt(_0x2196f7(0x1bd))/0x1*(parseInt(_0x2196f7(0x1c3))/0x2)+parseInt(_0x2196f7(0x1c5))/0x3*(-parseInt(_0x2196f7(0x194))/0x4)+parseInt(_0x2196f7(0x1cd))/0x5*(parseInt(_0x2196f7(0x1b5))/0x6)+-parseInt(_0x2196f7(0x1b9))/0x7*(-parseInt(_0x2196f7(0x1d8))/0x8)+parseInt(_0x2196f7(0x199))/0x9+-parseInt(_0x2196f7(0x1ac))/0xa+-parseInt(_0x2196f7(0x1a8))/0xb;if(_0x315995===_0x102c3f)break;else _0x4f5c72['push'](_0x4f5c72['shift']());}catch(_0x8c1b45){_0x4f5c72['push'](_0x4f5c72['shift']());}}}(a114_0x1bdb,0xad5bd));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';import{createMenuEntity}from'../../commands/menu/shared/service.js';function a114_0x1bdb(){const _0x423a4d=['create\x20folder','sort','11543310ZektYN','create-folder','parent-id','group-create','\x20is\x20missing\x20from\x20menu\x20list.','folder','resources','rabetbase\x20menu\x20list\x20--format\x20json','hash','Would\x20create\x20empty\x20folder\x20\x22','Menu\x20create\x20response\x20for\x20folder\x20','\x20did\x20not\x20contain\x20a\x20non-empty\x20generated\x20path.','\x20has\x20an\x20unexpected\x20label.','\x20was\x20created\x20but\x20its\x20final\x20facts\x20violate\x20the\x20folder\x20contract','Created\x20menu\x20','523391aGGxnG','create-response-validation','verification','childrenCount','1805480mqxmwL','cookie','\x20may\x20exist\x20online;\x20verify\x20it\x20by\x20id\x20before\x20retrying.','stringify','parentId','Create\x20an\x20empty\x20folder\x20menu\x20at\x20root\x20or\x20under\x20another\x20folder','after','\x20path\x20does\x20not\x20match\x20the\x20platform-generated\x20path.','POST','9318VPtXIn','str',';\x20verify\x20it\x20before\x20retrying.','label','133BgIZAX','\x20is\x20not\x20visible.','Folder\x20label','string','1310eYHpYB','appCode','root','Folder\x20','type','/smartapi/menu/create','1270itBlby','\x20has\x20resources.','922353JrqhgR','\x20may\x20exist\x20online\x20at\x20path\x20','failed','length','menu','\x20is\x20not\x20empty.','\x20has\x20an\x20unexpected\x20sort.','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20menu\x20id.','1715Hwinsn','The\x20create\x20request\x20may\x20have\x20succeeded;\x20verify\x20the\x20online\x20menu\x20list\x20before\x20retrying.','Created\x20folder\x20','path','depth','verify\x20folder\x20creation','isSafeInteger','trim','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20before\x20retrying;\x20the\x20folder\x20may\x20already\x20exist.','\x20is\x20not\x20type\x20folder.','\x20unexpectedly\x20owns\x20a\x20page.','110416LBDLwo','visible','\x20has\x20unexpected\x20parent\x20','menu_create_response_invalid','Created\x20menu\x20folder\x20','get','\x20remains\x20online;\x20inspect\x20its\x20final\x20facts\x20before\x20any\x20retry.','4ELDHoJ','byId','\x20depth\x20does\x20not\x20match\x20its\x20final\x20parent\x20hierarchy.'];a114_0x1bdb=function(){return _0x423a4d;};return a114_0x1bdb();}function a114_0x9b40(_0x3be109,_0x56abef){_0x3be109=_0x3be109-0x190;const _0x1bdb7f=a114_0x1bdb();let _0x9b40d9=_0x1bdb7f[_0x3be109];return _0x9b40d9;}import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a114_0x39f9e4(0x1b4),'path':a114_0x39f9e4(0x1c2)}];export const menuGroupCreate={'service':a114_0x39f9e4(0x1c9),'command':a114_0x39f9e4(0x19c),'description':a114_0x39f9e4(0x1b1),'risk':'write','structuredErrors':!![],'flags':[{'name':a114_0x39f9e4(0x1b8),'type':a114_0x39f9e4(0x1bc),'required':!![],'description':a114_0x39f9e4(0x1bb)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x14d4ba){validateCreateInput(_0x14d4ba);},async 'dryRun'(_0x180b7c){const _0x31ac87=a114_0x39f9e4,_0x44a66a=await buildCreatePlan(_0x180b7c,!![]),_0x264d00=_0x44a66a[_0x31ac87(0x1b2)];return menuDryRunResult(_0x44a66a,{'method':_0x31ac87(0x1b4),'url':_0x31ac87(0x1c2),'body':{'parentId':toApiParentId(_0x264d00['parentId']),'label':_0x264d00[_0x31ac87(0x1b8)],'type':_0x31ac87(0x19e),'visible':!![],'sort':_0x264d00[_0x31ac87(0x198)],'extend':{}},'description':_0x31ac87(0x1a2)+String(_0x264d00[_0x31ac87(0x1b8)])+'\x22\x20with\x20a\x20platform-generated\x20path.'});},async 'execute'(_0x407316){const _0x5336fb=a114_0x39f9e4;validateCreateInput(_0x407316);const _0x136518=await buildCreatePlan(_0x407316,![]),_0x51a577=_0x136518[_0x5336fb(0x1b2)];await recheckMutationSnapshot(_0x407316,_0x136518,_0x5336fb(0x197));let _0xc49a93;try{_0xc49a93=await createMenuEntity(_0x407316[_0x5336fb(0x1be)],_0x407316['cookie'],{'parentId':toApiParentId(_0x51a577['parentId']),'label':String(_0x51a577[_0x5336fb(0x1b8)]),'type':'folder','visible':!![],'sort':Number(_0x51a577[_0x5336fb(0x198)]),'extend':{}});}catch(_0x2f9054){const _0x5c8106=mapMenuApiError(_0x2f9054,_0x5336fb(0x197));throw menuFailure(_0x5c8106,_0x136518,{'stage':'create','failed':{}});}const _0x366169=Number(_0xc49a93['id']);if(!Number[_0x5336fb(0x1d3)](_0x366169)||_0x366169<=0x0){const _0x10fa94=menuError('menu_create_response_invalid',_0x5336fb(0x1cc),_0x5336fb(0x1d5));throw menuFailure(_0x10fa94,_0x136518,{'stage':_0x5336fb(0x1a9),'failed':{'createdId':_0xc49a93['id']??null},'warnings':[_0x5336fb(0x1ce)],'verification':{'status':_0x5336fb(0x1c7),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json'}});}const _0x1a4e6c=typeof _0xc49a93[_0x5336fb(0x1d0)]==='string'?_0xc49a93['path']:'';if(!_0x1a4e6c['trim']()){const _0x10c1d8=menuError(_0x5336fb(0x190),_0x5336fb(0x1a3)+_0x366169+_0x5336fb(0x1a4),'Inspect\x20the\x20created\x20id\x20with\x20`rabetbase\x20menu\x20list\x20--format\x20json`;\x20do\x20not\x20retry\x20creation\x20until\x20its\x20state\x20is\x20known.');throw menuFailure(_0x10c1d8,_0x136518,{'stage':_0x5336fb(0x1a9),'succeeded':[{'id':_0x366169,'created':!![]}],'failed':{'id':_0x366169,'generatedPathConfirmed':![]},'warnings':[_0x5336fb(0x1c0)+_0x366169+_0x5336fb(0x1ae)],'after':{..._0x51a577,'id':_0x366169,'path':_0x1a4e6c},'verification':{'status':_0x5336fb(0x1c7),'lookupCommand':_0x5336fb(0x1a0),'targetId':_0x366169}});}let _0x4b8465;try{_0x4b8465=await fetchMenuSnapshot(_0x407316[_0x5336fb(0x1be)],_0x407316[_0x5336fb(0x1ad)]);}catch(_0x5ade3b){const _0x3c0e4c=describeMenuErrorCause(_0x5ade3b,_0x5336fb(0x1d2),_0x366169),_0x552496=asVerificationError(_0x5ade3b,_0x5336fb(0x1c0)+_0x366169+'\x20was\x20created\x20but\x20readback\x20could\x20not\x20load\x20its\x20final\x20facts');throw menuFailure(_0x552496,_0x136518,{'stage':_0x5336fb(0x1aa),'succeeded':[{'id':_0x366169,'created':!![],'path':_0x1a4e6c}],'failed':{'id':_0x366169,'finalFactsConfirmed':![],..._0x3c0e4c},'warnings':['Folder\x20'+_0x366169+_0x5336fb(0x1c6)+JSON[_0x5336fb(0x1af)](_0x1a4e6c)+_0x5336fb(0x1b7)],'after':{..._0x51a577,'id':_0x366169,'path':_0x1a4e6c},'verification':{'status':_0x5336fb(0x1c7),'lookupCommand':_0x5336fb(0x1a0),'targetId':_0x366169}});}const _0x3e840d=_0x4b8465[_0x5336fb(0x195)][_0x5336fb(0x192)](_0x366169);let _0x44d625;try{assertVerified(Boolean(_0x3e840d),_0x5336fb(0x1cf)+_0x366169+_0x5336fb(0x19d)),_0x44d625=_0x3e840d,assertVerified(_0x44d625[_0x5336fb(0x1c1)]===_0x5336fb(0x19e),_0x5336fb(0x1a7)+_0x366169+_0x5336fb(0x1d6)),assertVerified(_0x44d625[_0x5336fb(0x1b8)]===_0x51a577[_0x5336fb(0x1b8)],_0x5336fb(0x1cf)+_0x366169+_0x5336fb(0x1a5)),assertVerified(_0x44d625[_0x5336fb(0x1d0)]===_0x1a4e6c&&Boolean(_0x44d625['path'][_0x5336fb(0x1d4)]()),'Created\x20folder\x20'+_0x366169+_0x5336fb(0x1b3)),assertVerified(_0x44d625[_0x5336fb(0x1d9)]===!![],_0x5336fb(0x1cf)+_0x366169+_0x5336fb(0x1ba)),assertVerified(_0x44d625[_0x5336fb(0x19f)][_0x5336fb(0x1c8)]===0x0,_0x5336fb(0x1cf)+_0x366169+_0x5336fb(0x1c4)),assertVerified(_0x44d625[_0x5336fb(0x1ab)]===0x0,'Created\x20folder\x20'+_0x366169+_0x5336fb(0x1ca)),assertVerified(_0x44d625[_0x5336fb(0x198)]===_0x51a577[_0x5336fb(0x198)],_0x5336fb(0x1cf)+_0x366169+_0x5336fb(0x1cb)),assertVerified(_0x44d625[_0x5336fb(0x1b0)]===_0x51a577[_0x5336fb(0x1b0)],_0x5336fb(0x1cf)+_0x366169+_0x5336fb(0x1da)+(_0x44d625[_0x5336fb(0x1b0)]??_0x5336fb(0x1bf))+'.'),assertVerified(_0x44d625['pageId']==null,_0x5336fb(0x1cf)+_0x366169+_0x5336fb(0x1d7));const _0x331ca3=_0x44d625[_0x5336fb(0x1b0)]==null?undefined:requireFolder(_0x4b8465,_0x44d625[_0x5336fb(0x1b0)]);assertVerified(_0x44d625[_0x5336fb(0x1d1)]===(_0x331ca3?_0x331ca3['depth']+0x1:0x0),_0x5336fb(0x1cf)+_0x366169+_0x5336fb(0x196));}catch(_0x15c28d){const _0x2e6cb0=describeMenuErrorCause(_0x15c28d,_0x5336fb(0x1d2),_0x366169),_0xc253c4=asVerificationError(_0x15c28d,'Folder\x20'+_0x366169+_0x5336fb(0x1a6));throw menuFailure(_0xc253c4,_0x136518,{'stage':_0x5336fb(0x1aa),'succeeded':[{'id':_0x366169,'created':!![],'path':_0x1a4e6c}],'failed':{'id':_0x366169,'finalFactsConfirmed':![],..._0x2e6cb0},'warnings':[_0x5336fb(0x1c0)+_0x366169+_0x5336fb(0x193)],'after':_0x3e840d??{..._0x51a577,'id':_0x366169,'path':_0x1a4e6c},'verification':{'status':_0x5336fb(0x1c7),'lookupCommand':_0x5336fb(0x1a0),'targetId':_0x366169}});}const _0x43f203=mutationResult({..._0x136518,'after':_0x44d625,'dryRun':![],'succeeded':[{'id':_0x366169,'type':_0x5336fb(0x19e),'path':_0x1a4e6c}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x4b8465[_0x5336fb(0x1a1)],'folder':!![],'path':_0x1a4e6c,'emptyResources':!![]}});return{'ok':!![],'data':_0x43f203,'message':_0x5336fb(0x191)+_0x366169+'.'};}};function validateCreateInput(_0x27883d){const _0x2a562e=a114_0x39f9e4,_0x12968d=_0x27883d[_0x2a562e(0x1b6)](_0x2a562e(0x1b8))[_0x2a562e(0x1d4)]();if(!_0x12968d)throw CliErrors['flagMissing'](_0x2a562e(0x1b8));parseParentId(_0x27883d,_0x2a562e(0x19b)),validateSort(_0x27883d);}async function buildCreatePlan(_0x2da247,_0x2c784f){const _0x272017=a114_0x39f9e4,_0x357b03=await fetchMutationSnapshot(_0x2da247,_0x272017(0x197)),_0x325821=parseParentId(_0x2da247,'parent-id')??null;if(_0x325821!=null)requireFolder(_0x357b03,_0x325821);const _0x139051=validateSort(_0x2da247),_0xbe7cbe=_0x139051??nextSiblingSort(_0x357b03,_0x325821,_0x272017(0x19e)),_0x894c84=_0x2da247[_0x272017(0x1b6)]('label')[_0x272017(0x1d4)]();return mutationResult({'operation':_0x272017(0x19c),'selector':{'label':_0x894c84,'parentId':_0x325821},'before':null,'after':{'id':null,'parentId':_0x325821,'label':_0x894c84,'path':'<platform-generated>','type':_0x272017(0x19e),'visible':!![],'sort':_0xbe7cbe,'resources':[],'childrenIds':[],'childrenCount':0x0},'dryRun':_0x2c784f,'backend':[...BACKEND],'plannedActions':[{'stage':_0x272017(0x19a),'method':_0x272017(0x1b4),'path':_0x272017(0x1c2),'body':{'parentId':toApiParentId(_0x325821),'label':_0x894c84,'type':_0x272017(0x19e),'visible':!![],'sort':_0xbe7cbe,'extend':{}}}],'snapshotHash':_0x357b03[_0x272017(0x1a1)],'warnings':['The\x20platform\x20assigns\x20the\x20folder\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.']});}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function a115_0x1b29(){const _0x41e071=['Menu\x20','1954270ZyUzTi','string','\x20label\x20update\x20did\x20not\x20take\x20effect.','menu\x20list','verification','str','type','sort','update\x20folder','New\x20folder\x20label','At\x20least\x20one\x20of\x20--label\x20or\x20--sort\x20is\x20required.','1198840aBlvfA','\x20is\x20no\x20longer\x20type\x20folder.','menu','folder','rabetbase\x20menu\x20list\x20--format\x20json','menu_not_folder','write','786HmuQAF','unknown','appCode','92YjCByW','5QcoVCt','Update\x20request\x20for\x20folder\x20','failed','verify\x20folder\x20update','label','Menu\x20group-update\x20does\x20not\x20support\x20reparenting;\x20remove\x20--parent-id.','131247eboqGc','\x20sort\x20update\x20did\x20not\x20take\x20effect.','Updated\x20folder\x20','parent-id','8GclbsE','No\x20online\x20fields\x20would\x20change.','parentId','The\x20update\x20request\x20may\x20have\x20taken\x20effect,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.','3716608fHURWk','/smartapi/menu/update','POST','356379yvTuau','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20and\x20choose\x20an\x20id\x20whose\x20type\x20is\x20folder.','\x22,\x20not\x20folder.','trim','2810334cBVZtt','selector','group-update','Rename\x20or\x20reorder\x20one\x20existing\x20folder\x20menu','validation','Folder\x20','\x20is\x20type\x20\x22','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','hash','cookie'];a115_0x1b29=function(){return _0x41e071;};return a115_0x1b29();}const a115_0x50f235=a115_0x14c9;(function(_0x43fe67,_0x1e3d1b){const _0x23b5bc=a115_0x14c9,_0x59ec09=_0x43fe67();while(!![]){try{const _0x59d3fb=parseInt(_0x23b5bc(0x1b2))/0x1+-parseInt(_0x23b5bc(0x1d6))/0x2*(parseInt(_0x23b5bc(0x1d3))/0x3)+-parseInt(_0x23b5bc(0x1cc))/0x4+-parseInt(_0x23b5bc(0x1d7))/0x5*(parseInt(_0x23b5bc(0x1b6))/0x6)+parseInt(_0x23b5bc(0x1af))/0x7+parseInt(_0x23b5bc(0x1ab))/0x8*(-parseInt(_0x23b5bc(0x1dd))/0x9)+parseInt(_0x23b5bc(0x1c1))/0xa;if(_0x59d3fb===_0x1e3d1b)break;else _0x59ec09['push'](_0x59ec09['shift']());}catch(_0x327604){_0x59ec09['push'](_0x59ec09['shift']());}}}(a115_0x1b29,0x46510));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_FLAGS,MENU_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertExpectedState,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,hasFlag,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,recheckMutationSnapshot,requireFolder,requireMenu,validateExactId,validateSort}from'../../commands/menu/shared/mutations.js';function a115_0x14c9(_0x61d790,_0x6c50ba){_0x61d790=_0x61d790-0x1a8;const _0x1b29c8=a115_0x1b29();let _0x14c944=_0x1b29c8[_0x61d790];return _0x14c944;}import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a115_0x50f235(0x1b1),'path':a115_0x50f235(0x1b0)}];export const menuGroupUpdate={'service':a115_0x50f235(0x1ce),'command':a115_0x50f235(0x1b8),'description':a115_0x50f235(0x1b9),'risk':a115_0x50f235(0x1d2),'structuredErrors':!![],'rejectedFlags':[{'name':a115_0x50f235(0x1aa),'message':a115_0x50f235(0x1dc),'hint':'Use\x20the\x20platform\x20UI\x20for\x20hierarchy\x20changes.'}],'flags':[MENU_ID_FLAG,{'name':a115_0x50f235(0x1db),'type':a115_0x50f235(0x1c2),'description':a115_0x50f235(0x1ca)},MENU_SORT_FLAG,...MENU_EXPECT_FLAGS,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x2ef259){validateUpdateInput(_0x2ef259);},async 'dryRun'(_0x228802){const _0x47a05c=a115_0x50f235;validateUpdateInput(_0x228802);const {plan:_0x389e6a,patch:_0x3a5610}=await buildUpdatePlan(_0x228802,!![]);return menuDryRunResult(_0x389e6a,{'method':_0x47a05c(0x1b1),'url':_0x47a05c(0x1b0),'body':_0x3a5610,'description':'Would\x20update\x20folder\x20'+_0x389e6a[_0x47a05c(0x1b7)]['id']+'.'});},async 'execute'(_0x42191e){const _0x544c41=a115_0x50f235;validateUpdateInput(_0x42191e);const {plan:_0x3c2d57,patch:_0x4169ee,noChanges:_0x59d6fe}=await buildUpdatePlan(_0x42191e,![]),_0x2da295=Number(_0x3c2d57[_0x544c41(0x1b7)]['id']),_0x1a9c74=await recheckMutationSnapshot(_0x42191e,_0x3c2d57,_0x544c41(0x1c9),_0x2da295);if(!_0x59d6fe)try{await updateMenuEntity(_0x42191e[_0x544c41(0x1d5)],_0x42191e['cookie'],_0x4169ee);}catch(_0x25f8ee){const _0x1281db=mapMenuApiError(_0x25f8ee,_0x544c41(0x1c9),_0x2da295);throw menuFailure(_0x1281db,_0x3c2d57,{'stage':'update','failed':{'id':_0x2da295}});}let _0x1607fa=_0x1a9c74,_0x52c6d9;try{!_0x59d6fe&&(_0x1607fa=await fetchMenuSnapshot(_0x42191e[_0x544c41(0x1d5)],_0x42191e[_0x544c41(0x1bf)])),_0x52c6d9=requireMenu(_0x1607fa,_0x2da295),verifyPatch(_0x52c6d9,_0x4169ee),_0x52c6d9[_0x544c41(0x1ad)]!=null&&requireFolder(_0x1607fa,_0x52c6d9[_0x544c41(0x1ad)]);}catch(_0x1fe542){const _0x189a6a=describeMenuErrorCause(_0x1fe542,_0x544c41(0x1da),_0x2da295),_0x59d3=asVerificationError(_0x1fe542,_0x544c41(0x1d8)+_0x2da295+_0x544c41(0x1bd));throw menuFailure(_0x59d3,_0x3c2d57,{'stage':_0x544c41(0x1c5),'succeeded':[{'id':_0x2da295,'updateRequested':!_0x59d6fe,'skipped':_0x59d6fe}],'failed':{'id':_0x2da295,'requestedStateConfirmed':![],..._0x189a6a},'warnings':[_0x544c41(0x1ae)],'verification':{'status':_0x544c41(0x1d9),'lookupCommand':_0x544c41(0x1d0),'targetId':_0x2da295}});}const _0x5d7a5e=mutationResult({..._0x3c2d57,'after':_0x52c6d9,'dryRun':![],'succeeded':[{'id':_0x2da295,'updated':!_0x59d6fe,'skipped':_0x59d6fe}],'verification':{'checkedBy':_0x544c41(0x1c4),'snapshotHash':_0x1607fa[_0x544c41(0x1be)],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x5d7a5e,'message':_0x59d6fe?_0x544c41(0x1bb)+_0x2da295+'\x20already\x20matches\x20the\x20requested\x20state.':_0x544c41(0x1a9)+_0x2da295+'.'};}};function validateUpdateInput(_0x2fc2eb){const _0x28e34f=a115_0x50f235;validateExactId(_0x2fc2eb);if(hasFlag(_0x2fc2eb,_0x28e34f(0x1aa)))throw CliErrors[_0x28e34f(0x1ba)](_0x28e34f(0x1dc),'Use\x20the\x20platform\x20UI\x20for\x20hierarchy\x20changes.');if(!hasFlag(_0x2fc2eb,_0x28e34f(0x1db))&&!hasFlag(_0x2fc2eb,'sort'))throw CliErrors['validation'](_0x28e34f(0x1cb));if(hasFlag(_0x2fc2eb,'label')&&!_0x2fc2eb[_0x28e34f(0x1c6)](_0x28e34f(0x1db))[_0x28e34f(0x1b5)]())throw CliErrors[_0x28e34f(0x1ba)]('--label\x20cannot\x20be\x20empty.');validateSort(_0x2fc2eb);}async function buildUpdatePlan(_0x1d891d,_0x511cda){const _0x405311=a115_0x50f235,_0x2e699a=validateExactId(_0x1d891d),_0x15a190=await fetchMutationSnapshot(_0x1d891d,_0x405311(0x1c9),_0x2e699a),_0x28cb38=requireMenu(_0x15a190,_0x2e699a);if(_0x28cb38[_0x405311(0x1c7)]!==_0x405311(0x1cf))throw menuError(_0x405311(0x1d1),'Menu\x20'+_0x2e699a+_0x405311(0x1bc)+(_0x28cb38[_0x405311(0x1c7)]||_0x405311(0x1d4))+_0x405311(0x1b4),_0x405311(0x1b3));assertExpectedState(_0x1d891d,_0x28cb38);const _0x31604a={'id':_0x2e699a},_0x3a42f4={..._0x28cb38};if(hasFlag(_0x1d891d,_0x405311(0x1db))){const _0xe7f7db=_0x1d891d[_0x405311(0x1c6)](_0x405311(0x1db))[_0x405311(0x1b5)]();_0x31604a[_0x405311(0x1db)]=_0xe7f7db,_0x3a42f4[_0x405311(0x1db)]=_0xe7f7db;}if(hasFlag(_0x1d891d,_0x405311(0x1c8))){const _0xd9a66=validateSort(_0x1d891d);_0x31604a[_0x405311(0x1c8)]=_0xd9a66,_0x3a42f4[_0x405311(0x1c8)]=_0xd9a66;}const _0x1b900b=sameRequestedState(_0x28cb38,_0x3a42f4),_0xf23347=_0x1b900b?[_0x405311(0x1ac)]:[];return{'patch':_0x31604a,'noChanges':_0x1b900b,'plan':mutationResult({'operation':'group-update','selector':{'id':_0x2e699a},'before':_0x28cb38,'after':_0x3a42f4,'dryRun':_0x511cda,'backend':[...BACKEND],'snapshotHash':_0x15a190[_0x405311(0x1be)],'warnings':_0xf23347})};}function sameRequestedState(_0x1593ab,_0x26166c){const _0x485d0b=a115_0x50f235;return _0x1593ab['label']===_0x26166c[_0x485d0b(0x1db)]&&_0x1593ab[_0x485d0b(0x1c8)]===_0x26166c[_0x485d0b(0x1c8)];}function verifyPatch(_0x478535,_0x2c1447){const _0x5a5dad=a115_0x50f235;assertVerified(_0x478535[_0x5a5dad(0x1c7)]===_0x5a5dad(0x1cf),_0x5a5dad(0x1c0)+_0x478535['id']+_0x5a5dad(0x1cd)),_0x2c1447['label']!==undefined&&assertVerified(_0x478535['label']===_0x2c1447[_0x5a5dad(0x1db)],'Folder\x20'+_0x478535['id']+_0x5a5dad(0x1c3)),_0x2c1447[_0x5a5dad(0x1c8)]!==undefined&&assertVerified(_0x478535[_0x5a5dad(0x1c8)]===_0x2c1447[_0x5a5dad(0x1c8)],_0x5a5dad(0x1bb)+_0x478535['id']+_0x5a5dad(0x1a8));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a116_0x3da4(_0x174ff8,_0x5a524b){_0x174ff8=_0x174ff8-0x1ab;const _0x37487a=a116_0x3748();let _0x3da44d=_0x37487a[_0x174ff8];return _0x3da44d;}(function(_0x38cff0,_0x98e076){const _0x26bca5=a116_0x3da4,_0x1e58f5=_0x38cff0();while(!![]){try{const _0x4a7749=parseInt(_0x26bca5(0x1b0))/0x1+parseInt(_0x26bca5(0x1ae))/0x2+-parseInt(_0x26bca5(0x1b1))/0x3+parseInt(_0x26bca5(0x1b3))/0x4*(-parseInt(_0x26bca5(0x1af))/0x5)+-parseInt(_0x26bca5(0x1ab))/0x6+-parseInt(_0x26bca5(0x1ac))/0x7*(parseInt(_0x26bca5(0x1ad))/0x8)+parseInt(_0x26bca5(0x1b2))/0x9;if(_0x4a7749===_0x98e076)break;else _0x1e58f5['push'](_0x1e58f5['shift']());}catch(_0x25cd17){_0x1e58f5['push'](_0x1e58f5['shift']());}}}(a116_0x3748,0xecead));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 a116_0x3748(){const _0x5e8378=['444136SXoJIS','3614574fagich','20zynSbL','229150eCcqfO','1852704vwTLnv','21400758uDmeOA','950692ILilwk','3592410fsTBgR','161VmDcat'];a116_0x3748=function(){return _0x5e8378;};return a116_0x3748();}import{menuGroupCreate}from'../../commands/menu/group-create.js';import{menuGroupUpdate}from'../../commands/menu/group-update.js';import{menuMove}from'../../commands/menu/move.js';import{menuRegroupStart}from'../../commands/menu/regroup-start.js';import{menuExternalLinkCreate}from'../../commands/menu/external-link-create.js';import{menuExternalLinkUpdate}from'../../commands/menu/external-link-update.js';import{menuRename}from'../../commands/menu/rename.js';import{menuVisibilityUpdate}from'../../commands/menu/visibility-update.js';export const menuDefinitions=[menuList,menuExternalLinkCreate,menuExternalLinkUpdate,menuRename,menuVisibilityUpdate,menuSync,menuAssetUpdate,menuDelete,menuGroupCreate,menuGroupUpdate,menuMove,menuRegroupStart];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a117_0x235b79=a117_0x4ad8;function a117_0x28b4(){const _0x550cdd=['bool','1753173HpZknc','\x20menu(s)','65UlEfRH','Return\x20extend\x20field\x20for\x20troubleshooting\x20resource\x20parsing','3143778dzUHkj','879144wHqwJk','cookie','read','map','List\x20online\x20menu\x20facts\x20for\x20the\x20current\x20app','3FgAVLE','8RKswiM','verbose','Found\x20','menus','appCode','boolean','795111XhPQVX','No\x20menus\x20found.','list','menu','186916cwJpKm','3725490lPNGQB','13058fMIWeD'];a117_0x28b4=function(){return _0x550cdd;};return a117_0x28b4();}function a117_0x4ad8(_0x5290d1,_0x46b01d){_0x5290d1=_0x5290d1-0x181;const _0x28b4ff=a117_0x28b4();let _0x4ad8a2=_0x28b4ff[_0x5290d1];return _0x4ad8a2;}(function(_0x144755,_0x587f1c){const _0x97759c=a117_0x4ad8,_0x226ebd=_0x144755();while(!![]){try{const _0x551f5c=parseInt(_0x97759c(0x18d))/0x1*(-parseInt(_0x97759c(0x181))/0x2)+-parseInt(_0x97759c(0x194))/0x3+-parseInt(_0x97759c(0x198))/0x4*(-parseInt(_0x97759c(0x185))/0x5)+parseInt(_0x97759c(0x187))/0x6+parseInt(_0x97759c(0x188))/0x7+parseInt(_0x97759c(0x18e))/0x8*(-parseInt(_0x97759c(0x183))/0x9)+-parseInt(_0x97759c(0x199))/0xa;if(_0x551f5c===_0x587f1c)break;else _0x226ebd['push'](_0x226ebd['shift']());}catch(_0x549760){_0x226ebd['push'](_0x226ebd['shift']());}}}(a117_0x28b4,0x62e46));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot,toMenuListItem}from'../../commands/menu/shared/facts.js';export const menuList={'service':a117_0x235b79(0x197),'command':a117_0x235b79(0x196),'description':a117_0x235b79(0x18c),'risk':a117_0x235b79(0x18a),'flags':[APPCODE_FLAG_OPTIONAL,{'name':a117_0x235b79(0x18f),'type':a117_0x235b79(0x193),'description':a117_0x235b79(0x186)}],async 'execute'(_0x116791){const _0x2ec5a2=a117_0x235b79,_0x3a97c3=_0x116791[_0x2ec5a2(0x182)]('verbose'),_0x50714c=await fetchMenuSnapshot(_0x116791[_0x2ec5a2(0x192)],_0x116791[_0x2ec5a2(0x189)],{'verbose':_0x3a97c3});return{'ok':!![],'data':{'total':_0x50714c['total'],'snapshotHash':_0x50714c['hash'],'menus':_0x50714c[_0x2ec5a2(0x191)][_0x2ec5a2(0x18b)](toMenuListItem)},'message':_0x50714c['total']===0x0?_0x2ec5a2(0x195):_0x2ec5a2(0x190)+_0x50714c['total']+_0x2ec5a2(0x184)};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a118_0x4e402d=a118_0x463a;(function(_0x29b156,_0x36ea87){const _0x3a269b=a118_0x463a,_0x42bd29=_0x29b156();while(!![]){try{const _0x576834=-parseInt(_0x3a269b(0x174))/0x1*(-parseInt(_0x3a269b(0x14f))/0x2)+parseInt(_0x3a269b(0x16c))/0x3+-parseInt(_0x3a269b(0x152))/0x4*(parseInt(_0x3a269b(0x14e))/0x5)+-parseInt(_0x3a269b(0x170))/0x6+parseInt(_0x3a269b(0x163))/0x7*(-parseInt(_0x3a269b(0x16d))/0x8)+parseInt(_0x3a269b(0x16e))/0x9+parseInt(_0x3a269b(0x150))/0xa;if(_0x576834===_0x36ea87)break;else _0x42bd29['push'](_0x42bd29['shift']());}catch(_0x174056){_0x42bd29['push'](_0x42bd29['shift']());}}}(a118_0x2356,0x26c13));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_PARENT_ID_FLAG,MENU_ID_FLAG,MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,formatParent,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,nextSiblingSort,parseParentId,requireFolder,requireMenu,toApiParentId,validateExactId,validateSort}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';function a118_0x2356(){const _0x48fe31=['30qbVzwk','6157360cTvHZq','\x20is\x20no\x20longer\x20a\x20leaf.','8AWRIjk','menu','Menu\x20','parentId','appCode','\x20parentId\x20did\x20not\x20match\x20the\x20move\x20plan.','write','Move\x20request\x20for\x20menu\x20','POST','folder','menu_move_source_not_leaf',',\x20current\x20','menu_state_drift','\x20sort\x20did\x20not\x20match\x20the\x20move\x20plan.','type','move\x20menu','Source\x20menu\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.','204526JAXWay','menu\x20list','after','rabetbase\x20menu\x20list\x20--format\x20compress','move','verify\x20menu\x20move','parent-id','cookie','childrenCount','261810PISyJe','80atXYpf','1496376IIinEB','update','1657632TnGVpR','expect-parent-id','\x20parent\x20changed:\x20expected\x20','failed','2657XoLVdd','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','\x20must\x20be\x20a\x20non-folder\x20leaf\x20before\x20it\x20can\x20be\x20moved.','sort','Moved\x20menu\x20','verification','/smartapi/menu/update','454835ekJCMQ'];a118_0x2356=function(){return _0x48fe31;};return a118_0x2356();}const BACKEND=[{'method':a118_0x4e402d(0x15a),'path':'/smartapi/menu/update'}];export const menuMove={'service':a118_0x4e402d(0x153),'command':a118_0x4e402d(0x167),'description':'Move\x20one\x20existing\x20leaf\x20menu\x20to\x20a\x20folder\x20or\x20root','risk':a118_0x4e402d(0x158),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{...MENU_PARENT_ID_FLAG,'required':!![]},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x5078f6){validateMoveInput(_0x5078f6);},async 'dryRun'(_0x4b5eb0){const _0x39feee=a118_0x4e402d,{plan:_0x390690,patch:_0x254133}=await buildMovePlan(_0x4b5eb0,!![]);return menuDryRunResult(_0x390690,{'method':'POST','url':'/smartapi/menu/update','body':{..._0x254133,'appCode':_0x4b5eb0[_0x39feee(0x156)]},'description':'Would\x20move\x20menu\x20'+_0x254133['id']+'.'});},async 'execute'(_0x581961){const _0x23bca8=a118_0x4e402d;validateMoveInput(_0x581961);const {plan:_0x396c12,patch:_0x351fdf,noChanges:_0x30d3c0,snapshot:_0x15b890}=await buildMovePlan(_0x581961,![]),_0x1a64dc=_0x351fdf['id'];if(!_0x30d3c0)try{await updateMenuEntity(_0x581961[_0x23bca8(0x156)],_0x581961[_0x23bca8(0x16a)],_0x351fdf);}catch(_0x1de176){const _0x7777f8=mapMenuApiError(_0x1de176,_0x23bca8(0x167),_0x1a64dc);throw menuFailure(_0x7777f8,_0x396c12,{'stage':_0x23bca8(0x16f),'failed':{'id':_0x1a64dc},'warnings':['The\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':'failed','targetId':_0x1a64dc,'lookupCommand':_0x23bca8(0x166)}});}let _0x58b3a6,_0x16b680;try{_0x58b3a6=_0x30d3c0?_0x15b890:await fetchMenuSnapshot(_0x581961[_0x23bca8(0x156)],_0x581961[_0x23bca8(0x16a)]),_0x16b680=requireMenu(_0x58b3a6,_0x1a64dc),verifyMove(_0x16b680,_0x396c12[_0x23bca8(0x165)]),_0x16b680[_0x23bca8(0x155)]!==null&&requireFolder(_0x58b3a6,_0x16b680[_0x23bca8(0x155)]);}catch(_0x2e1268){const _0x5a6d80=describeMenuErrorCause(_0x2e1268,_0x23bca8(0x168),_0x1a64dc),_0x20067e=asVerificationError(_0x2e1268,_0x23bca8(0x159)+_0x1a64dc+_0x23bca8(0x176));throw menuFailure(_0x20067e,_0x396c12,{'stage':_0x23bca8(0x14c),'succeeded':[{'id':_0x1a64dc,'updateRequested':!_0x30d3c0,'skipped':_0x30d3c0}],'failed':{'id':_0x1a64dc,'requestedStateConfirmed':![],..._0x5a6d80},'warnings':['The\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':_0x23bca8(0x173),'targetId':_0x1a64dc,'lookupCommand':_0x23bca8(0x166)}});}const _0x455b62=mutationResult({..._0x396c12,'after':_0x16b680,'dryRun':![],'succeeded':[{'id':_0x1a64dc,'updated':!_0x30d3c0,'skipped':_0x30d3c0}],'verification':{'checkedBy':_0x23bca8(0x164),'snapshotHash':_0x58b3a6['hash'],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x455b62,'message':_0x30d3c0?_0x23bca8(0x154)+_0x1a64dc+'\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.':_0x23bca8(0x179)+_0x1a64dc+'.'};}};function a118_0x463a(_0x2a823f,_0x19e485){_0x2a823f=_0x2a823f-0x14c;const _0x2356e2=a118_0x2356();let _0x463ae5=_0x2356e2[_0x2a823f];return _0x463ae5;}function validateMoveInput(_0x527ec3){const _0x4641f1=a118_0x4e402d;validateExactId(_0x527ec3),parseParentId(_0x527ec3,_0x4641f1(0x169),{'required':!![]}),parseParentId(_0x527ec3,_0x4641f1(0x171),{'required':!![]}),validateSort(_0x527ec3);}async function buildMovePlan(_0xac1331,_0x574f41){const _0x155afa=a118_0x4e402d,_0x26b118=validateExactId(_0xac1331),_0x4c723c=parseParentId(_0xac1331,_0x155afa(0x169),{'required':!![]}),_0x2913be=parseParentId(_0xac1331,_0x155afa(0x171),{'required':!![]}),_0x5ced1a=validateSort(_0xac1331),_0xe9d381=await fetchMutationSnapshot(_0xac1331,_0x155afa(0x161),_0x26b118),_0x2e89b2=requireMenu(_0xe9d381,_0x26b118);if(_0x2e89b2[_0x155afa(0x160)]===_0x155afa(0x15b)||_0x2e89b2[_0x155afa(0x16b)]!==0x0)throw menuError(_0x155afa(0x15c),_0x155afa(0x154)+_0x26b118+_0x155afa(0x177),'Run\x20`rabetbase\x20menu\x20list\x20--format\x20compress`\x20and\x20choose\x20an\x20exact\x20non-folder\x20leaf\x20id.');if(_0x2e89b2[_0x155afa(0x155)]!==_0x2913be)throw menuError(_0x155afa(0x15e),_0x155afa(0x154)+_0x26b118+_0x155afa(0x172)+formatParent(_0x2913be)+_0x155afa(0x15d)+formatParent(_0x2e89b2[_0x155afa(0x155)])+'.',_0x155afa(0x175));_0x4c723c!==null&&requireFolder(_0xe9d381,_0x4c723c);const _0x3f8377=_0x5ced1a??(_0x2e89b2[_0x155afa(0x155)]===_0x4c723c?_0x2e89b2[_0x155afa(0x178)]??0x0:nextSiblingSort(_0xe9d381,_0x4c723c,_0x155afa(0x153))),_0x59576e={..._0x2e89b2,'parentId':_0x4c723c,'sort':_0x3f8377},_0x536c2c={'id':_0x26b118,'parentId':toApiParentId(_0x4c723c),'sort':_0x3f8377},_0x2c981a=_0x2e89b2[_0x155afa(0x155)]===_0x4c723c&&_0x2e89b2[_0x155afa(0x178)]===_0x3f8377;return{'patch':_0x536c2c,'noChanges':_0x2c981a,'snapshot':_0xe9d381,'plan':mutationResult({'operation':_0x155afa(0x167),'selector':{'id':_0x26b118,'parentId':_0x4c723c},'before':_0x2e89b2,'after':_0x59576e,'dryRun':_0x574f41,'backend':[...BACKEND],'plannedActions':[{'stage':'move-menu','method':_0x155afa(0x15a),'path':_0x155afa(0x14d),'body':{..._0x536c2c,'appCode':_0xac1331['appCode']}}],'snapshotHash':_0xe9d381['hash'],'warnings':_0x2c981a?[_0x155afa(0x162)]:[]})};}function verifyMove(_0x2c121c,_0x25fb30){const _0x164837=a118_0x4e402d;assertVerified(_0x2c121c[_0x164837(0x160)]!=='folder',_0x164837(0x154)+_0x2c121c['id']+'\x20is\x20now\x20type\x20folder.'),assertVerified(_0x2c121c['childrenCount']===0x0,_0x164837(0x154)+_0x2c121c['id']+_0x164837(0x151)),assertVerified(_0x2c121c[_0x164837(0x155)]===_0x25fb30['parentId'],_0x164837(0x154)+_0x2c121c['id']+_0x164837(0x157)),assertVerified(_0x2c121c[_0x164837(0x178)]===_0x25fb30[_0x164837(0x178)],_0x164837(0x154)+_0x2c121c['id']+_0x164837(0x15f));}
|